AAAAllegrollegrollegrollegro中的约束规则设置中的约束规则设置中的约束规则设置中的约束规则设置AllegrophanAllegrophanAllegrophanAllegrophan刚好五个字刚好五个字刚好五个字刚好五个字初版,学完的总结。适用于Cadence15.5版本。Allegrophan2009-09-08V1.1小改,修改部分措辞Allegrophan2009-10-14V1.2小改,更正、修改几个错漏之处。添加一些说明性文字。感谢群里的佳猪、梦姑娘等朋友的指正!Allegrophan目录一:Physical(Line/vias)rule物理特性(线宽和过孔)约束设置:.............41)“Setvalues”设置约束特征值....................................................................52)“Attachproperty”绑定约束.....................................................................63)“Assignmenttable”约束规则分配........................................................8二“Spacingrule”间距约束设置...........................................................................91)“Setvalues”设置约束特征值................................................................92)“Attachproperty”绑定约束.................................................................103)“Assignmenttable”约束规则分配......................................................11三Constraintareas区域约束设置......................................................................12四Allegro中走线长度的设置............................................................................131)差分线等长设置......................................................................................132)一组Net等长..........................................................................................163)XNet等长................................................................................................17线宽、线距、区域的约束主要在“ConstraintsSys”中设置,点击“Setup/Constraints”或点击图标打开“ConstraintsSys”窗口,如下:“ConstraintsSys”窗口分两个级别,第一级别有两类:StandardStandardStandardStandarddesigndesigndesigndesignrulesrulesrulesrules和ExteExteExteExtendedndedndedndeddesigndesigndesigndesignrulesrulesrulesrules。Standarddesignrules仅有一级分类,点击“Setstandardvalues”设置默认约束值,如下:默认约束设置线宽约束设置间距约束设置区域约束设置这里可以设置默认值,窗口中所有设置值各自分属于spacingrule和Physicalrule中名为“Default”的约束集。“ExtendedExtendedExtendedExtendeddesigndesigndesigndesignrulesrulesrulesrules”下一级分为三类不同约束设置:Spacingrule间距约束设置、Physical(Line/vias)rule物理特性(线宽和过孔)约束设置和Constraintareas区域约束设置。它们的下一级分类其实是具体约束设置的操作步骤,分别有:“Setvalues”、“Attachproperty”、“Assignmenttable”和“SetDRCmodes”。一:一:一:一:PhysicalPhysicalPhysicalPhysical((((Line/viasLine/viasLine/viasLine/vias))))rulerulerulerule物理特性(线宽和过孔)约束物理特性(线宽和过孔)约束物理特性(线宽和过孔)约束物理特性(线宽和过孔)约束设置:设置:设置:设置:我们以以下的DDR2部分的线宽要求为例进行设置:单端阻抗50Ω,差分阻抗100Ω。表中的间距是指一对差分线P和N之间的AirGap间距,其中B)的线宽线距可用于Neckmode在BGA区域的出线。V1.1→V1.2这里的SamenetDRC应该打开,特别是绕等长的时候。我没用过,也就没有讲到,以后研究了再补充。)“SetSetSetSetvaluesvaluesvaluesvalues”设置约束特征值在窗口上方空白处填入新约束名称,然后点击“ADD”,新的约束就产生了,接下来就按部就班在相应栏填入需要的值。由于DDR2有单端线、差分线两种,我们可以相应的设置两种Physical特性如:DDR2_50OHM,DDR_100OHM。如下图所示:过孔规格在“Vialistproperty”中设定,一般设定在默认约束规则下。在左侧数据库可用via列表中点击所需规格钻孔,右侧“Currentvialist”就会显示选中钻孔,可多选。:最小线宽Maxlinewidht:最大线宽,填0=∞Minneckwidht:Neck模式最小线宽Maxnecklength:Neck模式最大走线长度DiffPairprimarygap:首选差分间距(单端线可不填)DiffPairneckgap:Neck模式差分间距(单端线可不填)2222)“AttachAttachAttachAttachpropertypropertypropertyproperty”绑定约束“Attachproperty”是绑定约束的操作,操作对象是信号(以net名来区分),将相应类别的约束名称与信号绑定,该信号就会遵循绑定约束的设定。点击后可以直接框选板上各Net选取,也可以点击右侧的more,在弹出的“FindbyNameorPreoperty”选择框中选取。“Namefilter”处填写要绑定的Net名,“?”可以代替任意一个字符,“*”可以代替任意长字符,如我们要给DDR2的DQS差分线添加“DDR_DQS”的“Net_Physical_Type”属性,就可以输入“*dqs*”,就可以将所有DQS、DQS#的Net过滤出来,如图:点击“All”选定net,点击“Apply”,出现“EditProperty”窗后,在左侧下拉选项中选择约束类型“Net_Physical_Type”,然后在右侧相应内容后填入约束名称“DDR_DQS”,点击“Apply”,这样就完成了约束绑定,如图:)“AssignmentAssignmentAssignmentAssignmenttabletabletabletable”约束规则分配“Assignmenttable”是约束规则分配列表,分配不同情形下适用怎样的规则。Physicalrule的约束分配列表如下:第一列“NetNetNetNetPhysicalPhysicalPhysicalPhysicalPropertyPropertyPropertyProperty”:在2)“Attachproperty”中绑定的约束第二列“AreaAreaAreaAreaPropertyPropertyPropertyProperty”:约束绑定区域第三列“PhysicalPhysicalPhysicalPhysicalConstraintConstraintConstraintConstraintSetSetSetSet”:在1)“Setvalues”中设置的约束特征值关于约束绑定区域我们以后再说,那么这四行的意思就是:绑定约束“DDR_DQS”的信号在“BGA”区域内应用Physical约束“BGA”绑定约束“NO_Type”的信号在“BGA”区域内应用Physical约束“DEFAULT”绑定约束“DDR_DQS”的信号在“NO_Type”区域内应用Physical约束“DDR_100OHM”绑定约束“NO_Type”的信号在“NO_Type”区域内应用Physical约束“DEFAULT”二二二二““““SpacingSpacingSpacingSpacingrulerulerulerule””””间距约束设置间距约束设置间距约束设置间距约束设置Spacingrule的设置和Physicalrule设置大同小异,方法基本形同。我们以DDR2一组DQ线的线距要求为例进行设置:一组DQ线DQSet00包含以下信号:DDR2A_DQ[7:0]:8根DQ线,单端DDR2A_DM0:一根DM,单端DDR2A_DQS0/DDR2A_DQS#0:一对DQS,差分线要求:组内间距3倍线宽,DQS/DQS#与其他信号间距不小于5倍线宽1111)“SetSetSetSetvaluesvaluesvaluesvalues”设置约束特征值同样在窗口上方空白处填入新约束名称,然后点击“ADD”,新的约束就产生了。由于我们要设置的间距有3倍线宽、5倍线宽两种,我们可以相应的设置两种Spacing特性:“3W”,“5W”。如下图所示:V1.1→V1.2要注意这里的“3W”、“5W”是对那种线的3倍、5倍!现在是图中设置的是L05_MD2层的差分线,所以5W应该是MD2层差分线宽的五倍:3.5*5=17.5)“AttachAttachAttachAttachpropertypropertypropertyproperty”绑定约束Spacingrule的绑定约束的操作和Physicalrule设置基本相同。选取“DDR2A_DQ[7:0]”、“DDR2A_DM0”绑定约束“3W/5W”,如图:同样的方法给“DDR2A_DQS0/DDR2A_DQS#0”绑定约束“5W”。V1.1→V1.2这里的名字是可以随便起的,但是为了阅读方便,和便于以后同行的改版,名字尽量取得简单易懂,做到以后看到名字,就可以明白表达的什么意思。)“AssignmentAssignmentAssignmentAssignmenttabletabletabletable”约束规则分配Spacingrule的约束分配列表如下:举例,红色下划线的三行的意思是