ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

COM-HPC载板设计实战:从PCIe Gen5到DDR5的关键要点

COM-HPC载板设计实战:从PCIe Gen5到DDR5的关键要点 1. 拿到COM-HPC模块后载板设计从哪下手先讲一个真实场景团队花了小半年选型终于定了某家的COM-HPC Size C模块CPU带64核支持PCIe Gen5和双路100G以太网。模块到手那一刻硬件负责人把载板原理图分给我说“照着COM Express的经验画就行”。结果我翻了三天PICMG COM-HPC 1.0规范又翻了配套的Carrier Design Guide才发现这事儿远没想象的简单——0.5mm间距的400针连接器、PCIe Gen5的32GT/s差分对、DDR5的菊花链拓扑、最高400W的供电设计任何一项拎出来都比传统的COM Express载板高出一个难度等级。这就是我想写这篇东西的原因。COM-HPC作为COM Express的下一代标准已经在边缘计算、医疗影像、军工通信、5G基站控制面等高性能场景里铺开了。但很多人还拿老思路做载板结果就是信号完整性翻车、电源纹波超标、散热压不住最后只能花大价钱改板。这篇文章我不打算复述规范全文而是从实战角度讲清楚COM-HPC载板设计指南到底解决什么问题以及你在画板时真正要注意的那些点。1.1 COM-HPC是什么为什么说它不是“放大版的COM Express”COM-HPC的全称是Computer-On-Module for High Performance Computing听名字就知道定位高性能计算。PICMG在2021年左右正式发布了COM-HPC 1.0规范定义了一种比COM Express更大、更快、更猛的模块形态。先看一组关键变化你就能理解为什么不能沿用老经验项目COM ExpressCOM-HPC连接器440针间距1.0mm400针间距0.5mmPCIe支持Gen3/Gen4Gen532GT/s内存形态模块上SO-DIMM模块上DDR5板载或SO-DIMM最高功耗支持约150W最高约400W带主动散热以太网板载千兆/2.5G板载10G/25G/40G/100G载板设计难度中等高接近服务器主板最直观的感受就是COM Express时代载板走线只要保证差分对等长、参考层完整基本能跑通COM-HPC时代0.5mm间距的连接器出线、PCIe Gen5的插损预算、DDR5的信号完整性任何一个环节处理不好板子就能点亮但跑不满速或者高速链路直接协商失败。所以PICMG联合了一些核心成员滚动发布了一套Carrier Design Guide文档。它不是规范的替代品而是把规范里抽象的要求转换成PCB Layout可以落地的建议——这正好回应了标题里的“Rolls”这个说法指南是一卷一卷、滚动更新的。1.2 Design Guide Rolls的真实含义一套滚动更新的工程文档族很多工程师第一次搜“COM-HPC Carrier Design Guide”以为是单一PDF但找到的是一串文档。严格来说COM-HPC规范体系包含几个组成部分核心规范比如COM-HPC 1.0定义了模块尺寸、引脚定义、电气特性、载板设计指南专门讲载板怎么画、散热设计指南讲散热器怎么配、风道怎么设计还有机械图纸规范和配套的3D模型文件。这个“Rolls”就是指PICMG会定期修订和增加指南内容比如随着PCIe Gen5 retimer方案的成熟指南里新增了对应的走线建议再比如随着400W散热方案的验证散热指南更新了风扇选型建议。所以你在设计一个项目时一定要先去PICMG官网确认有没有比1.0更新的修订版不要拿着旧版指南画板否则很可能错过重要的设计约束更新。我自己在实际项目中就吃过这个亏。第一次画COM-HPC载板时用的是一份1.0的初版指南里面关于PCIe Gen5的走线建议比较保守要求长走线必须加retimer。后来项目延期了两个月重新拿到修订版才知道在特定层叠和材料条件下某些较短拓扑是可以不加retimer直接跑的。这就是设计指南滚动更新的实际影响。2. 载板设计指南里的核心内容从引脚映射到PCB落地的翻译一本好的设计指南本质上是把规范里“模块引脚的电气定义”翻译成“载板上该怎么做”的操作手册。我总结下来它主要解决四类问题引脚怎么分布、信号怎么布线、电源怎么供给、机械怎么约束。2.1 引脚映射与分组表载板设计的“第一张地图”COM-HPC模块通过两个400针的连接器其实是两个高密度连接器并排与载板互连引脚按功能分组排列。设计指南里最常用的就是引脚分组表和信号定义表。举例来说COM-HPC的引脚组大致包括PCIe通道组x16 Gen5通道支持拆分bifurcation成x8/x4/x2以太网组最多4路10G/25G或2路40G/100G走高速SerDesUSB组USB4/USB 3.2/2.0USB4需要retimer或redriverDisplayPort组DP 1.4/2.0支持eDPDDR5内存通道取决于模块设计有些模块把内存放载板上SMBus、I2C、GPIO、SPI等低速控制信号电源引脚VIN、VIN_SENSE、电源时序相关引脚我第一次拿到引脚表时发现它跟COM Express有一个巨大差异COM Express的引脚表相对宽松很多低速信号引脚支持复用COM-HPC为了支持高性能引脚定义更严格尤其是高速SerDes引脚基本不允许随意挪动。这意味着你在画载板原理图时不能先按自己喜欢的位置放置连接器再在PCB上强行布线——你的引脚分配已经由连接器的物理位置决定了。设计指南里会给出推荐的引脚分配策略比如把高速信号尽量集中在靠近连接器出口的位置减少过孔换层次数把低速控制信号放在板边区域不干扰高速区。这里有个实操经验画原理图时不要先画原理图再导出网表而是先在PCB层面上规划好连接器的扇出方向再回去排原理图引脚顺序能省掉后面大量布线返工。2.2 指南里容易被忽略的机械约束连接器、限高、安装孔很多电气工程师拿到设计指南眼睛只盯着信号完整性章节机械约束草草看一眼结果打样回来一装配发现载板上的电容跟模块散热器干涉了。COM-HPC模块的机械定义有几个关键点模块尺寸分三种Size A小尺寸适合嵌入式和低功耗、Size B标准尺寸适合通用高性能、Size C大尺寸适合最强性能和多路高速IO连接器高度和堆叠高度有明确范围载板上的连接器焊盘背面的元件限高非常严格模块下方通常有散热器或均温板载板正反面靠近模块的区域都不能放超高的元器件安装孔位置和螺钉规格有标准定义孔位周围需要留出禁布区设计指南会给出推荐的载板外形尺寸和安装孔布局参考。我在第一版设计时因为没有严格检查限高把一颗10mm高的电解电容放在靠近连接器的背面结果模块装上后电容顶到了散热器被迫重新打样。这是低级的机械错误但恰恰容易在高手身上发生因为大家都觉得机械是结构工程师的事。3. 高速信号路由的实战约束PCIe Gen5、DDR5、40/100G以太网如果说引脚映射是载板设计的地基那高速信号布线就是承重墙。这一块是COM-HPC载板设计指南里篇幅最大、也是最有价值的部分。我挑三个最常见的难点展开讲。3.1 PCIe Gen5的通道预算32GT/s不是开玩笑的PCIe Gen5的单通道速率是32GT/s相比Gen4翻了一倍。速率越高信号完整性裕量越小。载板设计指南里会给出从模块连接器到下游设备比如PCIe交换机、NVMe盘的完整通道预算包括连接器插入损耗、PCB走线损耗、过孔损耗、AC耦合电容损耗等各个环节的预算分配。一个典型的项目是COM-HPC模块的PCIe x16通过载板接到一个PCIe Gen5 switch再分到多个NVMe Gen5 SSD。总通道长度可能有15-20cm加上两个连接器一个在模块上一个在SSD端插损预算非常紧张。这里推荐的做法走线层尽量选高频低损耗材料Rogers或Megtron 6哪怕是混压也要保证高速层用低损耗材料差分对走线宽度和间距要严格按设计指南推荐的阻抗通常85Ω或100Ω取决于接口定义过孔需要做背钻减少stub效应。背钻深度的控制很关键残余stub控制在10mil以内如果走线长度超过指南建议的阈值就加retimer或redriver。retimer能重构信号redriver只能补偿损耗优先级一定是retimer redriver实测下来的经验是PCIe Gen5对过孔结构极其敏感。有一次我们板子没有任何布线错误但Gen5链路就是协商到Gen4最后用TDR时域反射计排查发现是换层过孔的返流参考层不连续导致阻抗突变点太多。后来把过孔周围做了铜皮加地孔缝合问题才解决。3.2 DDR5走线拓扑与长度匹配载板上跑内存的复杂度COM-HPC模块通常自带内存但也有部分模块支持把DDR5内存放在载板上尤其是一些定制设计。载板设计指南对DDR5的布线要求非常严格。DDR5的信号速率起步就是4800MT/s最高可以到6400MT/s以上。这个速率下的挑战在于地址、控制、命令、时钟需要按菊花链fly-by拓扑连接不是简单的点对点等长每组数据信号DQ、DQS需要按字节通道做分组等长组间误差比DDR4更小参考电压VREF的噪声控制很关键载板上滤波电容的数量和位置要按指南来终端电阻ODT建议由模块上的内存控制器自动校准但载板的走线寄生参数不能过大我个人的建议是除非万不得已不要把DDR5放在载板上。COM-HPC模块本身已经集成了内存选择模块时直接选好容量、频率省掉载板上的DDR5布线这个高风险环节。如果确实需要载板上扩展内存那一定要严格按照设计指南的拓扑和等长规则来并且打样后做内存压力测试跑memtest 86至少48小时。3.3 以太网、USB4、DisplayPort的retimer/redriver选型COM-HPC支持多种高速外设接口载板设计指南通常会针对每个接口给出链路损耗预算和推荐拓扑。以100G以太网为例模块上的SerDes输出到载板再连到光模块或RJ45连接器整个链路损耗预算很紧。指南会建议在载板上靠近连接器的地方放置retimer缩短高速走线长度。同时要注意SerDes信号的AC耦合电容放在发送端还是接收端是有讲究的设计指南有推荐不要随意改变否则直流偏置会出问题。USB440Gbps或80Gbps在载板上也需要额外关注。USB4的link training对信号质量很敏感如果载板走线过长会导致协商失败直接降级到USB 3.2。推荐方案是如果模块到USB-C连接器的距离超过3-4英寸就加USB4 redriver或retimer而且要考虑USB-C的正反插、SBU/CC引脚配置。DisplayPort 2.0的UHBR20速率是20Gbps每通道同样面临损耗问题。可以在载板上加DP redriver或者在模块本身支持的情况下直接用eDP到本地显示接口减少链路长度。这里有个共性的选型逻辑能用redriver省钱的时候不要盲目上retimer反之亦然。Redriver功耗低、延迟小、成本低但只做线性补偿对信号质量没有恢复能力Retimer内部有时钟恢复和均衡电路能彻底重构信号但功耗高、延迟大、成本高。设计指南通常会给一个推荐阈值比如PCIe Gen5走线超过12英寸就必须用retimer8-12英寸之间可以用redriver。实际项目里宁可稍微多花点成本也要留够信号裕量。4. 电源分配与去耦一个算得清、Layout才能稳的系统如果说高速信号决定了载板能不能通那电源就决定了模块能不能稳定跑满性能。COM-HPC的高功耗特性让电源设计成了载板上最容易出问题、也最容易被忽视的部分。4.1 载板电源输入与模块功耗的对应关系COM-HPC模块的输入电压典型值是12V或24V但电流可能非常大。以Size C模块为例搭配18核以上的CPU、双路100G网卡和多个PCIe设备时模块峰值功耗可以到300W以上12V输入电流就是25A以上。这不是普通DC-DC或者LDO能搞定的载板上通常需要多相降压电路给模块VIN提供干净的12V大容量MLCC和聚合物电容阵列应对瞬态大电流精确的电压监测和电源时序控制设计指南会给出电源树的推荐结构和功率预算表格。我第一次做时没有仔细算模块载板外设的总功耗按COM Express的经验选了一个12V/20A的电源模块结果在双100G网卡跑满带宽测试时电源输出跌到11.2V模块直接复位。后来换了12V/35A方案并且把电压采样线VIN_SENSE单独引出到模块引脚附近才解决问题。这里要说说VIN_SENSE的使用。COM-HPC的连接器电源引脚是承载大电流的铜皮到连接器引脚之间有压降如果模块内部监测的是连接器引脚电压那在某些情况下和实际到达模块内部核心电路的电压差别可能很大。设计指南会强烈建议把VIN_SENSE引脚连到载板上电源入口的远端采样点而不是就近拉一根线到地这样才能保证模块监测到的电压是真实的供电电压。4.2 去耦电容的布局策略不只看容量还得看寄生参数高速数字电路的去耦设计有一个反直觉的结论电容值不是越大越好关键是电容的自谐振频率和安装方式的寄生电感。COM-HPC载板设计指南会要求Core电源CPU Vcore等需要一组大容值钽电容和MLCC配合IO电源和SerDes模拟电源需要单独的去耦网络不能跟数字电源混在一起去耦电容必须靠近对应的电源引脚放置走线要短而粗过孔要尽量少为了降低寄生电感推荐使用0402、0201的小尺寸MLCC高频特性更好实践中一个常见错误是原理图上放了100个去耦电容但Layout时全部堆在板边距离负载引脚非常远。这样的电容在高频瞬态下等于没有因为连接走线和过孔的寄生电感会显著抬高电源阻抗。我习惯的做法是在CPU/BGA/连接器周围先规划电容位置每个电源引脚都给一个最近的去耦电容位剩下的再分散放置。而且会用电源完整性仿真工具如SIwave、PowerSI做一次平面阻抗分析找出阻抗峰值点再针对性调整电容数量。这样做一轮下来比盲目堆电容省不少板面积和成本。5. 层叠、材料与过孔载板PCB的设计底线COM-HPC载板通常不是普通的4层板或6层板因为要同时处理PCIe Gen5、DDR5、多路100G以太网层数和材料等级都要提高。设计指南里PCB subsection的篇幅不少我就挑几个最重要、也最容易被低估的点。5.1 层叠选型和材料预算和性能的平衡COM-HPC载板的推荐层叠通常在10到16层之间具体取决于信号数量和密度。层数太少信号走线无法保证参考层连续层数太多成本直线上升而且层叠不对称会导致翘曲。我的经验是先从信号数量反推层数把所有需要走线的net列出来按差分对需要成对走线、每层可走线的密度估算再留20%到30%余量。再结合电源平面数量确定总层数。材料方面如果只跑PCIe Gen4或10G以太网普通FR4也能应付但要想支持PCIe Gen5和100G SerDes强烈建议高速层用Rogers 4350B、Megtron 6这类低损耗材料或者用FR4混压、高速信号层专门用低损耗介质。这里有一个成本控制的技巧不是所有层都用高级材料只有高速走线层用低损耗介质其他层用FR4混压设计能把材料成本降下来但要注意不同材料的热膨胀系数不同加工工艺难度会大一些。设计指南还会推荐层叠顺序比如高速信号层尽量靠近参考地平面层避免信号层紧挨两个电源层的情况。另外还要注意叠层对称性防止板子加工后翘曲影响连接器和模块的装配。5.2 过孔与返流路径处理决定高速信号成败的细节高速信号走线不能只看表层过孔对信号质量的影响在32GT/s这个速率下会被放大。设计指南会给出过孔尺寸、反焊盘antipad直径、参考过孔间距等建议。我重点说三个容易忽略的点背钻任何接入高速信号层的过孔都建议背钻去掉多余的stub。背钻深度一般控制到剩余stub长度小于10mil最好在6mil以内地过孔阵列在过孔换层点周围加地过孔不仅提供返流路径还能抑制换层处的阻抗突变参考层挖空当过孔穿过电源或地平面时如果不做反焊盘优化会造成阻抗不连续。设计指南会对反焊盘直径给推荐值一般比孔径大0.4mm到0.6mm有一个更实操的经验如果板子上某些差分对穿过连接器的扇出区这部分走线会比较密集可能会发生串扰。设计指南会建议同层差分对之间的间距至少达到5HH是走线到参考层的介质厚度跨层走线时也要保持同样的隔离度。拿尺子量一下就能发现问题我在评审图纸时经常先拉一根辅助线检查间距比等长检查更早暴露问题。6. 从设计指南到量产我踩过的坑和验证手段最后这部分我不讲规范讲讲实践。设计指南写得再详尽最终能不能做出能量产的板子还是得靠验证和耐心。6.1 参考设计和仿真工具怎么配合很多工程师拿到设计指南第一反应就是“找参考设计”。这没问题但要注意参考设计是别人的设计它的层叠、材料、布局密度、连接器位置都跟你的项目不一样。直接照搬走线不如把参考设计当“约束输入”再结合你自己的仿真来做。我推荐的流程是先读设计指南的信号完整性章节把差分对阻抗、等长规则、串扰间距规则记下来在原理图阶段把高速接口、电源树、时序要求整理成一张约束表进入Layout阶段用约束管理器把电气规则导入PCB工具布局完成30%左右开始做第一轮信号完整性仿真用HyperLynx或ADS跑最长的几根高速链路打样前做一次电源完整性仿真确认每个电源平面的阻抗曲线低于目标阻抗打样后先做裸板测试再贴片最后逐项做信号一致性测试这个流程可以帮助你把问题卡在仿真阶段而不是等样机出来后在示波器前抓瞎。我见过太多团队样机回来后才发现PCIe Gen5链路根本起不来然后才想起来做仿真返工成本极高。6.2 高速链路验证顺序从小信号到大流量样机拿到手验证也有先后顺序。我的经验是从简单到复杂先做电源静态测试上电后测量各路电压是否正确瞬态响应是否正常再做低速总线测试I2C、SMBus、GPIO、UART确保模块和载板的控制链路通然后做DDR和PCIe链路训练测试用BIOS或系统工具看链路是否协商到目标速率再做高速外设互通测试插上PCIe设备、网卡、USB设备跑吞吐量压力测试最后做长时稳定性与温度测试满载跑机观察长时间运行是否出现降速或复位这里有个很容易被忽略的小技巧PCIe链路协商失败时系统日志里会显示Link Down或降速到Gen1这时先用读取PCIe链路状态寄存器的方式看具体协商结果再决定抓波形还是查拓扑。不要上来就动烙铁或者改设计先用工具确认问题层级能省大量时间。另外我要专门强调一点COM-HPC的载板设计指南有一个很实用的章节叫“Design Check List”——也就是设计检查清单。这是PICMG整理出来的从电源、时钟、复位、引脚映射到高速布线、测试点逐项核对。我强烈建议你打样前逐条过一遍这个list至少能拦下一半低级错误。我第一次做COM-HPC载板时就是靠这个list发现了引脚映射张冠李戴的问题避免了一次无效打样。7. COM-HPC载板设计的几点实战感触走到这里关于COM-HPC载板设计的大框架已经讲得差不多了。最后分享几个我做了好几个项目后的实在感触不是总结套话就是一些踩过坑之后才明白的道理。第一个感触是COM-HPC载板设计最大的难点其实不是某个单一技术而是多高速信号、高功耗、高密度布线的叠加。PCIe Gen5、DDR5、100G以太网、USB4同时出现互相挤压布线资源和电源预算这时候拼的就是系统思维。设计指南的价值在于它把这些约束都整理成了可查的规则而工程师的价值在于判断哪些规则对你的具体项目是刚性的、哪些是可以弹性处理的。第二个感触是参数不是越高速越牛稳定才是第一位的。COM-HPC的高性能极易给人错觉觉得既然是高性能模块所有链路都应该跑到最顶格。但实际上很多项目里跑在PCIe Gen4、10G网络已经是应用场景的极限了。设计时按Gen5、100G去预留裕量但实际降额运行也非常常见。哪怕你按最高的标准设计最终使用时还是要根据实际场景做降额和热测试。第三个感触是设计指南是死的和工厂的工艺能力是活的。板厂能做的最小线宽线距、背钻能力、混压工艺水平每家板厂不一样。设计指南推荐的参数如果工厂说做不了你要么换板厂要么调整设计。我建议在开始画板之前先把PCB工厂的工艺能力表拿过来逐项对比设计指南的推荐值做到心里有数。如果你正准备做COM-HPC载板设计我的建议是把设计指南当成一个活文档结合规范、参考设计、仿真结论和板厂反馈一边画板一边更新自己对设计约束的理解。不用追求一步到位先把能点亮、能跑通、能稳定量产作为目标再逐步优化成本和性能。这条路我走下来确实有不少波折但当你第一次看到COM-HPC模块在自研载板上稳定跑满百G流量的时候回头想想这些坑其实都是值得的。
返回列表