☰
Quartus II 13.1 安装与入门实战:从环境配置到第一个 FPGA 工程
2026/9/26 6:45:34 网站建设 项目流程

1. 为什么到了今天还有人在装 Quartus II 13.1

先把结论摆在前面:Quartus II 13.1 不是一个"最新最好"的工具,它是一款 2013 年前后发布的 FPGA 开发软件,按年份算已经是十多年前的老古董。但如果你在高校实验室、电子设计竞赛培训、或者某些老型号 CPLD/FPGA 的教学场景里待过,就会发现一个很稳定的现象——每年都有一批新人要把它装一遍。原因不复杂:大量教材、实验指导书、课程设计模板、竞赛板卡例程都是围绕这个版本写的,工程文件格式、器件库、引脚约束方式都跟它绑定,换新版本反而会出现"打开就报错、综合不过、引脚对不上"的连锁问题。

所以这篇内容面向的就是这类人:手里有一块 Cyclone IV、Cyclone II、MAX II 之类的老器件开发板,或者课程要求必须用 13.1,需要从零把软件装起来、跑通第一个工程、并且知道后面怎么用它做实际开发。我会把安装、授权、驱动、建工程、编译、下载这一整条链路讲透,顺带把新手最容易卡住的几个坑提前标出来。

需要说明的是,Quartus II 13.1 有两个大的分支:Web Edition(免费版)和Subscription Edition(订阅版)。免费版支持的器件有限,但对教学常用的 Cyclone IV E、MAX II、MAX V 这些基本够用;订阅版支持全部器件,但需要授权文件。绝大多数学生场景用 Web Edition 就够了,本文也以它为主线展开,订阅版的差异我会单独点出来。

另外提前说一句:安装包体积不小,完整安装(含器件库)动辄 5GB 以上,下载和安装都要留足时间和磁盘空间。这一点很多人第一次装的时候没概念,装到一半发现 C 盘爆了,非常尴尬。

2. 安装前的准备工作:别急着双击安装程序

2.1 硬件与系统环境的硬性门槛

Quartus II 13.1 是原生 32/64 位 Windows 时代的产物,官方支持到 Windows 8,但在 Windows 10、Windows 11 上实测也能跑,只是需要额外注意几点。我整理了一张环境对照表,装之前先对一遍:

项目最低要求推荐配置说明
操作系统Windows 7 SP1 64位Windows 10 64位Win11 可用但驱动签名更严
内存4GB8GB 及以上综合大工程时内存吃得很凶
磁盘空间15GB 空闲30GB 以上含器件库和工程缓存
显示器分辨率1024x7681920x1080界面元素多,低分辨率很挤
其他管理员权限关闭杀毒实时防护安装过程会被误拦截

这里重点说磁盘。很多人只留了 10GB 就开装,结果器件库还没装完就提示空间不足。完整安装 Quartus II 13.1 + Cyclone 系列器件库,实际占用在 12~18GB 之间,再加上你后面建的工程、编译产生的中间文件(一个中等工程编译缓存能到几百 MB),30GB 是比较稳妥的预留。

2.2 安装包从哪来,怎么判断完整性

安装包一般是一个 ISO 镜像文件,或者解压后的安装目录。ISO 的好处是可以校验完整性——下载完之后对一下 MD5 或 SHA1,跟官方公布的哈希值比对,能避免"装到一半报文件损坏"这种糟心事。如果你拿到的是别人拷来的压缩包,解压后目录里应该能看到setup.exe、quartus文件夹、nios2eds文件夹等,缺任何一个都可能是残缺包。

提示:安装路径强烈建议不要放在中文目录或带空格的路径下。Quartus 内部有些脚本对路径字符处理不严谨,路径里出现中文、空格、特殊符号,可能在编译或调用命令行工具时莫名报错。用D:\altera\13.1\quartus这种纯英文短路径最省心。

2.3 授权方式的两种路线

这是新手最容易懵的地方。Quartus II 13.1 的授权分两种:

  • Web Edition 免费授权:安装时选择 Web Edition,软件自带一个免费的授权机制,不需要额外申请 license 文件,直接就能用,但器件支持受限。
  • Subscription Edition 授权:需要向官方申请或使用机构提供的license.dat文件,安装后在 License Setup 里指向该文件。

对于教学和竞赛,Web Edition 覆盖的器件(Cyclone IV E、Cyclone IV GX 部分型号、MAX II、MAX V、MAX 10 早期型号等)基本够用。如果你发现自己的器件在 Web Edition 里找不到,那才需要考虑订阅版授权。不要轻信网上那些来路不明的"破解授权",一来合规性存疑,二来很多捆绑了恶意程序,得不偿失。

3. 安装过程逐步拆解:每一步在干什么

3.1 启动安装程序与组件选择

双击setup.exe后,安装向导会先解压临时文件,这一步比较慢,耐心等。进入正式界面后,第一个关键选择是安装类型:

  • Complete(完整安装):装所有组件,包括 Quartus 主程序、ModelSim-Altera 仿真器、Nios II EDS 嵌入式开发套件、器件库。体积最大,但最省事。
  • Custom(自定义安装):可以只勾选需要的部分。

我的建议是:如果你是第一次装,直接选 Complete。因为后面你很可能需要用到 ModelSim 做仿真、需要 Nios II 做软核开发,缺了再补装很麻烦。如果你磁盘实在紧张,可以只装 Quartus 主程序 + 你实际用到的器件库,ModelSim 和 Nios II 先不装。

器件库的选择很关键。安装向导会让你勾选要安装的器件系列,只勾你实际会用到的,比如课程用 Cyclone IV E,那就只勾 Cyclone IV E,能省下好几个 GB。全勾的话光器件库就能占 10GB 以上。

3.2 安装路径与关联设置

路径设置界面,把安装目录指到你准备好的纯英文路径。下面还有一个选项是"是否将 Quartus 关联为 .qpf/.qsf 等工程文件的默认打开程序",一般勾上,方便双击工程文件直接打开。

安装过程本身没什么可操作的,就是等。这个等待时间可能长达 30~60 分钟,取决于你的磁盘速度(机械硬盘会更慢)。期间不要运行大型程序,避免安装程序卡死。

3.3 安装 USB-Blaster 驱动

安装完成后,还有一步经常被忽略但极其重要:USB-Blaster 下载器驱动。这个驱动不在主安装流程里,需要单独装。

路径通常在<安装目录>\quartus\drivers\usb-blaster下。安装方法是:把 USB-Blaster 插上电脑,打开设备管理器,找到带黄色感叹号的未知设备,右键"更新驱动程序",手动指向上面那个目录。

注意:Windows 10/11 对未签名驱动有拦截。如果提示"驱动签名无法验证",需要临时禁用驱动强制签名(开机时按 F8 或通过高级启动选项进入),装完驱动再恢复。这一步是新手卡得最多的地方,很多人以为下载器坏了,其实是驱动没装上。

装好之后,设备管理器里应该能看到 "Altera USB-Blaster" 字样,没有感叹号,这才算成功。

4. 第一次跑通工程:从建项目到点亮一个 LED

4.1 新建工程的正确姿势

打开 Quartus II 13.1,File -> New Project Wizard。向导会依次问你:

  1. 工程目录和工程名:目录同样用纯英文路径,工程名也建议英文。工程名会作为顶层实体名的默认值。
  2. 顶层实体名:可以跟工程名一致,也可以不同,但必须和你的顶层模块名对应。
  3. 添加已有文件:新工程跳过。
  4. 选择器件:这一步最关键。先选器件家族(Family),再选具体型号(比如 Cyclone IV E 下的 EP4CE6E22C8)。型号一定要和你板子上的芯片丝印完全一致,选错了后面引脚分配和下载都会出问题。
  5. EDA 工具设置:仿真工具选 ModelSim-Altera,综合和实现工具保持默认(Quartus 自带)。

向导走完,工程框架就建好了。

4.2 写一个最小可用的 Verilog 模块

新建一个 Verilog HDL File,写一个最简单的分频闪灯或者直接输出:

module led_test( input wire clk, // 50MHz 时钟 input wire rst_n, // 低电平复位 output reg led // LED 输出 ); reg [24:0] cnt; always @(posedge clk or negedge rst_n) begin if (!rst_n) cnt <= 25'd0; else if (cnt == 25'd24_999_999) cnt <= 25'd0; else cnt <= cnt + 1'b1; end always @(posedge clk or negedge rst_n) begin if (!rst_n) led <= 1'b0; else if (cnt == 25'd24_999_999) led <= ~led; end endmodule

这段代码做的是:用 50MHz 时钟计数到 2500 万(约 0.5 秒),每半秒翻转一次 LED,实现 1Hz 闪烁。计数器的位宽 25 位是算出来的——2^25 = 33,554,432,大于 25,000,000,够用;如果只给 24 位,最大值 16,777,215,不够,会永远等不到相等条件,LED 不闪。这个位宽计算是新手常犯的错误,一定要按ceil(log2(计数值))来定。

4.3 引脚分配:把信号接到真实管脚

代码写完了,但软件不知道clk、rst_n、led对应芯片的哪个物理引脚。这就要做引脚分配。

打开Assignments -> Pin Planner,在下面的表格里,把每个信号名对应的 Location 填上板子原理图上的引脚号。比如:

信号名方向引脚号(示例)
clkInputPIN_23
rst_nInputPIN_25
ledOutputPIN_21

引脚号必须查你板子的原理图或用户手册,不能随便填。填错轻则不工作,重则把引脚接到电源或地上导致短路风险。

4.4 编译与下载

引脚分配完,点工具栏的"Start Compilation"(或者Processing -> Start Compilation),软件会依次跑 Analysis & Synthesis、Fitter、Assembler、TimeQuest 时序分析。全绿通过后,就可以下载了。

打开Tools -> Programmer,确认硬件是 USB-Blaster,模式选JTAG,添加生成的.sof文件,勾选 Program/Configure,点 Start。下载成功后,板子上的 LED 应该开始闪烁。

提示:如果你用的是 AS 模式(下载到配置芯片,掉电不丢),需要生成.pof文件而不是.sof,并且模式选 Active Serial。JTAG 下载到 FPGA 是掉电即失的,适合调试;AS 模式才是量产/脱机运行的方式。这两个模式的区别是新手经常搞混的点。

5. 常见问题与排查技巧实录

5.1 安装与授权类问题

现象可能原因解决思路
安装到一半报文件损坏安装包不完整重新下载并校验哈希值
打开提示找不到 license授权未配置License Setup 里指向 license.dat,或改用 Web Edition
提示"你的组织使用适用于企业的应用控制阻止此应用"系统应用控制策略拦截联系管理员放行,或换一台无策略限制的机器
安装后器件列表为空器件库没装重新运行安装程序,补装对应器件库

那个"应用控制阻止此应用"的提示,在企业或学校统一管理的电脑上很常见,本质是系统的应用控制策略(如 WDAC 或 AppLocker)把未在白名单里的可执行文件拦了。这种情况自己折腾没用,得找 IT 管理员把 Quartus 的安装目录加进白名单。

5.2 编译与下载类问题

问题一:编译报"Can't find top-level entity"。顶层实体名和工程设置里的名字对不上。检查Assignments -> Settings -> General里的 Top-level entity 是否和你模块名一致。

问题二:下载时 Programmer 里看不到 USB-Blaster。九成是驱动问题。回设备管理器确认驱动装好没有;再检查 USB 线是不是只供电不传数据的那种劣质线。

问题三:下载成功但板子没反应。先确认引脚分配对不对,再确认时钟有没有进来。可以用 SignalTap 内嵌逻辑分析仪抓一下内部信号,看计数器到底有没有在跑。SignalTap 是排查"下载成功但不工作"的利器,比盲猜高效得多。

问题四:时序不满足,报 setup/hold violation。说明你的逻辑在目标频率下跑不动。要么降频,要么优化逻辑(打拍、减少组合逻辑级数)。教学工程一般频率低,很少遇到,但一旦上到几十上百 MHz 就要认真对待。

5.3 几个我踩过的坑

第一个坑:工程路径里有中文。当年我把工程放在"桌面\数字电路实验"下面,综合一直报奇怪的错,换成纯英文路径立刻好了。这个坑至今还有人在踩。

第二个坑:ModelSim 和 Quartus 版本不匹配。仿真时提示库文件版本不对,是因为 ModelSim-Altera 的版本要跟 Quartus 对应。装 Complete 版本自带的那个 ModelSim 最稳,别自己单独装一个别的版本。

第三个坑:误删了 db 和 incremental_db 文件夹。这两个是编译缓存,删了会导致下次编译全量重来,很慢。但它们不是工程必需文件,拷贝工程给别人时可以删掉减小体积,对方重新编译即可。

6. 装完之后:这个工具还能怎么用

把 Quartus II 13.1 装起来只是第一步。真正用起来,你还会接触到几个方向:

  • 时序约束:用 TimeQuest 写 SDC 约束文件,告诉工具你的时钟频率、输入输出延迟,这是从"能跑"到"跑得稳"的关键。
  • SignalTap 调试:把内部信号引到片上 RAM 里抓波形,不用外接示波器就能看内部时序。
  • Nios II 软核:在 FPGA 里搭一个软处理器,跑 C 程序,适合需要"硬件+软件"协同的项目。
  • ModelSim 仿真:写 testbench,在下载到板子之前先把逻辑验证一遍,省得反复烧录。

这些内容每一个都能单独展开讲很久。我的建议是,先把"建工程—写代码—分配引脚—编译—下载"这条最小闭环走顺,再逐步往上加东西。很多新手一上来就想搞软核、搞高速接口,结果基础流程都没跑通,挫败感很强。

最后分享一个实用习惯:每建一个新工程,先把引脚分配和时钟约束做成模板存下来。同一块板子做多个实验时,直接复制模板改逻辑,能省掉大量重复劳动。我当年做课程设计连着做了五六个实验,全靠这个习惯把时间省下来去调逻辑,而不是反复填引脚表。

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

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

立即咨询