Professional Documents
Culture Documents
TP0 :
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
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
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
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 :
---- 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
Manel Mili
-3-