2024年5月30日发(作者:)

Calibre经典教程和看LVS的错误报告的方法

看calibre lvs 错误报告的方法

1. Report开头部分的Warning和Error信息(因为出现Warning和Error的情

况很多,这里主要举一些常见的例子):

Error部分:只要report的开头部分有Error信息出现,lvs就

肯定没有运行成功。Error一般由lvs命令文件或netlist文件中的参数

定义引起,这时候需要修改lvs文件或者netlist。Error信息都很直观,

比较容易查出产生Error的地方。

o Example1 (参见文件“lvs_”) : 在”lan_yang_di

”的2191和2192行调用到了两个标准单元”INLX1”和”LOGI

COL”,但是netlist中找不到对这两个标准单元的描述。这个错误需

要检查netlist,添加上对这些标准单元的描述部分。通常标准单元

的netlist由foundry提供,是一个单独的cdl或者spice文件;

Example1:

LVS Netlist Compiler - Errors and Warnings for "LANYANG_FULL

CHIP_V11_"

------------------------------------------------------------

-

Error: No matching ".SUBCKT" statement for "INLX1" at line 2

191 in file "lan_yang_"

Error: No matching ".SUBCKT" statement for "LOGIC0L" at line

2192 in file "lan_yang_"

.........

.........

Warning部分:warning不会影响lvs的运行,但是经常会导致结

果的不正确。很一些warning可以忽略掉,这些常常是netlist中或者l

vs命令文件中一些多余部分引起的,例如下面的Example2_1和Example

2_2;很多warning是不能忽略的,最常见的是short和soft connect,

例如下面的Example3, Example4_1, Example4_2;

o Example2_1 (参见文件“lvs_”) :这个warning是

因为calibre不认netlist中的参数”

*.MEGA

” ,这时需要在netli

st中注释掉这个参数。(”*.MEGA”只在dracula中起作用,用于区

分netlist中单位m和M的不同,有了这个参数以后,m代表千分之

一,M代表百万,如果没有这个参数,则m和M都代表千分之一);

Example2_1:

.........

Warning: *.MEGA at line 86 in file "/home/taurus/XFAB/cdl/xc

06m3/core/" not applied to earlier global-scope .

PARAM statements

Warning: *.MEGA at line 148 in file "/home/taurus/XFAB/cdl/x

c06m3/core/" not applied to earlier global-scope

.PARAM statements

.........

o Example2_2 (参见文件“lvs_”) :这个warning是

由于在netlist中重复定义了”NAND4”和”NOR2”这两个标准单元引

起,可以修改netlist解决;如果能确定重复定义的部分是完全相同

的,这个warning可以忽略掉;

Example2_2:

.........

Warning: Duplicate subckt definition "NAND4" at line 1642 in

file "/home/taurus/XFAB/cdl/xc06m3/core/"

Warning: Duplicate subckt definition "NOR2" at line 1671 in

file "/home/taurus/XFAB/cdl/xc06m3/core/"

.........

o Example3 (参见文件“lvs_”) :在layout中两条标

记了label的net短路时,或者不同的label标记到了同一net上时,

出现这种warning,lvs中会忽略掉其中一个label,将这个net定义

为另一个label的名字,例如这个例子中这个net被定义为”osc32k”,

忽略掉了”tclk_control”。这两个warning一般会同时出现,解决

办法是通过坐标和label在layout中查找short的地方,或者是lab

el移位的地方。这个warning会引起layout和netlist出现不同数

目的net,一定要改掉;

Example3:

.........

WARNING: Direct connection between different ports:

Port names: osc32k tclk_control