我亲自测试了DDR4 3200Mbps以及10Gbps SerDes走线, 遭遇过信号反射、串扰还有时序余量不足的状况, 新手依照步骤一步步去操作, 便能够轻易避开这类常见问题。 1 ……
我亲自测试了DDR4 3200Mbps以及10Gbps SerDes走线, 遭遇过信号反射、串扰还有时序余量不足的状况, 新手依照步骤一步步去操作, 便能够轻易避开这类常见问题。
1 阻抗连续性是高速电路的第一命门
当高速信号于PCB之上进行传播之时, 只要存在任何阻抗突变的情况, 便必然会引发反射现象, 进而直接侵蚀掉眼图裕量。我曾经对一块四层板展开过调试工作呀, 其中DDR数据线在进行换层操作的时候, 并没有添加回流地孔, 最终的测试结果是, 所呈现出的眼图闭合状况极其严重呢。
实测步骤:DDR走线阻抗控制
步骤1:叠层设计与阻抗计算
选用Polar Si9000软件去设置, 将目标阻抗设定为50Ω±10%, 四层板存在推荐的厚度设定, 顶层信号层的铜厚是0.2oz且为35μm, 次外层PP片的厚度应当是0.2mm也就是像2116半固化片那样, 内层参考层进行了完整覆铜, 有着关键参数线宽为5mil、介质厚度为4mil、介电常数是4.2, 计算得出的结果理论上是50.3Ω。
【新手避坑】
常常出现的报错情况为, 实际打样归来时显示阻抗偏低, 具体是实测为45Ω。出现错误的原因在于, 厂家在进行压合操作的时候, PP片出现了流胶现象, 进而致使介质厚度变薄。解决这一问题的办法是, 把线宽收窄0.5mil, 并且在板边添加耦合线用于进行TDR测试。
步骤2:参考层连续性与回流路径
对于所有高速信号线而言, 其下方务必确保存在完整不变的参考平面。当DDR地址线进行换层出层操作时, 在距离过孔旁边0.5mm范围以内, 要打出至少2个接地过孔。给出的推荐参数是: 过孔的内径为10mil, 过孔的直径为22mil这一数值。
【新手避坑】
呈现的状况是, DDR 进行读写操作时的时序处于不稳定状态, 并且偶尔会出现丢失数据的情况。缘由在于, 当进行换层操作时, 信号以及回流电流所走过的路径并不相同, 进而形成了较大的环路电感。而解决的办法是,在信号过孔的旁边直接添加上地过孔, 且其间距要小于信号孔自身的直径。
2 如何用等长控制让DDR走线一次通过
DDR时序对地址、控制组以及时钟的走线有着等长要求, 其误差需要被控制在±10mil范围以内。我曾见到过人采用直线绕线的方式, 最终等长制作出来的结果, 误差竟达到了50mil。
实测步骤:Allegro手动等长绕线
步骤3:设置Pin-Pair约束规则
将Electrical Constraint Set在Allegro CM中开展打开操作, 进行新建Match Group的行为。把DDR0_DQ从0到7的这些部分, 以及DDR0_DQS0、DDR0_DQM0添加到同一组里面。将DDR0_CK_P指定作为时钟的基准。目标长度设定为3000mil, 容差范围是正负10mil。
【新手避坑】
错误提示出现: 在绕线完成之后, Match Group呈现出目标长度未对齐的状况。缘由在于: 要么是基准线没有挑选正确, 要么是Net自身存在额外的过孔。解决方式为: 首先去测量基准线的实际长度, 接着再对其他的线进行调整。绕线的形状采用“U形”而不是“S形”, 以此来减少寄生电容。
步骤4:手动绕线与实时检查
运用Route实施手动绕线, 于信号线密集的区域优先去绕较短的线, 绕线的间距维持3W原则(若线宽是5mil那么间距为15mil), 实时查看CM界面里长度的变化, 绕至目标值正负5mil便停止。
【新手避坑】
出现的状况是, 绕线之际软件出现卡死的情况, 或者绕出呈锐角的形状。致使该情况产生的缘由是, 绕线的间距设置得太过小, 软件进行计算时出现自激现象。针对此状况的解决方式为, 把绕线的最小间距设置成8mil, 转角采用135度, 防止出现45度的锐角。在绕完之后运行一下DFF进行检查。
两种方案取舍:DDR走T形拓扑还是Fly-by拓扑
T形拓扑适宜双片DDR颗粒, 走线是从CPU分岔到两个颗粒那儿, 等长易于做到然分支短桩效应难以消除掉。我所使用的四层板采用T形, 500ps信号完整性问题出现振铃现象。更换成Fly-by拓扑之后, 信号从CPU统一串联至各颗粒, 末端添加终结电阻50Ω上拉到VTT, 信号质量显著改善。取舍逻辑如下: 多于4颗DDR颗粒肯定得用Fly-by;2颗的时候T形简便但要留意分支长度不超过200mil。
高频报错:SerDes眼图测试失败
有这样一种现象, 在10Gbps速率的情况之下, 呈现出眼图眼高小于200mV, 并且眼宽小于0.3UI。关于报错有着一连串流程, 首先第一步, 要运用示波器去测量TX端的差分对信号, 其峰峰值应当达到800mV±10%;接着第二步, 需要检查RX端的接收灵敏度, 查看芯片手册所要求的一般是100mV这一数值;然后第三步, 通过TDR去测量走线阻抗, 结果发现差分阻抗仅仅只有85Ω(目标为100Ω)。而核心的缘由在于, 差分走线的间距过大, 最终致使耦合变弱。处理方式为, 把差分对线的间距, 从十二密耳缩减至八密耳, 与此同时, 线的宽度, 由五密耳变更为六密耳, 再次进行打样之后, 眼图恢复到正常状态。
本方法的不适用场景
针对标准FR4板材以及常规走线长度, 也就是DDR走线小于6英寸的情况, 采用以上方法。要是使用高速板材, 像Megtron6, 或者走线超过12英寸, 那就需要引入前仿真IBIS模型, 并且还要进行S参数后仿真。有一种简易替代方案, 即在走线过长的时候, 直接加入中继器芯片, 不过这样做的代价是会增加成本以及功耗。
微信扫一扫
还没有评论呢,快来抢沙发~