Allegro约束规则设计

首先是物理规则。
然后是间距规则。
如果有些特殊要求,还需要设计电气规则。

原则上,把规则设计好,然后把规则赋值给网络。

++++++++++++++++++++++++++++++++++++++
物理规则。PCS。

对于名字为DEFAULT的PCS,这是最基础的整板默认规则。
没有特殊要求的网络,套用这个DEFAULT。
设置line width min为5mil,neck width min为4mil,即可。
max如果没有限制,设置成1000mil即可。
DEFAULT由于不是给DIFFPAIR用的,所以diff pair的属性不需要设置,保持0即可。
vias,选择合适的via,拖进去。一般是via16cir8d或者via24cir12d。
BB via stagger,min设置为5mil即可。max保持0即可。
pad-pad connect,设置为all-allow,
etch,设置为true,
ts,设置为anywhere。

对于名字为PWR的PCS,这是给板上电源网络赋值的规则。从DEFAULT上复制过来,修改几个着重调整的属性。
line width min,要加粗,设置为15mil。
neck width min,要加粗,设置为5mil。
vias,如果需要更粗的via,就拖进去。

对于名字为DIFF100OHM的PCS,这是给板上的DIFFPAIR赋值的规则。从DEFAULT上复制过来,修改几个着重调整的属性。
line width min,要按阻抗调整,设置为4.1mil。
neck width min,要按阻抗调整,设置为4mil。
vias,如果需要更细的via,就拖进去。
重点是调整diffpair相关的属性。
min line spacing,设置为4mil。
primary gap,设置为8.5mil。
neck gap,设置为4mil。
tolerance,保持0即可。

之所以差分对的spacing在PCS,而不是在SCS中,是因为allegro认为,一个差分对,是由3个要素组成的一个整体,两根铜线,一根介质线。

+++++++++++++++++++++++++++++++++++++++++++++++++
为差分对赋值PCS。

首先是为差分对,创建DPR。然后把之前设置的DIFF100OHM的规则赋值给DPR。
如果有多个DPR需要赋值相同的PCS。那么,把这些DPR创建到一个NCLS中,或者NGRP中。
然后把设置的PCS赋值给NCLS或者NGRP。

++++++++++++++++++++++++++++++++++++++++++++++++++++
为电源赋值PCS。

找到对应的电源网络,把之前设置的PWR的PCS赋值给电源。
如果有多个电源网络,需要赋值相同的PCS。那么,把这些电源网络创建到一个NCLS中,或者NGRP中。
然后把设置的PCS赋值给NCLS或者NGRP。

+++++++++++++++++++++++++++++++++++++++++++++++++++
为region赋值PCS。

Region是一个具有名字的shape,存在于对应的subclass。
将PCS赋值给region shape之后,系统在DRC时,会判断是否依据region rule 来检查。而不考虑net rule。

++++++++++++++++++++++++++++++++++++++++++++++++++
间距规则。SCS。
间距约束的是两个不同网络的元素之间的隔离要求,排开要求。
间距越大,越不会发生短路,串扰也越小,但是代价是,板子空间利用率不高。
所以间距设置时,尽可能的设置的小,但是不能太小,起码要满足3W原则。
所以,如果线宽设置为5mil,那么,spacing起码要设置为10mil。以满足3W原则。

间距是两个元素之间的相互关系,所以系统在DRC时,对同一个隔离带,会发起两次DRC检查。
例如,net1 和 net2之间的间距检查。
第一次,是net1为master, net2 为slave,以net1的net rule为依据,检查DRC。
即master element to slave element。
第二次,是net2为master,net1为slave,以net2的net rule为依据,检查DRC。
即master element to slave element。

如果net1和net2 具有相同的规则,那么两次DRC检查,结果是一致的。
如果net1和net2具有不同的规则,那么两次DRC检查,只有满足更苛刻的规则时,DRC才不会报错。

net rule,是这样的概念,即this net to other net。
为NET赋值SCS后,系统会为该NET,生成一系列的master-slave-net-pair,这些MSNP,赋值相同的SCS。
为NCLS赋值SCS时,系统会为NCLS中的每个net,赋值相同的SCS,作为各自的net rule,当然,也可以定制自己的net rule,覆盖掉NCLS所赋值的属性值。
系统会为每个NET,生成一系列的MSNP,赋值对应的SCS。
为CCLS赋值SCS后,系统会为CCLS,生成一系列的MSNP,赋值相同的SCS,并覆盖掉在net rule中或者NCLS rule中生成的同一个MSNP的SCS属性值。
也就是说。CCLS明确指定了MSNP的属性值,而不是由系统遍历生成MSNP。

对于名字为DEFAULT的SCS,这是最基础的整板默认规则。
没有特殊要求的网络,套用这个DEFAULT。

一般,两个元素之间,spacing设置为5mil,或者6mil。
但是,有些元素具有更强的排开要求,如shape,
所以,单独调整shape to 相关的属性,
shape to line,调整为10mil,
shape to pin,调整为10mil,
shape to via ,调整为10mil,
shape to shape,通常是电源与其他电源的隔离,调整为15mil,或者20mil。
shape to finger,通常是电源与金手指的隔离,调整为20mil或者25mil。
shape to hole,通常是电源与机械孔的隔离,调整为20mil或者30mil。

对于名字为PWR的SCS,从DEFAULT上复制过来,并加大间距值。
对于名字为CLK的SCS,从DEFAULT上复制过来,并加大间距值。
对于名字为BGA的SCS,从DEFAULT上复制过来,并减小间距值。

+++++++++++++++++++++++++++++++++++++++++++++++++++
为敏感信号网络赋值SCS。

将之前设置好的SCS,赋值给敏感信号网络。
那么其他网络的元素,被按照更严格的间距规则排开。

如果有多个敏感信号网络需要赋值相同的PCS。那么,把这些创建到一个NCLS中,或者NGRP中。
然后把设置的SCS赋值给NCLS或者NGRP。
+++++++++++++++++++++++++++++++++++++++++++
为电源网络赋值SCS。
将之前设置好的SCS,赋值给电源网络。
那么其他网络的元素,被按照更严格的间距规则排开。

如果有多个电源网络,需要赋值相同的SCS。那么,把这些电源网络创建到一个NCLS中,或者NGRP中。
然后把设置的SCS赋值给NCLS或者NGRP。

++++++++++++++++++++++++++++++++++++++++++
为region赋值SCS。

Region是一个具有名字的shape,存在于对应的subclass。
将SCS赋值给region shape之后,系统在DRC时,会判断是否依据region rule 来检查。而不考虑net rule。

+++++++++++++++++++++++++++++++++++++++++
为 Net class-class赋值SCS。

CCLS是两个NCLS构成的网络组对。
首先设置好SCS。然后把SCS赋值给CCLS 。

++++++++++++++++++++++++++++++++++++++++++
同网间距。SNSC。

SCS中,约束了MSNP的隔离和排开要求。这些,都是不同网络的元素之间的两两关系。
如果是同网的两个元素,如果也有隔离和排开要求,那么,就需要SNSC来约束。
类似与MSNP的建立,系统也会为同网建立MSNP。
只不过,此时的master net和slave net,是同一个网络。
称之为master-slave-net-pair-self,简称MSNPS。

++++++++++++++++++++++++++++++++++++++++++++++
电气规则。ECS。

ECS中,常用的是Routing相关的属性。

Wiring中,
topology,设置走线拓扑,
stub length,设置桩线最大长度,
max parallel,设置平行布线最大长度,
layer sets,设置允许布线的层。

Vias中,
max via count,设置路径中最多使用过孔数目。

Impendance,
设置允许的阻抗值。

MinMax Propagation Delay中,
pin pairs,设置哪些PPR参与DRC检查。longest 通常是max超标,shortest 通常是min超标。

Total Etch Length中,
min,设置最小走线长度,
max,设置最大走线长度,

Diff Pair中,
uncoupled length max,设置最大的非耦合长度,
static phase tolerance,设置相差,
dynamic phase max length,设置动态相差,
dynamic phase tolerance,设置动态相差,

min line spacing,设置差分对内最小间距,
primary gap,设置差分对内主间距,
primary width,设置差分对主宽度,
neck gap,设置差分对内辅间距,
neck width,设置差分对辅宽度,

Relative Propagation Delay中,
pin pair,设置哪些PPR参与DRC检查。
tolerance,设置组内相对差值。

++++++++++++++++++++++++++++++++++++++++++
为差分对设置等长

差分对等长,只需要关注routing-diff pair- static phase tolerance,
通常设置为15mil。如果更严格,则设置为5mil。

有两种方式,一种是建立一个ECS,设置routing-diff pair- static phase tolerance,
然后将ECS 赋值给DPR。
另一种是,直接在NET的routing-diff pair- static phase tolerance上,修改属性值。
推荐使用第二种。

++++++++++++++++++++++++++++++++++++++++++
为匹配组设置等长,MGRP

首先,需要从NET中抽取出PPR,创建出引脚对。
然后,将这些PPR创建为MGRP。
然后,在routing-relative propagation delay中,为MGRP修改各个属性值。
在这个表单中,
MGRP是不能使用ECS的,
且普通的NET,也是不能设置这个表单的属性值的。

也就是说,这个表单,就是专属于MGRP的。

重点关注delta:tolerance这个属性。
这个属性的编辑,可以支持mil单位,也可以支持ns单位,也可以支持百分比单位。
推荐使用mil单位。
两个数值之间,使用冒号分隔。
输入时,不用输入单位,会自动将单位带入。

在delta:tolerance列,某个PPR的对应框上,
右键,选择change,可以编辑属性值。
通常将delta设置为0mil,
通常将tolerance设置为300mil,如果要求更苛刻,可以设置为50mil。
右键,选择set as target,可以将PPR设置为target。
右键,选择clear,可以将PPR取消target。

如果一个MGRP中,存在一个PPR作为target,那么其他的PPR,将相对于这个target,计算delta:tolerance。
如果一个MGRP中,不存在target,那么所有的PPR中,会选择最长的作为target。

++++++++++++++++++++++++++++++++++++++++++++
AIPT
自动等长命令。
在cmd 中输入
aipt,回车,即可启动AIPT。

通常关闭off-angle segment,
开启uncoupled bump,
设置bump的height 为2X,设置bump的width为2X。

+++++++++++++++++++++++++++++++++++++++++++
AIDT
自动等长命令。
在cmd中输入
aidt,回车,即可启动AIDT。

gap,设置为3X,
min amplitude,设置为3X,
max amplitude,根据空间设置,一般设置为8X,空间够的话设置为40X。
miter size,设置为1X,

  • 2
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值