
Cadence Allegro 17.4 在硬件设计圈的使用率这两年一直在涨尤其是做高速板、多层板、服务器背板的项目几乎绕不开它。很多从 Altium Designer 转过来的工程师第一道坎往往不在原理图也不在布线而是最基础的画板框。新建一个 PCB 不难可要让板框画得尺寸精确、层面对、后期不闹鬼各种单位、格点、命令细节能把人折腾到怀疑人生。这篇就以 Cadence Allegro 17.4 为例从新建 PCB 开始一步步走到板框绘制完成并把我在实际项目中踩过的坑全部列出来。不管你是完全没碰过 Allegro 的新人还是从 AD 转过来的老手这篇文章都能帮你少走几个月的弯路。1. 从AD切到Allegro很多人第一步就卡在不知道在哪画板框1.1 Allegro的层概念和AD完全不是一回事在 Altium Designer 里画板框大家习惯在 Keepout 层画一条闭合线或者直接用板框形状生成。Keepout 层把机械边界和禁止布线区揉在一起理解成本很低。Allegro 不是这个思路它把物理外形和布线禁区拆成了两个完全独立的对象板框是一组画在Board Geometry/OUTLINE子层下的线条而禁止布线区域是Route Keepin、Package Keepin这类 shape 区域对象。两者位置可以重合但本质上是两种不同的数据。很多 AD 转过来的同事第一次打开 Allegro 都会下意识找 Keepout 层找到之后画了个矩形结果后面出光绘、铺铜、做 DRP 校验全都不对劲。根源在于执行Add Line命令时右侧 Options 面板里的 Active Class 还是ETCH或者BOARD GEOMETRY/OTHER没有切到BOARD GEOMETRY/OUTLINE。Allegro 的图层体系是Class Subclass二维结构你不仅要把 Class 选对Subclass 也要精确到 OUTLINE。这个习惯如果第一周不建立起来后面改板框会让你改到崩溃。另外补充一个常见误区有人以为在 Allegro 里只要画了 Route Keepin 就算板框了这种想法很危险。结构工程师要的是物理外形线路板厂做外形冲切也要靠板框数据Route Keepin 只是给 Layout 自己用的约束区域。只有Board Geometry/OUTLINE里的闭合线条才是板厂认可的板框两者不能互相替代。1.2 新建板子之前先把三件事想清楚新建 PCB 之前不急着双击图标有几个设计参数必须先定下来否则后面改起来代价极大。第一是单位。Allegro 支持 Mils、Millimeter、Micron、Inch 等。如果结构工程师给的是 mm 的图纸那设计单位直接选 Millimeter这样导入 DXF 后比例不会乱如果产品是常规消费类小板很多人习惯用 Mils 画图。最忌讳的是画到一半才切换单位坐标重新换算后圆弧和多段线会非常容易产生舍入误差线宽的显示也可能变得很奇怪。第二是原点。我习惯把板框左下角放到 (0,0)所有器件坐标都基于这个原点排布。后面给贴片厂发坐标文件、给结构工程师对位时双方都省心。你如果把原点放在板子正中心或者某个随机位置后期出坐标文件、钢网文件时对位会很痛苦。第三是大概尺寸和层数。这个直接决定你要不要提前设置层叠结构。四层板、六层板建议在建板框之前就把 Cross Section 配好否则后面做单点接地、平面分割时又得回头调整相当于返工。2. 新建PCB工程的标准动作单位、格点、层叠一次做到位2.1 新建Board File的入口和工程目录规划Allegro 17.4 启动后的首页Start Page会显示最近项目也可以直接新建。比较常规的路径是File - New - Board在弹出的 New Board 对话框中输入文件名并选择保存路径。这里有一个很重要的实操细节路径和文件名尽量不要带中文、空格、特殊符号。Allegro 对中文路径的支持一直不算好我以前吃过亏一个工程保存在项目文件_2024这种目录下结果每次打开都报一堆资源找不到的错后来改成纯英文目录才消停。新建工程的时候我习惯先搭好目录结构。比如ProjectName/ ├── brd/ # PCB 源文件 ├── art/ # Gerber 光绘输出 ├── drc/ # DRC 报告 ├── lib/ # 封装库和原理图库 ├── pdf/ # 图纸和 PDF 文档 └── misc/ # 结构文件、BOM 等这样做的好处是后期一次导出光绘、归档交付时不用满硬盘找文件。尤其做产品迭代时brd目录下还要按版本命名比如project_v1_0.brd、project_v1_1.brd。这在多人协作项目里非常重要后面我会专门说版本保存的习惯。2.2 单位Units和格点Grids设置避免39.37倍缩放噩梦新建板子后第一件事不是画线而是设置单位。在命令行输入un或者Setup - Design Parameter Editor打开 Design Parameter Editor 对话框在 Design 标签页里把 User Units 改成你需要的单位。这里有个细节单位切换会影响坐标显示、格点定义、DXF 导入比例所以必须在一开始定好。格点设置走grid命令或Setup - Grids弹出 Grid Display 对话框。这里注意有两个标签页Non-Etch和Etch。画板框属于非电气对象要改的是 Non-Etch 页签下的 X、Y Spacing。画板框阶段我通常会设成 5mil 或者 0.1mm这样鼠标捕捉足够精细又不会因为格点太密导致误点。Etch 页签是布线时用的可以后面再说。有人会问我板框用坐标输入不靠鼠标捕捉是不是不用设置格点还是建议设。因为画板框的时候经常要连接不同对象比如捕捉圆弧端点和直线端点格点太粗会限制捕捉精度反而容易留下微小缝隙。另外板框绘制过程中经常要用x 100 0这类坐标命令准确设置格点能让显示和输入逻辑一致减少后期修改次数。单位换算这块是重灾区尤其是 mm 和 mil 的混合使用。下面这个表格建议收藏一下单位换算关系典型场景1 mil0.0254 mm常规 PCB 线宽、间距1 mm39.37 mil结构尺寸、板框1 inch25.4 mm板卡尺寸如 ATX 主板1 mm1000 um微观结构、HDI 设计结构工程师给 100mm 板宽你手里是 mil 单位输入坐标时就得换算成 3937mil。这个换算经常出问题后面 DXF 导入章节会专门讲怎么避免。2.3 层叠Cross Section阶段先搭好层叠设置入口是Setup - Cross Section或命令xsection。新建板子默认一般是两层TOP 和 BOTTOM。如果做四层板就要在这里插入 GND 和 POWER 层并设置对应的材料厚度和介质厚度。虽然画板框阶段电气属性还没那么重要但层叠定下来之后后续创建 Route Keepin、铺铜、做阻抗计算时就不用折返。做板框阶段层叠配置可以不用太严格但层名和铜厚最好先填上。我有一个经验把层叠里的 Top/Bottom 铜厚设为 1oz 或按实际需求设介质厚度按板厂常规值填写这样后面在 Cross Section 里看阻抗参考层时不会因为厚度为空导致一堆警告。Allegro 17.4 的 Cross Section 窗口比旧版更直观可以右键添加层、拖拽排序操作起来很方便。3. 板框绘制的三种主流方式手绘、Create Outline、DXF导入3.1 手绘板框用Add Line精确输入坐标如果板框形状比较简单比如矩形或者 L 形最干净的方式是手绘。命令是Add Line或者直接执行add line。画之前确认 Options 面板里的Active Class为BOARD GEOMETRYActive Subclass为OUTLINE。Line Width 可以先用 0因为板框线宽的特殊坑后面会单独说。画 100mm × 80mm 的矩形做法是在命令行坐标输入Command x 0 0 Command x 100 0 Command x 100 80 Command x 0 80 Command x 0 0注意最后一定要回到起点这样线才闭合。很多人画到第四个点就直接右键 Done结果板框是个开口多边形后面 Z-Copy、铺铜全都会出问题。闭合才是终点这个习惯必须养成。如果板框带角度可以在 Options 里设置 Line Lock 为 45 或 90这样画线时会自动锁定角度方便画斜角轮廓。若需要自由角度就把 Line Lock 设为 Off。坐标输入法本身不限角度但锁定角度能有效防止手抖画歪。3.2 规则板框的最快方式Manufacturing - Outline如果板框就是矩形或者只是在矩形基础上切角、倒圆角不要手绘用 Allegro 的 Outline 自动生成命令入口在Manufacturing - Outline等价命令outline。在 Options 面板里可以设置生成哪种形状Rectangle 矩形、Round 圆形、Open 开放式等。同时支持 Corner 类型比如直角、斜切角Chamfer、圆角Round都能直接预设。选择 Rectangle 后直接在设计区点两个对角点一个闭合板框自动生成。它会自动放在BOARD GEOMETRY/OUTLINE层。所以如果你做的产品就是一个规则的方形板用这个方法十秒钟搞定不用手绘再闭合。实际项目中很多消费类板子虽然大体是矩形但四角要做圆角用 Outline 命令直接在 Angle/Corner 里设好圆角半径就行效率比手动画四段圆弧高得多。这个命令生成的是闭合轮廓线而且自带角点处理。生成的线宽根据你 Options 里的设置来建议线宽先设为 0。如果设计过程中发现要改尺寸直接执行Toolbox里的 Move Vertex 或 Shape Edit 也能微调但整体上这种规则的板子尽量不要在最后阶段手动拖顶点很容易破环闭合属性。3.3 复杂异形板框DXF导入结构图的完整操作异形板框比如带复杂圆弧、多段样条曲线的外壳轮廓最可靠的方式是让结构工程师提供 DXF 文件然后导入 Allegro。注意这里说的是 DXFDrawing Exchange Format用 DWG 的话效率会低一些很多公司结构图习惯直接出 DWG你可以让结构工程师另存为 DXF 再给你双方都省事。导入路径是File - Import - DXF。弹窗里几个关键选项DXF file选择结构文件。Incremental addition如果是导入到新板子选 No如果已有内容选 Yes 会增加叠加导入。DXF units这里极度重要必须和结构图的原始单位一致。结构图常见是 mm如果你在下拉菜单里选成了 mils那导入后整体尺寸会变小 39.37 倍这是国内工程师最常栽的坑。Edit - Layers Mapping这里要把结构图的各图层映射到 Allegro 的层。一般做法是把OUTLINE相关图层映射到BOARD GEOMETRY/OUTLINE把尺寸标注、文字、辅助线映射到一个临时层比如BOARD GEOMETRY/OTHER方便后面删掉。导入之后不要直接拿导入线就当板框用。结构图里通常有一堆尺寸标注、中心线、孔位线画面上看起来很杂。正确做法是新建一个空层或者清理掉无关对象只保留最外圈轮廓然后用 Show Element 检查一下关键坐标确认尺寸没问题如果轮廓是由多段细碎线段组成的在允许的情况下重新描一遍干净线段。这个重新描一遍看起来很笨但可以帮你把结构图中的冗余顶点全部清掉后面的 DRC、Z-Copy 会顺利很多。4. 圆弧板框、倒角与Z-Copy让板框从能看变成能用4.1 圆弧板框的画法和方向控制手绘圆弧板框时还是在Add Line命令下把 Options 面板里的 Line Lock 从 Line 切成 Arc。此时可以设置 90 度弧、45 度弧或者自由弧。比较常用的做法是先画几段直线确定边界然后在需要圆弧的地方切换到 Arc 模式用点选圆弧端点完成绘制。画圆弧时方向控制是最大的坑。Allegro 中圆弧生成方向与鼠标移动方向有关很多新手第一次画圆弧总是凸的方向不对比如想要外凸却画成内凹。解决办法画弧时按住 Ctrl 键可以切换圆弧的方向如果已经画完也可以选中弧线后用右键菜单里的相关命令翻转方向。实际项目里圆弧板框非常常见比如充电宝主板、智能穿戴主板这些板子外形都是异形圆润的。我自己的习惯是先画一条参考直线再切换到 Arc 模式用起点 半径 终点的方式输入。Options 面板里如果支持直接输入半径比如输入r 5就表示半径为 5 个当前单位。这样做出来的圆弧尺寸更可控。圆弧与直线拼接的地方要特别注意连接关系。单独画出来的圆弧可能和直线没有交点或者只差一点点。放大看时肉眼可能看不出来但 Z-Copy 和 Compose Shape 时就会立刻报错。所以每画完一段弧我建议用Zoom到最后连接处看一遍确认顶点重合。4.2 倒圆角和切角用Drafting里的Fillet/Chamfer对于已经画好直线段板框的设计如果最后想在角上加圆角或者切角不需要删掉重画。Allegro 提供了一个很实用的工具组Manufacturing - Drafting - Fillet和Chamfer。Fillet 用于在两条相交直线间插入一段圆弧倒角Chamfer 用于切斜角。操作逻辑很简单执行 Fillet在 Options 里输入圆角半径然后依次点击两条相交的线段Allegro 会自动生成一段圆弧并把多余部分修剪掉。注意两条线必须有交点如果没相交到一点命令可能失败。执行 Chamfer输入两个斜角边长同样选择两条边它会生成斜角。这两个命令在日常板框绘制里用得很频繁。之前我一直以为倒圆角只能在 DXF 结构图里做好再导入后来发现 Allegro 自己就能直接处理省了不少来回沟通的时间。如果哪一次 Fillet 生成了多余的辅助线记得检查一下它有时会在原来的顶点处留下短线段手动删除即可。4.3 用Z-Copy生成Route Keepin和Package Keepin板框画完下一步通常就是生成布线约束区域。这个动作在 Allegro 里叫 Z-Copy命令是zcopy copy。它的作用是把已经存在的轮廓比如板框线复制/偏移成另一类对象比如 Route Keepin 或 Package Keepin。具体操作执行zcopy copy在 Options 面板里选择ClassRoute Keepin布线区New SubclassAllOffset偏移值。负值表示向内收缩比如-1mm表示从板框边缘向内偏移 1mm正值表示向外扩展。Copy Direction根据提示点击板框内部或外部来确定方向。然后点击板框线Allegro 会自动沿板框生成一个闭合的 Route Keepin 区域。Z-Copy 最好用的地方在于它不用你手动去描边界板框线一选区域就有了。但它的前提条件是板框必须闭合而且必须是连续的线段连接。如果你板框有极小缝隙Z-Copy 就会报错或者说找不到闭合边界。我经常用 Z-Copy 当作板框闭合性的一个试金石——如果这一步能顺利生成区域板框大概率是真正闭合的。同理Package Keepin 也是这样做。两个区域生成后在布局阶段就能看到哪些地方不能放元件、哪些地方不能走线非常直观。5. 板框绘制避坑实录这些坑我每个都踩过5.1 板框画错层光绘导出时找不到外形这是新手最高频的坑没有之一。画板框时如果 Options 面板的 Active Subclass 不是OUTLINE而是画到了TOP层或者BOARD GEOMETRY/OTHER后面出光绘时板厂根本看不到外形会回来问你要板框文件。先别急着删掉重画Allegro 提供了一个批量换层功能选中画错的线段然后右键选择Change或执行change命令在 Options 面板里把 New Subclass 改成BOARD GEOMETRY/OUTLINE。确认后整组线就能切到正确层。如果板框线分散在不同的层上你也可以用 Find 面板筛选 Line然后全选统一处理。这种批量 Change技巧在后期调整标注层、丝印层时也同样好用值得记下来。5.2 线宽不是0板框实际尺寸偏大很多人画板框时不看 Line Width默认是 0 还好一旦不小心设成了 6mil 或者 12mil后面板厂做外形冲切时是按照光绘里线条的外边界来切的。也就是说你画了一个 100mm × 80mm 的矩形线宽 6mil约 0.1524mm实际上做出来的外形是 100.152mm × 80.152mm比设计值大了。虽然 0.15mm 的误差不至于让板子直接报废但对于高精度装配的产品这个误差不可接受。所以板框线的 Line Width 一律设 0。检查方法执行show element点选任意一段板框线弹出的报告里会列出 Line width 参数。如果发现不是 0执行change命令把 New Line Width 改成 0然后点选所有板框线确认修改。这个动作建议在每块板子画完板框后都做一次形成肌肉记忆。5.3 板框没闭合Z-Copy和铺铜全部报错板框没有闭合的问题处理起来最想骂人。因为肉眼看起来已经闭合了放大 1000 倍才发现某两个点之间差了 0.0001mm。这种微缝一般发生在最后一段线没有回到起点右键 Done 直接结束圆弧和直线端点没有捕捉到同一坐标坐标输入时四舍五入导致端点位置有偏差。检查方法有三种。第一种执行zcopy copy如果能成功生成 Route Keepin大概率闭合了。第二种使用Shape - Compose Shape选中板框线条看能不能组成 Shape如果不能它会提示有几个断开的路径。第三种在执行dbdoctor时关注是否有Open shape相关警告。如果发现确实有缝隙修复方法是在Add Line模式下开启Snap to Segment或Snap Intersection把断点补齐。注意补线时 Options 面板的层仍要是BOARD GEOMETRY/OUTLINE线条线宽仍然设 0不然又会引入新问题。5.4 DXF导入后单位不对尺寸差了25.4倍DXF 单位选错是导入板框时最典型的翻车现场。症状就一句话板子画好后尺寸和结构图对不上要么特别大要么特别小。常见情况是原本 100mm 宽的板子导入后变成 3.937mm——明显小了很多或者反过来变成 2540mm 这种离谱尺寸。如果发现单位错了不要尝试用 scale 命令去缩放那样会把圆弧曲率、线宽全部搞乱。正确做法是删掉当前导入的所有对象Find 面板里选 Lines、Arcs、Text、Shapes 等全选 Delete然后重新执行File - Import - DXF在 DXF units 里选对单位。重新导入后再用 Show Element 核对关键尺寸。这里我建议把板框左下角或某个固定点对齐到 (0,0)方便后续按原点出坐标。5.5 17.4版本界面改版后几个容易走丢的入口Allegro 17.4 界面相比 16.6 变化不小最明显的是启动后的 Start Page 会占用很大一块区域默认显示最近项目和在线内容。如果电脑配置一般可以在 User Preferences 里关闭一些自动加载项能明显加快启动速度。另外17.4 把导入菜单统一到了File - Import下面很多从 16.6 转过来的工程师会习惯性去找File - Import - DXF之外的其他入口结果找不到。还有一个常见的问题是快捷键设置17.4 里你可以通过Tools - Utilities - Keyboard Shortcuts打开快捷键设置界面把常用命令比如add line、zcopy copy、show element绑定成自己顺手的方式。默认的快捷键其实够用但把grid、un、xsection这几个命令绑上快捷键画板框效率会高很多。6. 板框画完后必须做的三步验证6.1 用DBDoctor给数据库做个体检板框画完先别急着往下走跑一遍数据库检查。入口是Tools - Database Check或命令dbdoctor。在弹出的窗口里勾选 All 或者特定检查项执行后会输出检查报告。如果出现Open Shape、Broken Line、Start Point这类相关警告优先解决因为这些会直接影响后续铺铜和 DRC。DBDoctor 是个很实用的工具它不仅能查板框还能查出一些隐藏问题比如断掉的网络、异常的多边形等。我一般在板框阶段就跑一次画完每一版大改后也跑一次。别等到整个布局布线完成后再发现数据库有损那时候返工成本就高了。6.2 用Show Element核对坐标和尺寸跑完 DBDoctor再用 Show Element命令show element点选板框线查看报告中的顶点坐标和线段长度。这时候重点核对几个关键参数起点和终点是否都是 (0,0) 或预期位置每一段直线的长度和设计值是否一致圆弧段的半径是否和结构图一致Class/Subclass 是否为BOARD GEOMETRY/OUTLINELine width 是否为 0。如果这些都没问题板框几何层面就算过关了。这一步看着繁琐但确实能拦住一大批低级错误。尤其是接结构图做对位时坐标有一点点偏差后面整个板子装不进外壳这种问题在贴片阶段才暴露的话损失是惊人的。6.3 光绘输出时Outline层一定要勾选板框本身设计得再好如果输出光绘文件时没有把板框层放进去板厂一样拿不到外形数据。输出路径是Manufacture - Artwork或命令artwork在 Film Control 里找到你用的光绘层配置。如果是自己新建的一定要确保BOARD GEOMETRY下面的OUTLINE子层被勾选同时把Manufacturing下的OUTLINE子层也检查一遍因为有些板厂偏好用 Manufacturing/OUTLINE 作为外形层。如果你在设计中用了多个公共层可以在 Artwork 里的底片勾选项里统一管理。Allegro 的底片Film可以理解为输出 Gerber 的层组合如果你不确定哪些层该勾选一个稳妥原则是把和板框相关的层全部放到同一种底片里命名简单清楚比如outline_mech。这样生产文件发给板厂后对方在 CAM 软件里一眼就能找到外形层。画完板框后还有一个我坚持了很多年的习惯立刻把文件另存为带版本号的名称比如xxxx_v1_0.brd然后手动复制一份到备份目录。因为板框是后续一切工作的基础如果后面调板框调乱了或者误操作破坏了轮廓你就可以快速回退到刚画完板框的这份干净版本重新再来而不是从头重建文件。Allegro 的 AutoSave 功能默认是开着的但自动保存文件有时会覆盖掉你不想丢的阶段所以手动保存版本才是最稳妥的保险。这个习惯看起来简单关键时刻真的能救你一次。