现今各大高校都在让学生安装 Modelsim SE-64 10.4 和 Quartus II 这两个上古级别软件做数字电路设计相关的课程设计和实验,但是安装破解十分繁琐,能安装上的已经是佼佼者了,我发现了Quartus Prime Lite Edition这个最新的免费版,他能覆盖数字电路设计实验课程所需的所有功能可以直接安装无需破解免费使用,但是过程中踩了很多的坑,下面我来完整教学一下这个软件是如何安装并使用的。

下载Quartus Prime Lite Edition(写代码,Quartus II的最新版)和Questa-Altera FPGA and Starter Editions(看波形,Modelsim SE的最新版)

如果你下面的没看懂,下载并安装参考我的这个傻瓜教程:https://www.sorkai.com/archives/quartus

关于Devices(设备库)不同学校下载的说明

此处我推荐下载Cyclone IV device support,对于我们学校(大多数学校)来说做的实验用的板子都是上古产品,我在我们的教程上看到了EP1C系列芯片(代表 Cyclone I 系列 (第一代)。发布于 2002年左右),但是这系列的芯片早已停产且不受新的仿真器的支持了,如果你们学校真的要用EP1C系列实体芯片的话芯片可以选择Cyclone IV E 系列下的任意型号直接使用,做仿真实验没啥区别。

像是我们学校的课程没有实体电路板,也必须下载并安装一个“虚拟芯片”库,因为这事 Quartus 的工作流程所必须的

对于大多数有实体板子的学校来说 90% 的概率是 Cyclone IV

如果你的板子比较新,可能是 Cyclone 10 LP ,可以下载这个

所以如果你不懂我推荐下载Cyclone IV device support!

安装Quartus Prime Lite Edition和Questa-Altera FPGA and Starter Editions

  1. 把下载完的三个文件放在同一文件夹下,先运行 Quartus 的安装程序,它通常会自动检测到同目录下的 Questa 和 Device 文件并一起安装。如果没检测到,就装完主程序后再分别运行另外两个安装包

  2. 这里运行QuartusLiteSetup开头的文件,剩下两个会自动识别安装

一路 Next

一定要像图片中这样选择

剩下就是Next,然后耐心等待

像是我们学校仿真实验没有硬件最后安装结束时按照下图这样选择:

解释一下这几个选项
  • Install USB Blaster driver -> [ ] 去掉勾选

  • Install USB Blaster II driver -> [ ] 去掉勾选

  • Install USB Blaster III driver -> [ ] 去掉勾选

  • Install UART FTDI driver -> [ ] 去掉勾选

    • 理由: 这四个全是给物理下载线(把代码烧录进芯片的那个黑盒子)用的驱动。你连板子都没有,装这些驱动除了占用系统资源、增加开机弹窗风险外,没有任何用处。

  • Install JTAG Server as a Windows service... -> [ ] 去掉勾选

    • 理由: 这是一个后台服务,只有你需要远程调试或者在实验室共享板子时才用。学生党千万别开,否则每次开机它都在后台偷吃你的内存。

  • Create shortcuts on Desktop -> [√] 必须勾选

    • 理由: 方便你下次找到它。

  • Launch Quartus Prime Lite Edition -> [√] 勾选

    • 理由: 装完了赶紧运行一次,看看能不能正常打开,有没有报错。

  • Provide your feedback -> [ ] 去掉勾选

    • 理由: 没必要浪费时间填问卷。

安装完成!

使用Quartus Prime Lite Edition

  • 打开Quartus (Quartus Prime 25.1std) Lite Edition

  • 在软件左上角选择 File - New Project Wizard 新建项目

  • 这个介绍页选择 Next

  • 点击红框中的三个点选择项目存放位置,绿框中填写项目名称,黄框中填写入口文件名称,然后 Next

注意:这个黄框中的入口文件名称是个坑,图片中填写的是默认的和项目名称一样的名字,这在一些学校的教程中是这样写的,但是会造成后面波形仿真时找不到入口文件,所以这里其实应该填写你真正的入口文件,但是现在图片中这种写法也可以,就是后面需要特殊配置,后面会讲到。如果你没理解我在说什么就不要改这个,让他和项目名保持默认吧。

  • 选择 Empty Project 空项目,直接点击Finish(如果你有特殊配置需要就点Next自己设置吧)

  • 选择 Yes

  • 项目就新建好了

  • 点击左上角新建文件,类型选择 Verilog HDL File ,点 OK

  • 编写你的HDL代码(这里是个简单的加法器模块),点击左上角 保存 按钮,在弹出的窗口中点击保存

  • 如果你还有代码,比如测试程序,那就按照上面的步骤新建并编写程序,然后保存,但是注意文件名不能相同,我这里是加法器的测试程序

  • 程序编写完以后点击上方 Processing - Start Compilation 开始编译代码,或者点击橙色框里的那个编译

  • 等待编译成功

  • 这时使用Quartus编写并编译HDL代码就完成了

使用 Questa 查看仿真波形

这步坑很多,需要你仔细查看

如果你卡在某一步了,比如申请许可证,实在不行就用老的Modelsim SE吧,我做了快速安装和一键破解脚本:https://www.sorkai.com/archives/modelsim

获取 Questa*-Intel® FPGA Starter Edition SW-QUESTA 许可证

教程重点解决Fatal License Error,点击查看具体表现

Fatal License Error

Unable to checkout a license. Make sure your license file environment variable (SALT_LICENSE_SERVER) is set correctly and then run 'lmutil lmdiag' to diagnose the problem.

这将是全网第一份把RTL Simulation的许可证申请和配置说明白的教程,准备好了,教程正式开始!

  • 填写你的邮箱并点击下一步

  • 填写你的个人信息(别填我的,,,,,),然后点击下一步

  • 填入验证码,点击创建账号

  • 然后选择身份-学生,下一步

  • 核对信息,提交

  • 这里提示注册成功,创建账号要等待5-10分钟

  • 这是一个大坑,他说5-10分钟,但是时间实际要很久,我等了两个半小时才收到邮件,当然也可能更久

  • 等到你收到类似下面的一封邮件再开始后面的操作,这期间你可以干点别的

  • 输入你注册时填写的邮箱,点下一步

  • 填入验证码,点登录

  • 选择接受

  • 这个地方选择下一步

  • Authenticator大概率会配置失败,所以这里选择 设置其他身份验证应用

  • 然后选择 设置其他登录方式

  • 选择使用电话

  • 输入手机号,选择通过短信发送验证码(下边的“调用”是翻译错误,这个是call--电话呼叫验证)

  • 输入验证码,点击下一步

  • 点击完成

  • 先点击小箭头展开,再点击接受

  • 点击获取免费许可(Sign up for Evaluation or No-Cost Licenses)

  • 选择 Questa*- FPGA Starter Edition (License: SW-QUESTA) ,点击下一步(Next)

  • 点击新建电脑

  • 填写电脑的名称(你自己起名)、电脑类型选网卡ID(Computer Type--NIC ID)、许可证类型选固定许可证(License Type--FIXED)、这个主要计算机 ID(Primary Computer ID)是重点我来教大家怎么看

查看 主要计算机 ID(Primary Computer ID)

请严格执行以下操作:

  1. 按下 Win + R,输入 cmd,回车打开黑窗口。

  2. 复制并粘贴 下面这行命令(注意:如果你改了安装路径,请自行替换前面的 C:\altera_lite\25.1std... 部分):

    C:\altera_lite\25.1std\questa_fse\win64\lmutil.exe lmhostid

    (注意:如果提示找不到路径,请去文件夹里找到 questa_fse\win64 目录,把 lmutil.exe 拖进黑窗口,然后后面加个空格和 lmhostid)

  3. 按回车运行。

  4. 查看返回的信息引号中的就是你的Primary Computer ID,图片里是c4474e191f4a

如果你真的运行不明白这个命令其实网上还有个图形化的方法,但是不准,不一定成功
  • 在Quartus软件中点击 Tools -- License Setup

你会在下面的 Local system info -- NIC 中看到你的 NIC ID ,情况好的话你的电脑只有一个网卡(包括虚拟网卡),那么这个NIC ID就是你的Primary Computer ID,但是大多数情况你会看到超过一个的NIC ID,就像下图这样,这里面只有一个是你真正要用的Primary Computer ID,只能猜着一个一个试(通常00或ff开头的不是)

所以不推荐这个方法

继续申请许可证

  • 把你的Primary Computer ID 填入网页点击保存(Save)

  • 勾选阅读并同意条款,点击生成(Generate)

  • 几秒钟后你会收到一封包含授权文件的邮件

  • 找到邮件的附件部分,下载它

配置许可证

  • 把下载的文件放到安装根目录下

  • 记录存放的位置,我这里是C:\altera_lite\LR-275987_License.dat

设置环境变量

  • 在开始菜单中搜索并打开“编辑系统环境变量”

  • 在打开的窗口中点击“环境变量”

  • 点击“新建”

填写变量信息
变量名: SALT_LICENSE_SERVER
变量值: 填写刚才让你保存许可证文件的位置(包含文件名),如果你怕输错也可以点击 浏览文件 手动选择许可证文件

  • 关闭Quartus软件再重新打开

至此 Questa*-Intel® FPGA Starter Edition SW-QUESTA 许可证配置完成。

真正开始使用 Questa 查看仿真波形

  • Quartus中打开你的项目,点击菜单栏 Tools -> Run Simulation Tool -> RTL Simulation

  • 会打开仿真(波形)窗口

  • 点击菜单栏 Simulate -> Start Simulation 或 点击黄圈的那个图标

  • 在打开的窗口中选择你的入口文件,我应该是 加法器的测试程序(adder_td) ,如果你和我一样是这样分文件写的话你就遇到了这个非常大的坑,你会发现你找不到你的测试程序(也就是结尾是 _td 或者你自己起的名字的那个),因为默认情况下,Quartus 的仿真命令是“把当前的顶层实体 (adder) 拿去跑”。它把 adder_tb.v 当作一个无关紧要的文件忽略了,如果你也遇到了请看后面的教程

问题解决办法,大概率你会用到

你要做的是“绑定测试激励 (Testbench)”。请严格按照以下步骤操作,这是一劳永逸的办法:

第一步:告诉 Quartus 你的入口程序在哪

  1. 回到 Quartus 软件界面(不要在 Questa 里折腾)。

  2. 点击顶部菜单栏的 Assignments (分配) -> Settings (设置)。

  3. 在左侧列表中,点击 EDA Tool Settings -> Simulation

  4. 看右边的界面:

    • "NativeLink settings" (或者类似的 Simulation 区域) 下面。

    • 选中 Compile test bench (编译测试激励)。

    • 点击旁边的 Test Benches... 按钮。

第二步:配置测试文件细节

  1. 在弹出的窗口中,点击 New...

  2. 现在你需要填三个空(对照你的代码):

    • Test bench name (测试台名字): 填 adder_tb

    • Top level module in test bench (测试台顶层模块名): 填 adder_tb (必须和你的代码 module adder_tb; 这一行完全一致)。

    • File name: 点击右边的 ... 浏览,选中你的 adder_tb.v 文件,然后务必点击 "Add" 按钮把它加到下方的列表里。

  3. 一路点击 OK,直到关闭所有设置窗口。

第三步:见证奇迹

  1. 再次点击 Tools -> Run Simulation Tool -> RTL Simulation

  2. Quartus 会重新编译,并且这次它会把 adder_tb 设为主角。

  3. Questa 弹出来后,你会发现:

    • work 库里出现了 adder_tb

    • 或者更棒的是,它已经自动帮你把 adder_tb 加载好了,波形窗口里也出现了信号。

  • 上面的问题解决完了后就可以开始仿真测试了

  • 点击菜单栏 Simulate -> Start Simulation 或 点击黄圈的那个图标

  • 在打开的窗口中选择你的入口文件,我这里是 加法器的测试程序(adder_td) ,点击OK

注意:这里还有一个坑,如果你的波形不正常、什么输出都没有的话点开查看

点开优化选项(Optimization Options)按照图片中的配置

如果还是不行就把黄圈里的 启用优化 直接关掉

  • 现在你的界面应该是下面这样的(有时有bug,可以重开一下,有时候你的运气比较好程序会自动帮你跳过好几步)

  • 在你的项目变量上 左键点击 按Ctrl+A全选,再右键点击,选择 添加到(Add to)-> 波形(Wave)-> 选中的信号(Selected Signals)

  • 你就可以在右边看到你的波形了

调整波形图

  • 点击波形里面这个小按钮可以把变量名简化

  • 就像这样

  • 在波形变量中全选 右键 菜单中选择 基数(Radix)-> 二级制(Binary),可以切换二进制显示

  • 点击这个实心放大镜图标可以自适应波形宽度