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