You are on page 1of 3

ISSATSousse

TP0 :

Systmes Temps rel et Systmes Embarqus

Initiation au Langage VHDL


I. But : Ce premier TP constitue une initiation la programmation VHDL, son concept de base et certaines rgles illustres par des exemples simples. II. Introduction au langage VHDL: Labrviation VHDL signifie VHSIC Hardware Description Language (VHSIC: Very High Speed Integrated Circuit). Ce langage a t crit pour raliser la simulation de circuits lectroniques. En effet les instructions crites en VHDL se traduisent par une configuration logique de portes et de bascules qui est intgre lintrieur des circuits FPGA. Une description VHDL est compose de trois parties indissociables savoir :
1. Les enttes des fichiers :

La premire chose faire est de dfinir les diffrentes bibliothques utiliser dans le code :
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL;

2. lentit (ENTITY)

Un design est tout dabord dfini par la dclaration dune entit. Cette entit permet de dcrire linterface avec lenvironnement extrieur. On y trouve donc le nom dentit et la liste des signaux dentres et de sorties avec leurs caractristiques : nom, mode et type comme suit : Exemple1 : porte AND deux entres a et b et une sortie s.
Entity AND is Port ( a,b : in std_logic; S :out std_logic ); End AND;

3. Larchitecture

Dans larchitecture on dfinit le fonctionnement de lentit comme suit :


Architecture nom_architecture of nom_entity is ----Dclaration des diffrents signaux Begin --- Dclaration de fonctionnement interne de lentit End nom_architecture;

On distingue 2 grandes classes de descriptions : les descriptions comportementales : Elles spcifient le comportement au moyen de formules ou de programmes d'actions. Manel Mili -1-

ISSATSousse

Systmes Temps rel et Systmes Embarqus

les descriptions structurelles : Une description est structurelle si elle comporte un ou plusieurs composants (mot cl: COMPONENT). Ceux-ci jouent le rle de support pour le cblage. Exemple2 : L'exemple montre la modlisation d'une porte "non-et". Ce composant possde deux entres x et y et une sortie s. Description comportementale Description structurelle

s <= not(x and y);

a1: et PORT MAP (x,y,f); n1: inv PORT MAP (f,s);

Les descriptions comportementales ne s'opposent pas aux descriptions structurelles. Elles se compltent : on adopte une description structurelle pour sparer un bloc en sous-systmes simples, qui eux seront dcrits comportementalement. Remarque: Dans une architecture toutes les lignes combinatoires sont excutes dune manire parallle. Lordre dans laquelle les instructions sont crites na pas dimportance puisquau final il sagit dassocier des portes logiques. VHDL ne distingue pas les Majuscules des Minuscules III.Ecriture Squentielle et parallle :
1. Ecriture Squentielle :

Lorsquon a besoin de faire une excution squentielle dans une architecture, on utilise un process. On peut donner un process un nom (ce nest pas obligatoire) mais le plus important est la liste de sensibilit qui existe entre parenthse : lorsqu un des signaux de cette liste change dtat, le contenu du process sera excut.
---- la structure IF If condition then squence1dopration; Else squence2dopration; End if;

---- la structure CASE case expression is when valeur1 => sequence1dopration; when valeur2 to valeur5 => squence2dopration; when others => sequence3doprations; end case;

Manel Mili

-2-

ISSATSousse
2. Ecriture concurrente :

Systmes Temps rel et Systmes Embarqus

---- Ecriture quivalente un IF hors process X <= X1 when a>5 Else X2 when a<5 Else X3; ---- Ecriture quivalente un CASE hors process With a select X <= X2 when 0 to 4, X1 when 5, X3 when others;

IV.Prsentation du Circuit FPGA : Un FPGA (Field Programmable Gate Array) est un circuit programmable constitu dune matrice de blocs logiques configurables appeles CLB, des blocs dentres/sorties et dun rseau dinterconnexions. Avec la progression de la technologie (actuellement on est en 45 nm) la cible comprend des blocs multiplieurs, des blocs RAMs et des microprocesseurs et une surface importante. Ce circuit est ddi au prototypage (test) grce sa flexibilit, et il est utilis dans plusieurs domaines. La structure gnrale dun circuit FPGA est donne par la figure ci-dessous :

V. Application : Prenons lexemple dun additionneur complet (FA :Full Adder) de deux bits x et y dont le circuit logique est le suivant :
Cin X Y

Sum

Cout

Dcrire en VHDL le comportement de ce circuit

Manel Mili

-3-

You might also like