2、开发环境搭建:Diamond软件安装、License配置、驱动安装、工程创建流程
说实话,很多初学者卡在第一步——环境没搭好,后面全白费。我自己带过不少新人,发现90%的问题其实不是代码写错了,而是软件没装对、License没配好、驱动没识别。今天咱们就把这套流程捋清楚,你跟着走一遍,基本不会出岔子。
2.1 Diamond软件安装——别急着点下一步
Lattice Diamond是Lattice官方提供的FPGA开发IDE,说白了就是咱们写代码、综合、布局布线的“大本营”。目前主流版本是Diamond 3.12,我建议你装这个版本,稳定,坑少。
安装包可以去Lattice官网下载,大概2个多G。下载后直接双击运行,嗯,这里有个小细节——安装路径不要带中文,也别有空格。我见过有人装到“Program Files (x86)”下面,结果后面编译报一些莫名其妙的错,排查了半天才发现是路径问题。
Lattice 文件夹,里面再分 Diamond、Projects、Licenses 三个子目录。这样后续管理起来特别清爽。
安装过程中,它会让你选择组件。默认全选就行,但如果你硬盘空间紧张,可以去掉一些不用的器件库。比如你只做MachXO2系列,那就只勾选对应的库,能省下不少空间。
安装完成后,桌面上会出现Diamond的快捷方式。先别急着打开,咱们还有License要配。
2.2 License配置——这一步最容易翻车
License说白了就是一把钥匙。没有它,Diamond只能当个文本编辑器用,没法综合、没法布线。
Lattice的License分两种:一种是免费的Node-Locked License(绑定电脑),另一种是浮动License。咱们初学者用免费的就行。
申请流程很简单:
- 去Lattice官网注册一个账号(免费的)
- 进入License申请页面,填上你的网卡MAC地址
- 邮箱里会收到一个
.lic文件,下载下来
这里有个坑:MAC地址别填错了。怎么查?打开命令行,输入 ipconfig /all,找到“物理地址”那一串。注意,是12位十六进制数,中间可能有“-”,填的时候去掉就行。
拿到 .lic 文件后,把它放到咱们之前建的 Licenses 文件夹里。然后打开Diamond,点击菜单栏 Tools → License Setup,在弹出窗口里选择 Specify License File,浏览到你放 .lic 的位置,确定即可。
验证是否成功:看Diamond左下角状态栏,如果显示“Licensed”,那就对了。如果显示“Unlicensed”,别慌,重启一下软件试试,还不行就检查环境变量 LM_LICENSE_FILE 是否指向了你的 .lic 文件路径。
2.3 驱动安装——让电脑认识你的开发板
软件装好了,License也配好了,接下来要让电脑和开发板“对话”。这就要靠驱动了。
Lattice的开发板通常使用FTDI芯片(比如FT2232H)来做USB转JTAG。Windows 10/11一般能自动识别并安装驱动,但有时候会抽风,装成其他设备的驱动,导致Diamond找不到下载器。
我的建议是:手动安装FTDI官方驱动。去FTDI官网下载 CDM v2.12.28 WHQL Certified 版本,解压后右键点击 dpinst.exe,以管理员身份运行。装完后,插上开发板,打开设备管理器,你应该能看到“USB Serial Converter”和“USB Serial Port”两个设备。
驱动装好后,打开Diamond,点击 Tools → Programmer,如果能识别到你的下载器(比如“HW-USBN-2B”),那就说明驱动没问题了。
2.4 工程创建流程——从零到第一个工程
好了,万事俱备,咱们来创建第一个工程。我带你走一遍标准流程:
- 新建工程:点击
File → New → Project,给工程起个名字,比如led_blink。注意,工程名不要用中文,也不要用空格,用下划线代替。 - 选择器件:在弹出的对话框里,选择你开发板对应的FPGA型号。比如我用的是MachXO2-1200HC,那就选
LCMXO2-1200HC,封装选TG144,速度等级选4。这些信息可以从开发板的说明书上找到。 - 添加源文件:点击
File → New → File,选择Verilog File,输入文件名(比如top.v),然后就可以开始写代码了。 - 设置顶层模块:在左侧的
File List面板里,右键点击你的top.v,选择Set as Top。这一步很重要,不然Diamond不知道哪个模块是顶层。 - 综合与布局布线:点击工具栏上的
Synthesize Design按钮,等它跑完。如果没报错,再点击Place & Route Design。这个过程可能需要几分钟,取决于你的工程大小。 - 生成烧录文件:布局布线成功后,点击
Tools → Programmer,在弹出窗口里点击Detect Cable,如果能识别到下载器,再点击Program,就可以把代码烧到FPGA里了。
2.5 知识体系一览
为了让你对整个搭建流程有个全局认识,我画了一张图,把核心步骤串起来:
这张图把四个步骤的关系和子任务都列出来了。你按这个顺序走,每一步做完检查一下对应的关键点,基本不会出问题。
2.6 常见问题与解决
最后,我整理了几个我实际遇到过的典型问题,你如果碰到了可以直接对照:
| 问题现象 | 可能原因 | 解决办法 |
|---|---|---|
| Diamond启动报License错误 | 环境变量未设置或路径错误 | 检查 LM_LICENSE_FILE 是否指向 .lic 文件 |
| Programmer检测不到下载器 | 驱动未安装或安装错误 | 手动安装FTDI驱动,重启电脑 |
| 综合时报“Module not found” | 顶层模块未设置 | 右键源文件,选择“Set as Top” |
| 烧录时报“Device ID mismatch” | 工程选择的器件型号与实际不符 | 核对开发板上的芯片型号,重新选择 |
好了,环境搭建这部分就这些内容。你按照这个流程走一遍,应该半小时内就能把Diamond跑起来。记住,环境搭好了,后面写代码才踏实。别急着跳过去,把每一步都验证通过再往下走。