超详细 quartus 新建工程 及 quartus 和 modelsim 联合仿真 以及 modelsim 的简易教程

本文详细介绍了如何使用Quartus和ModelSim进行FPGA项目的开发和联合仿真,包括新建工程、添加源文件及IP核、自动生成testbench文件、联合仿真的具体步骤及波形查看技巧。


(开始用docx写的,复制进md文件,然后一张张图复制进去,结果导到csdn图片还是没有,,,只能一张张复制到csdn)

一、新建工程

1. 新建工程

在这里插入图片描述

选择工程路径,填写工程名

在这里插入图片描述

添加文件可以之后手动添加

在这里插入图片描述

选板型

在这里插入图片描述

仿真工具选择

在这里插入图片描述

2. 添加源文件以及ip核并编译

添加代码文件

新建文件夹用来放源代码

在这里插入图片描述

其中主程序与工程名一致

在这里插入图片描述

添加代码文件

在这里插入图片描述

导入文件后可以调整文件顺序

在这里插入图片描述

这样便是添加成功

在这里插入图片描述

添加IP核

魔法棒添加IP核

在这里插入图片描述

可以新建,这里选择复制

在这里插入图片描述

打开看了一下,输出文件此时的路径是” …\Quartus\test2022814\source\”,也可以把路径选全,新生成的文件这里和原来的文件名取了一样的

在这里插入图片描述

之后一直next即可

这里应该是yes

在这里插入图片描述

多了一个文件

在这里插入图片描述

打开是这样

在这里插入图片描述

也可以把新生成的文件添加进来

在这里插入图片描述

编译

在这里插入图片描述

编译之后的warning也要看一下,有时候有变量忘记赋值,或者将a bit的变量错误地赋给b bit的变量等等不会报错但可能不符合编程者预期的问题,都可能在这发现

在这里插入图片描述

3. 自动生成testbench文件并添加路径到工程中

生成testbench文件

编译过后才可以生成testbench文件

在这里插入图片描述

可打开文件,方便后续修改

在这里插入图片描述

打开设置

在这里插入图片描述

如果建工程时没注意的话,这里可以修改仿真工具

在这里插入图片描述

这里可以修改仿真时间单位

在这里插入图片描述

此时如果重新生成testbench文件的话,就会覆盖原来的文件,选择yes

在这里插入图片描述

重新加载显示后看到1ps变成了1ns,先把testbench模块名复制一下

在这里插入图片描述

添加testbench路径

添加testbench文件

在这里插入图片描述

4. 再次打开工程

在这里插入图片描述

之后可以打开”\ simulation\modelsim\”路径下的testbench文件,注意文件类型要选vt

二、quartus和modelsim联合仿真

1. 联合流程

首先添加modelsim的路径

在这里插入图片描述

路径可以这样获得

在这里插入图片描述
在这里插入图片描述

网上说后面要加”\”,就是” …\Quartus\altera\13.0sp1\modelsim_ase\win32aloem\”

在这里插入图片描述

路径添加好后,之后就不用管了

不用联合仿真,直接用modelsim仿的话,好像生成的那个mult18_16.v调用就会报错,因为无法链接到它所用到的其他库

应该也可以把它直接或间接用到的库都复制过来,运行也没有报错,这种方法的直接modelsim仿真就没试过了

在这里插入图片描述

生成的testbench里这几句不知道干嘛的,应该可以删去
在这里插入图片描述在这里插入图片描述
在这里插入图片描述

写好testbench之后就能联合仿真了。

在这里插入图片描述
因为testbench中”$finish”语句,仿真时会出现对话框,选”否”,否则会直接退出

在这里插入图片描述
这么做的好处是波形会只仿真到”$finish”语句

在这里插入图片描述
之后就能看到波形了

2. 波形查看

基本上modelsim界面每个操作都会在下面命令行用命令实现,可以按”↑”键查看

添加新的变量

默认是显示testbench模块里定义的变量,选择Instance里的对应实例,可以在Objects看到对应实例内的变量

在这里插入图片描述

可以右键添加波形,直接Ctrl+W,或者直接把变量拖到窗口,此时添加进来的变量还没有波形

在这里插入图片描述

波形全部添加完毕后,按Ctrl+G可以自动按照来源分类

在这里插入图片描述

也可以手动分组,但是好像不可以嵌套分组

在这里插入图片描述
修改波形后,一分组好像会回到默认波形格式,因此可以先分组后再调整波形的格式

波形查看与格式调整

波形刚出来的时候可以按F看波形全貌,按C可以以光标为中心进行放大

在这里插入图片描述
如图为所显示的波形,可以随意拖动波形改变位置,

在这里插入图片描述
可以让波形名字显示地更简单
在这里插入图片描述在这里插入图片描述
可以显示其他数值显示方式,好像Decimal是有符号10进制,Unsigned是无符号10进制

在这里插入图片描述
这里可以以模拟的方式显示波形,其中automatic模式是自动根据幅度进行显示,但好像是要有波形(刚添加的波形没波形)才能用,因为需要获取波形极值

在这里插入图片描述
也可以选择custom方式

在这里插入图片描述

波形设置好后重新仿真显示波形

此时添加的变量还未显示波形

在这里插入图片描述
依次按这两个按钮,就可以查看波形

对应命令行命令“restart”和”run -all”

此时所有的变量就都有了波形

在这里插入图片描述

3. 保存波形和加载波形

按Ctrl+S可以保存波形,方便下次载入,默认为wave.do,可以根据波形用途取不同的名字方便查看

每次加载波形都是在现有波形后面追加,可以先把现有的波形全选并删除

如果修改了testbench,可以先重新编译一下

在这里插入图片描述
加载相应波形

在这里插入图片描述
之后“restart”和”run -all”就可以显示波形

4. 修改代码后重新观察波形

如果模块部分代码修改,只编译testbench貌似不够,可以关掉modelsim重新仿真

也可以在命令行按”↑”,找到类似” do FpgaGardner_run_msim_rtl_verilog.do”的语句,或者输”do 工程名_run…”应该可以自动匹配,运行,应该和关掉modelsim重新仿真等价

重仿后波形显示的是默认testbench里的变量,之后load加载波形文件,“restart”和”run -all”就可以查看修改代码后的波形

### Quartus 创建新工程时的报错解决方案 在使用 Quartus II 软件创建新工程时,如果遇到错误问题,通常需要从以下几个方面进行排查解决: #### 1. 检查软件环境配置 Quartus II 的正常运行依赖于特定的系统环境配置。如果系统中存在不兼容的设置或冲突,可能会导致创建工程时报错。例如,某些情况下,操作系统中的特殊模式(如上帝模式)可能会影响 JVM 的运行[^2]。确保关闭所有可能导致冲突的系统功能,并重新启动 Quartus II。 #### 2. 确保 JDK 版本匹配 Quartus II 内部使用了 Java 技术,因此需要确保系统中安装的 JDK 或 JRE 版本与 Quartus II 的要求一致。如果版本不匹配,可能会导致类似 `JAVA_JVM` 运行错误的问题。可以通过以下步骤验证: - 检查 Quartus II 安装目录下的 `quartus.sh` 或 `quartus.bat` 文件,确认其指定的 JDK 路径。 - 如果路径无效或版本不符,请下载并安装符合要求的 JDK 版本。 #### 3. 验证工程文件路径 Quartus II 对工程文件路径有一定限制,尤其是路径中包含特殊字符(如中文、空格等)时,可能会引发错误。建议将工程文件保存在简单的英文路径下,例如 `C:\QuartusProjects\MyProject`。 #### 4. 检查许可证配置 Quartus II 的许可证文件(`.lic`)是其正常运行的重要组成部分。如果许可证配置错误或过期,可能会导致工程创建失败。可以尝试以下操作: - 打开 Quartus II,选择菜单 `Tools -> License Setup`,检查许可证状态。 - 如果许可证无效或过期,请联系供应商获取新的许可证文件,并按照说明完成安装。 #### 5. 使用正确的创建流程 在 Quartus II 中创建新工程时,需遵循标准流程以避免潜在错误。具体步骤如下[^3]: 1. 打开 Quartus II,选择菜单 `File -> New Project Wizard`。 2. 按照向导提示,指定工程名称存储路径。 3. 添加设计文件(如 `.vhd` 或 `.bdf`),并选择目标设备型号。 4. 完成向导后,检查工程设置是否正确。 #### 示例代码:验证工程路径 以下是一个简单的脚本,用于检查路径是否符合 Quartus II 的要求: ```python import os def validate_path(path): invalid_chars = ['<', '>', ':', '"', '|', '?', '*'] for char in invalid_chars: if char in path: return False return True project_path = "C:\\QuartusProjects\\MyProject" if validate_path(project_path): print("路径有效") else: print("路径包含非法字符,请修改") ``` ### 注意事项 如果上述方法无法解决问题,建议参考 Quartus II 的官方文档或技术支持论坛,查找与具体错误信息相关的解决方案。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值