0
这是一个非常困难的问题,所以我会描述我期望的效果。在使用verilog的ModelSim中,您可以在继续模拟的同时将模拟状态重置为开始吗?
说,如果我有Verilog代码,例如:
...
/*procedure 1 generating stimuli for module 1*/;
/*procedure 2 generating stimuli for module 1*/;
...
而且module_thing有两个影响未来所有的计算内部状态。是否有我可以使用的命令,例如'reset_state',它会将module_thing重置回其开始状态?
所以用Verilog:
...
/*procedure 1 generating stimuli for module 1*/;
reset_state;
/*procedure 2 generating stimuli for module 1*/;
...
而在的ModelSim,module_thing适当的所有值的“清除”,它的第二个呼叫之前,无需重新设置模拟。
谢谢您的阅读。
'module_thing'是否有复位信号?你通常如何重置'module_thing'的状态? – wilcroft
您首先必须明白,模块并非像程序语言语句序列那样在程序上被调用。 ModelSim确实有一个重新启动命令,可以将时间重置为时间0,但我不认为这是您正在寻找的。 –
如果由于某种原因需要重置内部状态,则可以在所需的任何模拟时间强制所有内部线返回其初始状态。但是,如果您需要硬件的这种功能,您应该采用wilcroft的建议,即采用重置线。强制建议只能用于模拟,并且如果设计变大,将需要大量复杂的脚本。 – Unn