lvs检查错误集

1. Report开头部分的Warning和Error信息(因为出现Warning和Error的情况很多,这里主要举一些常见的例子):

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

肯定没有运行成功。Error一般由lvs命令文件或netlist文件中的参数定义引起,这时候需要修改lvs文件或者netlist。Error信息都很直观,比较容易查出产生Error的地方。

o Example1 (参见文件“lvs_test1.rep”) : 在”lan_yang_di

g.cir”的2191和2192行调用到了两个标准单元”INLX1”和”LOGICOL”,但是netlist中找不到对这两个标准单元的描述。这个错误需要检查netlist,添加上对这些标准单元的描述部分。通常标准单元的netlist由foundry提供,是一个单独的cdl或者spice文件;

Example1:

LVS Netlist Compiler - Errors and Warnings for \CHIP_V11_20060427.CIR\

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

Error: No matching \191 in file \

Error: No matching \ 2192 in file \ ......... .........

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

果的不正确。很一些warning可以忽略掉,这些常常是netlist中或者lvs命令文件中一些多余部分引起的,例如下面的Example2_1和Example2_2;很多warning是不能忽略的,最常见的是short和soft connect,例如下面的Example3, Example4_1, Example4_2;

o Example2_1 (参见文件“lvs_test2.rep”) :这个warning是

因为calibre不认netlist中的参数”*.MEGA” ,这时需要在netlist中注释掉这个参数。(”*.MEGA”只在dracula中起作用,用于区分netlist中单位m和M的不同,有了这个参数以后,m代表千分之一,M代表百万,如果没有这个参数,则m和M都代表千分之一);

Example2_1:

.........

Warning: *.MEGA at line 86 in file \06m3/core/xc06a2dl.cdl\PARAM statements

Warning: *.MEGA at line 148 in file \c06m3/core/xc06a2dl.cdl\ .PARAM statements .........

o Example2_2 (参见文件“lvs_test2.rep”) :这个warning是

由于在netlist中重复定义了”NAND4”和”NOR2”这两个标准单元引起,可以修改netlist解决;如果能确定重复定义的部分是完全相同的,这个warning可以忽略掉; Example2_2:

.........

Warning: Duplicate subckt definition \ file \

Warning: Duplicate subckt definition \file \ .........

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

记了label的net短路时,或者不同的label标记到了同一net上时,出现这种warning,lvs中会忽略掉其中一个label,将这个net定义

为另一个label的名字,例如这个例子中这个net被定义为”osc32k”,忽略掉了”tclk_control”。这两个warning一般会同时出现,解决办法是通过坐标和label在layout中查找short的地方,或者是label移位的地方。这个warning会引起layout和netlist出现不同数目的net,一定要改掉;

Example3:

.........

WARNING: Direct connection between different ports: Port names: osc32k tclk_control

WARNING: Short circuit - Different names on one net: Net Id: 513

(1) name \on layer 39 \

(2) name \8.4) on layer 39 \

The name \. .........

o Example4_1 (参见文件“lvs_test4_1.rep”) :如果在P subs

trate上出现没有通过金属直接连接的P substrate tie,那么这些P substrate tie会引起soft connect的warning,这个例子中net “chg_out_p”连接到了某个P substrate tie,与gnd!通过P substrate短路到了一起,net “chg_out_p”被忽略掉。解决办法是找到net “chg_out_p”与P substrate短路的地方;

Example4_1:

.........

WARNING: Stamping conflict in SCONNECT - Multiple source nets stamp one target net.

Net gnd! is selected for stamping. Rejected nets: chg_out_p

.........

o Example4_2 (参见文件“lvs_test4_2.rep”) :这个例子和上

一个例子基本一样,不同的是和gnd! sconnect的这个net在layout上没有标记label。 ”2089”是calibre从layout中提取并随机命名的net。解决办法是在report的具体信息中找到net 2089的坐标,再在layout中查找该点的net是如何通过P substrate短路到gnd!;

Example4_2:

.........

WARNING: Stamping conflict in SCONNECT - Multiple source nets stamp one target net.

Net gnd! is selected for stamping. Rejected nets: 2089 ... ... ...

1 Net gnd!(33.050,176.900) GND!

2089(33.050,47.300) ... ...

2.Lvs中Input和Output的信息:

该部分主要记录calibre中的一些信息,例如layout,netlist,report file,运行时间以及calibre的版本信息。

Example5:

REPORT FILE NAME: lvs.rep

LAYOUT NAME: ../gds/lan_yang_dig_lvs_test3.gds

SOURCE NAME: LANYANG_FULLCHIP_V11_20060427.CIR ('Lan_Yang_Dig')

RULE FILE: xc06_calibre_lvs_302.rul RULE FILE TITLE: XC06 Calibre DRC/LVS File LVS MODE: Mask

RULE FILE NAME: xc06_calibre_lvs_302.rul CREATION TIME: Thu May 18 15:44:02 2006

CURRENT DIRECTORY: /direct/cd-home/gene.huang/tuna/lvs USER NAME: gene.huang

CALIBRE VERSION: v2005.2_6.10 Wed Jul 13 17:47:45 PDT 2005

3. Lvs是否匹配最明显的标志:NOT COMPARED, CORRECT 和 INCORRECT

?????????NOT COMPARED(参见lvs_test1.rep): lvs没有完成,会

有Error信息出现在report file的开头,提示为什么lvs没有进行,一般是lvs文件中input的信息不对; Example6:

# # ######################## # # # # # # NOT COMPARED # # # # # # # ########################

?????????CORRECT:layout与netlist匹配;

Example7:

# ################### _ _ # # # * * # # # CORRECT # | # # # # \\___/ # ###################

?????????INCORRECT(参见lvs_test5.rep): layout与netlist不

匹配,有error信息提示,表示具体不匹配的原因; Example8:

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

Error: Different numbers of nets (see below).

Error: Connectivity errors.

4.OBJECTS信息:

?????????INITIAL NUMBERS OF OBJECTS: 表示转换前layout和ne

tlist中的net数目,器件类型和器件数目。这部分不用太留意,因为最终的器件数目会在转换后有所变化。根据lvs command file中的某些设置,某些器件可以合并,或被剔除:

Example9(参见:lvs_test5.rep):

INITIAL NUMBERS OF OBJECTS --------------------------

Layout Source Component Type ------ ------ -------------- Ports: 95 95

Nets: 21732 9901 *

Instances: 9529 9489 * MN (4 pins) 9543 9489 * MP (4 pins) 6 6 R (3 pins) 6 6 D (2 pins)

------ ------ Total Inst: 19084 18990

?????????NUMBERS OF OBJECTS AFTER TRANSFORMATION: 表示转换

后layout和netlist中的net数目,器件类型和数目。某些器件被合并或者剔除,从例子中可以看到,netlist(Source)比Layout中多一个net,器件数目则保持一致;

Example10(参见:lvs_test5.rep):

NUMBERS OF OBJECTS AFTER TRANSFORMATION ---------------------------------------

Layout Source Component Type ------ ------ -------------- Ports: 95 95

Nets: 9900 9901 *

Instances: 9472 9472 MN (4 pins) 9469 9469 MP (4 pins) 6 6 R (3 pins) 6 6 D (2 pins) ------ ------ Total Inst: 18953 18953

5.Report中最重要的部分――INCORRECT NETS部分:

Report中,该部分分为左右两列,左边部分表示layout中关于某个net的信息,右边表示netlist中该net的信息。

?????????Open(断路):layout中出现两个net的信息,而netli

st中只出现一个net的信息。这是典型的断路错误。解决办法:根据net的坐标到layout中找到两个net断开的地方。

Example11(参见:lvs_test5.rep):

*********************************************************** INCORRECT NETS

DISC# LAYOUT NAME SOURCE NAME *********************************************************** 1 Net vdd!(32.800,839.700) VDD! 2089(62.400,35.250)

-------------------- ----------------- --- Devices on layout net 2089(62.400,35.250) --- 19074(307.950,38.300) R(RDIFFP3) u_clock_divider/u37/RR0 R(RDIFFP3)

pos: 567(306.950,38.300) neg: u_clock_divider/N2

neg: 2089(62.400,35.250) pos: VDD! sub: 2089(62.400,35.250) sub: VDD! ? ?

Example11中,layout的vdd!与net 2089是两个不同的net,但是在netlist中这两点都对应VDD!;后面的具体信息是这两个net上对应的device的信息,在layout中这个电阻的neg和sub两端接到了net 2089,但是在netlist中应该是接到VDD!;

Example12(参见:lvs_test6.rep):

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

INCORRECT NETS

DISC# LAYOUT NAME SOURCE NAME *******************************************************************

1 Net 54(43.600,1162.700) u_clock_divider/CLK16_FROM32K

1543(50.700,1206.450) ------------------------ --------------------------

Example12中,同样是一个open的错误类型,layout中的net 54和net 1543都对应netlist中的同一个net;

?????????Layout与netlist不对应的net:layout中某些net在n

etlist中找不到对应的net。解决办法:根据含有该net的device的坐标找到对应的layout,对照schematic查找错误的地方;

Example13(参见:lvs_test7.rep):

1 Net 510(876.200,1138.300) ** no similar net **

--- Devices on layout net 510(876.200,1138.300) --- 19070(908.200,1199.300) MP(pmos4) osc32k__L1_I0/in_2/MMMP1/M1 MP(pmos4)

G: 5735(904.500,1202.300) g: osc32k__L1_I0/NETZ9 S: vdd!(32.800,839.700) s: VDD! B: vdd!(32.800,839.700) b: VDD!

D: 510(876.200,1138.300) ** no similar net **

** no similar net ** d: osc32k__L1_N0

Example13中,layout中的net 510在netlist中找不到对应的net;在layout中的一个pmos4的Drain端为net 510,对应的netlist中的该pmos4的Drain端为osc32k__L1_N0,判断layout中该net连接有错误,到layout中查找该pmos4的Drain的坐标

510 (876.200,1138.300)再对照schematic找连接错误的地方;

Example14(参见:lvs_test7.rep):

2 ** no similar net ** u_lan_yang_dig_core/U_ADC_CONTROL_ADC_COUNTER_11_

--- Devices on source net u_lan_yang_dig_core/U_ADC_CONTROL_ADC_COUNTER_11_ --

18798(887.100,1203.300) MP(pmos4) u_lan_yang_.../r384_u1_1_11/in_3/MMMP1/M1 MP(pmos4)

S: vdd!(32.800,839.700) s: VDD!

D: 5639(887.700,1203.300) d: u_lan_yang_dig_core/r384_u1_1_11/NETZ43

B : vdd!(32.800,839.700) b: VDD!

G: 510(876.200,1138.300) ** no similar net **

** no similar net ** g: u_lan_yang_dig_core/U_ADC_CONTROL_ADC_COUNTER_11_

Example14中,netlist中的u_lan_yang_dig_core/U_ADC_CONTROL_ADC_COUNTER_11_在layout中找不到对应的net,但是netlist中与该net有关联的device在layout中有对应,从中找到layout中该device的坐标,查找其Gate端的连线是否正确;

6. INCORRECT PORTS 部分:这部分描述layout中和netlist中不对应的input和output的PORT名称。

Example15(参见:lvs_test8.rep):

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

INCORRECT PORTS

DISC# LAYOUT NAME SOURCE NAME

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

6 ** missing port ** COMP on net: COMP

Example15中,netlist中出现了COMP这个端口,但是在layout中没有标示出来。

7. INCORRECT INSTANCES 部分:描述layout中和netlist中不对应的device。

Example16(参见:lvs_test8.rep):

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

INCORRECT INSTANCES

DISC# LAYOUT NAME SOURCE NAME

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

7 ** missing instance ** MPD2/M1 MP(pmos4)

** no similar net ** g: PDN

** VD33(53.750,42.450) ** s: VD33

** 5(212.650,56.500) ** d: COMPN

** VD33(53.750,42.450) ** b: VD33

Example16中,netlist中出现在block ‘MPD2’中的pmos4-M1在layout中找不到。找不到的原因大概是:layout中没有画;被忽略掉;layout画得有问题,没有被lvs认出;layout中连线错误,这个device与其它device合并了。

8. PROPERTY ERRORS部分: 主要描述layout和netlist中对应的device的参数错误,例如length、width、area等。

Example17(参见:lvs_test8.rep):

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

PROPERTY ERRORS

DISC# LAYOUT SOURCE ERROR

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

8 36(212.050,56.500) MP(pmos4) MPD1/M1 MP(pmos4) w: 8 u w: 4 u 100%

Example17中,对应的这个pmos4在layout中的width是8um,而在netlist中是4um。

9. LVS PARAMETERS部分: 这部分描述的是lvs command file中定义的各种参数设置,可以忽略; Example18:

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

LVS PARAMETERS

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

o LVS Setup:

LVS COMPONENT TYPE PROPERTY LVS_TYPE LVS COMPONENT SUBTYPE PROPERTY LVS_SUBTYPE LVS PIN NAME PROPERTY PHY_PIN PIN

LVS POWER NAME \VDD5O\

LVS GROUND NAME \SSA\

LVS RECOGNIZE GATES NONE LVS IGNORE PORTS NO LVS CHECK PORT NAMES NO LVS BUILTIN DEVICE PIN SWAP YES LVS ALL CAPACITOR PINS SWAPPABLE NO LVS DISCARD PINS BY DEVICE NO ...

... ...

10. INFORMATION AND WARNINGS部分:layout和netlist中匹配情况的统计,以及各种不匹配的信息;

Example19(参见:lvs_test8.rep):

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

INFORMATION AND WARNINGS

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

Matched Matched Unmatched Unmatched Component

Layout Source Layout Source Type

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

Ports: 8 8 0 1

Nets: 19 19 1 3

Instances: 14 14 1 1 MN(nmos4)

6 6 0 0 MN(nmosi)

13 13 0 1 MP(pmos4)

------- ------- --------- --------- Total Inst: 33 33 1 2

o Statistics:

65 isolated layout nets were deleted.

19 layout mos transistors were reduced to 5.

14 mos transistors were deleted by parallel reduction. 14 source mos transistors were reduced to 3.

11 mos transistors were deleted by parallel reduction.

Example19中,前面的列表是对整个layout和netlist中匹配情况的一个统计;后面的描述表示有多少device被合并或者剔除。

Example20(参见:lvs_test7.rep):

o Isolated Layout Nets:

(Layout nets which are not connected to any instances or ports).

18(169.800,39.400) 19(169.800,151.900) 23(15.400,42.050) 24(15.400,120.850) 25(31.400,38.450) 26(31.400,114.250) 27(45.000,72.050) 28(45.000,120.850) 29(51.150,36.750) 30(51.150,163.900) 31(51.450,58.050) 32(51.450,150.850) 33(69.400,54.150) 34(69.400,111.850) 35(106.200,43.050) 36(106.200,120.850) 37(117.300,38.450) 38(117.300,114.250) 39(144.300,42.050) 40(144.300,120.850) 41(155.400,38.450) 42(155.400,114.250) 43(169.800,39.400) 44(169.800,151.900) 45(171.200,84.350) 46(171.200,118.550) 47(176.600,49.200) 48(176.600,161.700) 49(183.550,46.200) 50(183.550,161.700) 51(183.600,73.600) 52(183.600,119.250) 53(210.550,46.900) 54(210.550,61.700) 55(218.950,46.900)

56(223.750,46.900) 57(0.400,27.050) 58(12.800,39.450) 59(12.800,115.250) 60(42.400,69.450) 61(42.400,115.250) 62(48.650,52.350) 63(48.650,148.250) 64(53.750,42.450) 65(53.750,166.500) 66(72.000,56.750) 67(72.000,116.150) 68(91.200,27.050) 69(103.600,39.450) 70(103.600,115.250)

Example20中,列出在layout找到的孤立的net,这些net没有连接到任何的device上,是一些悬空的net,可能是由于floating的dummy metal引起,可以忽略。

Example21(参见:lvs_test7.rep):

o Passthrough Layout Nets And Their Ports:

(Layout nets which are connected only to ports).

zener_array[1](943.800,997.400) (port: zener_array[1]), zener_array[0](943.800,1055.000) (port: zener_array[0]),

Example21中,表示layout中有两个net没有连接到任何device,只接到了两个port上 标签: lvs

LVS实例

熟悉netlist 文件 例:

*******MUX2 NETLIST ********

*.BIPOLAR

*.RESI=1K

.INCLUDE ./inv.cir .PARAM

.GLOBAL VSS:G VDD:P

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

.SUBCKT MUX2 OUT SIGN OP1 OP2 WP=1u WL=1u

+LP=0.5u LN=0.5u

MI01 OP2 NET01 VDD VDD P W=WP L=LP

MI02 OP2 SIGN VDD VSS N W=WN L=LN

MI03 OP2 SIGN OUT VDD P W=WP L=LP

MI04 OP2 NET01 OUT VSS N W=WN L=LN

MI05 OP1 NET01 OUTB VDD P W=WP L=LP

MI06 OP1 SIGN OUTB VSS N W=WN L=LN

MI07 OP1 SIGN VDD VDD P W=WP L=LP

MI08 OP1 NET01 VDD VSS N W=WN L=LN

XI09 NET01 SIGN INV1

XI10 OUTB OUT INV1 .ENDS

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

*********INV1 NETLIST*********

.SUBCKT INV1 OP IP

MI001 OP IP VDD VDD P W=1u L=0.5u

MI002 OP IP VSS VSS N W=1u L=0.5u .ENDS

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

上例中,第一行*******MUX2 NETLIST ******** 注释行,说明作用;

*.BIPOLAR 用来对比analog elements,(resistor,diodes,capcitors)。使用该命令,但不又希望忽略这些器件分别使用 ,*.RESI、*.DIODE、*.CAPA;例中*.RESI=1K 表明忽略电阻阻值小于1K的电阻。即电阻两端相连到一起;

注:以*. 开头的命令为以CDL 命令,是属于SPICE的扩展命令,语法较为宽泛,如命名时可以用数字,也可以使用字符。如果想注释该命令,在开头使用用反斜杠(\\),注释一般语句使用美元符号($)。

.INCLUDE $path/filename 表明使用其他的NETLIST

.PARAM 用来传递参数值,即使不在global中说明,在HSPICE中也会被强迫使用;

.GLOBAL VSS:G VDD:P 用来定义global node,如power,ground clocks或者其他不会出现到子电路的I/O节点。可以利用*.EQUIV来取一个别名。

*.GLOBAL 1:P 0:G 99:G 2:P

*.EQUIV VSS1=0 ,VDD1=1, VSS2=99, VDD2=2

.SUBCKT SubName OUT IN1 IN2 … …

.ENDS SubName

用来表明为一个子电路,长度过长用加号(+)衔接。句首字符表明该行的类型:

M(MOSFETS),X(SUBCIRCUIT),Q(BJTS),C(CAP),R(RES),D(DIODES),J(JFETS)

格式如下:(D:drain,G:gate,S:source,B:bulk,T:type,V:value,

O:export,I:Import,INS:instance,C:collector,BS:base,E,emitter

PO:positive,NG:negative)

Mxxx D G S B T [V]

Xxxx O I1 I2…In INS [V]

Qxxx C BS E [B] T [$EA=V]

Cxxx PO NG T V

Rxxx net1 net2 V

Dxxx PO NG T

Jxxx D G S T [V]

使用LOGLVS将NETLIST编译为.s 文件,附带生成的文件有:6SCHMAP.MAP,CROSREF.LIS,IMAGE.LIS,JOURNAL.LGS,LOGINFO.TXT,PRINT.OUT,EXPNAM.TRF

用Dracula进行检测时,需要注意的一些文件:

.log 运行记录 .mlg 系统错误信息

.sum DRC报告 .lvs LVS报告

.msm 警告信息 .err ERROR 记录

.erc ERC错误记录

.inp command file 读入记录

认识LVS REPORT

Dracula,LVSCHK option 请参阅本文附录。

*.lvs 开头表明运行的时间等相当记录

第二段会列出所读的TopCellName,如果到此停止,可能是datebase / topcellname 错误。

第三段列出运行前后DEVICES 减少的情况对比。

第四段列出Layout & Schematic 节点对,如有不匹配情况,应予以改正。

第五段列出节点匹配的详细情况,是report的主体。

第六段为匹配详细的列表。

实例操作(以上例MUX2为例):

1,单独切开out

** WARNING ** LAYOUT PAD : out 8 CONNECTED TO NOTHING

*************** DISCREPANCY 1 **********************************

----------------------------MATCHED DEVICE UN-MATCHED NODE---------

*DEV3 MOS P ---- MI03 : *DEV12 MOS P

: X=15.61 Y=9.86

sign, out, op2 sign, op2, ?7

*************** DISCREPANCY 2 **********************************

2,切断out 与传输门

************* DISCREPANCY 1 **********************************

--------------------------------MATCHED DEVICE UN-MATCHED NODE---------

*DEV3 MOS P ---- MI03 : *DEV12 MOS P

: X=15.61 Y=9.86

sign, out, op2 sign, op2, ?7 …

*************DISCREPANCY 5 *********************************

--- NODE out

---WITH UN-MATCHED DEVICES-------

*DEV3 MOS P ---- MI03 : ***** UN-MATCHED *****

sign, out, op2

*DEV4 MOS N ---- MI04 : ***** UN-MATCHED *****

net01, out, op2

OCCURRENCE NAME outb

DEV24 INV : DEV23 INV

: X=2.92 Y=5.51

outb, out outb, out

3,切断sign中一段

************** DISCREPANCY 5 *********************************

--- NODE sign

---WITH UN-MATCHED DEVICES-------

DEV2 MOS N ---- MI02 : DEV5 MOS N

: X=13.96 Y=5.51

sign, vdd, op2 sign, op2, vdd

*DEV7 MOS P ---- MI07 : ***** UN-MATCHED *****

sign, vdd, op1

DEV3 MOS P ---- MI03 : DEV12 MOS P

: X=15.61 Y=9.86

sign, out, op2 sign, op2, out

*DEV6 MOS N ---- MI06 : ***** UN-MATCHED *****

sign, outb, op1

OCCURRENCE NAME net01

DEV23 INV : DEV24 INV

: X=10.27 Y=5.51

net01, sign net01, sign

总结1:

以上实际操作中,可以看到,但pin floating时,会有floating的信息列出。

第二和第三中,显然,我们并没有去减少device,但对pin节点来说是缺少的,反过来讲,是这个节点还需要联接到别的地方,其个数即为不匹配的个数。

4,将out 与sign相互颠倒

*********** DISCREPANCY 9 *********************************

--- NODE out

---WITH UN-MATCHED DEVICES-------

***** UN-MATCHED ***** : *DEV9 MOS P

: X=6.52 Y=9.86

out, op1, vdd

?DEV3 MOS P ---- MI03 : ***** UN-MATCHED *****

sign, out, op2

?DEV4 MOS N ---- MI04 : ***** UN-MATCHED *****

net01, out, op2

***** UN-MATCHED ***** : *DEV2 MOS N

: X=4.87 Y=5.51

out, op1, ?5

OCCURRENCE NAME outb

*DEV24 INV : *DEV24 INV

: X=10.27 Y=5.51

?outb, out net01, out

***** UN-MATCHED ***** : ?DEV5 MOS N

: X=13.96 Y=5.51

out, op2, vdd

***** UN-MATCHED ***** : ?DEV12 MOS P

: X=15.61 Y=9.86

out, op2, sign

************** DISCREPANCY 10 *********************************

--- NODE sign

---WITH UN-MATCHED DEVICES-------

?DEV2 MOS N ---- MI02 : ***** UN-MATCHED *****

sign, vdd, op2

*DEV7 MOS P ---- MI07 : ***** UN-MATCHED *****

sign, vdd, op1

?DEV3 MOS P ---- MI03 : ***** UN-MATCHED *****

sign, out, op2

*DEV6 MOS N ---- MI06 : ***** UN-MATCHED *****

sign, ?outb, op1

OCCURRENCE NAME net01

*DEV23 INV : *DEV23 INV

: X=2.92 Y=5.51

net01, sign ?5, sign

***** UN-MATCHED ***** : ?DEV6 MOS N

: X=15.61 Y=5.51

net01, op2, sign

***** UN-MATCHED ***** : ?DEV12 MOS P

: X=15.61 Y=9.86

out, op2, sign

总结2:

从上面这步操作中,可以看到节点 out 或者sign左右不匹配的个数不同,表明节点out处(4-2=2)多接了二个,而节点sign处(2-4=-2)少接了二个。

注:以上实验,是以netlist正确为前提。

LVS report 中,MOS节点顺序schematic GSD ,layout GDS;SubCircuit OI

netlist中MOS节点顺序为DGS Dracula LVS 错误类型

用Dracula 做LVS时得到report的格式大致是schematic section : Layout section。当然本篇讨论的是LVS error types而不是教会大家如何阅读LVS report,只不过选用了Dracula作为基础来讨论检查LVS 时可能出现的错误类型。 Device type MOS BJT RES/CAP/DIODE SMID/PMID BOX SDW/SDWI/SUP/ SUPI /PDW/PDWI/ PUP/PUPI /AND/OR/ Output, list of input nodes NADN/NOR/AOI/ OAI INV CELL Output, input Composite node 1 – pin name 1 Gate, source, drain Collector, base, emitter Terminals-1, terminal-2 Out1, out2, list of input nodes Terminal-1, terminal-2, terminal-3, terminal-4 Terminals listed 上表列出Dracula summary 中所识别器件的类型及节点显示顺序。下图为上表中常见器件类型的举例说明。

PMID: Parallel Middle Structure SMID: Series Middle Structure PUP: Parallel Pull-Up Structure SUP: Series Pull-Up Structure

PDW: Parallel Pull-Down Structure SDW: Series Pull-Down Structure

LVS 中某个不匹配的点可能引出一个节点、一个组件或一个子集 (一组节点和组件), 也就是说“错一点而动全身”。LVS列出每个不对应的点,并且都会对应到某种错误类型,当然并不表示列出的每个节点都是有错的。有时错误信息是需要我们来判别的。比如两条信号线互相错接,对一个信号线可能产生两条错误信息。

LVS错误总结为15种类型(就Dracula而言),列举如下: Type 1 2 Error description Matched node to no device Matched device to unmatched node Plot Node Dev., Node Dev., Node Dev., Listing X X 3 4 Inconsistently matched device Matched node to extra layout devices (missing schematic) X X Node 5 6 7 8 9 10 11 12 13 14 15 Matched node to extra Matched node to unmatched layout and schematic devices Other unmatched layout devices Other unmatched schematic devices Device subtype mismatch (ntype, ptype, etc.) Device size (W, L) mismatch MOS reversibility error Device substrate connection mismatch Device power connection mismatch(multi-power supply situation Reduced layout parallel MOS devices Filtered out layout MOS devices Node Dev., Node Dev. --- Dev. Dev. Dev. Dev. Dev. Dev. Dev. X X --- X X X X X X --- --- *注:以下讲的匹配表示节点可以被分配;对应表示电路与版图一致。

类型1:

初始节点没有连接到器件。

图例表示因电阻或PAD上的txt没有被识别而引起的错误。

类型2:

器件匹配,器件的节点一部分匹配,一部分不匹配。

图例表示器件匹配,但有A3点没有对应。

类型3:

器件及节点匹配,但不相对应。

图例表示节点可以识别,但彼此不相对应。

类型4:

额外layout器件连接到关键节点,使得器件数目不相对应。

图例表示版图引起器件数目不对应。

类型5:

额外schematic器件连接到关键节点,使得器件数目不相对应。

图例表示电路引起的器件数目不对应。

类型6:

一些schematic器件连接到关键节点,但因为连接的节点不同导致不相对应。

图例表示节点可以识别,但连接到关键点A7的器件彼此不对应。

类型7:

多余电路、不能获得的任何初始相关节点对、运算停止而没有被查找到的相关节点中不匹配的layout器件是各自完全独立的。

类型8:

从多余电路、不能获得的任何初始相关节点对、运算停止而没有被查找到的相关节点中不匹配的schematic器件是各自完全独立的。

类型9:

两个匹配的器件,类别不对应。

图例表示器件类型不对应。

类型10:

Layout器件尺寸与schematic不相对应。

图例表示器件尺寸不对应。

类型11:

layout MOS 器件输出的物理定位与schematics的不相对应。

图例表示gate连接顺序不对应。

类型12:

MOS的衬底连接与schematics不相对应。

图例表示sub连接不对应。

类型13:

在多电源中,器件连接到不正确的电源。

图例表示source端连接电源不对应。

类型14:

当LVSCHK[K]选项(保持并联)没有打开,并联的MOS晶体管将会合并为一个MOS晶体管,其余的MOS晶体管将不会被检查到或作为错误标识出来。(些类型不作为错误来解释)

图例表示并联器件合并为一个器件。

类型15:

当LVSCHK[F]选项(CMOS gate过滤器)打开,没有被使用的CMOS器件将被过滤。(此类型不作为错误来解释)

本篇完

以后会对LVSCHK及Option作详细的介绍,敬请关注。

calibre中LVS问题

wawejin 发表于: 2009-9-08 22:30 来源: 半导体技术天地 calibre进行LVS时 出现问题其lvs report部分如下: Error: Different numbers of ports (see below). Error: Different numbers of nets (see below). Error: Different numbers of instances (see below).

Error: Connectivity errors.

Error: Instances of different types or subtypes were matched.

Error: Cells with non-floating extra pins. Warning: Unbalanced smashed mosfets were matched.

LAYOUT CELL NAME: wii_guitar_top SOURCE CELL NAME: wii_guitar_top

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

INITIAL NUMBERS OF OBJECTS

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

Layout Source Component Type

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

Ports: 47 56 * Nets: 31023 31101 * Instances: 8 8 M (4 pins) 39383 37612 * MN (4 pins) 37367 35562 * MP (4 pins) 32 32 R (2 pins) 12 12 D (2 pins) 0 1 * OTP (37 pins) 1 1 AD(18 pins)

------ ------ Total Inst: 76803 73228

NUMBERS OF OBJECTS AFTER TRANSFORMATION

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

Layout Source Component Type

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

Ports: 47 48 * Nets: 21434 21507 * Instances: 2 2 M (4 pins) 8916 9020 * MN (4 pins) 5166 5272 * MP (4 pins) 32 32 R (2 pins) 12 12 D (2 pins) 0 1 * OTP (37 pins) 1 1 AD (18 pins) 14142 14041 * INV (2 pins) 2587 2586 * NAND2 (3 pins) 240 240 NAND3 (4 pins) 158 158 NAND4 (5 pins) 192 192 NOR2 (3 pins) 86 86 NOR3 (4 pins) 15 15 NOR4 (5 pins) 14 14 AOI_2_1 (4 pins) 49 49 AOI_2_1_1 (5 pins)

147 147 AOI_2_2 (5 pins) 28 28 AOI_2_2_1 (6 pins) 122 122 AOI_2_2_2 (7 pins) 19 19 AOI_3_1 (5 pins) 6 6 AOI_3_1_1 (6 pins) 5 5 AOI_3_2_1 (7 pins) 6 6 AOI_3_2_2 (8 pins) 231 231 OAI_2_1 (4 pins) 90 90 OAI_2_1_1 (5 pins) 174 174 OAI_2_2 (5 pins) 10 10 OAI_2_2_1 (6 pins) 75 75 OAI_2_2_2 (7 pins) 41 41 OAI_3_1 (5 pins) 11 11 OAI_3_1_1 (6 pins) 48 48 OAI_3_2_1 (7 pins) 5 5 OAI_3_2_2 (8 pins) 277 218 * SDW2 (3 pins) 18 18 SDW3 (4 pins) 297 210 * SUP2 (3 pins) 20 20 SUP3 (4 pins) 24 24 SPDW_2_1 (4 pins) 16 16 SPDW_2_2 (5 pins) 3 3 SPDW_2_2_1 (6 pins) 18 18 SPDW_3_1 (5 pins) 40 40 SPUP_2_1 (4 pins) 6 6 SPUP_2_2 (5 pins) 2 2 SPUP_2_2_1 (6 pins) 18 18 SPUP_3_1 (5 pins) 16 76 * SMN2 (4 pins) 0 87 * SMP2 (4 pins) 22 22 SPMN((2+1)*1) (6 pins) 6 6 SPMP((2+1)*1) (6 pins)

------ ------ Total Inst: 33413 33523

* = Number of objects in layout different from number in source.

DETAILED INSTANCE CONNECTIONS

LAYOUT NAME ne SOURCE NAME

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

(This section contains detailed information about connections of matched instances that are involved in net discrepancies).

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

X260/X10/M48(389.550,215.500) MN(N33) Xp_16/M26 MN(N)

d: VSS s: VSS b: VSS b: VSS

g: X260/X10/25 ** no similar net ** s: X260/X10/26 ** no similar net ** ** X260/X1/16 ** g: Xp_16/net_145 ** X260/X1/28 ** d: Xp_16/net_135

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

X260/X24/M48(484.550,215.500) MN(N33) Xp_16/M40 MN(N)

d: VSS s: VSS b: VSS b: VSS

g: X260/X24/25 ** no similar net ** s: X260/X24/26 ** no similar net ** ** X260/X1/24 ** g: Xp_16/net_116 ** no similar net ** d: Xp_16/net_26

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

X260/X33/M48(579.550,215.500) MN(N33) Xp_16/M54 MN(N)

d: VSS d: VSS b: VSS b: VSS

g: X260/X33/25 ** no similar net ** s: X260/X33/26 ** no similar net ** ** X260/X1/20 ** g: Xp_16/net_112 ** no similar net ** s: Xp_16/net_55

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

X260/X53/M48(769.550,215.500) MN(N33) Xp_15/M26 MN(N)

d: VSS s: VSS b: VSS b: VSS

g: X260/X53/25 ** no similar net ** s: X260/X53/26 ** no similar net ** ** X260/X2/16 ** g: Xp_15/net_145 ** X260/X2/28 ** d: Xp_15/net_135

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

X260/X74/M29(814.000,136.750) MP(P33) Xp_vddd2/M30 MP(P)

g: VDD g: VDD s: VDD s: VDD b: VDD b: VDD d: VSS ** VSS ** ** no similar net ** d: Xp_vddd2/VSSD

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

X260/X87/M70(926.100,203.650) MP(P33) Xp_vddd1/M30 MP(P)

d: VDD s: VDD b: VDD b: VDD g: VSS ** VSS ** s: X260/X87/11 ** no similar net **

** VDD ** g: VDD ** no similar net ** d: Xp_vddd1/VSSD

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

X260/X103/M30(1054.550,215.500) MN(N33) Xp_15/M40 MN(N)

d: VSS s: VSS b: VSS b: VSS

g: X260/X103/13 ** no similar net ** s: X260/X103/16 ** no similar net ** ** X260/X2/24 ** g: Xp_15/net_116 ** no similar net ** d: Xp_15/net_26

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

X261/X7/M48(215.500,397.650) MN(N33) Xp_15/M54 MN(N)

d: VSS d: VSS b: VSS b: VSS

g: X261/X7/25 ** no similar net ** s: X261/X7/26 ** no similar net ** ** X260/X2/20 ** g: Xp_15/net_112 ** no similar net ** s: Xp_15/net_55

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

X263/X14/M48(215.500,646.250) MN(N33) Xp_14/M26 MN(N)

d: VSS s: VSS b: VSS b: VSS

g: X263/X14/25 ** no similar net **

s: X263/X14/26 ** no similar net ** ** X260/X10/16 ** g: Xp_14/net_145 ** X260/X10/28 ** d: Xp_14/net_135

都是这种错误有一百多个

不知道是什么原因

大家帮帮忙

谢谢大家了

最新回复

风中微笑009 at 2009-9-08 22:47:20

你先把pin 点的错误解决掉

nidon2003 at 2009-9-08 23:01:30

先不要觉得错误很多

很多时候LVS的很多错误都是由于一个连接关系的错误造成的。

你先检查下你的POWER端是不是都接对了,然后在检查device之间的连接关系是否正确

wawejin at 2009-9-13 21:32:44

谢谢两位的回答,pin点是对 了,可是还是有同样的那么多的错误。显示的错误都是在IO PAD

内部。

另外产生的net report文件如下: ERC PATHCHK REPORT for aaa PATHCHK GROUND && ! POWER NOFLOAT:

cell PBCU8 (X260/X1): 13 cell PIS (X260/X87): 10 cell PID (X260/X103): 10 cell ICV_2 (X271): 8, 11

PATHCHK POWER && ! GROUND NOFLOAT:

cell PBCU8 (X260/X1): 15 cell PVDD3 (X260/X74): 6, 10, 11

cell PIS (X260/X87): 11 cell PID (X260/X103): 11 cell ICV_2 (X271): 9, 13

PATHCHK ! POWER && ! GROUND NOFLOAT: cell PDIODE8 (X260/X92207): 6, 7, 8, 9

cell ICV_40 (X261): 63, 86

cell ICV_39 (X263): 33, 38, 148, 262, 273, 312, 551, 552, 553, 554, 555, 556, 575

cell ICV_37 (X264): 3044

cell ICV_36 (X266): 9, 10, 14, 17, 20, 21, 44

cell ICV_35 (X267): 7, 21

cell aaa: 63, 69, 87, 108, 237, 240, 395, 396, 397, 854, 855, 856, 857, 858, 859, 860,

861, 862, 866

PATHCHK ! LABELLED NOFLOAT:

cell PDIODE8 (X260/X92207): 6, 7, 8, 9

cell ICV_40 (X261): 63, 86

cell ICV_39 (X263): 33, 38, 148, 262, 273, 312, 551, 552, 553, 554, 555, 556, 575

cell ICV_37 (X264): 3044

cell ICV_36 (X266): 9, 10, 14, 17, 20, 21, 44

cell ICV_35 (X267): 7, 21

cell aaa: 63, 69, 87, 108, 237, 240, 395, 396, 397

这个问题是什么回事,什么意思呢

要什么解决呢?

[ 本帖最后由 wawejin 于 2009-9-13 22:34 编辑 ]

往事如风 at 2009-9-14 11:16:55

器件都还没全部对上也!model name要先统一!

zhutx66 at 2009-10-12 19:44:37

PAD就是很多层金属线,不会有连接问题,至于IO,如果是从别人那拿来的应该都是正确的,如果是自己做的就先把IO的DRC,LVS都先过了,再检查总的DRC和LVS。如果上述都正确

了还是有问题就应该是你连接的问题了,也有可能是你给PAD打Lable出问题了。

yangchunxia003 at 2010-1-02 10:46:20 我也遇到同样的问题,请问lz怎样解决的,谢谢

lafengxu at 2010-1-08 08:55:38

1)首先,对每个standerd cell,IO cell,IP等都做一遍LVS,确定每个都pass.

2)接着,最好把每个instance做成hcell

3)你的器件都没有对上,instance数量都不对,先看看这些器件是不是少了。 4)器件对了的话在看port端口,你的port端也不对,看看是不是text打偏了或者没有打。

5)然后在比较一下net连接。 xuelayy at 2010-1-12 21:09:38

昨天第一次用calibre做lvs,结果连power和guound都找不到。cap和res什么的就更不

识别了。

那个pin点指的是什么啊。以前都用durcula做lvs。现在是一头雾水,身边也没人可问。郁

闷。

月落风痕 at 2010-1-22 14:17:19

慢慢找,总能解决的。

forali at 2010-1-24 11:32:24

都看不懂

fuwangwang98 at 2010-1-26 22:11:32

X260/X74/M29(814.000,136.750) MP(P33) Xp_vddd2/M30 MP(P)

g: VDD g: VDD s: VDD s: VDD b: VDD b: VDD d: VSS ** VSS **/

** no similar net ** d: Xp_vddd2/VSSD

貌似这种单net错误都可以先改了吧

jettisun at 2010-1-27 10:35:55

首先OTP都没对上,如果otp是空框的话,lvs中请先block掉!然后再查后面的错误,还

有vss和vssd你可以先解决掉. liuwq521830 at 2010-3-20 16:35:45

我觉得应该的类型的不匹配造成的 ,应该替换一下管子的类型 。

请教,奇怪的LVS错误

tanner, LVS, SPC, lateral, Pins

LVS通不过,在Schematic和Layout中找来找去也没发现什么错误,

首先请问大侠们当LVS通不过时一般都是怎样查错的?

我用TSpice对sp和spc文件进行仿真,波形都对,但LVS比较的结果是not equal

为什么啊? 请大侠赐教,谢谢。

终于解决门题了,原来CMOS门电路的A、B两个端口电路结构是不等的,但从功能逻辑上来说却是相等,所以会有仿真正确但LVS却不通过的问题。 谢谢各位的帮助。

联系客服:779662525#qq.com(#替换为@)