FPGA 专家 38:板卡协同设计——选型即板级系统权衡
本文是
fpga/专家层第 41 篇。电源/去耦细节见 专家 42,高速物理设计见 专家 26,功耗估算见 进阶 38。
一、选型:按"瓶颈资源"而不是总 LUT

| 维度 | 关键问题 |
|---|---|
| LUT/FF | ×1.2~1.4 迭代与拥塞余量 |
| DSP/BRAM/URAM | 按算法配比,乘法/存储先到极限的常见 |
| 收发器 | lane 数、线速档、参考钟位置 |
| IO/Bank | 电平种类受 VCCO 限制 |
| 速度等级 | 时序收敛风险定价 |
| 封装/温度/供货 | 逃逸布线、工业车规、单源与生命周期 |
二、电源树是"按设计定制"的

电源 IC ── VCCINT(大动态电流、快瞬态)
├─ VCCAUX / VCCBRAM
└─ MGTAVCC / MGTAVTT(低噪声,纹波→抖动)
要求:上电顺序、单调上升、峰值电流余量、XPE 估算→实测闭环、分级去耦三、时钟与管脚:早期冻结的联合约束

- 参考钟低抖动、靠近专用引脚、独立缓冲;MMCM/时钟 capable 脚限制;
- Bank VCCO、差分对、DDR 字节组、BGA 逃逸层数、lane 背钻——pinout 与原理图同源生成。
四、协同流程
需求/接口预算表 → 预选器件 + XPE 功耗预算 → 原理图联合评审
→ pinout/布局联动 + SI/PI 仿真 → 制板 → bring-up 计划(电源/时钟/JTAG 分段点亮)返工率最高的五项:Bank 电压冲突、参考钟位置、电源裕量、DDR pinout、散热不足。
五、可维护性预留
资源余量、JTAG/串口/测试点、A-B 多版本 flash、可编程时钟、峰值散热、连接器与 lane 预留、量产边界扫描与烧录夹具。
六、电源树协同设计:从功耗预算到上电时序的联合工程

FPGA 板级失败里,电源问题占比极高且大多在“各自都按手册设计”的接缝处爆发。电源树不是硬件一个团队的事——FPGA 工程师给出的功耗估算、瞬态电流特征、上电时序和电源监控需求,直接决定电源架构;而电源能力反过来约束 FPGA 能跑到什么频率、能同时启用多少收发器。这件事必须从项目早期作为联合工程推进。
功耗预算要动态维护,而不是一次估完。 厂商功耗估算工具基于工程真实活动率才有意义:早期用电子表格按模块(逻辑、BRAM、DSP、收发器数量与线率、DDR 控制器、时钟树)给带裕量的估计,中期用综合后网表 + 向量驱动分析替换,后期用布局布线后报告和板上实测(电源轨电流、片上功耗寄存器、热成像)收敛。要区分静态功耗(随温度、工艺显著变化,高温下明显上升)和动态功耗(随活动率剧变),以及瞬态电流:时钟使能突然释放、大量收发器从低功耗退出、DSP 阵列同时翻转时,电流在微秒级阶跃,平均功耗数字看不出这种需求,但电源环路若跟不上就表现为局部电压跌落和时序错误。功耗预算里应给每档电源标注最大值、阶跃速率和允许纹波,作为电源选型的输入。
电源架构按轨拆解:核电压(大电流、低电压、最严瞬态要求,通常多相或大电流模块供电,去耦按频段多级布置)、辅助电压(BRAM/URAM、收发器电源有多组模拟/数字轨,纹波要求严,常需独立滤波和磁珠隔离)、IO bank 电源(电压随管脚接口标准而定,bank 分组和管脚分配必须与供电方案一致)、PLL/收发器参考电源(低噪声 LDO 供电,远离大电流数字开关)。FPGA 团队在做管脚约束时就要和硬件确认每个 bank 的 VCCO 可行性——把 1.2V、1.8V、3.3V、2.5V 的接口随意混排,会逼出过多电源轨或跨 bank 兼容问题。
上电时序是很多芯片的硬性要求:核电压、辅助电压、IO 电压、收发器电压必须按数据手册规定的顺序和斜率斜坡上升,错误顺序可能导致上电大电流、配置失败甚至寿命损伤;部分系列还要求各轨之间在时间窗口内跟进。实现上用电源时序控制器/监控芯片或带 PG(power-good)级联的使能链,配合 FPGA 的配置使能(只在所有 PG 有效后释放 PROGRAM/配置),下电要有对称的掉电设计,不能默认电源会按理想顺序消失。热插拔和浪涌也要处理:背板插入时大电容充电的浪涌电流需要热插拔控制器或软启动,否则连接器和前级电源受损。
监控与保护是给现场留的眼睛:每关键轨加电压/电流监测(经 I2C/SPI 接 FPGA 或板载管理 MCU),阈值告警、过压/欠压/过温保护、降频联动;FPGA 内部温度传感器纳入统一监控。设计阶段要联合做的还有功耗完整性分析(PDN 目标阻抗、去耦电容组合、平面划分,见 专家 42)和最坏情况校核(最小输入电压、最高温度、器件快档最大漏电同时发生)。最后把功耗实测纳入 BIST/CI(见 专家 39):每版比特流记录满载电流,电流突增可能意味着新引入了翻转风暴,既是硬件安全也是设计回归信号。
电源树协同的核心姿态是:FPGA 工程师不能只扔一个“估计 25W”的数字给硬件,而要提供分轨、分场景(启动/空闲/满载/收发器切换)、含瞬态和温漂的功耗画像,并在设计全过程与实测闭环;硬件工程师也要把电源能力(纹波、瞬态响应、时序窗口)作为 FPGA 频率和规模决策的约束回传。电源是两个团队共同设计的接口,不是交接物。
七、时钟架构与管脚冻结:最贵的早期联合决策
时钟和管脚是 FPGA 板级设计里最晚能改、改错代价最大的两类约束:原理图一定稿,时钟树拓扑、参考时钟位置、高速管脚分配就被板层、连接器和串阻锁死;等 FPGA 逻辑发现管脚接得不合理,唯一的解法往往是飞线或改版。它们必须在项目早期由逻辑、硬件、(必要时)信号完整性工程师联合冻结,且后续变更走正式变更流程。
时钟架构设计从清点时钟需求开始:每个功能块需要的频率、精度(ppm)、抖动(高速收发器对参考时钟相位噪声有严格预算)、是否需要可关断/可变频、同源关系(哪些必须由同一 PLL 派生以避免跨时钟域)。画出时钟树:板上振荡器/时钟发生器(选择频率、精度、抖动、温漂满足最严要求的器件)→ FPGA 时钟输入管脚(优先用专用时钟 capable 管脚/MGTREFCLK,位置和收发器布局绑定)→ MMCM/PLL → BUFG/BUFGCE/BUFR 分布。关键纪律:低抖动参考时钟远离噪声源和高速开关电源、必要时走差分、独立 LDO;同一参考时钟供多个收发器时确认 bank 位置和时钟资源可达性;凡是逻辑需要的时钟都要在架构文档里登记,禁止后期“从随便一个 IO 脚进时钟”。时钟规划要与 SI 团队对齐参考时钟的端接和布线约束,与逻辑团队对齐生成时钟频率、门控使能和 CDC 清单(见 专家 38)。
管脚分配(pinout)冻结是一个多约束满足问题:①电气约束——接口标准与 VCCO 匹配、差分对在真差分对上、VREF 要求、bank 电压兼容;②高速约束——收发器通道/参考时钟组合按器件时钟规划、DDR 字节组和 DQS 完整分配、LVDS/SERDES 走 ISERDES/IDELAY 所在 bank;③SI/PI 约束——同步开关输出(SSO)限额、高翻转信号分散、返回路径和参考平面连续、避开过孔反焊盘敏感区;④物理约束——引脚顺序与连接器/排针友好(同组信号在连接器上成簇,方便等长布线和调试探针)、预留测试点和 spare 脚;⑤器件迁移——同系列不同规模器件间封装兼容脚位(migration-enabled pinout),为换大/小型号留路。
冻结的含义不是永不变更,而是变更有代价评估。pinout 初版在硬件原理图启动前输出,经逻辑(接口 IP 要求)、硬件(电源/连接器)、SI(关键信号)三方评审;冻结后任何管脚移动都要重新跑:端口到 IP 兼容性检查、bank 电压冲突检查、SSO/同步翻转预算、板级布线可达性,并在版本记录中留下谁批准、影响哪块。实践中最痛的是“逻辑后期加了一个接口,随便找了两个 spare 脚,结果那对脚在硬件上被 VCCO 1.8V 约束而接口要 2.5V”,这种问题靠冻结后变更评审挡掉。
还要预留调试可见性的管脚和时钟资源:若干 spare 差分对引到测试点/连接器供未来 ILA 导出或备用监控,JTAG 链路在系统中的连接方式(与其他器件串联还是独立、是否可经背板访问)在原理图阶段定好,配置方式(SPI Flash 型号与多板级联)同步冻结。时钟和管脚的联合冻结,本质是承认“FPGA 的物理边界比 RTL 更难改”,在最便宜的时间点把最贵的决策做对、做全、留痕。
八、接口与存储器协同:DDR、高速口和外设的共同定义
FPGA 与外部世界的数据接口是逻辑和硬件的共同作品:逻辑定义协议、带宽和延迟需求,硬件决定器件选型、布线和时钟,二者对不上的典型表现是“IP 能生成但校准不过”“带宽达标但误码随温度上升”。接口协同要在选型阶段就围绕几个大件展开。
DDR 子系统是最常见的重灾区。联合决策链:先由逻辑给出容量、理论带宽、访问模式(连续突发比例、读写比、是否多端口)、可接受延迟 → 共同选 LPDDR/DDR4/DDR5 或更简单的 SRAM(很多低延迟场景上 DDR 是过度设计)→ 硬件严格按器件 PCB 指南做字节组内等长、组间时序、地址/命令组、VTT/VREF、ODT 配置;FPGA 侧 IP 的引脚和延迟约束必须与板级实际一致,read/write leveling 在校准阶段依赖板级延迟模型。协同要点:引脚分配早期由 IP 校验(不是随便分配后让 IP 报错)、SI 仿真覆盖地址/数据眼图、bring-up 时先看校准状态和训练 margin 再跑流量压力(march + 随机图案 + 温度拉偏,见 专家 39 BIST)。带宽承诺要按实测有效带宽(考虑刷新、访问模式、多端口仲裁)而非峰值。
**高速串行口(收发器)**的共同定义包括:线率和协议(10G/25G/100G 以太网、PCIe、JESD204、Aurora 等,各自对参考时钟、抖动、latency 有要求)→ 通道分配(收发器 bank、参考时钟来源、通道极性与交换的可重映射性)→ 交流/直流耦合选型(影响对端直流偏置和低速率支持)→ AC 电容位置、预加重/均衡参数的初始值由 SI 仿真给出、上板后按眼图扫描微调 → 时钟恢复和 8b/10b/64b/66b 编码设置与 IP 匹配。PCIe 还要协同:金手指/连接器的 PERST#、REFCLK、WAKE# 时序,根复合体枚举预期、热插拔支持与否,以及多通道卡的 lane 翻转/反转配置。把这些写进双方共享的“接口控制文档”,比靠口头约定可靠得多。
中低速外设与外部控制器也有接缝成本:ADC/DAC 的 JESD204 或 LVDS/CMOS 接口需要帧对齐和 SYSREF 时序协同(JESD204B/C 的确定性延迟要求逻辑、时钟芯片、ADC 三方对齐);SPI/I2C/UART 的电平匹配、上拉位置、地址冲突;网络 PHY 的 RGMII/SGMII 延迟模式(PHY 和 FPGA MAC 两侧各有延时选项,配错就间歇错包);eMMC/SD/Flash 的配置启动模式和写保护。对每个接口,交付物里应有:时序预算图(含对端器件建立保持、板级偏差、FPGA 采样窗)、初始化和异常恢复行为、环回/BIST 可达性(例如收发器内环比对、PHY 外环比对、与对侧板互发的分级自检)。
带宽和延迟的端到端核算要在选器件前完成:从 FPGA 内部数据生产者 → 片上缓冲 → DDR/PCIe/网络 → 对端,逐段给吞吐和延迟,找出最窄段,避免“接口理论 100G 但 DMA 配置只供得出 40G”这类后期才发现的系统错配。接口文档随设计演进版本化,任何一侧改协议参数(改线率、改位宽、改时钟)都触发对方评审。把大件接口当作两个团队共同所有的子系统来定义、仿真、bring-up,是板级协同设计区别于“画图的和写逻辑的各干各的”的关键实践。
九、协同流程与接口文档:把“联合”做成可执行机制
板级协同失败往往不是技术问题,而是流程问题:逻辑团队等板子、硬件团队等需求、信息在聊天记录里丢失。可执行的协同机制,核心是节奏对齐、文档唯一来源、早期并行、冻结点明确。
阶段化协同节奏可以这样安排:需求阶段联合做系统架构分解(哪些功能进 FPGA、哪些外设、带宽/延迟/功耗总预算),输出系统框图和关键指标;概念阶段 FPGA 工程师给出初步器件选型和管脚/时钟/电源需求清单,硬件据此开始器件选型和原理框图;详细设计阶段管脚和时钟冻结、接口控制文档(ICD)成型、SI/PI 前置仿真、FPGA 团队用同尺寸器件和 IP 做 OOC 综合验证可行性;PCB 阶段逻辑团队持续跟踪布线反馈(哪些信号不得不换脚、等长结果、层叠变更),硬件团队提供板级延迟模型;制板阶段逻辑团队在开发板/仿真上完成大部分功能;回板后按预定义 bring-up 阶梯联合调试。每个阶段有进入/退出条件和双方签字的产物,而不是“板子回来再说”。
接口控制文档(ICD)是协同的合同。每个外部接口一页或一节:信号名与 FPGA 管脚、电平标准与 bank 电压、时钟频率与来源、时序预算(对端器件建立/保持、板长偏差、FPGA 采样窗)、初始化序列、异常与复位行为、环回/测试模式、连接器引脚映射。文档与原理图、约束文件(XDC)保持一致并纳入版本库;评审时三方(逻辑、硬件、SI)拿同一份文档对照,任何管脚/电平/时序变更必须更新 ICD 并通知。配套还有寄存器映射(软/硬、FPGA/主机之间,见 专家 29)、时钟树图、电源树图、上电时序图。单一事实来源原则:管脚定义只在一个主表维护,XDC 和原理图从它生成或人工核对,杜绝三份互相矛盾的 Excel。
早期并行靠开发板、模型和契约:硬件画原理图时逻辑团队用同系列开发板 + 外接 mezzanine 提前开发接口逻辑;关键对端器件用 BFM/仿真模型先行验证协议;ICD 里的时序契约先于硬件存在,逻辑按契约写、硬件按契约布,回板后验证契约本身。这样回板时双方都是在验证“共同的设计”,而不是第一次发现彼此的存在。
变更控制要轻量但明确:冻结后变更走变更单(改什么、为什么、影响哪些信号/电源/时序、谁验证),双方和(必要时)项目经理批准;紧急改板期间的飞线要有登记和回灌原理图的纪律,否则下一版硬件和现场板全是谜团。变更频率本身是健康度指标——冻结后大量管脚变更说明前期需求工作没做实,要复盘。
十、可维护性与可制造性预留:为量产和十年运维设计
很多原型板能跑就交付,结果在量产和现场运维阶段付出沉重代价。板级协同设计在架构阶段就要为制造、测试、升级、维修预留能力,这些预留几乎不增加 BOM 成本,但事后无法补救。
配置与升级路径:主/备双 Flash(或多分区)支持安全升级和失败回滚;配置方式与启动顺序明确(主 SPI、备用、JTAG 强制恢复);版本寄存器在 FPGA 上电即可读(git hash、构建时间、板型),现场问题第一时间能核对“板子跑的到底是哪版”(治理方法见 20 比特流烧录与四方版本一致 manifest/门禁);JTAG 口在机箱外或维护面板可达,产线和现场能不拆壳烧录。多板系统给每板独立配置 ID/地址(拨码、EEPROM 或电子标签),软件据此加载不同镜像。
测试点与夹具友好:每关键电源轨有测试点或专用连接器(电压、电流探头位置);时钟、复位、配置状态、关键握手信号引到排针/探头区;板尺寸和安装孔适配 ICT/功能夹具,预留夹具用的控制/感应点;高速串行口留内/外环回可达性;LED 至少覆盖“电源正常、FPGA 配置完成、逻辑心跳、故障告警”四件事,现场排查的前五分钟全靠它们。BIST 所需的环回 mux 和时钟/电压监测在设计早期列入需求(见 专家 39)。
制造与降额:器件选在工业温度/生命周期有供货承诺的料号,关键料(电源模块、连接器、DDR、Flash)至少 pin-to-pin 或方案级备选;FPGA 选型留出资源和速度档裕量,避免末期换料/降速的连锁成本;电容电阻按降额规范选型;连接器防呆、信号方向标识、第一脚标记齐全;PCB 拼板和工艺边、可测试性与板厂早期沟通。功耗和热设计按最坏工况留 20%~30% 裕量,风扇/散热方案含失效场景的保护策略(见 专家 42)。
可维护性软件侧:统一的管理通道(I2C/以太网 BMC 式管理)能读电压、电流、温度、误码计数、BIST 结果和版本;日志带时间戳落非易失存储;故障定位粒度到“板—通道—器件”;RMA 流程与序列号绑定(每块板的出厂测试记录、维修历史可追溯)。这些能力和 FPGA 内的遥测寄存器是一体两面,需要在架构阶段共同定义,而不是量产前打补丁。
十一、典型坑与协同设计检查清单
把板级协同中最高频的失败模式和评审检查项汇总,供关口使用。
选型按总 LUT 不按瓶颈资源:片选大了却发现 DSP/高速收发器/BRAM/URAM 不够。正解:按每种资源和封装 IO/银行数选型并留裕量,用真实工程(或最接近的参考工程)做早期 OOC 验证。
功耗只报平均数:瞬态电流导致压降和时序问题,高温静态功耗漏算。正解:分轨、分场景、含阶跃和温漂的功耗画像,PDN 分析 + 实测闭环。
上电/掉电时序想当然:未按数据手册顺序导致配置失败或损伤。正解:时序控制器 + PG 级联,掉电对称设计,热插拔浪涌受控。
管脚晚冻结:原理图后期大改,bank 电压冲突、差分对落错、DDR 组拆散。正解:早期三方会签冻结,变更走单,ICD 唯一来源。
时钟当普通信号:参考时钟抖动超标、非时钟脚输入、门控时钟走逻辑与。正解:时钟树架构图 + 专用资源,低噪供电源头隔离,跨时钟域全部 CDC 评审(见 专家 38)。
接口协议两侧理解不一:RGMII 延时模式、JESD SYSREF、收发器耦合方式、字节通道极性约定错误。正解:ICD 写明时序预算和责任边界,仿真模型先行,回板按 bring-up 阶梯验证。
无测试预留:回板后无点可测、无法环回、JTAG 不可达、无版本可读。正解:测试点、环回 mux、BIST、维护口、版本寄存器在架构阶段入需求。
一次性设计、无裕量无备选:资源用满、速度档卡死、关键料断供即停产。正解:资源/热/电源留裕量,关键料双源,器件速度档按最坏角点签核(见 专家 40)。
协同设计检查清单:①系统框图、带宽/延迟/功耗总预算双方确认;②器件按全资源类型和封装 IO 选定并留裕量;③分轨功耗画像(含瞬态、温漂)与电源架构匹配;④上电/掉电时序有控制器实现与验证;⑤时钟树(频率/精度/抖动/同源/门控)成图并评审;⑥pinout 经电气/高速/SI/物理/迁移五维检查后冻结;⑦每个外部接口有 ICD(时序预算、初始化、异常、环回);⑧SI/PI 前置仿真完成,关键接口有板级时序签核;⑨BIST/测试点/夹具友好/维护口/版本寄存器齐备;⑩供货双源、降额、热裕量、量产烧录与追溯流程明确。十项齐备,板级协同才算从“能点亮”走到“可量产、可维护”。
十二、热设计协同:从结温预算到散热器选型

很多 FPGA 板在实验室常温裸奔正常,进机箱、上产线、跑夏天就间歇性失效,根因在热设计被当成“选个风扇”的后处理。热是 FPGA 与硬件团队必须联合做的第三大物理设计(前两个是电源和时钟),因为结温直接改变时序裕量(见 专家 40)、器件寿命和散热方案的体积成本。
功耗到结温的建模:先用厂商功耗工具在真实活动率向量下估总功耗(分静态随温度上升的部分和动态部分),再按封装热阻参数建立“功耗→结温”模型:结温等于环境温度加热阻乘以功耗,复杂板卡用热仿真(气流、散热器、邻近热源、机箱风道)。输入要取最坏组合:最高环境温度、最大业务负载、最小风速、风扇降速、相邻大功率器件同时发热。输出是稳态结温和瞬态峰值(突发负载的热时间常数短于散热器整体响应,可能短时冲高)。
散热方案与降额联动:被动散热片适合低功耗和无风环境;主动风扇要按失效场景设计(单扇失效时是否仍能安全运行,还是必须降频关断);高功耗卡(几十瓦以上)常需金属框架导热、热管或带散热衬垫接触机箱。FPGA 团队的联动责任是提供频率/功耗可调的档位和温度传感器读数,硬件团队定义温度门限与风扇曲线,双方约定超温保护逻辑(先告警、再降频、最后关断,门限与器件手册的绝对最大值留裕量)。这套逻辑要在温度箱里验证,而不是只在常温确认读数正确。
热对信号和电源的次生影响:高温改变 SerDes 均衡需求、DDR 训练裕量、晶振频率漂移(影响 PTP 精度,见 专家 36);热膨胀影响光模块和连接器接触。热设计评审应把温度分布与高速通道布局一起看(别把光模块和 FPGA 热区叠在一处)。长期可靠性按 Arrhenius 效应降额:结温每高十度,很多失效机理加速约一倍,工业产品要在设计寿命对应的结温预算内工作。最终交付物应含热仿真报告、实测结温(片上传感器 + 必要时热像仪/热电偶)、风扇失效和高温箱测试记录。
十三、原型到量产:工程验证试产(EVT/DVT/PVT)的 FPGA 视角
板级协同的成果要经过结构化的试产阶段才能走向量产,FPGA 工程师在每个阶段有不可替代的职责,把“我的板子能跑”变成“这一批板子都能跑”。
EVT(工程验证):目标是验证设计本身。此时 FPGA 侧要跑通分级 bring-up(电源时钟→配置→BIST→接口→业务,见 专家 39),用少量板暴露原理图级错误:电源时序、管脚冲突、接口电平、SerDes 通道、DDR 校准。重点是全面覆盖而非良率,问题以设计变更(改板)解决;FPGA 的 BIST 与环回在这一阶段价值最大,因为它能在不依赖业务逻辑时定位到具体通道和电源轨。
DVT(设计验证):设计冻结后验证“在规定的全部条件下可靠”。要在温度上下限、电压拉偏、长时间老化、振动和 EMC 预测试中跑完整业务和 BIST;验证多器件批次(不同速度档、不同来料)下时序与误码仍满足裕量;量产烧录链路(夹具、烧录时间、条码绑定)此时成型。FPGA 侧交付物包括:发布候选比特流与版本寄存器(见 20 比特流烧录与四方版本一致 manifest/门禁)、完整自检覆盖、边界条件下的性能数据、给产线的测试规格(每项的限值和判退标准)。
PVT/量产验证:小批量按真实产线流程走一遍,关注的是工艺分散性和流程而不是设计:烧录良率、夹具接触、测试节拍(每板测试时间直接是成本)、不同操作工的操作差异、MES 数据完整性。FPGA 团队要保证 BIST 结果机器可读、测试时间可优化(慢测试抽检或老化时跑)、故障码能指导维修。量产之后还有现场阶段:RMA 板回到实验室能凭序列号读出厂测试数据、BIST 历史和版本,形成质量闭环。
贯穿三阶段的纪律:任何阶段的设计改动都触发相应回归(EVT 改板重跑全项,DVT 后改动要评估影响面并由质量批准);每一版硬件都有对应的验证比特流矩阵(哪个板型、哪个硬件版本烧哪个镜像,启动时校验);问题跟踪到根因和措施验证,而不是“换了块板好了”。把 FPGA 的自测、版本和遥测能力嵌入 EVT/DVT/PVT 流程,硬件团队拿到的不只是一颗逻辑芯片,而是一个会自我证明、可量产诊断的质量节点。
总结
FPGA 选型是 DSP/BRAM/收发器/IO/电源/时钟/连接器的联合约束求解:容量按瓶颈资源留余量,电源按你的比特流定,pinout 在原理图阶段联合冻结,再把调试、配置冗余和生命周期迭代一起设计进去。