问题描述
当使用具有VHDL或Verilog(顶级)的Verilog结构模型时,我发现LTE解码器上没有输出。
解决/修复方法
对于VHDL和Verilog,GSR期间UniSim库的行为是不同的。
在Verilog中,无论用户时钟如何,FD组件在GSR期间都保持其INIT状态。在VHDL中,INIT值在GSR开始时应用,但即使GSR信号仍为高电平,下一个用户时钟也会立即将Q输出更改为D输入上的输出。
同样,但相反,VHDL SRL在GSR期间忽略用户时钟,而Verilog在用户时钟启动时立即开始计时。
两种效果的组合使得未定义SRL16预分频器,导致调度程序变为非活动状态。
简单的解决方法是在等待GSR释放的前200 ns仿真中保持用户时钟不活动。示例代码如下:
————————————————– —————————
– 生成时钟
————————————————– —————————
处理
开始
等待200 ns;
循环
等待clk_period / 2;
clk <= not clk;
结束循环;
结束过程;
没有回复内容