☰
FPGA入门环境搭建:Quartus Prime Lite 20.1.1与ModelSim安装配置全指南
2026/9/27 23:23:12 网站建设 项目流程

1. 为什么这套组合至今仍是FPGA入门的黄金搭档

搞FPGA开发的人,绕不开两个名字:Intel Quartus Prime Lite 和 ModelSim。前者是Intel(原Altera)官方推出的FPGA开发集成环境,后者是Mentor Graphics(现Siemens EDA)出品的仿真工具。这两个工具搭配起来,基本覆盖了从代码编写、综合、布局布线到功能仿真的完整流程。你手里如果有一块Cyclone IV、Cyclone V、MAX 10之类的开发板,这套组合就是最省心的起点。

我见过太多新手卡在安装这一步。下载哪个版本、装哪些组件、ModelSim怎么和Quartus关联、仿真库怎么编译、License怎么处理——每一步都有坑。网上教程要么太老,要么跳步严重,要么资源链接早就失效。这篇内容就是把我自己反复装过十几台机器(Windows和Linux都有)的经验完整梳理出来,从零开始,把Quartus Prime Lite 20.1.1和ModelSim的安装配置讲透。

为什么选20.1.1这个版本?几个原因。第一,它是Lite版里比较稳定的一个长期支持版本,对Cyclone IV/V、MAX 10这些常见教学和入门芯片支持完善。第二,20.1.1自带的ModelSim Intel FPGA Edition可以直接用,不需要单独去找完整版ModelSim,省掉很多License麻烦。第三,这个版本对Windows 10的兼容性经过大量验证,不像更新版本在某些老机器上会有驱动或界面问题。第四,网上关于20.1系列的教程和问题讨论最多,遇到问题容易搜到答案。

这篇文章适合谁?如果你是电子、自动化、计算机相关专业的学生,刚拿到开发板不知道从哪下手;或者你是嵌入式工程师想转FPGA方向,需要快速搭好环境跑通第一个工程;再或者你之前装过但仿真一直跑不起来,想彻底搞明白Quartus和ModelSim之间的关联逻辑——那这篇内容就是给你写的。我会把每一步的操作意图、参数选择理由、常见报错和排查方法都讲清楚,让你不仅装得上,还能理解为什么这么装。

2. 安装前的准备工作与版本选型逻辑

2.1 Quartus Prime Lite 20.1.1的组件构成

Quartus Prime Lite不是单一安装包,它由几个独立部分组成。主程序是Quartus Prime,负责综合、布局布线、时序分析、编程下载。然后是ModelSim Intel FPGA Edition,这是精简版的ModelSim,专门为Intel FPGA做功能仿真用。还有Nios II EDS(嵌入式软核开发工具)、DSP Builder等可选组件。对于纯FPGA逻辑开发,你至少需要装Quartus主程序和ModelSim这两个。

20.1.1的安装包总大小在5GB左右,完整安装后占用空间大约15到20GB。如果你的硬盘空间紧张,可以在安装时取消勾选不需要的器件库。比如你只用Cyclone IV,就只选Cyclone IV的支持包,能省下好几个GB。但我的建议是,如果空间允许,把Cyclone IV、Cyclone V、MAX 10这几个常用系列的器件库都装上,后面换板子不用重新装。

安装文件通常是一个名为QuartusLiteSetup-20.1.1.720-windows.exe的可执行文件,加上若干器件库的单独安装包。有些渠道会把它们打包成一个压缩包,解压后按顺序安装即可。这里要注意,主程序安装完成后,器件库需要单独运行对应的安装程序,不能只装主程序就完事。

2.2 ModelSim版本的选择与匹配

Quartus 20.1.1配套的ModelSim是ModelSim Intel FPGA Edition 2020.1。这个版本和Quartus是深度绑定的,安装Quartus时如果勾选了ModelSim组件,它会自动装好。但很多人会遇到一个问题:Quartus装完了,ModelSim却打不开,或者打开后提示License错误。这通常是因为安装时没有正确选择组件,或者License文件没有配置到位。

我的建议是,在安装Quartus主程序时,明确勾选ModelSim Intel FPGA Edition。安装完成后,Quartus的安装目录下会有一个modelsim_ase文件夹(ASE代表Altera Starter Edition),这就是ModelSim的安装位置。你不需要单独去下载ModelSim安装包,也不需要用网上那些来路不明的破解版。Intel FPGA Edition本身是免费的,只要你有Quartus的License,ModelSim就能正常用。

如果你确实需要独立安装ModelSim(比如想用完整版),那要注意版本兼容性。ModelSim的版本不能低于Quartus要求的版本,否则仿真时会出现库不匹配的问题。20.1.1配套的是ModelSim 2020.1,你用2020.4或更新的版本通常也可以,但太老的版本(比如10.5以下)就不行了。

2.3 系统环境与依赖检查

Windows方面,Quartus Prime Lite 20.1.1官方支持Windows 10 64位。Windows 7也能装,但可能会有一些界面显示问题。Windows 11我没有遇到大问题,但个别驱动需要手动处理。内存建议至少8GB,16GB更流畅。因为Quartus的综合和布局布线很吃内存,小工程还好,大一点的工程8GB会比较吃力。

Linux方面,官方支持RHEL 7、CentOS 7、Ubuntu 18.04 LTS等。我在Ubuntu 20.04上装过,基本能用,但需要手动装一些32位库。Linux下的安装包是.run文件,安装过程比Windows稍微麻烦一点,主要是权限和依赖问题。如果你主要在Linux下开发,建议用Ubuntu 18.04或CentOS 7,兼容性最好。

还有一个容易被忽略的点:安装路径不要有中文和空格。Quartus和ModelSim对路径中的特殊字符处理不好,路径里有中文会导致各种奇怪的错误。建议直接装在C:\intelFPGA_lite\20.1.1或者D:\altera\20.1.1这样的纯英文路径下。

注意:安装前关闭杀毒软件和Windows Defender的实时保护。Quartus安装过程中会释放大量临时文件,杀毒软件可能会误报或拖慢安装速度。装完后再重新开启即可。

3. Quartus Prime Lite 20.1.1安装全流程拆解

3.1 下载资源的获取与校验

官方下载渠道是Intel的FPGA下载中心,需要注册账号。但国内访问下载速度往往很慢,所以很多人会选择网盘资源。网盘资源的问题在于,你无法确认文件是否完整、是否被篡改。我的做法是,下载完成后校验文件的SHA256或MD5值。Intel官网会提供每个安装包的校验值,你可以在下载页面找到。如果网盘资源没有提供校验值,至少确认文件大小和官方标注的一致。

下载下来的文件通常包括:主安装程序、器件库安装包(可能有多个)、ModelSim安装包(如果单独提供)。把这些文件放在同一个文件夹下,安装时主程序会自动识别同目录下的器件库。

3.2 主程序安装步骤详解

运行QuartusLiteSetup-20.1.1.720-windows.exe,首先会解压到一个临时目录。这个过程可能需要几分钟,取决于你的硬盘速度。解压完成后,安装向导启动。

第一步是选择安装目录。默认是C:\intelFPGA_lite\20.1.1,我建议保持默认或者改到空间更大的盘。路径中不要有中文和空格。

第二步是选择组件。这里会列出Quartus Prime、ModelSim、Nios II EDS、DSP Builder等。对于纯FPGA逻辑开发,勾选Quartus Prime和ModelSim就够了。如果你要做Nios II软核开发,再勾上Nios II EDS。DSP Builder一般用不到,可以不装。

第三步是选择器件库。这里会列出Cyclone IV、Cyclone V、Cyclone 10、MAX 10、MAX II等系列。根据你手头的开发板选择。不确定的话,把Cyclone IV、Cyclone V、MAX 10都选上,这三个系列覆盖了绝大多数教学和入门开发板。

第四步是确认安装信息,然后开始安装。安装过程大约需要20到40分钟,取决于你的机器性能和选择的组件数量。安装过程中不要中断,不要运行其他大型程序。

安装完成后,会提示你是否安装USB-Blaster驱动。如果你用的是USB-Blaster下载器,勾选安装。如果是其他下载器(比如FT232芯片的板载下载器),可以跳过,后面手动装驱动。

3.3 器件库的补充安装

如果你在主程序安装时没有勾选全部器件库,或者后来换了不同系列的FPGA,需要单独安装器件库。器件库的安装包通常命名为CycloneIV-20.1.1.720-windows.exe这样的格式。运行它,安装路径选择和你Quartus主程序相同的目录(比如C:\intelFPGA_lite\20.1.1),安装程序会自动把器件库放到正确的位置。

器件库安装完成后,打开Quartus,在Assignments -> Device里应该能看到新安装的器件系列。如果看不到,检查安装路径是否正确,或者重启Quartus。

3.4 License的获取与配置

Quartus Prime Lite是免费版本,不需要付费License。但你需要一个License文件来激活。获取方式:在Intel官网注册账号,然后申请Quartus Prime Lite的免费License。申请时会让你填写网卡MAC地址,License文件会绑定这个MAC地址。

拿到License文件后,在Quartus中打开Tools -> License Setup,在License file一栏填入License文件的路径。然后检查下方显示的License信息,确认没有报错。如果提示MAC地址不匹配,检查你申请时填的MAC地址是否和当前机器的一致。换机器或换网卡后需要重新申请。

ModelSim Intel FPGA Edition的License是包含在Quartus License里的,不需要单独申请。只要Quartus的License配置正确,ModelSim就能正常启动。

提示:如果你在多台机器上使用,可以把License文件放在一个固定路径,然后在每台机器上指向这个文件。但MAC地址绑定意味着每台机器都需要单独申请,除非你用同一个网卡(比如USB网卡)。

4. ModelSim配置与Quartus关联的完整操作

4.1 确认ModelSim安装状态

Quartus安装完成后,在安装目录下找到modelsim_ase文件夹。进入modelsim_ase\win32aloem(32位)或modelsim_ase\win64(64位),运行modelsim.exe。如果ModelSim能正常启动,说明安装没问题。如果提示找不到License或启动失败,检查Quartus的License配置。

ModelSim启动后,界面可能看起来比较简陋,这是正常的。Intel FPGA Edition本身就是精简版,去掉了完整版的一些高级功能,但对于FPGA功能仿真完全够用。

4.2 在Quartus中设置ModelSim路径

打开Quartus,进入Tools -> Options -> EDA Tool Options。在ModelSim一栏,填入ModelSim可执行文件的路径。对于20.1.1,路径通常是:

C:\intelFPGA_lite\20.1.1\modelsim_ase\win32aloem

注意,这里要填到包含modelsim.exe的目录,而不是modelsim_ase的根目录。填完后点击OK保存。

这个设置的作用是让Quartus知道ModelSim在哪里,这样你在Quartus中点击“RTL Simulation”或“Gate Level Simulation”时,Quartus能自动调用ModelSim进行仿真。

4.3 编译仿真库

这是最关键也最容易出错的一步。Quartus自带的仿真库(比如altera_mf、lpm、cycloneive等)需要先编译成ModelSim能识别的格式,否则仿真时会提示找不到模块。

编译方法有两种。第一种是通过Quartus的界面:Tools -> Launch Simulation Library Compiler。在弹出的窗口中,选择ModelSim的安装路径、输出库的路径、要编译的器件系列。然后点击Start Compilation。这个过程可能需要几分钟到十几分钟,取决于你选择的器件系列数量。

第二种是通过命令行。打开Quartus自带的Nios II Command Shell(或者直接用系统命令行),进入Quartus安装目录下的eda\sim_lib文件夹,运行:

vsim -c -do "altera_mf_compile.do"

不过更推荐用图形界面,因为命令行需要设置很多环境变量,容易出错。

编译完成后,会在你指定的输出目录下生成一系列文件夹,每个文件夹对应一个库。然后在ModelSim中,通过File -> Change Directory切换到那个输出目录,再通过File -> New -> Library创建库映射,或者直接在仿真脚本中用vmap命令映射。

4.4 仿真库的映射与验证

编译完仿真库后,需要让ModelSim知道这些库的位置。在ModelSim中,打开File -> Change Directory,切换到仿真库的输出目录。然后打开File -> New -> Library,创建一个新的库映射,名字和编译出来的库名一致(比如altera_mf),路径指向对应的文件夹。

更常用的方法是在仿真脚本(.do文件)中直接写vmap命令:

vmap altera_mf C:/intelFPGA_lite/20.1.1/eda/sim_lib/altera_mf vmap lpm C:/intelFPGA_lite/20.1.1/eda/sim_lib/lpm vmap cycloneive C:/intelFPGA_lite/20.1.1/eda/sim_lib/cycloneive

这样每次仿真时,ModelSim会自动加载这些库映射。

验证方法:写一个简单的Verilog模块,例化一个altera_mf库中的组件(比如altpll),然后跑仿真。如果仿真能正常编译和运行,说明库映射成功。如果提示找不到模块,检查库路径是否正确,或者重新编译仿真库。

5. 常见报错与排查技巧实录

5.1 安装过程中的典型问题

问题一:安装程序卡在解压阶段。这通常是杀毒软件在扫描临时文件导致的。关闭杀毒软件后重新运行安装程序。如果还是卡住,检查临时目录所在盘的空间是否充足。

问题二:安装完成后Quartus打不开,提示缺少DLL。这通常是Visual C++运行库缺失。安装Microsoft Visual C++ Redistributable 2015-2019(x86和x64都装)。Quartus 20.1.1依赖这些运行库。

问题三:USB-Blaster驱动安装失败。在设备管理器中找到未识别的USB-Blaster设备,右键更新驱动,手动指向Quartus安装目录下的drivers\usb-blaster文件夹。如果提示驱动签名问题,在Windows启动时按F8禁用驱动签名强制(仅限Windows 7),或者用Windows 10的测试模式。

5.2 ModelSim仿真常见报错

报错一:Error: (vsim-19) Failed to access library 'altera_mf' at "altera_mf".这是仿真库没有映射。按照4.4节的方法,用vmap命令映射库路径。

报错二:Error: (vsim-3033) Instantiation of 'altpll' failed.这是仿真库没有编译或者编译不完整。重新运行仿真库编译,确保altera_mf库编译成功。

报错三:仿真波形全是红线。这是新手最常见的问题。红线表示信号为高阻态(Z)或未初始化(X)。原因通常是:时钟信号没有正确产生、复位信号没有释放、或者模块端口连接错误。检查你的Testbench,确保时钟在翻转,复位在仿真开始后一段时间释放。

报错四:Error: (vsim-3170) Could not find 'work.xxx'.这是你的设计文件没有被编译到work库中。在ModelSim中,先编译你的设计文件(Compile -> Compile All),然后再运行仿真。

5.3 仿真库编译失败的处理

仿真库编译失败通常有几个原因。一是ModelSim路径设置错误,Quartus找不到ModelSim。检查Tools -> Options -> EDA Tool Options中的路径。二是输出目录权限不足,换一个你有写入权限的目录。三是器件库没有安装完整,比如你选了Cyclone V但没装Cyclone V的器件库,编译时会报错。

如果图形界面编译一直失败,可以尝试用命令行。打开Quartus自带的命令行工具,进入eda\sim_lib目录,运行:

vlib altera_mf vlog -work altera_mf altera_mf.v

不过这种方法需要手动处理依赖关系,比较麻烦。还是优先用图形界面。

5.4 常见问题速查表

问题现象可能原因解决方法
Quartus打不开,提示缺少DLLVC++运行库缺失安装VC++ 2015-2019 Redistributable
ModelSim启动提示License错误License未配置或MAC不匹配检查License Setup,重新申请License
仿真提示找不到altera_mf仿真库未映射用vmap命令映射库路径
波形全是红线时钟未翻转或复位未释放检查Testbench的时钟和复位逻辑
仿真库编译失败路径错误或权限不足检查ModelSim路径,换输出目录
USB-Blaster识别不到驱动未安装手动安装驱动,禁用驱动签名强制
Quartus综合报错找不到器件器件库未安装安装对应系列的器件库
ModelSim编译报错找不到模块设计文件未编译先Compile All再仿真

提示:遇到报错时,先看错误信息的第一行和最后一行。第一行通常告诉你错误类型,最后一行告诉你错误位置。中间的信息往往是堆栈跟踪,对定位问题帮助不大。

6. 从零跑通第一个仿真工程的实操记录

6.1 创建Quartus工程

打开Quartus,File -> New Project Wizard。设置工程路径和名称,路径不要有中文。选择目标器件,比如Cyclone IV EP4CE10F17C8(根据你的开发板选择)。EDA Tool Settings中,Simulation一栏选择ModelSim-Altera,格式选Verilog HDL或VHDL(根据你的代码习惯)。

工程创建完成后,新建一个Verilog文件,写一个简单的分频器或者计数器。比如一个8位计数器:

module counter8( input clk, input rst_n, output reg [7:0] cnt ); always @(posedge clk or negedge rst_n) begin if (!rst_n) cnt <= 8'd0; else cnt <= cnt + 1'b1; end endmodule

保存文件,然后点击Analysis & Synthesis进行综合。综合通过后,说明代码没有语法错误。

6.2 编写Testbench

新建一个Verilog文件,写Testbench:

`timescale 1ns/1ps module tb_counter8; reg clk; reg rst_n; wire [7:0] cnt; counter8 u_counter8( .clk(clk), .rst_n(rst_n), .cnt(cnt) ); initial begin clk = 0; rst_n = 0; #100 rst_n = 1; #1000 $stop; end always #10 clk = ~clk; endmodule

这个Testbench产生一个周期20ns的时钟,复位信号在100ns后释放,仿真运行1000ns后停止。

6.3 配置ModelSim仿真

在Quartus中,Assignments -> Settings -> EDA Tool Settings -> Simulation。设置仿真工具为ModelSim-Altera,格式为Verilog HDL。然后在NativeLink settings中,指定Testbench文件。

点击Tools -> Run Simulation Tool -> RTL Simulation。Quartus会自动调用ModelSim,编译设计文件和Testbench,然后运行仿真。如果一切正常,ModelSim会打开波形窗口,显示cnt信号从0开始递增。

如果ModelSim没有自动打开,或者提示错误,检查前面的仿真库映射和路径设置。也可以在ModelSim中手动操作:File -> Change Directory到工程目录,Compile -> Compile All,然后Simulate -> Start Simulation,选择tb_counter8。

6.4 波形分析与调试

仿真运行后,在ModelSim的波形窗口中,把cnt信号拖进去。你应该看到cnt在复位释放后,每个时钟上升沿加1。如果cnt一直是0或者红线,检查复位信号是否正确释放,时钟是否在翻转。

一个实用技巧:在ModelSim中,用add wave命令添加信号,用run 1000ns命令运行指定时间。这样比鼠标操作更高效。你也可以把常用命令写成一个.do文件,每次仿真时直接do wave.do,省去重复操作。

提示:仿真时间不要设得太长,否则波形文件会很大,ModelSim会变慢。一般跑几微秒到几毫秒就够了,取决于你的设计。

7. 提升效率的配置技巧与经验总结

7.1 常用快捷键与界面优化

Quartus和ModelSim都有一些隐藏的快捷键和配置选项,能显著提升效率。Quartus中,Ctrl+R是综合,Ctrl+Shift+R是重新综合,Ctrl+L是布局布线。ModelSim中,F9是运行仿真,F10是单步,Ctrl+G是跳转到指定时间。

ModelSim的波形窗口可以保存为.wlf文件,下次打开时直接加载,不用重新添加信号。在波形窗口中,File -> Save Format,保存为.do文件。下次仿真时,do wave.do就能恢复波形布局。

7.2 工程模板与脚本自动化

如果你经常创建新工程,可以做一个工程模板。把常用的设置(器件系列、仿真工具、编译选项)保存为.qsf文件,新建工程时直接导入。这样不用每次都手动配置。

更高级的用法是写Tcl脚本。Quartus支持Tcl脚本自动化,你可以写一个脚本,自动创建工程、添加文件、设置编译选项、运行综合和仿真。对于需要反复迭代的工程,这能省下大量时间。

ModelSim也支持Tcl脚本。你可以把编译、仿真、波形添加的命令写成一个.do文件,每次仿真时直接运行这个脚本。比如:

vlib work vlog ../rtl/counter8.v vlog tb_counter8.v vsim -t 1ns work.tb_counter8 add wave -r /* run 1000ns

这个脚本会自动创建work库、编译文件、启动仿真、添加所有信号、运行1000ns。你只需要在ModelSim中do sim.do即可。

7.3 版本管理与工程备份

FPGA工程的版本管理容易被忽略。Quartus工程中有很多中间文件(比如.qpf、.qsf、.sof、.pof等),不是所有文件都需要纳入版本管理。一般来说,.qpf、.qsf、.v、.sv、.vhd、.sdc这些源文件和配置文件需要管理,综合生成的中间文件(db文件夹、incremental_db文件夹)不需要。

我习惯用Git管理FPGA工程,在.gitignore中排除db、incremental_db、simulation、output_files等文件夹。这样仓库不会太大,而且换机器时clone下来就能用。

7.4 个人经验与避坑建议

装Quartus和ModelSim这件事,我前后折腾过不下十次,有几个经验值得分享。

第一,安装路径一定要短、纯英文。我见过有人装在D:\我的项目\FPGA开发\Quartus下面,结果ModelSim死活找不到仿真库。改成D:\fpga\quartus就正常了。

第二,仿真库编译一次就够了,不用每次仿真都编译。编译好的库放在一个固定目录,所有工程共用。在ModelSim的modelsim.ini文件中配置好库映射,一劳永逸。

第三,如果ModelSim启动特别慢,检查是不是杀毒软件在扫描。把ModelSim安装目录加入杀毒软件白名单,启动速度会快很多。

第四,Quartus的License文件不要放在中文路径下。License文件路径有中文会导致License读取失败,但报错信息不会直接告诉你原因,只会提示License无效。

第五,如果你用的是笔记本电脑,注意电源管理设置。Quartus综合和布局布线时CPU占用很高,如果电源模式是“节能”,会拖慢编译速度。切换到“高性能”模式。

第六,仿真时如果波形窗口没有自动弹出,检查ModelSim的modelsim.ini中WaveSignalNameWidth设置。有时候信号名太长会被截断,导致波形显示异常。

这套环境搭好之后,你就可以专注于FPGA逻辑设计本身了。从简单的计数器、分频器,到状态机、FIFO、SPI、I2C,再到图像处理、定点数运算,Quartus加ModelSim的组合能支撑你走很远。后面如果要做时序仿真,还需要编译Gate Level的仿真库,流程类似,只是多了一步综合后网表的生成。遇到问题多查Intel的官方文档和社区论坛,大部分坑前人都踩过,答案就在那里。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询