Re: VHDL - signaly v processu?

j.Krajinka@seznam.cz j.Krajinka@seznam.cz
Úterý Listopad 24 19:13:49 CET 2009


Shared variable jsem pouzil z ciste ucebne testovacich duvodu.
ClkOut <= Clk and clock_en; mam mimo process, unvitr to zustalo po poslednim testu co to udela

Nicmene pokud to zacnu simulovat
pocatecni stav 
rst=0
clock_en=0
v prvnim cyklu
Clk 0 pak Clk 1
ClkOut =0
vse OK
Nasledne kdyz dojde na splneni podminky elsif falling_edge(Clk) then
se clock_en zmeni na 1
ClkOut <= Clk and clock_en; je tedy
ClkOut <= 0 and 1;
Nicmene vysledek je X ????
v dalsim pruchodu je jiz
ClkOut <= Clk and clock_en;
ClkOut <= 1 and 1;
vysledek opet X   ?????
V dalsim kroku ClkOut=0

Co je spatne, respektive co se simulator pokousi rici?

Jirka










>Ufff, jen rada na zacatek - pokud chcete psat kod pro syntezu, tak na
veci jako shared variable zapomente.

Obrazek mi nejde zobrazit, ale co vidim z kodu:

1)  chybi tam aktivni reset, vsechny signaly std_logic maji vychozi
hodnotu X a not(x) je zase jen X.
Pro testovani si tam pridejte napr.

rst <= '1', '0' after 10 ns;

2) ClkOut <= Clk and clock_en jsem uvadel mimo process jinak by bylo
nutne. V procesu to lze pouzit takem, ale je treba pouzit jiny
sensitivity list, konkretne process (clk, rst, clock_en), neni ale
zvykem to takto psat.

J.S.
                                 


More information about the Hw-list mailing list