第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 安装流程

拿到安装包后,双击运行。嗯,这里要注意:

  1. 右键点击安装程序,选择"以管理员身份运行"
  2. 选择语言——默认英文就行,中文界面翻译得不太全
  3. 接受许可协议——这步没啥好说的
  4. 选择安装组件——我建议全选,省得后面缺东西
  5. 选择安装目录——我习惯用 C:\Lattice\Diamond
  6. 等待安装完成——大概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 就能启动,不用每次都找路径。

嗯,安装这块就聊到这儿。记住一点:安装不是终点,配置好环境才是关键。下一节咱们会讲工程创建,到时候你就知道这些目录结构有多重要了。

Diamond安装知识体系 Diamond安装 Windows平台安装 系统要求:Win10 64位专业版 安装流程:管理员运行→全选组件 Linux平台安装 环境准备:安装32位兼容库 配置环境变量→设置PATH 常见错误与解决 License错误→环境变量检查 GUI闪退→显卡驱动更新 目录结构解析

专注资料整理