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 只处理已经规整好的视频流。
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 摄像头接入或高速串行背板,应优先使用硬核,把通用逻辑留给用户算法和胶合逻辑。
一个可参考的选型对照
| 需求场景 | 推荐系列 | 关键资源 | 工具链 |
|---|---|---|---|
| 电源时序 + 多路 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 软核做协议解析和寄存器管理。关键是先确认硬核资源是否满足接口需求,再用软核填补控制层的灵活性,而不是反过来让软核去模拟本应由硬核完成的高速接口。