ISE和Modelsim联合仿真(转)

ISE和Modelsim联合仿真(转)

地址:http://www.cnblogs.com/feitian629/archive/2013/07/13/3188192.html

相信很多人会遇到过这个问题,不知如何让ISE调用Modelsim进行仿真。我也迷糊了不少时间,查查找找,终于弄明白了,所以有了本文,和大家分享一下。我尽量讲得详细点儿,多多上图。

我的环境:Windows 7 64位,Xilinx ISE Design Suite 13.4(D:\Xilinx\13.4),ModelsimSE-64 10.1a(D:\modeltech64_10.1a, 哈,也是64位的)。不过32位的和64位的设置几乎没有什么区别。先安装好ISE和Modelsim, 网上看过一些文章总说先装ISE再装Modelsim,不过我整过一阵,其实二者的顺序是无关紧要的。安装过程不在本文的讨论范围内,就不多说了,不过一定要注意版本要合适,Modelsim的版本不要太低,这个可以自己到网上查一查,还有非常重要的一点是安装路径不能有中文或空格。

由于我装的Modelsim SE是通用版的,只自带了少许的仿真库(Simulation Library),所以还要编译一下Xilinx的仿真库。只有XE才自带Xilinx的仿真库,如果装的是XE版便不必编译仿真库了。编译库可以用ISE带界面的工具,也可以用命令行下的,前者方便,先讲前者。打开编译库工具“Simulation Library Compilation Wizard”:“开始—所有程序—Xilinx ISE Design Suite 13.4(版本不同就不同)—ISE Design Tools—64-bit Tools(32位的选32-bit Tools)—Simulation Library Compilation Wizard”。注意,64位系统中默认安装了64位和32位的ISE,如果你想用32位的ISE,那你就得选32位的编译库工具,不能混着用的,而且Modelsim也得装上32位的版本,所以我建议64位系统的就用64位的ISE,而32位系统的没得选,只能用32位的。如图01-1(64位)和图01-2(32位)所示。

 图01-1

图01-2

打开工具之后,在“Select Simulator”下面选中你所装好的Modelsim版本,我这儿选“Modelsim SE”,在“Simulator Executable Location”下面填入Modelsim.exe的所在的文件夹,点“Browse…”按钮添加也行,我这儿是“D:\modeltech64_10.1a\win64”(不含双引号,下同,除非有特别的说明),如图02,然后Next。

图02

之后是选择需要编译的语言,选“Both VHDL and Verilog”,一般两种都要用,如图03,然后Next。

图03

接下来是选择设备,默认是全选,如果有一些你实在用不上就不选吧,这样可以省点时间和硬盘空间,全选时挺大条的,如图04,还是Next。

图04

下一步默认就行,全选上,下面的两行东东留空即可,那是添加额外库的,第一行是路径,第二行是命令参数,无视之。如图05,Next。

图05

这一步比较关键,在“Output directory for compiled libraries”下面填入输出已编译库的路径,默认也行。个人建议新建一个单独的文件夹,好管理,只要版本一样的,下次直接拿来用,重装也不怕。不过文件夹的名字和整个路径中绝对不能有中文或空格,切记、切记!!!我这儿是“D:\modeltech64_10.1a\Xilinx_lib”。其他的选项默认便可,之后点“Launch Compiled Process”,如图06。之后就开始编译了,如图07。其实这一页是很有用处的,详情请点下面的那个“More Info”按键,不过帮助是英文的。

图06

图07

等待……编译完后就会出现一些编译日志,图08,Next,图09,Finish。只要没有Err就成,Warn无视。若有Err,就回顾下版本对不对,路径有没有中文或空格。

图08

 

 图09

可能旧点儿的ISE版本没有带窗口化的编译工具,所以下面再说说命令行下编译仿真库的方法。打开命令行,最好以管理员的身份运行,“开始—所有程序—附件—命令提示符—点右键—以管理员身份运行”,在里面输入“set path=D:\Xilinx\13.4\ISE_DS\ISE\bin\nt64;D:\modeltech64_10.1a\win64”(还是不要双引号),32位的输入“set path=D:\Xilinx\13.4\ISE_DS\ISE\bin\nt;D:\modeltech32_10.1a\win32”,然后敲回车键,这一步是可选的,为了防止可能的问题还是要吧。这里面都是路径,按自己的安装目录对应来输入就对了。然后再输入“compxlib -s mti_se -l all -arch all -liball -w -exclude_superseded -dir D:\modeltech64_10.1a\Xilinx_lib”,再次回车就开始编译了,漫长等待。和前面编译的内容是一样的。如图09-1、图09-2和图09-3。

图09-1

 

 图09-2

图09-3

下面设置ISE和Modelsim的关联。在“D:\Xilinx\13.4\ISE_DS\ISE”文件夹中找到“modelsim.ini”,“D:\Xilinx\13.4”这个是你的ISE安装目录,后半路径是一样的,实在不行就进入安装目录然后搜索“modelsim.ini”,如图10和图11。

图10

 

 图11

打开“modelsim.ini”,用记事本打开时不要用自动换行功能,菜单中“格式—自动换行”把勾去掉。个人不建议用记事本,写字板那就更不行了,有的文件用写字板改了会出现问题,搞编程类的总得有个好点儿的文本编辑工具吧,我用的是EmEditor,到网上搜一下吧,有不少呢。在第九行左右(可能是)找到“[Library]”,下面一行的“others = $MODEL_TECH/../modelsim.ini”和行的开头的分号(;)的全部都无视。那些行开头没有分号的,格式一般是“X···X = 路径”,一直到“[vcom]”之上的都要,选的仿真库多时可有好长的一段,全部复制。见图12、图13和图14。

图12

 

 图13

图14

然后在Modelsim的安装目录下,我这儿是“D:\modeltech64_10.1a”,找到“modelsim.ini”,名字一样。先去换个文本编辑工具吧,用记事本打开它会是乱糟糟的一片,没法改。打开后,同样是找到“[Library]”,在它的下面粘贴上刚刚复制的那一大段东西,注意,行开头不要有分号(;),而且人家原有的就别动它,别删掉了。只要在“[Library]”和“[vcom]”之间粘贴就行,然后保存。如图15、图16和图17。

图15

 

 图16

 图17

打开ISE,“开始—所有程序—Xilinx ISE Design Suite 13.4(版本不同就不同)—ISE Design Tools—64-bit Project Navigator(32位的就开32-bit Project Navigator)”,图18。

图18

然后在ISE的菜单上“Edit—Preferences…”调出Preferences设置窗口,在左边的“Category”下选中“ISE General—Integrated Tools”。在Integrated Tools项设置中,右边的“Model Tech Simulator:”下面填入Modelsim.exe的文件路径,点旁边的“..”按键选中Modelsim.exe也行,我这儿是“D:\modeltech64_10.1a\win64\modelsim.exe”(不要双引号)。32位的可能是“D:\modeltech32_10.1a\win32\modelsim.exe”。如图19和图20。

图19

 

 图20

到现在已经把家伙准备好了,接下来就是使用它了。新建一个工程,图21,这步不多说,Next。

图21

接下来这一步在“Simulator”一项选“Modelsim-SE Mixed”,“Mixed”支持两语言,“SE”是版本,选你自己对应的就成,其它项不讨论,如图22,Next,Finish。忘了选或想重新选的看图23。

图22

 

 图23

新建你的VHDL或Verilog文件,这个不多说。如果是VHDL文件,则要打开两个库。在菜单上“Edit—Preferences…”调出Preferences设置窗口,选中“Category”下面的“ISE Text Editor”,之后在右边“ISE Text Editor”设置中下面的那个大白框里有四行代码,把后面两行,“use IEEE.STD_LOGIC_ARITH.ALL;”和“use IEEE.STD_LOGIC_UNSIGNED.ALL;”复制一下,然后粘贴在你的VHDL文件的库声明中,也就是打开这些库。如图24、图25和图26。

图24

 

 图25

图26

完成之后,切换到仿真模式,就是点工程上面的“Simulation”,可能不同版本会不一样,ISE9.1i是在“Source for”的下拉菜单中选择Behavioral simulation,不过意思明白就行。建立Test Bench文件,若是VHDL的,也按上面说的处理一下,就是把那两个库声明一下。在“Hierarchy”框选中Test Bench文件,在下面的那个框中点“Modelsim Simulator”前的加号。展开得到“Simulate Behavioral Model”,在它上面点右键,选“Process Properties…”,如图27。这里如果直接选“Run”可能会出现如图28的警告,如果不出现警告而且能调用Modelsim仿真,那恭喜你成功了,不然就接着看吧。

图27

 

 图28

有图28警告时,如果前面的设置没问题,直接点“No”就可以用Modelsim仿真了。为了搞定这个警告,咱们接着整。把"D:\modeltech64_10.1a\modelsim.ini"复制到你所建的工程目录下也能搞定这个警告,不过这样太麻烦,每次都得复制,还是往下看吧。选“Process Properties…”后弹出Process Properties设置窗口,在右边的“Compiled Library Directory”后面填入之前编译库时设置的已编译库的路径,点旁边的“…”按钮来选定也行。如果编译库时使默认的路径,那这里就不用改了,不过得把下面的“Ignore Pro-Compiled Library Warning Check”给勾上,不然也可能有警告,反正我用默认路径时就是有警告,不知道为什么。其实只要你前面设置的正确了,这里直接把“Ignore Pro-Compiled Library Warning Check”给勾上,路径都不设也是可以的,搞定后点“Ok”,如图29。不过,每次新建一个工程时,这个窗口的设置都会变为默认设置,又得重设一次。我找了不少地方,查了帮助文档也没发现哪里可以修改这些默认值的。如果能改,那么下次新建工程时都变成我们自己的设置,就不用重设一遍了。如果有哪位大虾知道,希望可以告诉偶一声,留个言也成,呵呵。

图29

在“Simulate Behavioral Model”上点右键,选“Run”就可以调用Modelsim进行仿真了,如图30。另外提一点,在ISE上也可以编译库的。在仿真模式中,在“Hierarchy”框中选中FPGA名,我这儿是“xc7a8-3csg324”(下面就是仿真文件)。然后在下面的框中点“Design Utilities”前面加号。展开后得到“Compile HDL Simulation Libraries”,在其上点右键,选“Run”,这样就会编译你的工程中所需的仿真库了,如图31。不过,这样的话每次都得编译一次,工程大的话那可老耗时间了,所以我们还是预先编译好吧,省时间。……其实Modelsim也可以编译仿真库,不过在这儿就不多说了,网上也有很多文章说到的,只是我觉得用ISE自带的工具更方便。

 图30

图31

好了,所有的都搞定了,可以好好体验了。以上有什么不对的地方还望指正。我们也可以互相探讨探讨,我的QQ:503123346。



转载自:http://user.qzone.qq.com/503123346/2

时间: 2024-10-05 05:46:39

ISE和Modelsim联合仿真(转)的相关文章

(转)Quartus II和Modelsim的联合仿真(详细)

这篇文章不需要在modelsim中建库.映射.建工程等一些繁琐的步骤,直接使用modelsim中的默认work库.使用quartus+modelsim联合仿真. 首先推荐一篇文章 http://www.cnblogs.com/emouse/archive/2012/07/08/2581223.html 首先,根据上一篇文章,建立一个testbench模板: 第一次用modelsim+quartus的时候需要在quartus中设置modelsim的路径,quartus->tools->gener

通过文件读写方式实现Matlab和Modelsim的联合仿真

虽然Modelsim的功能非常强大,仿真的波形可以以多种形式进行显示,但是当涉及到数字信号处理的算法的仿真验证的时候,则显得有点不足.而进行数字信号处理是Matlab的强项,不但有大量的关于数字信号处理的函数,而且图形显示功能也很强大,所以在做数字信号处理算法的FPGA验证的时候借助Matlab会大大加快算法验证的速度. 关于Matlab和Modelsim联合仿真,我从网上看到两种方法,一种是通过Link for Modelsim建立Matlab和Modelsim的联合仿真接口:另一种就是通过文

【转】Quartus II和Modelsim的联合仿真(详细)

Quartus II和Modelsim的联合仿真(详细) 原文地址: http://www.cnblogs.com/Jezze/archive/2012/09/14/2684333.html 这篇文章不需要在modelsim中建库.映射.建工程等一些繁琐的步骤,直接使用modelsim中的默认work库.使用quartus+modelsim联合仿真. 首先推荐一篇文章 http://www.cnblogs.com/emouse/archive/2012/07/08/2581223.html 首先

Xilinx ISE如何调用Modelsim进行联合仿真

图: 在对设计的芯片进行测试时,经常要用到FPGA,可是里面的仿真工具却不如Modelsim那么好用,且在规模比较大时,ISE在仿真时,软件经常会报告内存限制的问题,此时一般会切换到Modelsim软件中去做仿真,这样便不会出现内存限制的问题,且仿真器也更加好用.这里介绍一下Xilinx ISE如何调用Modelsim进行联合仿真. 首先需要用Xilinx ISE里面的工具Simulation Library Compilation Wizard来产生仿真库文件.开始--所有程序--Xilinx

vivado与modelsim的联合仿真

vivado软件中也自带仿真工具,但用了几天之后感觉仿真速度有点慢,至少比modelsim慢挺多的.而modelsim是我比较熟悉的一款仿真软件,固然选它作为设计功能的验证.为了将vivado和modelsim关联,需要进行一些设置,下面一一介绍. 一.在vivado中设置modelsim(即第三方仿真工具)的安装路径.在vivado菜单中选择"Tools"-->"Options...",选择"General"选项卡,将滚动条拉倒最底部,在

搭建Modelsim SE仿真环境-适应do文件仿真

本章我们介绍仿真环境搭建是基于Modelsim SE的.Modelsim有很多版本,比如说Modelsim-Altera,但是笔者还是建议大家使用Modelsim-SE,Modelsim-Altera实际是针对Altera 的OEM版本,它事先将Altera的一些IP核仿真库添加到了工具中,但功能上有一些缩减.而Modelsim-SE需要自己手动添加这些仿真库,但是功能更全,而且工作中,工程师更倾向用SE版本,因为今后的FPGA开发中我们会接触更多其他厂商的FPGA,比如Xilinx.Latti

【转】Quartus II调用modelsim无缝仿真

Quartus II调用modelsim无缝仿真 ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com 本篇文章为转载,写的不错,最近在学modelsim仿真,网上的教程很乱,把自己认为不错的整理贴出来,后面有机会会写个详细点的. Quartus 中调用modelsim的流程 1. 设定仿真工具 assignmentèsettingèEDA tool settingèsimulation 选择你需要的工具.  2. 自动产生测试激励文件模板: 

Xilinx ISE FIFO读写操作仿真学习

---恢复内容开始--- 针对xilinx FIFO IP核进行简单的学习,整个流程参考http://www.eefocus.com/guoke1993102/blog/15-06/313183_36284.html,仿真工具使用modelsim. FIFO ip核设置参照链接设置,本文不再贴图,其中部分设置更改如下: 之后开始编写程序,程序代码如下: 1 `timescale 1ns / 1ps 2 ///////////////////////////////////////////////

[原创]Modelsim后仿真

因调试需要,进行后仿真,ISE生成的sim文件和sdf文件 `timescale 1 ns/1 ps module lut_dly ( clkout, fpga_clk, config_in ); output clkout; input fpga_clk; input [5 : 0] config_in; wire clk_in; wire dly1; wire config_in_4_IBUF_49; wire config_in_5_IBUF_50; wire dly2_0; wire d