0
是否可以在延迟后分配状态更改?如何在延迟后分配状态
我做的一个交通灯控制器,我想后4秒,从黄色状态转变
always @(next_state, EW, Count)
begin
case (next_state)
s0: if (EW&Count) next_state = s1; else next_state = s0;
s1: #4 next_state = s2;
s2: if ((~EW&~Count)|(~EW&Count)|(EW&Count)) next_state = s3; else next_state = s2;
s3: #4 next_state = s0;
endcase
end
您可能需要一个计数器来计算时钟周期数,然后改变状态。 – sharvil111
'#x'延迟不可合成。实施像@ sharvil111这样的计数器是最好的解决方案。 (如果你只停顿了几个时钟周期,你可以实现一些临时的“虚拟状态”,但是这并不能很好地适应更大的延迟) – wilcroft