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 ...
随机推荐
- 线程安全 Vs 非线程安全
线程安全:多线程访问时,采用了加锁机制,当一个线程读取数据时,其他线程不能访问直到该线程读取完毕.不会出现数据不一致或者脏数据. 非线程安全:不提供数据保护,可能出现其他线程访问时更改数据而该线程得到 ...
- this 的用法 为原始类型扩展方法
namespace Demo { public static class Extends { // string类型扩展ToJson方法 public static object ToJson(thi ...
- MessagePack Java Jackson 序列化和反序列化 POJO 为 MessagePack 的数组类型用来与 msgpack-java:0.6 保持兼容性
在 msgpack-java 0.6 或者早期的版本中,POJO 在 MessagePack 中被序列化和反序列化为数组变量. 变量的顺序是基于 Java 类中变量的内部顺序了,这种本来是一种原生的序 ...
- jquery文章链接
好文链接 1.jQuery是js的一个库,封装了js中常用的逻辑: 2.调用jQuery: (1).本地调用,在script标签的src属性里写上jQuery文件的地址. (2).使用CDN调用jQu ...
- Java集合框架之接口Iterator
简述 Iterator迭代器的定义:迭代器(Iterator)模式,又叫做游标(Cursor)模式.GOF给出的定义是,提供一种方法访问一个容器(container)对象中各个元素,而又不需暴露该对象 ...
- MySQL_(Java)使用JDBC向数据库中删除(delete)数据
MySQL_(Java)使用JDBC向数据库发起查询请求 传送门 MySQL_(Java)使用JDBC向数据库中插入(insert)数据 传送门 MySQL_(Java)使用JDBC向数据库中删除(d ...
- Hadoop-2.7.5完全分布式搭建
1.在虚拟机上安装Hadoop完全分布式准备工作 1)这里使用的是VMWare软件,在VMWare上安装一个CentOS6.5,并再克隆两个机器配置相关MAC地址,以及配置机器名 2)三台虚拟机配置好 ...
- JNA调用DLL
1.引入pom <dependency> <groupId>net.java.dev.jna</groupId> <artifactId>jna< ...
- python3.8 := and python3.7 dataclass
代码示例 from dataclasses import field,dataclass @dataclass class People: name :str =field(init="张三 ...
- C++入门经典-例8.8-虚继承
1:以前讲到从CBird类和CFish类派生子类CWaterBird时,在CWaterBird类中将存在两个CAnimal类的复制.那么如何在派生CWaterBird类时使其只存在一个CAnimal基 ...