Allegro163约束规则Word文档下载推荐.docx

上传人:b****5 文档编号:21159705 上传时间:2023-01-28 格式:DOCX 页数:51 大小:2.53MB
下载 相关 举报
Allegro163约束规则Word文档下载推荐.docx_第1页
第1页 / 共51页
Allegro163约束规则Word文档下载推荐.docx_第2页
第2页 / 共51页
Allegro163约束规则Word文档下载推荐.docx_第3页
第3页 / 共51页
Allegro163约束规则Word文档下载推荐.docx_第4页
第4页 / 共51页
Allegro163约束规则Word文档下载推荐.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

Allegro163约束规则Word文档下载推荐.docx

《Allegro163约束规则Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Allegro163约束规则Word文档下载推荐.docx(51页珍藏版)》请在冰豆网上搜索。

Allegro163约束规则Word文档下载推荐.docx

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

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

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

(1)PinDelay

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

(2)不耦合长度(UncoupledLength)

不耦合长度约束是用来限制差分对的一对网络之间的不匹配长度。

若“gathercontrol”设置为ignore,则实际不不耦合长度不包括两个驱动和接收之间的耦合带之外的长度。

若“gathercontrol”设置为“include”,包含出芯片的这段不耦合长度。

当不耦合(即在差分对刚刚从芯片出来的走线通常是不耦合的,不耦合有一定的长度)长度超过“max”时产生冲突。

(3)相位偏差(StaticPhaseTolerance)

相位偏差约束确保差分对成员在转换时是同相和同步的。

实际的数值(actualvalue)从长度上或者时间上反应了差分对成员之间的差值,当差值超出tolerance值时,就会有冲突。

(4)最小线间距(MinLineSpacing)

最小线间距约束指差分对之间的最小距离,如果小于设定的最小值则报错。

添加的最小线间距约束值必须小于或者等于PrimaryGap减去(-)Tolerance,并且也要小于或者等于NeckGap减去(-)Tolerance。

(5)耦合参数(CouplingParameters)

这里面包括6个部分需要设置。

1、Primarygap:

设置的是差分对之间的边到边理想间距,(+/-)tolerance值是允许DiffPairs的偏差值,如果间距偏差在范围内,差分对被认为是耦合的;

2、Primarywidth:

差分对成员的理想宽度;

3、Neckgap:

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

4、Neckwidth:

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

5、(+)Tolerance;

6、(-)Tolerance。

使用差分计算器可以完成综合线宽和线距的计算以获得特殊的差分阻抗。

在约束管理器中右键点击PrimaryGap,NeckGap,或者(+/-)tolerance相应的单元格,在弹出的菜单选择Change命令,然后点击按钮

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

差分对规则说明

分模型定义的差分对和用户定义的差分对来说明:

模型定义的差分对

用户定义的差分对

可以在PCBDesign,PCBSI中使用Analyze-SI/EMIsim-Model命令进行创建,如果要做分析,首先需要进行设置-包含设置叠层、指定DC网络、指定元件CLASS、指定模型等。

可以PCBDesign,PCBSI中在约束管理器中使用Creat-DifferentialPair命令创建,也可以使用Logic-AssignDifferentialPair命令创建。

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

用户定义的差分对没有模型指定的精确,因为模型指定的有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。

•Longestpin-pair

•Longestdriver-receiverpair

•Alldriver-receiverpairs

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

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

•在AllConstraints和Timing工作表中的对象一定要有驱动和接收;

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

•约束管理器确定longest/shortestpin-pairlength是基于驱动和接收,如果没有任何驱动和接收,就考虑Xnet;

•对于相对传输延迟约束,仅仅确定longestpin-pair。

5、MatchGroup(匹配群组)

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

如果delta值没有定义,组内的所有成员都将是绝对匹配的,并允许有一定的偏差。

如果定义了delta值,那么组内所有成员将相对匹配于明确的目标网络。

下面的是MatchGroup的必要属性:

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

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

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

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

例1

Net

Target

Delta

Tolerance

Comments

Data1

未指定

10mil

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

Data2

Data3

例2

0mil

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

参考

例3

100mil

Data1此群组参考值,所有的网络都必须匹配Data1在100mil之内并加上或者减去指定的偏差值10mil。

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

5.2如何确定targetpinpair

一旦pin-pairs中的一对被选择作为目标,其他的pin-pairs都要与此目标以给定的delta和tolerance内来匹配。

约束管理器决定目标pin-pairs的方法如下:

•明确指定的pin-pair。

•如果所有的pin-pairs都有delta值,那么有最小delta值的网络就是目标。

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

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

5.3相对/匹配的群组规则

•MatchGroup仅能在Routing工作簿的RelativePropagationDelay工作表中的指定。

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

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

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

二、电气规则设置

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

●【Net】工作簿中双击【Routing】展开工作表。

在这个工作表中有【Wiring】、【Impedance】、【Min/MaxPropagationDelays】、【TotalEtchLength】、【DifferentialPair】、【RelativePropagationDelay】几种表格。

●点击【Min/MaxPropagationDelays】显示相关的表格。

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

●按Tab键。

在【PinPairs】列自动选择了“AllDrivers/AllReceivers”,也就是说ADV_C0网络上的信号所有的的驱动和接收都被设置了传输延迟。

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

●选中刚才设置的网络ADV_C0,然后在菜单选择【Objects】/【Creat】/【PinPair…】命令,进入【CreatPinPairsofxxxforpropagationdelay】对话框。

或者点击右键在弹出的菜单选择【Creat】/【PinPair…】命令。

确定【FirstPins】和【SecondPins】

●点击按钮。

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

●将【Min】的值从“0.9ns”改为“0.8ns”。

将【Max】的值从“1.1ns”改为“1.0ns”。

(这表示这一对PinPair单独被设定Min/MaxPropagationDelays值。

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

可以设置网络或者管脚对的相对于其他网络的传输延迟,所有这些网络或者管脚对可以形成一个匹配的群组,有目标管脚对或者网络。

下面将设置目标网络DDR_DQS0(实际上此为一差分对)的传输延迟,并生成一个匹配的网络,然后增加DDR_D<

00>

至DDR_D<

07>

和DDR_DQM0到匹配的群组并设置相对于网络DDR_DQS0的传输延迟。

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

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

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

4)在【Routing】工作簿选择【RelativePropagationDelay】工作表,展开差分对DDR_DQS0(由DDR_DQS0和DDR_DQS0N两个网络构成),选中XnetDDR_DQS0,然后选择【Objects】/【Create】/【MatchGroup】命令(或者按右键在弹出的菜单选择【Create】/【MatchGroup】命令),出现【CreatMatchGroup】对话框。

在【MatchGroup】栏输入名称“MY_GROUP”,请见下图。

5)点击

按钮。

6)在约束管理器界面,右键点击“MY_GROUP”,在弹出菜单选择【Membership】/【MatchGroup】,进入【MatchGroupMembershipforMY_GROUP】对话框,把DDR_DQS0N、DDR_DQM0、DDR_D<

都移到右面,请见下图。

【MatchGroupMembershipforMY_GROUP】对话框

点击

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

7)针对Xnet网络DDR_DQS0(此处不是差分对,而是Xnet),点击【Scope】栏空格,在下拉选项选择“Global”,意思是要匹配群组中的所有的管脚对要匹配。

而【Delta:

Tolerance】栏,点击右键,点击Setastarget,即设置此Xnet为目标网络。

8)针对网络DDR_DQS0N,在【Delta:

Tolerance】栏中输入0mil:

2mil,即差分对间的匹配,相对目标网络DDR_DQS0长度误差为±

2mil。

9)针对DDR_DQM0、DDR_D<

,分别点击【Scope】栏空格,在下拉选项选择“Global”。

而【PinPairs】栏自动设置为“AllDrivers/AllReceivers”。

在【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】工作薄的【DifferentialPair】工作表,选择网络DDR_CLK和DDR_CLKN。

在约束管理器菜单选择【Objects】/【Create】/【DifferentialPair】命令(或者按右键在弹出的菜单选择【Create】/【DifferentialPair】命令),产生差分对DP_DDR_CLK,如下图所示:

2)在约束管理器中,针对DP_DDR_CLK进行设置。

点击【UncoupledLength】列下面的【GetherControl】列空格,在下拉菜单选择“Ignore”。

这个选项“Ignore”或者“Include”决定计算不耦合长度是否包括从管脚出来的一段。

设置【Max】为“200mil”,在【PhaseTolerance】栏设置【Tolerance】值为“2mil”。

在【MinLineSpacing】栏,设置【Min】为“6mil”,在【Coupling】栏设置【PrimaryGap】为“8mil”,设置【PrimaryWidth】为“6mil”,设置【NeckGap】为“4mil”,设置【NeckWidth】为“6mil”,设置【(+)Tolerance】为“2mil”,设置【(-)Tolerance】为“2mil”。

如果知道这一对管脚的封装延迟,就在【PinDelay】中填入相应的值。

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

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

4.1设置时序约束

在约束管理器界面【Net】部分点击【Timing】,双击【Timing】展开工作簿,点击【Switch/SettleDelays】工作表,调整工作表为满屏显示,选择Xnet网络ADC_C0。

在【MinFirstSwitch】栏,设置网络“ADC_C0”【Min】值为“0.25:

0.26”,即设置信号上升沿为0.25ns,下降沿为0.26ns。

在【MaxFinalSettle】栏,设置网络“ADC_C0”【Max】值为“3.25:

3.25”,即设置信号最大的最终建立时间对于上升沿为3.25ns,对于下降沿为3.25ns。

如下图所示,选择【File】/【Save】。

4.2设置电气属性约束

1)点击【Net】文件夹的【SignalIntegrity】,双击【SignalIntegrity】工作薄,展开工作表,注意有【ElectricalProperties】、【Reflection】、【EdgeDistortions】、【EstimatedXtalk】、【SimulatedXTalkandSSN】几个工作表显示。

点击【ElectricalProperties】,显示【ElectricalProperties】工作表,找到网络DDR_CLK。

2)在DDR_CLK行【Frequency】列输入“333”,单位是MHz。

缺省的【DutyCycle】是“50%”。

缺省的【Jitter】是“0”,改为“3”,缺省的单位是“ps”。

缺省的【CycletoMeasure】是“1”,改为“2”。

4.3设置反射属性约束

1)在约束管理器界面,点击【Reflection】工作表,找到DDR_CLK网络。

设置网络DDR_CLK的【Oversheet】的【Max】栏值为“5100:

-610”,缺省单位是mV。

意思是设置上升沿最大过冲为5100mV,下降沿最大过冲为-610mV。

对于【HighActual】、【LowActual】、【Margin】的值是仿真后得到的实际结果,不能输入。

2)设置【NoiseMargin】,在【Min】栏输入“100:

100”,缺省单位是mV。

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

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

你可以给关键网络定义约束,也可以将一组约束定义为一个ECSet然后应用到每个相应的关键网络,这样可以创建一个通用的约束应用到很多的网络上,并且约束变更时,所有参考此约束的网络都会更新。

另外可以重用ECSet,可以将ECSet导入新的设计中,节省时间。

可以使用ECSet设置总线的某一位的pin-pair约束,然后将此约束加到总线上。

约束管理器的主要优点:

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

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

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

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

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

5.1创建ECSet

在SignalExplorer中获取DDR_D00的下述约束:

•Maxovershoot

•Minnoisemargin

•Minfirstswitch

•Maxfinalsettle

•Impedance

1)在约束管理器界面Net部分中,点击【SignalIntegrity】工作簿下的【Reflection】,右键点击DDR_D00,在弹出的菜单选择【SigXplorer…】,弹出【SigXplorerPCBDesignHDL

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

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

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

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