Layout Nand. Update xschemrc and xschem vco files
diff --git a/mag/VCO/nand.mag b/mag/VCO/nand.mag new file mode 100644 index 0000000..a915891 --- /dev/null +++ b/mag/VCO/nand.mag
@@ -0,0 +1,119 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1608325973 +<< nwell >> +rect -97 -60 503 767 +<< pwell >> +rect -112 -910 511 -158 +<< psubdiff >> +rect -51 -679 461 -615 +rect -51 -850 -25 -679 +rect 434 -850 461 -679 +rect -51 -851 461 -850 +<< nsubdiff >> +rect -45 502 459 726 +<< psubdiffcont >> +rect -25 -850 434 -679 +<< locali >> +rect -33 725 451 726 +rect -41 -850 -25 -849 +rect 434 -850 450 -849 +<< viali >> +rect -48 500 459 725 +rect -54 -679 461 -618 +rect -54 -849 -25 -679 +rect -25 -849 434 -679 +rect 434 -849 461 -679 +<< metal1 >> +rect -60 725 471 731 +rect -60 500 -48 725 +rect 459 500 471 725 +rect -60 494 471 500 +rect -128 297 -118 443 +rect -36 438 -26 443 +rect -36 383 289 438 +rect -36 297 -26 383 +rect 63 165 73 347 +rect 128 165 138 347 +rect 174 166 184 347 +rect 236 166 246 347 +rect 278 164 288 346 +rect 343 164 353 346 +rect -233 21 -223 164 +rect -143 127 -133 164 +rect -143 72 226 127 +rect -143 21 -133 72 +rect -119 -349 -109 -209 +rect -50 -290 -40 -209 +rect -50 -345 282 -290 +rect -50 -349 -40 -345 +rect -267 -447 127 -392 +rect 264 -489 274 -382 +rect 341 -489 351 -382 +rect -238 -638 -228 -495 +rect -124 -550 184 -495 +rect -124 -638 -114 -550 +rect -66 -618 473 -612 +rect -66 -849 -54 -618 +rect 461 -849 473 -618 +rect -66 -855 473 -849 +<< via1 >> +rect -48 500 459 725 +rect -118 297 -36 443 +rect 73 165 128 347 +rect 184 166 236 347 +rect 288 164 343 346 +rect -223 21 -143 164 +rect -109 -349 -50 -209 +rect 274 -489 341 -382 +rect -228 -638 -124 -495 +<< metal2 >> +rect -48 725 459 735 +rect -48 490 459 500 +rect -118 443 -36 453 +rect 74 357 125 358 +rect 182 357 235 490 +rect -118 287 -36 297 +rect 73 347 128 357 +rect -223 164 -143 174 +rect -223 11 -143 21 +rect -211 -485 -155 11 +rect -110 -199 -54 287 +rect 73 155 128 165 +rect 182 347 236 357 +rect 182 166 184 347 +rect 182 156 236 166 +rect 288 346 343 356 +rect 74 82 125 155 +rect 288 154 343 164 +rect 291 82 342 154 +rect 74 31 342 82 +rect -110 -209 -50 -199 +rect -110 -349 -109 -209 +rect -110 -350 -50 -349 +rect -109 -359 -50 -350 +rect 291 -372 342 31 +rect 274 -382 342 -372 +rect -228 -495 -124 -485 +rect 341 -489 342 -382 +rect 274 -496 342 -489 +rect 274 -499 341 -496 +rect -228 -648 -124 -638 +use sky130_fd_pr__nfet_01v8_TFZGL8 sky130_fd_pr__nfet_01v8_TFZGL8_0 +timestamp 1608325973 +transform 1 0 201 0 1 -421 +box -263 -255 263 255 +use sky130_fd_pr__pfet_01v8_H49BFK sky130_fd_pr__pfet_01v8_H49BFK_0 +timestamp 1608325295 +transform 1 0 210 0 1 256 +box -263 -309 263 309 +<< labels >> +rlabel metal1 -98 383 289 438 1 A +rlabel nwell -48 500 459 725 1 vdd +rlabel metal1 -233 21 -223 164 1 B +rlabel metal1 -128 297 -118 443 1 A +rlabel pwell -54 -849 461 -618 1 bulk_n +rlabel space -267 -447 128 -392 1 vss +rlabel metal2 291 -382 342 164 1 out +<< end >>
diff --git a/mag/VCO/sky130_fd_pr__nfet_01v8_TFZGL8.mag b/mag/VCO/sky130_fd_pr__nfet_01v8_TFZGL8.mag new file mode 100644 index 0000000..3b76c39 --- /dev/null +++ b/mag/VCO/sky130_fd_pr__nfet_01v8_TFZGL8.mag
@@ -0,0 +1,115 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1608325973 +<< error_p >> +rect 19 117 77 123 +rect 19 83 31 117 +rect 19 77 77 83 +rect -77 -83 -19 -77 +rect -77 -117 -65 -83 +rect -77 -123 -19 -117 +<< pwell >> +rect -263 -255 263 255 +<< nmos >> +rect -63 -45 -33 45 +rect 33 -45 63 45 +<< ndiff >> +rect -125 33 -63 45 +rect -125 -33 -113 33 +rect -79 -33 -63 33 +rect -125 -45 -63 -33 +rect -33 33 33 45 +rect -33 -33 -17 33 +rect 17 -33 33 33 +rect -33 -45 33 -33 +rect 63 33 125 45 +rect 63 -33 79 33 +rect 113 -33 125 33 +rect 63 -45 125 -33 +<< ndiffc >> +rect -113 -33 -79 33 +rect -17 -33 17 33 +rect 79 -33 113 33 +<< psubdiff >> +rect -227 185 -131 219 +rect 131 185 227 219 +rect -227 123 -193 185 +rect 193 123 227 185 +rect -227 -185 -193 -123 +rect 193 -185 227 -123 +rect -227 -219 -131 -185 +rect 131 -219 227 -185 +<< psubdiffcont >> +rect -131 185 131 219 +rect -227 -123 -193 123 +rect 193 -123 227 123 +rect -131 -219 131 -185 +<< poly >> +rect 15 117 81 133 +rect 15 83 31 117 +rect 65 83 81 117 +rect -63 45 -33 71 +rect 15 67 81 83 +rect 33 45 63 67 +rect -63 -67 -33 -45 +rect -81 -83 -15 -67 +rect 33 -71 63 -45 +rect -81 -117 -65 -83 +rect -31 -117 -15 -83 +rect -81 -133 -15 -117 +<< polycont >> +rect 31 83 65 117 +rect -65 -117 -31 -83 +<< locali >> +rect -227 185 -131 219 +rect 131 185 227 219 +rect -227 123 -193 185 +rect 193 123 227 185 +rect 15 83 31 117 +rect 65 83 81 117 +rect -113 33 -79 49 +rect -113 -49 -79 -33 +rect -17 33 17 49 +rect -17 -49 17 -33 +rect 79 33 113 49 +rect 79 -49 113 -33 +rect -81 -117 -65 -83 +rect -31 -117 -15 -83 +rect -227 -185 -193 -123 +rect 193 -185 227 -123 +rect -227 -219 -131 -185 +rect 131 -219 227 -185 +<< viali >> +rect 31 83 65 117 +rect -113 -33 -79 33 +rect -17 -33 17 33 +rect 79 -33 113 33 +rect -65 -117 -31 -83 +<< metal1 >> +rect 19 117 77 123 +rect 19 83 31 117 +rect 65 83 77 117 +rect 19 77 77 83 +rect -119 33 -73 45 +rect -119 -33 -113 33 +rect -79 -33 -73 33 +rect -119 -45 -73 -33 +rect -23 33 23 45 +rect -23 -33 -17 33 +rect 17 -33 23 33 +rect -23 -45 23 -33 +rect 73 33 119 45 +rect 73 -33 79 33 +rect 113 -33 119 33 +rect 73 -45 119 -33 +rect -77 -83 -19 -77 +rect -77 -117 -65 -83 +rect -31 -117 -19 -83 +rect -77 -123 -19 -117 +<< properties >> +string gencell sky130_fd_pr__nfet_01v8 +string FIXED_BBOX -210 -202 210 202 +string parameters w 0.45 l 0.150 m 1 nf 2 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 0 botc 1 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt sky130_fd_bs_flash__special_sonosfet_star sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0 +string library sky130 +<< end >>
diff --git a/mag/VCO/sky130_fd_pr__pfet_01v8_H49BFK.mag b/mag/VCO/sky130_fd_pr__pfet_01v8_H49BFK.mag new file mode 100644 index 0000000..b0461fe --- /dev/null +++ b/mag/VCO/sky130_fd_pr__pfet_01v8_H49BFK.mag
@@ -0,0 +1,115 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1608325295 +<< error_p >> +rect 19 171 77 177 +rect 19 137 31 171 +rect 19 131 77 137 +rect -77 -137 -19 -131 +rect -77 -171 -65 -137 +rect -77 -177 -19 -171 +<< nwell >> +rect -263 -309 263 309 +<< pmos >> +rect -63 -90 -33 90 +rect 33 -90 63 90 +<< pdiff >> +rect -125 78 -63 90 +rect -125 -78 -113 78 +rect -79 -78 -63 78 +rect -125 -90 -63 -78 +rect -33 78 33 90 +rect -33 -78 -17 78 +rect 17 -78 33 78 +rect -33 -90 33 -78 +rect 63 78 125 90 +rect 63 -78 79 78 +rect 113 -78 125 78 +rect 63 -90 125 -78 +<< pdiffc >> +rect -113 -78 -79 78 +rect -17 -78 17 78 +rect 79 -78 113 78 +<< nsubdiff >> +rect -227 239 -131 273 +rect 131 239 227 273 +rect -227 177 -193 239 +rect 193 177 227 239 +rect -227 -239 -193 -177 +rect 193 -239 227 -177 +rect -227 -273 -131 -239 +rect 131 -273 227 -239 +<< nsubdiffcont >> +rect -131 239 131 273 +rect -227 -177 -193 177 +rect 193 -177 227 177 +rect -131 -273 131 -239 +<< poly >> +rect 15 171 81 187 +rect 15 137 31 171 +rect 65 137 81 171 +rect 15 121 81 137 +rect -63 90 -33 116 +rect 33 90 63 121 +rect -63 -121 -33 -90 +rect 33 -116 63 -90 +rect -81 -137 -15 -121 +rect -81 -171 -65 -137 +rect -31 -171 -15 -137 +rect -81 -187 -15 -171 +<< polycont >> +rect 31 137 65 171 +rect -65 -171 -31 -137 +<< locali >> +rect -227 239 -131 273 +rect 131 239 227 273 +rect -227 177 -193 239 +rect 193 177 227 239 +rect 15 137 31 171 +rect 65 137 81 171 +rect -113 78 -79 94 +rect -113 -94 -79 -78 +rect -17 78 17 94 +rect -17 -94 17 -78 +rect 79 78 113 94 +rect 79 -94 113 -78 +rect -81 -171 -65 -137 +rect -31 -171 -15 -137 +rect -227 -239 -193 -177 +rect 193 -239 227 -177 +rect -227 -273 -131 -239 +rect 131 -273 227 -239 +<< viali >> +rect 31 137 65 171 +rect -113 -78 -79 78 +rect -17 -78 17 78 +rect 79 -78 113 78 +rect -65 -171 -31 -137 +<< metal1 >> +rect 19 171 77 177 +rect 19 137 31 171 +rect 65 137 77 171 +rect 19 131 77 137 +rect -119 78 -73 90 +rect -119 -78 -113 78 +rect -79 -78 -73 78 +rect -119 -90 -73 -78 +rect -23 78 23 90 +rect -23 -78 -17 78 +rect 17 -78 23 78 +rect -23 -90 23 -78 +rect 73 78 119 90 +rect 73 -78 79 78 +rect 113 -78 119 78 +rect 73 -90 119 -78 +rect -77 -137 -19 -131 +rect -77 -171 -65 -137 +rect -31 -171 -19 -137 +rect -77 -177 -19 -171 +<< properties >> +string gencell sky130_fd_pr__pfet_01v8 +string FIXED_BBOX -210 -256 210 256 +string parameters w 0.9 l 0.15 m 1 nf 2 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 0 poverlap 0 doverlap 1 lmin 0.15 wmin 0.42 compatible {sky130_fd_pr__pfet_01v8 sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt sky130_fd_pr__pfet_g5v0d10v5} full_metal 1 viagl 0 viagr 0 viagt 0 viagb 0 viagate 100 viadrn 100 viasrc 100 +string library sky130 +<< end >>
diff --git a/xschem/ring_vco/FD.sch b/xschem/ring_vco/FD.sch deleted file mode 100644 index 02f9c22..0000000 --- a/xschem/ring_vco/FD.sch +++ /dev/null
@@ -1,99 +0,0 @@ -v { version=2.9.8 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 70 -250 70 -220 { lab=GND} -N 160 -250 160 -220 { lab=vss} -N 160 -340 160 -310 { lab=vdd} -N 70 -340 70 -310 { lab=vss} -N 340 -260 340 -230 { lab=vss} -N 340 -350 340 -320 { lab=in} -N -90 -0 -60 -0 { lab=in} -N 10 70 10 100 { lab=vss} -N 10 -100 10 -70 { lab=vdd} -N 290 0 330 -0 { lab=outx4} -N 220 70 220 90 { lab=vss} -N 220 -100 220 -70 { lab=vdd} -N 470 0 510 0 { lab=outx8} -N 400 70 400 90 { lab=vss} -N 400 -100 400 -70 { lab=vdd} -N 650 0 690 0 { lab=outx16} -N 580 70 580 90 { lab=vss} -N 580 -100 580 -70 { lab=vdd} -N 830 0 870 0 { lab=outx32} -N 760 70 760 90 { lab=vss} -N 760 -100 760 -70 { lab=vdd} -N 870 90 870 110 { lab=vss} -N 870 0 870 30 { lab=outx32} -N 80 -0 150 -0 { lab=outx2} -C {vsource.sym} 70 -280 0 0 {name=V1 value=DC\{Vss\}} -C {vsource.sym} 160 -280 0 0 {name=V2 value=DC\{Vdd\}} -C {gnd.sym} 70 -220 0 0 {name=l5 lab=GND} -C {lab_pin.sym} 70 -340 1 0 {name=l6 sig_type=std_logic lab=vss} -C {lab_pin.sym} 160 -220 3 0 {name=l7 sig_type=std_logic lab=vss} -C {lab_pin.sym} 160 -340 1 0 {name=l9 sig_type=std_logic lab=vdd -} -C {vsource.sym} 340 -290 0 0 {name=V3 value="PULSE(0 \{Vin\} 1ns 1ps 1ps 1ns 2ns)"} -C {lab_pin.sym} 340 -230 3 0 {name=l22 sig_type=std_logic lab=vss} -C {lab_pin.sym} 340 -350 1 0 {name=l23 sig_type=std_logic lab=in} -C {netlist_not_shown.sym} 630 -300 0 0 {name=SIMULATION only_toplevel=false - -value=" - - -* Circuit Parameters -.param vdd = 1.8 -.param vss = 0.0 -.param vin = 1.8 -.options TEMP = 27.0 - -* Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib SS - -* OP Parameters & Singals to save - -*Simulations -.control - tran 0.1ns 500ns - setplot tran1 - plot v(outx32) v(outx16)+2 v(outx8)+4 v(outx4)+6 v(outx2)+8 v(in)+10 - *write ~/caravel_fulgor_opamp/xschem/sim_results/opamp_closeloop_tran1.raw - -.endc - -.end -"} -C {lab_pin.sym} -90 0 0 0 {name=l3 sig_type=std_logic lab=in} -C {lab_pin.sym} 10 100 3 0 {name=l2 sig_type=std_logic lab=vss} -C {lab_pin.sym} 10 -100 1 0 {name=l4 sig_type=std_logic lab=vdd -} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym} 10 0 0 0 {name=x1} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym} 220 0 0 0 {name=x2} -C {lab_pin.sym} 220 -100 1 0 {name=l10 sig_type=std_logic lab=vdd -} -C {lab_pin.sym} 220 90 3 0 {name=l11 sig_type=std_logic lab=vss} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym} 400 0 0 0 {name=x3} -C {lab_pin.sym} 400 -100 1 0 {name=l13 sig_type=std_logic lab=vdd -} -C {lab_pin.sym} 400 90 3 0 {name=l14 sig_type=std_logic lab=vss} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym} 580 0 0 0 {name=x4} -C {lab_pin.sym} 580 -100 1 0 {name=l15 sig_type=std_logic lab=vdd -} -C {lab_pin.sym} 580 90 3 0 {name=l16 sig_type=std_logic lab=vss} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym} 760 0 0 0 {name=x5} -C {lab_pin.sym} 760 -100 1 0 {name=l17 sig_type=std_logic lab=vdd -} -C {lab_pin.sym} 760 90 3 0 {name=l18 sig_type=std_logic lab=vss} -C {capa.sym} 870 60 0 0 {name=C2 -m=1 -value=10f -footprint=1206 -device="ceramic capacitor"} -C {lab_pin.sym} 870 110 3 0 {name=l19 sig_type=std_logic lab=vss} -C {lab_pin.sym} 870 0 2 0 {name=l20 sig_type=std_logic lab=outx32} -C {lab_wire.sym} 120 0 0 0 {name=l1 sig_type=std_logic lab=outx2} -C {lab_wire.sym} 320 0 0 0 {name=l21 sig_type=std_logic lab=outx4} -C {lab_wire.sym} 500 0 0 0 {name=l24 sig_type=std_logic lab=outx8} -C {lab_wire.sym} 680 0 0 0 {name=l25 sig_type=std_logic lab=outx16}
diff --git a/xschem/ring_vco/FD.spice b/xschem/ring_vco/FD.spice deleted file mode 100644 index 9df0b12..0000000 --- a/xschem/ring_vco/FD.spice +++ /dev/null
@@ -1,79 +0,0 @@ -**.subckt FD -V1 vss GND DC{Vss} -V2 vdd vss DC{Vdd} -V3 in vss PULSE(0 {Vin} 1ps 1ps 1ps 5ns 10ns) -x1 in vss out vdd FD_v2 -C1 out vss 10f m=1 -**** begin user architecture code - - - - -* Circuit Parameters -.param vdd = 1.8 -.param vss = 0.0 -.param vin = 1.8 -.param iref = 200u -.options TEMP = 27.0 - -* Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT - -* OP Parameters & Singals to save -.save all @M.X1.XM1.msky130_fd_pr__nfet_01v8[id] @M.X1.XM1.msky130_fd_pr__nfet_01v8[vth] -+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[vgs] @M.X1.XM1.msky130_fd_pr__nfet_01v8[vds] @M.X1.XM1.msky130_fd_pr__nfet_01v8[vdsat] -+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[gm] @M.X1.XM1.msky130_fd_pr__nfet_01v8[gds] @M.X1.XM2.msky130_fd_pr__pfet_01v8[id] -+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[vth] @M.X1.XM2.msky130_fd_pr__pfet_01v8[vgs] @M.X1.XM2.msky130_fd_pr__pfet_01v8[vds] -+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[vdsat] @M.X1.XM2.msky130_fd_pr__pfet_01v8[gm] @M.X1.XM2.msky130_fd_pr__pfet_01v8[gds] - -*Simulations -.control - tran 0.1ns 200ns - setplot tran1 - plot v(in) v(out) - *write ~/caravel_fulgor_opamp/xschem/sim_results/opamp_closeloop_tran1.raw - - -.endc - -.end - - -**** end user architecture code -**.ends - -* expanding symbol: /home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym # of pins=4 - -.subckt FD_v2 clk vss out vdd -*.opin out -*.ipin vdd -*.ipin clk -*.ipin vss -XM1 1 4 vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM2 1 4 vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM3 1 clk 2 vdd sky130_fd_pr__pfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM4 1 clk_b 2 vss sky130_fd_pr__nfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM5 3 2 vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM6 3 2 vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM7 3 clk out vdd sky130_fd_pr__pfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM8 3 clk_b out vss sky130_fd_pr__nfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM9 4 out vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM10 4 out vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM11 clk_b clk vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM12 clk_b clk vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -.ends - -.GLOBAL GND -.end
diff --git a/xschem/ring_vco/FD_v2 b/xschem/ring_vco/FD_v2 deleted file mode 100644 index ee956bc..0000000 --- a/xschem/ring_vco/FD_v2 +++ /dev/null
@@ -1,10 +0,0 @@ -v {xschem version=2.9.8 file_version=1.2} -G {} -K {} - -T {@symname} -22.5 -6 0 0 0.3 0.3 {} -T {@name} 135 -22 0 0 0.2 0.2 {} -L 4 -130 -10 130 -10 {} -L 4 -130 10 130 10 {} -L 4 -130 -10 -130 10 {} -L 4 130 -10 130 10 {}
diff --git a/xschem/ring_vco/FD_v2.spice b/xschem/ring_vco/FD_v2.spice new file mode 100644 index 0000000..e4bcb13 --- /dev/null +++ b/xschem/ring_vco/FD_v2.spice
@@ -0,0 +1,31 @@ +**.subckt FD_v2 out vdd clk vss +*.opin out +*.ipin vdd +*.ipin clk +*.ipin vss +XM1 1 4 vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM2 1 4 vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM3 1 clk 2 vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM4 1 clk_b 2 vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM5 3 2 vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM6 3 2 vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM7 3 clk_b out vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM8 3 clk out vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM9 4 out vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM10 4 out vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM11 clk_b clk vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM12 clk_b clk vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +**.ends +.end
diff --git a/xschem/ring_vco/FFD.sch b/xschem/ring_vco/FFD.sch deleted file mode 100644 index 28d6927..0000000 --- a/xschem/ring_vco/FFD.sch +++ /dev/null
@@ -1,64 +0,0 @@ -v { version=2.9.8 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 1860 -140 1890 -140 { lab=OUT} -N 1610 -80 1610 -50 { lab=vss} -N 1610 80 1610 100 { lab=vdd} -N 1520 140 1560 140 { lab=OUT} -N 1520 60 1520 140 { lab=OUT} -N 1690 -140 1760 -140 { lab=OUT} -N 1760 -140 1860 -140 { lab=OUT} -N 1520 -120 1560 -120 { lab=nOUT} -N 1690 160 1760 160 { lab=nOUT} -N 1760 100 1760 160 { lab=nOUT} -N 1760 60 1760 100 { lab=nOUT} -N 1760 -100 1760 -40 { lab=OUT} -N 1760 -140 1760 -100 { lab=OUT} -N 1520 -120 1520 -40 { lab=nOUT} -N 1520 -40 1760 60 { lab=nOUT} -N 1520 60 1760 -40 { lab=OUT} -N 1610 -230 1610 -200 { lab=vdd} -N 1610 220 1610 250 { lab=vss} -N 1610 70 1610 80 { lab=vdd} -N 1150 -190 1220 -190 { lab=T} -N 1460 -160 1560 -160 { lab=#net1} -N 1460 180 1560 180 { lab=#net2} -N 1260 -160 1320 -160 { lab=CLK} -N 1260 -160 1260 180 { lab=CLK} -N 1260 180 1320 180 { lab=CLK} -N 1220 -190 1320 -190 { lab=T} -N 1220 150 1320 150 { lab=T} -N 1220 -190 1220 150 { lab=T} -N 1150 -0 1260 0 { lab=CLK} -N 1290 -130 1320 -130 { lab=nOUT} -N 1290 -130 1290 -40 { lab=nOUT} -N 1290 -40 1520 -40 { lab=nOUT} -N 1290 60 1520 60 { lab=OUT} -N 1290 60 1290 210 { lab=OUT} -N 1290 210 1320 210 { lab=OUT} -N 1370 90 1370 110 { lab=vdd} -N 1370 -260 1370 -230 { lab=vdd} -N 1370 -90 1370 -70 { lab=vss} -N 1370 250 1370 280 { lab=vss} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nand.sym} 1620 -140 0 0 {name=x1} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nand.sym} 1620 160 0 0 {name=x2} -C {lab_pin.sym} 1610 70 1 0 {name=l7 sig_type=std_logic lab=vdd -} -C {lab_pin.sym} 1610 -50 3 0 {name=l12 sig_type=std_logic lab=vss} -C {ipin.sym} 1610 -230 1 0 {name=p2 lab=vdd} -C {ipin.sym} 1610 250 3 0 {name=p6 lab=vss} -C {opin.sym} 1890 -140 0 0 {name=p3 lab=OUT} -C {ipin.sym} 1150 -190 0 0 {name=p4 lab=T} -C {lab_wire.sym} 1730 160 0 0 {name=l3 sig_type=std_logic lab=nOUT} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nand3.sym} 1380 -160 0 0 {name=x3} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nand3.sym} 1380 180 0 0 {name=x4} -C {ipin.sym} 1150 0 0 0 {name=p1 lab=CLK} -C {lab_pin.sym} 1370 90 1 0 {name=l1 sig_type=std_logic lab=vdd -} -C {lab_pin.sym} 1370 -260 1 0 {name=l2 sig_type=std_logic lab=vdd -} -C {lab_pin.sym} 1370 -70 3 0 {name=l4 sig_type=std_logic lab=vss} -C {lab_pin.sym} 1370 280 3 0 {name=l5 sig_type=std_logic lab=vss}
diff --git a/xschem/ring_vco/FFD.spice b/xschem/ring_vco/FFD.spice deleted file mode 100644 index f828127..0000000 --- a/xschem/ring_vco/FFD.spice +++ /dev/null
@@ -1,90 +0,0 @@ -**.subckt FFD -x1 vdd in out net1 vss nand -V1 vss GND DC{Vss} -V2 vdd vss DC{Vdd} -V3 in vss PULSE(0 {Vin} 1ps 1ps 1ps 50ns 100ns) DC{Vin} -C1 out vss 1f m=1 -x2 vdd out net1 net2 vss nand -x3 vdd in net2 vss vss not -**** begin user architecture code - - - - -* Circuit Parameters -.param vdd = 1.8 -.param vss = 0.0 -.param vin = 1.8 -.param iref = 200u -.options TEMP = 65.0 - -* Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT - -* OP Parameters & Singals to save -.save all @M.X1.XM1.msky130_fd_pr__nfet_01v8[id] @M.X1.XM1.msky130_fd_pr__nfet_01v8[vth] -+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[vgs] @M.X1.XM1.msky130_fd_pr__nfet_01v8[vds] @M.X1.XM1.msky130_fd_pr__nfet_01v8[vdsat] -+ @M.X1.XM1.msky130_fd_pr__nfet_01v8[gm] @M.X1.XM1.msky130_fd_pr__nfet_01v8[gds] @M.X1.XM2.msky130_fd_pr__pfet_01v8[id] -+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[vth] @M.X1.XM2.msky130_fd_pr__pfet_01v8[vgs] @M.X1.XM2.msky130_fd_pr__pfet_01v8[vds] -+ @M.X1.XM2.msky130_fd_pr__pfet_01v8[vdsat] @M.X1.XM2.msky130_fd_pr__pfet_01v8[gm] @M.X1.XM2.msky130_fd_pr__pfet_01v8[gds] - -*Simulations -.control - tran 0.1n 0.5u - setplot tran1 - plot v(out) v(in) - setplot tran2 - plot v(in) - setplot tran3 - plot v(out) - write ~/caravel_fulgor_opamp/xschem/ring_osc/nand_tran1.raw - - - -.endc - -.end - - -**** end user architecture code -**.ends - -* expanding symbol: /home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nand.sym # of pins=5 - -.subckt nand vdd A OUT B vss -*.opin OUT -*.ipin vdd -*.ipin A -*.ipin B -*.ipin vss -XM1 net1 B vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM2 OUT A net1 vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM3 net2 A vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM4 OUT B net2 vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM5 OUT A vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM6 OUT B vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -.ends - - -* expanding symbol: /home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/not.sym # of pins=5 - -.subckt not vdd in out vss vbulk -*.ipin vdd -*.ipin in -*.ipin vss -*.opin out -*.ipin vbulk -XM1 out in vss vbulk sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -XM2 out in vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' -+ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 -.ends - -.GLOBAL GND -.end
diff --git a/xschem/ring_vco/FFD.sym b/xschem/ring_vco/FFD.sym deleted file mode 100644 index 588ebff..0000000 --- a/xschem/ring_vco/FFD.sym +++ /dev/null
@@ -1,34 +0,0 @@ -v {xschem version=2.9.8 file_version=1.2} -G {} -K {type=subcircuit -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 -40 -30 -40 30 {} -L 4 40 -30 40 30 {} -L 4 0 -70 0 -50 {} -L 4 -60 -30 -40 -30 {} -L 4 40 0 60 0 {} -L 4 0 50 0 70 {} -L 4 -40 -50 40 -50 {} -L 4 -40 50 40 50 {} -L 4 40 30 40 50 {} -L 4 -40 30 -40 50 {} -L 4 -40 -50 -40 -30 {} -L 4 40 -50 40 -30 {} -L 4 -60 0 -40 0 {} -B 5 -2.5 -72.5 2.5 -67.5 {name=vdd dir=in name=p2 } -B 5 -62.5 -32.5 -57.5 -27.5 {name=T dir=in name=p1 } -B 5 57.5 -2.5 62.5 2.5 {name=OUT dir=out name=p3 } -B 5 -2.5 67.5 2.5 72.5 {name=vss dir=in name=p6 } -B 5 -62.5 -2.5 -57.5 2.5 {name=CLK dir=in name=p1 } -T {@symname} -41.5 14 0 0 0.3 0.3 {} -T {@name} -15 -22 0 0 0.2 0.2 {} -T {vdd} -6 -75 1 0 0.2 0.2 {} -T {T} -35 -34 0 0 0.2 0.2 {} -T {OUT} 35 -4 0 1 0.2 0.2 {} -T {vss} -14 75 3 0 0.2 0.2 {} -T {CLK} -35 -4 0 0 0.2 0.2 {}
diff --git a/xschem/ring_vco/FFD_xor.sch b/xschem/ring_vco/FFD_xor.sch deleted file mode 100644 index f8a6517..0000000 --- a/xschem/ring_vco/FFD_xor.sch +++ /dev/null
@@ -1,72 +0,0 @@ -v { version=2.9.8 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 1860 50 1890 50 { lab=OUT} -N 1760 50 1860 50 { lab=OUT} -N 1190 -150 1260 -150 { lab=D} -N 1190 450 1300 450 { lab=CLK} -N 1540 50 1760 50 { lab=OUT} -N 1260 -150 1440 -150 { lab=D} -N 1370 -130 1440 -130 { lab=OUT} -N 1370 -130 1370 -70 { lab=OUT} -N 1370 -70 1640 -20 { lab=OUT} -N 1640 -20 1640 50 { lab=OUT} -N 1370 40 1440 40 { lab=#net1} -N 1370 -20 1370 40 { lab=#net1} -N 1370 -20 1640 -70 { lab=#net1} -N 1640 -140 1640 -70 { lab=#net1} -N 1540 -140 1640 -140 { lab=#net1} -N 1480 -10 1480 0 { lab=vdd} -N 1480 -10 1510 -10 { lab=vdd} -N 1480 -90 1480 -80 { lab=vss} -N 1480 -80 1510 -80 { lab=vss} -N 1480 -200 1480 -190 { lab=vdd} -N 1480 -200 1510 -200 { lab=vdd} -N 1480 100 1480 110 { lab=vss} -N 1480 110 1510 110 { lab=vss} -N 1370 260 1440 260 { lab=#net2} -N 1370 260 1370 320 { lab=#net2} -N 1370 320 1640 370 { lab=#net2} -N 1640 370 1640 440 { lab=#net2} -N 1370 430 1440 430 { lab=#net3} -N 1370 370 1370 430 { lab=#net3} -N 1370 370 1640 320 { lab=#net3} -N 1640 250 1640 320 { lab=#net3} -N 1540 250 1640 250 { lab=#net3} -N 1480 380 1480 390 { lab=vdd} -N 1480 380 1510 380 { lab=vdd} -N 1480 300 1480 310 { lab=vss} -N 1480 310 1510 310 { lab=vss} -N 1480 190 1480 200 { lab=vdd} -N 1480 190 1510 190 { lab=vdd} -N 1480 490 1480 500 { lab=#net4} -N 1480 500 1510 500 { lab=#net4} -N 1370 40 1370 240 { lab=#net1} -N 1370 240 1440 240 { lab=#net1} -N 1640 160 1640 250 { lab=#net3} -N 1400 160 1640 160 { lab=#net3} -N 1400 60 1400 160 { lab=#net3} -N 1400 60 1440 60 { lab=#net3} -N 1540 440 1640 440 { lab=#net2} -N 1300 450 1440 450 { lab=CLK} -C {ipin.sym} 1510 -200 2 0 {name=p2 lab=vdd} -C {ipin.sym} 1510 500 2 0 {name=p6 lab=vss} -C {opin.sym} 1890 50 0 0 {name=p3 lab=OUT} -C {ipin.sym} 1190 -150 0 0 {name=p4 lab=D} -C {ipin.sym} 1190 450 0 0 {name=p1 lab=CLK} -C {lab_pin.sym} 1510 -80 2 0 {name=l5 sig_type=std_logic lab=vss} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nor.sym} 1480 -140 0 0 {name=x1} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nor.sym} 1480 50 0 0 {name=x2} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nor.sym} 1480 250 0 0 {name=x3} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nor.sym} 1480 440 0 0 {name=x4} -C {lab_pin.sym} 1510 110 2 0 {name=l1 sig_type=std_logic lab=vss} -C {lab_pin.sym} 1510 310 2 0 {name=l3 sig_type=std_logic lab=vss} -C {lab_pin.sym} 1510 -10 2 0 {name=l7 sig_type=std_logic lab=vdd -} -C {lab_pin.sym} 1510 190 2 0 {name=l8 sig_type=std_logic lab=vdd -} -C {lab_pin.sym} 1510 380 2 0 {name=l9 sig_type=std_logic lab=vdd -}
diff --git a/xschem/ring_vco/FFD_xor.sym b/xschem/ring_vco/FFD_xor.sym deleted file mode 100644 index 91b1208..0000000 --- a/xschem/ring_vco/FFD_xor.sym +++ /dev/null
@@ -1,30 +0,0 @@ -v {xschem version=2.9.8 file_version=1.2} -G {} -K {type=subcircuit -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 -40 -40 -40 40 {} -L 4 40 -40 40 40 {} -L 4 0 -60 0 -40 {} -L 4 -60 -30 -40 -30 {} -L 4 40 0 60 0 {} -L 4 -60 0 -40 0 {} -L 4 0 40 0 60 {} -L 4 -40 40 40 40 {} -L 4 -40 -40 40 -40 {} -B 5 -2.5 -62.5 2.5 -57.5 {name=vdd dir=in name=p2 } -B 5 -62.5 -32.5 -57.5 -27.5 {name=D dir=in name=p4 } -B 5 57.5 -2.5 62.5 2.5 {name=OUT dir=out name=p3 } -B 5 -62.5 -2.5 -57.5 2.5 {name=CLK dir=in name=p1 } -B 5 -2.5 57.5 2.5 62.5 {name=vss dir=in name=p6 } -T {@symname} 10.5 44 0 0 0.3 0.3 {} -T {@name} 5 -52 0 0 0.2 0.2 {} -T {vdd} 4 -35 1 0 0.2 0.2 {} -T {D} -35 -34 0 0 0.2 0.2 {} -T {OUT} 45 -4 0 1 0.2 0.2 {} -T {CLK} -35 -4 0 0 0.2 0.2 {} -T {vss} -4 35 3 0 0.2 0.2 {}
diff --git a/xschem/ring_vco/bsim4v5.out b/xschem/ring_vco/bsim4v5.out deleted file mode 100644 index b5885f2..0000000 --- a/xschem/ring_vco/bsim4v5.out +++ /dev/null
@@ -1,5 +0,0 @@ -BSIM4v5: Berkeley Short Channel IGFET Model-4 -Developed by Xuemei (Jane) Xi, Mohan Dunga, Prof. Ali Niknejad and Prof. Chenming Hu in 2003. - -++++++++++ BSIM4v5 PARAMETER CHECKING BELOW ++++++++++ -Model = x1.xm1:sky130_fd_pr__nfet_01v8__model.161
diff --git a/xschem/ring_vco/nand.spice b/xschem/ring_vco/nand.spice new file mode 100644 index 0000000..2f0ab7d --- /dev/null +++ b/xschem/ring_vco/nand.spice
@@ -0,0 +1,17 @@ +**.subckt nand OUT vdd A B vss vbulk +*.opin OUT +*.ipin vdd +*.ipin A +*.ipin B +*.ipin vss +*.ipin vbulk +XM1 net1 B vss vbulk sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM2 OUT A net1 vbulk sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM5 OUT A vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +XM6 OUT B vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' ++ ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 +**.ends +.end
diff --git a/xschem/ring_vco/nand.sym b/xschem/ring_vco/nand.sym index b62cefb..dc49880 100644 --- a/xschem/ring_vco/nand.sym +++ b/xschem/ring_vco/nand.sym
@@ -4,28 +4,31 @@ format="@name @pinlist @symname" template="name=x1" } - +V {} +S {} +E {} +L 4 -10 -70 -10 -50 {} +L 4 -60 -20 -40 -20 {} +L 4 60 0 80 0 {} +L 4 -60 20 -40 20 {} +L 4 -10 50 -10 70 {} +L 4 -20 50 -20 70 {} +L 4 -40 -50 -40 50 {} +L 4 -40 50 0 50 {} +L 4 -40 -50 -0 -50 {} +B 5 -12.5 -72.5 -7.5 -67.5 {name=vdd dir=in name=p2 } +B 5 -62.5 -22.5 -57.5 -17.5 {name=A dir=in name=p3 } +B 5 77.5 -2.5 82.5 2.5 {name=OUT dir=out name=p1 } +B 5 -62.5 17.5 -57.5 22.5 {name=B dir=in name=p5 } +B 5 -12.5 67.5 -7.5 72.5 {name=vss dir=in name=p6 } +B 5 -22.5 67.5 -17.5 72.5 {name=vbulk dir=in name=p4 } +A 4 -6.25 0 50.38911092686593 277.1250163489018 165.7499673021964 {} +A 4 51.5 -0.25 7.504165509901817 358.0908475670036 360 {} T {@symname} -36 -6 0 0 0.3 0.3 {} -T {@name} 135 -62 0 0 0.2 0.2 {} -L 4 -130 -50 130 -50 {} -L 4 -130 50 130 50 {} -L 4 -130 -50 -130 50 {} -L 4 130 -50 130 50 {} -B 5 -152.5 -42.5 -147.5 -37.5 {name=vdd dir=in name=p2 } -L 4 -150 -40 -130 -40 {} -T {vdd} -125 -44 0 0 0.2 0.2 {} -B 5 -152.5 -22.5 -147.5 -17.5 {name=A dir=in name=p3 } -L 4 -150 -20 -130 -20 {} -T {A} -125 -24 0 0 0.2 0.2 {} -B 5 147.5 -42.5 152.5 -37.5 {name=OUT dir=out name=p1 } -L 4 130 -40 150 -40 {} -T {OUT} 125 -44 0 1 0.2 0.2 {} -B 5 -152.5 -2.5 -147.5 2.5 {name=B dir=in name=p5 } -L 4 -150 0 -130 0 {} -T {B} -125 -4 0 0 0.2 0.2 {} -B 5 -152.5 17.5 -147.5 22.5 {name=vss dir=in name=p6 } -L 4 -150 20 -130 20 {} -T {vss} -125 16 0 0 0.2 0.2 {} -B 5 -152.5 37.5 -147.5 42.5 {name=vbulk dir=in name=p4 } -L 4 -150 40 -130 40 {} -T {vbulk} -125 36 0 0 0.2 0.2 {} +T {@name} -15 -22 0 0 0.2 0.2 {} +T {vdd} -6 -45 1 0 0.2 0.2 {} +T {A} -35 -24 0 0 0.2 0.2 {} +T {OUT} 85 6 0 1 0.2 0.2 {} +T {B} -35 16 0 0 0.2 0.2 {} +T {vss} -14 45 3 0 0.2 0.2 {} +T {vbulk} -24 45 3 0 0.2 0.2 {}
diff --git a/xschem/ring_vco/nand3.sch b/xschem/ring_vco/nand3.sch deleted file mode 100644 index dcdf45f..0000000 --- a/xschem/ring_vco/nand3.sch +++ /dev/null
@@ -1,120 +0,0 @@ -v { version=2.9.8 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 300 -0 460 -0 { lab=OUT} -N 490 90 490 120 { lab=#net1} -N 490 180 490 200 { lab=#net2} -N 280 -130 280 -100 { lab=vdd} -N 280 -130 440 -130 { lab=vdd} -N 410 60 450 60 { lab=A} -N 200 -70 240 -70 { lab=A} -N 410 -70 450 -70 { lab=B} -N 410 150 450 150 { lab=B} -N 410 310 490 310 { lab=vss} -N 200 -130 280 -130 { lab=vdd} -N 280 -40 280 0 { lab=OUT} -N 280 0 300 -0 { lab=OUT} -N 490 60 570 60 { lab=vss} -N 570 60 570 200 { lab=vss} -N 490 310 570 310 { lab=vss} -N 490 150 570 150 { lab=vss} -N 590 -70 630 -70 { lab=C} -N 670 -40 670 0 { lab=OUT} -N 460 -0 670 0 { lab=OUT} -N 670 -0 760 -0 { lab=OUT} -N 670 -130 670 -100 { lab=vdd} -N 440 -130 670 -130 { lab=vdd} -N 490 -70 550 -70 { lab=vdd} -N 550 -130 550 -70 { lab=vdd} -N 490 -130 490 -100 { lab=vdd} -N 490 -40 490 0 { lab=OUT} -N 670 -70 730 -70 { lab=vdd} -N 730 -130 730 -70 { lab=vdd} -N 670 -130 730 -130 { lab=vdd} -N 280 -70 350 -70 { lab=vdd} -N 350 -130 350 -70 { lab=vdd} -N 490 -0 490 30 { lab=OUT} -N 490 200 490 220 { lab=#net2} -N 490 280 490 310 { lab=vss} -N 490 250 570 250 { lab=vss} -N 570 200 570 250 { lab=vss} -N 570 250 570 310 { lab=vss} -N 410 250 450 250 { lab=C} -C {sky130_fd_pr/nfet_01v8.sym} 470 150 0 0 {name=M1 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/nfet_01v8.sym} 470 60 0 0 {name=M2 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet_01v8.sym} 260 -70 0 0 {name=M5 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=pfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet_01v8.sym} 470 -70 0 0 {name=M6 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=pfet_01v8 -spiceprefix=X -} -C {opin.sym} 760 0 0 0 {name=p1 lab=OUT} -C {ipin.sym} 200 -130 0 0 {name=p2 lab=vdd} -C {ipin.sym} 200 -70 0 0 {name=p3 lab=A} -C {ipin.sym} 410 150 0 0 {name=p5 lab=B} -C {ipin.sym} 410 310 0 0 {name=p6 lab=vss} -C {lab_pin.sym} 410 60 0 0 {name=l1 sig_type=std_logic lab=A} -C {lab_pin.sym} 410 -70 2 1 {name=l2 sig_type=std_logic lab=B} -C {sky130_fd_pr/pfet_01v8.sym} 650 -70 0 0 {name=M3 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=pfet_01v8 -spiceprefix=X -} -C {lab_pin.sym} 590 -70 2 1 {name=l3 sig_type=std_logic lab=C} -C {sky130_fd_pr/nfet_01v8.sym} 470 250 0 0 {name=M4 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=nfet_01v8 -spiceprefix=X -} -C {ipin.sym} 410 250 0 0 {name=p4 lab=C}
diff --git a/xschem/ring_vco/nand3.sym b/xschem/ring_vco/nand3.sym deleted file mode 100644 index 9bde173..0000000 --- a/xschem/ring_vco/nand3.sym +++ /dev/null
@@ -1,34 +0,0 @@ -v {xschem version=2.9.8 file_version=1.2} -G {} -K {type=subcircuit -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 -10 -70 -10 -50 {} -L 4 -60 0 -40 0 {} -L 4 60 0 80 0 {} -L 4 -60 -30 -40 -30 {} -L 4 -60 30 -40 30 {} -L 4 -10 50 -10 70 {} -L 4 -40 -50 -40 50 {} -L 4 -40 50 0 50 {} -L 4 -40 -50 0 -50 {} -B 5 -12.5 -72.5 -7.5 -67.5 {name=vdd dir=in name=p2 } -B 5 -62.5 -2.5 -57.5 2.5 {name=A dir=in name=p3 } -B 5 77.5 -2.5 82.5 2.5 {name=OUT dir=out name=p1 } -B 5 -62.5 -32.5 -57.5 -27.5 {name=B dir=in name=p5 } -B 5 -62.5 27.5 -57.5 32.5 {name=C dir=in name=p4 } -B 5 -12.5 67.5 -7.5 72.5 {name=vss dir=in name=p6 } -A 4 -0 -0 50 270 180 {} -A 4 55 -0 5 0 360 {} -T {@symname} -40.5 4 0 0 0.3 0.3 {} -T {@name} -15 -22 0 0 0.2 0.2 {} -T {vdd} -6 -45 1 0 0.2 0.2 {} -T {A} -55 -14 0 0 0.2 0.2 {} -T {OUT} 75 -14 0 1 0.2 0.2 {} -T {B} -55 -44 0 0 0.2 0.2 {} -T {C} -55 16 0 0 0.2 0.2 {} -T {vss} -14 45 3 0 0.2 0.2 {}
diff --git a/xschem/ring_vco/nor.sch b/xschem/ring_vco/nor.sch deleted file mode 100644 index 5e1ff1f..0000000 --- a/xschem/ring_vco/nor.sch +++ /dev/null
@@ -1,85 +0,0 @@ -v { version=2.9.8 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 140 -0 290 0 { lab=OUT} -N 220 -140 220 -90 { lab=#net1} -N 220 -240 220 -200 { lab=vdd} -N 220 -60 280 -60 { lab=#net1} -N 280 -110 280 -60 { lab=#net1} -N 220 -110 280 -110 { lab=#net1} -N 140 90 140 120 { lab=vss} -N 140 120 290 120 { lab=vss} -N 290 90 290 120 { lab=vss} -N 140 60 290 60 { lab=vss} -N 220 60 220 120 { lab=vss} -N 60 60 100 60 { lab=A} -N 330 60 370 60 { lab=B} -N 290 0 400 -0 { lab=OUT} -N 140 -60 180 -60 { lab=B} -N 140 -170 180 -170 { lab=A} -N 60 120 140 120 { lab=vss} -N 140 -240 220 -240 { lab=vdd} -N 290 -0 290 30 { lab=OUT} -N 220 -30 220 0 { lab=OUT} -N 140 0 140 30 { lab=OUT} -N 220 -170 280 -170 { lab=vdd} -N 280 -240 280 -170 { lab=vdd} -N 220 -240 280 -240 { lab=vdd} -C {sky130_fd_pr/nfet_01v8.sym} 120 60 0 0 {name=M1 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet_01v8.sym} 200 -60 0 0 {name=M2 -L=0.15 -W=1.05 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=pfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/nfet_01v8.sym} 310 60 0 1 {name=M3 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet_01v8.sym} 200 -170 0 0 {name=M4 -L=0.15 -W=1.05 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=pfet_01v8 -spiceprefix=X -} -C {ipin.sym} 140 -170 0 0 {name=p3 lab=A} -C {opin.sym} 400 0 0 0 {name=p1 lab=OUT} -C {ipin.sym} 140 -60 0 0 {name=p2 lab=B -} -C {ipin.sym} 140 -240 0 0 {name=p4 lab=vdd -} -C {ipin.sym} 60 120 0 0 {name=p5 lab=vss -} -C {lab_pin.sym} 60 60 0 0 {name=l1 sig_type=std_logic lab=A} -C {lab_pin.sym} 370 60 2 0 {name=l3 sig_type=std_logic lab=B -}
diff --git a/xschem/ring_vco/nor.sym b/xschem/ring_vco/nor.sym deleted file mode 100644 index daee6e6..0000000 --- a/xschem/ring_vco/nor.sym +++ /dev/null
@@ -1,29 +0,0 @@ -v {xschem version=2.9.8 file_version=1.2} -G {} -K {type=subcircuit -format="@name @pinlist @symname" -template="name=x1" -} -V {} -S {} -E {} -L 4 0 -50 0 -30 {} -L 4 -40 -10 -20 -10 {} -L 4 -40 10 -20 10 {} -L 4 40 0 60 0 {} -L 4 0 30 0 50 {} -B 5 -2.5 -52.5 2.5 -47.5 {name=vdd dir=in name=p4 } -B 5 -42.5 -12.5 -37.5 -7.5 {name=A dir=in name=p3 } -B 5 -42.5 7.5 -37.5 12.5 {name=B dir=in name=p2 } -B 5 57.5 -2.5 62.5 2.5 {name=OUT dir=out name=p1 } -B 5 -2.5 47.5 2.5 52.5 {name=vss dir=in name=p5 } -A 4 -55 85 127.4754878398196 41.82016988013577 36.86989764584401 {} -A 4 -55 -85 127.4754878398196 281.3099324740202 36.86989764584399 {} -A 4 -100 0 80.62257748298549 330.2551187030577 59.48976259388451 {} -T {@symname} -31.5 -6 0 0 0.3 0.3 {} -T {@name} 15 -42 0 0 0.2 0.2 {} -T {vdd} 4 -25 1 0 0.2 0.2 {} -T {A} -35 -24 0 0 0.2 0.2 {} -T {B} -35 -4 0 0 0.2 0.2 {} -T {OUT} 65 -14 0 1 0.2 0.2 {} -T {vss} -4 25 3 0 0.2 0.2 {}
diff --git a/xschem/ring_vco/not.spice b/xschem/ring_vco/not.spice index 8308a4a..1f46894 100644 --- a/xschem/ring_vco/not.spice +++ b/xschem/ring_vco/not.spice
@@ -1,9 +1,10 @@ -**.subckt not vdd in vss out +**.subckt not vdd in vss out vbulk *.ipin vdd *.ipin in *.ipin vss *.opin out -XM1 out in vss vss sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' +*.ipin vbulk +XM1 out in vss vbulk sky130_fd_pr__nfet_01v8 W=0.45 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' + ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1 XM2 out in vdd vdd sky130_fd_pr__pfet_01v8 W=0.9 L=0.15 ad='W * 0.29' pd='2 * (W + 0.29)' as='W * 0.29' + ps='2 * (W + 0.29)' nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 nf=1 mult=1 m=1
diff --git a/xschem/ring_vco/ring_vco.sch b/xschem/ring_vco/ring_vco.sch index e0b057b..f839f88 100644 --- a/xschem/ring_vco/ring_vco.sch +++ b/xschem/ring_vco/ring_vco.sch
@@ -241,18 +241,15 @@ N 2290 -80 2410 -80 { lab=10} N 2350 0 2410 -0 { lab=#net1} N 2120 -0 2140 0 { lab=#net12} -N 2140 -100 2140 0 { lab=#net12} -N 2030 -100 2140 -100 { lab=#net12} -N 2030 -190 2030 -100 { lab=#net12} -N 2030 -190 2100 -190 { lab=#net12} -N 2350 -110 2350 0 { lab=#net1} -N 2350 -110 2400 -110 { lab=#net1} -N 2400 -210 2400 -110 { lab=#net1} -N 2080 -130 2100 -130 { lab=vss} -N 2080 -150 2100 -150 { lab=9} -N 2080 -170 2100 -170 { lab=en} -N 2080 -210 2100 -210 { lab=10 -} +N 2150 20 2170 20 { lab=en} +N 2220 70 2220 80 {} +N 2120 70 2210 70 {} +N 2010 50 2120 50 {} +N 2120 50 2120 70 {} +N 2140 -20 2170 -20 {} +N 2310 -0 2350 -0 {} +N 2220 -80 2220 -70 {} +N 2140 -20 2140 0 {} C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/not.sym} 0 0 0 0 {name=x1} C {vsource.sym} 480 -330 0 0 {name=V1 value=DC\{Vss\}} C {vsource.sym} 570 -330 0 0 {name=V2 value=DC\{Vdd\}} @@ -498,11 +495,8 @@ spiceprefix=X } C {lab_wire.sym} 1680 310 0 0 {name=l47 sig_type=std_logic lab=outx32} -C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nand.sym} 2250 -170 0 0 {name=x26} +C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/nand.sym} 2230 0 0 0 {name=x26} C {vsource.sym} 770 -330 0 0 {name=V4 value="PULSE(0 \{Vdd\} 100ns 1ps 1ps 0.25us 0.5us)"} C {lab_pin.sym} 770 -270 3 0 {name=l49 sig_type=std_logic lab=vss} C {lab_pin.sym} 770 -390 1 0 {name=l50 sig_type=std_logic lab=en} -C {lab_pin.sym} 2080 -210 0 0 {name=l48 sig_type=std_logic lab=10} -C {lab_pin.sym} 2080 -170 0 0 {name=l51 sig_type=std_logic lab=en} -C {lab_pin.sym} 2080 -150 0 0 {name=l52 sig_type=std_logic lab=9} -C {lab_pin.sym} 2080 -130 0 0 {name=l53 sig_type=std_logic lab=vss} +C {lab_pin.sym} 2150 20 0 0 {name=l51 sig_type=std_logic lab=en}
diff --git a/xschem/ring_vco/ring_vco.spice b/xschem/ring_vco/ring_vco.spice index 36604d1..5d7e0e5 100644 --- a/xschem/ring_vco/ring_vco.spice +++ b/xschem/ring_vco/ring_vco.spice
@@ -62,7 +62,7 @@ .options TEMP = 65.0 * Include Models -.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib FF +.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT * OP Parameters & Singals to save .save all @M.X2.XM1.msky130_fd_pr__nfet_01v8[id] @M.X2.XM1.msky130_fd_pr__nfet_01v8[vth]
diff --git a/xschem/ring_vco/ring_vco_tran1.raw b/xschem/ring_vco/ring_vco_tran1.raw index befccab..60d776a 100644 --- a/xschem/ring_vco/ring_vco_tran1.raw +++ b/xschem/ring_vco/ring_vco_tran1.raw Binary files differ
diff --git a/xschem/ring_vco/untitled.sch b/xschem/ring_vco/untitled.sch deleted file mode 100644 index 4b34c92..0000000 --- a/xschem/ring_vco/untitled.sch +++ /dev/null
@@ -1,109 +0,0 @@ -v { version=2.9.8 file_version=1.2} -G {} -K {} -V {} -S {} -E {} -N 300 -10 300 10 { lab=OUT} -N 460 -10 460 10 { lab=OUT} -N 300 -0 460 -0 { lab=OUT} -N 300 70 300 100 { lab=#net1} -N 300 160 300 180 { lab=vss} -N 300 180 460 180 { lab=vss} -N 460 160 460 180 { lab=vss} -N 300 130 380 130 { lab=vss} -N 380 130 380 180 { lab=vss} -N 380 130 460 130 { lab=vss} -N 460 70 460 100 { lab=#net2} -N 300 40 460 40 { lab=vss} -N 380 40 380 130 { lab=vss} -N 300 -100 300 -70 { lab=vdd} -N 300 -100 460 -100 { lab=vdd} -N 460 -100 460 -70 { lab=vdd} -N 300 -40 460 -40 { lab=vdd} -N 300 -40 380 -40 { lab=vdd} -N 380 -100 380 -40 { lab=vdd} -N 220 40 260 40 { lab=A} -N 220 -40 260 -40 { lab=A} -N 500 -40 540 -40 { lab=B} -N 460 0 540 -0 { lab=OUT} -N 500 40 540 40 { lab=B} -N 500 130 540 130 { lab=A} -N 220 130 260 130 { lab=B} -N 220 180 300 180 { lab=vss} -N 220 -100 300 -100 { lab=vdd} -C {sky130_fd_pr/nfet_01v8.sym} 280 130 0 0 {name=M1 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/nfet_01v8.sym} 280 40 0 0 {name=M2 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/nfet_01v8.sym} 480 130 0 1 {name=M3 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/nfet_01v8.sym} 480 40 0 1 {name=M4 -L=0.15 -W=0.45 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=nfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet_01v8.sym} 280 -40 0 0 {name=M5 -L=0.15 -W=0.9 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=pfet_01v8 -spiceprefix=X -} -C {sky130_fd_pr/pfet_01v8.sym} 480 -40 0 1 {name=M6 -L=0.15 -W=0.9 -ad="'W * 0.29'" pd="'2 * (W + 0.29)'" -as="'W * 0.29'" ps="'2 * (W + 0.29)'" -nrd="'0.29 / W'" nrs="'0.29 / W'" -sa=0 sb=0 sd=0 -nf=1 mult=1 -model=pfet_01v8 -spiceprefix=X -} -C {opin.sym} 540 0 0 0 {name=p1 lab=OUT} -C {ipin.sym} 220 -100 0 0 {name=p2 lab=vdd} -C {ipin.sym} 220 -40 0 0 {name=p3 lab=A} -C {ipin.sym} 220 130 0 0 {name=p5 lab=B} -C {ipin.sym} 220 180 0 0 {name=p6 lab=vss} -C {lab_pin.sym} 220 40 0 0 {name=l1 sig_type=std_logic lab=A} -C {lab_pin.sym} 540 -40 2 0 {name=l2 sig_type=std_logic lab=B} -C {lab_pin.sym} 540 40 2 0 {name=l3 sig_type=std_logic lab=B} -C {lab_pin.sym} 540 130 2 0 {name=l4 sig_type=std_logic lab=A}
diff --git a/xschem/xschemrc b/xschem/xschemrc index 8e464f9..7d172ab 100644 --- a/xschem/xschemrc +++ b/xschem/xschemrc
@@ -3,4 +3,6 @@ append XSCHEM_LIBRARY_PATH :${XSCHEM_SHAREDIR}/xschem_library append XSCHEM_LIBRARY_PATH :~/skywater_pdk/xschem_sky130 append XSCHEM_LIBRARY_PATH :~/caravel_fulgor_opamp/xschem/sch +append XSCHEM_LIBRARY_PATH :~/caravel_fulgor_opamp/xschem/opampjulia +append XSCHEM_LIBRARY_PATH :~/caravel_fulgor_opamp/xschem/ring_vco