|
假设时钟周期是40ns,我的时序电路状态变化大概是80ns,160ns,160ns,40ns, 在一个状态中,靠计数循环来停留在这个状态,直到循环计数满足条件再跳转。示意如下,不知道这样的循环是否可以。。。always@* begin case(state_reg) idle : ...... t1 : if(TimeCounter==2) begin TimeCounter=0; state_next = t2; end // else TimeCounter = TimeCounter+1; t2 : if(WR) begin if(TimeCounter==2) begin TimeCounter=0; state_next = t3; end // else TimeCounter = TimeCounter+1; end else //RD begin if(TimeCounter==3) begin TimeCounter=0; state_next = t4; end // else TimeCounter = TimeCounter+1; end t3 : ... t4 :.... endcase end
其他2段,一段是时钟跳变完成同步时序状态迁移,第三段是组合逻辑输出控制,没发上来。疑问在第二段的计数等待是否可行。因为一般都是按照一个时钟周期进行跳变到另外一状态的。
[ 本帖最后由 lvben5d 于 2011-7-7 09:54 编辑 ]
|
|