DDR-Topology
DDR布线通常是一款硬件产品设计中的一个重要的环节,也正是因为其重要性,网络上也有大把的人在探讨DDR布线规则,有很多同行故弄玄虚,把DDR布线说得很难,我在这里要反其道而行之,讲一讲DDR布线最简规则与过程。


如果不是特别说明,每个步骤中的方法同时适用于DDR1,DDR2和DDR3。PCB设计软件以Cadence Allgro 16.3为例。

文章目录 [隐藏]
第一步,确定拓补结构(仅在多片DDR芯片时有用)
第二步,元器件摆放
第三步,设置串联匹配电阻的仿真模型
第四步,设置线宽与线距
第五步,走线
第六步,设置等长规则
第七步,绕等长
相关好文推荐

第一步,确定拓补结构(仅在多片DDR芯片时有用)

首先要确定DDR的拓补结构,一句话,DDR1/2采用星形结构,DDR3采用菊花链结构。

拓补结构只影响地址线的走线方式,不影响数据线。以下是示意图。

DDR-Topology

星形拓补就是地址线走到两片DDR中间再向两片DDR分别走线,菊花链就是用地址线把两片DDR“串起来”,就像羊肉串,每个DDR都是羊肉串上的一块肉,哈哈,开个玩笑。

YangRouChuan

第二步,元器件摆放

确定了DDR的拓补结构,就可以进行元器件的摆放,有以下几个原则需要遵守:

原则一,考虑拓补结构,仔细查看CPU地址线的位置,使得地址线有利于相应的拓补结构

原则二,地址线上的匹配电阻靠近CPU

原则三,数据线上的匹配电阻靠近DDR

原则四,将DDR芯片摆放并旋转,使得DDR数据线尽量短,也就是,DDR芯片的数据引脚靠近CPU

原则五,如果有VTT端接电阻,将其摆放在地址线可以走到的最远的位置。一般来说,DDR2不需要VTT端接电阻,只有少数CPU需要;DDR3都需要VTT端接电阻。

原则六,DDR芯片的去耦电容放在靠近DDR芯片相应的引脚

以下是DDR2的元器件摆放示意图(未包括去耦电容),可以很容易看出,地址线可以走到两颗芯片中间然后向两边分,很容易实现星形拓补,同时,数据线会很短。


DDR2-Placement

以下是带有VTT端接电阻的DDR2元器件摆放示意图,在这个例子中,没有串联匹配电阻,VTT端接电阻摆放在了地址线可以到达的最远距离。

DDR2-Placement-VTT

以下是DDR3元器件摆放示意图,请注意,这里使用的CPU支持双通道DDR3,所以看到有四片(参考设计是8片)DDR3,其实是每两个组成一个通道,地址线沿着图中绿色的走线传递,实现了菊花链拓补。地址线上的VTT端接电阻摆放在了地址线可以到达的最远的地方。同样地,数据线上的端接电阻也放置在了靠近DDR3芯片的位置,数据线到达CPU的距离很短。同时,可以看到,去耦电容放置在了很靠近DDR3相应电源引脚的地方。

DDR3-Placement

第三步,设置串联匹配电阻的仿真模型

摆放完元器件,建议设置串联匹配电阻的仿真模型,这样对于后续的布线规则的设置是有好处的。

点击Analyze->SI/EMI Sim->Model Assignment,如下图。

Model-Assigment

然后会出来Model Assignment的界面,如下图


Model-Assigment-Menu

然后点击需要设置模型的器件,通常就是串联匹配电阻,分配或创建合适的仿真的模型,如果不知道如何创建,请在互联网上搜索或发邮件给无线时代(Beamsky)。

Model-Assigment-Select

分配好仿真模型之后的网络,使用Show Element命令,可以看到相关的XNET属性,如下图。

XNET-Show-Element

第四步,设置线宽与线距

  1. DDR走线线宽与阻抗控制密切相关,经常可以看到很多同行做阻抗控制。对于纯数字电路,完全有条件针对高速线做单端阻抗控制;但对于混合电路,包含高速数字电路与射频电路,射频电路比数字电路要重要的多,必须对射频信号做50欧姆阻抗控制,同时射频走线不可能太细,否则会引起较大的损耗,所以在混合电路中,本人往往舍弃数字电路的阻抗控制。到目前为止,本人设计的混合电路产品中,最高规格的DDR是DDR2-800,未作阻抗控制,工作一切正常。

  2. DDR的供电走线,建议8mil以上,在Allegro可以针对一类线进行物理参数的同意设定,我本人喜欢建立PWR-10MIL的约束条件,并为所有电源网络分配这一约束条件,如下图。

PWR-10MIL

  1. 线距部分主要考虑两方面,一是线-线间距,建议采用2W原则,即线间距是2倍线宽,3W很难满足;二是线-Shape间距,同样建议采用2W原则。对于线间距,也可以在Allegro中建立一种约束条件,为所有DDR走线(XNET)分配这样的约束条件,如下图。

DDR-2W

  1. 还有一种可能需要的规则,就是区域规则。Allegro中默认的线宽线距都是5mil,在CPU引脚比较密集的时候,这样的规则是无法满足的,这就需要在CPU或DDR芯片周围设定允许小间距,小线宽的区域规则,如下图。

region-rule

第五步,走线

走线就需要注意的内容比较多,这里只做少许说明。

所有走线尽量短
走线不能有锐角
尽量少打过孔
保证所有走线有完整的参考面,地平面或这电源平面都可以,对于交变信号,地与电源平面是等电位的
尽量避免过孔将参考面打破,不过这在实际中很难做到
走完地址线和数据后,务必将DDR芯片的电源脚,接地脚,去耦电容的电源脚,接地脚全部走完,否则在后面绕等长时会很麻烦的
下图是完成的DDR走线,但尚未绕等长。

DDR-Route-Done

第六步,设置等长规则

对于数据线,DDR1/2与DDR3的规则是一致的:每个BYTE与各自的DQS,DQM等长,即DQ0:7与DQS0,DQM。等长,DQ8:15与DQS1,DQM1等长,以此类推。

DDR2数据线等长规则举例

DDR2-Data-Rule

DDR3数据线等长规则举例

DDR3-Data-Rule

地址线方面的等长,要特别注意,DDR1/2与DDR是很不一样的。

对于DDR1/2,需要设定每条地址到达同一片DDR的距离保持等长,如下图。

DDR2-Address-Rule

对于DDR3,地址线的等长往往需要过孔来配合,具体的规则均绑定在过孔上和VTT端接电阻上,如下图。可以看到,CPU的地址线到达过孔的距离等长,过孔到达VTT端接电阻的距离也等长。

DDR3-Address-Rule

补充一点,很多时候,地址线的等长要求不严格,这一点我还没有尝试过。在本人设计的这些产品中,地址线,数据线都做了25mil的Relative Propagation Delay的等长规则设定。关于等长规则设定的细节在这里不再赘述,有兴趣的话,可以发邮件给无线时代(Beamsky)。

第七步,绕等长

完成等长规则的设定后,最后一步也是工作量最大的一步:绕等长。

在这一步,我认为只有一点规则需要注意:尽量采用3倍线宽,45度角绕等长,如下图。

Routing-Tunning

绕等长完成后,最好把DDR相关网络锁定,以免误动。

DDR-Layout-Example

到这里,DDR走线就已经完成了,在本人设计过的三,四十种产品中,都是按照上面的规则与过程完成的,DDR2最高规格是DDR2-800,512MB,DDR3最高规格是DDR3-1600,1GB,都可以很稳定的工作,无论性能还是可靠性,都未曾出过问题。

原来链接:

http://www.beamsky.com/ddr-layout-rules-processes/

欢迎关注本人公众号:

AM335x硬件开发使用指南
https://blog.csdn.net/weixin_42124889/article/details/80514842

聊聊无线充电——华为Mate RS保时捷版无线充电器详解(上篇)
https://blog.csdn.net/weixin_42124889/article/details/80290757

聊聊无线充电——华为Mate RS保时捷版无线充电器详解(下篇)
https://mp.weixin.qq.com/s/9o8-7YANXCiydjQ8u-EDsg

手机快充技术——快充技术&硬件详解
https://blog.csdn.net/weixin_42124889/article/details/80255434

一文知晓高通晓龙845
https://mp.weixin.qq.com/s?__biz=MzU2NjYwMzQ1Ng==&mid=2247483678&idx=1&sn=c396ca9582a7f5124e0b00cb94d6a482&chksm=fca8bab1cbdf33a79189346c9ed964bca08f446427f67a509b3577bec2fd533fe6aeb39d5eaf#rd

A12 chip即将来临,是IPhone XI?
https://mp.weixin.qq.com/s/j3IJdhY1CKS7aW120zgs8Q

DDR布线规则与过程——见过最简单的DDR布线教程相关推荐

  1. DDR布线规则与过程

    DDR布线通常是一款硬件产品设计中的一个重要的环节,也正是因为其重要性,网络上也有大把的人在探讨DDR布线规则,有很多同行故弄玄虚,把DDR布线说得很难,我在这里要反其道而行之,讲一讲DDR布线最简规 ...

  2. DDR布局布线规则与过程

    DDR布线通常是一款硬件产品设计中的一个重要的环节,也正是因为其重要性,网络上也有大把的人在探讨DDR布线规则,有很多同行故弄玄虚,把DDR布线说得很难,我在这里要反其道而行之,讲一讲DDR布线最简规 ...

  3. DDR Layout Guide-DDR布线规则与过程

    DDR布线通常是一款硬件产品设计中的一个重要的环节,也正是因为其重要性,网络上也有大把的人在探讨DDR布线规则,有很多同行故弄玄虚,把DDR布线说得很难,我在这里要反其道而行之,讲一讲DDR布线最简规 ...

  4. DDR布线规则及一些布线过程总结(ddr1,2,3)

    转载于:http://www.elecfans.com/d/564054.html 多年前,无线时代(Beamsky)发布了一篇文章关于DDR布线指导的一篇文章,当时在网络上很受欢迎,有很多同行参与了 ...

  5. 软件开发的过程中, 一定需要简单设计?

    2017.7.4, 深圳, Ken Fang 前言: 简单设计只是写文档, 而不能指导开发, 这样的简单设计, 就只是在瞎折腾. 但是, 软件开发的过程中, 不做简单设计, 软件开发就永远做不好. 简 ...

  6. 简单有趣的 NLP 教程:手把手教你用 PyTorch 辨别自然语言(附代码)

     简单有趣的 NLP 教程:手把手教你用 PyTorch 辨别自然语言(附代码) 雷锋网(公众号:雷锋网)按:本文作者甄冉冉,原载于作者个人博客,雷锋网已获授权. 最近在学pyTorch的实际应用 ...

  7. 翻译:如何用Cocos2d来开发简单的IPhone游戏教程

    这一周接触到Cocos2D开发,在它的官网上看到Ray Wenderlic写的关于cocos2d开发的文章,感觉写的挺好,翻译了一下.  原文链接地址大家可以在上面看到作者的更多内容 初次翻译文章,望 ...

  8. DDR从channel/rank/chip/bank/row/col/cell,DDR/GDDR/HBM

    DDR/GDDR/HBM请参考文献 1.ddr的层级结构 一个soc或者PC上的ddr都是有很多颗ddr single chip组成的.这么多颗ddr又组成了不同的层级.这些层级从大到小分为: cha ...

  9. java怎么绘制魔方外观,AI简单绘制立体魔方教程

    这篇教程是向脚本之家的朋友分享AI简单绘制立体魔方的方法,教程制作出来的效果很不错,很值得大家学习,推荐过来,大家快快快来学习吧! 1 用Illustrator先画一个正方形和两个平行四边形,拼合成一 ...

最新文章

  1. Javascript原型链
  2. 【推荐】MySQL Cluster报错及解决方法(不断更新中)
  3. 7.QML Qt Quick——基于Qt Quick Controls 2实现图片浏览器
  4. STM32程序进入HardFault_Handler
  5. Runtime's DiskExplorer手工填写分区表
  6. CentOS7安装redis并配置外网可访问(局域网可参考)
  7. 开放下载!2021 解锁 Serverless 从入门到实战大“橙”就
  8. [大数据之Sqoop] —— 什么是Sqoop?
  9. 电压比较器的原理与应用
  10. 西安电子科技大学出版社 线性代数 参考答案 刘三阳
  11. 红外测距GY20A21
  12. UA STAT687 线性模型II 最小二乘理论1 普通最小二乘法
  13. Win10如何关闭win11自动更新?
  14. 【Unity2D入门教程氵篇】简单制作一个弹珠游戏之制作场景④(设置不可破坏砖块,发布游戏设置)
  15. ubuntu8.04安装配置,现有问题集合,及解决方法
  16. vue使用高德地图小demo(标记点,画线,3D,叠加图片图层)
  17. python123测验答案-python123国二选择题
  18. WWDC————苹果全球开发者大会
  19. Linux常用命令介绍(20个)——《鸟哥的Linux的私房菜》
  20. PTA 7-209 sdut-C语言实验-数位数

热门文章

  1. Unity接IronSource聚合广告sdk 报错 65535
  2. matplotlib切换主题风格
  3. 基于multisim的fm调制解调_基于multisim的fm调频与鉴频电路设计与仿真
  4. 2019-10-5 NOIP模拟赛多校联考——Round7 题解
  5. MPU6050的使用
  6. 翻译QSetting的用法
  7. telerik控件,telerik使用
  8. 图像融合论文及代码网址整理总结(3)——题目中未加区分的图像融合算法
  9. 应用系统中的报表开发成本知多少?
  10. USB充电规范 1.2 中文详解