You are on page 1of 4

Liste de sensibilité des process

„ ZĂƉƉĞůƐ
… hŶƉƌŽĐĞƐƐ Ɛ͛ĞdžĠĐƵƚĞĞdžĐůƵƐŝǀĞŵĞŶƚƐŝƵŶĚĞƐƐŝŐŶĂƵdžůŝƐƚĠƐĚĂŶƐůĂ
ůŝƐƚĞĚĞƐĞŶƐŝďŝůŝƚĠĂĠǀŽůƵĠ
„ WŽƵƌƵŶĞďĂƐĐƵůĞ
hd/>/^d/KE^WZK^^ s,> …
…
><
>Zʹ Z^d
^LJŶĐŚƌŽŶĞ

WKhZ>^^h>^͕>^
„

„ ƐLJŶĐŚƌŽŶĞ

„ WŽƵƌƵŶǀĞƌƌŽƵ
sZZKh^͕>^KDWdhZ^͕>^ …
…
>;>ĂƚĐŚ ŶĂďůĞͿ
;ĞŶƚƌĠĞͿ

Z'/^dZ>>'͕͙ … >Zʹ Z^d


„ ^LJŶĐŚƌŽŶĞ
„ ƐLJŶĐŚƌŽŶĞ

„ ĞƐŽŝŶ͗ŽĚĞƌůĂƐĞŶƐŝďŝůŝƚĠăĚĞƐĨƌŽŶƚƐ 

Logique séquentielle et process Exemple de bascule D


„ WŽƵƌƵŶĞďĂƐĐƵůĞ
„ >ĂůŽŐŝƋƵĞƐĠƋƵĞŶƚŝĞůůĞĞƐƚŶĠĐĞƐƐĂŝƌĞŵĞŶƚĚĠĐƌŝƚĞĚĂŶƐůĞƐ Library ieee; -- en-tête

ƉƌŽĐĞƐƐ USE ieee.std_logic_1164;

„ >ĂůŽŐŝƋƵĞĐŽŵďŝŶĂƚŽŝƌĞƉĞƵƚġƚƌĞĚĠĐƌŝƚĞŚŽƌƐƉƌŽĐĞƐƐ Entity Bascule_D is --entité

;ŝŶƐƚƌƵĐƚŝŽŶƐĐŽŶĐƵƌƌĞŶƚĞƐͿŽƵĚĂŶƐƵŶƉƌŽĐĞƐƐ ;ů͛ŽƌĚƌĞĚĞƐ port(


D, CLK : in std_logic;
ŝŶƐƚƌƵĐƚŝŽŶƐĞƐƚŝŵƉŽƌƚĂŶƚͿ Q : out std_logic);
End Bascule_D ;
„ ^ƚƌƵĐƚƵƌĞĚ͛ƵŶƉƌŽĐĞƐƐ ͗
process (liste de signaux) Architecture ARCHI of Bascule_D is -- architecture
Begin
-- partie déclarative (si besoin)
Process(CLK)
begin Begin
if SEL = … if (CLK = ‘1’) then
Q <= D;
-- suite du code end if ;
end process; End process
End ARCHI ;
VHDL – IOGS 2011-2012  
Exemple de bascule D Notion d’attributs
„ WŽƵƌƵŶĞďĂƐĐƵůĞ
„ džĞŵƉůĞƐ
Architecture ARCHI of Bascule_D is -- architecture
Begin CLK’envent : ĨƌŽŶƚĚ͛ŚŽƌůŽŐĞ
Process(CLK)
Begin Q’right : ďŝƚĚĞĚƌŽŝƚĞ ĚƵŵŽƚY
wait until (CLK=‘1’)
Q <= D;
End process
Integer’range : ŐĂŵŵĞ ĚĞǀĂƌŝĂƚŝŽŶĚĞƐĞŶƚŝĞƌƐ
End ARCHI ;

„ /ŶƚĠƌġƚ͗ŵĞŝůůĞƵƌĞůŝƐŝďŝůŝƚĠ „ ƉƉůŝĐĂƚŝŽŶ
„ /ŶĐŽŶǀĠŶŝĞŶƚ͗ƵŶƐĞƵůƐŝŐŶĂůƚĞƐƚĂďůĞĂŝŶƐŝ CLK’envent and CLK = ‘1’ Æ ĚĠƚĞĐƚĞ ƵŶĨƌŽŶƚŵŽŶƚĂŶƚ
Ě͛ŚŽƌůŽŐĞ
VHDL – IOGS 2011-2012  VHDL – IOGS 2011-2012 

Bascule D avec Clear asynchrone Bascule D avec Clear synchrone


„ džĞŵƉůĞƐ „ džĞŵƉůĞƐ
Entity Basc_D is --entité Entity Basc_D is --entité
port( port(
D, CLK, CLEAR : in std_logic; D, CLK, CLEAR : in std_logic;
Q : out std_logic); Q : out std_logic);
End Basc_D ; End Basc_D ;

Architecture ARCHI of Basc_D is -- architecture Architecture ARCHI of Basc_D is -- architecture


Begin Begin
Process(CLK,CLEAR) Process(CLK,CLEAR)
Begin Begin
if CLEAR = ‘1’ then Q <= ‘0’ Å Clear asynchrone if (CLK’event and CLK = ‘1’) then
elsif (CLK’event and CLK = ‘1’) then Q <= D; Å Mettre un else if CLEAR = ‘1’ then Q <= ‘0
end if ; else Q <= D;
End process end if ;
End ARCHI ; End process
End ARCHI ;
 
Registre à décalage
„ džĞŵƉůĞƐ
Entity REGISTRE is --entité
port(
D_IN, CLK : in std_logic;
Q_OUT : out std_logic);
End EXEMPLE ;
^Z/Wd/KE h>E''
s,>;^h/dͿ͗s,>
Architecture ARCHI of REGISTRE is -- architecture
Begin
Signal S : std_logic
Process(CLK)
Begin ^dZhdhZ>
if (CLK’event and CLK = ‘1’) then !! Les signaux ne sont
S1 <= D_IN ; mis à jour qu’a la fin du
Q_OUT <= S1; process
end if ;
End process
„ End ARCHI ; 

VHDL structurel VHDL structurel

„ WƌŝŶĐŝƉĞ Entity MA_FCT is


Port( A,B,C,D,E,F,G,H,I: in std_logic_vector;
… ĐƌŝƌĞĚĞƐďůŽĐƐĚĞĐŽĚĞĚĠĐůĂƌĠƐĐŽŵŵĞĐŽŵƉŽƐĂŶƚƐ S : out);
End MA_FCT;
… ZĠƵƚŝůŝƐĞƌĐĞƐĐŽŵƉŽƐĂŶƚƐ
… KŶƉĂƌůĞĚ͛ŝŶƐƚĂŶĐŝĂƚŝŽŶĚĞĐŽŵƉŽƐĂŶƚůŽƌƐƋƵ͛ŽŶĨĂŝƚĂƉƉĞůăƵŶ Architecture ARCHIT of MA_FCT is
ŵŽĚƵůĞ Signal J,K,L : bit_vector -- Declarations
Component : OR3 port ( A1,B1,C1 : in std_logic; S1: out
… >ĞĐŽĚĞĚĞƐĐŽŵƉŽƐĂŶƚƐƉĞƵƚġƚƌĞĚĂŶƐůĞŵġŵĞĨŝĐŚŝĞƌ͕ĚĂŶƐƵŶ std_logic);
ĂƵƚƌĞĨŝĐŚŝĞƌ͕ŽƵĚĠũăĐŽŵƉŝůĠ͘ Component : AND3 port( A2,B2,C2 : in std_logic;
S2: out std_logic); -- declaration composant

„ /ŶƚĠƌġƚ UN : OR3 port map(A,B,C,J); -- description structurelle


DEUX : OR3 port map(D,E,F,K);
… ĞƐŝŐŶŚŝĠƌĂƌĐŚŝƐĠ TROIS: OR3 port map(G,H,I,L);
… ƉƉĞůăĚĞƐĠůĠŵĞŶƚƐĚĠũăŵŝƐĂƵƉŽŝŶƚ QUATRE: AND3 port map(J,K,L,S); -- Ici S est générée

End ARCHIT;
VHDL – IOGS 2011-2012  VHDL – IOGS 2011-2012 
VHDL structurel
„ /ŶƚĠƌġƚ
… ZĠƵƚŝůŝƐĞƌĚĞƐĨŽŶĐƚŝŽŶƐ
… ůĂƌƚĠĚ͛ĠĐƌŝƚƵƌĞ

„ /ŶĐŽŶǀĠŶŝĞŶƚ
… &ŝĐŚŝĞƌƐͨ ůŽƵƌƐ ͩ
„ ƌĠĂƚŝŽŶĚĞƉĂĐŬĂŐĞƋƵŝĐŽŶƚŝĞŶŶĞŶƚůĞƐĐŽŵƉŽƐĂŶƚƐ

„ ǀĞĐYƵĂƌƚƵƐ
… >͛ĂƐƉĞĐƚƐƚƌƵĐƚƵƌĞůÆ 'ƌĂƉŚŝƋƵĞ
… >͛ĂƐƉĞĐƚĂůŐŽƌŝƚŚŵŝƋƵĞÆ ƚĞdžƚƵĞůsŚĚů

VHDL – IOGS 2011-2012 

You might also like