荐)ModelSim SE仿真Altera库的一些问题 常见仿真错误 问题 合集
有关modelsim的问题汇总

问题一:编译xilinx仿真库在网上搜了无数帖子,结合自己数小时的实践,终于搞定了Xilinx仿真库。
测试环境:Windows XP3,Xilinx ISE Suite 10.1,ModelSim SE 6.5c使用ISE自带的库生成工具是最方便的方法。
首先打开ISE,在Edit->Preferences...->ISE General 的Intergrated Tools 的Model Tech Simulator中指定Modelsim.exe的实际安装路径。
(在这里我的路径是D:\Work\modeltech_6.5c\win32\modelsim.exe,请根据自己的实际情况更改)。
OK以后退出ISE。
然后到ModelSim安装目录下找到ModelSim.ini文件,右键将其只读属性去掉,确定。
按下WIN+R,输入compxlibgui后回车,这其实就是自带的工具Simulation Library Compilation Wizard。
点击Select simulator,选中ModelSim。
检查路径正确了以后选Next。
再Next,建议再Next,或者根据自己的实际需要选择FPGA/CPLD的具体型号。
继续Next,在Map only to existing pre-compiled libraries前打上勾,在Output Directory for modelsim.ini file using mapped libraries中选择modelsim安装根目录modelsim.ini所在的路径,这一步很重要。
再点击Next就开始编译了。
最后把ModelSim.ini文件的只读属性改回去,万事OK……问题二:Hello all,Whenever I need to look at a filter output (or any DSP core), I used to define a real signal and assign it to what I want to examine, roughly something like this:dac_real_out <= hex2real(dac_holder, 12.0);where dac_holder is a std_logic_vector. It is much easier to look at an analogue signal waveform instead of tracing hex values word by word.This used to work quite alright using ModelSim XE edition. Now for some reason, it seems I can't get it to compile my design---I get the following error:# ** Error: (vcom-42) Unsupported ModelSim library format for "work". (Format: 3)My first question is: can I go around it as I've never encountered this before.My second one is: if not, is there anyway I can make ISE simulator do the same thing? apparently I can't add this real signal to my waveform editor and presumably ISE doesn't support it.Would appreciate any input on this.Manny wrote:> This used to work quite alright using ModelSim XE edition. Now for > some reason, it seems I can't get it to compile my design---I get the > following error:> # ** Error: (vcom-42) Unsupported ModelSim library format for "work". > (Format: 3)You can't *elaborate* (vsim) your design becausethe compiled work directory does not match the simulatoryou are using. Delete it and recompile (vcom)For modelsim, that is something like:vdel -allvlib workvmap work workvcom <source files>I like to write script like thisto archive with the design.> is there anyway I can make ISE simulator do> the same thing? apparently I can't add this real signal to my waveform > editor and presumably ISE doesn't support it.I expect that is true.You are better off with a real hdl simulator in any case.问题3:使用verilog进行描述,经过编译之后,在仿真过程中发现object中无项目,最终无波形输出。
用ModelSimSE进行功能仿真和时序仿真的方法(ALTERA篇)

用ModelSimSE进行 功能仿真和时序仿真的方法 (ALTERA篇)黄俊April 2007用ModelSim SE进行功能仿真和时序仿真的方法 (ALTERA篇)软件准备(1) QuartusII,本文截图是QuartusII 6.1界面的。
我个人认为,如果是开发StratixII或CycloneII或MAXII,用QuartusII6.0+SP1+SP2比较稳定。
(2) ModelSim SE. ALTERA仿真库要已经装好,安装仿真库的笔记已记录于《在ModelSimSE中添加ALTERA仿真库的详细步骤》中。
我电脑上装的是ModelSim SE6.1b。
例子程序的制作先在Quartus II里生成一个例子程序,以方便介绍三种仿真的方法。
步骤如下:1、新建一个工程(Project),工程名取lpm_shift, 器件选CycloneII EP2C5Q208C, 第三方的工具暂时都不选。
2、菜单栏上ToolsÆMegaWizard Plug-In Manager, 点Next,在storage中选LPM_SHIFTREG,输出文件格式根据习惯选一种语言,在这里以Verilog的为例,在右边的output file名字中加上lpm_shift。
点Next。
3、这个例子是做一个移位寄存器,调用lpm库,和cycloneII元件库,也正好可以作为对前面建好的ALTERA库的一个验证。
点可以查到该模块的使用说明和详细介绍。
移位寄存器比较简单,就不用细看了。
如下图设置.点Next.4、加上一个异步清零端,点Next,再点Next,最后点Finish.Add/Remove Files in Project…,6、点图标,选中生成的lpm_shift,点打开再点Add都加到项目中去。
7、在这里直接把lpm_shift.v当成顶层文件,就不需要再例化它了。
8、下面写一个简单的TestBench.a)Quartus II工具栏上点图标,选Verilog HDL;b)点,设文件名为top_tb;c)如下所述写一个简单的TestBench.(例子见附件)开始仿真z ModelSim仿真有很多种流程,下面我采用个人感觉比较好一个流程进行仿真验证:基于工程(Project)的流程Step1 新建一个工程Step2 添加文件到工程中去Step3 编译设计文件Step4 启动仿真器,指定顶层设计单元Step5 查看和调试结果z对的设计有三个阶段的仿真。
Modelsim常见问题

Modelsim 常见问题
Q1:设计中用到厂商提供的IP时,编译时出现“(vopt-3473) Component instance "XXXX" is not bound.”
A1:编译时,需要把所需的Libray添加到编译命令中,如“vsim -L C:/Modeltech_6.2b/xilinx_lib/XilinxCoreLib ......”。
Q2:vhdl和verilog混合仿真时,vhdl和verilog代码中会调用同一个组件,但是他们分别来自不同的library,如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 -t 1ps -L unisims_ver work.glbl work.tb。
Modelsim SE 进行时序仿真及altera库的添加

4.编译库
在主菜单中选【compile】→【compile】命令,对altera_primitives.v进行编译。
VHDL文件编译有所不同,LPM库的220model.vhd和220pack.vhd可以同时编译,MegaFunction库的先编译altera_mf_components.vhd文件,后编译altera_mf.vhd文件,Primitiv库先编译altera_primitive_components.vhd文件,后编译altera_primitive.vhd文件,元件库,如cyclone II库先编译cycloneii_atoms.vhd文件,后编译cycloneii_components.vhd文件,如果是其他系列的元件库则只要把对应的cycloneii改成其他系列的名称即可,如cyclone库则文件改为cyclone_atoms.vhd、cyclone_components.vhd或cyclone_atoms.v。
网上的很多教程都是把这些文件一起编译,这样适用于Verilog和VHDL混合仿真,但如果只用一种语言,如Verilog则完全没必要全部编译。这几个文件可分为Verilog组:220model.v、altera_mf.v、altera_primitives.v、cycloneii_atoms.v和VHDL组:220model.vhd、220pack.vhd、altera_mf.vhd、altera_mf_components.vhd,altera_primitives.vhd,altera_primitives_components.vhd,cycloneii_atoms.vhd,cycloneii_components.vhd。
在Modelsim中加入altera的仿真库

虽然这是个老话题了,但总会有刚入门的朋友不知道的。我在这里还是讲讲吧!问什么要这样做?
1、Quartus不支持Testbench
2、调用了megafunction或者lpm库之类的Altera的函数
3、时序仿真要在Modelsim下做仿真,
总会遇到上面这几个问题,因为需要在Modelsim中加入Quartus的仿真库。 Altera公司推荐的具体的做法是: 1、在Modelsim中,File->Change Directory,将工作目录改变到想要存放仿真库的地方,然后点击OK。将来产生的一大堆仿真库要用的文件就存放在这里。 2、Design->Create a New Library,建立一个新的库:Altera,点击OK。 3、Compile ..quartusedasim_lib下面的两个文件,220model.v和altera_mf.v,记得编译的时候上面的library一定是Altera。这样三步以后,就完成了在Modelsim中添加Altera的库!实际中,这样做不方便。我是这样做的。把220model.v和altera_mf.v拷贝到你要编译的文件所在的文件夹里。先编译这两个文件,等于是把Altera的器件加到了work这个library里。然后再在library下编译你要用的文件就可以了。这样方便些。
4 start compilation... ARTUS中调用Modelsim,verilog下,步骤如下,并作一说明。
1 将modelsim启动路径(如:c:modelsimmodeltechwin32;)加入到环境变量path中。
2 在quartus中建立project,并产生所用的testbench
使用Modelsim完成相关仿真过程问题汇总

使用Modelsim仿真Altera FPGA工程(包括IP核)步骤以及问题汇总前提:计算机上已经安装QuartusII和Modelsim通用版,并且均已破解。
环境说明:所用的软件版本,QuartusII为9.0,Modelsim为6.5c。
本测试仅在WIN XP SP3上测试,对于VISTA/WIN7/LIN或者其他平台没做过测试。
但其他平台或者其他版本的过程应该都差不多。
其他:感谢teamo版主的破解和编译教程,以及后期对我的热心指导。
如果各位对整个步骤还有什么问题的华可以直接和我联系,我的论坛ID是lanphon,邮箱是lanphon@。
一、Altera库的编译(本部分基本上全部抄袭teamo版主的教程,懒得写了)1) 先到C:\modeltech_6.5目录下找到文件"modelsim.ini",将其属性改为可写(右键‐>属性)。
2) 启动modelsim se,选择【file】‐>【new】‐>【library】命令,在弹出的【create a newlibrary】窗口中将选项【create】设置为【a new library and a logical mapping to it】,在【libryr name】和【library library】窗口中将选项【create】设置为【a new library and a logical mapping to it】,在【libryr name】和【library physical name】中键入所要创建库名字,如Altera ,此时在主窗口中已多了一个Altera 项。
注:这个过程实质上想当于在modelsim 主窗口中的脚本区域中输入了vlib和vmap命令。
3) 在workspace中的library中选中你健入的库名Altera,在主菜单中选【compile】→【compile…】命令。
modelsim仿真问题_xp

modelsim仿真问题_xp1、MODELSIM仿真提示already declared in this scope解决方法:在定义这个信号前其它模块接口信号中调用了这个信号,modelsim仿真报错,通过把信号定义挪到调用模块前面问题解决。
2、modelsim中,Instantiation of 'dffeas' failed. The design unit was not found.** Error: (vsim-3033) E:/pro/verilog_prj_example/simulation/modelsim/tb_sdrtest.v(2 4): Instantiation of 'print_task' failed. The design unit was not found.两种方法;报告3、Error: Can't compile duplicate declarations of entity "ram" into library "work"Error: Instance could be entity "ram" in file ram.v E rror: Instance could be entity "ram" in file ram.bdf解决办法:将.bdf文件的名字改掉,不能和.v文件的名字相同。
4、Quartus中仿真时出现no simulation input file assignment specify 对话框最好保证工程名、主模块、仿真文件的名字都一样。
5、9.17.2014下载波形文件仿真错误Error: Run Generate Functional Simulation Netlist (quartus_map yumen2_mk--generate_functional_sim_netlist) to generate functional simulation netlist for top level entity "yumen2_mk" before running the Simulator (quartus_sim)解决方法:原因是在功能仿真时候没有建立一个网表,网表的作用本人不是很清楚,只能说是功能仿真的一个必要步骤吧。
在modelsim se中编译altera仿真库

在Modelsim SE中编译Altera仿真库本文基于Modelsim 6.1 SE版本,详细讲述了如何在Modelsim SE中编译Altera的VHDL 仿真库的过程(Verilog仿真库与此类似)。
然后修改modelsim.ini文件,使得每次新建工程的时候不需要再重新编译Altera仿真库。
1.从主菜执行File→New→Library命令,如图1 新建库所示.图1 新建库2.执行完第一步后,弹出图2对话框。
选中a new library and a logical mapping to it,LibraryName填写altera_mf,Library Physical Name填写$MODEL_TECH\altera_lib\vhdl\altera_mf(注:建议编译后的VHDL库文件存放在Modelsim安装目录\altera_lib\vhdl的文件夹下,本文中的Modelsim安装目录为C 盘根目录)。
如图2 创建库所示。
3.点击OK,如下图所示。
图3. 创建库后的图示4.从主菜单执行Compile→Compile…命令,弹出一个对话框,点中Library下拉菜单,由work改为altera_mf,点中查找范围下拉菜单,指向Quartus II安装目录\quartus60\eda\sim_lib,选中altera_mf.vhd和altera_mf_components.vhd文件,然后点击Compile按钮。
图4 编译altera_mf.vhd和altera_mf_components.vhd文件5.编译结束后,点击Done按钮。
接下来建立库lpm,步骤与1~5类似。
6.从主菜执行File→New→Library命令,如图1 新建库所示.7.执行完上一步后,弹出图2对话框。
选中a new library and a logical mapping to it,LibraryName填写lpm,Library Physical Name填写$MODEL_TECH\altera_lib\vhdl\lpm(注:建议编译后的VHDL库文件存放在Modelsim安装目录\altera_lib\vhdl的文件夹下,本文中的Modelsim安装目录为C盘根目录)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
荐)ModelSim SE仿真Altera库的一些问题常见仿真错误问题合集1. modelsim怎么调用altera的库仿真啊?(megafunctions)以前有个帖子说把quartus安装目录下的sim文件夹里面的文件编译进modelsim里面就可以了,可是sim文件夹里面我要的那个函数不是.v文件啊,还有他里面的一些.vhd文件怎么编译错误啊?是eda/sim_lib里,编译错误,我想是你编译的顺序不对用EDA/SIM_LIB中文件直接放到PROJECT中,你需要看看它的告错信息。
一般是缺库。
你可以按提示缺的库,在FILE/NEW/LIBRARY菜单里创建一个映射到WORK的库。
这样一般就好了。
如何在modelsim里如altera的库中做后仿真啊,急死了我用synplify综合后,用modelsim做后仿真,我在modelsim里面加入了C:quartusedasim_libmodelsimvhdl里面的两个库,但是编译的时候还是提示我找不到library apex20k。
还要加什么库啊???郁闷死了vlib apex20kvmap apex20k apex20kvcom -work apex20k c:/quartus/eda/sim_lib/apex20k_atoms.vhdvcom -work apex20k c:/quartus/eda/sim_lib/apex20k_components.vhd谢谢i8086,我现在知道怎么加入altera的库了,但是错误依然在,不知道是什么原因,modelsim里面的提示如下:vcom -reportprogress 300 -work work {D:/caiyang/rev_1/caiyang_1.vhd}# Model Technology ModelSim SE vcom 5.7e Compiler 2003.07 Jul 8 2003# -- Loading package standard# ** Error: (vcom-19) Failed to access library 'acex2k' at "acex2k".# No such file or directory. (errno = ENOENT)# ** Error: D:/caiyang/rev_1/caiyang_1.vhd(7): Library acex2k not found.# -- Loading package std_logic_1164# -- Loading package numeric_std# -- Loading package components# ** Error: D:/caiyang/rev_1/caiyang_1.vhd(12): Unknown identifier: acex2k# ** Error: D:/caiyang/rev_1/caiyang_1.vhd(14): VHDL Compiler exitinglibrary ieee, acex2k;use ieee.std_logic_1164.all;use ieee.numeric_std.all;library synplify;use ponents.all;use acex2k.acex2k_components.all;~~~~~~~~~~~~~~~就是提示找不到这个东西,这是用synplify综合后的文件的前面几行代码。
除了把altera的apex20k库加上外,还要把acex2k对应的库加上,跟加apex20k库差不多。
不过我不知道acex2k对应的vhd文件。
就是不知道是哪个文件啊。
我选用的是cyclone的器件,好像synplify里面是用acex2k来表示的。
而且我把quartus里面cyclone_atoms.vhd和cyclone_components.vhd也加了的,都不起作用。
难道应该加synplify里面的库文件?我只在modelsim里面加了synplify的synplify.vhd这个文件,是不是不够?换成acex1k系列的都可以做后仿真2. 请哪位好心人给详细讲解一下如何在ModelSim中添加Quartus的库啊!到处都是讨论ModelSim和Xilinx的,怎么没人给讲解一下Quartus库文件使用的问题啊,难道没人用Altera的吗?哪位好心人给详细讲解一下如何在ModelSim中添加Quartus的库吧,我都郁闷了好几天了啊altera公司的仿真库都在quartus安装目录EDASIM_LIB下,以VHDL和VERILOG的形式存在。
你需要什么器件就往工程里加入什么器件的文件。
我用CYCLONE,就把CYCLONE_ATOMS.VHD加入工程。
编译时它会提示需要CYCLONE库。
就在MODELSIM中创建名叫CYCLONE的库,MAP到WORK库就可以了。
其实你会碰到类似的很多没有的库都可以这样产生。
我用来仿真VHDL写的工程,对于VERILOG的不清楚。
我也在问别人如何用MODELSIM进行混合编程的工程?对于这种工程我现在只能用ACTIVEHDL仿真。
3. 如何在modelsim中指定Altera的仿真库?我就是按照精华区那个帖子上说的把quartusedasim_libaltera_mf.v、lpm生成的afifo.v、testbench.v放在一起编译,照着做还是提示如下错误实在是搞不懂怎么回事?# Loading work.afifo_sim# ** Error: (vsim-3033) F:/Modeltech_5.7e/examples/work/afifo/afifo_testbench.v(46): Instantiation of 'Afifo' failed. The design unit was not found.# Region: /afifo_sim# Searched libraries:# work从Error上看应该是你的testbench中调用自己做的afifo出的问题,查查是不是管脚引用的不对或是名称写错了?应该不是大问题。
你的步骤没错4. [急请]在modelsim中如何导入Altera的lpm库呢?limingnefu 你好!我用你提供的资料编译ALTERA的CYLONE库时,编译cyclone_atoms.v可以没有错,而编译cyclone_atoms.vhd和cyclone_components.VHD时有错误,信息如下:# ** Error: (vcom-19) Failed to access library 'cyclone' at "cyclone".我把quartus II 输出的*.VO文件导入仿真时出现如下错误,请问如何解决?谢谢!Error: (vsim-3033) G:/work/LCD/testintmcu/simulation/modelsim/IntfMcu.vo(4799): Instantiation of 'cyclone_io' failed. The design unit was not found.# Region: /testbench/u0#Searched libraries:# work在Altera的网站上有对modelsim的补丁,你可以查一下你的版本号,然后下载对应的补丁!据我所知好像对vhdl和verilog的补丁是不一样的!这个好像还需要根据自己使用的是verilog 还是vhdl,步骤有一点调整。
之需要同类的库即可我用的是VERILOG,cyclone_atoms.v已经编译成功了,也看得见'cyclone_io' 已经编译并LOAD的信息,可是在加载我的设计项目时又不行了,请设置成功的朋友谈谈看法,谢谢!我主要是想仿真PLL,DPRAM,等LPM单元。
最后,我还没搞掂,只好把cyclone_atoms.v,220model.v,altera_mf.v,等文件作为源文件加到我的WORK里面,这样虽然在我的WORK中出现了很多单元名称,总之可以仿真了,这个办法比较笨,希望大家能帮解决我遇到的上面的问题,谢谢!!!5. modelsim6.0 中指定Altera的仿真库modelsim 6.0 中指定Altera的仿真库后(即编译220model.v,220model.vhd,220model_87.vhd220pack.vhd,altera_mf.v,altera_mf.vhd,altera_mf_87.vhd,altera_mf_components.vhd后),在编译时仍出现altera_mf,lpm两个库找不到的情况,那位大侠碰到过这个问题?我碰到的问题是不知道该如何编译仿真库,看了altera的AN204还是不知所云,向前辈指教6. 我想用modelsim做功能仿真,不知道怎样调用altera的lpm库?已经郁闷了几天了,就是在仿真时,提示:Component 'u8' is not bound.# Time: 0 ns Iteration: 0 Region: /ccd File: F:/work/modelsim/camera/ccd.vhd我用的是modelsim6.0和quartusII4.2;帮帮忙吧!你看看变量U8的赋值过程,很可能是你没有确定它的位宽。
我也碰到过这样的情形。
在某目录编译完modelsim库后,怎么使它对其他目录也可用?库编译好后,只能在这个目录下用,当把工程建在其他目录下时,库的编译又无效了,怎么使它对任意目录都是有效的?谢谢!vsim –L把你的modelsim.ini只读属性去掉,然后把你所有的project统统关掉,再设置库的路径怎么设置库的路径?能不能讲具体一点,跪谢!!!!手工编辑modelsim.ini文件,将路径指向正确目录即可。
谢谢各位大侠!我设置了库的路径unisim=$MODEL_TECH/../examples/unisimsimprim=$MODEL_TECH/../examples/simprimxilinxcorelib=$MODEL_TECH/../examples/XilinxCoreLib可是设置后只有xilinxcorelib是可见的,而unisim库还是不可用,为什么?有什么办法?问题解决,谢谢各位!!!!7. modelsim中编译altera仿真库请教各位大侠,在modelsim中编译altera的仿真库,总是有两个文件报错:220model.VHD和altera_mf.VHD:总提示两个文件里的FILE Declaring using 1076-1993 syntax Recompiling using -93 swith。