为什么 FPGA 模块化比 CPU 模块化更难?

模块化设计在嵌入式领域并不陌生。通过将核心计算单元与外围功能分离,开发者可以根据应用需求灵活组合硬件,减少重复设计,也让产品升级和维护更加方便。

CPU 模块化已经形成了较成熟的标准体系,而 FPGA 模块化却面临更多挑战。

原因在于,FPGA 不仅承担计算任务,还需要面对复杂的 I/O、电源、高速接口和时钟配置。如何在保留 FPGA 灵活性的同时,实现模块之间的标准化连接?这正是 oHFM 希望解决的问题。

一、CPU 模块化,为什么更成熟?

在嵌入式计算领域,CPU 模块化已经发展多年,形成了 COM Express、SMARC 等标准。

这类标准通常将计算核心集成在独立模块上,再通过统一的机械结构和接口连接载板。模块负责处理器、内存等核心资源,载板则根据实际应用配置网络、显示、存储及其他外设接口。

这种设计方式带来了几个直接优势:

降低开发成本: 核心计算模块可以重复使用,减少不同项目的重复设计。

提高开发效率: 开发者可以将更多精力放在载板功能和应用开发上。

便于产品升级: 在接口和性能匹配的前提下,可以通过更换计算模块提升产品性能。

增强供应链灵活性: 标准化接口为不同厂商的模块和载板协作创造了条件。

经过长期应用,CPU 模块化已经形成了相对成熟的产业生态。

但 FPGA 的情况有所不同。它的可编程特性带来了更大的设计自由度,也让硬件模块化变得更加复杂。

二、FPGA 模块化,难在哪里?

与功能相对明确的处理器模块不同,FPGA 的 I/O 资源、电源需求和高速接口配置,会随芯片型号和具体应用发生变化。

这意味着,模块化设计不仅要考虑物理连接,还必须处理复杂的电气和信号匹配问题。

I/O Bank 配置差异

FPGA 通常拥有多个 I/O Bank,不同 Bank 可能支持不同的 I/O 电压和接口标准。

在实际设计中,引脚分配需要结合 Bank 的电压要求、接口类型和器件资源进行规划。如果模块与载板之间的引脚定义不匹配,就可能影响接口使用,甚至需要重新设计。

电源设计更复杂

FPGA 通常需要多组电源,包括核心电源、辅助电源、I/O 电源以及高速收发器相关电源。

不同型号的 FPGA,在电源轨数量、电压范围、电流需求和上电时序等方面可能存在差异。因此,模块设计必须充分考虑供电能力与电源时序,不能简单地采用一套方案适配所有器件。

高速接口对连接提出更高要求

PCIe、SerDes 等高速接口对信号完整性要求较高。

从 PCB 走线、阻抗控制到连接器选型,都会影响信号传输质量。模块与载板之间的连接方式,也需要满足相应的高速信号设计要求。

时钟与散热同样不能忽视

不同 FPGA 应用对时钟输入、时钟资源和频率配置有不同要求。

同时,高性能 FPGA 在运行过程中可能产生较大的热量,需要结合芯片功耗、散热结构和实际工作环境进行设计。

这些因素相互关联,使 FPGA 模块化远不只是统一外形和连接器那么简单。

三、如何推动 FPGA 模块化?

为推动 FPGA 模块接口标准化,SGET(Standardization Group for Embedded Technologies)推出了 oHFM(Open Harmonized FPGA Module)开放式 FPGA 模块标准。

oHFM 希望通过统一的规范,明确 FPGA 模块与载板之间的连接方式,为不同厂商的模块设计和应用集成提供共同基础。

其标准化设计涉及机械结构、电气接口、供电及信号分配等方面,帮助开发者减少重复定义接口的工作。

目前,oHFM 主要包含两种模块形式:

oHFM.c:连接器式模块

通过板对板连接器与载板连接,模块与载板可以相对独立地设计和制造。这种形式便于模块安装、更换和升级,适合需要灵活配置及维护的应用场景。

oHFM.s:焊接式模块

采用焊接方式与载板集成,减少连接器占用的空间,有利于实现紧凑的硬件结构,适合对尺寸和集成度有较高要求的应用。

两种形式面向不同的产品需求,为开发者提供了不同的集成选择。

四、从标准规范到生态协同的道路

从模块设计、载板开发到系统集成,标准需要经过不同应用场景的验证,才能逐步形成成熟的技术生态。

作为 SGET 成员及 oHFM 工作组标准委员会成员,ALINX 希望将自身在 FPGA 技术及硬件开发领域的经验融入开放标准建设,并已率先推出基于 oHFM 标准的 Zynq UltraScale+ MPSoC 核心板,致力于与产业链伙伴共同推动标准完善和应用落地。

更多信息可登录网站ohfm.cn和en.alinx.com,查看oHFM 系列新品。

文章来源:oHFM微信公众号

👍 点赞 · 0