blob: 139a8396ce1c569888ba62fb785e2127a06be0b2 [file] [log] [blame]
v {xschem version=3.1.0 file_version=1.2
* Copyright 2021 Stefan Frederik Schippers
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
}
G {}
K {}
V {}
S {}
E {}
B 2 1150 -1050 1580 -730 {flags=graph
y1 = -0
y2 = 0.00021
divy = 5
subdivy=1
x1=0
x2=-1.8
divx=4
subdivx=4
node="i(vd1)
i(vd2)"
color="4 5" unity=u
dataset=-1}
B 2 1590 -1050 2020 -730 {flags=graph,unlocked
y1 = 0
y2 = 0.00065
divy = 5
subdivy=1
x1=0.301093
x2=-10.1989
divx=4
subdivx=4
node=i(vd4)
color=4 unity=u
dataset=-1
sweep=d10v5}
B 2 880 -1050 1140 -730 {flags=graph
y1 = -1.8
y2 = 0
divy = 5
subdivy=4
x1=0
x2=-1.8
divx=4
subdivx=4
node=g1v8
color=4 unity=1
dataset=-1}
T {select one single gate voltage
by pressing 't' with mouse close
to one of the waveforms} 1130 -1120 0 1 0.3 0.3 {}
N 680 -490 680 -470 {lab=S}
N 680 -440 700 -440 {lab=B}
N 620 -440 640 -440 {lab=G1v8}
N 680 -410 680 -390 {lab=#net1}
N 930 -440 950 -440 {lab=B}
N 870 -440 890 -440 {lab=G1v8}
N 930 -410 930 -390 {lab=#net2}
N 930 -490 930 -470 {lab=S}
N 540 -90 2170 -90 { lab=D1v8}
N 540 -130 2170 -130 { lab=D3v3}
N 540 -170 2170 -170 { lab=D5v0}
N 820 -670 820 -650 { lab=D5v0}
N 640 -670 640 -650 { lab=D3v3}
N 1800 -670 1800 -650 { lab=G5v0}
N 1620 -670 1620 -650 { lab=G3v3}
N 540 -210 2170 -210 { lab=D10v5}
N 1000 -670 1000 -650 { lab=D10v5}
N 930 -330 930 -90 { lab=D1v8}
N 680 -330 680 -90 { lab=D1v8}
N 1180 -440 1200 -440 {lab=B}
N 1120 -440 1140 -440 {lab=G1v8}
N 1180 -410 1180 -390 {lab=#net3}
N 1180 -490 1180 -470 {lab=S}
N 1180 -330 1180 -90 { lab=D1v8}
N 1430 -440 1450 -440 {lab=B}
N 1370 -440 1390 -440 {lab=G5v0}
N 1430 -410 1430 -390 {lab=#net4}
N 1430 -490 1430 -470 {lab=S}
N 1430 -330 1430 -210 { lab=D10v5}
N 1690 -440 1710 -440 {lab=B}
N 1630 -440 1650 -440 {lab=G5v0}
N 1690 -410 1690 -390 {lab=#net5}
N 1690 -490 1690 -470 {lab=S}
N 1690 -330 1690 -250 { lab=D16v0}
N 540 -250 2170 -250 { lab=D16v0}
N 1180 -670 1180 -650 { lab=D16v0}
N 540 -290 2170 -290 { lab=D20v0}
N 1350 -670 1350 -650 { lab=D20v0}
N 1950 -440 1970 -440 {lab=B}
N 1950 -410 1950 -390 {lab=#net6}
N 1950 -490 1950 -470 {lab=S}
N 1950 -330 1950 -290 { lab=D20v0}
N 1890 -440 1910 -440 {lab=G5v0}
C {devices/lab_pin.sym} 680 -490 2 1 {name=p19 lab=S}
C {devices/title.sym} 160 -30 0 0 {name=l1 author="Stefan Schippers"}
C {devices/lab_pin.sym} 620 -440 0 0 {name=p2 lab=G1v8}
C {devices/lab_pin.sym} 700 -440 0 1 {name=p4 lab=B}
C {devices/ammeter.sym} 680 -360 0 1 {name=Vd1}
C {devices/lab_pin.sym} 870 -440 0 0 {name=p3 lab=G1v8}
C {devices/lab_pin.sym} 930 -490 2 0 {name=p12 lab=S}
C {devices/lab_pin.sym} 950 -440 0 1 {name=p13 lab=B}
C {devices/ammeter.sym} 930 -360 0 1 {name=Vd2}
C {devices/code_shown.sym} 0 -1290 0 0 {name=NGSPICE
only_toplevel=true
value="* this option enables mos model bin
* selection based on W/NF instead of W
.opton wnflag=1
.option savecurrents
vg G1v8 0 -1.8
vs s 0 0
vd D1v8 0 -1.8
vb b 0 0
.control
save all
save @m.xm6.m1[gm]
save @m.xm5.xmain1.msky130_fd_pr__pfet_g5v0d16v0__base[gm]
save @m.xm4.msky130_fd_pr__pfet_g5v0d10v5[gm]
save @m.xm3.msky130_fd_pr__pfet_01v8_hvt[gm]
save @m.xm2.msky130_fd_pr__pfet_01v8[gm]
save @m.xm1.msky130_fd_pr__pfet_01v8_lvt[gm]
save @d.xm6.dnw2[gm]
save @d.xm6.dnw1[gm]
save @d.xm5.dnw2[gm]
save @d.xm5.dnw1[gm]
dc vd 0 -1.8 -0.01 vg 0 -1.8 -0.2
write test_pmos.raw
* plot all.vd1#branch vs D1v8
* plot all.vd2#branch vs D1v8
* plot all.vd3#branch vs D1v8
* plot all.vd4#branch vs D10v5
* plot all.vd5#branch vs D16v0
* plot all.vd6#branch vs D20v0
set appendwrite
op
write test_pmos.raw
.endc
" }
C {devices/lab_pin.sym} 540 -90 0 0 {name=p15 lab=D1v8}
C {devices/lab_pin.sym} 540 -130 0 0 {name=p16 lab=D3v3}
C {devices/lab_pin.sym} 540 -170 0 0 {name=p21 lab=D5v0}
C {devices/vcvs.sym} 820 -620 0 0 {name=E1 value='5/1.8'}
C {devices/lab_pin.sym} 780 -640 0 0 {name=p22 lab=D1v8}
C {devices/lab_pin.sym} 820 -590 0 1 {name=p23 lab=0}
C {devices/lab_pin.sym} 820 -670 0 1 {name=p24 lab=D5v0}
C {devices/lab_pin.sym} 780 -600 0 0 {name=p25 lab=0}
C {devices/vcvs.sym} 640 -620 0 0 {name=E2 value='3.3/1.8'}
C {devices/lab_pin.sym} 600 -640 0 0 {name=p26 lab=D1v8}
C {devices/lab_pin.sym} 640 -590 0 1 {name=p27 lab=0}
C {devices/lab_pin.sym} 640 -670 0 1 {name=p28 lab=D3v3}
C {devices/lab_pin.sym} 600 -600 0 0 {name=p29 lab=0}
C {devices/vcvs.sym} 1800 -620 0 0 {name=E3 value='5/1.8'}
C {devices/lab_pin.sym} 1760 -640 0 0 {name=p30 lab=G1v8}
C {devices/lab_pin.sym} 1800 -590 0 1 {name=p31 lab=0}
C {devices/lab_pin.sym} 1800 -670 0 1 {name=p32 lab=G5v0}
C {devices/lab_pin.sym} 1760 -600 0 0 {name=p33 lab=0}
C {devices/vcvs.sym} 1620 -620 0 0 {name=E4 value='3.3/1.8'}
C {devices/lab_pin.sym} 1580 -640 0 0 {name=p34 lab=G1v8}
C {devices/lab_pin.sym} 1620 -590 0 1 {name=p35 lab=0}
C {devices/lab_pin.sym} 1620 -670 0 1 {name=p36 lab=G3v3}
C {devices/lab_pin.sym} 1580 -600 0 0 {name=p37 lab=0}
C {devices/lab_pin.sym} 540 -210 0 0 {name=p38 lab=D10v5}
C {devices/vcvs.sym} 1000 -620 0 0 {name=E5 value='10.5/1.8'}
C {devices/lab_pin.sym} 960 -640 0 0 {name=p39 lab=D1v8}
C {devices/lab_pin.sym} 1000 -590 0 1 {name=p40 lab=0}
C {devices/lab_pin.sym} 1000 -670 0 1 {name=p41 lab=D10v5}
C {devices/lab_pin.sym} 960 -600 0 0 {name=p42 lab=0}
C {devices/lab_pin.sym} 1120 -440 0 0 {name=p1 lab=G1v8}
C {devices/lab_pin.sym} 1180 -490 2 0 {name=p5 lab=S}
C {devices/lab_pin.sym} 1200 -440 0 1 {name=p6 lab=B}
C {devices/ammeter.sym} 1180 -360 0 1 {name=Vd3}
C {sky130_fd_pr/pfet_01v8_hvt.sym} 1160 -440 0 0 {name=M3
L=0.15
W=1
nf=1 mult=1
model=pfet_01v8_hvt
spiceprefix=X
}
C {devices/lab_pin.sym} 1370 -440 0 0 {name=p7 lab=G5v0}
C {devices/lab_pin.sym} 1430 -490 2 0 {name=p8 lab=S}
C {devices/lab_pin.sym} 1450 -440 0 1 {name=p9 lab=B}
C {devices/ammeter.sym} 1430 -360 0 1 {name=Vd4}
C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1410 -440 0 0 {name=M4
L=0.5
W=1
nf=1 mult=1
model=pfet_g5v0d10v5
spiceprefix=X
}
C {sky130_fd_pr/pfet_01v8_lvt.sym} 660 -440 0 0 {name=M1
L=0.35
W=1
nf=1 mult=1
model=pfet_01v8_lvt
spiceprefix=X
}
C {sky130_fd_pr/pfet_01v8.sym} 910 -440 0 0 {name=M2
L=0.15
W=1
nf=1 mult=1
model=pfet_01v8
spiceprefix=X
}
C {devices/lab_pin.sym} 1630 -440 0 0 {name=p10 lab=G5v0}
C {devices/lab_pin.sym} 1690 -490 2 0 {name=p11 lab=S}
C {devices/lab_pin.sym} 1710 -440 0 1 {name=p14 lab=B}
C {devices/ammeter.sym} 1690 -360 0 1 {name=Vd5}
C {sky130_fd_pr/pfet_g5v0d16v0.sym} 1670 -440 0 0 {name=M5
L=0.66
W=5.0
nf=1 mult=1
model=pfet_g5v0d16v0
spiceprefix=X
}
C {devices/lab_pin.sym} 540 -250 0 0 {name=p17 lab=D16v0}
C {devices/vcvs.sym} 1180 -620 0 0 {name=E6 value='16.0/1.8'}
C {devices/lab_pin.sym} 1140 -640 0 0 {name=p18 lab=D1v8}
C {devices/lab_pin.sym} 1180 -590 0 1 {name=p20 lab=0}
C {devices/lab_pin.sym} 1180 -670 0 1 {name=p43 lab=D16v0}
C {devices/lab_pin.sym} 1140 -600 0 0 {name=p44 lab=0}
C {devices/ipin.sym} 150 -410 0 0 {name=p45 lab=G1v8}
C {devices/ipin.sym} 150 -370 0 0 {name=p46 lab=D1v8}
C {devices/ipin.sym} 150 -330 0 0 {name=p47 lab=B}
C {devices/lab_pin.sym} 540 -290 0 0 {name=p50 lab=D20v0}
C {devices/vcvs.sym} 1350 -620 0 0 {name=E7 value='20.0/1.8'}
C {devices/lab_pin.sym} 1310 -640 0 0 {name=p51 lab=D1v8}
C {devices/lab_pin.sym} 1350 -590 0 1 {name=p52 lab=0}
C {devices/lab_pin.sym} 1350 -670 0 1 {name=p53 lab=D20v0}
C {devices/lab_pin.sym} 1310 -600 0 0 {name=p54 lab=0}
C {sky130_fd_pr/pfet_20v0.sym} 1930 -440 0 0 {name=M6
L=0.5
W=30
nf=1 mult=1
model=pfet_20v0
spiceprefix=X
}
C {devices/lab_pin.sym} 1950 -490 2 0 {name=p48 lab=S}
C {devices/lab_pin.sym} 1970 -440 0 1 {name=p49 lab=B}
C {devices/ammeter.sym} 1950 -360 0 1 {name=Vd6}
C {devices/lab_pin.sym} 1890 -440 0 0 {name=p55 lab=G5v0}
C {devices/launcher.sym} 435 -875 0 0 {name=h4
descr="Select arrow and
Ctrl-Left-Click to load/unload waveforms"
tclcommand="
xschem raw_read $netlist_dir/[file tail [file rootname [xschem get current_name]]].raw dc
"
}
C {devices/launcher.sym} 110 -510 0 0 {name=h2
descr="View Raw file"
tclcommand="textwindow $netlist_dir/test_pmos.raw"}
C {sky130_fd_pr/corner.sym} 50 -210 0 0 {name=CORNER only_toplevel=true corner=tt}
C {devices/launcher.sym} 110 -570 0 0 {name=h1
descr="Annotate OP"
tclcommand="set show_hidden_texts 1; xschem annotate_op"
}