news 2026/9/27 23:45:57

Quartus II 13.1 安装与首个工程实战:从下载到烧录全流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Quartus II 13.1 安装与首个工程实战:从下载到烧录全流程

1. 为什么还有人坚持用 Quartus II 13.1

如果你现在打开 Intel 官网,会发现 Quartus 已经更新到二十多个版本了,功能越来越全,界面越来越现代。但如果你去问一圈还在做 FPGA 教学、老项目维护或者参加某些固定器件型号比赛的工程师,会发现相当一部分人依然在用 Quartus II 13.1。这不是怀旧,而是有非常现实的原因。

最核心的一点是器件支持范围。Quartus II 13.1 是最后一个对 Cyclone II、Cyclone III、Cyclone IV 早期型号以及 MAX II、MAX V 等经典器件提供完整支持的版本之一。很多高校实验室的开发板——比如经典的 DE2、DE0、EP4CE 系列入门板——配套资料和引脚约束都是基于这个版本写的。你拿新版本打开老工程,经常遇到 IP 核不兼容、器件库缺失、引脚分配文件格式变化等问题,折腾半天不如直接用 13.1 省事。

另一个原因是体积和运行速度。新版 Quartus Prime 动辄几十 GB 的安装包,对电脑配置要求也高。13.1 的完整安装包大概在 5-6 GB 左右,装在一台普通的办公笔记本上也能跑得动,综合小规模逻辑的速度反而更快。对于只是做教学实验、跑跑流水灯和状态机的场景,完全够用。

还有一个很实际的因素:网络上的学习资料和教程。你去搜 FPGA 入门教程,大量经典视频和文档都是基于 Quartus II 13.1 录制的。跟着教程走,版本一致能避免很多"教程里有的菜单我找不到"的尴尬。

所以这篇文章的目标很明确:帮你把 Quartus II 13.1 从下载到跑通第一个工程的全流程走一遍,重点讲清楚那些教程里通常不写、但新手一定会卡住的细节。适合刚接触 FPGA 的学生、需要维护老工程的工程师,以及想快速搭一套稳定开发环境的人。

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

很多人拿到安装包就直接双击,结果装到一半报错,或者装完了发现器件库不全、License 用不了。安装前的准备工作其实决定了后面顺不顺利,这一步花十分钟,能省后面两小时。

2.1 安装包的构成与版本选择

Quartus II 13.1 的官方发布通常包含几个独立的组件,你需要搞清楚每个是干什么的:

组件名称作用是否必装
Quartus II Software主程序,包含综合、布局布线、时序分析必装
Device Support器件支持库,不同器件系列分开打包必装(按需选器件)
ModelSim-Altera仿真工具,做功能验证用建议装
Nios II EDS软核处理器开发环境按需
DSP Builder数字信号处理建模工具按需

这里有个关键点:Device Support 是分开的。Quartus II 13.1 的器件库分为 Cyclone、Arria、Stratix 等几个大系列,每个系列又是独立安装包。如果你只做 Cyclone IV 的开发,就只需要下载对应的 Cyclone 器件库,不用把全部器件都装上,能省好几个 GB 的空间。

提示:下载时注意区分 32 位和 64 位版本。现在基本都用 64 位系统,选 64 位主程序综合速度会快不少。但要注意,某些老旧的第三方工具或 IP 可能只兼容 32 位,这种情况才需要装 32 位版本。

2.2 系统环境与依赖检查

Quartus II 13.1 是 2013 年前后发布的软件,对操作系统的兼容性有讲究。它在 Windows 7 上运行最稳定,Windows 10 也能装,但需要额外注意几点。Windows 11 官方没有明确支持,实测大部分功能能用,但偶尔会有界面渲染的小问题。

安装前建议做这几件事:

  • 关闭杀毒软件的实时防护。安装过程中会释放大量临时文件,某些杀毒软件会误判并拦截,导致安装中断或文件缺失。装完再打开就行。
  • 确认磁盘空间。主程序加器件库加仿真工具,完整装下来大概需要 15-20 GB。建议装在系统盘以外的分区,路径不要有中文和空格。
  • 检查系统用户名。如果你的 Windows 用户名包含中文,某些组件安装时可能出问题。可以临时新建一个纯英文的用户账户来安装。
  • 准备好 License 文件。Quartus II 13.1 需要 License 才能正常使用完整功能。官方提供 30 天试用,长期使用需要获取对应的授权文件。这一步在安装前就要想好,否则装完了打不开工程。

2.3 安装路径的命名讲究

这一点特别容易被忽略。Quartus II 13.1 内部有些脚本和工具对路径中的空格和特殊字符处理不好。安装路径建议用纯英文、无空格的形式,比如D:\altera\13.1\quartus。不要用D:\Program Files\Quartus II 13.1这种带空格和版本号的路径,后面调用命令行工具时容易出问题。

同样,你的工程目录也建议放在纯英文路径下。我见过太多人把工程放在桌面上,而桌面路径里带着中文用户名,结果综合时报"找不到文件"的错误,排查半天才发现是路径问题。

3. 一步步走完安装流程:每个界面的选择逻辑

准备工作做完,就可以开始安装了。这一节我按实际点击顺序来讲,重点解释每个选择背后的原因,而不是单纯告诉你点下一步。

3.1 主程序安装的关键选项

双击安装程序后,前面几个界面是欢迎页和许可协议,直接过。到了选择安装类型这一步,会出现两个选项:Complete和Custom。

很多人图省事选 Complete,结果把一堆用不到的器件库和工具全装上了,白白占用空间。我的建议是选Custom,然后手动勾选你需要的组件。具体勾什么,取决于你手头的开发板用什么器件:

  • 如果是 Cyclone IV E 系列(比如 EP4CE6、EP4CE10),勾选 Cyclone IV 相关支持。
  • 如果是 Cyclone II 或 III 的老板子,对应勾选。
  • ModelSim-Altera 建议勾上,后面做仿真会用到。
  • Nios II 如果暂时不碰软核,可以先不装,需要时再补装。

安装路径就按前面说的,选纯英文无空格的目录。接下来是等待安装的过程,根据勾选组件的多少,大概需要 20 分钟到 1 小时不等。

安装过程中有一个界面会问你是否安装 USB-Blaster 驱动。这个一定要勾上。USB-Blaster 是 Altera 系列下载器的驱动,你后面要把程序烧进 FPGA 板子,全靠它。如果这里没装,后面插上下载器电脑识别不了,还得手动去设备管理器里装驱动,麻烦。

3.2 器件库的单独安装

主程序装完后,如果你在 Custom 里没有勾选全部器件,可能需要单独运行器件库的安装程序。器件库的安装更简单,基本就是选路径、点下一步。注意路径要和主程序保持一致,或者让安装程序自动识别主程序位置。

这里有个坑:器件库的版本必须和主程序版本严格对应。13.1 的器件库不能用在 13.0 的主程序上,反之亦然。下载时看清楚版本号。

3.3 License 的配置与常见报错

装完主程序和器件库,第一次打开 Quartus II 时,它会提示你 License 相关的问题。这一步是新手最容易卡住的地方。

配置 License 的流程大致是:在菜单里找到 License Setup,指定你的 License 文件路径。License 文件里绑定了网卡 MAC 地址,所以你需要确认自己电脑的网卡地址和 License 里写的一致。

常见的报错和原因:

报错信息可能原因处理方向
License file is invalid文件损坏或格式不对重新获取 License 文件
MAC address mismatch网卡地址不匹配核对网卡地址,或更换绑定的网卡
License expired授权过期获取新的授权
Feature not available该功能未包含在授权中确认授权包含的功能范围

注意:如果你用的是笔记本,同时有有线和无线网卡,License 绑定的可能是其中一个。如果换了网络环境导致网卡地址变化,License 就会失效。这种情况可以尝试禁用不用的网卡,或者重新申请绑定当前网卡的 License。

配置好 License 后,建议重启一次 Quartus II,让设置完全生效。然后随便打开一个示例工程,看看能不能正常综合,确认环境没问题。

4. 跑通第一个工程:从建工程到烧录的完整链路

环境装好了,接下来用一个最简单的例子把整个流程走通。我选一个经典的流水灯工程,因为它涵盖了 FPGA 开发的完整链路:建工程、写代码、分配引脚、综合、布局布线、生成配置文件、烧录。每一步都跑通了,你后面做复杂项目就有了基础。

4.1 新建工程的几个必填项

打开 Quartus II,点 File 菜单里的 New Project Wizard。这个向导会引导你完成工程创建,几个关键界面需要认真填:

第一页是工程目录、工程名和顶层实体名。工程名和顶层实体名建议保持一致,比如都叫led_flow。工程目录就用你之前准备好的纯英文路径。

第二页是添加已有文件。如果你是新建工程,这里直接跳过。如果是从别处拷贝的工程,可以在这里把源文件加进来。

第三页是选择器件。这一步很重要,必须和你手头的开发板型号完全一致。比如你的板子是 EP4CE6E22C8,就在 Cyclone IV E 系列里找到这个具体型号。选错了器件,后面引脚分配和烧录都会出问题。

第四页是选择 EDA 工具。如果你要用 ModelSim 做仿真,就在这里指定仿真工具为 ModelSim-Altera,格式选 Verilog HDL 或 VHDL。如果暂时不仿真,可以跳过。

最后确认信息无误,点 Finish,工程就建好了。

4.2 写一个能跑的 Verilog 模块

工程建好后,新建一个 Verilog 文件,写一个简单的流水灯逻辑。核心思路是用一个计数器产生延时,然后根据计数器的值控制 LED 的亮灭顺序。

module led_flow( input clk, // 50MHz 时钟 input rst_n, // 复位,低有效 output reg [3:0] led // 4 个 LED ); reg [24:0] cnt; // 分频计数器 always @(posedge clk or negedge rst_n) begin if (!rst_n) cnt <= 0; else if (cnt == 25'd24_999_999) // 0.5 秒 cnt <= 0; else cnt <= cnt + 1; end reg [1:0] state; always @(posedge clk or negedge rst_n) begin if (!rst_n) state <= 0; else if (cnt == 25'd24_999_999) state <= state + 1; end always @(*) begin case (state) 2'd0: led = 4'b0001; 2'd1: led = 4'b0010; 2'd2: led = 4'b0100; 2'd3: led = 4'b1000; default: led = 4'b0001; endcase end endmodule

这段代码的逻辑很直白:50MHz 时钟经过 2500 万次计数得到 0.5 秒的间隔,每 0.5 秒 state 加一,根据 state 的值点亮不同的 LED,形成流水效果。你可以根据自己板子的时钟频率和 LED 数量调整参数。

写完代码后,点工具栏的编译按钮,Quartus 会先做语法检查。如果有错误,下面的 Messages 窗口会提示具体行号和原因。常见的语法错误包括漏分号、模块名和文件名不一致、端口声明不匹配等。

4.3 引脚分配:新手最容易出错的地方

代码编译通过后,下一步是把代码里的端口和 FPGA 芯片的实际引脚对应起来。这一步叫引脚分配,是新手翻车最多的地方。

打开 Pin Planner(在 Assignments 菜单里),你会看到一个引脚列表。需要把clk、rst_n、led[3:0]这些端口分配到具体的引脚号上。引脚号从哪来?从你开发板的原理图或用户手册里查。

比如某块 Cyclone IV 开发板的引脚定义可能是:

端口引脚号说明
clkPIN_2350MHz 晶振输入
rst_nPIN_25复位按键
led[0]PIN_114LED1
led[1]PIN_115LED2
led[2]PIN_116LED3
led[3]PIN_117LED4

在 Pin Planner 里逐个填入这些引脚号,或者直接在工程目录下的.qsf文件里用set_location_assignment命令批量添加。后者更快,适合引脚多的情况。

提示:引脚分配完成后,一定要重新编译一次。因为引脚信息是在布局布线阶段生效的,不重新编译的话,生成的配置文件里还是旧的引脚映射。

这里有个常见误区:有人以为引脚可以随便分配。实际上 FPGA 的引脚有很多类型,比如专用时钟引脚、普通 IO、电源引脚等。把时钟信号分配到普通 IO 上,虽然可能也能跑,但时序性能会差很多,高速设计时容易出问题。所以尽量按开发板的设计来分配。

4.4 综合、布局布线与烧录

引脚分配好之后,点全编译按钮,Quartus 会依次执行 Analysis & Synthesis、Fitter、Assembler、TimeQuest Timing Analyzer 几个阶段。全编译通过后,会在工程目录的output_files文件夹里生成.sof文件,这就是可以烧录到 FPGA 的配置文件。

烧录步骤:

  1. 用 USB-Blaster 下载器连接电脑和开发板,给开发板上电。
  2. 打开 Programmer 工具(Tools 菜单里)。
  3. 确认 Hardware 里识别到了 USB-Blaster。
  4. 在文件列表里添加刚才生成的.sof文件。
  5. 勾选 Program/Configure,点 Start。

如果一切正常,你会看到 Progress 走到 100%,然后开发板上的 LED 开始流水闪烁。到这一步,整个链路就完全跑通了。

如果烧录失败,常见原因有:下载器驱动没装好、开发板没上电、JTAG 接口接触不良、器件型号选错。逐个排查基本都能解决。

5. 那些教程不写但一定会遇到的坑

前面走的是顺利流程,但实际操作中总会遇到各种意外。这一节我把这些年踩过的、以及被问得最多的坑整理出来,你遇到问题时可以对照排查。

5.1 编译报错"Can't find design entity"的排查思路

这个报错的意思是 Quartus 找不到顶层模块。原因通常有几个:顶层实体名和工程设置里的名字不一致、文件没有被添加到工程里、模块名拼写错误。

排查顺序建议这样:先看工程设置里的 Top-level entity 是什么,再去代码里确认模块名是否完全一致(Verilog 是区分大小写的)。然后检查 Project Navigator 的 Files 列表里有没有你的源文件。如果文件在硬盘上但没在列表里,右键添加即可。

还有一种情况是文件扩展名不对。Quartus 认的 Verilog 文件扩展名是.v,如果你存成了.txt或者.verilog,它不会自动识别。改回.v就行。

5.2 时序不满足时的处理策略

当你的设计比较复杂或者时钟频率较高时,全编译后 TimeQuest 可能会报时序违规(Timing Violation)。这时候不要慌,先看报的是哪种违规。

如果是 Setup Violation(建立时间违规),说明数据到达太晚。可以尝试的方法包括:优化组合逻辑、插入流水线寄存器、降低时钟频率、调整布局布线策略。如果是 Hold Violation(保持时间违规),相对少见,通常和时钟树或跨时钟域有关。

对于初学者的小工程,时序一般不会出问题。如果报了,先检查是不是时钟约束没写对。Quartus II 13.1 里需要用 SDC 文件来约束时钟,比如create_clock -name clk -period 20 [get_ports clk]。没有约束的话,时序分析结果没有参考意义。

5.3 USB-Blaster 识别不到的几种情况

下载器识别不到是高频问题。按这个顺序排查:

  • 设备管理器里有没有 USB-Blaster 设备?没有的话是驱动问题,重新安装驱动。
  • 有设备但带黄色感叹号?驱动版本不对,手动指定驱动路径到 Quartus 安装目录下的 drivers 文件夹。
  • 设备正常但 Programmer 里 Hardware 是空的?点 Hardware Setup 手动添加,或者检查 JTAG 线序。
  • 都正常但烧录报错?检查开发板供电和 JTAG 接口是否插反。

我遇到过最隐蔽的一种情况:USB 线本身是充电线,只有电源线没有数据线。换一根确认能传数据的线就好了。这种问题很难从软件层面看出来,只能靠替换法排查。

5.4 工程迁移到另一台电脑的注意事项

把工程从一台电脑拷到另一台,经常出现打不开或者编译报错的情况。原因是工程里包含了一些绝对路径的引用,比如 IP 核的路径、SDC 文件的路径等。

迁移工程时,建议把整个工程目录一起拷贝,包括.qpf、.qsf、.qip等所有文件。不要只拷.v源文件。到了新电脑上,如果路径变了,需要在工程设置里重新指定 IP 文件的位置。

另外,新电脑上的 Quartus 版本最好和原电脑一致。13.1 的工程用更高版本打开时,会提示升级,升级后可能引入不兼容的改动。如果只是看看代码,用文本编辑器打开.v文件就行,不用非得用 Quartus。

6. 让 13.1 用起来更顺手的几个配置

环境跑通之后,可以做一些配置上的优化,让日常开发效率更高。这些都是我用了多年之后固定下来的习惯,供你参考。

6.1 编辑器与字体设置

Quartus 自带的文本编辑器功能比较基础,但可以通过设置改善体验。在 Options 里的 Text Editor 部分,可以调整字体、字号、Tab 宽度、自动缩进等。建议把字体换成等宽字体,比如 Consolas 或 Courier New,代码对齐看起来更舒服。

如果你习惯用外部编辑器写代码,比如 VS Code 或 Notepad++,也完全可以。Quartus 会自动检测文件变化,你在外部改完保存,回到 Quartus 重新编译就行。但要注意编码格式统一用 UTF-8 或者 GB2312,避免中文注释乱码。

6.2 常用快捷键与效率技巧

几个我高频使用的操作:

  • Ctrl+R开始全编译,比点按钮快。
  • Ctrl+Shift+N新建文件。
  • 在代码里选中一个信号名,按Ctrl+F可以快速搜索它在工程里的所有引用。
  • Messages 窗口里双击错误信息,会自动跳转到对应代码行。

还有一个很实用的功能:SignalTap II 嵌入式逻辑分析仪。它可以把 FPGA 内部的信号抓出来看波形,相当于一个内置的示波器。调试时序问题时特别有用,不用额外接逻辑分析仪。在 Tools 菜单里打开,添加要观察的信号,重新编译烧录后就能实时看波形。

6.3 工程模板与复用

如果你经常新建工程,可以做一个模板工程,把常用的设置、引脚约束、SDC 文件都配好。新建工程时直接复制模板,改改名字就能用,省去重复配置的时间。

具体做法:建一个空工程,配置好器件型号、仿真工具、常用的引脚分配,然后把这个工程目录保存为模板。以后新工程就从这里拷贝一份,用sed或者手动替换工程名。对于做系列实验或者多个相似项目的场景,效率提升很明显。

7. 关于版本选择的一点个人看法

写到这里,流程和坑基本都覆盖了。最后聊几句版本选择的事,因为总有人问"都什么年代了还用 13.1,是不是太老了"。

我的看法是:工具是为目标服务的,不是越新越好。如果你做的是 Cyclone IV 及更早器件的教学实验、老项目维护,13.1 就是最合适的选择,没有之一。它的器件支持完整、资料丰富、体积可控、运行稳定,这些优势在新版本上反而未必都有。

但如果你用的是 Cyclone 10、Arria 10 这些新器件,或者需要用到最新的 IP 核和高速接口,那就必须上新版 Quartus Prime。这种情况下 13.1 帮不了你。

所以不要纠结版本新旧,先看你手头的板子和项目需求。器件决定了工具版本的下限,个人习惯和资料生态决定了上限。对于绝大多数 FPGA 入门和经典器件开发场景,Quartus II 13.1 依然是一个靠谱、省心的选择。把环境搭稳,把流程跑通,把时间花在逻辑设计和调试上,这才是正经事。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/27 23:45:27

避坑指南:新手入门必知的网站开发合同知识产权与性能隐患

避坑指南:新手入门必知的网站开发合同知识产权与性能隐患 你的网站昨天刚上线,今天打开全是色情弹窗和挖矿脚本?这种“网站被黑挂马不知道怎么办”的噩梦,90%的新手站长都经历过。别慌,这不仅仅是技术漏洞,更是合同没签好的直接后果。很多新手入门建站时,只盯着价格和功能,却忽略了 网站开发合同知识产权…

作者头像 李华
网站建设 2026/9/27 23:45:19

避坑金融公司网站建设模板全流程指南

避坑金融公司网站建设模板全流程指南 做金融行业的网站,最怕的不是代码写不出来,而是上线前发现备案卡在半路。很多甲方对接人拿着“金融公司网站建设模板”的需求过来,心里却对备案流程一头雾水,生怕因为一个截图没拍好,整个项目延期。别慌,今天我们就把这套 完整流程…

作者头像 李华
网站建设 2026/9/27 23:45:17

网站建设swf播放器源码选型与费用对比评测指南

网站建设swf播放器源码选型与费用对比评测指南 备案流程一头雾水?别急,先搞懂你手里的技术栈。很多老板在做 网站建设swf播放器源码 选型时,往往只盯着功能,却忽略了合规与成本。今天咱们不整虚的,直接上干货,通过 对比评测 的方式,把SWF(Shockwave Flash)相关源码的坑和钱讲透。…

作者头像 李华
网站建设 2026/9/27 23:44:50

小波神经网络房价预测实战:Python实现与调参避坑指南

简介&#xff1a;这份资源面向数据预测方向的机器学习初学者与算法实践者&#xff0c;提供小波神经网络&#xff08;WNN&#xff09;的完整Python实现与配套数据集。小波神经网络融合小波变换的时频局部化特性与神经网络的非线性映射能力&#xff0c;能在不同尺度上捕捉数据局部…

作者头像 李华
网站建设 2026/9/27 23:44:45

STM32 CubeIDE下载安装全攻略:从官网到点亮LED的完整避坑指南

1. 为什么一个"下载"动作值得单独写一篇很多人看到"STM32 CubeIDE下载"这个标题&#xff0c;第一反应是&#xff1a;不就是去官网点个下载按钮吗&#xff0c;这有什么好写的&#xff1f;我一开始也这么想&#xff0c;直到帮学弟装环境时&#xff0c;看着他…

作者头像 李华
网站建设 2026/9/27 23:44:45

wordpress+缩略图+api2026最新

WordPress缩略图API实战:一文搞懂选型避坑 不会写代码想给WordPress网站加个图片接口?别慌,这事儿没那么玄乎。很多独立站长卡在“怎么把缩略图吐出去给前端用”这一步,要么用插件导致页面变慢,要么硬啃代码搞崩后台。其实核心就三条路:用原生…

作者头像 李华