最佳答案
这个就是时序逻辑和组合逻辑的区别了,也就是为什么我们在很多时候在时序逻辑赋值的时候会加一个延时,仅仅就是为了让仿真看上去更舒服。实际上如下所示,b是会在时钟的上升沿的之后一点点的位置才有效的,而仿真工具因为是理想状态,所以所有的delay都是按照0来计算的所以这个延时无限小,但是也还是在时钟延后面才有效的,所以cr在这拍时钟延的位置必然无效,只有下一拍才能触发到b的变化。而你这边的dr是组合逻辑,组合逻辑不需要时钟关系,只要条件有效,结果马上翻转。
clk --------- ---------- ---------- ------------
| | | | | | |
------------ ---------- ---------- ------------
b --------------------------------------------------------------
|
------------------------
cr ---------------------
| |
--------------------------------------------- -------------------
这个就是时序逻辑和组合逻辑的区别了,也就是为什么我们在很多时候在时序逻辑赋值的时候会加一个延时,仅仅就是为了让仿真看上去更舒服。实际上如下所示,b是会在时钟的上升沿的之后一点点的位置才有效的,而仿真工具因为是理想状态,所以所有的delay都是按照0来计算的所以这个延时无限小,但是也还是在时钟延后面才有效的,所以cr在这拍时钟延的位置必然无效,只有下一拍才能触发到b的变化。而你这边的dr是组合逻辑,组合逻辑不需要时钟关系,只要条件有效,结果马上翻转。
clk --------- ---------- ---------- ------------
| | | | | | |
------------ ---------- ---------- ------------
b --------------------------------------------------------------
|
------------------------
cr ---------------------
| |
--------------------------------------------- -------------------
1
举报