cadence SPB17.4 - allegro - 铺铜后DRC报错
前言
板子的布局走线都优化过了, 不铺铜也是可以用的. 铺铜能好点(有完整地平面, 制板容易, 焊接应力小).
铺铜前, 进行了DRC, DRC通过, 0错误0警告.
开始铺铜, 然后进行DRC检查, 突然报了好多错误.
因为将动态铺铜拿掉后, 再DRC, 0错误0警告.由此可以确认, 这些报错是铺铜引起的.
仔细看错误提示, 这些都不能算作错误.
查了资料后, 决定采用以下措施来消掉DRC报错:
-
从归档工程中, 迁出铺铜前保存的原始工程.
-
动态铺铜(有自动避让功能)
-
在线DRC出现错误
-
将动态铜皮转成静态铜皮(防止status查看时, 点击smooth引起新的DRC).
-
设置静态铜皮显示方式, 防止静态铜皮显示的不明显(只显示边框, 显示的颜色太浅了).
-
设置Waive DRC不显示
-
将自己确认过的不是错误的DRC标记为 Waive DRC, 然后不显示这些Waive DRC来解决DRC的报错问题.
如果铺铜前DRC通过, 可以将动态铺铜后的DRC放心的全部选中, 然后统一标记为Waive DRC. 如果不放心, 可以先手工查看一次, 应该都是不算是错误的DRC.
-
删除死铜.
-
重新进行DRC确认
笔记
Waive DRC概念
Waive DRC 的意思是自己确认并放弃指定的DRC.
意思是: allegro根据规则检查, 查出不符合规则的DRC错误. 我们不认为这是一个错误, 做了标记, 告诉allegro: 这个DRC不是错误, 不能算作DRC. 那allegro就不管了, 听我们的.
好点的方法是:找到设置这些具体规则的地方, 设置合适的规则, 一次性的将不是错误的DRC检查结果去掉.
但是像锐角检查的角度设置, 是全局的. 没法针对具体对象进行设置. 这时, 改全局的锐角检查设置, 会影响到全部规则. 如果再出现新的DRC, 真有问题的锐角交叉线时, 会漏掉真正的错误, 造成事故.
还有些DRC报错, 人工能确认不是错误, 但是具体在哪里设置规则, 如果查不到, 暂时也可以人工确认后, 标记为Waive DRC, 可以作为一个过度的方法. 等以后知道怎么设置具体规则后, 再去设置规则.
从归档工程中, 迁出铺铜前保存的原始工程
开发时, 每当有了实际的进化, 就归档, 一旦出现问题, 可以从干净的归档进度开始开发. 避免引入不确定的因素.
动态铺铜全局参数设置
如果用默认的参数, 铺铜后, 有一些太细的线. e.g. 2条线间距就20mil, 默认铺铜后, 还在中间搞了一条很细的铺地, 这不应该吧?
动态铺铜(有自动避让功能)
动态铺铜前, 一定要将DRC检查通过.
当首次铺铜时, 一定要选动态铺铜. 这样利用动态铺铜自动避让的功能, 将铜自动铺到位.
铺铜在allegro中, 就是在指定的层, 放一个shape, 在option面板中指定为动态铺铜, 指定网络, 开始画形状即可.
然后在对应层画图形就好
allegro SPB17.4有bug, 放铺铜时, 必须要放好一个shape后, 点击完成.
如果画好一个shape后, 接着换层, 接着画另一面的动态铺铜, 再一起选择右击完成, 是没有效果的. 要严格的一个一个操作来.
同理, 换到其他层, 将动态铺铜画好.
动态DRC出现错误
因为选了所有检查开关, 而且开了动态DRC.
动态铺铜完成后, 主画布上就出现了许多DRC错误的显示.
将动态铜皮转成静态铜皮
防止status查看时, 点击smooth引起重新DRC.
将当前层改为铜皮对应的层, 左击选择铜皮.
右击更改铜皮方式
有提示说, 如果更改了铜皮填充方式, 铜皮的设置参数就都没有了.
只能选择是.
看到命令窗口有提示, 说动态铜皮已经改为静态铜皮了.
Converting dynamic copper fill shape to static solid
右击菜单选择完成.
同理, 将其他铜皮也改为静态铜皮.
转成静态铜皮后, 再选择铜皮, 就是一块一块的铜皮, 而不是开始铺的一大块整体铜皮了.
如果下次要重新铺动态铜皮, 最好将这些碎的静态铜皮都删掉.
设置Waive DRC不显示
标记不是错误的DRC为Waive DRC
将自己确认过的不是错误的DRC标记为 Waive DRC, 然后不显示这些Waive DRC来解决DRC的报错问题.
如果铺铜前DRC通过, 可以将动态铺铜后的DRC放心的全部选中, 然后统一标记为Waive DRC. 如果不放心, 可以先用DRC Browser手工查看一次, 应该都是不算是错误的DRC. 如果真有正真的DRC, 先处理掉(还没遇到过铺铜前DRC通过, 铺铜后出现真正DRC的情况).
只选择DRC对象
当DRC检查结果出来后, 用DRC Borwer看时, 鼠标会触发选择好多对象, 不只是DRC结果标记.
这时需要在Find面板, 只选中DRC. 再用鼠标点击主画布上的DRC标记时, 只有DRC和DRC对应的对象被选中.
人工确认DRC结果到底是不是真正的错误
DRC结果出来后, 用DRC browser查看时, 只是跳到主画布上DRC的大致位置, 像铺铜后的DRC比较多. 到底哪个DRC具体啥错误, 在DRC browser上看不方便. 这时, 可以在主画布上的具体DRC标记上左击, 看提示信息.
左击选中上图中的DRC标记后, 晃动鼠标, 将鼠标悬停在选中的DRC标记上, allegro有即时提示信息.
可以看到, 这个DRC错误原因是:电气线到形状的角度, 规则中为90度, 实际的值为62.5度.
如果不铺铜, 这里是没错误的.
铺铜后, 因为铜皮和焊盘之间有安全间距, 此时电气线和铜皮之间, 自然有一个角度, 这个角度一定不是90度.
可以确认, 这不是一个错误.
标记DRC为Waive DRC
会弹出标记为Waive DRC的原因, 填入放弃的原因是自己确认过不是错误. e.g. ok. 然后点击确认键, 标记完成.
这个标记的原因文本, 下次标记时, 还会在输入框中, 不用我们再输入, 只需要点击OK.
因为我们上面最开始, 已经设置了不显示 Waive DRC, 所以, 标记完Waive DRC后, 就看不到这个DRC了.
如果有多个DRC显示在一堆, 且自己已经确认过, 准备标记掉DRC. 可以按住CTRL键, 然后用鼠标点击多个DRC, 一起选择后, 再一起标记, 方便一些.
如果动态铺铜前进行了DRC通过了, 在动态铺铜之后, 引起的DRC一般都不是真正的DRC. 可以都查看完是不是真正的DRC. 然后只选择DRC, 然后框选板子, 将DRC都选中后, 在一并标记为Waive DRC.
在DRC Browser中, 右下角可以看到Waive DRC的数量.
在右边列表中, 默认是显示全部DRC(Waive DRC也显示)的, 这样很碍眼. 在Waive DRC列中选择只显示没标记过的DRC.
在右边列表中都是没有Waive过的DRC, 双击跳转到主画布 报错处, 将不是真正DRC的错误都标记掉.
看官方文档, 锐角检测DRC默认是不开的.
我是将mode中所有选项都勾上, 才出的这类DRC报错.
还是要最大化的检查, 靠谱些.
默认的锐角检查角度是90度.
Line to Shape Same Net Spacing
这个报错说:相同网络的线和图形之间规则是10mil, 实际值为5.7mil, 不够规则指定的值.
这类DRC显然不是错误. 相同网络就可以连在一起, 距离多少都没关系.
这个规则给焊接时散热用的. 为了使热量不散的太快.
关键是, 这是动态铺铜时, 自动避让出来的, 暂时不知道在哪里设置铺铜的这个效果.
这类DRC可以标记掉.
Soldermask to Pad and Cline Spacing
阻焊层和焊盘/线有间距, 这个咋可能? 本来线就要连接到焊盘中心的, 当然要穿过阻焊层.本来就是没有距离的.
估计是报错的这条线, 经过gloss后, 圆弧线的端点中心不在焊盘中心的缘故. 只要没有明确的错误, 我也不能随便手工去动gloss优化过的线.
这种用gloss优化过制造便利性的线, 有可能线端点不在焊盘中心, 这不能算作错误. 只要线和焊盘接触的宽度够就好.
还有一种可能, gloss后的线, 由多段线段组成(已经不是一条线了), 那这个线段集合中的某一条线, 是线集合中间的一条, 当然和焊盘不相连.
这个报错也可以标记掉.
标记完后查看确认
如果铺铜前, 做过DRC, 通过了.
只是铺铜后, 出现的DRC, 都可以标记掉.
全部标记完后, 在DRC Browser中的顶层DRC节点上单击, 等几秒, 会看到右小角的提示, 总共180个DRC, 标记了180个DRC.
设置静态铜皮显示方式
设置静态铜皮显示方式, 防止静态铜皮显示的不明显(e.g. 只显示边框, 显示的颜色太浅了).
选择图形填充
这里不勾选"不要图形填充"
这里勾选静态图形实心填充.
设置图形透明度
这里的透明度看自己喜好, 让形状显示清晰一些就好.
静态铜皮的显示效果
可以看到静态铜皮在未选择情况下, 显示效果比透明效果颜色深一些, 能和未铺铜的区域区别开.
其实还想要静态铜皮的透明度颜色再深一些, 不知道该怎么设置. 这样也能接受.
删除死铜
如果有死铜, 就删一下.
重新进行DRC确认
DRC检查后, 可以看到都是我们自己标记掉的DRC. 没有真正的DRC.
因为已经将动态铜皮转成静态铜皮了, 在status对话框上点击Update All/Update DRC, 也不会产生新的真正的DRC.
只有很多的Waived DRC, 这些标记过的DRC, 可以点击前面的黄框, 在列表日志中再看一眼.
如果自己要Waived DRC一部分假的DRC, 一定要将铜皮转成静态铜皮. 否则status对话框中进行了update, 大多数自己标记过的Waived DRC都会生效, 那就白忙活了.
至此, 动态铺铜产生的DRC处理就完成了.
下一步, 就可以画拼板, 出板厂生产文件.
总结
Waive DRC的优点:可以人工确认DRC是否有错.
Waive DRC缺点:如果不是错误的DRC很多, 手工操作有点慢.
所以, 在动态铺铜前, 要进行完整DRC检查并通过. 动态铺铜后的DRC, 可以统一查看一次, 只修正真正的DRC. 其他不是错误的DRC全部一次都标记掉.
但是相对于画板子(原理图到板子布局布线完成)的时间, 手工确认DRC的时间还真不算个啥.