本人实际测试了Calibre 2024.2版本, 遭遇过机械DRC规则文件加载出现报错的情况, 也有过金属线宽参数反复修改的经历, 新手只要跟随步骤逐个操作, 便能够轻易避开这类常见问题。
DRC规则文件导入与初始化
先要将Calibre的界面予以打开, 之后点击Run DRC从而进入到主窗口之中。在Input Files的标签页那一块地方, 接着点击DRC Rules File右边的文件夹图标, 随后去选择你项目目录之下的.drc规则文件。要留意, 路径之中是绝对不可以包含中文字符的, 并且文件所在的那个文件夹层级千万不要超过三级, 不然的话就很容易报出Rule file not found这个情况。在进行选择之后, 要在Top Cell框之内手动地去填入顶层cell的名称, 而这个名称必须得和你的版图顶层保持一致才行。
针对于新手而言需要避开的坑的情况, 存在着常见的报错现象, 即出现 “Error: Cannot open rule file” 这样的提示。其核心的原因在于路径之中包含着空格或者特别的符号 , 又或者是文件的编码并非是ASCII编码。具备快速解决问题的办法是 , 要把规则文件以及版图放置在同一个英文目录之下 , 得使用记事本去打开.drc文件 , 接着再另存为含有ANSI编码的文件。
然后, 进行切换, 切换至Output Files标签页, 将Run Directory设置成当前项目文件夹里的DRC_Result子文件夹。于DRC Results Database那里, 输入有关输出的文件名, 比如说metal_check.db。这里是需要加以留意的, 输出文件的后缀必然得是.db, 不然的话结果在版图工具里就不能够进行高亮显示。
【新手需避开的坑】, 常见出现的报错为“Cannot write to run directory” , 其原因在于文件夹不存在或者权限是不足的 , 解决的办法为手动于项目目录之下创建DRC_Result文件夹 , 再以右键点击属性并取消勾选“只读”。
关键参数调优与方案对比
直接影响检查精度与运行时间的两个核心参数, 在DRC规则文件内部, 分别是MINIMUM_WIDTH和MINIMUM_SPACE。对于0.18um工艺而言 , MINIMUM_WIDTH的推荐值是0.22um , 原因在于该值比工艺最小值多预留了0.04um余量 , 既能有效避免芯片制造过程中的光刻偏差 , 又不会致使面积过度增加。
倘若你打算于性能跟面积之间去权衡一下, 这儿存在着两种实际操作的方案: 方案A: 把MINIMUM_WIDTH设定成0.18um , 它符合那种追求极致密度的高性能芯片的需求, 然而其DRC误差窗口会缩小, 后续修正错误的频率会增加。方案B: 设定为0.22um , 它适合用于量产的产品, 良品率会保持稳定。取舍的逻辑是这样的, 要是项目周期处于紧张状态, 并且对良率有着较高的敏感度, 那么就要选择方案B, 或者要是在研发阶段要进行压缩面积以便跑仿真, 那么能够临时选择方案A, 不过在流片之前必须得改回到方案B。
【新手防错】, 出现这个报错:“MINIMUM_WIDTH在M1层违反规定, 测量得到的线宽是0.19um”。主要原因在于版图里有一段金属线的宽度比规定数值小。能快速解决问题的办法是: 在版图编辑器中把Calibre DRC结果窗口打开, 对着报错被高亮显示的区域双击, 直接将金属线的边界拖动到使其满足0.22um的程度就可以了。万一出现多处报错的情况, 运用DRC Waive功能去忽略并非关键的区域, 不过得把相关情况记录在waive文件当中。
完整报错解决流程
一个重复发出高频报错长这样: “DRC ERROR: METAL_1_TO_METAL_1_SPACING < 0.28um”,这错误说明啥, 是两条位于同一层的金属线之间的间距比0.28um要小, 那完整的解决步骤是啥样的, 首先第一步, 在Calibre DRC Results窗口那儿, 朝着右键点击这个错误, 然后选择Highlight in Layout, 这样版图中间就会自动把违规的区域给框出来了。第二步, 运用Edit → Move这种操作, 把其中的一根金属线朝着外面移动0.1um。第三步, 再度进行保存版图的操作, 接着再次去运行DRC检查, 从而验证是不是已经消除。
要是移动之后, 间距依旧没有达到标准, 那就查看一下该区域有没有dummy fill或者guard ring产生干扰, 这些金属块说不定会占据空间。解决的办法是, 首先使用Calibre DRC, 接着选择Exclude Net来排除电源或者地网络, 然后再单独去检查信号线的间距。
这种方法对非标准工艺节点不适用, 像0.5um以上老工艺的DRC规则文件语法存在差异, 得手动把MINIMUM_WIDTH改成2.0um, 还要调整报错阈值。简易的替代办法是直接采用工艺厂给出的标准DRC规则包, 防止自己去修改参数。要是版图规模超出1亿个多边形, 建议把DRC任务分到多核服务器上并行运作, 不然单机计算时间有可能超过24小时。
