经过我实际测试的Cadence Virtuoso 6.1.7版本,曾遭遇过DRC实时校验疯狂报错,以及卡死且无任何响应的情况。
第一步 关闭实时校验的幽灵层干扰
弹出窗口之后,先将显示所有图层的选项取消勾选,接着点击排除图层按钮。然后手动把金属1到金属3范围外的各个层级,全部从列表里移除出去。通过如此这种的操作,能够使无用校验的比例降低百分之八十。
新手需避开的坑,常见的报错情况是界面卡顿之后弹出来了 “DRC Live Overload” 这样的警告。其核心的原因在于系统按照默认的方式加载了所有层级的规则,然而小型设计仅仅需要关注主要的金属层。有解决办法为,关闭之后前往 Assura 或者 PVS 工具当中重新加载完整的规则库,不过实时校验只保留当前层。
第二步 调整判定阈值消除误报
原因在于,普通工艺库的线宽容差,大多处在0.15um至0.2um的范围, 0.1um这个数值过于敏感,它会将工艺边缘出现的微小偏差,全部判定为报错。
很多人在修改之后,发现存在一些不规则走线,依旧会出现误报的情况,这是怎么回事? 其原因在于, Area Check开关在默认的状态下是开启的,这种情况下,需要同时将Minimum Violation Area设置为0.5um²才行,不然的话,小面积的金属残留就会被视作短路。那么,报错现象又是怎样的? 就是在将报错点实际放大之后去查看,会发现它完全是合规的,可是依然出现了误报情况。
方案对比 全量校验与分段校验的取舍
方案一:开启DRC Live的Auto Run模式,使其在绘制的同时进行校验,此方案适用于小规模模块,像那种一个运算放大器的情况,其布局面积处于200um×200um以内。方案二:手动点击Run Check,仅在完成一个功能块之后触发验证。适合大版图,比如ADC或PLL,否则CPU占用率暴涨。
在实际当中,分段校验更为稳定,这是由于全量模式会导致版图编辑光标延迟超过0.5秒,从而对拖拽手感产生影响。对于小模块采用全量方式,而对于大模块采用分段方式,这属于一种折中逻辑。
完整报错流程 解决“DRC实时校验无法启动”
报错呈现的情况是,点击DRC Live之后,状态栏显示出“Failed to initialize DRC engine” 句号逗号原因在于,软件无法找到工艺文件路径 句号逗号一步到位的解决流程是,先要检查CIW窗口的Library Manager里,当前库的Tech Library是否关联得正确 句号。要是呈现出“None”这种显示状态,那就需用右键点击库名去选择Attach Technology Library,再手动挑选像tsmc18mm此类的工艺库。接着开启Assura菜单里的Run Interactive,先开展一回完整版图验证操作,以使引擎加载一回规则文件。在结束之后,再返回到DRC Live那里,问题基本上就都消失不见了。
有这样一个方法,在tsmc 0.18um工艺情况下经实测显露其具备有效性,然而如果是SOI或者GaAs这类特殊工艺库,那实时校验的规则文件极有可能呈现出不兼容的情况。在如此这种的情况下的话,能够退回到Calibre Interactive去手动开展分段验证,虽说速度比较缓慢,不过却能保障不会有所遗漏。










