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. 操作系统实战45讲笔记- 07 Cache与内存:程序放在哪儿?

    程序局部性原理: CPU 大多数时间在执行相同的指令或者与此相邻的指令 时间局部性VS空间局部性: a. 时间局部性:当前访问的指令或数据,也可能在之后访问: b. 空间局部性:当程序访问内存地址x时 ...

  2. Codeforces 1208F Bits And Pieces

    题目描述 You are given an array a of n integers. You need to find the maximum value of ai|(aj&ak) ov ...

  3. 小程序Day01

    注册一个微信小程序账号测试号不能用云开发 构建npm(下载node.js) npm i @vant/weapp -S --production if wrong npm init//npm intal ...

  4. Hibernate的工作流程

  5. 邮件合并 :处理ACCESS中批量查询语句的运行

    利用邮件合并,制作批量查询语句,一条一条的复制粘贴并运行. 有点笨但是想不出什么好办法,除非用模块的过程,但还是要手动输入参数.http://www.docin.com/p-695725657.htm ...

  6. CSS 多栏布局 固定布局 流动布局

    正常情况下都应该保持元素 height 属性的默认值 auto  . 多栏布局,某一栏目占的总宽度包括它的,Width,margin,padding ,border. CSS3中,应用 box-siz ...

  7. unity ScriptObject使用

    转自 https://www.jianshu.com/p/77fabc83555b using UnityEngine; [CreateAssetMenu(fileName = "Untit ...

  8. go web编程学习记录

    学习 https://segmentfault.com/a/1190000013297625的记录 简单demo package main import "github.com/gin-go ...

  9. 像MIUI一样做Zabbix二次开发(5)——那些坑和优化方向

    踩过的那些坑 从2011年开始玩Zabbix,踩过的坑着实不少,被研发的同事吐了无数槽,所谓"情到深度又爱又恨".以下简述印象比较深刻的几个坑: 二次开发的方式:2011刚开始做的 ...

  10. zabbix源码目录结构

    用的是今年最新的zabbix-3.0.1 bin: 包含windows下zabbix_agentd.zabbix_get.zabbix_sender的二进制程序文件和sender的二次开发需要的头文件 ...