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 ...
随机推荐
- 第十一天 unittest参数化模块
unittest的工作原理:一下例子简单的描述了整个过程 def calc(a,b): return a//b import unittest,HTMLTestRunner import Beauti ...
- golang web实战之三(基于iris框架的 web小应用,数据库采用 sqlite3 )
一.效果:一个图片应用 1.可上传图片到uploads目录. 2.可浏览和评论图片(用富文本编辑器输入) 二.梳理一下相关知识: 1.iris框架(模板输出,session) 2.富文本编辑器.sql ...
- ftell函数
ftell函数用于得到文件位置指针当前位置相对于文件首的偏移字节数,在随机方式存储文件时,由于文件位置频繁的前后移动,程序不容易确定文件的当前位置. /*** a.txt ***/ asd gsder ...
- 22.Python赋值运算符(入门必读)
赋值运算符主要用来为变量(或常量)赋值,在使用时,既可以直接用基本赋值运算符“=”将右侧的值赋给左侧的变量,右侧也可以在进行某些运算后再赋值给左侧的变量. = 基本赋值运算符 Python 使用“=” ...
- SQL语句中 NOT IN 子句的“正确打开方式”
在写SQL语句的时候,若where条件是判断用户不在某个集合当中,我们习惯使用 where 列名 not in (集合) 子句,这种写法本身没有问题,但实践过程中却发现很多人在写类似的SQL语句时,写 ...
- shell编程-定时删除(30天)文件
1.创建shell touch /opt/auto-del-30-days-ago.sh chmod +x auto-del-30-days-ago.sh 2.编辑shell脚本: vi auto-d ...
- linux出现Redirecting to /bin/systemctl start mysqld.service,解决方法
上去就是一个命令 /bin/systemctl start httpd.service
- android data binding jetpack I 环境配置 model-view 简单绑定
android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...
- LNMPA是什么?
也许大家对LAMP.LNMP比较熟悉,LAMP代表Linux下Apache.MySQL.PHP这种网站服务器架构:LNMP代表的是Linux下Nginx.MySQL.PHP这种网站服务器架构.LNMP ...
- spring 过滤器- 过滤登陆请求路径(过滤静态资源跳转到登陆页面)
public class LoginedFilter implements Filter { /** * 排除的地址 */ private Map<String, Boolean> ign ...