3. 开发环境搭建:Quartus II安装、License配置、第一个工程创建
说实话,很多初学者一上来就急着写代码,结果卡在环境搭建上半天动不了。我见过不少同事,装个Quartus II折腾一整天,最后发现是License没配好。所以这一章,咱们踏踏实实把环境搞定。
3.1 Quartus II 安装——别选错版本
Quartus II 是 Altera(现在叫 Intel FPGA)的官方 IDE。我个人习惯用 13.0 或 13.1 版本,为什么?因为这两个版本对 CPLD 的支持最稳定,尤其是 MAX 系列。你想想看,新版本虽然功能多,但动不动几个 G 的安装包,很多功能咱们做 CPLD 的根本用不上。
安装步骤其实不复杂,但有几个坑我得提醒你:
- 路径不要有中文——我当年第一次装,图省事直接放桌面,结果编译报错查了半天,最后发现是中文路径惹的祸。
- 选择组件时——如果你是做 MAX II、MAX V 这类 CPLD,只需要勾选对应的器件库就行。别全选,不然安装时间翻倍。
- 安装完成后——建议重启电脑,别问我为什么,经验之谈。
3.2 License 配置——这一步最容易翻车
装好软件只是第一步,License 配不好,Quartus II 就是个摆设。我记得有一次帮一个学生远程调试,他装好软件后一直提示“License check failed”,急得不行。我一看,他把 License 文件放桌面了,路径里带空格,软件根本认不到。
正确的做法是这样的:
- 打开 Quartus II,点击 Tools → License Setup。
- 在 License file 栏里,选择你的 License 文件路径。
- 注意:路径中不要有空格、不要有中文,最好放在 Quartus 安装目录下,比如
C:\altera\license.dat。 - 点击 OK,重启软件。
如果你用的是破解版,记得把破解补丁放到安装目录的 bin 文件夹下运行。嗯,这里不多说,懂的都懂。
3.3 第一个工程——点亮一个 LED
环境搭好了,咱们来建第一个工程。说白了,就是让 CPLD 控制一个 LED 灯闪烁。别小看这个,这是所有硬件工程师的“Hello World”。
步骤很简单:
- 打开 Quartus II,点击 File → New Project Wizard。
- 给工程起个名字,比如
led_test,路径同样不要有中文。 - 选择器件型号。比如我用的是 MAX II 系列的 EPM240T100C5,你就按自己的板子选。
- 添加设计文件。咱们先新建一个 Verilog 文件:File → New → Verilog HDL File。
然后写入以下代码:
module led_test (
input clk, // 板载时钟,比如 50MHz
input rst_n, // 复位信号,低电平有效
output reg led // 接 LED 的引脚
);
reg [23:0] cnt;
always @(posedge clk or negedge rst_n) begin
if (!rst_n)
cnt <= 24'd0;
else
cnt <= cnt + 1'b1;
end
always @(posedge clk or negedge rst_n) begin
if (!rst_n)
led <= 1'b0;
else if (cnt == 24'd24_999_999) // 约 0.5 秒翻转一次
led <= ~led;
else
led <= led;
end
endmodule
写完后保存,然后点击 Processing → Start Compilation。第一次编译可能会慢一点,别急。编译通过后,你会看到 Full Compilation Report,里面会显示资源使用情况。
3.4 下载与验证——看到灯闪的那一刻
编译通过、引脚分配好之后,就可以下载了。连接好下载器(比如 USB-Blaster),点击 Tools → Programmer,选择 .sof 文件,点击 Start。
如果一切顺利,你会看到板子上的 LED 开始闪烁。嗯,那一刻还是挺有成就感的。我第一次调通的时候,盯着那个灯看了好几分钟,觉得这东西真神奇。
如果下载失败,别慌。检查这几样:
- 下载器驱动装了吗?
- 板子供电正常吗?
- JTAG 线序对不对?
我曾经有一次怎么都下载不进去,折腾了两小时,最后发现是下载器的线松了。所以,硬件问题先从物理连接查起。
3.5 本章知识体系
下面这张图,帮你理清这一章的核心逻辑:
这张图把这一章的内容串起来了。你跟着这个流程走,基本不会出大问题。如果卡在哪一步,回头看看这张图,就知道问题出在哪个环节。