2024年1月6日发(作者:)

CADENCE学习笔记8设置约束规则setup-constraint注意:在约束管理器中经常很多命令不能用,是因为PCB当前处于某个命令状态。设置完规则后,需要updateDRC,否则很多DRC标记不消除。setup-constraint:打开规则管理器,必须设置间距和线宽;仅用于设置线宽、线距的信号集合;可以同时为physical和spacing约束创建netclass,net-class:在electrical中看不到;在electrical中创建的netclass在其他约束中看不到。不要对电源地创建netgroup,可以创建netclassnet-group:16.6以后归集某类信号的几个,可以设置所有规则,代替以前版本的bus,创建netgroup后,在physical、spacing、electrical约束中都可以看到这个网络组;不要对电源地创建netgroup,可以创建netclass。match-group:仅用于某类信号的等长参数。给电源和地网络创建了netgroup后,移动包含电源和地网络的元件,给包含电源和地网络的元件布线都变得非常卡顿,删除这个netgroup后卡顿消除。建议电源和地网络使用netclass。添加器件模型后(设置xnet后),很多网络被合并在一起,可以通过下图来查找网络。在添加器件模型时,不要对所有元件添加模型,建议对具体的元件单个添加模型。8.1Spacing间距约束必须设置,需要设置有电气属性的布线、引脚、过孔、shape相互之间的间距。1Spacingconstrainset-Alllayer:可以对所有层设置,也可以单独对每一层设置。

在右侧表格内,default行连续选择多个表格,输入数值,然后按enter键可以实现多个表格统一赋值。一般间距不要小于6mil,一般板厂都能加工。注意此间距是走线边沿间的安全间距,不是走线中心间距。右键-create-spacingcset可以设置新规则;2Net-alllayer右侧表格可以对某个或某些网络赋予规则。最好的方法是将一些相关网络合并为一个NETclass,然后在组名上赋予规则注意上图中linetoline,过孔引脚设置为8mil,而linetosmd引脚和过孔VIA设置为4mil为了防止BGA封装内部无法布线。8.2.3区域规则在region-alllayers右侧表中右键-createregion,设置新区域规则,如果不选择referencedspacingcset,则不能对每一层单独设置,如果想要对每一层单独设置,需要先在Spacingconstrainset-Alllayer中设置规则,然后在区域规则中引用。注意shapetothruvia的间距,指的是via焊盘regularpad边缘到覆铜的距离,对于内电层,也有regularpad,一般与top层的regularpad设置成相同的。AD指的是覆铜的via内孔的距离,两者不同。下图完美的显示了过孔的结构,灰白色的圆是内孔,绿色的圆是内层的regularpad,再外侧是内电层,之间的间距是10mil就是shapetothruvia的间距,在外侧红色的圆是top层的regularpad。

8.2Physical物理约束8.2.1Physicalconstraintset-AllLayers在右侧表格中设置线宽,过孔,差分对间距,可以对所有层设置,也可以单独对每一层设置。1linewidth:线宽;2NeckminWidth:Neck模式下的线宽,在布线密集区域时切换到Neck值。Maxlength:3DifferentialpairMinlinespacingPrimaryGap:差分对最优先线间距(走线边到边间距)。PrimaryWidth差分对最优先线宽。NeckGap差分对Neck模式下的线间距(边到边间距),用于差分对走线在布线密集区域时切换到Neck值。4vias设置布线使用的默认过孔,单击PCS行via列对应的表格,弹出EditViaList对话框,可以添加多个过孔,一般via20d10和via24d12,via40d24;B/B表示盲孔和埋孔。

4pad-padconnect:是否允许焊盘上打孔。5Default表示默认规则,右键-create创建新规则8.2.2net-alllayer通过net-alllayer可以对某些net设置规则。首先创建netclass,将信号分组,然后同一设置规则。8.2.3区域规则在region-alllayers右侧表中右键-createregion,设置新区域规则在PCB中绘制约束区域:shape-polygon/rectangular/circular,option中设置constraintregion-板层,比如top(只针对top层约束)或者all(针对所有板层),绘制一个区域。修改区域:shapeselect,find选中shape,选择区域,拖动边框(不仅边框上的小方格可拖动,中间的线也可以拖动)进行修改,如果无法选中区域,可以将颜色中的globalvisibility设为OFF,然后单独打开constraintregion-all。options中可以重新指定规则。区域中的特殊信号组,可以设置不同的规则,方法在region中加一个regionclass单击新区域规则-BGA-WIDTH-SPACE-4MIL,右键-create-regionclass

8.4Electrical电气约束在ALL-constraints-signalintegrity中右键-createelectricalcset创建规则,然后在net-routing中赋予网络合适的规则。当然也可以在net-routing中对某些网络设置规则,然后右键createelectricalcset创建规则,选中copyconstraintfrom当前网络,以当前网络的规则为标准创建规则。右键-create-differentialpair创建差分对,在net-routing-differentialpair表中使用右键-create-net-class:用处不打。不要对电源地创建netgroup,可以创建netclass右键-create-net-group:信号合集,可以设置所有规则,代替以前版本的bus,创建netgroup后,在physical、spacing、electrical约束中都可以看到这个网络组;不要对电源地创建netgroup,可以创建netclass。右键-match-group:仅用于信号等长,在在net-routing-relativepropagation中使用具体参见布线-等长线、差分线等节。net-routing-via右侧表格内,右键-analyze可以查看每条走线的过孔个数。8.5Properties设置网络net的属性,比如电压值,飞线显示等。8.6Drc8.5samenetspacing网络相同的走线、via、pin、shape等之间的间距设置。

内电层与同网络过孔使用梅花连接时,之间的间隙由shapetothruvia控制,表面覆铜,覆铜与同网络引脚的间隙shapetosmdpin和thrupin控制。8.3setup-constraint-Mode设计规则在线检查项设置,也可以在约束规则管理器中analyze-analysismodes1electricalmodes:Stublength/netschedule用于T型网络拓扑Propagationdelay用于延时检查RelativePropagationdelay:用于相对延时检查,如果没有打开,则上图中actual和margin栏显示为黄色且无数据。2designmodes(package)packagetopackage设置为ON,元件外框(placeboundtop/bottom)重叠显示DRC,不是以

丝印为标准的。(习惯了丝印不重叠,结果板上placebound重叠严重)3SMDpinmodes9覆铜9.1菜单Shape1polygon、rectangular、circular:任意形状敷铜,也可以选择矩形或圆。Option:etch-板层,板层选择电源或地,则为创建电源或地敷铜;shapefill:dynamiccopper表示动态铜,会自动规避过孔,staticcrosshatch为静态网格铜,staticsolid为静态铜;assignname:设置覆铜网络;在PCB中绘制一块覆铜,此时可以右键-parameter可以对这块覆铜实例进行参数设置:Shapefill设置为solid则为实心铜皮,xhatch则为网格铜;Clearance:设置覆铜与via、pin、cline、shape的避让间距Thermalreliefconnects:设置pin、via的连接方式,全连接、十字连接等;在覆铜上打过孔,使用布线命令,find中选中shape,可以直接双击加过孔。2覆铜修改shapeselect:

单击覆铜,右键-parameter,可设置覆铜实心/网格,覆铜避让间距,覆铜与过孔等连接形状。单击覆铜,右键-assignneg,option-assignnetname重新选择网络,可以更改覆铜网络。单击覆铜,覆铜轮廓出现小方格,可以调整覆铜形状。缩小后会形成无铜区域(扩大不会),右键-raisepriority:更改shape优先级,级别高的可以推挤级别低的,并保持隔离带。Editboundary:修改敷铜的边框,先选中覆铜,然后在边框点选一点作为起始,绘制一个区域,终止于边框,就会删除一块覆铜。修改覆铜后,有时显示不正常,需要updateshape来更新覆铜。单击覆铜右键-Changeshapetype:动态覆铜与静态覆铜转换。4显示/隐藏覆铜:Setup-UserPreferences-Display-Shape_fill,勾选no_shape_fill2使用Z-copy命令也可以创建电源或地敷铜,注意options中选择ETCH-GND或者POW,需要使用selectshapeorvoid添加网络。Dummynet表示没有指定网络。5删除覆铜:Delete,options选择shapes,find选择shape,删除分割的区域;选择覆铜,右键-copytolayer可以复制到其他层。6合并分割的敷铜shape-mergeshape:要合并的敷铜网络名应该一致,属性应该相同(都是动态或静态铜),不同的敷铜区域应该有重叠。

7敷铜挖空将电源层或地层的某个位置挖空:shape-manualvoid/cavity-polygon,选择ETCH-GND或POW,netname=dummynet,单击选择敷铜(重要),然后绘制一个封闭区域,自动实现挖空。复制挖空:shape-manualvoid-copy,选择ETCH-GND或POW,单击敷铜,然后框选挖空区域,拖动实现复制。删除挖空:shape-manualvoid-delete,选择ETCH-GND或POW,单击选择敷铜(重要),然后框选挖空区域(或单击挖空区域边缘),单击实现删除。8更改约束管理器中涉及shape的规则后,所有的shape都会处于过期状态,通过display-status中的outofdateshape可以查看到,单击updatetosmooth可以更新覆铜。9.2创建电源层、地层edit-Z-Copy,option选择ETCH-内电层比如GND,选中createdynamicshape,Contract设置为20mil,然后选择边框实现内电层创建(内电层要小于routekeepin,否则会产生shape与routekeepin间距为0的DRC);内电层属于shape类.Shape-selectshapeorvoid:选择敷铜,右键assignnet,再在option-assignnetname重新选择网络,从而修改内电层敷铜网络9.2分割电源层、地层方法1:1首先绘制routekeepin-ALL2Add—Line(Circle、Rectangle),Options-ActiveClass选择AntiEtch(隔离层)-GND/POW(或者ALL),设置线宽;选择电源或地层,绘出想要隔离分割的区域,必须保证分割线的起点和终点都在routekeepin的外面,或者是一个封闭的区域。选出所要分割的层,选择Dynamic动态覆铜,选择相应的Net(如3Edit—SplitPlane—Create,没有net可选,在框内选择*),直到最后一块区域完成。4关闭anti-etch显示,看起来分割的就很漂亮了。注意覆铜之间的间距受约束管理器-spacing-shapetoshape和Shape-globaldynamicshapeparameter中shape设置的约束。如果line线宽小于约束值比如20mil,可以忽略继续,分割后shapesplitplane时会提示DRC,间距为约束值20mil,如果line线宽大于约束值,分割后shape间距为line线宽。Widthoflineat(514.04910.0)onANTIETCH/PWR5islessthanthemaxshape-to-shapeclearance20.000000Edit—SplitPlane-parameter,设置分割后铜皮的样式,实心或者网格,仅支持正片。一般选择solid。5取消敷铜分割:

方法1:Delete,find选择shape,删除分割的区域;Delete,option选择anti-etch-内电层,find选择line,单击删除分隔线;Shape-polygon(或者Rectangle),Dynamiccopper,NET要设置为相同的,然后绘制区域覆盖分割的区域,shape-mergeshape将几块敷铜合并。有时使用raisepriority会有好的效果。方法2:Delete,find选择line,单击删除分隔线;Edit—SplitPlane—Create,重新赋予网络,被分割的部分会自动合并,被挖空的部分会自动填充。方法2:不好使了,怎么回事?首先绘制routekeepin-ALLShape-polygon(或者Rectangle),option选择ETH-GND或POW,Dynamiccopper,在已有的敷铜区域再绘制一个封闭的区域(绘制区域要在覆铜区域内部,或者从覆铜边框开始绘制一个封闭区域,起始和终止位置不要超出覆铜边框),会自动分割;使用delete,find选择shape,删除绘制的区域。会自动填充。使用selectshapeorvoid选择覆铜,右键-assignnet修改敷铜网络;右键-parameter-clearances修改覆铜与pin、via,cline、shape间距。两块铜皮之间的间距可以改,不过一块铜皮设置了clearance-shape值没有效果,另一块设置了有效果。9.5Shape-globaldynamicshapeparameter或者shape-selectshapeorvoid,选择敷铜,右键-parameter9.5.1shapefill1Dynamicfill一般选择smooth,完全显示避让效果,光绘文件输出要采用该模式,自动避让不同网络的pin/via/cline;rough:不完全显示铜皮避让效果。Disabled:完全不显示铜皮避让效果;对于复杂shape,可以先采用rough或disabled,加快布线及DRC检查速度,在出光绘文件时,必须将shape更新成smooth类型。Xhatchstyle:设置网格覆铜样式,注意网格铜可能为动态铜或者静态铜。

Vertical:垂直线;horizontal:水平线,diag_pos、dia_neg:斜线;diag_both:叉号线,hori_vert:十字线。3clearance:动态铜皮的避让间距Thru、smd、via、shape下拉框选择DRC,使用约束管理器中定义的约束值Thermal/anti:使用焊盘的thermal和antipad大小定义设置oversizevalue(在DRC设置基础上的增加量),可以更改敷铜与pin/via/cline/shape等的间距。4thermalreliefconnect设置正片过孔连接形状(包括覆铜)usefixedthermalwidthof需要设置,否则梅花连接可能因为线太粗的原因显示不出来。正片(包括覆铜)可以显示梅花、全连接等形式,而负片根据过孔的FLASH样式显示,不能更改。通过tool-padstack-modifydesignpadstack,选中过孔,右键-edit可以查看过孔样式,但不能更改。9.6调整焊盘与覆铜连接1单独指定某个焊盘与铜皮全连接或十字连接find选择pin,单击选择焊盘,右键-propertyedit–dyn_themal_con_type,设置值为全连接或十字连接,不要选择delete复选框,ok即可.其他项设置跟globaldynamicshapeparameter中类似。

2单独指定多个焊盘与铜皮的连接Editproperty,find选择pin,右键teamgroup,然后选择多个焊盘,右键-complete,然后设置即可。2将实心铜更改为网格铜shape-selectshapeorvoid,选择敷铜,右键-parameter,在shapfill选择xhatch,调整参数,即可。在约束管理器中spacing中更改了shapeto间距,需要选择覆铜,然后右键-updateshape。查看了P1010/MPC8309/MPC8377二块demo板和一块量产印制板,发现via都是用的是fullconnect,而不是梅花连接,thrupin和smdpin有使用梅花连接的。10DRC检查10.1打开onlineDRC检查1打开onlineDRC检查:setup-enableonlineDRC2visibility控制面板有DRC显示开关,需要打开;display-color/visibility-stackup中有DRC标志开关,需要打开,其中的thoughall,packagetop/bottom(元件placebound重叠时会显示DRC,错误代码CC;如果没有选,不会显示DRC标志)是visibility控制面板中没有的。10.2setup-constraint-Mode设计规则在线检查项设置,也可以在约束规则管理器中analyze-analysismodes1electricalmodes:Stublength/netschedule用于T型网络拓扑Propagationdelay用于延时检查RelativePropagationdelay:用于相对延时检查,如果没有打开,则上图中actual和margin栏显示为黄色且无数据。2designmodes(package)packagetopackage设置为ON,元件外框重叠显示DRC;元件外框重叠需要打开显示placeboundtop/bottom10.3display-statusdisplay-status可以查看未放置的元件数量,未布线的网络,未布线的连接,孤岛等。单击各项检查旁边的颜色框,可以打开DRC说明,单击说明中的错误可以定位错误位置。一般要修改完这里面提示的所有ateshape:覆铜需要更新,单击updatetosmooth进行覆铜更新。UpdateDRC:有些需要单击updateDRC,然后一些DRC自动就会消失。

10.3tool-databasecheck选中updateDRC和checkshapeoutlines,点check(至少两次),完成后viewlog.要求所有项DRC都为0.10.2tool-quickreport1Unconnectedpinreport未连接的引脚,双击可以跳转。2danglinglinesviaandantannareport:多余的线头,过孔和天线过孔在多层板中的via,走线应该在top层和bot层,否则就会产生viastub,一般3.125G以下不需要考虑,高于3.125G,需要采用背钻技术解决。Antannavia可以在userpreference-manufacture-reports-report-noanntannavia禁用。3designrulecheck(DRC)report(同display-status-DRCS)4NETSinglePinandNoPinReport:单引脚网络和无引脚网络10.3waiveDRCS有一些错误是允许的,可以使用waiveDRC命令来忽略和隐藏。Display-waiveDRCS1waive:单击DRC标记,可以忽略DRC;可给DRC添加标注,在option面板中实行。执行

后DRC标记会选择90度。waiveDRCS后使用tool-databasecheck无法检查出来。2blank:单击DRC标记,可以隐藏被忽略的DRC标记。在display-status可以看到waivedDRC数量,并可以通过单击旁边的黄色小方框定位到DRC的位置。3show:显示全部被隐藏的DRC标记。4restore、restoreall:恢复DRC检查。10.4常见的DRC代码1PP:引脚太近2CC:package重叠3VL:过孔与走线太近10.4常见DRC11DRC-unsignedshape:Layer=GNDPointonshape:(4427.559-176.850)Net:DummyNet;Display-Color/Visibility,关闭stuck-up下all,然后只显示GND层,然后单击DRC报告中的(4427.559-176.850),定位错误位置信息,如下图,最外面的一层环使用showelement功能显示一下,果然是dummynet,删除即可。问题是这个环是怎么来的?经验:遇到电气问题,就到Display-Color/Visibility-stuck-up下,关闭所有,再显示对应层来观察。手工消除DRC:选中DRC,右键-waivedrc。自觉无关紧要的DRC就waive掉(还可以批注waive的原因),waivedrc不再计入DRC统计。