ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Allegro 17.4 PCB布局基础:从网表导入到器件落位实战

Allegro 17.4 PCB布局基础:从网表导入到器件落位实战 画PCB这件事走线再漂亮布局没打好底子也白搭。我经手过的板子返工最多的环节往往不是布线而是布局阶段埋下的雷——电源模块贴着敏感模拟前端、晶振被塞在大电流回路旁边、接插件方向和结构件对不上、去耦电容离电源脚十万八千里。这些问题在屏幕上看着不显眼板子打回来一上电全冒出来了。这篇就聊 allegro 17.4 里的布局操作基础从网表导入完成之后到器件大致落位这一整段流程。适合刚上手这套软件的新人也适合从别的EDA工具转过来、对这套界面和操作逻辑还不太熟的朋友。我不打算一上来就罗列菜单路径而是按我平时干活的实际顺序把每一步为什么这么做、参数该怎么定、容易在哪儿翻车,一条条掰开讲。布局操作的基础一这部分,核心目标只有一个:把器件从一堆零散的符号,变成板上有分区、有逻辑、有工艺意识的物理排布。1. 动手之前把地基先打好1.1 网表导入没做对后面全是白费力气布局真正的第一步不是打开Place菜单拖器件而是把原理图里的连接关系导进来也就是导入网表。没有网表板上就是一盘散沙——器件之间没有网络属性飞线不显示规则也套用不上你摆得再整齐也只是摆积木。17.4的路径是File → Import → Logic弹出的对话框里选Design页然后指定网表文件所在的目录。这个目录里通常有pstxnet.dat、pstxprt.dat、pstchip.dat这几个文件Allegro会自动去读你只要指对文件夹就行。导入完成之后工作目录下会生成一个netlist.log。这个文件我强烈建议每次都打开看尤其是里面带WARNING和ERROR的行。很多人导入完看一眼软件没报错弹窗就往下走了结果摆件摆到一半发现某个芯片是空的回头再查浪费的时间比看日志多得多。报错我见得最多的有两类。一类是Could not find part意思是原理图里指定的封装名在PCB这边的库路径里翻不到。这类问题八成是库路径没配对路径在Setup → User Preferences → Paths → Library里padpath、psmpath、devpath、parampath这几个要分别指向你自己的焊盘目录、封装目录、器件文件和参数文件目录。另一类是管脚编号对不上原理图符号的pin number和PCB封装的焊盘编号不一致常见的坑是把原理图里按功能命名的管脚当成物理编号用了。这两类问题必须在布局开始前解决干净因为一旦开始摆件再改封装虽然大部分器件位置能保留但被替换的器件会被打回原处重新放置。提示我的习惯是先把板框和叠层建好再导网表。这样导入之后用Quickplace铺开器件时器件的落点会相对规矩不会散落到莫名其妙的坐标上去。1.2 叠层和板框先把户型定下来叠层设置走Setup → Cross-section。这个表决定了板子有几层、每层多厚、介质材料是什么、铜厚多少。四层板的典型叠层是顶层信号、中间地层、中间电源层、底层信号具体厚度和材料要拿板厂给的叠层参数来填不要自己拍脑袋。叠层不只是给板厂看的它直接影响后面的阻抗计算和规则设置布局阶段虽然用不到阻抗的细节但层数确定了你才知道哪些器件必须放顶层、哪些可以翻到底层。板框的画法有两条路。一条是手工画在Board Geometry的Outline层用Add → Line一笔笔画画完必须闭合然后执行Setup → Outlines把它认成真正的板框。另一条是导入结构给的DXF文件路径是File → Import → DXF导入时注意单位选对结构给的多半是毫米选成mil的话板子尺寸会离谱到没法看。导入进来的线要挪到正确的层再重复一遍闭合和Outlines的动作。原点位置也顺手设一下用Setup → Change Drawing Origin把原点定在板子左下角或者结构基准点上。这个动作现在花三十秒后面定位接插件、导出坐标文件、跟结构对尺寸的时候能省你半小时。1.3 封装库的现场体检别等放下去了才发现问题网表导完器件列表里所有封装都齐了但齐不等于对。我习惯在正式摆件前做一轮封装体检用的命令是Tools → Quick Reports下的报告或者Tools → Reports导出器件清单。重点看这几项封装的Place_Bound_Top有没有画完整这个边界框是后面器件间距DRC和自动布局的基础缺了会漏检干涉丝印有没有压到焊盘上丝印压焊盘是最低级也最常见的错误板厂一般会直接打电话找你确认RefDes的位置和字体大小是否合适太小了装配看不清太大了占地方还有就是封装的原点在哪里。原点这件事值得单拎出来说。器件原点在正中心的封装摆放和旋转都顺手原点在1脚的摆接插件、对结构很方便最怕的是原点跑到器件轮廓外面老远的地方你明明把器件拖到目标位置了一看坐标全对不上对齐功能也会跟着失灵。封装真有问题就趁现在换掉别拖到摆完一半。替换的方式是切换到Placement Edit模式选中器件右键菜单里能找到Replace或者用Logic → Part Logic整个替换Part。替换的时候如果弹出cell read-only一般是两种情况库文件本身是只读属性把文件属性里的只读去掉就行或者器件被Fix锁定了右键Unfix解除锁定。这个报错在共享库环境里特别常见因为很多公司的封装库放在服务器上默认只读。2. 器件放置的核心操作2.1 先把面板和模式认全别拿到鼠标就乱点Allegro这个软件有个特点同一个动作在不同模式下行为完全不同所以布局之前先把Application Mode搞清楚。工具栏左上角那个下拉框里布局阶段主要用的是Placement Edit这个模式专为摆器件设计选中对象被限制在器件层面不会误抓到走线、铜皮这些不该动的元素。如果你用General Edit去摆件一不小心就会把旁边的走线一起拖动那种感觉相当糟心。Options面板是布局时的操作台。里面几个字段要认识Rotation是旋转角度默认90度增量也可以在框里输入任意角度Mirror控制器件是否翻到底面Placement Origin决定鼠标抓取器件时抓的是哪个点可选Symbol Origin、Pin 1、Body Center、User OriginSnap to Grid控制是否吸附到栅格。这几个参数配合好了摆件的手感会完全不一样。Find面板也别忽略。切到Placement Edit模式后Find里默认只勾Symbols如果发现移动不了器件先回来看看这里是不是被谁改过了。色板和层的控制走Display → Color/Visibility布局阶段的核心是让画面干净——打开Rat飞线、关掉铜皮和走线的显示视野清爽了效率自然高。2.2 器件上板的三种方式按场景挑第一种是Place → Manually手动逐个放。弹出的Placement对话框里能按RefDes、按Part、按Room分类浏览选中器件后用鼠标点到板上落位。这种方式最精细适合主控、电源、接口这类关键器件的定位。第二种是Place → Quickplace一键把还没上板的器件铺到板框外面。器件多的板子我一般先用它铺开然后框选一批一批拖进来。Quickplace有个选项可以按Room或者按Part排列选对了排出来的器件会自成一列拖动的时候好找。第三种是Place → Auto Place自动布局。说实话这功能我基本不用摆出来的效果还不如自己动手顶多在器件特别多、想先看看整体分布量级的时候点一下参考参考。放置抓取点的选择很有讲究。摆结构件、接插件这类位置要求严格的器件Placement Origin选Pin 1可以把某个特定的焊盘精确放在目标坐标上摆普通电阻电容选Body Center最省事器件中心对准目标位置间距也好控制。手动定位到精确坐标的方法是右键调出坐标输入或者直接在命令行敲pick加上x、y值这个办法在重复定位同类型器件时特别高效。2.3 旋转、镜像和对齐手要快但心里得有数旋转器件是在移动状态下右键选Rotate或者在Options里预先设好Rotation角度的增量摆的时候直接点。90度一转是顺时针还是逆时针不同版本或不同设置下可能相反别看感觉看Options里显示的当前角度值最靠谱。器件翻到底层是右键选Mirror。这里有个细节要注意器件mirror之后丝印文字也会跟着镜像如果是自己做的封装得确保丝印文字镜像之后仍然能读得出来否则装配图上就是一堆反字。另外器件在顶底层之间来回翻的时候焊盘面会自动跟着切但如果你用了自定义的Place_Bound或者高度信息记得检查一下是不是也跟着翻过去了。对齐是Placement Edit模式下最好用的功能之一。选中多个器件按住Ctrl逐个点或者框选右键选Align Components弹出的对话框里可以按左对齐、右对齐、顶对齐、底对齐、水平居中、垂直居中参考基准可以选第一个选中的器件、最后一个选中的或者所有器件的中心线。我踩过的一个坑是对齐之前没检查各器件的Placement Origin设置结果有的器件原点在中心有的在1脚系统按原点对齐出来的结果和肉眼看到的外形对齐差了半截白摆一遍。所以前面1.3节里反复强调原点检查就是给这一步铺路。还有个小技巧同一排的电阻电容先摆好一个当作样板剩下的复制过来用对齐功能统一间距比一个一个拖快得多。复制出来的器件网络是空的需要重新关联所以更稳妥的做法是用Place/Manually把器件一个个放上去再用对齐统一位置。3. 提效手段栅格、快捷键、飞线和颜色3.1 栅格设置布局的手感全在这里Setup → Grids是布局阶段的调参台。里面有几个栅格概念要分清楚非电气层栅格用于摆器件和画丝印通常设0.1毫米或者1.27毫米电气层栅格用于走线布局阶段可以先不管还有显示栅格只是屏幕上画出点来给你参考不参与吸附。我的习惯是分两档。粗略摆放的时候用1.27毫米的大栅格器件拖起来一格一格跳定位快不会停在那种一看就不整齐的坐标上。精调阶段切到0.1毫米甚至0.05毫米去扣那些对结构、对间距的细节。栅格太大摆不准栅格太小则会让你在不该纠结的地方反复微调效率反而下降。栅格组可以在Grids对话框里定义好几套比如一套粗摆、一套精调、一套结构定位然后在命令行敲set grid加名字切换。嫌敲命令麻烦的话可以在env文件里给常用栅格绑快捷键一键切换熟练之后几乎不用回头去点对话框。3.2 快捷键的配置思路Allegro的效率上限很大程度取决于你把多少常用命令绑成了快捷键。配置文件是envWindows下一般在用户目录的pcbenv文件夹里比如C:\SPB_Data\pcbenv\env或者在软件安装目录的pcbenv下。用文本编辑器打开就能改语法是alias或者funckey后面跟键位和命令名。我常用的几条思路把Done绑成F2Move绑成F3因为这两个命令在布局里被按到的频率最高把旋转和镜像绑成字母键比如funckey r rotate、funckey m mirror这样在移动器件的状态下不用去右键找菜单手不离键盘就能操作。减少右键菜单的查找动作一天下来省的时间相当可观。注意改env之前先复制一份备份。我在这个文件上翻过车一个引号写错或者命令名拼错Allegro启动时直接弹错误框进不去界面最后只能靠备份还原。另外env里的注释用#号写在命令后面或者单独一行都行。改完之后要重启软件才生效。有些命令可以当场生效但为了避免出现配置了一半的诡异状态还是重启一次最省心。3.3 飞线是布局时的眼睛学会控制它飞线在Allegro里叫Rat。控制显示的命令在Display → Show Rats和Display → Blank Rats下面可以全部显示、全部关闭也可以按网络单独显示。布局的时候我一般不会把所有飞线全打开那一屏几百根线交叉在一起看久了眼睛发花。更实用的做法是按功能网络选择性显示摆哪一块就开哪一块的飞线。网络着色是布局阶段我认为最有价值的功能没有之一。命令在Display → Assign Color选中网络之后给它分配一个颜色。电源用红色、地用黑色、时钟用蓝色、差分对用绿色一套颜色下来你一眼就能看出哪些器件属于同一个功能域、哪些器件会被飞线牵扯着必须放近。配合Color/Visibility里Rat层的线宽和颜色设置布局的思路会清晰很多。飞线不显示的时候按顺序排查三件事Display → Show Rats里有没有全部打开Color/Visibility里的Rat层是不是被关掉了还有就是网表到底导成功没有如果器件本身就是零网络飞线自然画不出来。这三条查完基本能定位问题第5章我会把相关排查整理成表。3.4 Room和模块化多通道电路的布局利器Room一般是在OrCAD Capture侧定义的原理图里给一组元件指定同一个Room名导入网表之后PCB这边就能按Room来筛选和分组。摆件的时候在Placement对话框里选Components by Room选中某个Room把这组器件一次性摆到同一个区域特别适合多路电源、多通道采集这类重复结构。模块化布局的进阶用法是Place → Replicate。同一块板上有好几路完全相同的电路时你先把其中一路的器件、走线、过孔完整摆好布好然后用Replicate把这套东西复制到其他通道上。这个功能在布局阶段就能先把元件摆位复制过去省去重复劳动。不过用之前要确认各通道的元件命名和网络命名有规律的对应关系否则复制会失败或者对应错乱。对于没有在原理图里定义Room的情况也能在PCB端按功能手动分组。我的做法是把同一功能域的器件先用Find面板筛出来或者用原理图交叉定位一一点亮位置摆好之后固定住形成一个事实上的模块。这样后续布线阶段切到模块视图时也能一眼看清哪个区域归哪个功能。4. 从散件到功能分区布局的推进顺序4.1 先钉大件结构约束优先布局的第一步不是摆芯片而是摆那些位置被结构定死的大件接插件、按键、指示灯、屏蔽罩、安装孔、测试点。这些器件的坐标通常来自结构件的三维模型或者外壳开孔图位置一旦定了就不能随便挪它们是整块板的锚点。定位这些器件靠坐标精确定位右键输入坐标或者命令行pick命令把器件的某个抓取点放到图纸上的指定位置。抓取点这时候要选Pin 1或者User Origin因为结构给的是某个焊盘或者某个基准点的坐标。定位完之后我会锁定这些器件右键Fix防止后面手滑拖走。大件定完再回头看板框内部还剩多少空间、哪些区域被连接器和安装孔占据了。这一步其实就是在一张空地图上把不能动的地标画出来剩下的地方才是你真正能规划的战场。4.2 按功能块划地盘先分区再放人大件定位之后按原理图的模块把板面划分成几个功能域电源区、主控区、模拟区、接口区、存储区。划分的时候脑子里要有信号流向电源从输入接口进来经过滤波、变换送到各个负载信号从接口进来经过保护、整形送到主控时钟从晶振出发就近送到需要它的芯片。几个划分原则列一下。电源部分尽量靠近输入接插件缩短大电流路径减少压降和环路面积。晶振必须紧贴对应的芯片走线越短越好同时远离开关电源和高速信号这些干扰源。去耦电容要紧贴电源引脚摆远了等于没摆。模拟和数字区域要分离高精度模拟前端离数字开关电路越远越好。接口器件的ESD保护管要靠近接插件保护要发生在干扰进入板子之前。高压区域要按爬电距离留够隔离带这个间距不是拍脑袋定的得按安规要求来算。这些分区在脑子里形成之后用Room或者自己画的区域框把地盘先划分出来再往里填器件。这样摆件的过程中不会出现这块区域塞了三种功能的器件的混乱局面。4.3 精调阶段从功能落位到可制造大致位置摆完进入精调。这一步的目标是让板子不仅电路上合理制造和装配上也顺当。器件干涉要检查。17.4支持View → 3D View前提是封装里带了高度信息或者你在Setup里给器件设过高度参数。三维视图能把那些贴片电容叠在屏蔽罩下面的问题直接暴露出来比在二维平面上靠脑补靠谱得多。没有三维模型的封装就靠Place_Bound和器件高度标注人工核对。丝印方向要统一。同一类型的器件尽量朝同一个方向摆放横排的横排、竖排的竖排不要东倒西歪。这不是强迫症是因为装配厂的操作员和AOI设备都希望丝印整齐——极性的二极管、电解电容、芯片的1脚标记方向一致目检效率差好几倍。器件间距要满足贴片机的吸嘴要求。两颗器件挨得太近吸嘴下去的时候会碰到旁边的件这个间距一般问一下贴片厂能拿到具体数值常见的0402、0603封装之间留个零点几毫米是底线。高器件不要挡住矮器件的返修空间压接件、卡座周围要留出焊接和返修的余地。5. 布局阶段常见问题速查5.1 器件找不到、放不下去Placement列表里显示器件但板上没有而且怎么点都放不上板先确认这个器件是不是已经在板上别的位置了。再用Zoom Fit看全局有时候器件被摆到了板框外很远的地方视野里根本看不到。如果器件在板上但拖不动右键看看是不是被Fix锁定了Unfix一下。如果右键菜单里全是灰的、什么操作都做不了检查Application Mode是不是还在General Edit切到Placement Edit再试。如果列表里压根没有这个器件回去看netlist.log网表里就没有它那得回原理图查。5.2 封装相关的几个高频报错替换封装的时候报cell read-only前面提过先查库文件属性再查器件是不是被Fix。共享库尤其容易出这个问题因为服务器上的封装目录往往默认只读你得有写权限才能改。封装在库路径里明明有导入网表却说找不到九成是路径问题。检查Setup → User Preferences → Paths → Library里那几个路径尤其是psmpath封装和padpath焊盘还有devpath。路径之间用分号或换行隔开写错一个字符就整个失效。还有一个情况是导入网表后器件能显示但封装明显不对比如该是QFN的显示成了SOP。这是原理图里指定的封装名和实际想要的封装对不上用Logic → Part Logic改Part或者在Placement Edit模式下右键Replace换掉。5.3 显示类问题铜皮只有轮廓、看不到填充是我被问得最多的问题之一。原因一般有三个Color/Visibility里Shape下面有Fill和Outline两个控制项只开了Outline就会只有一圈边Setup → Design Parameters → Display里如果勾了No shape fill所有铜皮都只显示轮廓这是大板子提速用的选项勾上之后要记得取消还有就是动态铜皮没执行填充Shape → Fill一下就有了。飞线不显示按3.3节说的三步排查。另外如果只是某几根飞线不见了可能是Color/Visibility里对应网络的Rat显示被单独关掉了或者网络被分配了和背景同色的颜色肉眼看不见但实际存在。关于查看文件如果只是临时要看一眼别人给的brd文件、不打算做设计可以装免费查看器应付不用折腾完整版的授权配置。17.2打开brd时如果不弹产品选择对话框多半是授权配置或者环境变量的问题17.4里对应的产品选择对话框一般勾上Allegro PCB Designer这一项就能正常进入。5.4 布局阶段问题速查表现象可能原因处理方式器件拖不动被Fix锁定右键Unfix或Edit → Properties里解除Fixed属性右键菜单全灰Application Mode不对切到Placement Edit替换封装报cell read-only库文件只读或器件被Fix去文件属性只读或先Unfix网表导入报找不到封装padpath/psmpath/devpath路径不对Setup → User Preferences → Paths里逐项检查铜皮只有轮廓Fill层未开或勾了No shape fill开Color/Visibility里Shape的Fill取消No shape fill飞线全不显示Show Rats未开或Rat层被关Display → Show Rats → All检查Color/Visibility器件位置和坐标对不上封装原点不在预期位置检查Placement Origin必要时改封装原点对齐结果和肉眼不符各器件原点不统一统一Placement Origin后再对齐6. 布局阶段的规则设置与后续衔接6.1 布局时该设的规则布局阶段不必把规则设全但有几类规则现在设好布局过程中就能实时看到DRC提示省得布完线再回头大改。规则入口是Setup → Constraints → Constraint Manager。线宽规则在Physical下面设一个默认线宽再给电源类网络单独加宽。间距规则在Spacing下面设默认间距比如6mil或者8mil再给特殊区域单独放宽或收紧。差分对在Differential Pair下面先把命名规则配好让软件自动识别哪些网络是差分对。器件间距规则在Package Spacing里面设规定器件之间、器件和板边之间的最小距离布局的时候DRC会实时标红提醒你哪里摆得太挤。区域规则也值得提前规划。BGA区域、高压区域、射频区域可能要用不同的间距和线宽在Constraint Manager里按区域建规则集后续布线阶段直接用不用重新配。6.2 布局收尾检查、导出和衔接摆完之后先用Display → Status看一下DRC的数量布局阶段的DRC主要是器件间距、器件出界这类处理干净再往下走。再导出坐标文件给贴片厂和结构确认路径是File → Export → Placement导出的文件里会有每个器件的RefDes、坐标、旋转角度和所在面结构那边拿着这个能核对器件高度有没有和外壳干涉。评审用的图我一般导PDF或者截三维视图把布局的关键区域标出来发给硬件和结构确认。确认没问题之后把关键器件和已经定死的结构件Fix锁定然后进入布线阶段。别小看这个锁定动作布线阶段手忙脚乱的时候一个不小心就把布局关键器件挪了位等你发现的时候可能已经走了几十根线全得重来。最后提一句布局阶段的调整永远比布线阶段便宜。摆件的时候多花两个小时推敲分区和间距可能省下的是布线阶段两天的返工。这个账我算过很多次越复杂的板子布局的价值越明显。我个人在实际操作中的体会是Allegro这套软件的效率瓶颈很少在功能本身而在你对它的操作习惯有没有建立起来。快捷键、栅格组、网络着色、Room分组这几样东西练熟之后同样的板子布局时间能压掉一半。至于那些报错和显示问题绝大多数都是路径、模式、显示开关这三类原因遇到别急着怀疑软件出了问题先按第5章的表过一遍基本都能自己解决。
返回列表