1 点到点绕线
点到点绕线如图8-1所示,可以在类别中调用长度表格进行参照,一条一条绕到目标长度即可。


若主干道上串联有电阻,可在原理图中将电阻两端短接起来,更新到PCB中,这样可以让串阻两端的网络相同,再按照点到点方法进行绕线即可。

含有串阻的单端建议都采用这种方法,简单、方便、快速。但是值得注意的是,在原理图中处理的时候要备份原始版本,处理完等长之后再拿原始版本的原理图进行比对更新回来。
2 菊花链结构
在PCB设计中,信号走线由U1出发途经U2,再由U2到达U3的信号结构称为菊花链结构,如图8-2所示。在这种连接方法中,不会形成网状的拓扑结构,只有相邻的元件之间才能直接通信。
(1)在右上角执行图标命令,进入系统参数设置窗口,找到“PCB Editor-General”选项卡,勾选“保护锁定的对象”选项,如图8-3所示。


(2)找到菊花链中连接的节点(常见为过孔),进行锁定操作。
(3)复制3个版本的PCB,如图8-4所示,利用网络的Mask工具过滤出菊花链的某个网络类,绕线前端时,可以框选后端走线进行删除,这样就转换为点到点绕线,然后在另外一个备份PCB中反向操作,最后综合到完成版本上即可。

3 T形结构
如图8-5所示,星形网络型结构常被称为T形结构。DDR2相比之前的DDR规范没有延时补偿技术,因此时钟线与数据线的时序裕量相对比较紧张。为了不使每片DDR芯片的时钟线与数据线的长度误差太大,一般采用T形拓扑,T形拓扑的分支也应尽量短、长度相等。

4 T形结构分支等长法
这种方法可以类似于菊花链操作方法,主要是利用节点和多版本的操作,把等长转换为点对点等长法,实现L+L'=L+L"=L1+L1'=L2+L2',即CPU焊盘到每一片DDR焊盘的走线长度等长,如图8-6所示。

5 xSignals等长法
xSignals功能可显著提高设计效率。利用xSignal向导即可自动进行高速设计的长度匹配,它可以自动分析T形分支、元件、信号对和信号组数据,大大减少了高速设计配置时的时间消耗。
1.手工法创建xSignals
(1)在PCB设计交互界面的右下角执行命令“Panels-PCB”,选择“xSignals”,打开“xSignals”面板栏,如图8-7所示,在这里有默认的“All xSignals”,可以在这里单击创建xSignal类,在“All xSignals”上单击鼠标右键,执行“添加类”命令,添加一个以“DDR_ADD”为例的xSignal类。
(2)执行菜单命令“设计-xSignal-创建xSignals”,如图8-8所示,进入xSignals添加匹配界面,如图10-131所示。


① 在图8-9中上方两个箭头处输入第一匹配的元件位号和第二匹配的元件位号,这里输入“U7”和“U14”,即CPU和第一片DDR。
② Net Class:如果之前创建了网络类,可以通过这里滤除一些网络,从而精准地筛选出需要添加到xSignals中的网络。
③ Include created xSignals into class:把这些适配的网络添加到刚创建的xSignal类中。
(3)单击“分析”按钮,系统即可自动分析出哪些网络需要添加到xSignals中,单击“确定”按钮,完成添加,如图8-10所示。


2.向导法创建xSignals

如果存在很多xSignals需要创建,可以通过xSignal向导,并利用元件与元件的关联性进行创建。
(1)执行菜单命令“设计-xSignal-运行xSignal向导”,打开xSignal向导,如图8-11所示,根据向导单击“Next”按钮。
(2)进入如图8-12所示的“Select the Circuit”界面,选择创建xSignals的应用单元,此处提供3种选择。
① On-Board DDR3/DDR4:有DDR3或者DDR4类型的板子。
② USB 3.0:含有USB 3.0的板卡。
③ Custom Multi-Component Interconnect:自定义选择类型。

因为方法类似,这里以DDR3/4的板卡类型为例进行说明。
数据总线宽度(# of Data Lines in each Byte-Lane):选择数据位类型,一般是8位或者16位,具体根据DDR来进行选择。
Address/Cmd/Ctrl匹配长度的公差:填写地址线/控制线的匹配误差,DDR 一般填写100mil,具体请详细参考DDR的规格要求。
数据字节通道匹配长度公差:填写数据线之间的误差,DDR 一般填写50mil,具体请详细参考DDR的规格要求。
差分对中的时钟长度公差:填写差分对中时钟线的误差,DDR 一般填写50mil,具体请详细参考DDR的规格要求。
(3)单击图8-12中的“Next”按钮,进入如图8-13所示的界面,通过元件过滤功能,选择需要创建的第一个元件“U7”,即主控CPU,然后选择预知关联的第一片DDR“U14”,这之后单击“Next”按钮。
(4)进入如图8-14所示的界面,根据需要设置相关参数。
① T-Branch Topology处:选择拓扑结构。
② 定义xSignal类名称的语法结构:自定义创建的xSignal类的名称和后缀。
③ 澄清现有的网络名称:选择地址线、控制线、时钟线总线的适配。
单击“Analyze Syntax & Create xSignal Classes”按钮,创建xSignal类,然后单击“Next”按钮。


(5)进入如图8-15所示的界面,类比于地址线的适配方法,设置好数据线适配的参数。单击“Finish”按钮,完成U7—U14的xSignals的创建。
(6)在PCB设计交互界面的右下角执行命令“Panels-PCB”,选择“xSignals”,可以看到系统自动创建了3组xSignal类,单击其中的某一类,对其进行等长绕线,直到里面没有红色的标记为止,如图8-16所示。


(7)依据前述方法,可以再创建CPU到另外一片DDR的xSignal类,分别进行等长。
3.在元件之间创建xSignals
如果有大量的xSignals需要定义,那么使用“在元件之间创建xSignal”命令可以快速对两个元件创建xSignals进行等长。
(1)在PCB设计交互界面的右下角执行命令“Panels-PCB”,选择“xSignals”,打开“xSignals”面板栏,如图8-17所示,在这里有默认的“All xSignals”,可以在这里单击创建xSignal类,在“All xSignals”上单击鼠标右键,执行“添加类”命令,添加一个以“DDR_ADD”为例的xSignal类。
(2)在PCB设计交互界面中选中需要创建xSignals的元件,执行菜单命令“设计-xSignal-在元件之间创建xSignal”,如图8-18所示,随后弹出“在器件之间创建xSignals”对话框,进入xSignals添加匹配界面,如图8-19所示。


① 在图8-19中上方两个箭头所在的列表框中软件会自动匹配PCB中选中的元件,这里选择“U2”和“U1”,即CPU和第一片DDR。
② Net Class:如果之前创建了网络类,可以通过这里滤除一些网络,从而精准地筛选出需要添加到xSignals中的网络。
③ Include created xSignals into class:把这些适配的网络添加到刚创建的xSignal类中。
(3)单击“分析”按钮,系统即可自动分析出哪些网络需要添加到xSignals中,单击“确定”按钮,完成添加,如图8-20所示。


4.以连接的网络创建xSignals
如果要创建包含串联端接元件的xSignals,那么可以使用“以连接的网络创建xSignal”命令。此命令旨在从选中的串联端接元件(如电阻或电容)向外创建xSignals。它同时支持一个或多个分立元件和一个或多个多实例封装式组件(multi-instance pack-style components),如电阻网络。
(1)在PCB设计交互界面中选中需要创建xSignals的元件,执行菜单命令“设计-xSignal-以连接的网络创建xSignal”,如图8-21所示,随后弹出“从连接网络创建xSignals”对话框,进入xSignals添加匹配界面,如图8-22所示。


① Source Component:此处会自动匹配PCB中选中的元件。
② Source Component Nets:此处会自动匹配PCB中选中元件的网络。
③ Include created xSignals into class:把这些适配的网络添加到创建的xSignal类中;如果没有提前创建xSignal类,可以在此处自定义xSignal类名称。
(2)单击“分析”按钮,系统即可自动分析出哪些网络需要添加到xSignals中,单击“确定”按钮,完成添加,如图8-23所示。


此功能类似于Cadence Allegro中的Xnet功能,可以将电阻或者电容两端不同的网络创建成xSignals后看成一个网络进行等长。建议采用这种方法,简单、方便、快速。

扫码关注














































