当前位置:首页 >> 信息与通信 >>

Allegro中的约束规则设置1.2


Allegro 中的约束规则设置

Allegrophan 刚好五个字

修订记录
日期 2008-12 2009-09-08 2009-10-14 版本 V1.0 V1.1 V1.2 小改,修改部分措辞 小改,更正、修改几个错漏之处。添加一些说明性文字。 感谢群里的佳猪、梦姑娘等朋友的指正! 描述 初版,学完的总结。适用于 C

adence 15.5 版本。 作者 Allegrophan Allegrophan Allegrophan

目 录

一:Physical(Line/vias)rule 物理特性(线宽和过孔)约束设置:............. 4 1)“Set values”设置约束特征值....................................................................5 2)“Attach property”绑定约束..................................................................... 6 3)“Assignment table”约束规则分配........................................................ 8 二 “Spacing rule”间距约束设置........................................................................... 9 1)“Set values”设置约束特征值................................................................9 2)“Attach property”绑定约束.................................................................10 3)“Assignment table”约束规则分配...................................................... 11 三 Constraint areas 区域约束设置...................................................................... 12 四 Allegro 中走线长度的设置............................................................................13 1)差分线等长设置......................................................................................13 2)一组 Net 等长.......................................................................................... 16 3)XNet 等长................................................................................................ 17

线宽、线距、区域的约束主要在 “Constraints Sys”中设置,点击“Setup/Constraints” 或点击图标 打开“Constraints Sys”窗口,如下:

默认约束设置

线宽约束设置

间距约束设置

区域约束设置

“Constraints Sys”窗口分两个级别, 第一级别有两类: Standard design rules 和 Extended Extended design rules rules。Standard design rules 仅有一级分类,点击“Set standard values”设置默认约束 值,如下:

V1.1→V1.2 这 里 的 Same net DRC 应该打开, 特 别是绕等长的时 候。我没用过,也 就没有讲到,以后 研究了再补充。

这里可以设置默认值, 窗口中所有设置值各自分属于 spacing rule 和 Physical rule 中名为 “Default”的约束集。 Extended “Extended design rules rules”下一级分为三类不同约束设置:Spacing rule 间距约束设置、 Physical(Line/vias)rule 物理特性(线宽和过孔)约束设置和 Constraint areas 区域约束设 置。它们的下一级分类其实是具体约束设置的操作步骤,分别有: “Set values”、“Attach property”、“Assignment table”和“Set DRC modes”。

一:Physical(Line/vias)rule 物理特性(线宽和过孔)约束 一:Physical Line/vias) Physical( 设置:

我们以以下的 DDR2 部分的线宽要求为例进行设置:

单端阻抗 50Ω,差分阻抗 100Ω。表中的间距是指一对差分线 P 和 N 之间的 Air Gap 间距,其中 B)的线宽线距可用于 Neck mode 在 BGA 区域的出线。

Set values”设置约束特征值 1)“Set values
在窗口上方空白处填入新约束名称,然后点击“ADD”,新的约束就产生了,接下 来就按部就班在相应栏填入需要的值。由于 DDR2 有单端线、差分线两种,我们可以 相应的设置两种 Physical 特性如:DDR2_ 50OHM,DDR_100OHM。如下图所示:

过孔规格在“Via list property”中设定,一般设定在默认约束规则下。在左侧数据库可用 via 列表中点击所需规格钻孔,右侧“Current via list”就会显示选中钻孔,可多选。

Min line widht: 最小线宽 Max line widht: 最大线宽,填 0=∞ Min neck widht:Neck 模式最小线宽 Max neck length:Neck 模式最大走线长度 DiffPair primary gap:首选差分间距(单端线可不填) DiffPair neck gap:Neck 模式差分间距(单端线可不填)

2)“Attach property Attach property”绑定约束
“Attach property”是绑定约束的操作,操作对象是信号(以 net 名来区分) ,将相应类 别的约束名称与信号绑定,该信号就会遵循绑定约束的设定。 点击后可以直接框选板上各 Net 选取, 也可以点击右侧的 more, 弹 出 的 在 “Find by Name or Preoperty”选 择框 中选 取。 “Name filter”处填写要绑定的 Net 名 , “?”可以代替任意一个 字符, “*”可以代替任意长字符,如我们要给 DDR2 的 DQS 差分线添加“DDR_DQS”的 “Net_Physical_Type”属性,就可以输入“*dqs*”,就可以将所有 DQS、DQS#的 Net 过滤 出来,如图:

点击“All”选定 net,点击“Apply”,出现“Edit Property”窗后,在左侧下拉选项中 选择约束类型 “Net_Physical_Type”,然后在右侧相应内容后填入约束名称“DDR_DQS”, 点击“Apply”,这样就完成了约束绑定,如图:

Assignment table”约束规则分配 3)“Assignment table
“Assignment table”是约束规则分配列表, 分配不同情形下适用怎样的规则。 Physical rule 的约束分配列表如下:

Net 第一列“Net Physical Property Property”:在 2)“Attach property”中绑定的约束 Area Property ”:约束绑定区域 第二列“Area Physical 第三列“Physical Constraint Set :在 1)“Set values”中设置的约束特征值 Set” 关于约束绑定区域我们以后再说,那么这四行的意思就是: 绑定约束“DDR_DQS”的信号在“BGA”区域内应用 Physical 约束“BGA” 绑定约束“NO_Type”的信号在“BGA”区域内应用 Physical 约束“DEFAULT” 绑定约束 “DDR_DQS”的 信 号 在 “NO_Type”区域内应用 Physical 约 束 “DDR_100OHM” 绑定约束“NO_Type”的信号在“NO_Type”区域内应用 Physical 约束“DEFAULT”

二 “Spacing rule”间距约束设置 rule”
Spacing rule 的设置和 Physical rule 设置大同小异, 方法基本形同。 我们以 DDR2 一组 DQ 线的线距要求为例进行设置: 一组 DQ 线 DQSet00 包含以下信号: DDR2A_DQ[7:0] :8 根 DQ 线,单端 DDR2A_DM0 :一根 DM,单端 DDR2A_DQS0/DDR2A_DQS#0 :一对 DQS,差分线 要求:组内间距 3 倍线宽,DQS/DQS#与其他信号间距不小于 5 倍线宽

Set values”设置约束特征值 1)“Set values
同样在窗口上方空白处填入新约束名称,然后点击“ADD”,新的约束就产生了。由于 我们要设置的间距有 3 倍 线 宽 、 倍线宽两种, 5 我们可以相应的设置两种 Spacing 特 性 “3W”, : “5W”。如下图所示:

V1.1→V1.2 要 注意 这里 的 “3W”、 “5W”是对那种线的 3 倍、5 倍! 现在是图中设置的 是 L05_MD2 层的差 分线,所以 5W 应该 是 MD2 层差分线宽 的五倍:3.5*5=17.5

Attach property”绑定约束 2)“Attach property
Spacing rule 的绑定约束的操作和 Physical rule 设置基本相同。 选取“DDR2A_DQ[7:0]” 、“DDR2A_DM0”绑定约束“3W/5W”,如图:

V1.1→V1.2 这里的名字是可以随便起的,但是 为了阅读方便,和便于以后同行的 改版,名字尽量取得简单易懂,做 到以后看到名字,就可以明白表达 的什么意思。

同样的方法给“DDR2A_DQS0/DDR2A_DQS#0”绑定约束“5W”。

Assignment table”约束规则分配 3)“Assignment table
Spacing rule 的约束分配列表如下:

举例,红色下划线的三行的意思是(关于约束绑定区域以后再说): 绑定 Spacing 约束“3W/5W”的信号和绑定 Spacing 约束“5W”的信号在“BGA”区 域内应用 Spacing 约束“BGA” 绑定 Spacing 约 束“3W/5W”的信号和绑定 Spacing 约 束“3W/5W”的信号在“No_Type” 区域内应用 Spacing 约束“3W”——即组内间距 3W 绑定 Spacing 约束“5W”的信号和绑定 Spacing 约束“No_Type”的信号在“No_Type” 5W 区域内应用 Spacing 约束“BGA”“5W 5W”——即 DQS 和其他信号间距 5W V1.1-->V1.2:此处应为 5W

这里要说一下约束的起名,我开始学设置时,约束的起名比较乱,如 DDR 的 DATA 线, 线宽约束值叫 DDR_DATA, 绑定线宽约束名也叫 DDR_DATA, 间距约束值也叫 DDR_DATA, 绑定线距约束名还叫 DDR_DATA,到最后在约束分配表中分配的时候,我自己都被搞晕了。 后来总结了一下,优化了起名方式,如: DDR 单端线阻抗 50Ω的线宽约束值:DDR_50OHM 间距 3W、10Mil 的线距约束值:3W、10Mil DDR 组内间距 3W 组外间距 5W 的绑定约束:DDR_3W/5W 这样约束分配起来就清晰明了了很多,如间距绑定 DDR_3W/5W 与 DDR_3W/5W 在 No_Type 区域,明显他们是同组,所以应用组内间距约束值 3W。

三 Constraint areas 区域约束设置
在前面的Physical 和Spacing设置分配表中,为什么有个区域“No_Type”和“BGA”? 这是因为有些区域约束是不可能达到的,比如在BGA 封装的CPU内,引线出来,线间距不 可能达到30,20 甚至10个mil。 在这些地方, 如果你也按照这个约束那么你的PCB中的DRC 就 不可能消的掉。这时一个解决办法就是把这些地方划为一个Area,然后给它加上 Net_Physical_Type和Net_Spacing_Type属性。针对这些Area 内,设定合适的、比较宽松的约 束值。如果不设置,也就是没有区域约束的地方,就是No-Type。提示:约束区域是shape。 具体做法是先在“Set values”中各添加 Physical 和 Spacing 的约束值“BGA”,填上相 对比较宽松的、合理的值。 Constraint areas 中选 Add, (注意这时的绘图层) ,选择好画 shape 的工具,在工作区绘 制 shape。如图:

2: 使用绘制 shape 工具

注意这里,约束区域 是在那个层的!

3: 画出的约束区域 1:点击 Add,添加区域

点击 “ Attach property , shapes” 选刚 才 画 的 shape ,绑 定 约 束 Net_Physical_Type 和 Net_Spacing_Type。绑定后shape属性如图:

另外,也可以直接用画shape的工具添加约束区域,工作层应选: BOARD GEOMETRY → CONSTRAINT_AREA。 绑定约束也可以用“Edit/Properties”(默认快捷键Ctrl+P) 出 现 “Edit Property”窗 后 , 。 操作对象(Find)视情况选net或shapes。 以上约束设置也可以在约束管理器 兴趣的朋友可以自己研究下。 (Constraint Manager)中设置,我没用过,感

四 Allegro 中走线长度的设置
1) Allegro中走线长度一般在约束管理器(Constraint Manager)中设置。 约束管理器(Constraint Manager)主界面如下:

左边是工作窗体选择区(Worksheet Selector) ,以3 个阶层的方式来呈现工作窗体。工作 窗体选择区目前有 Electrical Constraint Set ( 简称ECSets ) 、Net及DRC3 种,在每一种活页 夹之 下 各 若 干 个 工 作 名 册 ( Workbooks ) ,在 每 一 种 工 作 名 册 之 下 有 不 同 的 工 作 窗 体 (Worksheet), 可以进行各种约束的设置、绑定。我们以前设置的Physical和Spacing约束也可

以在这里找到并设置。 Net XNet 按照等长的主要类型我将等长设置分为三类:差分线等长、一组Net Net等长、XNet XNet等长。 下面分别作一介绍。

1)

差分线等长设置

以 DDR2 处的差分线 DDR2A_DQS[7:0]为例,先将需要的差分线 DDR2A_DQS 与 DDR2A_DQS#进行配对,具体步骤略。 由于我们设置的是差分线 P/N 之间的等长,在左边工作窗体选择区选择 Electrical Constraint Set→Routing→Differential Pair。 新建一个约束。 在 DESIGN 名上右击→Create→Electrical CSet,在弹出的对话框中输入约束名, 由于要求 DDR2A_DQS 与 DDR2A_DQS#之间相差不多于 2mil, 我这里也就起名为 2mil (只 是例子,名字不限) 。并在图示位置填入允许的长度差值 2mil。

绑定约束。 打 开 Net → Routing → Differential Pair 。 在 右 侧 可 以 看 到 已 经 配 对 的 差 分 线 DDR2A_DQS[0:7],在“Electrical Cset References…”下单击,在弹出的对话框中选择 刚才设置好的约束“2MIL”。也可以一次填 N 对,按住左键拖曳选择多个,右键菜单 选“Change… ” 。这样就给差分线 DDR2A_DQS[0:7]添加了长度约束“2MIL”。如图:

设置好后就可以绕等长了, 在最上面的字段名称上及项目名、Net 名上,按下鼠标右键 可以展开下拉菜单,其中的“Sort”可以将对象重新排序, “Analyze”可以立即执行分析, 分析后各种颜色的图示如下,也就是常说的红绿灯:-)

Pass – 分析的结果符合设定值。 Fail – 分析的结果不符合设定值。 Analysis error – 无法执行分析。 Directly set – 字段的设定值是由使用者直接输入的
V1.1-->V1.2:提示: 没有红绿灯的哥们, 请打开 Setup→User Preferences…, 展开左边 Etch 项, 右边 allegro_dynam_timing 选择 on 即可。 下面的一项 allegro_dynam_timing_fixedpos 是设置红绿灯位置锁定还是跟着光标跑的。

图中,差分线 DDR2A_DQS0 已经满足要求,DDR2A_DQS1 已经连通但长度不符合设定, DDR2A_DQS2 还未连通,无法分析。

2)

一组 Net 等长

仍以DDR2一组DQ线为例,一组DQ线共有11根线: DDR2A_DQ[7:0],8根DQ线 DDR2A_DM0,1根DM线 DDR2A_DQS0/DDR2A_DQS#0,一对DQS差分线 长度要求: i. 每对DQS与DQS# 之间相差不多于2mil; ii. DQS/DQS#比每组DQ、DM长50mil,DQS/DQS#作为每个数据group的target; iii. 每个DQ group长度误差控制在+/-12.5mil。 由于是一组等长,在左边工作窗体选择区选择 NET→Routing→Relative Propagation Delay。在主窗体利用 Ctrl、Shift 键,将这 11 根线全部选定,右击→Create→Match,在弹出 的对话框中填入组名:DDR2A_DQ0。这样就将这十一根线加入到了一个 group 中。

在 Relative Delay 下的 Delte:Toleranc 处填入长度约束。 如图, 填入的格式举例如下 :

0mil:2mil mil:2 :2mil :相对 TARGET 长度误差±2mil -50mil:12.5mil -50mil:12.5mil mil:12.5 :比 TARGET 长度短 50mil,误差±12.5mil 填入时可以直接输入数字, 不用输入单位。 可以在输入框右击→set as target 指定那根 net 为 target。设定完就可以绕等长了,在右侧的 Length 上右击→Analyze,可以看到每根 Net 的长度,当每个字段都以绿色显示时,就说明它们满足设置的长度约束了,如图:

XNet 3)XNet 等长
我们把连续的几段由无源元件(如电阻,电容或电感)连接的 net 合称为一段 Xnet, 下 图 : 如

前面说的方法只能对 Net 设置等长,既差分对的每根线、group 中的每根线,操作的对 象都是 Net。而有时仅对 Net 设置等长是不够的,比如下面这种情况:

现在要求U1 到U2 的走线Net*A + Net*B等长,误差为+/-20Mil,最简单的方式就是分别 设置Net*A等长和Net*B等长,误差各为+/-10Mil,这样是可以达到要求,不过会加大Layout 工程师绕线的难度,因为可能Net*A部分空间比较大有足够的绕线空间,而 Net*B部分没有 空间绕线,所以就比较难达到要求。 如果一种设置能把Net*A与Net*B相加,然后再做等长比对,这样就可以解决问题了, 好 的就是Allegro都早为这些问题考虑过了,只要把Net*A与Net*B设置为一个Xnet问题就解决 一半了。 下面内容将详细介绍怎样设置 Xnet 与 Xnet 等长。 1、在Allegro中点击菜单 Analyze→SI/EMI Sim→Model…,出来的建议定义DC net直接 Yes 即可,然后出现下面的Model设置窗体:

2、直接在DevType Value/Refdes 中选择要设定Model 的器件或直接在板子上点选要设 置Model的器件; 3、点选Create Model,建立该零件的Model;

在出现对话框中选择Create ESpiceDevice model,点击OK; 4、出现下面窗体:

ModelName: 输入产生Model的名字, Circuit type: 选择Type,电阻,电感或电容, Value: 值, Single Pin: 各Pin的连接顺序, 中间为空格, 这里要注意要看零件的pin的排列, 1 2 3 4 5 6 7 8,就是: 1和2是一个电阻,其它同理,所以如果 就是普通电阻电容那就更简单了, Common Pin: 这里不用管它,空着就可以,

上面都输入好了就点击OK,完成Model的建立。 点击 OK 退出就可以发现连接该电容的两边的 Net 都有了个 Xnet 属性,如下图:

下面介绍 XNet 的等长设置。 进入约束管理器 Constraint Manager 的 Net→Routing→Relative Propagation Delay, 在右 边就会显示整块板子所有的 Net 或 Xnet:

建立需要等长的 Pin Pair,在需要建立 Pin Pair 的 Xnet 上右击→Create→Pin Pair:

选择起始 Pin 和结束 Pin:

这一步的目的是指定一个 XNet 等长时计算长度的起始 Pin 和结束 Pin,如上图中,计 算的长度值就是 U1 的 P38 脚到 JP2 的 57 脚的距离。 设好 Pin Pair 之后,就可以用设置一般的 Net 等长的方法来设置 XNet 的等长,不同的 只是将 XNet 的 Pin Pair 选定添加到一个等长组里。如图:

另一种常见的需要定义 Pin Pair 的情况是 Net 有分叉,如 DDR2 的地址线、控制线,它 们接有上拉电阻,对连接到上拉电阻的一段是不能计入等长长度的。可以将 Net 上从 CPU 到 DDR2 的一段设置为 Pin Pair,这样就只计算从 CPU 到 DDR2 的一段长度了。

——————————————V1.1→V1.2————————————————— 常用的三种等长设置的区别 常用的等长设置有以下三种: Total 1:Total Etch Length Differential 2:Differential Pair Relative 3:Relative Propagation Delay Total 1:Total Etch Length 设置 net 的总长处于某个区间时使用。比如要设置某 net 总长处 于 2500mil~3000mil 之间,就在这里设置。 Differential 2:Differential Pair 设置差分线 P/N(+/-)等长,比如要设置差分对 P/N 相差不超过 5mil,就在这里设置。 Relative 3:Relative Propagation Delay 这里设置某一组 net 长度相差控制在某个范围,对总长 没要求。比如设置某一组 net 的 30 根线长度相差不超过 50mil,总长无所谓。 —————————————————————————————————————

欢迎加入 QQ 群: Allegro 专业交流平台 80171093 EDA(Cadence) 3590664

如有任何问题,欢迎指正! QQ:372861120 邮箱:zly8629481@163.com

刚好五个字 Allegrophan 09.10.14


相关文章:
ALLEGRO约束设置
ALLEGRO 约束规则设置介绍目录: 第一部分:差分对的约束设置 ......第三列“Physical Constraint Set” :在步骤2“Set values”设置的约束特征值 关于约束绑定区...
ALLEGRO 约束设置
ALLEGRO 约束设置_电子/电路_工程科技_专业资料。...规则设置 差分线规则设置、组内组外规则设置 一. ...中对 GND 信号使用 PCS_POWER 规则,如下图 二. ...
ConstraintManager约束规则基本设置
Allegro PCB 的电路板设计过程中, 在 设计约束规则主要包括时序规则、走线规则、间距规则、信号完整性规则等以及 物理规则等设置。 首先,需要认识一下,Allegro PCB...
allegro 16.0的区域规则设置笔记
16.0 的 ALLEGRO 学习笔记——区域规则设置步:进入到规则设置中 图1 第...规则约束图 4 图 2 建立约束区域 图 3 约束区域命名 图 4 具体的约束数据,...
Allegro 经典布线规则设置说明
Allegro 经典布线规则设置说明_电子/电路_工程科技_专业...(INT1)中的 line width 和 pad to pad 的间距...2. 接下来设置 HOST 部分,见下表要求: Net Name...
Allegro16.3约束规则2011
allegro约束规则设置约束管理器是一个交叉的平台,以工作簿和工作表的形式在 Cadence PCB设计流程中用于管理所有工具的高速电 子约束。可以使用约束管理器和SigXplorer...
Cadence16.3约束规则详解
Allegro 16.3约束规则设置约束管理器是一个交叉的平台,以工作簿和工作表的形式在 Cadence PCB设计流程中用于管理所有工具的高速电 子约束。可以使用约束管理器和Sig...
Allegro16.6约束管理器及使用示例
Allegro16.6约束管理器及使用示例_电子/电路_工程科技_专业资料。1 约束管理器...选择刚才设置的规则了;选中 规则布线后如下图 1.3.2 设置不过电阻的 NET ...
规则设置要点
换层要在 Physical 里面的 Electrical coustrant set(约束集合)新建约束, ...注: Allegro 软件设计规则中介电常数为 4.5~4.2 时微带线的信号传播 速度是 ...
Cadence 约束管理器的基本介绍
约束管理的设计流程如下图 2 所示: 图 2 约束...在【feedback】一 栏中选择 allegro pcb edit, 在...右边是工作表区,是对应左边类型的 具体约束设置值。...
更多相关标签: