原创 Calibre经典教程和看LVS的错误报告的方法[一]

2009-6-6 14:50 6359 4 4 分类: 工程师职场

看calibre lvs 错误报告的方法


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


 


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


 


o       Example1 (参见文件“lvs_test1.rep) ”lan_yang_dig.cir”21912192行调用到了两个标准单元”INLX1””LOGICOL”,但是netlist中找不到对这两个标准单元的描述。这个错误需要检查netlist,添加上对这些标准单元的描述部分。通常标准单元的netlistfoundry提供,是一个单独的cdl或者spice文件;


 


Example1


 


LVS Netlist Compiler - Errors and Warnings for "LANYANG_FULLCHIP_V11_20060427.CIR"


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


 


Error: No matching ".SUBCKT" statement for "INLX1" at line 2191 in file "lan_yang_dig.cir"


 


Error: No matching ".SUBCKT" statement for "LOGIC0L" at line 2192 in file "lan_yang_dig.cir"


.........


.........


 


 


 


·        Warning部分warning不会影响lvs的运行,但是经常会导致结果的不正确。很一些warning可以忽略掉,这些常常是netlist中或者lvs命令文件中一些多余部分引起的,例如下面的Example2_1Example2_2;很多warning是不能忽略的,最常见的是shortsoft connect,例如下面的Example3, Example4_1, Example4_2


 


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


 


Example2_1


 


.........


Warning:
*.MEGA at line 86 in file
"/home/taurus/XFAB/cdl/xc06m3/core/xc06a2dl.cdl" not applied to earlier
global-scope .PARAM statements


 


Warning:
*.MEGA at line 148 in file
"/home/taurus/XFAB/cdl/xc06m3/core/xc06a2dl.cdl" not applied to earlier
global-scope .PARAM statements


.........


 


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


Example2_2


 


.........


Warning: Duplicate subckt definition "NAND4" at line 1642 in file "/home/taurus/XFAB/cdl/xc06m3/core/xc06a2dl.cdl"


 


Warning: Duplicate subckt definition "NOR2" at line 1671 in file "/home/taurus/XFAB/cdl/xc06m3/core/xc06a2dl.cdl"


.........


 


o       Example3 (参见文件“lvs_test3.rep) :在layout中两条标记了labelnet短路时,或者不同的label标记到了同一net上时,出现这种warninglvs中会忽略掉其中一个label,将这个net定义为另一个label的名字,例如这个例子中这个net被定义为”osc32k”,忽略掉了”tclk_control”。这两个warning一般会同时出现,解决办法是通过坐标和labellayout中查找short的地方,或者是label移位的地方。这个warning会引起layoutnetlist出现不同数目的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  "osc32k"  at location  (944.4,1199.6)  on layer  39 "metal3"


          (2)  name  "tclk_control"  at location  (944.4,1228.4)  on layer  39 "metal3"


          The name "osc32k" was assigned to the net.


.........


 


 


o       Example4_1 (参见文件“lvs_test4_1.rep) :如果在P substrate上出现没有通过金属直接连接的P substrate tie,那么这些P substrate tie会引起soft connectwarning,这个例子中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的这个netlayout上没有标记label       ”2089”calibrelayout中提取并随机命名的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)                                 


...


...


 


 


2LvsInputOutput的信息:


       该部分主要记录calibre中的一些信息,例如layoutnetlistreport 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


 


 


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


 


·        NOT COMPARED(参见lvs_test1.rep: lvs没有完成,会有Error信息出现在report file的开头,提示为什么lvs没有进行,一般是lvs文件中input的信息不对;


Example6


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


                  # #          #                      # 


                   #           #     NOT COMPARED     # 


                  # #          #                      # 


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


 


 


·        CORRECTlayoutnetlist匹配;


Example7


                         #       ###################       _   _  


                        #        #                 #       *   *  


                   #   #         #     CORRECT     #         |    


                    # #          #                 #       \___/ 


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


 


 


·        INCORRECT(参见lvs_test5.rep: layoutnetlist不匹配,有error信息提示,表示具体不匹配的原因;


Example8


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


                   # #          #                   # 


                    #           #     INCORRECT     # 


                   # #          #                   # 


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


 


 


            Error:    Different numbers of nets (see below).


   Error:    Connectivity errors.


 


 


4OBJECTS信息:


 


·        INITIAL NUMBERS OF OBJECTS表示转换前layoutnetlist中的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表示转换后layoutnetlist中的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

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
4
关闭 站长推荐上一条 /3 下一条