DRC fixed
diff --git a/.swp b/.swp new file mode 100644 index 0000000..4c47ba6 --- /dev/null +++ b/.swp Binary files differ
diff --git a/mag/BGR_lvs.mag b/mag/BGR_lvs.mag index 1159bf2..d6278a4 100644 --- a/mag/BGR_lvs.mag +++ b/mag/BGR_lvs.mag
@@ -1,12 +1,7 @@ magic tech sky130A magscale 1 2 -timestamp 1666262531 -<< error_s >> -rect -2243 -2874 -2230 -2626 -rect -1995 -3088 -1982 -2874 -rect -4470 -3810 7062 -3806 -rect -4470 -5140 7062 -5048 +timestamp 1666387681 << nwell >> rect -8726 10225 -8100 11452 << locali >> @@ -765,11 +760,11 @@ transform 0 1 -13057 -1 0 -5305 box -1417 -1173 5029 21223 use XM_bjt XM_bjt_0 -timestamp 1666262531 +timestamp 1666387681 transform 1 0 -1950 0 1 -2620 box 0 0 6492 9068 use XM_bjt_out XM_bjt_out_0 -timestamp 1666262531 +timestamp 1666387681 transform 1 0 -2070 0 1 6780 box 0 0 6492 3916 use XM_current_gate_with_dummy XM_current_gate_with_dummy_0
diff --git a/mag/VGA_routing.mag b/mag/VGA_routing.mag index b09d9ff..c34753c 100644 --- a/mag/VGA_routing.mag +++ b/mag/VGA_routing.mag
@@ -1,7 +1,7 @@ magic tech sky130A magscale 1 2 -timestamp 1666262589 +timestamp 1666563971 << metal1 >> rect 491912 626638 491922 626694 rect 491978 626638 491988 626694 @@ -623,13 +623,13 @@ << comment >> rect 584000 323622 584100 350000 use top top_0 -timestamp 1662990520 +timestamp 1666563971 transform 1 0 443353 0 1 404933 -box -2734 -60442 26330 14173 +box -2734 -60442 26330 14093 use top top_1 -timestamp 1662990520 +timestamp 1666563971 transform 1 0 491794 0 1 619522 -box -2734 -60442 26330 14173 +box -2734 -60442 26330 14093 << properties >> string FIXED_BBOX 0 0 584000 704000 << end >>
diff --git a/mag/XM_bjt.mag b/mag/XM_bjt.mag index d3ae988..97d9828 100644 --- a/mag/XM_bjt.mag +++ b/mag/XM_bjt.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1666262531 +timestamp 1666387681 << locali >> rect 20 4410 3200 4440 rect 20 3960 3200 3990 @@ -56,7 +56,7 @@ rect 1550 2195 1700 2200 use sky130_fd_pr__rf_pnp_05v5_W3p40L3p40 sky130_fd_pr__rf_pnp_05v5_W3p40L3p40_0 $PDKPATH/libs.ref/sky130_fd_pr/mag array 0 4 644 0 6 644 -timestamp 1649208665 +timestamp 1666199351 transform 1 0 0 0 1 0 box 0 0 670 670 << end >>
diff --git a/mag/XM_bjt_out.mag b/mag/XM_bjt_out.mag index fe7eadb..532d0ca 100644 --- a/mag/XM_bjt_out.mag +++ b/mag/XM_bjt_out.mag
@@ -1,6 +1,6 @@ magic tech sky130A -timestamp 1666262531 +timestamp 1666387681 << locali >> rect 300 1600 3000 1650 rect 300 950 1410 1000 @@ -16,7 +16,7 @@ rect 1550 895 1700 900 use sky130_fd_pr__rf_pnp_05v5_W3p40L3p40 sky130_fd_pr__rf_pnp_05v5_W3p40L3p40_0 $PDKPATH/libs.ref/sky130_fd_pr/mag array 0 4 644 0 2 644 -timestamp 1649208665 +timestamp 1666199351 transform 1 0 0 0 1 0 box 0 0 670 670 << end >>
diff --git a/mag/cmfb1.mag b/mag/cmfb1.mag index ce02461..a7392ff 100644 --- a/mag/cmfb1.mag +++ b/mag/cmfb1.mag
@@ -1,7 +1,7 @@ magic tech sky130A magscale 1 2 -timestamp 1662938211 +timestamp 1666563879 << locali >> rect -6950 -6890 -6760 -6850 rect -6860 -6970 -6820 -6890 @@ -193,6 +193,7 @@ rect -4700 -7700 -4644 -7644 rect -3580 -7700 -3524 -7644 << metal3 >> +rect -8020 -2160 -2721 17840 rect -3900 -3026 -3750 -3020 rect -3900 -3090 -3880 -3026 rect -3816 -3090 -3750 -3026 @@ -217,17 +218,17 @@ << metal4 >> rect -5550 -2960 -4610 -2870 rect -4700 -5896 -4610 -2960 -rect -2930 -3020 -2830 -2960 -rect -3900 -3026 -2830 -3020 +rect -2848 -3020 -2748 -2960 +rect -3900 -3026 -2748 -3020 rect -3900 -3090 -3880 -3026 -rect -3816 -3090 -2830 -3026 -rect -3900 -3100 -2830 -3090 +rect -3816 -3090 -2748 -3026 +rect -3900 -3100 -2748 -3090 rect -4700 -5960 -4690 -5896 rect -4626 -5960 -4610 -5896 rect -4700 -5970 -4610 -5960 use sky130_fd_pr__cap_mim_m3_1_L4YDVW XC4 timestamp 1662478139 -transform 1 0 -5450 0 1 7640 +transform 1 0 -5370 0 1 7640 box -2650 -10600 2649 10600 use sky130_fd_pr__nfet_01v8_lvt_EA9ZG2 XM54 timestamp 1662478139 @@ -278,11 +279,11 @@ port 1 s rlabel metal1 -7320 -6770 -7320 -6770 7 vref port 2 w -rlabel metal4 -2830 -3070 -2830 -3070 1 vc -port 3 n rlabel metal1 -7510 -7320 -7510 -7320 7 vbcm port 4 w rlabel metal1 -6394 -3420 -6394 -3420 7 vinp port 0 w rlabel metal1 -7010 -5440 -7010 -5440 7 vcm +rlabel metal4 -2748 -3070 -2748 -3070 1 vc +port 3 n << end >>
diff --git a/mag/cmfb1_bu.mag b/mag/cmfb1_bu.mag new file mode 100644 index 0000000..ce02461 --- /dev/null +++ b/mag/cmfb1_bu.mag
@@ -0,0 +1,288 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1662938211 +<< locali >> +rect -6950 -6890 -6760 -6850 +rect -6860 -6970 -6820 -6890 +<< viali >> +rect -7150 -5750 -7094 -5694 +rect -6650 -5750 -6594 -5694 +rect -4430 -5720 -4374 -5664 +rect -6870 -7700 -6814 -7644 +rect -5420 -7700 -5364 -7644 +rect -4700 -7700 -4644 -7644 +rect -3580 -7700 -3524 -7644 +<< metal1 >> +rect -3890 -3090 -3880 -3026 +rect -3816 -3090 -3806 -3026 +rect -6394 -3549 -6161 -3140 +rect -6160 -5430 -5020 -5110 +rect -7010 -5460 -5020 -5430 +rect -7162 -5694 -7082 -5688 +rect -6662 -5694 -6582 -5688 +rect -7162 -5750 -7150 -5694 +rect -7094 -5750 -7082 -5694 +rect -6910 -5750 -6900 -5694 +rect -6844 -5750 -6834 -5694 +rect -6662 -5750 -6650 -5694 +rect -6594 -5750 -6582 -5694 +rect -7162 -5756 -7082 -5750 +rect -6890 -5890 -6850 -5750 +rect -6662 -5756 -6582 -5750 +rect -7010 -5930 -6700 -5890 +rect -7220 -6090 -7200 -6060 +rect -7220 -6130 -7190 -6090 +rect -7220 -6180 -6570 -6130 +rect -7220 -6520 -7190 -6180 +rect -7150 -6490 -7070 -6440 +rect -6620 -6490 -6550 -6440 +rect -7220 -6600 -7200 -6520 +rect -6520 -6580 -6490 -6020 +rect -6438 -6340 -6428 -6288 +rect -7060 -6640 -6640 -6600 +rect -7320 -6800 -7100 -6750 +rect -6890 -7040 -6850 -6640 +rect -6620 -6766 -6550 -6750 +rect -6370 -6766 -6340 -5460 +rect -6160 -5610 -5020 -5460 +rect -4350 -5658 -4300 -3380 +rect -4442 -5664 -4320 -5658 +rect -4442 -5720 -4430 -5664 +rect -4374 -5710 -4320 -5664 +rect -4268 -5710 -4258 -5658 +rect -4374 -5720 -4300 -5710 +rect -4442 -5726 -4300 -5720 +rect -4700 -5960 -4690 -5896 +rect -4626 -5960 -4616 -5896 +rect -6620 -6796 -6340 -6766 +rect -6620 -6800 -6550 -6796 +rect -7040 -7080 -6690 -7040 +rect -7090 -7300 -7080 -7288 +rect -7510 -7340 -7080 -7300 +rect -7028 -7300 -7018 -7288 +rect -6900 -7300 -6890 -7130 +rect -6830 -7300 -6800 -7130 +rect -6670 -7300 -6660 -7288 +rect -7028 -7340 -6660 -7300 +rect -6608 -7300 -6598 -7288 +rect -6608 -7340 -6500 -7300 +rect -6900 -7520 -6890 -7340 +rect -6830 -7520 -6800 -7340 +rect -7100 -7660 -7060 -7570 +rect -6882 -7644 -6802 -7638 +rect -6882 -7660 -6870 -7644 +rect -7200 -7700 -6870 -7660 +rect -6814 -7660 -6802 -7644 +rect -6670 -7660 -6630 -7560 +rect -6814 -7700 -6510 -7660 +rect -6882 -7706 -6802 -7700 +rect -6140 -7760 -5820 -7150 +rect -4700 -7240 -4690 -7188 +rect -4638 -7240 -4628 -7188 +rect -4350 -7510 -4300 -5726 +rect -4680 -7590 -4240 -7550 +rect -4230 -7560 -4190 -3330 +rect -4120 -3580 -4070 -3380 +rect -3880 -3580 -3810 -3090 +rect -4120 -3630 -3810 -3580 +rect -4120 -3970 -4070 -3630 +rect -3880 -3970 -3810 -3630 +rect -4120 -4020 -3800 -3970 +rect -4120 -5670 -4070 -4020 +rect -3880 -5670 -3810 -4020 +rect -4120 -5720 -3800 -5670 +rect -4120 -6570 -4070 -5720 +rect -3880 -6570 -3810 -5720 +rect -4120 -6620 -3800 -6570 +rect -4120 -7410 -4070 -6620 +rect -3880 -7410 -3810 -6620 +rect -3610 -7280 -3560 -3500 +rect -3620 -7298 -3520 -7280 +rect -3620 -7350 -3610 -7298 +rect -3558 -7300 -3520 -7298 +rect -3558 -7350 -3548 -7300 +rect -4120 -7460 -3800 -7410 +rect -4120 -7510 -4070 -7460 +rect -3880 -7540 -3810 -7460 +rect -3610 -7550 -3560 -7350 +rect -3314 -7544 -3244 -3550 +rect -3314 -7600 -3300 -7544 +rect -3244 -7600 -3234 -7544 +rect -5432 -7644 -5352 -7638 +rect -5432 -7700 -5420 -7644 +rect -5364 -7700 -5352 -7644 +rect -5432 -7706 -5352 -7700 +rect -4712 -7644 -4632 -7638 +rect -4712 -7700 -4700 -7644 +rect -4644 -7700 -4632 -7644 +rect -4712 -7706 -4632 -7700 +rect -3592 -7644 -3512 -7638 +rect -3592 -7700 -3580 -7644 +rect -3524 -7700 -3512 -7644 +rect -3592 -7706 -3512 -7700 +<< via1 >> +rect -3880 -3090 -3816 -3026 +rect -7150 -5750 -7094 -5694 +rect -6900 -5750 -6844 -5694 +rect -6650 -5750 -6594 -5694 +rect -6490 -6340 -6438 -6288 +rect -4430 -5720 -4374 -5664 +rect -4320 -5710 -4268 -5658 +rect -4690 -5960 -4626 -5896 +rect -7080 -7340 -7028 -7288 +rect -6660 -7340 -6608 -7288 +rect -6870 -7700 -6814 -7644 +rect -4690 -7240 -4638 -7188 +rect -3610 -7350 -3558 -7298 +rect -3300 -7600 -3244 -7544 +rect -5420 -7700 -5364 -7644 +rect -4700 -7700 -4644 -7644 +rect -3580 -7700 -3524 -7644 +<< metal2 >> +rect -3880 -3026 -3816 -3016 +rect -3880 -3100 -3816 -3090 +rect -4320 -5650 -4268 -5648 +rect -7320 -5658 -3970 -5650 +rect -7320 -5664 -4320 -5658 +rect -7320 -5694 -4430 -5664 +rect -7320 -5750 -7150 -5694 +rect -7094 -5750 -6900 -5694 +rect -6844 -5750 -6650 -5694 +rect -6594 -5720 -4430 -5694 +rect -4374 -5710 -4320 -5664 +rect -4268 -5710 -3970 -5658 +rect -4374 -5720 -3970 -5710 +rect -6594 -5750 -3970 -5720 +rect -7320 -5770 -3970 -5750 +rect -4690 -5896 -4626 -5886 +rect -4690 -5970 -4626 -5960 +rect -6490 -6288 -6438 -6278 +rect -6438 -6340 -4820 -6290 +rect -6490 -6350 -6438 -6340 +rect -4870 -7190 -4820 -6340 +rect -4690 -7188 -4638 -7178 +rect -4870 -7240 -4690 -7190 +rect -4690 -7250 -4638 -7240 +rect -7080 -7288 -7028 -7278 +rect -7100 -7340 -7080 -7300 +rect -6660 -7288 -6608 -7278 +rect -7028 -7340 -6660 -7300 +rect -3610 -7298 -3558 -7288 +rect -6608 -7340 -3610 -7300 +rect -7080 -7350 -7028 -7340 +rect -6660 -7350 -6608 -7340 +rect -3558 -7340 -3550 -7300 +rect -3610 -7360 -3558 -7350 +rect -3300 -7544 -3244 -7534 +rect -3300 -7610 -3244 -7600 +rect -6870 -7644 -6814 -7634 +rect -6870 -7710 -6814 -7700 +rect -5420 -7644 -5364 -7634 +rect -5420 -7710 -5364 -7700 +rect -4700 -7644 -4644 -7634 +rect -4700 -7710 -4644 -7700 +rect -3580 -7644 -3524 -7634 +rect -3580 -7710 -3524 -7700 +<< via2 >> +rect -3880 -3090 -3816 -3026 +rect -4690 -5960 -4626 -5896 +rect -3300 -7600 -3244 -7544 +rect -6870 -7700 -6814 -7644 +rect -5420 -7700 -5364 -7644 +rect -4700 -7700 -4644 -7644 +rect -3580 -7700 -3524 -7644 +<< metal3 >> +rect -3900 -3026 -3750 -3020 +rect -3900 -3090 -3880 -3026 +rect -3816 -3090 -3750 -3026 +rect -3900 -3100 -3750 -3090 +rect -4700 -5896 -4610 -5830 +rect -4700 -5960 -4690 -5896 +rect -4626 -5960 -4610 -5896 +rect -4700 -5970 -4610 -5960 +rect -3310 -7544 -3234 -7539 +rect -3310 -7600 -3300 -7544 +rect -3244 -7600 -3234 -7544 +rect -7340 -7644 -3170 -7600 +rect -7340 -7700 -6870 -7644 +rect -6814 -7700 -5420 -7644 +rect -5364 -7700 -4700 -7644 +rect -4644 -7700 -3580 -7644 +rect -3524 -7700 -3170 -7644 +rect -7340 -7740 -3170 -7700 +<< via3 >> +rect -3880 -3090 -3816 -3026 +rect -4690 -5960 -4626 -5896 +<< metal4 >> +rect -5550 -2960 -4610 -2870 +rect -4700 -5896 -4610 -2960 +rect -2930 -3020 -2830 -2960 +rect -3900 -3026 -2830 -3020 +rect -3900 -3090 -3880 -3026 +rect -3816 -3090 -2830 -3026 +rect -3900 -3100 -2830 -3090 +rect -4700 -5960 -4690 -5896 +rect -4626 -5960 -4610 -5896 +rect -4700 -5970 -4610 -5960 +use sky130_fd_pr__cap_mim_m3_1_L4YDVW XC4 +timestamp 1662478139 +transform 1 0 -5450 0 1 7640 +box -2650 -10600 2649 10600 +use sky130_fd_pr__nfet_01v8_lvt_EA9ZG2 XM54 +timestamp 1662478139 +transform 1 0 -7131 0 1 -6620 +box -221 -310 221 310 +use sky130_fd_pr__nfet_01v8_lvt_EA9ZG2 XM55 +timestamp 1662478139 +transform 1 0 -6579 0 1 -6620 +box -221 -310 221 310 +use sky130_fd_pr__nfet_01v8_lvt_BSMWRE XM56 +timestamp 1662478139 +transform 0 1 -6853 -1 0 -7326 +box -396 -519 396 519 +use sky130_fd_pr__nfet_01v8_lvt_F8HAAN XM57 +timestamp 1662478139 +transform 1 0 -3566 0 1 -5531 +box -396 -2191 396 2191 +use sky130_fd_pr__pfet_01v8_lvt_X3YSY6 XM58 +timestamp 1662478139 +transform 1 0 -6612 0 1 -5991 +box -246 -319 246 319 +use sky130_fd_pr__pfet_01v8_lvt_X3YSY6 XM59 +timestamp 1662478139 +transform 1 0 -7104 0 1 -5991 +box -246 -319 246 319 +use sky130_fd_pr__pfet_01v8_lvt_ER7KZU XM60 +timestamp 1662478139 +transform 1 0 -4208 0 1 -5441 +box -246 -2281 246 2281 +use sky130_fd_pr__res_high_po_0p35_ZMQPMJ XR34 +timestamp 1662478139 +transform 1 0 -4655 0 1 -6724 +box -201 -998 201 998 +use sky130_fd_pr__res_xhigh_po_5p73_Q3K92U XR35 +timestamp 1662478139 +transform 1 0 -5595 0 1 -6532 +box -739 -1190 739 1190 +use sky130_fd_pr__res_xhigh_po_5p73_Q3K92U XR37 +timestamp 1662478139 +transform 1 0 -5595 0 1 -4152 +box -739 -1190 739 1190 +<< labels >> +rlabel metal2 -7300 -5650 -7300 -5650 1 vdd +port 6 n +rlabel metal3 -7188 -7740 -7188 -7740 5 vss +port 5 s +rlabel metal1 -6020 -7760 -6020 -7760 5 vinn +port 1 s +rlabel metal1 -7320 -6770 -7320 -6770 7 vref +port 2 w +rlabel metal4 -2830 -3070 -2830 -3070 1 vc +port 3 n +rlabel metal1 -7510 -7320 -7510 -7320 7 vbcm +port 4 w +rlabel metal1 -6394 -3420 -6394 -3420 7 vinp +port 0 w +rlabel metal1 -7010 -5440 -7010 -5440 7 vcm +<< end >>
diff --git a/mag/cmfb2.mag b/mag/cmfb2.mag new file mode 100644 index 0000000..2da11ff --- /dev/null +++ b/mag/cmfb2.mag
@@ -0,0 +1,289 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1666563939 +<< locali >> +rect -6950 -6890 -6760 -6850 +rect -6860 -6970 -6820 -6890 +<< viali >> +rect -7150 -5750 -7094 -5694 +rect -6650 -5750 -6594 -5694 +rect -4430 -5720 -4374 -5664 +rect -6870 -7700 -6814 -7644 +rect -5420 -7700 -5364 -7644 +rect -4700 -7700 -4644 -7644 +rect -3580 -7700 -3524 -7644 +<< metal1 >> +rect -3890 -3090 -3880 -3026 +rect -3816 -3090 -3806 -3026 +rect -6394 -3549 -6161 -3140 +rect -6160 -5430 -5020 -5110 +rect -7010 -5460 -5020 -5430 +rect -7162 -5694 -7082 -5688 +rect -6662 -5694 -6582 -5688 +rect -7162 -5750 -7150 -5694 +rect -7094 -5750 -7082 -5694 +rect -6910 -5750 -6900 -5694 +rect -6844 -5750 -6834 -5694 +rect -6662 -5750 -6650 -5694 +rect -6594 -5750 -6582 -5694 +rect -7162 -5756 -7082 -5750 +rect -6890 -5890 -6850 -5750 +rect -6662 -5756 -6582 -5750 +rect -7010 -5930 -6700 -5890 +rect -7220 -6090 -7200 -6060 +rect -7220 -6130 -7190 -6090 +rect -7220 -6180 -6570 -6130 +rect -7220 -6520 -7190 -6180 +rect -7150 -6490 -7070 -6440 +rect -6620 -6490 -6550 -6440 +rect -7220 -6600 -7200 -6520 +rect -6520 -6580 -6490 -6020 +rect -6438 -6340 -6428 -6288 +rect -7060 -6640 -6640 -6600 +rect -7320 -6800 -7100 -6750 +rect -6890 -7040 -6850 -6640 +rect -6620 -6766 -6550 -6750 +rect -6370 -6766 -6340 -5460 +rect -6160 -5610 -5020 -5460 +rect -4350 -5658 -4300 -3380 +rect -4442 -5664 -4320 -5658 +rect -4442 -5720 -4430 -5664 +rect -4374 -5710 -4320 -5664 +rect -4268 -5710 -4258 -5658 +rect -4374 -5720 -4300 -5710 +rect -4442 -5726 -4300 -5720 +rect -4700 -5960 -4690 -5896 +rect -4626 -5960 -4616 -5896 +rect -6620 -6796 -6340 -6766 +rect -6620 -6800 -6550 -6796 +rect -7040 -7080 -6690 -7040 +rect -7090 -7300 -7080 -7288 +rect -7510 -7340 -7080 -7300 +rect -7028 -7300 -7018 -7288 +rect -6900 -7300 -6890 -7130 +rect -6830 -7300 -6800 -7130 +rect -6670 -7300 -6660 -7288 +rect -7028 -7340 -6660 -7300 +rect -6608 -7300 -6598 -7288 +rect -6608 -7340 -6500 -7300 +rect -6900 -7520 -6890 -7340 +rect -6830 -7520 -6800 -7340 +rect -7100 -7660 -7060 -7570 +rect -6882 -7644 -6802 -7638 +rect -6882 -7660 -6870 -7644 +rect -7200 -7700 -6870 -7660 +rect -6814 -7660 -6802 -7644 +rect -6670 -7660 -6630 -7560 +rect -6814 -7700 -6510 -7660 +rect -6882 -7706 -6802 -7700 +rect -6140 -7760 -5820 -7150 +rect -4700 -7240 -4690 -7188 +rect -4638 -7240 -4628 -7188 +rect -4350 -7510 -4300 -5726 +rect -4680 -7590 -4240 -7550 +rect -4230 -7560 -4190 -3330 +rect -4120 -3580 -4070 -3380 +rect -3880 -3580 -3810 -3090 +rect -4120 -3630 -3810 -3580 +rect -4120 -3970 -4070 -3630 +rect -3880 -3970 -3810 -3630 +rect -4120 -4020 -3800 -3970 +rect -4120 -5670 -4070 -4020 +rect -3880 -5670 -3810 -4020 +rect -4120 -5720 -3800 -5670 +rect -4120 -6570 -4070 -5720 +rect -3880 -6570 -3810 -5720 +rect -4120 -6620 -3800 -6570 +rect -4120 -7410 -4070 -6620 +rect -3880 -7410 -3810 -6620 +rect -3610 -7280 -3560 -3500 +rect -3620 -7298 -3520 -7280 +rect -3620 -7350 -3610 -7298 +rect -3558 -7300 -3520 -7298 +rect -3558 -7350 -3548 -7300 +rect -4120 -7460 -3800 -7410 +rect -4120 -7510 -4070 -7460 +rect -3880 -7540 -3810 -7460 +rect -3610 -7550 -3560 -7350 +rect -3314 -7544 -3244 -3550 +rect -3314 -7600 -3300 -7544 +rect -3244 -7600 -3234 -7544 +rect -5432 -7644 -5352 -7638 +rect -5432 -7700 -5420 -7644 +rect -5364 -7700 -5352 -7644 +rect -5432 -7706 -5352 -7700 +rect -4712 -7644 -4632 -7638 +rect -4712 -7700 -4700 -7644 +rect -4644 -7700 -4632 -7644 +rect -4712 -7706 -4632 -7700 +rect -3592 -7644 -3512 -7638 +rect -3592 -7700 -3580 -7644 +rect -3524 -7700 -3512 -7644 +rect -3592 -7706 -3512 -7700 +<< via1 >> +rect -3880 -3090 -3816 -3026 +rect -7150 -5750 -7094 -5694 +rect -6900 -5750 -6844 -5694 +rect -6650 -5750 -6594 -5694 +rect -6490 -6340 -6438 -6288 +rect -4430 -5720 -4374 -5664 +rect -4320 -5710 -4268 -5658 +rect -4690 -5960 -4626 -5896 +rect -7080 -7340 -7028 -7288 +rect -6660 -7340 -6608 -7288 +rect -6870 -7700 -6814 -7644 +rect -4690 -7240 -4638 -7188 +rect -3610 -7350 -3558 -7298 +rect -3300 -7600 -3244 -7544 +rect -5420 -7700 -5364 -7644 +rect -4700 -7700 -4644 -7644 +rect -3580 -7700 -3524 -7644 +<< metal2 >> +rect -3880 -3026 -3816 -3016 +rect -3880 -3100 -3816 -3090 +rect -4320 -5650 -4268 -5648 +rect -7320 -5658 -3970 -5650 +rect -7320 -5664 -4320 -5658 +rect -7320 -5694 -4430 -5664 +rect -7320 -5750 -7150 -5694 +rect -7094 -5750 -6900 -5694 +rect -6844 -5750 -6650 -5694 +rect -6594 -5720 -4430 -5694 +rect -4374 -5710 -4320 -5664 +rect -4268 -5710 -3970 -5658 +rect -4374 -5720 -3970 -5710 +rect -6594 -5750 -3970 -5720 +rect -7320 -5770 -3970 -5750 +rect -4690 -5896 -4626 -5886 +rect -4690 -5970 -4626 -5960 +rect -6490 -6288 -6438 -6278 +rect -6438 -6340 -4820 -6290 +rect -6490 -6350 -6438 -6340 +rect -4870 -7190 -4820 -6340 +rect -4690 -7188 -4638 -7178 +rect -4870 -7240 -4690 -7190 +rect -4690 -7250 -4638 -7240 +rect -7080 -7288 -7028 -7278 +rect -7100 -7340 -7080 -7300 +rect -6660 -7288 -6608 -7278 +rect -7028 -7340 -6660 -7300 +rect -3610 -7298 -3558 -7288 +rect -6608 -7340 -3610 -7300 +rect -7080 -7350 -7028 -7340 +rect -6660 -7350 -6608 -7340 +rect -3558 -7340 -3550 -7300 +rect -3610 -7360 -3558 -7350 +rect -3300 -7544 -3244 -7534 +rect -3300 -7610 -3244 -7600 +rect -6870 -7644 -6814 -7634 +rect -6870 -7710 -6814 -7700 +rect -5420 -7644 -5364 -7634 +rect -5420 -7710 -5364 -7700 +rect -4700 -7644 -4644 -7634 +rect -4700 -7710 -4644 -7700 +rect -3580 -7644 -3524 -7634 +rect -3580 -7710 -3524 -7700 +<< via2 >> +rect -3880 -3090 -3816 -3026 +rect -4690 -5960 -4626 -5896 +rect -3300 -7600 -3244 -7544 +rect -6870 -7700 -6814 -7644 +rect -5420 -7700 -5364 -7644 +rect -4700 -7700 -4644 -7644 +rect -3580 -7700 -3524 -7644 +<< metal3 >> +rect -8180 -2860 -2881 17140 +rect -3900 -3026 -3750 -3020 +rect -3900 -3090 -3880 -3026 +rect -3816 -3090 -3750 -3026 +rect -3900 -3100 -3750 -3090 +rect -4700 -5896 -4610 -5830 +rect -4700 -5960 -4690 -5896 +rect -4626 -5960 -4610 -5896 +rect -4700 -5970 -4610 -5960 +rect -3310 -7544 -3234 -7539 +rect -3310 -7600 -3300 -7544 +rect -3244 -7600 -3234 -7544 +rect -7340 -7644 -3170 -7600 +rect -7340 -7700 -6870 -7644 +rect -6814 -7700 -5420 -7644 +rect -5364 -7700 -4700 -7644 +rect -4644 -7700 -3580 -7644 +rect -3524 -7700 -3170 -7644 +rect -7340 -7740 -3170 -7700 +<< via3 >> +rect -3880 -3090 -3816 -3026 +rect -4690 -5960 -4626 -5896 +<< metal4 >> +rect -5550 -2960 -4610 -2870 +rect -4700 -5896 -4610 -2960 +rect -3008 -3020 -2908 -2960 +rect -3900 -3026 -2908 -3020 +rect -3900 -3090 -3880 -3026 +rect -3816 -3090 -2908 -3026 +rect -3900 -3100 -2908 -3090 +rect -4700 -5960 -4690 -5896 +rect -4626 -5960 -4610 -5896 +rect -4700 -5970 -4610 -5960 +use sky130_fd_pr__cap_mim_m3_1_L4YDVW XC4 +timestamp 1662478139 +transform 1 0 -5530 0 1 7640 +box -2650 -10600 2649 10600 +use sky130_fd_pr__nfet_01v8_lvt_EA9ZG2 XM54 +timestamp 1662478139 +transform 1 0 -7131 0 1 -6620 +box -221 -310 221 310 +use sky130_fd_pr__nfet_01v8_lvt_EA9ZG2 XM55 +timestamp 1662478139 +transform 1 0 -6579 0 1 -6620 +box -221 -310 221 310 +use sky130_fd_pr__nfet_01v8_lvt_BSMWRE XM56 +timestamp 1662478139 +transform 0 1 -6853 -1 0 -7326 +box -396 -519 396 519 +use sky130_fd_pr__nfet_01v8_lvt_F8HAAN XM57 +timestamp 1662478139 +transform 1 0 -3566 0 1 -5531 +box -396 -2191 396 2191 +use sky130_fd_pr__pfet_01v8_lvt_X3YSY6 XM58 +timestamp 1662478139 +transform 1 0 -6612 0 1 -5991 +box -246 -319 246 319 +use sky130_fd_pr__pfet_01v8_lvt_X3YSY6 XM59 +timestamp 1662478139 +transform 1 0 -7104 0 1 -5991 +box -246 -319 246 319 +use sky130_fd_pr__pfet_01v8_lvt_ER7KZU XM60 +timestamp 1662478139 +transform 1 0 -4208 0 1 -5441 +box -246 -2281 246 2281 +use sky130_fd_pr__res_high_po_0p35_ZMQPMJ XR34 +timestamp 1662478139 +transform 1 0 -4655 0 1 -6724 +box -201 -998 201 998 +use sky130_fd_pr__res_xhigh_po_5p73_Q3K92U XR35 +timestamp 1662478139 +transform 1 0 -5595 0 1 -6532 +box -739 -1190 739 1190 +use sky130_fd_pr__res_xhigh_po_5p73_Q3K92U XR37 +timestamp 1662478139 +transform 1 0 -5595 0 1 -4152 +box -739 -1190 739 1190 +<< labels >> +rlabel metal2 -7300 -5650 -7300 -5650 1 vdd +port 6 n +rlabel metal3 -7188 -7740 -7188 -7740 5 vss +port 5 s +rlabel metal1 -6020 -7760 -6020 -7760 5 vinn +port 1 s +rlabel metal1 -7320 -6770 -7320 -6770 7 vref +port 2 w +rlabel metal1 -7510 -7320 -7510 -7320 7 vbcm +port 4 w +rlabel metal1 -6394 -3420 -6394 -3420 7 vinp +port 0 w +rlabel metal1 -7010 -5440 -7010 -5440 7 vcm +rlabel metal4 -2908 -3070 -2908 -3070 1 vc +port 3 n +<< end >>
diff --git a/mag/stage0.mag b/mag/stage0.mag index 1937e8d..838b848 100644 --- a/mag/stage0.mag +++ b/mag/stage0.mag
@@ -1,7 +1,7 @@ magic tech sky130A magscale 1 2 -timestamp 1662974608 +timestamp 1666563971 << locali >> rect 913 8246 947 8282 rect 894 8212 947 8246 @@ -114,13 +114,13 @@ rect 1370 -810 1371 -700 rect 1259 -811 1371 -810 use cmfb1 cmfb1_0 -timestamp 1662938211 +timestamp 1666563879 transform 0 1 8026 -1 0 697 -box -8100 -7760 -2801 18240 -use cmfb1 cmfb1_1 -timestamp 1662938211 +box -8020 -7760 -2721 18240 +use cmfb2 cmfb2_0 +timestamp 1666563939 transform 0 1 8070 -1 0 -8125 -box -8100 -7760 -2801 18240 +box -8180 -7760 -2881 18240 use cons1 cons1_0 timestamp 1662961975 transform 1 0 -46324 0 1 8198
diff --git a/mag/stage0_bu.mag b/mag/stage0_bu.mag new file mode 100644 index 0000000..b021ba3 --- /dev/null +++ b/mag/stage0_bu.mag
@@ -0,0 +1,145 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1666387681 +<< locali >> +rect 913 8246 947 8282 +rect 894 8212 947 8246 +<< metal1 >> +rect 321 8355 331 8411 +rect 387 8406 397 8411 +rect 387 8366 459 8406 +rect 387 8355 397 8366 +rect 950 8284 999 8650 +rect 1220 8010 1230 8074 +rect 1294 8010 1304 8074 +rect 230 3470 270 6820 +rect 4880 5730 20600 5770 +rect 230 3430 1500 3470 +rect 1460 3040 1500 3430 +rect 4750 3410 4780 4510 +rect 3450 3380 4780 3410 +rect 3450 2820 3480 3380 +rect 3450 2790 3570 2820 +rect 20560 2300 20600 5730 +rect 110 1710 4150 1740 +rect 110 1650 4060 1680 +rect 4030 1100 4060 1650 +rect 4120 1510 4150 1710 +rect 5550 1510 5580 1520 +rect 4120 1480 5580 1510 +rect 11750 1100 11780 1250 +rect 4030 1070 11780 1100 +rect 3510 628 3570 658 +rect 1460 60 1500 422 +rect 280 20 1500 60 +rect 280 -2310 320 20 +rect 1250 -810 1260 -700 +rect 1370 -810 1380 -700 +rect 3510 -3630 3540 628 +rect 21490 -1740 21520 1180 +rect 4930 -1770 21520 -1740 +rect 3510 -3660 4870 -3630 +rect 4840 -4250 4870 -3660 +<< via1 >> +rect 331 8355 387 8411 +rect 1230 8010 1294 8074 +rect 1260 -810 1370 -700 +<< metal2 >> +rect 331 8411 387 8421 +rect 331 8345 387 8355 +rect 1230 8074 1294 8084 +rect 1230 8000 1294 8010 +rect 710 4314 774 4324 +rect 710 4240 774 4250 +rect 2256 3416 2376 4718 +rect 720 -556 784 -546 +rect 720 -630 784 -620 +rect 730 -1030 770 -630 +rect 1260 -700 1370 -690 +rect 2300 -810 2420 10 +rect 1260 -820 1370 -810 +<< via2 >> +rect 331 8355 387 8411 +rect 1230 8010 1294 8074 +rect 710 4250 774 4314 +rect 720 -620 784 -556 +rect 1260 -810 1370 -700 +<< metal3 >> +rect 286 8411 425 8709 +rect 286 8355 331 8411 +rect 387 8355 425 8411 +rect 286 8037 425 8355 +rect 1220 8074 1330 8110 +rect 1220 8010 1230 8074 +rect 1294 8010 1330 8074 +rect 1220 8000 1330 8010 +rect 690 4314 800 4330 +rect 286 2994 426 4259 +rect 690 4250 710 4314 +rect 774 4250 800 4314 +rect 690 4240 800 4250 +rect 330 -812 470 453 +rect 710 -556 800 -530 +rect 710 -620 720 -556 +rect 784 -620 800 -556 +rect 710 -660 800 -620 +rect 1250 -700 1380 -695 +rect 1250 -810 1260 -700 +rect 1370 -810 1380 -700 +rect 1250 -815 1380 -810 +<< via3 >> +rect 1230 8010 1294 8074 +rect 710 4250 774 4314 +rect 720 -620 784 -556 +rect 1260 -810 1370 -700 +<< metal4 >> +rect 1260 8075 1330 8110 +rect 1229 8074 1330 8075 +rect 1229 8010 1230 8074 +rect 1294 8010 1330 8074 +rect 1229 8009 1330 8010 +rect 709 4314 775 4315 +rect 709 4250 710 4314 +rect 774 4260 775 4314 +rect 774 4250 790 4260 +rect 709 4249 790 4250 +rect 710 -556 790 4249 +rect 710 -620 720 -556 +rect 784 -620 790 -556 +rect 710 -630 790 -620 +rect 1260 -699 1330 8009 +rect 1259 -700 1371 -699 +rect 1259 -810 1260 -700 +rect 1370 -810 1371 -700 +rect 1259 -811 1371 -810 +use cmfb1 cmfb1_0 +timestamp 1666387381 +transform 0 1 8026 -1 0 697 +box -8100 -7760 -2801 18240 +use cmfb1 cmfb1_1 +timestamp 1666387381 +transform 0 1 8070 -1 0 -8125 +box -8100 -7760 -2801 18240 +use cons1 cons1_0 +timestamp 1662961975 +transform 1 0 -46324 0 1 8198 +box 46324 -8198 69992 -4736 +use sky130_fd_pr__nfet_01v8_lvt_L3LEKD sky130_fd_pr__nfet_01v8_lvt_L3LEKD_0 +timestamp 1662961975 +transform 1 0 701 0 1 8384 +box -396 -310 396 310 +<< labels >> +rlabel space 416 0 23486 390 0 vdd +rlabel space 330 -1255 470 688 0 vss +rlabel metal1 230 3430 270 6820 0 vout2p +rlabel metal1 20560 2890 20600 5770 0 vout2n +rlabel metal1 280 -2310 320 60 0 vd21 +rlabel metal1 21490 -1770 21520 570 0 vd22 +rlabel space 686 7777 726 8207 0 vbias2 +rlabel metal1 3450 2790 3480 3410 0 vo22 +rlabel metal1 3510 -3660 3540 658 0 vo21 +rlabel metal1 110 1710 4150 1740 0 vout1p +rlabel metal3 1220 8074 1330 8110 0 vref +rlabel metal1 110 1650 4060 1680 0 vout1n +<< end >>
diff --git a/mag/stage1.mag b/mag/stage1.mag index 26b99db..530fac6 100644 --- a/mag/stage1.mag +++ b/mag/stage1.mag
@@ -1,7 +1,7 @@ magic tech sky130A magscale 1 2 -timestamp 1662978535 +timestamp 1666563971 << metal1 >> rect 1220 8010 1230 8074 rect 1294 8010 1304 8074 @@ -98,13 +98,13 @@ rect 1370 -810 1371 -700 rect 1259 -811 1371 -810 use cmfb1 cmfb1_0 -timestamp 1662938211 +timestamp 1666563879 transform 0 1 8026 -1 0 697 -box -8100 -7760 -2801 18240 -use cmfb1 cmfb1_1 -timestamp 1662938211 +box -8020 -7760 -2721 18240 +use cmfb2 cmfb2_0 +timestamp 1666563939 transform 0 1 8070 -1 0 -8125 -box -8100 -7760 -2801 18240 +box -8180 -7760 -2881 18240 use cons_cw cons_cw_0 timestamp 1662976792 transform 1 0 -46324 0 1 8198
diff --git a/mag/stage1_bu.mag b/mag/stage1_bu.mag new file mode 100644 index 0000000..981af63 --- /dev/null +++ b/mag/stage1_bu.mag
@@ -0,0 +1,126 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1666387681 +<< metal1 >> +rect 1220 8010 1230 8074 +rect 1294 8010 1304 8074 +rect 230 3470 270 6820 +rect 4880 5730 20600 5770 +rect 230 3430 1500 3470 +rect 1460 3040 1500 3430 +rect 4750 3410 4780 4510 +rect 3450 3380 4780 3410 +rect 3450 2820 3480 3380 +rect 3450 2790 3570 2820 +rect 20560 2300 20600 5730 +rect 110 1770 4650 1800 +rect 110 1710 4150 1740 +rect 4120 1510 4150 1710 +rect 19936 1700 23570 1738 +rect 19936 1592 19978 1700 +rect 17752 1558 19978 1592 +rect 5550 1510 5580 1520 +rect 4120 1480 5580 1510 +rect 3510 628 3570 658 +rect 1460 60 1500 422 +rect 280 20 1500 60 +rect 280 -2310 320 20 +rect 1250 -810 1260 -700 +rect 1370 -810 1380 -700 +rect 3510 -3630 3540 628 +rect 21490 -1740 21520 1180 +rect 4930 -1770 21520 -1740 +rect 3510 -3660 4870 -3630 +rect 4840 -4250 4870 -3660 +<< via1 >> +rect 1230 8010 1294 8074 +rect 1260 -810 1370 -700 +<< metal2 >> +rect 1230 8074 1294 8084 +rect 1230 8000 1294 8010 +rect 710 4314 774 4324 +rect 710 4240 774 4250 +rect 2256 3416 2376 4718 +rect 720 -556 784 -546 +rect 720 -630 784 -620 +rect 730 -1030 770 -630 +rect 1260 -700 1370 -690 +rect 2300 -810 2420 10 +rect 1260 -820 1370 -810 +<< via2 >> +rect 1230 8010 1294 8074 +rect 710 4250 774 4314 +rect 720 -620 784 -556 +rect 1260 -810 1370 -700 +<< metal3 >> +rect 1220 8074 1330 8110 +rect 1220 8010 1230 8074 +rect 1294 8010 1330 8074 +rect 1220 8000 1330 8010 +rect 690 4314 800 4330 +rect 286 2994 426 4259 +rect 690 4250 710 4314 +rect 774 4250 800 4314 +rect 690 4240 800 4250 +rect 330 -812 470 453 +rect 710 -556 800 -530 +rect 710 -620 720 -556 +rect 784 -620 800 -556 +rect 710 -660 800 -620 +rect 1250 -700 1380 -695 +rect 1250 -810 1260 -700 +rect 1370 -810 1380 -700 +rect 1250 -815 1380 -810 +<< via3 >> +rect 1230 8010 1294 8074 +rect 710 4250 774 4314 +rect 720 -620 784 -556 +rect 1260 -810 1370 -700 +<< metal4 >> +rect 1260 8075 1330 8110 +rect 1229 8074 1330 8075 +rect 1229 8010 1230 8074 +rect 1294 8010 1330 8074 +rect 1229 8009 1330 8010 +rect 709 4314 775 4315 +rect 709 4250 710 4314 +rect 774 4260 775 4314 +rect 774 4250 790 4260 +rect 709 4249 790 4250 +rect 710 -556 790 4249 +rect 710 -620 720 -556 +rect 784 -620 790 -556 +rect 710 -630 790 -620 +rect 1260 -699 1330 8009 +rect 1259 -700 1371 -699 +rect 1259 -810 1260 -700 +rect 1370 -810 1371 -700 +rect 1259 -811 1371 -810 +use cmfb1 cmfb1_0 +timestamp 1666387381 +transform 0 1 8026 -1 0 697 +box -8100 -7760 -2801 18240 +use cmfb1 cmfb1_1 +timestamp 1666387381 +transform 0 1 8070 -1 0 -8125 +box -8100 -7760 -2801 18240 +use cons_cw cons_cw_0 +timestamp 1662976792 +transform 1 0 -46324 0 1 8198 +box 46324 -8198 69992 -4736 +<< labels >> +rlabel space 416 0 23486 390 0 vdd +rlabel space 330 -1255 470 688 0 vss +rlabel metal1 230 3430 270 6820 0 vout2p +rlabel metal1 20560 2890 20600 5770 0 vout2n +rlabel metal1 280 -2310 320 60 0 vd21 +rlabel metal1 21490 -1770 21520 570 0 vd22 +rlabel space 686 7777 726 8207 0 vbias2 +rlabel metal1 3450 2790 3480 3410 0 vo22 +rlabel metal1 3510 -3660 3540 658 0 vo21 +rlabel metal1 110 1710 4150 1740 0 vout1p +rlabel metal3 1220 8074 1330 8110 0 vref +rlabel space 110 1770 4696 1800 0 vc +rlabel metal1 19936 1700 23570 1738 0 vout1n +<< end >>
diff --git a/mag/top.mag b/mag/top.mag index b7fdf7e..9e6a1df 100644 --- a/mag/top.mag +++ b/mag/top.mag
@@ -1,7 +1,7 @@ magic tech sky130A magscale 1 2 -timestamp 1662990520 +timestamp 1666563971 << locali >> rect 3988 -59524 4946 -59486 rect 5164 -59618 5202 -59504 @@ -740,25 +740,25 @@ transform 0 1 10827 -1 0 -59659 box -211 -5953 211 5953 use stage0 stage0_0 -timestamp 1662974608 +timestamp 1666563971 transform 1 0 18 0 1 5376 -box 0 -5324 26310 8797 +box 0 -5244 26310 8717 use stage1 stage1_0 -timestamp 1662978535 +timestamp 1666563971 transform 1 0 20 0 1 -8826 -box 0 -5324 26310 8797 +box 0 -5244 26310 8717 use stage1 stage1_1 -timestamp 1662978535 +timestamp 1666563971 transform 1 0 20 0 1 -23028 -box 0 -5324 26310 8797 +box 0 -5244 26310 8717 use stage1 stage1_2 -timestamp 1662978535 +timestamp 1666563971 transform 1 0 20 0 1 -37238 -box 0 -5324 26310 8797 +box 0 -5244 26310 8717 use stage1 stage1_3 -timestamp 1662978535 +timestamp 1666563971 transform 1 0 20 0 1 -51440 -box 0 -5324 26310 8797 +box 0 -5244 26310 8717 << labels >> rlabel space 2274 8444 2441 13391 0 vdd rlabel space 304 8136 490 14085 0 vss
diff --git a/mag/user_analog_project_wrapper.mag b/mag/user_analog_project_wrapper.mag index d97eb86..99ab2bf 100644 --- a/mag/user_analog_project_wrapper.mag +++ b/mag/user_analog_project_wrapper.mag
@@ -1,11 +1,10 @@ magic tech sky130A magscale 1 2 -timestamp 1666281907 +timestamp 1666563971 << error_s >> -rect 251987 565529 252000 565777 -rect 252235 565315 252248 565529 -rect 240166 564593 261830 564597 +rect 240166 564593 249640 564597 +rect 261292 564593 261830 564597 rect 240166 563203 262230 563355 rect 240166 561961 262230 562113 rect 240166 560719 262230 560871 @@ -1262,7 +1261,7 @@ rect 584000 0 584100 704000 rect -100 -100 584100 0 use BGR_lvs BGR_lvs_0 -timestamp 1666262531 +timestamp 1666387681 transform 1 0 254230 0 1 568403 box -14230 -10403 62405 12600 use TX_line TX_line_0 @@ -1278,7 +1277,7 @@ transform 0 1 115536 -1 0 464188 box 31141 20430 65400 41673 use VGA_routing VGA_routing_0 -timestamp 1666262589 +timestamp 1666563971 transform 1 0 280 0 1 -18 box 165400 323622 584100 706352 << labels >>
diff --git a/netgen/user_broken.spice b/netgen/user_broken.spice new file mode 100644 index 0000000..3ef1e2a --- /dev/null +++ b/netgen/user_broken.spice
@@ -0,0 +1,926 @@ +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/user_analog_project_wrapper.sch +.subckt user_analog_project_wrapper vdda1 vdda2 vssa1 vssa2 vccd1 vccd2 vssd1 vssd2 wb_clk_i ++ wb_rst_i wbs_stb_i wbs_cyc_i wbs_we_i wbs_sel_i<3> wbs_sel_i<2> wbs_sel_i<1> wbs_sel_i<0> wbs_dat_i<31> ++ wbs_dat_i<30> wbs_dat_i<29> wbs_dat_i<28> wbs_dat_i<27> wbs_dat_i<26> wbs_dat_i<25> wbs_dat_i<24> wbs_dat_i<23> ++ wbs_dat_i<22> wbs_dat_i<21> wbs_dat_i<20> wbs_dat_i<19> wbs_dat_i<18> wbs_dat_i<17> wbs_dat_i<16> wbs_dat_i<15> ++ wbs_dat_i<14> wbs_dat_i<13> wbs_dat_i<12> wbs_dat_i<11> wbs_dat_i<10> wbs_dat_i<9> wbs_dat_i<8> wbs_dat_i<7> ++ wbs_dat_i<6> wbs_dat_i<5> wbs_dat_i<4> wbs_dat_i<3> wbs_dat_i<2> wbs_dat_i<1> wbs_dat_i<0> wbs_adr_i<31> ++ wbs_adr_i<30> wbs_adr_i<29> wbs_adr_i<28> wbs_adr_i<27> wbs_adr_i<26> wbs_adr_i<25> wbs_adr_i<24> wbs_adr_i<23> ++ wbs_adr_i<22> wbs_adr_i<21> wbs_adr_i<20> wbs_adr_i<19> wbs_adr_i<18> wbs_adr_i<17> wbs_adr_i<16> wbs_adr_i<15> ++ wbs_adr_i<14> wbs_adr_i<13> wbs_adr_i<12> wbs_adr_i<11> wbs_adr_i<10> wbs_adr_i<9> wbs_adr_i<8> wbs_adr_i<7> ++ wbs_adr_i<6> wbs_adr_i<5> wbs_adr_i<4> wbs_adr_i<3> wbs_adr_i<2> wbs_adr_i<1> wbs_adr_i<0> wbs_ack_o ++ wbs_dat_o<31> wbs_dat_o<30> wbs_dat_o<29> wbs_dat_o<28> wbs_dat_o<27> wbs_dat_o<26> wbs_dat_o<25> wbs_dat_o<24> ++ wbs_dat_o<23> wbs_dat_o<22> wbs_dat_o<21> wbs_dat_o<20> wbs_dat_o<19> wbs_dat_o<18> wbs_dat_o<17> wbs_dat_o<16> ++ wbs_dat_o<15> wbs_dat_o<14> wbs_dat_o<13> wbs_dat_o<12> wbs_dat_o<11> wbs_dat_o<10> wbs_dat_o<9> wbs_dat_o<8> ++ wbs_dat_o<7> wbs_dat_o<6> wbs_dat_o<5> wbs_dat_o<4> wbs_dat_o<3> wbs_dat_o<2> wbs_dat_o<1> wbs_dat_o<0> ++ la_data_in<127> la_data_in<126> la_data_in<125> la_data_in<124> la_data_in<123> la_data_in<122> la_data_in<121> ++ la_data_in<120> la_data_in<119> la_data_in<118> la_data_in<117> la_data_in<116> la_data_in<115> la_data_in<114> ++ la_data_in<113> la_data_in<112> la_data_in<111> la_data_in<110> la_data_in<109> la_data_in<108> la_data_in<107> ++ la_data_in<106> la_data_in<105> la_data_in<104> la_data_in<103> la_data_in<102> la_data_in<101> la_data_in<100> ++ la_data_in<99> la_data_in<98> la_data_in<97> la_data_in<96> la_data_in<95> la_data_in<94> la_data_in<93> ++ la_data_in<92> la_data_in<91> la_data_in<90> la_data_in<89> la_data_in<88> la_data_in<87> la_data_in<86> ++ la_data_in<85> la_data_in<84> la_data_in<83> la_data_in<82> la_data_in<81> la_data_in<80> la_data_in<79> ++ la_data_in<78> la_data_in<77> la_data_in<76> la_data_in<75> la_data_in<74> la_data_in<73> la_data_in<72> ++ la_data_in<71> la_data_in<70> la_data_in<69> la_data_in<68> la_data_in<67> la_data_in<66> la_data_in<65> ++ la_data_in<64> la_data_in<63> la_data_in<62> la_data_in<61> la_data_in<60> la_data_in<59> la_data_in<58> ++ la_data_in<57> la_data_in<56> la_data_in<55> la_data_in<54> la_data_in<53> la_data_in<52> la_data_in<51> ++ la_data_in<50> la_data_in<49> la_data_in<48> la_data_in<47> la_data_in<46> la_data_in<45> la_data_in<44> ++ la_data_in<43> la_data_in<42> la_data_in<41> la_data_in<40> la_data_in<39> la_data_in<38> la_data_in<37> ++ la_data_in<36> la_data_in<35> la_data_in<34> la_data_in<33> la_data_in<32> la_data_in<31> la_data_in<30> ++ la_data_in<29> la_data_in<28> la_data_in<27> la_data_in<26> la_data_in<25> la_data_in<24> la_data_in<23> ++ la_data_in<22> la_data_in<21> la_data_in<20> la_data_in<19> la_data_in<18> la_data_in<17> la_data_in<16> ++ la_data_in<15> la_data_in<14> la_data_in<13> la_data_in<12> la_data_in<11> la_data_in<10> la_data_in<9> ++ la_data_in<8> la_data_in<7> la_data_in<6> la_data_in<5> la_data_in<4> la_data_in<3> la_data_in<2> la_data_in<1> ++ la_data_in<0> la_data_out<127> la_data_out<126> la_data_out<125> la_data_out<124> la_data_out<123> ++ la_data_out<122> la_data_out<121> la_data_out<120> la_data_out<119> la_data_out<118> la_data_out<117> ++ la_data_out<116> la_data_out<115> la_data_out<114> la_data_out<113> la_data_out<112> la_data_out<111> ++ la_data_out<110> la_data_out<109> la_data_out<108> la_data_out<107> la_data_out<106> la_data_out<105> ++ la_data_out<104> la_data_out<103> la_data_out<102> la_data_out<101> la_data_out<100> la_data_out<99> la_data_out<98> ++ la_data_out<97> la_data_out<96> la_data_out<95> la_data_out<94> la_data_out<93> la_data_out<92> la_data_out<91> ++ la_data_out<90> la_data_out<89> la_data_out<88> la_data_out<87> la_data_out<86> la_data_out<85> la_data_out<84> ++ la_data_out<83> la_data_out<82> la_data_out<81> la_data_out<80> la_data_out<79> la_data_out<78> la_data_out<77> ++ la_data_out<76> la_data_out<75> la_data_out<74> la_data_out<73> la_data_out<72> la_data_out<71> la_data_out<70> ++ la_data_out<69> la_data_out<68> la_data_out<67> la_data_out<66> la_data_out<65> la_data_out<64> la_data_out<63> ++ la_data_out<62> la_data_out<61> la_data_out<60> la_data_out<59> la_data_out<58> la_data_out<57> la_data_out<56> ++ la_data_out<55> la_data_out<54> la_data_out<53> la_data_out<52> la_data_out<51> la_data_out<50> la_data_out<49> ++ la_data_out<48> la_data_out<47> la_data_out<46> la_data_out<45> la_data_out<44> la_data_out<43> la_data_out<42> ++ la_data_out<41> la_data_out<40> la_data_out<39> la_data_out<38> la_data_out<37> la_data_out<36> la_data_out<35> ++ la_data_out<34> la_data_out<33> la_data_out<32> la_data_out<31> la_data_out<30> la_data_out<29> la_data_out<28> ++ la_data_out<27> la_data_out<26> la_data_out<25> la_data_out<24> la_data_out<23> la_data_out<22> la_data_out<21> ++ la_data_out<20> la_data_out<19> la_data_out<18> la_data_out<17> la_data_out<16> la_data_out<15> la_data_out<14> ++ la_data_out<13> la_data_out<12> la_data_out<11> la_data_out<10> la_data_out<9> la_data_out<8> la_data_out<7> ++ la_data_out<6> la_data_out<5> la_data_out<4> la_data_out<3> la_data_out<2> la_data_out<1> la_data_out<0> io_in<26> ++ io_in<25> io_in<24> io_in<23> io_in<22> io_in<21> io_in<20> io_in<19> io_in<18> io_in<17> io_in<16> io_in<15> ++ io_in<14> io_in<13> io_in<12> io_in<11> io_in<10> io_in<9> io_in<8> io_in<7> io_in<6> io_in<5> io_in<4> ++ io_in<3> io_in<2> io_in<1> io_in<0> io_in_3v3<26> io_in_3v3<25> io_in_3v3<24> io_in_3v3<23> io_in_3v3<22> ++ io_in_3v3<21> io_in_3v3<20> io_in_3v3<19> io_in_3v3<18> io_in_3v3<17> io_in_3v3<16> io_in_3v3<15> io_in_3v3<14> ++ io_in_3v3<13> io_in_3v3<12> io_in_3v3<11> io_in_3v3<10> io_in_3v3<9> io_in_3v3<8> io_in_3v3<7> io_in_3v3<6> ++ io_in_3v3<5> io_in_3v3<4> io_in_3v3<3> io_in_3v3<2> io_in_3v3<1> io_in_3v3<0> user_clock2 io_out<26> io_out<25> ++ io_out<24> io_out<23> io_out<22> io_out<21> io_out<20> io_out<19> io_out<18> io_out<17> io_out<16> io_out<15> ++ io_out<14> io_out<13> io_out<12> io_out<11> io_out<10> io_out<9> io_out<8> io_out<7> io_out<6> io_out<5> ++ io_out<4> io_out<3> io_out<2> io_out<1> io_out<0> io_oeb<26> io_oeb<25> io_oeb<24> io_oeb<23> io_oeb<22> ++ io_oeb<21> io_oeb<20> io_oeb<19> io_oeb<18> io_oeb<17> io_oeb<16> io_oeb<15> io_oeb<14> io_oeb<13> io_oeb<12> ++ io_oeb<11> io_oeb<10> io_oeb<9> io_oeb<8> io_oeb<7> io_oeb<6> io_oeb<5> io_oeb<4> io_oeb<3> io_oeb<2> ++ io_oeb<1> io_oeb<0> gpio_analog<17> gpio_analog<16> gpio_analog<15> gpio_analog<14> gpio_analog<13> ++ gpio_analog<12> gpio_analog<11> gpio_analog<10> gpio_analog<9> gpio_analog<8> gpio_analog<7> gpio_analog<6> ++ gpio_analog<5> gpio_analog<4> gpio_analog<3> gpio_analog<2> gpio_analog<1> gpio_analog<0> gpio_noesd<17> ++ gpio_noesd<16> gpio_noesd<15> gpio_noesd<14> gpio_noesd<13> gpio_noesd<12> gpio_noesd<11> gpio_noesd<10> ++ gpio_noesd<9> gpio_noesd<8> gpio_noesd<7> gpio_noesd<6> gpio_noesd<5> gpio_noesd<4> gpio_noesd<3> gpio_noesd<2> ++ gpio_noesd<1> gpio_noesd<0> io_analog<10> io_analog<9> io_analog<8> io_analog<7> io_analog<6> io_analog<5> ++ io_analog<4> io_analog<3> io_analog<2> io_analog<1> io_analog<0> io_clamp_high<2> io_clamp_high<1> ++ io_clamp_high<0> io_clamp_low<2> io_clamp_low<1> io_clamp_low<0> user_irq<2> user_irq<1> user_irq<0> la_oenb<127> ++ la_oenb<126> la_oenb<125> la_oenb<124> la_oenb<123> la_oenb<122> la_oenb<121> la_oenb<120> la_oenb<119> ++ la_oenb<118> la_oenb<117> la_oenb<116> la_oenb<115> la_oenb<114> la_oenb<113> la_oenb<112> la_oenb<111> ++ la_oenb<110> la_oenb<109> la_oenb<108> la_oenb<107> la_oenb<106> la_oenb<105> la_oenb<104> la_oenb<103> ++ la_oenb<102> la_oenb<101> la_oenb<100> la_oenb<99> la_oenb<98> la_oenb<97> la_oenb<96> la_oenb<95> la_oenb<94> ++ la_oenb<93> la_oenb<92> la_oenb<91> la_oenb<90> la_oenb<89> la_oenb<88> la_oenb<87> la_oenb<86> la_oenb<85> ++ la_oenb<84> la_oenb<83> la_oenb<82> la_oenb<81> la_oenb<80> la_oenb<79> la_oenb<78> la_oenb<77> la_oenb<76> ++ la_oenb<75> la_oenb<74> la_oenb<73> la_oenb<72> la_oenb<71> la_oenb<70> la_oenb<69> la_oenb<68> la_oenb<67> ++ la_oenb<66> la_oenb<65> la_oenb<64> la_oenb<63> la_oenb<62> la_oenb<61> la_oenb<60> la_oenb<59> la_oenb<58> ++ la_oenb<57> la_oenb<56> la_oenb<55> la_oenb<54> la_oenb<53> la_oenb<52> la_oenb<51> la_oenb<50> la_oenb<49> ++ la_oenb<48> la_oenb<47> la_oenb<46> la_oenb<45> la_oenb<44> la_oenb<43> la_oenb<42> la_oenb<41> la_oenb<40> ++ la_oenb<39> la_oenb<38> la_oenb<37> la_oenb<36> la_oenb<35> la_oenb<34> la_oenb<33> la_oenb<32> la_oenb<31> ++ la_oenb<30> la_oenb<29> la_oenb<28> la_oenb<27> la_oenb<26> la_oenb<25> la_oenb<24> la_oenb<23> la_oenb<22> ++ la_oenb<21> la_oenb<20> la_oenb<19> la_oenb<18> la_oenb<17> la_oenb<16> la_oenb<15> la_oenb<14> la_oenb<13> ++ la_oenb<12> la_oenb<11> la_oenb<10> la_oenb<9> la_oenb<8> la_oenb<7> la_oenb<6> la_oenb<5> la_oenb<4> ++ la_oenb<3> la_oenb<2> la_oenb<1> la_oenb<0> +*.PININFO vdda1:B vdda2:B vssa1:B vssa2:B vccd1:B vccd2:B vssd1:B vssd2:B wb_clk_i:I wb_rst_i:I +*+ wbs_stb_i:I wbs_cyc_i:I wbs_we_i:I wbs_sel_i[3:0]:I wbs_dat_i[31:0]:I wbs_adr_i[31:0]:I wbs_ack_o:O +*+ wbs_dat_o[31:0]:O la_data_in[127:0]:I la_data_out[127:0]:O io_in[26:0]:I io_in_3v3[26:0]:I user_clock2:I +*+ io_out[26:0]:O io_oeb[26:0]:O gpio_analog[17:0]:B gpio_noesd[17:0]:B io_analog[10:0]:B io_clamp_high[2:0]:B +*+ io_clamp_low[2:0]:B user_irq[2:0]:O la_oenb[127:0]:I +X1 REF io_in<15> io_in<16> io_in<17> io_in<18> io_in<19> io_analog<10> vdda2 net2 io_analog<9> ++ io_analog<8> VCO +X2 gpio_analog<7> vccd2 vssa2 io_analog<6> REF2 REF io_analog<7> REF3 REF4 net11 net12 BGR_lvs +X3 REF2 io_in<15> io_in<16> io_in<17> io_in<18> io_in<19> io_analog<10> vdda2 vssa2 txina txinb VCO +X4 txina txinb net9 net10 Tx_line +.ends + +* expanding symbol: VCO.sym # of pins=11 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/VCO.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/VCO.sch +.subckt VCO REF CTRL1 CTRL2 CTRL3 CTRL4 CTRL5 VCTRL VDD GND OUT0 OUT180 +*.PININFO GND:I CTRL1:I CTRL2:I CTRL3:I CTRL4:I CTRL5:I VCTRL:I REF:I VDD:I OUT0:O OUT180:O +X1 VBIASN1 GND GND VDD net1 net2 net3 net4 net5 net6 net7 net8 core_osc +X3 GND GND VDD net1 net2 net3 net4 net5 net6 net7 net8 net13 net12 net9 net10 net11 net14 VBIASN1 ++ buffer_amp_vop +X1 VBIASN1 VDD VDD net13 net12 VCTRL GND GND REF bias_calc +X4 net2 GND CTRL1 CTRL2 CTRL3 CTRL4 CTRL5 cap_bank +X5 net1 GND CTRL1 CTRL2 CTRL3 CTRL4 CTRL5 cap_bank +X6 net4 GND CTRL1 CTRL2 CTRL3 CTRL4 CTRL5 cap_bank +X7 net3 GND CTRL1 CTRL2 CTRL3 CTRL4 CTRL5 cap_bank +X8 net6 GND CTRL1 CTRL2 CTRL3 CTRL4 CTRL5 cap_bank +X9 net5 GND CTRL1 CTRL2 CTRL3 CTRL4 CTRL5 cap_bank +X10 net8 GND CTRL1 CTRL2 CTRL3 CTRL4 CTRL5 cap_bank +X11 net7 GND CTRL1 CTRL2 CTRL3 CTRL4 CTRL5 cap_bank +X2 OUT0 VDD net9 VBIASN1 GND GND net11 OUT180 output_buffer +XM35 REF REF VDD VDD sky130_fd_pr__pfet_01v8_lvt L=0.35 W=3 nf=3 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=1 m=1 +.ends + + +* expanding symbol: BGR_lvs.sym # of pins=11 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/BGR_lvs.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/BGR_lvs.sch +.subckt BGR_lvs porst VDD VSS Vbg Iout0 Iout1 Iout2 Iout3 Iout4 Iout5 Iout6 +*.PININFO Iout0:O VDD:B VSS:B Iout1:O Iout2:O porst:I Vbg:O Iout3:O Iout4:O Iout5:O Iout6:O +XQ2 VSS VSS Va sky130_fd_pr__pnp_05v5_W3p40L3p40 m=1 +XQ1 VSS VSS vbneg sky130_fd_pr__pnp_05v5_W3p40L3p40 m=34 m=1 +XMota_bias_n Vota_bias1 Vota_bias1 VSS VSS sky130_fd_pr__nfet_01v8_lvt L=4 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=1 m=1 +XMota_bias_p Vota_bias1 vgate VDD VDD sky130_fd_pr__pfet_01v8_lvt 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=10 m=10 +XMfeedback_mir Va vgate VDD VDD sky130_fd_pr__pfet_01v8_lvt 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=28 m=28 +XMfeedback_mir1 Vb vgate VDD VDD sky130_fd_pr__pfet_01v8_lvt 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=28 m=28 +XMfeedback_mir2 Vbg vgate VDD VDD sky130_fd_pr__pfet_01v8_lvt 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=28 m=28 +XQ3 VSS VSS vbe3 sky130_fd_pr__pnp_05v5_W3p40L3p40 m=1 +XM11 vd4 vcurrent_gate VDD VDD sky130_fd_pr__pfet_01v8_lvt 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=5 m=5 +XM8 voutb2 vcurrent_gate VDD VDD sky130_fd_pr__pfet_01v8_lvt 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=5 m=5 +XM4 voutb1 voutb1 VSS VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XM5 voutb2 voutb2 voutb1 VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XMinv_n net1 porst VSS VSS sky130_fd_pr__nfet_01v8 L=0.5 W=1.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=1 m=1 +XMinv_p net1 porst VDD VDD sky130_fd_pr__pfet_01v8 L=0.5 W=4 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=1 m=1 +XMinv_n1 net2 net1 VSS VSS sky130_fd_pr__nfet_01v8 L=0.5 W=1.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=1 m=1 +XMinv_p1 net2 net1 VDD VDD sky130_fd_pr__pfet_01v8 L=0.5 W=4 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=1 m=1 +XM15 net3 voutb1 VSS VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 Iout0 voutb2 net3 VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XM17 net4 voutb1 VSS VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XM18 Iout1 voutb2 net4 VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XC_porst VSS porst_buff sky130_fd_pr__cap_mim_m3_1 W=23 L=5.8 MF=1 m=1 +XM19 net5 voutb1 VSS VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XM20 Iout2 voutb2 net5 VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 net6 voutb1 VSS VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XM22 Iout3 voutb2 net6 VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 net7 voutb1 VSS VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XM24 Iout4 voutb2 net7 VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XM25 net8 voutb1 VSS VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XM26 Iout5 voutb2 net8 VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XM27 net9 voutb1 VSS VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XM28 Iout6 voutb2 net9 VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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 +XRref_xhigh net11 VSS VSS sky130_fd_pr__res_xhigh_po_5p73 L=106 mult=1 m=1 +XRref_xhigh1 net12 net11 VSS sky130_fd_pr__res_xhigh_po_5p73 L=106 mult=1 m=1 +XRref_xhigh2 net13 net12 VSS sky130_fd_pr__res_xhigh_po_5p73 L=106 mult=1 m=1 +XRref_xhigh3 net14 net13 VSS sky130_fd_pr__res_xhigh_po_5p73 L=106 mult=1 m=1 +XRref_xhigh4 vd4 net14 VSS sky130_fd_pr__res_xhigh_po_5p73 L=106 mult=1 m=1 +XR4 vbe3 Vbg VSS sky130_fd_pr__res_high_po_1p41 L=42.39 mult=1 m=1 +XR3 vbneg Vb VSS sky130_fd_pr__res_high_po_1p41 L=8.1 mult=1 m=1 +XR_porst porst_buff net2 VSS sky130_fd_pr__res_high_po_1p41 L=16 mult=1 m=1 +XRref_high1 vd4 net10 VSS sky130_fd_pr__res_high_po_1p41 L=47.5 mult=1 m=1 +XRref_high2 net10 VSS VSS sky130_fd_pr__res_high_po_1p41 L=104 mult=1 m=1 +XM1 VSS VSS VSS VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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=512 m=512 +XM2 VSS VSS VSS VSS sky130_fd_pr__nfet_01v8_lvt L=2 W=8 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=512 m=512 +XM3 VDD VDD VDD VDD sky130_fd_pr__pfet_01v8_lvt 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=80 m=80 +XMpdn vgate porst_buff VSS VSS sky130_fd_pr__nfet_01v8 L=0.5 W=1.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=1 m=1 +XQ4 VSS VSS VSS sky130_fd_pr__pnp_05v5_W3p40L3p40 m=14 m=1 +x1 VDD Va Vb vgate Vota_bias1 VSS opamp_realcomp3_usefinger +x2 VDD Vbg vd4 vcurrent_gate Vota_bias1 VSS opamp_realcomp3_usefinger +.ends + + +* expanding symbol: Tx_line.sym # of pins=4 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/Tx_line.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/Tx_line.sch +.subckt Tx_line INA INB OUTA OUTB +*.PININFO INA:I OUTA:O INB:I OUTB:O +.ends + + +* expanding symbol: topLevel.sym # of pins=11 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/topLevel.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/topLevel.sch +.subckt topLevel +*.PININFO vss:I Iref:I vref:I vc:I vinp:I vinn:I vin0p:I vin0n:I vout5p:O vout5n:O vdd:I +XR1 vd11 vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR2 vout1p vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR3 vd11 vout1p vss sky130_fd_pr__res_xhigh_po_5p73 L=1.5 mult=1 m=1 +XR6 vout1n vd12 vss sky130_fd_pr__res_xhigh_po_5p73 L=1.5 mult=1 m=1 +XM1 vd11 vinp vs11 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM2 vout1p vd11 vs12 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM3 vout1n vd12 vs12 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM4 vd12 vinn vs11 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM5 vs12 vo2 vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XM6 vs11 vo vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XR9 vd21 vout2p vss sky130_fd_pr__res_xhigh_po_5p73 L=1.5 mult=1 m=1 +XR12 vout2n vd22 vss sky130_fd_pr__res_xhigh_po_5p73 L=1.5 mult=1 m=1 +XM7 vd21 vout1p vs21 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM8 vout2p vd21 vs22 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM10 vout2n vd22 vs22 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM11 vd22 vout1n vs21 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM12 vs22 vo22 vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XM13 vs21 vo21 vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XR15 vd41 vout4p vss sky130_fd_pr__res_xhigh_po_5p73 L=1.5 mult=1 m=1 +XR18 vout4n vd42 vss sky130_fd_pr__res_xhigh_po_5p73 L=1.5 mult=1 m=1 +XM14 vd41 vout3p vs41 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM15 vout4p vd41 vs42 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM16 vout4n vd42 vs42 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM17 vd42 vout3n vs41 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM18 vs42 vo42 vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XM19 vs41 vo41 vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XR27 vd31 vout3p vss sky130_fd_pr__res_xhigh_po_5p73 L=1.5 mult=1 m=1 +XR30 vout3n vd32 vss sky130_fd_pr__res_xhigh_po_5p73 L=1.5 mult=1 m=1 +XM26 vd31 vout2p vs31 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM27 vout3p vd31 vs32 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM28 vout3n vd32 vs32 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM29 vd32 vout2n vs31 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM30 vs32 vo32 vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XM31 vs31 vo31 vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XR21 vd51 vout5p vss sky130_fd_pr__res_xhigh_po_5p73 L=1.5 mult=1 m=1 +XR24 vout5n vd52 vss sky130_fd_pr__res_xhigh_po_5p73 L=1.5 mult=1 m=1 +XM20 vd51 vout4p vs51 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM21 vout5p vd51 vs52 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM22 vout5n vd52 vs52 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM23 vd52 vout4n vs51 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM24 vs52 vo52 vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XM25 vs51 vo51 vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XR36 vfbn vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR40 vfbp vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XM34 vfbn vout5p vst vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM37 vfbp vout5n vst vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=61 nf=61 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=1 m=1 +XM39 vst Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=172 nf=172 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=1 m=1 +XM41 vd11 vin0p vsoc vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=10 m=10 +XM42 vd12 vin0n vsoc vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=10 m=10 +XM43 vsoc Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=28 m=28 +XM32 vd21 vc vout2p vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM33 vout2n vc vd22 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM35 vd51 vc vout5p vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM36 vout5n vc vd52 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM38 vd41 vc vout4p vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM40 vout4n vc vd42 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM44 vd31 vc vout3p vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM45 vout3n vc vd32 vss sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM9 Iref Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=1 m=1 +XM46 net2 vref net1 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM47 net3 vcm net1 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM48 net1 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=2 m=2 +XM49 vo Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=10 m=10 +XM50 net3 net2 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM51 net2 net2 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM52 vo net3 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=10 m=10 +XC3 net7 vo sky130_fd_pr__cap_mim_m3_1 W=25 L=25 MF=4 m=4 +XM54 net5 vref net4 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM55 net6 vcm2 net4 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM56 net4 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=2 m=2 +XM57 vo2 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=10 m=10 +XM58 net6 net5 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM59 net5 net5 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM60 vo2 net6 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=10 m=10 +XR35 vd11 vcm vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR37 vcm vd12 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR38 vout1p vcm2 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR39 vcm2 vout1n vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XM62 net10 vref net9 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM63 net11 vcm21 net9 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM64 net9 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=2 m=2 +XM65 vo21 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=10 m=10 +XM66 net11 net10 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM67 net10 net10 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM68 vo21 net11 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=10 m=10 +XM70 net13 vref net12 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM71 net14 vcm22 net12 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM72 net12 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=2 m=2 +XM73 vo22 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=10 m=10 +XM74 net14 net13 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM75 net13 net13 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM76 vo22 net14 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=10 m=10 +XR43 vd21 vcm21 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR44 vcm21 vd22 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR45 vout2p vcm22 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR46 vcm22 vout2n vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XM78 net18 vref net17 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM79 net19 vcm31 net17 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM80 net17 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=2 m=2 +XM81 vo31 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=10 m=10 +XM82 net19 net18 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM83 net18 net18 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM84 vo31 net19 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=10 m=10 +XM86 net21 vref net20 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM87 net22 vcm32 net20 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM88 net20 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=2 m=2 +XM89 vo32 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=10 m=10 +XM90 net22 net21 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM91 net21 net21 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM92 vo32 net22 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=10 m=10 +XR49 vd31 vcm31 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR50 vcm31 vd32 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR51 vout3p vcm32 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR52 vcm32 vout3n vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XM94 net26 vref net25 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM95 net27 vcm41 net25 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM96 net25 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=2 m=2 +XM97 vo41 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=10 m=10 +XM98 net27 net26 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM99 net26 net26 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM100 vo41 net27 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=10 m=10 +XM102 net29 vref net28 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM103 net30 vcm42 net28 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM104 net28 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=2 m=2 +XM105 vo42 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=10 m=10 +XM106 net30 net29 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM107 net29 net29 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM108 vo42 net30 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=10 m=10 +XR55 vd41 vcm41 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR56 vcm41 vd42 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR57 vout4p vcm42 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR58 vcm42 vout4n vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XM110 net34 vref net33 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM111 net35 vcm51 net33 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM112 net33 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=2 m=2 +XM113 vo51 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=10 m=10 +XM114 net35 net34 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM115 net34 net34 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM116 vo51 net35 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=10 m=10 +XM118 net37 vref net36 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM119 net38 vcm52 net36 vss sky130_fd_pr__nfet_01v8_lvt L=0.25 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=1 m=1 +XM120 net36 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=2 m=2 +XM121 vo52 Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=2 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=10 m=10 +XM122 net38 net37 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM123 net37 net37 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=1 m=1 +XM124 vo52 net38 vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 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=10 m=10 +XR61 vd51 vcm51 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR62 vcm51 vd52 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR63 vout5p vcm52 vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR64 vcm52 vout5n vss sky130_fd_pr__res_xhigh_po_5p73 L=5.92 mult=1 m=1 +XR33 net7 net3 vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XR34 net8 net6 vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XR41 net15 net11 vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XR42 net16 net14 vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XR47 net23 net19 vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XR48 net24 net22 vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XR53 net31 net27 vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XR54 net32 net30 vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XR59 net39 net35 vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XR60 net40 net38 vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XM53 Iref Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=1.28 nf=2 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=1 m=1 +XR31 vin0p vfbn vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XR32 vin0n vfbp vss sky130_fd_pr__res_high_po_0p35 L=4 mult=1 m=1 +XM61 Iref Iref vss vss sky130_fd_pr__nfet_01v8_lvt L=0.15 W=0.64 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 +XC4 net8 vo2 sky130_fd_pr__cap_mim_m3_1 W=25 L=25 MF=4 m=4 +XC5 net15 vo21 sky130_fd_pr__cap_mim_m3_1 W=25 L=25 MF=4 m=4 +XC6 net16 vo22 sky130_fd_pr__cap_mim_m3_1 W=25 L=25 MF=4 m=4 +XC13 net23 vo31 sky130_fd_pr__cap_mim_m3_1 W=25 L=25 MF=4 m=4 +XC7 net24 vo32 sky130_fd_pr__cap_mim_m3_1 W=25 L=25 MF=4 m=4 +XC8 net31 vo41 sky130_fd_pr__cap_mim_m3_1 W=25 L=25 MF=4 m=4 +XC9 net32 vo42 sky130_fd_pr__cap_mim_m3_1 W=25 L=25 MF=4 m=4 +XC10 net39 vo51 sky130_fd_pr__cap_mim_m3_1 W=25 L=25 MF=4 m=4 +XC11 net40 vo52 sky130_fd_pr__cap_mim_m3_1 W=25 L=25 MF=4 m=4 +XR4 vout1n vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR5 vd12 vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR7 vd21 vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR8 vout2p vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR10 vout2n vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR11 vd22 vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR13 vd52 vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR14 vout5n vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR16 vout5p vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR17 vd51 vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR19 vd42 vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR20 vout4n vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR22 vout4p vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR23 vd41 vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR25 vd32 vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR26 vout3n vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR28 vout3p vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +XR29 vd31 vdd vss sky130_fd_pr__res_xhigh_po_5p73 L=0.592 mult=1 m=1 +.ends + + +* expanding symbol: core_osc.sym # of pins=12 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/core_osc.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/core_osc.sch +.subckt core_osc BIAS GND SUB VDD S1A S1B S2A S2B S3A S3B S4A S4B +*.PININFO VDD:I BIAS:I SUB:I GND:I S1A:O S1B:O S2A:O S2B:O S3A:O S3B:O S4A:O S4B:O +X1 S4B S4A BIAS VDD GND SUB S1A S1B core_osc_amp +X2 S1A S1B BIAS VDD GND SUB S2A S2B core_osc_amp +X3 S2A S2B BIAS VDD GND SUB S3A S3B core_osc_amp +X4 S3A S3B BIAS VDD GND SUB S4A S4B core_osc_amp +.ends + + +* expanding symbol: buffer_amp_vop.sym # of pins=18 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/buffer_amp_vop.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/buffer_amp_vop.sch +.subckt buffer_amp_vop GND SUB VDD I1A I1B I2A I2B I3A I3B I4A I4B AMP VOP OUT0 OUT90 OUT180 OUT270 ++ BIAS +*.PININFO BIAS:I GND:I SUB:I I1A:I I1B:I I2A:I I2B:I I3A:I I3B:I I4A:I I4B:I VDD:I AMP:O VOP:O +*+ OUT0:O OUT180:O OUT90:O OUT270:O +X2 I2A I2B BIAS VDD GND SUB net1 net1 buffer_amp +X4 I4A I4B BIAS VDD GND SUB net1 net1 buffer_amp +X1 I1A I1B BIAS VDD GND SUB OUT0 OUT180 buffer_amp +X3 I3A I3B BIAS VDD GND SUB OUT90 OUT270 buffer_amp +X5 OUT180 OUT0 OUT90 OUT270 AMP VDD GND SUB amp_dec +X6 net1 VDD GND SUB VOP vop_dec +.ends + + +* expanding symbol: bias_calc.sym # of pins=9 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/bias_calc.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/bias_calc.sch +.subckt bias_calc BIASOUT VDD PSUB AMP VOP VCTRL GND SUB BIAS2V +*.PININFO AMP:I VOP:I VCTRL:I BIAS2V:I VDD:I PSUB:I SUB:I GND:I BIASOUT:O +XM29 net1 BIAS2V VDD PSUB sky130_fd_pr__pfet_01v8_lvt L=0.35 W=15 nf=15 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=1 m=1 +XM30 net3 VOP net1 PSUB sky130_fd_pr__pfet_01v8_lvt L=0.35 W=10 nf=10 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=1 m=1 +XM31 net2 AMP net1 PSUB sky130_fd_pr__pfet_01v8_lvt L=0.35 W=10 nf=10 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=1 m=1 +XM36 net4 BIAS2V VDD PSUB sky130_fd_pr__pfet_01v8_lvt L=0.35 W=15 nf=15 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=1 m=1 +XM37 net5 VCTRL net4 PSUB sky130_fd_pr__pfet_01v8_lvt L=0.35 W=30 nf=30 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=1 m=1 +XM38 BIASOUT net3 net4 PSUB sky130_fd_pr__pfet_01v8_lvt L=0.35 W=30 nf=30 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=1 m=1 +XM39 net5 net5 GND SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=10 nf=10 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=1 m=1 +XM40 BIASOUT net5 GND SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=10 nf=10 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=1 m=1 +XR19 GND net2 SUB sky130_fd_pr__res_high_po_2p85 L=7.6 mult=1 m=1 +XR20 GND net3 SUB sky130_fd_pr__res_high_po_2p85 L=11.4 mult=1 m=1 +XM1 net1 BIAS2V VDD PSUB sky130_fd_pr__pfet_01v8_lvt L=0.35 W=15 nf=15 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=1 m=1 +XM2 net4 BIAS2V VDD PSUB sky130_fd_pr__pfet_01v8_lvt L=0.35 W=15 nf=15 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=1 m=1 +XM3 net4 BIAS2V VDD PSUB sky130_fd_pr__pfet_01v8_lvt L=0.35 W=15 nf=15 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=1 m=1 +.ends + + +* expanding symbol: cap_bank.sym # of pins=7 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/cap_bank.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/cap_bank.sch +.subckt cap_bank IN GND ctrll1 ctrll2 ctrll3 ctrll4 ctrll5 +*.PININFO IN:I GND:I ctrll1:I ctrll2:I ctrll3:I ctrll4:I ctrll5:I +XC6 IN net1 sky130_fd_pr__cap_mim_m3_2 W=2 L=2 MF=1 m=1 +XC1 IN net5 sky130_fd_pr__cap_mim_m3_2 W=2 L=2 MF=1 m=1 +XC2 IN net4 sky130_fd_pr__cap_mim_m3_2 W=3 L=2 MF=1 m=1 +XC3 IN net3 sky130_fd_pr__cap_mim_m3_2 W=3 L=4 MF=1 m=1 +XC4 IN net2 sky130_fd_pr__cap_mim_m3_2 W=6 L=4 MF=1 m=1 +XM1 net1 ctrll1 GND GND sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM2 net5 ctrll2 GND GND sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM3 net4 ctrll3 GND GND sky130_fd_pr__nfet_01v8_lvt L=0.15 W=2 nf=2 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=1 m=1 +XM4 net3 ctrll4 GND GND sky130_fd_pr__nfet_01v8_lvt L=0.15 W=3 nf=3 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=1 m=1 +XM5 net2 ctrll5 GND GND sky130_fd_pr__nfet_01v8_lvt L=0.15 W=6 nf=6 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=1 m=1 +.ends + + +* expanding symbol: output_buffer.sym # of pins=8 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/output_buffer.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/output_buffer.sch +.subckt output_buffer OUTA VDD INA BIAS GND SUB INB OUTB +*.PININFO SUB:I GND:I INA:I BIAS:I VDD:I OUTA:O OUTB:O INB:I +XM42 net2 INA net1 SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=4 nf=4 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=1 m=1 +XM43 net3 INB net1 SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=4 nf=4 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=1 m=1 +XR1 net2 VDD SUB sky130_fd_pr__res_high_po_2p85 L=7.6 mult=1 m=1 +XR2 net3 VDD SUB sky130_fd_pr__res_high_po_2p85 L=7.6 mult=1 m=1 +XM32 OUTA net2 net4 SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=20 nf=20 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=1 m=1 +XM33 OUTB net3 net4 SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=20 nf=20 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=1 m=1 +XM1 net1 BIAS GND SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=20 nf=20 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=1 m=1 +XM2 net1 BIAS GND SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=20 nf=20 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=1 m=1 +XM3 net4 BIAS GND SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=60 nf=60 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=1 m=1 +XM4 net4 BIAS GND SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=60 nf=60 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=1 m=1 +XR29 OUTA VDD SUB sky130_fd_pr__res_high_po_5p73 L=16.4 mult=1 m=1 +XR3 OUTB VDD SUB sky130_fd_pr__res_high_po_5p73 L=16.4 mult=1 m=1 +.ends + + +* expanding symbol: opamp_realcomp3_usefinger.sym # of pins=6 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/opamp_realcomp3_usefinger.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/opamp_realcomp3_usefinger.sch +.subckt opamp_realcomp3_usefinger vdd in_n in_p out bias_0p7 vss +*.PININFO vdd:B vss:B in_n:I in_p:I out:O bias_0p7:I +XM_diff_n ppair_gate in_n diffpair_source vss sky130_fd_pr__nfet_01v8_lvt L=1 W=4.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 +XM_diff_n1 first_stage_out in_p diffpair_source vss sky130_fd_pr__nfet_01v8_lvt L=1 W=4.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 +XM_tail diffpair_source bias_0p7 vss vss sky130_fd_pr__nfet_01v8_lvt L=2 W=10 nf=5 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 +XM_actload out bias_0p7 vss vss sky130_fd_pr__nfet_01v8_lvt L=2 W=15 nf=5 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 +XM_ppair_p first_stage_out ppair_gate vdd vdd sky130_fd_pr__pfet_01v8_lvt L=1 W=8 nf=4 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 +XM_ppair_p1 ppair_gate ppair_gate vdd vdd sky130_fd_pr__pfet_01v8_lvt L=1 W=8 nf=4 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 +XM_cs out first_stage_out vdd vdd sky130_fd_pr__pfet_01v8_lvt L=0.5 W=84 nf=14 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 +XC1 first_stage_out net1 sky130_fd_pr__cap_mim_m3_1 W=16 L=21.4 MF=1 m=1 +XR1 net1 out vss sky130_fd_pr__res_high_po_2p85 L=12.1 mult=1 m=1 +.ends + + +* expanding symbol: core_osc_amp.sym # of pins=8 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/core_osc_amp.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/core_osc_amp.sch +.subckt core_osc_amp INA INB BIAS VDD GND SUB OUTA OUTB +*.PININFO INA:I INB:I BIAS:I GND:I VDD:I SUB:I OUTA:O OUTB:O +XM2 OUTA INA net1 SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=4 nf=4 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=1 m=1 +XM3 OUTB INB net1 SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=4 nf=4 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=1 m=1 +XM1 net1 BIAS GND SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=20 nf=20 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=1 m=1 +XR16 OUTA VDD SUB sky130_fd_pr__res_high_po_2p85 L=7.6 mult=1 m=1 +XR17 OUTB VDD SUB sky130_fd_pr__res_high_po_2p85 L=7.6 mult=1 m=1 +XM4 net1 BIAS GND SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=20 nf=20 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=1 m=1 +.ends + + +* expanding symbol: buffer_amp.sym # of pins=8 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/buffer_amp.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/buffer_amp.sch +.subckt buffer_amp INA INB BIAS VDD GND SUB OUTA OUTB +*.PININFO INA:I INB:I BIAS:I GND:I VDD:I SUB:I OUTA:O OUTB:O +XM1 net1 BIAS GND SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=10 nf=10 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=1 m=1 +XM2 OUTB INB net1 SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XM3 OUTA INA net1 SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 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=1 m=1 +XR2 OUTB VDD SUB sky130_fd_pr__res_high_po_5p73 L=30.4 mult=1 m=1 +XR1 OUTA VDD SUB sky130_fd_pr__res_high_po_5p73 L=30.4 mult=1 m=1 +XM4 net1 BIAS GND SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=10 nf=10 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=1 m=1 +.ends + + +* expanding symbol: amp_dec.sym # of pins=8 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/amp_dec.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/amp_dec.sch +.subckt amp_dec IN1 IN2 IN3 IN4 AMP VDD GND SUB +*.PININFO VDD:I SUB:I GND:I IN1:I IN2:I IN3:I IN4:I AMP:O +XM25 VDD IN1 AMP SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=4 nf=4 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=1 m=1 +XC1 AMP GND sky130_fd_pr__cap_mim_m3_1 W=20 L=30 MF=1 m=1 +XM26 VDD IN2 AMP SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=4 nf=4 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=1 m=1 +XM27 VDD IN3 AMP SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=4 nf=4 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=1 m=1 +XM28 VDD IN4 AMP SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=4 nf=4 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=1 m=1 +XR18 GND AMP SUB sky130_fd_pr__res_high_po_2p85 L=42 mult=1 m=1 +.ends + + +* expanding symbol: vop_dec.sym # of pins=5 +** sym_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/vop_dec.sym +** sch_path: /home/milkso4/Desktop/designs/sloci_caravel/xschem/vop_dec.sch +.subckt vop_dec IN VDD GND SUB VOP +*.PININFO IN:I VDD:I GND:I SUB:I VOP:O +XM41 VDD IN VOP SUB sky130_fd_pr__nfet_01v8_lvt L=0.15 W=12 nf=12 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=1 m=1 +XC2 IN GND sky130_fd_pr__cap_mim_m3_1 W=20 L=30 MF=1 m=1 +XR21 GND VOP SUB sky130_fd_pr__res_high_po_2p85 L=42 mult=1 m=1 +.ends + +.end