ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Cadence Allegro 按坐标精确放置器件:原点、单位与实操命令全解析

Cadence Allegro 按坐标精确放置器件:原点、单位与实操命令全解析 很多 PCB 设计工程师刚开始用 Cadence Allegro 摆放器件时习惯直接用鼠标拖拽觉得这样“所见即所得”。但等到结构尺寸、连接器卡扣、螺丝孔位、外壳限位这些约束叠加在一起时靠鼠标操作根本对不齐位置只能反复返工。本文围绕“根据坐标精确放置器件”这条主线以 Cadence Allegro X 24.1 中文界面为例把坐标放置的原理、命令、实操步骤和批量导入方法完整拆解一遍帮助你从“看感觉摆”过渡到“按数据摆”。1. 为什么需要坐标精确放置器件1.1 按坐标放置解决什么问题Allegro 中摆放器件看似简单实际项目里却经常出现以下问题结构工程师给的限位尺寸精确到 0.1mm鼠标拖出来的器件位置只能靠目测。连接器、螺丝孔、显示屏、按键必须与外壳开孔对应位置偏差 0.5mm 就可能装不上。高速信号线上器件引脚位置直接影响走线长度例如 DDR、PCIe 等总线摆放位置不准确会让等长设计变得非常困难。多人协作时A 工程师负责核心芯片B 工程师负责接口器件如果所有坐标没有统一基准最后合并设计时会出现大量重叠、越界问题。坐标精确放置解决的核心问题就是让“器件应该在哪”这件事从主观手感变成客观数据让 PCB 设计与结构图纸、装配图、贴片坐标文件对齐。1.2 哪些场景必须使用坐标放置实际项目中最依赖精确坐标摆放的场景包括结构件限位区域例如板边、定位孔、卡片槽、USB 座、Type-C 座、耳机座等。重要器件定位主控芯片、DDR 颗粒、电源模块、晶振等对走线和温度敏感的关键器件。单板拼板与模块化设计多个小模块拼板时模块内部器件需要按相对坐标摆放。与 3D 结构协同Allegro 与 IDX/3D 模型交互时坐标是器件与结构件匹配的唯一桥梁。生产贴片准备SMT 贴片机使用的 Pick and Place 文件本质就是所有器件坐标的集合。因此掌握坐标放置不是可选项而是从事正规 PCB 设计的必备技能。2. 理解 Allegro 的坐标系、原点与单位2.1 设计原点与坐标基准Allegro 中所有器件坐标都是相对于设计绝对原点 (0,0) 描述的。默认情况下原点一般位于绘图区域的左下角也可以根据板框位置重新定义。打开设计文件后可以通过以下方式查看当前鼠标坐标屏幕右下角状态栏会实时显示鼠标坐标。输入命令x 0 0可以快速将光标定位到原点前提是当前命令支持坐标输入。需要注意设计原点与板框原点不一定重合。如果结构工程师提供的 CAD 图纸原点在板框左下角建议在 Allegro 中也把坐标原点设置到同一位置保证两边坐标可以直接对应。设置坐标原点的常用方法选择菜单“设置 更改绘图原点”Setup Change Drawing Origin。在命令窗口输入目标点坐标或者用鼠标捕捉板框左下角、定位孔中心。后续所有器件坐标都会以这个新原点为基准。团队协作时原点约定一定要写入设计规范。否则结构图与 PCB 坐标永远差一个固定偏移排查起来非常浪费时间。2.2 单位设置Mils 与 MillimeterAllegro 支持多套单位常见的是Mils千分之一英寸PCB 设计最常用。Millimeter毫米结构协同最常用。Inch英寸。Micron微米。单位设置路径菜单“设置 设计参数编辑器”Setup Design Parameter Editor。切换到“设计”页签。在“用户单位”下拉框选择需要的单位。单位一旦改变命令窗口输入的坐标数值也会按当前单位解析。比如当前单位是 Mils输入x 50.8 25.4器件就会移动到 (50.8mil, 25.4mil)如果希望移动到 50.8mm建议先把单位切到 Millimeter再输入x 50.8 25.4。实际项目中结构图纸通常使用毫米PCB 设计工程师则习惯 Mils。两种单位之间的换算关系必须记牢1 inch 1000 mil 25.4 mm1 mm ≈ 39.37 mil最稳妥的做法是在设计前统一单位或者在关键接口器件上同时使用结构图和 Allegro 的坐标报告交叉验证避免后期才发现单位不一致。2.3 器件原点不等于封装中心这是新手最容易忽略的细节。Allegro 中每个封装都有自己的原点默认情况下一般是封装引脚 1 或者封装图形左下角而不是整个封装的几何中心。假设封装是 0603 电阻长 1.6mm宽 0.8mm如果原点在左侧焊盘中心那么输入坐标 (10, 20) 后器件左侧焊盘中心会落在 (10, 20)封装整体向右上方偏移。这就导致一个现象同样一颗电阻不同封装库做出来的原点位置完全不同。有人在摆放时发现“坐标明明对了器件位置却不对”大多数情况不是命令输错而是封装原点没有统一。解决思路有两个在制作封装阶段把原点统一设置在封装几何中心。在摆位阶段根据封装原点与中心的偏差将目标坐标换算成“引脚 1 坐标”再输入。项目规范里最好明确说明元器件的原点定义并与结构工程师确认实际需要的定位基准。高速 PCB 设计中这个偏差可能会影响引脚到焊盘的连接长度因此不能忽略。3. 核心操作三个常用坐标命令Allegro 精确放置器件的核心命令集中在命令窗口常用的有x、ix、iy。哪怕在中文版界面下的菜单名称变成了“移动”“复制”等中文词底层命令仍然保持一致。3.1 绝对坐标命令x命令格式x X坐标 Y坐标含义将当前选中对象移动到绝对坐标 (X, Y)注意中间用空格分隔。示例x 100 50表示把对象移动到 X100、Y50 的位置。使用前提先执行“编辑 移动”Edit Move命令。在 Find 面板中选中正确的对象类型。点击目标器件后再输入命令。如果当前没有执行移动命令直接输入x只是让光标跳到对应坐标并不会移动器件。3.2 相对坐标命令ix 与 iy命令格式ix 数值 iy 数值其中ix表示沿 X 轴正方向偏移指定距离iy表示沿 Y 轴正方向偏移指定距离。负值表示反方向。示例ix 5含义在当前位置基础上沿 X 轴正方向移动 5 个单位。iy -3含义在当前位置基础上沿 Y 轴负方向移动 3 个单位。这两种命令常用于“微调”场景。例如器件已经摆到大致位置需要向右偏移 2mmix 78.74注意单位如果当前单位是 Mils78.74mil ≈ 2mm如果切换成 Millimeter直接输入 2 即可。3.3 命令输入的基本规则Allegro 的命令窗口是对大小写不敏感的X和x都行。但需要注意必须切换到英文半角输入法中文全角括号、中文空格会导致命令解析失败。坐标之间用空格分隔不能用逗号也不能写成x100,50。输入完成后按回车确认。命令执行过程中可以按右键弹出菜单选择“完成”Done结束操作。很多用户反映“输入 x 100 50 没有反应”最常见的原因就是当前焦点不在命令窗口或者输入法处于中文状态。Allegro X 24.1 中文界面的命令窗口默认显示底部点击一次让光标聚焦再输入即可。4. 完整实战把一颗 0603 电阻精确放到指定坐标这一节我们完成一次完整的精确放置操作。假设当前设计单位为 Mils需要把一颗 0603 电阻 R1 放到坐标 (2000, 1500)这是一块结构限位区域要求的位置。4.1 第一步确认单位与坐标基准操作步骤菜单“设置 设计参数编辑器”。在“设计”页签确认“用户单位”为 Mils。用菜单“设置 更改绘图原点”确认板框左下角坐标是 (0,0)。如果单位不是 Mils建议先切换过来或者按实际单位换算目标坐标。4.2 第二步启动移动命令菜单路径编辑 移动打开后右侧 Find 面板会自动出现在界面中。这是 Allegro 操作非常关键的一个面板它决定了鼠标点击和命令操作作用于哪一类对象。摆放器件时Find 面板按以下方式设置勾选“Symbols”。取消勾选“Pins”、“Nets”、“Shapes”、“Text”等不需要的类别。如果只想选中某个器件可以只勾选 Symbols。然后点击画布上的 R1器件会进入可移动状态颜色变为高亮并跟随鼠标移动。此时不要着急点下去直接在命令窗口输入目标坐标。4.3 第三步输入绝对坐标命令窗口输入x 2000 1500按回车。电阻 R1 会自动移动到 X2000、Y1500 的位置。注意Allegro 对绝对坐标输入没有额外对话框输入即生效。移动过程中如果发现坐标方向反了可以用ix、iy微调或者输入x 2000 1500重新定位。4.4 第四步完成放置放置到位后右键选择“完成”Done结束移动命令。可以用菜单“显示 元素”Display Element选中 R1查看属性中的 Placement X/Y 值确认为 (2000, 1500)。整个过程的核心步骤可以用下面这条流程概括启动 Move - 设置 Find 为 Symbols - 点击器件 - 输入 x 2000 1500 - 回车 - 右键 Done只要单位、原点、目标坐标三者一致这个流程几乎可以适用于所有封装类型。4.5 反面放置与旋转如果器件需要放在 Bottom 层可以在移动过程中打开 Option 面板勾选“镜像”Mirror再输入坐标。Allegro 会把器件翻转到背面但坐标值仍然以设计原点为基准不会因为镜像而改变位置。旋转操作同理在 Option 面板设置旋转角度或者按右键选择“旋转”Rotate再输入坐标。需要特别注意的是旋转以器件原点为轴心旋转前后原点坐标不变。5. 批量场景通过 Placement 文件按坐标导入导出实际项目中一个 PCB 可能有几百上千个器件逐个输入坐标不现实。更常见的流程是结构工程师提供关键器件坐标表。PCB 工程师把关键器件先按坐标固定。其余器件按规则摆放后再统一导出坐标报告。最终交给贴片厂时使用 Allegro 的 Placement 文件或者第三方坐标文件。5.1 导出器件坐标Allegro 原生支持导出 Placement 文件路径文件 导出 放置导出时可以选择文件格式和单位通常选择 Mils 或者 Millimeter。导出的文本文件内容类似SYMBOL_NAME REFDES X_LOCATION Y_LOCATION PLACE_NUMBER SIDE R0603 R1 2000.000 1500.000 0 TOP C0402 C1 5000.000 8000.000 0 TOP每一行代表一个器件字段含义分别是封装名、位号、X 坐标、Y 坐标、站位号、层别。这个文件非常有用因为它把当前设计的器件坐标都暴露成了普通文本可以放进 Excel 直接处理。5.2 手工修改坐标后回导如果需要在外部修改坐标再导回 Allegro关键技巧是先由 Allegro 导出一个原始文件在原始文件基础上修改而不是手工新建。不同大版本导出的 Placement 文件头信息可能略有差异手工新建很容易因为格式问题导致导入失败。操作步骤按上一节方法导出.txt或.plc文件。用 Excel 打开或者用文本编辑器修改 X_LOCATION、Y_LOCATION 列。保留第一行表头保留 REFDES 与 SIDE 字段不要随意删列。修改完成后保存为制表符分隔的文本文件。Allegro 中执行“文件 导入 放置”。选择修改后的文件按实际原点类型导入。导入时注意选择“原点类型”Allegro 支持按封装原点Symbol Origin或者封装中心Body Center作为坐标基准。如果结构图坐标是按元件中心计算的但 Allegro 默认按封装原点导入所有器件都会出现固定偏移。这一点务必与原理图符号、封装库设计保持一致。5.3 Placement 文件的应用场景导出和导入 Placement 文件不仅用于贴片还常用于多人分工A 工程师固定主控区域后导出坐标B 工程师导入同一份文件保证主控位置一致。版本迭代新版本 PCB 需要沿用旧版本的器件布局直接导入旧版 Placement 文件可以省去大量重复工作。与 CAD 结构数据对齐将结构图中的器件坐标整理成表格导入 Allegro一次性生成结构件限位区域内的所有器件位置。需要注意的是Placement 文件只记录了坐标、位号、层别不会记录网络连接和布线信息。导入后必须检查飞线是否合理尤其是电源、地、高速信号线的连接关系不会因为导入坐标而改变。6. 常见问题与排查思路6.1 常见问题速查表问题现象常见原因解决思路输入 x 2000 1500 后器件没有移动当前输入法为中文状态命令窗口未聚焦切换到英文半角点击命令窗口后重新输入只移动了焊盘整个器件被拉变形Find 面板勾选了 Pins没有正确选中 Symbols重新打开移动命令Find 面板只勾选 Symbols器件移动到的位置和输入坐标不一致封装原点不在器件中心检查封装原点定义必要时在封装编辑器中调整坐标导入后所有器件整体偏移导入时原点类型与文件记录类型不一致核对 Symbol Origin 与 Body Center 的选择导入 Placement 文件报错文件头或列格式不符合当前版本要求先导出一次原始文件在原始文件基础上修改输入坐标后器件出现在很远的地方单位不一致例如结构图是 mmAllegro 使用 Mils换算单位或切换 Allegro 单位后再输入命令行提示语法错误坐标间使用了逗号或中文括号使用空格分隔如 x 2000 15006.2 封装原点导致的位置偏差封装原点不统一是最隐蔽的问题。例如某个封装原点设计在引脚 1另一个封装原点设计在图形中心即使输入完全相同的坐标两排器件的实际排列也不会对齐。排查步骤用“显示 元素”选中器件查看“Placement”列表。记录当前坐标值。对照封装库找到该封装原点的位置。计算原点与封装几何中心的偏差。如果项目中有大量器件需要按结构坐标摆放建议和封装库维护工程师统一约定所有新封装原点一律设置在封装几何中心。对于旧封装可以在布局阶段用一个统一的偏移量补偿或者批量修改封装原点。6.3 相对移动失效问题有些用户输入ix 10后器件没有相对移动原因是ix/iy命令只有在移动命令激活并选中器件时才有效。如果直接输入ix 10Allegro 只会把光标沿 X 方向移动不会带动器件。正确流程启动 Move - 点击器件 - 输入 ix 10 - 回车另外x 100 50是绝对坐标移动ix 100是相对移动两者不要混用。连续执行两次ix命令时第二次的基准点是第一次移动结束后的位置。7. 工程实践与开发建议7.1 统一原点与单位规范从设计规范层面建议在项目启动时明确以下几点设计原点统一放在板框左下角与结构 CAD 图纸原点一致。单位按结构图单位设置如果结构图使用毫米PCB 单位也切到毫米如果必须使用 Mils则所有坐标交接时统一换算并保留 4 位小数精度。定位孔、连接器、主控等关键器件必须先按绝对坐标放置并锁定Fix防止后期误移动。7.2 先锁结构件再布功能器件PCB 布板不是随便从某个角落开始摆放而应该按以下顺序固定所有与结构相关的器件螺丝孔、连接器、开关、指示灯、卡槽。固定核心功能器件主控、DDR、Flash、电源芯片、晶振。摆放外围去耦电容、电阻、上下拉电阻。检查飞线密度和交叉情况再进入布线阶段。在第一步固定器件时强烈建议全部使用坐标输入。这样后续无论怎么调整结构相关位置都不会被意外移动。7.3 利用 Reports 检查坐标准确性摆放完成后使用菜单“工具 报表 放置”Tools Reports Placement可以快速生成所有器件的坐标报告。这个报告适合检查是否有器件落在板框外和结构图纸做坐标对比确认双面器件层别是否满足组装要求。贴片坐标文件在交付前还应该用第三方工具或者 Gerber 查看器做一次交叉检查防止 Allegro 导出时单位或层别设置错误。7.4 关于脚本与自动化对于重复性很强的坐标操作Allegro 支持通过 Skill 脚本批量处理。例如读取外部坐标文件后自动调用移动命令。不过 Skill 脚本的编写依赖具体版本和封装命名规范这里只提供一个思路不展开实现。团队如果有规范化的坐标表格式可以逐步积累自己的摆位工具把“坐标精确放置器件”从手动操作变成自动化流程。8. 总结“根据坐标精确放置器件”是 Cadence Allegro PCB 设计中最基础也最重要的操作之一。本文从坐标系、原点、单位入手详细讲解了x、ix、iy三类命令的用法并给出了一次完整的器件放置流程。在实际项目中坐标放置不仅影响布板效率更影响结构装配、贴片生产和高速信号质量。建议你先从一颗电容、电阻开始练习把所有操作变成肌肉记忆再逐步扩展到连接器、主控芯片和批量 Placement 导入导出。只要把原点、单位、坐标基准这三件事统一精确摆位就不再是难题。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进