Professional Documents
Culture Documents
SCIENTIFIQUE
DEPARTEMENT DE PHYSIQUE
UEF : VHDL
TP N°5
Modélisation d’un circuit
par les styles de Description
VHDL (suite)
Réaliser par :
HADJOUR KAMEL
2010/2011
INTRODUCTION
L’évolution de l’industrie des circuits intégrés durant la dernière décennie a été tellement
rapide qu’il est maintenant possible d’intégrer plusieurs systèmes complexes sur une
Seule puce. Cette évolution vers des niveaux d’intégration de plus en plus élevés est
motivée par les besoins de systèmes plus performants, légers, compacts et consommant
les outils d’aide à la conception traditionnels (les outils de bas niveau : masque,
Dans le but de mieux gérer la complexité des circuits intégrés, tout en gardant les coûts
dits outils de synthèse, ont vu le jour dès le début des années 1990. En effet, le but ultime
de ces outils associés avec un langage de conception et de simulation puissant, tel que le
langage VHDL, est de générer le dessin des masques d’un circuit à partir de sa
1. Un processus est une boucle infinie , lorsqu'il arrive à la fin du code, il reprend
automatiquement au début
3 - Objectif de TP
Développer le model fonctionnel d’un compteur de 5bit qui génère la séquence des valeurs 0,
1 , 2, …. 2N-1 (N : nbr de bits de signal contenant la valeur de compteur)
Avec :
Architecture
Entity
Entrée Sortie Dans la partie architecture on va utiliser le code
qui se trouve dans template :
Horloge : CLK Counter : count
de 5 bit process (<clock>, <reset>)
Reset : RST begin
active au niveau if <reset>='1' then
bas ‘0’ <count> <= (others => '0');
elsif <clock>='1' and <clock>'event then
<count> <= <count> + 1
end if;
end if;
end process;
la partie architecture sera bien éclairai dans les
pages suivantes
Partie Pratique :
On ouvre l’utilitaire Xilinx , puis on crée deux nouveaux projets au nom de TP_5 et deux
( new sources) bascule_d & reg_serial
entity bascule_d is
port(D,rst,clk:in std_logic;
Q:out std_logic);
end bascule_d;
--------------------- Architecture ---------------------
architecture structural of bascule_d is
begin
process (clk,rst)
begin
if rst='1' then
Q <= '0';
elsif (clk'event and clk='1') then
Q <=D;
end if;
end process;
end structural;
entity reg_serial is
port(ent,reset,clk:in std_logic;
sal:out std_logic);
end reg_serial;
signal Q1:std_logic;
signal Q2:std_logic;
signal Q3:std_logic;
component bascule_d
port(D,rst,clk:in std_logic;
Q:out std_logic);
end component;
----------------------------------------
begin
end archi;
Puis double clique sur simulate behaviour model comme le montre la fig ci dessous
Lorsque l’interface modelism s’ouvre on clique sur simulate Run Restart pour initialiser les signaux
force rst 0 0, 1 20
run 250 ns
IEEE.STD_LOGIC_1164.ALL; comme les declaration de process (std_logic) qui se trouve dans cette
bibliothèque
En sortie on aura le même résultat que notre TP ç à dire que même si on enlève le Reset le
compteur continuera toujours à s’incrémenter jusque à la fin de programme sans reboucler à
zéro
Conclusion :
A la fin de TP on conclut que pour une description comportemental d’un circuit et
modélisation nécessite l’utilisation de bloc process & les instructions séquentielles
qui se trouve au niveau de se bloque