ARTICLE DETAIL

资讯详情

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

20、DDR信号完整性分析:SI仿真基础(IBIS模型/通道模型)、串扰与反射分析、高通平台SI设计指南

20、DDR信号完整性分析:SI仿真基础(IBIS模型/通道模型)、串扰与反射分析、高通平台SI设计指南 信号完整性简称SI。做DDR设计这关绕不过去。我刚开始接触DDR3的时候觉得只要把线连上、阻抗匹配做好就完事了。结果板子回来DDR跑不到标称频率读写总出错。查了三天最后发现是反射和串扰在捣鬼。从那以后我对SI仿真再也不敢马虎。这一章咱们就聊聊DDR信号完整性分析的那些事。我会结合高通平台的实际经验把IBIS模型、通道仿真、串扰反射这些概念讲透。20.1 为什么要做SI仿真说白了DDR信号在PCB上传输就像快递包裹在运输途中。路上有坑洼阻抗不连续、有干扰串扰、还有回音反射。包裹到不了或者到了但内容被调包了系统就崩了。SI仿真就是提前模拟这条路。看看信号从驱动端出发经过PCB走线、过孔、连接器最后到达接收端波形还能不能看。我个人习惯在布局布线前先跑一轮快速仿真。哪怕只是粗略看看也能发现很多隐患。比如走线太长、参考层被割断、过孔stub太大——这些问题在仿真里一目了然。核心目标保证DDR信号的眼图张开、时序裕量充足、噪声在容忍范围内。20.2 IBIS模型仿真的“食材”做SI仿真首先得有模型。IBISI/O Buffer Information Specification模型就是芯片厂商提供的“食材”。它描述了芯片引脚的电气特性比如输出阻抗、上升时间、电压摆幅等。高通平台会提供完整的IBIS模型包。我记得第一次用高通8916的IBIS模型时发现里面包含了DDR_PHY的所有IO buffer模型。每个DQ、DQS、地址控制信号都有对应的模型文件。20.2.1 IBIS模型的关键参数IV曲线描述输出驱动器的电流-电压特性。分拉电流和灌电流两种。Vt曲线描述输出波形随时间的变化。通常给出上升沿和下降沿的典型、最小、最大情况。封装参数R_pkg、L_pkg、C_pkg。这些寄生参数对高频信号影响很大。钳位二极管特性描述ESD保护二极管的导通特性影响过冲和振铃。我的经验仿真时一定要用“典型”和“最差”两种corner。只用典型值容易低估风险。我在一个项目里就吃过亏——典型值仿真眼图很好但量产时温度一高信号就出问题了。20.2.2 如何获取和使用IBIS模型高通平台的IBIS模型通常可以在QDNQualcomm Developer Network上下载。下载后解压你会看到一堆.ibs文件和.ebd文件。使用步骤很简单把.ibs文件导入SI仿真工具比如HyperLynx、ADS、Sigrity。为每个DDR信号分配对应的IBIS模型。设置驱动强度和slew rate。高通平台通常支持多种驱动强度配置比如DDR4的40Ω、34Ω、30Ω等。// IBIS模型文件片段示例DDR4 DQ buffer [Model] DQ_34_OHM Model_type I/O Polarity Non-Inverting Enable Active-Low Vinl 0.8V Vinh 1.2V C_comp 1.5pF // 芯片内部电容 [Pulldown] -3.0V -0.100A -2.0V -0.080A -1.0V -0.050A 0.0V 0.000A 1.0V 0.035A 2.0V 0.070A 3.0V 0.100A [Pullup] -3.0V 0.100A -2.0V 0.080A -1.0V 0.050A 0.0V 0.000A 1.0V -0.035A 2.0V -0.070A 3.0V -0.100A [Ramp] R_load 50Ω dV/dt_r 1.5V/0.2ns dV/dt_f 1.5V/0.2ns20.3 通道模型仿真的“烹饪工具”有了IBIS模型这个食材还得有锅碗瓢盆——通道模型。通道模型描述信号从驱动端到接收端经过的所有物理路径PCB走线、过孔、连接器、端接电阻等。通道模型的精度直接决定了仿真结果的可靠性。我见过有人直接用理想传输线代替实际走线结果仿真和实测差了30%。20.3.1 通道模型的构建方法S参数模型最准确的方法。用电磁场仿真工具如HFSS、CST提取走线和过孔的S参数。频率范围要到DDR时钟的5倍频以上。RLGC模型用场求解器提取单位长度的电阻、电感、电导、电容。适合均匀传输线。W-element模型一种带损耗的传输线模型支持频率相关的特性。很多EDA工具都支持。注意过孔是通道模型中最容易出问题的地方。过孔的stub未使用的过孔段会产生严重的阻抗不连续。我曾经在一个DDR4项目里因为过孔stub太长导致信号在3GHz附近出现谐振眼图完全闭合。后来把stub背钻掉问题才解决。20.3.2 通道仿真的典型流程从PCB layout中提取需要仿真的网络比如一条DQ线。设置驱动端和接收端的IBIS模型。设置通道模型走线过孔端接。运行仿真观察波形和眼图。调整参数如驱动强度、端接电阻、走线长度直到满足要求。20.4 串扰分析邻居的干扰串扰就是一条信号线上的能量耦合到相邻信号线上。DDR总线里DQ线之间、DQ和DQS之间、地址线和控制线之间都可能发生串扰。为什么会这样因为PCB走线之间存在着互容和互感。信号跳变时会通过电场和磁场影响旁边的线。20.4.1 串扰的两种类型近端串扰NEXT干扰源近端的串扰。通常幅度较大但持续时间短。远端串扰FEXT干扰源远端的串扰。幅度较小但会随着走线长度累积。在DDR设计中我特别关注远端串扰。因为DDR的走线通常很长几英寸到十几英寸远端串扰会累积到不可忽视的程度。20.4.2 串扰的抑制方法方法说明效果增大线间距走线间距至少3倍线宽3W原则显著降低串扰加入屏蔽线在敏感信号两侧加地线效果很好但占用布线空间减小平行长度避免长距离平行走线降低累积串扰使用带状线内层走线比微带线串扰小适合高速信号我的习惯在仿真时我会把相邻的3-5条线都建出来跑一个多线耦合仿真。这样能看到最真实的串扰情况。有一次我发现一条DQ线的串扰噪声达到了200mV已经超过了接收端的噪声容限。后来把这条线移到另一层问题才解决。20.5 反射分析回音的影响反射就是信号遇到阻抗不连续时一部分能量被反射回来。反射会导致信号过冲、下冲、振铃严重时会造成误触发。反射的根源是阻抗不匹配。驱动端输出阻抗、走线特性阻抗、接收端输入阻抗这三者如果不一致反射就来了。20.5.1 反射的计算反射系数Γ (Z_load - Z0) / (Z_load Z0)其中Z_load是负载阻抗Z0是传输线特性阻抗。如果Z_load Z0Γ0没有反射。如果Z_load开路无穷大Γ1全反射。如果Z_load短路0Γ-1反相反射。20.5.2 反射的抑制方法端接匹配在接收端或驱动端加端接电阻使阻抗匹配。DDR通常采用ODT片上端接技术。控制走线阻抗确保走线特性阻抗与设计目标一致通常50Ω单端、100Ω差分。减少阻抗突变过孔、连接器、拐角处都会产生阻抗变化。尽量使用45度拐角避免90度拐角。优化拓扑结构DDR的地址线通常采用fly-by拓扑而不是T型拓扑。fly-by的反射更小。关键点反射的仿真要关注“振铃”的幅度和持续时间。振铃如果落在数据采样窗口内就会导致误码。我一般要求振铃幅度不超过信号摆幅的15%。20.6 高通平台SI设计指南高通对DDR的SI设计有非常详细的指导。我整理了几个核心要点20.6.1 阻抗控制要求单端走线DQ、DQS、地址、控制目标阻抗50Ω ± 10%。差分走线时钟目标阻抗100Ω ± 10%。参考层必须完整不能有跨分割。如果必须跨分割要加缝合电容。20.6.2 走线长度匹配高通平台对走线长度匹配有严格要求信号组长度匹配要求DQ组同字节±5mil以内DQS与DQ±10mil以内地址/控制组±50mil以内时钟差分对±2mil以内对内±50mil对间20.6.3 端接策略高通平台推荐使用ODT片上端接。ODT的值可以在BIOS或驱动中配置。常见的ODT值有40Ω、60Ω、120Ω等。我个人建议在仿真阶段多试几个ODT值。不同的PCB布局、不同的走线长度最优的ODT值可能不同。我曾在某个项目里ODT从60Ω改成40Ω后眼图裕量提升了15%。20.6.4 电源完整性配合SI和PI是分不开的。电源噪声会直接耦合到信号上。高通平台要求VDDQDDR供电的纹波不超过30mV。VREF参考电压的纹波不超过10mV。去耦电容的布局要靠近DDR颗粒和主控。避坑指南我曾经在一个项目里SI仿真结果很好但板子回来后DDR还是不稳定。查了很久发现是VREF的噪声太大。VREF走线太细而且旁边有一条高速信号线串扰耦合到了VREF上。后来把VREF走线加粗并用地线隔离问题才解决。所以SI仿真时别忘了把VREF也加进去。20.7 总结DDR信号完整性分析说白了就是三件事模型要准、通道要真、分析要全。IBIS模型是基础通道模型是核心串扰和反射是重点。高通平台有成熟的SI设计指南但每个项目都有自己的特殊性。我的建议是不要完全依赖指南一定要跑仿真验证。嗯这一章的内容就到这里。下一章咱们聊聊DDR的时序分析那是另一个容易踩坑的地方。
返回列表