2、开发环境搭建:Diamond软件安装、License配置、驱动安装、工程创建流程

说实话,很多初学者卡在第一步——环境没搭好,后面全白费。我自己带过不少新人,发现90%的问题其实不是代码写错了,而是软件没装对、License没配好、驱动没识别。今天咱们就把这套流程捋清楚,你跟着走一遍,基本不会出岔子。

2.1 Diamond软件安装——别急着点下一步

Lattice Diamond是Lattice官方提供的FPGA开发IDE,说白了就是咱们写代码、综合、布局布线的“大本营”。目前主流版本是Diamond 3.12,我建议你装这个版本,稳定,坑少。

安装包可以去Lattice官网下载,大概2个多G。下载后直接双击运行,嗯,这里有个小细节——安装路径不要带中文,也别有空格。我见过有人装到“Program Files (x86)”下面,结果后面编译报一些莫名其妙的错,排查了半天才发现是路径问题。

我的习惯:我会在D盘建一个 Lattice 文件夹,里面再分 DiamondProjectsLicenses 三个子目录。这样后续管理起来特别清爽。

安装过程中,它会让你选择组件。默认全选就行,但如果你硬盘空间紧张,可以去掉一些不用的器件库。比如你只做MachXO2系列,那就只勾选对应的库,能省下不少空间。

安装完成后,桌面上会出现Diamond的快捷方式。先别急着打开,咱们还有License要配。

2.2 License配置——这一步最容易翻车

License说白了就是一把钥匙。没有它,Diamond只能当个文本编辑器用,没法综合、没法布线。

Lattice的License分两种:一种是免费的Node-Locked License(绑定电脑),另一种是浮动License。咱们初学者用免费的就行。

申请流程很简单:

  1. 去Lattice官网注册一个账号(免费的)
  2. 进入License申请页面,填上你的网卡MAC地址
  3. 邮箱里会收到一个 .lic 文件,下载下来

这里有个坑:MAC地址别填错了。怎么查?打开命令行,输入 ipconfig /all,找到“物理地址”那一串。注意,是12位十六进制数,中间可能有“-”,填的时候去掉就行。

我曾经踩过的坑:有一次我笔记本连着WiFi,查到的MAC是无线网卡的。结果License绑定了无线网卡,后来换到有线网络,Diamond就报License错误。所以建议你绑定有线网卡的MAC,或者干脆把无线网卡禁用后再查。

拿到 .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”两个设备。

一个小技巧:如果设备管理器里显示的是“Lattice USB Download Cable”,那说明驱动已经对了。如果显示黄色感叹号,右键点击它,选择“更新驱动程序”,手动指向你解压的FTDI驱动文件夹,让它重新装一遍。

驱动装好后,打开Diamond,点击 Tools → Programmer,如果能识别到你的下载器(比如“HW-USBN-2B”),那就说明驱动没问题了。

2.4 工程创建流程——从零到第一个工程

好了,万事俱备,咱们来创建第一个工程。我带你走一遍标准流程:

  1. 新建工程:点击 File → New → Project,给工程起个名字,比如 led_blink。注意,工程名不要用中文,也不要用空格,用下划线代替。
  2. 选择器件:在弹出的对话框里,选择你开发板对应的FPGA型号。比如我用的是MachXO2-1200HC,那就选 LCMXO2-1200HC,封装选 TG144,速度等级选 4。这些信息可以从开发板的说明书上找到。
  3. 添加源文件:点击 File → New → File,选择 Verilog File,输入文件名(比如 top.v),然后就可以开始写代码了。
  4. 设置顶层模块:在左侧的 File List 面板里,右键点击你的 top.v,选择 Set as Top。这一步很重要,不然Diamond不知道哪个模块是顶层。
  5. 综合与布局布线:点击工具栏上的 Synthesize Design 按钮,等它跑完。如果没报错,再点击 Place & Route Design。这个过程可能需要几分钟,取决于你的工程大小。
  6. 生成烧录文件:布局布线成功后,点击 Tools → Programmer,在弹出窗口里点击 Detect Cable,如果能识别到下载器,再点击 Program,就可以把代码烧到FPGA里了。
嗯,这里要注意:第一次烧录时,如果提示“Device not found”,别急着怀疑硬件坏了。先检查一下开发板是否上电,JTAG线是否插紧。我遇到过好几次,其实就是线松了。

2.5 知识体系一览

为了让你对整个搭建流程有个全局认识,我画了一张图,把核心步骤串起来:

开发环境搭建核心流程 ① 软件安装 ② License配置 ③ 驱动安装 ④ 工程创建 下载安装包 选择组件 完成安装 注册账号 申请License文件 配置环境变量 下载FTDI驱动 手动安装驱动 验证设备识别 新建工程 选择器件 添加源文件 综合/布局布线 烧录验证 关键检查点 路径无中文 | License文件路径正确 | 驱动无感叹号 | 工程顶层设置正确

这张图把四个步骤的关系和子任务都列出来了。你按这个顺序走,每一步做完检查一下对应的关键点,基本不会出问题。

2.6 常见问题与解决

最后,我整理了几个我实际遇到过的典型问题,你如果碰到了可以直接对照:

问题现象 可能原因 解决办法
Diamond启动报License错误 环境变量未设置或路径错误 检查 LM_LICENSE_FILE 是否指向 .lic 文件
Programmer检测不到下载器 驱动未安装或安装错误 手动安装FTDI驱动,重启电脑
综合时报“Module not found” 顶层模块未设置 右键源文件,选择“Set as Top”
烧录时报“Device ID mismatch” 工程选择的器件型号与实际不符 核对开发板上的芯片型号,重新选择

好了,环境搭建这部分就这些内容。你按照这个流程走一遍,应该半小时内就能把Diamond跑起来。记住,环境搭好了,后面写代码才踏实。别急着跳过去,把每一步都验证通过再往下走。


专注资料整理