Kria载板PCB设计实战:高速信号、电源完整性与调试要点
1. 项目概述:从概念到实物的关键一跃
上次我们聊完了为AMD Kria™ SOM(系统模块)设计载板的第一部分,主要聚焦在前期规划、核心电源架构和高速接口的选型上。如果你还记得,那更像是一场“纸上谈兵”的头脑风暴,我们确定了目标、画好了框图、选好了关键芯片。但今天要进入的Part 2,才是真正考验一个硬件工程师“硬功夫”的环节:如何把那些漂亮的原理图符号和参数表格,变成一块能通电、能跑系统、能稳定工作的实体电路板。这个过程,我习惯称之为“从概念到实物的关键一跃”,其中充满了工程上的权衡、细节上的魔鬼,以及无数次“这里为什么不行”的灵魂拷问。
简单来说,这篇内容就是关于Kria载板设计的后半程实战记录。它面向的是已经有一定高速数字电路或FPGA载板设计经验,正准备或正在着手将Kria SOM集成到自己产品中的工程师。我们会深入PCB布局布线这个核心战场,讨论如何驯服Kria强大的高速信号(如PCIe、DP、MIPI),如何构建一个稳健的电源分配网络(PDN),以及如何通过严谨的检查和打样测试来确保设计一次成功。你会发现,这里没有太多高深的理论推导,更多的是我在多次项目踩坑后总结出的实操清单、参数选择和“最好不要那么做”的经验之谈。无论你是想为Kria KV260开发套件设计一个功能扩展板,还是为Kria K26 SOM打造一个全新的定制化边缘设备载体,接下来的内容都将提供直接的参考。
2. 核心设计思路与架构深化
在动笔(或者说动鼠标开始画PCB)之前,我们必须把Part 1中相对粗颗粒度的系统框图,细化成可供布局布线指导的详细架构。这不仅仅是连线,而是赋予电路板“骨骼”和“血脉”的过程。
2.1 接口映射与引脚分配策略
Kria SOM通过高密度连接器(通常是M.2 Key M或定制化板对板连接器)将数百个引脚暴露给载板。AMD会提供详细的引脚定义(Pinout)表格,这是我们的“宪法”。第一步不是盲目导入,而是进行智能的引脚分配规划。
我的策略通常是“功能分区,就近连接”。以Kria K26为例,它的高速接口如PCIe、DP、MIPI CSI/DSI的引脚在连接器上通常是分组排列的。在原理图设计阶段,我会根据载板上的外围芯片(如PCIe交换机、DP转HDMI芯片、MIPI解串器)的物理位置预规划,尽量将相关的信号组分配到靠近该芯片的连接器区域。例如,如果我的载板设计将PCIe交换机芯片放在右侧,那么我会优先将Kria的PCIe RX/TX差分对分配到连接器右侧的引脚上。这样做可以极大减少PCB上高速走线的交叉和绕远,对信号完整性至关重要。
注意:千万不要忽视低速GPIO和电源引脚的分配。它们看似简单,但若规划不当,比如将某个关键的启动配置引脚(如PROG_B、INIT_B)布在了嘈杂的区域,可能导致系统无法启动或不稳定。我会专门用一张表格来管理这些关键低速信号,标注其电压域、上拉/下拉需求以及敏感度。
2.2 电源树最终确认与芯片选型落地
Part 1的电源树是一个理论模型,现在需要为每个电源轨选定具体的电源管理IC(PMIC)或LDO/DC-DC。对于Kria SOM,其核心电源(如VCCINT、VCCBRAM、VCCAUX等)要求非常严格,纹波和噪声指标通常在几十毫伏以内。我个人的经验是:
- 核心大电流电源:优先选择AMD推荐列表中的多相DC-DC控制器和DrMOS方案。例如,为K26的VCCINT(典型值0.85V,峰值电流可能超过10A)供电,我会选择像TI的TPS536xx系列或ADI的LTM46xx系列这类针对FPGA/处理器优化的多相控制器。它们集成度高,支持遥感(Remote Sense)以补偿PCB走线压降,并且相位交错功能可以显著降低输入输出纹波。
- 辅助及接口电源:对于MGT(收发器)电源、DDR内存电源等,同样需要低噪声特性。这里可能会用到负载点(PoL)模块或高性能的开关稳压器配合后级LDO的方案。比如,为MGT的1.0V电源(AVTT)供电,先通过一个高效率的DC-DC降到1.05V,再经过一个高PSRR的LDO(如TPS7A系列)稳到1.0V,可以有效滤除开关噪声。
- 电源时序管理:Kria SOM对上下电时序有明确要求。简单的载板可以用RC延时电路实现,但对于复杂系统,强烈建议使用一颗专用的电源时序控制器(如TI的LM3880,ADI的ADM1186)。它可以通过编程精确控制多个电源轨的上下电顺序和间隔时间,可靠性远高于离散电路。
最终,你的原理图里,每一个电源网络都应该对应一个具体的芯片型号、关键外围电路(电感、电容、反馈电阻)的计算值,以及一个预估的布板面积。
2.3 信号完整性(SI)与电源完整性(PI)的预分析
在画第一根线之前,就要思考SI/PI问题。这包括:
- 阻抗控制:确定关键高速信号(如PCIe Gen3, DP 1.4)的目标阻抗(通常单端50Ω,差分100Ω)。根据PCB的层叠结构(我们接下来会定),计算出对应的走线宽度和间距。
- 层叠设计:这是PCB的“地基”。一个8层板是Kria载板的常见起点。一个典型的堆叠可能是:Top(信号)- GND - Signal/Power - Power - GND - Signal - GND - Bottom(信号)。这样的结构为高速信号提供了紧邻的参考平面,保证了回流路径的连续性。需要与PCB板厂紧密沟通,使用他们的特定芯板和半固化片(PP)厚度来计算最终的阻抗。
- 去耦电容策略:在芯片每个电源引脚附近放置不同容值的去耦电容,形成从高频到低频的滤波网络。对于BGA封装的芯片,要在球栅阵列下方(通过过孔)尽可能多地放置电容。我会创建一个电容的“备料清单”,明确每种电容(如0.1uF, 1uF, 10uF, 100uF)的数量、封装和预计位置。
3. PCB布局:在方寸之间排兵布阵
布局是决定PCB性能、可制造性和可靠性的决定性步骤。一个好的布局能让布线事半功倍,反之则可能让项目陷入无休止的调试。
3.1 模块化与分区布局
将载板划分为几个功能区域:SOM连接器区、核心电源区、高速接口区(PCIe, DP)、内存区(如果扩展DDR)、低速接口区(USB, UART, GPIO等)。各区域之间预留足够的空间,特别是发热元件(如电源芯片、FPGA)周围要有散热通道。
首先,固定SOM连接器。它是整个板的“心脏”,所有布局都围绕它展开。接着,放置为SOM供电的核心电源芯片及其电感、电容。这些大电流路径要尽可能短而粗,优先布局。
3.2 电源电路布局的黄金法则
电源布局是重中之重,我遵循几个铁律:
- 电流环路最小化:对于每个开关电源(DC-DC),输入电容、开关芯片、电感和输出电容构成的功率环路面积要尽可能小。这能降低辐射EMI。通常采用“紧贴”式布局,将输入电容和输出电容分别紧靠芯片的VIN和SW、VOUT引脚。
- 敏感反馈走线远离噪声源:电压反馈(FB)网络的走线要纤细、简短,并远离电感、开关节点(SW)等噪声源。最好用地线包围保护。
- 地平面完整性:尽量为电源芯片提供一个完整的地平面层,所有接地元件通过短而粗的过孔直接连接到地平面。避免地平面被切割得支离破碎。
3.3 高速信号布局的要点
高速信号布局的目标是保证信号质量,减少反射、串扰和损耗。
- 差分对走线:PCIe、DP、MIPI D-PHY等基本都是差分信号。必须严格等长(长度匹配,通常误差在5mil以内)、等距(平行走线间距一致),并且在整个走线路径上保持一致的差分阻抗。避免在差分对上使用90度直角拐弯,用45度或圆弧拐角。
- 参考平面连续性:高速信号线的下方或上方必须有一个完整、无分割的参考平面(通常是地平面)。绝对禁止高速信号跨过平面层的分割间隙,否则会导致阻抗突变和严重的EMI问题。如果不可避免,需要在间隙处跨接缝合电容(如0.1uF)。
- 过孔的影响:过孔会产生寄生电容和电感,对高速信号是阻抗不连续点。对于PCIe Gen3及以上、DP等高速信号,要尽量减少过孔数量。如果必须换层,建议使用背钻(Back Drill)技术去除过孔未使用的残桩(Stub),或者使用微型过孔(Microvia)来减少影响。
4. PCB布线:连接的艺术与约束
布局完成后,布线就是将逻辑连接转化为物理铜线的过程。现代EDA工具(如Cadence Allegro, Mentor Xpedition)的强大功能可以帮助我们,但工程师的规则设定和判断同样关键。
4.1 布线规则的精细设置
在工具中预先设置好所有设计规则(Design Rules)是高效布线的前提。这包括:
- 物理规则:线宽、线间距(Clearance)、孔到线的距离等。对于电源线,可能需要设置更宽的线宽(如20-40mil用于1A电流)。
- 电气规则:为不同的网络类(Net Class)设置规则。例如,为“PCIe_Diff_Pair”类设置100Ω差分阻抗、对内等长5mil、对间间距大于20mil等规则。
- 区域规则:在特定区域(如BGA下方)应用更严格的线宽线距规则,以便Fanout(扇出)。
4.2 关键网络的布线顺序
我通常按以下顺序布线,优先级递减:
- 电源网络:尤其是核心大电流路径(如VCCINT)。用铺铜(Polygon Pour)的方式而不是细线,确保载流能力。
- 高速差分对:在规则驱动下,优先布通最敏感、最长的差分对,如PCIe。利用工具的自动差分对布线功能,但完成后必须手动检查等长和拓扑。
- 关键时钟信号:对时钟信号进行包地处理(两侧用地线伴随),并远离其他高速信号,以减少串扰。
- 其他高速单端信号。
- 低速信号和GPIO:最后处理,它们灵活性最高。
4.3 关于等长调线的实战技巧
等长布线(Length Matching)是高速设计中的常规操作。工具可以自动蛇形走线(Serpentine)来增加延迟较短的网络长度。
- 技巧:蛇形走线应放在信号路径中相对“宽松”的区域,避免在靠近发送端或接收端引脚处进行。蛇形的振幅(Amplitude)建议为线间距的3-5倍,间距(Gap)要一致,以减少阻抗不均匀。
- 注意:不要为了追求完美的等长报告而过度蛇形走线,过多的弯曲会增加损耗和串扰。满足时序裕量(Timing Margin)要求即可,不必追求ps级别的绝对相等。
5. 设计检查与生产文件输出
布线完成并不意味着设计结束,严格的检查是避免 costly respin(重新投板)的保险。
5.1 电气规则检查(ERC)与设计规则检查(DRC)
首先确保原理图与PCB网表一致(ERC)。然后进行全面的DRC,不仅要解决所有报错(Error),还要仔细审查所有警告(Warning)。有些警告,如“未连接的铜皮”或“丝印重叠”,可能隐藏着风险。
5.2 人工审查清单
工具检查之后,必须进行人工目视审查,我称之为“四角审查法”:
- 电源与地:检查所有电源芯片的输入输出电容是否齐全、位置是否正确。检查地平面是否被不当分割,关键芯片的地引脚是否都有良好的过孔连接到地平面。
- 信号完整性:抽查关键高速信号,看是否避免了跨分割,参考平面是否完整,差分对是否对称。
- 丝印与标识:检查元件位号(RefDes)是否清晰可读、方向一致,极性标识(如电容、二极管)是否正确。
- 可制造性(DFM):检查是否存在过于细小的钻孔(小于板厂能力),焊盘与孔的比例是否合适,元件间距是否满足贴片厂要求。
5.3 生成制造文件(Gerber)与装配文件
这是交付给板厂和贴片厂的“图纸”。
- Gerber文件:通常包括各层铜皮(Top, Mid1, GND, … Bottom)、阻焊层(Solder Mask)、丝印层(Silkscreen)、钻孔图(Drill Drawing)和钻孔数据(NC Drill)。务必使用板厂要求的格式(通常是RS-274X)和孔径表。
- 装配图与BOM:提供清晰的顶层和底层装配图(PDF),以及包含元件位号、型号、数量、封装和供应商信息的物料清单(BOM)。对于BGA芯片,提供钢网层(Paste Mask)文件,并考虑是否需要阶梯钢网以应对不同高度的元件焊盘。
6. 打样、装配与调试初体验
收到PCB空板和元器件后,就进入了激动人心又令人紧张的实物验证阶段。
6.1 板级检查与电源测试
首先,用万用表仔细检查电源与地之间的阻值,确保没有短路。然后,在不插入SOM的情况下,先给载板上电,测量各个电源轨的电压是否正常、纹波是否在预期范围内。使用带带宽限制功能的示波器来准确测量开关电源的纹波。
6.2 焊接与SOM安装
对于复杂的BGA芯片,建议由专业的贴片厂使用回流焊完成。SOM连接器的焊接也需要小心对位。安装SOM时,确保连接器对齐,锁紧装置(如果有)固定到位。
6.3 上电与基础功能调试
安装好SOM后,进行首次完整上电。按照电源时序,观察各电源轨的上电顺序是否正确。使用JTAG接口连接Kria SOM,尝试通过Vivado或XSCT(Xilinx System Debugger)工具检测芯片是否能够被识别。如果能够识别,说明最小系统(电源、时钟、复位、配置)基本工作正常。
6.4 接口功能验证
从最简单的接口开始验证,如UART串口。通过串口终端查看系统启动日志。然后逐步测试更复杂的接口:USB设备枚举、以太网Ping测试、PCIe链路训练状态、显示接口输出等。每一步都使用相应的工具或测试程序进行。
7. 常见问题、故障排查与实战心得
即使设计再仔细,第一版硬件也难免遇到问题。以下是我在多个Kria载板项目中遇到的典型问题及排查思路。
7.1 系统无法启动或JTAG无法连接
这是最令人头疼的问题。排查顺序如下:
- 检查电源:确认所有SOM所需的电源轨电压都准确无误,特别是核心电压(如VCCINT)。测量SOM连接器上的电源引脚,而非仅仅是载板电源芯片的输出。
- 检查复位信号:确认PS_POR_B(上电复位)和PS_SRST_B(系统复位)信号在上电后的状态是否正确。它们通常需要由载板控制,确保满足Kria要求的复位时序。
- 检查启动模式:检查MIO[6:2]或相关配置引脚的上下拉电阻,确认启动模式(如QSPI, SD卡)设置是否正确。
- 检查时钟:使用示波器测量提供给SOM的参考时钟(如33.333MHz或100MHz)是否稳定,幅值和频率是否准确。
- 检查连接:重新拔插SOM,确保连接器接触良好。
7.2 高速接口(如PCIe)链路训练失败
如果PCIe设备能被系统发现但无法建立稳定链路(Gen速度降级或完全断开),问题通常出在信号完整性上。
- 眼图测试:使用高速示波器配合PCIe夹具测量发送端(Tx)的信号眼图。检查眼高、眼宽、抖动是否满足PCIe规范要求。这是最直接的诊断方法。
- 检查PCB设计:回顾PCB,重点检查差分对是否严格等长、等距,是否跨分割,参考平面是否完整,过孔数量是否过多。靠近连接器端的交流耦合电容(AC-coupling cap)的布局是否对称。
- 调整参数:有些SerDes(串行解串器)参数可以通过软件驱动微调,如发射端预加重(Pre-emphasis)和接收端均衡(Equalization)。在硬件无法修改的情况下,尝试调整这些参数可能改善链路质量。
7.3 电源噪声导致系统随机性错误
表现为系统运行不稳定,偶尔死机、数据错误等。
- 测量纹波:用示波器仔细测量所有核心电源轨(VCCINT, VCCBRAM, VCCAUX, MGTAVCC等)上的噪声,特别是在负载动态变化时。对比芯片手册的最大允许纹波值。
- 检查去耦电容:确认所有必要的去耦电容都已焊接,特别是BGA芯片底部的小封装电容。虚焊或漏贴是常见原因。
- 检查地回路:确保电源和信号的回流路径顺畅,地平面阻抗低。单点接地还是多点接地,需要根据实际情况判断,高速数字电路通常需要低阻抗的完整地平面。
7.4 散热与温升问题
Kria SOM在满负荷运行时会产生可观的热量。如果载板设计密闭或在高温环境,需要评估散热。
- 监测温度:利用Kria SOM内部的温度传感器或外接热敏电阻监测关键部位温度。
- 增强散热:如果温度过高,考虑在载板上为SOM的散热盖增加导热垫,并引导至载板的金属外壳或额外散热片。确保载板布局留有空气流动空间。
设计一块可靠、高性能的Kria载板是一个系统工程,它平衡了电气性能、热管理、机械结构和可制造性。这个过程没有捷径,需要严谨的态度、系统的知识和不断的经验积累。最让我有成就感的时刻,不是画完最后一根走线,而是看到自己设计的载板成功启动,稳定运行起复杂的边缘AI应用。那份从无到有、将想法变为现实的踏实感,是这份工作最大的乐趣所在。希望这篇从理论到实战的总结,能为你点亮Kria定制之路上的几盏灯,避开我曾跌入的坑。记住,好的硬件设计是迭代出来的,大胆设计,小心验证,每一次调试都是向完美更近一步。
