2. 开发环境搭建:安装Lattice Diamond或Radiant软件,创建第一个空白工程,熟悉界面布局
好,咱们正式开始动手了。做FPGA开发,第一步就是把吃饭的家伙给装好。Lattice家目前主流的IDE有两款:Diamond 和 Radiant。选哪个?说白了看芯片。
Diamond是老牌工具,支持MachXO、MachXO2、MachXO3、ECP5这些经典系列。Radiant则是新一代,专门为CrossLink、iCE40 UltraPlus、CertusPro-NX这些较新的器件准备的。我个人习惯是两台都装,因为项目里新旧芯片都可能碰到。
核心结论: 如果你的芯片型号带“NX”后缀,或者属于iCE40 UltraPlus系列,请直接装Radiant。其余情况,Diamond更稳妥。
2.1 软件安装要点
安装过程其实不复杂,但有几个坑我得提前跟你说。我曾经在给团队新同事配环境时,发现有人装了三次都报错,最后发现是路径里有中文。嗯,这里要注意:安装路径绝对不能有中文或空格。
具体步骤大致如下:
- 去Lattice官网下载安装包(需要注册账号,免费)。Diamond大约2-3GB,Radiant稍大一些。
- 双击运行安装程序,选择“Full Installation”完整安装。
- License选择“Node-Locked”,后续会生成一个license文件。
- 安装完成后,打开License Manager,导入你的license.dat文件。
避坑指南: 我曾经遇到过安装完成后,软件死活打不开,提示“无法找到license”。折腾了半天才发现,是杀毒软件把license文件当病毒隔离了。建议安装时暂时关闭杀毒软件,或者把安装目录加入白名单。
2.2 创建第一个空白工程
装好了,咱们来建个空项目。我以Diamond为例演示,Radiant的操作逻辑几乎一样,只是界面配色更现代一些。
打开Diamond,你会看到启动界面。点击 File → New → Project,弹出新建工程向导。这里需要填几个关键信息:
| 字段 | 填写内容 | 我的建议 |
|---|---|---|
| Project Name | led_blink | 名字要有意义,别用test1、test2这种 |
| Location | D:\FPGA_Projects\ | 路径别太深,也别放桌面 |
| Design Name | top | 顶层模块名,建议统一用top |
| Device Family | MachXO2 | 根据你手头的板子选 |
| Device | LCMXO2-1200HC-4TG144C | 具体型号,板子上有印 |
点击Finish,工程就创建好了。你会看到左侧的File List面板里空空如也——别急,空白工程就是这样,所有文件都得我们自己加。
小技巧: 我个人习惯在创建工程的同时,就把文件夹结构搭好。比如在工程目录下建好 src(源码)、constraint(约束文件)、sim(仿真文件)三个子文件夹。这样项目一多,找东西不抓瞎。
2.3 界面布局速览
第一次打开Diamond,你可能会觉得界面有点乱。别慌,核心区域就这几个:
- File List(左上):显示工程里的所有文件,包括源码、约束文件、IP核等。
- Process(左下):显示综合、布局布线、生成比特流等流程。双击即可运行。
- Reports(右下):各种报告,比如时序报告、资源利用率报告。这是后期调时序的关键地方。
- Console(底部):输出编译信息、错误和警告。你想想看,如果综合报错了,第一反应就是看这里。
- 中央区域:代码编辑器或原理图编辑器,双击文件就会在这里打开。
为什么会这样布局?其实很合理:左边管文件,下边管流程,右边看结果,中间写代码。用习惯了你会发现效率挺高的。
2.4 添加第一个源文件
空工程没法用,咱们加个最简单的Verilog文件。右键点击File List面板的空白处,选择 Add Source File。或者用快捷键 Ctrl+N 新建文件。
输入以下代码——别管它干什么,先让工程能跑起来:
module top (
input wire clk,
output wire led
);
reg [23:0] counter;
always @(posedge clk) begin
counter <= counter + 1;
end
assign led = counter[23];
endmodule
保存为 top.v,放到 src 文件夹里。然后在File List里右键点击工程名,选择 Add Source File,把刚才的文件加进来。
注意: 文件名必须和模块名一致。这是Verilog的硬性规定,也是很多新手容易犯的错。我见过有人把模块名叫 led_blink,文件名叫 test.v,结果综合报错找半天原因。
2.5 运行综合测试
文件加好了,咱们试试能不能综合通过。在Process面板里,双击 Synthesize Design。Diamond会开始跑综合,Console窗口会滚动输出信息。
如果一切顺利,你会看到绿色的 “Synthesis completed successfully”。如果不顺利,也别慌——看Console里的错误提示,通常都会告诉你哪一行出了什么问题。
我第一次用Diamond时,综合报了个“Module not found”的错误。检查了半天,发现是文件路径加错了,多了一层文件夹。从那以后,我每次加文件都会确认路径对不对。
2.6 本章知识体系
为了让你更直观地理解本章的内容结构,我画了一张流程图:
这张图把本章的核心内容串起来了。你跟着这个流程走一遍,环境搭建这块基本就稳了。
2.7 写在最后
环境搭建听起来简单,但往往是整个项目中最容易出幺蛾子的环节。我见过太多人卡在安装这一步,最后放弃了整个FPGA学习计划。其实说白了,就是几个小细节没注意到。
你现在已经成功创建了第一个空白工程,并且跑通了综合。接下来,我们就可以往工程里添加真正的逻辑代码了。不过在那之前,我建议你先熟悉一下Diamond的各个面板,点一点、看一看,心里有个数。
嗯,今天就到这儿。记住:工具只是手段,关键是思路。环境搭好了,后面的事就好办了。