|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
Allegro16.6 束规则设置详解
前言: 本文主要讲解 Allegro16.6 束管理器的使用, 从基本
束规则到高级束规则的设置。
目录:
一、基本束规则设置
1、线间距设置
2、线宽设置
3、设置过孔
4、区域约束规则设置
5、设置阻抗
6、设置走线的长度范围
7、设置等长
7.1、不过电阻的 NET 等长
7.2、过电阻的 XNET 等长
7.3、T 型等长
8、设置通用属性
9、差分规则设置
9.1、创建差分对
9.2、设置差分束
10、Pin Delay
QQ:186439171
二、高级束规则设置
11、单个网络长度约束
12、a+b 类长度束
13、a+b-c 类长度束
14、a+b-c 在最大和最小传播延迟中的应用
QQ:186439171
1、线间距设置
(1) 、设置默认间距规则
点击 CM 图标,如下图所示,打开约束管理器。
单击 Spacing,再点击 All Layers,如下图所示。右边有一个
DEF AULT 就是默认规则,我们可以修改其值。
QQ:186439171
按住 Shift 键, 点击第一个和最后一个即可选中所示, 然后输
入一个值,这样就都修改了,如下图所示
(2)、定义特殊的间距束
点选 Default 按鼠标右键,执行 Create-SpacingCSet
QQ:186439171
加入新规则。 取一个有意义点的名字, 如下图所示, 单击 OK。
其值是从默认规则拷贝的,先修改其值。
按住 Shift 键选中所有,输入 12,回车。
然后为所需要设置的网络分配规则
单击左边的 Net-AllLayers, 在右边工作簿中, 为 GND 网络设
置 12MIL_SP ACE 规则,在 Referenced Spacing CSet 下选中
12MIL_SP ACE,如下图所示
QQ:186439171
(3) 、设置 Class-Class 规则
若针 对不同 的 信 号 群组 有不 同 的 间 距规 则 ,则 需 要 设置
Class-Class
选到 Net Class-Class 后,在右边 CLOCK(2)上右键选择 Ctreat-Class-Class...,如下图所示
QQ:186439171
选择 2 个不同的 NetClasses,如下图所示,单击 OK
如下图所示。在右边的 Referenced Spacing CSet 栏可以修改
QQ:186439171
其值。
执行 Analyze-Analysis Modes...,如下图所示
可以看到 Spacing Mode 的检查模式
QQ:186439171
2、线宽设置
(1) 、设置默认束
点选 Physical Constraint Set 即可出现 Default 的 Physical 相关
设定值,如 Line Width、Neckwidth..等
(2) 、设置特殊物理规则
点选 Default 按鼠标右键, 执行 Create PhysicalCSet 加入新规
则
修改其值,如下图所示
QQ:186439171
然后在分配网络,左边点击 Net-All Layers,右边为所需设置
的网络分配规则,如下图所示
QQ:186439171
3、设置过孔
物理规则设置里面有一栏是 Vias,点击即可设置,如下图所
示
点击默认规则的 Vias,如下图所示
Remove 可以移除过孔。在左边的过孔列表中双击即可添加
QQ:186439171
过孔。
同理,可设置其他物理规则的过孔,如下图所示。
QQ:186439171
4、区域约束规则设置
在物理规则下,左边点击 Region,在右边 cds_2 右键并选择
Create-Region...,如下图所示
输入其束值。
QQ:186439171
然后执行 Shape> Polygon/Rectangular/Circular 设定范围,一
般 BGA 比较常用。
类选择为 Constraint Region,子类为 All。
Assign to Region 分配的区域设置为刚才创建的 RGN1.
QQ:186439171
5、设置阻抗
(1) 、通过 Edit Property 方式设置
语法说明:
IMPEDANCE_RULE=A:B:C:D
A:起点 PIN
B:终点 PIN
C:阻抗的数值大小
D:阻抗的误差大小
例如:
(1).IMPEDANCE_RULE=ALL:ALL:50ohm:10ohm
设定走线的阻抗是 50ohm,误差值是正负 10ohm
(2).IMPEDANCE_RULE=U1.1:R1.1:50ohm:20%
设定走线在 U1.1 到 R1.1 之间的阻抗是 50ohm,误差是正负
20%
执行 Edit/Properties,点击一个网络,假设点击 D0 网络
QQ:186439171
在过滤器里面输入 im*,点击 Apply
输入数值 all:all:60:5,
单击 Apply,如下图所示
单击 OK,结束命令。
然后打开检查模式,在 Setup-Constraints-Modes...
如下图所示
QQ:186439171
在弹出的窗口中,将电气模式下的阻抗检查打开,如下图所
示
QQ:186439171
违反规则,就会出现一个 DRC,如下图所示
(2) 、在束管理器中设置
在约束管理器中,点选 Impedance,如下图所示
在 cds_2 上,右键 Create-ElectricalCSet,如下图所示
QQ:186439171
输入名称 60ohm
单击 OK,回到工作簿,设置其值,如下图所示
然后为所需要设置的网络分配规则,如下图所示
QQ:186439171
然后再打开检查模式,如下图所示
QQ:186439171
6、设置走线的长度范围
语法说明:PROP AGA TION_DELAY=A:B:C:D
A:起点 PIN
B:终点 PIN
如果是整条 NET 只有 2 个 PIN 时,在 A 处写入 L,在 B 处写
入 S
C:最小线长
D:最大线长
例如:
PROP AGA TION_DELAY=U1.4:U2.8:1000mil:1500mil
设定 U1.4 到 U2.8 的走线长度为 1000MIL 到 1500MIL 之间
PROP AGA TION_DELAY=L:S:1000mil:1500mil
设定整条 NET 的走线长度为 1000MIL 到 1500MIL 之间
(1) 、通过 Edit Property 设置
执行 Edit /Porperties 命令 , 单 击一 个 网 络, 选择
PROGA TION_DELAY 并输入其数值,如下图所示。
QQ:186439171
然后再开启检查模式,Setup-Constraints-Modes...
(2) 、在束管理器中设置
在 ElectricalConstraintSet 点选 Min/Max Propagation Delays
QQ:186439171
在 cds_2 上右键选择 Create-ElectricalCSet
设定其值
为网络分配约束,如下图所示
QQ:186439171
再打开检查模式,Analyze-Analysis Modes...
将电气规则下的,Propagation delay 检查模式打开。走线模
式时,即可辅助线束走线状态。
(3) 、在原理图中设置
进入 Capture 中的 Property Edit, 选 Cadence-Allegro 及 FlatNet
执行 Edit/Invoke UI 对 PROP AGA TION_DELAY 设定其值
QQ:186439171
输出 Netlist 到 Allegro。进入 Allegro 后即可看到 Properties
再开启检查模式。走线模式时,即可辅助显示走线状态
QQ:186439171
7、设置等长
语法说明: RELA TIVE_PROP AGA TION_DELAY=A: B: C: D: E:
F
A:组名。不用和 BUS_NAME 名相同,在设定 MA TCH_GROUP
时注意这一点。
B:是 GLOBAL,在 B 位写入 G 即可
C:起点 PIN
D:终点 PIN
如果 NET 只有 2 个 PIN 时,C 处写 L,D 处写 S。
E:写入要比参照线(T arget)长或短的数值
F:长度的误差(也可以用百分比表示)
7.1、不过电阻的 NET 等长
打开约束管理器, 选择一组 NET,右键创建 MA TCH_GROUP,
如下图所示。
QQ:186439171
然后设定其值
然后设置一个网络为目标网络,在网络 Delta:T olerance 栏
QQ:186439171
处右键选择 Set as target,如下图所示
再打开检查模式。如下图所示
7.2、过电阻的 XNET 等长
这里关键是设置 XNET。假设有一排过电阻的线需要等长。
QQ:186439171
首先创建电阻模型。单击 Signal Model 图标,如下图所示
点击电阻,如下图所示,单击 RN0603 10
所有这种模型的电阻都高亮了,如下图所示
QQ:186439171
单击 Create Model。。。按钮。默认,单击 OK
QQ:186439171
默认单击 OK。如下图所示。
再单击 OK 结束命令。
假设我们要将
DR_MD49 到 DR_MD53
网络等长。
QQ:186439171
打开约束管理器,选择相对延迟,这里可以看到我们刚才设
置的 XNET。
我们在 DR_MD49 网络上右键创建 PIN P AIR
QQ:186439171
选择 2 个端点,如上图所示, 单击 OK。 同理, 其他需要设置
等长的网络,也创建 PIN P AIR。
然后按住 Ctrl 键选择这些 PIN P AIR,右键创建 MA TCH GROUP
如下图所示
设定束值,及目标网络,方法同不过电阻网络等长设置。
7.3、T 型等长
这里为节约时间,直接引用现成的文档,基于 15.7 版本。
16.6 设置方法类似。
QQ:186439171
T 型等长设置, 比如两个 DDR 之间的等长就属于 T 型等长,
设置方法如下(以 text_drr 举例)。
首先添加 T 型连接点。点击 Logic-NetSchedule,单击你要设
置网络的一个 pin。如下图。
在中间右键 InsertT,加入 T 型连接点,如下图所示
然后去点击第二个 pin,再回到 T 型连接点,然后去点击第
QQ:186439171
三个 pin,右键 done 即可。创建的 T 型连接点如下图所示
这只是创建了一个网络的 T 型连接点,如果需要创建多个,
可点击进入约束管理器设置。在 Net-Routing——Wiring 下面,
刚才设置的网络拓扑便会显示成 UserDefined。如下图所示
QQ:186439171
选中那个网络,右键创建 Creat-ElectricalCSet,如下图
然后将你需要设置 T 型结构的网络选择刚才设置的 ECSet 作
为参考, V erifySchedule 选择 yes 即打开验证,如下图所示。
然后打开检查模式,在约束管理器 Analyze-Analysis Modes
弹出的对话框中,将 Stub length/Net 的检查模式选择为 on
如下如所示。
QQ:186439171
然后选中你设置的网络右键 Analyze, 看看是否通过, 为绿色
pass 即可,如下图所示。
再回到 pcb,打开飞线,看看是否都有了 T 型连接点,如下
图所示。
QQ:186439171
然后在回到约束管理器, 将刚才设置的 T 型结构的网络选中,
右键 Creat-Bus,如下图所示。
QQ:186439171
选中所创建的 Bus,右键 SigXplorer,如下图所示
这里可以看到刚才设置的拓扑结构,单击 Set 菜单下
QQ:186439171
Constraints 子菜单,如下图所示,选择 Rel Prop Delay 面板
创建两个束,注意这里设置的是从 T1 到 U2 和 T1 到 U3,
即 U2 和 U3 之间 T 型等长,约束名称是一样的,范围 Scope
选择 Local,如下图所示
QQ:186439171
设置好之后,单击 Update Cm 图标更新回束管理器,如下
图所示。
再回到约束管理器下 Net-Routing-Relative Propagation Delay
就可以看到刚才设置的束 BUS2_M1 了,如下图所示。
然后再打开检查模式,在 Analyze 下 Analysis Modes, 如下图
QQ:186439171
所示,将 Relative propagation 检查模式设置为 on,如下图
QQ:186439171
8、设置通用属性
若以 NET 常用的 property 为例
#MIN_LINE_WIDTH 最小线宽
#BUS_NAME BUS 名称
#NO_RA T 隐藏鼠线
#FIXED 将器件固定
(1) 、通过 Edit /Porperties 命令设置
执行 Edit /Porperties,点击你要设置属性的网络(右键 T emp
Group 可以选择多个网络) ,在弹出的属性编辑对话框中选择
相应的 Porperties 并设定 V alue 即可
QQ:186439171
(2) 、在束管理器中设置
执行 Edit /Net Porperties 命令,进入约束管理器的 General
Properties 选项,选择栏位并设定其值即可,如下图所示
(3)、BUS_NAME 等属性也可以通过原理图设置好,然后在
Allegro 中导入网表的方式来设置。
QQ:186439171
9、差分规则设置
9.1、创建差分对
(1)、Logic >Assign Differential Pair
执行 Logic >Assign Differential Pair 命令,
QQ:186439171
先给一个差分名称,并将两条线的 Net name 加进来完成设
定。
也可以用动产生方法产生。
QQ:186439171
使用 Auto Differential pair generator 自动产生配对线
Ex: usb1n 、usb1p 两条线,将对线的+/-字元分别填写至
+ polarity 与 - polarity 属性中,如下图所示。
点选 Generate,产生差分对,结果如下:
QQ:186439171
(2) 、在束管理器中创建
打开约束管理器,定位到 Differential Pair 下,如下图所示
执行 Objects-Ctreat-Differential Pair ...命令
QQ:186439171
点击 Auto Setup...可动设置。
也可手动设置,在左边选择网络,双击出现在右边已选择的
网络里,点击 Creat 即可。如下图所示
(3) 、在原理图中创建差分对(T ools/Create Differential Pair),
然后通过导入网表方式即可将其 Diff Pair 设定动导入
QQ:186439171
9.2、设置差分束
还定位到 Differential Pair 下,在右边工作簿中可以设置一
些差分对的常用参数, 比如 Static Phase、 PrimGap、 Prim Width
如下图所示。
QQ:186439171
然后执行 Analyze-Analysis Modes...,打开差分对的检查模式
如下图所示
QQ:186439171
10、Pin Delay
这里引用 16.1 版本的设置文档,16.6 设置方法类似。
A、载入 PIN_DELAY 资料
一、从 OrCAD 零件库建 PIN_DELAY 的资料
(1) 、从零件编辑模式, 针对所有的 Pin 执行 Edit properties,
并选择新增 PIN_DELA Y 的 property
(2)、 将零件的 Pin Delay 资料从 Excel 复制, 并使用 Shift 键
加 Ins 键贴入零件的 PIN_DELAY 的栏位
QQ:186439171
(3) 、使用 PIN_DELA Y 的零件在输出 Netlist 时,要注意
allegro.cfg 内是否加有 PIN_DELA Y=YES.
QQ:186439171
(4)、 载入后, 可由 show Element 点选 PIN, 看到 PIN_DELAY
资料。
二、从 Allegro 中导入 PIN_DELAY 资料
(1)、执行 File-Import-Pin delay 命令
QQ:186439171
(2) 、点选*.csv(档案格式内容范例如下)
(3) 、点选零件选择 Import
(4)、 载入后, 可由 show Element 点选 PIN, 看到 PIN_DELAY
资料
B、PIN_DELAY 资料回编 ORCAD
若是由 allegro import pin_delay 想回编到 ORCAD,可使用
QQ:186439171
OrCAD 的 Back Annotate 功能。
(1)、执行 T ools/BackAnnotate
( 2 ) 、在 执行 前 先 检查 Netlist 内 的 pxlBA.txt 是 否 有
PIN_PIN_DELAY 这项资料
(3)、回转后,即可看到资料载入
QQ:186439171
C、Pin_Delay 在 Constraints 中的应用
(1)、 为了让 Delay 的 Constraints 可以套用 Pin_Delay 的资料,
要先点选 Options/Pin Delay,将此功能打开
QQ:186439171
(2)、Pin_Delay 资料可配合 Delay 及 DiffPair Phase 使用,
也可从 Constraint Manager 看到 Pin Delay 的资料
RELA TIVE_PROP AGA TION_DELA Y
PROP AGA TION_DELA Y
QQ:186439171
Differential Pair
D、Pin_Delay 复用
(1)、 若要将 Pin_Delay 资料带给其他方案相同的零件使用,
可执行 File\Export\Pin Delay
(2)、输出档案如下
QQ:186439171
11、单个网络长度约束
打开 系统自带 的 例子 ,
C:\Cadence\SPB_16.6\doc\cmadvcnstut\examples\start.brd 文
件。
打开约束管理器。 在电气规则 Net 栏下右键并选择 Customize
Worksheet
然后再在 Net 栏右键并选择 Add New Workbook 命令, 如下
图所示。
QQ:186439171
就会生成一个 New Workbook 子栏,如上图所示,双击 New
Workbook,如下图所示
QQ:186439171
然后在 New Workbook 栏上右键并选择 Add Column 命令
如下图所示,单击 Create...按钮
QQ:186439171
如下图所示
取一个名称,这里命名为 MY_CON
Data T ype 设为 Design Units
T reatAs 设置为 T arget/T olerances
QQ:186439171
单击 OK
弹出如下窗口,选择测试方法,选择 EtchLength,然后单击
OK
回到Add Column对话框
QQ:186439171
单击OK
出现一个警告框,不用管它,单击确定。如下图所示
然后设置网络束值,如下图所示
然后在start上右键Analyze,如下图所示
QQ:186439171
通过的就会已绿色线束,不通过的会以红色显示
这样就可以为单个不同的网络设置不同的目标值及误差范
围
QQ:186439171
12、a+b 类长度束
比方说这里要设置 FDBCKLOOP 网络的目标值为 CLK2DIMM
网络和 CLK2PLL 网络长度之 和。 这 个 值是动 态 的 ,如果
CLK2DIMM 或者 CLK2PLL 长度有变化,FDBCKLOOP 网络目标
束值也随着改变。
单击 T ools-Options,如下图所示
保证 Formulas 栏的 2 项是被选中的, 默认选中的。 如下图
所示
QQ:186439171
然后在 FDBCKLOOP 网络的 T arget 栏右键并选择 Formula 命令
会出现一个警告框,勾选 Don'tshow again,单击 OK
出现如下图所示窗口
QQ:186439171
单击 Insert Predicate 会出现一个有很多计算函数的窗口,计
算的方式可以通过这些函数来实现。
单击 Formula Browser 菜单, 可以浏览以前做过的一个计算公
式。 我们在 Set MY-CON Formula forNetFDBCKLOOP 下面的框
框里面填入公式代码。在 Add description(optional)里面填
入描述信息。如下图所示。
QQ:186439171
a+b 代码如下:
当在 PCB 中修改 CLK2DIMM 或者 CLK2PLL 的长度, FDBCKLOOP
目标约束值,就会相应改变,如下图所示。
QQ:186439171
我们这里修改 CLK2PLL 网络, 拖出一段蛇形线,如上图所示。
这样 CLK2PLL 网络长度就变长了, 相应的 FDBCKLOOP 网络的
目标长度也相应的变大了,如下图所示。
QQ:186439171
13、a+b-c 类长度约束
比 方说 要 设置 FDBCKLOOP 网 络目 标 长度 为
CLK2PLL+CLK2DIMM-ADDR<10>的长度。
先在 FDBCKLOOP 网络目标长度这里右键选择 Clear,清除原
来设置,如下图所示。
然后在右键单击 Formula
QQ:186439171
在出现的对话框中, 单击 MultiLine Editor ...按钮, 如下图所示
QQ:186439171
选择 FILE-Load from file,先在文本文件里面编辑好代码,然
后导入进来,如下图所示。
QQ:186439171
单击 File-T ext,查看测试结果,如下图所示
QQ:186439171
回到 MultiLine Editor 对话框,单击保存,并关闭对话框。
这样 FDBCKLOOP 目标长度约束 值 动 修改为
CLK2PLL+CLK2DIMM-ADDR<10>之和
QQ:186439171
QQ:186439171
14、a+b-c 在最大和最小传播延迟中的应用
在电气规则 NET 下选择 Min/Max Propagation Delays, 如下图
所示
在 FDBCKLOOP 网络的 Min Pro Delay 栏右键选择 Formula,如
下图所示
QQ:186439171
Select Unit T ype 选择为 Design Unit
单击 Formula Browser,再弹出的对话框中选择 a+b-c
如下图所示。单击 OK
QQ:186439171
如下图所示,单击 MultiLine Editor ...按钮
将(a+b)-c 修改为(a+b)-c-25
QQ:186439171
保存并关闭窗口回到约束管理器,如下图所示
在 FDBCKLOOP 网络的 Min Pro Delay 栏右键选择 Copy
QQ:186439171
然后在右边的 Max Pro Delay 处右键 Paste
单击那个刚才 Max Pro Delay 那个方框,
弹出 MultiLine Editor 窗口,将(a+b)-c-25 修改为(a+b)-c+25
QQ:186439171
这样最小值就设为了(a+b)-c-25,最大值设为了(a+b)-c+25
詹书庭
2013.06.17
QQ:186439171 |
|