ModelSim中添加Xilinx仿真库
ISE13.1调用Modelsim10.0出现的一点小问题及解决过程

addwave*
viewstructureviFra bibliotekwsignals
run55000275.000000ns
第一步执行vlibwork的时候就报错了。于是打开Modelsim,在命令窗口
输入cd命令切换到工程文件夹,然后输入vlibwork,则work建好了;退出
Modelsim,在ISE中重新调用Modelsim仿真,又出现了Error:(vsim-19)
Failedtoaccesslibrary'pn_behavioral'atpn_behavioral.这样的错误。
如法炮制,输入vlibpn_behavioral,退出Modelsim,在ISE中重新调用
Modelsim仿真,这回不抱错了,可是波形窗口什幺都没有。
狠狠心把pn_behavioral.do文件里面剩下的内容全复制到Modelsim命令窗
了SystemGenerator生成的pn_behavioral.do仿真脚本。用记事本打开
pn_behavioral.do,看到如下内容:
--Ifyouseeerrormessagesconcerningmissinglibrariesfor
--XilinxCoreLib,unisims,orsimprims,youmaynothaveset
--upyourModelSimenvironmentcorrectly.SeetheXilinx
--SupportWebsiteforinstrucTIonstellinghowtocompile
--theselibraries.
vlibwork
vlogD:/Xilinx/13.1/ISE_DS/ISE/verilog/src/glbl.v
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直接仿真IP(FIFO)

使用 modelsim直接仿真 I仿真,就不用建立工程了,直接建立个简单的库 1.改变当前modelsim的工作路径到quartus工程的根目录下 2.新建库 3.添加必要的文件 这里第一个框,要选好自己需要的库,不要加错了 依次添加主要的vhdl文件,testbench文件,IP生成的vhd文件,如果自己使用的是altera-modelsim,那么就不需要添加相关的库文件,设置 后面说 这里添加了这3个文件 4.仿真时库的设置 start simulation 选择好testbench文件,和时间分度 在libraries这里,添加如下库文件 添加完毕,OK开始仿真,添加信号,观看波形,没有问题,这里就没有出现上篇文章中奇怪的问题了 over!
利用do文件启动modelsim仿真vivado器件库

河北科技大学卫星导航技术研究中心利用do文件启动modelsim仿真vivado器件库版本:V1.0作者:袁宏拓日期:2020-2-18利用modelsim仿真第三方器件库,首先是要生成第三方库(带IP核),然后把第三方库加到modelsim的library中,仿真和编译时就能调用了。
所以这里分成几个步骤说一下:1.利用vivado编译并生成一个可调用库进入vivado软件Tools-Compile Simulation Library选项卡出现如下界面,选择modelsim,设置好仿真库的路径和modelsim路径,其它选择All,IP核部分打勾,这样编译出来的就是最基本最全的vivado库了。
2.将vivado库添加到modelsim中这个方法我觉得应该不止一种,但是我只用一种方法做成功了,所以我说的是我做成功的方法。
先在vivado中关联modelsim,然后vivado会自动把刚才的库添加到modelsim中,并且完成库的映射(否则要一个个映射好半天)。
出现下图界面就代表第三方库已经存在modelsim中了。
注意右侧路径显示/modelsism/vivadolib,证明这里的库就是vivado编译出来的库。
值得注意的一点是,如下图所示:以blk_mem_gen_v8_4_3库为例,库的所在路径,是vivado编译出来的地址,vivadolib,但是内部文件的路径却是Xilinx下的路径(这个路径是vivado安装时就有的),也就是说,这个库的皮儿在vivadolib下,瓤还在Xilinx下。
这里只是相当于建立了一个独立的包含modelsim.ini启动文件的库,然后库的内容是用物理地址映射的方式映射到Xilinx下。
总结1 :总的来说这不是最完美的方法,因为没有脱离开Xilinx的物理路径,但是这个比较省事,本来一堆库的映射,用vivado点几下命令就帮你做了。
总结2 :就目前我能想到的方法,用vivado建vivadolib库,然后将Xilinx下的库文件都拷贝走,单独包装在一起,然后手动在modelsim映射库(或者do文件操作)。
关于linux下modelsim的安装和编译库

关于linux下modelsim的安装和编译库linux下Modelsim 6.5b SE 的安装by:小哈2010-4-11。
环境linux:Ubuntu 9。
04 desktop 2.6.28-11-genericModesim:6。
5B SE2。
安装官网FTP上下载四个文件install.linux,modelsim-base.mis,modesim-docs.mos,modelsim-linux.mis 。
本地保存的文件后面加了一个后缀:“;type=i”,手动去掉它。
然后改“.mis”为“.tar.gz”这样,便可在linux下解压缩,将它们解压到(同一个)目录下,然后运行install.linux安装。
3。
破解如果电脑有双系统,则比较简单:将windows 上的license.txt拷到¥@#%/modeltech 目录下即可。
若没有windows:则一定要把所使用的生成机器的mac改成自己机器的mac再用生成器生成。
否则modselsim 不可用。
4。
环境变量在home下的.bashrc中添加export LM_LICENSE_FILE=/YourInstallPath/YourLicenseFileName,然后source .bashrc(??)注意,除export 后面之外,一律无空格等无效字符!以上设置的是临时的环境变量(shell变量),全局环境变量的需要使用:source .bashrc(不知具体怎么用),采用另一种办法,??添加vsim命令路径到环境变量PATH:export PATH=”/usr/local/modelsim/modeltech/linux/”5。
编译ISE的库首先编译unisim库(如果是verilog语言为unisims_ver),这个库对应原理图功能仿真和行为级仿真。
先用cd命令,或菜单中的change directory命令来设置你想要存放库的文件夹。
ISE与Modelsim联合仿真

ISE与Modelsim联合仿真软件版本:ISE 9.2i 、Modelsim 6.5se1、在ISE中添加Modelsim的路径:Edit→Preference→ISE general→Integrated tools,如下图所示:在Model Tech Simulator中填入你的modelsim应用程序的路径。
2、在modelsim中编译ISE的库[参考1]:①将Modelsim根目录下的modelsim.in i的属性由只读改为可写。
②新建一个文件夹,比如library(为叙述方便,把它放在modelsim的根目录下)。
如:D:/modelsim/library③启动Modelsim,选择[File]/[chang Directory],选择D:/modelsim/library选择[File]/[New]/[library]命令,弹出[Creat a New library],在[lihrary Name]中输入“simprims_ver”,同时下一栏也自动输入“simprims_ver”,单击OK。
在主窗口中选择[compile]/[Compile]命令,弹出[compile Source Files],在[Library]的下拉列表中选择“simprims_ver”在[查找范围]中选中[Xilinx/veriog/src/simprims]目录下的全部文件,单击complie进行编译。
(这时可能会花你一些时间,耐心等待编译完毕)用同样的方法将unisims和Xilinxcorelib三个仿真库进行编译。
④打开modelsim.ini可以看到多[library]下多了一个simprims_ver,将它改成:simprims_ver = $MODEL_TECH/../library/simprims_ver (或者你自己设置的路径)Done!这样我们就可以把modelsim做为ISE的仿真器了!3、在ISE中调用Modelsim进行仿真:这里只讲述在ISE中创建了源程序和测试程序后并且均通过了Synthesize-XST、Implement Design 等相关选项,以及设定了User Constraints后的调用过程。
Modelsim详细使用教程
Modelsim详细使用教程一、打开Medelsim双击桌面快捷方式,出现下图所示界面,如果上一次使用ModelSim建立过工程,这时候会自动打开上一次所建立的工程;二、建立工作库点击File->New->Library,输入Library Name,点击OK,就能看见新建的库。
三、建立工程点击File->New->Project,输入Project Name,在Project Location 中输入工程保存的路径,建议在Library所在文件夹中。
在Default Library Name 中为我们的设计编译到哪一个库中。
点击OK会出现下图所示的界面。
四、为工程添加文件Create New File 为工程添加新建的文件;Add Existing File为工程添加已经存在的文件;Create Simulation为工程添加仿真;Create New Folder为工程添加新的目录。
这里我们点击Create New File,来写仿真代码。
输入File Name,再输入文件类型为Verilog (默认为VHDL,Modelsim也可以仿真System Verilog代码),Top Level表示文件在刚才所设定的工程路径下。
点击OK,并点击Close关闭Add items to the Project窗口。
这时候在Workspace窗口中出现了Project选项卡,里面有8_11.v,其状态栏有一个问号,表示未编译,双击该文件,这时候出现8_11.v的编辑窗口,可以输入我们的Verilog代码。
五、编写Verilog代码写完代码后,不能马上就编译,要先File->Save保存,否则,编译无效。
然后选择Compile->Compile All。
Transcript脚本窗口出现一行绿色字体Compile of 8_11.v was successful. 说明文件编译成功,并且该文件的状态栏显示绿色的对号。
Modelsim-仿真方法总结
Modelsim 仿真方法总结Modeling 仿真工具是Model公司开发的。
它支持Verilog、VHDL以及他们的混合仿真.Modelsim各版本的使用方法大体一致,Modelsim仿真主要分为前仿真和后仿真。
下面来具体介绍modelsim的仿真方法,涉及quartus—modelsim联合(使用)仿真的差异会特别提示。
前仿真与后仿真说明1。
1 前仿真前仿真也称为功能仿真、行为仿真.旨在验证电路的功能是否符合设计要求,其特点是不考虑延迟(包括门延迟与线延迟),主要验证电路与理想情况是否一致。
前仿真需要用到RTL级代码(由源代码经过综合后产生)与Testbench。
1。
2)后仿真后仿真也称为时序仿真或者布局布线仿真。
是指在电路已经映射到特定的工艺环境以后,综合考虑门延迟与线延迟的影响,验证电路在一定的时序条件下是否存在时序违规以及能否满足设计构想的过程。
需要用到的文件是——从布局布线结果中抽象出来的门级网表、testbench和后缀名为sdo或者sdf的标准时延文件。
注:扩展名为sdo和sdf的标准时延文件包含门延迟与实际布线延迟,能较好的反应芯片的实际工作情况。
二)modelsim仿真主要有以下几个步骤:(1)建立库并映射库到物理目录;(2)编译源代码(包括Testbench);(3)执行仿真;解释:①库:modelsim中有两类仿真库.一种是工作库,默认名为work;另一种是资源库。
Work库中存放当前工程下所有已经编译过的文件,所以编译前一定要建立一个work 库.资源库存放work库中已经编译文件所要调用的资源,这样的资源可能有很多,它们被存放在不同的资源库内。
(例如要想对综合在cyclone芯片中的设计做后仿真,就需要有一个名为cyclone_ver的资源库.)映射库用于将已经预编译好的文件所在目录映射为一个modelsim可识别的库。
(此即是为仿真库建立一个逻辑映像的行为过程,后面会提到,在modelsim中新建库时,create a new library and a logical mapping to it或a map to an existing libraryd的提示) 上述三个步骤是大的框架,前仿真和后仿真均是按照这个框架进行的,建立modelsim工程对前后仿真来说都不是必须的.下面分别介绍每一步的操作。
altera添加仿真库
自从接触FPGA,Modelsim一直以来都是好帮手,咱以前主要是做算法实现的,因此仿真是少不了的。
咱比较懒,一直以来用的都是Altera(AE)或者Xilinx(X E)专用版,里面的库都帮你加完了,无需手动加入,但是这两个版本的Modelsi m有一个弊端:工程中如果同时有Verilog和VHDL,它就瘫痪了。
因此使用专业版(SE)还是很有必要的。
学了Tcl之后,发现Modelsim中支持很多Tcl指令,包括库的建立、映射、编译等,这样就能自动添加所有库,而无需手动操作,正所谓“磨刀不误砍材功”。
下面介绍几个Modelsim中关于添加库的Tcl指令:vlib:新建库用法:vlib<library_name>vmap:映射库,将逻辑库名映射到对应库的实际路径用法:vmap<logical_library_name> <library_directory>vlog:编译库,将Verilog或SystemVerilog代码编译到对应库用法:vlog–work <library_name> <Verilog or SystemVerilog sourc e>vcom:编译库,将VHDL代码编译到对应库用法:vcom–work <library_name> -2002 –explicit <VHDL source> 由上述Tcl指令可以发现编译Verilog和VHDL的指令有所区别,因此需要分别加入Verilog和VHDL的库。
此处主要对添加Altera库进行说明,在Quart usII安装目录(../altera/11.0/quartus/eda/sim_lib)下包含所有仿真所需的库文件,编译的时候只需要将工作目录指向QuartusII的路径即可。
如需添加cyclone器件的verilog库如以下代码所示:vlib cyclone_vervmap cyclone_ver cyclone_vervlog-work cyclone_ver $path_to_quartus/eda/sim_lib/cyclone_atoms.v 如需添加cyclone器件的VHDL库如以下代码所示:vlib cyclonevmap cyclone cyclonevcom-work cyclone -2002 –explicit $path_to_quartus/eda/sim_lib/cyc lone_atoms.vhdvcom-work cyclone -2002 –explicit $path_to_quartus/eda/sim_lib/cyc lone_components.vhd在Altera官网上可以下载添加Altera库的Tcl脚本,结果发现是针对QuartusII 7.1版本的,现在都11.0了,里面有很多器件都没添加,因此咱修改了一下,将所有器件都添加进去,verilog-library-setup-11.tcl,vhdl-library-setup-11.tcl library_setup_11.zip这两个文件分别是针对添加verilog库和vhdl库的Tcl脚本,对应QuartusII 11.0版本,如果安装的Quartus II不是11.0,只需在文件中将第一条语句中路径修改一下,修改如下:11.0版本:set path_to_quartus d:/altera/11.0/quartu s修改成其它版本:set path_to_quartus d:/altera/其它版本号/quartus添加Altera库可分为一下几步:(1)确认安装的Modelsim是SE版本的,咱安装的是6.6b,然后在安装目录下新建名为altera的文件夹,将verilog-library-setup-11.tcl,vhdl-lib rary-setup-11.tcl两个文件拷贝到文件夹中。
modelsim系统函数总结(范本)
modelsim系统函数总结models im系统函数总结篇一:md elsim仿真小结Mdelsim仿真小结 Mdelsim的基本仿真流程大致分以下几个步骤:建库、编译工程、前后仿真、调试等。
Mde lsim仿真既可以在mdelsim界面操作,也可以用d文件实现,这里结合学习的教程、网上看到的资料,和实际遇到的一些问题,分别做一整理小结。
1. 建库建库包括Alter a库和Xilinx库,同时都包括Veri lg和VHDL。
这里只建了Verilg库,VHDL和Veri lg步骤相同。
对于Altera 库主要包括lpm元件库、Me ga_Functin库atera_mf、altera原语库a ltera_prim itive和各器件系列模型库。
前三种是调用altera模块的必备库,第四种是进行综合后功能仿真和布线后时序仿真需要的库,和器件系列有关,只选对应系列即可。
Al tera库创建和编译步骤如下:a) 在Mdelsi m安装目录下新建文件夹,命名altera_lib,以存放编译后的库文件,可以在altera_lib下新建Verilg和VHDL两个子文件夹,分别存放Veril g和VHDL库。
b) 打开Mdelsi m,新建Librar y,file - n e- library .. c) 如下图,创建lpm库,路径E:\mdeltec h_10.1a\altera_l ib\Verilg\lpm d) 添加库文件,并编译,pil e - pile …,出现pile s urce files窗口,library指定到lpm下,查找范围,选quart us安装目录下…e da\sim_lib目录里的仿真原型文件:220md el.v ,点pi le ,点dne。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在ModelSim中添加Xilinx仿真库
说明:
ModelSim一定要安装在不带空格的目录下,即不要安装在“Program Files”目录下。
如作者是安装在D:\softwares\Modelsim目录下。
ISE软件也最好安装在不带空格的目录下。
1、找到开始菜单->程序->Xilinx ISE Design Suite 11 -> ISE -> Accessories -> Simulation
Library Compilation Wizard.
2、选定ModelSim的版本,以及指定ModelSim的安装路径。
3、选择Both VHDL and Verilog。
4、选择支持哪些系列的芯片,看自己需要增减。
5、默认选全上即可。
6、指定编译完后的库存放位置,这里作者在modelsim安装目录下新建了xilinx_lib的文件
夹,并指定到这里。(注意不要指向带空格的路径)
7、运行 Lauch Compile Process,即开始编译库文件,需要几十分钟。编译完成后应该在
xilinx_lib目录下多出如下文件夹:
8、右键打开modelsim目录下的modelsim.ini文件,先将其“只读”属性去掉。然后用记事
本打开。在[Library]下面添加如下代码,即之前编译好的Xilinx库的路径。
unimacro = D:/softwares/modelsim/xilinx_lib/unimacro
unimacro_ver = D:/softwares/modelsim/xilinx_lib/unimacro_ver
unisim = D:/softwares/modelsim/xilinx_lib/unisim
unisims_ver = D:/softwares/modelsim/xilinx_lib/unisims_ver
secureip = D:\softwares\modelsim\xilinx_lib/secureip
xilinxcorelib = D:/softwares/modelsim/xilinx_lib/xilinxcorelib
xilinxcorelib_ver = D:/softwares/modelsim/xilinx_lib/xilinxcorelib_ver
simprim = D:/softwares/modelsim/xilinx_lib/simprim
simprims_ver = D:/softwares/modelsim/xilinx_lib/simprims_ver
9、再次打开ModelSim,即可以看到Xilinx的库已经默认出现在了库列表里。以后仿真Xilinx
的IP核时,就不用每次都添加库了。
By Craftor
craftor#126.com