ALLEGRO约束设置
- 格式:doc
- 大小:3.83 MB
- 文档页数:15
精品文档
. ALLEGRO约束规则设置介绍
目录:
第一部分:差分对的约束设置 ....................................................................................................... 1
第二部分:非差分信号约束设置 ................................................................................................... 8
第三部分:区域约束设置 ............................................................................................................. 11
第四部分:XNet等长设置 ........................................................................................................... 12
本文所有操作与设置均在Allegro PCB editor 15.5环境中进行。
第一部分:差分对的约束设置
下面我们将通过对LVDS差分对信号的约束设置分步骤的讲解各个设置过程,其约束条件如下表:
信号名称 板层 线宽
(mil) 差分对P/N信号最小线距(mil) 差分对内布线最大差值(mil) 差分对间布线最大差值(mil)
LVDS TOP/BOM
5 7 75 200
步骤1:全局约束设置。在PCB editor界面下,点击“Setup→Constraints”或点击图标打开“Constraints Sys”窗口,将出现下图所示窗口。点击“Set standard values”,弹出“Default values form”界面,在此可设置默认值,且窗口中所有设置值各自分属于spacing rule 和Physical rule 中名为“Default”的约束集。此处我们取默认值。
图1 精品文档
. 下面步骤2-步骤4为Physical(Line/vias)rule物理特性(线宽和过孔)约束设置过程
步骤2:线宽约束设置。点击“Physical(Line/vias)rule set→set values”,在出现的窗口上方空白处填入新约束名称,如“LVDS_SIG”,然后点击“ADD”,新的约束就产生了。如果需要设置这是某一层的约束,还要在“subclass”中选择相应的层面。接下来就在相应栏填入需要的值。如下图所示:
图2
如果还有其它信号的线宽要求,请重复上述步骤。
Min line width: 最小线宽
Max line width: 最大线宽,填0=∞
Min neck width:Neck 模式最小线宽
Max neck length:Neck 模式最大走线长度
DiffPair primary gap:首选差分间距(单端线可不填)
DiffPair neck gap:Neck 模式差分间距(单端线可不填)
过孔规格在“Via list property”中设定,一般设定在默认约束规则下。在左侧数据库可用 via 列表中点击所需规格钻孔,右侧“Current via list”就会显示选中钻孔,可多选。
步骤3:绑定约束类型。点击“Physical(Line/vias)rule set→Attach property”后可以直接框选板上各 Net 来选取,也可以点击右侧的more,在弹出的“Find by Name or
Property”选择框中选取。“Name filter”处填写要绑定的Net 名,“?”可以代替任意一个字符,“*”可以代替任意长字符,如我们要给 LVDS 差分线添加“LVDS”的“Net_Physical_Type”属性,就可以输入“LVDS*”,就可以将所有LVDS的Net 过滤出来,如图: 精品文档
.
图3
点击“All”选定net,点击“Apply”,出现“Edit Property”窗后,在左侧下拉选项中选择约束类型“Net_Physical_Type”,然后在右侧相应内容后填入约束名称“LVDS”,
点击“Apply”,这样就完成了约束类型绑定,如图:
图4
图5
步骤4:约束规则分配。点击“Physical(Line/vias)rule set→Assignment table”出现约束规则分配列表,分配不同情形下适用怎样的规则。Physical rule的约束分配列表如下:
图6 精品文档
. 第一列“Net Physical Property”:在步骤3“Attach property”中绑定的约束类型
第二列“Area Property ”:约束绑定区域,在第三部分介绍。
第三列“Physical Constraint Set” :在步骤2“Set values”中设置的约束特征值
关于约束绑定区域我们以后再说,那么这三行的意思就是:
绑定约束“NO_Type”的信号在“NO_Type”区域内应用Physical 约束“DEFAULT”
绑定约束“LVDS”的信号在“NO_Type”区域内应用Physical 约束“LVDS_SIG”
下面步骤5-步骤7为“Spacing rule”间距约束设置过程
步骤5:点击“Spacing rule→Set values”设置约束特征值。由于LVDS差分对要求线间距为7mil,所以我们在窗口上方空白处填入新约束名称“SPACE_7”,然后点击“ADD”,新的约束就产生了,在对应的各个距离内填上相应的数值即可。如下图所示:
图7
步骤6:点击“Spacing rule →Attach property”绑定约束类型。Spacing rule 的绑定约束类型的操作和Physical rule 设置基本相同。选取 LVDS 信号绑定约束类型“LVDS_SPACE”,如图:
图8 精品文档
.
图9
步骤7:点击“Spacing rule →Assignment table”进行约束规则分配。
Spacing rule 的约束分配列表如下:
图10
上图中三行的意思是(关于约束绑定区域第三部分会有介绍):
绑定Spacing 约束“No_Type”的信号和绑定Spacing 约束“No_Type”的信号在“No_Type”区域内应用Spacing 约束“DEFAULT”
绑定Spacing 约束“LVDS_SPACE”的信号和绑定Spacing 约束“No_Type”的信号在“No_Type”
区域内应用Spacing 约束“SPACE_7”
绑定Spacing 约束“LVDS_SPACE”的信号和绑定Spacing 约束“LVDS_SPACE”的信号在“No_Type”区域内应用Spacing约束“SPACE_7”
下面步骤8到步骤10为差分对等长约束设置过程
步骤8:差分对配对。点击“setup→electrical constraint spreadsheet…”或点击,打开Allegro constraint manager 窗口。选择“net →Routing→Differential Pair”,选中LVDS_A0_P和LVDS_A0_N右击,在弹出的菜单中选择“create→differential pair”,如下图所示。点击后会弹出“create differential pair”界面,在此界面就可以依次对所有差分对配对。
图11 精品文档
.
图12
步骤9:建立ECSet。在左边工作窗体选择区选择“Electrical Constraint Set→Routing→Differential Pair”。在你的brd文件名(此处为unnamed)上右击→Create→Electrical
CSet,在弹出的对话框中输入约束名,这里起名为“LVDS_LENGTH”,并在图示位置填入允许的长度差值75mil。
图13
如果需要对LVDS信号布线总长度设置约束,则在左边工作窗体选择区选择“Electrical
Constraint Set→Routing→Total Etch Length”。在此我们可以看到刚才新建的约束“LVDS_LENGTH”,在其后面的“Minimum Etch Length”和“Maximum Etch Length”中添加布线长度的最小和最大值,如图。
图14
步骤10:为差分对绑定ECSet。打开“Net → Routing → Differential Pair”,在右侧可以看到已经配对的差分线,在“Electrical Cset References…”下单击,在弹出的对话框中选择刚才设置好的约束“LVDS_LENGTH”。也可以一次填多对,按住左键拖曳选择多个,右键菜单选“Change… ”。这样就给差分线添加了长度约束“LVDS_LENGTH”。如图: 精品文档
.
图15
同理,在“Net → Routing → Total Etch Length → Electrical Cset References…”下添加“LVDS_LENGTH”约束。
设置好后就可以布线了。
在最上面的字段名称上及项目名、Net 名上,按下鼠标右键可以展开下拉菜单,其中的“Sort”可以将对象重新排序,“Analyze”可以立即执行分析,分析后各种颜色的图示如下,也就是常说的红绿灯。
Pass – 分析的结果符合设定值。
Fail – 分析的结果不符合设定值。
Analysis error – 无法执行分析。
Directly set – 字段的设定值是由使用者直接输入的
图16
提示:没有红绿灯的,请打开Setup→User Preferences…,展开左边Etch项,右边allegro_dynam_timing 选择on 即可。下面的一项allegro_dynam_timing_fixedpos是设置红绿灯位置锁定还是跟着光标跑的。设置好后,还要在“constraint manager”窗口中,点击“anslysis→analysis modes”,在弹出的界面中打开相应的 DRC 检查项即可,如下图