当前位置:文档之家› allegro 16.3 约束规则设置

allegro 16.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 命令,然后点击按钮,即可启动差分计算器 (如下图所示),差分计算器仅能完成边对边耦合的差分对计算。

差分对规则说明分模型定义的差分对和用户定义的差分对来说明:模型定义的差分对用户定义的差分对可以在 PCB Design,PCB SI 中使用Analyze-SI/EMIsim-Model 命令进行创建,如果要做分析,首先需要进行设置-包含设置叠层、指定DC 网络、指定元件CLASS、指定模型等。

可以 PCB Design,PCB SI 中在约束管理器中使用Creat-Differential Pair 命令创建,也可以使用Logic-Assign Differential Pair 命令创建。

在高速设计流程中首选采用模型定义差分对,因为带有独特的差分对的成员特性比如管脚寄生、启动延迟、逻辑门限和缓冲延迟。

用户定义的差分对没有模型指定的精确,因为模型指定的有IBIS 器件值。

差分对成员不能作为其他差分对的成员。

差分对成员不能作为其他差分对的成员。

模型定义的差分对可以被提取进SigXplorer而带有耦合性。

用户定义的差分对仅单根线被提取进SigXplorer。

模型定义的差分对有优先级。

如果通过用户定义的方法定义了一个差分对,稍后用模型定义的方法又定义了同样的差分对,则模型定义的差分对有优先级。

用户定义的差分对与模型定义的差分对相比没有优先级。

在约束管理器中不能改变模型定义差分对成员,只能通过编辑模型的方法更改。

在约束管理器中可以对用户定义的差分对成员进行更改。

模型定义的差分对,参考同样器件类型的任何器件都将继承指定的模型中差分对。

这个是可以重用的就像创建ECSet 和指定ECSet到很多设计对象。

在约束管理器中要分别创建用户定义的差分对,虽然自动设置简化了这个过程,与模型定义的差分对不同。

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 下面用三个例子来说明不同情况下的匹配群组(绝对的和相对的)。

例1Net Target Delta Tolerance CommentsData1 未指定 未指定10mil 这个例子中没有参考,所有的网络都必须彼此匹配在10mil 之内,如果三个网络中的一个是1000mil ,其他两个网络必须在990mil ~1010mil 之间,delta 值未指定(不是0)是绝对的匹配延迟,target 也未指定。

Data2 未指定 未指定 10mil Data3 未指定 未指定10mil 例2Net Target Delta Tolerance CommentsData1 0mil 10milData3 是此群组参考值,所有的网络都必须匹配Data3 在10mil 之内,如果Data3 是1000mil ,其他两个网络必须在990mil ~1010mil 之间,delta 值被指定是相对的匹配(传输)延迟。

Data2 0mil 10mil Data3 参考0mil 10mil例3Net Target Delta Tolerance CommentsData1 参考100mil 10mil Data1 此群组参考值,所有的网络都必须匹配Data1Data2 100mil10mil在100mil 之内并加上或者减去指定的偏差值10mil。

如果Data1 是1000mil,其他两个网络必须在990mil~1110mil 之间,对于相对的匹配(传输)延迟delta 和Data3 100mil10miltolerance 值被指定。

相关主题