ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

FPGA开发入门:Quartus Prime Lite v18.1安装与首个工程实战指南

FPGA开发入门:Quartus Prime Lite v18.1安装与首个工程实战指南 1. 为什么 FPGA 开发绕不开 Quartus Prime Lite搞 FPGA 开发的人迟早都得跟厂商的 EDA 工具打交道。Xilinx 那边是 VivadoIntel原 Altera这边就是 Quartus Prime。你要是玩的是 Cyclone、MAX 系列这些性价比高的芯片那 Quartus Prime Lite 基本就是唯一选择——它免费、够用、对中小规模逻辑设计完全撑得住。我见过太多新手卡在第一步软件装不上或者装完了发现器件库缺了、USB-Blaster 驱动认不到、编译报一堆莫名其妙的错。这些问题其实都不难但没人告诉你坑在哪你就得自己花一整天去试。这篇内容就是把我自己装过不下十遍 Quartus Prime Lite 的经验整理出来以 v18.1 这个经典稳定版本为例把从下载到跑通第一个工程的完整流程讲清楚。v18.1 这个版本值得单独拿出来说。它不像后来的 20.x、21.x 那样体积膨胀得厉害对老电脑友好同时支持 Cyclone IV、Cyclone V、MAX 10 这些教学和项目里最常见的器件。很多高校实验室、开发板厂商的例程也都是基于这个版本写的。你拿 v18.1 入门资料匹配度最高踩坑最少。这篇文章适合谁看如果你是电子、自动化、计算机相关专业的学生第一次接触 FPGA或者你是嵌入式工程师想转 FPGA 方向再或者你手上有块开发板但软件还没装明白——那这篇内容就是给你写的。我会从安装包的选择开始一步步讲到工程编译通过中间所有容易出问题的地方都会标出来。2. 安装前的准备工作与版本选型逻辑2.1 为什么选 v18.1 而不是最新版Quartus Prime 的版本号跟器件支持是绑定的。每个大版本会锁定一批器件系列新版本虽然支持新芯片但对老器件的支持反而可能被砍掉。v18.1 支持的器件覆盖了 Cyclone IV E、Cyclone V、MAX 10、MAX II/V 等这些正好是入门和教学场景里用得最多的。另一个现实原因是体积。完整安装的 Quartus Prime Lite v18.1 大概需要 15 到 20 GB 磁盘空间而 20.x 之后的版本动辄 30 GB 起步。如果你只是做逻辑设计、跑跑仿真、烧录个 LED 闪烁v18.1 完全够用没必要为了用不上的新特性去牺牲磁盘和安装时间。还有一点是稳定性。v18.1 是 Intel 收购 Altera 之后磨合得比较成熟的一个版本bug 相对少社区里遇到的问题基本都有现成答案。你搜Quartus 编译报错之类的关键词大部分帖子都是围绕 17.x、18.x 这些版本讨论的资料匹配度高。2.2 下载渠道与文件选择Intel 官网的下载页面结构有点绕很多人第一次找不着北。正确的路径是进入 Intel 官网后找到 FPGA 相关的下载区域选择 Quartus Prime Lite Edition然后在版本列表里选 18.1。这里要注意区分 Lite、Standard、Pro 三个版本版本适用器件是否免费典型场景LiteCyclone、MAX 系列免费教学、入门、中小项目StandardArria、Cyclone 10 等需授权中高端设计ProStratix、Agilex 等需授权高端大规模设计选 Lite 就对了。下载时你会看到多个文件包括主安装程序、器件库文件、以及单独的 ModelSim 仿真工具。这里有个关键点器件库要单独下载。主安装程序只包含软件本体不带具体器件的支持文件。你要根据自己手上的开发板芯片型号下载对应的器件库。比如你用的是 Cyclone IV E 的 EP4CE6 或者 EP4CE10那就下载 Cyclone IV E 的器件库。如果不确定可以把 Cyclone IV、Cyclone V、MAX 10 这几个常用的都下下来反正加起来也就几个 GB。注意下载页面有时候会因为网络原因加载慢建议用有线网络或者换个时间段再试。下载的文件名通常类似 Quartus-lite-18.1.0.625-linux.tar 或 .exe 结尾的 Windows 版本根据你的操作系统选。2.3 系统环境要求与磁盘规划v18.1 对系统要求不算高但也有底线。Windows 方面Win7 SP1、Win10 都能跑Win11 实测也没问题但偶尔会有驱动签名的小麻烦。内存建议 8 GB 以上16 GB 更稳因为综合和布局布线阶段很吃内存。磁盘空间前面说了预留 25 GB 比较保险因为安装过程中会有临时文件。安装路径有个大坑绝对不要用中文路径也不要用带空格的路径。很多人习惯装在Program Files下面那个空格在某些脚本调用时会出问题。我一般直接装在D:\Quartus18.1或者C:\Quartus18.1这种干净路径下。这个习惯能帮你省掉后面很多莫名其妙的报错。另外如果你电脑上之前装过其他版本的 Quartus建议先卸载干净再装新版本。多个版本共存虽然理论上可以但环境变量和驱动容易打架新手不建议折腾。3. 安装过程逐步拆解与关键选项说明3.1 主程序安装的每一步双击下载好的安装程序前面几步都是常规的欢迎界面和许可协议勾选同意继续就行。到了安装类型选择这一步会出现几个选项我建议选Custom自定义安装这样你能控制装哪些组件。接下来是组件选择界面。这里会列出 Quartus Prime、ModelSim、器件库等。如果你已经单独下载了器件库文件这里可以先不勾器件库等主程序装完再单独装器件库。ModelSim 建议勾上后面做仿真要用。其他像 DSP Builder、Nios II EDS 这些入门阶段用不到可以不装省空间。安装路径那一步就是我前面强调的选个干净的英文路径。然后一路 Next开始安装。这个过程比较久取决于你的硬盘速度机械硬盘可能要 40 分钟到 1 小时固态硬盘会快很多。安装过程中不要断电、不要强制关闭中途中断可能导致注册表残留后面重装很麻烦。3.2 器件库的单独安装主程序装完后找到你下载的器件库文件通常叫类似Cyclone_IV_E-18.1.0.625.qdz这样的文件。直接双击它安装程序会自动识别 Quartus 的安装路径并把器件库装进去。如果双击没反应也可以在 Quartus 的安装目录下找到quartus\bin64里的相关工具手动指定。装完器件库后你可以打开 Quartus在 Tools 菜单里找到 Devices 相关选项看看列表里有没有你需要的芯片型号。如果没有说明器件库没装对需要重新检查。提示器件库文件比较大安装时同样需要几分钟耐心等待进度条走完。装完后建议重启一次 Quartus让器件列表刷新。3.3 驱动安装与硬件识别如果你要用 USB-Blaster 下载器给开发板烧录程序驱动这一步不能跳过。把 USB-Blaster 插到电脑上打开设备管理器你会看到一个带黄色感叹号的未知设备。右键更新驱动手动指向 Quartus 安装目录下的drivers文件夹里面有个usb-blaster子目录选中它让系统自动安装。Win10 和 Win11 有时候会因为驱动签名问题装不上这时候需要在启动时禁用驱动签名强制或者用管理员权限运行驱动安装脚本。装好之后设备管理器里应该能看到Altera USB-Blaster这样的设备没有感叹号就对了。如果你用的是板载下载器很多开发板把 USB-Blaster 集成在板子上驱动可能不一样需要看开发板的说明文档。但原理是一样的都是让系统认到这个下载通道。4. 跑通第一个工程从建工程到编译通过4.1 新建工程的正确姿势打开 Quartus Prime点 File 菜单里的 New Project Wizard。第一步是选工程目录和工程名。工程名建议用英文不要用中文和特殊字符。目录还是那个原则干净英文路径。第二步是选顶层实体名这个可以跟工程名一致也可以不一样但后面写代码时模块名要跟它对上。第三步是选器件这里就是检验你器件库装没装好的时候了。在器件列表里找到你开发板上的芯片型号比如 EP4CE6E22C8 这种。选好后点 Next。第四步是添加已有文件新工程就跳过。第五步是选 EDA 工具仿真工具那里可以选 ModelSim-Altera格式选 Verilog HDL 或 VHDL看你用什么语言。都选好后点 Finish工程就建好了。4.2 写一个最简单的 Verilog 模块工程建好后新建一个 Verilog 文件写一个最简单的 LED 闪烁或者分频器。我拿分频器举例因为这是最基础也最实用的模块module clk_divider( input clk, input rst_n, output reg led ); reg [24:0] cnt; always (posedge clk or negedge rst_n) begin if (!rst_n) begin cnt 25d0; led 1b0; end else if (cnt 25d24_999_999) begin cnt 25d0; led ~led; end else begin cnt cnt 1b1; end end endmodule这个模块的作用是把输入时钟分频让 LED 以肉眼可见的频率闪烁。假设输入时钟是 50 MHz计数到 2500 万翻转一次那 LED 的闪烁周期就是 1 秒左右。这个例子虽然简单但包含了时序逻辑、复位、计数这些 FPGA 设计的基本要素。写完后保存文件名要和模块名一致也就是clk_divider.v。然后在工程里把这个文件设为顶层文件右键文件选 Set as Top-Level Entity。4.3 引脚分配与编译代码写好了还不能直接编译烧录得先分配引脚。打开 Pin Planner在列表里找到 clk、rst_n、led 这三个信号分别填入你开发板上对应的引脚号。这个引脚号必须查开发板的原理图不能随便填填错了轻则不工作重则烧芯片。引脚分配完后点 Processing 菜单里的 Start Compilation或者直接点工具栏的播放按钮。编译过程会跑综合、布局布线、时序分析这几步第一次编译可能要几分钟。如果代码有问题或者引脚冲突会在 Messages 窗口报错根据提示改就行。编译成功后会生成一个.sof文件这就是可以烧录到 FPGA 的配置文件。用 Programmer 工具选好 USB-Blaster加载 sof 文件点 Start 就能烧录。如果开发板上的 LED 开始闪烁恭喜你整个流程跑通了。5. 常见问题排查与避坑经验5.1 安装阶段的典型问题问题现象可能原因解决办法安装程序双击没反应权限不足或安装包损坏右键以管理员运行重新下载安装中途报错退出磁盘空间不足或路径含中文清理空间换纯英文路径重装器件列表里找不到芯片器件库没装或装错版本重新安装对应器件库USB-Blaster 驱动装不上驱动签名限制禁用驱动签名强制后重装Quartus 启动闪退环境变量冲突卸载其他版本清理环境变量5.2 编译与烧录阶段的坑编译报错里最常见的是Cant find top-level entity这通常是因为顶层模块名和工程设置里的名字不一致。检查一下工程设置里的 Top-Level Entity 是不是跟你代码里的模块名完全一样大小写也要对。另一个高频问题是引脚分配冲突比如两个信号分到了同一个引脚或者分到了专用引脚上。专用引脚像配置引脚、电源引脚是不能随便用的Pin Planner 里会标出来。遇到这种报错换个普通 IO 引脚就行。烧录时如果 Programmer 里看不到设备先检查 USB-Blaster 驱动认没认到再看开发板有没有上电最后确认 JTAG 线有没有插反。JTAG 接口一般有防呆设计但也不是绝对的插反了认不到设备很正常。实操心得编译前养成习惯先点 Analysis Synthesis 单独跑一遍综合看看有没有语法错误。综合过了再跑完整编译能省不少时间。因为完整编译里布局布线最耗时语法错误在综合阶段就能暴露出来。5.3 仿真环节的注意事项如果你要用 ModelSim 做仿真记得在工程里设置好仿真工具路径。v18.1 自带的 ModelSim-Altera 版本有时候跟独立版有差异用自带的更省事。写 testbench 的时候时钟周期和复位时序要跟实际硬件匹配不然仿真波形对不上实际现象。仿真跑不起来先看 testbench 里有没有例化顶层模块再看信号名有没有写错。ModelSim 的报错信息比较详细顺着提示找一般都能定位到问题。6. 装完之后怎么继续往下走软件装好、第一个工程跑通这只是 FPGA 开发的起点。接下来你可以拿开发板上的例程练手比如 UART 收发、SPI 通信、VGA 显示这些经典项目。每个项目都会让你对时序、状态机、跨时钟域这些概念理解更深一层。我个人建议的路径是先玩 LED 和按键把 IO 和时序搞明白然后做 UART理解串行通信和波特率再做 SPI 或 I2C接触外设接口最后上 SDRAM 或者图像处理挑战高速和复杂逻辑。每一步都别急着跳把当前的东西吃透再往下走。Quartus Prime Lite 这个工具本身也会随着你用得多而越来越顺手。快捷键、SignalTap 在线调试、时序约束这些高级功能都是在实际项目里慢慢积累起来的。装软件只是第一关后面还有得折腾但这一关过了后面的路就好走多了。最后分享一个小技巧装完 Quartus 后把安装目录下的bin64路径加到系统环境变量 Path 里这样你在命令行里就能直接调用quartus_sh、quartus_map这些工具做脚本化编译或者批量处理的时候特别方便。这个习惯我从第一次装 Quartus 就养成了后面做自动化流程省了很多事。
返回列表