VHDL Module Overview

Electronics, Digital System Design · course

Voir tous les documents en électronique et automatique

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