FPGA中的Modelsim自动仿真,就是在Quartus II 软件中调用Modelsim软件进行仿真。用流水灯的工程演示一下自动仿真步骤。

首先打开led工程。

编译工程

代码没有错误,下面就可以生成仿真文件了。

工具栏中选择 Tools --- Options

打开的Options选项中选择 EDA Tool Options,然后在右边ModelSim的右边添加仿真软件的按照路径。

然后点击OK按钮,退出设置。

工具栏中选择 Assignments---Settings

在打开的设置对话框中选中左边的 EDA Tool Settings,在右边的选择Simulation的仿真工具为ModelSim,代码格式为 Verilog HDL。选择完成后点底下的OK按钮。

在工具栏中选择 Processing---Start---Start Test Bench Template Writer

这时软件最下方,信息提示栏会显示,测试文件led.vt已经生成。

这时候在led工程目录中就能看见生成的测试文件。文件在 led\par\simulation\modelsim文件夹中

为了方便区分哪个是测试文件,将文件重命名一下,将 led.vt 改成 led_tb.vt,给文件名后面加上 _tb,代表这是测试文件。

将修改后问led_tb.vt文件直接拖动到Quartus II软件中打开

打开文件后,文件里面已经有软件自动生成的测试代码了。不过这个代码不能直接用,还需要自己修改一下。

首先修改一下时钟和文件名,然后将里面没用的代码删除。

下来编写测试文件

在初始化中设置系统时钟和复位默认值都为0,然后延时100个时钟周期,再讲复位信号拉高。always 语句用于产生系统时钟,由于系统是50MHz,时钟为20ns,所以always语句,每隔10ns对系统时钟取一次反。

测试文件就编写好了,下来编译一下测试文件。

点三角形上面带对勾的那个按钮,开始编译当前测试文件。

编译完成后,会显示代码的错误和警告数量,没有错误的话就可以添加测试文件了。

工具栏中选择 Assignments----Settings

在打开的设置界面中选择 EDA Tool Settings ---- Simulation

下来选中Compile test bench,然后点击后面的Test bench 按钮,准备添加测试文件。

在打开的界面上选择右边的New按钮,准备添加新文件

在打开的对话框中 Test bench name 后面输入测试文件名 led_tb,这时候第二行也会自动填写上led_tb。

然后点File name后面 三个点的按钮,添加测试文件。

选择 \led\par\simulation\modelsim下的led_tb.vt文件。点open按钮。

这时候测试文件路径就被添加到File name 后面,然后点Add按钮,添加文件。

这时刚才选择的测试文件路径就会被添加到下面的列表中。

然后点OK按钮,这时会弹出一个确定界面。

直接点OK按钮,这时就会返回到设置界面。

测试文件已经被添加进去了,然后点底下的Apply按钮,在点OK按钮。

这时就可以使用自动仿真功能了。

点工具栏中的 Tools -- Run Simulation Tool -- RTL Simulation

这时就会自动打开仿真界面,默认情况下看不到波形显示界面。

在信息提示框中会打印出测试文件中编写的字符串。说明测试文件系统启动成功。

如果要显示波形时,将鼠标停留在任务栏时,会显示出波形显示界面的缩略图。用鼠标选中右边的波形显示界面。

切换到波形显示界面后,看不到任何波形,这时要点一下红色的stop按钮,停止仿真。

停止仿真后就可以看见波形了

默认情况下波形显示的比较大,看不清楚,需要点缩小按钮,将波形缩小到能看清为止。可以将led波形前面的加号点一下,展开led的波形,就能看到四个led的波形变化。

如果感觉显示的名称比较长的话,在工具栏中选择 Format ---- Toggle leaf Names,这样就可以隐藏名称的路径。

这样就只显示信号名称,不显示路径。看起来就会比较清晰。

默认情况下仿真会一直进行,除非点停止按钮才会停止仿真。如果想要仿真运行指定时间后自动停止。可以在仿真时间设置框中直接填写要运行时长。

比如想要运行10us后停止运行,直接输入10us。

点复位按钮

在出现对话框中直接点OK按钮,这时候波形显示区域就会全部变成空白,也是就是全部为黑色。

下面点开始运行按钮

这时软件运行10us后,就会自动停止。

如果想要显示其他波形的话,在信号设置界面上选中要添加的波形,然后单击鼠标右键,选择Add Wave

在波形显示界面就会看到添加的信号,但是此时后面是没有波形显示的。需要先复位一次,然后重新运行。

复位之后重新运行一次,这时就能看到新添加信号的波形了。

关于如何新建工程参考  FPGA学习---Quartus II新建工程

FPGA学习---Modelsim自动仿真相关推荐

  1. ZYNQ之FPGA学习----Vivado功能仿真

    1 Vivado功能仿真 阅读本文需先学习: FPGA学习----Vivado软件使用 典型的FPGA设计流程,如图所示: 图片来自<领航者ZYNQ之FPGA开发指南> Vivado 设计 ...

  2. FPGA学习-5:仿真

    在实际FPGA开发过程中 我们不可能直接将代码烧录进板子里进行测试 一是我们无法观察到其内部逻辑变换 而是万一代码中的逻辑有问题 直接进行甚至会导致芯片损坏 毕竟FPGA无法像单片机那样可以利用串口打 ...

  3. 脚本化Questasim/Modelsim自动仿真——脱离联合仿真

    目录 引言 脚本仿真步骤分析 完整的脚本代码 保姆级使用教程 扩展 引言 之前对于工程一直采用的是vivado+questasim联合仿真的模式,对于大型工程来说这个是合适的,因为需要调用一些ip库和 ...

  4. 国产智多晶FPGA使用Modelsim仿真RTL设计方法

    大家好,我是小梅哥,这里给大家介绍国产FPGA厂家"西安智多晶"微电子的FPGA使用Modelsim软件仿真智多晶FPGA的RTL设计的方法.本博客将陆续发表更多国产FPGA的开发 ...

  5. FPGA学习笔记(六)Modelsim单独仿真和Quartus联合仿真及signaltap使用

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  6. FPGA学习笔记(五)Testbench(测试平台)文件编写进行Modelsim仿真

    系列文章目录 一.FPGA学习笔记(一)入门背景.软件及时钟约束 二.FPGA学习笔记(二)Verilog语法初步学习(语法篇1) 三.FPGA学习笔记(三) 流水灯入门FPGA设计流程 四.FPGA ...

  7. FPGA学习之路—Vivado与Modelsim联合仿真

    Vivado与Modelsim联合仿真 笔者在学习FPGA过程中遇到了如何使用Vivado和Modelsim进行联合仿真的问题,特此记录. 首先确定版本 笔者Vivado用的是2018.3版本,先是随 ...

  8. 小梅哥FPGA学习笔记——开发流程及仿真示例

    开发流程及仿真示例 FPGA整体设计开发流程 1. 设计定义 2. 设计输入(Quartus II) 3. 分析和综合(Quartus II) 4. 功能仿真(modelsim-altera/mode ...

  9. FPGA学习altera 系列 第十七篇 自动售货机设计

    今天给大侠带来"FPGA学习系列 altera"系列,持续更新.此学习心得是本人之前所写,所用设计软件为Quartus II 13.1,现Quartus II 新版本已更新到19+ ...

最新文章

  1. mybatis中config.xml文件的解析
  2. Python 计算机视觉(三)—— 数字图像处理基本操作
  3. Jenkins实战演练之Linux服务器快速搭建
  4. GDCM:对dicom文件的简单Scanner的测试程序
  5. [转]C#读写xml文件
  6. LeetCode 1834. 单线程 CPU(排序 + 优先队列)
  7. observable java_Observable基本用法(RxJava)
  8. [裴礼文数学分析中的典型问题与方法习题参考解答]4.3.14
  9. 加密技术,给邮件安全加上一把锁
  10. php图片缩放比例缩放,php图片等比例放大与缩小的方法举例
  11. js去空格的其他方法
  12. linux 控制音量大小,linux 控制音量大小
  13. SpringAOP的实现原理
  14. 联想计算机启天m6900价格,联想启天m6900内存及基本【参数介绍】
  15. 当我们在谈论HTTP队头阻塞时,我们在谈论什么?
  16. 朝花夕拾 - 2020 1024
  17. known_hosts有什么用?
  18. 应用计算机测定电阻伏安特性,实验: 应用计算机测线性电阻伏安特性
  19. Android 传感器开发详解
  20. error LNK2001: 无法解析的外部符号 _DllMainCRTStartup@12

热门文章

  1. AES加密的C语言实现
  2. 【挨踢人物传】tao61:做一个许三多式的IT攻城狮(第2期)
  3. UITableView 编辑和删除行
  4. Mvc检查图片格式后上传
  5. Sql Server2008中自定义函数调用存储过程解决方案
  6. 匿名类型(C# 编程指南)
  7. (转贴)正则表达式学习心得体会(5)
  8. spock做post请求get请求,在springboot环境下使用gradle构建工具的demo,IDEA的开发工具
  9. 接口请求(get、post、head等)详解
  10. mp4剪辑器_想学视频剪辑,可是专业的视频软件太难,来试试这软件吧!