Allegro16.3约束设置

差分对的约束设置

第一步,差分对的设置

差分对的设置有很多方法,下面介绍两种最常用的方法。

1. 点击菜单Logic→Assign Differential Pair... 弹出以下对话框。

点击你想要创建差分对的Net1和Net2,填入差分的名字,点击Add后就成功创建了差分对。

点击Auto Generate按钮后,弹出以下对话框:

在第一个输入框填入Net的主要名字后,在下面的框中填入差分线的标志如N,P。点击Generate即可自动产生差分对。

2.在约束管理器中设置差分对。

在DSN上点击右键,在菜单中选择Create→Differential Pair。即可弹出下面的对话框。

和上一种方法的设置差不多,这里就不再叙述了。

第二步  差分对约束规则的设置

差分对各项约束可以在约束管理器中的Electric→Net→routing→Differential Pair中直接在各差分对上填入各项约束数值就可生效,但更好的方法是创建约束规则后赋给各个差分对。

在DSN上点击右键,在菜单中选择Create→Electrical CSet后,弹出下面的对话框;

输入规则名后点Ok,在Electric→constraimt set→outing→Differential Pair中可以看到新规则。

在表格中输入各项数值即可完成新规则的设置。如图所示

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

1coupling paramaters 主要包括了

Primary Gap 差分对最优先线间距(边到边间距)。

Primary Width 差分对最优先线宽。

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

Neck Width差分对Neck模式下的线宽,用于差分对走线在布线密集区域时切换到Neck值。如图所示

设置数值时在表格中右键菜单中选择change,会出现以下各层数值表格,可以在每一层上设置不同的数值。

需要注意的是在物理(physical)约束中同样可以设置差分规则,但是电气规则约束在布线时更优先,同时电气规则可以设置更多的约束,推荐在电气规则中设置差分走线的约束。

2 Min Line Specing 差分对最小间距,一定要小于或等于"Primary gap"与(-)tolerance的数值,并且也要小于或等于"Neck gap"与(-)tolerance的数值。对于不符合约束的差分对,会显示“DS”的DRC错误提示。

3 Dynamic Phase:动态相位检查,在16.3版本新加入的功能。对差分对路径中每个转角之间造成的路径差异进行检查。如在整个差分对网络中,正向与反向之间的走线差距不能超过“x mils”。如果整个路径中的某一个位置,发生了两个信号之间相位偏移超过了规定的“x mils”,这个误差必须在“y mils”范围内补偿回来。如下图x=20,y=600.设定约束时tolerance填入x值,max length填入y值。

对于不符合约束的走线的路径会以高亮显现,并且显示DY错误。

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

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

在Net→routing→Differential Pair中也可以看到实际的值。

需要注意的是布线时“SPhase”显示的是裕量值(Margin),而并非实际值(Actual)。

裕量值的范围

如图所示在-∞到+-公差区间内,实际线长比目标线长要短,裕量值为实际值—目标值+公差。绿灯0意为实际值比目标值少公差值长,+裕量值越大意为实际线长越接近目标线长。

在+∞到+-公差区间内,实际线长比目标线长要长,裕量值为实际值—目标值—公差。

—裕量值越大意为实际线长越接近目标线长。

对于不符合约束的差分对会显示”DP”的DRC错误提示。

5 Uncoupled length:该约束限制了差分对的一对网络之间的不匹配长度。差分对刚刚从芯片出来的走线通常是不耦合的,“gather contrlo”可以设置为“ignore(忽略)”和“include(包括)”,意思为在计算不匹配长度时是否包含差分对刚从芯片出来的这段不耦合的线长。在在Net→routing→Differential Pair可以查看具体的数值。

对于不符合约束的差分对,会显示“DU”的DRC错误提示。

间距约束规则设置

间距约束设置有两种方法;1,直接在spacing→net→all layer中填入各项数值。

2,创建约束规则,赋给各net。这种方法管理方便,在 Physical 和 Spacing 设置中用后者比较好。

1, 创建规则

如图,点击右键后选择Create→Spacing Cset。

输入名字后点OK。

2.设计规则

图示中的为all layer-line中的内容,可以设置连线到各个要素的约束,在all layer中还有其他的内容的约束,和图示内容基本一样,可以分别设置。

设置好后可以在all layer-all中查看一下,这里包括了所有约束的内容。

3.赋予规则

在net-all layer中,设置Referenced Spacing Cset栏即可选择不同的约束规则,如图所示。

Net class-class的间距设置

NCIs(NET CLASS)由众多nets或者buses、differential pairs、Xnet所组成的类,可对其赋予相似的约束。

NCC(Net Class-Class)也就是设置不同class组相遇后的间距设置。

首先建立class组。

首先在net-all layer中复选多个对象,右键后选择Create-Class。

输入Class名后即可建立class。

设置class-class规则

如图,在Net Class-Class – all layer中点击右键选择Creat-  Class-Class,即可弹出以下对话框。

分别选择不同的class组后即可建立class-class对。

如图,CCls LED设置的是class组LED内部的间距规则。

CCls 48设置的是class组LED对class组48的间距规则。

same net spacing工作表

在Spacing工作表下还有same net spacing工作表,用于对同一网络上的不同元素进行间距约束。在16.2以前的版本中只能选择是否开启same net DRC检查,16.2后专门独立出一个工作表,可以设置详细的数值。

规则设置和Spacing规则设置没有多少差异,可以和Spacing规则设置的一样。

需要在Analysis – Analysis Modes -- same net spacing Modes中开启分析选项,如图。

并在same net spacing – Options中开启相应层的DRC选项,如图。

为了避免和Spacing DRC混淆,Same Net Spacing DRC显示为小写,如图。

区域约束规则设置

region约束就是15.X 的 Area 约束。在pcb布线时有些区域比如bga封装区因为过孔密集需要特殊的线宽线距约束,此时设置region就可以满足要求

首先,创建region区域。

在physical或者 spacing工作表下新建一个区域(Region)约束。

输入名字。

建立完成后,在pcb板上画出一个区域。选择 shape-regtanglar,注意在右边的options 窗口中,active class subclass 选择 constrait region,选定你需要约束的那一层,在 assign to region 里选择刚刚建好的好个区域规则(RGN2)将这个规则指定到这个区域中。

建好了region就可以赋予相应的规则了。

建立区域物理规则

如图,在菜单中选择Create – region-class,弹出的对话框中选择需要约束的class组,就可以建立在该区域下class组的走线物理约束规则。

设定好约束后,在region区域就会按照特定的规则走,出了region后就按照一般的规则走。

建立区域间距约束规则

创建region-class规则

如图,在菜单中选择Create – region-class,弹出的对话框中选择需要约束的class组,就可以建立在该区域下class组的走线间距约束规则。

创建region-class-class规则、

如图,在菜单中选择Create – region-class-class,弹出的对话框中选择需要约束的两组class组,就可以建立在该区域下两组class组相遇时的走线间距约束规则。

如图所示,在区域内设置两线最小间距1mil,布线时间距不少于1mil就不会有DRC错误。

等长约束设置

首先设置管脚对(pin pair).

在Electrical-net-Relative Propagation Daley工作表中,选中要建立的网络名,右键选择Create-Pin Pair。

在弹出的对话框中选择管脚。

创建match group

将所有设置等长的网络创建好的管脚对后,选中管脚对,右键选择create-match group。

输入名字后即可创建match group。

等长设置

设置好match group后就可设置等长了。主要设置参数如下图所示

Scope:可以选择Local和global。Local意为仅比较同一Net或XNet内的管脚对,Global意为比较同一Match Group内的所有管脚对。一般选择Global即可。

Pin delay:大多是在pin之间的延时不一致时,需要做一个补偿,那就需要设置pin delay,指的是IC包装内部的长度。需要在菜单Analyze -> Analysis Modes填入->Options.勾Analyze选PinDelay开启此功能。打开后,在计算线长时就会包括这段线长。

另外pin delay下的Z Axis Delay指的是计算线长时是否考虑Via的长度,设置好了叠层参数后就会加上via的长度。

delta:tolerance:这项控制了match group内的线长差。单位有三种:ns,mil,%;单位%指以目标线的N%为公差。对已经走好的线,以最长值为目标线。

Delta指的是基准线比目标线长还是短,长则写入+delta值,短则写入-delta值,和目标线一样长则写入0,计算公差时的基准线便是目标线长加上delta值的结果。如上图,target线长2120.08mil,delta值为20mil, 计算差值时就是(2120.08+20)-1680.28=459.80mil。

Tolerance值为于基准线的误差,是+/-误差。如果写50mil其实为+50/-50mil误差,实际为100mil的误差。一般设置等长时Delta为0,有特殊需要时可以考虑设置delta值。

对不满足约束的走线,显示“ED”错误,如图所示。

电气规则规则设置内容

(1)Net/Singal Intergrity工作表中包括了Electrical Properties,Reflection,Edge Distortions,Estimated Xtalk,Simulated Xtalk和SSN六种用于设置电气属性的选项。不同的选项可以进行不同属性的设置,具体内容如下。

1 Electrical Properties选项。

Frequency:表示网络的频率。

Period:表示网络的周期,如果在Frequency项中输入了具体的数值,在周期栏中会自动算出频率,相应的当输入具体周期的数字是频率也会自动出现。

Duty cycle:表示占空比。

Jitter:表示时钟抖动值。

Cycle to measure:表示仿真时测量数据的周期。

2 Reflection选项

overshoot在max列中输入过冲约束。在“hign actual”选项中出现的为网络的实际高,低电压,在“margain”选项中显示的为最差情况的实际值和“max”的差值。

Noise Margin在“min”选项中出现的最小裕量约束吗,参考点为接受端的高和低阀值。

3 Edge Distortions选项后,可进行如下特性设置。

Edge secsitivity:标记网络或者扩展接受端是否对单调性敏感。

First incident switch:标记第一个波形到了时,是否需要转换。

4 Estimated Xtalk选项

Active window:表示网络正处于转换或者产生噪声的窗口。

Senstive window:表示网络处于稳态和易受干扰的状态窗口。

Ignore nets:表示计算串扰时可以忽略的网络。

Xtalk:在“max”列填写受扰网路上最大允许的串扰。

peak xtalk:在“max”列填写一个干扰网路对受扰网络上产生的最大可以允许的串扰。

5 Simulated Xtalk选项。该工作表的约束内容与Estimated Xtalk工作表的约束内容相同,区别是Simulated Xtalk工作表用于查看仿真的串扰结果;Estimated Xtalk工作表用于预测串扰结果。

6 SSN选项

Max SSN:最大同时转换噪声,单位MV。

Power bus name:电源总线名。

Ground bus name:地总线ming。

Actual:实际噪声。

Margin:裕量,如果为负值,则将会有冲突发生。

(2)设置时序规则

1 Switch/settle Delays工作表。Switch/Settle Delays工作表主要用于设置可以允许第一个转换延迟和最大的建立延迟,通过仿真对实际值和约束值进行比较,得出裕量值。

2 setup/Hold工作表。在Setup/Hold工作表中可以填写时钟的网络名称,周期,时钟延迟和时钟偏移等数值,将这些数值进行最终的比较,会得出所创建的系统是否符合元件要求的建立保持时间。

(3)设置走线规则

1 wiring选项

topology如果“verify schedule”选项设置为“yes"则进行DRC检查,最大同时转换噪声,转换的单位为MV,格式为”高“或者“低”,单击“schedule”栏中所对应的表格,在下拉列表中可以选择预置的几个拓扑结构,包括菊花链(dasiy-chaim),星形(star)等拓扑结构。

Stup length:设置菊花链走线时的最大短桩长度。

Via count:设置在表层走线的最大长度。

Parallel:设置并行走线线段的线宽和线距约束。

2 Impedance选项。可以在Impedance工作表内进行目标阻抗和偏差的设置,通过计算可以得出实际值和裕量。注意叠层和材料的设置一定要正确,这样才能得出正确的结果。

3 Min/Max Propagation Delay选项。在Min/Max Propagation Delay工作表内可以进行引脚允许的最大和最新传输延迟设置,单击Pin Pair所对应的表格,出现的下拉列表中具有Longest/shortest PIn Pair,Longest/shortest Driver/Receiver和All Drivers/all Receivers等选项。

Longest/shortest PIn Pair:将最小的延迟约束赋给最短的引脚对,将最大的延迟约束赋给最长的引脚对。

Longest/shortest Driver/Receiver:将最小的延迟约束赋给最短的驱动/接受器引脚对,将最大延迟赋给最长的驱动/接受引脚对。

All Drivers/all Receivers:将最大,最小约束赋给所有的驱动/接受引脚对。

(4)Total Etch Length选项。在Total Etch Length工资表内可以设置走线的最大和最小长度,在该工作表中具有两项工作栏,分别是unrouted net length栏和routed manhattan ratio栏,前一个工作栏用来设置估计的走线长度,后一个工作栏可以显示实际的曼哈顿比例。

(5)Differential Pair选项。见差分对约束设置。

(6)Relative Propagation Delay选项。在Relative Propagation Delay工作表内可以进行对匹配的传输延迟的设置。见等长约束设置。

时间: 2024-08-28 14:08:25

Allegro16.3约束设置的相关文章

FPGA约束设置

0.引言 在使用FPGA进行设计时,当电路频率较低(小于50Mhz)时,可以不用进行时序约束,而当频率较高时,不进行约束无法让时序满足要求.目前主流的FPGA厂家有Xilinx和Altera,不同厂家的FPGA使用的软件不一样,约束设置也不同,目前,altera的Quartus II软件已经能够支持Synposys的TCL语法格式的约束,其约束设置的命令与语法与ASIC几乎一致:Xilinx的ISE软件使用UCF(user constraint file)文件进行约束,下文的约束设置介绍以ISE

二、修改表、字段属性设置、索引设置、约束设置

 字段属性设置 not null 不为空 auto_increment 设定int类型字段的值可以"自增长",即其值无需"写入",而会自动获得并增加 注:此属性必须随同 primary key  或 unique key 一起使用. [primary] key: 设定为主键.是唯一键"加强":也不能重复并且不能使用null,并且可以作为确定任意一行数据的"关键值" unique  [key] : 设定为唯一键:表示该字段的

Mysql外键约束设置使用方法

如果表A的主关键字是表B中的字段,则该字段称为表B的外键,表A称为主表,表B称为从表.外键是用来实现参照完整性的,不同的外键约束方式将可以使两张表紧密的结合起来,特别是修改或者删除的级联操作将使得日常的维护工作更加轻松.外键主要用来保证数据的完整性和一致性 两个表必须是InnoDB表,MyISAM表暂时不支持外键 外键列必须建立了索引,MySQL 4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立: 外键关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列

spring约束设置

首先,打开Windows>Preferences>XML Catalog>add>......请看下面截图 原文地址:https://www.cnblogs.com/1218-mzc/p/8338290.html

cadence约束管理器总体设置 (转)

cadence约束管理器设置是布线过程中很重要的一步,相关的设置可以使得布线事半功倍,还可以提高走线信号的信号质量,下面具体说一下.这篇文章图片大约46张,读者要仔细看看,需要说明的我会用文字解释一下,这些截图都是一步一步的操作,按着顺序的,没有间断,或者跳转,有些书籍,讲解东西,跳来跳去的,我不喜欢.这篇文章的思路是,介绍约束管理器中各个约束项,然后看看各个约束项产生的效果,接下来使用一个例子来说明整个流程,创建一个CEBUS总线,建立CEBUS的ECSET,分配该ECSET给CEBUS,然后

Xcode8更新约束

Xcode升级之后就会发现约束设置好,想更新一下约束,看看约束是不是刚刚好,习惯性的去点右下角的更新约束的结果却发现没有更新约束的这一项了,好尴尬. 后来发现原来在Xcode8的约束更新换了一个地方,并不是在原来的右下角那个地方,而是在原来的那一行的最左边,点击即可更新约束,就会看到约束加的是否正确. 附图:

SigXplorer设置延时及Local_Global

通过SigXplorer设置绝对延时和相对延时及对Local-Global的理解 一.基本理解 (感觉可能有偏差) 在于博士的教程第44和45讲中,分别对绝对延时和相对延时进行了设置,通过SigXplorer. 1.当前对绝对延时和相对延时的理解为:(用length来衡量的话) 绝对延时:绝对走线长度,为走线限定一个大体范围:(delta(min,max)<800mil,2cm) 相对延时:一组走线之间的偏差,即走线的等长设置.(tolerance<400mil,常规DDR) 2.设置绝对延时

AutoLayout 改变约束

让约束动起来,而不是frame   之前使用xib布局改变约束,把约束设置成属性,然后根据需要改变约束,把改变的代码放到动画中发现动画没有效果,只有改变frame才有动画效果,现在终于找到原因了,缺少了一句代码 [self.view layoutIfNeeded]; 即自己的视图调用这个方法,就可以实现动画效果

AutoLayout的三种设置方式之——NSLayoutConstraint代码篇

AutoLayout是从IOS 6开始苹果引入来取代autoresizing的新的布局技术,该技术有三种设置方式,等下我来为大家一一叙述一下. 在说三种设置方式前,我们先简单的说一下autolayout能够设置哪些行为. 1.视图的大小(即视图的绝对大小). 2.视图的位置(视图相对于父视图或者兄弟视图的位置). 3.视图的对齐方式(相对于父视图或者相对于兄弟视图). 可以看到autolayout相比autoresizing技术来说要灵活的多,该技术有很多布局的约束设置.这次主要讲的用代码来设置