原创 LVS实例

2009-7-7 22:48 4386 9 9 分类: EDA/ IP/ 设计与制造

熟悉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

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

lvsexp1.jpg

上例中,第一行*******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

lvsexp2.jpg

  

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

PARTNER CONTENT

文章评论0条评论)

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