Dracula LVS介紹
Dracula lvs command file的編寫相對(duì)于其他幾項(xiàng)來說較為容易點(diǎn),重點(diǎn)部分就是節(jié)點(diǎn)信息的傳輸與器件的識(shí)別上。本篇前一部分講解常用的LVS命令,后一部分是實(shí)例分析與具體的編寫的技術(shù)文檔。
定義器件及器件:
ELEMENT MOS {[type]} layer-a layer-b layer-c {layer-d};;device layer+g+s/d+sub
ELEMENT CAP {[type]} layer-a layer-b layer-c {layer-s}
ELEMENT RES {[type]} layer-a layer-b {layer-d}
ELEMENT BJT {[type]} layer-a layer-b layer-c layer-d {layer-s}
ELEMENT DIO {[type]} layer-a layer-b layer-c {layer-s}
ELEMENT LDD {[type]} layer-a layer-b layer-c layer-d {layer-e}
ELEMENT PAD {[type]} layer-a layer-b
ELEMENT device layer-a layer-b {layer-c} {layer-d} {layer-e}
這些命令用來組合不同類型的器件,以device layer開始,接著說明器件的terminals,為了識(shí)別特殊的器件,還會(huì)常用到select 命令,比如lab[r] dio?, cut res等用法。
設(shè)定參數(shù):
Parameter res /cap {[type]} value1 {value2}
該命令類似lpe的attribute ,其中cap有value1, value2 以說明面積及邊長對(duì)電容值的影響。
節(jié)點(diǎn)信息傳輸命令:
Lvs對(duì)比主要是節(jié)點(diǎn)信息傳輸?shù)倪^程,在connect-layer中從下到上說明可用于傳導(dǎo)的層次,并且在使用and, not命令時(shí)會(huì)自動(dòng)傳遞信息。使用connect命令來說明層次間的傳遞。使用stamp命令使用在沒有在connect/ connect-layer中說明的層的信息傳遞。
Connect layer-a layer-b BY cont-layer
Stamp stamped-layer by stamping-layer {output {[option]} c-name l-num {d-num}}
Connect-layer = layer1 layer2 …
實(shí)例操作:
延續(xù)上次LPE中的實(shí)例,增加了電阻與電容以增加器件的比對(duì),其中l(wèi)vs_test.cir為spice netlist,lvs_test為layout cell, lvs.com為這次實(shí)例所編寫的命令文件 。編寫的文件中,使用的*.resval, *.capval 及l(fā)vschk 選項(xiàng)resval, capval對(duì)比電阻、電容的值,增加lvschk[p] 增加電容端點(diǎn)順序的對(duì)比。版圖中電阻為nwell電阻加res層進(jìn)行識(shí)別,電容為gate電容加dummy層進(jìn)行識(shí)別。
Lvs_test.cir
*** SPICE file subckt lvs_test ****
.param
.global vss vdd
*.bipolar
*.resval
*.capval
******************************************
******************************************
.subckt inv1 op ip
mi31 op ip vss vss n l=0.65u w=1.25u
mi32 op ip vdd vdd p l=0.65u w=1.25u
.ends
******************************************
******************************************
.subckt lvs_test out in
r01 in net01 2k $[rs]
x02 out net01 inv1
c03 out vss 0.1p $[cp]
.ends
******************************************
******************************************
以下為lvs command file的具體內(nèi)容,需要著重注意的是connect, connect-layer及stamp命令,并區(qū)分器件層與傳輸層的關(guān)系,也因此可以發(fā)現(xiàn)nwell,gate都作了區(qū)別。
Lvs.com
;;++++++++++++++++++++++++
;;+ TOOL : dracula 4.8 +
;;+ TITLE:LVS CMD TEST +
;;+ CELL : LVS_TEST +
;;+ AUTHOR: NFMAO +
;;+ DATE : 2005-05-11 +
;;+ FROM: www.chalayout.com +
;;+++++++++++++++++++++++++
*des
primary = lvs_test
indisk = ../db/lvs_test.db
;outdisk = test.gds
printfile = lvs_test
system = gds2
resolution = 0.005 mic
scale = 0.001 mic
mode = exec now
listerror = yes
program-dir = $drac/
keepdata = inquery;yes;smart
error-path-wid = 5.0 mic
check-path = center-line
summary-only = yes
; cnames-csen = yes
; text-pri-only = yes
text-level = 0
status-command = "time;du"
abort-p-g-short = yes;no;all
power-node = VDD,vdd
ground-node = VSS,vss
schematic = loglvs/lvs_test.s
model = mos[n],n mos[p],p
*end
*input-layer
pldd = 1
contac = 3
mt1 = 4 text 4 texttype 0 attach mt1
thinox = 5
nwell = 6 text 7 attach rnwel
res = 7
poly = 8
dummy = 16
substrate = bulk 99
connect-layer = psub anwel pdiff ndiff poly mt1
*end
*oper
not bulk nwell psub
and poly thinox gate
and gate dummy cgate
not gate cgate agate
and agate pldd pgate
not agate pldd ngate
not thinox gate diff
and diff pldd pdiff
not diff pdiff ndiff
;and contac pdiff pcont
;and contac ndiff ncont
sel nwell cut res rnwel
not nwell rnwel anwel
and rnwel res wres
not rnwel wres wress
and psub pdiff pcont
and anwel ndiff ncont
connect mt1 poly by contac
connect mt1 pdiff by contac
connect mt1 ndiff by contac
connect ndiff anwel by ncont
connect pdiff psub by pcont
stamp wress by ndiff
element res[rs] wres wress
parameter res[rs] 1000
element cap[cp] cgate poly ndiff
parameter cap[cp] 5.5e-15 1.0e-17
element mos[n] ngate poly ndiff psub
element mos[p] pgate poly pdiff anwel
lvschk[rsp] printline=1000 lper=0 wper=0 resval=0 capval=5
*end