MODELSIM使用常见问题及解决办法

  • 格式:pdf
  • 大小:139.73 KB
  • 文档页数:2

Modelsim使用常见问题及解决办法
在ISE启动modelsim时遇到问题
1。

我在ISE中启动modelsim时出现了下面的错误
Loading work.tb_ic1_func
#**Error:(vsim-19)Failed to access library'xilinxcorelib_ver'at "xilinxcorelib_ver".
#No such file or directory.(errno=ENOENT)
#**Error:(vsim-19)Failed to access library'unisims_ver'at"unisims_ver". #No such file or directory.(errno=ENOENT)
#Loading work.fifoctlr_ic_v2
#**Error:(vsim-19)Failed to access library'xilinxcorelib_ver'at "xilinxcorelib_ver".
#No such file or directory.(errno=ENOENT)
#**Error:(vsim-19)Failed to access library'unisims_ver'at"unisims_ver". #No such file or directory.(errno=ENOENT)
#**Error:(vsim-3033)fifoctlr_ic_v2.v(126):Instantiation of'BUFGP'failed. The design unit was not found.
是什么原因?
“点到仿真模式,在source里面选中你建立工程选择的芯片,然后看Processes,点开,有个compile HDL simulation library,运行一下就OK了”
2.ISE用modelsim仿真提示:#**Error:(vish-4014)No objects found matching'*'.结果仿真时老是报错:
#**Error:(vish-4014)No objects found matching'*'.
#Error in macro./test_top_tb.fdo line10
#(vish-4014)No objects found matching'*'.
#while executing
#"add wave*"
解决办法,改modelsim.ini文件中的一个参数:VoptFlow=0
#**Error:(vish-4014)No objects found matching'XXXX'.
在之前的设计里有一个信号XX,并且保持在wave.do文件里
现在这个信号在你的设计你被去掉了,modelsim仍然调用旧的wave.do,找不到对应的信号XX,
就报错误这个错误可以忽略
3.当对IP核修改后,用Modelsim仿真显示:No entity is bound for inst或CE is not in the entity。

(CE是改动后添加的一个管脚),从而仿真无结果。

解决办法:首先选中该IP核的.xco文件点击右键->属性将属性改为"Synthesis/Imp+ Simulation."
然后将其对应的.v或.vhd文件的属性也改为"Synthesis/Imp+Simulation."
4.启动modelsim后,没有出错,但是有warning:(vsim-3009)[TSCALE]-Module 'ODDR'does not have a`timescale directive in effect,but previous modules do.输入信号均正确,调用的IP core或原语的输出为高阻态。

解决办法:modelsim中调用该IP core或原语的库不匹配,在xilinx中找到其所在的库unisims,并重新编译至modelsim的UNISIMS_VER库中。

问题可得到解决。

Q1:设计中用到厂商提供的IP时,编译时出现“(vopt-3473)Component instance"XXXX"is not bound.”A1:编译时,需要把所需的Libray添加到编译命令中,如“vsim-L C:/Modeltech_6.2b/xilinx_lib/XilinxCor eLib......”。

Q2:vhdl和verilog混合仿真时,vhdl和verilog代码中会调用同一个组件,但是他们分别来自不同的librar y,如unisim和unisim_ver,它们相互并不通用,及verilog不能调用unisim_ver的组件,会造成组件找到却没办法绑定的错误,如:“Port'Q'not found in the connected module”?
A2:当仿真时,由于vhdl代码中会指定从那个库文件里面提取,而verilog代码中没有,所以使用vsim命令时,把verilog所需的库放在第一个,而后放vhdl所需的库,这样,verilog会从unisim_ver代码开始查询组件。

Q3:"ERROR:../<project>/<module.v>:Unresolved reference to'glbl'in'glbl.GSR'"
A3:在仿真工程中添加glbl.v文件(一般在~/ise/verilog/src/glbl.v,同理Quartus),把testbench.v和glbl.v 同时选中后进行仿真,即vsim-t1ps-L unisims_ver work.glbl work.tb。