自己测试了Cadence IC618,遇到过DRC一片呈现红色的坑。
第一步 调出Calibre DRC运行界面
在Virtuoso布局窗口里头,去点击菜单栏里的Calibre进入Run DRC。等弹窗显现出来之后,最先要确认Run Directory路径是正确的,建议将其指向位于项目根目录中的名为/drc的文件夹。在是,紧接着,在Rules File这一栏处,点击Load按钮,以此来使得你的DRC规则文件能加载,而该文件一般而言,其后缀是.drc或者.rul。
【新手避坑】
新手常常会碰到报错“Rules file not found”,其中最为关键的原因在于路径当中存在中文字符或者空格,解决这一问题的办法是:规则文件路径以及项目目录都绝对必须采用纯英文进行标注而且不能有空格,要是实在没有办法达成的话那就使用下划线对单词连接。
第二步 设置关键参数与运算方案
在SVRF 选项卡里,或者在 TCL 选项卡里,寻觅 DRC Results Database 栏。关键参数最优推荐值包括:把“Maximum Database Disk Size”设定成 2000MB。原因在于,默认的值常常呈现出偏小的态势(500MB),对于复杂芯片而言,全芯片的DRC在进行到执行过程中间时,会由于磁盘被写满这一情况而出现报错,进而退出程序,若将其设置为2000MB,那么能够包括绝大多数模拟与混合信号版图的临时中间文件产生。
现在需要对比两种实操方案:
实施方案A时采用的是单核串行模式,这种模式适配于机器内存数量小于8GB的低配环境,在此环境中其稳定性处于最高状态,然而它存在耗时长久的缺点。
该方案B呈现为多核并行模式,在Run Control → Number of CPUs这个位置,需填入你使用电脑的核心数减去1的数值(举例来说,若电脑为8核,那么就填7),它适用于内存超过16GB的机器,其速度能够提升3至5倍哦。
要是仅仅是小模块进行跑验证,而这个小模块是几百个器件构成的,那么采用方案A就行;但要是全芯片跑验证,全芯片可是上万器件呢,这种情况下就必须得用方案B,否则就会出现一直跑到下班都跑不完的情况。
【新手避坑】
在点击Run DRC之后,程序直接出现闪退情况,并且不存在任何报错日志,其核心原因在于,有关Calibre License这一方面,是没有DRC feature的。而解决的办法是,先要在终端运行lmstat -a,以此来查看是否存在calibre_drc这样的授权,如果没有的话,就要与管理员取得联系,让其更新License文件。
第三步 定位报错并精准修复
跑完全部DRC之后,在结果浏览器当中点击Load RVE,在此处会将所有违规条目列举出来,新手常常遇到的高频完整报错为“M1.S.2 M1 width
1. 握住鼠标右键,点击报错的那一行,再选择Highlight操作,如此一来,在版图里面,与之对应的金属线,就会醒目地高亮显示出来。
2. 在操作时,借助Verify这个图标,通过Markers这一选项,再利用Find这个功能,能够实现快速跳转。
3. 从中挑选出那一根线,按下Q这个按键去查看其属性,将Width这个数值由0.15改变为0.18,要么在选中之后点击Edit再选择Stretch通过手动方式把它拉宽。
4. 若再运行DRC,运行之后如果依然出现报错情况,那就去查看一下相邻的Via是不是存在重叠现象,因为某些时候虽金属线宽度足够然而Via包边不足同样也是会招致同一条规则的触发的。
【新手避坑】
众多新手在修改完Width之后, DRC依旧出现报错情况,其原因在于层次识别出现了差错,比如说M1层实际上是绘制在了M2的drawing层上边,规则对其并不认可。解决的办法是,拉开层次显示,确认正在运行的那一层金属确切地处于正确的工艺层(就像M1对应着Metal1 drawing那样)。
这套方法于标准CMOS工艺情况下很稳定,然而却不适用于那些自定义特殊规则繁杂众多的超低功耗工序或者射频工艺,那些工艺的DRC Rule里常常存有大量逻辑运算, Calibre默认设置会出现漏检情况。要是遭遇此类场景,建议直接向Foundry索要专门的DRC调试脚本,运用他们的自定义命令集去替换常规的Load规则文件流程。










