当前位置:文档之家› Allegro xxx约束规则设置

Allegro xxx约束规则设置

约束规则设置约束管理器是一个交叉的平台,以工作簿和工作表的形式在 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 值。

相关主题