73 lines
2.1 KiB
Plaintext
73 lines
2.1 KiB
Plaintext
* Simple SRAM cell in a subcircuit, double exponential current pulses
|
|
* IHP Open PDK
|
|
|
|
* Path to the PDK
|
|
.lib "D:\Spice_general\IHP-Open-PDK\ihp-sg13g2\libs.tech\ngspice\models\cornerMOSlv.lib" mos_tt
|
|
|
|
.param vdd = 1.2
|
|
.param deltat=11n deltat2=27n
|
|
*.param tochar = 1e-13 ; tochar dependency on LET not yet defined
|
|
.param tfall = 500p trise=20p ; tau in exponent for pulse
|
|
.param let = 11
|
|
.param cdepth = 0.9
|
|
*.param Inull = 'tochar/(tfall-trise)'
|
|
|
|
* the voltage sources:
|
|
Vdd vd gnd DC 'vdd'
|
|
Vwl wl 0 0 PULSE 0 'vdd' 45n 1n 1n 7n 1
|
|
Vbl1 bl1 0 'vdd'
|
|
Vbl2 bl2 0 0
|
|
|
|
**** SEE generator without control input, double exponential current sources
|
|
aseegen1 NULL mon [%id(xcell.n1 m1) %id(xcell.n2 m2) %id(xcell.n1 m1) %id(xcell.n2 m2)] seemod1
|
|
.model seemod1 seegen (tdelay = 11n tperiod=25n let='let' cdepth='cdepth' tfall='tfall' trise='trise')
|
|
* alternative syntax, if no current measurement required and reference nodes are GND
|
|
*aseegen1 NULL mon [%i(xcell.n1) %i(xcell.n2) %i(xcell.n1) %i(xcell.n2)] seemod1
|
|
|
|
**** the SRAM cell
|
|
Xcell bl1 bl2 wl vdd vss srcell
|
|
|
|
.subckt srcell bl1 bl2 wl vdd vss
|
|
Xnot1 n1 vdd vss n2 not1
|
|
Xnot2 n2 vdd vss n1 not1
|
|
xmo02 n2 wl bl1 vss sg13_lv_nmos l=0.15u w=0.495u as=0.131175p ad=0.131175p ps=1.52u pd=1.52u
|
|
xmo01 n1 wl bl2 vss sg13_lv_nmos l=0.15u w=0.495u as=0.131175p ad=0.131175p ps=1.52u pd=1.52u
|
|
.ends
|
|
|
|
**** Current measurements
|
|
Vmeasvss vss 0 0
|
|
Vmeasvdd vd vdd 0
|
|
Vm1 m1 0 0
|
|
Vm2 m2 0 0
|
|
|
|
**** Inverter cell
|
|
.subckt not1 a vdd vss z
|
|
xm01 z a vdd vdd sg13_lv_pmos l=0.15u w=0.99u as=0.26235p ad=0.26235p ps=2.51u pd=2.51u
|
|
xm02 z a vss vss sg13_lv_nmos l=0.15u w=0.495u as=0.131175p ad=0.131175p ps=1.52u pd=1.52u
|
|
c3 a vss 0.384f
|
|
c2 z vss 0.576f
|
|
.ends
|
|
|
|
* starting condition for SRAM cell
|
|
.ic v(xcell.n2)=0 v(xcell.n1)='vdd'
|
|
|
|
* simulation command:
|
|
.tran 100ps 120ns
|
|
|
|
*.options method=gear
|
|
|
|
.control
|
|
pre_osdi C:\Spice64\lib\ngspice\psp103_nqs.osdi
|
|
run
|
|
rusage
|
|
*set nolegend
|
|
set color0=white
|
|
set color5=orange
|
|
set xbrushwidth=3
|
|
set xgridwidth=2
|
|
plot i(Vmeasvss) i(Vmeasvdd)
|
|
plot xcell.n1 xcell.n2+2 wl+4 i(vm1)*10000+6 i(vm2)*10000+8
|
|
.endc
|
|
|
|
.end
|