Allegro166约束管理器及使用示例.docx

上传人:b****6 文档编号:6743989 上传时间:2023-01-09 格式:DOCX 页数:10 大小:704.99KB
下载 相关 举报
Allegro166约束管理器及使用示例.docx_第1页
第1页 / 共10页
Allegro166约束管理器及使用示例.docx_第2页
第2页 / 共10页
Allegro166约束管理器及使用示例.docx_第3页
第3页 / 共10页
Allegro166约束管理器及使用示例.docx_第4页
第4页 / 共10页
Allegro166约束管理器及使用示例.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

Allegro166约束管理器及使用示例.docx

《Allegro166约束管理器及使用示例.docx》由会员分享,可在线阅读,更多相关《Allegro166约束管理器及使用示例.docx(10页珍藏版)》请在冰豆网上搜索。

Allegro166约束管理器及使用示例.docx

Allegro166约束管理器及使用示例

1约束管理器

约束管理器强制执行objects的优先顺序,最顶层的是System,最底层的是pin-pair。

为顶层对象指定的约束会被底层的对象继承,为底层对象指定的同样的约束优先级高于从上层继承的约束。

尽量在高层次指定约束,层次关系如下:

1.1名词解释

1.1.1pin-pair

Pin-Pair代表一对逻辑连接的管脚,一般是驱动和接收。

Pin-Pairs可能不是直接连接的,但是肯定存在于同一个net或者Xnet(所谓Xnet即网络的中间可能串接电阻或者接插件,比如图2-3中的U1.8到U3.8的连接中间经过了一个电阻,即Xnet)

1.1.2Nets和Xnets

请见图2-4很容易理解Cadence的Nets和Xnets的区别。

所谓nets就是从一个管脚到其他管脚的电子连接。

如果net的中间串了无源的、分立的器件,比如电阻、电容或者电感,那么在数据库中每个网络段通过一个独立的net来表示。

约束管理器解释这些网络段作为相邻的扩展的网络或者Xnet,Xnets在多板连接的结构中也可以贯穿连接器和电缆。

可以将Nets和Xnets与ECSets联系起来。

1.1.3MatchGroups

MatchGroup是nets,Xnets或者pin-pairs的集合,此集合一定要都匹配(delay或者length)或者相对于组内的一个明确的目标。

如果delta值没有定义,组内的所有成员都将是

绝对匹配的,并允许有一定的偏差。

如果定义了delta值,那么组内所有成员将相对匹配于

明确的目标网络。

1.2在线检查设置

首先在约束管理器中需要进行以下设置

Analyze->AnalysisModes

这样在布线后,在相应的地方都会显示线长或约束相差值;如下图

1.3示例

通过一个实例来理解约束管理器

U1看作是MCU,

U2为DDR,ADDR0-3为地址线,需要作等长处理;CLK为时钟线,差分处理;

U3,U4为连接同一个MCU的DDR;地址线是复用的,设置通过T型网络连接;需要作等长处理

U5为DDR,DDR_DQ0-3为数据线,需要作等长处理

1.3.1

差分对约束

即上图中的DDR_CLKP,DDR_CLKN

设置Electrical->ElectricalConstraintSet->DifferentialPair

在Object的Name下方Project右键Create->ElectricalCSet;并输入参数

差分对约束参数主要有以下几个:

Minlinespacing:

内间距最小线距,若实际走线内间距小于这个值,DRC就会出错。

PrimaryGap:

默认内间距,差分对最优先线间距(边到边间距)。

Primarywidth:

默认线宽,差分对最优先线宽。

NeckGap:

NECKMODE模式下默认内间距差分对Neck模式下的线间距(边到边间距),用于差分对走线在布线密集区域时切换到Neck值。

(NECK下的线宽用于NECKMODE下的线宽,一般在bga下面走线的时候有时候两个管脚间距过小,需要使用NECKMODE,走线时,鼠标右键,选择NECKMODE即进入NECK模式。

NeckWidth:

NECKMODE模式下默认线宽差分对Neck模式下的线宽,用于差分对走线在布线密集区域时切换到Neck值;

DynamicPhase:

动态相位检查,在16.3版本新加入的功能。

对差分对路径中每个转角之间造成的路径差异进行检查。

如在整个差分对网络中,正向与反向之间的走线差距不能超过“xmils”。

如果整个路径中的某一个位置,发生了两个信号之间相位偏移超过了规定的“xmils”,这个误差必须在“ymils”范围内补偿回来。

如下图x=20,y=600.设定约束时tolerance填入x值,maxlength填入y值。

StaticPhaseTolerance:

这个约束设置了两根差分线之间的差值,单位是mil或ns。

设置了此项后,在走线时会实时的显示走线差,在绿灯时符合约束。

Uncoupledlength:

该约束限制了差分对的一对网络之间的不匹配长度。

差分对刚刚从芯片出来的走线通常是不耦合的,“gathercontrlo”可以设置为“ignore(忽略)”和“include(包括)”,意思为在计算不匹配长度时是否包含差分对刚从芯片出来的这段不耦合的线长。

然后在Net->routing->DifferentialPair中,这时差分对就可以选择刚才设置的规则了;选中规则布线后如下图

1.3.2

设置不过电阻的NET等长

即上图中的DDR_DQ0-3,布线要求,DQ1-3以DQ0为参考,线长在±10mil内

设置Electrical->Net->Routing->RelativePropagationDelay

选中所需NET,右键Create->MatchGroups,弹出的对话框中命名约束条件并确定;若是先已经创建了MG_DQGROUP,需要添加其他的NET,选中需要添加的NET,右键,Addto->MatchGroups;选择已有的约束条件添加;

在刚才设置的网络组中,可以选择其中的一根作为参考,在对应的【Delta:

tolerance】栏中右键Setastarget,即可设置为参考网络;假如不设置参考网络,则所有的网络都要匹配到+tolerance;

【Delta:

tolerance】

100mil:

10mil假设参考线1000mil,则线范围为1000+100加减10mil;即990~1110mil

-100mil:

10mil假设参考线1000mil,则线范围为1000-100加减10mil;890~990mil

布线后如图:

1.3.3设置过电阻的XNET等长

即上图中的ADDR0-3,布线要求,ADDR1-3以ADDR0为参考,线长在±10mil内

设置XNet

Analyze->ModelAssigment;弹出对话框,可以选择某种电阻,也可以选择某个电阻;

现在选中某种电阻;Create->Model;弹出对话框默认确定,在弹出如下对话框;

因为在原理图中,ADDR3_A和ADDR3连接排阻的1和8;类推,所以是以1826....对应;如下图,ADDR3_A和ADDR3两条NET合并成一条XNRT;

创建Pin-Pair

在ADDR0上右键Create->Pin-Pair;选中电阻两端MCU和DDR的管脚腿

创建完后如下图

创建MatchGroup

选中上面的4个PPr,右键Create->MatchGroup;接下来就和设置不过电阻的NET等长的步骤一样了;布线之后如下图

1.3.4设置T型等长

1.3.4.1在PCB和约束管理器中创建T型节点

在PCB菜单栏中选中Logic->NetSchedule,然后选中要设置的T型网络的鼠线,在选中要设置网络的其中一个引脚,右键InsertT命令,在合适的地方左键放置T点,然后选其他的引脚再选中刚放置的T点,依次设置完该T型网络上的所有的节点;

删除某个T节点,PCB菜单栏中选中Logic->NetSchedule,选中网络右键UnscheduleNet,然后右键Done;

在约束管理器中,右键刚才设置的那根Net,Create->ElectricalCSet,命名,注意勾选CopyConstraintsFrom;然后其他网络就可以使用这个规则了。

然后在其他需要设置T型网络的NET中ReferencedElectricalCset中选中刚才设置的规则;如下图

1.3.4.2在SigXplorer和约束管理器中创建

Electrical->Net->Routing->Wiring

选中需要设置T型网络的net,右键选中SigXplorer,进入界面,重新设置拓扑结果之后,注意上面有元件的编号,Set->Constraints;弹出界面,在Wiring中VerifySchedule中选中YSE,单击OK;File>UpdateConstraintManager;到如下的拓扑结构:

然后在其他需要设置T型网络的NET中ReferencedElectricalCset中选中刚才设置的规则

然后通过Pin-Pair的方式设置等长

 

1.3.4.3设置线长

选中PropDelay标签,设置方法,在Pins/Tees中先选中T.2再选U4.4,在RuleType中选择Length,分别在minlength,maxlength中输入500,510;依次把所有的都设置好;

上面解释:

从从T.2到U4.4的线长为500~510mil;

设置相对延时:

选中RelPropDelay标签,方法:

先在【RuleEditing】栏点击New按钮,

在【Pins/Tees】栏点击R4.2

再点击U4.4

注意【Scope】栏为“Local”,

在【DeltaType】栏,选择“None”,

在【TolType】栏,选择“Length”,

在【Tolerance】栏,输入“20”,

点击ADD按钮。

按上面的方法设置其余三线;

单击OK;File>UpdateConstraintManager;

注意:

好像走线有过孔时很麻烦,拓扑结构改变?

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1