FPGA|Modelsim 一个错误记录( # ** Error: (vsim-3601) Iteration limit reached at time 29605 ns.)

# ** Error: (vsim-3601) Iteration limit reached at time 29605 ns.
表示: 在运行的过程中,有一个迭代的次数超过限制了。
网上有说: Simulate -> Runtime OptionIteration Limit 改大,这个值默认是 5000, 一般 5000 还有问题,那就是别的问题了。例如:
always @ (*)
a = ~a;
这个进程,模拟多少次都会出错,所以 5000 次更会出错, 因为这里存在回路,在组合电路中出现回路,如果不是做什么锁存器啊,寄存器什么的,肯定有问题;
解决方法:
观察出现问题的时刻,信号的变化,理论上讲: 所在在那一时刻变化的信号都有嫌疑。
【FPGA|Modelsim 一个错误记录( # ** Error: (vsim-3601) Iteration limit reached at time 29605 ns.)】不过一般可以根据自己写的逻辑,按个是先变,那个应该后变化, 从最先变化的那个查起,把回路查出来就 OK 了; 可以先屏蔽某个信号,来看错误是否还出现,有的话,说明这个信号时这个回路的一部分,没有则排除~~~

    推荐阅读