restruct xschem file system
diff --git a/xschem/._cs3v3-abstract.sch b/xschem/._cs3v3-abstract.sch deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._cs3v3-abstract.sch +++ /dev/null Binary files differ
diff --git a/xschem/._cs3v3-abstract.spice b/xschem/._cs3v3-abstract.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._cs3v3-abstract.spice +++ /dev/null Binary files differ
diff --git a/xschem/._data.raw b/xschem/._data.raw deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._data.raw +++ /dev/null Binary files differ
diff --git a/xschem/._n_diffamp.raw b/xschem/._n_diffamp.raw deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._n_diffamp.raw +++ /dev/null Binary files differ
diff --git a/xschem/._n_diffamp.spice b/xschem/._n_diffamp.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._n_diffamp.spice +++ /dev/null Binary files differ
diff --git a/xschem/._not.spice b/xschem/._not.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._not.spice +++ /dev/null Binary files differ
diff --git a/xschem/._test_analog.raw b/xschem/._test_analog.raw deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._test_analog.raw +++ /dev/null Binary files differ
diff --git a/xschem/._test_analog.spice b/xschem/._test_analog.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._test_analog.spice +++ /dev/null Binary files differ
diff --git a/xschem/._test_comparator.spice b/xschem/._test_comparator.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._test_comparator.spice +++ /dev/null Binary files differ
diff --git a/xschem/._test_inv.raw b/xschem/._test_inv.raw deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._test_inv.raw +++ /dev/null Binary files differ
diff --git a/xschem/._test_inv.spice b/xschem/._test_inv.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._test_inv.spice +++ /dev/null Binary files differ
diff --git a/xschem/._test_nmos.spice b/xschem/._test_nmos.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._test_nmos.spice +++ /dev/null Binary files differ
diff --git a/xschem/._test_nmos_sizes.spice b/xschem/._test_nmos_sizes.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._test_nmos_sizes.spice +++ /dev/null Binary files differ
diff --git a/xschem/._test_res.spice b/xschem/._test_res.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._test_res.spice +++ /dev/null Binary files differ
diff --git a/xschem/._untitled-1.sch b/xschem/._untitled-1.sch deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._untitled-1.sch +++ /dev/null Binary files differ
diff --git a/xschem/._untitled-1.spice b/xschem/._untitled-1.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._untitled-1.spice +++ /dev/null Binary files differ
diff --git a/xschem/._untitled-2.sch b/xschem/._untitled-2.sch deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._untitled-2.sch +++ /dev/null Binary files differ
diff --git a/xschem/._untitled-3.sch b/xschem/._untitled-3.sch deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._untitled-3.sch +++ /dev/null Binary files differ
diff --git a/xschem/._untitled-3.spice b/xschem/._untitled-3.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._untitled-3.spice +++ /dev/null Binary files differ
diff --git a/xschem/._untitled-4.sch b/xschem/._untitled-4.sch deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._untitled-4.sch +++ /dev/null Binary files differ
diff --git a/xschem/._untitled-4.spice b/xschem/._untitled-4.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._untitled-4.spice +++ /dev/null Binary files differ
diff --git a/xschem/._untitled.sch b/xschem/._untitled.sch deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._untitled.sch +++ /dev/null Binary files differ
diff --git a/xschem/._untitled.spice b/xschem/._untitled.spice deleted file mode 100644 index 6dd15e9..0000000 --- a/xschem/._untitled.spice +++ /dev/null Binary files differ
diff --git a/xschem/._basic-invert.sch b/xschem/attenuator/._basic-invert.sch similarity index 100% rename from xschem/._basic-invert.sch rename to xschem/attenuator/._basic-invert.sch Binary files differ
diff --git a/xschem/._basic-invert.sym b/xschem/attenuator/._basic-invert.sym similarity index 100% rename from xschem/._basic-invert.sym rename to xschem/attenuator/._basic-invert.sym Binary files differ
diff --git a/xschem/._dsa.sch b/xschem/attenuator/._dsa.sch similarity index 100% rename from xschem/._dsa.sch rename to xschem/attenuator/._dsa.sch Binary files differ
diff --git a/xschem/._dsa.spice b/xschem/attenuator/._dsa.spice similarity index 100% rename from xschem/._dsa.spice rename to xschem/attenuator/._dsa.spice Binary files differ
diff --git a/xschem/._dsa.sym b/xschem/attenuator/._dsa.sym similarity index 100% rename from xschem/._dsa.sym rename to xschem/attenuator/._dsa.sym Binary files differ
diff --git a/xschem/._gate-switch.sch b/xschem/attenuator/._gate-switch.sch similarity index 100% rename from xschem/._gate-switch.sch rename to xschem/attenuator/._gate-switch.sch Binary files differ
diff --git a/xschem/._gate-switch.spice b/xschem/attenuator/._gate-switch.spice similarity index 100% rename from xschem/._gate-switch.spice rename to xschem/attenuator/._gate-switch.spice Binary files differ
diff --git a/xschem/._gate-switch.sym b/xschem/attenuator/._gate-switch.sym similarity index 100% rename from xschem/._gate-switch.sym rename to xschem/attenuator/._gate-switch.sym Binary files differ
diff --git a/xschem/._invert b/xschem/attenuator/._invert similarity index 100% rename from xschem/._invert rename to xschem/attenuator/._invert Binary files differ
diff --git a/xschem/._invert.sch b/xschem/attenuator/._invert.sch similarity index 100% rename from xschem/._invert.sch rename to xschem/attenuator/._invert.sch Binary files differ
diff --git a/xschem/._invert.spice b/xschem/attenuator/._invert.spice similarity index 100% rename from xschem/._invert.spice rename to xschem/attenuator/._invert.spice Binary files differ
diff --git a/xschem/._invert.sym b/xschem/attenuator/._invert.sym similarity index 100% rename from xschem/._invert.sym rename to xschem/attenuator/._invert.sym Binary files differ
diff --git a/xschem/._passgate.spice b/xschem/attenuator/._passgate.spice similarity index 100% rename from xschem/._passgate.spice rename to xschem/attenuator/._passgate.spice Binary files differ
diff --git a/xschem/._trans-gate-testbench.sch b/xschem/attenuator/._trans-gate-testbench.sch similarity index 100% rename from xschem/._trans-gate-testbench.sch rename to xschem/attenuator/._trans-gate-testbench.sch Binary files differ
diff --git a/xschem/._trans-gate-testbench.spice b/xschem/attenuator/._trans-gate-testbench.spice similarity index 100% rename from xschem/._trans-gate-testbench.spice rename to xschem/attenuator/._trans-gate-testbench.spice Binary files differ
diff --git a/xschem/._trans-gate.sch b/xschem/attenuator/._trans-gate.sch similarity index 100% rename from xschem/._trans-gate.sch rename to xschem/attenuator/._trans-gate.sch Binary files differ
diff --git a/xschem/._trans-gate.sym b/xschem/attenuator/._trans-gate.sym similarity index 100% rename from xschem/._trans-gate.sym rename to xschem/attenuator/._trans-gate.sym Binary files differ
diff --git a/xschem/._transgate-full.sch b/xschem/attenuator/._transgate-full.sch similarity index 100% rename from xschem/._transgate-full.sch rename to xschem/attenuator/._transgate-full.sch Binary files differ
diff --git a/xschem/._transgate-full.spice b/xschem/attenuator/._transgate-full.spice similarity index 100% rename from xschem/._transgate-full.spice rename to xschem/attenuator/._transgate-full.spice Binary files differ
diff --git a/xschem/._transgate-full.sym b/xschem/attenuator/._transgate-full.sym similarity index 100% rename from xschem/._transgate-full.sym rename to xschem/attenuator/._transgate-full.sym Binary files differ
diff --git a/xschem/basic-invert.sch b/xschem/attenuator/basic-invert.sch similarity index 100% rename from xschem/basic-invert.sch rename to xschem/attenuator/basic-invert.sch
diff --git a/xschem/basic-invert.sym b/xschem/attenuator/basic-invert.sym similarity index 100% rename from xschem/basic-invert.sym rename to xschem/attenuator/basic-invert.sym
diff --git a/xschem/dsa.sch b/xschem/attenuator/dsa.sch similarity index 100% rename from xschem/dsa.sch rename to xschem/attenuator/dsa.sch
diff --git a/xschem/dsa.spice b/xschem/attenuator/dsa.spice similarity index 100% rename from xschem/dsa.spice rename to xschem/attenuator/dsa.spice
diff --git a/xschem/dsa.sym b/xschem/attenuator/dsa.sym similarity index 100% rename from xschem/dsa.sym rename to xschem/attenuator/dsa.sym
diff --git a/xschem/gate-switch.sch b/xschem/attenuator/gate-switch.sch similarity index 100% rename from xschem/gate-switch.sch rename to xschem/attenuator/gate-switch.sch
diff --git a/xschem/gate-switch.spice b/xschem/attenuator/gate-switch.spice similarity index 100% rename from xschem/gate-switch.spice rename to xschem/attenuator/gate-switch.spice
diff --git a/xschem/gate-switch.sym b/xschem/attenuator/gate-switch.sym similarity index 100% rename from xschem/gate-switch.sym rename to xschem/attenuator/gate-switch.sym
diff --git a/xschem/invert b/xschem/attenuator/invert similarity index 100% rename from xschem/invert rename to xschem/attenuator/invert
diff --git a/xschem/invert.sch b/xschem/attenuator/invert.sch similarity index 100% rename from xschem/invert.sch rename to xschem/attenuator/invert.sch
diff --git a/xschem/invert.spice b/xschem/attenuator/invert.spice similarity index 100% rename from xschem/invert.spice rename to xschem/attenuator/invert.spice
diff --git a/xschem/invert.sym b/xschem/attenuator/invert.sym similarity index 100% rename from xschem/invert.sym rename to xschem/attenuator/invert.sym
diff --git a/xschem/passgate.spice b/xschem/attenuator/passgate.spice similarity index 100% rename from xschem/passgate.spice rename to xschem/attenuator/passgate.spice
diff --git a/xschem/trans-gate-testbench.sch b/xschem/attenuator/trans-gate-testbench.sch similarity index 100% rename from xschem/trans-gate-testbench.sch rename to xschem/attenuator/trans-gate-testbench.sch
diff --git a/xschem/trans-gate-testbench.spice b/xschem/attenuator/trans-gate-testbench.spice similarity index 100% rename from xschem/trans-gate-testbench.spice rename to xschem/attenuator/trans-gate-testbench.spice
diff --git a/xschem/trans-gate.sch b/xschem/attenuator/trans-gate.sch similarity index 100% rename from xschem/trans-gate.sch rename to xschem/attenuator/trans-gate.sch
diff --git a/xschem/trans-gate.sym b/xschem/attenuator/trans-gate.sym similarity index 100% rename from xschem/trans-gate.sym rename to xschem/attenuator/trans-gate.sym
diff --git a/xschem/transgate-full.sch b/xschem/attenuator/transgate-full.sch similarity index 100% rename from xschem/transgate-full.sch rename to xschem/attenuator/transgate-full.sch
diff --git a/xschem/transgate-full.spice b/xschem/attenuator/transgate-full.spice similarity index 100% rename from xschem/transgate-full.spice rename to xschem/attenuator/transgate-full.spice
diff --git a/xschem/transgate-full.sym b/xschem/attenuator/transgate-full.sym similarity index 100% rename from xschem/transgate-full.sym rename to xschem/attenuator/transgate-full.sym
diff --git a/xschem/cs3v3-abstract.sch b/xschem/cs3v3-abstract.sch deleted file mode 100644 index d91ee35..0000000 --- a/xschem/cs3v3-abstract.sch +++ /dev/null
@@ -1,91 +0,0 @@ -v {xschem version=2.9.9 file_version=1.2 } -G {} -K {} -V {} -S {} -E {} -N 40 -150 60 -150 { lab=#net1} -N 120 -150 170 -150 { lab=#net2} -N 150 -150 150 -140 { lab=#net2} -N 150 -160 150 -150 { lab=#net2} -N 190 -100 230 -100 { lab=#net3} -N 210 -120 210 -100 { lab=#net3} -N 190 -40 230 -40 { lab=GND} -N 210 -200 210 -180 { lab=#net4} -N 210 -180 290 -180 { lab=#net4} -N 210 -270 210 -260 { lab=#net5} -N 150 -270 150 -220 { lab=#net6} -C {devices/code.sym} 480 -180 0 0 {name=TT_MODELS -only_toplevel=true -format="tcleval( @value )" -value="** manual skywater pdks install (with patches applied) -* .lib \\\\$::SKYWATER_MODELS\\\\/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib \\\\$::SKYWATER_MODELS\\\\/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 -" -spice_ignore=false} -C {devices/vsource.sym} 40 -120 0 1 {name=V1 value="SIN(0 0.8 40)"} -C {devices/gnd.sym} 40 -90 0 0 {name=l1 lab=GND} -C {devices/capa.sym} 90 -150 1 0 {name=C1 -m=1 -value=28u -footprint=1206 -device="ceramic capacitor"} -C {devices/res.sym} 150 -110 0 0 {name=R1 -value=100 -footprint=1206 -device=resistor -m=1} -C {devices/res.sym} 150 -190 0 0 {name=R2 -value=500 -footprint=1206 -device=resistor -m=1} -C {devices/res.sym} 190 -70 0 0 {name=R3 -value=0 -footprint=1206 -device=resistor -m=1} -C {devices/capa.sym} 230 -70 0 0 {name=C2 -m=1 -value=28u -footprint=1206 -device="ceramic capacitor"} -C {devices/gnd.sym} 210 -40 0 0 {name=l2 lab=GND} -C {devices/gnd.sym} 150 -80 0 1 {name=l3 lab=GND} -C {devices/res.sym} 210 -230 0 0 {name=R4 -value=400k -footprint=1206 -device=resistor -m=1} -C {devices/vsource.sym} 210 -300 2 0 {name=V2 value=5} -C {devices/gnd.sym} 210 -330 2 0 {name=l4 lab=GND} -C {devices/code.sym} 480 -330 0 0 {name="pepper, chilli, cinnamon" only_toplevel=false value=" -.tran 0.001s 0.1s -.control - run - plot v(net4) v(net2) -.endc -.save all -"} -C {devices/vsource.sym} 150 -300 2 0 {name=V3 value=1.8} -C {devices/gnd.sym} 150 -330 2 0 {name=l5 lab=GND} -C {sky130_fd_pr/nfet3_05v0_nvt.sym} 190 -150 0 0 {name=M1 -L=4 -W=10 -body=GND -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=nfet_05v0_nvt -spiceprefix=X -}
diff --git a/xschem/cs3v3-abstract.spice b/xschem/cs3v3-abstract.spice deleted file mode 100644 index 78c5a27..0000000 --- a/xschem/cs3v3-abstract.spice +++ /dev/null
@@ -1,38 +0,0 @@ -**.subckt cs3v3-abstract -V1 net1 GND SIN(0 0.8 40) -C1 net2 net1 28u m=1 -R1 net2 GND 100 m=1 -R2 net6 net2 500 m=1 -R3 net3 GND 0 m=1 -C2 net3 GND 28u m=1 -R4 net5 net4 400k m=1 -V2 net5 GND 5 -V3 net6 GND 1.8 -XM1 net4 net2 net3 GND sky130_fd_pr__nfet_05v0_nvt L=4 W=10 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -**** begin user architecture code - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - - - -.tran 0.001s 0.1s -.control - run - plot v(net4) v(net2) -.endc -.save all - - -**** end user architecture code -**.ends -.GLOBAL GND -** flattened .save nodes -.end
diff --git a/xschem/current_test.spice b/xschem/current_test.spice deleted file mode 100644 index 8e4162d..0000000 --- a/xschem/current_test.spice +++ /dev/null
@@ -1,86 +0,0 @@ -*--------------------------------------------------------------------------- -* SPDX-FileCopyrightText: 2020 Efabless Corporation -* 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. -* -* SPDX-License-Identifier: Apache-2.0 -*--------------------------------------------------------------------------- -* Simple POR circuit for Caravel current mirror test -*------------------------------------------------------------------- - -.param mc_mm_switch=0 -.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -* Note: 20 resistors of length 25um connected in series -Xres1 vdda vin vss sky130_fd_pr__res_xhigh_po_0p69 l=500 -Xres2 vin vss vss sky130_fd_pr__res_xhigh_po_0p69 l=149 - -* voltage sources at 0V for measuring current in each branch - -Vm1 vssm1 vss DC=0 -Vm2 vdda vddm2 DC=0 -Vm3 vdda vddm3 DC=0 -Vm4 vssm4 vss DC=0 -Vm5 vssm5 vss DC=0 -Vm6 vdda vddm6 DC=0 -Vm7 vdda vddm7 DC=0 - -* D G S B -Xm1 casc1 vin vssm1 vss sky130_fd_pr__nfet_g5v0d10v5 w=2 l=0.8 m=1 -Xc1 mir1 casc1 casc1 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1 -Xm2 mir1 mir1 vddm2 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=8 -Xm3 mir2 mir1 vddm3 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1 -Xc2 casc2 casc1 mir2 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1 -Xm4 casc2 casc2 vssm4 vss sky130_fd_pr__nfet_g5v0d10v5 w=2 l=0.8 m=7 -Xm5 casc3 casc2 vssm5 vss sky130_fd_pr__nfet_g5v0d10v5 w=2 l=0.8 m=1 -Xc3 mir3 casc3 casc3 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1 -Xm6 mir3 mir3 vddm6 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=7 -Xm7 mir4 mir3 vddm7 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1 -Xc4 vcap casc3 mir4 vdda sky130_fd_pr__pfet_g5v0d10v5 w=2 l=0.8 m=1 - -* Check branch currents in each mirror branch. -* 1st branch should be 240nA -* 2nd branch should be 30nA -* 3rd branch should be 4.3nA -* 4th branch should be 612pA -* -* Result: vin sits at 0.7590 (close to 0.7575 target) -* I(Vm1/2) = 202.80 nA -* I(Vm3/4) = 26.10 nA (should be /8) actually /7.77 -* I(Vm5/6) = 4.58 nA (should be /7) actually /5.70 -* I(Vm7) = 0.67 nA (should be /7) actually /6.80 - -*---------------------------- -* Testbench circuit -*---------------------------- -Vpwr vdda vss DC=3.3 -Rgnd vss 0 0.01 -Rload vcap vss 1MEG -*---------------------------- - -*---------------------------- -* Testbench control -*---------------------------- -.control -op -print V(vin) -print I(Vm1) -print I(Vm2) -print I(Vm3) -print I(Vm4) -print I(Vm5) -print I(Vm6) -print I(Vm7) -.endc - -.end -
diff --git a/xschem/data.raw b/xschem/data.raw deleted file mode 100644 index d26c3f0..0000000 --- a/xschem/data.raw +++ /dev/null Binary files differ
diff --git a/xschem/._cs-abstract.sch b/xschem/lownoiseamplifier/._cs-abstract.sch similarity index 100% rename from xschem/._cs-abstract.sch rename to xschem/lownoiseamplifier/._cs-abstract.sch Binary files differ
diff --git a/xschem/._cs-abstract.spice b/xschem/lownoiseamplifier/._cs-abstract.spice similarity index 100% rename from xschem/._cs-abstract.spice rename to xschem/lownoiseamplifier/._cs-abstract.spice Binary files differ
diff --git a/xschem/._cs-exper.sch b/xschem/lownoiseamplifier/._cs-exper.sch similarity index 100% rename from xschem/._cs-exper.sch rename to xschem/lownoiseamplifier/._cs-exper.sch Binary files differ
diff --git a/xschem/._cs-exper.spice b/xschem/lownoiseamplifier/._cs-exper.spice similarity index 100% rename from xschem/._cs-exper.spice rename to xschem/lownoiseamplifier/._cs-exper.spice Binary files differ
diff --git a/xschem/._csfd-abstract.sch b/xschem/lownoiseamplifier/._csfd-abstract.sch similarity index 100% rename from xschem/._csfd-abstract.sch rename to xschem/lownoiseamplifier/._csfd-abstract.sch Binary files differ
diff --git a/xschem/._csfd-abstract.spice b/xschem/lownoiseamplifier/._csfd-abstract.spice similarity index 100% rename from xschem/._csfd-abstract.spice rename to xschem/lownoiseamplifier/._csfd-abstract.spice Binary files differ
diff --git a/xschem/._csfd-abstract.sym b/xschem/lownoiseamplifier/._csfd-abstract.sym similarity index 100% rename from xschem/._csfd-abstract.sym rename to xschem/lownoiseamplifier/._csfd-abstract.sym Binary files differ
diff --git a/xschem/cs-abstract.sch b/xschem/lownoiseamplifier/cs-abstract.sch similarity index 100% rename from xschem/cs-abstract.sch rename to xschem/lownoiseamplifier/cs-abstract.sch
diff --git a/xschem/cs-abstract.spice b/xschem/lownoiseamplifier/cs-abstract.spice similarity index 100% rename from xschem/cs-abstract.spice rename to xschem/lownoiseamplifier/cs-abstract.spice
diff --git a/xschem/cs-exper.sch b/xschem/lownoiseamplifier/cs-exper.sch similarity index 100% rename from xschem/cs-exper.sch rename to xschem/lownoiseamplifier/cs-exper.sch
diff --git a/xschem/cs-exper.spice b/xschem/lownoiseamplifier/cs-exper.spice similarity index 100% rename from xschem/cs-exper.spice rename to xschem/lownoiseamplifier/cs-exper.spice
diff --git a/xschem/csfd-abstract.sch b/xschem/lownoiseamplifier/csfd-abstract.sch similarity index 100% rename from xschem/csfd-abstract.sch rename to xschem/lownoiseamplifier/csfd-abstract.sch
diff --git a/xschem/csfd-abstract.spice b/xschem/lownoiseamplifier/csfd-abstract.spice similarity index 100% rename from xschem/csfd-abstract.spice rename to xschem/lownoiseamplifier/csfd-abstract.spice
diff --git a/xschem/csfd-abstract.sym b/xschem/lownoiseamplifier/csfd-abstract.sym similarity index 100% rename from xschem/csfd-abstract.sym rename to xschem/lownoiseamplifier/csfd-abstract.sym
diff --git a/xschem/._testbank.sch b/xschem/misc/._testbank.sch similarity index 100% rename from xschem/._testbank.sch rename to xschem/misc/._testbank.sch Binary files differ
diff --git a/xschem/._testbank.spice b/xschem/misc/._testbank.spice similarity index 100% rename from xschem/._testbank.spice rename to xschem/misc/._testbank.spice Binary files differ
diff --git a/xschem/testbank.sch b/xschem/misc/testbank.sch similarity index 100% rename from xschem/testbank.sch rename to xschem/misc/testbank.sch
diff --git a/xschem/testbank.spice b/xschem/misc/testbank.spice similarity index 100% rename from xschem/testbank.spice rename to xschem/misc/testbank.spice
diff --git a/xschem/n_diffamp.raw b/xschem/n_diffamp.raw deleted file mode 100644 index 867a350..0000000 --- a/xschem/n_diffamp.raw +++ /dev/null Binary files differ
diff --git a/xschem/n_diffamp.spice b/xschem/n_diffamp.spice deleted file mode 100644 index 99e4dd0..0000000 --- a/xschem/n_diffamp.spice +++ /dev/null
@@ -1,53 +0,0 @@ -**.subckt n_diffamp PLUS MINUS OUT NBIAS -*.ipin PLUS -*.ipin MINUS -*.opin OUT -*.ipin NBIAS -XM1 net1 PLUS S GND sky130_fd_pr__nfet_01v8_lvt L=0.3 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM2 OUT MINUS S GND sky130_fd_pr__nfet_01v8_lvt L=0.3 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM3 OUT net1 VDD VDD sky130_fd_pr__pfet_01v8_lvt L=0.8 W=4 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM4 net1 net1 VDD VDD sky130_fd_pr__pfet_01v8_lvt L=0.8 W=4 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM5 net2 NBIAS GND GND sky130_fd_pr__nfet_01v8 L=1.2 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XR1 GND S GND sky130_fd_pr__res_xhigh_po_0p35 L=50 mult=1 m=1 -V1 PLUS GND 0.7 -V2 NBIAS GND 0.9 -V3 VDD GND 1.8 -V4 MINUS GND 0.7 -V5 S net2 0 -**** begin user architecture code - -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt -* Mismatch parameters -* Resistor/ef/tech/SW.2/sky130A/libs.tech/ngspice/Capacitor -* Special cells -* All models -* Corner - -**** end user architecture code -**.ends -.GLOBAL GND -.GLOBAL VDD -**** begin user architecture code - -.options savecurrents -.control -save @m.xm5.msky130_fd_pr__nfet_01v8[gm] -save all -op -write n_diffamp.raw -.endc - - -**** end user architecture code -** flattened .save nodes -.end
diff --git a/xschem/not.spice b/xschem/not.spice deleted file mode 100644 index 3fa956a..0000000 --- a/xschem/not.spice +++ /dev/null
@@ -1,17 +0,0 @@ -**.subckt not y a -*.opin y -*.ipin a -XM1 y a VSSPIN VSSPIN sky130_fd_pr__nfet_01v8 L=L_N W=W_N nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM2 y a VCCPIN VCCPIN sky130_fd_pr__pfet_01v8 L=L_P W=W_P nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -**** begin user architecture code - -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -**** end user architecture code -**.ends -** flattened .save nodes -.end
diff --git a/xschem/._balaced-pd.sch b/xschem/powerdetector/._balaced-pd.sch similarity index 100% rename from xschem/._balaced-pd.sch rename to xschem/powerdetector/._balaced-pd.sch Binary files differ
diff --git a/xschem/._balaced-pd.spice b/xschem/powerdetector/._balaced-pd.spice similarity index 100% rename from xschem/._balaced-pd.spice rename to xschem/powerdetector/._balaced-pd.spice Binary files differ
diff --git a/xschem/._balaced-pd.sym b/xschem/powerdetector/._balaced-pd.sym similarity index 100% rename from xschem/._balaced-pd.sym rename to xschem/powerdetector/._balaced-pd.sym Binary files differ
diff --git a/xschem/._power-detector.sch b/xschem/powerdetector/._power-detector.sch similarity index 100% rename from xschem/._power-detector.sch rename to xschem/powerdetector/._power-detector.sch Binary files differ
diff --git a/xschem/._power-detector.spice b/xschem/powerdetector/._power-detector.spice similarity index 100% rename from xschem/._power-detector.spice rename to xschem/powerdetector/._power-detector.spice Binary files differ
diff --git a/xschem/._rms-detector.sch b/xschem/powerdetector/._rms-detector.sch similarity index 100% rename from xschem/._rms-detector.sch rename to xschem/powerdetector/._rms-detector.sch Binary files differ
diff --git a/xschem/._rms-detector.spice b/xschem/powerdetector/._rms-detector.spice similarity index 100% rename from xschem/._rms-detector.spice rename to xschem/powerdetector/._rms-detector.spice Binary files differ
diff --git a/xschem/balaced-pd.sch b/xschem/powerdetector/balaced-pd.sch similarity index 100% rename from xschem/balaced-pd.sch rename to xschem/powerdetector/balaced-pd.sch
diff --git a/xschem/balaced-pd.spice b/xschem/powerdetector/balaced-pd.spice similarity index 100% rename from xschem/balaced-pd.spice rename to xschem/powerdetector/balaced-pd.spice
diff --git a/xschem/balaced-pd.sym b/xschem/powerdetector/balaced-pd.sym similarity index 100% rename from xschem/balaced-pd.sym rename to xschem/powerdetector/balaced-pd.sym
diff --git a/xschem/power-detector.sch b/xschem/powerdetector/power-detector.sch similarity index 100% rename from xschem/power-detector.sch rename to xschem/powerdetector/power-detector.sch
diff --git a/xschem/power-detector.spice b/xschem/powerdetector/power-detector.spice similarity index 100% rename from xschem/power-detector.spice rename to xschem/powerdetector/power-detector.spice
diff --git a/xschem/rms-detector.sch b/xschem/powerdetector/rms-detector.sch similarity index 100% rename from xschem/rms-detector.sch rename to xschem/powerdetector/rms-detector.sch
diff --git a/xschem/rms-detector.spice b/xschem/powerdetector/rms-detector.spice similarity index 100% rename from xschem/rms-detector.spice rename to xschem/powerdetector/rms-detector.spice
diff --git a/xschem/test.data b/xschem/test.data deleted file mode 100644 index c9cde37..0000000 --- a/xschem/test.data +++ /dev/null
@@ -1,101 +0,0 @@ - 7.00000000e-01 -8.93059159e-08 7.00000000e-01 7.00000000e-01 - 7.01000000e-01 -9.08452852e-08 7.01000000e-01 7.01000000e-01 - 7.02000000e-01 -9.24385447e-08 7.02000000e-01 7.02000000e-01 - 7.03000000e-01 -9.40459956e-08 7.03000000e-01 7.03000000e-01 - 7.04000000e-01 -9.56814959e-08 7.04000000e-01 7.04000000e-01 - 7.05000000e-01 -9.73455368e-08 7.05000000e-01 7.05000000e-01 - 7.06000000e-01 -9.90386085e-08 7.06000000e-01 7.06000000e-01 - 7.07000000e-01 -1.00761227e-07 7.07000000e-01 7.07000000e-01 - 7.08000000e-01 -1.02513882e-07 7.08000000e-01 7.08000000e-01 - 7.09000000e-01 -1.04297110e-07 7.09000000e-01 7.09000000e-01 - 7.10000000e-01 -1.06111443e-07 7.10000000e-01 7.10000000e-01 - 7.11000000e-01 -1.07957415e-07 7.11000000e-01 7.11000000e-01 - 7.12000000e-01 -1.09835552e-07 7.12000000e-01 7.12000000e-01 - 7.13000000e-01 -1.11746436e-07 7.13000000e-01 7.13000000e-01 - 7.14000000e-01 -1.13690603e-07 7.14000000e-01 7.14000000e-01 - 7.15000000e-01 -1.15668634e-07 7.15000000e-01 7.15000000e-01 - 7.16000000e-01 -1.17681129e-07 7.16000000e-01 7.16000000e-01 - 7.17000000e-01 -1.19728657e-07 7.17000000e-01 7.17000000e-01 - 7.18000000e-01 -1.21811839e-07 7.18000000e-01 7.18000000e-01 - 7.19000000e-01 -1.23931259e-07 7.19000000e-01 7.19000000e-01 - 7.20000000e-01 -1.26087554e-07 7.20000000e-01 7.20000000e-01 - 7.21000000e-01 -1.28281358e-07 7.21000000e-01 7.21000000e-01 - 7.22000000e-01 -1.30513286e-07 7.22000000e-01 7.22000000e-01 - 7.23000000e-01 -1.32784003e-07 7.23000000e-01 7.23000000e-01 - 7.24000000e-01 -1.35094165e-07 7.24000000e-01 7.24000000e-01 - 7.25000000e-01 -1.37444453e-07 7.25000000e-01 7.25000000e-01 - 7.26000000e-01 -1.39835535e-07 7.26000000e-01 7.26000000e-01 - 7.27000000e-01 -1.42268085e-07 7.27000000e-01 7.27000000e-01 - 7.28000000e-01 -1.44742842e-07 7.28000000e-01 7.28000000e-01 - 7.29000000e-01 -1.47260486e-07 7.29000000e-01 7.29000000e-01 - 7.30000000e-01 -1.49821761e-07 7.30000000e-01 7.30000000e-01 - 7.31000000e-01 -1.52427364e-07 7.31000000e-01 7.31000000e-01 - 7.32000000e-01 -1.55078077e-07 7.32000000e-01 7.32000000e-01 - 7.33000000e-01 -1.57774611e-07 7.33000000e-01 7.33000000e-01 - 7.34000000e-01 -1.60517775e-07 7.34000000e-01 7.34000000e-01 - 7.35000000e-01 -1.63308337e-07 7.35000000e-01 7.35000000e-01 - 7.36000000e-01 -1.66147061e-07 7.36000000e-01 7.36000000e-01 - 7.37000000e-01 -1.69034765e-07 7.37000000e-01 7.37000000e-01 - 7.38000000e-01 -1.71972266e-07 7.38000000e-01 7.38000000e-01 - 7.39000000e-01 -1.74960357e-07 7.39000000e-01 7.39000000e-01 - 7.40000000e-01 -1.77999888e-07 7.40000000e-01 7.40000000e-01 - 7.41000000e-01 -1.81091703e-07 7.41000000e-01 7.41000000e-01 - 7.42000000e-01 -1.84236664e-07 7.42000000e-01 7.42000000e-01 - 7.43000000e-01 -1.87435634e-07 7.43000000e-01 7.43000000e-01 - 7.44000000e-01 -1.90689493e-07 7.44000000e-01 7.44000000e-01 - 7.45000000e-01 -1.93999127e-07 7.45000000e-01 7.45000000e-01 - 7.46000000e-01 -1.97365464e-07 7.46000000e-01 7.46000000e-01 - 7.47000000e-01 -2.00789378e-07 7.47000000e-01 7.47000000e-01 - 7.48000000e-01 -2.04271837e-07 7.48000000e-01 7.48000000e-01 - 7.49000000e-01 -2.07813739e-07 7.49000000e-01 7.49000000e-01 - 7.50000000e-01 -2.11416073e-07 7.50000000e-01 7.50000000e-01 - 7.51000000e-01 -2.15079797e-07 7.51000000e-01 7.51000000e-01 - 7.52000000e-01 -2.18805863e-07 7.52000000e-01 7.52000000e-01 - 7.53000000e-01 -2.22595278e-07 7.53000000e-01 7.53000000e-01 - 7.54000000e-01 -2.26449036e-07 7.54000000e-01 7.54000000e-01 - 7.55000000e-01 -2.30368144e-07 7.55000000e-01 7.55000000e-01 - 7.56000000e-01 -2.34353630e-07 7.56000000e-01 7.56000000e-01 - 7.57000000e-01 -2.38406548e-07 7.57000000e-01 7.57000000e-01 - 7.58000000e-01 -2.42527913e-07 7.58000000e-01 7.58000000e-01 - 7.59000000e-01 -2.46718795e-07 7.59000000e-01 7.59000000e-01 - 7.60000000e-01 -2.50980278e-07 7.60000000e-01 7.60000000e-01 - 7.61000000e-01 -2.55313430e-07 7.61000000e-01 7.61000000e-01 - 7.62000000e-01 -2.59719344e-07 7.62000000e-01 7.62000000e-01 - 7.63000000e-01 -2.64199148e-07 7.63000000e-01 7.63000000e-01 - 7.64000000e-01 -2.68753946e-07 7.64000000e-01 7.64000000e-01 - 7.65000000e-01 -2.73384860e-07 7.65000000e-01 7.65000000e-01 - 7.66000000e-01 -2.78093044e-07 7.66000000e-01 7.66000000e-01 - 7.67000000e-01 -2.82879650e-07 7.67000000e-01 7.67000000e-01 - 7.68000000e-01 -2.87745826e-07 7.68000000e-01 7.68000000e-01 - 7.69000000e-01 -2.92692776e-07 7.69000000e-01 7.69000000e-01 - 7.70000000e-01 -2.97721660e-07 7.70000000e-01 7.70000000e-01 - 7.71000000e-01 -3.02833688e-07 7.71000000e-01 7.71000000e-01 - 7.72000000e-01 -3.08030053e-07 7.72000000e-01 7.72000000e-01 - 7.73000000e-01 -3.13311974e-07 7.73000000e-01 7.73000000e-01 - 7.74000000e-01 -3.18680710e-07 7.74000000e-01 7.74000000e-01 - 7.75000000e-01 -3.24137468e-07 7.75000000e-01 7.75000000e-01 - 7.76000000e-01 -3.29683509e-07 7.76000000e-01 7.76000000e-01 - 7.77000000e-01 -3.35320078e-07 7.77000000e-01 7.77000000e-01 - 7.78000000e-01 -3.41048451e-07 7.78000000e-01 7.78000000e-01 - 7.79000000e-01 -3.46869908e-07 7.79000000e-01 7.79000000e-01 - 7.80000000e-01 -3.52785731e-07 7.80000000e-01 7.80000000e-01 - 7.81000000e-01 -3.58797218e-07 7.81000000e-01 7.81000000e-01 - 7.82000000e-01 -3.64905663e-07 7.82000000e-01 7.82000000e-01 - 7.83000000e-01 -3.71112381e-07 7.83000000e-01 7.83000000e-01 - 7.84000000e-01 -3.77418703e-07 7.84000000e-01 7.84000000e-01 - 7.85000000e-01 -3.83825919e-07 7.85000000e-01 7.85000000e-01 - 7.86000000e-01 -3.90335390e-07 7.86000000e-01 7.86000000e-01 - 7.87000000e-01 -3.96948455e-07 7.87000000e-01 7.87000000e-01 - 7.88000000e-01 -4.03666461e-07 7.88000000e-01 7.88000000e-01 - 7.89000000e-01 -4.10490750e-07 7.89000000e-01 7.89000000e-01 - 7.90000000e-01 -4.17422681e-07 7.90000000e-01 7.90000000e-01 - 7.91000000e-01 -4.24463629e-07 7.91000000e-01 7.91000000e-01 - 7.92000000e-01 -4.31614946e-07 7.92000000e-01 7.92000000e-01 - 7.93000000e-01 -4.38878017e-07 7.93000000e-01 7.93000000e-01 - 7.94000000e-01 -4.46254218e-07 7.94000000e-01 7.94000000e-01 - 7.95000000e-01 -4.53744916e-07 7.95000000e-01 7.95000000e-01 - 7.96000000e-01 -4.61351506e-07 7.96000000e-01 7.96000000e-01 - 7.97000000e-01 -4.69075369e-07 7.97000000e-01 7.97000000e-01 - 7.98000000e-01 -4.76917893e-07 7.98000000e-01 7.98000000e-01 - 7.99000000e-01 -4.84880471e-07 7.99000000e-01 7.99000000e-01 - 8.00000000e-01 -4.92964482e-07 8.00000000e-01 8.00000000e-01
diff --git a/xschem/test_analog.raw b/xschem/test_analog.raw deleted file mode 100644 index 0d3cba3..0000000 --- a/xschem/test_analog.raw +++ /dev/null Binary files differ
diff --git a/xschem/test_analog.spice b/xschem/test_analog.spice deleted file mode 100644 index ed1a3ad..0000000 --- a/xschem/test_analog.spice +++ /dev/null
@@ -1,69 +0,0 @@ -**.subckt test_analog -x1 OUT OUT IN BIAS n_diffamp -x2 OUT2 OUT2 IN2 BIAS2 n_diffamp -V1 IN GND 1.2 -V2 BIAS GND 1.1 -V3 VDD GND 1.8 -V4 IN2 GND 1.0 -V5 BIAS2 GND 1.0 -XR1 GND OUT2 GND sky130_fd_pr__res_xhigh_po_0p35 L=50 mult=1 m=1 -XR2 GND OUT GND sky130_fd_pr__res_xhigh_po_0p35 L=50 mult=1 m=1 -**** begin user architecture code - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - -**** end user architecture code -**.ends - -* expanding symbol: sky130_tests/n_diffamp.sym # of pins=4 -* sym_path: /ef/tech/SW.2/sky130A/libs.tech/xschem/sky130_tests/n_diffamp.sym -* sch_path: /ef/tech/SW.2/sky130A/libs.tech/xschem/sky130_tests/n_diffamp.sch -.subckt n_diffamp OUT MINUS PLUS NBIAS -*.ipin PLUS -*.ipin MINUS -*.opin OUT -*.ipin NBIAS -XM1 net1 PLUS S GND sky130_fd_pr__nfet_01v8_lvt L=0.3 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM2 OUT MINUS S GND sky130_fd_pr__nfet_01v8_lvt L=0.3 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM3 OUT net1 VDD VDD sky130_fd_pr__pfet_01v8_lvt L=0.8 W=4 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM4 net1 net1 VDD VDD sky130_fd_pr__pfet_01v8_lvt L=0.8 W=4 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM5 net2 NBIAS GND GND sky130_fd_pr__nfet_01v8 L=1.2 W=0.7 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XR1 GND S GND sky130_fd_pr__res_xhigh_po_0p35 L=50 mult=1 m=1 -V5 S net2 0 -.ends - -.GLOBAL GND -.GLOBAL VDD -**** begin user architecture code - - - -.options savecurrents -.control -save all -save @m.x1.xm5.msky130_fd_pr__nfet_01v8[gm] -save @m.x2.xm5.msky130_fd_pr__nfet_01v8[gm] -op -write test_analog.raw -.endc - - -**** end user architecture code -** flattened .save nodes -.end
diff --git a/xschem/test_comparator.spice b/xschem/test_comparator.spice deleted file mode 100644 index cc7b142..0000000 --- a/xschem/test_comparator.spice +++ /dev/null
@@ -1,170 +0,0 @@ -**.subckt test_comparator CAL PLUS MINUS EN VSS VCC SAOUT -*.ipin CAL -*.ipin PLUS -*.ipin MINUS -*.ipin EN -*.ipin VSS -*.ipin VCC -*.opin SAOUT -E5 TEMPERAT VSS VOL=' temper ' -C38 VSS 0 2p m=1 -C3 SAOUTF 0 4f m=1 -C5 GN 0 4f m=1 -C30 SN 0 2f m=1 -C31 OUTDIFF 0 4f m=1 -v2 net1 VSSI 0 -v3 net4 VSSI 0 -v4 net3 VSSI 0 -v6 net2 VSSI 0 -C1 SAOUT 0 4f m=1 -v1 net5 VSSI 0 -v5 net6 VSSI 0 -C7 GP 0 4f m=1 -x4 CALBB CALB VCC VSS not W_N=1 L_N=0.15 W_P=2 L_P=0.15 m=1 -x5 CALB CAL VCC VSS not W_N=1 L_N=0.15 W_P=2 L_P=0.15 m=1 -XM4 SP VSS VCC VCC sky130_fd_pr__pfet_01v8 L=1 W=0.55 nf=1 ad='W * 0.29' as='W * 0.29' pd='W + 2 * 0.29' -+ ps='W + 2 * 0.29' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM5 OUTDIFF GN VCC VCC sky130_fd_pr__pfet_01v8_lvt L=1 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM6 GN GN VCC VCC sky130_fd_pr__pfet_01v8_lvt L=1 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM8 SAOUTF OUTDIFF VCC VCC sky130_fd_pr__pfet_01v8_lvt L=1 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM9 SAOUT SAOUTF VCC VCC sky130_fd_pr__pfet_01v8_lvt L=1 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM11 SAOUT EN VCC VCC sky130_fd_pr__pfet_01v8 L=0.15 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='W + 2 * 0.29' -+ ps='W + 2 * 0.29' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM12 SAOUT ZERO2 VCC VCC sky130_fd_pr__pfet_01v8_lvt L=1 W=0.42 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM13 SAOUTF ZERO1 VCC VCC sky130_fd_pr__pfet_01v8_lvt L=1 W=0.42 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM14 OUTDIFF ZERO0 VCC VCC sky130_fd_pr__pfet_01v8_lvt L=1 W=0.42 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM1 VSSI EN VSS VSS sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='W + 2 * 0.29' -+ ps='W + 2 * 0.29' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=2 m=2 -XM2 OUTDIFF ZERO0 net2 VSS sky130_fd_pr__nfet_01v8_lvt L=1 W=0.42 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM3 SAOUTF ZERO1 net3 VSS sky130_fd_pr__nfet_01v8_lvt L=1 W=0.42 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM7 SAOUT ZERO2 net6 VSS sky130_fd_pr__nfet_01v8_lvt L=1 W=0.42 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM15 SAOUT SAOUTF net5 VSS sky130_fd_pr__nfet_01v8_lvt L=1 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM10 SAOUTF OUTDIFF net4 VSS sky130_fd_pr__nfet_01v8_lvt L=1 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM17 SN VCC net1 VSS sky130_fd_pr__nfet_01v8_lvt L=1 W=0.42 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM18 OUTDIFF GP VSSI VSS sky130_fd_pr__nfet_01v8_lvt L=1 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM19 GP GP VSSI VSS sky130_fd_pr__nfet_01v8_lvt L=1 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM20 OUTDIFF PLUS SP VCC sky130_fd_pr__pfet_01v8_lvt L=0.35 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM21 GP MINUS SP VCC sky130_fd_pr__pfet_01v8_lvt L=0.35 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM23 OUTDIFF PLUS SN VSS sky130_fd_pr__nfet_01v8_lvt L=0.25 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -XM16 GN MINUS SN VSS sky130_fd_pr__nfet_01v8_lvt L=0.25 W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2*(W + 0.29)' -+ ps='2*(W + 0.29)' nrd=0 nrs=0 sa=0 sb=0 sd=0 mult=1 m=1 -x1 OUTDIFF ZERO0 CALB CALBB VCC VSS passgate_nlvt W_N=0.42 L_N=0.4 W_P=0.42 L_P=0.4 m=1 -x2 SAOUTF ZERO1 CALB CALBB VCC VSS passgate_nlvt W_N=0.42 L_N=0.4 W_P=0.42 L_P=0.4 m=1 -x3 SAOUT ZERO2 CALB CALBB VCC VSS passgate_nlvt W_N=0.42 L_N=0.4 W_P=0.42 L_P=0.4 m=1 -C2 ZERO0 VCC 15f m=1 -C4 ZERO1 VCC 15f m=1 -C6 ZERO2 VCC 15f m=1 -**** begin user architecture code - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - -**** end user architecture code -**.ends - -* expanding symbol: sky130_tests/not.sym # of pins=2 -* sym_path: /ef/tech/SW.2/sky130A/libs.tech/xschem/sky130_tests/not.sym -* sch_path: /ef/tech/SW.2/sky130A/libs.tech/xschem/sky130_tests/not.sch -.subckt not y a VCCPIN VSSPIN W_N=1 L_N=0.15 W_P=2 L_P=0.15 -*.opin y -*.ipin a -XM1 y a VSSPIN VSSPIN sky130_fd_pr__nfet_01v8 L=L_N W=W_N nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM2 y a VCCPIN VCCPIN sky130_fd_pr__pfet_01v8 L=L_P W=W_P nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -.ends - - -* expanding symbol: sky130_tests/passgate_nlvt.sym # of pins=4 -* sym_path: /ef/tech/SW.2/sky130A/libs.tech/xschem/sky130_tests/passgate_nlvt.sym -* sch_path: /ef/tech/SW.2/sky130A/libs.tech/xschem/sky130_tests/passgate_nlvt.sch -.subckt passgate_nlvt Z A GP GN VCCBPIN VSSBPIN W_N=1 L_N=0.35 W_P=1 L_P=0.35 -*.iopin A -*.iopin Z -*.ipin GP -*.ipin GN -XM1 Z GN A VSSBPIN sky130_fd_pr__nfet_01v8_lvt L=L_N W=W_N nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM2 Z GP A VCCBPIN sky130_fd_pr__pfet_01v8_lvt L=L_P W=W_P nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -.ends - -**** begin user architecture code - -* .option SCALE=1e-6 -.option method=gear seed=12 - -* this experimental option enables mos model bin -* selection based on W/NF instead of W -.option wnflag=1 - -* .param VCC=1.8 -.param VCCGAUSS=agauss(1.8, 0.05, 1) -.param VCC=VCCGAUSS -.param VDL='VCC/2+0.2' -.param ABSVAR=0.02 -.temp 25 - -** to generate following file: -** copy .../xschem_sky130/sky130_tests/stimuli.test_comparator to simulation directory -** then do 'Simulation->Utile Stimuli Editor (GUI)' and press 'Translate' -.include "stimuli_test_comparator.cir" - -** variation marameters: -.param sky130_fd_pr__nfet_01v8_lvt__vth0_slope_spectre='agauss(0, ABSVAR, 3)/sky130_fd_pr__nfet_01v8_lvt__vth0_slope' -.param sky130_fd_pr__pfet_01v8_lvt__vth0_slope_spectre='agauss(0, ABSVAR, 3)/sky130_fd_pr__pfet_01v8_lvt__vth0_slope' - -* .tran 0.1n 900n uic - -.control - let run=1 - dowhile run <= 20 - if run > 1 - reset - set appendwrite - end - save all - * save saout cal i(vvcc) en plus minus - tran 0.1n 300n uic - write test_comparator.raw - let run = run + 1 - end -.endc - - -**** end user architecture code -** flattened .save nodes -.save I(v2) -.save I(v3) -.save I(v4) -.save I(v6) -.save I(v1) -.save I(v5) -.end
diff --git a/xschem/test_inv.raw b/xschem/test_inv.raw deleted file mode 100644 index 47651a6..0000000 --- a/xschem/test_inv.raw +++ /dev/null Binary files differ
diff --git a/xschem/test_inv.spice b/xschem/test_inv.spice deleted file mode 100644 index e5b5cd1..0000000 --- a/xschem/test_inv.spice +++ /dev/null
@@ -1,87 +0,0 @@ -**.subckt test_inv -C1 Z[1] 0 4f m=1 -C2 Z[2] 0 4f m=1 -C3 Z[3] 0 4f m=1 -C4 Z[4] 0 4f m=1 -C5 Z[5] 0 4f m=1 -C6 Z[6] 0 4f m=1 -C7 Z[0] 0 4.01f m=1 -C8 Y[1] 0 4f m=1 -C9 Y[2] 0 4f m=1 -C10 Y[3] 0 4f m=1 -C11 Y[4] 0 4f m=1 -C12 Y[5] 0 4f m=1 -C13 Y[6] 0 4f m=1 -C14 Y[0] 0 4.01f m=1 -x4 Z[1] Z[0] VCC VSS not W_N=1 L_N=0.15 W_P=2 L_P=0.15 m=1 -x1 Z[2] Z[1] VCC VSS not W_N=1 L_N=0.15 W_P=2 L_P=0.15 m=1 -x2 Z[3] Z[2] VCC VSS not W_N=1 L_N=0.15 W_P=2 L_P=0.15 m=1 -x3 Z[4] Z[3] VCC VSS not W_N=1 L_N=0.15 W_P=2 L_P=0.15 m=1 -x5 Z[5] Z[4] VCC VSS not W_N=1 L_N=0.15 W_P=2 L_P=0.15 m=1 -x6 Z[6] Z[5] VCC VSS not W_N=1 L_N=0.15 W_P=2 L_P=0.15 m=1 -x7 Z[0] Z[6] VCC VSS not W_N=1 L_N=0.15 W_P=2 L_P=0.15 m=1 -x8 Y[0] Y[1] VCC VSS lvtnot W_N=1 L_N=0.15 W_P=2 L_P=0.35 m=1 -x9 Y[1] Y[2] VCC VSS lvtnot W_N=1 L_N=0.15 W_P=2 L_P=0.35 m=1 -x10 Y[2] Y[3] VCC VSS lvtnot W_N=1 L_N=0.15 W_P=2 L_P=0.35 m=1 -x11 Y[3] Y[4] VCC VSS lvtnot W_N=1 L_N=0.15 W_P=2 L_P=0.35 m=1 -x12 Y[4] Y[5] VCC VSS lvtnot W_N=1 L_N=0.15 W_P=2 L_P=0.35 m=1 -x13 Y[5] Y[6] VCC VSS lvtnot W_N=1 L_N=0.15 W_P=2 L_P=0.35 m=1 -x14 Y[6] Y[0] VCC VSS lvtnot W_N=1 L_N=0.15 W_P=2 L_P=0.35 m=1 -**** begin user architecture code - - -vvss vss 0 dc 0 -vvcc vcc 0 pwl 0 0 10n 0 10.1n 1.8 20n 1.8 20.1n 0 - -.control -.save all -tran 0.01n 30n -plot "z[2]" "z[3]" "z[4]" -plot "y[2]" "y[3]" "y[4]" -write test_inv.raw -.endc - - - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - -**** end user architecture code -**.ends - -* expanding symbol: sky130_tests/not.sym # of pins=2 -* sym_path: /ef/tech/SW.2/sky130A/libs.tech/xschem/sky130_tests/not.sym -* sch_path: /ef/tech/SW.2/sky130A/libs.tech/xschem/sky130_tests/not.sch -.subckt not y a VCCPIN VSSPIN W_N=1 L_N=0.15 W_P=2 L_P=0.15 -*.opin y -*.ipin a -XM1 y a VSSPIN VSSPIN sky130_fd_pr__nfet_01v8 L=L_N W=W_N nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM2 y a VCCPIN VCCPIN sky130_fd_pr__pfet_01v8 L=L_P W=W_P nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -.ends - - -* expanding symbol: sky130_tests/lvtnot.sym # of pins=2 -* sym_path: /ef/tech/SW.2/sky130A/libs.tech/xschem/sky130_tests/lvtnot.sym -* sch_path: /ef/tech/SW.2/sky130A/libs.tech/xschem/sky130_tests/lvtnot.sch -.subckt lvtnot a y VCCPIN VSSPIN W_N=1 L_N=0.15 W_P=2 L_P=0.35 -*.opin y -*.ipin a -XM2 y a VCCPIN VCCPIN sky130_fd_pr__pfet_01v8_lvt L=L_P W=W_P nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM1 y a VSSPIN VSSPIN sky130_fd_pr__nfet_01v8_lvt L=L_N W=W_N nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -.ends - -** flattened .save nodes -.end
diff --git a/xschem/test_nmos.spice b/xschem/test_nmos.spice deleted file mode 100644 index 420e5b5..0000000 --- a/xschem/test_nmos.spice +++ /dev/null
@@ -1,93 +0,0 @@ -**.subckt test_nmos G1v8 D1v8 B -*.ipin G1v8 -*.ipin D1v8 -*.ipin B -Vd1 D1v8 net1 0 -Vd3 D3v3 net2 0 -Vd2 D1v8 net3 0 -Vd4 D5v0 net4 0 -E1 D5v0 0 D1v8 0 '5/1.8' -E2 D3v3 0 D1v8 0 '3.3/1.8' -E3 G5v0 0 G1v8 0 '5/1.8' -E4 G3v3 0 G1v8 0 '3.3/1.8' -Vd5 D10v5 net5 0 -E5 D10v5 0 D1v8 0 '10.5/1.8' -E6 D16v0 0 D1v8 0 '16.0/1.8' -Vd6 D16v0 net6 0 -Vd7 D1v8 net7 0 -E7 D20v0 0 D1v8 0 '20.0/1.8' -XM1 net1 G1v8 S B sky130_fd_pr__nfet_01v8_lvt L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM2 net3 G1v8 S B sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM3 net2 G3v3 S B sky130_fd_pr__nfet_03v3_nvt L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM4 net4 G5v0 S B sky130_fd_pr__nfet_05v0_nvt L=0.9 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM5 net5 G5v0 S B sky130_fd_pr__nfet_g5v0d10v5 L=0.5 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM6 net6 G5v0 S B sky130_fd_pr__nfet_g5v0d16v0 L=0.7 W=5.0 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -Vd8 D1v8 net8 0 -XM7 net7 G1v8 S B sky130_fd_pr__nfet_20v0 L=2.95 W=29.41 m=1 -XM16 net8 G1v8 S B sky130_fd_pr__nfet_20v0_zvt W=30 L=5 m=1 -**** begin user architecture code - -* 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 - - - -** manual skywater-pdk install (with patches applied). - -** opencircuitdesign pdks install - - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - -**** end user architecture code -**.ends -** flattened .save nodes -.save I(Vd1) -.save I(Vd3) -.save I(Vd2) -.save I(Vd4) -.save I(Vd5) -.save I(Vd6) -.save I(Vd7) -.save I(Vd8) -.end
diff --git a/xschem/test_nmos_sizes.spice b/xschem/test_nmos_sizes.spice deleted file mode 100644 index 6822968..0000000 --- a/xschem/test_nmos_sizes.spice +++ /dev/null
@@ -1,54 +0,0 @@ -**.subckt test_nmos_sizes -XM1 D1 G 0 VSS sky130_fd_pr__nfet_01v8_lvt L=L W=1 nf=1 ad='W * 0.29' as='W * 0.29' pd='2 * (W + 0.29)' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -XM2 D2 G 0 VSS sky130_fd_pr__nfet_01v8_lvt L=0.15 W=W nf=1 ad='W * 0.29' as='W * 0.29' pd='2 * (W + 0.29)' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=1 m=1 -V2 D D2 0 -V1 D D1 0 -**** begin user architecture code - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - -**** end user architecture code -**.ends -**** begin user architecture code - -* .option SCALE=1e-6 -.option method=gear seed=12 -.param L=0.15 -.param W=0.5 - -vd d 0 0 -vg g 0 0 -.control -dc vd 0 2 0.01 vg 0 2 0.2 -alterparam L=0.18 -alterparam W=1 -reset -dc vd 0 2 0.01 vg 0 2 0.2 -alterparam L=0.3 -alterparam W=2 -reset -dc vd 0 2 0.01 vg 0 2 0.2 -alterparam L=0.5 -alterparam W=3 -reset -dc vd 0 2 0.01 vg 0 2 0.2 - -.endc - - - - - -**** end user architecture code -** flattened .save nodes -.save I(V2) -.save I(V1) -.end
diff --git a/xschem/test_res.spice b/xschem/test_res.spice deleted file mode 100644 index 60414af..0000000 --- a/xschem/test_res.spice +++ /dev/null
@@ -1,79 +0,0 @@ -**.subckt test_res P M B -*.ipin P -*.ipin M -*.ipin B -XR1 M net1 B sky130_fd_pr__res_iso_pw W=2.65 L=2.65 mult=1 m=1 -Vr1 P net1 0 -Vr2 P net2 0 -R2 M net2 B sky130_fd_pr__res_generic_nd W=1 L=1 mult=1 m=1 -Vr3 P net3 0 -R3 M net3 B sky130_fd_pr__res_generic_pd W=1 L=1 mult=1 m=1 -Vr4 P net4 0 -R4 M net4 sky130_fd_pr__res_generic_po W=1 L=1 mult=1 m=1 -Vr5 P net5 0 -XR5 M net5 B sky130_fd_pr__res_high_po W=1 L=1 mult=1 m=1 -Vr6 P net6 0 -XR6 M net6 B sky130_fd_pr__res_high_po_0p35 L=1 mult=1 m=1 -Vr7 P net7 0 -XR7 M net7 B sky130_fd_pr__res_high_po_0p69 L=0.69 mult=1 m=1 -Vr8 P net8 0 -XR8 M net8 B sky130_fd_pr__res_high_po_1p41 L=1.41 mult=1 m=1 -Vr9 P net9 0 -XR9 M net9 B sky130_fd_pr__res_xhigh_po W=1 L=1 mult=1 m=1 -Vr10 P net10 0 -XR10 M net10 B sky130_fd_pr__res_xhigh_po_0p35 L=0.35 mult=1 m=1 -Vr11 P net11 0 -XR11 M net11 B sky130_fd_pr__res_xhigh_po_0p69 L=0.69 mult=1 m=1 -Vr12 P net12 0 -XR12 M net12 B sky130_fd_pr__res_xhigh_po_1p41 L=1.41 mult=1 m=1 -**** begin user architecture code - - -vp P 0 1.8 -vm M 0 0 -vb B 0 0 -.control -save all -* dc vp 0 3 0.01 -dc temp -40 140 1 -*plot v(p,m) / vr1#branch -*plot v(p,m) / vr2#branch -*plot v(p,m) / vr3#branch -plot v(p,m) / vr4#branch -plot v(p,m) / vr5#branch -plot v(p,m) / vr6#branch -*plot v(p,m) / vr7#branch -*plot v(p,m) / vr8#branch -plot v(p,m) / vr9#branch -plot v(p,m) / vr10#branch -*plot v(p,m) / vr11#branch -*plot v(p,m) / vr12#branch - -.endc - - - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - -**** end user architecture code -**.ends -** flattened .save nodes -.save I(Vr1) -.save I(Vr2) -.save I(Vr3) -.save I(Vr4) -.save I(Vr5) -.save I(Vr6) -.save I(Vr7) -.save I(Vr8) -.save I(Vr9) -.save I(Vr10) -.save I(Vr11) -.save I(Vr12) -.end
diff --git a/xschem/threshold_test_tb.spice b/xschem/threshold_test_tb.spice deleted file mode 100644 index 3e9804c..0000000 --- a/xschem/threshold_test_tb.spice +++ /dev/null
@@ -1,46 +0,0 @@ -*--------------------------------------------------------------------------- -* SPDX-FileCopyrightText: 2020 Efabless Corporation -* 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. -* -* SPDX-License-Identifier: Apache-2.0 -*--------------------------------------------------------------------------- -* Threshold test for POR circuit -* Determine gate voltage at which the HV NFET draws 240nA nominal -* -* Result: 0.7575V -*------------------------------------------------------------------- - -.lib /usr/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -*---------------------------- -* Testbench circuit -*---------------------------- -Rtest vdda mir1 1MEG -Xm1 mir1 vin vss vss sky130_fd_pr__nfet_g5v0d10v5 w=2 l=0.8 - -Vgate vin vss DC=0 -Vpwr vdda vss DC=3.3 -Rgnd vss 0 0.1 - -*---------------------------- -* Testbench control -*---------------------------- -.control -* DC sweep from 0.7 to 0.8V -dc Vgate 0.7 0.8 0.001 -wrdata test.data Vpwr#branch vin - -.endc - -.end -
diff --git a/xschem/untitled-1.sch b/xschem/untitled-1.sch deleted file mode 100644 index 153344d..0000000 --- a/xschem/untitled-1.sch +++ /dev/null
@@ -1,70 +0,0 @@ -v {xschem version=2.9.9 file_version=1.2 } -G {} -K {} -V {} -S {} -E {} -T {NMOS Characterization -} 330 -370 0 0 0.4 0.4 {} -N 400 -210 400 -200 { lab=vg} -N 400 -210 440 -210 { lab=vg} -N 480 -260 480 -240 { lab=vd} -N 480 -260 570 -260 { lab=vd} -N 570 -260 570 -240 { lab=vd} -N 390 -250 400 -250 { lab=vg} -N 380 -250 390 -250 { lab=vg} -N 370 -250 380 -250 { lab=vg} -N 370 -250 370 -210 { lab=vg} -N 370 -210 400 -210 { lab=vg} -N 470 -260 480 -260 { lab=vd} -N 470 -280 470 -260 { lab=vd} -N 470 -280 500 -280 { lab=vd} -C {sky130_fd_pr/nfet3_01v8.sym} 460 -210 0 0 {name=M1 -L=0.15 -W=1 -body=GND -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=nfet_01v8 -spiceprefix=X -} -C {devices/code_shown.sym} 670 -350 0 0 {name=NGSPICE -only_toplevel=false -value=".option TEMP=27C -.option dccap post brief accurate nomod - -.dc v1 0 3 0.01 - -.control - run -.endc - -.save all -"} -C {devices/code.sym} 140 -400 0 0 {name=TT_MODELS -only_toplevel=true -format="tcleval( @value )" -value="** manual skywater pdks install (with patches applied) -* .lib \\\\$::SKYWATER_MODELS\\\\/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib \\\\$::SKYWATER_MODELS\\\\/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 -" -spice_ignore=false} -C {devices/gnd.sym} 480 -180 0 0 {name=l1 lab=GND} -C {devices/vsource.sym} 400 -170 0 0 {name=v1 value=0} -C {devices/vsource.sym} 570 -210 0 0 {name=v2 value=0.9 -} -C {devices/gnd.sym} 400 -140 0 0 {name=l2 lab=GND} -C {devices/gnd.sym} 570 -180 0 0 {name=l3 lab=GND} -C {devices/opin.sym} 380 -250 0 0 {name=vg lab=vg} -C {devices/opin.sym} 480 -280 0 0 {name=vd lab=vd}
diff --git a/xschem/untitled-1.spice b/xschem/untitled-1.spice deleted file mode 100644 index ac9115b..0000000 --- a/xschem/untitled-1.spice +++ /dev/null
@@ -1,36 +0,0 @@ -**.subckt untitled-1 vg vd -*.opin vg -*.opin vd -XM1 vd vg GND GND sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -v1 vg GND 0 -v2 vd GND 0.9 -**** begin user architecture code - -.option TEMP=27C -.option dccap post brief accurate nomod - -.dc v1 0 3 0.01 - -.control - run -.endc - -.save all - - - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - -**** end user architecture code -**.ends -.GLOBAL GND -** flattened .save nodes -.end
diff --git a/xschem/untitled-2.sch b/xschem/untitled-2.sch deleted file mode 100644 index 3f90796..0000000 --- a/xschem/untitled-2.sch +++ /dev/null
@@ -1,73 +0,0 @@ -v {xschem version=2.9.9 file_version=1.2 } -G {} -K {} -V {} -S {} -E {} -N 240 -370 320 -370 { lab=#net1} -N 260 -380 260 -370 { lab=#net1} -N 260 -370 260 -360 { lab=#net1} -N 360 -430 360 -400 { lab=#net2} -N 360 -340 360 -310 { lab=#net3} -N 360 -310 390 -310 { lab=#net3} -N 320 -310 360 -310 { lab=#net3} -N 160.000000393216 -370.000000909312 180.000000442368 -370.000000909312 { lab=#net4} -N 260.000000638976 -460.000001130496 260.000000638976 -440.000001081344 { lab=#net5} -N 360.000000884736 -510.000001253376 360.000000884736 -490.000001204224 { lab=#net6} -N 260.000000638976 -540.000001327104 260.000000638976 -520.000001277952 { lab=GND} -N 360.000000884736 -590.000001449984 360.000000884736 -570.000001400832 { lab=GND} -N 80.000000196608 -370.000000909312 100.00000024576 -370.000000909312 { lab=#net7} -N 260.000000638976 -300.00000073728 260.000000638976 -280.000000688128 { lab=#net8} -N 320.000000786432 -250.0000006144 320.000000786432 -230.000000565248 { lab=#net9} -N 390.000000958464 -250.0000006144 390.000000958464 -230.000000565248 { lab=#net10} -N 360.000000884736 -400.00000098304 480.000001179648 -400.00000098304 { lab=#net11} -C {sky130_fd_pr/nfet3_01v8.sym} 340 -370 0 0 {name=M1 -L=0.15 -W=1 -body=GND -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/cap_mim_m3_1.sym} 210 -370 1 0 {name=C1 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} -C {sky130_fd_pr/res_generic_m1.sym} 260 -330 0 0 {name=R1 -W=1 -L=1 -model=res_generic_m1 -spiceprefix=X -mult=1} -C {sky130_fd_pr/res_generic_m1.sym} 260 -410 0 0 {name=R2 -W=1 -L=1 -model=res_generic_m1 -spiceprefix=X -mult=1} -C {sky130_fd_pr/res_generic_m1.sym} 360 -460 0 0 {name=R3 -W=1 -L=1 -model=res_generic_m1 -spiceprefix=X -mult=1} -C {sky130_fd_pr/res_generic_m1.sym} 390 -280 0 0 {name=R4 -W=1 -L=1 -model=res_generic_m1 -spiceprefix=X -mult=1} -C {sky130_fd_pr/cap_mim_m3_1.sym} 320 -280 0 0 {name=C2 model=cap_mim_m3_1 W=1 L=1 MF=1 spiceprefix=X} -C {devices/vsource.sym} 130.000000319488 -370.000000909312 1 0 {name=V1 value=3} -C {devices/vsource.sym} 260.000000638976 -490.000001204224 2 0 {name=V2 value=3} -C {devices/vsource.sym} 360.000000884736 -540.000001327104 2 0 {name=V3 value=3} -C {devices/gnd.sym} 80.00000019660797 -370.000000909312 1 0 {name=l1 lab=GND} -C {devices/gnd.sym} 260.000000638976 -540.000001327104 2 0 {name=l2 lab=GND} -C {devices/gnd.sym} 360.000000884736 -590.000001449984 2 0 {name=l3 lab=GND} -C {devices/gnd.sym} 260.000000638976 -280.000000688128 0 0 {name=l4 lab=GND} -C {devices/gnd.sym} 320.000000786432 -230.000000565248 0 0 {name=l5 lab=GND} -C {devices/gnd.sym} 390.000000958464 -230.000000565248 0 0 {name=l6 lab=GND}
diff --git a/xschem/untitled-3.sch b/xschem/untitled-3.sch deleted file mode 100644 index d8eeb23..0000000 --- a/xschem/untitled-3.sch +++ /dev/null
@@ -1,173 +0,0 @@ -v {xschem version=2.9.9 file_version=1.2 } -G {} -K {} -V {} -S {} -E {} -T {Ir = 45k} 40 120 0 0 0.4 0.4 {} -N 270 50 290 50 { lab=#net1} -N 510 -20 510 0 { lab=drain} -N 510 0 590 0 { lab=drain} -N 380 -50 410 -50 { lab=#net2} -N 510 -80 510 -20 { lab=drain} -N 310 -80 390 -80 { lab=#net3} -N 390 -80 440 -80 { lab=#net3} -N 390 -160 390 -140 { lab=#net4} -N 510 -160 510 -140 { lab=#net5} -N 430 -110 470 -110 { lab=#net3} -N 450 -110 450 -80 { lab=#net3} -N 440 -80 450 -80 { lab=#net3} -N 410 -50 430 -50 { lab=#net2} -N 430 -50 430 -30 { lab=#net2} -N 430 30 430 70 { lab=gate} -N 430 50 470 50 { lab=gate} -N 390 50 430 50 { lab=gate} -N 290 50 330 50 { lab=#net1} -N 510 -0 510 20 { lab=drain} -N 510 80 510 110 { lab=source} -N 510 110 510 140 { lab=source} -N 510 140 510 160 { lab=source} -N 430 190 470 190 { lab=#net6} -N 450 160 450 190 { lab=#net6} -N 390 160 450 160 { lab=#net6} -N 300 160 390 160 { lab=#net6} -N 390 220 390 230 { lab=GND} -N 390 230 510 230 { lab=GND} -N 510 220 510 230 { lab=GND} -C {sky130_fd_pr/nfet3_01v8.sym} 490 50 0 0 {name=M1 -L=0.15 -W=1 -body=GND -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=nfet_01v8 -spiceprefix=X -} -C {devices/vsource.sym} 270 80 0 1 {name=V1 value="SIN(0 0.25 50)"} -C {devices/gnd.sym} 270 110 0 0 {name=l1 lab=GND} -C {devices/capa.sym} 360 50 1 0 {name=C1 -m=1 -value=500u -footprint=1206 -device="ceramic capacitor"} -C {devices/res.sym} 430 100 0 0 {name=R1 -value=1k -footprint=1206 -device=resistor -m=1} -C {devices/res.sym} 430 0 0 0 {name=R2 -value=800 -footprint=1206 -device=resistor -m=1} -C {devices/gnd.sym} 430 130 0 0 {name=l3 lab=GND} -C {devices/vsource.sym} 350 -50 1 0 {name=V3 value=1.8} -C {devices/gnd.sym} 320 -50 1 0 {name=l5 lab=GND} -C {devices/lab_wire.sym} 590 0 0 1 {name=l6 sig_type=std_logic lab=drain} -C {devices/lab_wire.sym} 450 50 1 1 {name=l7 sig_type=std_logic lab=gate} -C {sky130_fd_pr/pfet3_01v8.sym} 490 -110 0 0 {name=M2 -L=0.15 -W=1 -body=VDD -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=pfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet3_01v8.sym} 410 -110 0 1 {name=M3 -L=0.15 -W=1 -body=VDD -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=pfet_01v8 -spiceprefix=X -} -C {devices/vsource.sym} 510 -190 2 0 {name=V2 value=1.8} -C {devices/vsource.sym} 390 -190 2 0 {name=V4 value=1.8} -C {devices/gnd.sym} 510 -220 2 0 {name=l4 lab=GND} -C {devices/gnd.sym} 390 -220 2 0 {name=l9 lab=GND} -C {devices/res.sym} 280 -80 1 0 {name=R4 -value=13k -footprint=1206 -device=resistor -m=1} -C {devices/gnd.sym} 250 -80 1 0 {name=l10 lab=GND} -C {devices/code.sym} 20 -10 0 0 {name=TT_MODELS -only_toplevel=true -format="tcleval( @value )" -value="** manual skywater pdks install (with patches applied) -* .lib \\\\$::SKYWATER_MODELS\\\\/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib \\\\$::SKYWATER_MODELS\\\\/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 -" -spice_ignore=false} -C {devices/code.sym} 20 -160 0 0 {name="pepper, chilli, cinnamon" only_toplevel=false value=" -.tran 0.001s 0.1 -.control - run - plot v(drain) v(gate) -.endc -.save all -"} -C {devices/lab_wire.sym} 510 110 0 1 {name=l11 sig_type=std_logic lab=source} -C {sky130_fd_pr/nfet3_01v8.sym} 490 190 0 0 {name=M4 -L=0.15 -W=1 -body=GND -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/nfet3_01v8.sym} 410 190 0 1 {name=M5 -L=0.15 -W=1 -body=GND -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=nfet_01v8 -spiceprefix=X -} -C {devices/gnd.sym} 450 230 0 0 {name=l2 lab=GND} -C {devices/res.sym} 300 190 0 0 {name=R3 -value=250 -footprint=1206 -device=resistor -m=1} -C {devices/vsource.sym} 300 250 0 1 {name=V5 value="1.8"} -C {devices/gnd.sym} 300 280 0 0 {name=l8 lab=GND}
diff --git a/xschem/untitled-3.spice b/xschem/untitled-3.spice deleted file mode 100644 index 89ace06..0000000 --- a/xschem/untitled-3.spice +++ /dev/null
@@ -1,51 +0,0 @@ -**.subckt untitled-3 -XM1 drain gate source GND sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -V1 net1 GND SIN(0 0.25 50) -C1 gate net1 500u m=1 -R1 gate GND 1k m=1 -R2 net2 gate 800 m=1 -V3 net2 GND 1.8 -XM2 drain net3 net5 VDD sky130_fd_pr__pfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM3 net3 net3 net4 VDD sky130_fd_pr__pfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -V2 net5 GND 1.8 -V4 net4 GND 1.8 -R4 net3 GND 13k m=1 -XM4 source net6 GND GND sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM5 net6 net6 GND GND sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -R3 net6 net7 250 m=1 -V5 net7 GND 1.8 -**** begin user architecture code - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - - - -.tran 0.001s 0.1 -.control - run - plot v(drain) v(gate) -.endc -.save all - - -**** end user architecture code -**.ends -.GLOBAL GND -** flattened .save nodes -.end
diff --git a/xschem/untitled-4.sch b/xschem/untitled-4.sch deleted file mode 100644 index 9f0eaac..0000000 --- a/xschem/untitled-4.sch +++ /dev/null
@@ -1,177 +0,0 @@ -v {xschem version=2.9.9 file_version=1.2 } -G {} -K {} -V {} -S {} -E {} -N 420 -410 420 -370 { lab=#net1} -N 360 -340 380 -340 { lab=#net2} -N 360 -440 360 -340 { lab=#net2} -N 360 -440 380 -440 { lab=#net2} -N 420 -490 420 -470 { lab=#net3} -N 420 -310 420 -290 { lab=GND} -N 470 -290 540 -290 { lab=#net4} -N 470 -290 470 -150 { lab=#net4} -N 570 -110 570 -90 { lab=#net2} -N 290 -90 310 -90 { lab=#net2} -N 270 -390 290 -390 { lab=#net2} -N 420 -220 470 -220 { lab=#net4} -N 500 -90 570 -90 { lab=#net2} -N 390 -490 420 -490 { lab=#net3} -N 600 -150 680 -150 { lab=out1} -N 680 -220 680 -150 { lab=out1} -N 680 -290 680 -220 { lab=out1} -N 600 -290 680 -290 { lab=out1} -N 400 -220 420 -220 { lab=#net4} -N 310 -90 500 -90 { lab=#net2} -N 540 -260 570 -260 { lab=#net5} -N 570 -290 570 -260 { lab=#net5} -N 480 -260 480 -220 { lab=GND} -N 570 -190 570 -150 { lab=GND} -N 570 -190 620 -190 { lab=GND} -N 470 -150 540 -150 { lab=#net4} -N 470 -630 540 -630 { lab=#net4} -N 470 -630 470 -490 { lab=#net4} -N 600 -490 680 -490 { lab=out1} -N 680 -560 680 -490 { lab=out1} -N 680 -630 680 -560 { lab=out1} -N 600 -630 680 -630 { lab=out1} -N 540 -600 570 -600 { lab=#net6} -N 570 -630 570 -600 { lab=#net6} -N 480 -600 480 -560 { lab=GND} -N 570 -530 570 -490 { lab=GND} -N 570 -530 620 -530 { lab=GND} -N 470 -490 540 -490 { lab=#net4} -N 420 -390 570 -390 { lab=#net1} -N 570 -450 570 -390 { lab=#net1} -N 570 -390 570 -330 { lab=#net1} -N 570 -690 570 -670 { lab=#net2} -N 290 -690 570 -690 { lab=#net2} -N 290 -690 290 -90 { lab=#net2} -N 290 -390 360 -390 { lab=#net2} -N 160 -220 400 -220 { lab=#net4} -N 170 -560 470 -560 { lab=#net4} -N 160 -560 170 -560 { lab=#net4} -N 160 -560 160 -220 { lab=#net4} -N 120 -390 160 -390 { lab=#net4} -C {sky130_fd_pr/nfet3_01v8.sym} 400 -340 0 0 {name=M1 -L=0.15 -W=1 -body=GND -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet3_01v8.sym} 400 -440 0 0 {name=M2 -L=0.15 -W=1 -body=VDD -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=pfet_01v8 -spiceprefix=X -} -C {devices/gnd.sym} 420 -290 0 0 {name=l1 lab=GND} -C {devices/code.sym} -160 -320 0 0 {name=TT_MODELS -only_toplevel=true -format="tcleval( @value )" -value="** manual skywater pdks install (with patches applied) -* .lib \\\\$::SKYWATER_MODELS\\\\/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib \\\\$::SKYWATER_MODELS\\\\/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 -" -spice_ignore=false} -C {devices/vsource.sym} 360 -490 1 0 {name=V1 value="1.8"} -C {devices/gnd.sym} 330 -490 1 0 {name=l3 lab=GND} -C {devices/vsource.sym} 510 -260 1 0 {name=V2 value="1.4"} -C {devices/vsource.sym} 120 -360 0 1 {name=V3 value="SIN(0.4 0.4 40)"} -C {devices/gnd.sym} 120 -330 0 0 {name=l5 lab=GND} -C {devices/vsource.sym} 240 -390 1 0 {name=V4 value="1.8"} -C {devices/gnd.sym} 210 -390 1 0 {name=l6 lab=GND} -C {devices/code.sym} -160 -170 0 0 {name=s1 only_toplevel=false value=" -.tran 0.001s 0.1s -.control - plot v(output) -.endc -.save all -"} -C {sky130_fd_pr/pfet_01v8.sym} 570 -310 1 0 {name=M3 -L=0.15 -W=1 -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=pfet_01v8 -spiceprefix=X -} -C {devices/gnd.sym} 480 -220 0 0 {name=l2 lab=GND} -C {sky130_fd_pr/nfet_01v8.sym} 570 -130 1 1 {name=M4 -L=0.15 -W=1 -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=nfet_01v8 -spiceprefix=X -} -C {devices/gnd.sym} 620 -190 3 0 {name=l4 lab=GND} -C {devices/vsource.sym} 510 -600 1 0 {name=V6 value="1.4"} -C {sky130_fd_pr/pfet_01v8.sym} 570 -650 1 0 {name=M7 -L=0.15 -W=1 -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=pfet_01v8 -spiceprefix=X -} -C {devices/gnd.sym} 480 -560 0 0 {name=l12 lab=GND} -C {sky130_fd_pr/nfet_01v8.sym} 570 -470 1 1 {name=M8 -L=0.15 -W=1 -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=nfet_01v8 -spiceprefix=X -} -C {devices/gnd.sym} 620 -530 3 0 {name=l13 lab=GND} -C {devices/lab_wire.sym} 680 -220 2 0 {name=out1 sig_type=std_logic lab=out1} -C {devices/lab_wire.sym} 680 -570 2 0 {name=out2 sig_type=std_logic lab=out2}
diff --git a/xschem/untitled-4.spice b/xschem/untitled-4.spice deleted file mode 100644 index 69a31c4..0000000 --- a/xschem/untitled-4.spice +++ /dev/null
@@ -1,48 +0,0 @@ -**.subckt untitled-4 -XM1 net1 net2 GND GND sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM2 net1 net2 net3 VDD sky130_fd_pr__pfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -V1 net3 GND 1.8 -V2 net5 GND 1.4 -V3 net4 GND SIN(0.4 0.4 40) -V4 net2 GND 1.8 -XM3 net4 net1 out1 net5 sky130_fd_pr__pfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM4 out1 net2 net4 GND sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -V6 net6 GND 1.4 -XM7 net4 net2 out2 net6 sky130_fd_pr__pfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -XM8 out2 net1 net4 GND sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -**** begin user architecture code - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - - - -.tran 0.001s 0.1s -.control - plot v(output) -.endc -.save all - - -**** end user architecture code -**.ends -.GLOBAL GND -** flattened .save nodes -.end
diff --git a/xschem/untitled.sch b/xschem/untitled.sch deleted file mode 100644 index a043f99..0000000 --- a/xschem/untitled.sch +++ /dev/null
@@ -1,71 +0,0 @@ -v {xschem version=2.9.9 file_version=1.2 } -G {} -K {} -V {} -S {} -E {} -T {NMOS Characterization -} 220 -460 0 0 0.4 0.4 {} -N 290 -300 290 -290 { lab=vg} -N 290 -300 330 -300 { lab=vg} -N 370 -350 370 -330 { lab=vd} -N 370 -350 460 -350 { lab=vd} -N 460 -350 460 -330 { lab=vd} -N 280 -340 290 -340 { lab=vg} -N 270 -340 280 -340 { lab=vg} -N 260 -340 270 -340 { lab=vg} -N 260 -340 260 -300 { lab=vg} -N 260 -300 290 -300 { lab=vg} -N 360 -350 370 -350 { lab=vd} -N 360 -370 360 -350 { lab=vd} -N 360 -370 390 -370 { lab=vd} -C {sky130_fd_pr/nfet3_01v8.sym} 350 -300 0 0 {name=M1 -L=0.15 -W=1 -body=GND -nf=1 -mult=1 -ad="'int((nf+1)/2) * W/nf * 0.29'" -pd="'2*int((nf+1)/2) * (W/nf + 0.29)'" -as="'int((nf+2)/2) * W/nf * 0.29'" -ps="'2*int((nf+2)/2) * (W/nf + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -model=nfet_01v8 -spiceprefix=X -} -C {devices/code_shown.sym} 560 -440 0 0 {name=NGSPICE -only_toplevel=false -value=".option TEMP=27C -.option dccap post brief accurate nomod - -.dc v1 0 3 0.01 - -.control - run - plot (-i(v2)) -.endc - -.save all -"} -C {devices/code.sym} 30 -490 0 0 {name=TT_MODELS -only_toplevel=true -format="tcleval( @value )" -value="** manual skywater pdks install (with patches applied) -* .lib \\\\$::SKYWATER_MODELS\\\\/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib \\\\$::SKYWATER_MODELS\\\\/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 -" -spice_ignore=false} -C {devices/gnd.sym} 370 -270 0 0 {name=l1 lab=GND} -C {devices/vsource.sym} 290 -260 0 0 {name=v1 value=0} -C {devices/vsource.sym} 460 -300 0 0 {name=v2 value=0.9 -} -C {devices/gnd.sym} 290 -230 0 0 {name=l2 lab=GND} -C {devices/gnd.sym} 460 -270 0 0 {name=l3 lab=GND} -C {devices/opin.sym} 270 -340 0 0 {name=vg lab=vg} -C {devices/opin.sym} 370 -370 0 0 {name=vd lab=vd}
diff --git a/xschem/untitled.spice b/xschem/untitled.spice deleted file mode 100644 index d9523b3..0000000 --- a/xschem/untitled.spice +++ /dev/null
@@ -1,37 +0,0 @@ -**.subckt untitled vg vd -*.opin vg -*.opin vd -XM1 vd vg GND GND sky130_fd_pr__nfet_01v8 L=0.15 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29' -+ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W' -+ sa=0 sb=0 sd=0 mult=1 m=1 -v1 vg GND 0 -v2 vd GND 0.9 -**** begin user architecture code - -.option TEMP=27C -.option dccap post brief accurate nomod - -.dc v1 0 3 0.01 - -.control - run - plot (-i(v2)) -.endc - -.save all - - - ** manual skywater pdks install (with patches applied) -* .lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/models/sky130.lib.spice tt - -** opencircuitdesign pdks install -.lib /ef/tech/SW.2/sky130A/libs.tech/ngspice/sky130.lib.spice tt - -.param mc_mm_switch=0 -.param mc_pr_switch=0 - -**** end user architecture code -**.ends -.GLOBAL GND -** flattened .save nodes -.end