Beruflich Dokumente
Kultur Dokumente
Instruction process
Description VHDL des bascules
Etienne Messerli
Mise à jour le 12 décembre 2008
…processus concurrents
process (Liste_De_Sensibilité)
--zone de déclaration
begin
end process;
… instruction process …
un process
• s’active lorsqu’un des signaux de sa liste de sensibilité
(ses entrées) change de valeur,
• et se rendort lorsque toutes les instructions séquen-
tielles ont été évaluées une fois (end process)
…instruction process …
end process;
Remarque :
L'affectation avec condition (..<= ..when..) n'est pas utilisable à l'intérieur
d'un process. Ce n'est pas une instruction séquentielle
• Exemple :
if Condition1 then
--ZoneInstructions_1
elsif Condition2 then
--ZoneInstructions_2
.....
else
--ZoneInstructions_n
end if;
case Expression is
when Valeur1 => instructions1;
when Valeur2 => instructions2;
...
...
when others => instructionsN;
end case;
Bascule RS asynchrone :
• Symbole CEI :
Set S Q
Reset R
library IEEE;
use IEEE.Std_Logic_1164.all;
entity Bascule_RS_Async is
port( S_i : in Std_Logic ;
-- entree de mise a '1'
R_i : in Std_Logic ;
-- entree de mise a '0'
Q_o : out Std_Logic
-- sortie de la bascule
);
end Bascule_RS_Async;
… LATCH D …
• Symbole CEI :
D 1D Q
G G1
library IEEE;
use IEEE.Std_Logic_1164.all;
entity D_Latch is
port( D_i : in Std_Logic ;
-- Entree D
G_i : in Std_Logic ;
-- Enable
Q_o : out Std_Logic
-- sortie de la bascule
);
end D_latch ;
Latch D : architecture
1 1 Horloge C1
library IEEE;
use IEEE.Std_Logic_1164.all;
entity DFF is
port(Horloge_i : in Std_Logic ;
-- Entree de commande
Reset_i : in Std_Logic ;
-- Mise a zero asynchrone
D_i : in Std_Logic ;
-- Entree de donnee
Q_o : out Std_Logic
-- sortie de la bascule
);
end DFF ;
Flip-flop D : architecture
Type de bascule ?
Library IEEE;
use IEEE.Std_Logic_1164.all;
D Q
entity Bascule is
port (D : in Std_Logic;
Com : in Std_Logic;
Com ?
Q : out Std_Logic);
end Bascule;
architecture Comport of Bascule is
begin
process(Com)
begin
if Com = '1' then
Q <= D;
end if;
end process;
end Comport;
Copyright ©2008 EMI, REDS@HEIG-VD Bascules, p 42
Synthèse de cette bascule
Type de bascule ?
Synthesizing work.bascule.comport
@W:"f:\en_cours\synplify\bascule.vhd":30:2:30:8
Incomplete sensitivity list - assuming
completeness
@W:"f:\en_cours\synplify\bascule.vhd":33:10:33:10
Referenced variable d is not in sensitivity list
Post processing for work.bascule.comport
@W:"f:\en_cours\synplify\bascule.vhd":32:4:32:5
Latch generated from process for signal q,
probably caused by a missing assignment in an if
or case stmt
@END
Com
D 1D Q
G G1
R
Reset
Exercice 2 : DFFb
D 1D Q
Horloge C1
nQ
R
Reset
En D Q+ Horloge C1
0 x Q
En EN R
1 0 0
1 1 1 Reset
Exercice 4 : Flipflop_T
T Q+ Horloge C1
0 Q R
1 not Q
Reset