Vous êtes sur la page 1sur 46

Initiation au langage

VHDL
Hicham HADJ-ABDELKADER
GEII IUT dEvry
Universit dEvry
Hicham.hadjabdelkader@ibisc.fr

Langage de programmation vs description

Structure dune description VHDL

1. Dclaration dutilisation des bibliothques.


2. Dfinition de lentit.
3. Architecture du composant.

Structure dune description VHDL


DECOD1_4

in0

D0
D1

in1

D2
D3

Dclaration dune entit

Par exemple:

Ports et types

Exemple de dclaration

Valeurs dun std_logic

Dclaration dune architecture

Par exemple:

Oprateurs: laffectation, concatnation

Avec E1=0 et E2=1 quelles sont


les valeurs des signaux de sortie?

Oprateurs logiques
Par exemple:

Ecrire le code pour faire une multiplication par 4 sur


un signal S de 8 bits?

S_mul4 <= S(5 downto 0) & ``00``;

Ecrire le code pour faire une rotation de trois bit


vers la droite uniquement avec des concatnations
sur un signal S de 8 bits?

S_rot3 <= S(2 downto 0) & S(7 downto 3);

Oprateurs arithmtiques et relationnels

Nombres et vecteurs

Paramtrage gnrique

Quelle est le type de description du composant AND_5_bits?

Les attributs (I)

Les attributs (II)

0
7
7
0
8
(7 downto 0)
(0 to 7)

Instructions concurrentes

Le monde concurrent

Quelle est la diffrence entre les 2 programmes?

Temps physique vs Temps simulateur

a
b
abarb
0

10

20

30

10

10

20

20

20

30

30

30

abarb

abar

abarbabarb
estabarb
il stable?
abarb
est
il stable?
abarb est il stable?
est
ilest
stable?
abarb
il stable?
est
il stable?

Temps physique vs Temps simulateur

b
abar
abarb
0

10

20

30

20

20

20

20

20

20

20

20

abarb

0 Valable
0
0uniquement
1
1

abar

en0 simulation
0
1
0

abarb
ililabarb
stable?
abarb
est
stable?
abarb
est
ilest
stable?
est
il stable?
estest
ilest
stable?
abarb est il abarb
stable?
il stable?
abarb
ilabarb
stable?

Les instructions concurrentes


Laffectation conditionnelle:

Que produise les lignes de code suivante:

E1
E2

SEL
S1
E1

00

E2

01

E3

10

E4

11

S2

Les instructions concurrentes


Laffectation slective:

Quelle quation logique est


produite les lignes de code
suivantes:
E1
SEL(0)
E2
E3
SEL(1)
E4

Rq: Cest exactement la mme chose que prcdemment

S2

Gnration de structures

Gnration de structures

Le monde squentiel

Processus

Signaux et Variables

Signaux et Variables

DIN

CLK

SINT

DOUT

DIN

CLK

VINT

DOUT

DIN

DOUT

CLK
Dans ce cas, la variable
disparat par simplification

Instruction squentielle
Assignation conditionnelle:

Par exemple:

Instruction squentielle
Assignation slective:

Par exemple:

Instruction squentielle
Lattente dvnements: WAIT
2 formes: WAIT UNTIL et WAIT ON

Les deux descriptions sont identiques

Instruction squentielle
Lattente dvnements: WAIT
2 formes: WAIT UNTIL et WAIT ON

Les deux descriptions sont identiques

Instruction squentielle
Boucles: LOOP
2 formes: FOR LOOP et WHILE LOOP

Quel est le circuit produit par ces lignes ?

Instruction squentielle
Boucles: LOOP
2 formes: FOR LOOP et WHILE LOOP

Process combinatoires

Machine tats finis: FSM

Machine tats finis: FSM

Machine tats finis: FSM

Machine tats finis: FSM

Coding style

Rgles de prsentation

Rgles de prsentation

Rgles de prsentation

Rgles Signaux / Variables

Rgles sur les horloges

Rgles de design synchrone

Vous aimerez peut-être aussi