Calibre DRC和LVS验证总结材料 下载本文

实用文档

#! /bin/csh –f

\\rm –r /home/*…/svdb

calibre –lvs –hier –spice /home/*…/svdb/topcell.sp –hcell hcell_file rule_file |tee lvs.log

//假如没有hcell_file

calibre –lvs –hier –spice /home/*…/svdb/topcell.sp –auto rule_file |tee lvs.log

(3)前面rm的目的是每次清空LVS Database目录,命令中topcell 为版图的顶层单元名。

(5) 然后每次运行这个批处理命令就可以了,在Unix命令行下输入 ./run_lvs命令就

可。运行完后可以到存放结果文件的目录里看Report File,还可以在版图里用RVE调LVS Database进行Debug (6) hcell_file的格式如下 // 是注释。

//Layout cell Name Source cell Name ABC DEF ABC GHI UVW XYZ RST XYZ

可见单元名可以1 VS N 或者 N VS 1 ,但是不要出现 M VS N 的情况。

3.6 查看结果文件及改错

(1)打开LVS结果文件,下面是个实例:

OVERALL COMPARISON RESULTS

# # ############# # # # #

# # INCORRECT # # # # # # # #############

Error: Different numbers of nets.

Error: Different numbers of instances. Error: Connectivity errors.

Error: Instances of different types or subtypes were matched. Error: Property errors.

Warning: Unbalanced smashed mosfets were matched.

Warning: Ambiguity points were found and resolved arbitrarily.

*******************************************************************************

* CELL SUMMARY *

*******************************************************************************

实用文档

Result Layout Source ----------- ----------- ------------- INCORRECT TOPCELL TOPCELL

可见总的比较结果是不正确,错误有5 种: 不同网络、不同元件个数、连接错误、不同元件类型、属性错误,CELL SUMMARY 里面有Layout 和Source 的TOPCELL 不匹配。然后直接翻页到文件的后面,看到INFORMATION AND WARNINGS 栏:

*******************************************************************************

INFORMATION AND WARNINGS

*******************************************************************************

这里列出了匹配的统计情况(同dracula lvspr.lvs 的最后),可以看见SOURCE 和 LAYOUT 匹配了多少,各有多少没有匹配,错在哪种单元上面等,这里可以看出共 有10 个layout 单元和16 个source 单元没有匹配。下面是管子等删减的情况统计:

o Statistics:

310940 layout mos transistors were reduced to 94596. 24286 connecting nets were deleted.

171921 mos transistors were deleted by parallel reduction.

16 mos transistors and 16 connecting nets were deleted by series reduction. 44407 mos transistors and 24270 connecting nets were deleted by split-gate reduction.

106383 source mos transistors were reduced to 28181. 22460 connecting nets were deleted.

36983 mos transistors were deleted by parallel reduction.

16 mos transistors and 16 connecting nets were deleted by series reduction. 41203 mos transistors and 22444 connecting nets were deleted by split-gate reduction.

20 series/parallel layout resistors were reduced to 6. 8 connecting nets were deleted.

141 unused layout mos transistors were deleted. 141 unused source mos transistors were deleted. 2 unused layout resistors were deleted. 47 nets were matched arbitrarily.

下面是顶层端口对应情况,这个很重要:

Initial Correspondence Points:

Ports: vdd VDD33 SAVDD VSS VSSD SAVSS EB_RDVAL EB_WDRDY EB_RBERR EB_WBERR SI_NMI SI_INT[5] SI_INT[4] SI_INT[3] SI_INT[2] SI_INT[1] SI_INT[0] SI_ENDIAN

SI_COLDRESET EB_ARDY SI_RESET EJ_DINTSUP EJ_DINT CACHE_CE TRST TMS TCK TDI SI_ERL SI_EXL SI_RP SI_CLKOUT SI_SLEEP SI_TIMERINT EB_AVALID EXT_CLK EXT_CLKEN EB_INSTR EB_WRITE EB_BURST EB_BFIRST EB_BLAST EJ_DEBUGM

实用文档

EB_BE[3] EB_BE[2] EB_BE[1] EB_BE[0] FREF PLL_TEST SI_PLLCLK

如果Ports 部分没有出现顶层模块的所有端口, 则肯定会导致整个比较的失败,因 此如果端口方面信息错误的话, 应该去查一下版图抽取的时候是否出了问题,可以 去看TOPCELL.sp 和TOPCELL.rep.ext。注意: Ports 报告的数目和LVS Report MAXIMUM number 的设置数据有关,最好使number 大于顶层的端口数目。下面是 具体详细的连接信息。如果发现端口基本正确,可以直接到文件的前面看详细的 Error 信息。CELL SUMMARY 下面是LVS PARAMETERS 部分,即回放LVS 比 较的所有选项设置:

看TOPCELL.rep 的方法是:先看OVERALL COMPARISON RESULTS,看总体比较是否正确,如果不对,看错误的类型;然后去文件后面看INFORMATION AND WARNINGS , 看具体元器件匹配的情况, 尤其是下面的Initial Correspondence Points Ports 中顶层端口匹配的情况,如果端口没有匹配好,去查版图抽取的情况;如果出现很多大量的管子不匹配,请检查电源网络是否有开路,短路现象,同时可以设置LVS Recongnize gates 和LVS Reduce split gates 为yes 再试一次(即允许pin 交换和删减复杂门);最后可以回到文件开头看INITIAL NUMBERS OF OBJECTS 和NUMBERS OF OBJECTS AFTER TRANSFORMATION , 以及具体的

INCORRECT NETS , INCORRECT INSTANCES,PROPERTY ERRORS 信息,在版图和电路图上找到相对应的地方进行检查。

注意:对于短路现象,则Layout 中的网络数目必然少于Source 中的,并且出现Layout 中几个网络对应与Source 中的一个网络的信息;对于开路,Layout 中的网络数目必然大于Source 中的,且Source 中的一个网络可以对应与Layout 中的几个网络。

3. 7用RVE看结果及改错

与DRC 一样在运行目录下激活RVE 或者在Virtuoso 中Start RVE :

calibre -rve svdb

svdb 是LVS Runset 中MASK SVDB DIRECTORY \QUERY 中所确定的数据库名称,LVS 所有信息(包括版图抽取)都存放在该数据库。

实用文档

当用RVE窗口来Debug时,在版图的Calibre菜单下的Setup 的RVE的设置里选中Edit-in-place while highlighting , 在Layout cells 的命令行里输入版图库的名称,在Schematic cells 的命令行里输入逻辑库的名称。 RVE激活后,打开窗口如图7

可以看见被Query 的Cell 叫cache_core,即本设计的TOPCELL。RVE 的左边一栏 是:输入文件:Runset 文件、SOURCE 文件;输出文件:Layout 网表、抽取报告、 LVS 比较报告、ERC 电气检查结果。这些都可以用鼠标单击即可打开,如下面的 Runset 文件:

同样可以点击打开Source Netlist:

可见SOURCE 的网表的层次十分清楚,这都很有利于后面的对应到版图和改错。打开LAYOUT 网表:

Layout 的网表层次关系也十分清楚,这些都有利于理清版图的层次。抽取版图的信息报告(TOPCELL.rep.ext)如下:

LVS 比较的结果报告(TOPCELL.rep)如下:

RVE 的右边一栏(见图7)是错误的列表,每种错误类型(Discrepancy)和具体错 误的个数;下面一栏是具体某个错误的详细信息,比如座标位置。错误的详细信息 已经高亮度显示(黄色,蓝色,绿色),右键点击左边Layout Name 栏的错误点,选 Zoom to Point,如图:

在Virtuoso 中会立刻高亮显示该处的位置。这样每个错误都可以直接定位到版图上,改起来很方便。同时还可以选上图的Highlight Closeset,可以高亮附近的网络和器件。更为巧妙的是,图7 下面Source Name 栏相对应的错误点也可以直接在版图工具中显示,右键点Source Name 对应的错误点,选Highlight Net,如图15:

Calibre 会打开新的Virtuoso 窗口,如图16:

然后在新打开的窗口高亮该网络:

这样很方便Discrepancy 中Layout 与Source 具体位置的对比,便于及时找到错误。对于图10 中Layout Netlist 中的每一个网络名称和元件,都可以直接在Layout Netlist窗口中单击该名称,在Virtuoso 中会立刻显示,就像超链接一样,见图18:

图18 询问用户是否现在显示该网络或者元件,选Yes , Virtuoso 中会高亮该网络或器件。

这也很容易理解,因为Layout Netlist 本来就是Calibre 根据Runset 规定的层次抽取出来的,因此每个网络或者元件,数据库中都有记录。对于图9 的Source Netlist ,同样可以用类似的方法点击网络或元件(只对顶层模块),来在版图工具中显示。因此利用RVE 读入LVS 的结果数据库把电路图网表,版图网表,LVS 比较结果紧密地联系起来,集成在非常

实用文档

方便的图形工具中,用超链接的方式快速找到每个节点,每个器件与版图的对应关系,又凭借着电路图网表窗口和版图网表窗口良好的层次化结构,因此能很快的找到错误的所在。这也是Calibre RVE 最出色的方面之一。