在版图的世界里,无论你是使用S家的还是C家的流程,大部分人在最后一道关口:物理验证上都会遇到M家(现在已经归于Simense帐下)的Calibre大神了,犹如守门员一样掌控着最后一道关口:
在物理验证的领域里,Calibre说第二,没有人敢说第一。就此论,历史上还有一段Dracula和Calibre的交锋的佳话,这里我们暂且按下不表,以后有机会再聊往事。今天,还是以技术工程师身份一起走进物理验证的这道大门。
物理验证是什么东东?
物理验证通常有两个简写
LV:layout verification
PV:physical verification
没有本质区别,只是习惯不同而已,所以在日常沟通的时候,如果一言不合,一定要再试试第二言哦。
物理验证:基于设计的GDS(Graphic Data System,目前是第二代GDS,一般也会写作GDSII,已经成为业界的标准格式了。GDS的第一版基本作古,现在的提到的GDS其实都是指的是GDSII了,目前的版权属于C家),使用RSF(Run-Set-File)的物理规则描述文件对GDS版图进行检查。常用的工具有Calibre、ICV等,比较老的工具有Hercules,Dracula等。如前述,目前比较通用就是Calibre了。随着先进工艺的不断演进,最近几年S家也开始追随工艺趋势在LV市场上发力,ICV(IC Validation)就是S家最近几年在先进工艺领域力推的physical signoff 工具。在过往常用的工艺里边,大部分的RSF都是基于Calibre的SVRF(Standard Verification Rule Format)、TVF(Tcl Verification Format)语法格式的,可见Calibre在业界悠久的影响力。
随着工艺节点的越来越小,芯片的GDS数据量越来越大,为了便于文件传输,产生了OASIS(Open Artwork System Interchange Standard)格式,文件更小传输更便捷,也是SEMI力推的下一代版图数据格式,用于替代已经服役30多年的GDS格式。
物理验证的分类
基于版图数据的特点,物理验证主要分为两个方向
物理多边形检查
电气性能检查
对应到日常工作是如下的分类:
物理多边形检查
DRC
Antenna
电气性能检查
LVS
ERC
对于Calibre工具而言,也有对应的命令选项描述
calibre -drc
calibre -lvs
除此之外,calibre还有一个大招,就是层次化(hierarchy)验证模式,这是一个非常强大的功能,对于run-time有明显的提高。
需要强调一点,Calibre是可以完成物理验证的工作,但是Calibre还可以完成其他非物理验证的工作,譬如:metal fill的插入、版图XOR的检查、DFM/Yield增强、版图GUI查验和简单编辑等等,从原理上讲,主要是基于上述两个大分类想的边沿化拓展。
Calibre的使用之道
RSF的使用和技巧
Calibre的版图检查需要使用遵循SVRF语法规则的RSF,由于RSF(通常也被FAB称为 Decker)都是基于工艺和FAB的流片需求,用户是不用干预里边的细节配置,但是全局的配置是需要小心维护,这里以用户的DRC RSF为例:
基于工作方便,用户可以创建类似上述例子RSF wapper可以实现对主要部件的自定义配置和调整
命令 释义
前边的项目都是需要用户自行配置,最后一个是FAB的提供的DRC RSF。使用RSF wrapper的好处是,项目里边多个用户可以使用本地的RSF wrapper去配置自己设计的具体需求,主RSF还是引用项目的signoff RSF即可。项目的signoff RSF有专业人员进行维护,确保项目的物理检查规则安全性。
对于工艺的DRC RSF文件里边,这里也分享一下里边的全局关键配置:
版层的选择
T家的版层命名有一定的规则,一般会分为以下几类,此类命名方式,对于老用户是非常友好,这里手动给T家点赞!
用户在检查DRC的时候,需要使用和设计版层配置一致的RSF,譬如项目选择的是九层结构,一层M1,内层五层,两层My和一层Mz,FAB通常是根据版层配置提供的RSF,那么用户需要选择如下版层结构的的RSF:
RDL的选择
RDL的全称是 ReDistributionLayer,是一个可以灵活配置厚度的版层,和最高层是可以分开对待的。所以在选择完对应版层结构的RSF以后,需要在RSF里边配搭合理RDL厚度。例如下图所示,请打开对应RDL厚度的选项来保证和项目的匹配
工艺节点的选择
和日常项目一样,工艺也是一代一代的迭代,所以在RSF里边可以看到一些痕迹,这时候在RSF的全局选择上,需要正确选择你的工艺节点,如下图所示,按照需要打开对应的工艺节点,进行合理的检查:
RSF的描述除过可以基于SVRF语法外,也可以通过TVF语法格式进行发布。TVF是支持TCL语言、可编程友好的语法格式,在复杂的环境中应用起来更为灵活,对于版层多分枝的RSF也可以使用TVF进行灵活打包。为了让最终用户使用到专一的RSF,calibre也支持TVF到SVRF的转换,确保项目使用的SVRF/RSF的一致性,可以有效避免误操作。
全芯片(full-chip)配置
在扁平化设计里边,就一种版图格式,那就是全芯片,在层次化的版图设计里边,只有一个是全芯片,其他都是模块级别。通常,全芯片和模块级别在物理层面会有如下的区别
注意这里罗列是版图里的异同,但并非所有的项目都会被RSF的full-chip配置所覆盖,具体的情况还需要具体分析,但是有一条必须铭记,全芯片级别的LV,一定需要打开下列选项!
Calibre的层次化验证
上文有提到,在calibre里边的DRC、LVS有扁平化和层次化两种验证方法,层次化的方法效率高,主要是得益于GDS里边的层次化结构,以下图为例
可以看到,GDS里边的结构树是看不到具体的实例化信息的,只有具体的design名称和与top-design的层次关系,除过top-design,所有的design都是平级的。在calibre -hier的命令里边,工具对于整个设计是以desing为对象进行验证,runtime有明显的提升。
【敲黑板划重点】
基于物理图形和电气性能验证的Calibre功能是非常强大的,它的周边衍生产品不下30个,对大家来说常用的也就两三个,理解calibre的基本工作原理就显得比较重要了。把控好RSF的配置,控制好LV的质量,从calibre的RVE里边找到问题的根源,快速高效的得到可以流片的GDS,才可以有效体现calibre的价值!
原文链接:https://blog.csdn.net/i_chip_backend/article/details/112182146