当前位置:文档之家› Allegro中的约束规则设置V1.2

Allegro中的约束规则设置V1.2

A llegro中的约束规则设置Allegrophan刚好五个字修订记录日期版本描述作者2008-12V1.0初版,学完的总结。

适用于Cadence15.5版本。

Allegrophan 2009-09-08V1.1小改,修改部分措辞Allegrophan2009-10-14V1.2小改,更正、修改几个错漏之处。

添加一些说明性文字。

感谢群里的佳猪、梦姑娘等朋友的指正!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 和Exte Extendednded design rules 。

Standard design rules 仅有一级分类,点击“Set standard values ”设置默认约束值,如下:“Extended design rules”下一级分为三类不同约束设置:Spacing rule间距约束设置、Physical(Line/vias)rule物理特性(线宽和过孔)约束设置和Constraint areas区域约束设置。

它们的下一级分类其实是具体约束设置的操作步骤,分别有:“Set values”、“Attach property”、“Assignment table”和“Set DRC modes”。

一:Physical(Line/vias)rule物理特性(线宽和过孔)约束设置:我们以以下的DDR2部分的线宽要求为例进行设置:间距,其中B)的线宽线距可用于Neck mode在BGA区域的出线。

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”是绑定约束的操作,操作对象是信号(以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”,这样就完成了约束绑定,如图:3)“Assignment table”约束规则分配“Assignment table”是约束规则分配列表,分配不同情形下适用怎样的规则。

Physical rule 的约束分配列表如下:第一列“Net Physical Property”:在2)“Attach property”中绑定的约束第二列“Area Property”:约束绑定区域第三列“Physical Constraint Set”:在1)“Set values”中设置的约束特征值关于约束绑定区域我们以后再说,那么这四行的意思就是:绑定约束“DDR_DQS”的信号在“BGA”区域内应用Physical约束“BGA”绑定约束“NO_Type”的信号在“BGA”区域内应用Physical约束“DEFAULT”绑定约束“DDR_DQS”的信号在“NO_Type”区域内应用Physical约束“DDR_100OHM”绑定约束“NO_Type”的信号在“NO_Type”区域内应用Physical约束“DEFAULT”二“Spacing rulerule””间距约束设置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倍线宽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.52)“Attach property ”绑定约束Spacing rule 的绑定约束的操作和Physical rule 设置基本相同。

选取“DDR2A_DQ[7:0]”、“DDR2A_DM0”绑定约束“3W/5W”,如图:同样的方法给“DDR2A_DQS0/DDR2A_DQS#0”绑定约束“5W ”。

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

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”区域内应用Spacing约束“BGA”“5W”——即DQS和其他信号间距5WV1.1-->V1.2:此处应为5W这里要说一下约束的起名,我开始学设置时,约束的起名比较乱,如DDR的DATA线,线宽约束值叫DDR_DATA,绑定线宽约束名也叫DDR_DATA,间距约束值也叫DDR_DA TA,绑定线距约束名还叫DDR_DATA,到最后在约束分配表中分配的时候,我自己都被搞晕了。

后来总结了一下,优化了起名方式,如:DDR单端线阻抗50Ω的线宽约束值:DDR_50OHM间距3W、10Mil的线距约束值:3W、10MilDDR组内间距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 。

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

绑定后shape 属性如图:1:点击Add ,添加区域3:画出的约束区域另外,也可以直接用画shape的工具添加约束区域,工作层应选:BOARD GEOMETRY →CONSTRAINT_AREA。

绑定约束也可以用“Edit/Properties”(默认快捷键Ctrl+P)。

出现“Edit Property”窗后,操作对象(Find)视情况选net或shapes。

以上约束设置也可以在约束管理器(Constraint Manager)中设置,我没用过,感兴趣的朋友可以自己研究下。

相关主题