Vous êtes sur la page 1sur 2

21/05/2023

Ecole Nationale Polytechnique –Constantine.


Département EEA 1. Langage HDL
Quatrième Année Ingénieurs –Semestre 2.
Automatique/Electrotechnique Les HDL ou les langages de description du matériel
Cours. Circuits Programmables permettent au concepteur de spécifier la fonction
Chapitre V. (Partie 1) d’un circuit utilisant un type de langage de
Langages de programmation HDL programmation, le plus courant qui sont VHDL et
(Hardware description langage, langage de description du matériel) Verilog. Ces langages sont spécialement conçus pour
Durée du Cours: 1h30 décrire les contenus numériques. circuits avec des
Présenté par: Dr. S. BENSEGUENI constructions permettant (entre autres) au
(benskandix@gmail.com) concepteur de décrire la nature intrinsèquement
parallèle d’un circuit numérique, de «câbler»
différents composants, et pour simuler les aspects
temporels du circuit.
Année Universitaire. 2022-2023 Circuits Programmables Dr. S. Bensegueni

2. Développement et conception en
1. Langage HDL
langage VHDL
Parce que les machines à états ont une construire VHDL (langage de description matérielle de circuit
commune en HDL, de nombreux fournisseurs intégré très haute vitesse) est un langage
fournissent des outils permettant une conception spécialement créé pour la conception de matériel
rapide de ces structures. Les outils de saisie de la numérique et est un logiciel de la norme IEEE.
machine à états permettent au concepteur de les
dessiner en insérant les actions et les conditions à
l'aide de la syntaxe HDL. Cette machine à état est
convertie au code HDL qui peut ensuite être inclus
dans la conception globale.

Circuits Programmables Dr. S. Bensegueni Circuits Programmables Dr. S. Bensegueni

2. Développement et conception en langage VHDL 2. Développement et conception en langage VHDL


(Entités et architectures VHDL) (Entités et architectures VHDL)
L'unité de base d'une description de circuit VHDL est Pour plus de compréhension, considérons la
l'entité, qui possède à la fois une vue externe (c’est-à- conception d’un circuit FULL_ADDER à un bit. Un
dire une interface définie par les ports de l’entité) et FULL_ADDER est composé de deux modules
une vue interne (l'implémentation définie par HALF_ADDER et chaque HALF_ADDER utilisent deux
l'architecture). La vue externe (c’est-à-dire les ports) entrées (A et B) pour générer les sorties SUM et
permet à l’entité de s’intégrer à un modèle plus grand CARRY. La description VHDL HALF_ADDER est donnée
sans tenir compte d'une mise en œuvre particulière. ci-dessous (notez que les numéros de ligne sont
Le concepteur peut alors créer n’importe quel simplement par commodité, et ne font pas partie du
nombre de tâches internes pour définir le code).
fonctionnement de l'entité.
Circuits Programmables Dr. S. Bensegueni Circuits Programmables Dr. S. Bensegueni

1
21/05/2023

2. Développement et conception en langage VHDL 2. Développement et conception en langage VHDL


(Entités et architectures VHDL) (Entités et architectures VHDL)
1 -- Description of half adder circuit Ce code illustre une partie de la syntaxe VHDL.
2 entity HALF_ADDER is • Le langage VHDL est un langage fortement typé et ne
3 port (A,B : in bit; convertira pas automatiquement entre les types. Cela
4 SUM,CARRY : out bit); permet de minimiser les erreurs logiques telles que l’essai
5 end HALF_ADDER; de placer une valeur de 10 bits sur un bus de 8 bits. Bien
6 qu’il existe de nombreux types intégrés et définis par
7 architecture HALF_ADDER_ARCH of l’utilisateur, le les plus utilisés sont :
HALF_ADDER is STD_LOGIC, STD_LOGIC_VECTOR et INTEGER.
8 begin • Les commentaires (ligne 1) sont précédés de deux tirets
9 SUM <= A xor B; et se terminent à la fin de la ligne.
10 CARRY <= A and B; • Un point-virgule est placé à la fin de chaque instruction.
11 end HALF_ADDER_ARCH; • VHDL n'est pas sensible à la casse.
Circuits Programmables Dr. S. Bensegueni Circuits Programmables Dr. S. Bensegueni

2. Développement et conception en langage VHDL 2. Développement et conception en langage VHDL


(Entités et architectures VHDL) (Types et librairies VHDL)
• Les composants et les signaux doivent être déclarés Par défaut, le VHDL fournit plusieurs types de
avant d'être utilisés dans une entité. données comprenant, entre autres, le type bit (vu
• Le symbole <= permet d’attribuer une valeur à un dans l'exemple précédant), le type booléen (prenant
signal. les valeurs : vrai ou faux) et le type entier (en
• Les noms après les déclarations de end sont facultatifs. complément à deux avec une plage dépendant des
cependant, ils aident à clarifier le code. Prenant soin de la
syntaxe des instructions de fin - la syntaxe exacte peut outils de conception utilisés (souvent 32 bits)). Le
changer en fonction de la déclaration à laquelle ils sont VHDL permet également un certain nombre de types
associé. Par exemple, end if doit être utilisé pour fermer dérivés y compris les tableaux, les types énumérés et
une instruction if. les sous-types (sous-ensembles d'autres types, par
• Les espaces blancs tels que la ligne blanche (lignes 6) et exemple le type naturel est un sous-ensemble du type
les retraits (lignes 9 et 10) peuvent être utilisé pour entier, y compris toutes les valeurs positives et zéro).
rendre le code plus lisible.
Circuits Programmables Dr. S. Bensegueni Circuits Programmables Dr. S. Bensegueni

2. Développement et conception en langage VHDL 2. Développement et conception en langage VHDL


(Types et librairies VHDL) (Types et librairies VHDL)
Notez que, le langage VHDL étant un langage fortement typé, alors si Remarque.
on définit le même type deux fois en utilisant des noms différents
(comme indiqué ci-dessous), on ne peut pas affecter le signal d’un VHDL permet de créer des bibliothèques de
type à un signal de l’autre type sans conversion de type explicite.
conception et des packages pour structurer votre
1 type vecteur1 is array (7 downto 0) of bit; projet. Cependant, on ne considérera que les
2 type vecteur2 is array (7 downto 0) of bit; bibliothèques intégrées standard.
3
4 signal a1 : vecteur1;
5 signal a2 : vecteur2;
6
7 a1 <= a2; -- This is not allowed

Circuits Programmables Dr. S. Bensegueni Circuits Programmables Dr. S. Bensegueni

Vous aimerez peut-être aussi