0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解DDR布线最简规则与过程

m3eY_edn_china 来源:未知 作者:佚名 2018-03-12 08:36 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

多年前,无线时代(Beamsky)发布了一篇文章关于DDR布线指导的一篇文章,当时在网络上很受欢迎,有很多同行参与了转载。如今看来,那篇文章写得不够好,逻辑性不强,可操作性也不强。

在近几年的硬件产品开发中,本人总结出了一套DDR布线方法,具有高度的可行性,于是本人再次编写一份这样的文章,除了讲述DDR布线规则,还想讲述一下布线过程,采用本人的布线过程可以少走很多弯路。本文即将讲到的所有方法,无线时代(Beamsky)都经过实际检验。

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

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

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

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

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

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

第二步,元器件摆放

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

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

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

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

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

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

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

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

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

以下是DDR3元器件摆放示意图,请注意,这里使用的CPU支持双通道DDR3,所以看到有四片(参考设计是8片)DDR3,其实是每两个组成一个通道,地址线沿着图中绿色的走线传递,实现了菊花链拓补。

地址线上的VTT端接电阻摆放在了地址线可以到达的最远的地方。同样地,数据线上的端接电阻也放置在了靠近DDR3芯片的位置,数据线到达CPU的距离很短。同时,可以看到,去耦电容放置在了很靠近DDR3相应电源引脚的地方。

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

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

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

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

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

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

第四步,设置线宽与线距

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

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

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

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

第五步,走线

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

所有走线尽量短

走线不能有锐角

尽量少打过孔

保证所有走线有完整的参考面,地平面或这电源平面都可以,对于交变信号,地与电源平面是等电位的

尽量避免过孔将参考面打破,不过这在实际中很难做到

走完地址线和数据后,务必将DDR芯片的电源脚,接地脚,去耦电容的电源脚,接地脚全部走完,否则在后面绕等长时会很麻烦的

下图是完成的DDR走线,但尚未绕等长:

第六步,设置等长规则

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

DDR2数据线等长规则举例

DDR3数据线等长规则举例

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

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

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

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

第七步,绕等长

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

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

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11221

    浏览量

    222990
  • DDR
    DDR
    +关注

    关注

    11

    文章

    747

    浏览量

    68551
  • 去耦电容
    +关注

    关注

    12

    文章

    325

    浏览量

    23483

原文标题:DDR布线最简规则与过程,很全很专业!

文章出处:【微信号:edn-china,微信公众号:EDN电子技术设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    DDR training的产生原因

    信号完整性(Signal Integrity, SI)问题:随着DDR内存频率的提高,信号完整性问题变得更加突出。高速信号在传输过程中会受到各种因素的影响,如反射、串扰、噪声干扰等,这些问题会导致
    的头像 发表于 11-17 10:25 3166次阅读
    <b class='flag-5'>DDR</b> training的产生原因

    芯片制造过程中的布线技术

    从铝到铜,再到钌与铑,半导体布线技术的每一次革新,都是芯片性能跃升的关键引擎。随着制程进入2nm时代,传统铜布线正面临电阻与可靠性的极限挑战,而镶嵌(大马士革)工艺的持续演进与新材料的融合,为超高
    的头像 发表于 10-29 14:27 389次阅读
    芯片制造<b class='flag-5'>过程</b>中的<b class='flag-5'>布线</b>技术

    基于FPGA的DDR控制器设计

    此时的IP核命令接收处于准备好状态,可以接收用户命令,在当前时钟拉高app_en,同时发送命令(app_cmd)和地址(app_addr),此时命令和地址被写入。 在DDR3的写数据过程中,在完成写
    发表于 10-21 14:30

    基于DDR200T开发板的e203进行DDR3扩展

    ,本队将clock period设置为400MHZ,使得DDR引出的clk时钟为100MHZ,通过该时钟分频出E203所需要的时钟频率(基于多次测试,本队将E203的时钟频率设置为20MHZ)。 DDR工程的布局布线 扩展完后
    发表于 10-21 12:43

    FPGA搭建DDR控制模块

    接收处于准备好状态,可以接收用户命令,在当前时钟拉高app_en,同时发送命令(app_cmd)和地址(app_addr),此时命令和地址被写入。 在DDR3的写数据过程中,在完成写命令之后需要进行
    发表于 10-21 10:40

    用FPGA实现DDR控制模块介绍

    的IP核命令接收处于准备好状态,可以接收用户命令,在当前时钟拉高app_en,同时发送命令(app_cmd)和地址(app_addr),此时命令和地址被写入。 在DDR3的写数据过程中,在完成写命令
    发表于 10-21 08:43

    DDR器件管脚说明

    DDR是硬件设计的重要一环,作为一名硬件工程师除了对DDR基础和原理要有了解外,最重要的也就是对DDR控制器的掌握。本文章从DDR外部管脚的角度进行描述,学习
    的头像 发表于 10-10 09:15 1799次阅读
    <b class='flag-5'>DDR</b>器件管脚说明

    KiCad 中的自定义规则(KiCon 演讲)

    设计规则 展开,重点探讨了 那些复杂却强大的特性。 由于这些规则本质上是基于文本表达的,需要用户细致入微的理解。演讲的 核心目标 是引导用户有效实施这些规则,从而 规避布线问题、提升制
    的头像 发表于 06-16 11:17 1489次阅读
    KiCad 中的自定义<b class='flag-5'>规则</b>(KiCon 演讲)

    超强超全布线经验教程大全

    第一篇 PCB布线 在PCB设计中,布线是完成产品设计的重要步骤,可以说前面的准备工作都是为它而做的, 在整个PCB中,以布 线的设计过程限定最高,技巧最细、工作量最大。PCB布线有单
    发表于 05-29 14:38

    高速PCB布局/布线的原则

    目录:一、布线的一般原则1、PCB板知识2、5-5原则3、20H原则4、3W/4W/10W原则(W:Width)5、重叠电源与地线层规则6、1/4波长规则7、芯片引脚布线二、信号走线下
    的头像 发表于 05-28 19:34 1909次阅读
    高速PCB布局/<b class='flag-5'>布线</b>的原则

    时源芯微 PCB 布线规则详解

    PCB 布线规则详解 走线方向控制规则 相邻布线层的走线方向应采用正交结构,避免不同信号线在相邻层沿同一方向走线,以此降低不必要的层间串扰。若因 PCB 板结构限制(例如部分背板)难以
    的头像 发表于 05-20 16:28 679次阅读

    DDR模块的PCB设计要点

    在高速PCB设计中,DDR模块是绝对绕不过去的一关。无论你用的是DDRDDR2还是DDR3,只要设计不规范,后果就是——信号反射、时序混乱、系统频繁死机。
    的头像 发表于 04-29 13:51 2268次阅读
    <b class='flag-5'>DDR</b>模块的PCB设计要点

    Altium Designer中PCB设计规则设置

    在使用 Altium Designer 进行PCB设计时,除了电气间距(Clearance)等基础规则外, 导线宽度、阻焊层、内电层连接、铜皮敷设等规则也同样重要 。这些设置不仅影响布线效率,还决定了成品板的可制造性与可靠性。
    的头像 发表于 04-17 13:54 7096次阅读
    Altium Designer中PCB设计<b class='flag-5'>规则</b>设置

    DDR3 SDRAM配置教程

    DDR3 SDRAM(Double-Data-Rate ThreeSynchronous Dynamic Random Access Memory)是DDR SDRAM的第三代产品,相较于DDR2,
    的头像 发表于 04-10 09:42 3783次阅读
    <b class='flag-5'>DDR</b>3 SDRAM配置教程

    DDR内存控制器的架构解析

    DDR内存控制器是一个高度集成的组件,支持多种DDR内存类型(DDR2、DDR3、DDR3L、LPDDR2),并通过精心设计的架构来优化内存
    的头像 发表于 03-05 13:47 3288次阅读
    <b class='flag-5'>DDR</b>内存控制器的架构解析