近段时间比较忙,尝试着将工作中碰到的问题记录下来,也许它在某一天它会变成一笔财富了?不管怎么说,尝试记录工作的点滴都是一个不错的点子,呵呵。夸奖一下我自己!
在用modelsim 6.0 se作仿真的时候碰到一个错误,在xilinx的数据库里面发现原因如下:
Problem Description:
Keywords: ModelSim, MXE, MTI, error, VSIM, 3601, iteration, limit, reached
Urgency: Standard
General Description:
When I run a simulation, the following error occurs:
"# ** Error: (vsim-3601) Iteration limit reached at time 0 ps."
Solution 1:
This error usually indicates that ModelSim is stuck in an infinite loop. In VHDL, this can happen when a signal is placed in the sensitivity list and this signal is changed in the process. The signal changes, triggering the process, which changes the signal, which again triggers the process and the cycle continues.
The following is a simple example of a process that causes an infinite loop:
PROCESS (count)
BEGIN
count <= not count;
END PROCESS;
编译仿真库到现在其实我也搞不太明白,主要是编译的方法太多,ISE与ModelSim的版本也多,各种版本之间的编译可以互相通过,也末必吧。
不过用ISE7.1i与ModelSim 6.0 SE版本编译是没有问题的,我是使用命令让其全部编译的。
命令是:compxlib -s mti_se -arch all -l all -dir C:\Modeltech_6.0\
然后把生成在compxlib 目录下的modelSim.ini文件中的
UNISIMS_VER = C:\Modeltech_6.0\unisims_ver
UNI9000_VER = C:\Modeltech_6.0\uni9000_ver
SIMPRIMS_VER = C:\Modeltech_6.0\simprims_ver
XILINXCORELIB_VER = C:\Modeltech_6.0\XilinxCoreLib_ver
AIM_VER = C:\Modeltech_6.0\abel_ver\aim_ver
CPLD_VER = C:\Modeltech_6.0\cpld_ver
UNISIM = C:\Modeltech_6.0\unisim
SIMPRIM = C:\Modeltech_6.0\simprim
XILINXCORELIB = C:\Modeltech_6.0\XilinxCoreLib
AIM = C:\Modeltech_6.0\abel\aim
PLS = C:\Modeltech_6.0\abel\pls
CPLD = C:\Modeltech_6.0\cpld
拷贝到Modeltech_6.0目录下的modelSim.ini文件中。