描述
问题描述:
在功能仿真中,寄存器按照预期进行切换。然而,在时序仿真中,所有寄存器都被卡在0。
解决方案
用于VHDL仿真:
在前100 ns中,复位脉冲是活动的,从而防止任何寄存器的功能。这是用来仿真“加电”阶段,其中在进入用户模式之前设置或清除具有初始值的寄存器。
Verilog仿真:
如果使用HDL BeNever(测试台波形)首次创建测试台,请确保在“全局信号”部分中选择“PRLD”(预加载)复选框。当这个PRLD信号处于活动状态时,寄存器将不起作用。默认PRLD脉冲为20纳秒。γ
如果你不使用HDL Bunter:
1.1I:
当运行仿真时,需要编译和引用“GLBL.V”文件,因为它将执行所有寄存器的初始化。γ
例子:
VLogimeTimeSim.V.TestStudio.VC:/Xilinx/Verilog/SRC/GLBL
VSIM -L SimPrimsSver测试平台GLBL
5.2i和更早的
将下列内容添加到测试夹具中。
Reg PRLD;
分配GLBL.PRLD= PRLD;
然后,迫使它高达100纳秒(任意数),并留下它低的其余部分的仿真。
没有回复内容