P
Paul Uiterlinden
Guest
Thomas Fischer wrote:
condition. The outcome is determinitic because it does not depend of the
order of evaluation of processes (including signal assignments).
Each signal assignment adds a delta cycle delay. By adding a signal
assignment in the clock, the receiving block is clocked one delta cycle
later. The effect of this is that it clocks in the new signal values
(after the clock edge) of sending blocks running on the original clock
(without the extra signal assgnment).
In general it is a bad idea to put signal assignments in clocks. Or you
must make sure that all clocks derived from a common clock source
contain the same number of signal assignments.
Some other solutions are discussed in
http://verificationguild.com/modules.php?name=Forums&file=viewtopic&p=1765
Paul.
It is not a race condition in the sense of the definition of a raceThomas Fischer schrieb:
the problem only occures, if a signal is used as the rdclk, if the
rdclk is taken directly from the entity port clk_i everything
works fine.
I'm still learning, seems to be some sort of "delta cycle race condition"
condition. The outcome is determinitic because it does not depend of the
order of evaluation of processes (including signal assignments).
Each signal assignment adds a delta cycle delay. By adding a signal
assignment in the clock, the receiving block is clocked one delta cycle
later. The effect of this is that it clocks in the new signal values
(after the clock edge) of sending blocks running on the original clock
(without the extra signal assgnment).
In general it is a bad idea to put signal assignments in clocks. Or you
must make sure that all clocks derived from a common clock source
contain the same number of signal assignments.
Some other solutions are discussed in
http://verificationguild.com/modules.php?name=Forums&file=viewtopic&p=1765
Paul.