blob: 98c16dbde1f99cc1144f13e430157f1d6d0f0d83 [file] [log] [blame]
v {xschem version=3.0.0 file_version=1.2 }
G {}
K {}
V {}
S {}
E {}
P 4 5 1180 0 1870 0 1870 -660 1180 -660 1180 0 {}
T {Dummies} 1210 -40 0 0 0.4 0.4 {}
N 440 -570 600 -570 {lab=vin}
N 370 -340 400 -340 {lab=fbdiv}
N 640 -340 670 -340 {lab=vref}
N 430 -230 480 -230 {lab=bias}
N 80 -200 80 -50 {lab=vss}
N 80 -300 80 -260 {lab=bias}
N 50 -230 80 -230 {lab=vss}
N 520 -230 550 -230 {lab=vss}
N 440 -340 470 -340 {lab=vss}
N 570 -340 600 -340 {lab=vss}
N 410 -480 440 -480 {lab=vin}
N 600 -480 630 -480 {lab=vin}
N 120 -230 150 -230 {lab=bias}
N 350 -570 370 -570 {lab=vin}
N 50 -50 80 -50 {lab=vss}
N 600 -570 940 -570 {lab=vin}
N 940 -340 1030 -340 {lab=out}
N 370 -570 440 -570 {lab=vin}
N 600 -410 900 -410 {lab=comp}
N 940 -570 940 -440 {lab=vin}
N 940 -380 940 -340 {lab=out}
N 520 -200 520 -190 {lab=vss}
N 440 -570 440 -510 {lab=vin}
N 600 -570 600 -510 {lab=vin}
N 440 -450 440 -370 {lab=mirr}
N 600 -450 600 -370 {lab=comp}
N 440 -310 440 -280 {lab=diff}
N 440 -280 600 -280 {lab=diff}
N 600 -310 600 -280 {lab=diff}
N 520 -280 520 -260 {lab=diff}
N 480 -480 560 -480 {lab=mirr}
N 510 -480 510 -410 {lab=mirr}
N 80 -50 520 -50 {lab=vss}
N 520 -190 520 -50 {lab=vss}
N 440 -410 510 -410 {lab=mirr}
N 940 -410 970 -410 {lab=vin}
N 520 -50 940 -50 {lab=vss}
N 940 -90 940 -50 {lab=vss}
N 940 -170 940 -160 {lab=fbdiv}
N 940 -160 940 -150 {lab=fbdiv}
N 410 -570 410 -480 {lab=vin}
N 630 -570 630 -480 {lab=vin}
N 970 -570 970 -410 {lab=vin}
N 940 -570 970 -570 {lab=vin}
N 80 -420 80 -300 {lab=bias}
N 60 -420 80 -420 {lab=bias}
N 890 -200 920 -200 {lab=vss}
N 890 -120 920 -120 {lab=vss}
N 860 -340 940 -340 {lab=out}
N 770 -340 800 -340 {lab=comp}
N 770 -410 770 -340 {lab=comp}
N 860 -160 940 -160 {lab=fbdiv}
N 940 -260 940 -230 {lab=fb}
N 940 -260 1030 -260 {lab=fb}
N 210 -330 210 -230 {lab=bias}
N 210 -105 210 -50 {lab=vss}
N 135 -135 170 -135 {lab=enb}
N 210 -135 240 -135 {lab=vss}
N 60 -570 75 -570 {lab=en}
N 115 -550 115 -520 {lab=vss}
N 115 -620 115 -590 {lab=vin}
N 80 -330 120 -330 {lab=bias}
N 210 -230 210 -165 {lab=bias}
N 765 -480 795 -480 {lab=vin}
N 770 -570 770 -510 {lab=vin}
N 795 -480 800 -480 {lab=vin}
N 800 -570 800 -480 {lab=vin}
N 770 -450 770 -410 {lab=comp}
N 705 -480 730 -480 {lab=en}
N 150 -230 210 -230 {lab=bias}
N 210 -230 430 -230 {lab=bias}
N 155 -570 190 -570 {lab=enb}
N 120 -330 210 -330 {lab=bias}
N 1690 -140 1720 -140 {lab=vss}
N 1760 -140 1790 -140 {lab=bias}
N 1720 -200 1720 -170 {lab=bias}
N 1640 -200 1720 -200 {lab=bias}
N 1640 -200 1640 -80 {lab=bias}
N 1640 -80 1720 -80 {lab=bias}
N 1720 -110 1720 -80 {lab=bias}
N 1450 -140 1480 -140 {lab=vss}
N 1520 -140 1550 -140 {lab=bias}
N 1480 -200 1480 -170 {lab=diff}
N 1400 -200 1480 -200 {lab=diff}
N 1400 -200 1400 -80 {lab=diff}
N 1400 -80 1480 -80 {lab=diff}
N 1480 -110 1480 -80 {lab=diff}
N 1720 -200 1790 -200 {lab=bias}
N 1790 -200 1790 -140 {lab=bias}
N 1610 -320 1640 -320 {lab=vss}
N 1640 -390 1640 -350 {lab=comp}
N 1640 -390 1720 -390 {lab=comp}
N 1720 -390 1720 -320 {lab=comp}
N 1680 -320 1720 -320 {lab=comp}
N 1640 -290 1640 -260 {lab=comp}
N 1640 -260 1720 -260 {lab=comp}
N 1720 -320 1720 -260 {lab=comp}
N 1370 -320 1400 -320 {lab=vss}
N 1400 -390 1400 -350 {lab=mirr}
N 1400 -390 1480 -390 {lab=mirr}
N 1480 -390 1480 -320 {lab=mirr}
N 1440 -320 1480 -320 {lab=mirr}
N 1400 -290 1400 -260 {lab=mirr}
N 1400 -260 1480 -260 {lab=mirr}
N 1480 -320 1480 -260 {lab=mirr}
N 1400 -500 1440 -500 {lab=mirr}
N 1400 -570 1400 -500 {lab=mirr}
N 1400 -570 1480 -570 {lab=mirr}
N 1480 -570 1480 -530 {lab=mirr}
N 1480 -470 1480 -440 {lab=mirr}
N 1400 -440 1480 -440 {lab=mirr}
N 1400 -500 1400 -440 {lab=mirr}
N 1570 -500 1610 -500 {lab=mirr}
N 1650 -570 1650 -530 {lab=comp}
N 1650 -470 1650 -440 {lab=comp}
N 1650 -570 1720 -570 {lab=comp}
N 1480 -500 1510 -500 {lab=vin}
N 1650 -440 1720 -440 {lab=comp}
N 1720 -570 1720 -440 { lab=comp}
N 1650 -500 1680 -500 {lab=vin}
N 1230 -500 1260 -500 {lab=vss}
N 1280 -570 1280 -530 { lab=vss}
N 1280 -470 1280 -440 { lab=vss}
N 1230 -500 1230 -440 { lab=vss}
N 1230 -440 1280 -440 { lab=vss}
N 1230 -570 1280 -570 { lab=vss}
N 1230 -570 1230 -500 { lab=vss}
C {sky130_primitives/nfet_01v8_lvt.sym} 620 -340 0 1 {name=M2
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_01v8_lvt
spiceprefix=X}
C {sky130_primitives/nfet_01v8_lvt.sym} 420 -340 0 0 {name=M1
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_01v8_lvt
spiceprefix=X}
C {sky130_primitives/nfet_01v8_lvt.sym} 500 -230 0 0 {name=M5
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_01v8_lvt
spiceprefix=X}
C {sky130_primitives/pfet_01v8_lvt.sym} 580 -480 0 0 {name=M4
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=pfet_01v8_lvt
spiceprefix=X}
C {sky130_primitives/pfet_01v8_lvt.sym} 460 -480 0 1 {name=M3
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=pfet_01v8_lvt
spiceprefix=X}
C {sky130_primitives/nfet_01v8_lvt.sym} 100 -230 0 1 {name=M6
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_01v8_lvt
spiceprefix=X}
C {devices/lab_wire.sym} 80 -230 0 0 {name=l12 sig_type=std_logic lab=vss}
C {devices/lab_wire.sym} 520 -230 0 1 {name=l14 sig_type=std_logic lab=vss}
C {devices/lab_wire.sym} 440 -340 0 1 {name=l16 sig_type=std_logic lab=vss}
C {devices/lab_wire.sym} 600 -340 0 0 {name=l17 sig_type=std_logic lab=vss}
C {devices/lab_wire.sym} 530 -480 0 0 {name=l27 sig_type=std_logic lab=mirr}
C {devices/iopin.sym} 350 -570 0 1 {name=p1 lab=vin}
C {devices/iopin.sym} 50 -50 0 1 {name=p2 lab=vss}
C {devices/ipin.sym} 670 -340 0 1 {name=p4 lab=vref}
C {devices/opin.sym} 1030 -340 0 0 {name=p3 lab=out}
C {devices/iopin.sym} 60 -420 0 1 {name=p5 lab=bias}
C {devices/lab_wire.sym} 540 -280 0 0 {name=l1 sig_type=std_logic lab=diff}
C {sky130_primitives/pfet_01v8_lvt.sym} 920 -410 0 0 {name=M7[31:0]
L=0.5
W=8
nf=1
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
nrd="'0.29 / W'" nrs="'0.29 / W'"
sa=0 sb=0 sd=0
model=pfet_01v8_lvt
spiceprefix=X
}
C {devices/lab_wire.sym} 910 -160 0 0 {name=l5 sig_type=std_logic lab=fbdiv}
C {devices/ipin.sym} 60 -570 0 0 {name=p7 lab=en}
C {devices/lab_wire.sym} 920 -200 0 0 {name=l4 sig_type=std_logic lab=vss}
C {devices/lab_wire.sym} 920 -120 0 0 {name=l7 sig_type=std_logic lab=vss}
C {sky130_primitives/cap_mim_m3_1.sym} 830 -340 1 0 {name=C1 model=cap_mim_m3_1 W=5 L=5 MF=8 spiceprefix=X}
C {devices/lab_wire.sym} 400 -340 0 0 {name=l8 sig_type=std_logic lab=fbdiv}
C {devices/ipin.sym} 1030 -260 2 0 {name=p6 lab=fb}
C {sky130_primitives/nfet_01v8_lvt.sym} 190 -135 0 0 {name=M9
L=0.4
W=1
nf=1
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
nrd="'0.29 / W'" nrs="'0.29 / W'"
sa=0 sb=0 sd=0
model=nfet_01v8_lvt
spiceprefix=X}
C {devices/lab_wire.sym} 170 -135 0 0 {name=l3 sig_type=std_logic lab=enb}
C {devices/lab_wire.sym} 210 -135 0 1 {name=l6 sig_type=std_logic lab=vss}
C {logic/inv_lvt.sym} 225 -550 0 0 {name=x1}
C {devices/lab_wire.sym} 155 -570 0 1 {name=l9 sig_type=std_logic lab=enb}
C {devices/lab_wire.sym} 115 -550 3 0 {name=l10 sig_type=std_logic lab=vss}
C {devices/lab_wire.sym} 115 -620 3 0 {name=l11 sig_type=std_logic lab=vin}
C {sky130_primitives/pfet_01v8_lvt.sym} 750 -480 0 0 {name=M8
L=0.4
W=1
nf=1
mult=1
ad="'int((nf+1)/2) * W/nf * 0.29'"
pd="'2*int((nf+1)/2) * (W/nf + 0.29)'"
as="'int((nf+2)/2) * W/nf * 0.29'"
ps="'2*int((nf+2)/2) * (W/nf + 0.29)'"
nrd="'0.29 / W'" nrs="'0.29 / W'"
sa=0 sb=0 sd=0
model=pfet_01v8_lvt
spiceprefix=X}
C {devices/lab_wire.sym} 730 -480 0 0 {name=l13 sig_type=std_logic lab=en}
C {devices/lab_wire.sym} 810 -410 0 0 {name=l2 sig_type=std_logic lab=comp}
C {sky130_primitives/nfet_01v8_lvt.sym} 1740 -140 0 1 {name=M10
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_01v8_lvt
spiceprefix=X}
C {devices/lab_wire.sym} 1720 -140 0 0 {name=l20 sig_type=std_logic lab=vss}
C {devices/lab_wire.sym} 1690 -200 0 0 {name=l21 sig_type=std_logic lab=bias}
C {sky130_primitives/nfet_01v8_lvt.sym} 1500 -140 0 1 {name=M11
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_01v8_lvt
spiceprefix=X}
C {devices/lab_wire.sym} 1480 -140 0 0 {name=l22 sig_type=std_logic lab=vss}
C {devices/lab_wire.sym} 1450 -200 0 0 {name=l23 sig_type=std_logic lab=diff}
C {devices/lab_wire.sym} 1550 -140 0 0 {name=l24 sig_type=std_logic lab=bias}
C {sky130_primitives/nfet_01v8_lvt.sym} 1660 -320 0 1 {name=M12
L=1
W=1
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_01v8_lvt
spiceprefix=X}
C {devices/lab_wire.sym} 1640 -320 0 0 {name=l15 sig_type=std_logic lab=vss}
C {devices/lab_wire.sym} 1700 -390 0 0 {name=l18 sig_type=std_logic lab=comp}
C {sky130_primitives/nfet_01v8_lvt.sym} 1420 -320 0 1 {name=M13
L=1
W=1
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_01v8_lvt
spiceprefix=X}
C {devices/lab_wire.sym} 1400 -320 0 0 {name=l19 sig_type=std_logic lab=vss}
C {devices/lab_wire.sym} 1460 -390 0 0 {name=l25 sig_type=std_logic lab=mirr}
C {sky130_primitives/pfet_01v8_lvt.sym} 1460 -500 0 0 {name=M15
L=1
W=1
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_01v8_lvt
spiceprefix=X}
C {devices/lab_wire.sym} 1450 -570 0 0 {name=l26 sig_type=std_logic lab=mirr}
C {sky130_primitives/pfet_01v8_lvt.sym} 1630 -500 0 0 {name=M16
L=1
W=1
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_01v8_lvt
spiceprefix=X}
C {devices/lab_wire.sym} 1610 -500 0 0 {name=l28 sig_type=std_logic lab=mirr}
C {devices/lab_wire.sym} 1720 -570 0 0 {name=l30 sig_type=std_logic lab=comp
}
C {sky130_primitives/res_xhigh_po_0p35.sym} 940 -200 0 0 {name=R2
W=0.35
L=34
model=res_xhigh_po
spiceprefix=X
mult=1
}
C {sky130_primitives/res_xhigh_po_0p35.sym} 940 -120 0 0 {name=R1
W=0.35
L=34
model=res_xhigh_po
spiceprefix=X
mult=1
}
C {devices/lab_wire.sym} 1680 -500 0 0 {name=l31 sig_type=std_logic lab=vin
}
C {devices/lab_wire.sym} 1510 -500 0 0 {name=l29 sig_type=std_logic lab=vin
}
C {sky130_primitives/res_xhigh_po_0p35.sym} 1280 -500 0 0 {name=R3[1:0]
W=0.35
L=8.5
model=res_xhigh_po
spiceprefix=X
mult=1
}
C {devices/lab_wire.sym} 1260 -500 0 0 {name=l32 sig_type=std_logic lab=vss}