ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

HBM PHY深度解析:从系统架构到训练校准的关键技术

2026/9/17 13:50:15 拓冰建站 浏览量
HBM PHY深度解析:从系统架构到训练校准的关键技术 HBM PHY全称High Bandwidth Memory Physical Layer高带宽内存物理层接口。我第一次在项目立项文档里看到这三个字母时第一反应是“又是PHYDDR PHY我都做了好几版了换汤不换药”。真正跑起来才发现HBM PHY这个“汤”里泡着的东西跟传统DDR完全不是一个配方。它把并行内存接口的位宽、速率、训练复杂度和封装耦合度同时推到极限属于那种不做一次很难有体感的IP。这个系列文章就是我一边学一边记的笔记整理。第一篇先解决“这玩意到底是什么、为什么这么重要”的问题把HBM PHY的本质、系统位置、核心模块和它与其它PHY的边界梳理清楚。后面几篇再逐步深入训练流程、验证环境和实战案例。适合刚接触HBM的IC设计、验证、封装工程师也适合想入行内存接口方向但一直没找到合适切入点的同学。我不打算把文章写成规范翻译而是按我自己的认知顺序来先讲清楚背景和概念再拆模块最后说学习路径。1. 为什么这两年HBM PHY绕不开1.1 GPU算力翻倍内存带宽成了最短的木板过去十年芯片性能焦虑的重心一直在计算侧。核心数从几十加到几百频率从一个节点爬到下一个节点大家比的都是TOPS、FLOPS。可从系统角度看真正限制大规模AI训练和推理吞吐量的往往不是算力本身而是数据能不能及时喂进去。训练一个大模型权重和激活值要在计算单元和内存之间来回搬搬运速度跟不上计算核心就只能空转。HBM之所以从一个小众存储技术变成GPU、NPU、DPU的标配就是因为它在带宽维度上做到了量级突破。普通DDR5做双通道带宽大概在100GB/s级别HBM2E单个堆栈就能跑到460GB/sHBM3做到800GB/s以上HBM3E继续往上冲单pin速率到8Gbps甚至9.6Gbps。整颗GPU挂四到六个HBM堆栈总带宽轻松破TB/s。这个数字背后承担“数据从主控芯片的数字逻辑到DRAM阵列之间往返”任务的就是HBM PHY。很多人觉得PHY只是个“模拟收发器”不就是一个发射机加一个接收机吗。这个理解放十年前勉强成立放到HBM上就完全不够。HBM PHY要同时管理一千多位宽的并行数据通道保证每一根线上的信号在不同温度、电压、工艺角下都能稳定采样还要和控制器配合完成一整套训练和校准流程。可以说HBM的带宽是一根一根引脚“挤”出来的而PHY就是这些引脚背后的总调度。1.2 HBM PHY在HBM系统里的位置要理解HBM PHY先得有全局图。整个HBM系统分三层看。最上面是SoC一侧的数字部分包括内存控制器Memory Controller和PHY Controller。内存控制器负责命令调度、地址映射、刷新管理和错误处理它不管电气细节。紧贴着控制器的是PHY Controller有时候叫DFI接口侧逻辑它把控制器发的协议级命令翻译成PHY能执行的时序动作比如发起训练、调整延迟、读回训练状态。中间一层就是我们讨论的PHY包含模拟前端电路和贴近模拟的数字控制逻辑。它负责真正的电气信号收发发送端要保证驱动强度、压摆率、阻抗匹配接收端要保证灵敏度和采样窗口。HBM的PHY一般以macro的形式摆在SoC die的边缘占用大量pin脚区域通过微凸块micro bump连接到硅中介层silicon interposer。最下面是HBM堆栈。HBM不是一颗芯片而是多颗DRAM die通过TSV硅通孔垂直堆叠起来再一起封装到interposer上。从SoC的PHY出来经过一小段interposer走线到达HBM堆栈最底层的缓冲die然后通过TSV向上送到每一层DRAM阵列。PHY在这条链路里的位置相当于一个“信号收发站”。计算核心发起的每一次读或写都要先由PHY转换成符合HBM电气规范的信号穿过中介层进到DRAM。反过来DRAM读出来的数据也要经PHY采样、同步、转回数字域才能交给控制器。物理位置决定了它必须同时懂封装、懂模拟电路、懂数字逻辑这也是HBM PHY比普通PHY难做的地方。2. 先把PHY这个词掰开揉碎2.1 从以太网PHY说起MII/RGMII/SGMII和MAC模式一说“PHY”做过以太网的工程师脑子里冒出来的东西可能跟我不一样。以太网PHY是独立芯片把MAC送过来的数字帧编码、调制到双绞线上再把线上收到的模拟信号解调、解码回数据。这个领域里大家最熟悉的接口就是MAC和PHY之间的一堆缩写MII、RMII、GMII、RGMII、SGMII。这些接口名字看着多本质只有一件事把MAC和PHY这两个功能模块之间的边界定义清楚。MII是并行接口数据位宽4bitGMII升级到8bitRGMII是在GMII基础上把时钟和数据线减少一半双沿采样SGMII则完全变成串行接口用一对差分信号跑1.25Gbps。有一个很经典的坑就是用SGMII IP核接外部PHY芯片时IP核必须配置成MAC模式。为什么因为SGMII这个接口本身有两种角色一端是MAC侧一端是PHY侧。如果拿一个支持SGMII的IP去对接外置PHY芯片IP核扮演的就是MAC角色配置成MAC模式后时钟方向、信号定义和管理通道的协商方式才正确。配置反了数据根本通不了而且问题很隐蔽协议仿真不一定能抓出来。我提这段是想说明一个道理PHY这个词在不同场景下代表的具体职责不一样但“把数字逻辑和真实物理信道对齐”的本质不变。以太网PHY面对的是双绞线SATA PHY面对的是线缆DDR/HBM PHY面对的是PCB或中介层上的内存总线。理解了这个共性再看HBM PHY就不会觉得它是什么天外飞仙。2.2 DDR/HBM这种并行PHY的核心职责与以太网PHY、SATA PHY这类串行PHY不同DDR和HBM的PHY走的是另一条技术路线。串行PHY在发送端和接收端之间通常只跑一对或几对差分信号接收端要靠时钟数据恢复CDR从数据流里把时钟抠出来。而DDR/HBM是源同步并行接口写数据时SoC不仅发DQ数据线还同时发DQS数据选通信号读数据时DRAM会同步回送DQS。接收端用DQS来采样对应的DQ而不是自己去恢复时钟。这个差异是理解HBM PHY的关键。源同步的好处是采样时刻明确数据与选通信号一起走线、一起受工艺电压温度影响时序关系容易控制代价是数据线和选通线都要精心设计等长、阻抗和负载匹配而且位宽越大需要管理的信号就越多。DDR5的DQ位宽是64bitHBM一上来就是1024bit级别管理复杂度完全不在一个维度。并行PHY的另一个核心职责是训练。数字控制器发命令、写数据看着是约定好时序就行但到了几千兆速率下信号在链路上跑一圈会有飞行时间、会有偏斜、会有时钟相位偏差。为了让发送端和接收端能对齐DDR从DDR3开始就引入了写均衡Write Leveling、读/写训练Read/Write Training等机制。HBM把训练机制做得更重、更细因为位宽一大靠手动对每个pin的时序根本不现实必须让PHY自己扫描、自校准。3. HBM PHY的系统架构与关键模块3.1 整体架构从控制器到DRAM的完整链路把HBM PHY拆开之前先看它在SoC里的布置方式。通常一个HBM通道组会对应一个或多个PHY macro每个macro再切成若干slice。Slice是最小的可复用单元管理固定位宽的DQ。比如一个8bit或16bit的byte slice把所有slice拼起来就组成完整的1024bit数据通路。从数字侧看内存控制器与PHY之间通过DFI接口连接。DFI应该是做内存接口的人都要背下来的接口规范它定义了控制、地址、片选、时钟使能、数据使能以及训练请求这些信号在控制器和PHY之间建立一条标准化的“分工线”。控制器不管电气细节只发逻辑命令PHY负责把命令变成准确的引脚时序并处理数据通路上的延迟对齐。靠近引脚一侧每个DQ/DQS组内部还要做延时可调、阻抗校准、上下拉驱动强度配置。针对HBMPHY还会包含片内端接ODT控制和各种测试观察点比如直接把内部采样结果引出来做眼图扫描。整颗SoC可能集成多个HBM PHY每个PHY功耗、面积都要严格受控因为GPU周围本来就寸土寸金。3.2 DQ/DQS通道读写数据通路的核心数据通路是HBM PHY里最庞杂的部分。写方向SoC要把控制器的并行数据转成按DQS对齐的并行输出经过驱动器打到interposer走线上。这里要调节的东西很多驱动器的输出阻抗要匹配链路阻抗太强会有反射太弱信号摆幅不够压摆率也要控制太快引入噪声和SSN太慢则建立不起眼图。读方向更麻烦。DRAM回送的DQS和DQ是边沿对齐的到了PHY接收端需要先用DQS门控逻辑把有效的DQS脉冲窗找出来再做相位调整让DQS的边沿对准DQ数据的正中心最后用这个调整后的DQS去采样DQ。这个“门控DQS调相”的过程非常容易出问题。门控窗口太窄或太宽都会采错数据尤其在不同电压温度下回波和脉冲宽度都在变靠固定延迟根本兜不住。HBM位宽大还带来一个密度问题。1024根DQ同时翻转电源网络的瞬态电流冲击巨大。PHY设计里常用的一种做法是把大块数据通路切成多个slice每个slice局部处理自己的DQS和DQ电源分配也按slice边界做隔离减少互相干扰。此外还有数据总线反转DBI这种编码技巧减少同时翻转的引脚数从源头上把噪声降下来。3.3 命令地址通道与伪通道机制别光盯着DQ命令地址通道CA同样是PHY的一部分。HBM把堆栈划分成多个通道和伪通道Pseudo Channel每个伪通道有独立的命令地址总线。伪通道的概念可以简单理解为把一个宽通道拆成两个半宽通道各自独立接收读写命令。这样做的好处是并行度更高、延迟更低控制逻辑也更灵活。对PHY来说CA通道要处理的是单端信号速率高而且必须在DRAM侧正确采样到每一个命令地址。这要求PHY发送C/A bus信号时保持严格的时序对齐。CA bus也有自己的训练流程原理跟DQ类似发送端发送训练pattern接收端扫描采样相位找到最优窗口把延迟参数固化下来。这个训练结果要随时序参数一起保存在系统初始化时加载。另外HBM这种堆叠结构里不同层DRAM die的信号路径长度不一样读取数据返回的时序也会略有差异。PHY需要在控制器配合下处理不同die或不同通道之间的偏斜保证所有伪通道的数据能在控制器侧正确汇合。这块工作量和DQ通道的训练是联动的不能拆开看。3.4 训练与校准让几千根线步调一致前面反复提到训练这一节专门展开。HBM PHY训练可以分几个层次一是阻抗校准二是相位对齐三是电压窗口搜索。阻抗校准最常见的机制是ZQ校准。PHY内部留一个ZQ引脚外接精准的参考电阻通过比较外部电阻和内部驱动管的阻抗调整驱动管尺寸把输出阻抗校准到目标值。这个过程要在芯片上电后做温度变化大时还要重复做。HBM系统里通常有热管理机制会周期性触发PHY做ZQ校准补偿温度漂移。相位对齐训练包括写均衡、读训练、读写DQS延迟调整等核心目标是找到每个pin的最佳采样点。训练由控制器通过DFI接口发起PHY执行并对结果做延迟调整。有些HBM PHY支持硬件自动训练引擎不用控制器逐次干预能把初始化时间从几十毫秒压缩到几毫秒。眼图搜索是高阶功能。PHY把接收端的采样点和判决阈值数字化可以扫描出每个pin的二维眼图找到水平和垂直余量都最大的“甜点”。这个数据对量测和调试极有价值。我实际经验是量产芯片出时序问题的时候靠眼图扫描结果定位比靠逻辑分析仪快得多因为它能看到模拟层面的余量。4. HBM PHY与其它PHY的横向对比4.1 并行PHY与串行PHY的对比表把HBM PHY、DDR5 PHY、SATA III PHY和以太网PHY放一张表里对比各自的特性就很清楚了。对比维度HBM PHYDDR5 PHYSATA III PHY以太网PHY百兆/千兆数据位宽1024bit级别64bit/通道1对差分1对或4对差分速率6.4~9.6Gbps/pin4.8~8.4Gbps/pin6Gbps125Mbps~1Gbps时钟机制源同步DQS源同步DQS嵌入式CDR嵌入式CDR或时钟转发编码无固定线编码DBI可选无固定线编码DBI/PAM38b/10bPAM2/PAM4千兆通道模型短距离interposer/TSV长距离PCB走线短距离线缆/PCB双绞线/光纤核心设计点位宽、训练、带宽密度信号完整性、ODT均衡、时钟恢复均衡、回波抵消千兆这张表最扎眼的差异是位宽。SATA PHY只有一对差分差分信号以太网PHY最多几对HBM PHY一到上千个pin。Pin的数量一大单端信号的串扰、电源噪声、同步开关噪声都会成倍放大。所以HBM PHY的EDA仿真和验证工作量常常比串行PHY高一个数量级。4.2 为什么不能直接拿DDR PHY改有人会想既然HBM和DDR都是源同步并行接口那直接把DDR PHY拉宽不就行了吗表面看可行实际做会发现三个关键问题。第一是封装和信道模型不同。DDR走的是PCB上的长走线几十毫米有连接器、有DIMM模块信道损耗曲线和反射路径跟HBM完全不一样。HBM走的是微凸块、硅中介层、TSV走线短但容性负载重、引脚密度极高寄生效应和金属层间串扰特性都不同。PHY里驱动强度、均衡策略、ODT方案全要重新design。第二是位宽带来的训练和校准复杂度。DDR一个通道64bit训练相对收敛快HBM一个通道组上千位宽每个pin都有独立延迟和阻抗失配训练算法如果设计不好初始化时间会不可接受。PHY内部还得加大量test point和环回机制方便量产测试快速跑完训练并判断Pass/Fail。第三是失效模式不一样。DDR常见问题是某一根信号线质量差HBM可能面临大范围电源压降或热梯度导致整片训练失败。调试时一个是“找单点”一个是“找系统性因素”方法论完全不同。所以成熟团队也是从零开发HBM PHY而不是把DDR PHY改改就用。4.3 从“国产百兆PHY”到HBM PHY一个量级差这两年国产PHY芯片是个热点百兆/千兆以太网PHY已经有不少团队做出来了。我身边做以太网PHY的朋友就感慨国产PHY卷得厉害从pin到pin兼容到切入主控原厂参考设计整个生态都铺开了。能把PHY做出来并量产本身就是很难的事需要懂模拟、懂标准、懂系统。但HBM PHY和以太网PHY之间隔着的不是一点点技术难度是“量级差”。以太网PHY有成熟的标准和相对固定的应用场景一个mac然后对接双绞线通道数量少HBM PHY要求与先进封装深度耦合要跟着JEDEC标准迭代、跟着GPU和AI芯片的算力需求走能做HBM PHY的团队在全球范围内也不多国内更是稀缺。我不是劝退反而是想说这个方向对从业者是真正的机会。如果把PHY知识体系比作一个金字塔HBM PHY在山顶的位置。先学会以太网PHY能理解PHY的基本职责再做DDR PHY能理解源同步并行接口最后做HBM PHY才能把前面的知识串成一个完整的系统认知。5. 学习路线与实操建议5.1 资料从哪读起学习HBM PHY最大的障碍是标准文档不好读。JEDEC的HBM规范是付费文档普通人拿不到网上能搜到的是各种白皮书和培训材料。建议顺序是先读SK hynix、Samsung、Micron公开的HBM产品介绍和概览类文档搞清楚产品规格和演化历史再找第三方知识产权公司或者研究机构公布的HBM PHY白皮书比如类似Synopsys的HBM IP相关页面把PHY的模块框图、训练流程看明白。如果手头有DDR的经验建议把JEDEC DDR4/DDR5规范中关于PHY的部分读一遍再看HBM2/HBM3规范里与PHY相关的章节比如timing参数、电气特性、读出/写入训练的时序描述。方法上不要从头啃到尾而是带着问题查PHY需要实现哪些电气特性需要支持哪些训练模式训练失败时状态寄存器怎么告诉控制器。这种查字典式的读法效率远高于顺序通读。另外强烈推荐看专利和论文。学术界对HBM PHY的均衡器设计、训练算法优化、TSV信号完整性有不少研究。用Google Scholar搜“HBM PHY training”或者“TSV interconnect signal integrity”能读到一批不用付费的会议论文。对理解设计动机特别有帮助。5.2 搭建最小认知环境没有流片资源也能学到东西关键是给自己搭一个“最小认知环境”。第一熟悉DFI接口。去读DFI规范里的训练相关章节搞懂控制器和PHY之间是怎么配合发起训练的。这一层是纯数字逻辑可以自己写一个小模型模拟控制器发起ZQ校准和读写训练的过程跑一遍GTKWave看波形。这个过程能让你理解命令、响应和状态机的交互。第二学习怎么分析眼图。用Python或MATLAB写个简单眼图绘制脚本喂一段带噪声的PAM信号进去调参数看眼图怎么变化。不是替代商业工具而是培养对“采样点、噪声容限”的直觉。HBM PHY调试大多数时间在做的事本质就是这个。第三有条件的话找一块带DDR PHY的FPGA开发板先练DDR的训练和眼图测试把其中通用的方法论吃透。很多FPGA厂商的MIG或者类似IP会自动训练调试界面上能看到每条DQ lane的延迟调整值和眼图余量这是一个免费的HBM PHY“前传”训练场。工具方面工程上用到的PHY测试设备一般是高速示波器、逻辑分析仪和协议分析仪。个人学习不用追求这些但要尽早知道“真实项目中是靠什么手段测PHY的”比如通过IBERT或者内部眼图扫描寄存器来观测信号质量。这些知识在项目里非常值钱。5.3 我踩过的几个坑和心得最后分享几个实际学习过程中踩过的坑希望对后来的人有帮助。第一个坑是用DDR的思维方式套HBM。我一开始总是把HBM当作“位宽更大的DDR”结果看训练流程时很多地方对不上。HBM的伪通道结构、interposer通道模型、TCR温度补偿刷新机制都和DDR有明显差异。啃规范时一定要带着对系统结构的理解不能只盯timing参数。第二个坑是低估了训练逻辑的复杂度。HBM PHY里训练相关状态机、延迟链调整逻辑、结果上报寄存器可能是整个PHY数字部分最大的代码块。我一度以为PHY的核心价值在模拟前端后来验证阶段才发现数字训练逻辑的调试量远大于预期。学的时候别只看模拟电路要把PHY Controller、DFI、训练模式这三层一起学。第三个坑是对信号完整性缺少“温度感”。HBM PHY因为和DRAM堆叠封装在一起发热密度高温度对延迟和阻抗的影响非常显著。只看常温仿真结果会得出乐观结论真实系统里热漂移会让训练出的最优参数失配。所以做PHY验证时一定要把电压温度变化场景覆盖全做到任何环境下训练结果都有余量。第四个心得是做好记录。HBM PHY涉及的信息维度太多标准条款、引脚定义、训练参数、仿真配置每一项单独看都不复杂合在一起很容易乱。我自己的做法是维护一个Notion或用Markdown仓库每学一个模块就写一页重点记录“设计想要解决什么问题”和“如果参数调错了会发生什么”。这个笔记在系列后续文章里也会继续沉淀。如果让我给一个学习顺序结论先建立PHY的概念体系再对比DDR和HBM的差异然后扎进训练流程里做数字侧的理解最后再回头研究模拟电路细节。这样绕一圈之后HBM PHY就不再是“一串神秘引脚”了而是一个由需求驱动的、各部分紧密咬合的系统工程。下一篇我准备写HBM PHY训练流程的具体时序和状态机到时候展开讲。