diff --git a/xschem_sch/ring-oscillator_with_tg.sch b/xschem_sch/ring-oscillator_with_tg.sch new file mode 100644 index 0000000..6f22134 --- /dev/null +++ b/xschem_sch/ring-oscillator_with_tg.sch @@ -0,0 +1,403 @@ +v {xschem version=3.4.5 file_version=1.2 +} +G {} +K {} +V {} +S {} +E {} +N -50 -120 -50 -40 { +lab=#net1} +N -50 -150 -30 -150 { +lab=VPWR} +N -50 -180 -30 -180 { +lab=VPWR} +N -30 -180 -30 -150 { +lab=VPWR} +N -50 40 130 40 { +lab=VGND} +N -50 20 -50 40 { +lab=VGND} +N 130 40 310 40 { +lab=VGND} +N 310 -120 310 -40 { +lab=#net2} +N 310 20 310 40 { +lab=VGND} +N 80 -160 100 -160 { +lab=#net1} +N 80 -160 80 -10 { +lab=#net1} +N 80 -10 100 -10 { +lab=#net1} +N -50 -80 80 -80 { +lab=#net1} +N 160 -160 180 -160 { +lab=#net3} +N 180 -160 180 -10 { +lab=#net3} +N 160 -10 180 -10 { +lab=#net3} +N 250 -150 270 -150 { +lab=#net3} +N 250 -150 250 -10 { +lab=#net3} +N 250 -10 270 -10 { +lab=#net3} +N 180 -80 250 -80 { +lab=#net3} +N 420 -160 440 -160 { +lab=#net2} +N 420 -160 420 -10 { +lab=#net2} +N 420 -10 440 -10 { +lab=#net2} +N 500 -160 520 -160 { +lab=#net4} +N 520 -160 520 -10 { +lab=#net4} +N 500 -10 520 -10 { +lab=#net4} +N -260 -160 -240 -160 { +lab=OUT} +N -260 -160 -260 -10 { +lab=OUT} +N -260 -10 -240 -10 { +lab=OUT} +N -180 -160 -160 -160 { +lab=#net5} +N -160 -160 -160 -10 { +lab=#net5} +N -180 -10 -160 -10 { +lab=#net5} +N 310 -80 420 -80 { +lab=#net2} +N 570 -150 580 -150 { +lab=#net4} +N 570 -150 570 -10 { +lab=#net4} +N 570 -10 580 -10 { +lab=#net4} +N 520 -80 570 -80 { +lab=#net4} +N 620 -120 620 -40 { +lab=OUT} +N -110 -150 -90 -150 { +lab=#net5} +N -110 -150 -110 -10 { +lab=#net5} +N -110 -10 -90 -10 { +lab=#net5} +N -160 -80 -110 -80 { +lab=#net5} +N 620 -250 620 -180 { +lab=VPWR} +N -50 -250 620 -250 { +lab=VPWR} +N -50 -250 -50 -180 { +lab=VPWR} +N 310 -250 310 -180 { +lab=VPWR} +N 310 40 620 40 { +lab=VGND} +N 620 20 620 40 { +lab=VGND} +N -210 -220 -210 -200 { +lab=VCONT-} +N -210 -220 470 -220 { +lab=VCONT-} +N 470 -220 470 -200 { +lab=VCONT-} +N 130 -220 130 -200 { +lab=VCONT-} +N -210 30 130 30 { +lab=VCONT+} +N 130 30 470 30 { +lab=VCONT+} +N 620 -80 820 -80 { +lab=OUT} +N -310 -80 -260 -80 { +lab=OUT} +N -310 -280 -310 -80 { +lab=OUT} +N -310 -280 740 -280 { +lab=OUT} +N 740 -280 740 -80 { +lab=OUT} +N 200 -340 200 -250 { +lab=VPWR} +N 200 40 200 90 { +lab=VGND} +N 160 -310 160 -220 { +lab=VCONT-} +N 160 30 160 90 { +lab=VCONT+} +N 820 -20 820 0 { +lab=OUT} +N 820 0 880 -0 { +lab=OUT} +N 130 -360 200 -360 { +lab=VPWR} +N 200 -360 200 -340 { +lab=VPWR} +N 120 130 190 130 { +lab=VGND} +N 190 130 200 130 { +lab=VGND} +N 200 90 200 130 { +lab=VGND} +N 130 90 160 90 { +lab=VCONT+} +N 130 -310 160 -310 { +lab=VCONT-} +N 470 -160 470 -140 { +lab=#net2} +N 420 -140 470 -140 { +lab=#net2} +N 310 -150 340 -150 { +lab=VPWR} +N 340 -210 340 -150 { +lab=VPWR} +N 310 -210 340 -210 { +lab=VPWR} +N 130 -160 130 -140 { +lab=#net1} +N 80 -140 130 -140 { +lab=#net1} +N -210 -160 -210 -140 { +lab=OUT} +N -260 -140 -210 -140 { +lab=OUT} +N 620 -150 640 -150 { +lab=VPWR} +N 640 -190 640 -150 { +lab=VPWR} +N 620 -190 640 -190 { +lab=VPWR} +N 540 -80 540 -70 { +lab=#net4} +N 220 -80 220 -70 { +lab=#net3} +N -140 -80 -140 -70 { +lab=#net5} +N 220 -10 220 40 { +lab=VGND} +N -140 -10 -140 40 { +lab=VGND} +N -140 40 -50 40 { +lab=VGND} +N 540 -10 540 40 { +lab=VGND} +N 820 -80 820 -20 { +lab=OUT} +N 310 -10 360 -10 { +lab=VGND} +N 360 -10 360 40 { +lab=VGND} +N -50 -10 20 -10 { +lab=VGND} +N 20 -10 20 40 { +lab=VGND} +N 620 -10 680 -10 { +lab=VGND} +N 680 -10 680 40 { +lab=VGND} +N 620 40 680 40 { +lab=VGND} +N -210 -50 -210 -10 { +lab=VGND} +N -300 -50 -210 -50 { +lab=VGND} +N -300 -50 -300 40 { +lab=VGND} +N -300 40 -140 40 { +lab=VGND} +N -210 -50 130 -50 { +lab=VGND} +N 130 -50 130 -10 { +lab=VGND} +N 130 -50 470 -50 { +lab=VGND} +N 470 -50 470 -10 { +lab=VGND} +C {sky130_fd_pr/pfet_01v8.sym} -70 -150 0 0 {name=M7 +W=0.45 +L=0.2 +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/pfet_01v8.sym} 130 -180 3 1 {name=M8 +W=0.45 +L=0.2 +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/pfet_01v8.sym} 290 -150 0 0 {name=M9 +W=0.45 +L=0.2 +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/pfet_01v8.sym} 600 -150 0 0 {name=M11 +W=0.45 +L=0.2 +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/pfet_01v8.sym} 470 -180 3 1 {name=M10 +W=0.45 +L=0.2 +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/pfet_01v8.sym} -210 -180 3 1 {name=M12 +W=0.45 +L=0.2 +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/ipin.sym} 130 -360 0 0 {name=p1 lab=VPWR + +} +C {devices/opin.sym} 880 0 0 0 {name=p4 lab=OUT +} +C {devices/ipin.sym} 120 130 0 0 {name=p5 lab=VGND +} +C {devices/ipin.sym} 130 90 0 0 {name=p6 lab=VCONT+ +} +C {devices/ipin.sym} 130 -310 0 0 {name=p7 lab=VCONT- +} +C {sky130_fd_pr/cap_mim_m3_1.sym} -140 -40 2 1 {name=C1 model=cap_mim_m3_1 W=10 L=10 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} 220 -40 2 1 {name=C2 model=cap_mim_m3_1 W=10 L=10 MF=1 spiceprefix=X} +C {sky130_fd_pr/cap_mim_m3_1.sym} 540 -40 2 1 {name=C3 model=cap_mim_m3_1 W=10 L=10 MF=10 spiceprefix=X} +C {sky130_fd_pr/nfet_01v8.sym} 600 -10 0 0 {name=M13 +W=0.45 +L=0.2 +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/nfet_01v8.sym} 290 -10 0 0 {name=M1 +W=0.45 +L=0.2 +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/nfet_01v8.sym} -70 -10 0 0 {name=M2 +W=0.45 +L=0.2 +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/nfet_01v8.sym} -210 10 3 0 {name=M3 +W=0.45 +L=0.2 +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/nfet_01v8.sym} 130 10 3 0 {name=M4 +W=0.45 +L=0.2 +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/nfet_01v8.sym} 470 10 3 0 {name=M5 +W=0.45 +L=0.2 +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 +} diff --git a/xschem_sch/ring-oscillator_with_tg.spice b/xschem_sch/ring-oscillator_with_tg.spice new file mode 100644 index 0000000..046d4ab --- /dev/null +++ b/xschem_sch/ring-oscillator_with_tg.spice @@ -0,0 +1,36 @@ +** sch_path: /home/raditya/Documents/Projects/Silicons/Projects/ring-oscillator_with_tg.sch +**.subckt ring-oscillator_with_tg VPWR VCONT- OUT VCONT+ VGND +*.ipin VPWR +*.opin OUT +*.ipin VGND +*.ipin VCONT+ +*.ipin VCONT- +XM7 net1 net5 VPWR VPWR sky130_fd_pr__pfet_01v8 L=0.2 W=0.45 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 net3 VCONT- net1 net1 sky130_fd_pr__pfet_01v8 L=0.2 W=0.45 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 +XM9 net2 net3 VPWR VPWR sky130_fd_pr__pfet_01v8 L=0.2 W=0.45 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 +XM11 OUT net4 VPWR VPWR sky130_fd_pr__pfet_01v8 L=0.2 W=0.45 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 +XM10 net4 VCONT- net2 net2 sky130_fd_pr__pfet_01v8 L=0.2 W=0.45 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 +XM12 net5 VCONT- OUT OUT sky130_fd_pr__pfet_01v8 L=0.2 W=0.45 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 +XC1 VGND net5 sky130_fd_pr__cap_mim_m3_1 W=10 L=10 MF=1 m=1 +XC2 VGND net3 sky130_fd_pr__cap_mim_m3_1 W=10 L=10 MF=1 m=1 +XC3 VGND net4 sky130_fd_pr__cap_mim_m3_1 W=10 L=10 MF=10 m=10 +XM13 OUT net4 VGND VGND sky130_fd_pr__nfet_01v8 L=0.2 W=0.45 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 net2 net3 VGND VGND sky130_fd_pr__nfet_01v8 L=0.2 W=0.45 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 net5 VGND VGND sky130_fd_pr__nfet_01v8 L=0.2 W=0.45 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 VCONT+ net5 VGND sky130_fd_pr__nfet_01v8 L=0.2 W=0.45 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 VCONT+ net3 VGND sky130_fd_pr__nfet_01v8 L=0.2 W=0.45 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 VCONT+ net4 VGND sky130_fd_pr__nfet_01v8 L=0.2 W=0.45 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 +.end diff --git a/xschem_sch/ring-oscillator_with_tg.sym b/xschem_sch/ring-oscillator_with_tg.sym new file mode 100644 index 0000000..7730fa2 --- /dev/null +++ b/xschem_sch/ring-oscillator_with_tg.sym @@ -0,0 +1,26 @@ +v {xschem version=3.4.5 file_version=1.2} +K {type=subcircuit +format="@name @pinlist @symname" +template="name=x1" +} +T {@symname} -121.5 -6 0 0 0.3 0.3 {} +T {@name} 135 -52 0 0 0.2 0.2 {} +L 4 -130 -40 130 -40 {} +L 4 -130 40 130 40 {} +L 4 -130 -40 -130 40 {} +L 4 130 -40 130 40 {} +B 5 -152.5 -32.5 -147.5 -27.5 {name=VPWR dir=in} +L 4 -150 -30 -130 -30 {} +T {VPWR} -125 -34 0 0 0.2 0.2 {} +B 5 -152.5 -12.5 -147.5 -7.5 {name=VCONT- dir=in} +L 4 -150 -10 -130 -10 {} +T {VCONT-} -125 -14 0 0 0.2 0.2 {} +B 5 147.5 -32.5 152.5 -27.5 {name=OUT dir=out} +L 4 130 -30 150 -30 {} +T {OUT} 125 -34 0 1 0.2 0.2 {} +B 5 -152.5 7.5 -147.5 12.5 {name=VCONT+ dir=in} +L 4 -150 10 -130 10 {} +T {VCONT+} -125 6 0 0 0.2 0.2 {} +B 5 -152.5 27.5 -147.5 32.5 {name=VGND dir=in} +L 4 -150 30 -130 30 {} +T {VGND} -125 26 0 0 0.2 0.2 {} diff --git a/xschem_sch/ring-oscillator_with_tg_testbench.sch b/xschem_sch/ring-oscillator_with_tg_testbench.sch new file mode 100644 index 0000000..4f9a3e8 --- /dev/null +++ b/xschem_sch/ring-oscillator_with_tg_testbench.sch @@ -0,0 +1,95 @@ +v {xschem version=3.4.5 file_version=1.2 +} +G {} +K {} +V {} +S {} +E {} +B 2 -1400 -50 -600 350 {flags=graph +y1=0 +y2=2 +ypos1=0 +ypos2=2 +divy=5 +subdivy=1 +unity=1 +x1=0 +x2=10e-6 +divx=5 +subdivx=1 +xlabmag=1.0 +ylabmag=1.0 +node="#net4" +color="4 7" +dataset=1 +unitx=1 +logx=0 +logy=0 +} +N -280 -50 -280 -40 { +lab=#net1} +N -280 20 -160 20 { +lab=GND} +N -160 10 -160 20 { +lab=GND} +N -190 20 -190 40 { +lab=GND} +N -210 -30 -160 -30 { +lab=#net2} +N -210 -70 -210 -30 { +lab=#net2} +N -280 -50 -160 -50 { +lab=#net1} +N -230 -100 -230 -10 { +lab=#net3} +N -230 -10 -160 -10 { +lab=#net3} +N -320 -70 -320 140 { +lab=#net2} +N -320 -70 -210 -70 { +lab=#net2} +N -350 -100 -350 40 { +lab=#net3} +N -350 40 -350 60 { +lab=#net3} +N -350 -100 -230 -100 { +lab=#net3} +N -420 200 -420 270 { +lab=GND} +N -320 200 -320 270 { +lab=GND} +N -420 270 -280 270 { +lab=GND} +N -420 60 -350 60 { +lab=#net3} +N -420 60 -420 140 { +lab=#net3} +N -280 270 -250 270 { +lab=GND} +N -250 20 -250 270 { +lab=GND} +C {devices/gnd.sym} -190 40 0 0 {name=l1 lab=GND} +C {devices/vsource.sym} -280 -10 0 0 {name=V1 value=1.8 savecurrent=false} +C {devices/vsource.sym} -420 170 0 0 {name=V2 value=1.3 savecurrent=false} +C {devices/code.sym} -100 -250 0 0 {name=s1 only_toplevel=false value=" +.option wnflag=1 +.option savecurrents +.control +save all +tran 100n 1m 0 +plot net4 +op +.endc +"} +C {devices/code.sym} -240 -240 0 0 {name=TT_MODELS +only_toplevel=true +format="tcleval( @value )" +value=" +** opencircuitdesign pdks install +.lib $::SKYWATER_MODELS/sky130.lib.spice tt +.param mc_mmm_cwitch=0 +.param mc_pr_switch=1 +" +spice_ignore=false} +C {/home/raditya/Documents/Projects/Silicons/Projects/ring-oscillator_with_tg.sym} -10 -20 0 0 {name=x2} +C {devices/vsource.sym} -320 170 0 0 {name=V5 value=0.5 savecurrent=false}