LVS实例一
发布时间:2008/6/5 0:00:00 访问次数:1465
熟悉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
熟悉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
上一篇:latch up 分析
上一篇:SMT模板设计指南