搜档网
当前位置:搜档网 › Cadence16.3约束规则详解

Cadence16.3约束规则详解

Allegro 16.3约束规则设置

约束管理器是一个交叉的平台,以工作簿和工作表的形式在 Cadence PCB设计流程中用于管理所有工具的高速电子约束。可以使用约束管理器和SigXplorer Expert 开发电路的拓扑并得出电子约束,可以包含定制约束、定制测量和定制激励。

所谓约束就是用户定义的限制条件,当在板上走线和放置元件时会遵守这些约束。电子约束(ECSets)就是限制PCB 上与电行为有关的对象,比如可以设置某个网络最大传输延迟为2ns。

以下图为一约束设置窗口。

一、说明

先解释一下约束的类型以及约束中用到的简写名词,如下图所示:

1、NCIs(NET CLASS)

由众多nets或者buses、differential pairs、Xnet所组成的类,可对其赋予相似的约束。如下图所示。

2、NCC(Net Class-Class)

一般用在约束组与组之间的间距的时候使用,如下图。

3、DPr(Differential Pairs)差分对

一组差分对一般由两条Xnet或者net以差分走线的方式组成,如下图。差分对的形成有两种方式:一是由模型指定的差分对,再者就是由用户自己定义的差分对。

?模型定义的差分对:可以在器件信号模型中指定差分对,可以使用PCB Design,PCB SI,SigXplores 来将模型指定给相应的元件。

?用户定义的差分对:可以在约束管理器中 Net 一级的对象中创建差分对,可以灵活的更改差分对命名和更改差分对成员,但是没有模型指定差分对的精确性。

以下是设置差分对规则时,需要赋予约束的项。

针对以上约束中用到的一些约束点进行解释说明:

差分对的worksheets包含5个主要的约束目录:

(1)Pin Delay

此值指一对网络之间管脚封装上的延迟,单位是时间ns 或者长度mil。

(2) 不耦合长度(Uncoupled Length)

不耦合长度约束是用来限制差分对的一对网络之间的不匹配长度。若“gather control”设置为ignore,则实际不不耦合长度不包括两个驱动和接收之间的耦合带之外的长度。若“gather control”设置为“include”,包含出芯片的这段不耦合长度。当不耦合(即在差分对刚刚从芯片出来的走线通常是不耦合的,不耦合有一定的长度)长度超过“max”时产生冲突。

(3)相位偏差(Static Phase Tolerance)

相位偏差约束确保差分对成员在转换时是同相和同步的。实际的数值(actual value)从长度上或者时间上反应了差分对成员之间的差值,当差值超出 tolerance 值时,就会有冲突。

(4)最小线间距(Min Line Spacing)

最小线间距约束指差分对之间的最小距离,如果小于设定的最小值则报错。添加的最小线间距约束值必须小于或者等于Primary Gap减去(-)Tolerance,并且也要小于或者等于Neck Gap减去(-)Tolerance。

(5)耦合参数(Coupling Parameters)

这里面包括6个部分需要设置。1、Primary gap :设置的是差分对之间的边到边理想间距,(+/-)tolerance 值是允许Diff Pairs的偏差值,如果间距偏差在范围内,差分对被认为是耦合的;2、Primary width:差分对成员的理想宽度;

3、Neck gap:约束的是最小允许的边到边的差分间距,当在密集区域走线时,可能切换到neck模式,最小可允许的gap 包括Neck Gap 减去(-)Tolerance,当差分对间距小于ECSet 指定给差分对网络的Min neck width 规则值时,Neck Gap 覆盖任何Primary Gap 值,确保 Neck gap 不要低于任何Min line spaing 值,如果设置了(-)tolerance 值,不需要定义Neck gap ,因为已经说明了需要的Neck gap。;

4、Neck width:最小可允许的差分对宽度,当在比较密集的区域走线的时,可能需要切换到neck模式;

5、(+)Tolerance;

6、(-)Tolerance。

使用差分计算器可以完成综合线宽和线距的计算以获得特殊的差分阻抗。在约束管理器中右键点击Primary Gap,Neck Gap,或者(+/-)tolerance 相应的单元格,在弹出的菜单选择Change 命令,然后点击按钮,即可启动

差分计算器 (如下图所示),差分计算器仅能完成边对边耦合的差分对计算。

差分对规则说明

4、管脚对(Pin-Pair)

Pin-Pair 代表一对逻辑连接的管脚,一般是驱动和接收。Pin-Pairs 可能不是直接连接的,但是肯定存在于同一个net 或者Xnet(所谓Xnet 即网络的中间可能串接电阻或者接插件,比如下图中的U1.8 到U3.8 的连接中间经过了一个电阻,即Xnet)。可以使用pin-pairs 来获取net 或者Xnet 指定的pin-to-pin 约束,也可以使用pin-pairs来获取ECSets 通用的pin-to-pin 约束,如果参考了某个ECSets 会自动定义net 或者Xnet 的pin-pairs。

可以指定 pin-pairs(比如图中的U1.8 、U3.8)或者基于下面的格式直接提取。当从SigXplorer导入拓扑并应用ECSets 给net,约束管理器基于导入的拓扑文件创建net 或者Xnet 的pinpairs。

? Longest pin-pair

? Longest driver-receiver pair

? All driver-receiver pairs All Drivers/All Receivers

下表中的规则应用于创建Pin-Pair,Pin-Pairs 仅能在以下工作表中创建。

?在对象中一定要存在某个管脚,才能创建相应的 pin-pair;

?在 All Constraints 和Timing 工作表中的对象一定要有驱动和接收;

? Pin-pair length 如果已经完成走线则是两个管脚之前走线的长度,如果没走线,就是连接两个管脚的鼠线的曼哈顿距离;

?约束管理器确定 longest/shortest pin-pair length 是基于驱动和接收,如果没有任何驱动和接收,就考虑Xnet;

?对于相对传输延迟约束,仅仅确定 longest pin-pair。

5、Match Group(匹配群组)

Match Group 是nets,Xnets 或者pin-pairs 的集合,此集合一定要都匹配(delay 或者length)或者相对于组内的一个明确的目标。如果delta 值没有定义,组内的所有成员都将是绝对匹配的,并允许有一定的偏差。如果定义了delta 值,那么组内所有成员将相对匹配于明确的目标网络。下面的是 Match Group 的必要属性:

? Target——组内其他pin-pairs 都要参考的pin-pair 就是目标(Target),可以是默认的也可以是明确指定的pin-pair,其他的pin-pairs 都要与这个目标比较。

? Delta——每个pin-pair 成员与目标pin-pair 的差值,如果没有指定此差值,那么所有成员就需要匹配,如果定义了此值不为0,则此群组就是一个相对匹配的群组。

? Tolerance——允许匹配的偏差值。

5.1 下面用三个例子来说明不同情况下的匹配群组(绝对的和相对的)。

5.2 如何确定target pin pair

一旦pin-pairs 中的一对被选择作为目标,其他的pin-pairs 都要与此目标以给定的delta和tolerance 内来匹配。约束管理器决定目标pin-pairs 的方法如下:

?明确指定的 pin-pair。

?如果所有的 pin-pairs 都有delta 值,那么有最小delta 值的网络就是目标。如果超过一对管脚对有同样的最小的delta 值,那么有最长的曼哈顿长度的网络被选为目标。

?如果所有的管脚对都没有delta 值,那么就没有选择目标,所有的管脚对就进行相互比较。

5.3 相对/匹配的群组规则

? Match Group 仅能在Routing 工作簿的Relative Propagation Delay 工作表中的指定。

?可以为整个群组设置相对的/匹配的群组约束,群组中每个成员可以根据要求修改tolerance。

?相对/匹配的群组之间的延迟可以在system 和design 一级设置。

?匹配延迟约束从 14.0 版数据库升级Delta 值为0,暗示所有的群组成员都要匹配一个指定的目标管脚对。

二、电气规则设置

1、设置网络的最大最小传输延迟(Min/Max Propagation Delays),此处以单一网络ADV_C0网络为例(示例中所举数字并非实际情况,此处只为说明而已)

●【Net】工作簿中双击【Routing】展开工作表。在这个工作表中有【Wiring】、【Impedance】、【Min/Max Propagation Delays】、【Total Etch Length】、【Differential Pair】、【Relative Propagation Delay】几种表格。

●点击【Min/Max Propagation Delays】显示相关的表格。

●选择所要设置的网络ADV_C0,在【Prop Delay】列下面的【Min】列,输入最小值“0.9”,注意缺省单位是“ns”,意即ADV_C0上的信号到达任何一个目标最小传输延迟都要有0.9ns。

●按 Tab 键。在【Pin Pairs】列自动选择了“All Drivers/All Receivers”,也就是说ADV_C0网络上的信号所有的的驱动和接收都被设置了传输延迟。

●在【Prop Delay】列下面的【Max】列,输入最小值“1.1”,注意缺省单位是“ns”,意即所选网络ADV_C0上的信号到达任何一个目标最大传输延迟不能超过1.1ns。

●选中刚才设置的网络ADV_C0,然后在菜单选择【Objects】/【Creat】/【Pin Pair…】命令,进入【Creat Pin Pairs of xxx for propagation delay】对话框。或者点击右键在弹出的菜单选择【Creat】/【Pin Pair…】命令。确定【First Pins】和【Second Pins】

●点击按钮。产生的管脚对显示出来,并且继承了网络ADV_C0的设置。

●将【Min】的值从“0.9ns”改为“0.8ns”。将【Max】的值从“1.1ns”改为“1.0ns”。(这表示这一对Pin Pair 单独被设定Min/Max Propagation Delays 值。)

2、设置网络相对传输延迟或者等长,以DDR2的一个lane来说明(示例中所举数字并非实际情况,此处只为说明而已)

可以设置网络或者管脚对的相对于其他网络的传输延迟,所有这些网络或者管脚对可以形成一个匹配的群组,有目标管脚对或者网络。下面将设置目标网络DDR_DQS0(实际上此为一差分对)的传输延迟,并生成一个匹配的网络,然后增加DDR_D<00>至DDR_D<07>和DDR_DQM0到匹配的群组并设置相对于网络DDR_DQS0的传输延迟。

1)打开约束管理器,在在【Routing】工作簿的【Min/Max Propagation Delays】工作表中找到差分对DDR_DQS0 (实际上在之前已经生成Dpr差分对);

2)在DDR_DQS0的【Min】列,输入值1000mil。

3)在DDR_DQS0的【Max】列,输入值1050mil。

4)在【Routing】工作簿选择【Relative Propagation Delay】工作表,展开差分对DDR_DQS0(由DDR_DQS0和

DDR_DQS0N两个网络构成),选中Xnet DDR_DQS0,然后选择【Objects】/【Create】/【Match Group】命令(或者按

右键在弹出的菜单选择【Create】/【Match Group】命令),出现【Creat Match Group】对话框。在【Match Group】

栏输入名称“MY_GROUP”,请见下图。

5)点击按钮。

6)在约束管理器界面,右键点击“ MY_GROUP ”,在弹出菜单选择【Membership 】/ 【Match Group 】,进入【Match Group Membership for MY_GROUP】对话框,把DDR_DQS0N、DDR_DQM0、DDR_D<00>至DDR_D<07>都移到右面,请见下图。

【Match Group Membership for MY_GROUP】对话框

点击按钮,请见下图约束管理器界面。

7)针对Xnet网络 DDR_DQS0(此处不是差分对,而是Xnet),点击【Scope】栏空格,在下拉选项选择“Global”,意思是要匹配群组中的所有的管脚对要匹配。而【Delta:Tolerance】栏,点击右键,点击Set as target,即设置此Xnet为目标网络。

8)针对网络 DDR_DQS0N,在【Delta:Tolerance】栏中输入0mil:2mil,即差分对间的匹配,相对目标网络

DDR_DQS0长度误差为±2mil。

9)针对DDR_DQM0、DDR_D<00>至DDR_D<07>,分别点击【Scope】栏空格,在下拉选项选择“Global”。而【Pin Pairs】栏自动设置为“All Drivers/All Receivers”。在【Delta:Tolerance】栏输入-50mil:12.5mil,即比目标网络DDR_DQS0长度短50mil,误差为±12.5mil(如果用时间的方式,可以在【Delta:Tolerance】栏输入“0.3ns:5%”。意思是数据信号要比目标网络多延时0.3ns,并且在误差“+/-5%”之内,此处只是说明而已,数字只具有举例意义)。10)设定完就可以绕等长了,在右侧的Length上右击→Analyze,可以看到每根Net的长度,当每个字段都以绿色显示时,就说明它们满足设置的长度约束了,如下图所示:

11)在约束管理器界面,选择【File】/【Save】命令。

3、设置差分对约束

1)在约束管理器界面选择【Routing】工作薄的【Differential Pair】工作表,选择网络 DDR_CLK和DDR_CLKN。在约束管理器菜单选择【Objects】/【Create】/【Differential Pair】命令(或者按右键在弹出的菜单选择【Create】/【Differential Pair】命令),产生差分对DP_DDR_CLK,如下图所示:

2)在约束管理器中,针对DP_DDR_CLK进行设置。点击【Uncoupled Length】列下面的【Gether Control】列空格,在下拉菜单选择“Ignore”。这个选项“Ignore”或者“Include”决定计算不耦合长度是否包括从管脚出来的一段。设置【Max】为“200mil”,在【Phase Tolerance】栏设置【Tolerance】值为“2mil”。在【Min Line Spacing】栏,设置【Min】为“6mil”,在【Coupling】栏设置【Primary Gap】为“8mil”,设置【Primary Width】为

“6mil”,设置【Neck Gap】为“4mil”,设置【Neck Width】为“6mil”,设置【(+)Tolerance】为“2mil”,设置【(-)Tolerance】为“2mil”。如果知道这一对管脚的封装延迟,就在【Pin Delay】中填入相应的值。

3)选择【File】/【Save】,请见下图。

4、设置网络的时序和信号完整性约束(示例中所举数字并非实际情况,此处只为说明而已)

4.1 设置时序约束

在约束管理器界面【Net】部分点击【Timing】,双击【Timing】展开工作簿,点击【Switch/Settle Delays】工作表,调整工作表为满屏显示,选择Xnet网络ADC_C0。在【Min First Switch】栏,设置网络“ADC_C0”【Min】值为“0.25:0.26”,即设置信号上升沿为0.25ns,下降沿为0.26ns。在【Max Final Settle】栏,设置网络“ADC_C0”【Max】值为“3.25:3.25”,即设置信号最大的最终建立时间对于上升沿为3.25ns,对于下降沿为3.25ns。如下图所示,选择【File】/【Save】。

4.2 设置电气属性约束

1)点击【Net】文件夹的【Signal Integrity】,双击【Signal Integrity 】工作薄,展开工作表,注意有【Electrical Properties】、【Reflection】、【Edge Distortions】、【Estimated Xtalk】、【Simulated XTalk and SSN】几个工作表显示。点击【Electrical Properties】,显示【Electrical Properties】工作表,找到网络DDR_CLK。

2)在DDR_CLK行【Frequency】列输入“333”,单位是MHz。缺省的【Duty Cycle】是“50%”。缺省的【Jitter】是“0”,改为“3”, 缺省的单位是“ps”。缺省的【Cycle to Measure】是“1”,改为“2”。如下图所示。

4.3 设置反射属性约束

1)在约束管理器界面,点击【Reflection】工作表,找到DDR_CLK网络。设置网络DDR_CLK的【Oversheet】的【Max】栏值为“5100:-610”,缺省单位是mV。意思是设置上升沿最大过冲为5100mV,下降沿最大过冲为-610mV。对于【High Actual】、【Low Actual】、【Margin】的值是仿真后得到的实际结果,不能输入。

2)设置【Noise Margin】,在【Min】栏输入“100:100”,缺省单位是mV。对于【High Actual】、【Low Actual】、【Margin】的值是仿真后得到的实际结果,不能输入。选择【File】/【Save】,请见下图。

第5章电子约束创建和应用

你可以给关键网络定义约束,也可以将一组约束定义为一个ECSet 然后应用到每个相应的关键网络,这样可以创建一个通用的约束应用到很多的网络上,并且约束变更时,所有参考此约束的网络都会更新。另外可以重用 ECSet,可以将ECSet 导入新的设计中,节省时间。可以使用 ECSet 设置总线的某一位的pin-pair 约束,然后将此约束加到总线上。

约束管理器的主要优点:

?一个 ECSet 可以同时应用到很多网络上

?可以在一个 ECSet 中获取任何或者所有电气约束

?如果 ECSet 的约束变更,可以自动更新参考的网络

?可以不考虑 ECSet 定义的约束

下面以DDR2的数据总线为例讲解在Signal Explorer 中设置总线的某一位的约束,然后将ECSet 导入约束管理器,再将ECSet 覆给数据总线。

5.1 创建ECSet

在Signal Explorer 中获取DDR_D00的下述约束:

? Max overshoot

? Min noise margin

? Min first switch

? Max final settle

? Impedance

1) 在约束管理器界面Net部分中,点击【Signal Integrity】工作簿下的【Reflection】,右键点击DDR_D00,在弹出的

菜单选择【SigXplorer…】,弹出【SigXplorer PCB Design HDL XL】,如下图所示。

图 SigXplorer PCB Design HDL XL界面

注意:如果上述约束值不知道的话,需要做仿真和增加端接。你可以在端接值和仿真的上冲和下冲值之间做一个折衷,这要参考Allegro的仿真资料。

2) 在菜单选择【Set】/【Constraints…】命令。出现【Set Topology Constraints】对话框,点击【Signal Integrity】标题,在【Reflection】栏的【Overshoot:】中的【High State】输入“5000”,【Low State】输入“-600”。在【Reflection】栏的【Min Noise Margin:】中的【High State】输入“20”,【Low State】输入“22”,点击

按钮。请见下图。

图设置Signal Integrity

3)点击【Switch-Settle】标题,选择【Pins】栏的“ALL DRVRS/RCVRS”,在【Rule Editing】栏设置:

在【Min First Switch Delays】/【Rise】输入“2ns”;在【Min First Switch Delays】/【Fall】输入“3ns”;

在【Max Final Settle Delays】/【Rise】输入“5ns”;在【Max Final Settle Delays】/【Fall】输入“6ns”。

点击按钮,如下图所示。

4)点击【Impedance】标题,在【Pins/Tees】中,点击“ALL/ALL”,在【Rule Editing】栏设置:设置【Target】为“70 ohm”;设置【Tolerance】为“2”,点击按钮。

5)以上完成后,点击按钮,在SigXplorer PCB SI XL的菜单选择【File】/【Update Constraint Manager】命令,这将在约束管理器中创建一个新的ECSet。在约束管理器弹出【Constraint Manager】对话框,提示网络

DDR_D00是否参考名称为DDR_D00 的ECSet,如下图所示。

点击按钮,在约束管理器界面,点击【Electrical Constraint Set 】文件夹下【All Constraints】,查看右边工作表中的DDR_D00约束,这样就创建了一个约束,请见下图。

点击其中的【Topology】栏的【Mapping Mode】相应的约束表格,在下拉菜单可以选择拓扑映射模式。映射模式

ECSet说明:

? ECSet 规则:所有的 ECSets 都存在适当的设计或者系统中,并能被同一设计或者系统中的对象参考。ECSets 可以被任何数量的网络相关的对象(bus,diff pair,Xnet 或者net)参考,但是一个对象只能参考一个ECSets。

?创建 ECSets:创建ECSets 也可以采用以下方法

在约束管理器界面,选择【Objects】/【Creat】/【Electrical CSet】命令来创建ECSets;

或者右键点击【Electrical Constraints Set】下面的工作表的对象,比如一个design,在弹出的菜单选择【Creat】/【Electrical CSet】命令创建;

或者右键点击【Electrical Constraints Set】下面的工作表的对象,比如一个ECSet,在弹出的菜单选择【Creat】/【Electrical CSet】命令,确认不选择【Copy Constraints From】选项;

或者右键点击工作表的对象比如网络,在弹出的菜单选择【Creat 】/【Electrical CSet】命令,确认不选择【Copy Constraints From】选项。

?克隆一个 ECSets

克隆一个ECSets 的方法与上面的第3 和第4 项的不同就是选择【Copy Constraints From】选项。

?删除 ECSet

选择一个 ECSet,然后选择【Objects】/【Delete】命令。在【Electrical Constraint Set】文件夹,点击一个ECSet,然后按“Delete”键。

?重命名 ECSet

右键点击一个ECSet,在弹出的菜单选择【Rename】命令。

?导入 ECSets

前边的练习讲解了从SigXplorer 更新约束管理器的ECSets,还可以在约束管理器界面选择【File】/【Import】/【Electrical CSets】。如果导入的template 以前已经指定了作为一个ECSets,那么导入将覆盖存在的约束值。注意如果选择了【Automatic Topology Update 】选项(在【Tools 】/【Options】中),那么被更新的template 信息将立刻应用到网络相关的对象,否则就要选择【Tools】/【Update Topology】来更新。(注意此项内容仅在PCB Design 和PCB SI 的约束管理器中才存在,在第7 章还会详细说明)。

?导入约束

使用【File】/【Import】/【Constraints】导入约束文件.dcf,此文件是电子约束信息的一个快照,包含用户定义的属性、ECSets 和它们的约束,还有网络相关的对象和它们的约束。在【Import Constraints】对话框中有以下几个选项:? Overwrite current constraints-删除当前的约束并读入新的约束,并产生一个报告。

? Merge with existing constraints-保留当前的约束并读入新的约束,并产生一个报告。

? Replace current constraints-仅覆盖那些导入的DCF 文件中的约束。

? Report only-只产生一个导入(Overwrite,Merge,Replace)的报告并不执行导入。

5.2 指定ECSet 给网络

PCB Design 和PCB SI 都可以灵活的映射约束信息,如果网络不能和参考的ECSet 的拓扑属性相匹配,映射将会失败,约束也就不起作用。例如将设置好的约束ECSet DDR_D00赋给网络DDR_D01…D DR_D07。

?检查对象参考的 ECSet

在【Net】文件夹,点击工作簿或者工作表,然后点击对象(net,Xnet,bus,或者diff pair)然后选择【Objects】/【Electrical Cset References】或者右键单击对象在弹出的菜单选择【Electrical Cset References】,将弹出如图5-4 所示的对话框,显示出对象参考的ECSets。右键点击对象的【Referenced Electrical Cset】栏,在弹出的菜单选择【Go to Electrical CSet】可以回到参考的ECSet。

5.3 不考虑ECSet 的缺省约束值

有时在设计中有的网络已经覆给了约束,但是希望某些约束值被过滤掉不考虑,将会通过更改约束值来实现。下面以DDR_D07为例来说明。

更改 ECSet 的缺省约束值

打开约束管理器【Net】文件夹下的【Impedance】工作表,更改DDR_D07的【Target】阻抗值为“74”。请见下图。

打开【Switch/Settle Delay】工作表,更改DDR_D07的【Min First Switch】的值为“0.5:0.6”,选择【File】/【Save】。

第8章约束分析

约束管理器有两种方法分析设计中的约束:

?设计规则检查

实时设计规则检测是针对routing 工作表中的约束,与布局布线做比较结果返回给工作表。如果发生设计规则冲突,约束管理器中相应的单元格显示就会变成红色,此外也会在layout 中以蝴蝶结标识出冲突的位置。约束管理器有三种模式的设计规则检查。可以用约束模式对话框的 DRC 控制

(【Analyze】/【Analysis Mode】),也可以指定分析设置,DRC 模式和输出期望的报告。这些将在以后的章节详细介绍。

?仿真分析

仿真分析是针对 Signal integrity 和timing 工作表的。比较计算值和约束值分析结果返回工作表单元格。Margin 是差值,Actual 是实际值。分析仿真基础的约束,一定要运行在 PCB Design 或者PCB SI。

8.1 查看工作表单元格和对象

因为设计的复杂度越来越高,设计中的对象也是越来越多,相应的ECSets 的数量也越来越多,约束管理器提供了一些简单的方法改变视图,从而容易的找到关注的对象。

Expand hierarchy

可以点击或者按

8.2 定制约束、定制测量和定制激励

约束管理器支持定制约束、定制测量和定制激励。如果没有约束管理器,只能从PCB提取网络,然后在SigXplorer 中定义定制约束、定制测量和定制激励,每次都要做这些工作很可能会发生错误或者很厌烦。因为约束管理器可以对PCB 上所有的网络进行全局的查看,所以应用定制约束、定制测量和定制激励是很简单的。

不用在约束管理器中定义定制约束、定制测量和定制激励,仅仅指定、管理和分析它们。在SigXplorer 中定义定制约束、定制测量和定制激励,然后保存位拓扑文件然后作为一个ECSet 导入约束管理器或者刷新当前的ECSet 参考。任何参考ECSet 的网络相关的对象都会继承ECSet 中定制约束、定制测量和定制激励数据。

8.2.1 定制约束

除了预先定义的约束,约束管理器也支持用户定义的属性和约束定制测量。

8.2.1.1 用户定义的属性

可以使用用户定义的属性来获取对象的特性。约束管理器不能完成这些属性的设计规则检查或者分析。

可以在 PCB Design PCB SI 中使用【Setup】/【Property Definitions】命令来定义属性,也可以在SigXplorer 中使用【Set】/【Constraints】/【User-Defined】来定义属性,现在也可以直接在约束管理器中直接定义属性。对于约束管理器去显示或者报告用户定义的属性,一定要用【Column】/【Add】命令在Net 相关的工作表中增加一列,并从对话框中选择期望的属性。约束管理器加一列在工作表的最右边并以属性名称作为列的标签。没有Actual 和Margin 与用户定义的属性相关联。此外,属性显示在ECSet 文件夹的All Constraints 工作薄中。

8.2.1.2 约束的定制测量

可以使用定制的测量和定制的激励指定自己的约束,这些约束不同于约束管理器中用户定义的属性,它可以通过设计规则检查和分析校验。

可以在SigXplorer 中使用表达式编辑器用定义非约束的定制测量的方法来创建约束的定制测量。当选择None 作为约束类型时,SigXplorer 创建非约束的定制测量。当选择minimum、maximum、min-max 或者target:tolerance 作为约束类型时,SigXplorer 创建约束的定制测量,实际上时用户定义的约束。

第9章 Scheduling Nets-网络中的节点排序

9.1 Scheduling Nets

可以使用PCB Design 和约束管理器将schedule 应用于多个网络,也就通过拓扑规则来给特定的网络设置拓扑结构。在这一节中将根据下图重新调整网络A3(此处以A3网络为例) 的节点顺序,并使用约束管理器将拓扑传递给相似的网络。

简单的网络节点排序

网络中的节点排序

1. 启动 PCB Design ,打开.brd文件(此处以lesson1.brd为例),选择【Display】/【Blank Rats】/【All】,隐藏所有网

络鼠线,选择【 Setup 】/ 【Electrical Constraint Spreadsheet 】启动约束管理器,点击按钮。选择【Net】文件夹【Routing】工作簿下面的【Wiring】工作表,请见下图。

2. 回到 PCB Design 界面,选择【Display】/【Show Rats】/【Net】,回到约束管理器,右键点击【Objects】栏下面

的网络A3,在弹出的菜单选择【select】命令。

3. 回到 PCB Design 界面,查看网络A3 的鼠线已经显示出来,右键点击在弹出的菜单选择【Done】。下面将完成网络节点的重新排序,请见下图,是排序前和重新排序后的网络鼠线。

4. 选择【Logic】/【Net Schedule】,点击J1的pin 64,移动鼠标,鼠线附在鼠标上,点击U2 的pin 52,点击U18的pin 10,再点击 U2 的pin 52,右键点击在弹出的菜单选择【Insert T】命令,点击加上T-point,点击U14的pin 8,点击T-point,点击 U15 的pin 8,右键点击在弹出的菜单选择【Done】命令。下面开始创建一个ECSet 以便将此网络排序应用到相似的网络。

5. 回到约束管理器界面,注意网络A3 的topology schedule 已经被定义为“UserDefined”,并显示为蓝色。右键点击网络A3 选择【Creat】/【Electrical CSet】命令,在弹出的菜单选择【Creat】/【Electrical CSet】命令,出现了【Creat Electrical CSet】对话框。

6. 确认选择了【Copy Constraints From:】选项,输入ECSet 名“a_constraints”,点击按钮。新创建的ECSet 继承了网络A3 的信息。选择网络A2 ~A23 ,右键点击在弹出的菜单选择【Electrical CsetReferences】。出现【Electrical Cset References】对话框。在下拉菜单选择“a_constraints”,点击按钮。出现【Electrical Cset ApplyInformation】对话框。

7. 查看报告文件,网络A16 到A23 都有error,说明A16到A23不适用这种约束,网络的管脚数量与ECSet 的管脚数不匹配。点击按钮,关闭报告。请见下图。

图约束显示

注意网络A16 到A23 对应的【Referenced Electrical CSet】都是红色显示的,将鼠标放在网络A16对应的【Referenced

Electrical CSet】栏,查看状态栏显示信息。右键点击网络A16 对应的【Referenced Electrical CSet】栏,在弹出的菜单

选择【AuditElectrical CSet】,查看报告,点击按钮,关闭报告。注意查看网络A3 的【Schedule】的信息为“UserDefined”。因为网络A16~A23 不能映射ECSet 的schedule,下面将参考的ECSet 去掉。选择网络A16~A23 的【Referenced Electrical CSet】栏,点击右键在弹出的菜单选择【Clear】。注意:约束管理器中网络 A2~A15 的【Actual】和【Margin】栏是黄色的,暗示着不对当前的设置做分析。有些约束(信号完整性和时序)需要仿真来计算【Actual】值。当【Actual】值被计算并返回工作表,此值与指定的约束值做比较,差值显示在【Margin】栏。其他的约束比如topology schedule 简单的生成一个pass/fail 状态。

8. 移动鼠标放在网络 A2~A15 的【Actual】栏,查看状态栏显示“DRC analysismode is not on”。选择【Analyze】/【Analysis Modes】命令,出现【Annlysis Mode】对话框。选择【Stub length/Net】选项“On”,确认选择了【on-line DRC】。点击按钮。右键点击【Topology】的【Actual】栏,在弹出的菜单选择【Analyze】命令分析拓扑。查看此栏显示依然为黄色。将鼠标放在黄色区域,观察状态栏显示“‘Verify schedule’is not set to ‘YES’”。可以用几种方法将【Verify Schedule】栏设置为“YES”。

Net-by-net-即每次点击一个网络的【Verify Schedule】栏,在下拉列表选择“YES”。

By range-即一次选中很多网络,然后点击网络的【Verify Schedule】栏,在下拉列表选择“YES”。

By object grouping-先创建一个“bus”然后点击网络的【Verify Schedule】栏,在下拉列表选择“YES”。

Alter an ECSet-在【Electrical Constraint Set】文件夹的【All Constraints】工作薄,点击ECSet 的【Verify Schedule】栏选择“YES”。所有的参考此ECSet 的网络都会继承这个信息并更新。

9. 按照上述第4 个方法将【Verify Schedule】栏选择“YES”。查看约束管理器【Net】文件夹下面的网络A2~A15 的显示已经有分析的结果。请见下图。这样A2到A16都被赋予了拓扑约束。

分析结果

9.2 Scheduling Nets-Revisited

在上一节学习重新定义一个网络的节点顺序并使用约束管理器指定此schedule 到几个网络。在本节,将使用SigXplorer 和约束管理器完成同样的任务。

利用 SigXplorer 和约束管理器重排网络节点:

1. 在 PCB Design 界面打开文件lesson

2.brd,然后启动约束管理器。打开【Net】文件夹的【Routing】下面的

【Wiring】工作表。选择网络A2~A15,按右键选择【Creat】/【Bus】,输入总线名“a_bus ”,点击按钮。请见下图。

生成总线

2. 回到 PCB Design 界面,选择【Display】/【Show Rats】/【Net】命令。在约束管理器界面,选择总线A_BUS,按右键选择【Select】。查看总线A_BUS 的网络鼠线都显示出来。下面提取总线进入Sigxp。在约束管理器界面,右键点击总线A_BUS,在弹出的菜单选择【SigXplorer】。如果出现对话框,选择【Expert】。拓扑显示如图下图所示。拓扑结构为总线的第1 个成员的。注意图中部件的名称可能与各位的不同。

拓扑结构

图中的三角形代表管脚 buffers,圆柱体代表理想传输线,下面显示的值是time 或者length,细的线代表理想的连接。

3. 点击每条细的黄色线,删除所有细的黄色线。移动各个部件,并点击按钮,再点击一个理想传输线,拷贝一条线,放在图中,如下图所示。

重排部件

相关主题