摘要: 怎样用modelsim做后仿(编译工具采用quatus) step1:在qurtus改变编译选项:     assignments->EDA tool setting:选择verilog还是vhdl。 step2:编译。你会在你的工程所在目录 看到一个simulation的目录,这里面有你生成的网表文件和标准延时文件。step3:在目录:\

怎样用modelsim做后仿(编译工具采用quatus)

step1:在qurtus改变编译选项:
     assignments->EDA tool setting:选择verilog还是vhdl。

 step2:编译。你会在你的工程所在目录 看到一个simulation的目录,这里面有你生成的网表文件和标准延时文件。

step3:在目录:\quartus\eda\sim_lib找到你选用器件对应的库文件,将库文件和网表文件以及延时文件和testbench文件放在同一目录,在modelsim里进行编译库文件、网表文件以及bench文件。

step4:编译成功后,然后进行load,在load design的时候,需要制定延时文件的路径,以及延时文件作用的区域,延时文件的左右区域就是testbench里面调用顶层文件取的名字。
 
step5:打开signal窗口(view->signal)和wave窗口(view->signal),将你希望仿真的信号添加进去。

Step:仿真。。。

利用ModelSim SE6.0C实现时序仿真!!!

1) 打开一个工程文件。

2) 打开Settings设置栏,选择EDA Tools Settings下的Simulation栏。在右边出现的设置栏中将“Tool name”的下拉菜单选择“ModelSim(Verilog)”(如果工程用VHDL语言实现,则可以选择“ModelSim(VHDL)”;如果ModelSim使用的是for Altera的专用版本,则可以选择“ModelSim-Altera(Verilog)”或“ModelSim-Altera(VHDL)”)。

另外在设置栏中还有其他的核选框。

  1. 如果选中“Maintain hierarchy”,则表示在做时序仿真时就能看到像在功能仿真的工程文件层次结构,可以找到定义的内部信号。因为在做后仿时,源文件中的信号名称已经没有了,被映射为软件综合后自己生成的信号名,观察起来很不方便。这个设置与ISE里综合右键属性的Keep Hierarchy选择YES的功能是一样的。
  2. 如果选中“Generate netlist for functional simulation only”,则表示只能做功能仿真。

3) 点击  “Start Compilation”按钮编译工程,完成之后在当前的工程目录下可以看到一个名为“Simulation”的新文件夹,下面的“ModelSim”文件夹下包括仿真需要的.vo网表文件和包含延迟信息的.sdo文件。

4) 打开ModelSim软件(或者在Quartus下“Settings->EDA Tools Setting->Simulation”出现的设置栏中选中“Run this tool automatically after compilation”,直接从Quartus下调用ModelSim软件),可以在当前工程目录下新建一个Project。在Project标签栏内点击右键,出现在快捷菜单中选择“Add to Project->Existing File…”。加入当前工程目录的“\Simulation\ModelSim\”路径下的.vo文件、TestBench文件和对应当前工程所选择器件的网表文件。

比如:当前工程选择的器件是Cyclone系列,Quartus安装目录在“C:\altera”路径下。因此需要在“C:\altera\quartus50\eda\sim_lib”路径下找到“cyclone_atom.v”的网表文件导入到ModelSim下的Project。如果是其他器件亦是如此,只要在此目录下找到对应有“_atom”后缀的.v文件。当然整个大前提是ModelSim SE版本已经加入了Alterta的仿真库,不过ModelSim-Altera版本就不会存在这样的问题。

5) 在出现的Project标签栏的快捷菜单中选择“Add to Project->Simulation Configuration”,会出现如上图所示的名为“Simulation1”的仿真配置。右键点击选择“Properties”,弹出的“Simulation Properties”对话框中有几个标签栏。

在“Design”标签栏内需要选择仿真的文件,也就是TestBench文件。
  
在“SDF”标签栏内需要选择包含延迟信息的文件,即Quartus下生成的.sdo文件。这里建议将.sdo文件与ModelSim的工程文件(.mpf文件)放在同一个目录下,不然ModelSim会报类似无法读取.sdo文件的错误。当加入.sdo文件时,需要在如下图所示的“Apply to Region”的编辑框内填写延迟信息文件作用的区域。

举个例子来说明:

  1. TestBench文件中定义了测试文件的Module名称为ConvEncdTestBnch。
  2. TestBench文件中调用待测顶层文件的实例名为top_encode_1。(top_encode top_encode_1(clk, rst, dataIn, serialData, parData);这是TestBench文件中调用顶层的语句)
  3. 所以在作用区域内需要填写“/ConvEncdTestBnch/top_encode_1”。

 
6) 右键点击名为“Simulation1”的仿真配置,快捷菜单中选择“Execute”命令,执行仿真。
7) 指定延时文件sdo 路径时,特别注意“域”的指定,否则用户会在timing 仿真中报load error “can’t find instance file”. 指定的域可以从sim标签页查看sim 的top 层,或要仿真的对象。另外,时序仿真时,一定要记住要把顶层top.v 用 top.vo 替换。同时要确保预编译的库中每个库的名字必需遵循altera的要求,比如:cylcone 的device 库必需命名为cycclone, maxii 的device命名为maxii, flex10Ke 和acex1K 都命名为flex10Ke,详细查看文档附件。Simulation.pdf
8) 提供一个testbench 的模板。

利用ModelSim SE6.0C实现功能仿真
功能仿真流程比较简单,一般不会出现什么问题,这里不再多述。

转载至:http://www.it610.com/article/1560137.htm

怎样用modelsim做后仿真的更多相关文章

  1. [原创]Modelsim后仿真

    因调试需要,进行后仿真,ISE生成的sim文件和sdf文件 `timescale ns/ ps module lut_dly ( clkout, fpga_clk, config_in ); outp ...

  2. ISE联合modelsim功能仿真和综合后仿真1

    1.代码输入 (1).新建一个ISE工程,名字为count4. (2).新建一个verilog文件 (3).选择verilog module 输入file name为count4,单击next默认知道 ...

  3. ISE联合modelsim功能仿真和综合后仿真

    1.代码输入 (1).新建一个ISE工程,名字为count4. (2).新建一个verilog文件 (3).选择verilog module 输入file name为count4,单击next默认知道 ...

  4. vivado与modelsim的联合仿真(二)

     最近在做Zynq的项目,曾经尝试使用ISE+PlanAhead+XPS+SDK组合和Vivado+SDK来搭建工程,使用中发现前者及其不方便后者有诸多不稳定.近期得闻Xilinx退出Vivado20 ...

  5. 每天进步一点点------Modelsim添加Xilinx仿真库的详细步骤

    Modelsim,可以选型SE和XE两个版本.Modelsim XE可以直接被ISE调用,而Modelsim SE需要手动添加仿真库.但SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的 ...

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

    虽然Modelsim的功能非常强大,仿真的波形可以以多种形式进行显示,但是当涉及到数字信号处理的算法的仿真验证的时候,则显得有点不足.而进行数字信号处理是Matlab的强项,不但有大量的关于数字信号处 ...

  7. vivado和modelsim联合调试仿真

    vivado和modelsim联合调试仿真 0赞 发表于 2017/5/10 19:10:59 阅读(881) 评论(0) 使用vivado和modelsim联合调试仿真时,在破解完modelsim后 ...

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

    图: 在对设计的芯片进行测试时,经常要用到FPGA,可是里面的仿真工具却不如Modelsim那么好用,且在规模比较大时,ISE在仿真时,软件经常会报告内存限制的问题,此时一般会切换到Modelsim软 ...

  9. FPGA前仿真后仿真

    前仿真 后仿真 时序(综合后)仿真 时序仿真将时延考虑进去,包括综合后产生的(与.或.非)门时延,还有布局布线产生的时延. 综合(Synthesize),就是将HDL语言设计输入翻译成由与.或.非门和 ...

随机推荐

  1. Hive Python Streaming的原理及写法

    在Hive中,须要实现Hive中的函数无法实现的功能时,就能够用Streaming来实现. 其原理能够理解成:用HQL语句之外的语言,如Python.Shell来实现这些功能,同一时候配合HQL语句, ...

  2. 限制RICHTEXTBOX的输入的范围

        附件: http://files.cnblogs.com/xe2011/WindowsFormsApplication_LimitRichTextBoxInput.rar     using  ...

  3. ZH奶酪:通过CSS自定义HTML中hr样式-颜色-形状

    修改颜色,线条形状,粗细等... CSS代码: .zh_hr{ border:3px solid rgba(255, 255, 255, 0.50); margin-bottom: 2px; marg ...

  4. iOS键盘高度自适应(中英文输入)

    一:添加通知监测键盘高度变化 [self keyBoardAutoSize]; 二:动态改变高度 #pragma mark keyboard height auto /* NSNotification ...

  5. strcpy sprintf memcpy 它们之间的区别

    strcpy,sprintf,memcpy的区别 strcpy 函数操作的对象是 字符串,完成 从 源字符串 到 目的字符串 的 拷贝 功能.  snprintf 函数操作的对象 不限于字符串:虽然目 ...

  6. 设置tableViewCell背景颜色

    1 2 3 4 5 6 7 8 9 10 11 12 13 //方法一: cell.contentView.backgroundColor = [UIColor redColor]; //方法二: U ...

  7. ls命令(转)

    原文:http://www.cnblogs.com/peida/archive/2012/10/23/2734829.html ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下l ...

  8. 设计模式——门面模式(Facade)

    要想正确理解设计模式,首先必须明白它是为了解决什么问题而提出来的. 设计模式学习笔记 --Shulin 转载请注明出处:http://blog.csdn.net/zhshulin 1.概念 门面模式是 ...

  9. 解决 $ npm install node-sass --save-dev 失败的问题

    $ npm install --save node-sass --registry=https://registry.npm.taobao.org --disturl=https://npm.taob ...

  10. OpenERP的短信(SMS)接口

    今天测试了一下OpenERP的短信(SMS)接口. 在OpenERP的Partner界面上,WebClient的右边的工具条有个“send sms”的按钮.OpenERP中发短信用的是短信的Web接口 ...