打印

Altium Designer 中 DDRII SDRAM 的等长布线

[复制链接]
20374|71
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
viatuzi|  楼主 | 2011-1-24 23:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 viatuzi 于 2011-1-25 00:00 编辑

如图所示,以ARM,DSP等SOC为核心的电子系统中,经常存在两片或者以上的DDR/DDRII SDRAM。考虑到DDR/DDRII SDRAM的运行频率一般都比较高,在做PCB layout的时候需要等长布线来保证DDR/DDRII SDRAM的读写时序。对于包含两片及以上DDR/DDRII SDRAM的系统,这里要求的等长布线有两层含义。拿ADDRESS信号来讲,第一层含义要求从SOC的某一个ADDRESS的pad到每一块儿DDR/DDRII SDRAM对应的pad之间的长度要相等(A+B = A+C),第二层含义要求SOC的所有ADDRESS的pad到对应DDR/DDRII SDRAM的pad之间的长度要相等(所有的A+B = 所有的A+C)。
但在Altium Designer中,SOC的某一ADDRESS pad与对应DDR/DDRII SDRAM的pad之间的网络定义是唯一的(也就是A,B,C拥有同样的网络名称),网络的长度定义为(A+B+C),无法准确知道A,B和C的长度。那如何在Altium Designer中实现DDR/DDRII SDRAM的等长布线呢?
下面以一个项目中DRAM_A0 ~ A3四根信号线的等长设计为例,介绍在Altium Designer中实现DDRII SDRAM的等长布线。U23为CPU,U7和U8为两片DDRII SDRAM。DRAM_A0 ~ A3为低四位地址信号。

ddr_dengchang1.png (6.21 KB )

ddr_dengchang1.png

相关帖子

沙发
viatuzi|  楼主 | 2011-1-24 23:46 | 只看该作者
下面以一个项目中DRAM_A0 ~ A3四根信号线的等长设计为例,介绍在Altium Designer中实现DDRII SDRAM的等长布线。U23为CPU,U7和U8为两片DDRII SDRAM。DRAM_A0 ~ A3为低四位地址信号。

ddr_dengchang2.png (153.02 KB )

ddr_dengchang2.png

使用特权

评论回复
板凳
viatuzi|  楼主 | 2011-1-24 23:46 | 只看该作者
一,在From-To Editor中定义DRAM_A0 ~ A3的From To。
在From-To Editor中,选择DRAM_A0,则可以看到DRAM_A0这个网络上有三个节点。分别是U23-N12, U7-8和U8-8。在节点列表里选中U23-N12和U7-M8,然后点击按钮 Add From To DRAM_A0(U7-M8:U23-N12),生成DRAM_A0的第一个From-To。然后按同样的方法生成第二个From To,U23-N12和U8-M8。(如面两个图所示)
后面就按照同样的步骤,依次生成DRAM_A1~A3的From To。

ddr_dengchang3.png (374.07 KB )

ddr_dengchang3.png

使用特权

评论回复
地板
viatuzi|  楼主 | 2011-1-24 23:47 | 只看该作者
一,添加From To类DRAM_ADD
在From To Classes中,添加一个新的名字为DRAM_ADD的类,然后将DRAM_A0 ~ A3所有的From To都添加到这个类里。如下图所示:

ddr_dengchang4.png (245.73 KB )

ddr_dengchang4.png

使用特权

评论回复
5
viatuzi|  楼主 | 2011-1-24 23:47 | 只看该作者
三,找出最长的走线,作为等长布线的基准线。
首先列出DRAM_A0 ~ A3各net的长度和所有From To的长度。找到最长的From To的长度 - 1944mil(为了方便计算,取整数),以及对应的net - DRAM_A0 - 的长度2263mil和另外一个From To的长度 1587mil。最后根据这三个长度确定出ADDRESS net的等长布线的基准。
L = 2263 + (1944 - 1587) = 2620 mil。

ddr_dengchang5.png (157.65 KB )

ddr_dengchang5.png

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
aa52wh + 1 我很赞同
6
viatuzi|  楼主 | 2011-1-24 23:48 | 只看该作者
本帖最后由 viatuzi 于 2011-1-24 23:52 编辑

四,使用网络等长调节命令,在DRAM_A0的U8-M8 到U23-N12的From To(两个From To的较短者)上,调整DRAM_A0的net长度为2620mil

ddr_dengchang10.png (38.04 KB )

ddr_dengchang10.png

使用特权

评论回复
7
aa52wh| | 2011-1-24 23:52 | 只看该作者
猛,厉害

使用特权

评论回复
8
viatuzi|  楼主 | 2011-1-24 23:52 | 只看该作者
本帖最后由 viatuzi 于 2011-1-24 23:54 编辑

五,DRAM_A1 ~ A3 的net长度调整
DRAM_A1的两个From To的长度分别是1840mil和1689mil,net长度为2255mil。首先在DRAM_A1的公共部分(A)上,调整net长度为2359mil(2255 + 1944 – 1840)。 然后在较短的From To(1689mil)上,调整net长度为2510mil {[1944 -(1944 – 1840 + 1689)] + 2359  }
按照同样的方法完成DRAM_A2 ~ A3的长度调整。

ddr_dengchang6.png (245.77 KB )

ddr_dengchang6.png

ddr_dengchang7.png (251.45 KB )

ddr_dengchang7.png

使用特权

评论回复
9
viatuzi|  楼主 | 2011-1-24 23:53 | 只看该作者
六:最后结果
每个From To的长度都约等于1944mil,实现了等长布线。(略微存在的差异是由于取整实际的走线长度造成的)

ddr_dengchang9.png (133.13 KB )

ddr_dengchang9.png

使用特权

评论回复
10
viatuzi|  楼主 | 2011-1-24 23:55 | 只看该作者
七,DRC 规则设定
针对前面定义的DRAM_ADD class,做DRC参数设定,主要是布线长度。
到此等长布线即宣告完成。

使用特权

评论回复
11
viatuzi|  楼主 | 2011-1-25 00:02 | 只看该作者
在同一楼发多个图片真是够郁闷的,为了方便,分开发了。

使用特权

评论回复
12
batsong| | 2011-1-25 09:30 | 只看该作者
很犀利,楼主再贴一张地址线画完的效果图啊

使用特权

评论回复
13
yinyehua| | 2011-1-25 10:01 | 只看该作者
呵呵,不错!

使用特权

评论回复
14
beckhamtao| | 2011-1-25 14:28 | 只看该作者
真不错

使用特权

评论回复
15
yalingcat| | 2011-1-25 14:38 | 只看该作者
不错啊

使用特权

评论回复
16
jancey| | 2011-1-25 14:55 | 只看该作者
学习啦,altium designer功能很强大啊

使用特权

评论回复
17
dwjan| | 2011-1-25 20:32 | 只看该作者
mark

使用特权

评论回复
18
yfei_tech| | 2011-1-25 20:52 | 只看该作者
直角走线不好吧

使用特权

评论回复
19
jdylyn| | 2011-1-25 20:53 | 只看该作者
高!

使用特权

评论回复
20
viatuzi|  楼主 | 2011-1-25 21:06 | 只看该作者
18# yfei_tech
这里只是给出示例而已,所以采用了altium designer默认的模式。具体调整走线长度的时候,采用什么走线模式根据需要选择就可以了。
不过这个默认的默认的模式也不是完全的直角,在DDRII 800MHz的频率上,也是没有任何问题的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

374

帖子

7

粉丝