Quartus II 18.x Modelsim仿真设置
本节内容介绍在如何在QuartusII 应用环境下设置modelsim仿真选项,并进行波形仿真。下面以四位乘法器为例介绍。
在QuartusII 18.x 的界面下建立两个文件,一个是设计文件mul4.v实现4×4的乘法器;另一个是testbench 文件tb.v,提供激励。
mul4.v文件如下:
module mul4
(
input [3:0] a,
input [3:0] b,
output [7:0] c
);
 
assign c = a * b;
 
endmodule
tb.v 文件如下:
`timescale 1 ns/1 ps
 
module tb
(
 
);
 
parameter PERIOD = 10 ;
 
reg CLK;
 
initial
begin
CLK = 1'b0;
#4;
 
forever
#4 CLK = ~CLK;
 
end
 
reg [3:0] a,b;
 
wire [7:0] c;
 
initial
begin
a = 4'b0000;
b = 4'b0000;
end
 
always @(posedge CLK)
begin
a <= a + 1;
if(a == 15)
b <= b + 1;
end
 
mul4 mul4_dut
(
.a (a),
.b (b),
.c (c)
);
 
endmodule
  • QuartusII 18.x的界面如下:
 
 
图 1
  • QuartusII仿真 仿真设置步骤如下:
  1. 在菜单Assignment 下选中Settings…,如下图:
 
 
图2
  1. 打开Settings 对话框
  2. 在General对话框设置Top-level entity 为tb(testbench 文件)
 
 
 
图3
  • 在EDA Tools setting 选中 Simulation,如图5
 
 
图5
在对话框中 Tool name –>Modelsim-Altera,其它按照图中内容选择。特别是最下方的选项,NativeLink settings… 里设置好 Compile test bench: 如图5,
如果你设计的testbench 文件名不是tb,需要点击test Benches ,选择对应的testbench 文件。如图6,
 
 
图6
在图6中 Test bench and simulation files部分,点击…部分,进行testbench设定并选取需要的test bench 文件。如:图7
 
 
 
图7
在图7 中,默认的是使用已设定好的testbench,如图中Existing test bench settings: 中Name–>tb, top Level Model name –>tb, test Bench File(s)–>tb.v.
如果首次使用,要点击New…按钮,进行新testbench设定,如图8:
 
 
图8
在图8中,testbench name–>tb, top Level Model in testbench file–>tb, 注意:这里的名称一定要与下一个步骤的文件名一致。如图9
在Simulation Period 的选项中,如果在testbench中的激励是有限项选择Run simulation utile all Vector stimuli are used,如本例在initial给的仿真只有有限项,如果是无限项如时钟驱动的仿真。
在test bench and simulation files 中点击…选文件,跳出对话框如图9.
 
 
图9
在图9中选择好对应的文件,如tb.v,这个文件将会被modelsim编译,形成激励条件。然后在图8中点击ADD按钮,加入库中如图10.
 
 
 
图10
图10中的文件名tb要和上面的test bench name以及top Level module in test bench 名字一致,本例中都是tb.
检查编译工具目录,点击菜单Tools->Options, General-> EDA Tool Options 如图11,
 
 
图11
 
  • 在Project Navigator 里选取mul4.v, 鼠标右键单击,Set as top level entity。单击工具栏图标Start Analysis and Elaboration, 如果有语法错误,则修改,直到没有错误为止。
  • 以上步骤设定好后,如图12,在主菜单Tools下,点击Run Simulation Tool ->RTL Simulation
 
 
 
图 12
如果tb.v没有错误,打开的界面应如下图13所示,点击红框内STOP按钮,
 
 
图 13
(3)选中波形区域,如图13,点击zoom in, Zoom out, 观察仿真波形。
Module sim的详细使用,请见modelsim仿真初步。

Quartus II 18.x Modelsim仿真设置的更多相关文章

  1. Quartus II——工程建立和常用设置

    Quartus ii是针对Altera FPGA的一款EDA软件,在此以一个led闪烁工程来简单说一下基本操作: 一.注意事项 Quartus ii最大的注意事项就一点:工程名称以及工程里面的文件名称 ...

  2. quartus II输入原理图及仿真步骤

    在Quartus II中输入原理图以及实现仿真是学习基本数字电路的好方法.下面以一个基本的D锁存器为例,在quartus II 13.0中一步一步来实现原理图输入以及仿真过程. 1,创建工程 指定工程 ...

  3. FPGA学习记录 - Quartus II 未使用管脚设置为三态输入

    未使用管脚设置为三态输入 Assignments  -> Device 或双击器件

  4. Quartus II 与 Modelsim 联调【转】

    Quartus II 9.0版本的时候软件还有自带的仿真工具,现在安装的是11.0以上版本,才发现 Quartus II 11.0以上取消了软件自带的波形仿真工具,因此需要波形仿真就要调用专业的仿真工 ...

  5. Altera Quartus II 15.0安装

       写在前面的话 开始学习之前,我们首先应该选择并安装好自己的开发工具,那么我们用什么软件来编译代码呢?梦翼师兄推荐给大家的是Altera 目前最新的Quartus II 15.0 版本,当然啦,这 ...

  6. 【转】Quartus II调用modelsim无缝仿真

    Quartus II调用modelsim无缝仿真  ★emouse 思·睿博客文章★ 原创文章转载请注明:http://emouse.cnblogs.com 本篇文章为转载,写的不错,最近在学mode ...

  7. Quartus II调用modelsim无缝仿真

    本篇文章为转载,写的不错,最近在学modelsim仿真,网上的教程很乱,把自己认为不错的整理贴出来,后面有机会会写个详细点的. Quartus 中调用modelsim的流程 1. 设定仿真工具 ass ...

  8. FPGA —— Quartus II 15.0 使用 ModelSim SE-64 2019.2 软件进行仿真

    Quartus II 15.0 使用 ModelSim SE-64 2019.2 软件进行仿真 ModelSim 仿真 Verilog HDL 时需要编写一个 TestBench 仿真文件,通过仿真文 ...

  9. (转)Quartus II和Modelsim的联合仿真(详细)

    这篇文章不需要在modelsim中建库.映射.建工程等一些繁琐的步骤,直接使用modelsim中的默认work库.使用quartus+modelsim联合仿真. 首先推荐一篇文章 http://www ...

  10. 设置 Quartus II 的仿真时间大于 1us

    Quartus II 仿真的默认时长是 1us. 设置时钟时看到 End time 想修改时长,把默认的 1us 改成 10us. 然后提示 End time 不合法.(只能设置为 0 到 1us) ...

随机推荐

  1. oracle学习undo之事务槽和oracle的多种提交方式

    1.事务槽数量参数 每一个oracle数据块里面在数据块头部都有事务槽,事务槽的数量可以去查一下,如果数据库中的表T2: select INI_TRANS,MAX_TRANS from dba_tab ...

  2. 执行celery --version报错

    python 3.7.4安装celery后执行celery --version报错 安装命令: pip install celery -i https://pypi.douban.com/simple ...

  3. leetcode 剑指offer小结

    栈与队列 剑指 Offer 09. 用两个栈实现队列 使用两个堆栈,一个输出栈,另一个输入栈.队列入队:直接将元素压入输入栈,队列出队:如果输出栈为空,将输入栈元素压入输出栈,再将输出栈元素出栈. 查 ...

  4. 常用软件版本记录 lisoaring

    操作系统 windows XP(2014年4月8日) windows 7(2020年1月14日终止支持) wiindows 10 Internet Explorer 1995-20220507 Fla ...

  5. vi 异常退出出现 E325:Attention的解决办法

    在linux系统下使用vi编辑程序的时候,没有保存退出,直接关闭了,出现了以下的情况: 打开就会显示filename.c.swap已经存在. 这是因为vi在编辑文件时会创建一个交换文件swap fil ...

  6. HDLbits—— 3-input look-up-table

    // a 3-input look-up-table // In this question, you will design a circuit for an 8x1 memory, // wher ...

  7. CF1033E 题解

    题意 传送门 交互题,给定一个简单连通图,你可以询问一个点集 \(s\),返回其导出子图的边数.判断此图是否为二分图:若是,输出其中一部点的集合:否则输出任一个奇环.最多询问 \(20000\) 次. ...

  8. 397. 整数替换 (Medium

    问题描述 397. 整数替换 (Medium) 给定一个正整数 n ,你可以做如下操作: 如果 n 是偶数,则用 n / 2 替换 n. 如果 n 是奇数,则可以用 n + 1 或 n - 1 替换 ...

  9. JS学习-async/await

    async/await 它保证函数的返回值为 promise. 用更少的.then()块来封装代码,同时它看起来很像同步代码 注意:可能会因为大量await的promises相继发生而变慢. asyn ...

  10. 关于promise经典面试题

    这里涉及到同步和异步的问题