--- Quote Start ---
--- Quote Start ---
Hi Stefan,
I'm not sure, but I still believe your problem could be reset related. Your system reset is
generated by a block clock by clk6M25, but it is also used in blocks running at clk_50M.
That means you have valid paths between clk_50M and clk6M25. Are they re- synchronized ?
Another reason could be the statemachines itself. Are all states defined ?
Kind regards
GPK
--- Quote End ---
Hi Pletz
No, I don't re-synchronize the reset signal. My thought was that it's pointless to synchronyze it, as the reset of the state machines and FIFOs are asynchronous anyway. Do you think this may cause problems?
I could wrap the state machines in a if-structure. Is this a good way to make a synchronous reset?
-- reset is asynchronous signal from other block
state.clk = clk;
if
-- synchronize reset with clock of machine
dff(reset, clk)
then
state = s0;
else
case state is
when s0 =>
...
when s1 =>
...
when s2 =>
...
end case;
end if;
At the time I am simply using the asynchronous reset input of the machine:
state.clk = clk;
state.reset = reset;