HowtoreadCalibrelvsreportfile1.Report开头部分的Warning和Error信息(因为出现Warning和Error的情况很多,这里主要举一些常见的例子):?Error部分:只要report的开头部分有Error信息出现,lvs就肯定没有运行成功。Error一般由lvs命令文件或netlist文件中的参数定义引起,这时候需要修改lvs文件或者netlist。Error信息都很直观,比较容易查出产生Error的地方。oExample1(参见文件“lvs_test1.rep”):在”lan_yang_dig.cir”的2191和2192行调用到了两个标准单元”INLX1”和”LOGICOL”,但是netlist中找不到对这两个标准单元的描述。这个错误需要检查netlist,添加上对这些标准单元的描述部分。通常标准单元的netlist由foundry提供,是一个单独的cdl或者spice文件;Example1:LVSNetlistCompiler-ErrorsandWarningsforLANYANG_FULLCHIP_V11_20060427.CIR-------------------------------------------------------------Error:Nomatching.SUBCKTstatementforINLX1atline2191infilelan_yang_dig.cirError:Nomatching.SUBCKTstatementforLOGIC0Latline2192infilelan_yang_dig.cir..................?Warning部分:warning不会影响lvs的运行,但是经常会导致结果的不正确。很一些warning可以忽略掉,这些常常是netlist中或者lvs命令文件中一些多余部分引起的,例如下面的Example2_1和Example2_2;很多warning是不能忽略的,最常见的是short和softconnect,例如下面的Example3,Example4_1,Example4_2;oExample2_1(参见文件“lvs_test2.rep”):这个warning是因为calibre不认netlist中的参数”*.MEGA”,这时需要在netlist中注释掉这个参数。(”*.MEGA”只在dracula中起作用,用于区分netlist中单位m和M的不同,有了这个参数以后,m代表千分之一,M代表百万,如果没有这个参数,则m和M都代表千分之一);Example2_1:.........Warning:*.MEGAatline86infile/home/taurus/XFAB/cdl/xc06m3/core/xc06a2dl.cdlnotappliedtoearlierglobal-scope.PARAMstatementsWarning:*.MEGAatline148infile/home/taurus/XFAB/cdl/xc06m3/core/xc06a2dl.cdlnotappliedtoearlierglobal-scope.PARAMstatements.........oExample2_2(参见文件“lvs_test2.rep”):这个warning是由于在netlist中重复定义了”NAND4”和”NOR2”这两个标准单元引起,可以修改netlist解决;如果能确定重复定义的部分是完全相同的,这个warning可以忽略掉;Example2_2:.........Warning:DuplicatesubcktdefinitionNAND4atline1642infile/home/taurus/XFAB/cdl/xc06m3/core/xc06a2dl.cdlWarning:DuplicatesubcktdefinitionNOR2atline1671infile/home/taurus/XFAB/cdl/xc06m3/core/xc06a2dl.cdl.........oExample3(参见文件“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:Directconnectionbetweendifferentports:Portnames:osc32ktclk_controlWARNING:Shortcircuit-Differentnamesononenet:NetId:513(1)nameosc32katlocation(944.4,1199.6)onlayer39metal3(2)nametclk_controlatlocation(944.4,1228.4)onlayer39metal3Thenameosc32kwasassignedtothenet..........oExample4_1(参见文件“lvs_test4_1.rep”):如果在Psubstrate上出现没有通过金属直接连接的Psubstratetie,那么这些Psubstratetie会引起softconnect的warning,这个例子中net“chg_out_p”连接到了某个Psubstratetie,与gnd!通过Psubstrate短路到了一起,net“chg_out_p”被忽略掉。解决办法是找到net“chg_out_p”与Psubstrate短路的地方;Example4_1:.........WARNING:StampingconflictinSCONNECT-Multiplesourcenetsstamponetargetnet.Netgnd!isselectedforstamping.Rejectednets:chg_out_p.........oExample4_2(参见文件“lvs_test4_2.rep”):这个例子和上一个例子基本一样,不同的是和gnd!sconnect的这个net在layout上没有标记label。”2089”是calibre从layout中提取并随机命名的net。解决办法是在report的具体信息中找到net2089的坐标,再在layout中查找该点的net是如何通过Psubstrate短路到gnd!;Example4_2:.........WARNING:StampingconflictinSCONNECT-Multiplesourcenetsstamponetargetnet.Netgnd!isselectedforstamping.Rejectednets:2089.........1Netgnd!(33.050,176.900)GND!2089(33.050,47.300)......2.Lvs中Input和Output的信息:该部分主要记录calibre中的一些信息,例如layout,netlist,reportfile,运行时间以及calibre的版本信息。Example5:REPORTFILENAME:lvs.repLAYOUTNAME:../gds/lan_yang_dig_lvs_test3.gdsSOURCENAME:LANYANG_FULLCHIP_V11_20060427.CIR('Lan_Yang_Dig')RULEFILE:xc06_calibre_lvs_302.rulRULEFILETITLE:XC06CalibreDRC/LVSFileLVSMODE:MaskRULEFILENAME:xc06_calibre_lvs_302.rulCREATIONTIME:ThuMay1815:44:022006CURRENTDIRECTORY:/direct/cd-home/gene.huang/tuna/lvsUSERNAME:gene.huangCALIBREVERSION:v2005.2_6.10WedJul1317:47:45PDT20053.Lvs是否匹配最明显的标志:NOTCOMPARED,CORRECT和INCORRECT?NOTCOMPARED(参见lvs_test1.rep):lvs没有完成,会有Error信息出现在reportfile的开头,提示为什么lvs没有进行,一般是lvs文件中input的信息不对;Example6:################################NOTCOMPARED###############################?CORRECT:layout与netlist匹配;Example7:####################__###**###CORRECT#|####\___/####################?INCORRECT(参见lvs_test5.rep):layout与netlist不匹配,有error信息提示,表示具体不匹配的原因;Example8:#############################INCORRECT############################Error:Differentnumbersofnets(seebelow).Error:Connectivityerrors.4.OBJECTS信息:?INITIALNUMBERSOFOBJECTS:表示转换前layout和netlist中的net数目,器件类型和器件数目。这部分不用太留意,因为最终的器件数目会在转换后有所变化。根据lvscommandfile中的某些设置,某些器件可以合并,或被剔除:Example9(参见:lvs_test5.rep):INITIALNUMBERSOFOBJECTS--------------------------LayoutSourceComponentType--------------------------Ports:9595Nets:217329901*Instances:95299489*MN(4pins)95439489*MP(4pins)66R(3pins)66D(2pins)------------TotalInst:1908418990?NUMBERSOFOBJECTSAFTERTRANSFORMATION:表示转换后layout和netlist中的net数目,器件类型和数目。某些器件被合并或者剔除,从例子中可以看到,netlist(Source)比Layout中多一个net,器件数目则保持一致;Example10(参见:lvs_test5.rep):NUMBERSOFOBJECTSAFTERTRANSFORMATION---------------------------------------LayoutSourceComponentType--------------------------Ports:9595Nets:99009901*Instances:94729472MN(4pins)94699469MP(4pins)66R(3pins)66D(2pins)------------TotalInst:18953189535.Report中最重要的部分――INCORRECTNETS部分:Report中,该部分分为左右两列,左边部分表示layout中关于某个net的信息,右边表示n