ARTICLE DETAIL

资讯详情

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

Allegro 17.4 PCB手动改网实操:从Net Logic到原理图同步的完整指南

Allegro 17.4 PCB手动改网实操:从Net Logic到原理图同步的完整指南 干PCB这行十来年谁没经历过几次火烧眉毛的改板。器件已经摆好布线走了一大半领导突然说某个网络要改可能是原理图换了连接关系也可能是现场调试发现某个信号不该接到这个管脚。这时候要是重新从原理图改一遍再重新导入网表动静太大而且万一网表把已经布好的线和布局冲掉更麻烦。Allegro 17.4这类工具其实支持在板子上直接改网络也就是“元器件网络手动修改”能快速解决一部分紧急变更但改完必须和原理图做同步对照不然早晚得出事。这篇我把自己在Allegro 17.4里改网、回改原理图、再做同步排查的流程写清楚适合正在赶板或者接手旧项目做Rework的硬件工程师、PCB Layout工程师参考。核心原则只有一个PCB上的任何手动改网都要当成一次正式的ECO行为备份、标记、修改、同步、复查一步都不能少。下面按实际操作的顺序把方法和容易掉进去的坑一起讲。1. 紧急改网前先想明白哪些情况适合“直接改PCB”1.1 三种最常见的紧急改网场景第一种是原理图网络名需要全局替换。比如一个走线网络从“I2C_SDA”改叫“I2C_DATA”实际上连接关系没变只是名字要统一。这种场景直接改PCB网络名再回Capture同步一下别名效率奇高完全没必要重铺一遍。第二种是个别引脚需要临时改接到其他网络。典型例子是调试时发现某个传感器中断脚接错了或者接插件上的电源脚和地脚画反了。在板子已经布线大半、甚至已经开始试样的情况下回原理图重新生成网表再全量导入很容易把当前布局和走线关系搅乱。用Net Logic单独改一个pin的网络反而是对现有设计影响最小的办法。第三种是验证某种连接方案不确定能不能长期使用。比如要在两颗芯片之间短接一个测试点先没想好要不要正式进原理图那就先在板上改网、跑测试测试通过后再回Capture更新。这时手动改网就是一种“临时验证”手段。1.2 什么时候不该手动改网手动改网不是万能药。如果改动涉及几十个网络、多片电源域、BGA扇出部分或者是一个多人并行设计的项目我强烈不建议在PCB里手动改。改动面越大漏改的概率越高后续原理图同步的难度也会指数上升最后大概率靠人肉对比网表这种返工比一开始就改原理图痛苦得多。另一个不适合手动改网的情况是高速差分信号、DDR等长组、或者带严格约束的网络。手动改网只改连接关系不会自动修改约束规则差分对属性、Matched Group等可能直接失效。这种设计规范驱动的问题最好还是回到原理图和约束管理器里改。还有一点容易被忽略如果项目已经进入正式版本管理每一版都要出ECO报告那么PCB直接改网后面的“追溯性”就特别重要。这时候手动改网不是不行而是必须同时改原理图、导出变更记录、更新版本说明甚至要让同事评审。2. 准备工作备份、定位、显示设置一个都不能少2.1 备份工程文件到独立目录这步看起来是废话但紧急改板时总有人跳过。花20秒把.brd和原理图.dsn复制到一个新文件夹带上日期和人名万一改乱了至少能回滚。Allegro里可以用File → Save Copy As保存带时间戳的版本也可以直接系统复制整个工程目录。我更喜欢后者因为Capture和Allegro关联的网表文件、库路径、约束文件经常散在不同地方整个目录备份最稳。还有一个细节备份时最好把当前Allegro版本和使用的skill也记下来。有的项目依赖第三方skill换一台机器打开后网络名高亮行为都不一样备份环境的记录能省很多排查时间。2.2 用高亮和过滤快速定位目标元器件改网之前先把要动的位置在板上找清楚。Allegro里最快的方式是命令行输入网络名或位号配合Find面板过滤。例如要改的是U25的第7脚我会先用Find面板勾Symbols输入U25回车后右键Highlight把器件高亮再输入旧网络名勾Nets用“Display → Highlight”高亮整根网络。这样新旧网络用不同颜色显示改的时候不会看错。红绿两个颜色最容易区分但要注意PCB背景如果偏暗绿色看起来可能发灰。我一般把“旧网络”用白色或洋红色“新网络”用黄色对比更清晰。你也可以在Color/Visibility面板里单独给某些Net分配颜色Allegro支持给网络直接Assign Color。2.3 开启飞线和网络颜色避免看错层手动改网后最直接的反馈就是飞线变化所以必须把Ratsnest层打开。菜单Display → Color/Visibility展开“Ratsnest”相关层确认引脚、连接线都处于可见状态。如果原来的设计把飞线隐藏了改成网络后你会感觉“什么都没发生”其实是层没开。网络颜色也要提前设置。Allegro的Display → Assign Color可以给网络涂色改网之前把目标网络涂成亮色改完后引脚颜色会立刻变化一眼就能确认操作是否生效。2.4 动态DRC在改网期间可以临时关掉但必须记得恢复板子规模一大动态DRC在改网时会频繁刷新卡得鼠标都挪不动。临时关闭DRC是常见操作但我建议只在改网那几次点击时关闭改完马上恢复。具体在Setup → Design Constraints里找到On-line DRC选项取消勾选。注意关闭后Allegro不会实时报错如果粗心改出短路DRC也不会提醒你所以关闭期间千万不要顺手把所有飞线都删了。恢复DRC后最好再跑一次全局DRC确认新网络没有产生open、dangling或间距错误。这一步我后面详细说。3. Allegro 17.4手动改元器件网络的两种核心操作3.1 单引脚改网Logic → Net Logic这是Allegro里最直接的手动改网命令适合单引脚或少量引脚。操作流程在PCB Editor中打开板子菜单栏选择Logic → Net Logic。如果菜单里没有直接在命令行输入net logic并按回车。右侧Options面板里把Action从默认的Unassign改成Assign。Net列表里会显示当前板上所有网络选好你要改到的目标网络。如果目标网络还不存在不需要提前退出直接在Net列表下方的输入框里输入新网络名回车后Allegro会识别为一个新网络点击时提示是否创建确认即可。用Find面板只勾选Pins然后在画布里逐个点击需要改的引脚。点选后引脚会立刻从旧网络分配到新网络飞线、网络颜色马上变化。改完右键选择Done退出命令。这个命令背后的逻辑是修改Allegro内部的逻辑连接关系而不是简单改一个显示名字。所以DRC、飞线、铜皮连接都会跟着重新计算。需要特别注意的是原本从该引脚引出的走线不会自动换网络它们依然保留旧网络名。这也是很多人改完网发现板子“多了很多奇怪线”的原因后面我会单独讲怎么清理。3.2 批量改网右键Temp Group Net Logic一次改几十个引脚时一个个点容易漏。更实用的批量方法是用临时分组。先用Find面板勾Pins通过鼠标框选或者按住Ctrl逐个点选需要改动的引脚收集进Temp Group。也可以先高亮某一个旧网络然后用右键“Select Whole Net”把整根网络上的所有pin都选进来再执行Net Logic统一Assign到新网络。批量改网最大的风险是“误选”。比如框选时把附近其他芯片的引脚也圈进来了一旦执行Assign那些引脚也会被强制接到目标网络造成隐性短路。所以我习惯先用“Show Element”确认选中的引脚数量和位号再执行改网。Allegro里可以通过右键“Report”查看当前Temp Group包含的pin列表这一步不要省。3.3 新建不存在的网络Create Net与Net Logic连用如果新网络在原理图网表里本来就没有Allegro不会自动凭空创建。最简单的方法是在Net Logic的Options面板里直接输入新网络名回车后选择创建也可以用Logic → Create Net命令先建好网络再Assign。创建网络时需要注意网络类型电源和地最好指定为Power或Ground类型这样后续铺铜、规则分配会更合理。我曾经栽过一次手动创建一个网络时没注意大小写导致后面导入原理图网表时出现了两个只有大小写不同的同名网络DRC查了半天。Allegro对网络名大小写敏感所以新建网络名尽量从原理图直接复制不要手输。3.4 改网后的走线、过孔和铜皮清理这是手动改网里最脏最累的活。pin改到新网络后旧走线不会跟着自动变。如果你只是改一个悬空的pin可能影响不大但如果改的是已经布线的信号旧铜线、过孔、甚至铺铜Shape都会挂着旧网络名留在板上。不清理的话DRC会报dangling line做铜检查时也可能出现网络名错乱。处理办法一般有三种删除悬空走线Edit → DeleteFind面板勾Clines和Vias框选要删除的部分右键Done。把旧走线Change到新网络Edit → ChangeFind面板勾Clines和Vias再在Options里选择目标网络框选旧走线让它们直接变更为新网络。前提是新网络已经存在且走线电气上能连通。铜皮Shape手动指定网络选中Shape后在右键菜单里选择“Assign Net”再选目标网络。如果是一块覆盖整个电源层的动态Shape直接改net后还需要重新生成ShapeAllegro会提示是否需要更新。清理完走线之后用Display → Reports里的Unconnected Pins检查看是否还有悬空pin。然后再看一遍DRC确认没有dangling line残留。我现在的习惯是改完网第一件事不是看飞线而是打开Report窗口查Unconnected Pins因为这个报告能直接把所有逻辑上没连通的pin列出来比肉眼逐根看飞线可靠得多。4. 和原理图同步对照OrCAD关联Allegro的完整闭环4.1 为什么板上改完还必须回到Capture改原理图手动改网之后Allegro里的逻辑连接关系和Capture原理图已经脱节Allegro本身不会通知Capture。等你保存PCB再交付别人打开原理图根本看不到你改的连接。更麻烦的是如果后面有人基于旧原理图重新生成网表并导入Allegro你手动改的新连接会被网表覆盖等于白改。所以手动改网这个动作必须和“同步原理图”绑在一起。Cadence的Capture和Allegro之间有同步机制可以做正向同步即Capture改完原理图、生成网表、导入Allegro也可以反过来你已经在PCB端手动改了那就回到Capture把对应连接同步改掉再生成一次网表做校验。这里的核心原则是PCB不能成为“孤儿设计”。哪怕板子已经量产原理图也要是最新状态否则下一次改版时全工程师都会被你带进坑里。4.2 在OrCAD里改网络连接并生成网表打开OrCAD Capture找到对应页面把原来的导线或Net Alias删掉然后重新用Wire连接或用Place → Net Alias放置新的网络别名。改动完成后先用Design Rules Check跑一遍重点关注Single Node Net和Off-Page Connector避免出现悬空网络。确认没问题后执行Tools → Create Netlist格式选择“Cadence Allegro”或“telesis”格式指定输出目录生成网表文件。这个网表文件就是Allegro后续同步的依据。如果你的Capture和Allegro已经做了工程关联也可以用Tools → Design Sync直接导出变更文件格式类似xml后面在Allegro端导入。4.3 在Allegro里Import Logic或Design Sync传统方式是在Allegro里File → Import → LogicLogic type选择Cadence找到刚生成的网表文件执行导入。导入前要注意选项如果只更新逻辑连接不希望器件布局被重置不要勾选“Replace”类选项尤其是不要替换封装。如果PCB上某些器件是锁定的导入时可能跳过它们需要先确认锁定状态。导入后Allegro会输出一条summary例如“Updated X nets, Removed Y nets”。看到这条结果后再针对变动网络做一遍飞线确认。对于局部小改动我更推荐Design Sync方式。在Capture里执行Tools → Design Sync → Export Changes会生成一个ECO文件然后在Allegro里Tools → Design Sync → Import Changes选择这个ECO文件。这样同步的粒度更小不会出现整版重导的风险比较符合“紧急修改”的场景。4.4 用网表对比反查有没有漏改同步之后怎么确认PCB和原理图已经一致最简单粗暴的方式是分别从Capture和Allegro导出网络连接列表然后做文本比对。Capture这边生成ASCII网表或CSV格式的BOM连接表Allegro这边用Tools → Reports → Design Synopsis导出当前PCB的连接关系。两边放到Beyond Compare或者直接用Excel VLOOKUP比对重点看改动过的网络检查两端的位号.管脚号是否一致。还有一个土办法但非常有效在Capture里只把改过的网络做成一个高亮颜色在Allegro里同样把新网络高亮成同一种颜色两边截图放到同一屏幕上对比。虽然原始但能极大地避免“因为同步工具出错导致漏改”这种问题。5. 手动改网后最容易翻车的6个细节5.1 Pin被锁定或logic属性被修复手动改网时如果发现命令点了引脚没反应先检查器件是不是被锁定。Allegro里Edit → Properties选Symbol看是否有Fixed属性。锁定的器件需要先解锁才能改pin网络。还有一种更隐蔽的情况是某些“logic属性”会限制网络分配。比如通过Skill或Edit Properties给pin加了特殊逻辑属性Net Logic命令会直接拒绝执行。这种时候先清零Pin上的Net-Related属性再重新改。遇到改不动的pin别硬来先用Show Element看清楚对象属性再决定。5.2 电源和地对地短路网合并后的规则问题手动把两个电源网络合并成一个网络看起来只是改个名字实际牵涉到电源域的合并。如果两个电源电压不一样例如3.3V和1.8V被误连接到同一个netAllegro不会报“短路”因为从逻辑上它们已经是一个网络了但硬件工作必然出问题。所以改网前务必确认两边的电压值、电流承载能力、去耦电容的归属改完后在约束管理器里重新检查电源域。地网络合并也是高危操作。模拟地和数字地通常建议单点连接如果在PCB里把两片地铜强行assign成一个网络DRC可能不报错但噪声性能会变差。这种情况在原理图同步时尤其容易漏因为Capture里仍然是两个网络名。5.3 差分对、等长组和约束被破坏差分信号如果被手动改网Allegro会丢失差分对属性。比如USB的DP/DM你用Net Logic把其中一个pin改到另一个网络那么这两个pin就不再属于同一个差分对约束管理器里原来的差分规则、等长约束会直接报错。更麻烦的是差分对属性丢失后不能靠Layout侧重新Assign找回很多时候要回原理图把网络名改回来再重新导入网表。如果你只是想交换差分正负端不要用Net Logic硬改应该用Swap Pin或Swap Differential Pair功能这样差分对属性还能保留。5.4 位号重叠与封装更新引起网络错乱板上如果有相同位号的元件残留在未完全同步的工程里很容易出现手动改网时很容易选错对象。比如位号“R124”在PCB上出现了两个一个是你想改的另一个是隐藏的旧版本。Net Logic选pin时到底选到哪一个Allegro不会特别提醒。改完后看到网络名对不上才意识到选错了。因此改网前建议先执行Tools → Reports里的Unplaced Symbols Report看看有没有重复或未摆放的器件。必要时把不相关的旧器件临时删除或移出board geometry层。5.5 网络名大小写和前后缀不一致Allegro对网络名大小写敏感但Capture和某些EDA工具不一定。项目里如果同时有“VCC_3V3”和“vcc_3v3”这两种写法Allegro会创建两个网络飞线自然连不上。手动改网时最稳妥的做法是从原理图复制网络名或者用网表文件里的标准名称不要自己脑补大小写。还有一个常见问题是网络名里的空格和特殊字符。Allegro虽然支持但在导入网表时容易触发各种奇怪错误。手动创建新网络时尽量只用字母、数字、下划线。5.6 忘记录变更记录最终没法追溯紧急情况下改完一个网络就急着去出带忘了记录等后面做版本审查时就傻眼了。我习惯在工程目录下放一个“ECO.txt”每次手动改网就写下日期、修改人、原网络、新网络、涉及位号.管脚、修改原因、是否已同步原理图、是否已跑DRC。半分钟的事但后面能救命。公司如果要做版本管理这些记录可以直接整理成邮件或变更单。下面是一个简单的记录模板也可以直接在电脑里做成Excel表单字段示例日期2025-06-12修改人Zhang San原网络EN_3V3_OLD新网络EN_3V3涉及器件U25.1修改原因使能脚接错是否同步原理图是是否跑DRC是备注差分组检查通过5.7 我把下面这个表当一个速查备份故障现象可能原因排查方向Net Logic点了没反应器件锁定或logic属性限制查看Fixed属性清理pin属性改完飞线没变化Ratsnest层关闭或网络名输错打开飞线层核对网络名改完出现大量dangling line旧走线未删除或未ChangeEdit → Delete或Edit → Change原net、新net同时存在大小写/空格不一致统一用原理图命名import网表后手动修改被覆盖没有把改动同步到Capture回Capture改原理图再重新导入6. 实操项目记录一次紧急改网的完整时间线6.1 现场问题描述有一块调试板改版后MCU的使能引脚一直没信号查了半天发现电源芯片的EN脚在原理图里接的是“EN_3V3_OLD”但实际板上有另外一路“EN_3V3”才是正确的。连线问题重新打样周期太长决定在现有板上先改PCB网表再重新出带手工贴两颗片。6.2 实际操作顺序我没有一上来就改PCB而是先在Capture里把U7的第3脚网络名从“EN_3V3_OLD”改成“EN_3V3”生成新的网表文件。然后在Allegro里打开PCB用Highlight把“EN_3V3_OLD”全部高亮执行Logic → Net Logic把U7.3这个pin Assign到“EN_3V3”。做完后删除悬空的旧走线又把旧的Shape重新assign到新网络最后跑了一遍DRC和Unconnected Pins Report确认没有新增悬空脚。当时如果只改PCB不回Capture后面再import网表就会把这次修改覆盖掉。所以我在Capture里同步修改后又重新导入了一次逻辑网表确认ECO结果只包含“EN_3V3_OLD”到“EN_3V3”的变更没有影响其他网络。整个过程不到半小时。6.3 最终检查项这次改完我给自己列了一个检查清单也分享给你们改动的pin两端的显示网络名一致Unconnected Pins Report没有新增悬空pinDRC没有Open、Dangling、Short错误旧走线和过孔要么删除要么已经Change到新网络Capture里DRC通过Design Sync导入时无Error版本管理里写明“ECO-20250612-EN_3V3”。这套流程走下来板子交出去才有底气。7. 改网后的一点个人经验手动改网这个能力就像急救包不怕不用怕用时手忙脚乱。在Allegro 17.4里我习惯把Net Logic设成快捷键比如直接绑定到“N”这样有紧急改动时能少点几级菜单。同时每次改完都要用Unconnected Pins Report做一次“收尾确认”别只靠眼睛看飞线。旧走线千万不能用隐藏代替删除否则DRC不报出Gerber时可能还带着原网络的一段残留线路这个坑我踩过两次。最后再提醒一句即使你这次只改一个网络也一定要回Capture同步或者在原理图上用醒目颜色标注“PCB手动改过待下次版本同步”。不要觉得这是小题大做设计交付不是一个人的事后面接手的人会因为你这条记录少走很多弯路。手动改网技术本身不难难的是一套严谨、可追溯的习惯。
返回列表