如何在Altium Designer中实现两片DDR等长走线

2019-07-14 10:08发布

如图所示,以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为低四位地址信号。

           下面以一个项目中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 ~ A3net的长度和所有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,实现了等长布线。(略微存在的差异是由于取整实际的走线长度造成的)
 

转自http://blog.csdn.net/enjoymylinux