2. PolarFire器件选型与系统需求分析

PolarFire 系列(含 PolarFire、PolarFire SoC、PolarFire Core)在选型时并不是“先挑最大器件再裁剪”,而是从系统需求出发,把逻辑资源、DSP、存储器、收发器、功耗与封装六个维度同时约束,最终收敛到唯一型号。选型错误通常不是资源不够,而是资源够但封装放不下、功耗超预算、或收发器速率不匹配。因此本节按“需求量化 → 资源映射 → 约束校验 → 型号收敛”的顺序展开。

一、把系统需求翻译成可比较的量化指标

选型的第一步是把功能描述转成数字。以一台工业视觉采集与预处理板为例,需求可拆为:

  • 接口:2 路千兆以太网(RGMII)、1 路 PCIe Gen2 x4、1 路 SGMII 光模块;
  • 处理:图像行缓存与 3×3 卷积、直方图统计、DDR3 帧缓存;
  • 时钟:125 MHz 参考、200 MHz 系统时钟、DDR3 533 MHz;
  • 环境:工业级 −40~+100 ℃ 结温,单板功耗预算 ≤ 4 W;
  • 封装:PCB 面积受限,需 ≤ 23 mm × 23 mm。

这些指标分别对应 PolarFire 的收发器数量与速率、逻辑单元(LE/LUT)、Math 块(DSP)、LSRAM/µSRAM、DDR 控制器、功耗与封装。选型时先按“最紧约束”筛选,再验证其余维度。

二、逻辑资源与 DSP 的估算方法

逻辑资源不能凭感觉估。对图像 3×3 卷积,若按 8 bit 像素、每时钟处理 1 像素、3×3 窗口并行计算,则每像素需 9 次乘加。若用 DSP 实现,每时钟 1 像素需 9 个 Math 块;若用 LUT 实现,则约 9×8×8 ≈ 576 个 LUT 用于乘法,加上加法树与行缓存控制,单通道约 1.5K~2K LUT。PolarFire 的 Math 块为 18×18 有符号乘法器,支持预加器,适合做对称系数卷积。

假设系统需 4 通道并行、每通道 1 像素/时钟,则 DSP 需求约 36 个 Math 块;若改用时分复用 4 通道共享 9 个 Math 块,则时钟需提高到 4 倍像素时钟。PolarFire MPF300 系列提供约 300K 逻辑单元、924 个 Math 块、20.6 Mb LSRAM,足以覆盖上述需求并留出 30% 余量。若选 MPF100,Math 块约 336 个,逻辑约 100K,仍可满足但余量偏小,后续增加协议栈或调试逻辑时容易吃紧。

三、存储器:LSRAM、µSRAM 与 DDR 的分工

PolarFire 的片上存储分两类:LSRAM 为大容量块存储(每块 20 Kb),µSRAM 为小容量分布式存储(每块 64×12 bit),适合做 FIFO、寄存器堆和小缓存。图像行缓存若为 1920 像素×8 bit×3 行 ≈ 46 Kb,可用 3 块 LSRAM 实现;若用 µSRAM 则需约 60 块,会挤占逻辑布线资源。因此行缓存优先用 LSRAM,µSRAM 留给控制状态机和系数表。

DDR 控制器方面,PolarFire 硬核支持 DDR3/DDR3L/LPDDR3/DDR4,速率可达 1600 Mbps。若帧缓存需 1080p×8 bit×2 帧 ≈ 33 Mb,外挂 1 颗 16 bit DDR3 即可满足。选型时要确认器件是否带该硬核,以及封装是否引出对应 Bank 的 DDR 引脚。

PolarFire 选型六维约束与型号收敛 系统需求 • 2×GbE (RGMII) • PCIe Gen2 x4 • SGMII 光模块 • 4 通道图像卷积 • 1080p 帧缓存 • 125/200/533 MHz • 工业级 −40~100 ℃ • 功耗 ≤ 4 W • 封装 ≤ 23×23 mm 六维资源映射与校验 逻辑资源 LE/LUT 卷积+协议栈 ≈ 60K LE DSP Math 块 4 通道 ×9 = 36 块 LSRAM / µSRAM 行缓存 46 Kb + FIFO DDR 控制器 DDR3 16 bit @1600 收发器 SerDes PCIe x4 + SGMII 功耗与封装 ≤4 W / FCG1152 约束校验结果 ✓ MPF300T 逻辑 300K / Math 924 / LSRAM 20.6 Mb ✓ 收发器 8 路 12.7 Gbps,满足 PCIe Gen2 x4 + SGMII ✓ FCG1152 封装 23×23 mm,工业级温度 ✗ MPF100 余量不足,MPF500 功耗超预算 选型收敛 MPF300T FCG1152 封装 工业级 −1 速度等级 余量:LE 80% / DSP 75%

四、收发器与封装的联合约束

PolarFire 的 SerDes 分两类:PCIe 硬核控制器和通用 SerDes。MPF300 提供最多 8 路 12.7 Gbps 收发器,PCIe Gen2 x4 占用 4 路,SGMII 占用 1 路,剩余 3 路可留给未来扩展。若选 MPF100,收发器数量较少,PCIe x4 与 SGMII 可能无法同时满足,必须降级为 PCIe x1 或改用 RGMII 光模块。

封装决定可用 Bank 数量与高速引脚位置。FCG1152 为 1152 球 Flip-Chip,23 mm×23 mm,引出全部收发器与 DDR Bank;FCG784 尺寸更小但收发器通道受限。选型时要在 IO Planner 中确认:PCIe 参考时钟差分对、SGMII 收发对、DDR3 地址/数据组是否落在同一 Bank 且满足长度匹配要求。若封装引脚冲突,即使资源足够也必须换型号。

五、功耗估算与速度等级

PolarFire 采用 28 nm FD-SOI 工艺,静态功耗低。以 MPF300T 为例,在 200 MHz、60% 逻辑翻转率、4 路 SerDes 工作条件下,典型核心功耗约 1.2~1.8 W,加上 IO 与收发器约 2.5~3.2 W,满足 4 W 预算。若选 MPF500,逻辑规模翻倍,静态与动态功耗上升约 40%,可能超出预算。

速度等级影响时序收敛。−1 等级在工业级温度下时序余量较小,若设计中有 533 MHz DDR3 与 200 MHz 逻辑,建议用 −1 并预留 15% 时序余量;若时序紧张,可降为 −1 但降低逻辑频率,或选 −2 等级(若可用)。选型时要用 Libero 的 SmartPower 与 Timing Analyzer 做早期估算,而不是等布局布线后再补救。

选型检查顺序建议:先按收发器数量与速率筛掉不满足的型号,再按封装尺寸与引脚筛,最后用逻辑/DSP/存储器余量和功耗做终选。任何一维不满足,都应回到需求重新权衡,而不是强行用更大器件覆盖。

六、可直接使用的选型决策表

下表为上述示例的选型记录,可作为同类项目的填写模板。表中“余量”指资源占用后剩余比例,建议逻辑与 DSP 余量不低于 25%,存储器不低于 20%。

维度需求值MPF100MPF300TMPF500结论
逻辑 LE≈60K100K(余 40%)300K(余 80%)500K(余 88%)MPF100 偏紧
Math 块36336(余 89%)924(余 96%)1488(余 98%)均可
LSRAM≈0.5 Mb7.6 Mb20.6 Mb31 Mb均可
收发器5 路4 路(不足)8 路(余 3)8 路(余 3)MPF100 淘汰
功耗≤4 W≈2.0 W≈3.0 W≈4.2 W(超)MPF500 淘汰
封装≤23×23 mmFCG784 可行FCG1152 可行FCG1152 可行均可
最终选择MPF300T-FCG1152I

完成选型后,应把该表连同 Libero 工程中的器件设置、IO Planner 约束、SmartPower 估算报告一起归档。后续若需求变更(如增加一路 10 GbE),只需回到表中更新“需求值”列,重新校验收发器与功耗两行,即可快速判断是否需要换型号,而不必重新走一遍完整评估。