2. Lattice FPGA器件与开发环境

在工业通信与边缘控制场景中,选型往往先于写代码。Lattice FPGA 的产品线并不追求“最大逻辑规模”,而是围绕低功耗、小封装、快速上电、硬核接口和成本控制做取舍。理解 MachXO、ECP、CrossLink 三条主线的定位,以及 Radiant 与 Diamond 两套工具链的边界,是后续做通信协议桥接、电机控制、视频接口扩展和边缘采集的前提。

三条产品线的定位差异

MachXO 系列是“控制与桥接”的主力。MachXO2、MachXO3、MachXO5 逐步演进,典型特征是内置 Flash 配置存储器,支持瞬时上电(Instant-on),不需要外部配置芯片即可工作。MachXO3 的 I/O 支持 1.2V~3.3V 多电压域,适合把 3.3V 的 MCU 总线、1.8V 的传感器接口和差分信号放在同一颗器件里做电平与协议转换。MachXO5 进一步集成了硬核 PCIe 和更大的嵌入式存储,适合边缘控制中需要与主处理器通过 PCIe 或高速串行接口通信的场合。在工业现场,MachXO 常被用作“上电即工作”的看门狗、电源时序控制、多路 PWM 与编码器接口的粘合逻辑。

ECP 系列面向“带宽与算法”。ECP3、ECP5 提供更高的逻辑密度、更多的 DSP 乘法单元和更大的 Block RAM,支持 SERDES 高速收发器。ECP5 的 SERDES 速率可达数 Gbps,适合工业相机、机器视觉前端、多轴伺服的总线汇聚,以及需要并行滤波、FFT 或坐标变换的场合。ECP 系列通常需要外部 SPI Flash 配置,上电时间比 MachXO 长,因此更适合“主处理器先启动、FPGA 后加载”的架构。它的价值在于把大量并行运算从 CPU 卸载到硬件,降低边缘节点的实时抖动。

CrossLink 系列是“视频与高速接口桥”。CrossLink 和 CrossLink-NX 内置硬核 MIPI D-PHY,可直接对接摄像头和显示模组,常用于工业相机、AR/VR、医疗内窥镜等需要 MIPI 转 LVDS、MIPI 转并行或双摄像头切换的场景。CrossLink-NX 基于 Nexus 平台,逻辑密度和功耗表现更好,同时保留硬核 MIPI 资源。它的典型用法不是做复杂算法,而是做接口协议转换、通道合并和时序重整,让主控 SoC 只处理已经规整好的视频流。

Lattice FPGA 三条产品线定位与工具链映射 MachXO 系列 控制 · 桥接 · 上电即工作 • 内置 Flash 配置,Instant-on • 多电压 I/O:1.2V~3.3V • 小封装、低静态功耗 • 典型:电源时序、PWM、总线桥 ECP 系列 带宽 · 算法 · 高速收发 • 高逻辑密度 + DSP 乘法单元 • SERDES 数 Gbps 收发器 • 外部 SPI Flash 配置 • 典型:视觉前端、多轴汇聚 CrossLink 系列 视频 · MIPI · 接口桥 • 硬核 MIPI D-PHY • MIPI ↔ LVDS / 并行转换 • 低功耗、小尺寸 • 典型:工业相机、显示桥 Radiant 工具链 支持:MachXO3 / MachXO5 / CrossLink-NX / ECP5 特点:现代界面、时序驱动、IP 集成度高 Diamond 工具链 支持:MachXO2 / MachXO3 / ECP3 / ECP5 / CrossLink 特点:成熟稳定、老器件维护、脚本化流程 软核 vs 硬核资源对比 软核:LatticeMico8 / Mico32 / RISC-V(用户逻辑实现,占用 LUT/FF,灵活但资源开销大) 硬核:PCIe / MIPI D-PHY / SERDES / DSP / EBR(专用电路,不占通用逻辑,性能与功耗更优)

Radiant 与 Diamond 的选择

工具链的选择由器件决定,而不是由个人偏好决定。Radiant 是 Lattice 面向新一代器件的统一平台,支持 MachXO3、MachXO5、CrossLink-NX、ECP5 等。它的工程结构以“器件—IP—约束—实现—时序”为主线,内置 Clarity Designer 做 IP 集成,支持 Synplify Pro 和 LSE 两种综合方式。对于新项目,尤其是 CrossLink-NX 和 MachXO5,应优先使用 Radiant,因为新器件的原语、时序模型和硬核 IP 只在 Radiant 中完整提供。

Diamond 则是面向老器件的成熟工具链,覆盖 MachXO2、MachXO3、ECP3、ECP5、CrossLink 等。它的优势在于稳定、脚本化程度高、老工程迁移成本低。很多工业现场已经在用 MachXO2 做电源管理,维护阶段继续用 Diamond 更稳妥。需要注意的是,Diamond 对 CrossLink-NX 和 MachXO5 的支持有限或缺失,如果选型已经进入 Nexus 平台,就必须切到 Radiant。

实际项目中常见的做法是:用 Radiant 新建工程,在 Spreadsheet View 中完成引脚分配,用 Clarity Designer 生成 PLL、SERDES、MIPI D-PHY 等 IP,再通过 Timing Analyzer 检查建立/保持余量。如果时序不收敛,优先检查时钟约束是否完整,而不是反复改代码。

软核与硬核资源的取舍

软核是把处理器用 FPGA 逻辑实现,例如 LatticeMico8、Mico32 或 RISC-V 软核。它的优点是灵活、可裁剪、可多核,但会占用 LUT、FF 和 Block RAM,主频通常只有几十到一百多 MHz,且功耗随逻辑规模上升。软核适合做低速状态机、寄存器配置、简单协议解析,不适合承担高吞吐数据路径。

硬核是芯片内专用电路,例如 PCIe 硬核、MIPI D-PHY 硬核、SERDES、DSP 乘法单元和 EBR 存储块。硬核不占用通用逻辑资源,性能确定、功耗低、时序容易收敛。在工业边缘控制中,如果要做 PCIe 与主处理器通信、MIPI 摄像头接入或高速串行背板,应优先使用硬核,把通用逻辑留给用户算法和胶合逻辑。

选型时可以先问三个问题:是否需要上电即工作?是否需要高速串行或 MIPI?是否需要大量并行乘法?第一个问题指向 MachXO,第二个问题指向 CrossLink 或 ECP,第三个问题指向 ECP。工具链则跟随器件:Nexus 平台用 Radiant,老器件维护用 Diamond。

一个可参考的选型对照

需求场景 推荐系列 关键资源 工具链
电源时序 + 多路 PWM MachXO3 内置 Flash、多电压 I/O Radiant / Diamond
工业相机 MIPI 转 LVDS CrossLink-NX 硬核 MIPI D-PHY Radiant
多轴伺服并行滤波 ECP5 DSP、SERDES、EBR Radiant / Diamond
PCIe 边缘采集卡 MachXO5 硬核 PCIe、嵌入式存储 Radiant

最后提醒一点:软核和硬核不是互斥关系。一个典型的边缘控制节点可以用硬核 PCIe 与主处理器通信,用硬核 SERDES 接背板,同时在剩余逻辑里放一个 RISC-V 软核做协议解析和寄存器管理。关键是先确认硬核资源是否满足接口需求,再用软核填补控制层的灵活性,而不是反过来让软核去模拟本应由硬核完成的高速接口。