Quartus 18.1 前仿真全过程(Modelsim、VWF)

前言 

相关介绍

由于Quartus软件在9.0版本之后取消了自带的仿真器,因此使用Quartus软件需要使用第三方软件进行仿真验证。文中选用的是Modelism软件。这篇文章里使用的软件版本为:

Quartus Prime 18.1 Lite Edition

Modelsim SE-64 10.4

其他版本未测试,相近的版本应该可以,太久远的版本可能会有较多不一致的地方,请审慎参考。

本篇文章是自己学习使用Quartus软件仿真的归纳总结。网络上相关的文章很多,但是存在软件版本不同,关键细节缺少等问题。同时,还存在诸多无用信息,需要仔细筛选。找到的两篇软件版本与我使用的软件版本相差不大(有一篇完全一样)、细节详实的博文,给我提供了很大的帮助,链接如下:

[1]https://blog.csdn.net/qq_41612661/article/details/105092519 Quartus和Modelsim联合仿真详细过程

[2]https://blog.csdn.net/qq_44897194/article/details/105444743 【Quartus II 17.0 VWF仿真设置】

仿真方式

文章介绍的有两种仿真方式:

1、在Quartus软件仿真,仿真操作在Modelsim执行(即打开Modelsim软件);

2、在Quartus软件中打开“University Program VWF”并进行设置已完成仿真。

实际上两种方式都是基于对Modelsim的调用,只是调用和呈现的方式不同。

需要特别说明的是:

1、这里的仿真均指功能仿真(即Functional Simulation,又称前仿真),不包括时序仿真(即Timing Simulation,又称后仿真);2、使用的是Verilog HDL语言。

仿真过程

1、在Quartus中关联Modelsim,即在Quartus中添加Modelsim路径

具体操作是:菜单栏Tools->Options->EDA Tool Options。如下图所示,Modelsim栏选择的是即是Modelsim路径(是Modelsim软件安装目录下的win64文件夹,也可通过右击Modelsim,点击属性,属性窗口的目标一栏所列的地址就是所需要找寻的路径)

至此,完成Modelsim与quartus的关联步骤。

2、新建工程

由于仅考虑前仿真,因此在新建工程时,芯片按照默认设置即可,需要注意的是这一步,需要选择Modelsim,不可以按照默认来!!

Files->New,选择Verillog HDL File

在.v 文件里输入代码,进行编译。项目顶层模块名需要和工程名字一致。

此处以跑马灯/流水灯作为示例文件,工程名为

该工程仅有一个模块,则模块名也需要为waterfall_light,此处进行错误示范,令模块名为led_run,

编译时即出现如下错误

Error (12007): Top-level design entity "waterfall_light" is undefined
将模块名更改之后,重新编译,结果如下:

 

3、完成.v文件的编译之后,需要进行仿真,首先介绍

在Quartus软件仿真,仿真操作在Modelsim执行(即打开Modelsim软件)

步骤:菜单栏选择Processing->Start->Start Test Bench Template Writer,生成测试文件Test Bench模板,打开测试模板文件,编写测试程序

生成测试文件模板(生产的测试文件名称为waterfall_light.vt

打开测试文件模板

进一步点击“simulation”,不做改动,则将如下图所示,显示无文件

实际上,应该对文件类型进行规定,如下所示,选择“All Files”即可

依据模板编写测试文件,编写完成进行保存,复制此处的模块名“waterfall_light_vlg_tst”

如下操作:

点选框图所示

完成设置,接着即可进行前仿真,菜单栏Tools->Run Simulation Tool->RTL Simulation

放大如下所示(程序是跑马灯程序)

 

 

接下来介绍,“在Quartus软件中打开“University Program VWF”并进行设置已完成仿真”

在进行仿真前,需要编译器件库

点击Output directory,选择相应的simulation文件夹中的qsim文件夹,最后点击Start Compilation。

这里存在一个问题,有时候在simulation文件夹中没有qsim文件夹,只有modelsim文件夹,如下所示

选择这个文件夹,点击Start Compilation,也会有编译界面(而且一般编译不出错),但是在后续的VWF前仿真时,会报错。

如果没有qsim文件夹,则暂时跳过这一步。

接下来的操作为:

  1. 新建仿真波形文件Files->New->University Program VWF;
  2. 右击/双击左侧空白界面,点击Insert Node or Bus;
  3. 选择Node Finder->List,选择需要仿真的端口,保存设置;
  4. 添加各类输入激励,选择Run Functional Simulation完成前仿真。

上方菜单栏是各类激励输入,按照需求进行选择。

在保存文件时,需要注意的是,有时将默认文件名改动后也可能会导致出错,因此我一般按照默认文件名进行保存。(具体出错的原因没有细究,也可能是因为其他原因导致的,实际上与默认文件名无关(比如当时没有选择qsim文件夹编译器件库)仅供参考!!)

由于缺少编译器件库,此处报错,返回进行补充,此时可见qsim文件夹

选中qsim文件夹,进行编译。完成编译后,再返回至VWF文件,重新进行前仿真。

仿真结果如下图所示:

 

 

 

这里补充一个错误提示:

Error (10170): Verilog HDL syntax error at XXX.v(1) near text: â. Check for and fix any syntax errors that appear immediately before or at the specified keyword.

诸如此类,一般都是半角符号和全角符号的问题,或者是缺少“;”,或者是begin和end的问题,或者是其他一些奇怪的原因。

解决这类问题,大多数时候,把报错部分的代码重新敲一遍就可以了。

 

 

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值