EDA软件使用经验与心得 - -Cadence Allegro软件篇 下载本文

EDA软件使用经验与心得----Cadence Allegro软件篇 2011-12-08 | 阅:转: | 分享

Allegro应用简介

-------网友Dzkcool整理 一.零件建立

在Allegro 中, Symbol 有五种, 它们分别是Package Symbol 、Mechanical Symbol、Format Symbol、Shape Symbol、Flash Symbol。每种Symbol 均有一个Symbol Drawing File(符号绘图文件), 后缀名均为*.dra。此绘图文件只供编辑用, 不能给Allegro 数据库调用。Allegro 能调用的Symbol 如下: 1、Package Symbol

一般元件的封装符号, 后缀名为*.psm。PCB 中所有元件像电阻、电容、电感、IC 等的封装类型即为Package Symbol。 2、Mechanical Symbol

由板外框及螺丝孔所组成的机构符号, 后缀名为*.bsm。有时我们设计PCB 的外框及螺丝孔位置都是一样的, 比如显卡, 电脑主板, 每次设计PCB时要画一次板外框及确定螺丝孔位置, 显得较麻烦。这时我们可以将PCB的外框及螺丝孔建成一个Mechanical Symbol, 在设计PCB 时, 将此Mechanical Symbol 调出即可。 3、Format Symbol

由图框和说明所组成的元件符号, 后缀名为*.osm。比较少用。 4、Shape Symbol

供建立特殊形状的焊盘用, 后缀为*.ssm。像显卡上金手指封装的焊盘即为一个不规则形状的焊盘, 在建立此焊盘时要先将不规则形状焊盘的形状建成一个Shape Symbol, 然后在建立焊盘中调用此Shape Symbol。 5、Flash Symbol

焊盘连接铜皮导通符号, 后缀名为*.fsm。在PCB 设计中, 焊盘与其周围的铜皮相连, 可以全包含, 也可以采用梅花辨的形式连接, 我们可以将此梅花辨建成一个Flash Symbol, 在建立焊盘时调用此Flash Symbol。

其中应用最多的就是Package symbol即是有电气特性的零件,而PAD是Package symbol构成的基础. Ⅰ建立PAD

启动Padstack Designer来制作一个PAD,PAD按类型分分为: 1. Through,贯穿的;

2. Blind/Buried,盲孔/埋孔; 3. Single,单面的. 按电镀分:

1.Plated,电镀的;

2.Non-Plated,非电镀的.

a.在Parameters选项卡中, Size值为钻孔大小;Drill symbol中Figure为钻孔标记形状,Charater为钻孔标记符号,Width为钻孔标记得宽度大小,Height为钻孔标记得高度大小; b.Layers选项卡中,Begin Layer为起始层,Default Internal为默认内层,End Layer为结束

层,SolderMask_Top为顶层阻焊, ,SolderMask_Bottom为底层阻焊PasteMask_Top为顶层助焊, PasteMask_Bottom为底层助焊;Regular Pad为正常焊盘大小值,Thermal Relief为热焊盘大小值,Anti Pad为隔离大小值.

Ⅱ建立Symbol

1.启动Allegro,新建一个Package Symbol,在Drawing Type中选Package Symbol,在Drawing Name中输入文件名,OK.

2.计算好坐标,执行LayoutàPIN,在Option面板中的Padstack中找到或输入你的PAD,Qty代表将要放置的数量,Spacing代表各个Pin之间的间距,Order则是方向Right为从左到右,Left为从右到左,Down为从上到下,Up为从下到上;Rotation是Pin要旋转的角度,Pin#为当前的Pin脚编号,Text block为文字号数;

3.放好Pin以后再画零件的外框AddàLine,Option面板中的Active Class and Subclass分别为Package Geometry和Silkscreen_Top,Line lock为画出的线的类型:Line直线;Arc弧线;后面的是画出的角度;Line width为线宽.

4.再画出零件实体大小AddàShapeàSolid Fill, Option面板中的Active Class and Subclass分别为Package Geometry和Place_Bound_Top,按照零件大小画出一个封闭的框,再填充之ShapeàFill.

5.生成零件Create Symbol,保存之!!!

Ⅲ编写Device

若你从orCad中直接生成PCB的话就无需编写这个文件,这个文件主要是用来描述零件的一些属性,比如PIN的个数,封装类型,定义功能等等!以下是一个实例,可以参考进行编写: 74F00.txt

(DEVICE FILE: F00 - used for device: 'F00')

PACKAGE SOP14 ü对应封装名,应与symbol相一致 CLASS IC ü指定封装形式 PINCOUNT 14 ü PIN的个数

PINORDER F00 A B Y ü定義Pin Name PINUSE F00 IN IN OUT ü定義Pin 之形式 PINSWAP F00 A B ü定義可Swap 之Pin

FUNCTION G1 F00 1 2 3 ü定義可Swap 之功能(Gate) Pin FUNCTION G2 F00 4 5 6 ü定義可Swap 之功能(Gate) Pin FUNCTION G3 F00 9 10 8 ü定義可Swap 之功能(Gate) Pin FUNCTION G4 F00 12 13 11 ü定義可Swap 之功能(Gate) Pin POWER VCC; 14 ü定義電源Pin 及名稱 GROUND GND; 7 ü定義Ground Pin 及名稱 END

二.生成网表

以orCad生成网表为例:

在项目管理器下选取所要建立网络表的电路图系 ■Tools>>Create Netlist? ■或按这个图标:

有两种方式生成网表: ◆按value值(For Allegro). ◆按Device 值(For Allegro)

◆按value值建立网络表 1.编辑元件的封装形式

在Allegro元件库中value形式为“!0_1uf__bot_!”,在ORCAD元件属性中已有相应value项“0.1uf (bot)”。可以使用以下方法编辑元件 value值: 1)编辑单个元件

2)编辑单页电路图中所有元件 3)编辑所有元件

2、修改Create Netlist中的参数

在Other栏中的Formatters中选择telesis.dll.将PCB Footprint中的{PCB Footprint}改为{value}。保存路径中的文件后缀名使用.txt,如下图所示

此主题相关图片如下:

◆按Device值建立网络表 1.编辑元件的封装形式

在Allegro元件库中Device Name形式为“! smd_cap_0603!”,在RCAD元件属性的Device项中并没有相应项。因此须新建该项。建立的过程可以使用下面的方法: 1)直接双击元件编辑元件的属性

此主题相关图片如下:

通过查找元件后编辑元件属性,这样可以将Device name相同或相近的元件,通过复制、粘贴的方法快速编辑。这种方法特别适合对电阻和电容进行编辑。 A、在此状态下,按Crtl+F键“查找”所要编辑的元件

此主题相关图片如下: 、编辑元件的Device name

此主题相关图片如下: 、编辑元件的Device name

此主题相关图片如下:

、修改Create Netlist中的参数

在Other栏中的Formatters中选择allegro.dll.将PCB Footprint中的{PCB Footprint}改为!{Device}。保存路径中的文件后缀名使用.net。

此主题相关图片如下:

、操作过程中应注意的问题

1)Allegro device library 中每一个元件都会有它自己的device Name。因此,两个元件尽管它们有相同的pin、package,它们在Allegro device library中还会有不同的名字。例如:封装为SOP14的74LS08和74LS00 它们的device name分别为“smd_7408_soic14”和 “smd_7400_soic14”。因此在选用元件时,要根据allegro device library中提供的device name与电路中的元件比较,如果没有对应的元件,请先告知Layout建库。

2)元件的device name中不要有空格,这样allegro认不出这样的元件,在导如Netlist时会报错。 3 2 C B 2)

三. 导入网表 Ⅰ. 网表转化

在调入前,应该将要增加的定位孔和定位光标以及安装孔加到网表中,定位孔用M*表示,定位光标用I*表示

Ⅱ . 进入Allegro,File/Import/Logic调入网表,若显示\errs,0 warnings\则表示没有错误,可以进行下一步,否则,应用File/Viewlog查看原因,根据提示要求电路设计者修改原理图或自己在元器件库中加新器件. 四. 设置

Ⅰ设置绘图尺寸,画板框,标注尺寸,添加定位孔,给板框导角 1. 设置绘图尺寸:SetupàDrawing Size

2. 画板框:Class: BOARD GEOMETRY Subclass: OUTLINE AddàLine 用 \横坐标纵坐标\的形式来定位画线 3.画Route Keepin:SetupàAreasàRoute Keepin 用 \横坐标纵坐标\的形式来定位画线

4.导角: 导圆角 Edità Fillet 目前工艺要求是圆角或在右上角空白部分点击鼠标右键à选Design Prepà选Draft Fillet小图标

导斜角EditàChamfer 或在右上角空白部分惦记点击鼠标右键à选Design Prepà选Draft Fillet 小图标

最好在画板框时就将角倒好,用绝对坐标控制画板框,ROUTE KEEPIN,ANTIETCH,ANTIETCH可以只画一层,然后用EDIT/COPY,而后 EDIT/CHANGE编辑至所需层即可.

5. 标注尺寸: 在右上角空白部分惦记点击鼠标右键à选Drafting Class: BOARD GEOMETRY Subclass: Dimension

圆导角要标注导角半径.在右上角点击右键à选Drafting,会出现有关标注的各种小图标 ManufactureàDimension/DraftàParameters...à进入Dimension Text设置

在标注尺寸时,为了选取两个点,应该将Find中有关项关闭,否则测量的会是选取的线段 注:不能形成封闭尺寸标注

6.加光标定位孔:PlaceàBy SymbolàPackage,如果两面都有贴装器件,则应在正反两面都加光标定位孔,在在库中名字为ID-BOARD.如果是反面则要镜像. EditàMirror

定位光标中心距板边要大于 8mm.

7. 添加安装孔:PlaceàBy SymbolàPackage,工艺要求安装孔为3mm.在库中名字为HOLE125 8.设置安装孔属性:ToolsàPADSTACKàModify

若安装孔为椭圆形状,因为在印制板设计时只有焊盘可以设成椭圆,而钻孔只可能设成圆形,需要另外加标注将其扩成椭圆,应在尺寸标注时标出其长与宽. 应设成外径和Drill同大,且Drill 不金属化

9. 固定安装孔:EditàPropertyà选择目标à选择属性FixedàApplyàOK

Ⅱ设置层数

SetupàCross-Section...

Ⅲ设置显示颜色

DisplayàColour/Visibility

可以把当前的显示存成文件:ViewàImage Save,以后可以通过ViewàImage Restore调入,生成的文件以view为后缀,且此文件应该和PCB文件存在同一目录下。 Ⅳ设置绘图参数

SetupàDrawing Options

Display中的Thermal Pads和Filled Pads and Cline Endcaps应该打开 Ⅴ设置布线规则

SetupàConstraints... Set Standard Values...设置Line Width ,Default Via

Spacing Rules SetàSet Values...设置Pin to Pin ,Line to Pin,Line to Line等值 五. 调入元件

1 给元件赋属性:EditàPropertiesà进入Find设置àFind By Name选择Comp(or Pin)àMoreà选择AllàApplyà选择Placement-tag自动放置属性àApplyàOK

2 画元件放置区:SetupàAreasàPackage Keepinà画一方框作为元件放入区à右键,DoneàPlaceàAutoplaceàTop Gridsà50,OKà50,OKà点击所画方框 3 自动放置器件:PlaceàAutoplaceàDesign

4 移动元件的设置:在移动状态下,可以设置Options类中的Point Sym Origin,:以器件原点

Body Center:以器件中心 User Pick:以选取点 Sym Pin#:以元件某一管脚。

六. 元件布局

布局时,应根据原理图,将同一模块的器件放到一起,而后再根据连接长度最短的原则将同一模块内的器件摆至最短且最美观为止.再根据鼠线和整块板子的信号流动方向进行布局. 在Allegro中布局之时,BGA须以25倍(针对Pin间距为50mil而言)的栅格布局。

注意: 1.BGA周围5mm内无其他器件

2.压接件周围5mm内无其他器件 3.有极性插装件X,Y方向尽量一致 4.板边5mm为禁布区 七. 电源地层分割

1.画ROUTE KEEPIN:

SetupàAreaàRoute Keepinà在右边Options下,设置成Route Keepin,Allà画框

应注意此步不能缺少,否则后面无法赋电源地网络. 2.画分割线

将同一层中要分割的不同网络用不同颜色高亮

Add àLineà在右边Options下,设置成Antietch,以及要分割的层à画线将不同网络分割开

3. 给电源地层的网络赋属性

例如:将VCC,VDD,GND分配到电源地层.

EditàPropertiesà从右侧Find中选Net,Moreà将VCC,VDD,GND选中à Applyà赋予No Rats,Route to Shape属性à结束Edit Property编辑状态. 4. 将网络分配到相应区域:

EditàSplit PlaneàSet Parameter(一切都OK) EditàSplitPlaneàCreat

十. 打电源地 进入SPECCTRA

1.选择打电源地过孔类型,SelectàVias For RoutingàBy list...à选择所需类型,Apply 2.Autorouteà Setup... àSet Wire Grid...àX Grid和Y Grid 都设为0.1àApplyàOK AutorouteàSetup... àSet Wire Grid...àX Grid和Y Grid 都设为0.1 3.AutorouteàPre Route...àFanout...à只选Power netsà插入àOK 十一. 走线

1. 改变当前缺省走线过孔,SetupàConstraintsàPhysical Rule SetàCurrent Via List中的排在第一位的过孔类型就是当前缺省的过孔类型,将其删除,则原来排在第二未的过孔类型就变成了缺省.只需再加上删除的过孔类型,则其将排在最后.

2. 在Allegro中,RouteàConnect则会在右侧出现走线的各种条件设置,包括线宽和过孔类型.在最下面有两个选项,Snap to Connect Point,Replace Etch,前者一般不选,否则有可能走不出想要走出的形状,后者应该选中.

3. 有时走完线后发现报告冲突,说Line to SMD违反contraints,而此line 和SMD属于同一个网络,此时应该将 SetupàContraints...àSpacing Rule SetàSet Value...àSame Net Drc设置成off

注:1.板边3mm不准走线

4 在Allegro中拷贝同时拷贝多条相同走线的方法

要想同时拷贝多条线,必须要保证元器件之间距离严格匹配,不能存在一点偏差,因为在Allegro中可以存在孤岛式的走线,所以如果不匹配,仍可以把线拷贝上,但会认为是并未连接上,只把其作为单独一条线.

用information获得两组相同布局中相同位置管脚的坐标,例:已布线部分中管脚 1坐标为(x1,y1),未布线部分中相同管脚坐标为(x2,y2)

选择Copy状态à点击鼠标右键à选Temp Groupà用鼠标选中所有将要拷贝的线à点击鼠标右键à选Compeleteà键入x x1,y1设置拷贝原点à键入x x2,y2将线拷贝至所需位置à点击鼠标右键à选Done

十二. 调整冲突 十四. 检查修改

同时,有一部分错误是可以忽略的,要仔细加以区分,最好只显示布线层的错误 (一) ToolsàReports...à选取Summary Drawing ReportàRunà查看Connection Statistics中内容,最终目标:Already Connected与Connections相等,Missing Connections等于0,Dangling Connections等于0,Connections 等于100%.

1. 若Already Connected小于Connections,说明存在半截线,此时应将所有赋了No Rats

属性的网络都取消该属性(EditàProperties...)àDisplayàColout/Visibilityà在Global Visibility中选取All Invisibleà设置Group/Display中的Ratnest颜色为显眼的颜色à 观察图中飞线的位置,发现后通过右侧的Visibility打开相应层进行修改.

2. 若Dangling 不等于0,说明有的走线多出一截,形成了小天线,则应看Log File 文件,FileàFile Viewer...àdangling_lines.logà记下坐标à用X 横坐标纵坐标定位进行修改. 十五. 调整丝印 设置丝印标准:

SetupàText Sizes...可以设置四种标准

Blk Width Height Line Space Photo Width Char Space

1 48 60 20 0 0 2 64 80 30 0 0 3 120 150 40 0 0 4 160 200 60 0 20

选Block1 的字体,如果空间足够大,则选Block2的字体,左至右自下至上的原则. 丝印一定不能上焊盘. 十六. 写标注文字,做光绘

1.光绘文件命名方式详见PCB设计文件命名表

ALLEGRO 镜象图纸标注

元件面光绘 art1.art no (boardname:) artwork top 焊接面光绘 art(n).art yes (boardname:) artwork bottom 内层布线光绘 art(m).art no (boardname:) artwork layer(m) 地层光绘 ground(m).art no (boardname:) ground plane(m) 电源层光绘 power(m).art no (boardname:) power plane(m) 元件面丝印silkt.art no (boardname:) silkscreen top

焊接面丝印silkb.art yes (boardname:) silkscreen bottom 元件面阻焊soldt.art no (boardname:) soldmask top 焊接面阻焊soldb.art yes (boardname:) soldmask bottom 元件面钢网pastt.art no (boardname:) pastemask top

焊接面钢网pastb.art yes (boardname:) pastemask bottom 元件面装配adt.art no (boardname:) silkscreen top 焊接面装配adb.art yes (boardname:) silkscreen bottom 钻孔图光绘drill.art no (boardname:) drill chart

数控钻孔文件ncdrill.tap

注:以上文件名中(n)表示板的总层数,(m)表示内部某层,如6层板的第二层为layer2,而不是Layer1,(n)和(m)均为两位数.(boardname:)用实际板名替换

2. 可以用FileàImportàSub Drawing...调用以前设计中的标注来进行修改,后缀是clp. 3.光绘文件生成步骤:

ManufactureàNCàDrill Paremeters...à只有Reapeat codes要选中. ManufactureàNCàDrill Legend ManufactureàNCàDrill Tape...

ManufactureàArtworkàParameterà Suppress项中Leading Zeroes,Equal Coordinates要选中.

ManufactureàArtworkàFilm...

film中应包括的内容:

Art(m).art VIA CLASS Art(n)

PIN Art(n) ETCH

Art(n) BOARD GEOMETRY OUTLINE

Ground or power(m).art ANTIETCH Pgp(m)

VIA CLASS Pgp(m) PIN Pgp(m) ETCH Pgp(m)

BOARD GEOMETRY OUTLINE

SILKT REF DES SILKSCREEN_TOP

PACKAGE GEOMETRYSILKSCREEN_TOP BOARD GEOMETRY OUTLINE

BOARD GEOMETRY SILKSCREEN_TOP

SILKB REF DES SILKSCREEN_BOTTOM

PACKAGE GEOMETRYSILKSCREEN_BOTTOM BOARD GEOMETRY OUTLINE

BOARD GEOMETRY SILKSCREEN_BOTTOM

SOLDT VIA CLASSSOLDERMASK_TOP

PIN SOLDERMASK_TOP

PACKAGE GEOMETRYSOLDERMASK_TOP BOARD GEOMETRY OUTLINE

BOARD GEOMETRY SOLDERMASK_TOP

SOLDB VIA CLASSSOLDERMASK_BOTTOM PIN SOLDERMASK_BOTTOM PACKAGE GEOMETRY SOLDERMASK_BOTTOM

BOARD GEOMETRY OUTLINE

BOARD GEOMETRY SOLDERMASK_BOTTOM

DRILL MANUFACTURINGNCDRILL_LEGEND MANUFACTURINGNCDRILL_FIGURE BOARD GEOMETRY OUTLINE BOARD GEOMETRY DIMENSION

ADT REF DES SILKSCREEN_TOP

PIN TOP

PACKAGE GEOMETRYSILKSCREEN_TOP BOARD GEOMETRY OUTLINE

BOARD GEOMETRY SILKSCREEN_TOP

ADB REF DES SILKSCREEN_BOTTOM PIN BOTTOM

PACKAGE GEOMETRYSILKSCREEN_BOTTOM BOARD GEOMETRY OUTLINE

BOARD GEOMETRY SILKSCREEN_BOTTOM1

PASTT PIN PASTEMASK_TOP

BOARD GEOMETRY OUTLINE

BOARD GEOMETRY PASTEMASK_TOP

PASTB PIN PASTEMASK_BOTTOM BOARD GEOMETRY OUTLINE

BOARD GEOMETRY PASTEMASK_BOTTOM

在命令行执行Artwork -s *.brd命令,效果同ManufactureàArtworkàGenerate..., 十七. 光绘问题

生成光绘时常见问题的解决方法

1 在光绘后,某一双列插针的地层全是花盘,实际只应一个管脚接地

原因:该器件焊盘设置错误,将焊盘设置中的ANTI-PAD选项中FLASH填了内容,实际上只有THERMAL-RELIEF中的FLASH需要填写,其余的FLASH 选项都应为空.所以在最后检查时应该将所有带通孔的焊盘都检查一遍. 2 光绘时,生成的光绘文件只有5个字节,所有的文件都无法生成.

原因:因为存在未使用的焊盘,在生成APERTURES时,存在不可识别的FLASH NAME,如AB00,而非数值,

解决方法:将未用的PADSTACK清除(PURGE), TOOLS/ PADSTACK/ MODIFY/ PURGE/ALL.

3 在某一信号层添加铜皮的方法: 换到要敷铜的层.

Add/Shapes/Solid Fill 是敷实心铜皮,而Cross Hatch Fill则是画栅格式焊盘/ 画出敷铜的边框,则菜单将会变成SHAPE编辑菜单

Edit/Change Net(name)/选择要赋予的网络,OK/Void/Auto表示自动产生热焊盘,并且避开过孔,Shape表示在敷铜区域中画一区域,在此区域中不敷铜,circle表示画一圆形区域,在此区域中不敷铜,element表示将选中的element,只对过孔类元素有效对于shape,circle都不会自动产生热焊盘和避开过孔/Shape/Fill即可. 编辑敷铜

4 在用ALLEGRO自作PCB时出现过过孔上焊盘而不报错的现象,这与我们各位的参数设置有关,为避免此类错误的发生,建议更改设置:

Setup/constraints/physical rule set/set values/pad_paddirectconnect:\allowed-->not allowed\

Setup/constraints/physical rule set/DRC mode /pad_pad direct connect:\