Merge branch 'main' of https://github.com/mabrains/caravel_user_project_ldo into main
diff --git a/xschem/ldo_v1/Error_Amp.sch b/xschem/ldo_v1/Error_Amp.sch
new file mode 100644
index 0000000..7fc7f12
--- /dev/null
+++ b/xschem/ldo_v1/Error_Amp.sch
@@ -0,0 +1,205 @@
+v {xschem version=2.9.9 file_version=1.2 }
+G {}
+K {}
+V {}
+S {}
+E {}
+N 1050 -1430 1050 -1410 { lab=avdd}
+N 1050 -1430 1300 -1430 { lab=avdd}
+N 1300 -1430 1300 -1410 { lab=avdd}
+N 1300 -1350 1300 -1310 { lab=#net1}
+N 1090 -1380 1260 -1380 { lab=#net2}
+N 1050 -1350 1050 -1310 { lab=#net2}
+N 1050 -1250 1050 -1190 { lab=#net3}
+N 1050 -1190 1300 -1190 { lab=#net3}
+N 1300 -1250 1300 -1190 { lab=#net3}
+N 1140 -1190 1140 -1170 { lab=#net3}
+N 1050 -1280 1300 -1280 { lab=agnd}
+N 1230 -1280 1230 -1100 { lab=agnd}
+N 1140 -1100 1230 -1100 { lab=agnd}
+N 1300 -1380 1400 -1380 { lab=avdd}
+N 1400 -1430 1400 -1380 { lab=avdd}
+N 1290 -1430 1400 -1430 { lab=avdd}
+N 950 -1380 1050 -1380 { lab=avdd}
+N 950 -1430 950 -1380 { lab=avdd}
+N 950 -1430 1050 -1430 { lab=avdd}
+N 1140 -1140 1230 -1140 { lab=agnd}
+N 1520 -1400 1560 -1400 { lab=#net1}
+N 1390 -1430 1520 -1430 { lab=avdd}
+N 1600 -1400 1700 -1400 { lab=avdd}
+N 1600 -1430 1700 -1430 { lab=avdd}
+N 1700 -1430 1700 -1400 { lab=avdd}
+N 1600 -1370 1600 -1330 { lab=out}
+N 1230 -1100 1520 -1100 { lab=agnd}
+N 1600 -1100 1690 -1100 { lab=agnd}
+N 1520 -1260 1560 -1260 { lab=vb}
+N 1070 -1140 1100 -1140 { lab=vb}
+N 1160 -1380 1160 -1330 { lab=#net2}
+N 1050 -1330 1160 -1330 { lab=#net2}
+N 1520 -1330 1530 -1330 { lab=#net4}
+N 1590 -1330 1600 -1330 { lab=out}
+N 1600 -1330 1600 -1290 { lab=out}
+N 1600 -1260 1700 -1260 { lab=agnd}
+N 1700 -1260 1700 -1100 { lab=agnd}
+N 1690 -1100 1700 -1100 { lab=agnd}
+N 1600 -1230 1600 -1100 { lab=agnd}
+N 990 -1280 1010 -1280 { lab=neg}
+N 1340 -1280 1370 -1280 { lab=pos}
+N 1520 -1400 1520 -1360 { lab=#net1}
+N 1300 -1330 1360 -1330 { lab=#net1}
+N 1330 -1360 1440 -1360 { lab=#net1}
+N 1330 -1360 1330 -1330 { lab=#net1}
+N 1600 -1330 1660 -1330 { lab=out}
+N 1660 -1330 1670 -1330 { lab=out}
+N 1670 -1330 1680 -1330 { lab=out}
+N 1540 -1310 1560 -1310 { lab=agnd}
+N 1480 -1310 1480 -1100 { lab=agnd}
+N 720 -1220 760 -1220 { lab=vb}
+N 720 -1270 720 -1220 { lab=vb}
+N 720 -1270 800 -1270 { lab=vb}
+N 800 -1190 800 -1170 { lab=agnd}
+N 800 -1220 880 -1220 { lab=agnd}
+N 880 -1220 880 -1180 { lab=agnd}
+N 800 -1180 880 -1180 { lab=agnd}
+N 690 -1220 720 -1220 { lab=vb}
+N 800 -1270 800 -1250 { lab=vb}
+N 800 -1320 800 -1270 { lab=vb}
+N 1140 -1110 1140 -1100 { lab=agnd}
+N 800 -1170 800 -1100 { lab=agnd}
+N 800 -1100 1140 -1100 { lab=agnd}
+N 1440 -1360 1520 -1360 { lab=#net1}
+N 1520 -1430 1600 -1430 { lab=avdd}
+N 1520 -1100 1540 -1100 { lab=agnd}
+N 1540 -1100 1600 -1100 { lab=agnd}
+N 1480 -1310 1540 -1310 { lab=agnd}
+N 1360 -1330 1420 -1330 { lab=#net1}
+N 1480 -1330 1520 -1330 { lab=#net4}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1070 -1380 0 1 {name=M8
+L=1.2
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1030 -1280 0 0 {name=M9
+L=1
+W=2
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1320 -1280 0 1 {name=M10
+L=1
+W=2
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1280 -1380 0 0 {name=M11
+L=1.2
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1120 -1140 0 0 {name=M13
+L=1
+W=1
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1580 -1400 0 0 {name=M14
+L=1.2
+W=3
+nf=1
+mult=12
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1580 -1260 0 0 {name=M18
+L=1
+W=1
+nf=1
+mult=12
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 1070 -1140 0 0 {name=l15 sig_type=std_logic lab=vb}
+C {devices/lab_pin.sym} 1520 -1260 0 0 {name=l16 sig_type=std_logic lab=vb}
+C {devices/lab_pin.sym} 1660 -1330 1 0 {name=l30 sig_type=std_logic lab=out}
+C {sky130_fd_pr/cap_mim_m3_1.sym} 1450 -1330 3 1 {name=C3 model=cap_mim_m3_1 W=50 L=50 MF=1 spiceprefix=X}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1560 -1330 3 0 {name=R7
+W=0.69
+L=4.5
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=1}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 780 -1220 0 0 {name=M20
+L=1
+W=1
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 690 -1220 0 0 {name=l14 sig_type=std_logic lab=vb}
+C {devices/opin.sym} 1670 -1330 0 0 {name=p1 lab=out}
+C {devices/iopin.sym} 1140 -1430 0 0 {name=p2 lab=avdd}
+C {devices/iopin.sym} 1160 -1100 0 0 {name=p3 lab=agnd}
+C {devices/iopin.sym} 800 -1300 3 0 {name=p4 lab=vb}
+C {devices/ipin.sym} 1000 -1280 0 0 {name=p5 lab=neg}
+C {devices/ipin.sym} 1350 -1280 0 1 {name=p6 lab=pos}
diff --git a/xschem/ldo_v1/Error_Amp.spice b/xschem/ldo_v1/Error_Amp.spice
new file mode 100644
index 0000000..93dc9a6
--- /dev/null
+++ b/xschem/ldo_v1/Error_Amp.spice
@@ -0,0 +1,4 @@
+**.subckt Error_Amp
+**.ends
+** flattened .save nodes
+.end
diff --git a/xschem/ldo_v1/Error_Amp.sym b/xschem/ldo_v1/Error_Amp.sym
new file mode 100644
index 0000000..44c9d77
--- /dev/null
+++ b/xschem/ldo_v1/Error_Amp.sym
@@ -0,0 +1,30 @@
+v {xschem version=2.9.9 file_version=1.2 }
+G {}
+K {type=subcircuit
+format="@name @pinlist @symname"
+template="name=y1"}
+V {}
+S {}
+E {}
+L 4 810 -1510 810 -1250 {}
+L 4 810 -1250 1040 -1380 {}
+L 4 810 -1510 1040 -1380 {}
+L 4 760 -1470 810 -1470 {}
+L 4 760 -1380 810 -1380 {}
+L 4 760 -1290 810 -1290 {}
+L 4 1040 -1380 1060 -1380 {}
+L 4 900 -1300 900 -1220 {}
+L 4 900 -1520 900 -1460 {}
+B 5 757.5 -1472.5 762.5 -1467.5 {name=neg
+dir=inout}
+B 5 757.5 -1292.5 762.5 -1287.5 {name=pos
+dir=inout}
+B 5 757.5 -1382.5 762.5 -1377.5 {name=vb
+dir=inout}
+B 5 1057.5 -1382.5 1062.5 -1377.5 {name=out
+dir=inout}
+B 5 897.5 -1522.5 902.5 -1517.5 {name=avdd
+dir=inout}
+B 5 897.5 -1222.5 902.5 -1217.5 {name=agnd
+dir=inout}
+T {@name} 880 -1390 0 0 0.2 0.2 {}
diff --git a/xschem/ldo_v1/bgr_sym.sch b/xschem/ldo_v1/bgr_sym.sch
new file mode 100644
index 0000000..2673135
--- /dev/null
+++ b/xschem/ldo_v1/bgr_sym.sch
@@ -0,0 +1,555 @@
+v {xschem version=2.9.9 file_version=1.2 }
+G {}
+K {}
+V {}
+S {}
+E {}
+N 3500 -1300 3610 -1300 { lab=bg_out}
+N 3250 -1410 3250 -1390 { lab=avdd}
+N 3250 -1360 3280 -1360 { lab=avdd}
+N 3280 -1400 3280 -1360 { lab=avdd}
+N 3250 -1400 3280 -1400 { lab=avdd}
+N 3170 -1360 3210 -1360 { lab=mir}
+N 3250 -1510 3250 -1410 { lab=avdd}
+N 3250 -1330 3250 -1280 { lab=iref}
+N 2330 -1150 2330 -1100 { lab=agnd}
+N 2180 -1240 2180 -1200 { lab=#net1}
+N 2290 -1180 2290 -1130 { lab=agnd}
+N 2290 -1130 2330 -1130 { lab=agnd}
+N 2140 -1170 2140 -1120 { lab=agnd}
+N 2140 -1120 2180 -1120 { lab=agnd}
+N 2220 -1440 2290 -1440 { lab=mir}
+N 2180 -1530 2180 -1470 { lab=avdd}
+N 2180 -1530 2330 -1530 { lab=avdd}
+N 2330 -1530 2330 -1470 { lab=avdd}
+N 2320 -1530 2570 -1530 { lab=avdd}
+N 2180 -1140 2180 -1130 { lab=agnd}
+N 2180 -1130 2180 -1120 { lab=agnd}
+N 2180 -1100 2330 -1100 { lab=agnd}
+N 2180 -1120 2180 -1100 { lab=agnd}
+N 2330 -1440 2370 -1440 { lab=avdd}
+N 2370 -1530 2370 -1440 { lab=avdd}
+N 2070 -1440 2180 -1440 { lab=avdd}
+N 2070 -1530 2290 -1530 { lab=avdd}
+N 1320 -1530 1320 -1470 { lab=avdd}
+N 1210 -1440 1320 -1440 { lab=avdd}
+N 1210 -1530 1210 -1440 { lab=avdd}
+N 1210 -1530 1320 -1530 { lab=avdd}
+N 1320 -1530 1410 -1530 { lab=avdd}
+N 1250 -1300 1320 -1300 { lab=bg_out}
+N 2110 -1400 2140 -1400 { lab=inp}
+N 2330 -1400 2370 -1400 { lab=inn}
+N 2010 -1160 2010 -1120 { lab=agnd}
+N 1950 -1190 1970 -1190 { lab=agnd}
+N 1950 -1190 1950 -1150 { lab=agnd}
+N 2010 -1240 2010 -1220 { lab=#net1}
+N 1930 -1160 1930 -1120 { lab=agnd}
+N 1870 -1190 1890 -1190 { lab=agnd}
+N 1870 -1190 1870 -1150 { lab=agnd}
+N 1930 -1240 1930 -1220 { lab=#net1}
+N 1840 -1160 1840 -1120 { lab=agnd}
+N 1780 -1190 1800 -1190 { lab=agnd}
+N 1780 -1190 1780 -1150 { lab=agnd}
+N 1840 -1240 1840 -1220 { lab=#net1}
+N 1730 -1160 1730 -1120 { lab=agnd}
+N 1670 -1190 1690 -1190 { lab=agnd}
+N 1670 -1190 1670 -1150 { lab=agnd}
+N 1730 -1240 1730 -1220 { lab=#net1}
+N 1640 -1160 1640 -1120 { lab=agnd}
+N 1580 -1190 1600 -1190 { lab=agnd}
+N 1580 -1190 1580 -1150 { lab=agnd}
+N 1640 -1240 1640 -1220 { lab=#net1}
+N 1530 -1160 1530 -1120 { lab=agnd}
+N 1470 -1190 1490 -1190 { lab=agnd}
+N 1470 -1190 1470 -1150 { lab=agnd}
+N 1530 -1240 1530 -1220 { lab=#net1}
+N 1430 -1160 1430 -1120 { lab=agnd}
+N 1370 -1190 1390 -1190 { lab=agnd}
+N 1370 -1190 1370 -1150 { lab=agnd}
+N 1430 -1240 1430 -1220 { lab=#net1}
+N 2050 -1100 2180 -1100 { lab=agnd}
+N 1430 -1240 1530 -1240 { lab=#net1}
+N 1520 -1240 1640 -1240 { lab=#net1}
+N 1640 -1240 1730 -1240 { lab=#net1}
+N 1730 -1240 1840 -1240 { lab=#net1}
+N 1840 -1240 1930 -1240 { lab=#net1}
+N 1920 -1240 2010 -1240 { lab=#net1}
+N 1360 -1530 2070 -1530 { lab=avdd}
+N 2070 -1530 2070 -1440 { lab=avdd}
+N 1370 -1150 1370 -1120 { lab=agnd}
+N 1370 -1120 1430 -1120 { lab=agnd}
+N 1430 -1120 1530 -1120 { lab=agnd}
+N 1530 -1120 1650 -1120 { lab=agnd}
+N 1650 -1120 1730 -1120 { lab=agnd}
+N 1730 -1120 1840 -1120 { lab=agnd}
+N 1840 -1120 1950 -1120 { lab=agnd}
+N 1950 -1120 2010 -1120 { lab=agnd}
+N 1300 -1100 2050 -1100 { lab=agnd}
+N 1470 -1150 1470 -1120 { lab=agnd}
+N 1780 -1150 1780 -1120 { lab=agnd}
+N 1870 -1150 1870 -1120 { lab=agnd}
+N 1950 -1150 1950 -1120 { lab=agnd}
+N 1580 -1150 1580 -1120 { lab=agnd}
+N 1670 -1150 1670 -1120 { lab=agnd}
+N 1290 -1100 1300 -1100 { lab=agnd}
+N 1320 -1120 1320 -1100 { lab=agnd}
+N 1360 -1440 1390 -1440 { lab=mir}
+N 2330 -1410 2330 -1400 { lab=inn}
+N 2720 -1350 2930 -1350 { lab=agnd}
+N 2930 -1400 2930 -1380 { lab=mir}
+N 2930 -1530 2930 -1460 { lab=avdd}
+N 2650 -1530 2930 -1530 { lab=avdd}
+N 2720 -1530 2720 -1460 { lab=avdd}
+N 2880 -1190 2880 -1100 { lab=agnd}
+N 2790 -1350 2790 -1100 { lab=agnd}
+N 2620 -1430 2720 -1430 { lab=avdd}
+N 2620 -1530 2620 -1430 { lab=avdd}
+N 2930 -1430 3040 -1430 { lab=avdd}
+N 3040 -1530 3040 -1430 { lab=avdd}
+N 2920 -1530 3040 -1530 { lab=avdd}
+N 2880 -1220 2960 -1220 { lab=agnd}
+N 2960 -1220 2960 -1100 { lab=agnd}
+N 2330 -1100 2700 -1100 { lab=agnd}
+N 2790 -1100 2880 -1100 { lab=agnd}
+N 2880 -1100 2960 -1100 { lab=agnd}
+N 2660 -1350 2680 -1350 { lab=inp}
+N 2970 -1350 3000 -1350 { lab=inn}
+N 2570 -1530 2620 -1530 { lab=avdd}
+N 2620 -1530 2650 -1530 { lab=avdd}
+N 2700 -1100 2790 -1100 { lab=agnd}
+N 2520 -1530 2520 -1390 { lab=avdd}
+N 2520 -1360 2580 -1360 { lab=avdd}
+N 2580 -1530 2580 -1360 { lab=avdd}
+N 2450 -1360 2480 -1360 { lab=mir}
+N 2520 -1210 2520 -1100 { lab=agnd}
+N 2470 -1240 2470 -1100 { lab=agnd}
+N 2930 -1390 3010 -1390 { lab=mir}
+N 2330 -1220 2330 -1210 { lab=#net2}
+N 2720 -1320 2720 -1280 { lab=#net3}
+N 2720 -1400 2720 -1380 { lab=#net4}
+N 2760 -1430 2890 -1430 { lab=#net4}
+N 2830 -1430 2830 -1390 { lab=#net4}
+N 2720 -1390 2830 -1390 { lab=#net4}
+N 2930 -1320 2930 -1280 { lab=#net3}
+N 2720 -1280 2930 -1280 { lab=#net3}
+N 2880 -1280 2880 -1250 { lab=#net3}
+N 2520 -1330 2520 -1270 { lab=#net5}
+N 2560 -1240 2610 -1240 { lab=#net5}
+N 2610 -1280 2610 -1240 { lab=#net5}
+N 2520 -1280 2610 -1280 { lab=#net5}
+N 2610 -1220 2840 -1220 { lab=#net5}
+N 2610 -1240 2610 -1220 { lab=#net5}
+N 2470 -1240 2520 -1240 { lab=agnd}
+N 1980 -1120 1980 -1100 { lab=agnd}
+N 2010 -1240 2180 -1240 { lab=#net1}
+N 2330 -1310 2330 -1220 { lab=#net2}
+N 2180 -1250 2180 -1230 { lab=#net1}
+N 2180 -1410 2180 -1400 { lab=inp}
+N 2330 -1320 2330 -1310 { lab=#net2}
+N 2140 -1400 2160 -1400 { lab=inp}
+N 2160 -1400 2180 -1400 { lab=inp}
+N 3080 -1390 3090 -1390 { lab=mir}
+N 3010 -1390 3080 -1390 { lab=mir}
+N 1320 -1310 1320 -1280 { lab=bg_out}
+N 1320 -1410 1320 -1370 { lab=bg_out}
+N 1320 -1370 1320 -1310 { lab=bg_out}
+N 2180 -1330 2180 -1310 { lab=#net6}
+N 2180 -1400 2180 -1390 { lab=inp}
+N 2080 -1320 2180 -1320 { lab=#net6}
+N 2080 -1160 2080 -1100 { lab=agnd}
+N 2110 -1280 2160 -1280 { lab=agnd}
+N 2110 -1280 2110 -1100 { lab=agnd}
+N 2270 -1350 2270 -1100 { lab=agnd}
+N 2050 -1360 2160 -1360 { lab=agnd}
+N 2050 -1360 2050 -1100 { lab=agnd}
+N 1100 -1530 1210 -1530 { lab=avdd}
+N 1120 -1100 1290 -1100 { lab=agnd}
+N 3040 -1530 3110 -1530 { lab=avdd}
+N 2080 -1320 2080 -1310 { lab=#net6}
+N 2330 -1330 2330 -1320 { lab=#net2}
+N 2270 -1360 2310 -1360 { lab=agnd}
+N 2270 -1360 2270 -1350 { lab=agnd}
+N 2380 -1160 2380 -1100 { lab=agnd}
+N 2380 -1240 2380 -1220 { lab=#net7}
+N 2330 -1400 2330 -1390 { lab=inn}
+N 2050 -1280 2060 -1280 { lab=agnd}
+N 3250 -1530 3250 -1510 { lab=avdd}
+N 3110 -1530 3250 -1530 { lab=avdd}
+N 2250 -1460 2250 -1440 { lab=mir}
+N 2230 -1490 2250 -1490 { lab=avdd}
+N 2230 -1530 2230 -1490 { lab=avdd}
+N 2250 -1530 2250 -1520 { lab=avdd}
+N 2290 -1490 2310 -1490 { lab=en}
+N 1320 -1130 1320 -1120 { lab=agnd}
+N 2380 -1250 2380 -1240 { lab=#net7}
+N 2400 -1190 2400 -1100 { lab=agnd}
+N 3090 -1390 3100 -1390 { lab=mir}
+N 1030 -1100 1120 -1100 { lab=agnd}
+N 1030 -1170 1030 -1100 { lab=agnd}
+N 1030 -1200 1100 -1200 { lab=agnd}
+N 1100 -1200 1100 -1100 { lab=agnd}
+N 1030 -1300 1030 -1230 { lab=#net8}
+N 1030 -1410 1030 -1360 { lab=#net9}
+N 1030 -1530 1030 -1470 { lab=avdd}
+N 1030 -1530 1100 -1530 { lab=avdd}
+N 1030 -1330 1140 -1330 { lab=avdd}
+N 1140 -1530 1140 -1330 { lab=avdd}
+N 1030 -1440 1140 -1440 { lab=avdd}
+N 950 -1440 990 -1440 { lab=#net9}
+N 950 -1440 950 -1390 { lab=#net9}
+N 950 -1390 1030 -1390 { lab=#net9}
+N 950 -1330 990 -1330 { lab=#net8}
+N 950 -1330 950 -1290 { lab=#net8}
+N 950 -1290 1030 -1290 { lab=#net8}
+N 960 -1200 990 -1200 { lab=bg_out}
+N 1030 -1260 1100 -1260 { lab=#net8}
+N 1140 -1230 1140 -1100 { lab=agnd}
+N 1140 -1320 1140 -1290 { lab=mir}
+N 1140 -1320 1170 -1320 { lab=mir}
+N 1140 -1260 1210 -1260 { lab=agnd}
+N 1210 -1260 1210 -1100 { lab=agnd}
+N 2080 -1250 2080 -1230 { lab=#net10}
+N 2080 -1170 2080 -1160 { lab=agnd}
+N 2050 -1200 2060 -1200 { lab=agnd}
+N 2330 -1320 2380 -1320 { lab=#net2}
+N 2380 -1320 2380 -1310 { lab=#net2}
+N 2400 -1280 2400 -1190 { lab=agnd}
+N 1320 -1220 1320 -1200 { lab=#net11}
+N 1300 -1250 1300 -1170 { lab=agnd}
+N 1300 -1170 1300 -1100 { lab=agnd}
+N 1320 -1140 1320 -1130 { lab=agnd}
+N 3100 -1410 3100 -1390 { lab=mir}
+N 3100 -1530 3100 -1470 { lab=avdd}
+C {devices/iopin.sym} 1930 -1530 0 0 {name=p1 lab=avdd}
+C {devices/iopin.sym} 2220 -1100 0 0 {name=p2 lab=agnd}
+C {devices/lab_pin.sym} 3500 -1300 0 0 {name=l2 sig_type=std_logic lab=bg_out}
+C {devices/opin.sym} 3610 -1300 0 0 {name=p3 lab=bg_out}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 3230 -1360 0 0 {name=M2
+L=2
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 3170 -1360 1 0 {name=l1 sig_type=std_logic lab=mir}
+C {devices/opin.sym} 3250 -1290 1 0 {name=p4 lab=iref}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2310 -1440 0 0 {name=M1
+L=2
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2200 -1440 0 1 {name=M3
+L=2
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1340 -1440 0 1 {name=M4
+L=2
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 1250 -1300 0 0 {name=l3 sig_type=std_logic lab=bg_out}
+C {sky130_fd_pr/pnp_05v5.sym} 2310 -1180 0 0 {name=Q1
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 2160 -1170 0 0 {name=Q5
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1990 -1190 0 0 {name=Q6
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1910 -1190 0 0 {name=Q7
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1820 -1190 0 0 {name=Q9
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1710 -1190 0 0 {name=Q11
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1620 -1190 0 0 {name=Q13
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1510 -1190 0 0 {name=Q15
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1410 -1190 0 0 {name=Q17
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2740 -1430 0 1 {name=M8
+L=2
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2700 -1350 0 0 {name=M12
+L=1
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2950 -1350 0 1 {name=M21
+L=1
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2910 -1430 0 0 {name=M23
+L=2
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2860 -1220 0 0 {name=M15
+L=2
+W=5
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2500 -1360 0 0 {name=M25
+L=2
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2540 -1240 0 1 {name=M16
+L=2
+W=5
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 1390 -1440 0 1 {name=l7 sig_type=std_logic lab=mir}
+C {devices/lab_pin.sym} 2250 -1440 3 0 {name=l8 sig_type=std_logic lab=mir}
+C {devices/lab_pin.sym} 2450 -1360 0 0 {name=l11 sig_type=std_logic lab=mir}
+C {devices/lab_pin.sym} 3000 -1350 0 1 {name=l13 sig_type=std_logic lab=inn}
+C {devices/lab_pin.sym} 2660 -1350 0 0 {name=l18 sig_type=std_logic lab=inp}
+C {devices/lab_pin.sym} 2110 -1400 0 0 {name=l19 sig_type=std_logic lab=inp}
+C {devices/lab_pin.sym} 2370 -1400 0 1 {name=l20 sig_type=std_logic lab=inn}
+C {devices/lab_pin.sym} 3060 -1390 1 0 {name=l21 sig_type=std_logic lab=mir}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 2180 -1360 0 0 {name=R1
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=3}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 2330 -1360 0 0 {name=R2
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=3}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 2180 -1280 0 0 {name=R10
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=6}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 2380 -1190 0 1 {name=R11
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=15}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 2080 -1280 0 0 {name=R6
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=1}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1320 -1250 0 0 {name=R5
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=1}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2270 -1490 0 1 {name=M19
+L=0.5
+W=0.42
+nf=1
+mult=2
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/iopin.sym} 2300 -1490 0 0 {name=p5 lab=en}
+C {sky130_fd_pr/cap_mim_m3_1.sym} 3100 -1440 0 0 {name=C2 model=cap_mim_m3_1 W=20 L=20 MF=1 spiceprefix=X}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1010 -1440 0 0 {name=M5
+L=3
+W=0.42
+nf=1
+mult=2
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1010 -1330 0 0 {name=M6
+L=3
+W=0.42
+nf=1
+mult=2
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1010 -1200 0 0 {name=M7
+L=2
+W=0.42
+nf=1
+mult=2
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 960 -1200 0 0 {name=l4 sig_type=std_logic lab=bg_out}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 1120 -1260 0 0 {name=M9
+L=0.5
+W=5
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 1170 -1320 0 1 {name=l5 sig_type=std_logic lab=mir}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 2080 -1200 0 0 {name=R3
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=15}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1320 -1170 0 0 {name=R4
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=53}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 2380 -1280 0 1 {name=R7
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=1}
diff --git a/xschem/ldo_v1/bgr_sym.spice b/xschem/ldo_v1/bgr_sym.spice
new file mode 100644
index 0000000..65719cb
--- /dev/null
+++ b/xschem/ldo_v1/bgr_sym.spice
@@ -0,0 +1,76 @@
+**.subckt bgr_sym avdd agnd bg_out iref en
+*.iopin avdd
+*.iopin agnd
+*.opin bg_out
+*.opin iref
+*.iopin en
+XM2 iref mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM1 inn mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM3 inp mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM4 bg_out mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XQ1 agnd agnd net2 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ5 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ6 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ7 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ9 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ11 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ13 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ15 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ17 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XM8 net4 net4 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM12 net4 inp net3 agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM21 mir inn net3 agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM23 mir net4 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM15 net3 net5 agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=2 W=5 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM25 net5 mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM16 net5 net5 agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=2 W=5 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XR1 net6 inp agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=3 m=3
+XR2 net2 inn agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=3 m=3
+XR10 net1 net6 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=6 m=6
+XR11 agnd net7 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=15 m=15
+XR6 net10 net6 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=1 m=1
+XR5 net11 bg_out agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=1 m=1
+XM19 mir en avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XC2 avdd mir sky130_fd_pr__cap_mim_m3_1 W=20 L=20 MF=1 m=1
+XM5 net9 net9 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=3 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XM6 net8 net8 net9 avdd sky130_fd_pr__pfet_g5v0d10v5 L=3 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XM7 net8 bg_out agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=2 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XM9 mir net8 agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=0.5 W=5 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XR3 agnd net10 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=15 m=15
+XR4 agnd net11 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=53 m=53
+XR7 net7 net2 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=1 m=1
+**.ends
+** flattened .save nodes
+.end
diff --git a/xschem/ldo_v1/bgr_sym.sym b/xschem/ldo_v1/bgr_sym.sym
new file mode 100644
index 0000000..1908ca1
--- /dev/null
+++ b/xschem/ldo_v1/bgr_sym.sym
@@ -0,0 +1,28 @@
+v {xschem version=2.9.9 file_version=1.2 }
+G {}
+K {type=subcircuit
+format="@name @pinlist @symname"
+template="name=x1"}
+V {}
+S {}
+E {}
+L 4 890 -950 1000 -950 {}
+L 4 1000 -950 1000 -890 {}
+L 4 890 -890 1000 -890 {}
+L 4 890 -950 890 -890 {}
+L 4 930 -970 930 -950 {}
+L 4 930 -890 930 -880 {}
+L 4 1000 -930 1040 -930 {}
+L 4 1000 -910 1040 -910 {}
+L 4 850 -920 890 -920 {}
+B 5 927.5 -972.5 932.5 -967.5 {name=avdd
+dir=inout}
+B 5 1037.5 -932.5 1042.5 -927.5 {name=bg_out
+dir=out}
+B 5 927.5 -882.5 932.5 -877.5 {name=agnd
+dir=inout}
+B 5 1037.5 -912.5 1042.5 -907.5 {name=iref
+dir=out}
+B 5 847.5 -922.5 852.5 -917.5 {name=en
+dir=inout}
+T {@name} 920 -930 0 0 0.2 0.2 {}
diff --git a/xschem/ldo_v1/ldo_v1_lvs.sch b/xschem/ldo_v1/ldo_v1_lvs.sch
new file mode 100644
index 0000000..1f2a4fc
--- /dev/null
+++ b/xschem/ldo_v1/ldo_v1_lvs.sch
@@ -0,0 +1,102 @@
+v {xschem version=2.9.9 file_version=1.2 }
+G {}
+K {}
+V {}
+S {}
+E {}
+N 4950 -1770 5020 -1770 { lab=#net1}
+N 5020 -1840 5020 -1770 { lab=#net1}
+N 5020 -1840 5250 -1840 { lab=#net1}
+N 4950 -1750 5250 -1750 { lab=#net2}
+N 5790 -1720 5790 -1700 { lab=ldo_out}
+N 5790 -1550 5790 -1530 { lab=pos}
+N 5790 -1860 5790 -1780 { lab=in}
+N 5790 -1750 5890 -1750 { lab=in}
+N 5890 -1860 5890 -1750 { lab=in}
+N 5710 -1540 5790 -1540 { lab=pos}
+N 5790 -1710 5890 -1710 { lab=ldo_out}
+N 5890 -1710 5930 -1710 { lab=ldo_out}
+N 5790 -1940 5790 -1860 { lab=in}
+N 4840 -1940 5790 -1940 { lab=in}
+N 4840 -1940 4840 -1810 { lab=in}
+N 5390 -1940 5390 -1890 { lab=in}
+N 5210 -1470 5580 -1470 { lab=pos}
+N 5210 -1660 5210 -1510 { lab=pos}
+N 5210 -1660 5250 -1660 { lab=pos}
+N 5580 -1510 5580 -1470 { lab=pos}
+N 5210 -1510 5210 -1480 { lab=pos}
+N 5210 -1480 5210 -1470 { lab=pos}
+N 5890 -1940 5890 -1860 { lab=in}
+N 5790 -1940 5890 -1940 { lab=in}
+N 4840 -1720 4840 -1700 { lab=GND}
+N 5580 -1540 5710 -1540 { lab=pos}
+N 5580 -1540 5580 -1510 { lab=pos}
+N 5790 -1640 5790 -1630 { lab=#net3}
+N 5790 -1570 5790 -1560 { lab=pos}
+N 5810 -1650 5810 -1600 { lab=GND}
+N 5810 -1670 5810 -1650 { lab=GND}
+N 5790 -1560 5790 -1550 { lab=pos}
+N 5790 -1470 5790 -1460 { lab=#net4}
+N 5810 -1500 5810 -1430 { lab=GND}
+N 5810 -1430 5810 -1400 { lab=GND}
+N 5800 -1400 5810 -1400 { lab=GND}
+N 5790 -1400 5800 -1400 { lab=GND}
+N 5790 -1400 5790 -1390 { lab=GND}
+N 5810 -1590 5810 -1500 { lab=GND}
+N 5810 -1600 5810 -1590 { lab=GND}
+N 5390 -1590 5420 -1590 { lab=GND}
+N 5420 -1590 5420 -1560 { lab=GND}
+N 5790 -1400 5790 -1360 { lab=GND}
+N 5550 -1750 5750 -1750 { lab=#net5}
+N 4710 -1760 4760 -1760 { lab=xxx}
+N 5790 -1360 5790 -1350 { lab=GND}
+N 5420 -1560 5420 -1540 { lab=GND}
+N 4840 -1700 4840 -1690 { lab=GND}
+C {bgr_sym.sym} 3910 -840 0 0 {name=x1}
+C {Error_Amp.sym} 4490 -370 0 0 {name=xy1}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 5770 -1750 0 0 {name=M24
+L=0.5
+W=10
+nf=1
+mult=800
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 5710 -1540 1 0 {name=l25 sig_type=std_logic lab=pos}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5790 -1600 0 1 {name=R2
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=3}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5790 -1670 0 1 {name=R3
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=8}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5790 -1500 0 1 {name=R1
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=2}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5790 -1430 0 1 {name=R4
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=4}
+C {devices/ipin.sym} 5280 -1940 0 0 {name=p1 lab=in}
+C {devices/gnd.sym} 5790 -1350 0 0 {name=l2 lab=GND}
+C {devices/gnd.sym} 5420 -1540 0 0 {name=l3 lab=GND}
+C {devices/gnd.sym} 4840 -1690 0 0 {name=l4 lab=GND}
+C {devices/ipin.sym} 4730 -1760 0 0 {name=p2 lab=en}
+C {devices/opin.sym} 5880 -1710 0 0 {name=p3 lab=ldo_out
+}
diff --git a/xschem/ldo_v1/ldo_v1_lvs.spice b/xschem/ldo_v1/ldo_v1_lvs.spice
new file mode 100644
index 0000000..175ddc0
--- /dev/null
+++ b/xschem/ldo_v1/ldo_v1_lvs.spice
@@ -0,0 +1,135 @@
+**.subckt ldo_v1_lvs in en ldo_out
+*.ipin in
+*.ipin en
+*.opin ldo_out
+x1 in net1 GND net2 en bgr_sym
+xy1 net1 pos net2 net5 in GND Error_Amp
+XM24 ldo_out net5 in in sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=10 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=800 m=800 
+XR2 pos net3 GND sky130_fd_pr__res_xhigh_po_0p69 L=24 mult=3 m=3
+XR3 net3 ldo_out GND sky130_fd_pr__res_xhigh_po_0p69 L=24 mult=8 m=8
+XR1 net4 pos GND sky130_fd_pr__res_xhigh_po_0p69 L=24 mult=2 m=2
+XR4 GND net4 GND sky130_fd_pr__res_xhigh_po_0p69 L=24 mult=4 m=4
+**.ends
+
+* expanding   symbol:  bgr_sym.sym # of pins=5
+* sym_path: /home/mustafa/mabrains/caravel_user_project_ldo/xschem/ldo_v1/bgr_sym.sym
+* sch_path: /home/mustafa/mabrains/caravel_user_project_ldo/xschem/ldo_v1/bgr_sym.sch
+.subckt bgr_sym  avdd bg_out agnd iref en
+*.iopin avdd
+*.iopin agnd
+*.opin bg_out
+*.opin iref
+*.iopin en
+XM2 iref mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM1 inn mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM3 inp mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM4 bg_out mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XQ1 agnd agnd net2 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ5 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ6 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ7 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ9 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ11 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ13 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ15 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ17 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XM8 net4 net4 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM12 net4 inp net3 agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM21 mir inn net3 agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM23 mir net4 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM15 net3 net5 agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=2 W=5 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM25 net5 mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM16 net5 net5 agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=2 W=5 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XR1 net6 inp agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=3 m=3
+XR2 net2 inn agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=3 m=3
+XR10 net1 net6 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=6 m=6
+XR11 agnd net7 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=15 m=15
+XR6 net10 net6 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=1 m=1
+XR5 net11 bg_out agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=1 m=1
+XM19 mir en avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XC2 avdd mir sky130_fd_pr__cap_mim_m3_1 W=20 L=20 MF=1 m=1
+XM5 net9 net9 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=3 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XM6 net8 net8 net9 avdd sky130_fd_pr__pfet_g5v0d10v5 L=3 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XM7 net8 bg_out agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=2 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XM9 mir net8 agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=0.5 W=5 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XR3 agnd net10 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=15 m=15
+XR4 agnd net11 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=53 m=53
+XR7 net7 net2 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=1 m=1
+.ends
+
+
+* expanding   symbol:  Error_Amp.sym # of pins=6
+* sym_path: /home/mustafa/mabrains/caravel_user_project_ldo/xschem/ldo_v1/Error_Amp.sym
+* sch_path: /home/mustafa/mabrains/caravel_user_project_ldo/xschem/ldo_v1/Error_Amp.sch
+.subckt Error_Amp  neg pos vb out avdd agnd
+*.opin out
+*.iopin avdd
+*.iopin agnd
+*.iopin vb
+*.ipin neg
+*.ipin pos
+XM8 net2 net2 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=1.2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=4 m=4 
+XM9 net2 neg net3 agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM10 net1 pos net3 agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM11 net1 net2 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=1.2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=4 m=4 
+XM13 net3 vb agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM14 out net1 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=1.2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=12 m=12 
+XM18 out vb agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=12 m=12 
+XC3 net1 net4 sky130_fd_pr__cap_mim_m3_1 W=50 L=50 MF=1 m=1
+XR7 out net4 agnd sky130_fd_pr__res_xhigh_po_0p69 L=4.5 mult=1 m=1
+XM20 vb vb agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+.ends
+
+.GLOBAL GND
+** flattened .save nodes
+.end
diff --git a/xschem/ldo_v1/ldo_v1_sim.sch b/xschem/ldo_v1/ldo_v1_sim.sch
new file mode 100644
index 0000000..fc724d9
--- /dev/null
+++ b/xschem/ldo_v1/ldo_v1_sim.sch
@@ -0,0 +1,306 @@
+v {xschem version=2.9.9 file_version=1.2 }
+G {}
+K {}
+V {}
+S {}
+E {}
+N 4950 -1770 5020 -1770 { lab=#net1}
+N 5020 -1840 5020 -1770 { lab=#net1}
+N 5020 -1840 5250 -1840 { lab=#net1}
+N 4950 -1750 5250 -1750 { lab=#net2}
+N 5710 -1750 5750 -1750 { lab=#net3}
+N 5790 -1720 5790 -1700 { lab=ldo_out}
+N 5790 -1550 5790 -1530 { lab=pos}
+N 5790 -1860 5790 -1780 { lab=VDD}
+N 5790 -1750 5890 -1750 { lab=VDD}
+N 5890 -1860 5890 -1750 { lab=VDD}
+N 5710 -1540 5790 -1540 { lab=pos}
+N 5790 -1710 5890 -1710 { lab=ldo_out}
+N 5890 -1710 5930 -1710 { lab=ldo_out}
+N 5790 -1940 5790 -1860 { lab=VDD}
+N 4840 -1940 5790 -1940 { lab=VDD}
+N 4840 -1940 4840 -1810 { lab=VDD}
+N 5390 -1940 5390 -1890 { lab=VDD}
+N 5210 -1470 5580 -1470 { lab=pos}
+N 5210 -1660 5210 -1510 { lab=pos}
+N 5210 -1660 5250 -1660 { lab=pos}
+N 5580 -1510 5580 -1470 { lab=pos}
+N 5210 -1510 5210 -1480 { lab=pos}
+N 5210 -1480 5210 -1470 { lab=pos}
+N 5890 -1940 5890 -1860 { lab=VDD}
+N 5790 -1940 5890 -1940 { lab=VDD}
+N 5330 -1970 5330 -1940 { lab=VDD}
+N 4840 -1720 4840 -1700 { lab=GND}
+N 4550 -1730 4550 -1690 { lab=GND}
+N 4550 -1810 4550 -1790 { lab=VDD}
+N 4550 -1940 4550 -1810 { lab=VDD}
+N 4550 -1940 4840 -1940 { lab=VDD}
+N 5650 -1680 5650 -1650 { lab=#net5}
+N 5580 -1540 5710 -1540 { lab=pos}
+N 5580 -1540 5580 -1510 { lab=pos}
+N 5620 -1750 5710 -1750 { lab=#net3}
+N 5650 -1750 5650 -1740 { lab=#net3}
+N 5650 -1590 5650 -1390 { lab=#net4}
+N 5650 -1390 5790 -1390 { lab=#net4}
+N 5550 -1750 5560 -1750 { lab=#net6}
+N 5790 -1640 5790 -1630 { lab=#net7}
+N 5790 -1570 5790 -1560 { lab=pos}
+N 5810 -1650 5810 -1600 { lab=#net4}
+N 5810 -1670 5810 -1650 { lab=#net4}
+N 5790 -1560 5790 -1550 { lab=pos}
+N 5790 -1470 5790 -1460 { lab=#net8}
+N 5810 -1500 5810 -1430 { lab=#net4}
+N 5810 -1430 5810 -1400 { lab=#net4}
+N 5800 -1400 5810 -1400 { lab=#net4}
+N 5790 -1400 5800 -1400 { lab=#net4}
+N 5790 -1400 5790 -1390 { lab=#net4}
+N 5810 -1590 5810 -1500 { lab=#net4}
+N 5810 -1600 5810 -1590 { lab=#net4}
+N 4320 -1820 4320 -1800 { lab=en}
+N 4320 -1740 4320 -1710 { lab=GND}
+N 4710 -1760 4760 -1760 { lab=en}
+N 5390 -1590 5420 -1590 { lab=GND}
+N 5420 -1590 5420 -1560 { lab=GND}
+C {bgr_sym.sym} 3910 -840 0 0 {name=x1}
+C {Error_Amp.sym} 4490 -370 0 0 {name=xy1}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 5770 -1750 0 0 {name=M24
+L=0.5
+W=10
+nf=1
+mult=800
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 5710 -1540 1 0 {name=l25 sig_type=std_logic lab=pos}
+C {devices/code_shown.sym} 6370 -2330 0 0 {name= SPICE1 only_toplevel="false" value=
+"
+
+.param R=36k
+R10 ldo_out GND \{R\}
+IL ldo_out 0 PWL(0 0.1m 10u 0.1m 20u 10m 30u 10m)
+*CL ldo_out gnd 10p
+.lib "/home/mustafa/mabrains/pdks/share/pdk/sky130A/libs.tech/ngspice/sky130.lib_mod.spice" tt
+
+
+
+
+
+.nodeset v(x1.inn)=1.2
+.nodeset v(x1.inp)=1.2
+.nodeset v(x1.mir)=1
+.nodeset v(x1.net5)=1
+.nodeset v(x1.bg_out)=1.1
+.nodeset v(ldo_out)=1.8
+.nodeset v(pos)=1.1
+*.nodeset v(net3)=0.8
+*.nodeset v(net1)=0.7
+.nodeset v(x1.net6)=0.9
+*.nodeset v(net7)=0.75
+.nodeset v(xy1.vb)=0.9
+
+
+.option temp=27
+*User_defined_functions
+.control
+define max(vector_name) (vecmax(vector_name))
+define min(vector_name) (vecmin(vector_name))
+.endc
+
+
+*Temp_sweep
+.control
+alter IL 0
+dc temp 85 0 -1
+let temp_coeff=1000000*(max(ldo_out)-min(ldo_out))/85
+print temp_coeff
+plot v(ldo_out)
+set wr_singlescale
+set wr_vecnames
+set appendwrite
+.endc
+
+
+.control
+alter IL 0
+*alter R10 1G
+op
+let iq =i(Vs)
+print iq
+*print all
+set wr_singlescale
+set wr_vecnames
+set appendwrite
+if v(ldo_out)>1
+wrdata op_point_test v(ldo_out)
+end
+.endc
+
+
+
+*Stability_Analysis
+.control
+alter IL 0
+alter Vs AC =0
+alter Vt AC=1
+ac dec 10 1 1G
+plot vdb(out)
+plot (180/pi)*vp(out)
+let ph= (180/pi)*vp(out)
+meas ac pm FIND ph WHEN vdb(out)=0
+.endc
+
+
+*PSRR_Analysis
+.control
+alter IL 0
+alter Vs AC =1
+alter Vt AC=0
+alter L1 0
+alter C2 0
+ac dec 10 1 1G
+meas AC PSRR100 FIND vdb(ldo_out) AT=100
+meas AC PSRR100k FIND vdb(ldo_out) AT=100k
+plot vdb(ldo_out)
+.endc
+
+
+
+
+*supply_sweep
+.control
+alter IL 0
+dc Vs 2.8 0 -0.01
+plot vdd ldo_out
+meas DC Vldo_Sup_2 FIND ldo_out AT=2
+meas DC Vldo_nom FIND ldo_out AT=2.3
+meas DC Vldo_Sup_2_8 FIND ldo_out AT=2.8
+let line_reg = abs((Vldo_Sup_2_8-Vldo_Sup_2)/0.8)
+print line_reg
+meas DC vin WHEN v(ldo_out)=1.764
+let dropout=vin-1.764
+print dropout
+set wr_singlescale
+set wr_vecnames
+set appendwrite
+.endc
+
+
+
+
+
+*Load_Reg_switches
+*V1 c1 0 DC 0 PWL(0 5 20u 5 35u 0 50u 0 100u 0)
+*V2 c2 0 DC 0 PWL(0 0 20u 0 35u 0 50u 5 100u 5)
+*s1 ldo_out 2 c1 0 switch1 ON
+*s2 ldo_out 3 c2 0 switch1 OFF
+*.model switch1 sw vt=0.1 ron =0.1 roff =1G
+*R1 2 0 18k
+*R2 3 0 180
+
+*.control
+*alter R10 1G
+*tran 0.1u 90u
+*plot v(ldo_out) v(c1) v(c2)
+*meas TRAN V_ldo_100u FIND v(ldo_out) AT=10u
+*meas TRAN V_ldo_10m FIND v(ldo_out) AT=50u
+*let load_reg= V_ldo_100u-V_ldo_10m
+*print load_reg
+*.endc
+
+
+**Load_Transient
+.control
+alter IL 50u
+alter R10 3600k
+tran 0.1u 100u
+meas TRAN V_ldo_100u FIND v(ldo_out) AT=5u
+meas TRAN V_ldo_10m FIND v(ldo_out) AT=100u
+let load_reg= V_ldo_100u-V_ldo_10m
+let load_current =(-1*i(Vs)-131.8e-6)
+print load_reg
+plot load_current v(ldo_out)-1.8
+.endc
+
+
+**Transient
+.control
+alter R10 36k
+alter @IL[PWL] = [ 0 0 10u 0 20u 0 30u 0 ]
+alter @Vs[pulse] = [ 1.8 3 10u 10u 1u 100u 200u ]
+alter IL 0
+tran 0.1u 100u
+plot vdd ldo_out
+.endc
+.control
+alter R10 36k
+alter @IL[PWL] = [ 0 0 10u 0 20u 0 30u 0 ]
+alter @Vs[pulse] = [ 0 2.3 10u 0.1u 1u 100u 200u ]
+tran 0.1u 100u
+plot vdd ldo_out
+.endc
+.control
+alter R10 36k
+alter @IL[PWL] = [ 0 0 10u 0 20u 0 30u 0 ]
+alter @Ven[pulse] = [ 0 2.3 10u 0.1u 1u 100u 200u ]
+tran 0.1u 100u
+*meas TRAN st_up_time when v(ldo_out)>1.782
+plot en ldo_out
+.endc
+
+
+
+
+
+"}
+C {devices/vsource.sym} 4550 -1760 0 0 {name=Vs value=2.3}
+C {devices/vsource.sym} 5650 -1620 0 0 {name=Vt value=0}
+C {devices/capa.sym} 5650 -1710 0 0 {name=C2
+m=1
+value=5G
+footprint=1206
+device="ceramic capacitor"}
+C {devices/ind.sym} 5590 -1750 3 0 {name=L1
+m=1
+value=5G
+footprint=1206
+device=inductor}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5790 -1600 0 1 {name=R2
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=3}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5790 -1670 0 1 {name=R3
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=8}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5790 -1500 0 1 {name=R1
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=2}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5790 -1430 0 1 {name=R4
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=4}
+C {devices/vsource.sym} 4320 -1770 0 0 {name=Ven value=2.3}
+C {devices/lab_pin.sym} 4320 -1820 0 0 {name=l27 sig_type=std_logic lab=en}
+C {devices/lab_pin.sym} 4710 -1760 0 0 {name=l6 sig_type=std_logic lab=en}
+C {devices/gnd.sym} 4550 -1690 0 0 {name=l1 lab=GND}
+C {devices/gnd.sym} 4320 -1710 0 0 {name=l2 lab=GND}
+C {devices/gnd.sym} 4840 -1700 0 0 {name=l3 lab=GND}
+C {devices/gnd.sym} 5420 -1560 0 0 {name=l4 lab=GND}
+C {devices/gnd.sym} 5740 -1390 0 0 {name=l7 lab=GND}
+C {devices/vdd.sym} 5330 -1970 0 0 {name=l5 lab=VDD}
+C {devices/lab_pin.sym} 5930 -1710 0 1 {name=l8 sig_type=std_logic lab=ldo_out}
diff --git a/xschem/ldo_v1/ldo_v1_sim.spice b/xschem/ldo_v1/ldo_v1_sim.spice
new file mode 100644
index 0000000..19dd90a
--- /dev/null
+++ b/xschem/ldo_v1/ldo_v1_sim.spice
@@ -0,0 +1,321 @@
+**.subckt ldo_v1_sim
+x1 VDD net1 GND net2 en bgr_sym
+xy1 net1 pos net2 net5 VDD GND Error_Amp
+XM24 ldo_out net3 VDD VDD sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=10 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=800 m=800 
+Vs VDD GND 2.3
+Vt net4 GND 0
+C2 net3 net4 5G m=1
+L1 net5 net3 5G m=1
+XR2 pos net6 GND sky130_fd_pr__res_xhigh_po_0p69 L=24 mult=3 m=3
+XR3 net6 ldo_out GND sky130_fd_pr__res_xhigh_po_0p69 L=24 mult=8 m=8
+XR1 net7 pos GND sky130_fd_pr__res_xhigh_po_0p69 L=24 mult=2 m=2
+XR4 GND net7 GND sky130_fd_pr__res_xhigh_po_0p69 L=24 mult=4 m=4
+Ven en GND 2.3
+**** begin user architecture code
+
+
+
+.param R=36k
+R10 ldo_out GND {R}
+IL ldo_out 0 PWL(0 0.1m 10u 0.1m 20u 10m 30u 10m)
+*CL ldo_out gnd 10p
+.lib /home/mustafa/mabrains/pdks/share/pdk/sky130A/libs.tech/ngspice/sky130.lib_mod.spice tt
+
+
+
+
+
+.nodeset v(x1.inn)=1.2
+.nodeset v(x1.inp)=1.2
+.nodeset v(x1.mir)=1
+.nodeset v(x1.net5)=1
+.nodeset v(x1.bg_out)=1.1
+.nodeset v(ldo_out)=1.8
+.nodeset v(pos)=1.1
+*.nodeset v(net3)=0.8
+*.nodeset v(net1)=0.7
+.nodeset v(x1.net6)=0.9
+*.nodeset v(net7)=0.75
+.nodeset v(xy1.vb)=0.9
+
+
+.option temp=27
+*User_defined_functions
+.control
+define max(vector_name) (vecmax(vector_name))
+define min(vector_name) (vecmin(vector_name))
+.endc
+
+
+*Temp_sweep
+.control
+alter IL 0
+dc temp 85 0 -1
+let temp_coeff=1000000*(max(ldo_out)-min(ldo_out))/85
+print temp_coeff
+plot v(ldo_out)
+set wr_singlescale
+set wr_vecnames
+set appendwrite
+.endc
+
+
+.control
+alter IL 0
+*alter R10 1G
+op
+let iq =i(Vs)
+print iq
+*print all
+set wr_singlescale
+set wr_vecnames
+set appendwrite
+if v(ldo_out)>1
+wrdata op_point_test v(ldo_out)
+end
+.endc
+
+
+
+*Stability_Analysis
+.control
+alter IL 0
+alter Vs AC =0
+alter Vt AC=1
+ac dec 10 1 1G
+plot vdb(out)
+plot (180/pi)*vp(out)
+let ph= (180/pi)*vp(out)
+meas ac pm FIND ph WHEN vdb(out)=0
+.endc
+
+
+*PSRR_Analysis
+.control
+alter IL 0
+alter Vs AC =1
+alter Vt AC=0
+alter L1 0
+alter C2 0
+ac dec 10 1 1G
+meas AC PSRR100 FIND vdb(ldo_out) AT=100
+meas AC PSRR100k FIND vdb(ldo_out) AT=100k
+plot vdb(ldo_out)
+.endc
+
+
+
+
+*supply_sweep
+.control
+alter IL 0
+dc Vs 2.8 0 -0.01
+plot vdd ldo_out
+meas DC Vldo_Sup_2 FIND ldo_out AT=2
+meas DC Vldo_nom FIND ldo_out AT=2.3
+meas DC Vldo_Sup_2_8 FIND ldo_out AT=2.8
+let line_reg = abs((Vldo_Sup_2_8-Vldo_Sup_2)/0.8)
+print line_reg
+meas DC vin WHEN v(ldo_out)=1.764
+let dropout=vin-1.764
+print dropout
+set wr_singlescale
+set wr_vecnames
+set appendwrite
+.endc
+
+
+
+
+
+*Load_Reg_switches
+*V1 c1 0 DC 0 PWL(0 5 20u 5 35u 0 50u 0 100u 0)
+*V2 c2 0 DC 0 PWL(0 0 20u 0 35u 0 50u 5 100u 5)
+*s1 ldo_out 2 c1 0 switch1 ON
+*s2 ldo_out 3 c2 0 switch1 OFF
+*.model switch1 sw vt=0.1 ron =0.1 roff =1G
+*R1 2 0 18k
+*R2 3 0 180
+
+*.control
+*alter R10 1G
+*tran 0.1u 90u
+*plot v(ldo_out) v(c1) v(c2)
+*meas TRAN V_ldo_100u FIND v(ldo_out) AT=10u
+*meas TRAN V_ldo_10m FIND v(ldo_out) AT=50u
+*let load_reg= V_ldo_100u-V_ldo_10m
+*print load_reg
+*.endc
+
+
+**Load_Transient
+.control
+alter IL 50u
+alter R10 3600k
+tran 0.1u 100u
+meas TRAN V_ldo_100u FIND v(ldo_out) AT=5u
+meas TRAN V_ldo_10m FIND v(ldo_out) AT=100u
+let load_reg= V_ldo_100u-V_ldo_10m
+let load_current =(-1*i(Vs)-131.8e-6)
+print load_reg
+plot load_current v(ldo_out)-1.8
+.endc
+
+
+**Transient
+.control
+alter R10 36k
+alter @IL[PWL] = [ 0 0 10u 0 20u 0 30u 0 ]
+alter @Vs[pulse] = [ 1.8 3 10u 10u 1u 100u 200u ]
+alter IL 0
+tran 0.1u 100u
+plot vdd ldo_out
+.endc
+.control
+alter R10 36k
+alter @IL[PWL] = [ 0 0 10u 0 20u 0 30u 0 ]
+alter @Vs[pulse] = [ 0 2.3 10u 0.1u 1u 100u 200u ]
+tran 0.1u 100u
+plot vdd ldo_out
+.endc
+.control
+alter R10 36k
+alter @IL[PWL] = [ 0 0 10u 0 20u 0 30u 0 ]
+alter @Ven[pulse] = [ 0 2.3 10u 0.1u 1u 100u 200u ]
+tran 0.1u 100u
+*meas TRAN st_up_time when v(ldo_out)>1.782
+plot en ldo_out
+.endc
+
+
+
+
+
+
+
+**** end user architecture code
+**.ends
+
+* expanding   symbol:  bgr_sym.sym # of pins=5
+* sym_path: /home/mustafa/mabrains/caravel_user_project_ldo/xschem/ldo_v1/bgr_sym.sym
+* sch_path: /home/mustafa/mabrains/caravel_user_project_ldo/xschem/ldo_v1/bgr_sym.sch
+.subckt bgr_sym  avdd bg_out agnd iref en
+*.iopin avdd
+*.iopin agnd
+*.opin bg_out
+*.opin iref
+*.iopin en
+XM2 iref mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM1 inn mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM3 inp mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM4 bg_out mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XQ1 agnd agnd net2 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ5 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ6 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ7 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ9 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ11 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ13 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ15 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XQ17 agnd agnd net1 sky130_fd_pr__pnp_05v5_W0p68L0p68
+XM8 net4 net4 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM12 net4 inp net3 agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM21 mir inn net3 agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM23 mir net4 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM15 net3 net5 agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=2 W=5 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XM25 net5 mir avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM16 net5 net5 agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=2 W=5 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XR1 net6 inp agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=3 m=3
+XR2 net2 inn agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=3 m=3
+XR10 net1 net6 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=6 m=6
+XR11 agnd net7 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=15 m=15
+XR6 net10 net6 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=1 m=1
+XR5 net11 bg_out agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=1 m=1
+XM19 mir en avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=0.5 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XC2 avdd mir sky130_fd_pr__cap_mim_m3_1 W=20 L=20 MF=1 m=1
+XM5 net9 net9 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=3 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XM6 net8 net8 net9 avdd sky130_fd_pr__pfet_g5v0d10v5 L=3 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XM7 net8 bg_out agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=2 W=0.42 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=2 m=2 
+XM9 mir net8 agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=0.5 W=5 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+XR3 agnd net10 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=15 m=15
+XR4 agnd net11 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=53 m=53
+XR7 net7 net2 agnd sky130_fd_pr__res_xhigh_po_0p69 L=27 mult=1 m=1
+.ends
+
+
+* expanding   symbol:  Error_Amp.sym # of pins=6
+* sym_path: /home/mustafa/mabrains/caravel_user_project_ldo/xschem/ldo_v1/Error_Amp.sym
+* sch_path: /home/mustafa/mabrains/caravel_user_project_ldo/xschem/ldo_v1/Error_Amp.sch
+.subckt Error_Amp  neg pos vb out avdd agnd
+*.opin out
+*.iopin avdd
+*.iopin agnd
+*.iopin vb
+*.ipin neg
+*.ipin pos
+XM8 net2 net2 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=1.2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=4 m=4 
+XM9 net2 neg net3 agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM10 net1 pos net3 agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=2 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM11 net1 net2 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=1.2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=4 m=4 
+XM13 net3 vb agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=8 m=8 
+XM14 out net1 avdd avdd sky130_fd_pr__pfet_g5v0d10v5 L=1.2 W=3 nf=1 ad='int((nf+1)/2) * W/nf * 0.29'
++ as='int((nf+2)/2) * W/nf * 0.29' pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)'
++ nrd='0.29 / W' nrs='0.29 / W' sa=0 sb=0 sd=0 mult=12 m=12 
+XM18 out vb agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=12 m=12 
+XC3 net1 net4 sky130_fd_pr__cap_mim_m3_1 W=50 L=50 MF=1 m=1
+XR7 out net4 agnd sky130_fd_pr__res_xhigh_po_0p69 L=4.5 mult=1 m=1
+XM20 vb vb agnd agnd sky130_fd_pr__nfet_g5v0d10v5 L=1 W=1 nf=1 ad='int((nf+1)/2) * W/nf * 0.29' as='int((nf+2)/2) * W/nf * 0.29'
++ pd='2*int((nf+1)/2) * (W/nf + 0.29)' ps='2*int((nf+2)/2) * (W/nf + 0.29)' nrd='0.29 / W' nrs='0.29 / W'
++ sa=0 sb=0 sd=0 mult=4 m=4 
+.ends
+
+.GLOBAL GND
+.GLOBAL VDD
+** flattened .save nodes
+.end
diff --git a/xschem/ldo_v2/ldo_v2.sch b/xschem/ldo_v2/ldo_v2.sch
new file mode 100644
index 0000000..6640fc0
--- /dev/null
+++ b/xschem/ldo_v2/ldo_v2.sch
@@ -0,0 +1,1118 @@
+v {xschem version=2.9.9 file_version=1.2 }
+G {}
+K {}
+V {}
+S {}
+E {}
+N 4250 -1690 4250 -1670 { lab=VDD}
+N 4250 -1690 4500 -1690 { lab=VDD}
+N 4500 -1690 4500 -1670 { lab=VDD}
+N 4500 -1610 4500 -1570 { lab=#net1}
+N 4290 -1640 4460 -1640 { lab=#net2}
+N 4250 -1610 4250 -1570 { lab=#net2}
+N 4250 -1510 4250 -1450 { lab=#net3}
+N 4250 -1450 4500 -1450 { lab=#net3}
+N 4500 -1510 4500 -1450 { lab=#net3}
+N 4340 -1450 4340 -1430 { lab=#net3}
+N 4340 -1320 4340 -1300 { lab=GND}
+N 4250 -1540 4500 -1540 { lab=GND}
+N 4430 -1540 4430 -1310 { lab=GND}
+N 4340 -1310 4430 -1310 { lab=GND}
+N 4370 -1710 4370 -1690 { lab=VDD}
+N 4500 -1640 4600 -1640 { lab=VDD}
+N 4600 -1690 4600 -1640 { lab=VDD}
+N 4490 -1690 4600 -1690 { lab=VDD}
+N 4150 -1640 4250 -1640 { lab=VDD}
+N 4150 -1690 4150 -1640 { lab=VDD}
+N 4150 -1690 4250 -1690 { lab=VDD}
+N 4340 -1400 4430 -1400 { lab=GND}
+N 4640 -1660 4680 -1660 { lab=#net1}
+N 4590 -1690 4720 -1690 { lab=VDD}
+N 4720 -1660 4820 -1660 { lab=VDD}
+N 4720 -1690 4820 -1690 { lab=VDD}
+N 4820 -1690 4820 -1660 { lab=VDD}
+N 4720 -1630 4720 -1590 { lab=out}
+N 4430 -1310 4720 -1310 { lab=GND}
+N 4720 -1310 4810 -1310 { lab=GND}
+N 4040 -1570 4040 -1550 { lab=VDD}
+N 4040 -1490 4040 -1440 { lab=vb}
+N 3960 -1410 4000 -1410 { lab=vb}
+N 3960 -1460 3960 -1410 { lab=vb}
+N 3960 -1460 4040 -1460 { lab=vb}
+N 4040 -1380 4040 -1360 { lab=GND}
+N 4040 -1410 4120 -1410 { lab=GND}
+N 4120 -1410 4120 -1370 { lab=GND}
+N 4040 -1370 4120 -1370 { lab=GND}
+N 3930 -1410 3960 -1410 { lab=vb}
+N 4640 -1520 4680 -1520 { lab=vb}
+N 4270 -1400 4300 -1400 { lab=vb}
+N 4360 -1640 4360 -1590 { lab=#net2}
+N 4250 -1590 4360 -1590 { lab=#net2}
+N 4640 -1590 4650 -1590 { lab=#net4}
+N 4710 -1590 4720 -1590 { lab=out}
+N 4720 -1590 4720 -1550 { lab=out}
+N 4720 -1520 4820 -1520 { lab=GND}
+N 4820 -1520 4820 -1310 { lab=GND}
+N 4810 -1310 4820 -1310 { lab=GND}
+N 4720 -1490 4720 -1310 { lab=GND}
+N 4190 -1540 4210 -1540 { lab=bg_out}
+N 4540 -1540 4570 -1540 { lab=pos}
+N 4620 -1590 4640 -1590 { lab=#net4}
+N 4640 -1660 4640 -1620 { lab=#net1}
+N 4820 -1310 5150 -1310 { lab=GND}
+N 4820 -1690 5150 -1690 { lab=VDD}
+N 5150 -1690 5250 -1690 { lab=VDD}
+N 5110 -1450 5190 -1450 { lab=pos}
+N 5010 -1590 5070 -1590 { lab=#net5}
+N 4500 -1590 4560 -1590 { lab=#net1}
+N 4530 -1620 4640 -1620 { lab=#net1}
+N 4530 -1620 4530 -1590 { lab=#net1}
+N 5000 -1590 5010 -1590 { lab=#net5}
+N 4720 -1590 4780 -1590 { lab=out}
+N 4780 -1590 4790 -1590 { lab=out}
+N 4790 -1590 4800 -1590 { lab=out}
+N 4040 -1520 4070 -1520 { lab=VDD}
+N 4070 -1560 4070 -1520 { lab=VDD}
+N 4040 -1560 4070 -1560 { lab=VDD}
+N 4000 -1570 4000 -1520 { lab=mir}
+N 3960 -1570 4000 -1570 { lab=mir}
+N 4660 -1570 4680 -1570 { lab=GND}
+N 4660 -1570 4660 -1310 { lab=GND}
+N 4910 -1520 4910 -1490 { lab=#net6}
+N 4910 -1430 4910 -1310 { lab=GND}
+N 4910 -1590 4910 -1580 { lab=#net5}
+N 4910 -1590 5000 -1590 { lab=#net5}
+N 4860 -1590 4910 -1590 { lab=#net5}
+N 5070 -1630 5070 -1590 { lab=#net5}
+N 5070 -1630 5150 -1630 { lab=#net5}
+N 5190 -1690 5190 -1660 { lab=VDD}
+N 5250 -1690 5250 -1630 { lab=VDD}
+N 5190 -1630 5250 -1630 { lab=VDD}
+N 4340 -1370 4340 -1320 { lab=GND}
+N 5190 -1600 5190 -1580 { lab=ldo_out}
+N 5190 -1520 5190 -1510 { lab=#net7}
+N 5190 -1450 5190 -1440 { lab=pos}
+N 5190 -1380 5190 -1370 { lab=#net8}
+N 5170 -1410 5170 -1340 { lab=GND}
+N 5170 -1530 5170 -1480 { lab=GND}
+N 5170 -1550 5170 -1530 { lab=GND}
+N 5170 -1480 5170 -1410 { lab=GND}
+N 5170 -1340 5170 -1310 { lab=GND}
+N 5190 -1590 5290 -1590 { lab=ldo_out}
+N 5150 -1310 5170 -1310 { lab=GND}
+N 5170 -1310 5180 -1310 { lab=GND}
+N 5180 -1310 5190 -1310 { lab=GND}
+N 1890 -1040 1890 -990 { lab=GND}
+N 1740 -1130 1740 -1090 { lab=#net9}
+N 1850 -1070 1850 -1020 { lab=GND}
+N 1850 -1020 1890 -1020 { lab=GND}
+N 1700 -1060 1700 -1010 { lab=GND}
+N 1700 -1010 1740 -1010 { lab=GND}
+N 1780 -1330 1850 -1330 { lab=mir}
+N 1740 -1420 1740 -1360 { lab=VDD}
+N 1740 -1420 1890 -1420 { lab=VDD}
+N 1890 -1420 1890 -1360 { lab=VDD}
+N 1880 -1420 2130 -1420 { lab=VDD}
+N 1740 -1030 1740 -1020 { lab=GND}
+N 1740 -1020 1740 -1010 { lab=GND}
+N 1740 -990 1890 -990 { lab=GND}
+N 1740 -1010 1740 -990 { lab=GND}
+N 1890 -1330 1930 -1330 { lab=VDD}
+N 1930 -1420 1930 -1330 { lab=VDD}
+N 1630 -1330 1740 -1330 { lab=VDD}
+N 1630 -1420 1850 -1420 { lab=VDD}
+N 880 -1420 880 -1360 { lab=VDD}
+N 770 -1330 880 -1330 { lab=VDD}
+N 770 -1420 770 -1330 { lab=VDD}
+N 770 -1420 880 -1420 { lab=VDD}
+N 880 -1420 970 -1420 { lab=VDD}
+N 810 -1190 880 -1190 { lab=bg_out}
+N 1670 -1290 1700 -1290 { lab=inp}
+N 1890 -1290 1930 -1290 { lab=inn}
+N 1570 -1050 1570 -1010 { lab=GND}
+N 1510 -1080 1530 -1080 { lab=GND}
+N 1510 -1080 1510 -1040 { lab=GND}
+N 1570 -1130 1570 -1110 { lab=#net9}
+N 1490 -1050 1490 -1010 { lab=GND}
+N 1430 -1080 1450 -1080 { lab=GND}
+N 1430 -1080 1430 -1040 { lab=GND}
+N 1490 -1130 1490 -1110 { lab=#net9}
+N 1400 -1050 1400 -1010 { lab=GND}
+N 1340 -1080 1360 -1080 { lab=GND}
+N 1340 -1080 1340 -1040 { lab=GND}
+N 1400 -1130 1400 -1110 { lab=#net9}
+N 1290 -1050 1290 -1010 { lab=GND}
+N 1230 -1080 1250 -1080 { lab=GND}
+N 1230 -1080 1230 -1040 { lab=GND}
+N 1290 -1130 1290 -1110 { lab=#net9}
+N 1200 -1050 1200 -1010 { lab=GND}
+N 1140 -1080 1160 -1080 { lab=GND}
+N 1140 -1080 1140 -1040 { lab=GND}
+N 1200 -1130 1200 -1110 { lab=#net9}
+N 1090 -1050 1090 -1010 { lab=GND}
+N 1030 -1080 1050 -1080 { lab=GND}
+N 1030 -1080 1030 -1040 { lab=GND}
+N 1090 -1130 1090 -1110 { lab=#net9}
+N 990 -1050 990 -1010 { lab=GND}
+N 930 -1080 950 -1080 { lab=GND}
+N 930 -1080 930 -1040 { lab=GND}
+N 990 -1130 990 -1110 { lab=#net9}
+N 1610 -990 1740 -990 { lab=GND}
+N 990 -1130 1090 -1130 { lab=#net9}
+N 1080 -1130 1200 -1130 { lab=#net9}
+N 1200 -1130 1290 -1130 { lab=#net9}
+N 1290 -1130 1400 -1130 { lab=#net9}
+N 1400 -1130 1490 -1130 { lab=#net9}
+N 1480 -1130 1570 -1130 { lab=#net9}
+N 920 -1420 1630 -1420 { lab=VDD}
+N 1630 -1420 1630 -1330 { lab=VDD}
+N 930 -1040 930 -1010 { lab=GND}
+N 930 -1010 990 -1010 { lab=GND}
+N 990 -1010 1090 -1010 { lab=GND}
+N 1090 -1010 1210 -1010 { lab=GND}
+N 1210 -1010 1290 -1010 { lab=GND}
+N 1290 -1010 1400 -1010 { lab=GND}
+N 1400 -1010 1510 -1010 { lab=GND}
+N 1510 -1010 1570 -1010 { lab=GND}
+N 860 -990 1610 -990 { lab=GND}
+N 1030 -1040 1030 -1010 { lab=GND}
+N 1340 -1040 1340 -1010 { lab=GND}
+N 1430 -1040 1430 -1010 { lab=GND}
+N 1510 -1040 1510 -1010 { lab=GND}
+N 1140 -1040 1140 -1010 { lab=GND}
+N 1230 -1040 1230 -1010 { lab=GND}
+N 850 -990 860 -990 { lab=GND}
+N 880 -1010 880 -990 { lab=GND}
+N 920 -1330 950 -1330 { lab=mir}
+N 1890 -1300 1890 -1290 { lab=inn}
+N 2280 -1240 2490 -1240 { lab=GND}
+N 2490 -1290 2490 -1270 { lab=mir}
+N 2490 -1420 2490 -1350 { lab=VDD}
+N 2210 -1420 2490 -1420 { lab=VDD}
+N 2280 -1420 2280 -1350 { lab=VDD}
+N 2440 -1080 2440 -990 { lab=GND}
+N 2350 -1240 2350 -990 { lab=GND}
+N 2180 -1320 2280 -1320 { lab=VDD}
+N 2180 -1420 2180 -1320 { lab=VDD}
+N 2490 -1320 2600 -1320 { lab=VDD}
+N 2600 -1420 2600 -1320 { lab=VDD}
+N 2480 -1420 2600 -1420 { lab=VDD}
+N 2440 -1110 2520 -1110 { lab=GND}
+N 2520 -1110 2520 -990 { lab=GND}
+N 1890 -990 2260 -990 { lab=GND}
+N 2350 -990 2440 -990 { lab=GND}
+N 2440 -990 2520 -990 { lab=GND}
+N 2220 -1240 2240 -1240 { lab=inp}
+N 2530 -1240 2560 -1240 { lab=inn}
+N 2130 -1420 2180 -1420 { lab=VDD}
+N 2180 -1420 2210 -1420 { lab=VDD}
+N 2260 -990 2350 -990 { lab=GND}
+N 2080 -1420 2080 -1280 { lab=VDD}
+N 2080 -1250 2140 -1250 { lab=VDD}
+N 2140 -1420 2140 -1250 { lab=VDD}
+N 2010 -1250 2040 -1250 { lab=mir}
+N 2080 -1100 2080 -990 { lab=GND}
+N 2030 -1130 2030 -990 { lab=GND}
+N 2490 -1280 2570 -1280 { lab=mir}
+N 1890 -1110 1890 -1100 { lab=#net10}
+N 2280 -1210 2280 -1170 { lab=#net11}
+N 2280 -1290 2280 -1270 { lab=#net12}
+N 2320 -1320 2450 -1320 { lab=#net12}
+N 2390 -1320 2390 -1280 { lab=#net12}
+N 2280 -1280 2390 -1280 { lab=#net12}
+N 2490 -1210 2490 -1170 { lab=#net11}
+N 2280 -1170 2490 -1170 { lab=#net11}
+N 2440 -1170 2440 -1140 { lab=#net11}
+N 2080 -1220 2080 -1160 { lab=#net13}
+N 2120 -1130 2170 -1130 { lab=#net13}
+N 2170 -1170 2170 -1130 { lab=#net13}
+N 2080 -1170 2170 -1170 { lab=#net13}
+N 2170 -1110 2400 -1110 { lab=#net13}
+N 2170 -1130 2170 -1110 { lab=#net13}
+N 2030 -1130 2080 -1130 { lab=GND}
+N 1540 -1010 1540 -990 { lab=GND}
+N 1570 -1130 1740 -1130 { lab=#net9}
+N 1890 -1200 1890 -1110 { lab=#net10}
+N 1740 -1140 1740 -1120 { lab=#net9}
+N 1740 -1300 1740 -1290 { lab=inp}
+N 1890 -1210 1890 -1200 { lab=#net10}
+N 1700 -1290 1720 -1290 { lab=inp}
+N 1720 -1290 1740 -1290 { lab=inp}
+N 2640 -1280 2650 -1280 { lab=mir}
+N 2570 -1280 2640 -1280 { lab=mir}
+N 2650 -1280 2670 -1280 { lab=mir}
+N 630 -1420 660 -1420 { lab=VDD}
+N 660 -990 680 -990 { lab=GND}
+N 560 -990 660 -990 { lab=GND}
+N 470 -990 560 -990 { lab=GND}
+N 880 -1200 880 -1170 { lab=bg_out}
+N 880 -1300 880 -1260 { lab=bg_out}
+N 880 -1260 880 -1200 { lab=bg_out}
+N 1740 -1220 1740 -1200 { lab=#net14}
+N 1740 -1290 1740 -1280 { lab=inp}
+N 1640 -1210 1740 -1210 { lab=#net14}
+N 1640 -1050 1640 -990 { lab=GND}
+N 880 -1170 880 -1140 { lab=bg_out}
+N 860 -1110 860 -990 { lab=GND}
+N 1960 -1160 1960 -990 { lab=GND}
+N 1620 -1080 1620 -990 { lab=GND}
+N 1670 -1170 1720 -1170 { lab=GND}
+N 1670 -1170 1670 -990 { lab=GND}
+N 1830 -1240 1830 -990 { lab=GND}
+N 1610 -1250 1720 -1250 { lab=GND}
+N 1610 -1250 1610 -990 { lab=GND}
+N 660 -1420 770 -1420 { lab=VDD}
+N 680 -990 850 -990 { lab=GND}
+N 2670 -1420 2670 -1360 { lab=VDD}
+N 2600 -1420 2670 -1420 { lab=VDD}
+N 1640 -1210 1640 -1200 { lab=#net14}
+N 1640 -1140 1640 -1110 { lab=#net15}
+N 1890 -1220 1890 -1210 { lab=#net10}
+N 1830 -1250 1870 -1250 { lab=GND}
+N 1830 -1250 1830 -1240 { lab=GND}
+N 1940 -1050 1940 -990 { lab=GND}
+N 1940 -1130 1940 -1110 { lab=#net16}
+N 1890 -1190 1940 -1190 { lab=#net10}
+N 1890 -1290 1890 -1280 { lab=inn}
+N 1610 -1170 1620 -1170 { lab=GND}
+N 880 -1080 880 -1070 { lab=#net17}
+N 1800 -1350 1800 -1330 { lab=mir}
+N 1780 -1380 1800 -1380 { lab=VDD}
+N 1780 -1420 1780 -1380 { lab=VDD}
+N 1800 -1420 1800 -1410 { lab=VDD}
+N 1840 -1380 1860 -1380 { lab=en}
+N 3280 -1510 3280 -1490 { lab=en}
+N 3280 -1430 3280 -1400 { lab=GND}
+N 1710 -780 1710 -770 { lab=GND}
+N 1710 -990 1710 -980 { lab=GND}
+N 1460 -1460 1460 -1420 { lab=VDD}
+N 2950 -1570 2950 -1540 { lab=GND}
+N 2950 -1660 2950 -1630 { lab=VDD}
+N 1460 -1490 1460 -1460 { lab=VDD}
+N 2950 -1690 2950 -1660 { lab=VDD}
+N 2950 -1750 3030 -1750 { lab=VDD}
+N 1710 -980 1710 -850 { lab=GND}
+N 1710 -790 1710 -780 { lab=GND}
+N 4100 -1250 4100 -1230 { lab=GND}
+N 4100 -1330 4100 -1310 { lab=GND}
+N 4040 -1330 4100 -1330 { lab=GND}
+N 4040 -1360 4040 -1330 { lab=GND}
+N 4350 -1220 4350 -1200 { lab=GND}
+N 4350 -1300 4350 -1280 { lab=GND}
+N 4340 -1300 4350 -1300 { lab=GND}
+N 1710 -850 1710 -790 { lab=GND}
+N 4350 -1280 4350 -1220 { lab=GND}
+N 4100 -1310 4100 -1250 { lab=GND}
+N 2950 -1750 2950 -1690 { lab=VDD}
+N 450 -1420 450 -1320 { lab=VDD}
+N 450 -1420 630 -1420 { lab=VDD}
+N 460 -1290 550 -1290 { lab=VDD}
+N 550 -1420 550 -1290 { lab=VDD}
+N 450 -1290 460 -1290 { lab=VDD}
+N 450 -1260 450 -1140 { lab=#net18}
+N 450 -1080 450 -990 { lab=GND}
+N 450 -990 470 -990 { lab=GND}
+N 450 -1110 510 -1110 { lab=GND}
+N 510 -1110 510 -990 { lab=GND}
+N 370 -1290 410 -1290 { lab=bg_out}
+N 370 -1290 370 -1110 { lab=bg_out}
+N 370 -1110 410 -1110 { lab=bg_out}
+N 450 -1190 520 -1190 { lab=#net18}
+N 560 -1190 630 -1190 { lab=GND}
+N 630 -1190 630 -990 { lab=GND}
+N 560 -1230 560 -1220 { lab=VDD}
+N 560 -1230 590 -1230 { lab=VDD}
+N 590 -1420 590 -1230 { lab=VDD}
+N 560 -1160 560 -1120 { lab=inn}
+N 560 -1120 590 -1120 { lab=inn}
+N 2660 -1280 2660 -1210 { lab=mir}
+N 2660 -1150 2660 -990 { lab=GND}
+N 2520 -990 2660 -990 { lab=GND}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 4270 -1640 0 1 {name=M8
+L=1.2
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 4230 -1540 0 0 {name=M9
+L=1
+W=2
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 4520 -1540 0 1 {name=M10
+L=1
+W=2
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 4480 -1640 0 0 {name=M11
+L=1.2
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 4320 -1400 0 0 {name=M13
+L=1
+W=1
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/gnd.sym} 4350 -1200 0 0 {name=l2 lab=GND}
+C {devices/vdd.sym} 4370 -1710 0 0 {name=l9 lab=VDD}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 4700 -1660 0 0 {name=M14
+L=1.2
+W=3
+nf=1
+mult=12
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 4700 -1520 0 0 {name=M18
+L=1
+W=1
+nf=1
+mult=12
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 4020 -1410 0 0 {name=M20
+L=1
+W=1
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/gnd.sym} 4100 -1230 0 0 {name=l10 lab=GND}
+C {devices/vdd.sym} 4040 -1570 0 0 {name=l12 lab=VDD}
+C {devices/lab_pin.sym} 3930 -1410 0 0 {name=l14 sig_type=std_logic lab=vb}
+C {devices/lab_pin.sym} 4270 -1400 0 0 {name=l15 sig_type=std_logic lab=vb}
+C {devices/lab_pin.sym} 4640 -1520 0 0 {name=l16 sig_type=std_logic lab=vb}
+C {devices/lab_pin.sym} 4570 -1540 0 1 {name=l17 sig_type=std_logic lab=pos}
+C {devices/ngspice_get_value.sym} 4530 -1500 0 0 {name=r7 node=v(@m.$\{path\}xm3.msky130_fd_pr__nfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/launcher.sym} 4520 -1230 0 0 {name=h1
+descr=Annotate 
+tclcommand="ngspice::annotate"}
+C {devices/ngspice_get_value.sym} 4580 -1440 0 1 {name=r15 node=@m.$\{path\}xm3.msky130_fd_pr__nfet_g5v0d10v5[gm]
+descr="gm="}
+C {devices/launcher.sym} 4160 -860 0 0 {name=h2
+descr="View Raw file" 
+tclcommand="textwindow $netlist_dir/[file tail [file rootname [ xschem get schname 0 ] ] ].raw"
+}
+C {devices/ngspice_get_value.sym} 4530 -1470 0 0 {name=r16 node=v(@m.$\{path\}xm3.msky130_fd_pr__nfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 4170 -1490 0 0 {name=r17 node=v(@m.$\{path\}xm2.msky130_fd_pr__nfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 4220 -1430 0 1 {name=r18 node=@m.$\{path\}xm2.msky130_fd_pr__nfet_g5v0d10v5[gm]
+descr="gm="}
+C {devices/ngspice_get_value.sym} 4170 -1460 0 0 {name=r19 node=v(@m.$\{path\}xm2.msky130_fd_pr__nfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 4230 -1350 0 0 {name=r20 node=v(@m.$\{path\}xm5.msky130_fd_pr__nfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 4280 -1290 0 1 {name=r21 node=@m.$\{path\}xm5.msky130_fd_pr__nfet_g5v0d10v5[gm]
+descr="gm="}
+C {devices/ngspice_get_value.sym} 4230 -1320 0 0 {name=r22 node=v(@m.$\{path\}xm5.msky130_fd_pr__nfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 3960 -1360 0 0 {name=r23 node=v(@m.$\{path\}xm8.msky130_fd_pr__nfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 4010 -1300 0 1 {name=r24 node=@m.$\{path\}xm8.msky130_fd_pr__nfet_g5v0d10v5[gm]
+descr="gm="}
+C {devices/ngspice_get_value.sym} 3960 -1330 0 0 {name=r25 node=v(@m.$\{path\}xm8.msky130_fd_pr__nfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 4100 -1650 0 0 {name=r33 node=v(@m.$\{path\}xm1.msky130_fd_pr__pfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 4150 -1590 0 1 {name=r34 node=@m.$\{path\}xm1.msky130_fd_pr__pfet_g5v0d10v5[gm]
+descr="gm="}
+C {devices/ngspice_get_value.sym} 4100 -1620 0 0 {name=r35 node=v(@m.$\{path\}xm1.msky130_fd_pr__pfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 4420 -1660 0 0 {name=r36 node=v(@m.$\{path\}xm4.msky130_fd_pr__pfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 4470 -1600 0 1 {name=r37 node=@m.$\{path\}xm4.msky130_fd_pr__pfet_g5v0d10v5[gm]
+descr="gm="}
+C {devices/ngspice_get_value.sym} 4420 -1630 0 0 {name=r38 node=v(@m.$\{path\}xm4.msky130_fd_pr__pfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 4750 -1470 0 0 {name=r39 node=v(@m.$\{path\}xm7.msky130_fd_pr__nfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 4800 -1410 0 1 {name=r40 node=@m.$\{path\}xm7.msky130_fd_pr__nfet_g5v0d10v5[gm]
+descr="gm="}
+C {devices/ngspice_get_value.sym} 4750 -1440 0 0 {name=r41 node=v(@m.$\{path\}xm7.msky130_fd_pr__nfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 4760 -1750 0 0 {name=r42 node=v(@m.$\{path\}xm6.msky130_fd_pr__pfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 4810 -1690 0 1 {name=r43 node=@m.$\{path\}xm6.msky130_fd_pr__pfet_g5v0d10v5[gm]
+descr="gm="}
+C {devices/ngspice_get_value.sym} 4760 -1720 0 0 {name=r44 node=v(@m.$\{path\}xm6.msky130_fd_pr__pfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 4530 -1410 0 0 {name=r45 node=v(@m.$\{path\}xm3.msky130_fd_pr__nfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 4240 -1260 0 0 {name=r46 node=v(@m.$\{path\}xm5.msky130_fd_pr__nfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 3960 -1260 0 0 {name=r47 node=v(@m.$\{path\}xm8.msky130_fd_pr__nfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 4110 -1560 0 0 {name=r50 node=v(@m.$\{path\}xm1.msky130_fd_pr__pfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 4420 -1570 0 0 {name=r51 node=v(@m.$\{path\}xm4.msky130_fd_pr__pfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 4830 -1660 0 0 {name=r52 node=v(@m.$\{path\}xm6.msky130_fd_pr__pfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 4740 -1380 0 0 {name=r53 node=v(@m.$\{path\}xm7.msky130_fd_pr__nfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 4170 -1390 0 0 {name=r54 node=v(@m.$\{path\}xm2.msky130_fd_pr__nfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 4160 -1350 0 0 {name=r55 node=v(@m.$\{path\}xm2.msky130_fd_pr__nfet_g5v0d10v5[vth])
+descr="vth="}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 5170 -1630 0 0 {name=M24
+L=0.5
+W=10
+nf=1
+mult=800
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 5110 -1450 0 0 {name=l25 sig_type=std_logic lab=pos}
+C {devices/lab_pin.sym} 5290 -1590 0 1 {name=l29 sig_type=std_logic lab=ldo_out}
+C {devices/ngspice_get_value.sym} 5310 -1660 0 0 {name=r56 node=v(@m.$\{path\}xm11.msky130_fd_pr__pfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 5360 -1600 0 1 {name=r57 node=@m.$\{path\}xm11.msky130_fd_pr__pfet_g5v0d10v5[gm]
+descr="gm="}
+C {devices/ngspice_get_value.sym} 5310 -1630 0 0 {name=r58 node=v(@m.$\{path\}xm11.msky130_fd_pr__pfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 5380 -1570 0 0 {name=r59 node=v(@m.$\{path\}xm11.msky130_fd_pr__pfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/lab_pin.sym} 4780 -1590 1 0 {name=l30 sig_type=std_logic lab=out}
+C {devices/lab_pin.sym} 4190 -1540 0 0 {name=l31 sig_type=std_logic lab=bg_out}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 4020 -1520 0 0 {name=M26
+L=2
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 3970 -1570 1 0 {name=l32 sig_type=std_logic lab=mir}
+C {sky130_fd_pr/cap_mim_m3_1.sym} 4590 -1590 3 1 {name=C3 model=cap_mim_m3_1 W=60 L=60 MF=1 spiceprefix=X}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 4680 -1590 3 0 {name=R7
+W=0.69
+L=4.5
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=1}
+C {devices/vsource.sym} 2950 -1600 0 0 {name=Vs value=2.3}
+C {devices/vsource.sym} 4910 -1460 0 0 {name=Vt value=0}
+C {devices/capa.sym} 4910 -1550 0 0 {name=C2
+m=1
+value=5G
+footprint=1206
+device="ceramic capacitor"}
+C {devices/ind.sym} 4830 -1590 3 0 {name=L1
+m=1
+value=5G
+footprint=1206
+device=inductor}
+C {devices/code_shown.sym} 5940 -3190 0 0 {name=SPICE only_toplevel=false value=
+"
+.param R=18k
+R10 ldo_out GND \{R\}
+IL ldo_out 0 PWL(0 0.1m 10u 0.1m 20u 10m 30u 10m)
+*CL ldo_out gnd 10p
+.lib "/home/mustafa/mabrains/pdks/share/pdk/sky130A/libs.tech/ngspice/sky130.lib_mod.spice" tt
+
+
+
+
+.nodeset v(inn)=1.2
+.nodeset v(inp)=1.2
+.nodeset v(mir)=1
+.nodeset v(net13)=1
+.nodeset v(bg_out)=1.1
+.nodeset v(ldo_out)=1.8
+.nodeset v(pos)=1.1
+*.nodeset v(net3)=0.8
+*.nodeset v(net1)=0.7
+.nodeset v(net14)=0.9
+*.nodeset v(net7)=0.75
+.nodeset v(vb)=0.9
+
+.option temp=27
+*User_defined_functions
+.control
+define max(vector_name) (vecmax(vector_name))
+define min(vector_name) (vecmin(vector_name))
+.endc
+
+
+*Temp_sweep
+.control
+alter IL 0
+dc temp 85 0 -1
+let temp_coeff=1000000*(max(ldo_out)-min(ldo_out))/85
+print temp_coeff
+plot v(ldo_out)
+set wr_singlescale
+set wr_vecnames
+set appendwrite
+.endc
+
+
+.control
+alter IL 0
+*alter R10 1G
+op
+let iq =i(Vs)
+print iq
+*print all
+set wr_singlescale
+set wr_vecnames
+set appendwrite
+if v(ldo_out)>1
+wrdata op_point_test v(ldo_out)
+end
+.endc
+
+
+
+*Stability_Analysis
+.control
+alter IL 0
+alter Vs AC =0
+alter Vt AC=1
+ac dec 10 1 1G
+plot vdb(out)
+plot (180/pi)*vp(out)
+let ph= (180/pi)*vp(out)
+meas ac pm FIND ph WHEN vdb(out)=0
+.endc
+
+
+*PSRR_Analysis
+.control
+alter IL 0
+alter Vs AC =1
+alter Vt AC=0
+alter L1 0
+alter C2 0
+ac dec 10 1 1G
+meas AC PSRR100 FIND vdb(ldo_out) AT=100
+meas AC PSRR100k FIND vdb(ldo_out) AT=100k
+plot vdb(ldo_out)
+.endc
+
+
+
+
+*supply_sweep
+.control
+alter IL 0
+dc Vs 2.8 0 -0.01
+plot vdd ldo_out
+meas DC Vldo_Sup_2 FIND ldo_out AT=2
+meas DC Vldo_nom FIND ldo_out AT=2.3
+meas DC Vldo_Sup_2_8 FIND ldo_out AT=2.8
+let line_reg = abs((Vldo_Sup_2_8-Vldo_Sup_2)/0.8)
+print line_reg
+meas DC vin WHEN v(ldo_out)=1.764
+let dropout=vin-1.764
+print dropout
+set wr_singlescale
+set wr_vecnames
+set appendwrite
+.endc
+
+
+
+
+
+*Load_Reg_switches
+*V1 c1 0 DC 0 PWL(0 5 20u 5 35u 0 50u 0 100u 0)
+*V2 c2 0 DC 0 PWL(0 0 20u 0 35u 0 50u 5 100u 5)
+*s1 ldo_out 2 c1 0 switch1 ON
+*s2 ldo_out 3 c2 0 switch1 OFF
+*.model switch1 sw vt=0.1 ron =0.1 roff =1G
+*R1 2 0 18k
+*R2 3 0 180
+
+*.control
+*alter R10 1G
+*tran 0.1u 90u
+*plot v(ldo_out) v(c1) v(c2)
+*meas TRAN V_ldo_100u FIND v(ldo_out) AT=10u
+*meas TRAN V_ldo_10m FIND v(ldo_out) AT=50u
+*let load_reg= V_ldo_100u-V_ldo_10m
+*print load_reg
+*.endc
+
+
+**Load_Transient
+.control
+alter IL 50u
+alter R10 3600k
+tran 0.1u 100u 
+meas TRAN V_ldo_100u FIND v(ldo_out) AT=5u
+meas TRAN V_ldo_10m FIND v(ldo_out) AT=100u
+let load_reg= V_ldo_100u-V_ldo_10m
+let load_current =(-1*i(Vs)-131.8e-6) 
+print load_reg
+plot load_current v(ldo_out)-1.8
+.endc
+
+
+**Transient
+.control
+alter R10 36k
+alter @IL[PWL] = [ 0 0 10u 0 20u 0 30u 0 ]
+alter @Vs[pulse] = [ 1.8 3 10u 10u 1u 100u 200u ]
+alter IL 0
+tran 0.1u 100u 
+plot vdd ldo_out
+.endc
+
+.control
+alter R10 36k
+alter @IL[PWL] = [ 0 0 10u 0 20u 0 30u 0 ]
+alter @Vs[pulse] = [ 0 2.3 10u 0.1u 1u 100u 200u ]
+tran 0.1u 100u 
+plot vdd ldo_out
+.endc
+
+.control
+alter R10 36k
+alter @IL[PWL] = [ 0 0 10u 0 20u 0 30u 0 ]
+alter @Ven[pulse] = [ 0 2.3 10u 0.1u 1u 100u 200u ]
+tran 0.1u 100u 
+*meas TRAN st_up_time when v(ldo_out)>1.782 
+plot en ldo_out
+.endc
+
+
+
+"}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5190 -1550 0 0 {name=R8
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=8}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5190 -1480 0 0 {name=R9
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=3}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5190 -1410 0 0 {name=R12
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=2}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 5190 -1340 0 0 {name=R13
+W=0.69
+L=24
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=4}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1870 -1330 0 0 {name=M1
+L=2
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1760 -1330 0 1 {name=M2
+L=2
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 900 -1330 0 1 {name=M3
+L=2
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 810 -1190 0 0 {name=l1 sig_type=std_logic lab=bg_out}
+C {sky130_fd_pr/pnp_05v5.sym} 1870 -1070 0 0 {name=Q1
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1720 -1060 0 0 {name=Q5
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1550 -1080 0 0 {name=Q6
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1470 -1080 0 0 {name=Q7
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1380 -1080 0 0 {name=Q9
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1270 -1080 0 0 {name=Q11
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1180 -1080 0 0 {name=Q13
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 1070 -1080 0 0 {name=Q15
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {sky130_fd_pr/pnp_05v5.sym} 970 -1080 0 0 {name=Q17
+model=pnp_05v5_W0p68L0p68
+spiceprefix=X
+}
+C {devices/gnd.sym} 1710 -770 0 0 {name=l6 lab=GND}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2300 -1320 0 1 {name=M7
+L=2
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2260 -1240 0 0 {name=M12
+L=1
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2510 -1240 0 1 {name=M21
+L=1
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2470 -1320 0 0 {name=M23
+L=2
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2420 -1110 0 0 {name=M15
+L=2
+W=5
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 2060 -1250 0 0 {name=M25
+L=2
+W=3
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 2100 -1130 0 1 {name=M16
+L=2
+W=5
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 950 -1330 0 1 {name=l7 sig_type=std_logic lab=mir}
+C {devices/lab_pin.sym} 1810 -1330 3 0 {name=l8 sig_type=std_logic lab=mir}
+C {devices/lab_pin.sym} 2010 -1250 0 0 {name=l11 sig_type=std_logic lab=mir}
+C {devices/lab_pin.sym} 2560 -1240 0 1 {name=l13 sig_type=std_logic lab=inn}
+C {devices/lab_pin.sym} 2220 -1240 0 0 {name=l18 sig_type=std_logic lab=inp}
+C {devices/ngspice_get_value.sym} 3100 -1140 0 0 {name=r1 node=v(@m.$\{path\}xm1.msky130_fd_pr__nfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 3150 -1080 0 1 {name=r2 node=@m.$\{path\}xm1.msky130_fd_pr__nfet_g5v0d10v5[gds]
+descr="gds="}
+C {devices/ngspice_get_value.sym} 3100 -1110 0 0 {name=r3 node=v(@m.$\{path\}xm1.msky130_fd_pr__nfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 3100 -1050 0 0 {name=r4 node=v(@m.$\{path\}xm1.msky130_fd_pr__nfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 3130 -1310 0 0 {name=r5 node=v(@m.$\{path\}xm7.msky130_fd_pr__pfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 3130 -1280 0 0 {name=r6 node=v(@m.$\{path\}xm7.msky130_fd_pr__pfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 3120 -1240 0 0 {name=r8 node=v(@m.$\{path\}xm7.msky130_fd_pr__pfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 3120 -1340 0 0 {name=r9 node=v(@m.$\{path\}xm7.msky130_fd_pr__pfet_g5v0d10v5[vth])
+descr="vth="}
+C {devices/ngspice_get_value.sym} 3060 -980 0 0 {name=r10 node=v(@m.$\{path\}xm22.msky130_fd_pr__nfet_g5v0d10v5[vgs])
+descr="vgs="}
+C {devices/ngspice_get_value.sym} 3110 -920 0 1 {name=r11 node=@m.$\{path\}xm22.msky130_fd_pr__nfet_g5v0d10v5[gds]
+descr="gds="}
+C {devices/ngspice_get_value.sym} 3060 -950 0 0 {name=r12 node=v(@m.$\{path\}xm22.msky130_fd_pr__nfet_g5v0d10v5[vdsat])
+descr="vdsat="}
+C {devices/ngspice_get_value.sym} 3060 -890 0 0 {name=r13 node=v(@m.$\{path\}xm22.msky130_fd_pr__nfet_g5v0d10v5[vds])
+descr="vds="}
+C {devices/ngspice_get_value.sym} 3060 -850 0 0 {name=r26 node=v(@m.$\{path\}xm22.msky130_fd_pr__nfet_g5v0d10v5[vth])
+descr="vth="}
+C {devices/ngspice_get_value.sym} 3040 -1080 0 0 {name=r27 node=v(@m.$\{path\}xm1.msky130_fd_pr__nfet_g5v0d10v5[vth])
+descr="vth="}
+C {devices/lab_pin.sym} 1670 -1290 0 0 {name=l19 sig_type=std_logic lab=inp}
+C {devices/lab_pin.sym} 1930 -1290 0 1 {name=l20 sig_type=std_logic lab=inn}
+C {sky130_fd_pr/cap_mim_m3_1.sym} 2660 -1180 0 0 {name=C1 model=cap_mim_m3_1 W=16 L=16 MF=1 spiceprefix=X}
+C {devices/lab_pin.sym} 2620 -1280 1 0 {name=l21 sig_type=std_logic lab=mir}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1740 -1250 0 0 {name=R1
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=3}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1890 -1250 0 0 {name=R2
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=3}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1940 -1160 0 1 {name=R3
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=1}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1740 -1170 0 0 {name=R10
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=6}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1640 -1080 0 0 {name=R4
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=15}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1940 -1080 0 1 {name=R11
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=15}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 1640 -1170 0 0 {name=R6
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=1}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 880 -1110 0 0 {name=R5
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=1}
+C {sky130_fd_pr/res_xhigh_po_0p69.sym} 880 -1040 0 0 {name=R14
+W=0.69
+L=27
+model=res_xhigh_po_0p69
+spiceprefix=X
+mult=53}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 1820 -1380 0 1 {name=M19
+L=0.5
+W=0.42
+nf=1
+mult=2
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 1860 -1380 0 1 {name=l23 sig_type=std_logic lab=en}
+C {devices/vsource.sym} 3280 -1460 0 0 {name=Ven value=2.3}
+C {devices/gnd.sym} 3280 -1400 0 0 {name=l26 lab=GND}
+C {devices/lab_pin.sym} 3280 -1510 0 0 {name=l27 sig_type=std_logic lab=en}
+C {devices/gnd.sym} 2950 -1540 0 0 {name=l3 lab=GND}
+C {devices/vdd.sym} 1460 -1490 0 0 {name=l5 lab=VDD}
+C {devices/vdd.sym} 3030 -1750 0 0 {}
+C {sky130_fd_pr/pfet_g5v0d10v5.sym} 430 -1290 0 0 {name=M4
+L=5
+W=0.42
+nf=1
+mult=2
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=pfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 430 -1110 0 0 {name=M5
+L=0.5
+W=10
+nf=1
+mult=8
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {sky130_fd_pr/nfet_g5v0d10v5.sym} 540 -1190 0 0 {name=M6
+L=0.5
+W=3
+nf=1
+mult=4
+ad="'int((nf+1)/2) * W/nf * 0.29'" 
+pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
+as="'int((nf+2)/2) * W/nf * 0.29'" 
+ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
+nrd="'0.29 / W'" nrs="'0.29 / W'"
+sa=0 sb=0 sd=0
+model=nfet_g5v0d10v5
+spiceprefix=X
+}
+C {devices/lab_pin.sym} 370 -1190 0 0 {name=l4 sig_type=std_logic lab=bg_out}
+C {devices/lab_pin.sym} 590 -1120 0 1 {name=l22 sig_type=std_logic lab=inn}