Quartus II 调用ModelSim 仿真

下面是基于在Altera Quartus II 下如何调用ModelSim 进行仿真的一个实例。

  不能否认,Quartus II(我用的7.0)无法像ISE 那样方便的直接调用ModelSim,而是需要额外的做一些工作。这确实给我们的仿真调试带来了一些不便。特权同学也是在摸索了好久以后才彻底搞定这个问题,下面分享下,力求明白易懂,让大家少走一些弯路。

  1、 打开Quartus II,新建一个工程,工程代码如下(只是做一个简单的二分频电路):
module modelsim_test(
clk,rst_n,div
);
input clk; //系统时钟
input rst_n; //复位信号,低有效
output div; //2 分频信号
reg div;
always @ (posedge clk or negedge rst_n)
if(!rst_n) div <= 1'b0;
else div <= ~div;
endmodule

  2、 进入菜单栏的Assignments EDA Tool Settings,进入如下界面:

  双击“EDA tools”下的“Simulation”选项,弹出如下界面:

点击Tool name 最右侧的下拉条,选择“ModelSim”,在弹出的界面做如下设置:

  3、 以上设置完成,重新编译工程。

  打开工程目录,看到多了一个“simulation”文件夹,再打开该文件夹下的“modelsim”文件夹。看到有三个文件,其中.vo 文件就是我们的代码布局布线信息。仿真还需要几个文件,我们把它们都拷贝到该目录下。

  4、 打开“C:altera70quartusedasim_lib”(具体quartus 软件安装文件的根目录视您的实际情况而定,大体路径都一样),因为我们用的是MAX II器件,所以把“maxii_atoms.v”拷贝到3 中提到的目录下,这个文件是仿真元件库。

  5、 编写一个工程RTL 源码的Testbench 文件,用于作为仿真激励(具体如何编写清参考相关数据文档资料)。这个实例的testbench 如下:

  module vtf_test;
// Inputs
reg clk;
reg rst_n;
// Output
wire div;
modelsim_test u1(
.clk(clk),
.rst_n(rst_n),
.div(div)
);
initial begin
clk = 0;
forever
#10 clk = ~clk; //产生50MHz 的时钟
end
initial begin
rst_n = 0;
#1000 rst_n = 1; //上电后1us 复位信号
#1000;
$stop;
end
endmodule
将该文件命名为tb_test.v,保存到3 提到的文件夹下。

  6、 在wokspace 的library 面板的空白处单击右键,选择“new”→“library”

在新弹出界面中做如下设置,然后点击“OK”。

  7、 启动ModelSim 软件,点击菜单栏的Compile

Library 选择刚才新建的“work_test”,查找范围定位到我们3 提到的文件夹下。全选在该目录下可以看到的文件,点击Compile(注意该文件夹必须在全英文/数字路径下,否则会出错无法编译)。

  8、 我们回到wokspace 的library 面板,work_test 多处了下拉框,点击后如下:

我们右键单击vtf_test 文件,在弹出的菜单中选择Simulation

  9、 执行上面的操作后,软件自动弹出wokspace 的sim 面板如下:

在vtf_test 栏单击右键,在弹出菜单中选择Add to Wave。然后软件将弹出波形窗口。

  10、 波形窗口如下:

波形窗口

这时我们点击全速编译(一次不行,多点一次,工具栏倒数第三个按钮),
然后点击观看全部波形(放大缩小按钮后面一个蓝色按钮)。

  11、 仿真结果如下:

仿真结果

可以看到div 信号确实是clk 的二分频。呵呵,基本的操作就到此结束了。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Quartus调用ModelSim进行仿真,需要按照以下步骤操作: 1. 在Quartus中打开设计文件,并进行编译。 2. 在Quartus中选择Tools -> Run Simulation Tool -> RTL Simulation。 3. 在弹出的对话框中选择ModelSim,并点击OK。 4. 在ModelSim中打开仿真波形文件,并设置仿真参数。 5. 在ModelSim中运行仿真。 6. 在仿真结束后,可以查看仿真结果并进行调试。 需要注意的是,在使用Quartus调用ModelSim进行仿真时,需要先安装好ModelSim软件,并将其添加到Quartus仿真工具列表中。同时,还需要设置好仿真波形文件和仿真参数,以确保仿真结果的准确性。 ### 回答2: Quartus Prime是一款可编程逻辑设备(FPGA)和复杂可编程逻辑器件(CPLD)设计软件,它还提供了与第三方仿真器集成的选项,其中包括ModelSimModelSim是一种用于VHDL、Verilog和SystemVerilog仿真的软件,它是一种通用​的数字电路仿真工具,支持您开发的所有数字电路。 Quartus Prime集成了实现测试的仿真引擎。它允许执行原语、逻辑电路和整个设计的仿真。但是,这些仿真引擎在某些方面存在限制,比如不支持多语言、编写复杂测试的复杂程度较低等,这些限制可能会使设计师的工作出现困难。为了解决这些问题,Quartus Prime集成了ModelSim仿真器。 要使用ModelSim仿真器,您需要先安装它,然后将其与Quartus Prime集成。首先,您需要确保电脑中已经安装了ModelSim软件;其次,你要确认有哪个版本的Quartus集成了ModelSim仿真器。 您需要设置正确的仿真选项来调用ModelSim仿真器。在Quartus Prime软件的Project Navigator Explorer视图中,右键单击设计条目,然后选择仿真。在“仿真设置”窗口中,您可以选择ModelSim仿真器作为仿真工具。选择ModelSim仿真器之后,您必须设置仿真选项,这些选项包括仿真顶层、仿真库、仿真参数等。此外,还有一些高级选项,例如命令行选项和波形观察选项等。 在将ModelSimQuartus Prime集成的过程中,需要对两个软件的兼容性进行确认,如果兼容性不好,就必须进行调试和修复才能正常使用它。此外,还必须进行仿真流程的测试以确保仿真功能可以正常工作。调用ModelSim仿真器进行仿真可以使设计师更加方便的调试和测试其设计,从而帮助他们开发出更为可靠和出色的电路设计。 ### 回答3: Quartus是一款集成电路设计软件,常用于FPGA和ASIC的设计。其中一个重要的功能是仿真,可以使用Quartus来进行RTL、门级和系统级仿真。但是,Quartus自带的仿真器功能有限,在某些情况下无法满足需要,这时候我们需要借助第三方仿真器,比如ModelSimModelSim是一款Verilog和VHDL仿真器,可以在仿真不同级别的电路设计时提供高效、准确和稳定的仿真结果。它是Quartus的默认仿真器,在使用Quartus进行仿真时可以调用ModelSim来完成仿真ModelSimQuartus的联合使用可以实现以下几个方面的功能: 1. 在Quartus中打开ModelSim面板:当我们需要设置仿真波形、仿真过程中添加观测点或在波形窗口中查看波形时,可以通过Quartus来打开ModelSim面板,这样可以有更好的视觉感受和操作体验。 2. 在Quartus中通过ModelSim进行RTL仿真:在进行RTL仿真时,由于Quartus自带的仿真器功能较弱,因此可以通过调用ModelSim来完成RTL仿真。用户只需要在Quartus中指定仿真测试策略,Quartus便会调用ModelSim进行仿真。 3. 在Quartus中通过ModelSim进行Gate级仿真:当我们需要对Gate级电路进行仿真时,可以通过Quartus+ModelSim进行仿真。在进行Gate级仿真时,需要先对设计进行合成和映射,将电路映射到对应的器件单元组成的晶体管级别。之后可以在Quartus中设置仿真测试策略,Quartus便会调用ModelSim进行Gate级仿真。 综上所述,Quartus调用ModelSim可以起到更加准确、高效和稳定的仿真结果,同时具有更丰富的仿真可视化操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值