Isim 仿真卡死问题分析

导致Isim 仿真时出现卡死的原因肯定很多,一般是代码书写不规范,导致出现无限循环。这里我介绍一种我遇到的问题。

变量定义 

reg [5:0]fir_coe_index1;

always块中的语句

for(fir_coe_index1 = 0; fir_coe_index1 <= 63; fir_coe_index1 = fir_coe_index1 + 1)
fir_coe[fir_coe_index1] <= 0;

仿真时,Isim有时候卡死,有时候显示为出错,仿真结束,最后将变量定义部分改成

reg [7:0]fir_coe_index1;

这样整个仿真就可以正确运行了。分析原因应该是当fir_coe_index1位宽为6时,取值范围为0~63,for循环中的条件fir_coe_index1 <= 63一直满足,导致展开时出现错误。

你可能感兴趣的:(verilog)