Skip to content

Conception des systèmes sur puce (09_O-CSP)

  • Coefficient : 6
  • Volume Horaire: 150h estimées de travail (dont 84h EdT)
    CTD : 24h encadrées
    Labo : 48h encadrées (et 12h de séances d'études dirigées)
    Travail personnel hors EdT : 66h
  • Dont projet : 27h encadrées et 27h projet personnel

Liste des AATs

Description

La structuration de la conception, l'évaluation de ses performances et sa modélisation en langage HDL (Hardware Description Language) sont étudiées. Les outils et méthodes d’intégration à un système numérique complet, associant couche matérielle et couche logicielle, sont ensuite vus. Sont également étudiés : la modélisation d’un système complexe selon différents niveaux d’abstraction.

  • Conception :
    • Architectures de base, règles de conception, unité de traitement, unité de contrôle, machine à nombre d'états fini.
    • Introduction à un système numérique sur puce,
    • Méthode d'intégration d'un périphérique spécifique,
    • interaction des couches matérielle et logicielle,
    • mise en œuvre en laboratoire.
  • Mini-projet :
    • Conception d'un circuit numérique: modélisation, simulation et synthèse logique.
    • Intégration au système complet : instanciation, pilotes logiciels, API (Application Programming Interface).

Acquis d'Apprentissage visés (AAv)

Liste des 6 AAv du module CSP :

  • AAv1 [heures: 15, D1, D2, D3, D4] : L'étudiant du module CSP, à l'issue du module, saura utiliser la chaîne de développement d'un système sur puce programmable (Intel-FPGA) pour concevoir un système numérique, depuis la modélisation en langage VHDL d'un circuit numérique spécifique jusqu'au fonctionnement du système complet sur cible matérielle lorsque des fichiers génériques à adapter ou des fichiers à compléter, de format connu, sont fournis

  • AAv2 [heures: 36, D1, D2, D3, D4, E3, F1] : L'étudiant du module CSP, à l'issue du module, sera capable de proposer le modèle synthétisable d'un circuit numérique synchrone, en langage VHDL, et comportant à la fois des blocs fonctionnels combinatoires et séquentiels d'une complexité comparable à ceux vus dans le cours de circuits numériques

  • AAv3 [heures: 15, D1, D2, D3, D4, E3, F1] : L'étudiant du module CSP, à l'issue du module, saura connecter à une interface Avalon un circuit numérique compatible et saura spécifier le format des cycles de lecture et d'écriture adaptés à ce cicuit numérique permettant un échange de données optimal

  • AAv4 [heures: 42, C1, C2, D1, D2, D3, D4, E3, F1] : L'étudiant du module CSP, à l'issue du module, saura concevoir l'architecture d'un circuit numérique synchrone, structurée en une unité de traitement et une unité de contrôle, éventuellement elles-mêmes hiérarchisées, correspondant à un cahier des charges fourni, avec des signaux et des blocs fonctionnels clairement identifiés et spécifiés et en minimisant le risque d'un état métastable dû à la présence éventuelle de signaux asynchrones ou de domaines d'horloges

  • AAv5 [heures: 15, C2, D1, D2, D3, D4, E3, F1] : L'étudiant du module CSP, à l'issue du module, saura organiser une unité de contrôle sous forme hiérarchisée et structurée afin de faciliter son développement et son test permettant la commande de tous les éléments de l'unité de traitement associée pour obtenir un fonctionnement global, traitement et contrôle, correct

  • AAv6 [heures: 21, D1, D2, D3, D4, E3, F1] : L'étudiant du module CSP, à l'issue du module, saura développer en langage C un pilote (ou API : Application Programming Interface) adapté à un circuit numérique donné afin de pouvoir l'utiliser dans une application logicielle écrite en langage C sans connaître les détails de son implémentation matérielle

Modalités d'évaluation

Moyenne de plusieurs évaluations de contrôle continu

Mots clés

Systèmes sur puce, électronique numérique, systèmes à microprocesseurs, architecture des systèmes, chemin de données (datapath), unité de contrôle, machines à nombre d'états fini, VHDL, synthèse logique, pipeline, C.

Pré-requis

Connaissance de base en électronique numérique : portes logiques, bascules, algèbre de Boole, tableaux de Karnaugh et circuits séquentiels élémentaires (compteurs, registres à décalage, ...). Connaissance de base des machines à nombre d'états fini. Connaissance des langages VHDL et C.

Ressources

Chaîne de développement Intel-FPGA/Quartus Prime, logiciel de simulation HDL Modelsim, logiciel de conception d’un système QSys, processeur Nios II gen2, outils de développement logiciel NiosII Software Build Tools, système d’exploitation temps réel FreeRTOS, carte de développement DE0 CV, FPGA Cyclone V, polycopiés de cours, de TD et de laboratoires.