FPGA —— Quartus II 15.0 使用 ModelSim SE-64 2019.2 软件进行仿真
Quartus II 15.0 使用 ModelSim SE-64 2019.2 软件进行仿真
ModelSim 仿真 Verilog HDL 时需要编写一个 TestBench 仿真文件,通过仿真文件提供激励信号。可以简单的理解成信号发生器,给我们的代码提供模拟时钟信号。因此编写 TestBench 仿真文件是仿真过程中的一个重要步骤。
Quartus II 15.0自身是不提供仿真功能的,但是可以用 Quartus II 15.0 创建 TestBench 仿真文件模板,而我们稍微修改一下这个生成的模板文件就能进行仿真了,非常方便。
准备一个可以编译正常的工程(如果编译有问题可以参考上一篇博客)

使用 Quartus II 创建 TestBench 模板文件,如下如图:


创建的文件后缀名是 .vt ,自动保存在工程目录\simulation\modelsim 中,我这里是 top.vt 文件

打开 top.vt 文件,文件内容如下:

修改 top.vt 文件

TestBench 仿真文件修改完成,接下来使用仿真文件:





下面一路 OK 结束就可以了,然后再全编译一次,切记一定是全编译,编译完成后启动仿真软件,如下图:

启动仿真运行后 Quartus II 会自动打开 ModelSim 软件,ModelSim 软件打开后会自动编译仿真文件,然后加载仿真文件中的接口,并且自动运行一次仿真。
总之在点击 RTL Simulation 后就什么都不要做了,等着看波形就好了。
如果波形是红色的直线就表示参数未初始化,工程模块内部参数初始化可以在工程代码中做掉,工程输入输出参数则在仿真文件里初始化。
如果没有任何波形出现,那就重新检查一下仿真文件以及仿真文件使用过程配置是否正确。
我刚才在 New TestBench Setings 窗口将 End simulation at 设置为 1ms,而仿真文件中的时间单位也为1ms,所以第一次仿真运行时由于时间长度不够,导致波形都是一条直线。后面在 ModelSim 中修改仿真运行时间为 10000ms,再次运行,波形就都显示出来了。
仿真结果如下:

至此 Quartus II 15.0 与 ModelSim SE-64 软件联合仿真运行完毕
一个小小的联合仿真功能花了我两天时间,吐血中。。。
总结:在执着中痛苦,在痛苦中觉悟,觉悟之后如履平地,觉悟之前如临深渊
FPGA —— Quartus II 15.0 使用 ModelSim SE-64 2019.2 软件进行仿真的更多相关文章
- Quartus ii 12.0 和ModelSim 10.1 SE安装及连接
quartus ii 10.0后就没有自带的仿真软件,每次写完一个VerilogHDL都想简单仿真一下,结果发现没有了自带仿真软件.这时候就需要第三方仿真软件ModelSim 10.1 SE. Qua ...
- Altera Quartus II 15.0安装
写在前面的话 开始学习之前,我们首先应该选择并安装好自己的开发工具,那么我们用什么软件来编译代码呢?梦翼师兄推荐给大家的是Altera 目前最新的Quartus II 15.0 版本,当然啦,这 ...
- 关于Win10 环境下Quartus II 15.0器件列表无法下拉的解决方法
不知大家在Windows 10 64位系统环境下使用Quartus II 15.0在新建工程时遇到过这种问题没,在新建工程的过程是选择器件的列表无法下拉,只能看到一个器件型号,如图1所示. 图1 开始 ...
- 初次使用Quartus II 13.0的疑惑及解决方法
初次接触Quartus II 13.0,遇到了很多的问题,把问题总结如下: 1.Quartus II 13.0的安装及破解 下载地址:http://t.cn/Rh2TFcz,密码是:g3gc (参考贴 ...
- Quartus II 11.0 开始使用
一.Altera Quartus II 11.0套件介绍 所谓巧妇难为无米之炊,再强的软硬件功底,再多的思维创造力,没有软件的平台,也只是徒劳.因此,一切创造的平台——Quartus II 软件安装, ...
- centos 7 运行Quartus ii 17.0 标准版,下载程序时遇到错误error (209053): unexpected error in jtag server -- error code 89
对于错误error (209053): unexpected error in jtag server -- error code 89,它产生的原因在于,在linux系统下,Quartus ii的驱 ...
- 关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法
关于Quartus II 13.0对应开发NIOS II软件程序时报错Symbol 'NULL' could not be resolved问题的解决方法 近期在评估使用NIOS II处理器进行项目的 ...
- Quartus II 12.0 下载、安装和破解
转载:http://www.cnblogs.com/imapla/archive/2012/09/10/2678814.html 20130417 Quartus II 12.0 不支持波形仿真,推荐 ...
- Quartus II 14.0正式版 下载链接和破解器
Windows版本 必装组件: Quartus II http://download.altera.com/akdlm/software/acdsinst/14.0/200/ib_installers ...
随机推荐
- win10本机安装rabbitMQ
在win10环境下安装RabbitMQ的步骤 第一步:下载并安装erlang 原因:RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang. 下载 ...
- 2019牛客暑期多校训练营(第一场)H 线性基+计算贡献
题意 给n个整数,求满足子集异或和为0的子集大小之和. 分析 将问题转化为求每个元素的贡献次数之和. 先对n个数求线性基,设线性基大小为r,即插入线性基的数字个数为r,可以分别计算线性基内数的贡献和线 ...
- codeforces269B
Greenhouse Effect CodeForces - 269B Emuskald is an avid horticulturist and owns the world's longest ...
- ZAP-Queries【luogu3455】
题目大意 有不超过\(50000\)个询问,每次询问有多少正整数对\(x\),\(y\),满足\(x\leqslant a\),\(y \leqslant b\),并且\(gcd(x,y)=c\).其 ...
- MySQL_(Java)使用JDBC向数据库中修改(update)数据
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC向数据库中插入(insert)数据 传送门 MySQL_(Java)使用JDBC向数据库中删除(d ...
- fatal error C1189: #error: "Oops: min() and/or max() are defined as preprocessor macros. Define NOMINMAX macro before including any system headers!"
1.问题描述 vs2015 使用pg数据库的C++库文件4.0.1版本libpqxx.dll,包含头文件#include "pqxx\pqxx" 出现这个错误: fatal err ...
- 震惊!文科生如何三个月转行成为Java工程师?
点击上方“程序员江湖”,选择“置顶或者星标” 你关注的就是我关心的! 作者:以大橘为重链接:https://www.nowcoder.com/discuss/156087 楼主是19届应届生,去年在牛 ...
- Misc套路记录
1.对于给定的二维码图片不能直接扫描出来的可以进行反色在进行扫描,反色可以直接选中图片然后就会进行反色.2.局域网中抓取的数据包的加密方式可能是aes加密.3.凯撒加密可能是变种的凯撒加密,可能奇数偶 ...
- SRS之播放推流视频
1. 综述 首先,推流直播的配置文件如下: # rtmp.conf listen 1935; max_connections 1000; daemon off; srs_log_tank consol ...
- Nginx事件管理之概念描述
1. Nginx事件管理概述 首先,Nginx定义了一个核心模块ngx_events_module,这样在Nginx启动时会调用ngx_init_cycle方法解析配置项,一旦在 nginx.conf ...