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

# ** Error: (vsim-3601) Iteration limit reached at time 29605 ns.

表示: 在运行的过程中,有一个迭代的次数超过限制了。

网上有说: Simulate -> Runtime Option  Iteration Limit 改大,这个值默认是 5000, 一般 5000 还有问题,那就是别的问题了。例如:

always @ (*)

    a = ~a;

这个进程,模拟多少次都会出错,所以 5000 次更会出错, 因为这里存在回路,在组合电路中出现回路,如果不是做什么锁存器啊,寄存器什么的,肯定有问题;

解决方法:

   观察出现问题的时刻,信号的变化,理论上讲: 所在在那一时刻变化的信号都有嫌疑。

  不过一般可以根据自己写的逻辑,按个是先变,那个应该后变化, 从最先变化的那个查起,把回路查出来就 OK 了; 可以先屏蔽某个信号,来看错误是否还出现,有的话,说明这个信号时这个回路的一部分,没有则排除~~~

你可能感兴趣的:(FPGA,学习,360)