Synthèse et fonctions numériques GINF3109
Enseignant:
Email:
Durée totale du cours: 22.5 H
Option concernée : Tronc Commun
Semestre : 1
Nombre de crédits : 2
Modules de base : X
Nombre d’heures 22.5 Activités hors classe
18 cours 16.5 TD 6 TP
Code GINF3109 Synthèse et fonctions numériques
Volume Horaire : 1h:30 Cours intégrés (par semaine)
Digital Function Description
Objectifs d’apprentissage et compétences visées
L’objectif principal c’est d’expliquer comment peut-on générer des circuits personnalisés par programmation.
- Faire la synthèse de circuit numérique
- Programmation de circuits numériques
- Apprendre un langage de programmation de circuit
- Maîtriser les bases d'un langage de description HDL
- Utiliser un outil de tests et de simulation
- Utiliser un outil de synthèse
Contenu du module
Cours :
Systèmes de numération : nombres signés (Signe-Valeur Absolue, complément à 1, complément à 2)
Codage des nombres : Grey, BCD, ASCII
Nombres réels : virgule fixe, virgule flottante simplifiée, virgule flottante standard IEEE
Opérations arithmétiques binaires : demi-additionneur, additionneur complet, addition n-bits, Soustraction, multiplication, division
Synthèse logique : résolution par SOP
Les PLD (PAL, PLA) : Les CPLD + Les GAL
Synthèse logique : résolution par FG et LUT
Les FPGA : FPGA de Altera + FPGA de Xilinx
Programmation logique : VHDL
Les niveaux logiques et la bibliothèque IEEE
Notion de variable et de signal
Structure descriptive de fichier VHDL : Entité et architecture + Système combinatoire + Notion de process + Système séquentiel
Description fonctionnelle
Description comportementale
Description structurelle
Structure de fichier de simulation
Quelques syntaxes de VHDL
Machine d'état : Modèle de Moore et Modèle de Mealy + Différentes descriptions de la machine de Moore + Différentes descriptions de la machine de Mealy
Généricité et construction d’IP
Travaux Dirigés
Calculs numérique binaire avec les différents formats des nombres signés et nombres réels.
Les opérations arithmétiques et logiques (+, -, x). (Changer les formats des nombres)
Les systèmes séquentiels : rappels sur les registres à décalage, compteurs.
Programmation des PLD-GAL (combinatoire, séquentiel)
Programmation des fonctions logiques combinatoires en VHDL (avec et sans process)
Programmation de fonctions logiques séquentielles en VHDL
Programmation des fonctions numériques en VHDL (combinatoires et séquentiels)
Conception de machine d'état, Moore et Mealy.
Applications à machine d'état.
Travaux pratiques
TP1 : Introduction à l’environnement de test modelsim de Mentorgraphic
TP2 : Test et simulation de quelques applications numériques de base
TP3 : Introduction à l’outil ISE de Xilinx.
TP4 : Synthèse de quelques applications numériques de base.
TP5 : Implémentation sur un FPGA de quelques exemples de fonctions complexes.
TP6 : Implémentation d’une machine de Moore sur un FPGA.
TP7 : Implémentation d’une machine de Mealy sur un FPGA.
TP8 : Introduction à l’environnement EDK.
TP9 : Implémentation et programmation d’un microprocesseur Soft
TP10 : Implémentation d’une application Hard/Soft (codesign)
Méthodes d’enseignement et d’apprentissage
Exercices théoriques et études de cas (présentation et discussion).
Travaux pratiques (laboratoire)
Connaissances et compétences pré-requises
Système logique
Codage et représentation binaire
Références bibliographiques
Un polycopié (Notes du cours) de l’enseignant sera disponible.
V. Olive, R.Airiau, J. M.Bergé,J.Rouillard« VHDL. Langage, modélisation, synthèse », 2ème édition, 2011,ISBN : 2880743613.
J. Weber , S. Moutault «Le langage VHDL : du langage au circuit, du circuit au langage », 4e édition, Dunod, ISBN : 2100567020
Douglas Perry, « VHDL : Programming By Example », McGraw-Hill Professional, mai 2002, 497 p, ISBN-13: 978-0071400701
Jacques Weber & Maurice Meaudre, « Le Langage VHDL : Cours Et Exercices », Dunod, juin 2003, 238 p, ISBN : 9782100047550
Modalité d’évaluation
40% Contrôle continu (Test + Travail individuel avec présentation orale, Devoir surveillé, …)
60% Examen semestriel
Résultats d'apprentissage :
1. Compétences en conception de circuits numériques: Vous devriez acquérir des compétences dans la conception, la simulation et la vérification de circuits numériques, y compris des compétences en langages de description matérielle tels que VHDL ou Verilog.
2. Compétences en traitement numérique des signaux: Vous pourriez apprendre à concevoir des circuits numériques pour le traitement des signaux, tels que le filtrage numérique, la transformée de Fourier, etc.
3. Compétences en architecture des processeurs: Vous pourriez étudier l'architecture interne des processeurs numériques, y compris l'organisation des registres, les unités de traitement, les pipelines, etc.
4. Compétences en conception de systèmes numériques: Vous pourriez apprendre à concevoir des systèmes numériques plus vastes, en intégrant plusieurs composants et modules.
5. Compétences en langages de programmation bas niveau: Vous pourriez développer des compétences en langages bas niveau tels que le langage d'assemblage pour comprendre le fonctionnement interne des processeurs.
6. Compétences en test et débogage de circuits numériques: Vous pourriez apprendre des techniques pour tester et déboguer des circuits numériques afin d'assurer leur bon fonctionnement.
7. Compétences en technologies émergentes: Selon le programme, vous pourriez être exposé à des technologies émergentes telles que les circuits quantiques, les circuits reconfigurables, etc.