镜像操作在 Cadence Allegro 里出现频率极高,但多数人只会用 Move 面板里的 Mirror 勾选框应付单颗器件。真到了多器件整体翻面、模块复用、镜像复制这些场景,原点、丝印、位号、DRC 一系列问题都会冒出来。这篇基于 Allegro X 24.1 中文界面,把镜像器件和镜像模块的操作流程拆开讲,并把镜像后的检查步骤和常见坑一起整理出来。
Allegro X 24.1 是 Cadence 近两年主推的 PCB 设计版本,中文界面降低了国内工程师的上手门槛。所谓“镜像”,是让器件在板卡的 TOP 层和 BOTTOM 层之间翻转,封装焊盘所在层面跟着改变,器件相对板框的方向也随之左右互换。这个动作在底层贴装、电源模块正反面叠放、音频左右声道对称布局、多通道复用电路里几乎每天都会用到。
本文会按“核心能力速览 → 使用场景 → 环境准备 → 单器件镜像 → 模块整体镜像 → 检查清单 → 常见问题 → 最佳实践”的顺序展开。你只要有一台安装了 Allegro X 24.1 的电脑,打开自己的练习板或官方 Demo 板,就能跟着往下做。
1. 核心能力速览
镜像不是一个需要额外安装的功能,它是 Allegro PCB Editor 自带的编辑能力。先看整体情况:
| 项目 | 说明 |
|---|---|
| 版本环境 | Cadence Allegro X 24.1,中文界面(英文界面操作逻辑相同) |
| 操作对象 | 单颗器件 Symbol、多颗器件组、模块复用实例 |
| 核心功能 | 器件在 TOP 层与 BOTTOM 层之间镜像翻面 |
| 常用入口 | 右键菜单“镜像”、Edit > Move + Options 面板 Mirror、命令输入框 mirror |
| 批量能力 | 支持框选多器件统一镜像,模块可整体镜像 |
| 复制能力 | 支持“镜像移动”和“镜像复制”两种模式 |
| 设计数据 | 翻转后走线、铜箔、过孔、丝印、位号需要单独检查 |
| 适合场景 | 底层贴装、左右对称布局、多通道模块复用、正反面器件叠放 |
| 使用风险 | 原点偏移、极性方向、丝印可读性、DRC 间距、数据库一致性 |
从表格就能看出来,镜像本身只是“翻面”这一步,真正决定成不成的,是镜像之前的选择方法,和镜像之后的检查动作。
2. 镜像器件与镜像模块的使用场景
2.1 单颗器件镜像的典型场景
单颗器件镜像最常见的场景是“把器件放到背面”。比如空间受限时,电源模块、去耦电容、调试电阻放在 BOTTOM 层;又比如板卡正反面都布置了接口器件,正面对应连接器、背面对应驱动电路,这时候就需要把某一颗器件翻过去。
另一个高频场景是热设计。大功率 MOS、LDO 这类器件放在 BOTTOM 层,配合背面散热焊盘和过孔阵列,比全部堆在 TOP 层更好处理散热路径。镜像操作就是为了让焊盘和器件主体完整落到 BOTTOM 层,而不是手动改了放置层却留下半层残留。
2.2 模块整体镜像的典型场景
多器件整体镜像,通常用于“对称布局”和“多通道复用”。
音频电路里左右声道要求完全对称,很多工程师会先布好一个声道的功放模块,再整体镜像复制到另一侧;DDR 电路里同组数据线需要保持等长,相关电阻电容也需要镜像排布,减少走线路径差异;多通道 ADC/DAC 输入前端,每个通道结构一致,直接复用模块镜像可以节省大量机械式摆放时间。
电源正反面叠放也常见:主控板正面放主电源模块,背面镜像放一个辅助电源模块,两个模块的功率环路尽量重叠,能有效减小环路面积,对 EMC 有实际帮助。这时候如果一个个器件 Mirror 再拼回相对位置,效率非常低,必须用组镜像或模块复用方式。
2.3 镜像操作的使用边界
不是所有电路都适合镜像。射频前端、天线匹配网络、精密模拟信号链路,镜像后电流环路方向会反转,寄生参数也跟着变,必须重新仿真或实测,不能只靠 Layout 检查。
器件本身有机械限制时也要谨慎:带金属屏蔽罩的模块、带固定卡扣的连接器、高度超过结构限位的电解电容,镜像到背面可能和机壳干涉。丝印建议统一翻转,但某些厂商对“Bottom 面丝印是否镜像”有内部规范,需要先确认。
另一个容易被忽略的边界是:直接镜像不会自动复制网络关系和布线。镜像只是把器件翻面,走线铜箔、动态铜皮、过孔不会跟着器件一起过去;如果你想镜像“电路 + 布线 + 铜箔”整个模块,需要走模块复用或者额外处理相关 shape。
3. 环境准备与前置条件
3.1 版本与中文界面确认
镜像功能在 Allegro 各版本里都有,但 24.1 中文界面的菜单位置和英文版有差异。实际操作前先确认两件事:
- 版本号:打开 PCB Editor,在标题栏或 Help > About 里确认是 24.1。
- 中文界面:安装时选了简体中文语言包,菜单会显示“移动”“复制”“镜像”“放置”等中文项;如果部分菜单还是英文,说明语言包没完全生效,重新安装语言包即可。
遇到菜单名称不一致时,按英文菜单对照,例如“Edit > Move”对应“编辑 > 移动”,“Options”面板对应“选项”面板。
3.2 布局前的显示设置
镜像前先把显示层打开,否则器件翻到 BOTTOM 层你会看不到变化,误以为没执行成功。
在 Color/Visibility(颜色/可见性)面板中,至少打开以下几项:
- TOP 与 BOTTOM 的 Package Geometry、Silkscreen(丝印层)
- Ref Des(位号层)的 Assembly 和 Silkscreen 文本
- TOP 与 BOTTOM 的 Etch(走线)层
- Board Outline(板框)
如果用的是显示状态文件,建议提前存一个名为mirror_check的 Display State,只显示元件层、丝印层和位号层,方便镜像后反复切换核对。
3.3 备份与原点检查
镜像操作虽然不算高风险命令,但一旦抓取点选择错误,可能把整组器件翻到板外去。开始之前做两件事:
- 备份当前板卡文件,保证出错可以快速回退。
- 检查当前坐标原点是否清晰。如果板框原点原本就是乱的,镜像后器件坐标容易偏离预期。
备份文件可以直接在文件管理器里复制一份:
copy board.brd board_backup_before_mirror.brd原点检查在 Setup > Design Parameters 里看当前原点坐标,通常把原点放在板框左下角或机械定位孔位置最稳。镜像操作本身不改变原点,但抓取点会直接影响镜像后的放置位置。
4. 单颗器件镜像的三种操作方式
4.1 方法一:右键菜单镜像
这是最直接的方式,适合只处理一两颗器件的场景。
步骤:
- 在画布上用鼠标点选器件。
- 确认 Find Filter 中 Symbols 处于勾选状态,防止点到走线或铜皮。
- 右键,在弹出的菜单里选择“镜像”(英文版为 Mirror)。
- 器件立刻从当前层翻到另一层,层面变化会反映在 Options 面板的 “Layer” 或“Class”显示里。
- 随后用 Move 命令把器件拖动到目标坐标。
判断成功标准:器件焊盘所在层面从 TOP 变成 BOTTOM(或反过来),器件轮廓显示被翻转;放大后能看到丝印方向左右互换。
4.2 方法二:Move 命令配合 Mirror 选项
这种方法把“翻面”和“移动”合成一步,适合一边镜像一边确定最终位置。
步骤:
- 执行 Edit > Move,打开移动命令。
- 在右侧 Options 选项面板里勾选 Mirror(镜像)。
- 保持 Find Filter 勾选 Symbols。
- 点选目标器件,器件会吸附到鼠标上,并且已经处于镜像状态。
- 将器件放到目标位置,点击左键落点。
- 右键选择 Done,或按 F2 完成命令。
这个方法的关键点在于抓取点。Allegro 移动器件时会按你预先设定的“Pick to Grab”来确定抓取位置,通常是 Symbol Origin、Body Center、Pin 1 等。如果你希望镜像后器件主体位置变化最小,就把抓取点设为 Body Center;如果你希望 Pin 1 保持在原坐标附近,就把抓取点设为 Pin 1。
4.3 方法三:命令输入框与快捷键
熟悉命令行的工程师可以直接在命令输入框输入 mirror,回车后根据提示用鼠标点选器件。不同子版本对提示文案略有差异,一般会提示 “Pick symbol to mirror” 之类的信息。
如果希望把镜像固化成快捷键,可以在pcbenv/allegro.env里添加一行别名:
alias MB mirror保存文件后重启 Allegro,选中器件后按 MB,即可直接进入镜像状态。需要说明的是,mirror命令在部分老版本中可能不可用,遇到命令无法识别时,用右键菜单或 Move + Mirror 方式代替就行。
4.4 操作前后对比验证
镜像完成的瞬间,先在当前界面确认两件事:
- 层面状态:被镜像的器件在 Status 或 Options 面板中应显示为 BOTTOM 或 TOP,而不是原来的层面。
- 放置位置:如果只是镜像不移动,器件通常会保持原来的 X、Y 坐标原点,但器件本体会因为原点位置关系产生位移。这是正常现象,关键看是否符合你的布局预期。
如果位置不对,直接 Undo,调整抓取点后重试。不要用手动微调去弥补“镜像后跑偏”的问题,跑偏通常是抓取点或者原点配置的问题,手工补会产生大量后续麻烦。
5. 多颗器件整体镜像与模块镜像
5.1 框选多器件整体镜像
模块镜像的第一步,是学会“整体选中 + 整体翻面”。
步骤:
- 在画布空白处按住鼠标左键,框选模块内的所有器件。
- 松开左键后,确认所有目标 Symbol 都被高亮选中。
- 右键,选择“镜像”(英文版本 Mirror)。
- 整组器件会以当前选择集合的基准点翻面,组内相对位置保持不变。
这里最容易踩的坑是“框选不完整”。如果模块里有些器件处于锁定状态,或者被放在固定分组里,框选时可能选不到;镜像完成后就会出现“一部分器件在正面、一部分在背面”的割裂状态。建议框选后看一眼 Find Filter 的筛选结果数量,再单独补选漏掉的器件。
选中多个器件后,如果右键菜单没有“镜像”选项,大概率是语言包菜单项差异或当前选中对象不全是 Symbol。此时改用 Edit > Move,在 Options 面板里勾选 Mirror,再进行框选,同样可以完成整体镜像。
5.2 镜像复制一组电路
左右声道、多通道电路需要“复制一份镜像版”时,核心命令是 Copy + Mirror。
操作步骤:
- 执行 Edit > Copy。
- 在 Options 面板勾选 Mirror。
- 框选需要复制的所有器件。
- 点击基准点,再点击目标位置。
- 完成后,新一组器件出现在目标位置,并且层面与源器件相反。
这里要特别提醒:直接在 Allegro 中使用 Copy 复制带网络属性的 Symbol,复制出来的器件会保留原来的网络名和位号信息,极容易出现 duplicate refdes(重复位号)和网络连接错误。如果只是布局草图、后续还要重新标注和调网表,Copy + Mirror 可以快速生成镜像参考;如果是正式设计,更稳妥的做法是走模块复用流程,或者在复制后重新标注位号、再导入网表同步。
5.3 模块复用镜像放置
Allegro 的模块复用功能(Module Reuse / Replicate)是“镜像模块”最规范的做法。它的优势在于:把模块内的器件、布局关系、甚至部分布线打包成一个复用单元,之后在目标板卡上放置时可以直接指定镜像。
通用流程:
- 在完成布局的源模块上,选中该模块的所有器件。
- 进入 Place(放置)菜单下的 Reuse 或 Module 相关命令,为模块命名并保存。
- 切换到目标板卡,打开该模块的放置流程。
- 在 Options 选项面板中设置 Rotation(旋转角度)和 Mirror(镜像)。
- 勾选 Mirror 后,选择基准点,模块实例会整体以镜像方式放置到 BOTTOM 层。
- 完成放置后,模块内部器件的相对坐标关系不会改变,所有器件一次性翻面。
模块复用镜像最大的价值是“一致性”。手动框选镜像容易出现漏选、相对位置误差、层面对不齐这些问题;模块复用则把布局关系固定下来,多通道设计里每个通道的镜像版都长得一样,后期查板、调试都省力。
需要注意,模块复用放置后的器件位号可能需要重新分配,部分复用流程还需要手动确认网络映射关系。不同版本对复用模块的菜单入口和放置参数位置略有差异,以 24.1 中文界面实际显示为准。
5.4 用 Skill 批量镜像
如果项目里经常出现“选一堆 Symbol,统一翻面”的需求,可以写一段很短的 Skill 脚本。下面是示例代码:
; 对当前已选中的 symbol 批量执行镜像翻面 foreach(sym axlGetSelSet() when(sym->objType == "symbol" axlTransformObject(sym ?mirror t) ) ) axlUIViewRedraw()把这段代码保存为mirror_batch.il,在 Allegro 命令输入框里执行:
skill load("mirror_batch.il")加载后,先在画布中框选所有需要镜像的 Symbol,再运行脚本,即可一次性完成翻面。脚本里axlTransformObject的参数在不同版本的 Skill 接口中可能略有差异,实际使用前先在副本上验证一次。
6. 镜像后的检查清单与验证方法
镜像不是“翻过去就完事”。器件层面变了,丝印、位号、极性、间距、网络一致性全部要重新确认。下表是一套通用检查清单:
| 检查项 | 检查方法 | 通过标准 |
|---|---|---|
| 层面对 | Color/Visibility 打开 TOP/BOTTOM 元件层 | 目标器件全部位于预期层面,没有残留 |
| 丝印 | 打开 BOTTOM Silk 层 | 背面丝印完整、可读,没有被遮挡 |
| 位号 | 打开 Ref Des 层 | 位号方向合理,没有大量重叠 |
| 极性 | 对比器件丝印极性标识与原理图 | 二极管、电容、IC 第一脚方向正确 |
| 间距 | 运行 Placement 间距 DRC | 与相邻器件、过孔、板边无间距违规 |
| 数据一致性 | Tools > Database Check | 数据库检查无错误,无 duplicate refdes |
| 网表一致性 | 导出网表与原理图比对 | 网络连接与原理图一致 |
6.1 层面对检查
镜像后第一件事就是看“层”。在 Color/Visibility 里把 TOP 和 BOTTOM 的元件层、走线层用不同颜色区分,再看目标器件是否真的翻过去了。
更快的办法是用 3D 视图旋转检查:切换到 3D 显示,旋转板卡,从背面观察器件本体是否朝下、焊盘是否在背面。3D 视图能直接看出器件有没有“半悬空”或“方向反向”的问题,比 2D 直观得多。
6.2 丝印与位号检查
丝印检查容易漏。器件翻到 BOTTOM 层后,丝印字符不一定也会自动变成可读方向。Allegro 里文本有独立的镜像属性,推荐在 Text Editor 中检查 Bottom 面位号文本是否设置了 Mirror,或者直接看打印预览的效果。
如果发现丝印方向错误,可以逐个修改文本镜像属性,也可以重新放置丝印文本。大批量处理时,用 Color/Visibility 把 Bottom 丝印层单独显示出来,挨个截图核对。
6.3 极性器件检查
二极管、电解电容、IC 第一脚、连接器卡扣方向,镜像之后全部要重新确认。极性方向错误在 Layout 阶段不容易暴露,板子贴出来后极容易出现批量烧板事故,这块一定要和原理图对象核对。
检查方法是选中有极性器件,打开封装丝印层,对比极性标记与原理图网络关系。例如二极管的正极应该接哪边、IC 第一脚对应哪个网络,直接用 Show 命令查看管脚网络。
6.4 DRC 与数据库检查
镜像后的 DRC 检查必须重跑。TOP 层不存在间距问题时,不等于 BOTTOM 层也没有问题。BOTTOM 面可能已经有其他器件,镜像下去之后间距、高度、保持距离都可能变化。
跑完 DRC 后,再执行 Tools > Database Check,检查数据库内部一致性。特别要注意 duplicate refdes 和 dangling connection,这些错误在模块复制、模块复用流程里很常见。
6.5 3D 视图验证
如果有条件,建议每次镜像后都进 3D 视图转一圈。3D 视图主要验证三件事:
- 器件方向是否正确,有没有“躺平”在反面。
- 器件高度会不会与相邻器件、结构件干涉。
- 正反面叠放的模块是否真的对齐。
3D 检查通过后,再回到 2D 视图做点位微调和丝印整理。
7. 镜像常见问题与排查方法
镜像操作本身不难,但实际项目中报错、跑偏、丢丝印的情况很多。下面是最常见的几类,按“现象 → 可能原因 → 排查方式 → 解决方案”整理:
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 右键菜单没有“镜像” | 没有选中 Symbols,或语言包菜单文字不同 | 检查 Find Filter,确认选择对象类型 | 改用 Edit > Move + Mirror,或命令 mirror |
| 镜像后器件跑到板外 | 抓取点/原点选择不当,网格设置过大 | 查看命令窗口坐标信息,Undo 重试 | 将抓取点设为 Body Center 或 Pin 1,确认 Grid |
| 镜像后丝印消失 | BOTTOM 丝印层未显示,或文本层本身缺失 | 打开 Color/Visibility 检查 BOTTOM Silk | 打开丝印层,缺失文本手动重新放置 |
| 位号方向不可读 | Bottom 面文本没有设置镜像属性 | 3D 视图或打印预览查看 | 在 Text Editor 中勾选 Mirror,或重新放置位号 |
| 模块镜像后部分器件未翻面 | 框选遗漏,或器件处于锁定状态 | 检查选择列表,确认解锁状态 | 解锁后补选,重新执行镜像 |
| 镜像后 DRC 间距报错 | BOTTOM 面原有器件与新镜像器件冲突 | 运行 DRC,点击报错信息定位坐标 | 微调局部位置,必要时更换封装 |
| 复制镜像后网络错乱 | 直接用 Copy 复制带网原器件,产生重复位号 | 导出网表检查 duplicate refdes | 重新标注位号,导入网表,或改用模块复用流程 |
| 命令输入 mirror 不可用 | 当前子版本不支持该命令行,或输入法干扰 | 查看命令提示信息,切换英文输入 | 用右键菜单或 Move + Mirror,不依赖命令行 |
这些坑里,最值得提前预防的是“抓取点”和“Copy 复制带网器件”这两个。前者会导致器件位置乱跑,后者会让网表一致性崩掉,修复成本都比较高。
8. 最佳实践与使用建议
8.1 镜像前先备份,先小范围验证
无论多熟练,建议都在镜像前备份一份板卡文件。第一次使用镜像功能时,更不要直接对整板操作,先选一颗器件试镜像,确认原点、抓取点、层面变化都符合预期,再执行组镜像或模块镜像。
8.2 把抓取点规则统一
团队内部最好统一一种抓取点规则。例如“所有器件镜像时以 Body Center 为抓取点”,这样模块镜像后相对位置不会乱。如果每个工程师习惯不同,交换文件后会出现大量莫名其妙的坐标偏移。
8.3 显示状态预设保存
在 Color/Visibility 中保存两个显示状态:
- 一个只看 TOP 层:TOP 元件层、TOP 丝印、TOP 位号、TOP Etch。
- 一个只看 BOTTOM 层:BOTTOM 元件层、BOTTOM 丝印、BOTTOM 位号、BOTTOM Etch。
镜像后反复切换这两个状态,几分钟就能完成层面对检查,比手工开层关层快得多。
8.4 模块复用优先于手工镜像
多通道电路、重复电路单元,优先使用模块复用流程,而不是手工框选镜像。手工镜像只能解决“翻面”,模块复用还能固定布局关系、减少重复劳动、降低漏选风险。镜像模块放置完成后,再统一跑 DRC 和网表比对。
8.5 每次镜像后跑 Database Check
Database Check 是 Allegro 里性价比最高的体检命令。镜像、复制、模块复用之后各跑一次,能提前发现重复位号、悬空引脚、残余连线这些问题。不要等到出 Gerber 前才检查。
8.6 合规与保密提醒
镜像操作本身不涉及版权问题,但实际设计文件往往包含公司的原理图、布局和关键走线信息。在公共平台提问或分享问题时,注意对板卡做去敏处理,模糊掉网络名、位号和关键器件型号。如果是参考外部板卡做镜像分析,也需要确认授权边界,避免侵犯他人设计成果。
9. 总结与下一步
镜像器件和镜像模块在 Allegro 里是一个“看起来简单、用好了很省事”的功能。建议第一次尝试时,按这个顺序验证:
- 选一颗无极性器件,用 Move + Mirror 完成翻面,观察层面和坐标变化。
- 再试右键菜单镜像,对比两种方式的抓取点差异。
- 框选一个小模块,做整体镜像,检查组内相对位置是否保持。
- 最后尝试 Copy + Mirror,理解镜像复制和模块复用的区别。
- 全部通过后,再进入模块复用流程,把镜像放置变成标准操作。
最容易踩的坑有三个:抓取点选错导致器件跑偏、丝印和位号没有跟着翻面、直接 Copy 带网器件造成网表错乱。这三个坑提前预防,镜像操作基本不会出大问题。
后续可以继续扩展的方向包括:模块复用的完整流程、Room 约束配合镜像布局、多板协作时的模块同步、以及高速 PCB 中利用镜像对称优化关键信号回流路径。掌握这些之后,镜像就不再只是一个简单的翻面动作,而是整个布局效率体系里的一环。
建议把这篇文章收藏备用,下次处理底层贴装、左右声道对称、模块复用镜像时,直接照着检查清单过一遍即可。