我们知道想要做好一个LPDDR颗粒,需要考虑的是因素有很多例如,电源完整性,信号完整性,层叠的设计,布局的摆放,布线的合理规划,去耦电容的摆放等等,如下图所示:
之前小编做的项目上都是用的LPDDR4比较多,现在由于更新了SOC了,LPDDR4也改为LPDDR5了,下面是两个的一些区别项:
好了,下面小编我就给诸位道友们分享一下我在以色列出差的时候做一个项目上的LPDDR5的一些注意事项,在这个非常时期公司还让我出差而且还是去了以色列,足以见得我公司的地位是多么的重要啊。
LPDDR5的设计规范如下所示:
1,Clock Signal Group:
DDR[7:0]_CK_CHA, DDR[7:0]_CK_BAR_A ,
DDR[7:0]_CK_CHB, DDR[7:0]_CK_BAR_B,
Notes:
• 100-ohm differential trace impedance. (100欧姆的差分阻抗控制)
• + / - 5 mils differential pair skew .(差分线对内的误差+-5MIL,而且是不能在差分线段上去绕线的,只有在两端补偿的。)
•布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)
• Maximum length (PCB + package) should not exceed 1500 mils.(最大长度(PCB+封装)不应超过1500MIL,这个可以在前期走线的时候把走线的长度规则加上,走线总线的长度规则是不能加在total etch length这个规则上的,至于该怎么添加之前的文章中也有提及的,这边就不再赘述了,还有一点就是在绕线之前记得先把单板的层叠设置好,接着就是在规则管理器中把PIN-DELAY和过孔的Z-AXIS_DELAY都勾选上的。
• Trace spacing from other signal groups at least twice the trace width to minimize crosstalk.
(与其他信号组的迹线间距至少为迹线宽度的两倍,也即是3W原则,以尽量减少串扰)
•走线应有完整且连续的参考层平面,不能出现跨分割现象,走线距离周围避让的过孔的参考GND平面保持在6MIL以上,在特殊区域里面做不到的话尽量布线在两个过孔的中间也是可以的。
2, Command and Address Signal Group:
DDR[7:0]_CA_[6:0]_CHA,
DDR[7:0]_CS[1:0]_CHA.
Notes:
• 50-ohm trace impedance .(布线按照50欧姆的阻抗线来控制)
• Trace spacing from other signal groups at least twice the trace width to minimize crosstalk.
(与其他信号组的迹线间距至少为迹线宽度的两倍,以尽量减少串扰)
•走线应有完整且连续的参考层平面,不能出现跨分割现象。
DDR[7:0]_CA_[6:0]_CHB,
DDR]7:0]_CS[1:0]_CHB,
Notes:
• 50-ohm trace impedance . (布线按照50欧姆的阻抗线来控制)
•走线应有完整且连续的参考层平面,不能出现跨分割现象。
布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)
• Trace spacing from other signal groups at least twice the trace width to minimize crosstalk.
(与其他信号组的迹线间距至少为迹线宽度的两倍,以尽量减少串扰)
•绕线自身的串扰会影响信号延时,走线绕等长时建议 S≧3W。
•绕线的时候尽量是使用圆弧的绕线方式去优化。(地址线也可以不严格按照这个要求来,数据线的尽量还是满足这个要求吧,不过为了绕线的统一最好还是把地址和数据都按照这个要去做比较好一些)
•Signals on the inner layer propagate 27% slower than signals on the top and bottom layers. this delay difference must be considered during length matching.(内层的信号传播速度比顶层和底层的信号慢27%。在长度匹配过程中必须考虑这种延迟差异。)
(这种做的就比较好,在SOC和DDR颗粒那边表层几乎都是没有表层拉出一段走线的)
(这种做的就比较差,在SOC和DDR颗粒那边表层都有表层拉出一段走线的)
•布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)
3,Data Strobe Signal Group:
DDR[7:0]_WCK_[3:0], DDR[7:0]_WCK_BAR_[3:0]
DDR[7:0]_DQS_[3:0], DDR[7:0]_DQS_BAR_[3:0]
Notes:
• 100-ohm differential trace impedance.(100欧姆的差分阻抗控制)
• + / - 5 mils differential pair skew. (差分线对内的误差+-5MIL,而且是不能在差分线段上去绕线的,只有在两端补偿的。)
•差分线绕线自身的串扰会影响信号延时,走线绕等长时建议 S≧5W。目前差分线的线宽是2.8,现在才做到4W,还需要优化一些,还有就是单板上的DDR上所有的差分线绕线的时候都是需要满足这个要求的。
•Suggest routingDQS/WCK on the inner layers with good reference GND planes above and below. (议在内层上布线DQS,WCK,上下参考GND平面良好。)
•布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)
4,Data Signal Group:
DDR[7:0]_DQ_[31:0],
DDR[7:0]_DM_[3:0]
Notes:
• 50-ohm trace impedance. (布线按照50欧姆的阻抗线来控制)
• Trace spacing from other signal groups at least twice the trace width to minimize crosstalk. (与其他信号组的迹线间距至少为迹线宽度的两倍,以尽量减少串扰)
•布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)
•绕线自身的串扰会影响信号延时,走线绕等长时建议 S≧3W。
•布线的时候一组数据线必须要使用同一层去布线,地址线可以不需要严格同组同层去布线。
•Suggest routing DQ / DM on the inner layers with good reference GND planes above and below. (议在内层上布线DQ/DM,上下参考GND平面良好。)
•绕线的时候尽量是使用圆弧的绕线方式去优化。(地址线也可以不严格按照这个要求来,数据线的尽量还是满足这个要求吧,不过为了绕线的统一最好还是把地址和数据都按照这个要去做比较好一些)
•布线的时候允许的通孔的总的VIA数目一般是两个。(SOC和DDR颗粒那边各自只能打孔一次。)
上面的设计要求包含了LPDDR5中所有信号的设计规范要求的了,不过不同SOC可能会要求不同的。对了还有一个比较重要的就是在打孔换层布线的时候,记得追加上GND回流孔,GND的过孔范围保持在25mil左右(过孔和过孔的中心间距),这样做可以改善我们换层信号回流路径,GND 过孔需要把信号换层前后 GND 参考平面连接起来。一 个信号过孔,至少要有一个 GND 回流过孔(1:1),尽可能增加 GND 回流过孔数量,可以进一步改善信号质量,实在是做不到的话可以按照2:1的比例去添加GND回流VIA。
像DQS,CLK ,WCK,这些差分信号换层的附近是一定要加上大孔的通孔或者是埋孔的GND网络的VIA,而且是要求在SOC和DDR颗粒那边是都要加的,而且是在差分线换层的两个信号孔附近都要加一对GND回流孔,不能是只加一个就好了。这个很重要的一条设计准则,千万不能省的,不然前期不加到后面再去改的话真的够你喝一壶的了。加完了记得导出文件给你的仿真的同事看一下信号的眼图等是否满足设计要求。
对了,还有一点问题点就是非功能焊盘会破坏铜皮,以及增大过孔的寄生电容,使得信号线的阻抗偏低一些,我们在最终出图前需要删除DDR上孔的非功能焊盘,这个在最终出图的时候记得设置一下就好。
还有就是我们可以通过调整过孔位置,优化平面的裂缝,可以改善DDR信号回流路径,这个也是很重要的。
以上就是本期所有内容了,有些是通用的LPDDR5的设计准则,有的是针对单板的设计规则,严格意义说是没有哪一种规则是完全适用的LPDDR5的 通用规则的,不同的单板可能板厚,板材,层数,SOC以及DDR的型号都是不同的,一般的做法就是严格按照SOC手册上的LPDDR5的要求加上仿真同事给的建议修改优化就好了,我们下期文章不见不散。
下面是小编的微信公众号二维码,习惯用微信看的可以扫描下面的二维码关注小编即可阅读文章。