PCB论坛网

 找回密码
 注册
查看: 5096|回复: 20

如何使用AD实现DDRII信号等长拓扑布线

  [复制链接]
发表于 2011-8-9 14:51:35 | 显示全部楼层 |阅读模式
  

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

  


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复

使用道具 举报

 楼主| 发表于 2011-8-9 14:51:52 | 显示全部楼层
下面以一个项目中DRAM_A0 ~ A3四根信号线的等长设计为例,介绍在Altium Designer中实现DDRII SDRAM的等长布线。U23为CPU,U7和U8为两片DDRII SDRAM。DRAM_A0 ~ A3为低四位地址信号。

一,在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。

一,添加From To类DRAM_ADD
在From To Classes中,添加一个新的名字为DRAM_ADD的类,然后将DRAM_A0 ~ A3所有的From To都添加到这个类里。如下图所示:

三,找出最长的走线,作为等长布线的基准线。
首先列出DRAM_A0 ~ A3各net的长度和所有From To的长度。找到最长的From To的长度 - 1944mil(为了方便计算,取整数),以及对应的net - DRAM_A0 - 的长度2263mil和另外一个From To的长度 1587mil。最后根据这三个长度确定出ADDRESS net的等长布线的基准。
L = 2263 + (1944 - 1587) = 2620 mil。

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

五,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的长度调整。


六:最后结果
每个From To的长度都约等于1944mil,实现了等长布线。(略微存在的差异是由于取整实际的走线长度造成的)

七,DRC 规则设定
针对前面定义的DRAM_ADD class,做DRC参数设定,主要是布线长度。
到此等长布线即宣告完成。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-10-24 15:47:13 | 显示全部楼层
自己顶,对于从事高速PCB布线的工程师是一个很好的建议。
回复 支持 反对

使用道具 举报

发表于 2011-10-25 23:40:21 | 显示全部楼层
不错的教程. 学习了
回复 支持 反对

使用道具 举报

发表于 2011-10-26 12:02:43 | 显示全部楼层
果然是高手。真的没想到可以from to 。
还没看懂,先顶然后试试。
回复 支持 反对

使用道具 举报

发表于 2011-10-26 14:41:08 | 显示全部楼层
验证过,2片是没问题的。
但我拿了一个8片ddr的图验证,发现4片或者8片软件计算的长度就乱套了。
麻烦楼主共同研究试试。

点评

Hi Pkkongjiayuan, 近来,我关注到一个涉及T-Nets布线的方法,这有助于解决你遇到的两个以上器件网络等长的问题,你可以下载附件试试看。希望对你有所帮助。 HighSpeed (09.03.2011 16-57-48 ...  详情 回复 发表于 2011-11-11 11:58
回复 支持 反对

使用道具 举报

发表于 2011-10-26 14:52:55 | 显示全部楼层
楼主请看,左边的A1网络,一共有8片ram的节点。在from to里面,建了几个cpu到ram的分段。
其长度乱成套了。总长度才6771mil,但是
分段居然可以到1w多。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
回复 支持 反对

使用道具 举报

发表于 2011-10-26 15:37:56 | 显示全部楼层
试用证明,就是2片ram也会有问题。
楼主不妨试试,你的图2,当第一个分支点分开以后,如果到两片ram的线是在不同层,那长度就乱套了 。
回复 支持 反对

使用道具 举报

发表于 2011-10-26 20:17:34 | 显示全部楼层
这个不错,支持一下,
回复 支持 反对

使用道具 举报

发表于 2011-10-27 08:54:37 | 显示全部楼层
原来AD有这么功大的工具,对于从事高速PCB布线的工程师是一个很好的建议。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|手机版|PCB设计论坛|EDA论坛|PCB论坛网 ( 沪ICP备05006956号-1 )

GMT+8, 2024-5-19 00:58 , Processed in 0.140349 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表