INF3500
Conception et réalisation de systèmes numériques
Pierre Langlois
Département de génie informatique et génie logiciel
École Polytechnique de Montréal
Juillet 2013
Cette création est mise à disposition selon le Contrat Paternité-Pas d'Utilisation Commerciale-Partage des
Conditions Initiales à l'Identique 2.5 Canada (http://creativecommons.org/licenses/by-nc-sa/2.5/ca/), sauf
pour les images dont les sources et notices de copyright sont indiquées explicitement, et pour lesquelles
les détenteurs originaux des copyrights conservent tous leurs droits.
Table des matières
INF3500 : Conception et réalisation de systèmes numériques i v. 2.5, juillet 2013
Table des matières
Chapitre 1 Introduction ........................................................................................................................... 1
1.1 Systèmes numériques et systèmes analogiques ............................................................................. 1
1.2 Niveaux d’abstraction des systèmes numériques .......................................................................... 2
1.3 Implémentation des systèmes numériques .................................................................................... 2
Chapitre 2 Description de circuits numériques avec VHDL .................................................................. 5
2.1 Langages de description matérielle ............................................................................................... 5
2.2 Entités et architectures .................................................................................................................. 5
2.3 Trois styles de description du comportement d’un circuit ............................................................ 8
2.4 Modélisation d’éléments à mémoire en VHDL .......................................................................... 13
2.5 Quelques détails du langage VHDL ............................................................................................ 16
2.6 Exercices ..................................................................................................................................... 24
Chapitre 3 Technologies de logique programmable ............................................................................. 27
3.1 Circuits SSI, MSI et LSI ............................................................................................................. 27
3.2 Mémoires mortes programmables : PROM, EPROM, EEPROM .............................................. 28
3.3 Réseaux logiques programmables : PLA, PAL et GAL ............................................................. 30
3.4 Circuits logiques programmables complexes (CPLD) ................................................................ 34
3.5 Réseaux pré-diffusés programmables (FPGA) ........................................................................... 35
3.6 Comparaison d’équivalences en termes de portes logiques ........................................................ 43
3.7 Technologies de programmation pour logique programmable ................................................... 43
3.8 Exercices ..................................................................................................................................... 49
Chapitre 4 Flot de conception d’un circuit numérique ......................................................................... 51
4.1 Décomposition architecturale ..................................................................................................... 51
4.2 Vue d’ensemble du flot de conception ........................................................................................ 52
4.3 Description : code HDL, schémas, diagrammes d’état, etc. ....................................................... 52
4.4 Simulation fonctionnelle d’un modèle VHDL ............................................................................ 53
4.5 Synthèse ...................................................................................................................................... 53
4.6 Implémentation ........................................................................................................................... 56
4.7 Extraction de métriques et annotation des délais ........................................................................ 57
Table des matières
INF3500 : Conception et réalisation de systèmes numériques ii v. 2.5, juillet 2013
4.8 Génération du fichier de configuration et programmation .......................................................... 58
4.9 Exercices ..................................................................................................................................... 59
Chapitre 5 Conception de chemins des données ................................................................................... 61
5.1 Les processeurs ........................................................................................................................... 61
5.2 Approche RTL : principes et notation ......................................................................................... 62
5.3 Modules combinatoires utilisés dans les chemins des données .................................................. 64
5.4 Éléments à mémoire pour chemins des données ......................................................................... 69
5.5 Unités fonctionnelles .................................................................................................................. 76
5.6 Exercices ..................................................................................................................................... 81
Chapitre 6 Conception d’unités de contrôle ......................................................................................... 83
6.1 Circuits séquentiels ..................................................................................................................... 83
6.2 Analyse d’un circuit séquentiel synchrone ................................................................................. 84
6.3 Description de machines à états en VHDL ................................................................................. 85
6.4 Conception de machines à états .................................................................................................. 91
6.5 Retour sur la conception de processeurs et l’approche RTL ....................................................... 95
6.6 Exemple de processeur à usage spécifique: multiplicateur série ................................................ 96
6.7 Exemple : joueur de blackjack .................................................................................................. 101
6.8 Exercices ................................................................................................................................... 106
Chapitre 7 rification de circuits numériques .................................................................................. 109
7.1 Concepts fondamentaux ............................................................................................................ 109
7.2 Banc d’essai de base et clause after ...................................................................................... 110
7.3 Simulation d’un modèle VHDL ................................................................................................ 111
7.4 Vecteurs de test encodés dans un tableau de constantes ........................................................... 112
7.5 Génération algorithmique de vecteurs de test ........................................................................... 113
7.6 Observation et évaluation des réponses : assertions ................................................................. 115
7.7 Entrées et sorties par fichiers .................................................................................................... 118
7.8 Utilisation de configurations en VHDL .......................................................................... 121
7.9 Instanciation directe d’une entité .............................................................................................. 121
7.10 Vérification d’un circuit séquentiel synchrone par banc d’essai ............................................... 122
Table des matières
INF3500 : Conception et réalisation de systèmes numériques iii v. 2.5, juillet 2013
7.11 Élaboration d’un plan de test .................................................................................................... 124
7.12 Composition d’un ensemble de vecteurs de test ....................................................................... 126
7.13 Concepts avancés de vérification .............................................................................................. 130
7.14 Exercices ................................................................................................................................... 131
Chapitre 8 Considérations pratiques ................................................................................................... 133
8.1 Introduction ............................................................................................................................... 133
8.2 Paramètres de synchronisation .................................................................................................. 133
8.3 Fréquence maximale d’opération et chemin critique ................................................................ 135
8.4 Le déphasage d’horloge ............................................................................................................ 136
8.5 Synchronisation entre domaines d’horloge différents ............................................................... 137
8.6 Optimisation d’un design pour la surface ou le débit ............................................................... 137
8.7 Génération de signaux d’horloge .............................................................................................. 142
8.8 Conception et implémentation pour FPGA ............................................................................... 144
8.9 Documentation de systèmes numériques .................................................................................. 145
8.10 Quelques principes importants en conception numérique ........................................................ 146
8.11 Exercices ................................................................................................................................... 147
Chapitre 9 Conception et réalisation de processeurs à usage général ................................................. 149
9.1 Introduction ............................................................................................................................... 149
9.2 Chemin des données d’un processeur à usage général .............................................................. 150
9.3 L’unité de contrôle .................................................................................................................... 157
9.4 Exemple de programme ............................................................................................................ 163
9.5 Accélération d’un processeur .................................................................................................... 163
9.6 Exercices ................................................................................................................................... 164
Chapitre 10 Annexe : Revue des systèmes numériques ........................................................................ 167
10.1 Variables booléennes ................................................................................................................ 167
10.2 Fonctions booléennes, symboles et tables de vérité .................................................................. 167
10.3 Algèbre booléenne .................................................................................................................... 169
10.4 Formes canoniques et expansion en mintermes et maxtermes .................................................. 169
10.5 Simplification d’expressions booléennes à l’aide de tables de Karnaugh ................................ 170
1 / 188 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !