CSN

Conception de systèmes numériques

Objectifs :


A l'issue de cette unité d'enseignement, l'étudiant-e sera capable de:

  • Connaitre le flot de développement d’un système numérique avec des outils EDA récents de la description VHDL jusqu’à l’intégration dans un circuit logique programmable
  • Connaitre la structure et les caractéristiques des circuits logiques programmables CPLD et FPGA
  • Comprendre les notions de base du langage de description VHDL pour la synthèse. Maitriser les instructions concurrentes pour la synthèse
  • Concevoir des systèmes combinatoires (décomposition, identification fcts standards) et les décrire en VHDL
  • Concevoir, réaliser et tester un système combinatoire décrit en VHDL synthétisable
  • Maitriser l'instruction process et les instructions séquentielles de base (affectation, if, case) pour la synthèse. Décrire en VHDL des éléments mémoires
  • Concevoir des systèmes séquentiels synchrones, tel que : registres, compteurs et machine d'états, et les décrire en VHDL
  • Concevoir, réaliser et tester un système séquentiel synchrone décrit en VHDL synthétisable
  • Concevoir des circuits implémentant sous forme combinatoire (décomposition spatiale) et sous forme séquentielle (décomposition temporelle) les opérations d'addition, de soustraction et de multiplication pour des nombres entiers (virgule fixe)
  • Maitriser les descriptions paramétrables en VHDL
  • Concevoir un organigramme global d'une machine séquentielle synchrone (MSS) complexe de petite taille
  • Identifier des fonctions standards à partir de l’organigramme global, définir une répartition des fonctions entre l'unité de commande et l'unité de traitement, concevoir une unité de traitement spécialisée, établir un organigramme détaillé et concevoir une unité de commande câblée (graphe des états) 
  • Concevoir, réaliser et tester un système séquentiel complexe décrit en VHDL. La description doit être paramétrable

 

Connaissances préalables recommandées :

L’étudiant doit connaître et savoir utiliser les notions suivantes :

  • fonctions logiques de base et représentation des nombres en binaire (non signé, signé en C2, hexadécimal);
  • fonctions standard combinatoires (multiplexeurs, décodeurs, comparateurs, additionneurs);
  • fonctions standard séquentielles (compteurs, registres à décalages);
  • machines séquentielles synchrones simples (schéma bloc, graphes, tables d'états, codage).

Les unités ARO1, ARO2 et IFS permettent d'acquérir ces connaissances.