modelsim 仿真时出现无限迭代(iteration reach limitation)的原因及其解决办法

modelsim 仿真时出现无限迭代(iteration reach limitation)

 

出现这种故障的原因:  一般都是代码里出现的组合逻辑无限循环或者组合逻辑A产生signal_A,signal_A又通过组合逻辑产生signal_B,signal_B又通过组合逻辑产生signal_C,signal_C又通过组合逻辑产生signal_A(这样就形成了组合逻辑的无限循环),就会导致这个故障出现。类似:

always(*) 

begin

signal_A=~signal_A;

end

 

出现这种故障的定位及解决办法:   在modelsim提示Error的时刻,查看相关的信号波形,关注在这一时刻跳变的各个信号,问题就出现在当前时刻跳变的信号上。然后锁定相关信号后,再回到代码中查看代码debug!

so easy! ohyeah!!

posted @ 2015-11-21 09:22  hfyfpga  阅读(1953)  评论(0编辑  收藏  举报