第1章:开发环境搭建——Lattice Diamond与Radiant软件安装
做FPGA开发,第一步就是把吃饭的家伙给备齐了。Lattice的开发工具,说白了就两大主流:Diamond和Radiant。Diamond是老牌工具,支持MachXO2、MachXO3这些经典系列。Radiant则是针对新一代器件的,比如MachXO5-NX。我个人的习惯是两台都装上,毕竟项目里新旧芯片都可能碰到。
1.1 Lattice Diamond软件安装与许可配置
先讲Diamond。这个软件我用了快十年了,从3.0版本一路升到3.13。安装过程其实挺傻瓜式的,但有几个坑我得提醒你。
安装步骤大致如下:
- 从Lattice官网下载Diamond安装包(约2.5GB)
- 双击运行,选择"Install Lattice Diamond"
- 勾选你要支持的器件系列——我个人建议全选,反正硬盘不差这点空间
- 等待安装完成,大概15-20分钟
装完之后就是许可配置了。Lattice的许可分两种:Node-locked(绑定电脑)和Floating(网络浮动)。我们做小项目一般用Node-locked就够了。
- 获取license.dat文件(找代理商或官网申请)
- 设置环境变量:LM_LICENSE_FILE 指向license.dat路径
- 或者把license.dat放到安装目录下的license文件夹里
我曾经遇到过一个问题:明明license文件放对了,但软件就是报"License check failed"。后来发现是电脑的MAC地址变了——因为换了网卡。嗯,这里要注意,Node-locked许可绑的是MAC地址,换硬件就得重新申请。
1.2 Radiant软件安装(针对MachXO5-NX)
Radiant是Lattice的新一代工具,界面比Diamond现代化不少。如果你要用MachXO5-NX这种新片子,那就必须装Radiant了。
安装过程和Diamond类似,但有几点不同:
- Radiant安装包更大,约3.8GB
- 需要单独安装Radiant License Server(如果使用浮动许可)
- 默认会安装Synplify Pro综合工具
许可配置方面,Radiant和Diamond用的是同一套license机制。如果你已经配好了Diamond的许可,Radiant可以直接用,不用重复配置。这一点Lattice做得还算厚道。
1.3 驱动安装与下载器连接验证
软件装好了,接下来就是让电脑认识你的下载器。Lattice官方下载器是HW-USBN-2B,也就是我们常说的"USB编程线"。
驱动安装其实很简单:
- 插上HW-USBN-2B下载器
- Windows会自动搜索驱动——但大概率找不到
- 手动指定驱动路径:Diamond安装目录下的"ispvms\drivers"文件夹
- 或者用Zadig工具强制安装WinUSB驱动
驱动装好后,怎么验证是否成功?打开设备管理器,看看有没有出现"Lattice USB Programming Cable"或者"USB-JTAG"设备。如果显示黄色感叹号,说明驱动没装对。
更靠谱的验证方法是打开Diamond Programmer:
- 点击"Detect Cable"按钮
- 如果能检测到下载器型号和固件版本,就说明连接成功了
- 再点"Scan"扫描JTAG链,看看能不能找到目标芯片
我记得第一次用MachXO3L开发板时,扫描JTAG链总是失败。查了半天,原来是板子上的JTAG跳线帽没插对。你想想看,这种低级错误浪费了多少时间。所以拿到新板子,第一件事就是看原理图,确认JTAG接口的引脚定义。
1.4 本章知识体系
为了让你对整个开发环境搭建有个全局认识,我画了张流程图:
这张图把三个核心环节串起来了:Diamond装老芯片、Radiant装新芯片、下载器驱动打通硬件链路。三者缺一不可。
1.5 常见问题与解决
| 问题现象 | 可能原因 | 解决办法 |
|---|---|---|
| Diamond启动报License错误 | 环境变量未设置或MAC地址变更 | 检查LM_LICENSE_FILE路径,重新申请许可 |
| Radiant无法识别MachXO5-NX | 未安装对应器件包 | 运行Radiant Package Manager安装 |
| 下载器显示黄色感叹号 | 驱动签名问题或驱动版本不对 | 禁用驱动签名强制,手动指定驱动路径 |
| JTAG扫描不到芯片 | 板子供电不足或JTAG跳线错误 | 检查电源,核对原理图JTAG引脚 |
说实话,环境搭建这一步最磨人。我见过不少新手,板子买回来兴奋得不行,结果装软件装了一天还没搞定。别急,慢慢来。工具链顺了,后面写代码才痛快。