我亲身进行了Cadence Allegro 17.4的实测,遭遇那种由于对DDR3地址线等长组误差控制不够严格进而致使读写不稳定的状况,新手只要依照步骤逐个去操作,便能够轻易躲开这类……
我亲身进行了Cadence Allegro 17.4的实测,遭遇那种由于对DDR3地址线等长组误差控制不够严格进而致使读写不稳定的状况,新手只要依照步骤逐个去操作,便能够轻易躲开这类常见问题.接下来直接呈现实打实的具体步骤,全部都是亲手敲写记录的。
1. 设置约束管理器里的等长误差基准值
开启Constraint Manager,依照顺序逐个点选Electrical Constraint Set ,接着点选Timing ,然后点选Relative Propagation Delay,寻觅你所构建的Match Group(举例来说“DDR3_Addr”)。将Tolerance框之中的数值,从默认的±25mil更改至±5mil,要留意单位是mil,不要选成mm。这个5mil是我通过实际测量得出的最优值,它是基于1/10上升沿规则,也就是1ns上升沿对应6inch且留有10%余量得出的,太过严格容易绕不出来,太过宽松则会触发时序违例。
【新手避坑】
常出现的报错情况是,DRC面板呈现满屏红色,显示“Rel Prop Delay”超出限制。其核心缘由在于,基准线也就是Target,未采用最长或者最短的那根走线,又或者在Match Group当中混入了不同层的过孔。能够快速解决的方法是,右键点击Match Group选择Analyze,将物理长度最长的那根走线勾选作为Target,随后重新进行Update DRC。
2. 手动绕线还是自动匹配 两种方案对比
操作的路由选择路径是:从Route进入Delay Tune(此为手动方式),或者通过Auto-Route进入Match Group(这是自动方式)。手动的方案是:采用Accordion模式,将步长设置为10mil,把增量设定为5mil,这种方式适合进行局部的细微调整,然而会耗费时间;自动的方案是:通过一键操作就能生成,不过在密集区域容易出现挤占相邻走线的情况。该逻辑为取舍的做法是,先具备优先手动去绕开关键之处的地址线,并且要保证误差小于等于正负5mil,当数据线数量较多且空间较为宽松的情况下采用自动方式,在运行完毕之后再运用Timing Vision进行扫描一遍。
【新手避坑】
常出现于手动绕线的问题有,绕出的那种呈蛇形模样的线,其间距呈现出不均匀的状况,进而致使串扰的情况发生。之所以会如此,那是因为你并未锁定Gap的大小,而这个大小应当等同于线宽的3倍。针对此问题的解决办法是,在Delay Tune窗口那里强制锁定Space to lines等于3乘以Width。当自动匹配出现失败的情况时,先进行撤销操作,之后单独将这根线弄直,然后再运行一次。
3. 高频完整报错“误差超限”的一站式解决流程
报错给出的信息是:“Constraints: Relative Propagation Delay violation (当前数值为:12.3mil,限定数值为:±5mil)”。解决问题所涉及的流程是:第一步,开启Constraint Manager去寻找到出现报错情况的Net,查看它相较于Target而言是更长还是更短。在第二步当中,对于那些长度变长了的线,要运用Slide进而以推挤的方式让走线缩短,并且在拐角的地方要切成斜角;而对于那些长度变短了的线,则需要通过Delay Tune去补绕一小段呈现蛇形的线路,每次都增加20mil之后再重新进行测试。第三步,运行Tools,接着运行Quick Reports,再运行Relay Prop Delay Report,然后进行确认操作,确认所有Net误差已经全部变为绿色。在整个过程当中,无需重新启动软件。
【新手避坑】
有不少人在“补绕后误差反倒变大”这儿碰了壁。关键缘由在于,绕线之际未能锁定基准参考,软件的动态计算将Target算错了。解析:于Relative Propagation Delay界面之中,将Calculation Method由“Min/Max”手动予以更改成“User Specified”,随后指定那根最长的线去做固定参考。
说到底,有个大实话得讲:这套±5mil的严格标准,在2GHz以下的DDR接口上多次尝试都很有效,在SPI接口上多次尝试也都很有效,在LCD接口上多次尝试同样很有效。然而若是你去处理PCIe Gen5(32GT/s),抑或是处理25G以上的背板,等长误差必须被控制在±1mil以内,并且得运用TDR去实测板上延迟,还有一种替代方案是采用S参数提取加上眼图仿真来实现闭环。你手头碰到过哪种接口因等长误差翻过车?评论区丢出来一起盘。
微信扫一扫
还没有评论呢,快来抢沙发~