Architecture et conception des systèmes numériques

Ref: 2EL2510

Description

Dans une approche top-down, les élèves vont apprendre à spécifier et concevoir des systèmes de traitement numérique dédiés, dans un objectif d’intégration dans un FPGA ou un ASIC.
L’aspect back-end microélectronique (placement routage) sera réservé aux étudiants souhaitant se spécialiser dans le domaine et étudié en mention de troisième année.
Le cours aboutira à la création d’une application, en l’occurrence un petit processeur de traitement, et permettra ainsi de comprendre les différents concepts utilisés dans celui-ci.

De façon globale à l’issue de ce cours, les élèves seront capables de :
• Définir et concevoir l’architecture d’une chaine de traitement numérique
• Décrire un modèle de ce traitement en langage HDL.
• Concevoir un processeur simple et savoir le programmer

Période(s) du cours

SG6

Prérequis

Notions de base en Électronique Numérique

Syllabus

Cours 1 : Architecture des unités de traitement : chemin de donnée et séquenceur – part. 1
  1. Cours 2 : Architecture des unités de traitement : chemin de donnée et séquenceur – part. 2
  2. Cours 3 : Description VHDL
  3. Cours 4 : Analyse temporelle des systèmes synchrones
  4. Cours 5 : Les GPUs : Architectures et chemin de données part. 1
  5. Cours 6 : Les GPUs : Architectures et chemin de données part. 2
  6. Cours_TD 1 : Les Unités Logiques Algorithmiques part. 1
  7. Cours_TD 2 : Les Unités Logiques Algorithmiques part. 2
  8. Cours_TD 3 : Registres, mémoires et pipeline part. 1
  9. Cours_TD 4 : Registres, mémoires et pipeline part. 2
  10. Cours_TD 5 : Le jeu d’instruction
  11. Cours_TD 6 : Le décodage d’instruction part. 1
  12. Cours_TD 7 : Le cache et ses stratégies
  13. Cours_TD 8 : Le décodage d’instruction part. 2
  14. Cours_TD 9 : Exécutions et sauts conditionnel
  15. Cours_TD 10 : Le compilateur

Composition du cours

Définition de la notion d’un Cours_TD :

Il s’agit d’une interaction très forte entre un cours classique et sa mise en application quasi immédiate, bien qu’ici la démarche soit inversée : les exercices ont pour objectifs de faire réaliser où sont les points critiques sans connaitre la solution pour y remédier. Une fois conscient du problème, le cours apporte la solution aux étudiants qui y sont alors beaucoup plus sensible. Cette démarche n’est possible que sous la condition qu’il n’y est pas de coupure franche entre le cours et le PC, d’où cette notion de Cours_TD.
ATTENTION: L’absence à cette partie rend quasiment impossible la bonne compréhension du sujet et de ce fait la validation du cours

2 - Projet à réaliser partiellement en homework et en équipe:
  • 6 séances de projet (EL) de 1h30 en présence d’un encadrant
  • 21h de homework (intercalées avec les séances de projet précédentes).
  • 1 séance de 3H avec exposé oral puis démonstration devant le groupe du résultat
Le département fournira à chaque élève une carte de type FPGA (les mêmes que celles utilisées pour le cours de première année) qu’ils garderont jusqu’à la fin de leur projet.

Ressources

DE0 FPGA Board From Altera

Résultats de l'apprentissage couverts par le cours

Le cours «Architecture des systèmes Numériques» apportera plus précisément aux élèves les notions nécessaire pour :

  • Définir une architecture de traitement
  1. Architecture des unités de traitement : chemin de donnée et séquenceur
  2. Description de chacune des fonctions précédentes en langage VHDL
  3. Analyse temporelle des systèmes synchrones
  • Conception d’un processeur (Approche de type projet)
  1. ALU, registres et pipeline
  2. Construction d’un cœur de processeur
  3. Jeu d’instruction
  4. Décodage d’instruction, Sauts et pipeline
  • Traitement de donnée sur processeur Graphique
  1. Architecture des GPU: chemin de donnée
  2. Langage de programmation parallèle via librairie de type CUDA