本人实际测试Allegro PCB Editor 17.4版本,踩过DDR3走线等长绕完后眼图直接塌成椭圆这样的坑,新手依照下面步骤一步步去操作,便能够轻松避开这类常见问题。 开始先交代……
本人实际测试Allegro PCB Editor 17.4版本,踩过DDR3走线等长绕完后眼图直接塌成椭圆这样的坑,新手依照下面步骤一步步去操作,便能够轻松避开这类常见问题。
开始先交代一下背景,那时板子是四层的,DDR3时钟频率运行在400MHz,走线长度差被控制在±50mil以内,等长完成之后,仿真时发现信号反射非常严重,上升沿过冲直接飙升到了1.8V,而标准是1.5V,超出了20%。
第一步检查走线拓扑结构
开启Allegro的SigXplorer工具,将板级拓扑进行导入,点击菜单栏Tools,再点击Signal Analysis,接着点击Topology Extraction,挑出DDR3数据线组,把DQ0至DQ7这8根线逐个单独拉出。至关重要的动作:于Cross-section Editor之中核查叠层参数,我所遭遇的问题便是:默认的介质厚度为4mil,而实际所使用的板材却是3.5mil,这致使特性阻抗的计算出现了偏差。
报错现象为,SigXplorer提取拓扑之际,软件呈现无响应状况。核心原因在于,未关闭板级覆铜的Dynamic Copper,致使提取过程中CPU满载进而卡死。快速解决办法是,先将DDR区域的动态铜皮删除,借助Shape → Delete Shapes进行清理,待拓扑提取完毕后再予以恢复。
第二步设定终端匹配并计算最优阻抗值
于此推荐关键参数,匹配电阻最佳值设定为40Ω,其理由为,DDR3标准IO阻抗处于34至40Ω之间,40Ω能够平衡信号振铃与功耗,经实测相较于默认的60Ω过冲下降了12%,眼图张开度提升了15%。
之后去进行Impedance Profile Scan,扫描的时候,走线宽度范围是从4mil至6mil,步长为0.5mil通过这一操作,得出存在一个最优线宽5mil,其对应阻抗为49.7Ω,这个阻抗靠近目标50Ω。
扫描结果呈现出全为乱码的状况,阻抗值跳跃变化至几千欧,这是新手所要避开的坑,其核心缘由在于叠层参数未与实际走线层产生关联,SigXplorer默认的走线处于TOP层,而实际的数据线所走的是Inner Layer 2。处置方式为,于Cross – section之中,以手动的方式将走线的层面改作Inner Layer 2,而后再次运行扫描。
这里存在一个实操方案的对比,其中方案A是贴片电阻进行并联终端,走线是直连且不通孔,方案B是内置ODT并加上串联电阻。要是板子面积紧凑、层数较少,那么就选择方案A,其成本较低不过焊接不良率较高。要是DDR颗粒较多、信号数量较大,那就必须采用方案B,因为ODT能够进行可编程调整,灵活性较强。此次我在BGA封装的情况下,方案B更为稳定,电阻位较少节省了120平方毫米的空间。
第三步调整走线等长避开局部布线密度陷阱
于Allegro之中,借由Route → Delay Tune来进行等长调整,在绕线之际,发觉DDR3的VREF走线以及DQ组的平行部分超出了300mil,串扰情形相当严重。修复的办法是,选中VREF走线,接着右键点击Route,然后选择Create Fanout这项操作,将VREF从数据线束当中分离出来,使其走单独的Shield GND包地路径,并且把间距拉大到8mil。
【新手需防入坑】,高频出现的完整报错情况为,在进行等长绕线操作完成之后,开展IBIS – AMI仿真工作时,出现报错提示,内容是“信号完整性违规:串扰水平大于10%”。完整的解决流程呈现为:首先是第一步,要回看布线情况,在其中选中 DQ 组,通过 Tools → Reports → Crosstalk Report 来进行操作,以此确认超标线对为 DQ3 和 DQ4;接着是第二步,于这两根线之间插入一条宽度为 5mil 的 GND Guard Trace,并将间距维持在 10mil;最后是第三步,再次去跑仿真,此时串扰由 15.3%下降到 4.8%,眼图高度从 0.8V 回升至 1.2V。
这套方法,在四层板的DDR3场景中是有效的,在四层板的DDR4场景里同样行得通,在六层板的DDR3场景下也管用,于六层板的DDR4场景内也能发挥作用,然而,它并不适用于双面板,也不适用于高速SerDes差分线,双面板叠层厚度存在限制,40Ω匹配电阻无法抑制反射,所以得换成源端串联22Ω并加上末端RC网络。SerDes差分线运用时,需借助100Ω差分阻抗并搭配AC耦合电容,且不可原封不动地照搬此方法。替代方案如下:对于双面板,采用T型拓扑结构,SerDes直接套用厂家在参考设计里的阻抗连续走线方式,而非自行去调整等长。
微信扫一扫
还没有评论呢,快来抢沙发~