Allegro新手必看:5分钟搞定板框导入与光绘设置(附模板下载)
从Altium Designer或PADS切换到Cadence Allegro,就像从手动挡换到了自动挡赛车——性能强大,但仪表盘上的按钮多得让人眼花缭乱。很多工程师在新建第一个.brd文件时,面对空白的画布和复杂的菜单,常常感到无从下手,尤其是在处理板框结构和光绘输出这两个设计初期最关键的环节时,一个设置不当,就可能为后续的布局布线乃至最终的制板埋下隐患。本文将为你梳理一条清晰的路径,聚焦这两个最容易“踩坑”的环节,提供一套标准化的操作流程和可直接复用的模板资源,帮助你在5分钟内完成从板框导入到光绘模板套用的核心设置,快速跨越Allegro的入门门槛,把精力集中在更重要的电路设计本身。
1. 项目初始化与环境配置:打好地基
在导入任何几何图形之前,必须先为你的设计搭建一个稳固的工作环境。这一步看似基础,却直接影响后续所有操作的精度和效率。Allegro的默认设置并非对所有设计都友好,尤其是对于习惯了其他EDA软件操作逻辑的工程师来说,一些细微的调整能极大提升体验。
1.1 核心参数设定:原点、单位与工作区
启动Allegro PCB Designer并创建新的Board文件后,第一件事不是画线,而是进入Setup->Design Parameters。这里有几个关键参数需要立即确认:
- 设计单位 (Design Units):务必与你的机械结构图(如DXF文件)单位保持一致。通常有
Mils(毫英寸)、Millimeter(毫米)和Inch(英寸)可选。国内项目多以毫米为单位,而很多芯片的Datasheet推荐使用Mils。我的建议是,除非有特殊要求,统一使用Mils,因为这是PCB行业(尤其是封装库)最通用的单位,能避免大量单位换算带来的精度误差。 - 用户坐标系原点 (User Units Origin):这是你设计的“零点”。通常将其设置在板框的左下角或板子的几何中心。我习惯将其设在板框左下角外1-2mm处,这样所有坐标都是正数,便于查看和计算。设置方法:在
Design标签页的Extents部分,可以手动输入Left X和Lower Y的坐标值。例如,如果你想将原点设在(0, 0),而板框左下角在(10, 10),那么可以将Left X和Lower Y都设为-10。 - 绘图尺寸 (Drawing Size):根据你的板子大小选择合适的图纸尺寸,如A2、A3等。这决定了工作区的可视范围,设置得比板子稍大一些即可,避免频繁缩放。
注意:单位一旦在设计中后期更改,可能会导致已放置的元件、走线出现不可预料的偏移,务必在导入板框前就确定好。
1.2 格点与显示优化:让设计更精准
合适的格点设置是精准布局的基石。Allegro的格点系统分为非布线格点 (Non-Etch)和布线格点 (Etch)。
- 设置非布线格点:
Setup->Grids。对于板框绘制和元件放置,可以设置一个较大的主格点(如50 mils)和一个较小的子格点(如5 mils)。这有助于快速对齐。 - 设置布线格点:在同一个对话框中,切换到
All Etch层。布线格点通常设置得更精细,例如5 mils或2.5 mils,以适应走线和过孔的间距要求。 - 显示优化:在
Display->Color/Visibility中,我强烈建议创建一个自己的颜色配置文件。将Board Geometry下的Outline层设置为醒目的颜色(如亮黄色),并关闭暂时不需要的层,保持界面清爽。
为了方便快速配置,你可以将一套满意的颜色和格点设置保存为*.color和*.grid文件,在新项目开始时直接加载。
2. 板框结构导入:从机械图纸到PCB轮廓
板框是PCB的物理边界,是所有布局布线活动的“舞台”。Allegro支持多种方式创建板框,但对于从机构工程师那里拿到DXF或DWG文件的情况,直接导入是最准确高效的方法。
2.1 准备与导入DXF文件
机构部门提供的DXF文件通常包含板框外形、禁布区、定位孔、高度限制区等信息。导入前,最好在AutoCAD等软件中做如下检查:
- 确保板框图形是闭合的多段线 (Polyline)。
- 删除所有不必要的图层、标注和文字。
- 确认图纸单位为毫米还是英寸,并与Allegro中设置的设计单位对应。
导入步骤:
- 在Allegro中,选择
File->Import->DXF。 - 在弹出窗口中,点击
Browse选择你的DXF文件。 - 关键步骤:在
DXF units中选择与文件一致的单位(通常为MM)。 - 点击
Edit/View layers...,进入层映射界面。这是核心操作,你需要将DXF文件中的不同图层映射到Allegro的相应层。一个常见的映射关系如下表所示:
| DXF图层名 (示例) | 映射到Allegro层 | Allegro层用途说明 |
|---|---|---|
| BOARD_OUTLINE | Board Geometry/Outline | 板框外形 |
| ROUTE_KEEPIN | Route Keepin/All | 布线允许区域 |
| ROUTE_KEEPOUT | Route Keepout/All | 布线禁止区域 |
| PACKAGE_KEEPOUT | Package Keepout/All | 元件放置禁止区域 |
| VIA_KEEPOUT | Via Keepout/All | 过孔禁止区域 |
| HOLE | Board Geometry/Drill_Figure | 钻孔图形(定位孔等) |
- 映射完成后,点击
OK,然后返回主窗口点击Import。导入后,使用Zoom Fit查看,板框应已出现在工作区。
2.2 板框闭合与属性定义
导入的图形有时可能不是Allegro认可的板框。需要手动将其定义为板框:
- 确保板框图形在
Board Geometry/Outline层。 - 使用
Shape->Compose Shape命令。在右侧控制面板中,Active Class and Subclass选择Board Geometry/Outline。 - 在
Shape Fill页签,将Type改为Static solid。 - 用鼠标框选整个板框轮廓线,右键选择
Done。此时,轮廓线应变成一个实心区域。 - 最后,使用
Setup->Outlines->Board Outline命令,点击这个实心形状,将其正式定义为板框。完成后,你可以通过Display->Element,然后点击板框来查看其属性,确认是否已成功定义。
常见问题处理:
- 导入后图形位置偏移:检查导入时的原点设置,或在Allegro中使用
Move命令配合User Pick(在命令栏输入x 0 0)将其移动到设计原点。 - 图形不闭合导致无法生成Shape:使用
Tools->Quick Utilities->DB Doctor检查并修复数据库错误,或返回CAD软件检查图形完整性。
3. 层叠结构与光绘模板:输出的核心骨架
层叠结构定义了PCB的物理构成,而光绘(Artwork)设置则决定了最终交付给板厂的文件内容。两者紧密相关,是设计通向制造的桥梁。
3.1 层叠结构设置
进入Setup->Cross-Section,这里以一块常见的4层板(TOP-GND-POWER-BOTTOM)为例,说明如何设置:
- 默认是两层板。在任意行右键,选择
Add Layer来添加层。 - 从上到下依次设置:
- TOP:类型
CONDUCTOR,子类型SIGNAL,材质COPPER,厚度根据阻抗计算或常规要求设置(如0.5 OZ约17.5um)。 - 右键在TOP下
Insert Layer,添加DIELECTRIC(介质层),材质通常选FR-4,厚度(如0.2mm)是影响阻抗的关键参数。 - GND:类型
CONDUCTOR,子类型PLANE(因为是负片层),材质COPPER。 - 添加
DIELECTRIC层。 - POWER:类型
CONDUCTOR,子类型PLANE。 - 添加
DIELECTRIC层。 - BOTTOM:类型
CONDUCTOR,子类型SIGNAL,材质COPPER。
- TOP:类型
- 为
PLANE层指定网络:双击GND层的Assign Net,选择GND网络;同样为POWER层分配主要的电源网络,如VCC_3V3。
3.2 光绘文件(Artwork)标准化配置
这是新手最容易出错,也是板厂反馈问题最多的环节。光绘配置的本质是定义哪些层、以何种形式(正片/负片)、包含哪些元素(走线、铜皮、丝印、钻孔等)被输出到Gerber文件。
手动创建光绘层(理解原理):
- 打开
Manufacture->Artwork。 - 在
Film Control标签页,右键Available Films,选择Add。 - 为每一类需要输出的信息创建一个
Film(即一个Gerber文件)。例如:TOP: 包含TOP层走线、铜皮、焊盘等。GND: 包含GND层信息(负片)。POWER: 包含POWER层信息(负片)。BOTTOM: 同TOP。SILK_TOP: 顶层丝印。SILK_BOTTOM: 底层丝印。SOLDERMASK_TOP: 顶层阻焊。SOLDERMASK_BOTTOM: 底层阻焊。PASTEMASK_TOP: 顶层钢网。PASTEMASK_BOTTOM: 底层钢网。DRILL: 钻孔图(包含孔符)。NCLEGEND: 钻孔表。
- 为每个
Film添加正确的层。例如,对于TOP这个Film:- 在右侧
Available Layers中找到并勾选:ETCH/TOPPIN/TOPVIA CLASS/TOPBOARD GEOMETRY/OUTLINE
- 对于负片层(如
GND),除了添加ETCH/GND,还必须勾选ANTI ETCH/GND,这样才能正确生成负片图形。
- 在右侧
- 设置
Undefined line width,通常设为6 mils或0.15mm,用于定义没有线宽的元素的输出宽度。
高效方法:使用与导出光绘模板
手动配置繁琐且易错。更高效的做法是创建并复用光绘模板。
- 导出模板:当你为一个项目精心配置好一套光绘设置后,在
Artwork控制面板的Film Control标签页,右键任意Film,选择Save all checked…,将其保存为一个.art文件。这个文件记录了所有Film的层构成。 - 导入模板(5分钟搞定的关键):在新项目中,打开
Artwork,点击Apertures标签页下的Auto->按钮(或使用Artwork->Film Setup->Import),选择你之前保存的.art模板文件。瞬间,所有光绘层就按照模板配置好了。 - 适配新项目:导入后,你需要根据新项目的层叠结构做微调。主要检查:
- 层名是否匹配:如果新项目信号层叫
SIG1而不是TOP,需要在模板的Film中修改对应的层。 - 层数量:如果新项目是6层板,你需要手动添加中间信号层对应的Film。
- 板框层:确保
BOARD GEOMETRY/OUTLINE层被包含在每一个线路层Film中。
- 层名是否匹配:如果新项目信号层叫
提示:强烈建议为不同的板厂、不同的工艺要求(如是否有盲埋孔)准备不同的模板。在模板文件名中注明,如
4L_FR4_Standard.art、6L_HDI_JCAP.art。
4. 设计规则与约束管理器:为成功布线铺路
在板框和光绘就绪后,布线前的最后一道重要准备是设置设计规则。Allegro强大的约束管理器(Constraint Manager)是它的核心优势之一。
4.1 物理规则与间距规则
打开Setup->Constraints->Constraint Manager,或者直接点击图标。
物理规则 (Physical Rule Set):
- 在
Physical工作表下,找到你的默认规则集(如DEFAULT)。 - 这里可以设置线宽(Line Width)、过孔(Via)等。例如,为电源网络设置更宽的线宽(如
20 mils),为普通信号设置6 mils。也可以定义多种过孔类型(通孔、盲埋孔)。 - 一个实用的技巧是创建多个
Physical CSet,例如POWER、CLK、DEFAULT,并为不同网络类别分配不同的规则集。
- 在
间距规则 (Spacing Rule Set):
- 在
Spacing工作表下,设置不同对象之间的最小间距。例如,Line to Line(线到线)、Line to Shape(线到铜皮)、Via to Via(过孔到过孔)等。 - 对于BGA等密集区域,可以创建区域规则(
Region),设置更小的间距和线宽。
- 在
4.2 电气规则与差分对
电气规则 (Electrical Rule Set):
- 在
Electrical工作表下,可以设置等长(Matched Length)、时序(Timing)等规则。这对于高速数字电路(如DDR、PCIe)至关重要。 - 例如,为一组数据总线设置一个
Relative Propagation Delay规则,设定它们之间的长度公差(如±10 mils)。
- 在
差分对设置:
- 在
Electrical->Net->Routing->Differential Pair中,定义差分对。 - 右键选择
Create->Differential Pair,通过Auto Setup自动根据网络名(如*_P和*_N)生成,或手动选择。 - 为创建的差分对(如
DP_CLK)分配一个Differential Pair的Electrical CSet,在其中设置差分线宽(Primary Gap)、差分间距(Coupling Gap)和对内等长公差(Uncoupled Length)。
- 在
# 一个简单的Skill脚本示例,用于批量创建基于命名规则的差分对 # 可以将此代码保存为 .il 文件,在Allegro命令行用 “load “xxx.il”” 执行 axlCmdRegister("createDiffPairs", `createDiffPairs) defun( createDiffPairs () foreach( net axlDBGetDesign()->nets netName = net->name if( index(netName, "_P") then posNetName = netName negNetName = strcat(substring(posNetName 1 strlen(posNetName)-2), "_N") negNet = axlDBGetDesign()->nets->find(negNetName ?) if( negNet then axlDifferentialPairCreate(list(posNet negNet) sprintf(nil "DP_%s" substring(posNetName 1 strlen(posNetName)-2))) printf("Created differential pair for %s and %s\n" posNetName negNetName) ) ) ) )配置好约束管理器后,在布线时,Allegro会实时检查并提示违反规则的地方,确保设计一次性通过DRC(设计规则检查)。
5. 检查清单与模板资源下载
在完成上述所有设置,并开始布局布线之前,强烈建议运行一次快速检查。以下是一个简明的预飞检查清单:
- [ ]板框:
Board Geometry/Outline层已正确定义,且为闭合图形。 - [ ]禁布区:
Route Keepin已绘制(通常比板框内缩一定距离),所有布线、元件应在此区域内。 - [ ]原点:用户原点位置合理,方便坐标定位。
- [ ]单位:设计单位与导入的机械图纸单位一致,并确认无误。
- [ ]层叠:
Cross-Section中层数、类型、厚度、材质正确,平面层已分配网络。 - [ ]光绘:通过
Artwork预览每个Film,确认包含的层正确无误,特别是阻焊、丝印层是否包含了所需内容,负片层是否包含了ANTI ETCH。 - [ ]规则:在
Constraint Manager中,确认物理、间距规则已按工艺要求设置,关键网络(电源、时钟、差分对)已分配特殊规则。 - [ ]库路径:
Setup->User Preferences->Paths->Library下的padpath、psmpath、devpath已正确指向你的封装库和器件库。
模板资源获取:为了让你能真正实现“5分钟搞定”,我整理了一套常用的初始化模板,包含:
- 标准4层板光绘模板 (
4L_Standard.art):适用于常见的TOP-GND-POWER-BOTTOM结构。 - 通用颜色配置文件 (
My_Classic.color):高对比度、护眼的显示设置。 - 基础约束管理器模板 (
Basic_Constraint.tpl):包含常规的线宽、间距、过孔定义,可通过Constraint Manager的Export/Import功能加载。
你可以通过关注我的技术博客,在相关文章页面找到这些模板的下载链接。记住,模板是起点,根据每个项目的具体需求进行微调是必不可少的步骤。
切换工具链的初期总会有些阵痛,但一旦掌握了Allegro这套从板框到光绘的标准化工作流,你会发现它在处理复杂、高密度、高速设计时的巨大优势。关键在于理解每个步骤背后的逻辑,而不是死记硬背命令。把模板用起来,把检查清单跑起来,你就能把更多时间留给创造性的电路设计本身,而不是纠缠在软件设置里。