Ring OSC & Frequency Divider working in all corners
diff --git a/xschem/ring_vco/FD.sch b/xschem/ring_vco/FD.sch
new file mode 100644
index 0000000..02f9c22
--- /dev/null
+++ b/xschem/ring_vco/FD.sch
@@ -0,0 +1,99 @@
+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
new file mode 100644
index 0000000..9df0b12
--- /dev/null
+++ b/xschem/ring_vco/FD.spice
@@ -0,0 +1,79 @@
+**.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
new file mode 100644
index 0000000..ee956bc
--- /dev/null
+++ b/xschem/ring_vco/FD_v2
@@ -0,0 +1,10 @@
+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.sch b/xschem/ring_vco/FD_v2.sch
new file mode 100644
index 0000000..8294268
--- /dev/null
+++ b/xschem/ring_vco/FD_v2.sch
@@ -0,0 +1,254 @@
+v { version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N -330 -40 -330 40 { lab=1}
+N -330 100 -330 150 { lab=vss}
+N -330 70 -260 70 { lab=vss}
+N -260 70 -260 150 { lab=vss}
+N -330 -170 -330 -100 { lab=vdd}
+N -330 -70 -260 -70 { lab=vdd}
+N -260 -160 -260 -70 { lab=vdd}
+N -260 -170 -260 -160 { lab=vdd}
+N -330 -170 -260 -170 { lab=vdd}
+N -330 150 -260 150 { lab=vss}
+N -410 70 -370 70 { lab=4}
+N -410 -70 -410 70 { lab=4}
+N -410 -70 -370 -70 { lab=4}
+N -470 0 -410 0 { lab=4}
+N -330 0 -200 0 { lab=1}
+N -160 70 -140 70 { lab=1}
+N -160 0 -160 70 { lab=1}
+N -200 0 -160 0 { lab=1}
+N -160 -70 -160 0 { lab=1}
+N -160 -70 -140 -70 { lab=1}
+N -80 -70 -60 -70 { lab=2}
+N -60 -70 -60 0 { lab=2}
+N -60 0 -60 70 { lab=2}
+N -80 70 -60 70 { lab=2}
+N -110 110 -110 140 { lab=clk_b}
+N -110 50 -110 70 { lab=vss}
+N -110 -70 -110 -50 { lab=vdd}
+N -110 -150 -110 -110 { lab=clk}
+N 110 -40 110 40 { lab=3}
+N 110 100 110 150 { lab=vss}
+N 110 70 180 70 { lab=vss}
+N 180 70 180 150 { lab=vss}
+N 110 -170 110 -100 { lab=vdd}
+N 110 -70 180 -70 { lab=vdd}
+N 180 -160 180 -70 { lab=vdd}
+N 180 -170 180 -160 { lab=vdd}
+N 110 -170 180 -170 { lab=vdd}
+N 110 150 180 150 { lab=vss}
+N 30 70 70 70 { lab=2}
+N 30 -70 30 70 { lab=2}
+N 30 -70 70 -70 { lab=2}
+N 110 0 240 0 { lab=3}
+N 280 70 300 70 { lab=3}
+N 280 0 280 70 { lab=3}
+N 240 0 280 0 { lab=3}
+N 280 -70 280 0 { lab=3}
+N 280 -70 300 -70 { lab=3}
+N 360 -70 380 -70 { lab=out}
+N 380 -70 380 0 { lab=out}
+N 380 0 380 70 { lab=out}
+N 360 70 380 70 { lab=out}
+N 330 110 330 140 { lab=clk}
+N 330 50 330 70 { lab=vss}
+N 330 -70 330 -50 { lab=vdd}
+N 330 -150 330 -110 { lab=clk_b}
+N 570 -40 570 40 { lab=4}
+N 570 100 570 150 { lab=vss}
+N 570 70 640 70 { lab=vss}
+N 640 70 640 150 { lab=vss}
+N 570 -170 570 -100 { lab=vdd}
+N 570 -70 640 -70 { lab=vdd}
+N 640 -160 640 -70 { lab=vdd}
+N 640 -170 640 -160 { lab=vdd}
+N 570 -170 640 -170 { lab=vdd}
+N 570 150 640 150 { lab=vss}
+N 490 70 530 70 { lab=out}
+N 490 -70 490 70 { lab=out}
+N 490 -70 530 -70 { lab=out}
+N 380 -0 490 -0 { lab=out}
+N -60 -0 30 -0 { lab=2}
+N -330 -400 -330 -320 { lab=clk_b}
+N -330 -260 -330 -210 { lab=vss}
+N -330 -290 -260 -290 { lab=vss}
+N -260 -290 -260 -210 { lab=vss}
+N -330 -530 -330 -460 { lab=vdd}
+N -330 -430 -260 -430 { lab=vdd}
+N -260 -520 -260 -430 { lab=vdd}
+N -260 -530 -260 -520 { lab=vdd}
+N -330 -530 -260 -530 { lab=vdd}
+N -330 -210 -260 -210 { lab=vss}
+N -410 -290 -370 -290 { lab=clk}
+N -410 -430 -410 -290 { lab=clk}
+N -410 -430 -370 -430 { lab=clk}
+N -330 -360 -200 -360 { lab=clk_b}
+N -470 -360 -410 -360 { lab=clk}
+N -460 -210 -330 -210 { lab=vss}
+N -470 -530 -330 -530 { lab=vdd}
+N 570 0 680 -0 { lab=4}
+N 420 -140 440 -140 { lab=out}
+N 420 -140 420 0 { lab=out}
+C {sky130_fd_pr/nfet_01v8.sym} -350 70 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} -350 -70 0 0 {name=M2
+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} -110 -90 1 0 {name=M3
+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/nfet_01v8.sym} -110 90 3 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 {lab_wire.sym} -290 -170 0 0 {name=l1 sig_type=std_logic lab=vdd}
+C {lab_wire.sym} -290 150 0 0 {name=l2 sig_type=std_logic lab=vss}
+C {lab_pin.sym} -110 50 1 0 {name=l3 sig_type=std_logic lab=vss}
+C {lab_pin.sym} -470 0 0 0 {name=l4 sig_type=std_logic lab=4}
+C {lab_pin.sym} -110 140 3 0 {name=l6 sig_type=std_logic lab=clk_b}
+C {sky130_fd_pr/nfet_01v8.sym} 90 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=nfet_01v8
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_01v8.sym} 90 -70 0 0 {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 {sky130_fd_pr/pfet_01v8.sym} 330 -90 1 0 {name=M7
+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/nfet_01v8.sym} 330 90 3 0 {name=M8
+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 {lab_wire.sym} 150 -170 0 0 {name=l7 sig_type=std_logic lab=vdd}
+C {lab_wire.sym} 150 150 0 0 {name=l8 sig_type=std_logic lab=vss}
+C {lab_pin.sym} 330 50 1 0 {name=l9 sig_type=std_logic lab=vss}
+C {lab_pin.sym} 330 140 3 0 {name=l11 sig_type=std_logic lab=clk}
+C {sky130_fd_pr/nfet_01v8.sym} 550 70 0 0 {name=M9
+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} 550 -70 0 0 {name=M10
+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 {lab_wire.sym} 610 -170 0 0 {name=l12 sig_type=std_logic lab=vdd}
+C {lab_wire.sym} 610 150 0 0 {name=l13 sig_type=std_logic lab=vss}
+C {opin.sym} 440 -140 0 0 {name=p1 lab=out}
+C {lab_wire.sym} -10 0 0 0 {name=l14 sig_type=std_logic lab=2}
+C {lab_wire.sym} 190 0 0 0 {name=l15 sig_type=std_logic lab=3}
+C {lab_wire.sym} -230 0 0 0 {name=l17 sig_type=std_logic lab=1}
+C {sky130_fd_pr/nfet_01v8.sym} -350 -290 0 0 {name=M11
+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} -350 -430 0 0 {name=M12
+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 {lab_wire.sym} -290 -530 0 0 {name=l18 sig_type=std_logic lab=vdd}
+C {lab_wire.sym} -290 -210 0 0 {name=l19 sig_type=std_logic lab=vss}
+C {lab_pin.sym} -110 -150 1 0 {name=l5 sig_type=std_logic lab=clk}
+C {lab_pin.sym} -200 -360 2 0 {name=l20 sig_type=std_logic lab=clk_b}
+C {lab_pin.sym} 330 -150 1 0 {name=l10 sig_type=std_logic lab=clk_b}
+C {ipin.sym} -470 -530 0 0 {name=p2 lab=vdd}
+C {ipin.sym} -470 -360 0 0 {name=p3 lab=clk}
+C {ipin.sym} -460 -210 0 0 {name=p4 lab=vss}
+C {lab_pin.sym} 680 0 2 0 {name=l16 sig_type=std_logic lab=4}
+C {lab_pin.sym} 330 -50 3 0 {name=l21 sig_type=std_logic lab=vdd}
+C {lab_pin.sym} -110 -50 3 0 {name=l22 sig_type=std_logic lab=vdd}
diff --git a/xschem/ring_vco/FD_v2.sym b/xschem/ring_vco/FD_v2.sym
new file mode 100644
index 0000000..7920f7d
--- /dev/null
+++ b/xschem/ring_vco/FD_v2.sym
@@ -0,0 +1,31 @@
+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 -50 -30 -50 30 {}
+L 4 50 -30 50 30 {}
+L 4 -70 0 -50 0 {}
+L 4 0 50 0 70 {}
+L 4 50 0 70 0 {}
+L 4 0 -70 0 -50 {}
+L 4 -50 30 -50 50 {}
+L 4 -50 50 50 50 {}
+L 4 50 30 50 50 {}
+L 4 50 -50 50 -30 {}
+L 4 -50 -50 50 -50 {}
+L 4 -50 -50 -50 -30 {}
+B 5 -72.5 -2.5 -67.5 2.5 {name=clk dir=in name=p3 }
+B 5 -2.5 67.5 2.5 72.5 {name=vss dir=in name=p4 }
+B 5 67.5 -2.5 72.5 2.5 {name=out dir=out name=p1 }
+B 5 -2.5 -72.5 2.5 -67.5 {name=vdd dir=in name=p2 }
+T {@symname} -40.5 4 0 0 0.3 0.3 {}
+T {@name} -15 -22 0 0 0.2 0.2 {}
+T {clk} -45 -14 0 0 0.2 0.2 {}
+T {vss} -4 45 3 0 0.2 0.2 {}
+T {out} 45 -14 0 1 0.2 0.2 {}
+T {vdd} 4 -45 1 0 0.2 0.2 {}
diff --git a/xschem/ring_vco/FFD.sch b/xschem/ring_vco/FFD.sch
new file mode 100644
index 0000000..28d6927
--- /dev/null
+++ b/xschem/ring_vco/FFD.sch
@@ -0,0 +1,64 @@
+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
new file mode 100644
index 0000000..f828127
--- /dev/null
+++ b/xschem/ring_vco/FFD.spice
@@ -0,0 +1,90 @@
+**.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
new file mode 100644
index 0000000..588ebff
--- /dev/null
+++ b/xschem/ring_vco/FFD.sym
@@ -0,0 +1,34 @@
+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
new file mode 100644
index 0000000..f8a6517
--- /dev/null
+++ b/xschem/ring_vco/FFD_xor.sch
@@ -0,0 +1,72 @@
+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
new file mode 100644
index 0000000..91b1208
--- /dev/null
+++ b/xschem/ring_vco/FFD_xor.sym
@@ -0,0 +1,30 @@
+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/nand.sch b/xschem/ring_vco/nand.sch
new file mode 100644
index 0000000..b4a22fa
--- /dev/null
+++ b/xschem/ring_vco/nand.sch
@@ -0,0 +1,81 @@
+v { version=2.9.8 file_version=1.2}
+G {}
+K {}
+V {}
+S {}
+E {}
+N 300 -0 460 -0 { lab=OUT}
+N 360 90 360 120 { lab=#net1}
+N 360 180 360 200 { lab=vss}
+N 280 -130 280 -100 { lab=vdd}
+N 280 -130 440 -130 { lab=vdd}
+N 440 -130 440 -100 { lab=vdd}
+N 280 -70 440 -70 { lab=vdd}
+N 280 -70 360 -70 { lab=vdd}
+N 360 -130 360 -70 { lab=vdd}
+N 280 60 320 60 { lab=A}
+N 200 -70 240 -70 { lab=A}
+N 480 -70 520 -70 { lab=B}
+N 460 0 540 -0 { lab=OUT}
+N 280 150 320 150 { lab=B}
+N 280 200 360 200 { lab=vss}
+N 200 -130 280 -130 { lab=vdd}
+N 360 0 360 30 { lab=OUT}
+N 280 -40 280 0 { lab=OUT}
+N 280 0 300 -0 { lab=OUT}
+N 440 -40 440 -0 { lab=OUT}
+N 360 60 440 60 { lab=vss}
+N 440 60 440 200 { lab=vss}
+N 360 200 440 200 { lab=vss}
+N 360 150 440 150 { lab=vss}
+C {sky130_fd_pr/nfet_01v8.sym} 340 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} 340 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} 460 -70 0 1 {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} 540 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} 280 150 0 0 {name=p5 lab=B}
+C {ipin.sym} 280 200 0 0 {name=p6 lab=vss}
+C {lab_pin.sym} 280 60 0 0 {name=l1 sig_type=std_logic lab=A}
+C {lab_pin.sym} 520 -70 2 0 {name=l2 sig_type=std_logic lab=B}
diff --git a/xschem/ring_vco/nand.sym b/xschem/ring_vco/nand.sym
new file mode 100644
index 0000000..06a655f
--- /dev/null
+++ b/xschem/ring_vco/nand.sym
@@ -0,0 +1,32 @@
+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 -60 -10 -40 {}
+L 4 -60 -20 -40 -20 {}
+L 4 50 0 70 0 {}
+L 4 -60 20 -40 20 {}
+L 4 -10 40 -10 60 {}
+L 4 -30 -40 0 -40 {}
+L 4 -40 -40 -40 40 {}
+L 4 -40 40 0 40 {}
+L 4 -40 -40 -30 -40 {}
+B 5 -12.5 -62.5 -7.5 -57.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 67.5 -2.5 72.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 57.5 -7.5 62.5 {name=vss dir=in name=p6 }
+A 4 -5 -0 40.31128874149275 277.1250163489018 165.7499673021964 {}
+A 4 43 -0.5 7.017834423809099 355.9143832200251 360 {}
+T {@symname} -36 -6 0 0 0.3 0.3 {}
+T {@name} -25 -22 0 0 0.2 0.2 {}
+T {vdd} -16 -55 1 0 0.2 0.2 {}
+T {A} -55 -34 0 0 0.2 0.2 {}
+T {OUT} 75 -14 0 1 0.2 0.2 {}
+T {B} -55 6 0 0 0.2 0.2 {}
+T {vss} -24 65 3 0 0.2 0.2 {}
diff --git a/xschem/ring_vco/nand3.sch b/xschem/ring_vco/nand3.sch
new file mode 100644
index 0000000..dcdf45f
--- /dev/null
+++ b/xschem/ring_vco/nand3.sch
@@ -0,0 +1,120 @@
+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
new file mode 100644
index 0000000..9bde173
--- /dev/null
+++ b/xschem/ring_vco/nand3.sym
@@ -0,0 +1,34 @@
+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
new file mode 100644
index 0000000..5e1ff1f
--- /dev/null
+++ b/xschem/ring_vco/nor.sch
@@ -0,0 +1,85 @@
+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
new file mode 100644
index 0000000..daee6e6
--- /dev/null
+++ b/xschem/ring_vco/nor.sym
@@ -0,0 +1,29 @@
+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/ring_vco.sch b/xschem/ring_vco/ring_vco.sch
index 27a8ddf..ddaa918 100644
--- a/xschem/ring_vco/ring_vco.sch
+++ b/xschem/ring_vco/ring_vco.sch
@@ -27,7 +27,7 @@
 N 330 -80 330 -30 { lab=10}
 N 440 -80 440 -30 { lab=10}
 N 550 -80 550 -30 { lab=10}
-N 2520 0 2620 0 { lab=out}
+N 2520 0 2620 0 { lab=out_vco}
 N -0 -80 550 -80 { lab=10}
 N 550 -80 640 -80 { lab=10}
 N 290 -200 290 -80 { lab=10}
@@ -75,7 +75,7 @@
 N -0 60 0 80 { lab=9}
 N 110 60 110 80 { lab=9}
 N 220 60 220 80 { lab=9}
-N 2520 -30 2520 30 { lab=out}
+N 2520 -30 2520 30 { lab=out_vco}
 N 2520 90 2520 120 { lab=vss}
 N 2520 120 2610 120 { lab=vss}
 N 2610 60 2610 120 { lab=vss}
@@ -200,6 +200,34 @@
 N 2250 0 2260 -0 { lab=#net1}
 N 2200 80 2290 80 { lab=9}
 N 2200 -80 2290 -80 { lab=10}
+N 770 210 770 240 { lab=vdd}
+N 770 380 770 400 { lab=vss}
+N 670 310 700 310 { lab=out_vco}
+N 770 400 770 420 { lab=vss}
+N 640 310 670 310 { lab=out_vco}
+N 970 210 970 240 { lab=vdd}
+N 970 380 970 400 { lab=vss}
+N 870 310 900 310 { lab=outx2}
+N 970 400 970 420 { lab=vss}
+N 840 310 870 310 { lab=outx2}
+N 1170 210 1170 240 { lab=vdd}
+N 1170 380 1170 400 { lab=vss}
+N 1070 310 1100 310 { lab=outx4}
+N 1170 400 1170 420 { lab=vss}
+N 1040 310 1070 310 { lab=outx4}
+N 1370 210 1370 240 { lab=vdd}
+N 1370 380 1370 400 { lab=vss}
+N 1270 310 1300 310 { lab=outx8}
+N 1370 400 1370 420 { lab=vss}
+N 1240 310 1270 310 { lab=outx8}
+N 1570 210 1570 240 { lab=vdd}
+N 1570 380 1570 400 { lab=vss}
+N 1470 310 1500 310 { lab=outx16}
+N 1570 400 1570 420 { lab=vss}
+N 1440 310 1470 310 { lab=outx16}
+N 1640 310 1690 310 { lab=out}
+N 1690 310 1690 350 { lab=out}
+N 1690 410 1690 440 { lab=vss}
 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\}}
@@ -221,7 +249,7 @@
 .options TEMP = 65.0
 
 * Include Models
-.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib TT
+.lib ~/skywater_pdk/skywater-pdk/libraries/sky130_fd_pr/latest/models/corners/sky130.lib SS
 
 * OP Parameters & Singals to save
 .save all
@@ -234,26 +262,25 @@
 
 *Simulations
 .control
-  *reset
   tran 0.05n 1u
   setplot tran1
-  plot v(out) v(in)
+  plot v(out) v(outx16)+2 v(outx8)+4 v(outx4)+6 v(outx2)+8 v(out_vco)+10
   linearize
   set specwindow="blackman"
+  fft v(out_vco)
+  spec 10 1000000 1000 v(out_vco)
+  plot mag(v(out_vco))
+  
+  reset
+  tran 0.05n 1u
+  setplot tran2
+  linearize
   fft v(out)
   spec 10 1000000 1000 v(out)
   plot mag(v(out))
   *write ~/caravel_fulgor_opamp/xschem/sim_results/opamp_closeloop_tran1.raw
   
   
-  *dc V3 0 1.8 0.01
-  *setplot dc1
-  *plot v(out1) v(out2) v(out3) v(in)
-  
-  reset
-  op
-  setplot op1
-  
 .endc
 
 .end
@@ -311,7 +338,7 @@
 spiceprefix=X
 }
 C {lab_wire.sym} 2420 0 0 0 {name=l4 sig_type=std_logic lab=out_ring}
-C {lab_pin.sym} 2620 0 2 0 {name=l6 sig_type=std_logic lab=out}
+C {lab_pin.sym} 2620 0 2 0 {name=l6 sig_type=std_logic lab=out_vco}
 C {sky130_fd_pr/pfet_01v8.sym} 270 -230 0 0 {name=M5
 L=0.15
 W=1.5
@@ -389,3 +416,35 @@
 C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/not.sym} 1950 0 0 0 {name=x18}
 C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/not.sym} 2070 0 0 0 {name=x19}
 C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/not.sym} 2200 0 0 0 {name=x20}
+C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym} 770 310 0 0 {name=x21}
+C {lab_pin.sym} 770 210 1 0 {name=l28 sig_type=std_logic lab=vdd
+}
+C {lab_pin.sym} 770 420 3 0 {name=l29 sig_type=std_logic lab=vss}
+C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym} 970 310 0 0 {name=x22}
+C {lab_pin.sym} 970 210 1 0 {name=l30 sig_type=std_logic lab=vdd
+}
+C {lab_pin.sym} 970 420 3 0 {name=l31 sig_type=std_logic lab=vss}
+C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym} 1170 310 0 0 {name=x23}
+C {lab_pin.sym} 1170 210 1 0 {name=l32 sig_type=std_logic lab=vdd
+}
+C {lab_pin.sym} 1170 420 3 0 {name=l33 sig_type=std_logic lab=vss}
+C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym} 1370 310 0 0 {name=x24}
+C {lab_pin.sym} 1370 210 1 0 {name=l34 sig_type=std_logic lab=vdd
+}
+C {lab_pin.sym} 1370 420 3 0 {name=l35 sig_type=std_logic lab=vss}
+C {/home/dhernando/caravel_fulgor_opamp/xschem/ring_vco/FD_v2.sym} 1570 310 0 0 {name=x25}
+C {lab_pin.sym} 1570 210 1 0 {name=l36 sig_type=std_logic lab=vdd
+}
+C {lab_pin.sym} 1570 420 3 0 {name=l37 sig_type=std_logic lab=vss}
+C {lab_pin.sym} 640 310 0 0 {name=l38 sig_type=std_logic lab=out_vco}
+C {lab_pin.sym} 1690 310 2 0 {name=l39 sig_type=std_logic lab=out}
+C {lab_wire.sym} 1090 310 0 0 {name=l41 sig_type=std_logic lab=outx4}
+C {lab_wire.sym} 890 310 0 0 {name=l40 sig_type=std_logic lab=outx2}
+C {lab_wire.sym} 1290 310 0 0 {name=l42 sig_type=std_logic lab=outx8}
+C {lab_wire.sym} 1490 310 0 0 {name=l43 sig_type=std_logic lab=outx16}
+C {capa.sym} 1690 380 0 0 {name=C1
+m=1
+value=10f
+footprint=1206
+device="ceramic capacitor"}
+C {lab_pin.sym} 1690 440 3 0 {name=l44 sig_type=std_logic lab=vss}
diff --git a/xschem/ring_vco/untitled.sch b/xschem/ring_vco/untitled.sch
new file mode 100644
index 0000000..4b34c92
--- /dev/null
+++ b/xschem/ring_vco/untitled.sch
@@ -0,0 +1,109 @@
+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}