cadence PCB布线仿真资料 下载本文

(7)相对或匹配群组(Match group)

匹配群组也是网络、扩展网络和管脚对的集合,但集合内的每个成员都要匹配或者相对于匹配于组内的一个明确目标,且只能在【relative propagation delay】工作表定义匹配群组,共涉及了三个参数,目标,相对值和偏差。如果相对值没有定义,匹配群组内的所有成员将是绝对的,并允许一定的偏差。如果定义了相对值,那么组内的所有成员将相对于明确的目标网络。

·目标:组内其他管脚对都要参考的管脚对就是目标,目标可以是默认的也可以是明确指定的管教对,其他的管脚对都要与这个目标比较。

·相对值:每个成员与目标的相对差值,如果没有指定差值,那么所有成员就需要匹配,如果此值不为0,群组就是一个相对匹配的群组。 ·偏差:允许匹配的偏差值。 (8) 管脚对(Pin pair)

管脚对代表一对逻辑连接的管脚,一般是驱动和接收。Pin pair 可能不是直接连接的,但是肯定存在于同一个网络或者扩展网络中。

4.2.2 建立差分对

本设计中共有三对差分线信号,分别是DDR内存时钟信号、USB OTG数据信号、USB HOST 数据信号。在约束管理器中选择Objects->Create->Differential Pair,如图4.8所示。

图4.8 建议差分对

弹出Create Differential Pair对话话,如图4.9所示。

图4.9 Create Differential Pair对话框

在左上角的下拉框中选择Net,然后在下面的列表框中找到DDR 内存芯片的两个时钟信号网络分别是XM1SCLK、XM1SCLKN 在列表框中双击这两个网络或者单击选中后点 按钮加到右边的Selections编辑框中。在Diff Pair Name编辑框中输入差分对的名字:DDRCLK,然后点击Create按钮。点击Close关闭对话框。其它的两个差分对用同样的方法建立,这里就不重复了。最后点击左边Eelctrical工作表下的Net->Routing,在右边的工作表中就可以看到设置好的三个差分对。如图4.10所示。

图4.10 设置好的差分对

4.2.3 差分对规则设置

建立好差分对后,还需要建立一个专门于差分对的电气规则。首先点击左边工作表选择区中的Eelctrical工作表下的Eelctrical Constraint Set->Routing->Differential Pair,然后选择菜单Objects->Create->Eelctrical CSet,如图 4.11所示。

图4.11 差分对规则设置

弹出Create Electrical CSet对话框,如图4.12所示。在Electrical CSet编辑框中输入该约束规则的名称:DIFF_FAIR,点击OK关闭对话框。

图4.12 Create Electrical CSet对话框

这时候在右边的工作表内我看看到多了一个DIFF_PAIR约束规则,如图4.13所示。

图4.13 增加的DIFF_PAIR规则

下面给这个差分对约束规则设置参数。差分对约束规则参数主要有以下几个: ·Uncoupled Length:差分对网络中的不匹配的长度。即不能按差分对走线的总长度。

·Min Line Spacing:最小的线间距。

·Primary Gap:差分对最优先选择的线间距(边到边间距)。 ·Primary Width:差分对最优先选择的线宽。

·Neck Gap:差分对在Neck模式下的线间距(边到边间距),用于在布线密集区域内切换到Neck模式,这时差分走线的线间距由Primary Gap设定的值切换到该值。 ·Neck Width:差分对在Neck模式下的线宽,用于在布线密集区域内切换到Neck模式,这时差分走线的线宽由Primary Width设定的值切换到该值。 最后设置的差分线规则约束参数如图4.14所示。

图4.14 设置好的差分线约束参数

由于布线密度大走线空间有线,所以差分线的间距采用1W原则(线边到线边),如果空间允许,可采用3W原则。分别设置了Primary 模式和Neck模式下的线宽和线间距为(5mil,5mil),(3.15mil,3.15mil)。Neck模式主要用于从CPU芯片扇出时候的线宽线间距。

设置好差分线约束规则后,将该约束规则应用到刚才建立的两个差分信号上,点击左边工作表选择区中的Eelctrical工作表下的Net->Routing在右边的工作表中找到刚才建立的三个差分对,在Referenced Electricl CSet列中选择刚设置好的差分对约束规则DIFF_PAIR,如图4.15所示。

图4.15 将差分对约束规则应用到差分对上

4.2.4 CPU与DDR内存芯片走线约束规则

CPU与DDR内存之间的信号速度都很高,对信号完整性要求很高,需要对时序严格的匹配,以满足信号波形的完整性。布线要求如下:

(1)DDR时钟线,要求差分布线,并要求精确控制差分对的走线等长误差,控制在20mil以内。由于DDR内存使用两片,所以时钟线走线要采用T形或者Y形拓扑结构。阻抗控制在100Ω,长度比地址线长。

(2)DDR数据线,CPU的数据总线宽度为32位,使用两片16位的DDR内存与之连接,所以然CPU的数据线为分两组,DATA0-DATA15,DQS0、DQS1,DQM0、DQM1 为一组;DATA16-DATA31,DQS2、DQS3,DQM2、DQM3为一组。两组的所有信号线需要严格等长匹配,误差控制在50mil以内。由于布线密度大空间有限,信号间距采用1W 原则(线边到线边),如果空间足够应选择3W原则,DDR数据线与其它的信号线必需要足够的间距,至少要保证3W的间距。阻抗控制在60Ω以内。

(3)DDR地址线与其它控制线,DDR地址线与其它控制线为一组,需严格等长匹配,误差控制在100mil以内,走线长度比DDR 数据线长。采用T形或者Y形拓扑结构。 以上约束需要从电气、线宽和间距上分别设置不同的规则,现先讲Electrical工作表下的规则设置。点击左边工作表选择区中的Eelctrical工作表下的Eelctrical Constraint Set->Routing工作表,选择菜单Objects->Create->Eelctrical CSet 建立两个规则(名称分别为DDR_DQ,DDR_ADDR),过程参考4.2.3小节,建立好的规则如图4.16所示。

图4.16 建立DDR约束规则

参数不需要设置。然后点击左边工作表选择区中的Eelctrical 工作表下的Eelctrical Constraint Set->Routing->Relative Propagation工作表,鼠标放在右边刚才建立的两个规则(DDR_DQ,DDR_ADDR)上,点击右键,在弹出的菜单中选择Create->Match Group,如图4.17所示。

图4.17 建立DDR等长匹配规则

在弹出的Create Electrical CSet Match Group对话框中输入名称MATCH_LENTH,如图4.18 所示。点击OK关闭对话框。

图4.18 Create Electrical CSet Match Group对话框

在Pin Pairs列的下拉框中选择Longest Pin Pair,Scope列选择Class,Delta:Tolerance列中先点击下面的按钮,选择单位为mil,然后在编辑框中输入:0mil:100mil(0mil:50mil)。最后如图4.19所示。注意,只有在Relative Propagation工作表下才能建立这个规则。

图4.19 DDR 等长匹配群组参数

接下来设置等数据线与地址线的等长匹配。先建立两个名称分别为DDR_DATA,DDR_ADDR的Net Class。点击左边工作表选择区中的Eelctrical 工作表下的Net->Routing->Relative Propagation工作表。在右边的工作表区中同时选中网络XM1DATA0-XM1DATA31,XM1DQM0-XM1DQM2,XM1DQS0-XM1DQS2(选中后会这些网络名会反色显示),点击鼠标右键,弹出一个菜单项,选择Create->Net Class。如图4.20所示。

图4.20 建立DDR_DATA Net Class

弹出Create Net Class对话框,如图4.21所示。输入名称DDR_DATA,点击OK关闭对话框。

图4.21 Create Net Class对话框

建立DDR_ADDR的过程也一样,同时选中网络XM1ADDR0-XM1ADDR15,XM1CASN、XM1CKE0、XM1CSN0、XM1RASN、XM1WEN 后右键Create->Net Class。其它就不重复了。 然后将上一步建立的两个电气规则DDR_DQ,DDR_ADDR分别应用到DDR_DATA,DDR_ADDR两个Net Class上。在右边的工作表区内,分别点击DDR_DATA,DDR_ADDR NCls 的Referenced Electrical CSet 编辑框,分别选择DDR_DQ,DDR_ADDR。这时候,约束管理器自动建立了两个Mach Group(MATCH_LENTH_DDR_ADDR,MATCH_LENTH_DDR_DATA),如图 4.22所示。

图4.22 等长匹配