您的位置:技术中心首页 > 逻辑验证 >> Modelsim >> 利用ModelSim SE6.0C实现时序仿真

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

作者:未知   时间:2007-09-28 20:48:51  来自:网上转载  浏览次数:0  文字大小:【】【】【

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实现功能仿真
功能仿真流程比较简单,一般不会出现什么问题,这里不再多述。

责任编辑:5life

更多相关 modelsim 的文章

如何仿真IP核(建立modelsim仿真库完整解析) [2007-09-28]
Modelsim 包会教程 [2007-09-28]
ModelSim仿真库问题 [2007-09-28]
Modelsim 的验证实例 [2007-09-28]
ModelSim SE操作指南 [2007-09-28]
ModelSim下用SystemC做设计验证方法与示例 [2007-09-28]
如何在ModelSim里仿真Altera的lpm_rom文件 [2007-09-28]
ModelSim,synplify,ISE后仿真流程 [2007-09-28]
Debussy和Modelsim协同仿真(VHDL) [2007-09-28]
Modelsim 初学者心得 [2007-09-28]
本文共有0条评论,现在显示最新的5条。

栏目导航

电路基础
硬件语言
逻辑验证
电路综合
后端设计
可测设计
基本逻辑
制造工艺
书籍精选
说文解字
工具学习
数字滤波
趣闻逸事
数字锁相
设计杂项
低耗设计

站点最新

更多相关链接

  利用ModelSim SE6.0C实现...
  如何仿真IP核(建立mode...
  Modelsim 包会教程
  ModelSim仿真库问题
  Modelsim 的验证实例
  ModelSim SE操作指南
  ModelSim下用SystemC做设...
  如何在ModelSim里仿真Al...
  ModelSim,synplify,ISE后...
  Debussy和Modelsim协同仿...

栏目最新

更多相关链接

  利用ModelSim SE6.0C实现...
  如何仿真IP核(建立mode...
  Modelsim 包会教程
  ModelSim仿真库问题
  Modelsim 的验证实例
  ModelSim SE操作指南
  ModelSim下用SystemC做设...
  如何在ModelSim里仿真Al...
  ModelSim,synplify,ISE后...
  Debussy和Modelsim协同仿...

热点文章

更多相关链接

  Modelsim 教程
  仿真工作流程(Verilog/Model...
  ModelSim SE 十分钟入门
  使用compxlib命令编译Xilinx...
  ModelSim 6.0se 添加Xilinx仿...
  在ModelSim波形图中以参数名...
  Modelsim 初学者心得
  Debussy和Modelsim协同仿真(...
  ModelSim,synplify,ISE后仿真...
  如何在ModelSim里仿真Altera...