数字后端零基础入门系列 | Innovus零基础LAB学习Day10
###LAB19 Innovus在线DRC检查
这个章节的学习目标是学会使用数字IC后端设计实现PR工具innovus来检查drc。
数字后端零基础入门系列 | Innovus零基础LAB学习Day9
数字后端零基础入门系列 | Innovus零基础LAB学习Day8
数字后端零基础入门系列 | Innovus零基础LAB学习Day7
首先我们cd进入到我们本节的工作目录:
cd /home/ic062/Desktop/FPR/work/VERIFY (这里面特定准备了一个新的设计提供给大家练习)
为什么不使用之前一直用的那个lab呢?因为那是chip level的设计(带IO CELL),verify出来的DRC会非常之多!
其次,通过读入verify.globals文件,完成导入的设计(verify.globals文件内容其实就是导入设计import design要读入的netlist,tech lef,标准单元和mmmc等)。
导入设计后的效果图如下所示(该设计不包含任何macro和IP):
为了验证drc,除了导入设计外,我们还需要导入我们事先已经绕好线的database。本来这个lab也可以直接通过restoreDesign来加载之前绕好线的database,但官方这次是让我们先通过导入设计,然后再导入绕线后的def来实现设计数据的加载。
所以,下面我们导入绕线后的def。
defIn tdsp_core_routed.def (这个def不仅包含了floorplan大小,powerplan信息,标准单元位置信息,还包含了绕线信息)
导入后此时就是一个完整的设计了。此时要看设计的绕线,请务必将设计的view切到physical view,否则是看不到绕线的。
我们下面使用 verifyConnectivity -geomLoop来检查设计中的loop。verify后的drc结果如下图所示。
下面我们局部放大,看看究竟。其实放到发现就是n_4074这条net存在下图所示的loop。其实最上面那些net shape是多余的,完全可以直接用下面横向的绿色metal直接过去。
所以,我们可以把上面那部分都删掉即可清除这类violation。
需要说明的是,这个drc violation不一定在calibre中会报,即这个错误不一定是真错。因为calibre才是drc&lvs signoff工具。但这里为了练习,我们假定这个drc就是真的错。
删除net shape的方法有两种,官方使用的是下面这种方法。
还有一种是选中要删的net shape,然后按下键盘的Delete键即可完成删除操作。
删除后的效果如下图所示。
此时我们再verify下,就会发现这个drc被修复了。
备注:lab中教授的看3D大家感兴趣可以看看实际物理走线的立体效果图。
下面我们来学习针对指定区域来做drc检查。
首先,我们把区域锁定到 330 610 360 640 。这里的坐标含义见下图。
定位到这个区域后,layout所在的地方是这样的。
在对这个区域做drc检查前,我们需要先清楚下当前的drc,可以直接使用下面的命令来完成。
clearDrc
针对指定区域的DRC检查
我们具体放大,发现这里就是报Metal4的宽金属和其他Metal4的space要求要更严格点。
这个要求是在tech lef中有定义的,它其实就是一个精简版的drc 规则,用来引导绕线工具来基于foundary的drc rule来完成布线。
而实际layout中的间距是0.528um。
所以,我们想修复这部分DRC,可以直接把上图中的细VDD net删掉即可。因为经过分析这段VDD net也没有和别人进行连接。删掉这个对设计的供电不产生影响。
这部分处理之后,我们继续进行检查drc,发现还有short 的drc。
之所以有short的原因是这颗标准单元内部有一个pin shape是使用了Metal1,而且与标准单元的Metal1的pg pin存在overlap了。
这个DRC是属于标准单元本身引起的DRC,我们这里无法修复。大家知道这个分析的方法即可。
###END OF LAB19
原文地址:https://blog.csdn.net/weixin_37584728/article/details/143689398
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!