第一章:开发环境搭建
说实话,很多初学者拿到开发板后的第一反应就是——赶紧写代码。但我见过太多人卡在环境搭建这一步,一卡就是好几天。我自己刚开始用Lattice的芯片时,也踩过不少坑。今天咱们就把这块硬骨头啃下来。
1.1 Lattice Diamond软件安装
Diamond是Lattice官方的FPGA开发工具,说白了就是咱们写代码、综合、布局布线、生成烧录文件的一站式平台。我建议直接去官网下载最新版,大概2个多G。
安装要点:
- 安装路径不要有中文,不要有空格
- 建议安装在C盘以外的盘符
- 安装时关闭杀毒软件,否则可能报错
双击安装包后,一路Next就行。但有个地方要注意——选择组件时,记得勾上"Programming Tools"。我有个同事当年没勾这个,折腾了半天才发现没法烧录程序。
1.2 License配置
安装完软件,第一件事就是配License。没有License,Diamond就是个摆设。
Lattice的License分两种:
- 免费版:功能受限,但咱们做基础实验完全够用
- 付费版:全功能,企业用的多
我个人习惯用免费版起步。申请流程很简单:
- 打开Diamond,点击Help → License Manager
- 选择"Register for a Free License"
- 填邮箱,Lattice会发一个License文件给你
- 把License文件放到安装目录下,重启软件
我曾经踩过的坑:License文件一定要放在纯英文路径下。有一次我放到了"桌面"文件夹,结果软件死活认不到。后来才发现桌面的路径里有中文,折腾了我一下午。
1.3 驱动安装
驱动这步,很多人会忽略。但你要是不装驱动,电脑根本认不出你的开发板。
ECP5开发板通常使用FTDI的USB转JTAG芯片。驱动安装步骤:
- 插上开发板,打开设备管理器
- 找到带黄色感叹号的设备
- 右键更新驱动,选择Diamond安装目录下的driver文件夹
嗯,这里要注意——Windows 10/11需要禁用驱动签名强制。怎么操作?重启电脑时按F8,选择"禁用驱动程序签名强制"。我刚开始不知道这个,驱动一直装不上,还以为是开发板坏了。
1.4 第一个工程创建流程
环境搭好了,咱们来创建第一个工程。这个过程我会手把手带着走一遍。
步骤一:新建工程
打开Diamond,点击File → New → Project。弹窗里填工程名和路径。我建议工程名用英文,比如"led_test"。
步骤二:选择器件
这一步很关键。ECP5有很多型号,你得选对才能用。咱们用的开发板一般是LCMXO2-1200HC或者LFE5U-25F。具体型号看板子上的丝印。
小技巧:选错器件型号,综合出来的网表可能不匹配。我建议你拿到板子后,第一时间拍照留存芯片型号。
步骤三:添加源文件
新建一个Verilog文件,写个最简单的LED闪烁程序:
module led_test(
input clk,
input rst_n,
output reg 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'd5000000)
led <= ~led;
end
endmodule
步骤四:综合与布局布线
点击Process栏里的"Synthesize Design",等它跑完。然后点"Map Design"和"Place & Route"。这个过程大概需要1-2分钟。
步骤五:生成烧录文件
布局布线完成后,点击"Export Bitstream"。会生成一个.svf或者.bit文件,这就是咱们要烧录到FPGA里的程序。
步骤六:烧录验证
打开Programmer工具,加载刚才生成的烧录文件,点击Program。如果一切顺利,开发板上的LED应该开始闪烁了。
验证要点:
- 检查LED是否按预期闪烁
- 如果LED不亮,检查复位按键是否按下
- 如果LED常亮不闪,检查时钟频率是否匹配
1.5 知识体系总览
下面这张图,是我画的环境搭建的完整流程。你可以对照着检查自己走到哪一步了。
这张图把整个流程串起来了。你按照这个顺序走,基本不会出大问题。如果卡在哪一步,回头看看图里的排查建议。
1.6 写在最后
环境搭建这件事,说白了就是一次性的体力活。但千万别小看它——我见过太多人因为驱动没装好、License没配对,白白浪费一整天。你按照我上面说的步骤来,半小时内肯定能跑起来第一个工程。
对了,如果你用的是Linux系统,安装步骤会有些不同。不过咱们这个课程主要基于Windows,Linux用户可以先装个虚拟机过渡。