pitanje oko procesa
Ovakav kod smo nasli na vise mesta iz raznih izvora, i verovatno nasa logika
nije dobra ali ako neko moze da nam pojasni zasto neko pise ovako:
process(CLK,RST,next_state) is
begin
if RST='1'then
cur_state<=idle;
elsif rising_edge(CLK)then
cur_state<=next_state;
end if;
end process;
Koja je svrha stavljanja "next_state" u listu osetljivosti kad se to stanje
upisuje u "cur_state" na svaku uzlaznu ivicu takta, nebitno da li je
next_state menjan ili ne? Cak iako je proces startovan na promenu
next_state-a svejedno se cur_state ne menja ako nije i rising_edge(clk)
Ono sto nama treba je da se next_state upise u cur_state na prvu sledecu
uzlaznu ivicu clk, i posle miruje do sledece promene next_state.
Hvala.
nije dobra ali ako neko moze da nam pojasni zasto neko pise ovako:
process(CLK,RST,next_state) is
begin
if RST='1'then
cur_state<=idle;
elsif rising_edge(CLK)then
cur_state<=next_state;
end if;
end process;
Koja je svrha stavljanja "next_state" u listu osetljivosti kad se to stanje
upisuje u "cur_state" na svaku uzlaznu ivicu takta, nebitno da li je
next_state menjan ili ne? Cak iako je proces startovan na promenu
next_state-a svejedno se cur_state ne menja ako nije i rising_edge(clk)
Ono sto nama treba je da se next_state upise u cur_state na prvu sledecu
uzlaznu ivicu clk, i posle miruje do sledece promene next_state.
Hvala.
Previous by date: Re: Odbrana...
Next by date: konzolni write u VHDL i sinteza
Previous by thread: Re: provera funkcionalnosti? Next by thread: konzolni write u VHDL i sinteza
Previous by thread: Re: provera funkcionalnosti? Next by thread: konzolni write u VHDL i sinteza