对于后端版图人员,在芯片TO前的LV signoff阶段,犹如一段漫长而有期待的朝圣之旅,需要耐心,毅力和信心,在庞杂的DRC中找到一条收敛之路。为了让此路更为清晰收敛,Calibre提供了一套可追溯对比的富文本方式-HTML DRC report,用户可以记住这个报告方式,对自己的DRC 快速生成可视化报告,以及做DRC阶段小结,这里就像各位ICer介绍一下这个方法。闲言少叙,ICer GO
Calibre DRC 小结的常规方法
通常来讲,在做LV收敛的过程中,对于Calibre DRC的结果进行追踪,可以有效的判断数据库的收敛层度,常规的做法,是通过定义
// SVRF command
DRC 的summary 报告进行归集
svrf command
DRC SUMMARY REPORT DRC.sum HIER
用户可以通过简单的grep
命令,得到类似下面的quick-sum(如下图)
这个方法的好处就是快捷方便,但是缺点就是只有文本描述,不能对现有的DRC做具体的GUI分析和理解。
Calibre DRC 小结的其他方法
为了解决这种平板式的小结报告的弊端,Calibre RVE提供了其他的报告汇总方式。
Calibre RVE也提供了一套CSV或者超文本(HTML)的汇报格式,比较上述的简便归集方式,提供了更多细节的信息,
CSV汇总方式
除过常规的错误类型和错误标记(waive, fixed等),还会记录每一个DRC violation的坐标信息等。类似下例:
HTML 汇总方式
由于HTML先进的文本、图形描述,非常适合于DRC这种需要富文本(rich text)描述场景。HTML除过显示CSV里边的坐标信息,HTML还可以一键出图,这样对于用户生成DRC的图文报告来说是非常方便的,加之对用户可配置的支持,用户可以根据自身需要,配置合适的HTML模板格式,这样可以生成一致的HTML格式化文本,方便后期的比对和出报告。这里就简单介绍一下使用HTML格式,对DRC结果进行报告归集的方法。
首先,用户使用下面的命令打开现有的数据库,包括GDS(soc_chip.gds
),layer property (tech.layerprops
) 和DRC RDB (drc.db
)文件
这个时候,calibredrv
会启动两个GUI给用户使用:
一个是DESIGNrev : 进行GDS查看
一个是RVE:进行DRC violation查看
当然用户也可以通过在DESIGNrev里边选择Verification -> Start RVE…
手动加载drc.db,效果是一样的。
Init run
由于HTML的格式化需求,用户需要一次的init run来完成基础的配置和第一次生成体验。
通过RVE界面,分别选择Tools -> Create HTML report…
来唤起DRC HTML report 生成器。
在下面的菜单中需要配置:
- 输出格式(report format)
- HTML:标准超文本文件 (推荐)
- MHTML:单文件型超文本文件
- 输出目录(Output Directory):指定输出的HTML的存放路径 (推荐report)
- 输出的DRC数量(Number of results to report):所有*(推荐 All)*,或者指定数量(number)
- 是否产生完成后打开html,(推荐:不打开)
- DRC截图的数据基础/路径:这里需要填入run DRC的数据和相应类型,(推荐GDS)
- 用户自定义HTML模板文件(Customization File):第一次跑的时候不用填,工具会自动生成默认,(推荐:不勾选)
- 用户自定义CSS配置文件(Customization Style Sheet File): HTML显示效果的配置文件,第一次跑的时候不用填,工具会自动生成默认,并使用。(推荐:不勾选)
配置好后,点击OK进行第一次生成。
等待一段时间,用户这个时候会类似下面的一个弹窗:
这个弹窗会吐出两个信息:
- DRC HTML report的结果文件:
这里会指出现在的DRC HTML生成到了report/index.htm
这个文件,Linux下可以使用firefox
打开这个HTML文件:
PS:Caiibre的这个这个默认HTML的模板,在IC设计领域里,这个布局/配色还是不错的的。
整个HTML分成三个部分:header,check summary和check detail
-
Header:带入了Calibre 的logo和版本/版权说明,这个用户后期也可以通过自定义模板进行更改
-
Check summary:这个就是传统意义上的每一种类型的统计和问题描述,类似于传统的从
DRC REPORT SUMMARY
做grep
-
Check detail:这个是HTML里边独有的,Calibre会自动高亮并聚焦每一个错误类型,并且生成截屏,同时伴随有相应的坐标描述。
DRC HTML report的命令行生成方式
Calibre为了用户方便,会把这个HTML的客制化释放给用户,所以,这里提供了一个再次生成HTML的shell script:createReport.sh
用户可以通过更改里边内容,完成再次生成报告的需求,这也是init run的最大目的:获取命令/HTML/CSS的模板,推进DRC HTML report的客制化。
这个脚本比较容易理解
完成命令的使用如下:
使用calibre主命令进行HTML生成,这里有两个配置文件,
- DRC相关配置定义(rdbSpec.txt):用于描述GDS、RDB等数据路径信息
文件格式是简单,行首;
的是comment,数据的定义按照下列column进行定义,使用,
进行分割:
DRC的RDB文件,RDB类型(默认General),layout文件,layer-property文件,layout文件类型
这里缺失了layout-property文件定义,所以在HTMl里边所有的DRC截图里边,layer都是没有名称定义的
此处先不展开,这个后面会有一个完美的解决方案。
- DRC HTML生成的细节控制:report.ini
这个文件是一个json-like的描述文件
[section]
Key1=value1
Key2=value2
这里的配置比较多,如果不是特别在意默认格式,建议不用进行调整,具体的配置需要参见下列Calibre用户手的下列部分
基于CSS的特性,上述生成的report/index.htm
是受report/default.css
文件来控制渲染效果的(具体CSS语法,请自行bing),用户可以通过更改这个CSS文件,完成一些基本的渲染效果更改,譬如:背景色(background-color
)
默认背景
客制化背景
客制化字体(font-family
):
Layer property文件对HTML report的支持
在常规的DESIGNrev的使用中,用户总是希望layer的可读性更好,这样就会需要layerproperty
的支持。
这个文件通常是FAB会随着PDK一并发布出来,在有些情况可能不会直接获取,用户也可以基于PDK里的Virtuoso环境生成出来,这样会方便当前平台的用户进行数据交互使用。
同样的,在HTML的DRC report里边,由于有很多DRC check detail的截图,那么用户也是希望版层的可读性好,所以这里就需要用户在生成DRC report的时候,带入这个layerproperty
文件,方便可读性。
CTO(Check Text Override File )文件的生成和使用
在日常的DRC debug中,用户总是先高亮一个DRC violaiton,然后再去打开和这个DRC violation相关的层,查看具体的问题。Calibre也意识到了这个需求,所以CTO文件就此诞生了。
这个文件就是基于DRC RSF的检查方法,对每一个DRC 类别都标记出其对应的layer。这个CTO文件可以用下面的命令生成:
用户在这里需要提供DRC RDB和DRC RSF文件,最后一个layermap文件是可选的。
PS:这里的DRC RDB只是为了满足calibre -rve的启动,并不会影响CTO的结果
这样,就可以得到一个类似下面示例的CTO 文件:
有了CTO文件后,用户就可以在Calibre RVE里边查看DRC的时候,进行使用。这样在高亮某一个DRC 类型的时候,对应的layer就会被自动选中。
在查看DRC violation之前,用户通过下列方法先行加载CTO文件:Tools -> Import CTO File …
这个时候如果对DRC进行高亮,譬如:M2.3b
,此时DESIGNrev就会自动把和这个M2 violation对于的layer:M2,和violation layer都打开了,非常方便用户对和violation 相关的layer进行细节查看。
****
同理,在DRC HTML report的进行DRC detail截图的时候,如果用户把对应的CTO带入,在生成DRC截图的时候,RVE都会M2.3b violation的对应的layer(312)层高亮起来。加之上述layer property的支持,DRC check detail 就有了如下的变化:
1:layer 312有了直观的layer name: M2
2:DRC M2.3b的截图,只把M2和DRC 违例的layer 高亮了出来
这样的DRC HTML report的就具备了相当的可读性,可以直接拿来做展示了。
PS:对于某一个工艺,建议用户可以根据DRC RSF去生产对应工艺的CTO文件,这个在DRC debug和DRC HTML report的时候会比较方便,尤其是在先进工艺的情形下。
DRC HTML report可以非常方便的对DRC 进行富文本形式的总结,方便用户进行细节的规整以及生成可视化报告,加之layerproperty和CTO的支持,无论是作报告还是debug都可以给LV工程师提供不一样的体验方式。
参考资料
Mentor Calibre® Interactive™ and Calibre® RVE™
User’s Manual
Mentor Standard Verification Rule Format
(SVRF) Manual