Académique Documents
Professionnel Documents
Culture Documents
Description en VHDL
d'éléments mémoires
Etienne Messerli
octobre 2019
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License
Avertissement
INVERSEMENT
Synthèse du flip-flop
Cette description se synthétise parfaitement
sur tous les synthétiseurs actuels
Deux informations confirment la notion de flip-
flop :
▪ le processus ne réagit que sur l'horloge CLK
▪ la condition du test spécifie clairement une
action dynamique (Rising_Edge)
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
E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Eléments mémoires en VHDL, p 16
Synthèse avec Synplify
Com
Exercice 1 : latch_en
Etablir la description VHDL du latch D suivant :
D 1D Q
G G1
ar
Reset
D 1D Q
Horloge C1
nQ
ar
Reset
Exercice 3 : dff_en
Concevoir le schéma logique, puis établir la description
VHDL du flip-flop D avec enable décrit ci-dessous.
▪ Ce flip-flop est souvent nommé DFFE
En D Q+ Horloge C1
0 x Q
En EN ar
1 0 0
1 1 1 nReset
E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Eléments mémoires en VHDL, p 22
Exercice 4 : flipflop_T
Concevoir le schéma logique, puis établir la
description VHDL du flip-flop T suivant :
T Q+ Horloge C1
0 Q ar
1 not Q
Reset
Exercice 5 : flipflop_JK
Concevoir le schéma logique, puis établir la
description VHDL du flip-flop JK suivant :
Proposition I
Library IEEE;
use IEEE.Std_Logic_1164.all;
entity Flip_Flop is
port (D : in Std_Logic;
Clock : in Std_Logic;
Q : out Std_Logic := '0' );
end Flip_Flop;
architecture Comport of Flip_Flop is
begin
process(Clock)
begin
if Rising_Edge(Clock) then
Q <= D;
end if;
end process;
end Comport;
E. Messerli (HES-SO / HEIG-VD / REDS), 2019 Eléments mémoires en VHDL, p 28
Proposition II
Library IEEE;
use IEEE.Std_Logic_1164.all;
entity Flip_Flop is
port (D : in Std_Logic;
Clock : in Std_Logic;
Reset : in Std_Logic;
Q : out Std_Logic);
end Flip_Flop;
architecture Comport of Flip_Flop is
begin
process(Clock, Reset)
begin
if Reset = '1' then
Q <= '0';
elsif Rising_Edge(Clock) then
Q <= D;
end if;
end process;
end
E. Messerli (HES-SO Comport;
/ HEIG-VD / REDS), 2019 Eléments mémoires en VHDL, p 29
process(Clock, Action_Asynchrone)
begin
if Action_Asynchrone = '1' then
Q <= Etat_Initial;
elsif Rising_Edge(Clock) then
Q <= D;
end if;
end process;