第1章:Diamond安装实战
各位同学好,我是老李。做FPGA开发十几年了,从早期的ispLEVER到现在的Diamond,一路踩坑无数。今天咱们就来聊聊Diamond的安装——这事儿看着简单,但我在项目中见过太多人卡在这一步。
1.1 Windows平台安装步骤详解
Windows下的安装,说白了就是下一步下一步。但有几个关键点,我得跟你说道说道。
1.1.1 安装前准备
先检查你的系统。我建议用Windows 10 64位专业版,家庭版也能跑,但偶尔会出些莫名其妙的问题。
- 系统要求:Windows 7/10/11(64位)
- 硬盘空间:至少20GB空闲
- 内存:8GB以上(我习惯16GB)
- 管理员权限:必须有
注意:安装路径不要有中文!不要有空格!我曾经有个学员把软件装到"程序文件"文件夹里,结果编译时各种报错,折腾了两天才找到原因。
1.1.2 安装流程
拿到安装包后,双击运行。嗯,这里要注意:
- 右键点击安装程序,选择"以管理员身份运行"
- 选择语言——默认英文就行,中文界面翻译得不太全
- 接受许可协议——这步没啥好说的
- 选择安装组件——我建议全选,省得后面缺东西
- 选择安装目录——我习惯用
C:\Lattice\Diamond - 等待安装完成——大概15-30分钟,取决于你的电脑
小技巧:安装过程中会提示安装Sentinel驱动,这是License管理用的。一定要装!我见过有人跳过这步,结果软件打不开。
1.2 Linux平台安装步骤详解
Linux下的安装,说实话比Windows麻烦点。但如果你做服务器端的批量编译,Linux是绕不开的。
1.2.1 环境准备
我常用的发行版是Ubuntu 20.04 LTS。CentOS 7也行,但依赖包要手动装不少。
# 安装必要的依赖
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
sudo apt-get install libxft2:i386 libxss1:i386 libxcb1:i386
为什么会需要32位库?因为Diamond的License管理工具是32位的。我第一次装的时候也纳闷,后来才搞明白。
1.2.2 安装步骤
# 解压安装包
tar -xzf diamond_3_12_x64_linux.tar.gz
# 进入安装目录
cd diamond_3_12
# 运行安装脚本
sudo ./install.sh
安装脚本会启动图形界面。如果没有图形界面,可以用 ./install.sh -c 启动命令行模式。
关键点:安装完成后,需要设置环境变量。我习惯把它加到 ~/.bashrc 里:
export LSC_HOME=/usr/local/diamond/3.12
export PATH=$LSC_HOME/bin/lin64:$PATH
export LM_LICENSE_FILE=/path/to/license.dat
1.3 安装常见错误及解决方法
这些年我收集了不少安装报错案例,挑几个典型的说说。
| 错误现象 | 可能原因 | 解决方法 |
|---|---|---|
| License错误 | 环境变量未设置 | 检查LM_LICENSE_FILE路径 |
| 缺少libstdc++ | Linux依赖缺失 | 安装32位兼容库 |
| GUI启动闪退 | 显卡驱动问题 | 更新显卡驱动或使用软件渲染 |
| 编译报错"command not found" | PATH未配置 | 检查环境变量设置 |
避坑指南:我曾经遇到过一个问题——安装完成后,双击图标没反应。查了半天,发现是杀毒软件把Sentinel驱动给拦截了。所以安装时最好暂时关闭杀毒软件。
1.4 安装后的目录结构解析
装完之后,咱们来看看Diamond到底装了些什么。我习惯用 tree 命令看目录结构,Windows下可以用 dir /s。
diamond/3.12/
├── bin/ # 可执行文件
│ ├── lin64/ # Linux 64位
│ └── nt64/ # Windows 64位
├── data/ # 器件数据文件
├── docs/ # 文档手册
├── examples/ # 示例工程
├── ispfpga/ # FPGA综合工具
├── licence/ # License相关
├── models/ # 仿真模型
├── synpbase/ # Synplify综合器
└── tcl/ # Tcl脚本库
这里我重点说几个目录:
- bin/:所有可执行文件都在这里。比如
diamond是主程序,pnmainc是命令行工具 - data/:存放器件数据库。你选什么型号的FPGA,它就从这里调数据
- ispfpga/:这是Lattice自家的综合工具。说实话,我更喜欢用Synplify
- synpbase/:Synopsys的Synplify Pro,综合质量更高
个人经验:我习惯把 bin/ 目录加到系统PATH里。这样在命令行里直接敲 diamond 就能启动,不用每次都找路径。
嗯,安装这块就聊到这儿。记住一点:安装不是终点,配置好环境才是关键。下一节咱们会讲工程创建,到时候你就知道这些目录结构有多重要了。