打印
[Quartus]

Altera版本仿真流程

[复制链接]
542|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1、建立ModelSim-Altera工作环境

1.1版本说明

ModelSim-Altera(OEM)version 6.4a

QuartusII version 9.0

该ModelSim版本支持所有QuartusII支持的Altera器件。

1.2要自动从Quartus II运行EDA设计输入、综合、仿真或者时序分析工具,您必须指定第三方EDA工具的可执行文件位置,通过单击Tools菜单上的Options供然后点击EDA Tool Options选项。


2、用ModelSim-Altera建立工程

2.1 如果要执行时序仿真,需要产生Verilog(.vo)或者VHDL(.vho)输出文件。

a. 选择EDA Tool Settings

b. 用QuartusII编译设计文件

注:如果已经编译过设计,要重新产生.vo、.vho和.sdo(标准延迟输出文件)的话,只需要运行Start EDA Netlist Writter即可。同时也可以用于产生.vcd文件。

如果要执行功耗估算,确保在Simulator Settings下的Settings对话框选择合适的参数。

2.2 启动Modelsim软件,选择工程目录:File—>Change Directory.

    注:如果要执行功能仿真,工程目录就是包含设计文件的目录;

    如果要进行时序仿真,工程目录务必设在包含.vo、.vho和.sdo的目录下。

2.3 创建新的工作库:

    a. File—>New—>Library,出现创建新库的对话框

    b. 在Create选项下,选择a new library and a logical mapping to it.

    c.在Library Name中输入库的名称

    注:如果你想要脱离QuartusII独立运行Modelsim,库文件名必须是work;如果是由QuartusII自动运行Modelsim,则库的名称被自动名为ModelSim_work,并且位于QuartusII的过程目录下。


3、用ModelSim-Altera执行功能仿真

3.1 编译Verilog或者VHDL文件和Test Bench文件(如果你使用testbench的话)

    a. Compile menu, 点击Compile.

    b. 在Library列表下选择work库

    c. 选择需要的Verilog或者VHDL文件

    注:如果选择.vo、.vho文件作为功能仿真的话,必须在下面操作前进行编译。

    d. 执行编译

    e. 重复上面操作,编译testbench文件

    f. 点击done完成。

3.2 加载设计:

    a. 在Simulate菜单中,点击Simulate.出现Simulate对话框

    b. 如果要仿真Verilog HDL设计文件,指定ModelSim预编译库

        i. 点击Libraries标签

        ii.在Search Libraries (-L)中,点击Add选择适当的库

        iii. 点击OK完成

    c. 在Name 列表中,点击+展开work库,选择要仿真的顶层文件(一般是testbench)

    d. 点击OK完成

3.3 在ModelSim中执行功能仿真


4、用ModelSim-Altera执行时序仿真

重要提示:强烈建议在进行RAM仿真时,将Time scale设置为飞秒ps级别!

4.1 编译Verilog或者VHDL输出文件和testbench文件,方法同功能仿真。

4.2 如果你的设计包含全局复位或者全局上电信号,并且还没这么做,可以在Verilog或者VDHL输出文件中建立这些信号。方法如下:

对于Verilog,在仿真前,将下列代码加到testbench文件中:

reg <device-wide reset>;
reg <device power up>;
initial
begin
<device power up> = 0;
#<time> <device power up> = 1;

对于VHDL,在仿真前运行下列命令:

force /<design>/<entity>/<device power up> 0 0 ns


force <design>/<entity>/<device power up> 1 <time> ns
force /<design>/<entity>/<device-wide reset> 1 0 ns

注: <device-wide reset> 是全局复位信号名称,<device power up> 是全局上电信号,<time> 是一个时间值,它介于0和实际开始仿真的时间之间。

4.3 在Simulate菜单中,点击Simulate.出现Simulate对话框

4.4 如果是仿真verilog语言,点击verilog标签,在Pulse Options中的Error Limit 和Rejection Limit中填入0.

4.5 如果仿真的是VHDL设计,指定.sdo标准延迟文件:

    a. 点击SDF标签,点击ADD

    b. 在Add SDF Entry对话框中,点击Browse,出现Select SDF File对话框

    c. 选择标准延迟输出.sdo文件

    注:如果使用的是test bench文件作为设计的激励,那么在Apply to region 框中,从顶层设计文件开始,将路径指向test bench中的instance

4.6 如果仿真的是verilog设计,要指定预编译库(ModelSim precompiled libraries

    a. 点击Library标签,在Search Libraries (-L)中,点击Add.

    b. 指定目录\<ModelSim-Altera install directory>\altera\verilog\<device family>\,点击OK;

4.7 点击Design标签,在Name列表中,点击+展开work库,并选择标准延时输出文件对应的设计实体(entity),点击OK完成。

4.8 如果要仿真高速电路(包括HSSI, LVDS, PLLs等),点击Others标签,在Other vsim options中输入+transport_int_delays +transport_path_delays,点击OK完成;

4.9 要直接从ModelSim中生成.vcd(Value Change Dump File)文件用于QuartusII中PowerPlay Power Analyzer分析,可以在ModelSim中输入命令:

source <test bench or design instance name>_dump_all_vcd_nodes.tcl

4.10 Tcl脚本文件指示ModelSim-Altera监视Tcl脚本文件中的输出信号并在仿真过程中写入到.vcd文件中去。

4.11 在ModelSim-Altera进行时序仿真。

重要提示:强烈建议在进行RAM仿真时,将Time scale设置为飞秒ps级别!


使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:这个社会混好的两种人:一是有权有势,二是没脸没皮的。

1025

主题

11271

帖子

25

粉丝