Master 1 Electronique Energie électrique Automatique
Conception des systèmes Numériques CSN
Samuel CRAND Bât 6 – ISTIC Tél : 02 23 23 65 04 [email protected]
Partie 2
2
VHDL
De la Spécification Haut Niveau au Circuit
Samuel CRAND Bât 6 – ISTIC Tél : 02 23 23 65 04 [email protected]
0
www.istic.univ-rennes1.fr
Objectifs de ce module
3
. Présentation du langage VHDL
. Principes généraux
. Syntaxe
. Exemples
. VHDL pour la Synthèse
. Utilisation du VHDL pour la conception de systèmes numériques
?
Code VHDL
Source : www. altera.com
0
www.istic.univ-rennes1.fr
4
VHDL
Langage de modélisation de circuits numériques
. VHDL : VHSIC Hardware Description Language
. VHSIC : Very High Speed Integrated Circuit
0
www.istic.univ-rennes1.fr
Plan 5
1. Introduction
2. Eléments de base
3. Types
4. Objets
5. Attributs
6. Exécution parallèle et séquentielle
7. Instructions
8. Opérateurs standards
9. Description hiérarchique
10. VHDL et simulation
11. VHDL et synthèse 12. Conclusion
13. Références bibliographiques
Publicité
0
www.istic.univ-rennes1.fr
1. Introduction 6
- Pourquoi le VHDL ?
. Langage non propriétaire
. Standardisation précoce
. Langage adopté par de nombreux outils
. Autre langage : VERILOG
- Initialement : Le VHDL a été développé pour la modélisation et la simulation
- Synthèse VHDL (synthèse logique) liée à l’essor des CLP
(Circuits Logiques Programmables)
- Modélisation et synthèse : 2 concepts différents
. Modélisation . Synthèse
-> Le résultat de la simulation
-> Le résultat ET la difficulté pour y aboutir
0
www.istic.univ-rennes1.fr
1. Introduction 7
- Les circuits/systèmes à concevoir : Taille et complexité
- Conséquence
. La description au niveau porte devient rapidement difficile à gérer
- Nécessité d'une description plus abstraite
. Niveau d'abstraction plus élevé Démarche descendante
- Les HDL assimilables aux langages logiciels de haut niveau
. Langage C Assembleur . HDL
Equations logiques
- Objectifs des HDL
. Description de l'application au niveau approprié . Simulation et vérification . Conception et validation
0
www.istic.univ-rennes1.fr
1. Introduction 8
- Fin des années 70 : lancement du programme VHSIC par
le ministère de la défense américaine
- 1981 : Premières réflexions sur le VHDL
- 1987 : IEEE 1076 : Définition d ’un langage unique pour
. La description . La modélisation . La simulation . La synthèse . La documentation
- 1993 : IEEE 1164 : Normalisation des signaux logiques multivaleurs
- 1996 : IEEE 1076.3 : Normalisation pour la synthèse
. Implantation d ’un nombre signé
0
www.istic.univ-rennes1.fr
2. Elements de base
9
Publicité
- Entity/Architecture : Brique de base de complexité très variable
Fonctionnement et/ou structure interne
Interface externe
- Configuration : Possibilité d’associer plusieurs architectures à une seule entité
- Ex : Une architecture dédiée à la simulation et une pour la synthèse
- Package :
- Faciliter une conception modulaire et hiérarchique
- Faciliter la réutilisation
- Ex : les entités/architectures à réutiliser : dans des packages
- Library :
- Possibilité d’utiliser le concept de bibliothèques - Bibliothèque work : bibliothèque de travail - Certaines bibliothèques sont « implicites », par ex : work et std
0
www.istic.univ-rennes1.fr
2. Elements de base : Entité et Architecture
10
Vue externe : Définition de l'entité
In 1
In 2 In 3
Bloc A
Out 1
Out 2
Vue interne : Définition de l'architecture
Bloc A
In 1
In 2
Bloc B
Bloc C
Out 1
In 3
Bloc D
Bloc E
Out 2
0
www.istic.univ-rennes1.fr
2.1 Entité (Entity)
11
. Port :
. Signal d ’interface entre l’entité et l’extérieur . Chaque port est associé à un nom, un mode et un type . Ordre de la déclaration des différents signaux : aucune importance . Ordre conservé lors d’une utilisation à un plus haut niveau de cette entité
- Instanciation d'un composant (component)
. Mode :
. Définition du sens du signal . 4 modes sont définis
- in : Signal d’entrée monodirectionnel - out : Signal de sortie monodirectionnel - inout : Signal d’entrée/sortie bidirectionnel - buffer : Signal de sortie/entrée monodirectionnel
. Utile pour le « rebouclage" (sortie considérée comme une entrée) . Peu utilisé (remplacé par une sortie associée à un signal interne)
Publicité
0
www.istic.univ-rennes1.fr
. Mode : 4 modes de ports
CS
R/W
Adresse
Données
Mémoire
2.1 Entité (Entity)
12
. In . Out . Inout . Buffer
Busy
Erreur
0
www.istic.univ-rennes1.fr
2.1 Entité (Entity)
13
Déclaration :
ENTITY nom_entite IS
GENERIC (parametres_generiques : type := valeur_par_defaut);
PORT ( entrees : IN type_entrees;
sorties : OUT type_sorties;
entreessorties : INOUT type_entreessorties;
entreessorties_buffer : BUFFER type_entreessorties_buffer);
END nom_entite;
0
www.istic.univ-rennes1.fr
2.1 Entité (Entity)
14
. Exemple : Un additionneur 8 bits synchrone à une horloge
ENTITY adder_pip IS
PORT( clk : IN bit;
a,b : IN bit_vector(7 DOWNTO 0);
cin : IN bit;
s : OUT bit_vector(7 DOWNTO 0);
cout : OUT bit);
END adder_pip;
0
www.istic.univ-rennes1.fr