我亲自测试了Altium Designer 22.0.8这个版本, 遭遇过DDR3等长绕线误差超过50mil致使系统运行失常, 以及电源回路环路过大引入高频噪声这两个严重问题, 新手依照下面的步……
我亲自测试了Altium Designer 22.0.8这个版本, 遭遇过DDR3等长绕线误差超过50mil致使系统运行失常, 以及电源回路环路过大引入高频噪声这两个严重问题, 新手依照下面的步骤逐一操作, 便能够轻易避开这类常见问题。
第一步 设置类规则与等长约束
紧接着, 也就是后边, 要在Constraints这一栏当中, 填入目标长度的值, 比如说1500mil, 并且将容差设定为正负10mil。一定要勾选规则优先级, 要这种高高在上的感觉, 高于默认规则。
初涉者需规避的情况是, 布线过程里规则未起作用、长度未予以显示。关键缘由为类规则未曾妥当关联至网络类。应对之策是, 于项目面板处右键点击项目, 选取Class Explorer, 手动去创立网络类并且把DDR数据组、地址组逐个拖入其中, 核查类名与规则当中的保持一致。
第二步 利用蛇形绕线实现精确等长
把需要进行绕线的网络组给选中, 通过按快捷键T R来启动Interactive Length Tuning。模式选择Mitered走45度角, 将目标长度直接填进你的等长值得以实现, 像是1500mil这种数值。随后沿着走线路径移动光标, 软件会在当下呈现出当前长度和目标差值, 一直到差值变为0或者接近0才停止。要是存在多组网络, 那么建议起始于最长的那一根来进行绕线, 这是由于它的绕线空间处于最为紧张的状态。
新手需要避免踩坑, 高频出现错误的情况是, 在进行绕线操作的时候会退出自动模式, 而且长度数值没办法更新, 其原因在于软件版本里交互绕线的时候有时会失去焦点, 快速解决问题的办法是, 按下Shift+F来锁定布线层, 然后再重复按下T R重新启动动态绕线, 与此同时检查状态栏Length是否处于实时变化 的状态。若还是不进行更新, 那就退出之后重新进入至规则管理器, 再去确认Matched Lengths规则是处于被启用的状态。
第三步 优化电源回流路径与切割平面
于原理图同步至 PCB 后, 于层叠管理器当中对电源层与地层相邻状况开展确认, 将间距设定为 4mil。而后执行工具, 继而去执行电源平面, 进而开展分割平面操作,借助 2D 线把不同电压区域予以完全隔离, 最短线宽设定为 8mil。把它进行分割之后, 那些高频信号走线, 就比如说DDR数据线, 是一定要紧密地挨着完整的地平面的, 绝对不可以跨越分割出来的缝隙。
对于新手而言要避开的坑, 常见的报错情况是在进行分割平面之后出现DRC报错, 该报错会提示铜皮间距不符合规定, 其核心的原因在于分割线太过纤细或者没有连接到板框的边缘地带。有快速解决的办法: 需要选中分割线, 在属性当中把线宽修改为10mil并且延伸至板框外面至少20mil, 接下来执行工具里面的铜皮操作, 再进行重灌铜, 一直到所有的铜皮都不存在飞线现象。
有关键参数, 其最优推荐值存在, 那便是DDR时钟等长容差被设定为正负5mil , 它基于一项理由陈述, 这理由是时钟信号对于时序而言是最为敏感的, 而正负10mil的容差将会引发数据采样的不稳定状况, 实际测量得出正负5mil的值能够促使系统在高速运转的情形下维持稳定。
将两组方案来进行对比, 分别是蛇形绕线以及螺旋绕线, 当走线的空间较为紧凑且单根线的长度差值小于100mil的时候选择蛇形绕线, 因为这种方案对于信号完整性所产生的影响是最小的, 当线长的差值超过了200mil并且周围比较空旷的时候选择螺旋绕线, 它能够更加高效地对长度进行补偿, 我所采用的取舍逻辑是, DDR数据组使用蛇形绕线, 地址组使用螺旋绕线: 。
高频的、完整的报错以及解决的流程是这样的: DRC出现了显示为”Un-Routed Net Constraint”的状况, 并且在进行绕线之后, 其长度仍然是不达标的。其中的原因也涵盖了: 规则没有被正确地应用, 或者网络没有被加入到类当中。完备的解决流程为: 开启设计-规则, 用右键点击Matched Lengths选择将规则导出成文本, 核查网络名是否相符;在确认没有差错之后, 返回类管理器再度把所有DDR网络导入;最终于PCB面板里选中此网络, 先按下Ctrl+D重置高亮随后进行重绕。
绕线空间会因分支过多而表现出严重不足的情况, 致使本方法不适用于那种含有多组DDR4颗粒并且拓扑结构并非T型的板卡。替代方案嘛: 换成采用Fly-by拓扑并搭配Cadence的Pin Delay功能, 如此便能更高效地去处理大规模DDR布局。
微信扫一扫
还没有评论呢,快来抢沙发~