实测Cadence IC6.1.7 版本的我,踩过在DRC报错后手动一条条翻看结果文件的坑,浪费了整整一下午,后来掌握了高级过滤和跨窗口同步定位的技巧。
用DRC结果浏览器快速定位错误
在完成DRC的运行之后,不要直接去点击那个长的结果文件。将菜单栏中的Calibre打开,选择Run DRC这一选项,在弹出的对话框当中勾选Save Results Database,要保障输出格式是SVRF。跑完之后,点击那名为 Calibre 的选项,接着再点击 DRC Results Viewer,然后去加载那个生成出来的.drc 数据库文件。
在这个时候,界面上会弹出错误列表的窗口,且每一条错误的前面皆是有黄色的高亮条的。直接去双击任意的一条错误,版图窗口便会按照情况自动进行缩放,并且进行高亮至对应的坐标位置,并不需要你再度手动去搜寻坐标。
【新手避坑】
新手极易犯下的错误是未勾选Save Results Database,这就导致后续所积累的数据库文件呈现为空的状态,进而无法打开结果浏览器;解决的办法是再运行一遍DRC,且必定要勾选此项;另外如若双击错误之后版图未实现跳转,就得查看一下是否同时开启了多个版图窗口,接着关闭其它的窗口之后再尝试。
用Hierarchy方式筛选关键错误
光靠能进行跳转是不行的,几百直至上千条错误当中,真正需要人工为之查看的仅仅是其中一小部分。在DRC Results Viewer窗口内,点击Setup → Filter,挑选Filter by Layer,唯独勾选当下所关注的层次,像M1或者VIA1这样。接着,去点击Sort by Count,将那款出现频次最高的错误,排列至最靠前的位置。
荐一关键参数,过滤阈值设为Count>5,因出现频次高之错误常为同一类版图规则问题,优先修复它们可快速降总错误数。像一M1间距错误反复现,表明你走线模板有问题,而非个别孤立失误。
【新手避坑】
许多人一次性将所有层次全部勾选,然而结果列表依旧是几百条,这就等同于没有进行过滤。正确的做法是先仅仅勾选那最容易出现错误的一层,比如说M1,在修完之后再去更换到下一层。要是过滤之后列表依旧显示“0 errors”,那就检查一下Filter窗口的Operation是否设置成了OR而非AND,因为两个条件叠加情况下很容易导致过滤结果成为空白。
两种DRC修复方案对比
面对同一类别的错误,存在两种常见的修正方式。其一,是在Layout Editor里直接通过手动进行拖拽,进而修改形状,此方式适用于个别零散的错误。其二,是运用Calibre nmDRC的Interactive Fix功能,选定错误之后,点击右键并选择Auto Fix,工具就会自动依据规则对版图修正。
在两者进行取舍时存在这样的逻辑,即当错误数量少于10个并且分布比较分散的情况下,采用手动拖拽的方式会更快一些,这是由于Auto Fix有时会出现过度修正的情况,而这会导致周围产生新的错误。要是错误数量超过50个并且集中在同一区域,那么便使用Auto Fix进行一键修复,其效率会高出数倍。具体的操作是先点选一条错误,接下去按Ctrl+A全选同类错误,最后右键选择Auto Fix就可以了。
【新手避坑】
必须要在Auto Fix之后,再度去跑一回DRC验证,这是由于自动修正的时候,有时候会将线宽给拉大,进而意外地触发了最小间距规则。而且我曾经经历过,在修完M1间距错误之后,金属线宽度超过了限制,并且还新增了20条错误出现所以切莫以为点了Auto Fix就什么问题都没有了。
高频完整报错及解决流程
频次最高且最为常见的报错是 “M1.S.1 Minimum spacing 0.18um”,此所指的是两条M1金属线之间的间距小于0.18微米这一情况。当出现此种报错时,先将其标记为处于Rule Checking状态,接着在版图窗口里运用Create → Path功能,沿着错误所在位置绘制出一条全新的走线,以此来替换原本过密的走线。完成绘画之后,借助Verify → Markers → Delete All 将以往的标记清除掉,最终再运行一次DRC。要是错误已然不见,这表明问题已然得到解决;如果依旧存在,那就查看一下是否存在没被彻底删除的隐藏M1碎片,运用Edit → Delete → Object 进行手动删除。
【新手避坑】
绝对不要直截了当地去对原本存在的走线进行拉伸操作,不然极易导致旁边的另外一条线也跟着发生变形情况。创建新的走线才是最为干净利落的处理方案。
对于跨层次混合错误,此方法并不适用。比如说, M1到M2的通孔间距问题,由于涉及两层金属,仅仅改动一层是没有效果的。具体而言,替代方案是,先用Filter只显示该混合层错误,然后再用Manual Modify同时对两层边界调整。










