Modelsim和Quartus II联合使用

Posted mengyi1989

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Modelsim和Quartus II联合使用相关的知识,希望对你有一定的参考价值。

写在前面的话

  在这里梦翼师兄想特地强调一下Modelsim 这个软件,那么这个软件到底是做什么的呢?在这里,我问大家一个问题,假设我们有一块硬件电路板设计完成以后,不知道功能是否正常,那么我们需要怎么做呢?答案很简单的啦,就是我们所谓的“测试”,给电路板上电以后,输入一定的测试激励,观察电路板有什么样的结果输出,如果输出结果和输入激励的对应关系是正确的,说明电路板没有问题,反之,如果电路板有问题,通过这种方式,我们也能最终确定是哪一个部分出现了问题。

     测试硬件电路板是这样,那么测试我们的代码逻辑自然也是同样的道理。我们写的是硬件描述语言,代码写完以后,就可以等效于在FPGA片内实现了一个硬件电路块,那么这个电路块是否能够按照我们的预期进行工作呢?我们也需要对他进行测试。当然了,这里的测试,指的可不是用一堆的导线、电源线连接起来,组成密密麻麻的网络去做测试,如果是这样,以梦翼师兄的智商,估计早就干不下去了呢!

     现在的主流不就是电子设计自动化吗?Modelsim 就是这样神奇的一款软件,我们只需要对其进行简单的编程,就可以模拟真实环境下各种复杂信号的输入,利用软件提供的显示界面和窗口,我们可以方便的查看我们代码逻辑所有信号线的电平变化,可以帮助我们迅速定位问题所在。 

Quartus II和Modelsin联合使用

     根据前面小节的步骤,我们已经安装好了开发必备的软件工具QuartusII 15.0 以及仿真工具Modelsim。可是,这两个工具如何使用呢?本节,梦翼师兄将通过一个很简单的计数器工程教给大家两个工具的常用使用方式。

     首先,新建一个文件夹,并命名一个有意义的英文单词(注意:文件所在路径不能包含任何的中文字符或汉字)

技术图片

       然后关闭该文件夹,双击并打开桌面上的Quartus软件

技术图片

点击File->New Project Wizard 选项,创建一个新的工程,出现如下界面

技术图片

点击Next】

 

技术图片

然后选择工程所在路径如下

 技术图片

给工程命名如下(建议:工程名称最好和文件夹名称一致)

 技术图片

点击【Next】

技术图片点击【Next】

技术图片

 

 

 上边这个界面是让我们添加现有的已经写好的文件,因为我们没有写好的文件,所以忽略这一步,直接点击【Next】

技术图片

当前界面下,我们可以选择自己所使用的具体芯片型号,梦翼师兄选择芯片型号如下:

技术图片

 

点击【Next】

 技术图片

选择仿真工具和语言如下

技术图片

点击【Next】,出现我们的工程设置报告

技术图片

 

 

 点击【Finish】退出,完成工程建立

 技术图片

通过以上步骤,一个新的工程就建立完毕了,接下来如果要录入代码,我们需要新建一个文本编辑器。

点击File->New 出现如下对话框

 技术图片

点击Verilog HDL File】,创建一个Verilog的文本编辑器,选中以后点击【OK】

技术图片

接下来,我们就可以在这个白色的编辑界面下录入我们的代码

技术图片

代码编写完毕之后我们需要对其进行编译,检查是否有语法错误。编译的快捷方式有两种ctrl+L】和【ctrl+K】。【ctrl+L】指的是全编译,软件不但会检查代码的语法,同时还会布局布线,将代码映射成具体的网表电路,如果我们需要将代码下载到开发板则在下载之前必须进行一次全编译,全编译的时间也相对较长。【ctrl+K】指的是普通的编译,只是检查语法错误,编译速度较快。在这里,梦翼师兄点击【ctrl+L】,编译以后的结果如下:

技术图片

上图所示界面为资源报告,编译结束以后,软件会告诉使用者片内资源的使用情况。在底侧的报告栏提示“EDA Netlist Writer was successful”,并且没有给出红色的错误报告,说明我们的代码语法正确。

刚刚说过,编译通过只能说明我们的语法没有问题,那么逻辑呢?我们想要的功能可以实现吗?这个就不得而知了,毕竟软件并不知道我们的最终目的。因此,我们必须借助于另外一个工具Modelsim进行仿真,通过波形查看具体的逻辑是否正确。

那么如何才能进行仿真呢?大家可以将仿真理解为我们平时测试电路板的过程,就是给待测单元一定的输入,观察它有什么样的输出以及内部过程如何。因此,在调用Modelsim之前,我们需要编写一段测试激励,给待测模块输入测试激励。现编写测试代码如下:

技术图片

测试代码编写完毕之后,我们首先需要对软件进行一些设置。如下图所示,右键点击工程名称“counter”

技术图片选择“Settings”,出现如下界面

 技术图片

点击选择“Compile test bench”

技术图片

点击【Test Benchs…】

技术图片

 

 

 

点击【New】

技术图片

 

 输入测试文件模块名称如下

技术图片

在“File name”这一测点击【…】

技术图片

 

 选择tb.v文件

 技术图片

 

点击【Open】

 

技术图片

点击【Add】

 

技术图片

 

 

 

点击【OK】

 

 

 

技术图片

点击【OK】

技术图片

点击【OK】,退出设置即可。通过上面的步骤,Modelsim和Quartus级联的设置就完成了。返回Quartus界面如下

技术图片

选择Tools->Run Simulation Tool->RTL Simulation

技术图片

点击以后出现如下Modelsim界面

 技术图片

点击stop按钮,停止掉现在的波形

技术图片

然后【ctrl+A】选中所有的信号

技术图片

点击键盘上的Delet键,删除全部波形

技术图片

在“sim”工具栏选中并右键点击counter

技术图片

接下来选择【Add Wave】(注:通过这种方式,我们可以在波形中看到所有的输入输出变量以及内部变量

技术图片

点击“Toggle leaf names<->full names”

技术图片

点击【ctrl+G】实行自动分组

技术图片

右键选中信号的名称

技术图片

在【Radix】选项中选择无符号类型数据,改变信号的显示进制(注:大家可以根据需要选择其他的显示进制

技术图片

点击【ctrl+S】,保存波形

技术图片

点击【OK】确认保存

技术图片

接下来,在命令窗口Transcript)输入restart指令

技术图片

点击“回车键”确认,弹出如下对话框

 技术图片

继续点击“回车键”

 技术图片

接着在命令窗口输入“run 0.1ms” (注:具体时间可以自定义

技术图片继续点击“回车键”确认

 技术图片

用鼠标点击波形界面

技术图片

通过上面工具栏可以缩小或者放大波形,可以查看波形的任意位置

技术图片

通过以上过程,我们完成了Quartus和Modelsim的联合设计、调试过程,我们之后的学习都以此操作为基础,梦翼师兄在这里建议大家一定要勤加练习,掌握好软件的基本用法。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于Modelsim和Quartus II联合使用的主要内容,如果未能解决你的问题,请参考以下文章

Quartus II 与ModelSim-Altera联合仿真FFT IP核之FFT IP核分析

Quartus II 与ModelSim-Altera联合仿真FFT IP核之FFT IP调用与例程数据验证-lab1

[从零开始学习FPGA编程-20]:快速入门篇 - 操作步骤4-2-Altera Quartus II工具的快速使用(modelSim联合仿真程序下载到Altera开发板)

如何在Quartus II 里使用Modelsim

Quartus系列:Quartus II 调用ModelSim仿真调试

Verilog的IDE Quartus II