blob: d8b523d21c24eac7b2c0392d160ca6559587a981 [file] [log] [blame]
v {xschem version=2.9.9 file_version=1.2
* Copyright 2020 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 {}
P 7 3 2180 -30 2130 -30 2130 -40 {}
P 7 3 2470 -30 2520 -30 2520 -40 {}
P 15 6 300 -180 550 -180 540 -190 590 -180 540 -170 550 -180 {}
T {Example usage
of annotators} 300 -250 0 0 0.5 0.5 {}
T {Ctrl-Click to annotate operating point data.
For this to work open this schematic as the
top most schematic (so you have not
descended into it) and run ngspice simulation.} 10 -570 0 0 0.3 0.3 {layer=15}
T {Need to include:
sky130_fd_pr__nfet_20v0__tt_discrete.corner.spice} 2186.25 -43.75 0 0 0.2 0.2 {layer=7}
N 690 -140 710 -140 {lab=B}
N 630 -140 650 -140 {lab=G1v8}
N 690 -190 690 -170 {lab=#net1}
N 690 -110 690 -90 {lab=S}
N 640 -270 2810 -270 { lab=D1v8}
N 1190 -140 1210 -140 {lab=B}
N 1130 -140 1150 -140 {lab=G3v3}
N 1190 -190 1190 -170 {lab=#net2}
N 1190 -110 1190 -90 {lab=S}
N 940 -140 960 -140 {lab=B}
N 880 -140 900 -140 {lab=G1v8}
N 940 -190 940 -170 {lab=#net3}
N 940 -110 940 -90 {lab=S}
N 1440 -140 1460 -140 {lab=B}
N 1380 -140 1400 -140 {lab=G5v0}
N 1440 -190 1440 -170 {lab=#net4}
N 1440 -110 1440 -90 {lab=S}
N 640 -310 2810 -310 { lab=D3v3}
N 640 -350 2810 -350 { lab=D5v0}
N 960 -600 960 -580 { lab=D5v0}
N 690 -270 690 -250 { lab=D1v8}
N 940 -270 940 -250 { lab=D1v8}
N 1190 -310 1190 -250 { lab=D3v3}
N 1440 -350 1440 -250 { lab=D5v0}
N 780 -600 780 -580 { lab=D3v3}
N 1910 -600 1910 -580 { lab=G5v0}
N 1730 -600 1730 -580 { lab=G3v3}
N 1690 -140 1710 -140 {lab=B}
N 1630 -140 1650 -140 {lab=G5v0}
N 1690 -190 1690 -170 {lab=#net5}
N 1690 -110 1690 -90 {lab=S}
N 1690 -390 1690 -250 { lab=D10v5}
N 640 -390 2810 -390 { lab=D10v5}
N 1140 -600 1140 -580 { lab=D10v5}
N 1940 -140 1960 -140 {lab=B}
N 1880 -140 1900 -140 {lab=G5v0}
N 1940 -190 1940 -170 {lab=#net6}
N 1940 -110 1940 -90 {lab=S}
N 1940 -430 1940 -250 { lab=D16v0}
N 640 -430 2810 -430 { lab=D16v0}
N 1320 -600 1320 -580 { lab=D16v0}
N 2190 -140 2210 -140 {lab=B}
N 2130 -140 2150 -140 {lab=G1v8}
N 2190 -190 2190 -170 {lab=#net7}
N 2190 -110 2190 -90 {lab=S}
N 2190 -270 2190 -250 { lab=D1v8}
N 640 -470 2810 -470 { lab=D20v0}
N 1490 -600 1490 -580 { lab=D20v0}
N 2430 -140 2450 -140 {lab=B}
N 2370 -140 2390 -140 {lab=G1v8}
N 2430 -190 2430 -170 {lab=#net8}
N 2430 -110 2430 -90 {lab=S}
N 2430 -270 2430 -250 { lab=D1v8}
C {devices/title.sym} 160 -30 0 0 {name=l1 author="Stefan Schippers"}
C {devices/lab_pin.sym} 640 -270 0 0 {name=p17 lab=D1v8}
C {devices/lab_pin.sym} 690 -90 0 1 {name=p3 lab=S}
C {devices/lab_pin.sym} 710 -140 0 1 {name=p4 lab=B}
C {devices/ammeter.sym} 690 -220 0 0 {name=Vd1 current=5.7132e-04}
C {devices/lab_pin.sym} 1190 -90 0 1 {name=p12 lab=S}
C {devices/lab_pin.sym} 1210 -140 0 1 {name=p13 lab=B}
C {devices/ammeter.sym} 1190 -220 0 0 {name=Vd3 current=5.6511e-04}
C {devices/lab_pin.sym} 940 -90 0 1 {name=p16 lab=S}
C {devices/lab_pin.sym} 960 -140 0 1 {name=p21 lab=B}
C {devices/ammeter.sym} 940 -220 0 0 {name=Vd2 current=5.0094e-04}
C {devices/lab_pin.sym} 1440 -90 0 1 {name=p7 lab=S}
C {devices/lab_pin.sym} 1460 -140 0 1 {name=p8 lab=B}
C {devices/ammeter.sym} 1440 -220 0 0 {name=Vd4 current=6.2333e-04}
C {devices/lab_pin.sym} 640 -310 0 0 {name=p9 lab=D3v3}
C {devices/lab_pin.sym} 640 -350 0 0 {name=p14 lab=D5v0}
C {devices/vcvs.sym} 960 -550 0 0 {name=E1 value='5/1.8'}
C {devices/lab_pin.sym} 920 -570 0 0 {name=p18 lab=D1v8}
C {devices/lab_pin.sym} 960 -520 0 1 {name=p19 lab=0}
C {devices/lab_pin.sym} 960 -600 0 1 {name=p20 lab=D5v0}
C {devices/lab_pin.sym} 920 -530 0 0 {name=p23 lab=0}
C {devices/vcvs.sym} 780 -550 0 0 {name=E2 value='3.3/1.8'}
C {devices/lab_pin.sym} 740 -570 0 0 {name=p24 lab=D1v8}
C {devices/lab_pin.sym} 780 -520 0 1 {name=p25 lab=0}
C {devices/lab_pin.sym} 780 -600 0 1 {name=p26 lab=D3v3}
C {devices/lab_pin.sym} 740 -530 0 0 {name=p27 lab=0}
C {devices/vcvs.sym} 1910 -550 0 0 {name=E3 value='5/1.8'}
C {devices/lab_pin.sym} 1870 -570 0 0 {name=p28 lab=G1v8}
C {devices/lab_pin.sym} 1910 -520 0 1 {name=p29 lab=0}
C {devices/lab_pin.sym} 1910 -600 0 1 {name=p30 lab=G5v0}
C {devices/lab_pin.sym} 1870 -530 0 0 {name=p31 lab=0}
C {devices/vcvs.sym} 1730 -550 0 0 {name=E4 value='3.3/1.8'}
C {devices/lab_pin.sym} 1690 -570 0 0 {name=p32 lab=G1v8}
C {devices/lab_pin.sym} 1730 -520 0 1 {name=p33 lab=0}
C {devices/lab_pin.sym} 1730 -600 0 1 {name=p34 lab=G3v3}
C {devices/lab_pin.sym} 1690 -530 0 0 {name=p35 lab=0}
C {devices/lab_pin.sym} 630 -140 0 0 {name=p2 lab=G1v8}
C {devices/lab_pin.sym} 880 -140 0 0 {name=p6 lab=G1v8}
C {devices/lab_pin.sym} 1130 -140 0 0 {name=p11 lab=G3v3}
C {devices/lab_pin.sym} 1380 -140 0 0 {name=p15 lab=G5v0}
C {devices/lab_pin.sym} 1690 -90 0 1 {name=p1 lab=S}
C {devices/lab_pin.sym} 1710 -140 0 1 {name=p5 lab=B}
C {devices/ammeter.sym} 1690 -220 0 0 {name=Vd5 current=0.005218}
C {devices/lab_pin.sym} 1630 -140 0 0 {name=p10 lab=G5v0}
C {devices/lab_pin.sym} 640 -390 0 0 {name=p22 lab=D10v5}
C {devices/vcvs.sym} 1140 -550 0 0 {name=E5 value='10.5/1.8'}
C {devices/lab_pin.sym} 1100 -570 0 0 {name=p36 lab=D1v8}
C {devices/lab_pin.sym} 1140 -520 0 1 {name=p37 lab=0}
C {devices/lab_pin.sym} 1140 -600 0 1 {name=p38 lab=D10v5}
C {devices/lab_pin.sym} 1100 -530 0 0 {name=p39 lab=0}
C {devices/lab_pin.sym} 1940 -90 0 1 {name=p1 lab=S}
C {devices/lab_pin.sym} 1960 -140 0 1 {name=p5 lab=B}
C {devices/lab_pin.sym} 1880 -140 0 0 {name=p10 lab=G5v0}
C {devices/lab_pin.sym} 640 -430 0 0 {name=p22 lab=D16v0}
C {devices/vcvs.sym} 1320 -550 0 0 {name=E6 value='16.0/1.8'}
C {devices/lab_pin.sym} 1280 -570 0 0 {name=p36 lab=D1v8}
C {devices/lab_pin.sym} 1320 -520 0 1 {name=p37 lab=0}
C {devices/lab_pin.sym} 1320 -600 0 1 {name=p38 lab=D16v0}
C {devices/lab_pin.sym} 1280 -530 0 0 {name=p39 lab=0}
C {devices/ammeter.sym} 1940 -220 0 0 {name=Vd6 current=0.003311}
C {devices/lab_pin.sym} 2190 -90 0 1 {name=p40 lab=S}
C {devices/lab_pin.sym} 2210 -140 0 1 {name=p41 lab=B}
C {devices/lab_pin.sym} 2130 -140 0 0 {name=p42 lab=G1v8}
C {devices/ammeter.sym} 2190 -220 0 0 {name=Vd7 current=0.0000e+00}
C {devices/lab_pin.sym} 640 -470 0 0 {name=p43 lab=D20v0}
C {devices/vcvs.sym} 1490 -550 0 0 {name=E7 value='20.0/1.8'}
C {devices/lab_pin.sym} 1450 -570 0 0 {name=p44 lab=D1v8}
C {devices/lab_pin.sym} 1490 -520 0 1 {name=p45 lab=0}
C {devices/lab_pin.sym} 1490 -600 0 1 {name=p46 lab=D20v0}
C {devices/lab_pin.sym} 1450 -530 0 0 {name=p47 lab=0}
C {devices/ipin.sym} 520 -420 0 0 {name=p48 lab=G1v8}
C {devices/ipin.sym} 520 -380 0 0 {name=p49 lab=D1v8}
C {devices/ipin.sym} 520 -340 0 0 {name=p50 lab=B}
C {devices/code_shown.sym} 30 -1030 0 0 {name=NGSPICE
only_toplevel=true
value="* this experimental option enables mos model bin
* selection based on W/NF instead of W
.option 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
dc vd 0 1.8 0.01 vg 0 1.8 0.2
* dc vd 0 1.8 0.01 vg 0 1.2 0.1
plot all.vd1#branch vs D1v8
*plot all.vd2#branch vs D1v8
plot all.vd3#branch vs D3v3
*plot all.vd4#branch vs D5v0
plot all.vd5#branch vs D10v5
*plot all.vd6#branch vs D16v0
plot all.vd8#branch vs D1v8
plot all.vd7#branch vs D1v8
save @m.xm1.msky130_fd_pr__nfet_01v8_lvt[gm]
op
write test_nmos.raw
.endc
" }
C {sky130_fd_pr/nfet_01v8_lvt.sym} 670 -140 0 0 {name=M1
L=0.15
W=1
mult=1
model=nfet_01v8_lvt
spiceprefix=X}
C {sky130_fd_pr/nfet_01v8.sym} 920 -140 0 0 {name=M2
L=0.15
W=1
mult=1 nf=1
model=nfet_01v8
spiceprefix=X}
C {sky130_fd_pr/nfet_03v3_nvt.sym} 1170 -140 0 0 {name=M3
L=0.5
W=1
mult=1 nf=1
model=nfet_03v3_nvt
spiceprefix=X}
C {sky130_fd_pr/nfet_05v0_nvt.sym} 1420 -140 0 0 {name=M4
L=0.9
W=1
mult=1 nf=1
model=nfet_05v0_nvt
spiceprefix=X}
C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1670 -140 0 0 {name=M5
L=0.5
W=1
mult=1 nf=1
model=nfet_g5v0d10v5
spiceprefix=X}
C {sky130_fd_pr/nfet_g5v0d16v0.sym} 1920 -140 0 0 {name=M6
L=0.7
W=5.0
mult=1 nf=1
model=nfet_g5v0d16v0
spiceprefix=X}
C {devices/ngspice_get_value.sym} 700 -170 0 0 {name=r1 node="i(@m.xm1.msky130_fd_pr__nfet_01v8_lvt[id])"
descr="Id="}
C {devices/launcher.sym} 100 -470 0 0 {name=h1
descr=Annotate
tclcommand="ngspice::annotate"}
C {devices/launcher.sym} 100 -420 0 0 {name=h2
descr="View Raw file"
tclcommand="textwindow $netlist_dir/test_nmos.raw"}
C {devices/ngspice_get_value.sym} 620 -170 0 0 {name=r2 node=@m.xm1.msky130_fd_pr__nfet_01v8_lvt[gm]
descr="gm="}
C {devices/launcher.sym} 360 -140 0 0 {name=h3
descr="Annotation
manual page"
url="https://xschem.sourceforge.io/stefan/xschem_man/tutorial_ngspice_backannotation.html"}
C {devices/lab_pin.sym} 2430 -90 0 1 {name=p51 lab=S}
C {devices/lab_pin.sym} 2450 -140 0 1 {name=p52 lab=B}
C {devices/lab_pin.sym} 2370 -140 0 0 {name=p53 lab=G1v8}
C {devices/ammeter.sym} 2430 -220 0 0 {name=Vd8 current=0.0000e+00}
C {sky130_fd_pr/nfet_20v0.sym} 2170 -140 0 0 {name=M7
L=2.95
W=29.41
mult=1
model=nfet_20v0
spiceprefix=X
}
C {sky130_fd_pr/nfet_20v0_zvt.sym} 2410 -140 0 0 {name=M16
L=5
W=30
mult=1
model=nfet_20v0_zvt
spiceprefix=X
}
C {devices/code.sym} 50 -180 0 0 {name=TT_MODELS
only_toplevel=true
format="tcleval( @value )"
value=".lib \\\\$::SKYWATER_MODELS\\\\/sky130.lib.spice tt
.param mc_mm_switch=0
.param mc_pr_switch=1
"}
C {devices/code.sym} 50 -350 0 0 {name=nfet_20v0_MODEL
only_toplevel=true
format="tcleval( @value )"
value="
.include \\\\$::SKYWATER_MODELS\\\\/../../libs.ref/sky130_fd_pr/spice/sky130_fd_pr__nfet_20v0__tt_discrete.corner.spice
"}