Modelsim工具的一般仿真流程.docx

上传人:b****0 文档编号:9056330 上传时间:2023-05-16 格式:DOCX 页数:14 大小:999.51KB
下载 相关 举报
Modelsim工具的一般仿真流程.docx_第1页
第1页 / 共14页
Modelsim工具的一般仿真流程.docx_第2页
第2页 / 共14页
Modelsim工具的一般仿真流程.docx_第3页
第3页 / 共14页
Modelsim工具的一般仿真流程.docx_第4页
第4页 / 共14页
Modelsim工具的一般仿真流程.docx_第5页
第5页 / 共14页
Modelsim工具的一般仿真流程.docx_第6页
第6页 / 共14页
Modelsim工具的一般仿真流程.docx_第7页
第7页 / 共14页
Modelsim工具的一般仿真流程.docx_第8页
第8页 / 共14页
Modelsim工具的一般仿真流程.docx_第9页
第9页 / 共14页
Modelsim工具的一般仿真流程.docx_第10页
第10页 / 共14页
Modelsim工具的一般仿真流程.docx_第11页
第11页 / 共14页
Modelsim工具的一般仿真流程.docx_第12页
第12页 / 共14页
Modelsim工具的一般仿真流程.docx_第13页
第13页 / 共14页
Modelsim工具的一般仿真流程.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Modelsim工具的一般仿真流程.docx

《Modelsim工具的一般仿真流程.docx》由会员分享,可在线阅读,更多相关《Modelsim工具的一般仿真流程.docx(14页珍藏版)》请在冰点文库上搜索。

Modelsim工具的一般仿真流程.docx

Modelsim工具的一般仿真流程

Modelsim工具的使用

一、仿真流程

1.建立work库

通常modelsim在使用的时候,和大多数开发软件一样,第一步先建立一个工程。

而modelsim在建立工程之前,一般都要建立一个工作库(library),命名为work,仿真的时候工程就运行在这个库里面。

通常modelsim在第一次运行的时候,并没有work这个库文件,所以没有work库的话,先建立一个work的library,再建立新的工程。

一般的工程路径设置如下:

project放置FPGA的工程文件,source放置源代码(ipcore,建议放在工程的根目录下,有同事发现ipcore改变其路径,仿真的时候会出错,并且工程里面要手动添加IP核的文件),simulation放置modelsim的仿真工程。

新建一个work库。

FileNew-Library

刚建立的work库是空的,因为里面什么东西都没有,但是当添加了相应的文件后,编译一次,work就会有内容了。

新建的Work,右键设置Edit一下他的属性,如图上所示,pathname这里指定到存放仿真工程的work的库文件夹即可。

2.建立新工程

File—>New-Project

然后就会弹出如下对话框,选择好工程的路径,命名好工程名字。

,如果之前就已经编写好了v或者vhd文件的话,直接选择addexistingfile,否则,选择CreateNewFile。

接下来把所有的v或者vhd的文件都添加进来。

3.编写testbench

……

4.编译整个工程

编写完testbench之后,编译整个工程,以后每当工程中其中一个文件修改后,只需单独编译修改的那个文件即可。

(参见文档最后部分的例子)

编译完后,会发现在Project中,里面的文件都会打钩,并且在simulation文件夹里面的子文件夹work会多了一些东西出来。

返回到Library这里,会发现之前是空的wrok文件库里面,现在也多了一些东西。

需要注意的是,在设置该library路径的时候,一定要指定到仿真目录的work文件夹,否则很可能映射不过来。

5.仿真

回到Library中,展开Library_work中的文件,我们只需对testbench进行仿真即可。

点击simulate,稍等片刻之后,就会弹出另外一个sim仿真窗口。

在Objects选项中,选择自己想要观察的信号,添加到波形中。

设定好仿真时间,就可以仿真了。

综上,整个脱离软件开发平台的仿真流程基本上如此。

文中只是简单介绍了最基本的,后面还会涉及到后仿真,针对单独某个文件仿真,testbench的编写,为了以高效率的Tcl命令等等。

在仿真之处,需要修改modelsim的ini文件,添加器件库信息,这里暂不做介绍。

6.(附)修改设计文件后的仿真

有时候经过仿真,发现设计文件的问题,需要修改,然后再仿真,碰到这种情况应该怎样做呢?

下面举一个修改了PLL的例子,简要说明。

在修改之前,PLL出来了一个20MHz和5MHz的时钟,如图上所示。

返回Quartus修改设计文件,修改PLL的参数,让其输出20MHz和10MHz的时钟,修改后发现Modelsim已经检测到pll的变化,原来的勾,变成了问号。

重新编译该pll文件(这里的强大之处是,不需要等待在Quartus将工程重新编译),重新仿真即可。

如上图所示,证明仿真结果和修改后所需的设计一致。

2014年8月25日星期一

上周进行了脱离Altera平台的Modelsim仿真,现在当在做脱离ISE平台的仿真时,报了以下错误,仔细观察了一下,这些错误都是调用了IP核的文件,很有可能是因为没有把xilinx的相关的库添加到modelsim.ini这个文件当中。

截图如下:

但是发现当利用xilinx平台调用仿真的时候,在仿真的目录里面,会自己产生一个modelsim.Ini文件,差别可能就在这里。

果然,当利用ISE平台自己调用的时候,发现在modelsim文件库里面多了很多东西。

其中大部分都是Xilinx的器件库。

本着这种想法,对比了以下两次仿真时,所用到得配置文件modelsim.ini文件的区别。

截图如下:

从上图中可以看到,利用ISE平台调用的Modelsim仿真,果然自己往配置文件里面添加了不少Xilinx的库,由于单独使用modelsim的时候,没有把相应的库文件添加进去,所以仿真不成功。

编译库的路径如下:

将ISE仿真生产的库,存放到一个自己清楚,方便调用的文件夹中,方便修改Modelsim启动的ini配置文件。

然后在配置文件中,将红色圈圈圈起来文件夹里的库,添加到modelsim.ini的配置文件中。

具体截图如下:

综上所述,脱离xilinx平台的仿真和Altera平台仿真,所走的流程是一样的,比较有可能不一样的地方就是出现在IP核这块了,从实验中出现的现象来看也证实了这个问题。

实验的程序中用到了ROM,只不过Altera的ROM用的是mif文件,而Xilinx的ROM用的是coe文件,但是在生产IP核的时候,(暂还不确定是不是因为曾在ISE中调用过modelsim来仿真的时候,自动生成了mif文件,反正在利用Modelsim来仿真的时候,ROM确实需要mif文件)。

在仿真的时候,和Altera一样,需要将mif文件,放到仿真文件夹的根目录下才不会报错。

在编译的过程中出现了以下错误,下面报了一个时间精度的问题,由于测试文件的时间精度和modelsim软件的精度不一样,导致仿真出错。

(所以,以后再编写程序的时候,要注意添加时间精度表达。

在用verilog写的测试文件中,可以通过`timescale1ns/1ps,来设定仿真时的时间精度。

但是Vhdl暂时没有发现。

网上查了一下,发现可以通过以下命令修改:

其中vtb是testbench,即所要用来仿真的文件。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2