add comparator
diff --git a/.gitignore b/.gitignore index bd35ce4..9c759a8 100644 --- a/.gitignore +++ b/.gitignore
@@ -1,3 +1,5 @@ precheck_results */tmp -*/*/tmp \ No newline at end of file +*/*/tmp +/comparator/sky130_fd_pr +*.ext \ No newline at end of file
diff --git a/comparator/.magicrc b/comparator/.magicrc new file mode 100644 index 0000000..2cf27ba --- /dev/null +++ b/comparator/.magicrc
@@ -0,0 +1,71 @@ +puts stdout "Sourcing design .magicrc for technology sky130A ..." + +# scale to one +set scalefac [tech lambda] +if {[lindex $scalefac 1] < 2} { + scalegrid 1 10000 +} + +# drc off +drc euclidean on + +# Allow override of PDK path from environment variable PDKPATH +if {[catch {set PDKPATH $env(PDKPATH)}]} { + set PDKPATH "~/open_sky130/sky130A" +} + +# loading technology +tech load $PDKPATH/libs.tech/magic/sky130A.tech + +# load device generator +source $PDKPATH/libs.tech/magic/sky130A.tcl + +# load bind keys (optional) +# source $PDKPATH/libs.tech/magic/sky130A-BindKeys + +# set sky130 standard power, ground, and substrate names +set VDD VPWR +set GND VGND +set SUB VSUBS + +# Allow override of type of magic library views used, "mag" or "maglef", +# from environment variable MAGTYPE + +if {[catch {set MAGTYPE $env(MAGTYPE)}]} { + set MAGTYPE maglef +} + +# add path to reference cells +if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} { + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hs + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hvl + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc +} else { + addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hs/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hvl/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE} +} + +# add path to GDS cells + +# add path to IP from catalog. This procedure defined in the PDK script. +catch {magic::query_mylib_ip} +# add path to local IP from user design space. Defined in the PDK script. +catch {magic::query_my_projects} + +# set units for grid +snap on \ No newline at end of file
diff --git a/comparator/bsim4v5.out b/comparator/bsim4v5.out new file mode 100644 index 0000000..fa67279 --- /dev/null +++ b/comparator/bsim4v5.out
@@ -0,0 +1,5 @@ +BSIM4v5: Berkeley Short Channel IGFET Model-4 +Developed by Xuemei (Jane) Xi, Mohan Dunga, Prof. Ali Niknejad and Prof. Chenming Hu in 2003. + +++++++++++ BSIM4v5 PARAMETER CHECKING BELOW ++++++++++ +Model = xpre.x0:sky130_fd_pr__pfet_g5v0d10v5__model.55
diff --git a/comparator/comparator-decision.spice b/comparator/comparator-decision.spice new file mode 100644 index 0000000..e7c2132 --- /dev/null +++ b/comparator/comparator-decision.spice
@@ -0,0 +1,19 @@ +* scale: 1e6 units = 1 micron + +.subckt comparator-decision VPAMP VNAMP VOP VON VGND VPWR + +* voltage to current +X0 VPWR VPAMP VOP VPWR sky130_fd_pr__pfet_g5v0d10v5 w=1.5e+6u l=0.5e+6u +X1 VPWR VNAMP VON VPWR sky130_fd_pr__pfet_g5v0d10v5 w=1.5e+6u l=0.5e+6u + +* decision feedback +X2 VOP VOP ISINK VGND sky130_fd_pr__nfet_03v3_nvt w=1e+6u l=0.6e+6u +X3 VOP VON ISINK VGND sky130_fd_pr__nfet_03v3_nvt w=1e+6u l=0.6e+6u + +X4 VON VOP ISINK VGND sky130_fd_pr__nfet_03v3_nvt w=1e+6u l=0.6e+6u +X5 VON VON ISINK VGND sky130_fd_pr__nfet_03v3_nvt w=1e+6u l=0.6e+6u + +* current sink +X6 ISINK ISINK VGND VGND sky130_fd_pr__nfet_03v3_nvt w=1e+6u l=0.6e+6u + +.ends \ No newline at end of file
diff --git a/comparator/comparator-diffamp.spice b/comparator/comparator-diffamp.spice new file mode 100644 index 0000000..1e0e0b3 --- /dev/null +++ b/comparator/comparator-diffamp.spice
@@ -0,0 +1,23 @@ +* scale: 1e6 units = 1 micron + +* This is a 1.8V version: make sure expected inputs in range + +.subckt comparator-diffamp VOP VON VOUT VGND VPWR + +*load transistors +X0 VPWR VONAMP VOPAMP VPWR sky130_fd_pr__pfet_01v8 w=3e+06u l=0.18e+6u +X1 VPWR VONAMP VONAMP VPWR sky130_fd_pr__pfet_01v8 w=3e+06u l=0.18e+6u + +*diff pair +X2 VOPAMP VOP ISINK VGND sky130_fd_pr__nfet_01v8 w=1e+06u l=0.18e+6u +X3 VONAMP VON ISINK VGND sky130_fd_pr__nfet_01v8 w=1e+06u l=0.18e+6u + +* current source +X4 ISINK VONAMP VGND VGND sky130_fd_pr__nfet_01v8 w=1e+06u l=0.18e+6u + +*output inverter +X5 VPWR VOPAMP VOUT VPWR sky130_fd_pr__pfet_01v8 w=2e+06u l=0.15e+6u +X6 VOUT VOPAMP VGND VGND sky130_fd_pr__nfet_01v8 w=1e+06u l=0.15e+6u + + +.ends \ No newline at end of file
diff --git a/comparator/comparator-preamp.spice b/comparator/comparator-preamp.spice new file mode 100644 index 0000000..6472fba --- /dev/null +++ b/comparator/comparator-preamp.spice
@@ -0,0 +1,37 @@ +* scale: 1e6 units = 1 micron + +.subckt comparator-preamp VP VN VPAMP VNAMP VI BIASN VGND VPWR + +*constant current source: paralleled to allow for size matching +* X0 VI BIASN VGND VGND sky130_fd_pr__nfet_03v3_nvt w=1e+6u l=0.6e+6u +* X1 VI BIASN VGND VGND sky130_fd_pr__nfet_03v3_nvt w=1e+6u l=0.6e+6u +* +* *Diff Pair +* X12 VPAMP VP VI VGND sky130_fd_pr__nfet_03v3_nvt w=1e+6u l=0.6e+6u +* X13 VNAMP VN VI VGND sky130_fd_pr__nfet_03v3_nvt w=1e+6u l=0.6e+6u +* +* *Load transistors +* X24 VPWR VPAMP VPAMP VPWR sky130_fd_pr__pfet_g5v0d10v5 w=1.5e+6u l=0.5e+6u +* X25 VPWR VNAMP VNAMP VPWR sky130_fd_pr__pfet_g5v0d10v5 w=1.5e+6u l=0.5e+6u + +* extracted +*.option scale=1u + +X0 VPWR VPWR VPWR VPWR sky130_fd_pr__pfet_g5v0d10v5 ad=-0 pd=0 as=-0 ps=0 w=1.5e+06u l=500000u +X1 VPWR VPWR VPWR VPWR sky130_fd_pr__pfet_g5v0d10v5 ad=-0 pd=0 as=-0 ps=0 w=1.5e+06u l=500000u +X2 VPAMP VPAMP VPWR VPWR sky130_fd_pr__pfet_g5v0d10v5 ad=0 pd=0 as=-0 ps=0 w=1.5e+06u l=500000u +X3 VNAMP VNAMP VPWR VPWR sky130_fd_pr__pfet_g5v0d10v5 ad=0 pd=0 as=-0 ps=0 w=1.5e+06u l=500000u +X4 VGND BIASN VI VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=-0 ps=0 w=1e+06u l=600000u +X5 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06u l=600000u +X6 VI BIASN VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=-0 pd=0 as=0 ps=0 w=1e+06u l=600000u +X7 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06u l=600000u +X8 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06u l=600000u +X9 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06u l=600000u +X10 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06u l=600000u +X11 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06u l=600000u +X12 VI VN VNAMP VGND sky130_fd_pr__nfet_03v3_nvt ad=-0 pd=0 as=-0 ps=0 w=1e+06u l=600000u +X13 VI VP VPAMP VGND sky130_fd_pr__nfet_03v3_nvt ad=-0 pd=0 as=-0 ps=0 w=1e+06u l=600000u +C0 VPWR VGND 8.16fF + + +.ends \ No newline at end of file
diff --git a/comparator/preamp.mag b/comparator/preamp.mag new file mode 100644 index 0000000..3bf8438 --- /dev/null +++ b/comparator/preamp.mag
@@ -0,0 +1,153 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1632245862 +<< nwell >> +rect 60 1210 150 1540 +rect 0 1170 150 1210 +rect 0 1060 150 1100 +rect 60 730 150 1060 +<< pwell >> +rect 880 1260 950 1440 +rect 620 1160 850 1210 +rect 620 1070 850 1120 +rect 890 840 950 1020 +rect 660 330 910 460 +<< locali >> +rect -80 2440 180 2460 +rect -80 2340 -60 2440 +rect 160 2340 180 2440 +rect -80 2280 180 2340 +rect 640 2200 920 2220 +rect -160 1780 270 2170 +rect 640 2100 660 2200 +rect 900 2100 920 2200 +rect 640 2040 920 2100 +rect 1300 2000 1760 2020 +rect 660 1860 910 1950 +rect 1300 1900 1320 2000 +rect 1740 1900 1760 2000 +rect 550 1820 1010 1860 +rect 1300 1840 1760 1900 +rect 550 1680 700 1820 +rect 860 1680 1010 1820 +rect 1460 1750 1610 1840 +rect 1330 1660 1730 1750 +rect -160 1260 -20 1540 +rect 60 1440 150 1540 +rect 1220 1480 1850 1660 +rect 60 1210 150 1350 +rect 1330 1390 1730 1480 +rect 0 1170 150 1210 +rect 660 1170 850 1210 +rect 620 1160 850 1170 +rect 620 1110 850 1120 +rect 0 1060 150 1100 +rect 660 1070 850 1110 +rect 1220 1080 1360 1240 +rect 1490 1180 1570 1190 +rect 1490 1120 1500 1180 +rect 1560 1120 1570 1180 +rect 1490 1110 1570 1120 +rect 1210 1070 1360 1080 +rect 1700 1080 1840 1240 +rect 1700 1070 1850 1080 +rect 1210 1060 1350 1070 +rect 1710 1060 1850 1070 +rect -160 730 -20 1010 +rect 60 930 150 1060 +rect 60 730 150 840 +rect 1330 820 1730 910 +rect 1220 640 1840 820 +rect -160 100 270 490 +rect 550 460 700 600 +rect 860 460 1010 600 +rect 1330 550 1730 640 +rect 550 420 1010 460 +rect 1460 440 1610 550 +rect 660 330 910 420 +<< viali >> +rect -60 2340 160 2440 +rect 660 2100 900 2200 +rect 1320 1900 1740 2000 +rect 60 1350 150 1440 +rect 630 1350 690 1440 +rect 860 1260 950 1440 +rect 1400 1290 1490 1330 +rect 1580 1290 1670 1330 +rect 620 1170 660 1210 +rect 620 1070 660 1110 +rect 1500 1120 1560 1180 +rect 60 840 150 930 +rect 630 840 690 930 +rect 860 840 950 1020 +<< metal1 >> +rect -80 2440 180 2460 +rect -80 2340 -60 2440 +rect 160 2340 180 2440 +rect -80 2320 180 2340 +rect 640 2200 1760 2460 +rect 640 2100 660 2200 +rect 900 2100 1760 2200 +rect 640 2080 1760 2100 +rect 1300 2000 1760 2080 +rect 1300 1900 1320 2000 +rect 1740 1900 1760 2000 +rect 1300 1880 1760 1900 +rect 40 1440 710 1460 +rect 40 1350 60 1440 +rect 150 1350 630 1440 +rect 690 1350 710 1440 +rect 40 1330 710 1350 +rect 840 1440 970 1460 +rect 840 1260 860 1440 +rect 950 1260 970 1440 +rect 1380 1330 1690 1350 +rect 1380 1290 1400 1330 +rect 1490 1290 1580 1330 +rect 1670 1290 1690 1330 +rect 1380 1270 1690 1290 +rect 600 1210 680 1230 +rect 600 1170 620 1210 +rect 660 1170 680 1210 +rect 600 1160 680 1170 +rect 840 1200 970 1260 +rect 840 1180 1580 1200 +rect 840 1120 1500 1180 +rect 1560 1120 1580 1180 +rect 600 1110 680 1120 +rect 600 1070 620 1110 +rect 660 1070 680 1110 +rect 600 1050 680 1070 +rect 840 1100 1580 1120 +rect 840 1020 970 1100 +rect 40 930 710 950 +rect 40 840 60 930 +rect 150 840 630 930 +rect 690 840 710 930 +rect 40 820 710 840 +rect 840 840 860 1020 +rect 950 840 970 1020 +rect 840 820 970 840 +use sky130_fd_pr__nfet_03v3_nvt_DWHJCV sky130_fd_pr__nfet_03v3_nvt_DWHJCV_0 +timestamp 1632244313 +transform 1 0 1532 0 1 1151 +box -377 -776 377 776 +use sky130_fd_pr__nfet_03v3_nvt_ZJHJCF sky130_fd_pr__nfet_03v3_nvt_ZJHJCF_0 +timestamp 1632244518 +transform 1 0 783 0 1 1140 +box -288 -985 288 985 +use sky130_fd_pr__pfet_g5v0d10v5_CABTE7 sky130_fd_pr__pfet_g5v0d10v5_CABTE7_0 +timestamp 1632243750 +transform 1 0 53 0 1 1136 +box -308 -1251 308 1251 +<< labels >> +rlabel metal1 640 2380 1760 2460 1 VGND +rlabel metal1 -80 2420 180 2460 1 VPWR +rlabel metal1 1480 1100 1580 1200 1 VI +rlabel metal1 1380 1270 1690 1350 1 BIASN +rlabel metal1 390 1330 460 1460 1 VPAMP +rlabel metal1 390 820 460 950 1 VNAMP +rlabel metal1 600 1160 680 1230 1 VP +rlabel metal1 600 1050 680 1120 1 VN +<< end >>
diff --git a/comparator/preamp.spice b/comparator/preamp.spice new file mode 100644 index 0000000..668223d --- /dev/null +++ b/comparator/preamp.spice
@@ -0,0 +1,19 @@ +* SPICE3 file created from preamp.ext - technology: sky130A + +.option scale=1u + +X0 VPWR VPWR VPWR VPWR sky130_fd_pr__pfet_g5v0d10v5 ad=-0 pd=0 as=-0 ps=0 w=1.5e+06 l=500000 +X1 VPWR VPWR VPWR VPWR sky130_fd_pr__pfet_g5v0d10v5 ad=-0 pd=0 as=-0 ps=0 w=1.5e+06 l=500000 +X2 VPAMP VPAMP VPWR VPWR sky130_fd_pr__pfet_g5v0d10v5 ad=0 pd=0 as=-0 ps=0 w=1.5e+06 l=500000 +X3 VNAMP VNAMP VPWR VPWR sky130_fd_pr__pfet_g5v0d10v5 ad=0 pd=0 as=-0 ps=0 w=1.5e+06 l=500000 +X4 VGND BIASN VI VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=-0 ps=0 w=1e+06 l=600000 +X5 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06 l=600000 +X6 VI BIASN VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=-0 pd=0 as=0 ps=0 w=1e+06 l=600000 +X7 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06 l=600000 +X8 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06 l=600000 +X9 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06 l=600000 +X10 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06 l=600000 +X11 VGND VGND VGND VGND sky130_fd_pr__nfet_03v3_nvt ad=0 pd=0 as=0 ps=0 w=1e+06 l=600000 +X12 VI VN VNAMP VGND sky130_fd_pr__nfet_03v3_nvt ad=-0 pd=0 as=-0 ps=0 w=1e+06 l=600000 +X13 VI VP VPAMP VGND sky130_fd_pr__nfet_03v3_nvt ad=-0 pd=0 as=-0 ps=0 w=1e+06 l=600000 +C0 VPWR VGND 8.16fF
diff --git a/comparator/simulation.spice b/comparator/simulation.spice new file mode 100644 index 0000000..5f38b23 --- /dev/null +++ b/comparator/simulation.spice
@@ -0,0 +1,43 @@ +* comparator Simulation +* this file edited to remove everything not in tt lib +.lib "./sky130_fd_pr/models/sky130.lib.spice" tt +.include comparator-preamp.spice +.include comparator-decision.spice +.include comparator-diffamp.spice + +* instantiate the comparator +Xpre VP VN VPAMP VNAMP VI BIASN VGND VPWR comparator-preamp +Xdec VPAMP VNAMP VOP VON VGND VPWR comparator-decision +Xdif VOP VON VOUT VGND VDD comparator-diffamp + +* set gnd and power +Vgnd VGND 0 0 +Vdd3v3 VPWR VGND 3 +Vdd1v8 VDD VGND 1.8 + +* set bias voltage +Vbias BIASN VGND 0.3 + +VNin VN VGND 1.5 +VPin VP VGND 1.5 + +* create pulse +*VPin VP VGND pulse(0 3 1p 1n 1n 1n 2n) +*VPin VP VGND SINE(1.5 0.01 10Meg) + +*.tran 10e-12 200e-09 0e-00 +.dc VPin 0 3 0.002 VNin 0 3 0.2 + +.control +run +set color0 = white +set color1 = black +plot VOUT +*plot VP VN VOUT VPWR +*plot VPAMP VNAMP VI +*plot VOP VON +*plot i(Vdd3v3) +*plot i(Vdd1v8) +.endc + +.end
diff --git a/comparator/sky130_fd_pr__nfet_03v3_nvt_DWHJCV.mag b/comparator/sky130_fd_pr__nfet_03v3_nvt_DWHJCV.mag new file mode 100644 index 0000000..9dd1969 --- /dev/null +++ b/comparator/sky130_fd_pr__nfet_03v3_nvt_DWHJCV.mag
@@ -0,0 +1,201 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1632244313 +<< pwell >> +rect -377 -776 377 776 +<< nnmos >> +rect -149 318 -29 518 +rect 29 318 149 518 +rect -149 -100 -29 100 +rect 29 -100 149 100 +rect -149 -518 -29 -318 +rect 29 -518 149 -318 +<< mvndiff >> +rect -207 506 -149 518 +rect -207 330 -195 506 +rect -161 330 -149 506 +rect -207 318 -149 330 +rect -29 506 29 518 +rect -29 330 -17 506 +rect 17 330 29 506 +rect -29 318 29 330 +rect 149 506 207 518 +rect 149 330 161 506 +rect 195 330 207 506 +rect 149 318 207 330 +rect -207 88 -149 100 +rect -207 -88 -195 88 +rect -161 -88 -149 88 +rect -207 -100 -149 -88 +rect -29 88 29 100 +rect -29 -88 -17 88 +rect 17 -88 29 88 +rect -29 -100 29 -88 +rect 149 88 207 100 +rect 149 -88 161 88 +rect 195 -88 207 88 +rect 149 -100 207 -88 +rect -207 -330 -149 -318 +rect -207 -506 -195 -330 +rect -161 -506 -149 -330 +rect -207 -518 -149 -506 +rect -29 -330 29 -318 +rect -29 -506 -17 -330 +rect 17 -506 29 -330 +rect -29 -518 29 -506 +rect 149 -330 207 -318 +rect 149 -506 161 -330 +rect 195 -506 207 -330 +rect 149 -518 207 -506 +<< mvndiffc >> +rect -195 330 -161 506 +rect -17 330 17 506 +rect 161 330 195 506 +rect -195 -88 -161 88 +rect -17 -88 17 88 +rect 161 -88 195 88 +rect -195 -506 -161 -330 +rect -17 -506 17 -330 +rect 161 -506 195 -330 +<< mvpsubdiff >> +rect -341 728 341 740 +rect -341 694 -233 728 +rect 233 694 341 728 +rect -341 682 341 694 +rect -341 632 -283 682 +rect -341 -632 -329 632 +rect -295 -632 -283 632 +rect 283 632 341 682 +rect -341 -682 -283 -632 +rect 283 -632 295 632 +rect 329 -632 341 632 +rect 283 -682 341 -632 +rect -341 -694 341 -682 +rect -341 -728 -233 -694 +rect 233 -728 341 -694 +rect -341 -740 341 -728 +<< mvpsubdiffcont >> +rect -233 694 233 728 +rect -329 -632 -295 632 +rect 295 -632 329 632 +rect -233 -728 233 -694 +<< poly >> +rect -149 590 -29 606 +rect -149 556 -133 590 +rect -45 556 -29 590 +rect -149 518 -29 556 +rect 29 590 149 606 +rect 29 556 45 590 +rect 133 556 149 590 +rect 29 518 149 556 +rect -149 280 -29 318 +rect -149 246 -133 280 +rect -45 246 -29 280 +rect -149 230 -29 246 +rect 29 280 149 318 +rect 29 246 45 280 +rect 133 246 149 280 +rect 29 230 149 246 +rect -149 172 -29 188 +rect -149 138 -133 172 +rect -45 138 -29 172 +rect -149 100 -29 138 +rect 29 172 149 188 +rect 29 138 45 172 +rect 133 138 149 172 +rect 29 100 149 138 +rect -149 -138 -29 -100 +rect -149 -172 -133 -138 +rect -45 -172 -29 -138 +rect -149 -188 -29 -172 +rect 29 -138 149 -100 +rect 29 -172 45 -138 +rect 133 -172 149 -138 +rect 29 -188 149 -172 +rect -149 -246 -29 -230 +rect -149 -280 -133 -246 +rect -45 -280 -29 -246 +rect -149 -318 -29 -280 +rect 29 -246 149 -230 +rect 29 -280 45 -246 +rect 133 -280 149 -246 +rect 29 -318 149 -280 +rect -149 -556 -29 -518 +rect -149 -590 -133 -556 +rect -45 -590 -29 -556 +rect -149 -606 -29 -590 +rect 29 -556 149 -518 +rect 29 -590 45 -556 +rect 133 -590 149 -556 +rect 29 -606 149 -590 +<< polycont >> +rect -133 556 -45 590 +rect 45 556 133 590 +rect -133 246 -45 280 +rect 45 246 133 280 +rect -133 138 -45 172 +rect 45 138 133 172 +rect -133 -172 -45 -138 +rect 45 -172 133 -138 +rect -133 -280 -45 -246 +rect 45 -280 133 -246 +rect -133 -590 -45 -556 +rect 45 -590 133 -556 +<< locali >> +rect -329 694 -233 728 +rect 233 694 329 728 +rect -329 632 -295 694 +rect 295 632 329 694 +rect -149 556 -133 590 +rect -45 556 -29 590 +rect 29 556 45 590 +rect 133 556 149 590 +rect -195 506 -161 522 +rect -195 314 -161 330 +rect -17 506 17 522 +rect -17 314 17 330 +rect 161 506 195 522 +rect 161 314 195 330 +rect -149 246 -133 280 +rect -45 246 -29 280 +rect 29 246 45 280 +rect 133 246 149 280 +rect -149 138 -133 172 +rect -45 138 -29 172 +rect 29 138 45 172 +rect 133 138 149 172 +rect -195 88 -161 104 +rect -195 -104 -161 -88 +rect -17 88 17 104 +rect -17 -104 17 -88 +rect 161 88 195 104 +rect 161 -104 195 -88 +rect -149 -172 -133 -138 +rect -45 -172 -29 -138 +rect 29 -172 45 -138 +rect 133 -172 149 -138 +rect -149 -280 -133 -246 +rect -45 -280 -29 -246 +rect 29 -280 45 -246 +rect 133 -280 149 -246 +rect -195 -330 -161 -314 +rect -195 -522 -161 -506 +rect -17 -330 17 -314 +rect -17 -522 17 -506 +rect 161 -330 195 -314 +rect 161 -522 195 -506 +rect -149 -590 -133 -556 +rect -45 -590 -29 -556 +rect 29 -590 45 -556 +rect 133 -590 149 -556 +rect -329 -694 -295 -632 +rect 295 -694 329 -632 +rect -329 -728 -233 -694 +rect 233 -728 329 -694 +<< properties >> +string gencell sky130_fd_pr__nfet_03v3_nvt +string FIXED_BBOX -312 -711 312 711 +string parameters w 1 l 0.6 m 3 nf 2 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt sky130_fd_bs_flash__special_sonosfet_star sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt sky130_fd_pr__nfet_03v3_nvt} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0 +string library sky130 +<< end >>
diff --git a/comparator/sky130_fd_pr__nfet_03v3_nvt_RPCQRP.mag b/comparator/sky130_fd_pr__nfet_03v3_nvt_RPCQRP.mag new file mode 100644 index 0000000..1625337 --- /dev/null +++ b/comparator/sky130_fd_pr__nfet_03v3_nvt_RPCQRP.mag
@@ -0,0 +1,76 @@ +magic +tech sky130A +timestamp 1632242814 +<< pwell >> +rect -144 -179 144 179 +<< nnmos >> +rect -30 -50 30 50 +<< mvndiff >> +rect -59 44 -30 50 +rect -59 -44 -53 44 +rect -36 -44 -30 44 +rect -59 -50 -30 -44 +rect 30 44 59 50 +rect 30 -44 36 44 +rect 53 -44 59 44 +rect 30 -50 59 -44 +<< mvndiffc >> +rect -53 -44 -36 44 +rect 36 -44 53 44 +<< mvpsubdiff >> +rect -126 155 126 161 +rect -126 138 -72 155 +rect 72 138 126 155 +rect -126 132 126 138 +rect -126 107 -97 132 +rect -126 -107 -120 107 +rect -103 -107 -97 107 +rect 97 107 126 132 +rect -126 -132 -97 -107 +rect 97 -107 103 107 +rect 120 -107 126 107 +rect 97 -132 126 -107 +rect -126 -138 126 -132 +rect -126 -155 -72 -138 +rect 72 -155 126 -138 +rect -126 -161 126 -155 +<< mvpsubdiffcont >> +rect -72 138 72 155 +rect -120 -107 -103 107 +rect 103 -107 120 107 +rect -72 -155 72 -138 +<< poly >> +rect -30 86 30 94 +rect -30 69 -22 86 +rect 22 69 30 86 +rect -30 50 30 69 +rect -30 -69 30 -50 +rect -30 -86 -22 -69 +rect 22 -86 30 -69 +rect -30 -94 30 -86 +<< polycont >> +rect -22 69 22 86 +rect -22 -86 22 -69 +<< locali >> +rect -120 138 -72 155 +rect 72 138 120 155 +rect -120 107 -103 138 +rect 103 107 120 138 +rect -30 69 -22 86 +rect 22 69 30 86 +rect -53 44 -36 52 +rect -53 -52 -36 -44 +rect 36 44 53 52 +rect 36 -52 53 -44 +rect -30 -86 -22 -69 +rect 22 -86 30 -69 +rect -120 -138 -103 -107 +rect 103 -138 120 -107 +rect -120 -155 -72 -138 +rect 72 -155 120 -138 +<< properties >> +string gencell sky130_fd_pr__nfet_03v3_nvt +string FIXED_BBOX -111 -146 111 146 +string parameters w 1 l 0.60 m 1 nf 1 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt sky130_fd_bs_flash__special_sonosfet_star sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt sky130_fd_pr__nfet_03v3_nvt} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0 +string library sky130 +<< end >>
diff --git a/comparator/sky130_fd_pr__nfet_03v3_nvt_ZJHJCF.mag b/comparator/sky130_fd_pr__nfet_03v3_nvt_ZJHJCF.mag new file mode 100644 index 0000000..50f5f02 --- /dev/null +++ b/comparator/sky130_fd_pr__nfet_03v3_nvt_ZJHJCF.mag
@@ -0,0 +1,164 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1632244518 +<< pwell >> +rect -288 -985 288 985 +<< nnmos >> +rect -60 527 60 727 +rect -60 109 60 309 +rect -60 -309 60 -109 +rect -60 -727 60 -527 +<< mvndiff >> +rect -118 715 -60 727 +rect -118 539 -106 715 +rect -72 539 -60 715 +rect -118 527 -60 539 +rect 60 715 118 727 +rect 60 539 72 715 +rect 106 539 118 715 +rect 60 527 118 539 +rect -118 297 -60 309 +rect -118 121 -106 297 +rect -72 121 -60 297 +rect -118 109 -60 121 +rect 60 297 118 309 +rect 60 121 72 297 +rect 106 121 118 297 +rect 60 109 118 121 +rect -118 -121 -60 -109 +rect -118 -297 -106 -121 +rect -72 -297 -60 -121 +rect -118 -309 -60 -297 +rect 60 -121 118 -109 +rect 60 -297 72 -121 +rect 106 -297 118 -121 +rect 60 -309 118 -297 +rect -118 -539 -60 -527 +rect -118 -715 -106 -539 +rect -72 -715 -60 -539 +rect -118 -727 -60 -715 +rect 60 -539 118 -527 +rect 60 -715 72 -539 +rect 106 -715 118 -539 +rect 60 -727 118 -715 +<< mvndiffc >> +rect -106 539 -72 715 +rect 72 539 106 715 +rect -106 121 -72 297 +rect 72 121 106 297 +rect -106 -297 -72 -121 +rect 72 -297 106 -121 +rect -106 -715 -72 -539 +rect 72 -715 106 -539 +<< mvpsubdiff >> +rect -252 937 252 949 +rect -252 903 -144 937 +rect 144 903 252 937 +rect -252 891 252 903 +rect -252 841 -194 891 +rect -252 -841 -240 841 +rect -206 -841 -194 841 +rect 194 841 252 891 +rect -252 -891 -194 -841 +rect 194 -841 206 841 +rect 240 -841 252 841 +rect 194 -891 252 -841 +rect -252 -903 252 -891 +rect -252 -937 -144 -903 +rect 144 -937 252 -903 +rect -252 -949 252 -937 +<< mvpsubdiffcont >> +rect -144 903 144 937 +rect -240 -841 -206 841 +rect 206 -841 240 841 +rect -144 -937 144 -903 +<< poly >> +rect -60 799 60 815 +rect -60 765 -44 799 +rect 44 765 60 799 +rect -60 727 60 765 +rect -60 489 60 527 +rect -60 455 -44 489 +rect 44 455 60 489 +rect -60 439 60 455 +rect -60 381 60 397 +rect -60 347 -44 381 +rect 44 347 60 381 +rect -60 309 60 347 +rect -60 71 60 109 +rect -60 37 -44 71 +rect 44 37 60 71 +rect -60 21 60 37 +rect -60 -37 60 -21 +rect -60 -71 -44 -37 +rect 44 -71 60 -37 +rect -60 -109 60 -71 +rect -60 -347 60 -309 +rect -60 -381 -44 -347 +rect 44 -381 60 -347 +rect -60 -397 60 -381 +rect -60 -455 60 -439 +rect -60 -489 -44 -455 +rect 44 -489 60 -455 +rect -60 -527 60 -489 +rect -60 -765 60 -727 +rect -60 -799 -44 -765 +rect 44 -799 60 -765 +rect -60 -815 60 -799 +<< polycont >> +rect -44 765 44 799 +rect -44 455 44 489 +rect -44 347 44 381 +rect -44 37 44 71 +rect -44 -71 44 -37 +rect -44 -381 44 -347 +rect -44 -489 44 -455 +rect -44 -799 44 -765 +<< locali >> +rect -240 903 -144 937 +rect 144 903 240 937 +rect -240 841 -206 903 +rect 206 841 240 903 +rect -60 765 -44 799 +rect 44 765 60 799 +rect -106 715 -72 731 +rect -106 523 -72 539 +rect 72 715 106 731 +rect 72 523 106 539 +rect -60 455 -44 489 +rect 44 455 60 489 +rect -60 347 -44 381 +rect 44 347 60 381 +rect -106 297 -72 313 +rect -106 105 -72 121 +rect 72 297 106 313 +rect 72 105 106 121 +rect -60 37 -44 71 +rect 44 37 60 71 +rect -60 -71 -44 -37 +rect 44 -71 60 -37 +rect -106 -121 -72 -105 +rect -106 -313 -72 -297 +rect 72 -121 106 -105 +rect 72 -313 106 -297 +rect -60 -381 -44 -347 +rect 44 -381 60 -347 +rect -60 -489 -44 -455 +rect 44 -489 60 -455 +rect -106 -539 -72 -523 +rect -106 -731 -72 -715 +rect 72 -539 106 -523 +rect 72 -731 106 -715 +rect -60 -799 -44 -765 +rect 44 -799 60 -765 +rect -240 -903 -206 -841 +rect 206 -903 240 -841 +rect -240 -937 -144 -903 +rect 144 -937 240 -903 +<< properties >> +string gencell sky130_fd_pr__nfet_03v3_nvt +string FIXED_BBOX -223 -920 223 920 +string parameters w 1 l 0.6 m 4 nf 1 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__nfet_01v8 sky130_fd_pr__nfet_01v8_lvt sky130_fd_bs_flash__special_sonosfet_star sky130_fd_pr__nfet_g5v0d10v5 sky130_fd_pr__nfet_05v0_nvt sky130_fd_pr__nfet_03v3_nvt} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0 +string library sky130 +<< end >>
diff --git a/comparator/sky130_fd_pr__pfet_g5v0d10v5_7EB329.mag b/comparator/sky130_fd_pr__pfet_g5v0d10v5_7EB329.mag new file mode 100644 index 0000000..dcd7c0a --- /dev/null +++ b/comparator/sky130_fd_pr__pfet_g5v0d10v5_7EB329.mag
@@ -0,0 +1,164 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1632242116 +<< nwell >> +rect -308 -1251 308 1251 +<< mvpmos >> +rect -50 654 50 954 +rect -50 118 50 418 +rect -50 -418 50 -118 +rect -50 -954 50 -654 +<< mvpdiff >> +rect -108 942 -50 954 +rect -108 666 -96 942 +rect -62 666 -50 942 +rect -108 654 -50 666 +rect 50 942 108 954 +rect 50 666 62 942 +rect 96 666 108 942 +rect 50 654 108 666 +rect -108 406 -50 418 +rect -108 130 -96 406 +rect -62 130 -50 406 +rect -108 118 -50 130 +rect 50 406 108 418 +rect 50 130 62 406 +rect 96 130 108 406 +rect 50 118 108 130 +rect -108 -130 -50 -118 +rect -108 -406 -96 -130 +rect -62 -406 -50 -130 +rect -108 -418 -50 -406 +rect 50 -130 108 -118 +rect 50 -406 62 -130 +rect 96 -406 108 -130 +rect 50 -418 108 -406 +rect -108 -666 -50 -654 +rect -108 -942 -96 -666 +rect -62 -942 -50 -666 +rect -108 -954 -50 -942 +rect 50 -666 108 -654 +rect 50 -942 62 -666 +rect 96 -942 108 -666 +rect 50 -954 108 -942 +<< mvpdiffc >> +rect -96 666 -62 942 +rect 62 666 96 942 +rect -96 130 -62 406 +rect 62 130 96 406 +rect -96 -406 -62 -130 +rect 62 -406 96 -130 +rect -96 -942 -62 -666 +rect 62 -942 96 -666 +<< mvnsubdiff >> +rect -242 1173 242 1185 +rect -242 1139 -134 1173 +rect 134 1139 242 1173 +rect -242 1127 242 1139 +rect -242 1077 -184 1127 +rect -242 -1077 -230 1077 +rect -196 -1077 -184 1077 +rect 184 1077 242 1127 +rect -242 -1127 -184 -1077 +rect 184 -1077 196 1077 +rect 230 -1077 242 1077 +rect 184 -1127 242 -1077 +rect -242 -1139 242 -1127 +rect -242 -1173 -134 -1139 +rect 134 -1173 242 -1139 +rect -242 -1185 242 -1173 +<< mvnsubdiffcont >> +rect -134 1139 134 1173 +rect -230 -1077 -196 1077 +rect 196 -1077 230 1077 +rect -134 -1173 134 -1139 +<< poly >> +rect -50 1035 50 1051 +rect -50 1001 -34 1035 +rect 34 1001 50 1035 +rect -50 954 50 1001 +rect -50 607 50 654 +rect -50 573 -34 607 +rect 34 573 50 607 +rect -50 557 50 573 +rect -50 499 50 515 +rect -50 465 -34 499 +rect 34 465 50 499 +rect -50 418 50 465 +rect -50 71 50 118 +rect -50 37 -34 71 +rect 34 37 50 71 +rect -50 21 50 37 +rect -50 -37 50 -21 +rect -50 -71 -34 -37 +rect 34 -71 50 -37 +rect -50 -118 50 -71 +rect -50 -465 50 -418 +rect -50 -499 -34 -465 +rect 34 -499 50 -465 +rect -50 -515 50 -499 +rect -50 -573 50 -557 +rect -50 -607 -34 -573 +rect 34 -607 50 -573 +rect -50 -654 50 -607 +rect -50 -1001 50 -954 +rect -50 -1035 -34 -1001 +rect 34 -1035 50 -1001 +rect -50 -1051 50 -1035 +<< polycont >> +rect -34 1001 34 1035 +rect -34 573 34 607 +rect -34 465 34 499 +rect -34 37 34 71 +rect -34 -71 34 -37 +rect -34 -499 34 -465 +rect -34 -607 34 -573 +rect -34 -1035 34 -1001 +<< locali >> +rect -230 1139 -134 1173 +rect 134 1139 230 1173 +rect -230 1077 -196 1139 +rect 196 1077 230 1139 +rect -50 1001 -34 1035 +rect 34 1001 50 1035 +rect -96 942 -62 958 +rect -96 650 -62 666 +rect 62 942 96 958 +rect 62 650 96 666 +rect -50 573 -34 607 +rect 34 573 50 607 +rect -50 465 -34 499 +rect 34 465 50 499 +rect -96 406 -62 422 +rect -96 114 -62 130 +rect 62 406 96 422 +rect 62 114 96 130 +rect -50 37 -34 71 +rect 34 37 50 71 +rect -50 -71 -34 -37 +rect 34 -71 50 -37 +rect -96 -130 -62 -114 +rect -96 -422 -62 -406 +rect 62 -130 96 -114 +rect 62 -422 96 -406 +rect -50 -499 -34 -465 +rect 34 -499 50 -465 +rect -50 -607 -34 -573 +rect 34 -607 50 -573 +rect -96 -666 -62 -650 +rect -96 -958 -62 -942 +rect 62 -666 96 -650 +rect 62 -958 96 -942 +rect -50 -1035 -34 -1001 +rect 34 -1035 50 -1001 +rect -230 -1139 -196 -1077 +rect 196 -1139 230 -1077 +rect -230 -1173 -134 -1139 +rect 134 -1173 230 -1139 +<< properties >> +string gencell sky130_fd_pr__pfet_g5v0d10v5 +string FIXED_BBOX -213 -1156 213 1156 +string parameters w 1.5 l 0.5 m 4 nf 1 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__pfet_01v8 sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt sky130_fd_pr__pfet_g5v0d10v5} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0 +string library sky130 +<< end >>
diff --git a/comparator/sky130_fd_pr__pfet_g5v0d10v5_7EFQZ5.mag b/comparator/sky130_fd_pr__pfet_g5v0d10v5_7EFQZ5.mag new file mode 100644 index 0000000..3b15dda --- /dev/null +++ b/comparator/sky130_fd_pr__pfet_g5v0d10v5_7EFQZ5.mag
@@ -0,0 +1,143 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1632242116 +<< nwell >> +rect -545 -447 545 447 +<< mvpmos >> +rect -287 -150 -187 150 +rect -129 -150 -29 150 +rect 29 -150 129 150 +rect 187 -150 287 150 +<< mvpdiff >> +rect -345 138 -287 150 +rect -345 -138 -333 138 +rect -299 -138 -287 138 +rect -345 -150 -287 -138 +rect -187 138 -129 150 +rect -187 -138 -175 138 +rect -141 -138 -129 138 +rect -187 -150 -129 -138 +rect -29 138 29 150 +rect -29 -138 -17 138 +rect 17 -138 29 138 +rect -29 -150 29 -138 +rect 129 138 187 150 +rect 129 -138 141 138 +rect 175 -138 187 138 +rect 129 -150 187 -138 +rect 287 138 345 150 +rect 287 -138 299 138 +rect 333 -138 345 138 +rect 287 -150 345 -138 +<< mvpdiffc >> +rect -333 -138 -299 138 +rect -175 -138 -141 138 +rect -17 -138 17 138 +rect 141 -138 175 138 +rect 299 -138 333 138 +<< mvnsubdiff >> +rect -479 369 479 381 +rect -479 335 -371 369 +rect 371 335 479 369 +rect -479 323 479 335 +rect -479 273 -421 323 +rect -479 -273 -467 273 +rect -433 -273 -421 273 +rect 421 273 479 323 +rect -479 -323 -421 -273 +rect 421 -273 433 273 +rect 467 -273 479 273 +rect 421 -323 479 -273 +rect -479 -335 479 -323 +rect -479 -369 -371 -335 +rect 371 -369 479 -335 +rect -479 -381 479 -369 +<< mvnsubdiffcont >> +rect -371 335 371 369 +rect -467 -273 -433 273 +rect 433 -273 467 273 +rect -371 -369 371 -335 +<< poly >> +rect -287 231 -187 247 +rect -287 197 -271 231 +rect -203 197 -187 231 +rect -287 150 -187 197 +rect -129 231 -29 247 +rect -129 197 -113 231 +rect -45 197 -29 231 +rect -129 150 -29 197 +rect 29 231 129 247 +rect 29 197 45 231 +rect 113 197 129 231 +rect 29 150 129 197 +rect 187 231 287 247 +rect 187 197 203 231 +rect 271 197 287 231 +rect 187 150 287 197 +rect -287 -197 -187 -150 +rect -287 -231 -271 -197 +rect -203 -231 -187 -197 +rect -287 -247 -187 -231 +rect -129 -197 -29 -150 +rect -129 -231 -113 -197 +rect -45 -231 -29 -197 +rect -129 -247 -29 -231 +rect 29 -197 129 -150 +rect 29 -231 45 -197 +rect 113 -231 129 -197 +rect 29 -247 129 -231 +rect 187 -197 287 -150 +rect 187 -231 203 -197 +rect 271 -231 287 -197 +rect 187 -247 287 -231 +<< polycont >> +rect -271 197 -203 231 +rect -113 197 -45 231 +rect 45 197 113 231 +rect 203 197 271 231 +rect -271 -231 -203 -197 +rect -113 -231 -45 -197 +rect 45 -231 113 -197 +rect 203 -231 271 -197 +<< locali >> +rect -467 335 -371 369 +rect 371 335 467 369 +rect -467 273 -433 335 +rect 433 273 467 335 +rect -287 197 -271 231 +rect -203 197 -187 231 +rect -129 197 -113 231 +rect -45 197 -29 231 +rect 29 197 45 231 +rect 113 197 129 231 +rect 187 197 203 231 +rect 271 197 287 231 +rect -333 138 -299 154 +rect -333 -154 -299 -138 +rect -175 138 -141 154 +rect -175 -154 -141 -138 +rect -17 138 17 154 +rect -17 -154 17 -138 +rect 141 138 175 154 +rect 141 -154 175 -138 +rect 299 138 333 154 +rect 299 -154 333 -138 +rect -287 -231 -271 -197 +rect -203 -231 -187 -197 +rect -129 -231 -113 -197 +rect -45 -231 -29 -197 +rect 29 -231 45 -197 +rect 113 -231 129 -197 +rect 187 -231 203 -197 +rect 271 -231 287 -197 +rect -467 -335 -433 -273 +rect 433 -335 467 -273 +rect -467 -369 -371 -335 +rect 371 -369 467 -335 +<< properties >> +string gencell sky130_fd_pr__pfet_g5v0d10v5 +string FIXED_BBOX -450 -352 450 352 +string parameters w 1.5 l 0.5 m 1 nf 4 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__pfet_01v8 sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt sky130_fd_pr__pfet_g5v0d10v5} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0 +string library sky130 +<< end >>
diff --git a/comparator/sky130_fd_pr__pfet_g5v0d10v5_CABTE7.mag b/comparator/sky130_fd_pr__pfet_g5v0d10v5_CABTE7.mag new file mode 100644 index 0000000..815a952 --- /dev/null +++ b/comparator/sky130_fd_pr__pfet_g5v0d10v5_CABTE7.mag
@@ -0,0 +1,164 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1632243750 +<< nwell >> +rect -308 -1251 308 1251 +<< mvpmos >> +rect -50 654 50 954 +rect -50 118 50 418 +rect -50 -418 50 -118 +rect -50 -954 50 -654 +<< mvpdiff >> +rect -108 942 -50 954 +rect -108 666 -96 942 +rect -62 666 -50 942 +rect -108 654 -50 666 +rect 50 942 108 954 +rect 50 666 62 942 +rect 96 666 108 942 +rect 50 654 108 666 +rect -108 406 -50 418 +rect -108 130 -96 406 +rect -62 130 -50 406 +rect -108 118 -50 130 +rect 50 406 108 418 +rect 50 130 62 406 +rect 96 130 108 406 +rect 50 118 108 130 +rect -108 -130 -50 -118 +rect -108 -406 -96 -130 +rect -62 -406 -50 -130 +rect -108 -418 -50 -406 +rect 50 -130 108 -118 +rect 50 -406 62 -130 +rect 96 -406 108 -130 +rect 50 -418 108 -406 +rect -108 -666 -50 -654 +rect -108 -942 -96 -666 +rect -62 -942 -50 -666 +rect -108 -954 -50 -942 +rect 50 -666 108 -654 +rect 50 -942 62 -666 +rect 96 -942 108 -666 +rect 50 -954 108 -942 +<< mvpdiffc >> +rect -96 666 -62 942 +rect 62 666 96 942 +rect -96 130 -62 406 +rect 62 130 96 406 +rect -96 -406 -62 -130 +rect 62 -406 96 -130 +rect -96 -942 -62 -666 +rect 62 -942 96 -666 +<< mvnsubdiff >> +rect -242 1173 242 1185 +rect -242 1139 -134 1173 +rect 134 1139 242 1173 +rect -242 1127 242 1139 +rect -242 1077 -184 1127 +rect -242 -1077 -230 1077 +rect -196 -1077 -184 1077 +rect 184 1077 242 1127 +rect -242 -1127 -184 -1077 +rect 184 -1077 196 1077 +rect 230 -1077 242 1077 +rect 184 -1127 242 -1077 +rect -242 -1139 242 -1127 +rect -242 -1173 -134 -1139 +rect 134 -1173 242 -1139 +rect -242 -1185 242 -1173 +<< mvnsubdiffcont >> +rect -134 1139 134 1173 +rect -230 -1077 -196 1077 +rect 196 -1077 230 1077 +rect -134 -1173 134 -1139 +<< poly >> +rect -50 1035 50 1051 +rect -50 1001 -34 1035 +rect 34 1001 50 1035 +rect -50 954 50 1001 +rect -50 607 50 654 +rect -50 573 -34 607 +rect 34 573 50 607 +rect -50 557 50 573 +rect -50 499 50 515 +rect -50 465 -34 499 +rect 34 465 50 499 +rect -50 418 50 465 +rect -50 71 50 118 +rect -50 37 -34 71 +rect 34 37 50 71 +rect -50 21 50 37 +rect -50 -37 50 -21 +rect -50 -71 -34 -37 +rect 34 -71 50 -37 +rect -50 -118 50 -71 +rect -50 -465 50 -418 +rect -50 -499 -34 -465 +rect 34 -499 50 -465 +rect -50 -515 50 -499 +rect -50 -573 50 -557 +rect -50 -607 -34 -573 +rect 34 -607 50 -573 +rect -50 -654 50 -607 +rect -50 -1001 50 -954 +rect -50 -1035 -34 -1001 +rect 34 -1035 50 -1001 +rect -50 -1051 50 -1035 +<< polycont >> +rect -34 1001 34 1035 +rect -34 573 34 607 +rect -34 465 34 499 +rect -34 37 34 71 +rect -34 -71 34 -37 +rect -34 -499 34 -465 +rect -34 -607 34 -573 +rect -34 -1035 34 -1001 +<< locali >> +rect -230 1139 -134 1173 +rect 134 1139 230 1173 +rect -230 1077 -196 1139 +rect 196 1077 230 1139 +rect -50 1001 -34 1035 +rect 34 1001 50 1035 +rect -96 942 -62 958 +rect -96 650 -62 666 +rect 62 942 96 958 +rect 62 650 96 666 +rect -50 573 -34 607 +rect 34 573 50 607 +rect -50 465 -34 499 +rect 34 465 50 499 +rect -96 406 -62 422 +rect -96 114 -62 130 +rect 62 406 96 422 +rect 62 114 96 130 +rect -50 37 -34 71 +rect 34 37 50 71 +rect -50 -71 -34 -37 +rect 34 -71 50 -37 +rect -96 -130 -62 -114 +rect -96 -422 -62 -406 +rect 62 -130 96 -114 +rect 62 -422 96 -406 +rect -50 -499 -34 -465 +rect 34 -499 50 -465 +rect -50 -607 -34 -573 +rect 34 -607 50 -573 +rect -96 -666 -62 -650 +rect -96 -958 -62 -942 +rect 62 -666 96 -650 +rect 62 -958 96 -942 +rect -50 -1035 -34 -1001 +rect 34 -1035 50 -1001 +rect -230 -1139 -196 -1077 +rect 196 -1139 230 -1077 +rect -230 -1173 -134 -1139 +rect 134 -1173 230 -1139 +<< properties >> +string gencell sky130_fd_pr__pfet_g5v0d10v5 +string FIXED_BBOX -213 -1156 213 1156 +string parameters w 1.5 l 0.50 m 4 nf 1 diffcov 100 polycov 100 guard 1 glc 1 grc 1 gtc 1 gbc 1 tbcov 100 rlcov 100 topc 1 botc 1 poverlap 0 doverlap 1 lmin 0.50 wmin 0.42 compatible {sky130_fd_pr__pfet_01v8 sky130_fd_pr__pfet_01v8_lvt sky130_fd_pr__pfet_01v8_hvt sky130_fd_pr__pfet_g5v0d10v5} full_metal 1 viasrc 100 viadrn 100 viagate 100 viagb 0 viagr 0 viagl 0 viagt 0 +string library sky130 +<< end >>
diff --git a/comparator/tristate-inverter.spice b/comparator/tristate-inverter.spice new file mode 100644 index 0000000..0a3dc7d --- /dev/null +++ b/comparator/tristate-inverter.spice
@@ -0,0 +1,21 @@ +.subckt tristate-inverter Y A OE ~OE VGND VPWR +* NGSPICE file created from tristate-inverter.ext - technology: sky130A + +* Top level circuit tristate-inverter with output pullup + +R1 VPWR Y 100k + +X0 Y ~OE a_150000_0# VPWR sky130_fd_pr__pfet_01v8 w=1e+06u l=150000u +X1 Y OE a_150000_n1500000# VGND sky130_fd_pr__nfet_01v8 w=650000u l=150000u +X2 a_150000_0# A VPWR VPWR sky130_fd_pr__pfet_01v8 w=1e+06u l=150000u +X3 a_150000_n1500000# A VGND VGND sky130_fd_pr__nfet_01v8 w=650000u l=150000u + + +* +* X0 pfet_middle A VPWR VPWR sky130_fd_pr__pfet_01v8 w=1e+06u l=150000u +* X2 Y ~OE pfet_middle VPWR sky130_fd_pr__pfet_01v8 w=1e+06u l=150000u +* +* X1 nfet_middle A VGND VGND sky130_fd_pr__nfet_01v8 w=650000u l=150000u +* X3 Y OE nfet_middle VGND sky130_fd_pr__nfet_01v8 w=650000u l=150000u + +.ends \ No newline at end of file