Allegro覆铜异常:Unassigned与Out of Date Shapes排查
2026/9/24 9:59:51 网站建设 项目流程

做PCB设计的人,几乎都见过Allegro右下角弹出来的那个状态条,或者打开Display -> Status时看到一排带颜色的标记。其中“Unassigned Shapes”和“Out of Date Shapes”这两项,算是相伴相生的“老熟人”了。很多人一看到这两个提示,第一反应就是删了重铺,或者对着板子反复点Update to Smooth,结果点了几次,那个数字还是稳稳地停在那里,让人非常烦躁。

今天这篇就集中解决这两类覆铜问题。先说清楚它们到底是什么、为什么会冒出来,再给出完整的处理流程和我在实际项目里常用的排查套路。不管你是刚切到Cadence Allegro的新手,还是已经用了几年的工程师,如果经常被这两个状态提示搞得头大,这篇文章能帮你省下不少折腾时间。

1. Unassigned与Out of Date,先分清两个“病根”

1.1 从Status对话框里看到的那两行

在Allegro中,Display -> Status弹出的对话框里,颜色状态分好几类。Unassigned Shapes和Out of Date Shapes通常就在覆铜相关的状态栏里,但它们的含义完全不同。

Unassigned Shapes是指当前数据库中存在着“没有分配网络”的铜箔图形。说得直白点,就是这块板子上有一块铜,Allegro不知道它属于哪个网络,它就那么孤零零地放在那里。这类shape虽然有时候肉眼能看出来,但更多时候藏在底层或者其他不常用的信号层里,等你出光绘或者跑DRC时才突然跳出来给你添堵。

Out of Date Shapes则是指动态铜箔(Dynamic Shape)的“状态”已经过时了。Allegro里的动态铜箔不是一画出来就把铜箔图形和连接关系完整算好的,它更像一个“待重算的草稿”。只要周边走线、过孔、器件位置、规则或网络属性发生了变化,这个草稿就和当前数据库不一致,于是被标记为out of date,等着你去更新。

说白了,一个问题是“不知道这块铜归谁”,另一个问题是“知道归谁但图形还没按最新数据重算”。这是两个完全不同层面的问题,解决办法当然也不一样。

1.2 Unassigned Shapes是怎么来的

很多人以为Unassigned Shapes只会出现在从其他EDA工具导入的文件里,其实不对,Allegro自己画图的过程中也很容易造出来。我总结了几类高频来源:

  • 手工画shape时没有指定网络。比如你在某个内层放了一块铺铜区,画完直接点Done,但没有在Options面板里选中某个网络,这块铜就成了“黑户”。
  • 从DXF或其它格式导入图形后,图形被转换成了shape,但没有网络属性。
  • 用“Z-Copy”创建了一些铜箔边界,但生成时没有选网络,只复制了外形。
  • 在Module复用、复制粘贴、移动某一部分电路时,个别shape脱离了原本的铜箔体系,变成独立且没有net的碎片。
  • 部分去死铜操作后,残留的小铜皮失去了原来的归属。

这里有一个容易被忽略的场景:很多人会把某个区域的shape删掉后重新画,但如果只是删除了其中一块铜,旁边还有一小段被断开的shape碎片,这块碎片很可能依旧带着网络,也可能变成unassigned。两种状态,处理方式完全不同。

1.3 Out of Date Shapes又是怎么回事

Allegro的动态铜箔在设计过程中默认处于“动态”状态,你可以把动态铜箔理解成一种“按需计算”的图形:它会在你移动元器件、改线宽、调整规则后,重新计算边界、热焊盘连接和死铜情况。但它不是实时计算,而是先标记为out of date,等手动或者自动触发更新后,才完成填充和避让计算。

所以Out of Date Shapes并不是错误,它只是告诉你“这里有动态铜箔需要重新计算”。遇到它不用恐慌,但也不能无视。如果不更新就直接出光绘,铜箔图形可能还是旧的边界、旧的避让结果,或者缺失了部分连接关系,非常容易造成板子上的网络连接和设计预期不一致。

另外,在Allegro里还有一种静态铜箔(Static Shape)。静态铜箔不会出现out of date状态,因为它不会自动跟随周边变化。如果你把动态铜箔转成静态铜箔,它会定格在当前状态,后续修改走线、移动器件都不会让它自动更新。很多项目里,为了保证最终出图不变量,会在最后阶段把关键区域的动态铜箔转成静态,但这对前期设计来说操作成本很高,所以我个人不推荐一开始就画大量静态铜箔。

1.4 两种异常的本质对比

用一张表把它们的区别说清楚:

对比项Unassigned ShapesOut of Date Shapes
核心含义铜箔没有网络归属动态铜箔需要重算
状态来源手动绘制、导入、复制模块等走线/器件/规则变化后未更新
常见表现Status中数量固定或反复出现运行Update后数字减少又变多
典型处理分配网络 Assign Net执行Update to Smooth/Rough
是否影响DRC会,可能造成未连接或短路风险会,影响连接关系和光绘结果
是否影响光绘会,未分配网络铜箔可能导致意外铜皮会,旧图形可能与实际连接不一致

看到这里,你对这两个问题应该有一个基本定位了:Unassigned要“认领”,Out of Date要“刷新”。

2. 先从机制上理解覆铜的“状态机”

2.1 动态铜箔与静态铜箔的选择

在谈操作之前,我想先把Allegro里覆铜的底层层逻辑讲一下,因为很多人在操作时栽跟头,就是没搞懂动态和静态的区别。

动态铜箔(Dynamic Shape)是Allegro默认推荐的设计方式。它的好处在于自动化程度高:当你推挤走线、移动过孔、改变间距规则时,铜箔会自动“避让”新的元素。但这种自动避让并不是实时完成,Allegro为了性能考虑,会用一种“边界框加规则”的方式把你最后一次的编辑结果记录下来,等到你主动触发更新时,它才真正重新计算填充。

静态铜箔(Static Shape)则相反。你画的时候是什么样,它就保持什么样。它不会避让新加进来的走线,也不会因为你改了间距规则而变化。你可以手动编辑它的顶点、挖空区域,但一切都要手动维护。静态铜箔在高压板、特殊射频板里偶尔有用,但在绝大多数数字电路板设计中,我建议还是默认用动态铜箔。

为什么有人会遇到“Out of Date Shapes怎么更新都不消失”?大部分情况下,是板子里还残留了旧的动态铜箔,或者某些区域被锁定了。比如你从别的版本、别的工程师那里接手一个板子,对方可能用了不同版本的Allegro,铜箔状态被锁定为“待更新”,但由于缺少对应的Shape优先级设置,更新逻辑根本没有被触发。

2.2 shape优先级、网络分配与图形层的关系

Allegro里的动态铜箔有一个优先级属性(Shape Priority)。为什么需要优先级?因为同一个层上可能有多个相互重叠的铜箔,当它们重叠时,Allegro必须决定“谁压住谁”,也就是哪个铜箔拥有这块区域。

这个优先级和Unassigned Shapes并非直接相关,但会影响你对“无归属铜箔”的处理。举例来说:你从别的PCB工具转过来的文件里,两块外形重叠的铜箔都没有分配网络,即使你选中它并Assign Net,如果优先级设置不当,两块铜箔依然会出现你意想不到的挖空或覆盖效果。尤其在内层电源分割时,这种问题特别明显。

所以处理Unassigned Shapes时,我习惯先打开Display -> Status,确认问题所在层,然后用Shape -> Select Shape on Layer去逐层找,把无网络的铜箔单独显示出来。必要时再用Options面板把“Net”下拉菜单选好,分配网络。

另外,铜箔的网络分配和图形所在层是两个不同维度的属性。一块铜箔在L2层,被分配了GND网络,这只说明它附着于GND网络,和它在哪个层没有关系。很多人以为“在GND层画的铜就是GND”,这话在逻辑上是对的,但Allegro不是靠层名识别网络的,它靠的是Net属性。所以你在任何一层画shape,如果不指定net,它就是unassigned,哪怕它所在层叫“GND”。

2.3 为什么Allegro设计成“延迟更新”

很多初学者会问:为什么Allegro不能像某些其他工具一样,边画边计算,非要搞一个out of date状态出来?

原因很简单:性能。一块中等复杂度的PCB上,可能有几十块甚至上百块铜箔,每块铜箔都要和成千上万的走线、过孔做碰撞检测和避让计算。如果每次鼠标移动都实时重算,整个软件会卡到没法用。所以Allegro选择了一种“先标记、后重算”的方式:你在操作期间,铜箔显示为一个大概的边界框,或者按Rough状态显示;当你放下手里的活儿,主动执行Update to Smooth时,它才认认真真把所有避让、热焊盘连接、死铜标记都算一遍。

理解了这一点,你就明白Out of Date Shapes不是一个应该害怕的报错,而是一个“待办事项”。它提醒你:你还有一批铜箔没有最终成型,出图前一定记得更新,别忘了。

3. 实操:彻底清除Unassigned Shapes

3.1 先定位,再看数量

处理Unassigned Shapes的第一步,不是直接去Assign Net,而是定位。

在Allegro中,我常用的方法:

  1. 打开Display -> Status,看Unassigned Shapes这一行的数值。
  2. 在Find面板中,只勾选Shapes,然后点击左侧的“All Off”,再选“Shapes”。
  3. 打开Options面板,在“Net”类型中选择“(Unassigned)”或者手动查看属性为空的shape。

还有一种更直接的方法:用右键菜单的“Select Shape on Layer”,指定到问题层后,命令栏会提示你当前层上有多少块shape,其中哪些没有网络。配合颜色显示,你可以快速锁定它们。

我个人的习惯是,在处理之前先全局打开所有层,单独给unassigned shape设置一种醒目的临时颜色,比如亮黄色,然后全板飞一圈。有时这些铜箔会藏在器件底下、板框外面,甚至机械层里,只用Status看数量很容易看漏。

3.2 给孤立的铜箔分配网络(Assign Net)

当你找到一块未分配网络的铜箔,操作其实很简单:

  1. 执行菜单Shape -> Assign Net,或者直接选中shape后右键选择Assign Net。
  2. 在弹出的对话框中,从网络列表里选择它应该归属的网络,比如GND。
  3. 点击OK,命令栏会提示分配成功。

这里要特别提醒:如果这块铜箔是作为电源平面或者地平面的一部分,请确认它和旁边的同网络铜箔是否有重叠。如果两块铜箔同网络且重叠,Allegro是可以把它们合并的;但如果你只是简单Assign Net,没有做后续Merge,DRC里还是可能出现重叠铜箔造成的间距报错。

3.3 善用Shape Select与Bulk操作

如果你这个板子是从第三方工具转过来的,Unassigned Shapes的数量可能不是一两块,而是几十块。这时候一块块去Assign Net,效率太低了。

推荐流程:

  1. 执行Shape -> Select Shape on Layer,在Options面板里选择目标层。
  2. 通过Find面板的“Shapes”、并勾选“Unassigned”筛选条件,把该层上所有未分配网络的铜箔全选。
  3. 使用Shape -> Assign Net,统一分配到一个网络下。

需要注意的是,批量Assign Net时,要确保你选中的所有铜箔确实应该属于同一个网络。如果你硬把不同区块的铜箔统一分配到一个网络上,后面DRC会有一堆连接问题。批量操作之前,最好先用颜色区分每一块独立铜箔,再逐一确认归属。

3.4 合并同网络的碎片铜箔(Merge Shapes)

在实际项目中,Unassigned Shapes和碎片化铜箔经常一起出现。尤其是从其他工具导入,或者在你反复删改铜箔边界之后,会出现同一网络的铜箔被切成了很多小块。它们可能都被正确分配了网络,但DRC里仍然会有“同一网络铜箔间距”的报错,因为Allegro把每一块独立铜箔都当成独立图形,铜箔之间的间距规则依然生效。

这时就要用到Shape -> Merge Shapes。操作方法是:

  1. 选择需要合并的铜箔,按住Ctrl键逐个选中。
  2. 执行Shape -> Merge Shapes。
  3. 在弹出的对话框中,指定合并后保留哪个网络的属性,通常选择“Merge to first shape”或者按需指定。

合并完以后,原来分离的铜箔会变成一个整体,铜箔之间的间距规则不再产生影响,DRC也会干净很多。

3.5 无法确定网络的Unassigned Shape怎么办

有些铜箔,你确实不知道它应该属于哪个网络。这种情况多半发生在以下场景:你从别的工程师手里接了一个半成品板,对方在某个内层画了一些实验性质的铜箔,但没写文档;或者从某个机械结构软件导入的DXF里带了一些填充区域,这些区域本来是作为螺丝孔加强圈或者屏蔽罩的安装区域,并不是电气网络。

我的建议是:

  • 如果它在电气层上,且周围有明确的地孔或电源过孔,优先考虑分配到GND网络。
  • 如果它在非电气层(比如机械层、装配层),你可以直接把它删除或移动到Outlined层,不让它进入电气DRC范围。
  • 如果不确定它是否会影响电气性能,建议先把它改为静态铜箔,再删除或者隔离到板框外,并做一次Database Check确认连接性。

切忌“看着像GND就乱分配”。一块无网络的铜皮如果被错误分配到了某个敏感的模拟电源网络上,轻则DRC报错,重则影响板子实际工作性能。

3.6 注意的坑:不要用Delete硬删,容易漏掉弱连接

我在初学Allegro时踩过一个坑:看到板上有一块不需要的铜箔,直接选中Delete,然后心里觉得干净了。结果发现下方还藏着一小块停靠在底层走线上的小铜皮,因为只选中了上层大铜皮,没注意到底层还有一块被压住的碎片。最终光绘里多了一小块不该出现的铜,板上还差点短路。

所以删除铜箔前,一定要把视图切成3D或者把层透明度调低,确认当期铜箔的完整边界。或者用Shape -> Select Shape on Layer,把目标层全部选中,再看命令栏里提示的数量,和你预期是否一致。

4. 实操:强制更新Out of Date Shapes

4.1 更新入口在哪

在Allegro中,更新动态铜箔的入口有多个:

  • 菜单栏Shape -> Update to Smooth:将铜箔按完整避让计算更新为平滑填充状态。
  • 菜单栏Shape -> Update to Rough:只按粗略边界更新,填充为粗糙显示状态。
  • 右键菜单:选中任意动态铜箔后,右键可以直接调出Update to Smooth或Update to Rough。

一般来说,我们日常更新的目标是Smooth状态。Rough状态只是临时显示用,方便你在操作阶段快速浏览布局,不会用于最终光绘。

4.2 Update to Smooth、Update to Rough区别

很多人不理解,为什么一个Smooth一个Rough,到底用哪个?

简单解释:

  • Rough:用较快的算法,把铜箔边界显示成带有锯齿的轮廓,但不做热焊盘和完整避让的精细计算。它适合在设计过程中临时看效果,速度快,但不适合出图。
  • Smooth:会把铜箔的所有避让边界、热焊盘连接、隔离间距、热释放都精细计算出来。它生成的结果是最终光绘中看到的铜箔形态。

实际项目里,我通常建议:“布局布线过程中用Rough,发板前用Smooth”。如果板子规模很大,为了避免卡顿,也可以把动态铜箔的全局更新关掉,只在检查时执行Smooth更新。

4.3 为什么有时点了Update还是没反应

这个问题很经典。很多人执行Update to Smooth后,Status里的Out of Date Shapes数量纹丝不动。

常见原因有三个:

第一,动态铜箔被设置成了“Manual Update”模式。在Allegro的User Preferences中,有一个和Shape update相关的选项,部分版本默认不自动更新。如果你改过配置,需要在Preferences里把自动更新选项打开,否则每次都要手动触发。

第二,铜箔所在的层被“屏蔽”了。如果你把某一层设置为No Etch或者该类铜箔被排除在DRC之外,Update操作可能不会对其生效。

第三,还有一小类情况是铜箔被锁定(Locked)。当动态铜箔被锁定后,你无法更新,还会出现“Shape is locked”之类的提示。这种问题在接手别人板子时很常见,需要对目标铜箔执行Unlock后再更新。

排错思路:先确认是否锁住;再检查User Preferences;最后把显示层打开,确保铜箔所在层是可见的,因为如果层不可见,Update时甚至会忽略它。

4.4 批量刷新与局部刷新操作技巧

在Allegro 17.x版本之后,覆铜更新的菜单已经相对顺手了。你可以执行Shape -> Update to Smooth,然后在Options面板里选择“All”或“By Layer”。

如果只是某几个层有动态铜箔,建议按层刷新,而不是全部刷新。比如内层电源层和底层地的覆铜规则可能不一样,分开刷新能避免不必要的计算等待。

还有一个技巧是,用查找过滤器(Find)只选中当前视图范围内可见的shape,然后局部更新。如果你设计的是高密度BGA板,动不动几百块铜箔,全板刷新可能要好几分钟,而局部刷新能让你更精准地处理问题区域。

4.5 把动态铜箔转静态再转回来的危险操作

有一种操作非常容易引出问题:先把动态铜箔转换成静态铜箔去手动编辑,然后再转回动态。这个操作在你极度需要手工修铜箔边界的场景下确实有用,但它有代价:转换过程中可能丢失部分动态关联关系,尤其是网络连接和避让参数,容易造成不可预期的形状变化。如果在转回动态后,发现Out of Date Shapes一直存在,多半就是这种转换带来的残留状态。

更好的做法是:保留动态铜箔本身,通过编辑Shape Boundary或追加Vertex来实现边界修改,而不是反复在动态和静态之间横跳。

5. 一套组合拳:从布满报错到干净状态

5.1 标准处理流程

下面是我在项目中最常用的一套清理流程,基本覆盖了Unassigned和Out of Date同时存在的场景。

第一步:数据库检查。执行File -> Properties,或使用Database Check(DBCheck)检查整个数据库是否存在基本错误。这一步能提前发现破损的铜箔图形。

第二步:执行Shape -> Update to Smooth,先把所有动态铜箔更新到最新状态。如果有异常,命令栏会提示更新失败的shape数量。

第三步:打开Display -> Status,记录Unassigned Shapes和Out of Date Shapes的数字。

第四步:处理Unassigned Shapes。使用Shape -> Select Shape on Layer,逐层检查未分配网络的铜箔,完成Assign Net、Merge Shapes或删除操作。

第五步:再次执行Shape -> Update to Smooth。因为你在上一步分配了网络,某些铜箔的网络连接关系发生了变化,需要重新计算边界和热焊盘。

第六步:打开Display -> Status,确认Unassigned Shapes归零,Out of Date Shapes归零。

第七步:不要急着结束。执行Tools -> DRC,检查是否有新增的间距或连接报错。很多时候,给一块铜箔分配网络之后,会和旁边原本不相干的铜箔产生新的间距检查,这部分需要特别留意。

第八步:处理后,再次执行一次Update to Smooth,把可能因为DRC修改而变dirty的铜箔重新刷新。

这套流程看起来简单,但每一步都有坑。我遇到过不少工程师在第一步直接跳过,虽然Unassigned处理好了,但板里还有其他数据库层面的错误,最后出光绘时暴雷。DBCheck多花几十秒,值得。

5.2 罗氏线圈等特殊版图对覆铜的要求

有一个场景值得单独提一下:罗氏线圈这类高精度电流检测板。这种板子的线圈绕组往往要求极高的对称性和一致性,对覆铜/铺铜边界特别敏感。

在这种设计里,Unassigned Shapes的后果可能比普通数字板严重得多。因为线圈区域的铜箔哪怕有一小块形状不规范、边界多了个齿,都会影响线圈的高频特性和检测精度。所以我在做这类板子时,会额外注意:

  • 线圈区域尽量使用静态铜箔,或者使用动态铜箔后锁定边界,避免误操作导致shape边界偏移。
  • 铺铜边缘的避让间距设置一致,不使用多套规则混用。
  • 每一层线圈图形的Unassigned状态必须清零,因为未分配网络的铜箔可能在层间造成意外的寄生电容。

5.3 配合自动化的Allegro Skill处理思路

如果你经常需要处理大批量铜箔状态问题,使用Allegro Skill做自动化是一个非常高效的选择。网上有不少开源的skill脚本可以做“自动寻找unassigned shape并分配网络”的操作,但使用前必须搞清楚脚本逻辑。

我的习惯是:

  1. 先写一个检查脚本,扫描全板,输出每个unassigned shape所在层、包围盒、顶点数量等信息。
  2. 用一个简单的规则引擎,把这些shape按“是否与GND过孔重合”“是否在特定区域内”分类。
  3. 再执行批量Assign Net。

这样做的好处是可控性强。我不建议直接拿一个“全自动全板分配”的脚本就跑,因为脚本无法理解设计意图。它可能把你故意留下的机械铜箔也分配上了网络,到时候查DRC更痛苦。

关于Skill,如果你不熟悉,可以先从简单的菜单录制宏开始,Allegro本身支持一定程度的操作回放。但是要做到批量定位、批量分配,还是得用Skill。

6. 常见问题排查与经验速查表

6.1 Status里总有“Unassigned Shape”但图上找不到

这是最让人抓狂的情况之一。Status明明显示有2个Unassigned Shapes,但你在图上怎么翻都找不到。

我的排查步骤:

  1. 打开所有层,包括机械层、装配层、反标注层等非电气层,用全透明显示模式看。
  2. 使用Find -> Shapes,在菜单Commands中执行“Select All”,看命令栏提示选中了几块shape。
  3. 如果你选中后看不到任何高亮,说明它们可能在板框外非常远的地方。执行Zoom Fit,然后按“F5”刷新,有时候会发现一个极小铜箔毛刺留在板外几十毫米处。
  4. 还有一种可能是shape被放在了“Undefined”层或“Board Geometry”层。虽然这些层通常不参与电气连接,但Status依然会统计。

这个问题我遇到过好几次,最后都是靠“全选shape并执行Move”来定位:把所有shape移到板内某个固定位置,就看到那些看不见的铜箔冒出来了。

6.2 “Out of Date Shapes”数量越更新越多

正常情况下,更新一次Smooth,数量应该归零。如果越更新越多,说明你的设计里存在“动态铜箔不断被修改”的因素。

最常见的元凶是:某些规则(比如spacing规则)在更新过程中被触发,而触发之后,铜箔又反过来影响了走线或器件的位置,导致它们再次触发更新。这种循环常见于有自动调线或自动居中功能的高级约束里。

排查步骤:

  1. 关闭所有自动布线相关功能。
  2. 把所有动态铜箔按层单独更新,观察是哪一层在反复变脏。
  3. 检查该层是否有大量被锁定的碎片铜箔,或者是否和另一块动态铜箔存在重叠关系。
  4. 如果实在找不到原因,可以把该层铜箔先转为静态铜箔,出图前再评估是否能接受。

6.3 Shape只有轮廓没有填充

这个问题也经常和Out of Date挂在一起。你在屏幕上看到铜箔只有一圈紫色边框,里面空空如也。

大概率是因为当前铜箔处于Rough或Out of Date状态,显示模式没有触发完整填充。解决办法:

  1. 执行Shape -> Update to Smooth。
  2. 检查Display -> Color/Visibility里,对应铜箔层的填充颜色是否被关闭。

如果Update to Smooth之后还是没有填充,就要考虑是不是该铜箔被设为了Static Shape,但它内部又没有任何有效图形。这时候用它右键的Edit Properties看一下,必要时删除重画。

6.4 热焊盘/花焊盘连接异常

很多人更新完动态铜箔后,发现某个器件的GND焊盘没有热焊盘连接,或者连接方式不对。

这个问题的根源往往是:该焊盘的Pin属性和铜箔的Thermal Relief设置不匹配。比如某个Pin被设置成Isolate,那么即使铜箔已经通过Smooth计算,它也会被完全隔离。或者铜箔的Connect风格被设置成“None”,导致焊盘没有连接。

处理方式:

  1. 打开Setup -> Constraints -> Physical,检查默认的Copper连接方式。
  2. 检查Pin属性,确认它没有设置Isolate或Thermal Relief override。
  3. 重新Update to Smooth,让修改生效。

6.5 从其他EDA导入后的铜箔问题

这个场景值得单列,因为很多Unassigned Shapes都是从PADS、Altium或者其他工具转过来后留下的遗产。

从别的工具转Allegro时,铜箔常被转化为静态铜箔,有时还保留着原工具的网络属性,有时则完全丢失。再加上优先级、层名称映射的差异,你会在转过来的板子里看到一堆unassigned和out of date混合出现的奇怪现象。

我的建议是:

  • 转换后不要直接开始布线,先花半小时做一次覆铜清理。
  • 用Shape -> Convert to Dynamic,把静态铜箔批量转成动态铜箔,然后重新分配网络。
  • 检查所有层的net属性,把电源和地网络逐一对应上。
  • 执行一次全板Update to Smooth,再跑DRC。

6.6 数据库修复:DBDoctor

最后一个救急手段,是Allegro自带的数据库修复工具DBDoctor。当板子里的铜箔状态非常混乱,怎么更新都报错时,先关掉设计文件,用DBDoctor跑一遍数据库检查。

DBDoctor的具体操作路径在不同版本里略不一样,一般位于安装目录下,可以通过Start Menu快捷方式进入。跑完DBDoctor后再重新打开板子,很多顽固的Out of Date和Unassigned问题会自然消失,因为数据库本身已经修复了。

但这里要说句实在话:DBDoctor不是万能药。如果是设计逻辑层面的问题,比如规则冲突、铜箔优先级设置错误,DBDoctor是查不出来的。它更擅长处理文件损坏、图形数据不一致这类底层问题。所以不要依赖它,而是要从设计源头上规范操作习惯。

我在实际项目里,一般把Unassigned Shapes和Out of Date Shapes的检查固定在出光绘前的标准动作里。先跑一次全板更新,再查unassigned,处理完再更新一次,然后跑DRC。这个过程看着麻烦,但一旦变成习惯,你会发现后期改板子的时间反而少了。最后再分享一个小技巧:在设计中途,我会定期按层执行“Update to Rough + 局部查看”,而不是等全部布完线才做一次大更新。这样随时能发现铜箔异常,避免把它们留到最后集中爆发。希望这篇内容能帮你减少一点和Status窗口“战斗”的时间。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询