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

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


相关文章:
规则设置要点
set(约束集合)新建一个约束, 在 By layer 里面改...注: Allegro 软件设计规则中介电常数为 4.5~4.2 ...1.选中线以后按 ctrl+m 进入设计规则设置界面, 打开...
cadence约束规则设计
在 net/ruting/min/max prop delays 里可以看到设置后效果。 数据线设置同上...cadence 16.2约束规则设... 2页 免费 cadence版图设计 58页 1下载券 模拟设计...
Allegro16.3约束规则2011
allegro约束规则设置约束管理器是一个交叉的平台,以工作簿和工作表的形式在 ...8.2.1.2 约束的定制测量可以使用定制的测量和定制的激励指定自己的约束,这些...
Cadence16.3约束规则详解
Allegro 16.3约束规则设置约束管理器是一个交叉的平台,以工作簿和工作表的形式...8.2.1.2 约束的定制测量可以使用定制的测量和定制的激励指定自己的约束,这些...
“我靠的是约束,不是规则”
sql约束、默认和规则 27页 2财富值 allegro约束规则设置 9页 1财富值喜欢...这是个大的改变,特别是在德国企业,员 工的意识等级森严,不愿冒险,宁愿把...
ALLEGRO约束设置
ALLEGRO 约束规则设置介绍目录: 第一部分:差分对的约束设置 ......图1 物理特性(线宽和过孔) 下面步骤 2-步骤 4 为 Physical(Line/vias)rule 物理特性(线宽...
Allegro 经典布线规则设置说明
Allegro 经典布线规则设置说明_电子/电路_工程科技_专业...(INT1)中的 line width 和 pad to pad 的间距...2. 接下来设置 HOST 部分,见下表要求: Net Name...
allegro16.3约束设置
allegro16.3约束设置_信息与通信_工程科技_专业资料。allegro16.3的约束管理器设置...约束规则设置间距约束设置有两种方法;1,直接在 spacing→net→all layer 中填入...
高级约束设置_特定区域内特定网络的约束设置
allegro 高级约束设置 三个方面: 特定网络的约束设置...二、 特定区域的约束设置 1、 在 CM 中建立一个...并设置好规则(线宽线距等) 2、通过 route keepin...
allegro 16.0的区域规则设置笔记
16.0 的 ALLEGRO 学习笔记——区域规则设置步:进入到规则设置中 图1 第...规则约束图 4 图 2 建立约束区域 图 3 约束区域命名 图 4 具体的约束数据,...
更多相关标签:
allegro约束规则设置 | allegro 约束规则参数 | allegro区域规则设置 | allegro规则设置 | allegro布线规则设置 | allegro16.6规则设置 | 约束规则设置说明 | allegro约束管理器 |