Add files via upload
diff --git a/mag/10bitdac_cap_layout_design.mag b/mag/10bitdac_cap_layout_design.mag new file mode 100644 index 0000000..c1ff8b0 --- /dev/null +++ b/mag/10bitdac_cap_layout_design.mag
@@ -0,0 +1,110 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1260 -1308 236578 113674 +<< locali >> +rect 1224 111478 1280 111678 +rect 166990 55698 167030 58214 +rect 170054 56858 170108 57650 +rect 173560 56638 173644 58478 +rect 176982 54874 177048 58546 +rect 179826 56758 179890 57852 +rect 183168 54830 183216 58556 +rect 188400 54802 188470 58594 +rect 191890 54838 191964 58672 +rect 196096 54788 196172 79662 +rect 205436 57549 205476 57550 +rect 205436 57515 205439 57549 +rect 205473 57515 205476 57549 +rect 205436 57514 205476 57515 +rect 202790 57336 203012 57432 +rect 166000 5276 166054 5432 +<< viali >> +rect 205439 57515 205473 57549 +<< metal1 >> +rect 205430 57564 205602 57576 +rect 205430 57549 205547 57564 +rect 205430 57515 205439 57549 +rect 205473 57515 205547 57549 +rect 205430 57512 205547 57515 +rect 205599 57512 205602 57564 +rect 205430 57500 205602 57512 +rect 208338 52576 208562 52648 +<< via1 >> +rect 205547 57512 205599 57564 +<< metal2 >> +rect 196548 55424 196626 85814 +rect 205538 57568 205722 57578 +rect 205538 57564 205651 57568 +rect 205538 57512 205547 57564 +rect 205599 57512 205651 57564 +rect 205707 57512 205722 57568 +rect 205538 57500 205722 57512 +<< via2 >> +rect 205651 57512 205707 57568 +<< metal3 >> +rect 205750 57584 205862 57590 +rect 205638 57576 205862 57584 +rect 205638 57568 205771 57576 +rect 205638 57512 205651 57568 +rect 205707 57512 205771 57568 +rect 205835 57512 205862 57576 +rect 205638 57500 205862 57512 +rect 205750 57498 205862 57500 +rect 208338 52576 208562 52648 +<< via3 >> +rect 205771 57512 205835 57576 +<< mimcapcontact >> +rect 210209 57512 210273 57576 +<< metal4 >> +rect 201970 58220 202162 83072 +rect 205764 57576 210286 57584 +rect 205764 57512 205771 57576 +rect 205835 57512 210209 57576 +rect 210273 57512 210286 57576 +rect 205764 57504 210286 57512 +rect 205764 57500 205956 57504 +use 10bitdac_layout 10bitdac_layout_0 +timestamp 1624221218 +transform 1 0 428 0 1 57644 +box -428 -57692 205056 54770 +use cap_28p cap_28p_0 +timestamp 1624221218 +transform 1 0 210498 0 1 53878 +box -1968 -2452 24820 24898 +<< labels >> +rlabel metal4 s 207420 57532 207420 57532 4 out +port 1 nsew +flabel locali s 166000 5276 166054 5432 0 FreeSans 195 0 0 0 inp2 +port 2 nsew +flabel locali s 1224 111478 1280 111678 0 FreeSans 195 0 0 0 inp1 +port 3 nsew +flabel locali s 166990 55698 167030 58214 0 FreeSans 195 0 0 0 d0 +port 4 nsew +flabel locali s 170054 56858 170108 57650 0 FreeSans 195 0 0 0 d1 +port 5 nsew +flabel locali s 173560 56638 173644 58478 0 FreeSans 195 0 0 0 d2 +port 6 nsew +flabel locali s 176982 54874 177048 58546 0 FreeSans 195 0 0 0 d3 +port 7 nsew +flabel locali s 179826 56758 179890 57852 0 FreeSans 195 0 0 0 d4 +port 8 nsew +flabel locali s 183168 54830 183216 58556 0 FreeSans 195 0 0 0 d5 +port 9 nsew +flabel locali s 188400 54802 188470 58594 0 FreeSans 195 0 0 0 d6 +port 10 nsew +flabel locali s 191890 54838 191964 58672 0 FreeSans 195 0 0 0 d7 +port 11 nsew +flabel locali s 196096 54788 196172 79662 0 FreeSans 195 0 0 0 d8 +port 12 nsew +flabel locali s 202790 57336 203012 57432 0 FreeSans 195 0 0 0 d9 +port 13 nsew +flabel metal2 s 196548 55424 196626 85814 0 FreeSans 195 0 0 0 gnd! +port 14 nsew +flabel metal4 s 201970 58220 202162 83072 0 FreeSans 195 0 0 0 vdd! +port 15 nsew +<< properties >> +string FIXED_BBOX 0 0 1748 1088 +<< end >>
diff --git a/mag/10bitdac_layout.mag b/mag/10bitdac_layout.mag new file mode 100644 index 0000000..a8d1e9d --- /dev/null +++ b/mag/10bitdac_layout.mag
@@ -0,0 +1,625 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1688 -58952 206316 56030 +<< locali >> +rect 796 53914 852 54034 +rect 198700 29356 204742 29418 +rect 195658 29180 196142 29254 +rect 195658 28902 195742 29180 +rect 195658 28868 195685 28902 +rect 195719 28868 195742 28902 +rect 195658 28848 195742 28868 +rect 195664 28608 195734 28638 +rect 195664 28574 195683 28608 +rect 195717 28574 195734 28608 +rect 195664 22018 195734 28574 +rect 204674 24878 204742 29356 +rect 204672 24802 204742 24878 +rect 195664 21966 195744 22018 +rect 165972 5160 166028 5278 +rect 166150 4802 166236 4972 +rect 166150 4768 166180 4802 +rect 166214 4768 166236 4802 +rect 166150 4766 166236 4768 +rect 169778 2000 169812 2036 +rect 169778 1990 169826 2000 +rect 166148 1950 166242 1962 +rect 166148 1928 166176 1950 +rect 166146 1916 166176 1928 +rect 166210 1916 166242 1950 +rect 166146 1896 166242 1916 +rect 166146 1212 166230 1896 +rect 166138 1199 166230 1212 +rect 169778 1206 169812 1990 +rect 173138 1268 173228 2234 +rect 173138 1234 173160 1268 +rect 173194 1234 173228 1268 +rect 166138 1165 166150 1199 +rect 166184 1165 166230 1199 +rect 166138 1162 166230 1165 +rect 166140 1160 166230 1162 +rect 169774 1194 169832 1206 +rect 173138 1202 173228 1234 +rect 176554 1241 176612 2398 +rect 179390 2076 179450 2602 +rect 179390 1988 179466 2076 +rect 176554 1207 176569 1241 +rect 176603 1207 176612 1241 +rect 169774 1160 169786 1194 +rect 169820 1160 169832 1194 +rect 176554 1192 176612 1207 +rect 179394 1224 179466 1988 +rect 179394 1190 179418 1224 +rect 179452 1190 179466 1224 +rect 179394 1170 179466 1190 +rect 182738 1232 182788 2766 +rect 182738 1198 182748 1232 +rect 182782 1198 182788 1232 +rect 182738 1180 182788 1198 +rect 187976 1238 188046 2962 +rect 187976 1204 187997 1238 +rect 188031 1204 188046 1238 +rect 187976 1176 188046 1204 +rect 166140 1158 166208 1160 +rect 169774 1150 169832 1160 +rect 166788 1014 166860 1022 +rect 169770 1018 169828 1032 +rect 191468 1028 191536 1124 +rect 166554 996 166870 1014 +rect 166138 976 166186 978 +rect 166138 942 166146 976 +rect 166180 942 166186 976 +rect 166554 962 166809 996 +rect 166843 962 166870 996 +rect 169770 984 169781 1018 +rect 169815 984 169828 1018 +rect 169770 972 169828 984 +rect 179402 1008 179474 1028 +rect 179402 974 179422 1008 +rect 179456 974 179474 1008 +rect 166554 942 166870 962 +rect 166138 924 166186 942 +rect 166138 268 166180 924 +rect 166558 570 166598 942 +rect 166788 940 166860 942 +rect 169776 906 169812 972 +rect 176554 941 176620 968 +rect 169616 866 169812 906 +rect 169620 758 169676 866 +rect 169776 862 169812 866 +rect 173132 878 173216 932 +rect 173132 844 173156 878 +rect 173190 844 173216 878 +rect 169620 712 169678 758 +rect 166558 530 166602 570 +rect 166122 222 166180 268 +rect 368 -2678 116520 -2670 +rect 166122 -2678 166170 222 +rect 166562 -1918 166602 530 +rect 169624 6 169678 712 +rect 169624 -34 169680 6 +rect 169626 -746 169680 -34 +rect 169626 -786 169682 -746 +rect 169628 -1456 169682 -786 +rect 173132 -916 173216 844 +rect 169626 -1538 169682 -1456 +rect 173130 -1006 173216 -916 +rect 176554 907 176569 941 +rect 176603 907 176620 941 +rect 166562 -1946 166610 -1918 +rect 368 -2716 166170 -2678 +rect 368 -2720 116520 -2716 +rect 368 -3772 424 -2720 +rect 166568 -2818 166610 -1946 +rect 166558 -2848 166630 -2818 +rect 166558 -2882 166573 -2848 +rect 166607 -2882 166630 -2848 +rect 166558 -2900 166630 -2882 +rect 169626 -2870 169680 -1538 +rect 173130 -2778 173208 -1006 +rect 173130 -2812 173156 -2778 +rect 173190 -2812 173208 -2778 +rect 173130 -2840 173208 -2812 +rect 176554 -2780 176620 907 +rect 179402 208 179474 974 +rect 187972 992 188042 1022 +rect 179398 122 179474 208 +rect 182740 948 182788 972 +rect 182740 914 182748 948 +rect 182782 914 182788 948 +rect 179398 -810 179462 122 +rect 176554 -2814 176569 -2780 +rect 176603 -2814 176620 -2780 +rect 176554 -2842 176620 -2814 +rect 179394 -886 179462 -810 +rect 179394 -2750 179458 -886 +rect 179394 -2784 179412 -2750 +rect 179446 -2784 179458 -2750 +rect 179394 -2836 179458 -2784 +rect 182740 -2812 182788 914 +rect 182738 -2816 182788 -2812 +rect 182738 -2850 182746 -2816 +rect 182780 -2850 182788 -2816 +rect 182738 -2864 182788 -2850 +rect 169626 -2904 169637 -2870 +rect 169671 -2904 169680 -2870 +rect 182740 -2880 182788 -2864 +rect 187972 958 187993 992 +rect 188027 958 188042 992 +rect 187972 -2850 188042 958 +rect 169626 -2916 169680 -2904 +rect 187972 -2884 187991 -2850 +rect 188025 -2884 188042 -2850 +rect 191462 -2815 191536 1028 +rect 191462 -2849 191479 -2815 +rect 191513 -2849 191536 -2815 +rect 191462 -2874 191536 -2849 +rect 195668 -2862 195744 21966 +rect 204672 190 204740 24802 +rect 204862 -96 205056 -74 +rect 204862 -130 204872 -96 +rect 204906 -130 205056 -96 +rect 204862 -144 205056 -130 +rect 202362 -308 202584 -212 +rect 204698 -996 204766 -552 +rect 187972 -2908 188042 -2884 +rect 195668 -2896 195690 -2862 +rect 195724 -2896 195744 -2862 +rect 195668 -2926 195744 -2896 +rect 204054 -1054 204766 -996 +rect 204054 -1060 204754 -1054 +rect 195662 -3104 195738 -3078 +rect 195662 -3138 195686 -3104 +rect 195720 -3138 195738 -3104 +rect 191448 -3223 191518 -3202 +rect 191448 -3257 191467 -3223 +rect 191501 -3257 191518 -3223 +rect 187970 -3608 188038 -3590 +rect 169616 -3652 169692 -3632 +rect 169616 -3686 169633 -3652 +rect 169667 -3686 169692 -3652 +rect 169616 -3702 169692 -3686 +rect 173128 -3690 173208 -3626 +rect 182744 -3650 182790 -3614 +rect 166560 -4454 166606 -4452 +rect 166550 -4460 166618 -4454 +rect 166550 -4490 166567 -4460 +rect 166552 -4494 166567 -4490 +rect 166601 -4494 166618 -4460 +rect 166552 -4506 166618 -4494 +rect 166566 -5002 166600 -4506 +rect 169620 -4736 169674 -3702 +rect 173128 -3724 173158 -3690 +rect 173192 -3724 173208 -3690 +rect 169618 -4752 169678 -4736 +rect 169618 -4786 169635 -4752 +rect 169669 -4786 169678 -4752 +rect 169618 -4794 169678 -4786 +rect 169624 -4944 169684 -4942 +rect 169622 -4955 169684 -4944 +rect 169622 -4989 169636 -4955 +rect 169670 -4989 169684 -4955 +rect 166566 -5020 166602 -5002 +rect 169622 -5006 169684 -4989 +rect 166566 -5022 166604 -5020 +rect 166566 -5036 166600 -5022 +rect 169624 -5536 169678 -5006 +rect 173128 -5284 173208 -3724 +rect 176548 -3690 176614 -3666 +rect 176548 -3724 176567 -3690 +rect 176601 -3724 176614 -3690 +rect 173134 -6614 173202 -5524 +rect 176548 -6294 176614 -3724 +rect 179398 -3712 179462 -3658 +rect 179398 -3746 179412 -3712 +rect 179446 -3746 179462 -3712 +rect 179398 -4462 179462 -3746 +rect 182744 -3684 182748 -3650 +rect 182782 -3684 182790 -3650 +rect 179398 -4752 179466 -4462 +rect 179402 -5508 179466 -4752 +rect 179402 -5556 179470 -5508 +rect 176548 -6328 176563 -6294 +rect 176597 -6328 176614 -6294 +rect 176548 -6356 176614 -6328 +rect 179406 -6536 179470 -5556 +rect 179402 -6602 179470 -6536 +rect 173134 -6616 173248 -6614 +rect 173134 -6656 173202 -6616 +rect 176554 -6763 176626 -6732 +rect 176554 -6797 176572 -6763 +rect 176606 -6797 176626 -6763 +rect 176554 -9876 176626 -6797 +rect 179402 -9612 179466 -6602 +rect 182744 -6958 182790 -3684 +rect 187970 -3642 187991 -3608 +rect 188025 -3642 188038 -3608 +rect 182744 -7010 182802 -6958 +rect 179402 -9646 179418 -9612 +rect 179452 -9646 179466 -9612 +rect 179402 -9660 179466 -9646 +rect 179400 -9844 179470 -9830 +rect 179400 -9878 179420 -9844 +rect 179454 -9878 179470 -9844 +rect 179400 -9896 179470 -9878 +rect 179402 -9956 179470 -9896 +rect 179406 -11952 179470 -9956 +rect 179402 -12004 179470 -11952 +rect 179402 -15108 179466 -12004 +rect 182748 -14804 182802 -7010 +rect 182748 -14818 182810 -14804 +rect 182748 -14852 182762 -14818 +rect 182796 -14852 182810 -14818 +rect 182748 -14862 182810 -14852 +rect 182748 -15050 182798 -15048 +rect 182742 -15062 182802 -15050 +rect 182742 -15096 182752 -15062 +rect 182786 -15096 182802 -15062 +rect 182742 -15108 182802 -15096 +rect 182748 -15822 182798 -15108 +rect 182748 -23716 182802 -15822 +rect 182748 -23774 182806 -23716 +rect 182752 -27720 182806 -23774 +rect 187970 -26430 188038 -3642 +rect 187970 -27264 188048 -26430 +rect 191448 -27726 191518 -3257 +rect 195662 -28022 195738 -3138 +rect 195664 -28404 195738 -28022 +rect 204054 -28274 204108 -1060 +rect 198296 -28336 204108 -28274 +rect 204054 -28338 204108 -28336 +rect 195664 -28406 195778 -28404 +rect 195664 -28488 195738 -28406 +rect 165560 -52582 165620 -52438 +<< viali >> +rect 195685 28868 195719 28902 +rect 195683 28574 195717 28608 +rect 166180 4768 166214 4802 +rect 166176 1916 166210 1950 +rect 173160 1234 173194 1268 +rect 166150 1165 166184 1199 +rect 176569 1207 176603 1241 +rect 169786 1160 169820 1194 +rect 179418 1190 179452 1224 +rect 182748 1198 182782 1232 +rect 187997 1204 188031 1238 +rect 166146 942 166180 976 +rect 166809 962 166843 996 +rect 169781 984 169815 1018 +rect 179422 974 179456 1008 +rect 173156 844 173190 878 +rect 176569 907 176603 941 +rect 166573 -2882 166607 -2848 +rect 173156 -2812 173190 -2778 +rect 182748 914 182782 948 +rect 176569 -2814 176603 -2780 +rect 179412 -2784 179446 -2750 +rect 182746 -2850 182780 -2816 +rect 169637 -2904 169671 -2870 +rect 187993 958 188027 992 +rect 187991 -2884 188025 -2850 +rect 191479 -2849 191513 -2815 +rect 204872 -130 204906 -96 +rect 195690 -2896 195724 -2862 +rect 195686 -3138 195720 -3104 +rect 191467 -3257 191501 -3223 +rect 169633 -3686 169667 -3652 +rect 166567 -4494 166601 -4460 +rect 173158 -3724 173192 -3690 +rect 169635 -4786 169669 -4752 +rect 169636 -4989 169670 -4955 +rect 176567 -3724 176601 -3690 +rect 179412 -3746 179446 -3712 +rect 182748 -3684 182782 -3650 +rect 176563 -6328 176597 -6294 +rect 176572 -6797 176606 -6763 +rect 187991 -3642 188025 -3608 +rect 179418 -9646 179452 -9612 +rect 179420 -9878 179454 -9844 +rect 182762 -14852 182796 -14818 +rect 182752 -15096 182786 -15062 +<< metal1 >> +rect 195658 28902 195742 28922 +rect 195658 28868 195685 28902 +rect 195719 28868 195742 28902 +rect 195658 28608 195742 28868 +rect 195658 28574 195683 28608 +rect 195717 28574 195742 28608 +rect 195658 28548 195742 28574 +rect 166150 4802 166238 4810 +rect 166150 4768 166180 4802 +rect 166214 4768 166238 4802 +rect 166150 1950 166238 4768 +rect 166150 1916 166176 1950 +rect 166210 1916 166238 1950 +rect 166150 1896 166238 1916 +rect 166798 1954 166838 3114 +rect 166798 1844 166844 1954 +rect 166138 1208 166206 1212 +rect 166138 1199 166208 1208 +rect 166138 1165 166150 1199 +rect 166184 1165 166208 1199 +rect 166138 1162 166208 1165 +rect 166140 1158 166208 1162 +rect 166140 976 166186 1158 +rect 166802 1022 166844 1844 +rect 173132 1268 173222 1334 +rect 173132 1234 173160 1268 +rect 173194 1234 173222 1268 +rect 169774 1194 169832 1206 +rect 169774 1160 169786 1194 +rect 169820 1160 169832 1194 +rect 169774 1150 169832 1160 +rect 169778 1032 169814 1150 +rect 166138 942 166146 976 +rect 166180 942 166186 976 +rect 166138 924 166186 942 +rect 166788 996 166860 1022 +rect 166788 962 166809 996 +rect 166843 962 166860 996 +rect 169770 1018 169828 1032 +rect 169770 984 169781 1018 +rect 169815 984 169828 1018 +rect 169770 972 169828 984 +rect 166788 940 166860 962 +rect 173132 878 173222 1234 +rect 176548 1241 176620 1292 +rect 176548 1207 176569 1241 +rect 176603 1207 176620 1241 +rect 176548 941 176620 1207 +rect 179402 1224 179470 1244 +rect 179402 1190 179418 1224 +rect 179452 1190 179470 1224 +rect 179402 1008 179470 1190 +rect 179402 974 179422 1008 +rect 179456 974 179470 1008 +rect 179402 948 179470 974 +rect 182738 1232 182788 1256 +rect 182738 1198 182748 1232 +rect 182782 1198 182788 1232 +rect 182738 948 182788 1198 +rect 176548 907 176569 941 +rect 176603 907 176620 941 +rect 176548 884 176620 907 +rect 182738 914 182748 948 +rect 182782 914 182788 948 +rect 187976 1238 188046 1266 +rect 187976 1204 187997 1238 +rect 188031 1204 188046 1238 +rect 187976 992 188046 1204 +rect 187976 958 187993 992 +rect 188027 958 188046 992 +rect 187976 934 188046 958 +rect 182738 898 182788 914 +rect 173132 844 173156 878 +rect 173190 844 173222 878 +rect 173132 806 173222 844 +rect 203326 230 203420 238 +rect 203326 178 203361 230 +rect 203413 178 203420 230 +rect 203326 164 203420 178 +rect 204864 -96 204922 -74 +rect 204864 -130 204872 -96 +rect 204906 -130 204922 -96 +rect 204864 -146 204922 -130 +rect 202616 -542 202694 -498 +rect 202616 -594 202630 -542 +rect 202682 -594 202694 -542 +rect 202616 -630 202694 -594 +rect 173130 -2778 173208 -2732 +rect 179394 -2750 179458 -2688 +rect 173130 -2812 173156 -2778 +rect 173190 -2812 173208 -2778 +rect 166558 -2848 166630 -2818 +rect 166558 -2882 166573 -2848 +rect 166607 -2882 166630 -2848 +rect 166558 -2900 166630 -2882 +rect 169622 -2870 169682 -2854 +rect 166566 -4328 166594 -2900 +rect 169622 -2904 169637 -2870 +rect 169671 -2904 169682 -2870 +rect 169622 -2918 169682 -2904 +rect 169624 -3632 169678 -2918 +rect 169616 -3652 169692 -3632 +rect 169616 -3686 169633 -3652 +rect 169667 -3686 169692 -3652 +rect 169616 -3702 169692 -3686 +rect 173130 -3690 173208 -2812 +rect 173130 -3724 173158 -3690 +rect 173192 -3724 173208 -3690 +rect 173130 -3798 173208 -3724 +rect 176548 -2780 176624 -2754 +rect 176548 -2814 176569 -2780 +rect 176603 -2814 176624 -2780 +rect 176548 -3690 176624 -2814 +rect 176548 -3724 176567 -3690 +rect 176601 -3724 176624 -3690 +rect 176548 -3750 176624 -3724 +rect 179394 -2784 179412 -2750 +rect 179446 -2784 179458 -2750 +rect 179394 -3712 179458 -2784 +rect 182742 -2804 182784 -2796 +rect 182740 -2812 182788 -2804 +rect 182738 -2816 182788 -2812 +rect 182738 -2850 182746 -2816 +rect 182780 -2850 182788 -2816 +rect 191452 -2815 191532 -2770 +rect 182738 -2856 182788 -2850 +rect 187970 -2850 188048 -2826 +rect 182738 -2864 182786 -2856 +rect 182742 -3642 182784 -2864 +rect 187970 -2884 187991 -2850 +rect 188025 -2884 188048 -2850 +rect 187970 -3608 188048 -2884 +rect 191452 -2849 191479 -2815 +rect 191513 -2849 191532 -2815 +rect 191452 -3223 191532 -2849 +rect 195660 -2862 195744 -2816 +rect 195660 -2896 195690 -2862 +rect 195724 -2896 195744 -2862 +rect 195660 -3104 195744 -2896 +rect 195660 -3138 195686 -3104 +rect 195720 -3138 195744 -3104 +rect 195660 -3160 195744 -3138 +rect 191452 -3257 191467 -3223 +rect 191501 -3257 191532 -3223 +rect 191452 -3284 191532 -3257 +rect 187970 -3642 187991 -3608 +rect 188025 -3642 188048 -3608 +rect 182742 -3650 182792 -3642 +rect 182742 -3684 182748 -3650 +rect 182782 -3684 182792 -3650 +rect 187970 -3666 188048 -3642 +rect 182742 -3694 182792 -3684 +rect 182742 -3704 182784 -3694 +rect 179394 -3746 179412 -3712 +rect 179446 -3746 179458 -3712 +rect 179394 -3782 179458 -3746 +rect 166566 -4452 166602 -4328 +rect 166560 -4454 166606 -4452 +rect 166550 -4460 166618 -4454 +rect 166550 -4490 166567 -4460 +rect 166552 -4494 166567 -4490 +rect 166601 -4494 166618 -4460 +rect 166552 -4506 166618 -4494 +rect 169618 -4752 169678 -4736 +rect 169618 -4786 169635 -4752 +rect 169669 -4786 169678 -4752 +rect 169618 -4794 169678 -4786 +rect 169624 -4942 169676 -4794 +rect 169624 -4944 169684 -4942 +rect 169622 -4955 169684 -4944 +rect 169622 -4989 169636 -4955 +rect 169670 -4989 169684 -4955 +rect 169622 -5006 169684 -4989 +rect 173128 -5604 173204 -5190 +rect 176546 -6294 176622 -6246 +rect 176546 -6328 176563 -6294 +rect 176597 -6328 176622 -6294 +rect 176546 -6730 176622 -6328 +rect 176546 -6763 176626 -6730 +rect 176546 -6797 176572 -6763 +rect 176606 -6797 176626 -6763 +rect 176546 -6816 176626 -6797 +rect 176548 -6820 176626 -6816 +rect 179400 -9612 179468 -9590 +rect 179400 -9646 179418 -9612 +rect 179452 -9646 179468 -9612 +rect 179400 -9830 179468 -9646 +rect 179400 -9844 179470 -9830 +rect 179400 -9878 179420 -9844 +rect 179454 -9878 179470 -9844 +rect 179400 -9896 179470 -9878 +rect 182750 -14818 182810 -14804 +rect 182748 -14852 182762 -14818 +rect 182796 -14852 182810 -14818 +rect 182748 -14862 182810 -14852 +rect 182748 -15050 182800 -14862 +rect 182742 -15062 182802 -15050 +rect 182742 -15096 182752 -15062 +rect 182786 -15096 182802 -15062 +rect 182742 -15108 182802 -15096 +<< via1 >> +rect 203361 178 203413 230 +rect 202630 -594 202682 -542 +<< metal2 >> +rect 196108 28170 196194 28938 +rect 196108 27644 196198 28170 +rect 167888 -2118 168006 -2108 +rect 196120 -2118 196198 27644 +rect 203350 322 203432 332 +rect 203348 315 203432 322 +rect 203348 259 203363 315 +rect 203419 259 203432 315 +rect 203348 242 203432 259 +rect 203348 230 203420 242 +rect 203348 178 203361 230 +rect 203413 178 203420 230 +rect 203348 164 203420 178 +rect 202496 -530 202556 -522 +rect 202496 -542 202688 -530 +rect 202496 -594 202630 -542 +rect 202682 -594 202688 -542 +rect 202496 -600 202688 -594 +rect 202496 -2118 202556 -600 +rect 167888 -2198 202556 -2118 +rect 167888 -3814 168006 -2198 +rect 196120 -2220 196198 -2198 +<< via2 >> +rect 203363 259 203419 315 +<< metal3 >> +rect 203346 435 203422 468 +rect 203346 378 203354 435 +rect 203348 371 203354 378 +rect 203418 424 203422 435 +rect 203418 371 203430 424 +rect 203348 336 203430 371 +rect 203350 315 203430 336 +rect 203350 259 203363 315 +rect 203419 259 203430 315 +rect 203350 242 203430 259 +<< via3 >> +rect 203354 371 203418 435 +<< metal4 >> +rect 201162 31044 201518 31050 +rect 197054 30978 201640 31044 +rect 201162 30968 201640 30978 +rect 201540 25428 201640 30968 +rect 201540 25220 201734 25428 +rect 201542 648 201734 25220 +rect 201542 576 203420 648 +rect 201554 414 201720 576 +rect 203348 516 203420 576 +rect 203346 496 203420 516 +rect 203346 435 203422 496 +rect 201554 314 201724 414 +rect 203346 371 203354 435 +rect 203418 424 203422 435 +rect 203418 371 203434 424 +rect 203346 352 203434 371 +rect 166934 -1628 167402 -1624 +rect 201558 -1628 201724 314 +rect 166934 -1828 201724 -1628 +rect 166946 -2842 167064 -1828 +rect 166936 -2912 167064 -2842 +rect 166936 -4012 167054 -2912 +use 9bitdac_layout 9bitdac_layout_0 +timestamp 1624221218 +transform 1 0 0 0 1 1976 +box 0 -1976 198772 52794 +use 9bitdac_layout 9bitdac_layout_1 +timestamp 1624221218 +transform 1 0 -428 0 1 -55716 +box 0 -1976 198772 52794 +use switch_layout switch_layout_0 +timestamp 1624221218 +transform 1 0 202454 0 1 -818 +box 40 172 2460 1180 +use res250_layout res250_layout_0 +timestamp 1624221218 +transform 1 0 165760 0 1 5268 +box 218 -342 484 -90 +<< labels >> +rlabel locali s 166002 5196 166002 5196 4 x1_vref5 +rlabel locali s 166178 4858 166178 4858 4 x2_vref1 +rlabel locali s 165594 -52506 165594 -52506 4 inp2 +rlabel locali s 830 53968 830 53968 4 inp1 +rlabel locali s 202424 -280 202424 -280 4 d9 +rlabel locali s 204962 -118 204962 -118 4 out_v +rlabel metal2 s 202538 -566 202538 -566 4 gnd! +rlabel metal4 s 203376 488 203376 488 4 vdd! +rlabel locali s 204708 432 204708 432 4 x1_out_v +rlabel locali s 204730 -712 204730 -712 4 x2_out_v +rlabel locali s 166580 414 166580 414 4 d0 +rlabel locali s 169642 144 169642 144 4 d1 +rlabel locali s 173170 -566 173170 -566 4 d2 +rlabel locali s 176582 -860 176582 -860 4 d3 +rlabel locali s 179432 -344 179432 -344 4 d4 +rlabel locali s 182764 -170 182764 -170 4 d5 +rlabel locali s 188000 -138 188000 -138 4 d6 +rlabel locali s 191500 -950 191500 -950 4 d7 +rlabel locali s 195706 -1220 195706 -1220 4 d8 +<< end >>
diff --git a/mag/2bitdac_layout.mag b/mag/2bitdac_layout.mag new file mode 100644 index 0000000..b4f3899 --- /dev/null +++ b/mag/2bitdac_layout.mag
@@ -0,0 +1,346 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1270 -2558 7762 2690 +<< locali >> +rect 400 1308 2254 1310 +rect 2630 1308 3014 1310 +rect 400 1270 3014 1308 +rect 400 1268 2872 1270 +rect 400 1066 442 1268 +rect 2252 1266 2632 1268 +rect 170 738 220 986 +rect 400 864 440 1066 +rect 2978 1060 3014 1270 +rect 150 438 200 538 +rect 402 438 440 864 +rect 3424 854 3468 856 +rect 3424 816 6160 854 +rect 3424 790 3468 816 +rect 3132 778 3468 790 +rect 3132 744 3145 778 +rect 3179 744 3468 778 +rect 3132 730 3468 744 +rect 3132 728 3464 730 +rect 778 658 816 662 +rect 150 398 440 438 +rect 768 410 816 658 +rect 6110 576 6160 816 +rect 150 290 200 398 +rect 672 170 728 184 +rect 390 169 728 170 +rect 390 135 682 169 +rect 716 135 728 169 +rect 768 168 818 410 +rect 908 176 964 182 +rect 2998 176 3056 306 +rect 6272 294 6502 306 +rect 6272 260 6281 294 +rect 6315 260 6502 294 +rect 6272 242 6502 260 +rect 908 174 3056 176 +rect 390 130 728 135 +rect 148 0 204 92 +rect 390 0 436 130 +rect 672 118 728 130 +rect 772 128 818 168 +rect 904 165 3056 174 +rect 904 131 918 165 +rect 952 131 3056 165 +rect 904 128 3056 131 +rect 772 124 816 128 +rect 668 6 722 20 +rect 668 4 678 6 +rect 148 -42 436 0 +rect 546 -28 678 4 +rect 712 -28 722 6 +rect 546 -40 722 -28 +rect 148 -340 204 -42 +rect 546 -202 590 -40 +rect 668 -46 722 -40 +rect 770 12 816 124 +rect 908 126 3056 128 +rect 908 124 3048 126 +rect 908 116 964 124 +rect 3832 78 4062 180 +rect 894 12 952 22 +rect 770 -26 818 12 +rect 894 8 3044 12 +rect 894 -26 904 8 +rect 938 -24 3044 8 +rect 938 -26 952 -24 +rect 1862 -26 2588 -24 +rect 770 -120 816 -26 +rect 894 -44 952 -26 +rect 696 -164 816 -120 +rect 192 -342 204 -340 +rect 166 -632 260 -542 +rect 200 -712 260 -632 +rect 544 -708 590 -202 +rect 768 -706 816 -164 +rect 3004 -222 3044 -24 +rect 6156 -482 6196 -172 +rect 4644 -486 4882 -484 +rect 5080 -486 5318 -484 +rect 5524 -486 5762 -484 +rect 5960 -486 6198 -482 +rect 4202 -488 6198 -486 +rect 3524 -492 3762 -490 +rect 3980 -492 6198 -488 +rect 3156 -509 6198 -492 +rect 3156 -543 3170 -509 +rect 3204 -538 6198 -509 +rect 3204 -540 5988 -538 +rect 3204 -542 4662 -540 +rect 4864 -542 5102 -540 +rect 5294 -542 5532 -540 +rect 5750 -542 5988 -540 +rect 3204 -543 4218 -542 +rect 3156 -544 4218 -543 +rect 3156 -546 3990 -544 +rect 3156 -548 3534 -546 +rect 3752 -548 3990 -546 +rect 3156 -550 3300 -548 +rect 358 -712 590 -708 +rect 776 -712 816 -706 +rect 200 -748 590 -712 +rect 200 -750 330 -748 +rect 200 -908 260 -750 +rect -10 -1140 40 -986 +rect 1584 -1098 1952 -1096 +rect 3034 -1098 3068 -972 +rect 332 -1100 380 -1098 +rect 548 -1100 3068 -1098 +rect 332 -1132 3068 -1100 +rect 332 -1134 2634 -1132 +rect 330 -1136 1594 -1134 +rect 1904 -1136 2634 -1134 +rect 330 -1138 704 -1136 +rect 330 -1140 380 -1138 +rect -10 -1174 380 -1140 +rect -10 -1234 40 -1174 +<< viali >> +rect 3145 744 3179 778 +rect 682 135 716 169 +rect 6281 260 6315 294 +rect 918 131 952 165 +rect 678 -28 712 6 +rect 904 -26 938 8 +rect 3170 -543 3204 -509 +<< metal1 >> +rect 1602 1126 1622 1200 +rect 1602 1124 1682 1126 +rect 1602 1106 1694 1124 +rect 1602 1054 1630 1106 +rect 1682 1054 1694 1106 +rect 1602 1036 1694 1054 +rect 3144 778 3180 780 +rect 3144 744 3145 778 +rect 3179 744 3180 778 +rect 3144 742 3180 744 +rect 4742 620 4864 642 +rect 4742 568 4789 620 +rect 4841 568 4864 620 +rect 4742 548 4864 568 +rect 906 327 966 374 +rect 906 275 909 327 +rect 961 275 966 327 +rect 906 230 966 275 +rect 6280 294 6316 296 +rect 6280 260 6281 294 +rect 6315 260 6316 294 +rect 6280 258 6316 260 +rect 672 169 728 184 +rect 908 176 964 182 +rect 672 168 682 169 +rect 670 135 682 168 +rect 716 168 728 169 +rect 904 168 966 176 +rect 716 165 966 168 +rect 716 135 918 165 +rect 670 131 918 135 +rect 952 131 966 165 +rect 670 130 966 131 +rect 670 128 964 130 +rect 672 118 728 128 +rect 908 116 964 128 +rect 668 12 722 20 +rect 894 12 952 22 +rect 668 8 952 12 +rect 668 6 904 8 +rect 668 -28 678 6 +rect 712 -26 904 6 +rect 938 -26 952 8 +rect 712 -28 722 -26 +rect 668 -46 722 -28 +rect 894 -44 952 -26 +rect 1644 -177 1732 -154 +rect 1644 -229 1665 -177 +rect 1717 -229 1732 -177 +rect 1644 -248 1732 -229 +rect 4030 -173 4112 -108 +rect 4030 -225 4039 -173 +rect 4091 -225 4112 -173 +rect 4030 -250 4112 -225 +rect 4058 -252 4112 -250 +rect 3170 -509 3204 -508 +rect 3170 -544 3204 -543 +rect 942 -955 1002 -904 +rect 942 -1007 943 -955 +rect 995 -1007 1002 -955 +rect 942 -1048 1002 -1007 +<< via1 >> +rect 1630 1054 1682 1106 +rect 4789 568 4841 620 +rect 909 275 961 327 +rect 1665 -229 1717 -177 +rect 4039 -225 4091 -173 +rect 943 -1007 995 -955 +<< metal2 >> +rect 1622 1202 1706 1234 +rect 1622 1146 1635 1202 +rect 1691 1146 1706 1202 +rect 1622 1130 1706 1146 +rect 1622 1106 1694 1130 +rect 1622 1054 1630 1106 +rect 1682 1054 1694 1106 +rect 1622 1034 1694 1054 +rect 4766 721 4866 752 +rect 4766 665 4788 721 +rect 4844 665 4866 721 +rect 4766 620 4866 665 +rect 4766 568 4789 620 +rect 4841 568 4866 620 +rect 4766 548 4866 568 +rect 872 327 968 338 +rect 872 275 909 327 +rect 961 275 968 327 +rect 872 258 968 275 +rect 872 -936 910 258 +rect 1656 -83 1732 -66 +rect 1656 -139 1665 -83 +rect 1721 -139 1732 -83 +rect 1656 -177 1732 -139 +rect 4000 -162 4042 -160 +rect 3910 -170 4094 -162 +rect 1656 -229 1665 -177 +rect 1717 -229 1732 -177 +rect 1656 -248 1732 -229 +rect 3900 -173 4094 -170 +rect 3900 -225 4039 -173 +rect 4091 -178 4094 -173 +rect 4091 -225 4096 -178 +rect 3900 -232 4096 -225 +rect 3900 -238 4094 -232 +rect 3900 -684 3948 -238 +rect 4000 -240 4042 -238 +rect 3900 -914 3950 -684 +rect 872 -942 922 -936 +rect 872 -955 1002 -942 +rect 872 -1007 943 -955 +rect 995 -1007 1002 -955 +rect 872 -1022 1002 -1007 +rect 874 -1250 922 -1022 +rect 3902 -1250 3950 -914 +rect 874 -1284 3950 -1250 +rect 874 -1298 3896 -1284 +<< via2 >> +rect 1635 1146 1691 1202 +rect 4788 665 4844 721 +rect 1665 -139 1721 -83 +<< metal3 >> +rect 1620 1402 1728 1426 +rect 1620 1338 1636 1402 +rect 1700 1338 1728 1402 +rect 1620 1316 1728 1338 +rect 1622 1234 1702 1316 +rect 1622 1202 1706 1234 +rect 1622 1146 1635 1202 +rect 1691 1146 1706 1202 +rect 1622 1130 1706 1146 +rect 1622 1126 1694 1130 +rect 4766 940 4868 956 +rect 4766 876 4784 940 +rect 4848 876 4868 940 +rect 4766 858 4868 876 +rect 4766 721 4866 858 +rect 4766 665 4788 721 +rect 4844 665 4866 721 +rect 4766 642 4866 665 +rect 1656 89 1746 104 +rect 1656 25 1668 89 +rect 1732 25 1746 89 +rect 1656 18 1746 25 +rect 1656 -83 1744 18 +rect 1656 -139 1665 -83 +rect 1721 -139 1744 -83 +rect 1656 -154 1744 -139 +<< via3 >> +rect 1636 1338 1700 1402 +rect 4784 876 4848 940 +rect 1668 25 1732 89 +<< metal4 >> +rect 2188 1426 4042 1428 +rect 4488 1426 4870 1430 +rect 1622 1402 4870 1426 +rect 1622 1338 1636 1402 +rect 1700 1338 4870 1402 +rect 1622 1322 4870 1338 +rect 1622 1320 4504 1322 +rect 1622 1318 2190 1320 +rect 4032 1318 4504 1320 +rect 1744 102 1854 1318 +rect 4766 956 4864 1322 +rect 4766 940 4868 956 +rect 4766 876 4784 940 +rect 4848 876 4868 940 +rect 4766 858 4868 876 +rect 1656 89 1854 102 +rect 1656 25 1668 89 +rect 1732 25 1854 89 +rect 1656 22 1854 25 +rect 1656 18 1772 22 +use switch_layout switch_layout_0 +timestamp 1624221218 +transform 1 0 3868 0 1 -434 +box 40 172 2460 1180 +use switch_layout switch_layout_1 +timestamp 1624221218 +transform 1 0 764 0 1 -1230 +box 40 172 2460 1180 +use switch_layout switch_layout_2 +timestamp 1624221218 +transform 1 0 732 0 1 50 +box 40 172 2460 1180 +use res250_layout res250_layout_0 +timestamp 1624221218 +transform 0 1 340 -1 0 -598 +box 218 -342 484 -90 +use res500_layout res500_layout_0 +timestamp 1624221218 +transform 0 1 296 -1 0 1046 +box 218 -288 598 -90 +use res500_layout res500_layout_1 +timestamp 1624221218 +transform 0 1 288 -1 0 -34 +box 218 -288 598 -90 +use res500_layout res500_layout_2 +timestamp 1624221218 +transform 0 1 288 -1 0 598 +box 218 -288 598 -90 +<< labels >> +rlabel locali s 200 816 200 816 4 vref1 +rlabel locali s 196 412 196 412 4 x1_inp1 +rlabel locali s 160 -128 160 -128 4 x1_inp2 +rlabel locali s 244 -730 244 -730 4 x2_inp1 +rlabel locali s 6 -1154 6 -1154 4 vref5 +rlabel locali s 780 -162 780 -162 4 d0 +rlabel locali s 3868 120 3868 120 4 d1 +rlabel locali s 3302 754 3302 754 4 x1_vout +rlabel locali s 3530 -520 3530 -520 4 x2_vout +rlabel locali s 6396 274 6396 274 4 out_v +rlabel metal4 s 2236 1374 2236 1374 4 vdd! +rlabel metal2 s 2062 -1274 2062 -1274 4 gnd! +<< end >>
diff --git a/mag/3bitdac_layout.mag b/mag/3bitdac_layout.mag new file mode 100644 index 0000000..af391fe --- /dev/null +++ b/mag/3bitdac_layout.mag
@@ -0,0 +1,196 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1314 -4320 11380 3924 +<< locali >> +rect 180 2182 232 2372 +rect 8780 1550 9674 1556 +rect 6592 1544 9674 1550 +rect 6458 1474 9674 1544 +rect 6458 1468 8854 1474 +rect 6458 1466 6636 1468 +rect 3838 959 3938 1414 +rect 3838 925 3870 959 +rect 3904 925 3938 959 +rect 3838 884 3938 925 +rect 9598 702 9670 1474 +rect 742 269 838 568 +rect 742 235 768 269 +rect 802 235 838 269 +rect 742 198 838 235 +rect 3802 523 3934 542 +rect 3802 489 3870 523 +rect 3904 489 3934 523 +rect 0 -18 208 16 +rect 170 -278 208 -18 +rect -54 -612 -16 -360 +rect 746 -499 838 -476 +rect 746 -533 776 -499 +rect 810 -533 838 -499 +rect 146 -612 200 -610 +rect -54 -654 200 -612 +rect 146 -696 200 -654 +rect 746 -624 838 -533 +rect 3802 -623 3934 489 +rect 9786 417 10120 434 +rect 9786 383 9805 417 +rect 9839 383 10120 417 +rect 9786 372 10120 383 +rect 7348 208 7494 300 +rect 746 -994 842 -624 +rect 3802 -657 3838 -623 +rect 3872 -657 3934 -623 +rect 3802 -684 3934 -657 +rect 3808 -1053 3908 -1038 +rect 3808 -1087 3840 -1053 +rect 3874 -1087 3908 -1053 +rect 3808 -1568 3908 -1087 +rect 9640 -1334 9708 -36 +rect 9526 -1338 9718 -1334 +rect 6422 -1342 7278 -1340 +rect 8758 -1342 9718 -1338 +rect 6422 -1406 9718 -1342 +rect 6422 -1408 8850 -1406 +rect 7220 -1410 8850 -1408 +rect 9526 -1414 9718 -1406 +rect 9640 -1416 9708 -1414 +rect -32 -2936 20 -2818 +rect -36 -3060 24 -2936 +<< viali >> +rect 3870 925 3904 959 +rect 768 235 802 269 +rect 3870 489 3904 523 +rect 776 -533 810 -499 +rect 9805 383 9839 417 +rect 3838 -657 3872 -623 +rect 3840 -1087 3874 -1053 +<< metal1 >> +rect 3834 959 3934 994 +rect 3834 925 3870 959 +rect 3904 925 3934 959 +rect 3834 523 3934 925 +rect 8272 734 8378 752 +rect 8272 682 8305 734 +rect 8357 682 8378 734 +rect 8272 670 8378 682 +rect 3834 489 3870 523 +rect 3904 489 3934 523 +rect 3834 464 3934 489 +rect 9802 417 9842 420 +rect 9802 383 9805 417 +rect 9839 383 9842 417 +rect 9802 380 9842 383 +rect 742 269 840 290 +rect 742 235 768 269 +rect 802 235 840 269 +rect 742 -499 840 235 +rect 7558 -40 7634 16 +rect 7558 -92 7572 -40 +rect 7624 -92 7634 -40 +rect 7558 -128 7634 -92 +rect 742 -533 776 -499 +rect 810 -533 840 -499 +rect 742 -556 840 -533 +rect 3804 -623 3904 -600 +rect 3804 -657 3838 -623 +rect 3872 -657 3904 -623 +rect 3804 -1053 3904 -657 +rect 3804 -1087 3840 -1053 +rect 3874 -1087 3904 -1053 +rect 3804 -1130 3904 -1087 +<< via1 >> +rect 8305 682 8357 734 +rect 7572 -92 7624 -40 +<< metal2 >> +rect 8290 823 8380 842 +rect 8290 767 8305 823 +rect 8361 767 8380 823 +rect 8290 734 8380 767 +rect 8290 682 8305 734 +rect 8357 682 8380 734 +rect 8290 670 8380 682 +rect 3456 -1282 3506 -6 +rect 7428 -22 7638 -18 +rect 7426 -40 7638 -22 +rect 7426 -92 7572 -40 +rect 7624 -92 7638 -40 +rect 7426 -122 7638 -92 +rect 7426 -272 7490 -122 +rect 7426 -586 7488 -272 +rect 3450 -2958 3510 -1282 +rect 7420 -2766 7492 -586 +rect 5068 -2840 6822 -2838 +rect 7420 -2840 7486 -2766 +rect 5068 -2850 7486 -2840 +rect 4896 -2852 7486 -2850 +rect 4292 -2854 7486 -2852 +rect 3880 -2896 7486 -2854 +rect 3880 -2898 5110 -2896 +rect 6762 -2898 7486 -2896 +rect 3880 -2900 4912 -2898 +rect 3880 -2902 4298 -2900 +<< via2 >> +rect 8305 767 8361 823 +<< metal3 >> +rect 8290 973 8380 988 +rect 8290 909 8304 973 +rect 8368 909 8380 973 +rect 8290 823 8380 909 +rect 8290 767 8305 823 +rect 8361 767 8380 823 +rect 8290 754 8380 767 +<< via3 >> +rect 8304 909 8368 973 +<< metal4 >> +rect 6774 2270 6876 2296 +rect 7720 2270 8386 2274 +rect 6340 2264 8386 2270 +rect 6228 2262 8386 2264 +rect 5886 2260 8386 2262 +rect 4868 2190 8386 2260 +rect 4868 2188 6242 2190 +rect 4868 2186 5900 2188 +rect 6340 2182 8386 2190 +rect 6774 -114 6876 2182 +rect 7720 2174 8386 2182 +rect 8292 1024 8380 2174 +rect 8290 973 8380 1024 +rect 8290 909 8304 973 +rect 8368 909 8380 973 +rect 8290 900 8380 909 +rect 6774 -176 6872 -114 +rect 5438 -216 6872 -176 +rect 4730 -332 6872 -216 +rect 4730 -336 5494 -332 +use res250_layout res250_layout_0 +timestamp 1624221218 +transform 0 1 296 -1 0 28 +box 218 -342 484 -90 +use switch_layout switch_layout_0 +timestamp 1624221218 +transform 1 0 7394 0 1 -310 +box 40 172 2460 1180 +use 2bitdac_layout 2bitdac_layout_0 +timestamp 1624221218 +transform 1 0 10 0 1 1234 +box -10 -1298 6502 1430 +use 2bitdac_layout 2bitdac_layout_1 +timestamp 1624221218 +transform 1 0 -24 0 1 -1650 +box -10 -1298 6502 1430 +<< labels >> +rlabel locali s -2 -2910 -2 -2910 4 inp2 +rlabel locali s 206 2306 206 2306 4 inp1 +rlabel locali s 184 -152 184 -152 4 x1_vref5 +rlabel locali s -40 -518 -40 -518 4 x2_vref1 +rlabel locali s 798 -706 798 -706 4 d0 +rlabel locali s 3838 -106 3838 -106 4 d1 +rlabel locali s 7412 268 7412 268 4 d2 +rlabel locali s 6704 1510 6704 1510 4 x1_out_v +rlabel locali s 6584 -1370 6584 -1370 4 x2_out_v +rlabel locali s 9986 400 9986 400 4 out_v +rlabel metal4 s 7546 2226 7546 2226 4 vdd! +rlabel metal2 s 7462 -2700 7462 -2700 4 gnd! +<< end >>
diff --git a/mag/4bitdac_layout.mag b/mag/4bitdac_layout.mag new file mode 100644 index 0000000..9ddf9c6 --- /dev/null +++ b/mag/4bitdac_layout.mag
@@ -0,0 +1,239 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1266 -7308 14774 6984 +<< locali >> +rect 232 5402 290 5482 +rect 13190 3488 13240 3490 +rect 10096 3434 13240 3488 +rect 10096 3428 12540 3434 +rect 7408 2028 7508 3300 +rect 7408 1994 7442 2028 +rect 7476 1994 7508 2028 +rect 7408 1962 7508 1994 +rect 3880 1546 3940 1602 +rect 3880 1420 3948 1546 +rect 7398 1424 7500 1478 +rect 3880 1414 3952 1420 +rect 3884 1069 3952 1414 +rect 3884 1035 3896 1069 +rect 3930 1035 3952 1069 +rect 3884 1022 3952 1035 +rect 7398 1390 7432 1424 +rect 7466 1390 7500 1424 +rect 7398 1034 7500 1390 +rect 7390 862 7500 1034 +rect 3880 741 3948 764 +rect 800 468 844 736 +rect 3880 707 3898 741 +rect 3932 707 3948 741 +rect 788 464 852 468 +rect 788 430 805 464 +rect 839 430 852 464 +rect 788 424 852 430 +rect 3880 386 3948 707 +rect 794 226 858 234 +rect 794 192 808 226 +rect 842 192 858 226 +rect 794 186 858 192 +rect 20 0 316 46 +rect 266 -280 316 0 +rect 800 -296 846 186 +rect 788 -306 864 -296 +rect 788 -317 866 -306 +rect 788 -351 809 -317 +rect 843 -351 866 -317 +rect 40 -572 90 -358 +rect 788 -360 866 -351 +rect 790 -370 866 -360 +rect 786 -539 860 -518 +rect 40 -622 282 -572 +rect 786 -573 806 -539 +rect 840 -573 860 -539 +rect 786 -592 860 -573 +rect 798 -754 844 -592 +rect 3880 -602 3950 386 +rect 7390 -32 7492 862 +rect 13190 806 13242 3434 +rect 13188 782 13242 806 +rect 13188 556 13240 782 +rect 13358 272 13514 284 +rect 13358 238 13370 272 +rect 13404 238 13514 272 +rect 13358 224 13514 238 +rect 10958 64 11044 158 +rect 7390 -120 7498 -32 +rect 3878 -621 3956 -602 +rect 3878 -655 3898 -621 +rect 3932 -655 3956 -621 +rect 3878 -676 3956 -655 +rect 796 -1042 846 -754 +rect 796 -1070 872 -1042 +rect 798 -1106 872 -1070 +rect 3884 -1071 3954 -1052 +rect 3884 -1105 3900 -1071 +rect 3934 -1105 3954 -1071 +rect 3884 -1584 3954 -1105 +rect 7396 -1152 7498 -120 +rect 7396 -1186 7428 -1152 +rect 7462 -1186 7498 -1152 +rect 7396 -1222 7498 -1186 +rect 7398 -1678 7492 -1626 +rect 7398 -1712 7422 -1678 +rect 7456 -1712 7492 -1678 +rect 7398 -2702 7492 -1712 +rect 13196 -2524 13258 -194 +rect 9972 -2584 13266 -2524 +rect 10 -6048 72 -5968 +<< viali >> +rect 7442 1994 7476 2028 +rect 3896 1035 3930 1069 +rect 7432 1390 7466 1424 +rect 3898 707 3932 741 +rect 805 430 839 464 +rect 808 192 842 226 +rect 809 -351 843 -317 +rect 806 -573 840 -539 +rect 13370 238 13404 272 +rect 3898 -655 3932 -621 +rect 3900 -1105 3934 -1071 +rect 7428 -1186 7462 -1152 +rect 7422 -1712 7456 -1678 +<< metal1 >> +rect 7392 2028 7506 2070 +rect 7392 1994 7442 2028 +rect 7476 1994 7506 2028 +rect 7392 1424 7506 1994 +rect 7392 1390 7432 1424 +rect 7466 1390 7506 1424 +rect 7392 1356 7506 1390 +rect 3884 1084 3930 1130 +rect 3880 1069 3948 1084 +rect 3880 1035 3896 1069 +rect 3930 1035 3948 1069 +rect 3880 741 3948 1035 +rect 3880 707 3898 741 +rect 3932 707 3948 741 +rect 3880 686 3948 707 +rect 11832 591 11926 606 +rect 11832 539 11859 591 +rect 11911 539 11926 591 +rect 11832 528 11926 539 +rect 798 470 844 502 +rect 798 468 846 470 +rect 788 464 852 468 +rect 788 430 805 464 +rect 839 430 852 464 +rect 788 424 852 430 +rect 800 234 846 424 +rect 13368 238 13370 272 +rect 13404 238 13406 272 +rect 794 226 858 234 +rect 794 192 808 226 +rect 842 192 858 226 +rect 794 186 858 192 +rect 11092 -208 11208 -132 +rect 11092 -260 11096 -208 +rect 11148 -260 11208 -208 +rect 11092 -278 11208 -260 +rect 788 -306 864 -296 +rect 788 -317 866 -306 +rect 788 -351 809 -317 +rect 843 -351 866 -317 +rect 788 -360 866 -351 +rect 790 -370 866 -360 +rect 800 -518 846 -370 +rect 786 -539 860 -518 +rect 786 -573 806 -539 +rect 840 -573 860 -539 +rect 786 -592 860 -573 +rect 3882 -602 3952 -596 +rect 3878 -621 3956 -602 +rect 3878 -655 3898 -621 +rect 3932 -655 3956 -621 +rect 3878 -676 3956 -655 +rect 3882 -1071 3952 -676 +rect 3882 -1105 3900 -1071 +rect 3934 -1105 3952 -1071 +rect 3882 -1128 3952 -1105 +rect 7396 -1134 7500 -1118 +rect 7390 -1152 7500 -1134 +rect 7390 -1186 7428 -1152 +rect 7462 -1186 7500 -1152 +rect 7390 -1218 7500 -1186 +rect 7390 -1678 7492 -1218 +rect 7390 -1712 7422 -1678 +rect 7456 -1712 7492 -1678 +rect 7390 -1750 7492 -1712 +<< via1 >> +rect 11859 539 11911 591 +rect 11096 -260 11148 -208 +<< metal2 >> +rect 11848 687 11924 702 +rect 11848 631 11860 687 +rect 11916 631 11924 687 +rect 11848 591 11924 631 +rect 11848 539 11859 591 +rect 11911 539 11924 591 +rect 11848 530 11924 539 +rect 6532 -216 6570 218 +rect 11090 -208 11164 -192 +rect 11090 -216 11096 -208 +rect 6532 -260 11096 -216 +rect 11148 -260 11164 -208 +rect 6532 -264 11164 -260 +rect 6532 -5868 6570 -264 +<< via2 >> +rect 11860 631 11916 687 +<< metal3 >> +rect 11850 826 11926 840 +rect 11850 772 11860 826 +rect 11848 762 11860 772 +rect 11924 762 11926 826 +rect 11848 687 11926 762 +rect 11848 631 11860 687 +rect 11916 631 11926 687 +rect 11848 620 11926 631 +<< via3 >> +rect 11860 762 11924 826 +<< metal4 >> +rect 6842 962 6920 3000 +rect 6820 884 11926 962 +rect 6842 -774 6920 884 +rect 11850 826 11926 884 +rect 11850 762 11860 826 +rect 11924 762 11926 826 +rect 11850 750 11926 762 +use res250_layout res250_layout_0 +timestamp 1624221218 +transform 0 -1 -48 1 0 -668 +box 218 -342 484 -90 +use switch_layout switch_layout_0 +timestamp 1624221218 +transform 1 0 10954 0 1 -454 +box 40 172 2460 1180 +use 3bitdac_layout 3bitdac_layout_0 +timestamp 1624221218 +transform 1 0 54 0 1 3060 +box -54 -3060 10120 2664 +use 3bitdac_layout 3bitdac_layout_1 +timestamp 1624221218 +transform 1 0 48 0 1 -2954 +box -54 -3060 10120 2664 +<< labels >> +rlabel locali s 13434 248 13434 248 4 out_v +rlabel locali s 10976 102 10976 102 4 d3 +rlabel locali s 7436 126 7436 126 4 d2 +rlabel locali s 3908 -10 3908 -10 4 d1 +rlabel locali s 818 -52 818 -52 4 d0 +rlabel locali s 202 -604 202 -604 4 x2_vref1 +rlabel locali s 292 -138 292 -138 4 x1_vref5 +rlabel locali s 40 -6024 40 -6024 4 inp2 +rlabel locali s 254 5442 254 5442 4 inp1 +rlabel locali s 10334 -2560 10334 -2560 4 x2_out_v +rlabel locali s 10594 3462 10594 3462 4 x1_out_v +rlabel metal2 s 10968 -246 10968 -246 4 gnd! +rlabel metal4 s 11590 914 11590 914 4 vdd! +<< end >>
diff --git a/mag/5bitdac_layout.mag b/mag/5bitdac_layout.mag new file mode 100644 index 0000000..d331ccf --- /dev/null +++ b/mag/5bitdac_layout.mag
@@ -0,0 +1,278 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1330 -13330 17632 13032 +<< locali >> +rect 236 11484 292 11620 +rect 13494 6278 16080 6312 +rect 13494 6276 16078 6278 +rect 10824 6080 11014 6204 +rect 10824 4040 10940 6080 +rect 10824 4006 10852 4040 +rect 10886 4006 10940 4040 +rect 10824 3958 10940 4006 +rect 7380 2087 7492 3404 +rect 7380 2053 7398 2087 +rect 7432 2053 7492 2087 +rect 7380 2030 7492 2053 +rect 10792 2876 10924 2974 +rect 10792 2842 10860 2876 +rect 10894 2842 10924 2876 +rect 10792 2020 10924 2842 +rect 16042 2424 16078 6276 +rect 16038 2214 16080 2424 +rect 16038 2198 16082 2214 +rect 3794 1520 3936 1620 +rect 3794 1080 3884 1520 +rect 3794 1046 3809 1080 +rect 3843 1046 3884 1080 +rect 3794 1020 3884 1046 +rect 7312 1373 7464 1454 +rect 7312 1339 7406 1373 +rect 7440 1339 7464 1373 +rect 806 856 822 866 +rect 800 842 822 856 +rect 804 828 822 842 +rect 754 503 822 828 +rect 754 469 778 503 +rect 812 469 822 503 +rect 754 438 822 469 +rect 3794 582 3884 628 +rect 3794 548 3817 582 +rect 3851 548 3884 582 +rect 3794 460 3884 548 +rect 766 163 834 178 +rect 766 129 776 163 +rect 810 129 834 163 +rect 14 -164 76 0 +rect 766 -187 834 129 +rect 3794 44 3892 460 +rect 766 -221 786 -187 +rect 820 -221 834 -187 +rect 766 -250 834 -221 +rect 168 -468 228 -402 +rect 762 -525 834 -482 +rect 762 -559 782 -525 +rect 816 -559 834 -525 +rect 762 -1038 834 -559 +rect 3802 -508 3892 44 +rect 7312 -294 7464 1339 +rect 3802 -542 3823 -508 +rect 3857 -542 3892 -508 +rect 3802 -582 3892 -542 +rect 3812 -998 3902 -958 +rect 3812 -1032 3835 -998 +rect 3869 -1032 3902 -998 +rect 3812 -1542 3902 -1032 +rect 7320 -965 7420 -294 +rect 7320 -999 7348 -965 +rect 7382 -999 7420 -965 +rect 10792 -974 10958 2020 +rect 16040 1784 16082 2198 +rect 16038 1776 16082 1784 +rect 16038 1344 16080 1776 +rect 16208 1061 16372 1072 +rect 16208 1027 16216 1061 +rect 16250 1027 16372 1061 +rect 16208 1016 16372 1027 +rect 13784 856 13886 946 +rect 7320 -1052 7420 -999 +rect 7332 -1769 7432 -1706 +rect 7332 -1803 7364 -1769 +rect 7398 -1803 7432 -1769 +rect 7332 -2636 7432 -1803 +rect 10826 -1780 10958 -974 +rect 16062 -1396 16098 598 +rect 10826 -1814 10886 -1780 +rect 10920 -1814 10958 -1780 +rect 10826 -1928 10958 -1814 +rect 10840 -2820 10972 -2706 +rect 10840 -2854 10886 -2820 +rect 10920 -2854 10972 -2820 +rect 10840 -5868 10972 -2854 +rect 16044 -3300 16098 -1396 +rect 16044 -5290 16080 -3300 +rect 16042 -5652 16082 -5290 +rect 13412 -5710 16082 -5652 +rect 13412 -5714 16074 -5710 +rect -54 -12070 4 -11964 +<< viali >> +rect 10852 4006 10886 4040 +rect 7398 2053 7432 2087 +rect 10860 2842 10894 2876 +rect 3809 1046 3843 1080 +rect 7406 1339 7440 1373 +rect 778 469 812 503 +rect 3817 548 3851 582 +rect 776 129 810 163 +rect 786 -221 820 -187 +rect 782 -559 816 -525 +rect 3823 -542 3857 -508 +rect 3835 -1032 3869 -998 +rect 7348 -999 7382 -965 +rect 16216 1027 16250 1061 +rect 7364 -1803 7398 -1769 +rect 10886 -1814 10920 -1780 +rect 10886 -2854 10920 -2820 +<< metal1 >> +rect 10808 4040 10916 4124 +rect 10808 4006 10852 4040 +rect 10886 4006 10916 4040 +rect 10808 2876 10916 4006 +rect 10808 2842 10860 2876 +rect 10894 2842 10916 2876 +rect 10808 2770 10916 2842 +rect 7376 2087 7476 2232 +rect 7376 2053 7398 2087 +rect 7432 2053 7476 2087 +rect 7376 1373 7476 2053 +rect 7376 1339 7406 1373 +rect 7440 1339 7476 1373 +rect 7376 1302 7476 1339 +rect 14674 1390 14798 1416 +rect 14674 1338 14725 1390 +rect 14777 1338 14798 1390 +rect 14674 1320 14798 1338 +rect 3794 1080 3884 1102 +rect 3794 1046 3809 1080 +rect 3843 1046 3884 1080 +rect 3794 582 3884 1046 +rect 16214 1061 16252 1064 +rect 16214 1027 16216 1061 +rect 16250 1027 16252 1061 +rect 16214 1024 16252 1027 +rect 16258 1020 16270 1066 +rect 16214 1018 16258 1020 +rect 3794 548 3817 582 +rect 3851 548 3884 582 +rect 762 503 830 534 +rect 3794 518 3884 548 +rect 13936 598 14048 664 +rect 13936 546 13952 598 +rect 14004 546 14048 598 +rect 13936 520 14048 546 +rect 762 469 778 503 +rect 812 469 830 503 +rect 762 163 830 469 +rect 762 129 776 163 +rect 810 129 830 163 +rect 762 106 830 129 +rect 762 -187 830 -172 +rect 762 -221 786 -187 +rect 820 -221 830 -187 +rect 762 -525 830 -221 +rect 762 -559 782 -525 +rect 816 -559 830 -525 +rect 762 -600 830 -559 +rect 3802 -508 3892 -482 +rect 3802 -542 3823 -508 +rect 3857 -542 3892 -508 +rect 3802 -998 3892 -542 +rect 3802 -1032 3835 -998 +rect 3869 -1032 3892 -998 +rect 3802 -1066 3892 -1032 +rect 7328 -965 7428 -912 +rect 7328 -999 7348 -965 +rect 7382 -999 7428 -965 +rect 7328 -1769 7428 -999 +rect 7328 -1803 7364 -1769 +rect 7398 -1803 7428 -1769 +rect 7328 -1842 7428 -1803 +rect 10848 -1780 10956 -1624 +rect 10848 -1814 10886 -1780 +rect 10920 -1814 10956 -1780 +rect 10848 -2820 10956 -1814 +rect 10848 -2854 10886 -2820 +rect 10920 -2854 10956 -2820 +rect 10848 -2978 10956 -2854 +<< via1 >> +rect 14725 1338 14777 1390 +rect 13952 546 14004 598 +<< metal2 >> +rect 10460 4878 10550 5848 +rect 10460 4866 13424 4878 +rect 10460 4774 13484 4866 +rect 13394 570 13484 4774 +rect 14702 1514 14802 1530 +rect 14700 1510 14802 1514 +rect 14700 1454 14725 1510 +rect 14781 1454 14802 1510 +rect 14700 1418 14802 1454 +rect 14700 1390 14800 1418 +rect 14700 1338 14725 1390 +rect 14777 1338 14800 1390 +rect 14700 1322 14800 1338 +rect 13938 598 14010 632 +rect 13938 570 13952 598 +rect 13390 546 13952 570 +rect 14004 546 14010 598 +rect 13390 518 14010 546 +rect 13394 -172 13484 518 +rect 13388 -254 13484 -172 +rect 13388 -4702 13478 -254 +rect 13388 -4746 13484 -4702 +rect 10758 -6932 10840 -6150 +rect 10744 -6936 12360 -6932 +rect 13394 -6936 13484 -4746 +rect 10744 -7006 13486 -6936 +rect 10758 -7010 10840 -7006 +rect 12108 -7010 13486 -7006 +rect 13394 -7022 13484 -7010 +<< via2 >> +rect 14725 1454 14781 1510 +<< metal3 >> +rect 14698 1626 14816 1660 +rect 14698 1562 14728 1626 +rect 14792 1562 14816 1626 +rect 14698 1540 14816 1562 +rect 14702 1510 14798 1540 +rect 14702 1454 14725 1510 +rect 14781 1454 14798 1510 +rect 14702 1434 14798 1454 +<< via3 >> +rect 14728 1562 14792 1626 +<< metal4 >> +rect 10134 3322 10222 7012 +rect 10134 1824 10224 3322 +rect 14698 1824 14814 1828 +rect 10130 1712 14814 1824 +rect 10134 -5100 10224 1712 +rect 14698 1626 14814 1712 +rect 14698 1562 14728 1626 +rect 14792 1562 14814 1626 +rect 14698 1540 14814 1562 +use res250_layout res250_layout_0 +timestamp 1624221218 +transform 1 0 -230 0 1 -62 +box 218 -342 484 -90 +use switch_layout switch_layout_0 +timestamp 1624221218 +transform 1 0 13800 0 1 336 +box 40 172 2460 1180 +use 4bitdac_layout 4bitdac_layout_0 +timestamp 1624221218 +transform 1 0 6 0 1 6048 +box -6 -6048 13514 5724 +use 4bitdac_layout 4bitdac_layout_1 +timestamp 1624221218 +transform 1 0 -64 0 1 -5936 +box -6 -6048 13514 5724 +<< labels >> +rlabel locali s 36 -122 36 -122 4 x1_vref5 +rlabel locali s 188 -432 188 -432 4 x2_vref1 +rlabel locali s 784 -46 784 -46 4 d0 +rlabel locali s 3842 -18 3842 -18 4 d1 +rlabel locali s 7356 -74 7356 -74 4 d2 +rlabel locali s 10878 -158 10878 -158 4 d3 +rlabel locali s 13812 896 13812 896 4 d4 +rlabel locali s 16320 1034 16320 1034 4 out_v +rlabel locali s 13596 -5688 13596 -5688 4 x2_out_v +rlabel locali s 13732 6288 13732 6288 4 x1_out_v +rlabel locali s 262 11508 262 11508 4 inp1 +rlabel locali s 258 11576 258 11576 4 inp1 +rlabel locali s -36 -12014 -36 -12014 4 inp2 +rlabel metal4 s 14500 1778 14500 1778 4 vdd! +rlabel metal2 s 13440 532 13440 532 4 gnd! +<< end >>
diff --git a/mag/6bitdac_layout.mag b/mag/6bitdac_layout.mag new file mode 100644 index 0000000..daef065 --- /dev/null +++ b/mag/6bitdac_layout.mag
@@ -0,0 +1,376 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1504 -25390 20976 25102 +<< locali >> +rect 302 23654 358 23734 +rect 16410 13092 19408 13156 +rect 19358 13050 19408 13092 +rect 13744 12924 13862 13024 +rect 13744 6592 13790 12924 +rect 19358 12682 19412 13050 +rect 19358 11948 19420 12682 +rect 19358 11592 19424 11948 +rect 19358 11198 19416 11592 +rect 19358 10832 19420 11198 +rect 19358 10068 19416 10832 +rect 19358 9674 19412 10068 +rect 19358 9330 19424 9674 +rect 19358 8946 19416 9330 +rect 19358 7038 19412 8946 +rect 19366 6664 19420 7038 +rect 13728 6575 13810 6592 +rect 13728 6541 13754 6575 +rect 13788 6541 13810 6575 +rect 13728 6522 13810 6541 +rect 10752 6176 11058 6318 +rect 13738 6190 13820 6208 +rect 10752 6172 10932 6176 +rect 10752 4848 10844 6172 +rect 13738 6156 13759 6190 +rect 13793 6156 13820 6190 +rect 13738 6138 13820 6156 +rect 10770 4804 10844 4848 +rect 10770 4018 10848 4804 +rect 10770 3984 10805 4018 +rect 10839 3984 10848 4018 +rect 10770 3946 10848 3984 +rect 7328 3404 7468 3486 +rect 7330 3272 7460 3404 +rect 10776 3312 10854 3374 +rect 10776 3278 10787 3312 +rect 10821 3278 10854 3312 +rect 7326 2298 7464 3272 +rect 7326 2264 7374 2298 +rect 7408 2264 7464 2298 +rect 7326 2226 7464 2264 +rect 10776 3004 10854 3278 +rect 3862 1257 3936 1772 +rect 10776 1562 10848 3004 +rect 3862 1223 3883 1257 +rect 3917 1223 3936 1257 +rect 3862 1194 3936 1223 +rect 7348 1450 7464 1544 +rect 7348 1416 7388 1450 +rect 7422 1416 7464 1450 +rect 806 531 864 904 +rect 806 497 821 531 +rect 855 497 864 531 +rect 806 486 864 497 +rect 3862 799 3946 828 +rect 3862 765 3881 799 +rect 3915 765 3946 799 +rect 806 327 864 342 +rect 806 293 816 327 +rect 850 293 864 327 +rect 10 -112 80 20 +rect -244 -180 80 -112 +rect 10 -182 80 -180 +rect 806 -174 864 293 +rect 806 -208 817 -174 +rect 851 -208 864 -174 +rect 806 -216 864 -208 +rect -70 -450 258 -386 +rect 3862 -437 3946 765 +rect 804 -494 862 -466 +rect 804 -528 817 -494 +rect 851 -528 862 -494 +rect 3862 -471 3893 -437 +rect 3927 -471 3946 -437 +rect 3862 -528 3946 -471 +rect 7348 -278 7464 1416 +rect 10776 696 10854 1562 +rect 10776 -14 10856 696 +rect 10774 -56 10856 -14 +rect 804 -1038 862 -528 +rect 3862 -955 3946 -916 +rect 3862 -989 3883 -955 +rect 3917 -989 3946 -955 +rect 3862 -1558 3946 -989 +rect 7348 -1044 7486 -278 +rect 7348 -1078 7412 -1044 +rect 7446 -1078 7486 -1044 +rect 7348 -1120 7486 -1078 +rect 7368 -1648 7486 -1600 +rect 7368 -1682 7414 -1648 +rect 7448 -1682 7486 -1648 +rect 7368 -2730 7486 -1682 +rect 10772 -2194 10856 -56 +rect 10772 -2228 10795 -2194 +rect 10829 -2228 10856 -2194 +rect 10772 -2256 10856 -2228 +rect 10780 -2748 10858 -2740 +rect 10780 -2816 10864 -2748 +rect 10780 -2850 10809 -2816 +rect 10843 -2850 10864 -2816 +rect 10780 -5774 10864 -2850 +rect 13748 -4448 13794 6138 +rect 19366 5536 19416 6664 +rect 19366 5142 19412 5536 +rect 19366 4764 19416 5142 +rect 19366 4404 19420 4764 +rect 19366 3356 19424 4404 +rect 19366 2962 19412 3356 +rect 19366 2244 19420 2962 +rect 19366 1880 19416 2244 +rect 19366 1188 19412 1880 +rect 19358 1106 19412 1188 +rect 19358 794 19408 1106 +rect 19550 506 19716 518 +rect 19550 472 19559 506 +rect 19593 472 19716 506 +rect 19550 456 19716 472 +rect 17108 300 17190 392 +rect 19422 -20 19532 42 +rect 13752 -4700 13792 -4448 +rect 13750 -4712 13792 -4700 +rect 13750 -4994 13790 -4712 +rect 13748 -5006 13790 -4994 +rect 13748 -5530 13788 -5006 +rect 13734 -5552 13812 -5530 +rect 13734 -5586 13758 -5552 +rect 13792 -5586 13812 -5552 +rect 13734 -5614 13812 -5586 +rect 10780 -5850 10888 -5774 +rect 13730 -5804 13808 -5776 +rect 13730 -5838 13757 -5804 +rect 13791 -5838 13808 -5804 +rect 13730 -5860 13808 -5838 +rect 13748 -6196 13788 -5860 +rect 13748 -6212 13792 -6196 +rect 13750 -11026 13792 -6212 +rect 19472 -10888 19532 -20 +rect 16320 -10972 19532 -10888 +rect 16320 -10974 19466 -10972 +rect 13750 -11034 13828 -11026 +rect 13750 -11118 13792 -11034 +rect 13750 -11126 13818 -11118 +rect -90 -24130 -32 -24014 +<< viali >> +rect 13754 6541 13788 6575 +rect 13759 6156 13793 6190 +rect 10805 3984 10839 4018 +rect 10787 3278 10821 3312 +rect 7374 2264 7408 2298 +rect 3883 1223 3917 1257 +rect 7388 1416 7422 1450 +rect 821 497 855 531 +rect 3881 765 3915 799 +rect 816 293 850 327 +rect 817 -208 851 -174 +rect 817 -528 851 -494 +rect 3893 -471 3927 -437 +rect 3883 -989 3917 -955 +rect 7412 -1078 7446 -1044 +rect 7414 -1682 7448 -1648 +rect 10795 -2228 10829 -2194 +rect 10809 -2850 10843 -2816 +rect 19559 472 19593 506 +rect 13758 -5586 13792 -5552 +rect 13757 -5838 13791 -5804 +<< metal1 >> +rect 13728 6575 13810 6592 +rect 13728 6541 13754 6575 +rect 13788 6541 13810 6575 +rect 13728 6522 13810 6541 +rect 13750 6208 13790 6522 +rect 13738 6190 13820 6208 +rect 13738 6156 13759 6190 +rect 13793 6156 13820 6190 +rect 13738 6138 13820 6156 +rect 13750 6132 13790 6138 +rect 10770 4018 10848 4098 +rect 10770 3984 10805 4018 +rect 10839 3984 10848 4018 +rect 10770 3418 10848 3984 +rect 10776 3406 10848 3418 +rect 10776 3312 10854 3406 +rect 10776 3278 10787 3312 +rect 10821 3278 10854 3312 +rect 10776 3026 10854 3278 +rect 7326 2298 7464 2376 +rect 7326 2264 7374 2298 +rect 7408 2264 7464 2298 +rect 7326 1450 7464 2264 +rect 7326 1416 7388 1450 +rect 7422 1416 7464 1450 +rect 7326 1330 7464 1416 +rect 3862 1257 3936 1290 +rect 3862 1223 3883 1257 +rect 3917 1223 3936 1257 +rect 3862 799 3936 1223 +rect 3862 765 3881 799 +rect 3915 765 3936 799 +rect 3862 712 3936 765 +rect 18010 827 18118 840 +rect 18010 775 18042 827 +rect 18094 775 18118 827 +rect 18010 760 18118 775 +rect 804 531 868 554 +rect 804 497 821 531 +rect 855 497 868 531 +rect 19590 510 19608 518 +rect 804 490 868 497 +rect 19558 506 19608 510 +rect 808 348 866 490 +rect 19558 472 19559 506 +rect 19593 472 19608 506 +rect 19558 468 19608 472 +rect 19590 462 19608 468 +rect 806 328 866 348 +rect 804 327 866 328 +rect 804 293 816 327 +rect 850 293 866 327 +rect 804 290 866 293 +rect 804 286 860 290 +rect 806 266 860 286 +rect 17252 41 17368 102 +rect 17252 -11 17281 41 +rect 17333 -11 17368 41 +rect 17252 -40 17368 -11 +rect 804 -174 866 -160 +rect 804 -190 817 -174 +rect 806 -208 817 -190 +rect 851 -190 866 -174 +rect 851 -208 864 -190 +rect 806 -494 864 -208 +rect 806 -528 817 -494 +rect 851 -528 864 -494 +rect 806 -554 864 -528 +rect 3862 -437 3946 -386 +rect 3862 -471 3893 -437 +rect 3927 -471 3946 -437 +rect 3862 -955 3946 -471 +rect 3862 -989 3883 -955 +rect 3917 -989 3946 -955 +rect 3862 -1028 3946 -989 +rect 7358 -1044 7496 -950 +rect 7358 -1078 7412 -1044 +rect 7446 -1078 7496 -1044 +rect 7358 -1648 7496 -1078 +rect 7358 -1682 7414 -1648 +rect 7448 -1682 7496 -1648 +rect 7358 -1792 7496 -1682 +rect 10772 -2194 10866 -2116 +rect 10772 -2228 10795 -2194 +rect 10829 -2228 10866 -2194 +rect 10772 -2268 10866 -2228 +rect 10770 -2658 10866 -2268 +rect 10770 -2748 10858 -2658 +rect 10770 -2816 10864 -2748 +rect 10770 -2850 10809 -2816 +rect 10843 -2850 10864 -2816 +rect 10770 -2912 10864 -2850 +rect 13734 -5552 13812 -5530 +rect 13734 -5586 13758 -5552 +rect 13792 -5586 13812 -5552 +rect 13734 -5614 13812 -5586 +rect 13748 -5776 13788 -5614 +rect 13730 -5804 13808 -5776 +rect 13730 -5838 13757 -5804 +rect 13791 -5838 13808 -5804 +rect 13730 -5860 13808 -5838 +<< via1 >> +rect 18042 775 18094 827 +rect 17281 -11 17333 41 +<< metal2 >> +rect 13448 5058 16794 5164 +rect 16686 50 16786 5058 +rect 18028 911 18120 940 +rect 18028 902 18050 911 +rect 18030 855 18050 902 +rect 18106 855 18120 911 +rect 18030 827 18120 855 +rect 18030 775 18042 827 +rect 18094 775 18120 827 +rect 18030 760 18120 775 +rect 17272 50 17354 52 +rect 16686 41 17354 50 +rect 16686 0 17281 41 +rect 16686 -4344 16786 0 +rect 17272 -11 17281 0 +rect 17333 -11 17354 41 +rect 17272 -28 17354 -11 +rect 16680 -6858 16794 -4344 +rect 16680 -6972 16808 -6858 +rect 16686 -7334 16808 -6972 +rect 13370 -7440 16808 -7334 +rect 16686 -7468 16808 -7440 +<< via2 >> +rect 18050 855 18106 911 +<< metal3 >> +rect 18030 1042 18120 1062 +rect 18030 978 18045 1042 +rect 18109 978 18120 1042 +rect 18030 911 18120 978 +rect 18030 855 18050 911 +rect 18106 855 18120 911 +rect 18030 844 18120 855 +<< via3 >> +rect 18045 978 18109 1042 +<< metal4 >> +rect 17440 7122 18112 7124 +rect 16590 7120 18112 7122 +rect 15890 7116 18112 7120 +rect 15122 7114 18112 7116 +rect 13468 7106 18112 7114 +rect 12650 7100 18112 7106 +rect 11842 7052 18112 7100 +rect 11842 7050 16780 7052 +rect 11842 7046 16012 7050 +rect 11842 7044 15172 7046 +rect 11842 7036 13540 7044 +rect 11842 7030 12732 7036 +rect 18030 3468 18112 7052 +rect 18030 3398 18116 3468 +rect 18030 2540 18124 3398 +rect 18032 2156 18124 2540 +rect 17972 2150 18124 2156 +rect 14668 2098 18124 2150 +rect 14660 2070 18124 2098 +rect 14660 -9234 14766 2070 +rect 17972 2068 18124 2070 +rect 18032 1822 18124 2068 +rect 18030 1806 18124 1822 +rect 18030 1076 18122 1806 +rect 18030 1042 18120 1076 +rect 18030 978 18045 1042 +rect 18109 978 18120 1042 +rect 18030 962 18120 978 +rect 14660 -9304 14784 -9234 +rect 14668 -10260 14784 -9304 +use res250_layout res250_layout_0 +timestamp 1624221218 +transform 1 0 -462 0 1 -66 +box 218 -342 484 -90 +use switch_layout switch_layout_0 +timestamp 1624221218 +transform 1 0 17134 0 1 -222 +box 40 172 2460 1180 +use 5bitdac_layout 5bitdac_layout_0 +timestamp 1624221218 +transform 1 0 68 0 1 12070 +box -70 -12070 16372 11772 +use 5bitdac_layout 5bitdac_layout_1 +timestamp 1624221218 +transform 1 0 -32 0 1 -11978 +box -70 -12070 16372 11772 +<< labels >> +rlabel locali s 19666 494 19666 494 4 out_v +rlabel locali s 17138 330 17138 330 4 d5 +rlabel locali s 19384 1048 19384 1048 4 x1_out_v +rlabel locali s 19514 -126 19514 -126 4 x2_out_v +rlabel locali s -160 -152 -160 -152 4 x1_vref5 +rlabel locali s 64 -428 64 -428 4 x2_vref1 +rlabel locali s -66 -24090 -66 -24090 4 inp2 +rlabel locali s 322 23712 322 23712 4 inp1 +rlabel locali s 834 58 834 58 4 d0 +rlabel locali s 3912 -58 3912 -58 4 d1 +rlabel locali s 7406 -58 7406 -58 4 d2 +rlabel locali s 10798 -618 10798 -618 4 d3 +rlabel locali s 13766 -734 13766 -734 4 d4 +rlabel metal4 s 18068 1250 18068 1250 4 vdd! +rlabel metal2 s 16740 20 16740 20 4 gnd! +<< end >>
diff --git a/mag/7bitdac_layout.mag b/mag/7bitdac_layout.mag new file mode 100644 index 0000000..57aebc4 --- /dev/null +++ b/mag/7bitdac_layout.mag
@@ -0,0 +1,592 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1512 -3716 46822 49946 +<< locali >> +rect 19916 48682 19962 48686 +rect 19916 48680 19964 48682 +rect 19916 48672 19966 48680 +rect 19916 48638 19924 48672 +rect 19958 48670 19966 48672 +rect 43760 48670 45162 48678 +rect 19958 48640 45162 48670 +rect 19958 48638 43838 48640 +rect 19916 48632 43838 48638 +rect 19916 48630 27254 48632 +rect 45116 48624 45162 48640 +rect 11768 48096 20162 48100 +rect -252 48050 20860 48096 +rect -252 48046 11818 48050 +rect -252 48040 3448 48046 +rect -246 -164 -194 48040 +rect 544 47846 602 48006 +rect 19916 47982 19976 47990 +rect 19916 47948 19930 47982 +rect 19964 47948 19976 47982 +rect 19916 47940 19976 47948 +rect 19918 30780 19964 47940 +rect 20810 47820 20858 48050 +rect 45116 46140 45166 48624 +rect 19918 30744 19970 30780 +rect 19922 27384 19970 30744 +rect 19916 27342 19970 27384 +rect 19916 26696 19964 27342 +rect 19916 26662 19966 26696 +rect 19918 26004 19966 26662 +rect 45116 26240 45170 46140 +rect 45116 26204 45180 26240 +rect 19918 25974 19970 26004 +rect 19922 24586 19970 25974 +rect 45120 25704 45180 26204 +rect 45122 25350 45176 25704 +rect 45316 25065 45562 25086 +rect 45316 25031 45340 25065 +rect 45374 25031 45562 25065 +rect 45316 25018 45562 25031 +rect 42884 24848 42968 24952 +rect 41604 24610 42370 24614 +rect 40178 24554 42372 24610 +rect 40178 24550 41694 24554 +rect 17260 13452 17380 24516 +rect 17260 13418 17300 13452 +rect 17334 13418 17380 13452 +rect 17260 13380 17380 13418 +rect 37596 13344 37638 24484 +rect 42332 24162 42372 24554 +rect 45176 24166 45216 24602 +rect 43884 24162 45222 24166 +rect 42332 24122 45222 24162 +rect 42332 24120 44692 24122 +rect 42332 24116 43924 24120 +rect 37596 13310 37602 13344 +rect 37636 13310 37638 13344 +rect 37596 13294 37638 13310 +rect 13936 12996 14044 13104 +rect 17230 13014 17360 13046 +rect 13946 9290 14034 12996 +rect 17230 12980 17280 13014 +rect 17314 12980 17360 13014 +rect 17230 11702 17360 12980 +rect 17230 11514 17368 11702 +rect 13928 8130 14034 9290 +rect 13928 7460 14016 8130 +rect 13928 6810 14024 7460 +rect 13928 6776 13962 6810 +rect 13996 6776 14024 6810 +rect 13930 6740 14024 6776 +rect 10834 6284 11118 6382 +rect 10838 5450 10908 6284 +rect 10830 5384 10908 5450 +rect 13928 6216 14016 6278 +rect 13928 6182 13952 6216 +rect 13986 6182 14016 6216 +rect 10830 4776 10904 5384 +rect 10824 4474 10904 4776 +rect 10824 3867 10898 4474 +rect 13928 4124 14016 6182 +rect 13930 4052 14012 4124 +rect 13930 3918 14042 4052 +rect 10824 3833 10845 3867 +rect 10879 3833 10898 3867 +rect 10824 3800 10898 3833 +rect 7484 3468 7582 3552 +rect 10812 3531 10886 3560 +rect 10812 3497 10819 3531 +rect 10853 3497 10886 3531 +rect 7486 2912 7540 3468 +rect 7482 2115 7542 2912 +rect 10812 2874 10886 3497 +rect 7482 2081 7493 2115 +rect 7527 2081 7542 2115 +rect 7482 2030 7542 2081 +rect 7482 1739 7542 1760 +rect 3982 1706 4008 1724 +rect 3982 1202 4040 1706 +rect 3982 1168 3995 1202 +rect 4029 1168 4040 1202 +rect 3982 1154 4040 1168 +rect 7482 1705 7493 1739 +rect 7527 1705 7542 1739 +rect 7482 1074 7542 1705 +rect 3970 1012 4044 1022 +rect 942 954 1030 980 +rect 3970 978 3991 1012 +rect 4025 978 4044 1012 +rect 942 700 1012 954 +rect 3970 930 4044 978 +rect 7468 1000 7542 1074 +rect 3970 796 4040 930 +rect 942 692 1010 700 +rect 944 634 1010 692 +rect 3966 690 4040 796 +rect 944 604 1008 634 +rect 936 596 1008 604 +rect 3966 600 4020 690 +rect 936 562 953 596 +rect 987 562 1008 596 +rect 936 550 1008 562 +rect 944 412 1012 418 +rect 944 406 1018 412 +rect 944 372 963 406 +rect 997 372 1018 406 +rect 944 364 1018 372 +rect 944 358 1010 364 +rect 948 290 1010 358 +rect 948 168 1012 290 +rect 42 -2 214 34 +rect 42 -118 104 -2 +rect 944 -28 1012 168 +rect 3938 76 4020 600 +rect 7468 392 7538 1000 +rect 10810 394 10898 2874 +rect 13934 1138 14042 3918 +rect 17248 1390 17368 11514 +rect 34244 7424 34288 13136 +rect 37590 12930 37634 12962 +rect 37590 12896 37596 12930 +rect 37630 12896 37634 12930 +rect 37590 12880 37634 12896 +rect 34236 7310 34288 7424 +rect 34236 6627 34286 7310 +rect 34236 6593 34242 6627 +rect 34276 6593 34286 6627 +rect 34236 6578 34286 6593 +rect 31008 6268 31386 6392 +rect 31008 6160 31132 6268 +rect 34242 6230 34286 6238 +rect 34238 6224 34286 6230 +rect 34238 6190 34242 6224 +rect 34276 6190 34286 6224 +rect 34238 6172 34286 6190 +rect 31018 4026 31130 6160 +rect 31002 3834 31144 4026 +rect 31002 3800 31064 3834 +rect 31098 3800 31144 3834 +rect 31002 3734 31144 3800 +rect 27776 2084 27854 3514 +rect 27776 2050 27803 2084 +rect 27837 2050 27854 2084 +rect 27776 1984 27854 2050 +rect 31040 3402 31128 3448 +rect 31040 3368 31070 3402 +rect 31104 3368 31128 3402 +rect 3938 38 4018 76 +rect -246 -360 -192 -164 +rect -246 -362 172 -360 +rect 214 -362 308 -350 +rect -246 -416 308 -362 +rect -118 -418 308 -416 +rect 214 -420 308 -418 +rect 936 -1568 1012 -28 +rect 936 -1940 1014 -1568 +rect 936 -2396 1016 -1940 +rect 3930 -2024 4018 38 +rect 7436 -1950 7548 392 +rect 10804 -1788 10898 394 +rect 13890 764 14042 1138 +rect 13890 -1484 14012 764 +rect 17228 -1042 17408 1390 +rect 24250 1239 24336 1754 +rect 24250 1205 24282 1239 +rect 24316 1205 24336 1239 +rect 24250 1178 24336 1205 +rect 27766 1612 27844 1676 +rect 27766 1578 27785 1612 +rect 27819 1578 27844 1612 +rect 21198 568 21264 920 +rect 21198 534 21207 568 +rect 21241 534 21264 568 +rect 21198 528 21264 534 +rect 24238 915 24324 984 +rect 24238 881 24270 915 +rect 24304 881 24324 915 +rect 21206 526 21242 528 +rect 21190 358 21256 374 +rect 21190 324 21207 358 +rect 21241 324 21256 358 +rect 21190 68 21256 324 +rect 21190 -18 21258 68 +rect 20414 -128 20468 -28 +rect 21212 -952 21258 -18 +rect 24238 -60 24324 881 +rect 27766 272 27844 1578 +rect 31040 1532 31128 3368 +rect 31032 966 31146 1532 +rect 31032 516 31176 966 +rect 27712 146 27844 272 +rect 24238 -912 24298 -60 +rect 24236 -929 24298 -912 +rect 21206 -966 21268 -952 +rect 21206 -1000 21216 -966 +rect 21250 -1000 21268 -966 +rect 24236 -963 24252 -929 +rect 24286 -963 24298 -929 +rect 27712 -892 27810 146 +rect 27712 -926 27733 -892 +rect 27767 -926 27810 -892 +rect 27712 -962 27810 -926 +rect 31048 -855 31176 516 +rect 34242 472 34286 6172 +rect 37592 2112 37634 12880 +rect 34202 418 34286 472 +rect 34202 334 34296 418 +rect 34210 -218 34296 334 +rect 31048 -889 31101 -855 +rect 31135 -889 31176 -855 +rect 24236 -996 24298 -963 +rect 31048 -978 31176 -889 +rect 34202 -318 34296 -218 +rect 34202 -902 34288 -318 +rect 34202 -936 34220 -902 +rect 34254 -936 34288 -902 +rect 34202 -954 34288 -936 +rect 21206 -1006 21268 -1000 +rect 37532 -1042 37652 2112 +rect 17198 -1200 37654 -1042 +rect 17198 -1216 19098 -1200 +rect 27596 -1222 37654 -1200 +rect 27596 -1252 31946 -1222 +rect 33618 -1470 34274 -1452 +rect 20416 -1484 34274 -1470 +rect 13890 -1486 34274 -1484 +rect 13890 -1520 34224 -1486 +rect 34258 -1520 34274 -1486 +rect 13890 -1606 34274 -1520 +rect 13890 -1620 20582 -1606 +rect 33618 -1620 34274 -1606 +rect 28184 -1740 31172 -1726 +rect 21244 -1756 31172 -1740 +rect 14370 -1767 31172 -1756 +rect 14370 -1788 31081 -1767 +rect 10804 -1801 31081 -1788 +rect 31115 -1801 31172 -1767 +rect 10804 -1854 31172 -1801 +rect 10804 -1868 28408 -1854 +rect 10804 -1884 21406 -1868 +rect 10804 -1908 14418 -1884 +rect 10892 -1916 14418 -1908 +rect 7412 -1986 7552 -1950 +rect 11356 -1984 11698 -1976 +rect 11356 -1986 24578 -1984 +rect 7412 -2020 24578 -1986 +rect 3930 -2272 4010 -2024 +rect 7412 -2052 27818 -2020 +rect 7412 -2086 27749 -2052 +rect 27783 -2086 27818 -2052 +rect 7412 -2120 27818 -2086 +rect 7412 -2124 24578 -2120 +rect 7412 -2130 11500 -2124 +rect 7412 -2148 7552 -2130 +rect 3928 -2276 4048 -2272 +rect 12266 -2276 20764 -2260 +rect 3928 -2285 24300 -2276 +rect 3928 -2319 24254 -2285 +rect 24288 -2319 24300 -2285 +rect 3928 -2342 24300 -2319 +rect 3928 -2358 12398 -2342 +rect 942 -2398 1016 -2396 +rect 21200 -2398 21260 -2390 +rect 942 -2400 4086 -2398 +rect 19604 -2400 21260 -2398 +rect 942 -2405 21260 -2400 +rect 942 -2439 21211 -2405 +rect 21245 -2439 21260 -2405 +rect 942 -2448 21260 -2439 +rect 942 -2454 19742 -2448 +rect 21200 -2452 21260 -2448 +rect 942 -2456 1016 -2454 +rect 4060 -2456 19742 -2454 +<< viali >> +rect 19924 48638 19958 48672 +rect 19930 47948 19964 47982 +rect 45340 25031 45374 25065 +rect 17300 13418 17334 13452 +rect 37602 13310 37636 13344 +rect 17280 12980 17314 13014 +rect 13962 6776 13996 6810 +rect 13952 6182 13986 6216 +rect 10845 3833 10879 3867 +rect 10819 3497 10853 3531 +rect 7493 2081 7527 2115 +rect 3995 1168 4029 1202 +rect 7493 1705 7527 1739 +rect 3991 978 4025 1012 +rect 953 562 987 596 +rect 963 372 997 406 +rect 37596 12896 37630 12930 +rect 34242 6593 34276 6627 +rect 34242 6190 34276 6224 +rect 31064 3800 31098 3834 +rect 27803 2050 27837 2084 +rect 31070 3368 31104 3402 +rect 24282 1205 24316 1239 +rect 27785 1578 27819 1612 +rect 21207 534 21241 568 +rect 24270 881 24304 915 +rect 21207 324 21241 358 +rect 21216 -1000 21250 -966 +rect 24252 -963 24286 -929 +rect 27733 -926 27767 -892 +rect 31101 -889 31135 -855 +rect 34220 -936 34254 -902 +rect 34224 -1520 34258 -1486 +rect 31081 -1801 31115 -1767 +rect 27749 -2086 27783 -2052 +rect 24254 -2319 24288 -2285 +rect 21211 -2439 21245 -2405 +<< metal1 >> +rect 19916 48680 19962 48686 +rect 19916 48672 19966 48680 +rect 19916 48638 19924 48672 +rect 19958 48638 19966 48672 +rect 19916 48630 19966 48638 +rect 19916 47990 19962 48630 +rect 19916 47982 19976 47990 +rect 19916 47948 19930 47982 +rect 19964 47948 19976 47982 +rect 19916 47940 19976 47948 +rect 43774 25378 43882 25392 +rect 43774 25326 43811 25378 +rect 43863 25326 43882 25378 +rect 43774 25316 43882 25326 +rect 45316 25065 45392 25084 +rect 45316 25031 45340 25065 +rect 45374 25031 45392 25065 +rect 45316 25018 45392 25031 +rect 43050 24608 43134 24662 +rect 43050 24556 43063 24608 +rect 43115 24556 43134 24608 +rect 43050 24518 43134 24556 +rect 17230 13452 17378 13492 +rect 17230 13418 17300 13452 +rect 17334 13418 17378 13452 +rect 17230 13014 17378 13418 +rect 17230 12980 17280 13014 +rect 17314 12980 17378 13014 +rect 17230 12934 17378 12980 +rect 37590 13344 37642 13364 +rect 37590 13310 37602 13344 +rect 37636 13310 37642 13344 +rect 37590 12930 37642 13310 +rect 37590 12896 37596 12930 +rect 37630 12896 37642 12930 +rect 37590 12878 37642 12896 +rect 13926 6810 14020 6856 +rect 13926 6776 13962 6810 +rect 13996 6776 14020 6810 +rect 13926 6216 14020 6776 +rect 13926 6182 13952 6216 +rect 13986 6182 14020 6216 +rect 13926 6136 14020 6182 +rect 34236 6627 34284 6668 +rect 34236 6593 34242 6627 +rect 34276 6593 34284 6627 +rect 34236 6224 34284 6593 +rect 34236 6190 34242 6224 +rect 34276 6190 34284 6224 +rect 34236 6170 34284 6190 +rect 10802 3867 10888 3910 +rect 10802 3833 10845 3867 +rect 10879 3833 10888 3867 +rect 10802 3531 10888 3833 +rect 10802 3497 10819 3531 +rect 10853 3497 10888 3531 +rect 10802 3480 10888 3497 +rect 31014 3834 31138 3886 +rect 31014 3800 31064 3834 +rect 31098 3800 31138 3834 +rect 31014 3402 31138 3800 +rect 31014 3368 31070 3402 +rect 31104 3368 31138 3402 +rect 31014 3328 31138 3368 +rect 7482 2115 7550 2156 +rect 7482 2081 7493 2115 +rect 7527 2081 7550 2115 +rect 7482 1739 7550 2081 +rect 7482 1705 7493 1739 +rect 7527 1705 7550 1739 +rect 7482 1680 7550 1705 +rect 27766 2084 27854 2172 +rect 27766 2050 27803 2084 +rect 27837 2050 27854 2084 +rect 27766 1612 27854 2050 +rect 27766 1578 27785 1612 +rect 27819 1578 27854 1612 +rect 27766 1544 27854 1578 +rect 24220 1239 24328 1312 +rect 3970 1202 4040 1226 +rect 3970 1168 3995 1202 +rect 4029 1168 4040 1202 +rect 3970 1012 4040 1168 +rect 3970 978 3991 1012 +rect 4025 978 4040 1012 +rect 3970 964 4040 978 +rect 24220 1205 24282 1239 +rect 24316 1205 24328 1239 +rect 24220 915 24328 1205 +rect 24220 881 24270 915 +rect 24304 881 24328 915 +rect 24220 856 24328 881 +rect 944 604 1008 614 +rect 936 596 1008 604 +rect 936 562 953 596 +rect 987 562 1008 596 +rect 936 526 1008 562 +rect 21188 568 21262 592 +rect 21188 534 21207 568 +rect 21241 534 21262 568 +rect 936 518 1010 526 +rect 932 474 1020 518 +rect 932 470 1012 474 +rect 950 424 1012 470 +rect 944 412 1012 424 +rect 944 406 1018 412 +rect 944 372 963 406 +rect 997 372 1018 406 +rect 944 364 1018 372 +rect 944 362 1010 364 +rect 21188 358 21262 534 +rect 21188 324 21207 358 +rect 21241 324 21262 358 +rect 21188 312 21262 324 +rect 21188 306 21260 312 +rect 27712 -884 27808 -828 +rect 31048 -855 31176 -802 +rect 27712 -892 27812 -884 +rect 24236 -929 24298 -892 +rect 21206 -966 21268 -952 +rect 21206 -1000 21216 -966 +rect 21250 -1000 21268 -966 +rect 21206 -1006 21268 -1000 +rect 24236 -963 24252 -929 +rect 24286 -963 24298 -929 +rect 27712 -926 27733 -892 +rect 27767 -926 27812 -892 +rect 27712 -962 27812 -926 +rect 21208 -2390 21244 -1006 +rect 24236 -2285 24298 -963 +rect 27714 -2052 27812 -962 +rect 31048 -889 31101 -855 +rect 31135 -889 31176 -855 +rect 31048 -1658 31176 -889 +rect 34194 -902 34280 -876 +rect 34194 -936 34220 -902 +rect 34254 -936 34280 -902 +rect 34194 -1486 34280 -936 +rect 34194 -1520 34224 -1486 +rect 34258 -1520 34280 -1486 +rect 34194 -1612 34280 -1520 +rect 31048 -1767 31172 -1658 +rect 31048 -1801 31081 -1767 +rect 31115 -1801 31172 -1767 +rect 31048 -1854 31172 -1801 +rect 27714 -2086 27749 -2052 +rect 27783 -2086 27812 -2052 +rect 27714 -2118 27812 -2086 +rect 24236 -2319 24254 -2285 +rect 24288 -2319 24298 -2285 +rect 24236 -2326 24298 -2319 +rect 24242 -2346 24298 -2326 +rect 21200 -2405 21260 -2390 +rect 21200 -2439 21211 -2405 +rect 21245 -2439 21260 -2405 +rect 21200 -2452 21260 -2439 +<< via1 >> +rect 43811 25326 43863 25378 +rect 43063 24556 43115 24608 +<< metal2 >> +rect 19138 48464 24104 48470 +rect 16350 48460 24104 48464 +rect 10768 48384 24104 48460 +rect 10768 48378 19186 48384 +rect 10768 48374 16396 48378 +rect 10768 43598 10832 48374 +rect 24060 48362 24104 48384 +rect 24060 47762 24116 48362 +rect 24060 46508 24126 47762 +rect 24060 46470 24132 46508 +rect 24066 45216 24132 46470 +rect 10768 43518 10854 43598 +rect 10778 42020 10854 43518 +rect 43792 25464 43886 25482 +rect 43792 25408 43809 25464 +rect 43865 25408 43886 25464 +rect 43792 25378 43886 25408 +rect 43792 25326 43811 25378 +rect 43863 25326 43886 25378 +rect 43792 25316 43886 25326 +rect 42950 24620 43128 24624 +rect 42944 24608 43128 24620 +rect 42944 24556 43063 24608 +rect 43115 24556 43128 24608 +rect 42944 24526 43128 24556 +rect 42944 23834 42980 24526 +rect 37200 23790 41970 23802 +rect 42944 23790 42976 23834 +rect 37200 23756 42976 23790 +rect 42944 23754 42976 23756 +<< via2 >> +rect 43809 25408 43865 25464 +<< metal3 >> +rect 43790 25566 43890 25574 +rect 43790 25502 43811 25566 +rect 43875 25502 43890 25566 +rect 43790 25464 43890 25502 +rect 43790 25408 43809 25464 +rect 43865 25408 43890 25464 +rect 43790 25398 43890 25408 +<< via3 >> +rect 43811 25502 43875 25566 +<< metal4 >> +rect 7746 48242 7842 48246 +rect 22460 48242 22590 48246 +rect 7746 48160 22590 48242 +rect 7746 47486 7842 48160 +rect 22460 48158 22590 48160 +rect 22514 47824 22590 48158 +rect 38540 26238 42638 26240 +rect 43788 26238 43884 26240 +rect 38540 26170 43884 26238 +rect 38540 26164 42638 26170 +rect 43788 25626 43884 26170 +rect 43788 25612 43890 25626 +rect 43790 25566 43890 25612 +rect 43790 25502 43811 25566 +rect 43875 25502 43890 25566 +rect 43790 25494 43890 25502 +use res250_layout res250_layout_0 +timestamp 1624221218 +transform 1 0 -176 0 1 -20 +box 218 -342 484 -90 +use switch_layout switch_layout_0 +timestamp 1624221218 +transform 1 0 42896 0 1 24336 +box 40 172 2460 1180 +use 6bitdac_layout 6bitdac_layout_0 +timestamp 1624221218 +transform 1 0 20506 0 1 24092 +box -244 -24130 19716 23842 +use 6bitdac_layout 6bitdac_layout_1 +timestamp 1624221218 +transform 1 0 244 0 1 24130 +box -244 -24130 19716 23842 +<< labels >> +rlabel locali s 86 -116 86 -116 4 x1_vref5 +rlabel locali s 254 -402 254 -402 4 x2_vref1 +rlabel locali s 20436 -88 20436 -88 4 inp2 +rlabel locali s 574 47944 574 47944 4 inp1 +rlabel locali s 42914 24889 42914 24889 4 d6 +rlabel locali s 45424 25060 45424 25060 4 out_v +rlabel metal4 s 43842 25592 43842 25592 4 vdd! +rlabel metal2 s 43000 24558 43000 24558 4 gnd! +rlabel locali s 45196 24296 45196 24296 4 x2_out_v +rlabel locali s 45154 25632 45154 25632 4 x1_out_v +rlabel locali s 978 254 978 254 4 d0 +rlabel locali s 3992 214 3992 214 4 d1 +rlabel locali s 10852 480 10852 480 4 d3 +rlabel locali s 14002 926 14002 926 4 d4 +rlabel locali s 17326 810 17326 810 4 d5 +rlabel locali s 7486 -1174 7486 -1174 4 d2 +<< end >>
diff --git a/mag/8bitdac_layout.mag b/mag/8bitdac_layout.mag new file mode 100644 index 0000000..3088a71 --- /dev/null +++ b/mag/8bitdac_layout.mag
@@ -0,0 +1,433 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1260 -2492 97780 52822 +<< locali >> +rect 45770 51554 90780 51562 +rect 95360 51554 96184 51558 +rect 45770 51520 96184 51554 +rect 45770 51370 45824 51520 +rect 95364 51516 96184 51520 +rect 45770 51336 45777 51370 +rect 45811 51336 45824 51370 +rect 45770 51326 45824 51336 +rect 96148 51466 96184 51516 +rect 21190 51278 21746 51280 +rect 21190 51274 37460 51278 +rect 20370 51272 37460 51274 +rect 20370 51255 48154 51272 +rect 20370 51230 20399 51255 +rect 20372 51221 20399 51230 +rect 20433 51234 48154 51255 +rect 20433 51230 21390 51234 +rect 20433 51221 20452 51230 +rect 20372 51210 20452 51221 +rect 45768 51190 45818 51196 +rect 45768 51156 45777 51190 +rect 45811 51156 45818 51190 +rect 796 50625 854 50672 +rect 796 50591 811 50625 +rect 845 50591 854 50625 +rect 796 50586 854 50591 +rect 808 50451 844 50452 +rect 808 50417 809 50451 +rect 843 50417 844 50451 +rect 808 50416 844 50417 +rect 20382 50411 20456 50432 +rect 20382 50377 20399 50411 +rect 20433 50377 20456 50411 +rect 20382 49560 20456 50377 +rect 45768 49816 45818 51156 +rect 48098 50662 48154 51234 +rect 48092 50643 48158 50662 +rect 48092 50609 48111 50643 +rect 48145 50609 48158 50643 +rect 48092 50594 48158 50609 +rect 48098 50590 48154 50594 +rect 48114 50441 48158 50446 +rect 48114 50407 48119 50441 +rect 48153 50407 48158 50441 +rect 48114 50402 48158 50407 +rect 20380 26192 20460 49560 +rect 45768 27474 45816 49816 +rect 96148 49202 96190 51466 +rect 96146 27622 96190 49202 +rect 96146 27580 96196 27622 +rect 43122 26731 43162 27404 +rect 43122 26697 43124 26731 +rect 43158 26697 43162 26731 +rect 43122 26682 43162 26697 +rect 90376 26755 90468 27392 +rect 90376 26721 90401 26755 +rect 90435 26721 90468 26755 +rect 90376 26658 90468 26721 +rect 43110 26517 43164 26526 +rect 43110 26483 43120 26517 +rect 43154 26483 43164 26517 +rect 43110 26472 43164 26483 +rect 20380 26162 20466 26192 +rect 20386 2810 20466 26162 +rect 43116 25406 43164 26472 +rect 43110 24386 43164 25406 +rect 43102 23928 43164 24386 +rect 90376 26401 90434 26460 +rect 90376 26367 90389 26401 +rect 90423 26367 90434 26401 +rect 20386 2312 20472 2810 +rect 20382 2288 20472 2312 +rect 20382 1880 20468 2288 +rect 20600 2184 20702 2358 +rect 20776 1880 20878 1974 +rect 20382 1790 20884 1880 +rect 20386 1788 20884 1790 +rect 21292 -1170 21352 48 +rect 24370 -1026 24430 192 +rect 27710 -818 27770 440 +rect 31104 -636 31164 734 +rect 34346 -442 34406 1020 +rect 37808 -300 37868 1456 +rect 43102 1292 43154 23928 +rect 67968 2260 68026 2354 +rect 43092 -108 43158 1292 +rect 48502 39 48572 54 +rect 78542 50 78638 662 +rect 81690 52 81788 1002 +rect 85120 432 85182 1398 +rect 85120 98 85190 432 +rect 85120 72 85202 98 +rect 85126 70 85202 72 +rect 48502 5 48523 39 +rect 48557 5 48572 39 +rect 48502 -10 48572 5 +rect 78540 23 78640 50 +rect 78540 -11 78570 23 +rect 78604 -11 78640 23 +rect 81688 16 81790 52 +rect 81688 8 81722 16 +rect 78540 -38 78640 -11 +rect 81690 -18 81722 8 +rect 81756 8 81790 16 +rect 85126 36 85142 70 +rect 85176 36 85202 70 +rect 85126 8 85202 36 +rect 81756 -18 81788 8 +rect 85126 -4 85190 8 +rect 78542 -44 78638 -38 +rect 81690 -48 81788 -18 +rect 88292 -102 89642 -98 +rect 90376 -102 90434 26367 +rect 93032 26096 93112 27534 +rect 96150 27322 96196 27580 +rect 96320 27036 96520 27052 +rect 96320 27002 96331 27036 +rect 96365 27002 96520 27036 +rect 96320 26988 96520 27002 +rect 93930 26830 93980 26922 +rect 96172 26364 96214 26570 +rect 96172 26120 96218 26364 +rect 96172 26100 96212 26120 +rect 93540 26096 96212 26100 +rect 93032 26030 96212 26096 +rect 93032 26026 93562 26030 +rect 88292 -108 90434 -102 +rect 43090 -168 90434 -108 +rect 43090 -172 85110 -168 +rect 85226 -172 90434 -168 +rect 43090 -186 43236 -172 +rect 88292 -184 90434 -172 +rect 85120 -264 85182 -238 +rect 85120 -298 85134 -264 +rect 85168 -272 85182 -264 +rect 85168 -298 85194 -272 +rect 37800 -304 63320 -300 +rect 85120 -304 85194 -298 +rect 37800 -362 85194 -304 +rect 37800 -366 85178 -362 +rect 37800 -372 63320 -366 +rect 37808 -380 37868 -372 +rect 34350 -468 34406 -442 +rect 81688 -460 81790 -420 +rect 44280 -462 81790 -460 +rect 44280 -464 81724 -462 +rect 39300 -468 81724 -464 +rect 34350 -496 81724 -468 +rect 81758 -464 81790 -462 +rect 81758 -496 81788 -464 +rect 34350 -520 81788 -496 +rect 34350 -524 81758 -520 +rect 34350 -528 70790 -524 +rect 34350 -532 44304 -528 +rect 34350 -534 39342 -532 +rect 34448 -536 39342 -534 +rect 31098 -644 36684 -636 +rect 42164 -644 57422 -640 +rect 31098 -648 65052 -644 +rect 31098 -660 72694 -648 +rect 78542 -660 78638 -652 +rect 31098 -675 78638 -660 +rect 31098 -696 78574 -675 +rect 31104 -704 31164 -696 +rect 36646 -704 78574 -696 +rect 42164 -709 78574 -704 +rect 78608 -709 78638 -675 +rect 42164 -712 78638 -709 +rect 57366 -716 78638 -712 +rect 65008 -720 78638 -716 +rect 78534 -730 78638 -720 +rect 27698 -822 33728 -818 +rect 27698 -835 75364 -822 +rect 27698 -869 75311 -835 +rect 75345 -866 75364 -835 +rect 75345 -869 75362 -866 +rect 27698 -876 75362 -869 +rect 27710 -886 27770 -876 +rect 75290 -884 75362 -876 +rect 71794 -1026 71862 -1022 +rect 24370 -1028 71862 -1026 +rect 24370 -1062 71812 -1028 +rect 71846 -1062 71862 -1028 +rect 24370 -1068 58626 -1062 +rect 24370 -1070 39590 -1068 +rect 71794 -1072 71862 -1062 +rect 46996 -1170 48574 -1160 +rect 21286 -1172 27752 -1170 +rect 40626 -1172 48574 -1170 +rect 21286 -1177 48574 -1172 +rect 21286 -1211 48521 -1177 +rect 48555 -1211 48574 -1177 +rect 21286 -1224 48574 -1211 +rect 21286 -1230 47092 -1224 +rect 21424 -1232 26450 -1230 +rect 27734 -1232 40650 -1230 +<< viali >> +rect 45777 51336 45811 51370 +rect 20399 51221 20433 51255 +rect 45777 51156 45811 51190 +rect 811 50591 845 50625 +rect 809 50417 843 50451 +rect 20399 50377 20433 50411 +rect 48111 50609 48145 50643 +rect 48119 50407 48153 50441 +rect 43124 26697 43158 26731 +rect 90401 26721 90435 26755 +rect 43120 26483 43154 26517 +rect 90389 26367 90423 26401 +rect 48523 5 48557 39 +rect 78570 -11 78604 23 +rect 81722 -18 81756 16 +rect 85142 36 85176 70 +rect 96331 27002 96365 27036 +rect 85134 -298 85168 -264 +rect 81724 -496 81758 -462 +rect 78574 -709 78608 -675 +rect 75311 -869 75345 -835 +rect 71812 -1062 71846 -1028 +rect 48521 -1211 48555 -1177 +<< metal1 >> +rect 45766 51372 45824 51384 +rect 45764 51370 45824 51372 +rect 45764 51336 45777 51370 +rect 45811 51336 45824 51370 +rect 45764 51326 45824 51336 +rect 20376 51255 20450 51276 +rect 20376 51221 20399 51255 +rect 20433 51221 20450 51255 +rect 796 50625 854 50656 +rect 796 50591 811 50625 +rect 845 50591 854 50625 +rect 796 50451 854 50591 +rect 796 50417 809 50451 +rect 843 50417 854 50451 +rect 796 50404 854 50417 +rect 20376 50411 20450 51221 +rect 45768 51192 45822 51326 +rect 45766 51190 45822 51192 +rect 45766 51156 45777 51190 +rect 45811 51156 45822 51190 +rect 45766 51140 45822 51156 +rect 48092 50658 48158 50662 +rect 48092 50643 48168 50658 +rect 48092 50609 48111 50643 +rect 48145 50609 48168 50643 +rect 48092 50594 48168 50609 +rect 48100 50456 48168 50594 +rect 20376 50377 20399 50411 +rect 20433 50377 20450 50411 +rect 48098 50441 48168 50456 +rect 48098 50407 48119 50441 +rect 48153 50412 48168 50441 +rect 48153 50407 48164 50412 +rect 48098 50388 48164 50407 +rect 20376 50358 20450 50377 +rect 94792 27354 94880 27366 +rect 94792 27302 94825 27354 +rect 94877 27302 94880 27354 +rect 94792 27290 94880 27302 +rect 96320 27036 96386 27052 +rect 96320 27002 96331 27036 +rect 96365 27002 96386 27036 +rect 96320 26986 96386 27002 +rect 43116 26742 43162 26758 +rect 90362 26755 90468 26792 +rect 43116 26731 43164 26742 +rect 43116 26697 43124 26731 +rect 43158 26697 43164 26731 +rect 43116 26686 43164 26697 +rect 90362 26721 90401 26755 +rect 90435 26721 90468 26755 +rect 43116 26526 43162 26686 +rect 43110 26517 43162 26526 +rect 43110 26483 43120 26517 +rect 43154 26483 43162 26517 +rect 43110 26472 43162 26483 +rect 43116 26470 43162 26472 +rect 90362 26401 90468 26721 +rect 94048 26578 94160 26630 +rect 94048 26526 94073 26578 +rect 94125 26526 94160 26578 +rect 94048 26492 94160 26526 +rect 90362 26367 90389 26401 +rect 90423 26367 90468 26401 +rect 90362 26340 90468 26367 +rect 48502 46 48572 54 +rect 48502 39 48574 46 +rect 48502 5 48523 39 +rect 48557 5 48574 39 +rect 48502 -10 48574 5 +rect 48512 -1162 48574 -10 +rect 71798 -1022 71858 172 +rect 75288 -780 75364 436 +rect 85122 98 85186 126 +rect 85122 70 85202 98 +rect 78540 23 78640 50 +rect 78540 -11 78570 23 +rect 78604 -11 78640 23 +rect 81688 42 81790 52 +rect 81688 16 81792 42 +rect 81688 8 81722 16 +rect 78540 -38 78640 -11 +rect 81694 -18 81722 8 +rect 81756 -18 81792 16 +rect 78542 -675 78638 -38 +rect 81694 -462 81792 -18 +rect 85122 36 85142 70 +rect 85176 36 85202 70 +rect 85122 8 85202 36 +rect 85122 -206 85186 8 +rect 85114 -264 85186 -206 +rect 85114 -298 85134 -264 +rect 85168 -272 85186 -264 +rect 85168 -298 85194 -272 +rect 85114 -362 85194 -298 +rect 85114 -378 85178 -362 +rect 81694 -496 81724 -462 +rect 81758 -496 81792 -462 +rect 81694 -534 81792 -496 +rect 78542 -692 78574 -675 +rect 78540 -709 78574 -692 +rect 78608 -709 78638 -675 +rect 78540 -730 78638 -709 +rect 75288 -822 75360 -780 +rect 75288 -835 75364 -822 +rect 75288 -869 75311 -835 +rect 75345 -866 75364 -835 +rect 75345 -869 75362 -866 +rect 75288 -872 75362 -869 +rect 75290 -884 75362 -872 +rect 71794 -1028 71862 -1022 +rect 71794 -1062 71812 -1028 +rect 71846 -1062 71862 -1028 +rect 71794 -1072 71862 -1062 +rect 48506 -1177 48574 -1162 +rect 48506 -1211 48521 -1177 +rect 48555 -1211 48574 -1177 +rect 48506 -1224 48574 -1211 +<< via1 >> +rect 94825 27302 94877 27354 +rect 94073 26526 94125 26578 +<< metal2 >> +rect 24290 50910 25152 50920 +rect 24290 50906 58282 50910 +rect 24290 50854 58400 50906 +rect 24290 50850 58282 50854 +rect 25120 50848 58282 50850 +rect 94810 27436 94880 27446 +rect 94810 27380 94816 27436 +rect 94872 27380 94880 27436 +rect 94810 27354 94880 27380 +rect 94810 27302 94825 27354 +rect 94877 27302 94880 27354 +rect 94810 27292 94880 27302 +rect 93934 26586 94146 26592 +rect 93914 26578 94146 26586 +rect 93914 26526 94073 26578 +rect 94125 26526 94146 26578 +rect 93914 26500 94146 26526 +rect 93914 26240 93954 26500 +rect 91012 26238 93958 26240 +rect 90500 26202 93958 26238 +rect 90500 26200 92030 26202 +rect 90500 26198 91014 26200 +<< via2 >> +rect 94816 27380 94872 27436 +<< metal3 >> +rect 94810 27530 94890 27538 +rect 94810 27466 94820 27530 +rect 94884 27466 94890 27530 +rect 94810 27456 94890 27466 +rect 94810 27436 94880 27456 +rect 94810 27380 94816 27436 +rect 94872 27380 94880 27436 +rect 94810 27372 94880 27380 +<< via3 >> +rect 94820 27466 94884 27530 +<< metal4 >> +rect 23762 51496 49764 51500 +rect 22752 51434 49764 51496 +rect 22752 51432 23808 51434 +rect 22764 50622 22848 51432 +rect 49692 50314 49762 51434 +rect 91334 28070 94890 28140 +rect 94816 27590 94890 28070 +rect 94810 27584 94890 27590 +rect 94810 27530 94888 27584 +rect 94810 27466 94820 27530 +rect 94884 27466 94888 27530 +rect 94810 27460 94888 27466 +use 7bitdac_layout 7bitdac_layout_0 +timestamp 1624221218 +transform 1 0 47558 0 1 2444 +box -252 -2456 45562 48686 +use 7bitdac_layout 7bitdac_layout_1 +timestamp 1624221218 +transform 1 0 252 0 1 2456 +box -252 -2456 45562 48686 +use switch_layout switch_layout_0 +timestamp 1624221218 +transform 1 0 93914 0 1 26310 +box 40 172 2460 1180 +use res250_layout res250_layout_0 +timestamp 1624221218 +transform 1 0 20392 0 1 2302 +box 218 -342 484 -90 +<< labels >> +rlabel locali s 20652 2264 20652 2264 4 x1_vref5 +rlabel locali s 20812 1868 20812 1868 4 x2_vref1 +rlabel locali s 804 50664 804 50664 4 inp1 +rlabel locali s 67994 2294 67994 2294 4 inp2 +rlabel locali s 93952 26862 93952 26862 4 d7 +rlabel locali s 96452 27014 96452 27014 4 out_v +rlabel locali s 96176 27544 96176 27544 4 x1_out_v +rlabel locali s 96200 26388 96200 26388 4 x2_out_v +rlabel metal2 s 93978 26540 93978 26540 4 gnd! +rlabel metal4 s 94864 27554 94864 27554 4 vdd! +rlabel locali s 43126 44 43126 44 4 d6 +rlabel locali s 37842 -218 37842 -218 4 d5 +rlabel locali s 34364 612 34364 612 4 d4 +rlabel locali s 31132 486 31132 486 4 d3 +rlabel locali s 27736 152 27736 152 4 d2 +rlabel locali s 24396 40 24396 40 4 d1 +rlabel locali s 21316 -64 21316 -64 4 d0 +<< end >>
diff --git a/mag/9bitdac_layout.mag b/mag/9bitdac_layout.mag new file mode 100644 index 0000000..fb7b008 --- /dev/null +++ b/mag/9bitdac_layout.mag
@@ -0,0 +1,590 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1260 -3236 200032 54054 +<< locali >> +rect 143604 52756 173468 52758 +rect 143604 52718 198410 52756 +rect 120322 52714 198410 52718 +rect 120322 52674 143648 52714 +rect 173454 52712 198410 52714 +rect 97118 52582 97268 52584 +rect 120322 52582 120364 52674 +rect 97118 52576 120364 52582 +rect 97118 52542 97135 52576 +rect 97169 52542 120364 52576 +rect 97118 52530 120364 52542 +rect 97118 52528 120360 52530 +rect 96280 52462 96342 52466 +rect 98716 52462 98882 52466 +rect 71454 52454 85650 52456 +rect 94858 52454 96112 52456 +rect 69398 52450 96112 52454 +rect 67656 52446 67710 52448 +rect 68402 52446 96112 52450 +rect 67656 52434 96057 52446 +rect 67656 52400 67662 52434 +rect 67696 52412 96057 52434 +rect 96091 52412 96112 52446 +rect 96258 52452 98882 52462 +rect 96258 52418 96285 52452 +rect 96319 52418 98882 52452 +rect 96258 52414 98882 52418 +rect 96258 52412 97512 52414 +rect 67696 52408 96112 52412 +rect 67696 52406 71464 52408 +rect 85622 52406 96112 52408 +rect 67696 52402 69446 52406 +rect 96040 52402 96108 52406 +rect 96280 52404 96342 52412 +rect 67696 52400 68450 52402 +rect 67656 52398 68450 52400 +rect 67656 52392 67710 52398 +rect 97118 52322 97184 52334 +rect 97118 52288 97135 52322 +rect 97169 52288 97184 52322 +rect 796 51892 854 51954 +rect 67650 51664 67710 51674 +rect 67650 51630 67664 51664 +rect 67698 51630 67710 51664 +rect 67650 51616 67710 51630 +rect 67658 47534 67700 51616 +rect 67658 41838 67702 47534 +rect 67658 41806 67704 41838 +rect 67660 36140 67704 41806 +rect 67658 36110 67704 36140 +rect 67658 24756 67702 36110 +rect 97118 29332 97184 52288 +rect 98820 52248 98878 52414 +rect 98822 51746 98878 52248 +rect 97112 28286 97184 29332 +rect 198360 29304 198410 52712 +rect 198360 29290 198412 29304 +rect 198362 28628 198412 29290 +rect 96494 28216 97184 28286 +rect 198360 28592 198412 28628 +rect 93744 28088 93994 28136 +rect 93748 27571 93830 28088 +rect 191874 28014 192000 28028 +rect 191874 27918 192008 28014 +rect 191876 27914 191984 27918 +rect 93748 27537 93776 27571 +rect 93810 27537 93830 27571 +rect 93748 27504 93830 27537 +rect 191880 27848 191942 27914 +rect 191880 27404 191938 27848 +rect 191880 27370 191891 27404 +rect 191925 27370 191938 27404 +rect 191880 27360 191938 27370 +rect 194514 27280 194548 28140 +rect 198360 27710 198410 28592 +rect 198528 27444 198610 27446 +rect 198526 27426 198772 27444 +rect 198526 27392 198542 27426 +rect 198576 27392 198772 27426 +rect 198526 27380 198772 27392 +rect 198528 27374 198610 27380 +rect 93748 27185 93834 27210 +rect 93748 27151 93774 27185 +rect 93808 27151 93834 27185 +rect 93748 26488 93834 27151 +rect 192100 27050 192152 27056 +rect 191880 27037 192152 27050 +rect 191880 27003 191892 27037 +rect 191926 27003 192152 27037 +rect 194514 27012 194552 27280 +rect 196098 27218 196190 27310 +rect 191880 26992 192152 27003 +rect 93752 26436 93830 26488 +rect 93748 26284 93830 26436 +rect 67658 24732 67704 24756 +rect 67660 19046 67704 24732 +rect 67658 16746 67704 19046 +rect 67658 16720 67706 16746 +rect 67660 14448 67706 16720 +rect 67660 13050 67708 14448 +rect 67658 13028 67708 13050 +rect 67658 11654 67706 13028 +rect 67658 11630 67708 11654 +rect 67660 7450 67708 11630 +rect 67658 7430 67708 7450 +rect 67658 6042 67706 7430 +rect 67656 6030 67706 6042 +rect 67656 4634 67704 6030 +rect 67654 4622 67704 4634 +rect 67654 3230 67702 4622 +rect 67862 3504 68030 3528 +rect 67860 3490 68030 3504 +rect 67860 3286 67908 3490 +rect 67654 2942 67704 3230 +rect 68032 2942 68084 3090 +rect 67654 2894 68084 2942 +rect 67654 2890 68082 2894 +rect 93748 2452 93800 26284 +rect 165990 3266 166048 3372 +rect 93742 2428 93800 2452 +rect 115660 2438 115708 2446 +rect 68750 82 68816 100 +rect 68750 48 68764 82 +rect 68798 48 68816 82 +rect 68750 30 68816 48 +rect 68750 28 68818 30 +rect 68760 18 68818 28 +rect 68762 -226 68818 18 +rect 68762 -1852 68808 -226 +rect 68758 -1920 68808 -1852 +rect 71804 -1830 71850 212 +rect 75294 -1714 75370 414 +rect 78572 -1620 78624 578 +rect 81708 -1502 81778 784 +rect 85106 -1290 85168 968 +rect 90368 452 90440 1178 +rect 90360 344 90440 452 +rect 90360 -1042 90438 344 +rect 93742 -868 93786 2428 +rect 115660 2404 115667 2438 +rect 115701 2404 115708 2438 +rect 115660 2396 115708 2404 +rect 112774 1876 112838 1984 +rect 112776 1866 112838 1876 +rect 112776 1832 112790 1866 +rect 112824 1860 112838 1866 +rect 112824 1832 112840 1860 +rect 112776 1826 112840 1832 +rect 112776 1824 112838 1826 +rect 109158 1705 109194 1706 +rect 109158 1671 109159 1705 +rect 109193 1671 109194 1705 +rect 109158 1670 109194 1671 +rect 105668 1457 105754 1500 +rect 105668 1423 105690 1457 +rect 105724 1423 105754 1457 +rect 105668 1396 105754 1423 +rect 102398 1231 102442 1234 +rect 102398 1197 102403 1231 +rect 102437 1197 102442 1231 +rect 192100 1198 192152 26992 +rect 194506 26798 194556 27012 +rect 194506 26794 195966 26798 +rect 198380 26794 198430 26960 +rect 194506 26740 198430 26794 +rect 194506 26732 198422 26740 +rect 195560 26728 198422 26732 +rect 102398 1194 102442 1197 +rect 99338 232 99406 1136 +rect 102376 965 102454 1006 +rect 102376 931 102403 965 +rect 102437 931 102454 965 +rect 105658 1001 105738 1032 +rect 109150 1018 109200 1020 +rect 105658 967 105680 1001 +rect 105714 967 105738 1001 +rect 105658 952 105738 967 +rect 109148 1007 109200 1018 +rect 109148 973 109157 1007 +rect 109191 973 109200 1007 +rect 109148 960 109200 973 +rect 112780 968 112838 996 +rect 102376 472 102454 931 +rect 99338 -764 99402 232 +rect 102376 -645 102444 472 +rect 105670 134 105714 952 +rect 102376 -679 102391 -645 +rect 102425 -679 102444 -645 +rect 102376 -714 102444 -679 +rect 105672 -750 105714 134 +rect 109148 -684 109196 960 +rect 112780 934 112794 968 +rect 112828 934 112838 968 +rect 112780 228 112838 934 +rect 141138 968 141176 970 +rect 141138 934 141140 968 +rect 141174 934 141176 968 +rect 141138 932 141176 934 +rect 115634 898 115734 928 +rect 115634 864 115667 898 +rect 115701 864 115734 898 +rect 115634 458 115734 864 +rect 112776 58 112838 228 +rect 115628 274 115734 458 +rect 112776 -660 112834 58 +rect 99338 -798 99348 -764 +rect 99382 -798 99402 -764 +rect 99338 -808 99402 -798 +rect 105670 -766 105740 -750 +rect 105670 -800 105683 -766 +rect 105717 -800 105740 -766 +rect 109148 -760 109200 -684 +rect 112776 -694 112792 -660 +rect 112826 -694 112834 -660 +rect 115628 -692 115728 274 +rect 112776 -710 112834 -694 +rect 115626 -724 115728 -692 +rect 115626 -730 115669 -724 +rect 109148 -794 109156 -760 +rect 109190 -794 109200 -760 +rect 115628 -758 115669 -730 +rect 115703 -758 115728 -724 +rect 115628 -776 115728 -758 +rect 109148 -800 109200 -794 +rect 105670 -814 105740 -800 +rect 192090 -830 192162 1198 +rect 192090 -860 192158 -830 +rect 188778 -868 192158 -860 +rect 93742 -908 192158 -868 +rect 90360 -1098 141198 -1042 +rect 90360 -1132 141132 -1098 +rect 141166 -1132 141198 -1098 +rect 90360 -1168 141198 -1132 +rect 90360 -1178 90438 -1168 +rect 85104 -1296 95784 -1290 +rect 85104 -1300 106466 -1296 +rect 85104 -1304 113234 -1300 +rect 85104 -1324 115728 -1304 +rect 85104 -1358 115659 -1324 +rect 115693 -1358 115728 -1324 +rect 85106 -1360 85168 -1358 +rect 95730 -1364 115728 -1358 +rect 106432 -1376 115728 -1364 +rect 113208 -1384 115728 -1376 +rect 81712 -1522 81778 -1502 +rect 81712 -1528 87110 -1522 +rect 92448 -1528 112832 -1522 +rect 81712 -1532 112832 -1528 +rect 81712 -1566 112794 -1532 +rect 112828 -1566 112832 -1532 +rect 81712 -1578 112832 -1566 +rect 87080 -1584 92492 -1578 +rect 78572 -1622 78754 -1620 +rect 81746 -1622 81802 -1616 +rect 90688 -1622 94746 -1620 +rect 109150 -1622 109210 -1612 +rect 78570 -1656 109158 -1622 +rect 109192 -1656 109210 -1622 +rect 78570 -1658 109210 -1656 +rect 78570 -1660 90710 -1658 +rect 109146 -1668 109210 -1658 +rect 75524 -1714 105722 -1710 +rect 75294 -1731 105722 -1714 +rect 75294 -1750 105673 -1731 +rect 75294 -1752 78622 -1750 +rect 75294 -1766 75758 -1752 +rect 105654 -1765 105673 -1750 +rect 105707 -1765 105722 -1731 +rect 105654 -1782 105722 -1765 +rect 105654 -1788 105716 -1782 +rect 75662 -1818 102084 -1814 +rect 71804 -1832 71998 -1830 +rect 75662 -1832 102432 -1818 +rect 71804 -1839 102432 -1832 +rect 71804 -1873 102385 -1839 +rect 102419 -1873 102432 -1839 +rect 71804 -1878 102432 -1873 +rect 71946 -1882 102432 -1878 +rect 75662 -1886 102432 -1882 +rect 102054 -1890 102432 -1886 +rect 68758 -1926 99390 -1920 +rect 68758 -1956 99344 -1926 +rect 68760 -1960 99344 -1956 +rect 99378 -1960 99390 -1926 +rect 68760 -1962 99390 -1960 +rect 71944 -1966 99390 -1962 +rect 99330 -1976 99388 -1966 +<< viali >> +rect 97135 52542 97169 52576 +rect 67662 52400 67696 52434 +rect 96057 52412 96091 52446 +rect 96285 52418 96319 52452 +rect 97135 52288 97169 52322 +rect 67664 51630 67698 51664 +rect 93776 27537 93810 27571 +rect 191891 27370 191925 27404 +rect 198542 27392 198576 27426 +rect 93774 27151 93808 27185 +rect 191892 27003 191926 27037 +rect 68764 48 68798 82 +rect 115667 2404 115701 2438 +rect 112790 1832 112824 1866 +rect 109159 1671 109193 1705 +rect 105690 1423 105724 1457 +rect 102403 1197 102437 1231 +rect 102403 931 102437 965 +rect 105680 967 105714 1001 +rect 109157 973 109191 1007 +rect 102391 -679 102425 -645 +rect 112794 934 112828 968 +rect 141140 934 141174 968 +rect 115667 864 115701 898 +rect 99348 -798 99382 -764 +rect 105683 -800 105717 -766 +rect 112792 -694 112826 -660 +rect 109156 -794 109190 -760 +rect 115669 -758 115703 -724 +rect 141132 -1132 141166 -1098 +rect 115659 -1358 115693 -1324 +rect 112794 -1566 112828 -1532 +rect 109158 -1656 109192 -1622 +rect 105673 -1765 105707 -1731 +rect 102385 -1873 102419 -1839 +rect 99344 -1960 99378 -1926 +<< metal1 >> +rect 97118 52576 97186 52586 +rect 97118 52542 97135 52576 +rect 97169 52542 97186 52576 +rect 97118 52528 97186 52542 +rect 96280 52462 96342 52466 +rect 96038 52452 96342 52462 +rect 67656 52434 67710 52448 +rect 67656 52400 67662 52434 +rect 67696 52400 67710 52434 +rect 96038 52446 96285 52452 +rect 96038 52412 96057 52446 +rect 96091 52418 96285 52446 +rect 96319 52418 96342 52452 +rect 96091 52412 96342 52418 +rect 96038 52406 96342 52412 +rect 96040 52402 96108 52406 +rect 96280 52404 96342 52406 +rect 67656 52392 67710 52400 +rect 67658 51674 67700 52392 +rect 97118 52328 97184 52528 +rect 97118 52322 97186 52328 +rect 97118 52288 97135 52322 +rect 97169 52288 97186 52322 +rect 97118 52270 97186 52288 +rect 67650 51664 67710 51674 +rect 67650 51630 67664 51664 +rect 67698 51630 67710 51664 +rect 67650 51616 67710 51630 +rect 197006 27740 197116 27748 +rect 197006 27688 197046 27740 +rect 197098 27688 197116 27740 +rect 197006 27680 197116 27688 +rect 93750 27571 93834 27598 +rect 93750 27537 93776 27571 +rect 93810 27537 93834 27571 +rect 93750 27185 93834 27537 +rect 198528 27426 198610 27446 +rect 93750 27151 93774 27185 +rect 93808 27151 93834 27185 +rect 93750 27132 93834 27151 +rect 191880 27404 191938 27418 +rect 191880 27370 191891 27404 +rect 191925 27370 191938 27404 +rect 198528 27392 198542 27426 +rect 198576 27392 198610 27426 +rect 198528 27374 198610 27392 +rect 191880 27360 191938 27370 +rect 191880 27050 191936 27360 +rect 191880 27037 191938 27050 +rect 191880 27003 191892 27037 +rect 191926 27003 191938 27037 +rect 191880 26992 191938 27003 +rect 196282 26965 196372 27024 +rect 196282 26913 196298 26965 +rect 196350 26913 196372 26965 +rect 196282 26886 196372 26913 +rect 115634 2438 115722 2506 +rect 115634 2404 115667 2438 +rect 115701 2404 115722 2438 +rect 112776 1870 112838 1874 +rect 112776 1866 112840 1870 +rect 112776 1832 112790 1866 +rect 112824 1832 112840 1866 +rect 112776 1826 112840 1832 +rect 109150 1705 109200 1724 +rect 109150 1671 109159 1705 +rect 109193 1671 109200 1705 +rect 105668 1457 105754 1500 +rect 105668 1423 105690 1457 +rect 105724 1423 105754 1457 +rect 105668 1396 105754 1423 +rect 68748 100 68816 1312 +rect 102382 1231 102464 1260 +rect 102382 1197 102403 1231 +rect 102437 1197 102464 1231 +rect 102382 965 102464 1197 +rect 105668 1032 105710 1396 +rect 102382 931 102403 965 +rect 102437 931 102464 965 +rect 105658 1001 105738 1032 +rect 109150 1018 109200 1671 +rect 105658 967 105680 1001 +rect 105714 967 105738 1001 +rect 105658 952 105738 967 +rect 109148 1007 109200 1018 +rect 109148 973 109157 1007 +rect 109191 973 109200 1007 +rect 109148 960 109200 973 +rect 112776 968 112834 1826 +rect 102382 896 102464 931 +rect 112776 934 112794 968 +rect 112828 934 112834 968 +rect 112776 920 112834 934 +rect 115634 898 115722 2404 +rect 115634 864 115667 898 +rect 115701 864 115722 898 +rect 115634 828 115722 864 +rect 141102 968 141204 1174 +rect 141102 934 141140 968 +rect 141174 934 141204 968 +rect 68750 82 68816 100 +rect 68750 48 68764 82 +rect 68798 48 68816 82 +rect 68750 28 68816 48 +rect 102370 -645 102438 -606 +rect 102370 -679 102391 -645 +rect 102425 -679 102438 -645 +rect 99328 -764 99392 -732 +rect 99328 -798 99348 -764 +rect 99382 -798 99392 -764 +rect 99328 -1904 99392 -798 +rect 102370 -1839 102438 -679 +rect 112780 -660 112838 -630 +rect 112780 -694 112792 -660 +rect 112826 -694 112838 -660 +rect 105670 -766 105740 -750 +rect 105670 -800 105683 -766 +rect 105717 -800 105740 -766 +rect 105670 -814 105740 -800 +rect 109148 -760 109200 -746 +rect 109148 -794 109156 -760 +rect 109190 -794 109200 -760 +rect 109148 -800 109200 -794 +rect 105672 -1714 105714 -814 +rect 109148 -1612 109196 -800 +rect 112780 -1532 112838 -694 +rect 115626 -724 115726 -692 +rect 115622 -758 115669 -724 +rect 115703 -730 115726 -724 +rect 115703 -758 115722 -730 +rect 115622 -1324 115722 -758 +rect 141102 -1030 141204 934 +rect 141102 -1098 141198 -1030 +rect 141102 -1132 141132 -1098 +rect 141166 -1132 141198 -1098 +rect 141102 -1164 141198 -1132 +rect 115622 -1358 115659 -1324 +rect 115693 -1358 115722 -1324 +rect 115622 -1378 115722 -1358 +rect 112780 -1566 112794 -1532 +rect 112828 -1566 112838 -1532 +rect 112780 -1580 112838 -1566 +rect 109148 -1622 109210 -1612 +rect 109148 -1640 109158 -1622 +rect 109146 -1656 109158 -1640 +rect 109192 -1656 109210 -1622 +rect 109146 -1668 109210 -1656 +rect 105660 -1720 105722 -1714 +rect 105654 -1731 105722 -1720 +rect 105654 -1765 105673 -1731 +rect 105707 -1765 105722 -1731 +rect 105654 -1782 105722 -1765 +rect 105654 -1788 105716 -1782 +rect 102370 -1873 102385 -1839 +rect 102419 -1873 102438 -1839 +rect 102370 -1890 102438 -1873 +rect 99328 -1926 99390 -1904 +rect 99328 -1946 99344 -1926 +rect 99330 -1960 99344 -1946 +rect 99378 -1960 99390 -1926 +rect 99330 -1966 99390 -1960 +rect 99330 -1976 99388 -1966 +<< via1 >> +rect 197046 27688 197098 27740 +rect 196298 26913 196350 26965 +<< metal2 >> +rect 108964 51918 109086 51930 +rect 108958 51882 109086 51918 +rect 78606 51740 79736 51744 +rect 108958 51742 109016 51882 +rect 100608 51740 109016 51742 +rect 78606 51700 109016 51740 +rect 78606 51694 109000 51700 +rect 78612 45584 78666 51694 +rect 197030 27821 197120 27826 +rect 197030 27765 197050 27821 +rect 197106 27765 197120 27821 +rect 197030 27740 197120 27765 +rect 197030 27688 197046 27740 +rect 197098 27688 197120 27740 +rect 197030 27680 197120 27688 +rect 191938 27330 194848 27334 +rect 191938 27288 195816 27330 +rect 194814 27286 195816 27288 +rect 195754 26962 195816 27286 +rect 196198 26965 196362 26984 +rect 196198 26962 196298 26965 +rect 195754 26913 196298 26962 +rect 196350 26913 196362 26965 +rect 195754 26886 196362 26913 +rect 195754 26870 196232 26886 +<< via2 >> +rect 197050 27765 197106 27821 +<< metal3 >> +rect 197030 27915 197120 27940 +rect 197030 27851 197049 27915 +rect 197113 27851 197120 27915 +rect 197030 27826 197120 27851 +rect 197032 27821 197120 27826 +rect 197032 27765 197050 27821 +rect 197106 27765 197120 27821 +rect 197032 27756 197120 27765 +<< via3 >> +rect 197049 27851 197113 27915 +<< metal4 >> +rect 98718 51758 100484 51828 +rect 98720 51494 98806 51758 +rect 98724 51396 98800 51494 +rect 100396 51404 100476 51758 +rect 76478 51204 82974 51206 +rect 98724 51204 98796 51396 +rect 76478 51134 98796 51204 +rect 192840 29230 193268 29232 +rect 196698 29230 197136 29242 +rect 192840 29160 197140 29230 +rect 196698 29156 197140 29160 +rect 197044 27980 197140 29156 +rect 197032 27958 197140 27980 +rect 197032 27915 197128 27958 +rect 197032 27851 197049 27915 +rect 197113 27851 197128 27915 +rect 197032 27834 197128 27851 +use 8bitdac_layout 8bitdac_layout_0 +timestamp 1624221218 +transform 1 0 0 0 1 1232 +box 0 -1232 96520 51562 +use 8bitdac_layout 8bitdac_layout_1 +timestamp 1624221218 +transform 1 0 98026 0 1 1086 +box 0 -1232 96520 51562 +use switch_layout switch_layout_0 +timestamp 1624221218 +transform 1 0 196132 0 1 26700 +box 40 172 2460 1180 +use res250_layout res250_layout_0 +timestamp 1624221218 +transform 1 0 67642 0 1 3396 +box 218 -342 484 -90 +<< labels >> +rlabel locali s 198666 27404 198666 27404 4 out_v +rlabel metal4 s 197072 27958 197072 27958 4 vdd! +rlabel metal2 s 196242 26928 196242 26928 4 gnd! +rlabel locali s 198396 26794 198396 26794 4 x2_out_v +rlabel locali s 198392 27904 198392 27904 4 x1_out_v +rlabel locali s 196140 27266 196140 27266 4 d8 +rlabel locali s 67886 3392 67886 3392 4 x1_vref5 +rlabel locali s 68056 2954 68056 2954 4 x2_vref1 +rlabel locali s 166012 3308 166012 3308 4 inp2 +rlabel locali s 824 51932 824 51932 4 inp1 +rlabel locali s 68780 -66 68780 -66 4 d0 +rlabel locali s 90414 582 90414 582 4 d6 +rlabel locali s 93764 2660 93764 2660 4 d7 +rlabel locali s 85134 -908 85134 -908 4 d5 +rlabel locali s 81746 -1340 81746 -1340 4 d4 +rlabel locali s 78594 -484 78594 -484 4 d3 +rlabel locali s 75332 -1538 75332 -1538 4 d2 +rlabel locali s 71824 -1620 71824 -1620 4 d1 +<< end >>
diff --git a/mag/INV.mag b/mag/INV.mag new file mode 100644 index 0000000..7f0a1ad --- /dev/null +++ b/mag/INV.mag
@@ -0,0 +1,153 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1348 -1700 1550 1810 +<< nwell >> +rect 0 334 288 550 +rect 0 0 282 334 +<< pwell >> +rect 20 -430 278 -312 +<< nmos >> +rect 130 -242 160 -120 +<< pmos >> +rect 130 60 160 300 +<< ndiff >> +rect 42 -163 130 -120 +rect 42 -197 57 -163 +rect 91 -197 130 -163 +rect 42 -242 130 -197 +rect 160 -163 248 -120 +rect 160 -197 199 -163 +rect 233 -197 248 -163 +rect 160 -242 248 -197 +<< pdiff >> +rect 50 227 130 300 +rect 50 193 63 227 +rect 97 193 130 227 +rect 50 159 130 193 +rect 50 125 63 159 +rect 97 125 130 159 +rect 50 60 130 125 +rect 160 232 242 300 +rect 160 198 194 232 +rect 228 198 242 232 +rect 160 164 242 198 +rect 160 130 194 164 +rect 228 130 242 164 +rect 160 60 242 130 +<< ndiffc >> +rect 57 -197 91 -163 +rect 199 -197 233 -163 +<< pdiffc >> +rect 63 193 97 227 +rect 63 125 97 159 +rect 194 198 228 232 +rect 194 130 228 164 +<< psubdiff >> +rect 20 -368 278 -312 +rect 20 -402 97 -368 +rect 131 -402 179 -368 +rect 213 -402 278 -368 +rect 20 -430 278 -402 +<< nsubdiff >> +rect 40 451 250 498 +rect 40 447 166 451 +rect 40 413 94 447 +rect 128 417 166 447 +rect 200 417 250 451 +rect 128 413 250 417 +rect 40 378 250 413 +<< psubdiffcont >> +rect 97 -402 131 -368 +rect 179 -402 213 -368 +<< nsubdiffcont >> +rect 94 413 128 447 +rect 166 417 200 451 +<< poly >> +rect 130 300 160 330 +rect -88 -39 -30 -10 +rect -88 -73 -76 -39 +rect -42 -40 -30 -39 +rect 130 -40 160 60 +rect -42 -73 160 -40 +rect -88 -80 160 -73 +rect -88 -102 -30 -80 +rect 130 -120 160 -80 +rect 130 -270 160 -242 +<< polycont >> +rect -76 -73 -42 -39 +<< locali >> +rect 10 451 270 520 +rect 10 447 166 451 +rect 10 425 94 447 +rect 10 391 41 425 +rect 75 413 94 425 +rect 128 417 166 447 +rect 200 425 270 451 +rect 200 417 213 425 +rect 128 413 213 417 +rect 75 391 213 413 +rect 247 391 270 425 +rect 10 368 270 391 +rect 50 302 100 368 +rect 50 227 102 302 +rect 50 193 63 227 +rect 97 193 102 227 +rect 50 159 102 193 +rect 50 125 63 159 +rect 97 125 102 159 +rect 50 58 102 125 +rect 190 232 242 300 +rect 190 198 194 232 +rect 228 198 242 232 +rect 190 164 242 198 +rect 190 130 194 164 +rect 228 130 242 164 +rect 190 60 242 130 +rect -88 -39 -30 -10 +rect -88 -73 -76 -39 +rect -42 -73 -30 -39 +rect -88 -102 -30 -73 +rect 190 -120 240 60 +rect 40 -163 100 -120 +rect 40 -197 57 -163 +rect 91 -197 100 -163 +rect 40 -310 100 -197 +rect 190 -163 248 -120 +rect 190 -197 199 -163 +rect 233 -197 248 -163 +rect 190 -240 248 -197 +rect 20 -336 280 -310 +rect 20 -370 52 -336 +rect 86 -338 280 -336 +rect 86 -368 224 -338 +rect 86 -370 97 -368 +rect 20 -402 97 -370 +rect 131 -402 179 -368 +rect 213 -372 224 -368 +rect 258 -372 280 -338 +rect 213 -402 280 -372 +rect 20 -430 280 -402 +<< viali >> +rect 41 391 75 425 +rect 213 391 247 425 +rect 52 -370 86 -336 +rect 224 -372 258 -338 +<< metal1 >> +rect 0 425 282 528 +rect 0 420 41 425 +rect -2 391 41 420 +rect 75 391 213 425 +rect 247 420 282 425 +rect 247 391 278 420 +rect -2 358 278 391 +rect 8 -336 290 -298 +rect 8 -370 52 -336 +rect 86 -338 290 -336 +rect 86 -370 224 -338 +rect 8 -372 224 -370 +rect 258 -372 290 -338 +rect 8 -440 290 -372 +<< end >>
diff --git a/mag/cap_28p.mag b/mag/cap_28p.mag new file mode 100644 index 0000000..e15989c --- /dev/null +++ b/mag/cap_28p.mag
@@ -0,0 +1,21 @@ +magic +tech sky130A +timestamp 1624221218 +<< checkpaint >> +rect -1614 -1856 13040 13079 +<< metal1 >> +rect -984 12417 -496 12449 +rect -984 11818 12410 12417 +rect -984 -1163 12375 11818 +rect -984 -1226 -464 -1163 +rect 11855 -1226 12375 -1163 +<< metal3 >> +rect -984 12417 -496 12449 +rect -984 11818 12410 12417 +rect -984 11706 12375 11818 +rect -984 -442 -260 11706 +rect 11803 -442 12375 11706 +rect -984 -1163 12375 -442 +rect -984 -1226 -464 -1163 +rect 11855 -1226 12375 -1163 +<< end >>
diff --git a/mag/dot.magicrc.dist b/mag/dot.magicrc.dist new file mode 100644 index 0000000..94668c3 --- /dev/null +++ b/mag/dot.magicrc.dist
@@ -0,0 +1,120 @@ +# SPDX-FileCopyrightText: 2020 Efabless Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# SPDX-License-Identifier: Apache-2.0 + +#--------------------------------------------------------------------- +# 1) must set the variable PDK_ROOT +#--------------------------------------------------------------------- + +puts stdout "Sourcing design .magicrc for technology sky130A ..." + +#--------------------------------------------------------------------- + +# Put grid on 0.005 pitch. This is important, as some commands don't +# rescale the grid automatically (such as lef read?). + +set scalefac [tech lambda] +if {[lindex $scalefac 1] < 2} { + scalegrid 1 2 +} +#--------------------------------------------------------------------- +# +# Allow override of DRC on/off from environment variable DRC +# +#--------------------------------------------------------------------- +if {[catch {set DRC $env(DRC)}]} { + # default value + drc off +} else { + drc style drc(full) + drc euclidean on + sdrc $DRC +} +# +#--------------------------------------------------------------------- +# Allow override of PDK path from environment variable PDKPATH +# +if {[catch {set PDKPATH $env(PDKPATH)}]} { + set PDKPATH "$::env(PDK_ROOT)/sky130A" +} +#--------------------------------------------------------------------- +# loading technology +tech load $PDKPATH/libs.tech/magic/current/sky130A.tech + +#--------------------------------------------------------------------- +# load device generator +source $PDKPATH/libs.tech/magic/current/sky130A.tcl + +#--------------------------------------------------------------------- +# load bind keys (optional) +# source $PDKPATH/libs.tech/magic/current/sky130A-BindKeys + +#--------------------------------------------------------------------- +# set units to lambda grid +snap lambda + +#--------------------------------------------------------------------- + +# set sky130 standard power, ground, and substrate names +set VDD VPWR +set GND VGND +set SUB VSUBS + +#--------------------------------------------------------------------- + +# Allow override of type of magic library views used, "mag" or "maglef", +# from environment variable MAGTYPE. Deafault value is MAGTYPE=maglef + +if {[catch {set MAGTYPE $env(MAGTYPE)}]} { + set MAGTYPE maglef +} + +path search [concat "../$MAGTYPE" [path search]] + +#--------------------------------------------------------------------- + +# add path to reference cells +if {[file isdir ${PDKPATH}/libs.ref/${MAGTYPE}]} { + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_pr + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_io + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hd + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hdll + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hs + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_hvl + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_lp + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ls + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_fd_sc_ms + addpath ${PDKPATH}/libs.ref/${MAGTYPE}/sky130_osu_sc +} else { + addpath ${PDKPATH}/libs.ref/sky130_fd_pr/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_io/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hd/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hdll/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hs/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_hvl/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_lp/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ls/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_fd_sc_ms/${MAGTYPE} + addpath ${PDKPATH}/libs.ref/sky130_osu_sc/${MAGTYPE} +} + +# add path to GDS cells + + addpath ../gds + +# add path to IP from catalog. This procedure defined in the PDK script. +catch {magic::query_mylib_ip} +# add path to local IP from user design space. Defined in the PDK script. +catch {magic::query_my_projects}
diff --git a/mag/res250_layout.mag b/mag/res250_layout.mag new file mode 100644 index 0000000..fb29e47 --- /dev/null +++ b/mag/res250_layout.mag
@@ -0,0 +1,37 @@ +magic +tech sky130A +timestamp 1624221218 +<< checkpaint >> +rect -521 -801 872 585 +<< ndiff >> +rect 119 -100 140 -94 +rect 119 -117 121 -100 +rect 138 -117 140 -100 +rect 119 -123 140 -117 +rect 205 -100 226 -93 +rect 205 -117 207 -100 +rect 224 -117 226 -100 +rect 205 -124 226 -117 +<< ndiffc >> +rect 121 -117 138 -100 +rect 207 -117 224 -100 +<< ndiffres >> +rect 114 -93 241 -78 +rect 114 -94 205 -93 +rect 114 -123 119 -94 +rect 140 -123 205 -94 +rect 114 -124 205 -123 +rect 226 -124 241 -93 +rect 114 -126 241 -124 +rect 114 -142 242 -126 +<< locali >> +rect 112 -47 145 -45 +rect 109 -100 154 -47 +rect 109 -117 121 -100 +rect 138 -117 154 -100 +rect 109 -142 154 -117 +rect 195 -100 241 -77 +rect 195 -117 207 -100 +rect 224 -117 241 -100 +rect 195 -171 241 -117 +<< end >>
diff --git a/mag/res500_layout.mag b/mag/res500_layout.mag new file mode 100644 index 0000000..672ea82 --- /dev/null +++ b/mag/res500_layout.mag
@@ -0,0 +1,39 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1042 -1548 1858 1170 +<< ndiff >> +rect 238 -200 280 -188 +rect 238 -234 242 -200 +rect 276 -234 280 -200 +rect 238 -246 280 -234 +rect 528 -195 570 -184 +rect 528 -229 532 -195 +rect 566 -229 570 -195 +rect 528 -240 570 -229 +<< ndiffc >> +rect 242 -234 276 -200 +rect 532 -229 566 -195 +<< ndiffres >> +rect 228 -158 416 -156 +rect 228 -184 596 -158 +rect 228 -188 528 -184 +rect 228 -246 238 -188 +rect 280 -240 528 -188 +rect 570 -240 596 -184 +rect 280 -246 596 -240 +rect 228 -284 596 -246 +rect 416 -286 596 -284 +<< locali >> +rect 224 -94 290 -90 +rect 218 -200 308 -94 +rect 218 -234 242 -200 +rect 276 -234 308 -200 +rect 218 -284 308 -234 +rect 508 -195 598 -96 +rect 508 -229 532 -195 +rect 566 -229 598 -195 +rect 508 -288 598 -229 +<< end >>
diff --git a/mag/sky130A.tech b/mag/sky130A.tech new file mode 100644 index 0000000..196d5b9 --- /dev/null +++ b/mag/sky130A.tech
@@ -0,0 +1,6328 @@ +#------------------------------------------------------------------------ +# Copyright (c) 2020 R. Timothy Edwards +# Revisions: See below +# +# This file is an Open Source foundry process describing +# the SkyWater sky130 hybrid 0.18um / 0.13um fabrication +# process. The file may be distributed under the terms +# of the Apache 2.0 license agreement. +# +#------------------------------------------------------------------------ +# This file is designed to be used with magic versions +# 8.3.24 or newer. +#------------------------------------------------------------------------ +tech + format 35 + sky130A +end + +version + version 1.0.85-0-g32cdb20 + description "SkyWater SKY130: PRE ALPHA Vendor Open Source rules and DRC" +end + +#------------------------------------------------------------------------ +# Status 7/10/20: Rev 1 (alpha): +# First public release +# Status 8/14/20: Rev 2 (alpha): +# Started updating with new device/model naming convention +#------------------------------------------------------------------------ + +#------------------------------------------------------------------------ +# Supported device types +#------------------------------------------------------------------------ +# device name magic ID layer description +#------------------------------------------------------------------------ +# sky130_fd_pr__nfet_01v8 nfet standard nFET +# sky130_fd_pr__nfet_01v8 scnfet standard nFET in standard cell** +# sky130_fd_pr__special_nfet_latch npd special nFET in SRAM cell +# sky130_fd_pr__special_nfet_pass npass special nFET in SRAM cell +# sky130_fd_pr__nfet_01v8_lvt nfetlvt low Vt nFET +# sky130_fd_bs_flash__special_sonosfet_star nsonos SONOS nFET +# sky130_fd_pr__pfet_01v8 pfet standard pFET +# sky130_fd_pr__pfet_01v8 scpfet standard pFET in standard cell** +# sky130_fd_pr__special_pfet_pass ppu special pFET in SRAM cell +# sky130_fd_pr__pfet_01v8_lvt pfetlvt low Vt pFET +# sky130_fd_pr__pfet_01v8_mvt pfetmvt med Vt pFET +# sky130_fd_pr__pfet_01v8_hvt pfethvt high Vt pFET +# sky130_fd_pr__nfet_03v3_nvt --- native nFET +# sky130_fd_pr__pfet_g5v0d10v5 mvpfet thickox pFET +# sky130_fd_pr__nfet_g5v0d10v5 mvnfet thickox nFET +# sky130_fd_pr__nfet_01v8_nvt mvnnfet thickox native nFET +# sky130_fd_pr__diode_pw2nd_05v5 ndiode n+ diff diode +# sky130_fd_pr__diode_pw2nd_05v5_lvt ndiodelvt low Vt n+ diff diode +# sky130_fd_pr__diode_pw2nd_05v5_nvt nndiode diode with nndiff +# sky130_fd_pr__diode_pw2nd_11v0 mvndiode thickox n+ diff diode +# sky130_fd_pr__diode_pd2nw_05v5 pdiode p+ diff diode +# sky130_fd_pr__diode_pd2nw_05v5_lvt pdiodelvt low Vt p+ diff diode +# sky130_fd_pr__diode_pd2nw_05v5_hvt pdiodehvt high Vt p+ diff diode +# sky130_fd_pr__diode_pd2nw_11v0 mvpdiode thickox p+ diff diode +# sky130_fd_pr__npn_05v0 pbase NPN in deep nwell +# sky130_fd_pr__npn_11v0 pbase thick oxide gated NPN +# sky130_fd_pr__pnp_05v0 nbase PNP +# sky130_fd_pr__cap_mim_m3_1 mimcap MiM cap 1st plate +# sky130_fd_pr__cap_mim_m3_2 mimcap2 MiM cap 2nd plate +# sky130_fd_pr__res_generic_nd rdn n+ diff resistor +# sky130_fd_pr__res_generic_nd__hv mvrdn thickox n+ diff resistor +# sky130_fd_pr__res_generic_pd rdp p+ diff resistor +# sky130_fd_pr__res_generic_pd__nv mvrdp thickox p+ diff resistor +# sky130_fd_pr__res_generic_l1 rli local interconnect resistor +# sky130_fd_pr__res_generic_po npres n+ poly resistor +# sky130_fd_pr__res_high_po_* ppres (*) p+ poly resistor (300 Ohms/sq) +# sky130_fd_pr__res_xhigh_po_* xres (*) p+ poly resistor (2k Ohms/sq) +# sky130_fd_pr__cap_var_lvt varactor low Vt varactor +# sky130_fd_pr__cap_var_hvt varactorhvt high Vt varactor +# sky130_fd_pr__cap_var mvvaractor thickox varactor +# sky130_fd_pr__res_iso_pw rpw pwell resistor (in deep nwell) +# +# (*) Note that ppres may extract into some generic type called +# "sky130_fd_pr__res_xhigh_po", but only specific sizes of xhrpoly are +# allowed, and these are created from fixed layouts like the types below. +# +# (**) nFET and pFET in standard cells are the same as devices +# outside of the standard cell except for the DRC rule for +# FET to diffusion contact spacing (which is 0.05um, not 0.055um) +# +#------------------------------------------------------------- +# The following devices are not extracted but are represented +# only by script-generated subcells in the PDK. +#------------------------------------------------------------- +# sky130_fd_pr__esd_nfet_01v8 ESD nFET +# sky130_fd_pr__esd_nfet_g5v0d10v5 ESD thickox nFET +# sky130_fd_pr__esd_nfet_05v0_nvt ESD native nFET +# sky130_fd_pr__esd_pfet_g5v0d10v5 ESD thickox pFET +# sky130_fd_pr__special_nfet_pass_flash flash nFET device +# sky130_fd_pr__esd_rf_diode_pw2nd_11v0 ESD n+ diode +# sky130_fd_pr__esd_rf_diode_pd2nw_11v0 ESD p+ diode +# sky130_fd_pr__cap_vpp_* Vpp cap +# sky130_fd_pr__ind_* inductor +# sky130_fd_pr__fuse_m4 metal fuse device +#-------------------------------------------------------------- + +#----------------------------------------------------- +# Tile planes +#----------------------------------------------------- + +planes + dwell,dw + well,w + active,a + locali,li1,li + metal1,m1 + metal2,m2 + metal3,m3 + cap1,c1 + metal4,m4 + cap2,c2 + metal5,m5 + metali,mi + block,b + comment,c +end + +#----------------------------------------------------- +# Tile types +#----------------------------------------------------- + +types +# Deep nwell + dwell dnwell,dnw + +# Wells + well nwell,nw + well pwell,pw + well rpw,rpwell + -well obswell + well pbase,npn + well nbase,pnp + +# Transistors + active nmos,ntransistor,nfet + -active scnmos,scntransistor,scnfet + -active npd,npdfet,sramnfet + -active npass,npassfet,srampassfet + active pmos,ptransistor,pfet + -active scpmos,scptransistor,scpfet + -active scpmoshvt,scpfethvt + -active ppu,ppufet,srampfet + active nnmos,nntransistor + active mvnmos,mvntransistor,mvnfet + active mvpmos,mvptransistor,mvpfet + active mvnnmos,mvnntransistor,mvnnfet,nnfet + active varactor,varact,var + active mvvaractor,mvvaract,mvvar + + active pmoslvt,pfetlvt + active pmosmvt,pfetmvt + active pmoshvt,pfethvt + active nmoslvt,nfetlvt + active varactorhvt,varacthvt,varhvt + -active nsonos,sonos + active sramnvar,corenvar,corenvaractor + active srampvar,corepvar,corepvaractor + +# Diffusions + active ndiff,ndiffusion,ndif + active pdiff,pdiffusion,pdif + active mvndiff,mvndiffusion,mvndif + active mvpdiff,mvpdiffusion,mvpdif + active ndiffc,ndcontact,ndc + active pdiffc,pdcontact,pdc + active mvndiffc,mvndcontact,mvndc + active mvpdiffc,mvpdcontact,mvpdc + active psubdiff,psubstratepdiff,ppdiff,ppd,psd + active nsubdiff,nsubstratendiff,nndiff,nnd,nsd + active mvpsubdiff,mvpsubstratepdiff,mvppdiff,mvppd,mvpsd + active mvnsubdiff,mvnsubstratendiff,mvnndiff,mvnnd,mvnsd + active psubdiffcont,psubstratepcontact,psc + active nsubdiffcont,nsubstratencontact,nsc + active mvpsubdiffcont,mvpsubstratepcontact,mvpsc + active mvnsubdiffcont,mvnsubstratencontact,mvnsc + -active obsactive + -active mvobsactive + +# Poly + active poly,p,polysilicon + active polycont,pc,pcontact,polycut,polyc + active xpolycontact,xpolyc,xpc + +# Resistors + active npolyres,npres,mrp1 + active ppolyres,ppres,xhrpoly + active xpolyres,xpres,xres,uhrpoly + active ndiffres,rnd,rdn,rndiff + active pdiffres,rpd,rdp,rpdiff + active mvndiffres,mvrnd,mvrdn,mvrndiff + active mvpdiffres,mvrpd,mvrdp,mvrpdiff + active rmp + +# Diodes + active pdiode,pdi + active ndiode,ndi + active nndiode,nndi + active pdiodec,pdic + active ndiodec,ndic + active nndiodec,nndic + active mvpdiode,mvpdi + active mvndiode,mvndi + active mvpdiodec,mvpdic + active mvndiodec,mvndic + active pdiodelvt,pdilvt + active pdiodehvt,pdihvt + active ndiodelvt,ndilvt + active pdiodelvtc,pdilvtc + active pdiodehvtc,pdihvtc + active ndiodelvtc,ndilvtc + +# Local Interconnect + locali locali,li1,li + -locali corelocali,coreli1,coreli + locali rlocali,rli1,rli + locali viali,vial,mcon,lic,licon,m1c,v0 + -locali obsli1,obsli + -locali obsli1c,obslic,obslicon + +# Metal 1 + metal1 metal1,m1,met1 + metal1 rmetal1,rm1,rmet1 + metal1 via1,m2contact,m2cut,m2c,via,v,v1 + -metal1 obsm1 + metal1 padl + -metal1 m1fill + +# Metal 2 + metal2 metal2,m2,met2 + metal2 rmetal2,rm2,rmet2 + metal2 via2,m3contact,m3cut,m3c,v2 + -metal2 obsm2 + -metal2 m2fill + +# Metal 3 + metal3 metal3,m3,met3 + metal3 rmetal3,rm3,rmet3 + -metal3 obsm3 + metal3 via3,v3 + -metal3 m3fill + + cap1 mimcap,mim,capm + cap1 mimcapcontact,mimcapc,mimcc,capmc + +# Metal 4 + metal4 metal4,m4,met4 + metal4 rmetal4,rm4,rmet4 + -metal4 obsm4 + metal4 via4,v4 + -metal4 m4fill + + cap2 mimcap2,mim2,capm2 + cap2 mimcap2contact,mimcap2c,mim2cc,capm2c + +# Metal 5 + metal5 metal5,m5,met5 + metal5 rm5,rmetal5,rmet5 + -metal5 obsm5 + -metal5 m5fill + + metal5 mrdlcontact,mrdlc + metali metalrdl,mrdl,metrdl + -metali obsmrdl + +# Miscellaneous + -block glass + -block fillblock + comment comment + -comment obscomment +# fixed resistor width identifiers + -comment res0p35 + -comment res0p69 + -comment res1p41 + -comment res2p85 + -comment res5p73 + +end + +#----------------------------------------------------- +# Magic contact types +#----------------------------------------------------- + +contact + pc poly locali + ndc ndiff locali + pdc pdiff locali + nsc nsd locali + psc psd locali + ndic ndiode locali + ndilvtc ndiodelvt locali + nndic nndiode locali + pdic pdiode locali + pdilvtc pdiodelvt locali + pdihvtc pdiodehvt locali + xpc xpc locali + + mvndc mvndiff locali + mvpdc mvpdiff locali + mvnsc mvnsd locali + mvpsc mvpsd locali + mvndic mvndiode locali + mvpdic mvpdiode locali + + lic locali metal1 + obslic obsli metal1 + + via1 metal1 metal2 + via2 metal2 metal3 + via3 metal3 metal4 + via4 metal4 metal5 + stackable + + # MiM cap contacts are not stackable! + mimcc mimcap metal4 + mim2cc mimcap2 metal5 + + padl m1 m2 m3 m4 m5 glass + + mrdlc metal5 mrdl +end + +#----------------------------------------------------- +# Layer aliases +#----------------------------------------------------- + +aliases + + allwellplane nwell + allnwell nwell,obswell,pnp + + allnfets nfet,npass,npd,scnfet,mvnfet,mvnnfet,nfetlvt,nsonos + allpfets pfet,ppu,scpfet,scpfethvt,mvpfet,pfethvt,pfetlvt,pfetmvt + allfets allnfets,allpfets,varactor,mvvaractor,varhvt,corenvar,corepvar + allfetsstd nfet,mvnfet,mvnnfet,nfetlvt,pfet,mvpfet,pfethvt,pfetlvt,pfetmvt + allfetsspecial scnfet,scpfet,scpfethvt + allfetscore npass,npd,nsonos,ppu,corenvar,corepvar + allfetsnolvt nfet,npass,npd,scnfet,mvnfet,mvnnfet,nsonos,pfet,ppu,scpfet,scpfethvt,mvpfet,pfethvt,pfetmvt,varactor,mvvaractor,varhvt,corenvar + + allnactivenonfet *ndiff,*nsd,*ndiode,*nndiode,*mvndiff,*mvnsd,*mvndiode,*ndiodelvt + allnactive allnactivenonfet,allnfets + allnactivenontap *ndiff,*ndiode,*nndiode,*mvndiff,*mvndiode,*ndiodelvt,allnfets + allnactivetap *nsd,*mvnsd,var,varhvt,mvvar,corenvar + + allpactivenonfet *pdiff,*psd,*pdiode,*mvpdiff,*mvpsd,*mvpdiode,*pdiodelvt,*pdiodehvt + allpactive allpactivenonfet,allpfets + allpactivenontap *pdiff,*pdiode,*mvpdiff,*mvpdiode,*pdiodelvt,*pdiodehvt,allpfets + allpactivetap *psd,*mvpsd,corepvar + + allactivenonfet allnactivenonfet,allpactivenonfet + allactive allactivenonfet,allfets + + allactiveres ndiffres,pdiffres,mvndiffres,mvpdiffres + + allndifflv *ndif,*nsd,*ndiode,ndiffres,nfet,npass,npd,scnfet,nfetlvt,nsonos + allpdifflv *pdif,*psd,*pdiode,pdiffres,pfet,ppu,scpfet,scpfethvt,pfetlvt,pfetmvt,pfethvt + alldifflv allndifflv,allpdifflv + allndifflvnonfet *ndif,*nsd,*ndiode,*nndiode,ndiffres,*ndiodelvt + allpdifflvnonfet *pdif,*psd,*pdiode,pdiffres,*pdiodelvt,*pdiodehvt + alldifflvnonfet allndifflvnonfet,allpdifflvnonfet + + allndiffmv *mvndif,*mvnsd,*mvndiode,*nndiode,mvndiffres,mvnfet,mvnnfet + allpdiffmv *mvpdif,*mvpsd,*mvpdiode,mvpdiffres,mvpfet + alldiffmv allndiffmv,allpdiffmv + allndiffmvnontap *mvndif,*mvndiode,*nndiode,mvndiffres,mvnfet,mvnnfet + allpdiffmvnontap *mvpdif,*mvpdiode,mvpdiffres,mvpfet + alldiffmvnontap allndiffmvnontap,allpdiffmvnontap + allndiffmvnonfet *mvndif,*mvnsd,*mvndiode,*nndiode,mvndiffres + allpdiffmvnonfet *mvpdif,*mvpsd,*mvpdiode,mvpdiffres + alldiffmvnonfet allndiffmvnonfet,allpdiffmvnonfet + + alldiffnonfet alldifflvnonfet,alldiffmvnonfet + alldiff alldifflv,alldiffmv + + allpolyres mrp1,xhrpoly,uhrpoly,rmp + allpolynonfet *poly,allpolyres,xpc + allpolynonres *poly,allfets,xpc + + allpoly allpolynonfet,allfets + allpolynoncap *poly,xpc,allfets,allpolyres + + allndiffcontlv ndc,nsc,ndic,nndic,ndilvtc + allpdiffcontlv pdc,psc,pdic,pdilvtc,pdihvtc + allndiffcontmv mvndc,mvnsc,mvndic + allpdiffcontmv mvpdc,mvpsc,mvpdic + allndiffcont allndiffcontlv,allndiffcontmv + allpdiffcont allpdiffcontlv,allpdiffcontmv + alldiffcontlv allndiffcontlv,allpdiffcontlv + alldiffcontmv allndiffcontmv,allpdiffcontmv + alldiffcont alldiffcontlv,alldiffcontmv + + allcont alldiffcont,pc + + allres allpolyres,allactiveres + + allli *locali,coreli,rli + allm1 *m1,rm1 + allm2 *m2,rm2 + allm3 *m3,rm3 + allm4 *m4,rm4 + allm5 *m5,rm5 + + allpad padl + + psub pwell + +end + +#----------------------------------------------------- +# Layer drawing styles +#----------------------------------------------------- + +styles + styletype mos + dnwell cwell + nwell nwell + pwell pwell + rpwell pwell ptransistor_stripes + ndiff ndiffusion + pdiff pdiffusion + nsd ndiff_in_nwell + psd pdiff_in_pwell + nfet ntransistor ntransistor_stripes + scnfet ntransistor ntransistor_stripes + npass ntransistor ntransistor_stripes + npd ntransistor ntransistor_stripes + pfet ptransistor ptransistor_stripes + scpfet ptransistor ptransistor_stripes + scpfethvt ptransistor ptransistor_stripes implant2 + ppu ptransistor ptransistor_stripes + var polysilicon ndiff_in_nwell + ndc ndiffusion metal1 contact_X'es + pdc pdiffusion metal1 contact_X'es + nsc ndiff_in_nwell metal1 contact_X'es + psc pdiff_in_pwell metal1 contact_X'es + corenvar polysilicon ndiff_in_nwell + corepvar polysilicon pdiff_in_pwell + + pnp nwell ntransistor_stripes + npn pwell ptransistor_stripes + + pfetlvt ptransistor ptransistor_stripes implant1 + pfetmvt ptransistor ptransistor_stripes implant3 + pfethvt ptransistor ptransistor_stripes implant2 + nfetlvt ntransistor ntransistor_stripes implant1 + nsonos ntransistor implant3 + varhvt polysilicon ndiff_in_nwell implant2 + + mvndiff ndiffusion hvndiff_mask + mvpdiff pdiffusion hvpdiff_mask + mvnsd ndiff_in_nwell hvndiff_mask + mvpsd pdiff_in_pwell hvpdiff_mask + mvnfet ntransistor ntransistor_stripes hvndiff_mask + mvnnfet ntransistor ndiff_in_nwell hvndiff_mask + mvpfet ptransistor ptransistor_stripes + mvvar polysilicon ndiff_in_nwell hvndiff_mask + mvndc ndiffusion metal1 contact_X'es hvndiff_mask + mvpdc pdiffusion metal1 contact_X'es hvpdiff_mask + mvnsc ndiff_in_nwell metal1 contact_X'es hvndiff_mask + mvpsc pdiff_in_pwell metal1 contact_X'es hvpdiff_mask + + poly polysilicon + pc polysilicon metal1 contact_X'es + npolyres polysilicon silicide_block nselect2 + ppolyres polysilicon silicide_block pselect2 + xpc polysilicon pselect2 metal1 contact_X'es + rmp polysilicon poly_resist_stripes + + res0p35 implant1 + res0p69 implant1 + res1p41 implant1 + res2p85 implant1 + res5p73 implant1 + + pdiode pdiffusion pselect2 + ndiode ndiffusion nselect2 + pdiodec pdiffusion pselect2 metal1 contact_X'es + ndiodec ndiffusion nselect2 metal1 contact_X'es + + nndiode ndiffusion nselect2 implant3 + ndiodelvt ndiffusion nselect2 implant1 + pdiodelvt pdiffusion pselect2 implant1 + pdiodehvt pdiffusion pselect2 implant2 + pdilvtc pdiffusion pselect2 implant1 metal1 contact_X'es + pdihvtc pdiffusion pselect2 implant2 metal1 contact_X'es + ndilvtc ndiffusion nselect2 implant1 metal1 contact_X'es + + mvpdiode pdiffusion pselect2 hvpdiff_mask + mvndiode ndiffusion nselect2 hvndiff_mask + mvpdiodec pdiffusion pselect2 metal1 contact_X'es hvpdiff_mask + mvndiodec ndiffusion nselect2 metal1 contact_X'es hvndiff_mask + nndiodec ndiff_in_nwell nselect2 metal1 contact_X'es hvndiff_mask + + locali metal1 + coreli metal1 + rli metal1 poly_resist_stripes + lic metal1 metal2 via1arrow + obsli metal1 + obslic metal1 metal2 via1arrow + + metal1 metal2 + m1fill metal2 + rm1 metal2 poly_resist_stripes + obsm1 metal2 + m2c metal2 metal3 via2arrow + metal2 metal3 + m2fill metal3 + rm2 metal3 poly_resist_stripes + obsm2 metal3 + m3c metal3 metal4 via3alt + metal3 metal4 + m3fill metal4 + rm3 metal4 poly_resist_stripes + obsm3 metal4 + mimcap metal3 mems + mimcc metal3 contact_X'es mems + mimcap2 metal4 mems + mim2cc metal4 contact_X'es mems + via3 metal4 metal5 via4 + metal4 metal5 + m4fill metal5 + rm4 metal5 poly_resist_stripes + obsm4 metal5 + via4 metal5 metal6 via5 + metal5 metal6 + m5fill metal6 + rm5 metal6 poly_resist_stripes + obsm5 metal6 + mrdlc metal6 metal7 via6 + metalrdl metal7 + obsmrdl metal7 + + glass overglass + mrp1 poly_resist poly_resist_stripes + xhrpoly poly_resist silicide_block + uhrpoly poly_resist + ndiffres ndiffusion ndop_stripes + pdiffres pdiffusion pdop_stripes + mvndiffres ndiffusion hvndiff_mask ndop_stripes + mvpdiffres pdiffusion hvpdiff_mask pdop_stripes + comment comment + error_p error_waffle + error_s error_waffle + error_ps error_waffle + fillblock cwell + + obswell cwell + obsactive implant4 + + padl metal6 via6 overglass + + magnet substrate_field_implant + rotate via3alt + fence via5 +end + +#----------------------------------------------------- +# Special paint/erase rules +#----------------------------------------------------- + +compose + compose nfet poly ndiff + compose pfet poly pdiff + compose var poly nsd + + compose mvnfet poly mvndiff + compose mvpfet poly mvpdiff + compose mvvar poly mvnsd + + paint obslic locali via1 + paint obslic obsm1 obsli,obsm1 + + paint ndc nwell pdc + paint nfet nwell pfet + paint scnfet nwell scpfet + paint ndiff nwell pdiff + paint psd nwell nsd + paint psc nwell nsc + paint npd nwell ppu + + paint pdc pwell ndc + paint pfet pwell nfet + paint scpfet pwell scnfet + paint pdiff pwell ndiff + paint nsd pwell psd + paint nsc pwell psc + paint ppu pwell npd + + paint pdc coreli pdc + paint ndc coreli ndc + paint pc coreli pc + paint nsc coreli nsc + paint psc coreli psc + paint viali coreli viali + + paint coreli pdc pdc + paint coreli ndc ndc + paint coreli pc pc + paint coreli nsc nsc + paint coreli psc psc + paint coreli viali viali + + paint m4 obsm4 m4 + paint m5 obsm5 m5 +end + +#----------------------------------------------------- +# Electrical connectivity +#----------------------------------------------------- + +connect + *nwell,*nsd,*mvnsd,dnwell,pnp *nwell,*nsd,*mvnsd,dnwell,pnp + pwell,*psd,*mvpsd,npn pwell,*psd,*mvpsd,npn + *li,coreli *li,coreli + *m1,m1fill,obslic *m1,m1fill,obslic + *m2,m2fill *m2,m2fill + *m3,m3fill *m3,m3fill + *m4,m4fill *m4,m4fill + *m5,m5fill *m5,m5fill + *mimcap *mimcap + *mimcap2 *mimcap2 + allnactivenonfet allnactivenonfet + allpactivenonfet allpactivenonfet + *poly,xpc,allfets *poly,xpc,allfets + # RDL connects to m5 (i.e., padl) through glass cut + *mrdl *mrdl + glass metrdl +end + +#----------------------------------------------------- +# CIF/GDS output layer definitions +#----------------------------------------------------- +# NOTE: All values in this section MUST be multiples of 25 +# or else magic will scale below the allowed layout grid size + +cifoutput + +#---------------------------------------------------------------- +style gdsii +# NOTE: This section is used for actual GDS output +#---------------------------------------------------------------- + scalefactor 10 nanometers + options calma-permissive-labels + gridlimit 5 + +#---------------------------------------------------------------- +# Create a temp layer from the cell bounding box for use in +# generating ID layers. Note that "boundary", unlike "bbox", +# requires the FIXED_BBOX property (abutment box) in the cell. +#---------------------------------------------------------------- + templayer CELLBOUND + boundary + +#---------------------------------------------------------------- +# BOUND +#---------------------------------------------------------------- + layer BOUND CELLBOUND + calma 235 4 + +# Create a boundary outside of an abutment box, so that layers +# can be made to stretch to the abutment box edges. First strink +# so that any box that would be so small as to interact with +# itself will be removed. + + templayer CELLRING CELLBOUND + shrink 345 + grow 545 + and-not CELLBOUND + +#---------------------------------------------------------------- +# DNWELL +#---------------------------------------------------------------- + + layer DNWELL dnwell,pnp + calma 64 18 + + layer PWRES rpw + and dnwell + calma 64 13 + +#---------------------------------------------------------------- +# NWELL +#---------------------------------------------------------------- + + layer NWELL allnwell + bloat-all rpw dnwell + and-not rpw,pwell + calma 64 20 + + layer WELLTXT + labels allnwell noport + calma 64 16 + + layer WELLPIN + labels allnwell port + calma 64 5 + +#---------------------------------------------------------------- +# SUB (text/port only) +#---------------------------------------------------------------- + + layer SUBTXT + labels pwell noport + calma 122 16 + + layer SUBPIN + labels pwell port + calma 64 59 + +#---------------------------------------------------------------- +# DIFF +#---------------------------------------------------------------- + + layer DIFF allnactivenontap,allpactivenontap,allactiveres + labels allnactivenontap,allpactivenontap + calma 65 20 + +#---------------------------------------------------------------- +# TAP +#---------------------------------------------------------------- + + layer TAP allnactivetap,allpactivetap + labels allnactivetap,allpactivetap + calma 65 44 + +#---------------------------------------------------------------- +# PPLUS, NPLUS (PSDM, NSDM) +#---------------------------------------------------------------- + + templayer basePPLUS pdiffres,mvpdiffres + grow 15 + or xhrpoly,uhrpoly,xpc + grow 110 + bloat-or allpactivetap * 125 allnactivenontap 0 + bloat-or allpactivenontap * 125 allnactivetap 0 + + templayer baseNPLUS ndiffres,mvndiffres + grow 125 + bloat-or allnactivetap * 125 allpactivenontap 0 + bloat-or allnactivenontap * 125 allpactivetap 0 + + templayer extendPPLUS basePPLUS,CELLRING + bridge 380 380 + and-not baseNPLUS + and-not CELLRING + + layer PPLUS basePPLUS,extendPPLUS + grow 185 + shrink 185 + close 265000 + calma 94 20 + + templayer extendNPLUS baseNPLUS,CELLRING + bridge 380 380 + and-not basePPLUS + and-not CELLRING + + layer NPLUS baseNPLUS,extendNPLUS + grow 185 + shrink 185 + close 265000 + calma 93 44 + +#---------------------------------------------------------------- +# LVTN +#---------------------------------------------------------------- + + layer LVTN pfetlvt,nfetlvt,mvvar,mvnnfet,nsonos,*pdiodelvt,*ndiodelvt,*nndiode + grow 180 + bridge 380 380 + grow 185 + shrink 185 + close 265000 + calma 125 44 + +#---------------------------------------------------------------- +# HVTR +#---------------------------------------------------------------- + + layer HVTR pfetmvt + grow 180 + bridge 380 380 + grow 185 + shrink 185 + close 265000 + calma 18 20 + +#---------------------------------------------------------------- +# HVTP +#---------------------------------------------------------------- + + layer HVTP scpfethvt,ppu,pfethvt,varhvt,*pdiodehvt + grow 180 + bridge 380 380 + grow 185 + shrink 185 + close 265000 + calma 78 44 + +#---------------------------------------------------------------- +# SONOS +#---------------------------------------------------------------- + + layer SONOS nsonos + grow 100 + grow-min 410 + bridge 500 410 + grow 250 + shrink 250 + calma 80 20 + +#---------------------------------------------------------------- +# SONOS requires COREID around area (areaid.ce). Also, the +# coreli layer indicates a cell needing COREID. Also, devices +# npd, npass, and ppu indicate a COREID cell. +#---------------------------------------------------------------- + + layer COREID + bloat-all nsonos,coreli,ppu,npd,npass,corepvar,corenvar CELLBOUND + calma 81 2 + +#---------------------------------------------------------------- +# STDCELL applies to all cells containing scnfet or scpfet. +#---------------------------------------------------------------- + + layer STDCELL scnfet + bloat-all scpfet,scpfethvt,scnfet CELLBOUND + calma 81 4 + +#---------------------------------------------------------------- +# NPNID and PNPID apply to bipolar transistors +#---------------------------------------------------------------- + + layer NPNID + bloat-all npn dnwell + calma 82 20 + + templayer pnparea pnp + grow 400 + + layer PNPID + bloat-all pnparea *psd + or pnparea + calma 82 44 + +#---------------------------------------------------------------- +# RPM +#---------------------------------------------------------------- + + layer RPM + bloat-all xhrpoly xpc + grow 200 + grow-min 1270 + grow 420 + shrink 420 + calma 86 20 + +#---------------------------------------------------------------- +# URPM (2kOhms/sq. poly implant) +#---------------------------------------------------------------- + + layer URPM + bloat-all uhrpoly xpc + grow 200 + grow-min 1270 + grow 420 + shrink 420 + calma 79 20 + +#---------------------------------------------------------------- +# LDNTM (Tip implant for SONOS FETs) +#---------------------------------------------------------------- + + layer LDNTM + bloat-all nsonos *ndiff + grow 185 + grow 345 + shrink 345 + calma 11 44 + +#---------------------------------------------------------------- +# HVNTM (Tip implant for MV ndiff devices) +#---------------------------------------------------------------- + + templayer hvntm_block *mvpsd + grow 185 + + layer HVNTM + bloat-all mvnfet,mvnnfet,*mvndiode,mvrdn,*nndiode *mvndiff + bloat-all mvvaractor *mvnsd + and-not hvntm_block + grow 185 + grow 345 + shrink 345 + and-not hvntm_block + calma 125 20 + +#---------------------------------------------------------------- +# POLY +#---------------------------------------------------------------- + + layer POLY allpoly + calma 66 20 + + layer POLYTXT + labels allpoly noport + calma 66 16 + + layer POLYPIN + labels allpoly port + calma 66 5 + +#---------------------------------------------------------------- +# THKOX (HVI) (includes rules NWELL 8-11 and DIFFTAP 14-26) +#---------------------------------------------------------------- + + templayer thkox_area alldiffmv,mvvar + grow 185 + bloat-all alldiffmv nwell + grow 345 + shrink 345 + + templayer large_ptap_mv thkox_area + shrink 420 + grow 420 + + templayer small_ptap_mv thkox_area + and-not large_ptap_mv + # (HVI min width rule is 0.6 but CNTM min width rule is 0.84um) + grow-min 840 + + templayer baseTHKOX thkox_area,small_ptap_mv + bridge 700 600 + grow 345 + shrink 345 + + templayer extendTHKOX baseTHKOX,CELLRING + grow 345 + shrink 345 + and-not CELLRING + + layer THKOX baseTHKOX,extendTHKOX + calma 75 20 + +#---------------------------------------------------------------- +# CONT (LICON) +#---------------------------------------------------------------- + + layer CONT allcont + squares-grid 0 170 170 + calma 66 44 + + # Contact for pres is different than other LICON contacts + # See rules LICON 1b, 1c (width/length) and 2b (spacing) + templayer xpc_horiz xpc + shrink 1007 + grow 1007 + + layer CONT xpc + and-not xpc_horiz + # Force long edge vertical for contacts narrower than 2um + # Minimum space is 350 but 520 satisfies no. of contacts rule + slots 80 190 520 80 2000 350 + calma 66 44 + + layer CONT xpc + and xpc_horiz + # Force long edge vertical for contacts wider than 2um + # Minimum space is 350 but 520 satisfies no. of contacts rule + slots 80 2000 350 80 190 520 + calma 66 44 + +#---------------------------------------------------------------- +# NPC (Nitride poly cut) +# surrounds CONT (LICON) on poly only (i.e., pc) +#---------------------------------------------------------------- + + layer NPC pc + squares-grid 0 170 170 + grow 100 + bridge 270 270 + grow 130 + shrink 130 + calma 95 20 + + # NPC is also generated on xhrpoly and uhrpoly resistors + + layer NPC xpc,xhrpoly,uhrpoly + # xpc surrounds precision_resistor by 0.095um + grow 95 + grow 130 + shrink 130 + calma 95 20 + +#---------------------------------------------------------------- +# Device markers +#---------------------------------------------------------------- + + layer DIFFRES rdn,mvrdn,rdp,mvrdp + calma 65 13 + + layer POLYRES mrp1 + calma 66 13 + + # POLYSHORT is a poly layer resistor like rli, rm1, etc., for metal layers + layer POLYSHORT rmp + calma 66 15 + + # POLYRES extends to edge of contact cut + layer POLYRES xhrpoly,uhrpoly + grow 60 + and xpc + or xhrpoly,uhrpoly + calma 66 13 + + layer DIODE *pdi,*ndi,*nndi,*mvpdi,*mvndi,*pdilvt,*pdihvt,*ndilvt + # To be done: Expand to include anode, cathode, and guard ring + calma 81 23 + +#---------------------------------------------------------------- +# LI +#---------------------------------------------------------------- + layer LI allli + calma 67 20 + + layer LITXT + labels *locali,coreli noport + calma 67 16 + + layer LIPIN + labels *locali,coreli port + calma 67 5 + + layer LIRES rli + labels rli + calma 67 13 + +#---------------------------------------------------------------- +# MCON +#---------------------------------------------------------------- + layer MCON lic + squares-grid 0 170 190 + calma 67 44 + +#---------------------------------------------------------------- +# MET1 +#---------------------------------------------------------------- + layer MET1 allm1,m1fill + calma 68 20 + + layer MET1TXT + labels allm1 noport + calma 68 16 + + layer MET1PIN + labels allm1 port + calma 68 5 + + layer MET1RES rm1 + labels rm1 + calma 68 13 + +#---------------------------------------------------------------- +# VIA1 +#---------------------------------------------------------------- + layer VIA1 via1 + squares-grid 55 150 170 + calma 68 44 + +#---------------------------------------------------------------- +# MET2 +#---------------------------------------------------------------- + layer MET2 allm2,m2fill + calma 69 20 + + layer MET2TXT + labels allm2 noport + calma 69 16 + + layer MET2PIN + labels allm2 port + calma 69 5 + + layer MET2RES rm2 + labels rm2 + calma 69 13 + +#---------------------------------------------------------------- +# VIA2 +#---------------------------------------------------------------- + layer VIA2 via2 + squares-grid 40 200 200 + calma 69 44 + +#---------------------------------------------------------------- +# MET3 +#---------------------------------------------------------------- + layer MET3 allm3,m3fill + calma 70 20 + + layer MET3TXT + labels allm3 noport + calma 70 16 + + layer MET3PIN + labels allm3 port + calma 70 5 + + layer MET3RES rm3 + labels rm3 + calma 70 13 + +#---------------------------------------------------------------- +# VIA3 +#---------------------------------------------------------------- + layer VIA3 via3 + or mimcc + squares-grid 60 200 200 + calma 70 44 + +#---------------------------------------------------------------- +# MET4 +#---------------------------------------------------------------- + layer MET4 allm4,m4fill + calma 71 20 + + layer MET4TXT + labels allm4 noport + calma 71 16 + + layer MET4PIN + labels allm4 port + calma 71 5 + + layer MET4RES rm4 + labels rm4 + calma 71 13 + +#---------------------------------------------------------------- +# VIA4 +#---------------------------------------------------------------- + layer VIA4 via4 + or mim2cc + squares-grid 190 800 800 + calma 71 44 + +#---------------------------------------------------------------- +# MET5 +#---------------------------------------------------------------- + layer MET5 allm5,m5fill + calma 72 20 + + layer MET5TXT + labels allm5 noport + calma 72 16 + + layer MET5PIN + labels allm5 port + calma 72 5 + + layer MET5RES rm5 + labels rm5 + calma 72 13 + + +#---------------------------------------------------------------- +# RDL +#---------------------------------------------------------------- + layer RDL *metrdl + calma 74 20 + + layer RDLTXT + labels *metrdl noport + calma 74 16 + + layer RDLPIN + labels *metrdl port + calma 74 5 + + layer PI1 *metrdl + and padl,glass + # Test only---needs GDS layer number + + layer UBM *metrdl + shrink 50000 + grow 40000 + # Test only---needs GDS layer number + + layer PI2 *metrdl + shrink 50000 + grow 25000 + # Test only---needs GDS layer number + + +#---------------------------------------------------------------- +# GLASS +#---------------------------------------------------------------- + layer GLASS glass + calma 76 20 + +#---------------------------------------------------------------- +# CAPM +#---------------------------------------------------------------- + layer CAPM *mimcap + labels mimcap + calma 89 44 + + layer CAPM2 *mimcap2 + labels mimcap2 + calma 97 44 + +#---------------------------------------------------------------- +# Chip top level marker for DRC latchup rules to check 15um +# distance to taps (otherwise 6um is used) +#---------------------------------------------------------------- + + layer LOWTAPDENSITY + bbox top + # Clear 200um for pads + 50um for required high tap density + # in critical area. + shrink 250000 + calma 81 14 + +#---------------------------------------------------------------- +# FILLBLOCK +#---------------------------------------------------------------- + layer FILLOBSM1 fillblock + calma 62 24 + + layer FILLOBSM2 fillblock + calma 105 52 + + layer FILLOBSM3 fillblock + calma 107 24 + + layer FILLOBSM4 fillblock + calma 112 4 + + render DNWELL cwell -0.1 0.1 + render NWELL nwell 0.0 0.2062 + render DIFF ndiffusion 0.2062 0.12 + render TAP pdiffusion 0.2062 0.12 + render POLY polysilicon 0.3262 0.18 + render CONT via 0.5062 0.43 + render LI metal1 0.9361 0.10 + render MCON via 1.0361 0.34 + render MET1 metal2 1.3761 0.36 + render VIA1 via 1.7361 0.27 + render MET2 metal3 2.0061 0.36 + render VIA2 via 2.3661 0.42 + render MET3 metal4 2.7861 0.845 + render VIA3 via 3.6311 0.39 + render MET4 metal5 4.0211 0.845 + render VIA4 via 4.8661 0.505 + render MET5 metal6 5.3711 1.26 + render CAPM metal8 2.4661 0.2 + render CAPM2 metal9 3.7311 0.2 + render RDL metal7 11.8834 4.0 + +#---------------------------------------------------------------- +style drc +#---------------------------------------------------------------- +# NOTE: This style is used for DRC only, not for GDS output +#---------------------------------------------------------------- + scalefactor 10 nanometers + options calma-permissive-labels + + # Ensure nwell overlaps dnwell at least 0.4um outside and 1.03um inside + templayer dnwell_shrink dnwell + shrink 1030 + + templayer nwell_missing dnwell + grow 400 + and-not dnwell_shrink + and-not nwell + + templayer pwell_in_dnwell dnwell + and-not nwell + + # SONOS nFET devices must be in deep nwell + templayer dnwell_missing nsonos + and-not dnwell + + # SONOS nFET devices must be in cell with abutment box + templayer abutment_box + boundary + + templayer bbox_missing nsonos + and-not abutment_box + + # Make sure nwell covers varactor poly + templayer var_poly_no_nwell + bloat-all varactor,mvvaractor *poly + grow 150 + and-not nwell + + # Define MiM cap bottom plate for spacing rule + templayer mim_bottom + bloat-all *mimcap *metal3 + + # Define MiM2 cap bottom plate for spacing rule + templayer mim2_bottom + bloat-all *mimcap2 *metal4 + + # Note that metal fill is performed by the foundry and so is not + # an option for a cifoutput style. + + # Check latchup rule (15um minimum from tap LICON center to any + # non-tap diffusion. Note that to count as a tap, the diffusion + # must be contacted to LI + + templayer ptap_reach psc,mvpsc + and-not dnwell + # grow total is 15um. grow in 0.84um increments to ensure that + # no nwell ring is crossed + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 840 + and-not nwell,dnwell + grow 635 + and-not nwell,dnwell + + templayer ptap_missing *ndiff,*mvndiff + and-not dnwell + and-not ptap_reach + + templayer ntap_reach nsc,mvnsc + # grow total is 15um. grow in 1.27um increments to ensure that + # no nwell ring is crossed. There is no difference between + # ntaps in and out of deep nwell. + grow 1270 + and nwell,pnp + grow 1270 + and nwell,pnp + grow 1270 + and nwell,pnp + grow 1270 + and nwell,pnp + grow 1270 + and nwell,pnp + grow 1270 + and nwell,pnp + grow 1270 + and nwell,pnp + grow 1270 + and nwell,pnp + grow 1270 + and nwell,pnp + grow 1270 + and nwell,pnp + grow 1270 + and nwell,pnp + grow 945 + and nwell,pnp + + templayer ntap_missing *pdiff,*mvpdiff + and-not pwell_in_dnwell + and-not ntap_reach + + templayer dptap_reach psc,mvpsc + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 840 + and-not nwell + and dnwell + grow 635 + and-not nwell + and dnwell + + templayer dptap_missing *ndiff,*mvndiff + and dnwell + and-not dptap_reach + + templayer pdiff_crosses_dnwell dnwell + grow 20 + and-not dnwell + and allpdifflv,allpdiffmv + + # MV nwell must be 2um from any other nwell + templayer mvnwell + bloat-all alldiffmv nwell + grow-min 840 + bridge 700 600 + + # Simple spacing checks to lvnwell must use CIF-DRC rule + templayer allmvdiffnowell *mvndiff,*mvpsd + + templayer lvnwell nwell + and-not mvnwell + + templayer nwell_with_tap + bloat-all nsc,mvnsc nwell,pnp + + templayer nwell_missing_tap nwell,pnp + and-not nwell_with_tap + + templayer tap_with_licon + bloat-all psc,mvpsc psd,mvpsd + bloat-all nsc,mvnsc nsd,mvnsd + + templayer tap_missing_licon psd,nsd,mvpsd,mvnsd + and-not tap_with_licon + + # Make sure varactor nwell contains no P diffusion + templayer pdiff_in_varactor_well + bloat-all varactor,mvvaractor nwell + and allpactive + + # HVNTM spacing requires recreating HVNTM + templayer hvntm_block *mvpsd + grow 185 + + templayer hvntm_generate + bloat-all mvnfet,mvnnfet,*mvndiode,mvrdn,*nndiode *mvndiff + bloat-all mvvaractor *mvnsd + and-not hvntm_block + grow 185 + grow 345 + shrink 345 + and-not hvntm_block + + templayer m1_small_hole allm1,obsm1,obslic + close 140000 + + templayer m1_hole_empty m1_small_hole + and-not allm1,obsm1,obslic + + templayer m2_small_hole allm2,obsm2 + close 140000 + + templayer m2_hole_empty m2_small_hole + and-not allm2,obsm2 + + templayer m1_huge allm1 + shrink 1500 + grow 1500 + + templayer m1_large_halo m1_huge + grow 280 + and-not m1_huge + and allm1 + + templayer m2_huge allm2 + shrink 1500 + grow 1500 + + templayer m2_large_halo m2_huge + grow 280 + and-not m2_huge + and allm2 + + templayer m3_huge allm3 + shrink 1500 + grow 1500 + + templayer m3_large_halo m3_huge + grow 400 + and-not m3_huge + and allm3 + + templayer m4_huge allm4 + shrink 1500 + grow 1500 + + templayer m4_large_halo m4_huge + grow 400 + and-not m4_huge + and allm4 + + +#---------------------------------------------------------------- +style wafflefill +#---------------------------------------------------------------- +# Style used by scripts for automatically generating fill layers +# NOTE: Be sure to generate output on flattened layout. +#---------------------------------------------------------------- + scalefactor 10 nanometers + options calma-permissive-labels + gridlimit 5 + +#---------------------------------------------------------------- +# Generate and retain a layer representing the bounding box +#---------------------------------------------------------------- + templayer topbox + bbox top + +#---------------------------------------------------------------- +# Generate guard-band around nwells to keep FOM from crossing +# Spacing from LV nwell = Diff/Tap 9 = 0.34um +# Spacing from HV nwell = Diff/Tap 18 = 0.43um (= 0.18 + 0.25) +# Enclosure by nwell = Diff/Tap 8 = 0.18um +#---------------------------------------------------------------- + + templayer mvnwell + bloat-all alldiffmv nwell + + templayer lvnwell nwell + and-not mvnwell + + templayer well_shrink mvnwell + shrink 250 + or lvnwell + shrink 180 + templayer well_guardband nwell + grow 340 + and-not well_shrink + +#--------------------------------------------------- +# Diffusion and poly keep-out areas +#--------------------------------------------------- + templayer obstruct_fom alldiff,allpoly,rpw + grow 500 + or well_guardband + + templayer obstruct_poly alldiff,allpoly,rpw + grow 1000 + +#--------------------------------------------------- +# FOM and POLY fill +#--------------------------------------------------- + templayer fomfill_pass1 topbox + slots 0 4080 1320 0 4080 1320 1360 0 + and-not obstruct_fom + and topbox + shrink 2035 + grow 2035 + +#--------------------------------------------------- + + templayer obstruct_poly_pass1 fomfill_pass1 + grow 300 + or obstruct_poly + templayer polyfill_pass1 topbox + slots 0 720 360 0 720 360 240 0 + and-not obstruct_poly_pass1 + and topbox + shrink 355 + grow 355 + +#--------------------------------------------------- + + templayer obstruct_fom_pass2 fomfill_pass1 + grow 1290 + or polyfill_pass1 + grow 300 + or obstruct_fom + templayer fomfill_pass2 topbox + slots 0 2500 1320 0 2500 1320 1360 0 + and-not obstruct_fom_pass2 + and topbox + shrink 1245 + grow 1245 + +#--------------------------------------------------- + + templayer obstruct_poly_coarse polyfill_pass1 + grow 60 + or fomfill_pass1,fomfill_pass2 + grow 300 + or obstruct_poly + templayer polyfill_coarse topbox + slots 0 720 360 0 720 360 240 120 + and-not obstruct_poly_coarse + and topbox + shrink 355 + grow 355 + +#--------------------------------------------------- + templayer obstruct_poly_medium polyfill_pass1,polyfill_coarse + grow 60 + or fomfill_pass1,fomfill_pass2 + grow 300 + or obstruct_poly + templayer polyfill_medium topbox + slots 0 540 360 0 540 360 240 100 + and-not obstruct_poly_medium + and topbox + shrink 265 + grow 265 + +#--------------------------------------------------- + templayer obstruct_poly_fine polyfill_pass1,polyfill_coarse,polyfill_medium + grow 60 + or fomfill_pass1,fomfill_pass2 + grow 300 + or obstruct_poly + templayer polyfill_fine topbox + slots 0 480 360 0 480 360 240 200 + and-not obstruct_poly_fine + and topbox + shrink 235 + grow 235 + +#--------------------------------------------------- + + templayer obstruct_fom_coarse fomfill_pass1,fomfill_pass2 + grow 1290 + or polyfill_pass1,polyfill_coarse,polyfill_medium,polyfill_fine + grow 300 + or obstruct_fom + templayer fomfill_coarse topbox + slots 0 1500 1320 0 1500 1320 1360 0 + and-not obstruct_fom_coarse + and topbox + shrink 745 + grow 745 + +#--------------------------------------------------- + + templayer obstruct_fom_fine fomfill_pass1,fomfill_pass2,fomfill_coarse + grow 1290 + or polyfill_pass1,polyfill_coarse,polyfill_medium,polyfill_fine + grow 300 + or obstruct_fom + templayer fomfill_fine topbox + slots 0 500 400 0 500 400 160 0 + and-not obstruct_fom_fine + and topbox + shrink 245 + grow 245 + +#--------------------------------------------------- + templayer fomfill + or fomfill_pass1 + or fomfill_pass2 + or fomfill_coarse + or fomfill_fine + + templayer polyfill + or polyfill_pass1 + or polyfill_coarse + or polyfill_medium + or polyfill_fine + + layer FOMMASK fomfill + calma 23 0 + layer POLYMASK polyfill + calma 28 0 + +#--------------------------------------------------- +# MET1 fill +#--------------------------------------------------- + + templayer obstruct_m1_coarse allm1,allpad,obsm1,m1fill,fillblock + grow 3000 + templayer met1fill_coarse topbox + slots 0 2000 200 0 2000 200 700 0 + and-not obstruct_m1_coarse + and topbox + shrink 995 + grow 995 + + templayer obstruct_m1_medium allm1,allpad,obsm1,m1fill,fillblock + grow 2800 + or met1fill_coarse + grow 200 + templayer met1fill_medium topbox + slots 0 1000 200 0 1000 200 700 0 + and-not obstruct_m1_medium + and topbox + shrink 495 + grow 495 + + templayer obstruct_m1_fine allm1,allpad,obsm1,m1fill,fillblock + grow 300 + or met1fill_coarse,met1fill_medium + grow 200 + templayer met1fill_fine topbox + slots 0 580 200 0 580 200 700 0 + and-not obstruct_m1_fine + and topbox + shrink 285 + grow 285 + + templayer obstruct_m1_veryfine allm1,allpad,obsm1,m1fill,fillblock + grow 100 + or met1fill_coarse,met1fill_medium,met1fill_fine + grow 200 + templayer met1fill_veryfine topbox + slots 0 300 200 0 300 200 100 50 + and-not obstruct_m1_veryfine + and topbox + shrink 145 + grow 145 + + layer MET1MASK met1fill_coarse + or met1fill_medium + or met1fill_fine + or met1fill_veryfine + calma 36 0 + +#--------------------------------------------------- +# MET2 fill +#--------------------------------------------------- + templayer obstruct_m2 allm2,allpad,obsm2,m2fill,fillblock + grow 3000 + templayer met2fill_coarse topbox + slots 0 2000 200 0 2000 200 700 350 + and-not obstruct_m2 + and topbox + shrink 995 + grow 995 + + templayer obstruct_m2_medium allm2,allpad,obsm2,m2fill,fillblock + grow 2800 + or met2fill_coarse + grow 200 + templayer met2fill_medium topbox + slots 0 1000 200 0 1000 200 700 350 + and-not obstruct_m2_medium + and topbox + shrink 495 + grow 495 + + templayer obstruct_m2_fine allm2,allpad,obsm2,m2fill,fillblock + grow 300 + or met2fill_coarse,met2fill_medium + grow 200 + templayer met2fill_fine topbox + slots 0 580 200 0 580 200 700 350 + and-not obstruct_m2_fine + and topbox + shrink 285 + grow 285 + + templayer obstruct_m2_veryfine allm2,allpad,obsm2,m2fill,fillblock + grow 100 + or met2fill_coarse,met2fill_medium,met2fill_fine + grow 200 + templayer met2fill_veryfine topbox + slots 0 300 200 0 300 200 100 100 + and-not obstruct_m2_veryfine + and topbox + shrink 145 + grow 145 + + layer MET2MASK met2fill_coarse + or met2fill_medium + or met2fill_fine + or met2fill_veryfine + calma 41 0 + +#--------------------------------------------------- +# MET3 fill +#--------------------------------------------------- + templayer obstruct_m3 allm3,allpad,obsm3,m3fill,fillblock + grow 3000 + templayer met3fill_coarse topbox + slots 0 2000 300 0 2000 300 700 700 + and-not obstruct_m3 + and topbox + shrink 995 + grow 995 + + templayer obstruct_m3_medium allm3,allpad,obsm3,m3fill,fillblock + grow 2700 + or met3fill_coarse + grow 300 + templayer met3fill_medium topbox + slots 0 1000 300 0 1000 300 700 700 + and-not obstruct_m3_medium + and topbox + shrink 495 + grow 495 + + templayer obstruct_m3_fine allm3,allpad,obsm3,m3fill,fillblock + grow 200 + or met3fill_coarse,met3fill_medium + grow 300 + templayer met3fill_fine topbox + slots 0 580 300 0 580 300 700 700 + and-not obstruct_m3_fine + and topbox + shrink 285 + grow 285 + + templayer obstruct_m3_veryfine allm3,allpad,obsm3,m3fill,fillblock + # Note: Adding 0.1 to waffle rule to clear wide spacing rule + grow 100 + or met3fill_coarse,met3fill_medium,met3fill_fine + grow 300 + templayer met3fill_veryfine topbox + slots 0 400 300 0 400 300 150 200 + and-not obstruct_m3_veryfine + and topbox + shrink 195 + grow 195 + + layer MET3MASK met3fill_coarse + or met3fill_medium + or met3fill_fine + or met3fill_veryfine + calma 34 0 + +#--------------------------------------------------- +# MET4 fill +#--------------------------------------------------- + templayer obstruct_m4 allm4,allpad,obsm4,m4fill,fillblock + grow 3000 + templayer met4fill_coarse topbox + slots 0 2000 300 0 2000 300 700 1050 + and-not obstruct_m4 + and topbox + shrink 995 + grow 995 + + templayer obstruct_m4_medium allm4,allpad,obsm4,m4fill,fillblock + grow 2700 + or met4fill_coarse + grow 300 + templayer met4fill_medium topbox + slots 0 1000 300 0 1000 300 700 1050 + and-not obstruct_m4_medium + shrink 495 + grow 495 + + templayer obstruct_m4_fine allm4,allpad,obsm4,m4fill,fillblock + grow 200 + or met4fill_coarse,met4fill_medium + grow 300 + templayer met4fill_fine topbox + slots 0 580 300 0 580 300 700 1050 + and-not obstruct_m4_fine + and topbox + shrink 285 + grow 285 + + templayer obstruct_m4_veryfine allm4,allpad,obsm4,m4fill,fillblock + # Note: Adding 0.1 to waffle rule to clear wide spacing rule + grow 100 + or met4fill_coarse,met4fill_medium,met4fill_fine + grow 300 + templayer met4fill_veryfine topbox + slots 0 400 300 0 400 300 150 300 + and-not obstruct_m4_veryfine + and topbox + shrink 195 + grow 195 + + layer MET4MASK met4fill_coarse + or met4fill_medium + or met4fill_fine + or met4fill_veryfine + calma 51 0 + +#--------------------------------------------------- +# MET5 fill +#--------------------------------------------------- + templayer obstruct_m5 allm5,allpad,obsm5,m5fill,fillblock + grow 3000 + templayer met5fill_gen topbox + slots 0 3000 1600 0 3000 1600 1000 100 + and-not obstruct_m5 + and topbox + shrink 1495 + grow 1495 + + layer MET5MASK met5fill_gen + calma 59 0 + +end + +#----------------------------------------------------------------------- +cifinput +#----------------------------------------------------------------------- +# NOTE: All values in this section MUST be multiples of 25 +# or else magic will scale below the allowed layout grid size +#----------------------------------------------------------------------- + +style sky130 + scalefactor 10 nanometers + gridlimit 5 + + options ignore-unknown-layer-labels no-reconnect-labels + + ignore NPC + ignore SEALID + ignore CAPID + ignore LDNTM + ignore HVNTM + ignore POLYMOD + ignore LOWTAPDENSITY + + layer pnp NWELL,WELLTXT,WELLPIN + and PNPID + labels NWELL + labels WELLTXT text + labels WELLPIN port + + layer nwell NWELL,WELLTXT,WELLPIN + and-not PNPID + labels NWELL + labels WELLTXT text + labels WELLPIN port + + layer pwell SUBTXT,SUBPIN + labels SUBTXT text + labels SUBPIN port + + # Always draw pwell under p-tap + layer pwell TAP + and-not NWELL + + layer dnwell DNWELL + labels DNWELL + + layer npn DNWELL + and-not NWELL + and NPNID + + layer rpw PWRES + and DNWELL + labels PWRES + + templayer ndiffarea DIFF,DIFFTXT,DIFFPIN + and-not POLY + and-not NWELL + and-not PPLUS + and-not DIODE + and-not DIFFRES + and-not THKOX + and NPLUS + copyup ndifcheck + labels DIFF + labels DIFFTXT text + labels DIFFPIN port + labels TAPPIN port + + layer ndiff ndiffarea + + # Copy ndiff areas up for contact checks + templayer xndifcheck ndifcheck + copyup ndifcheck + + templayer mvndiffarea DIFF,DIFFTXT,DIFFPIN + and-not POLY + and-not NWELL + and-not PPLUS + and-not DIODE + and-not DIFFRES + and THKOX + and NPLUS + copyup ndifcheck + labels DIFF + labels DIFFTXT text + labels DIFFPIN port + + layer mvndiff mvndiffarea + + # Copy ndiff areas up for contact checks + templayer mvxndifcheck mvndifcheck + copyup mvndifcheck + + layer ndiode DIFF + and NPLUS + and DIODE + and-not NWELL + and-not POLY + and-not PPLUS + and-not THKOX + and-not LVTN + labels DIFF + + layer ndiodelvt DIFF + and NPLUS + and DIODE + and-not NWELL + and-not POLY + and-not PPLUS + and-not THKOX + and LVTN + labels DIFF + + templayer ndiodearea DIODE + and NPLUS + and-not THKOX + and-not NWELL + copyup DIODE,NPLUS + + layer ndiffres DIFFRES + and NPLUS + and-not THKOX + labels DIFF + + templayer pdiffarea DIFF,DIFFTXT,DIFFPIN + and-not POLY + and NWELL + and-not NPLUS + and-not DIODE + and-not THKOX + and PPLUS + copyup pdifcheck + labels DIFF + labels DIFFTXT text + labels DIFFPIN port + + layer pdiff pdiffarea + + layer mvndiode DIFF + and NPLUS + and DIODE + and THKOX + and-not POLY + and-not PPLUS + and-not LVTN + labels DIFF + + layer nndiode DIFF + and NPLUS + and DIODE + and THKOX + and-not POLY + and-not PPLUS + and LVTN + labels DIFF + + templayer mvndiodearea DIODE + and NPLUS + and THKOX + and-not NWELL + copyup DIODE,NPLUS + + layer mvndiffres DIFFRES + and NPLUS + and THKOX + labels DIFF + + templayer mvpdiffarea DIFF,DIFFTXT,DIFFPIN + and-not POLY + and NWELL + and-not NPLUS + and THKOX + and-not DIODE + and-not DIFFRES + and PPLUS + copyup mvpdifcheck + labels DIFF + labels DIFFTXT text + labels DIFFPIN port + + layer mvpdiff mvpdiffarea + + # Copy pdiff areas up for contact checks + templayer xpdifcheck pdifcheck + copyup pdifcheck + + layer pdiode DIFF + and PPLUS + and-not POLY + and-not NPLUS + and-not THKOX + and-not LVTN + and-not HVTP + and DIODE + labels DIFF + + layer pdiodelvt DIFF + and PPLUS + and-not POLY + and-not NPLUS + and-not THKOX + and LVTN + and-not HVTP + and DIODE + labels DIFF + + layer pdiodehvt DIFF + and PPLUS + and-not POLY + and-not NPLUS + and-not THKOX + and-not LVTN + and HVTP + and DIODE + labels DIFF + + templayer pdiodearea DIODE + and PPLUS + and-not THKOX + copyup DIODE,PPLUS + + # Define pfet areas as known pdiff, regardless of the presence of a well. + + templayer pfetarea DIFF + and-not NPLUS + and-not THKOX + and POLY + + layer pfet pfetarea + and-not LVTN + and-not HVTP + and-not STDCELL + and-not COREID + labels DIFF + + layer scpfet pfetarea + and-not LVTN + and-not HVTP + and STDCELL + labels DIFF + + layer scpfethvt pfetarea + and-not LVTN + and HVTP + and STDCELL + labels DIFF + + layer ppu pfetarea + and-not LVTN + and HVTP + and COREID + labels DIFF + + layer pfetlvt pfetarea + and LVTN + labels DIFF + + layer pfetmvt pfetarea + and HVTR + labels DIFF + + layer pfethvt pfetarea + and HVTP + and-not STDCELL + and-not COREID + labels DIFF + + # Always force nwell under pfet (nwell encloses pdiff by 0.18) + layer nwell pfetarea + grow 180 + + # Copy mvpdiff areas up for contact checks + templayer mvxpdifcheck mvpdifcheck + copyup mvpdifcheck + + layer mvpdiode DIFF + and PPLUS + and-not POLY + and-not NPLUS + and THKOX + and DIODE + labels DIFF + + templayer mvpdiodearea DIODE + and PPLUS + and THKOX + copyup DIODE,PPLUS + + # Define pfet areas as known pdiff, + # regardless of the presence of a + # well. + + templayer mvpfetarea DIFF + and-not NPLUS + and THKOX + and POLY + + layer mvpfet mvpfetarea + labels DIFF + + layer pdiff DIFF,DIFFTXT,DIFFPIN + and-not NPLUS + and-not POLY + and-not THKOX + and-not DIODE + and-not DIFFRES + labels DIFF + labels DIFFTXT text + labels DIFFPIN port + + layer pdiffres DIFFRES + and PPLUS + and NWELL + and-not THKOX + labels DIFF + + layer nfet DIFF + and POLY + and-not PPLUS + and NPLUS + and-not THKOX + and-not LVTN + and-not SONOS + and-not STDCELL + labels DIFF + + layer scnfet DIFF + and POLY + and-not PPLUS + and NPLUS + and-not NWELL + and-not THKOX + and-not LVTN + and-not SONOS + and STDCELL + labels DIFF + + layer npass DIFF + and POLY + and-not PPLUS + and NPLUS + and-not NWELL + and COREID + labels DIFF + + layer npd DIFF + and POLY + and-not PPLUS + and NPLUS + and-not NWELL + and COREID + # Shrink-grow operation eliminates the smaller npass device + shrink 70 + grow 70 + labels DIFF + + layer nfetlvt DIFF + and POLY + and-not PPLUS + and NPLUS + and-not THKOX + and LVTN + and-not SONOS + labels DIFF + + layer nsonos DIFF + and POLY + and-not PPLUS + and NPLUS + and-not THKOX + and LVTN + and SONOS + labels DIFF + + templayer nsdarea TAP + and NPLUS + and NWELL + and-not POLY + and-not PPLUS + and-not THKOX + copyup nsubcheck + + layer nsd nsdarea + labels TAP + + layer nsd TAP,TAPPIN + and NPLUS + and-not POLY + and-not THKOX + labels TAP + labels TAPPIN port + + layer corenvar TAP + and NPLUS + and POLY + and COREID + labels TAP + + templayer nsdexpand nsdarea + grow 500 + + # Copy nsub areas up for contact checks + templayer xnsubcheck nsubcheck + copyup nsubcheck + + templayer psdarea TAP + and PPLUS + and-not NWELL + and-not POLY + and-not NPLUS + and-not THKOX + and-not pfetexpand + copyup psubcheck + + layer psd psdarea + labels TAP + + layer psd TAP,TAPPIN + and PPLUS + and-not POLY + and-not THKOX + labels TAP + labels TAPPIN port + + layer corepvar TAP + and PPLUS + and POLY + and COREID + labels TAP + + templayer psdexpand psdarea + grow 500 + + layer mvpdiff DIFF,DIFFTXT,DIFFPIN + and-not NPLUS + and-not POLY + and THKOX + and mvpfetexpand + labels DIFF + labels DIFFTXT text + labels DIFFPIN port + + layer mvpdiffres DIFFRES + and PPLUS + and NWELL + and THKOX + and-not mvrdpioedge + labels DIFF + + templayer mvnfetarea DIFF + and POLY + and-not PPLUS + and NPLUS + and-not LVTN + and THKOX + grow 1000 + + templayer mvnnfetarea DIFF,TAP + and POLY + and-not PPLUS + and NPLUS + and LVTN + and THKOX + and-not mvnfetarea + + layer mvnfet DIFF + and POLY + and-not PPLUS + and NPLUS + and THKOX + and-not mvnnfetarea + labels DIFF + + layer mvnnfet mvnnfetarea + labels DIFF + + templayer mvnsdarea TAP + and NPLUS + and NWELL + and-not POLY + and-not PPLUS + and THKOX + copyup mvnsubcheck + + layer mvnsd mvnsdarea + labels TAP + + layer mvnsd TAP,TAPPIN + and NPLUS + and THKOX + labels TAP + labels TAPPIN port + + templayer mvnsdexpand mvnsdarea + grow 500 + + # Copy nsub areas up for contact checks + templayer mvxnsubcheck mvnsubcheck + copyup mvnsubcheck + + templayer mvpsdarea DIFF + and PPLUS + and-not NWELL + and-not POLY + and-not NPLUS + and THKOX + and-not mvpfetexpand + copyup mvpsubcheck + + layer mvpsd mvpsdarea + labels DIFF + + layer mvpsd TAP,TAPPIN + and PPLUS + and THKOX + labels TAP + labels TAPPIN port + + templayer mvpsdexpand mvpsdarea + grow 500 + + # Copy psub areas up for contact checks + templayer xpsubcheck psubcheck + copyup psubcheck + + templayer mvxpsubcheck mvpsubcheck + copyup mvpsubcheck + + layer psd TAP + and-not PPLUS + and-not NPLUS + and-not POLY + and-not THKOX + and-not pfetexpand + and psdexpand + + layer nsd TAP + and-not PPLUS + and-not NPLUS + and-not POLY + and-not THKOX + and nsdexpand + + layer mvpsd TAP + and-not PPLUS + and-not NPLUS + and-not POLY + and THKOX + and-not mvpfetexpand + and mvpsdexpand + + layer mvnsd TAP + and-not PPLUS + and-not NPLUS + and-not POLY + and THKOX + and mvnsdexpand + + templayer hresarea POLY + and RPM + grow 3000 + + templayer uresarea POLY + and URPM + grow 3000 + + templayer diffresarea DIFFRES + and-not THKOX + grow 3000 + + templayer mvdiffresarea DIFFRES + and THKOX + grow 3000 + + templayer resarea diffresarea,mvdiffresarea,hresarea,uresarea + + layer pfet POLY + and DIFF + and diffresarea + and-not NPLUS + and-not STDCELL + + layer scpfet POLY + and DIFF + and diffresarea + and-not HVTP + and-not NPLUS + and STDCELL + + layer scpfethvt POLY + and DIFF + and diffresarea + and HVTP + and-not NPLUS + and STDCELL + + templayer xpolyterm RPM,URPM + and POLY + and-not POLYRES + # add back the 0.06um contact surround in the direction of the resistor + grow 60 + and POLY + + layer xpc xpolyterm + + templayer polyarea POLY + and-not POLYRES + and-not POLYSHORT + and-not DIFF + and-not TAP + and-not RPM + and-not URPM + copyup polycheck + + layer poly polyarea,POLYTXT,POLYPIN + labels POLY + labels POLYTXT text + labels POLYPIN port + + # Copy (non-resistor) poly areas up for contact checks + templayer xpolycheck polycheck + copyup polycheck + + layer mrp1 POLY + and POLYRES + and-not RPM + and-not URPM + labels POLY + + layer rmp POLY + and POLYSHORT + labels POLY + + layer xhrpoly POLY + and POLYRES + and RPM + and-not URPM + and PPLUS + and NPC + and-not xpolyterm + labels POLY + + layer uhrpoly POLY + and POLYRES + and URPM + and-not RPM + and NPC + and-not xpolyterm + labels POLY + + templayer ndcbase CONT + and DIFF + and NPLUS + and-not NWELL + and LI + and-not THKOX + + layer ndc ndcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or ndcbase + labels CONT + + templayer nscbase CONT + and DIFF,TAP + and NPLUS + and NWELL + and LI + and-not THKOX + + layer nsc nscbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or nscbase + labels CONT + + templayer pdcbase CONT + and DIFF + and PPLUS + and NWELL + and LI + and-not THKOX + + layer pdc pdcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdcbase + labels CONT + + templayer pdcnowell CONT + and DIFF + and PPLUS + and pfetexpand + and LI + and-not THKOX + + layer pdc pdcnowell + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdcnowell + labels CONT + + templayer pscbase CONT + and DIFF,TAP + and PPLUS + and-not NWELL + and-not pfetexpand + and LI + and-not THKOX + + layer psc pscbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pscbase + labels CONT + + templayer pcbase CONT + and POLY + and-not DIFF + and-not RPM,URPM + and LI + + layer pc pcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pcbase + labels CONT + + templayer ndicbase CONT + and DIFF + and NPLUS + and DIODE + and-not POLY + and-not PPLUS + and-not THKOX + and-not LVTN + + layer ndic ndicbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or ndicbase + labels CONT + + templayer ndilvtcbase CONT + and DIFF + and NPLUS + and DIODE + and-not POLY + and-not PPLUS + and-not THKOX + and LVTN + + layer ndilvtc ndilvtcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or ndilvtcbase + labels CONT + + templayer pdicbase CONT + and DIFF + and PPLUS + and DIODE + and-not POLY + and-not NPLUS + and-not THKOX + and-not LVTN + and-not HVTP + + layer pdic pdicbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdicbase + labels CONT + + templayer pdilvtcbase CONT + and DIFF + and PPLUS + and DIODE + and-not POLY + and-not NPLUS + and-not THKOX + and LVTN + and-not HVTP + + layer pdilvtc pdilvtcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdilvtcbase + labels CONT + + templayer pdihvtcbase CONT + and DIFF + and PPLUS + and DIODE + and-not POLY + and-not NPLUS + and-not THKOX + and-not LVTN + and HVTP + + layer pdihvtc pdihvtcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdihvtcbase + labels CONT + + templayer mvndcbase CONT + and DIFF + and NPLUS + and-not NWELL + and LI + and THKOX + + layer mvndc mvndcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvndcbase + labels CONT + + templayer mvnscbase CONT + and DIFF,TAP + and NPLUS + and NWELL + and LI + and THKOX + + layer mvnsc mvnscbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvnscbase + labels CONT + + templayer mvpdcbase CONT + and DIFF + and PPLUS + and NWELL + and LI + and THKOX + + layer mvpdc mvpdcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpdcbase + labels CONT + + templayer mvpdcnowell CONT + and DIFF + and PPLUS + and mvpfetexpand + and MET1 + and THKOX + + layer mvpdc mvpdcnowell + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpdcnowell + labels CONT + + templayer mvpscbase CONT + and DIFF,TAP + and PPLUS + and-not NWELL + and-not mvpfetexpand + and LI + and THKOX + + layer mvpsc mvpscbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpscbase + labels CONT + + templayer mvndicbase CONT + and DIFF + and NPLUS + and DIODE + and-not POLY + and-not PPLUS + and-not LVTN + and THKOX + + layer mvndic mvndicbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvndicbase + labels CONT + + templayer nndicbase CONT + and DIFF + and NPLUS + and DIODE + and-not POLY + and-not PPLUS + and LVTN + and THKOX + + layer nndic nndicbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or nndicbase + labels CONT + + templayer mvpdicbase CONT + and DIFF + and PPLUS + and DIODE + and-not POLY + and-not NPLUS + and THKOX + + layer mvpdic mvpdicbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpdicbase + labels CONT + + layer coreli LI,LITXT,LIPIN + and-not LIRES,LISHORT + and COREID + labels LI + labels LITXT text + labels LIPIN port + + layer locali LI,LITXT,LIPIN + and-not LIRES,LISHORT + and-not COREID + labels LI + labels LITXT text + labels LIPIN port + + layer rli LI + and LIRES,LISHORT + labels LIRES,LISHORT + + layer lic MCON + grow 95 + shrink 95 + shrink 85 + grow 85 + or MCON + labels MCON + + layer m1 MET1,MET1TXT,MET1PIN + and-not MET1RES,MET1SHORT + labels MET1 + labels MET1TXT text + labels MET1PIN port + + layer rm1 MET1 + and MET1RES,MET1SHORT + labels MET1RES,MET1SHORT + + layer m1fill MET1FILL + labels MET1FILL + + layer mimcap MET3 + and CAPM + labels CAPM + + layer mimcc VIA3 + and CAPM + grow 60 + grow 40 + shrink 40 + labels CAPM + + layer mimcap2 MET4 + and CAPM2 + labels CAPM2 + + layer mim2cc VIA4 + and CAPM2 + grow 190 + grow 210 + shrink 210 + labels CAPM2 + + + templayer m2cbase VIA1 + grow 55 + + layer m2c m2cbase + grow 30 + shrink 30 + shrink 130 + grow 130 + or m2cbase + + layer m2 MET2,MET2TXT,MET2PIN + and-not MET2RES,MET2SHORT + labels MET2 + labels MET2TXT text + labels MET2PIN port + + layer rm2 MET2 + and MET2RES,MET2SHORT + labels MET2RES,MET2SHORT + + layer m2fill MET2FILL + labels MET2FILL + + templayer m3cbase VIA2 + grow 40 + + layer m3c m3cbase + grow 60 + shrink 60 + shrink 140 + grow 140 + or m3cbase + + layer m3 MET3,MET3TXT,MET3PIN + and-not MET3RES,MET3SHORT + and-not CAPM + labels MET3 + labels MET3TXT text + labels MET3PIN port + + layer rm3 MET3 + and MET3RES,MET3SHORT + labels MET3RES,MET3SHORT + + layer m3fill MET3FILL + labels MET3FILL + + + templayer via3base VIA3 + and-not CAPM + grow 60 + + layer via3 via3base + grow 40 + shrink 40 + shrink 160 + grow 160 + or via3base + + layer m4 MET4,MET4TXT,MET4PIN + and-not MET4RES,MET4SHORT + and-not CAPM2 + labels MET4 + labels MET4TXT text + labels MET4PIN port + + layer rm4 MET4 + and MET4RES,MET4SHORT + labels MET4RES,MET4SHORT + + layer m4fill MET4FILL + labels MET4FILL + + layer m5 MET5,MET5TXT,MET5PIN + and-not MET5RES,MET5SHORT + labels MET5 + labels MET5TXT text + labels MET5PIN port + + layer rm5 MET5 + and MET5RES,MET5SHORT + labels MET5RES,MET5SHORT + + layer m5fill MET5FILL + labels MET5FILL + + templayer via4base VIA4 + and-not CAPM2 + grow 190 + + layer via4 via4base + grow 210 + shrink 210 + shrink 590 + grow 590 + or via4base + + layer metrdl RDL,RDLTXT,RDLPIN + labels RDL + labels RDLTXT text + labels RDLPIN port + + # Find diffusion not covered in + # NPLUS or PPLUS and pull it into + # the next layer up + + templayer gentrans DIFF + and-not PPLUS + and-not NPLUS + and POLY + copyup DIFF,POLY + + templayer gendiff DIFF,TAP + and-not PPLUS + and-not NPLUS + and-not POLY + copyup DIFF + + # Handle contacts found by copyup + + templayer ndiccopy CONT + and LI + and DIODE + and NPLUS + and-not THKOX + + layer ndic ndiccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or ndiccopy + labels CONT + + templayer mvndiccopy CONT + and LI + and DIODE + and NPLUS + and THKOX + + layer mvndic mvndiccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvndiccopy + labels CONT + + templayer pdiccopy CONT + and LI + and DIODE + and PPLUS + and-not THKOX + + layer pdic pdiccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdiccopy + labels CONT + + templayer mvpdiccopy CONT + and LI + and DIODE + and PPLUS + and THKOX + + layer mvpdic mvpdiccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpdiccopy + labels CONT + + templayer ndccopy CONT + and ndifcheck + + layer ndc ndccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or ndccopy + labels CONT + + templayer mvndccopy CONT + and mvndifcheck + + layer mvndc mvndccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvndccopy + labels CONT + + templayer pdccopy CONT + and pdifcheck + + layer pdc pdccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdccopy + labels CONT + + templayer mvpdccopy CONT + and mvpdifcheck + + layer mvpdc mvpdccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpdccopy + labels CONT + + templayer pccopy CONT + and polycheck + + layer pc pccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or pccopy + labels CONT + + templayer nsccopy CONT + and nsubcheck + + layer nsc nsccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or nsccopy + labels CONT + + templayer mvnsccopy CONT + and mvnsubcheck + + layer mvnsc mvnsccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvnsccopy + labels CONT + + templayer psccopy CONT + and psubcheck + + layer psc psccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or psccopy + labels CONT + + templayer mvpsccopy CONT + and mvpsubcheck + + layer mvpsc mvpsccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpsccopy + labels CONT + + # Find contacts not covered in + # metal and pull them into the + # next layer up + + templayer gencont CONT + and LI + and-not DIFF,TAP + and-not POLY + and-not DIODE + and-not nsubcheck + and-not psubcheck + and-not mvnsubcheck + and-not mvpsubcheck + copyup CONT,LI + + templayer barecont CONT + and-not LI + and-not nsubcheck + and-not psubcheck + and-not mvnsubcheck + and-not mvpsubcheck + copyup CONT + + layer glass GLASS,PADTXT,PADPIN + labels GLASS + labels PADTXT text + labels PADPIN port + + templayer boundary BOUND,STDCELL,PADCELL + boundary + + layer comment LVSTEXT + labels LVSTEXT text + + layer comment TTEXT + labels TTEXT text + + layer fillblock FILLOBSM1,FILLOBSM2,FILLOBSM3,FILLOBSM4 + labels FILLOBSM1,FILLOBSM2,FILLOBSM3,FILLOBSM4 + +# MOS Varactor + + layer var POLY + and TAP + and NPLUS + and NWELL + and-not THKOX + and-not HVTP + # NOTE: Else forms a varactor that is not in the vendor netlist. + and-not COREID + labels POLY + + layer varhvt POLY + and TAP + and NPLUS + and NWELL + and-not THKOX + and HVTP + labels POLY + + layer mvvar POLY + and TAP + and NPLUS + and NWELL + and THKOX + labels POLY + + calma NWELL 64 20 + calma DIFF 65 20 + calma DNWELL 64 18 + calma PWRES 64 13 + calma TAP 65 44 + # LVTN + calma LVTN 125 44 + # HVTR + calma HVTR 18 20 + # HVTP + calma HVTP 78 44 + # SONOS (TUNM) + calma SONOS 80 20 + # NPLUS = NSDM + calma NPLUS 93 44 + # PPLUS = PSDM + calma PPLUS 94 20 + # HVI + calma THKOX 75 20 + # NPC + calma NPC 95 20 + # P+ POLY MASK + calma RPM 86 20 + calma URPM 79 20 + calma LDNTM 11 44 + calma HVNTM 125 20 + # Poly resistor ID mark + calma POLYRES 66 13 + # Diffusion resistor ID mark + calma DIFFRES 65 13 + calma POLY 66 20 + calma POLYMOD 66 83 + # Diode ID mark + calma DIODE 81 23 + # Bipolar NPN mark + calma NPNID 82 20 + # Bipolar PNP mark + calma PNPID 82 44 + # Capacitor ID + calma CAPID 82 64 + # Core area ID mark + calma COREID 81 2 + # Standard cell ID mark + calma STDCELL 81 4 + # Padframe cell ID mark + calma PADCELL 81 3 + # Seal ring ID mark + calma SEALID 81 1 + # Low tap density ID mark + calma LOWTAPDENSITY 81 14 + + # LICON + calma CONT 66 44 + calma LI 67 20 + calma MCON 67 44 + + calma MET1 68 20 + calma VIA1 68 44 + calma MET2 69 20 + calma VIA2 69 44 + calma MET3 70 20 + calma VIA3 70 44 + calma MET4 71 20 + calma VIA4 71 44 + calma MET5 72 20 + calma RDL 74 20 + calma GLASS 76 20 + + calma SUBPIN 64 59 + calma PADPIN 76 5 + calma DIFFPIN 65 6 + calma TAPPIN 65 5 + calma WELLPIN 64 5 + calma LIPIN 67 5 + calma POLYPIN 66 5 + calma MET1PIN 68 5 + calma MET2PIN 69 5 + calma MET3PIN 70 5 + calma MET4PIN 71 5 + calma MET5PIN 72 5 + calma RDLPIN 74 5 + + calma LIRES 67 13 + calma MET1RES 68 13 + calma MET2RES 69 13 + calma MET3RES 70 13 + calma MET4RES 71 13 + calma MET5RES 72 13 + + calma MET1FILL 68 28 + calma MET2FILL 69 28 + calma MET3FILL 70 28 + calma MET4FILL 71 28 + calma MET5FILL 72 28 + + calma POLYSHORT 66 15 + calma LISHORT 67 15 + calma MET1SHORT 68 15 + calma MET2SHORT 69 15 + calma MET3SHORT 70 15 + calma MET4SHORT 71 15 + calma MET5SHORT 72 15 + + calma SUBTXT 122 16 + calma PADTXT 76 16 + calma DIFFTXT 65 16 + calma POLYTXT 66 16 + calma WELLTXT 64 16 + calma LITXT 67 16 + calma MET1TXT 68 16 + calma MET2TXT 69 16 + calma MET3TXT 70 16 + calma MET4TXT 71 16 + calma MET5TXT 72 16 + calma RDLPIN 74 16 + + calma BOUND 235 4 + + calma LVSTEXT 83 44 + + calma CAPM 89 44 + calma CAPM2 97 44 + + calma FILLOBSM1 62 24 + calma FILLOBSM2 105 52 + calma FILLOBSM3 107 24 + calma FILLOBSM4 112 4 + +#----------------------------------------------------------------------- + +style vendorimport + scalefactor 10 nanometers + gridlimit 5 + + options ignore-unknown-layer-labels no-reconnect-labels + + ignore NPC + ignore SEALID + ignore CAPID + ignore LDNTM + ignore HVNTM + ignore POLYMOD + ignore LOWTAPDENSITY + + layer pnp NWELL,WELLTXT,WELLPIN + and PNPID + labels NWELL + labels WELLTXT port + labels WELLPIN port + + layer nwell NWELL,WELLTXT,WELLPIN + and-not PNPID + labels NWELL + labels WELLTXT port + labels WELLPIN port + + layer pwell SUBTXT,SUBPIN + labels SUBTXT port + labels SUBPIN port + + # Always draw pwell under p-tap + layer pwell TAP + and-not NWELL + + layer dnwell DNWELL + labels DNWELL + + layer npn DNWELL + and-not NWELL + and NPNID + + layer rpw PWRES + and DNWELL + labels PWRES + + templayer ndiffarea DIFF,DIFFTXT,DIFFPIN + and-not POLY + and-not NWELL + and-not PPLUS + and-not DIODE + and-not DIFFRES + and-not THKOX + and NPLUS + copyup ndifcheck + labels DIFF + labels DIFFTXT port + labels DIFFPIN port + labels TAPPIN port + + layer ndiff ndiffarea + + # Copy ndiff areas up for contact checks + templayer xndifcheck ndifcheck + copyup ndifcheck + + templayer mvndiffarea DIFF,DIFFTXT,DIFFPIN + and-not POLY + and-not NWELL + and-not PPLUS + and-not DIODE + and-not DIFFRES + and THKOX + and NPLUS + copyup ndifcheck + labels DIFF + labels DIFFTXT port + labels DIFFPIN port + + layer mvndiff mvndiffarea + + # Copy ndiff areas up for contact checks + templayer mvxndifcheck mvndifcheck + copyup mvndifcheck + + layer ndiode DIFF + and NPLUS + and DIODE + and-not NWELL + and-not POLY + and-not PPLUS + and-not THKOX + and-not LVTN + labels DIFF + + layer ndiodelvt DIFF + and NPLUS + and DIODE + and-not NWELL + and-not POLY + and-not PPLUS + and-not THKOX + and LVTN + labels DIFF + + templayer ndiodearea DIODE + and NPLUS + and-not THKOX + and-not NWELL + copyup DIODE,NPLUS + + layer ndiffres DIFFRES + and NPLUS + and-not THKOX + labels DIFF + + templayer pdiffarea DIFF,DIFFTXT,DIFFPIN + and-not POLY + and NWELL + and-not NPLUS + and-not DIODE + and-not THKOX + and PPLUS + copyup pdifcheck + labels DIFF + labels DIFFTXT port + labels DIFFPIN port + + layer pdiff pdiffarea + + layer mvndiode DIFF + and NPLUS + and DIODE + and THKOX + and-not POLY + and-not PPLUS + and-not LVTN + labels DIFF + + layer nndiode DIFF + and NPLUS + and DIODE + and THKOX + and-not POLY + and-not PPLUS + and LVTN + labels DIFF + + templayer mvndiodearea DIODE + and NPLUS + and THKOX + and-not NWELL + copyup DIODE,NPLUS + + layer mvndiffres DIFFRES + and NPLUS + and THKOX + labels DIFF + + templayer mvpdiffarea DIFF,DIFFTXT,DIFFPIN + and-not POLY + and NWELL + and-not NPLUS + and THKOX + and-not DIODE + and-not DIFFRES + and PPLUS + copyup mvpdifcheck + labels DIFF + labels DIFFTXT port + labels DIFFPIN port + + layer mvpdiff mvpdiffarea + + # Copy pdiff areas up for contact checks + templayer xpdifcheck pdifcheck + copyup pdifcheck + + layer pdiode DIFF + and PPLUS + and-not POLY + and-not NPLUS + and-not THKOX + and-not LVTN + and-not HVTP + and DIODE + labels DIFF + + layer pdiodelvt DIFF + and PPLUS + and-not POLY + and-not NPLUS + and-not THKOX + and LVTN + and-not HVTP + and DIODE + labels DIFF + + layer pdiodehvt DIFF + and PPLUS + and-not POLY + and-not NPLUS + and-not THKOX + and-not LVTN + and HVTP + and DIODE + labels DIFF + + templayer pdiodearea DIODE + and PPLUS + and-not THKOX + copyup DIODE,PPLUS + + # Define pfet areas as known pdiff, regardless of the presence of a well. + + templayer pfetarea DIFF + and-not NPLUS + and-not THKOX + and POLY + + layer pfet pfetarea + and-not LVTN + and-not HVTP + and-not STDCELL + and-not COREID + labels DIFF + + layer scpfet pfetarea + and-not LVTN + and-not HVTP + and STDCELL + labels DIFF + + layer scpfethvt pfetarea + and-not LVTN + and HVTP + and STDCELL + labels DIFF + + layer ppu pfetarea + and-not LVTN + and HVTP + and COREID + labels DIFF + + layer pfetlvt pfetarea + and LVTN + labels DIFF + + layer pfetmvt pfetarea + and HVTR + labels DIFF + + layer pfethvt pfetarea + and HVTP + and-not STDCELL + and-not COREID + labels DIFF + + # Always force nwell under pfet (nwell encloses pdiff by 0.18) + layer nwell pfetarea + grow 180 + + # Copy mvpdiff areas up for contact checks + templayer mvxpdifcheck mvpdifcheck + copyup mvpdifcheck + + layer mvpdiode DIFF + and PPLUS + and-not POLY + and-not NPLUS + and THKOX + and DIODE + labels DIFF + + templayer mvpdiodearea DIODE + and PPLUS + and THKOX + copyup DIODE,PPLUS + + # Define pfet areas as known pdiff, + # regardless of the presence of a + # well. + + templayer mvpfetarea DIFF + and-not NPLUS + and THKOX + and POLY + + layer mvpfet mvpfetarea + labels DIFF + + layer pdiff DIFF,DIFFTXT,DIFFPIN + and-not NPLUS + and-not POLY + and-not THKOX + and-not DIODE + and-not DIFFRES + labels DIFF + labels DIFFTXT port + labels DIFFPIN port + + layer pdiffres DIFFRES + and PPLUS + and NWELL + and-not THKOX + labels DIFF + + layer nfet DIFF + and POLY + and-not PPLUS + and NPLUS + and-not THKOX + and-not LVTN + and-not SONOS + and-not STDCELL + labels DIFF + + layer scnfet DIFF + and POLY + and-not PPLUS + and NPLUS + and-not NWELL + and-not THKOX + and-not LVTN + and-not SONOS + and STDCELL + labels DIFF + + layer npass DIFF + and POLY + and-not PPLUS + and NPLUS + and-not NWELL + and COREID + labels DIFF + + layer npd DIFF + and POLY + and-not PPLUS + and NPLUS + and-not NWELL + and COREID + # Shrink-grow operation eliminates the smaller npass device + shrink 70 + grow 70 + labels DIFF + + layer nfetlvt DIFF + and POLY + and-not PPLUS + and NPLUS + and-not THKOX + and LVTN + and-not SONOS + labels DIFF + + layer nsonos DIFF + and POLY + and-not PPLUS + and NPLUS + and-not THKOX + and LVTN + and SONOS + labels DIFF + + templayer nsdarea TAP + and NPLUS + and NWELL + and-not POLY + and-not PPLUS + and-not THKOX + copyup nsubcheck + + layer nsd nsdarea + labels TAP + + layer nsd TAP,TAPPIN + and NPLUS + and-not POLY + and-not THKOX + labels TAP + labels TAPPIN port + + layer corenvar TAP + and NPLUS + and POLY + and COREID + labels TAP + + templayer nsdexpand nsdarea + grow 500 + + # Copy nsub areas up for contact checks + templayer xnsubcheck nsubcheck + copyup nsubcheck + + templayer psdarea TAP + and PPLUS + and-not NWELL + and-not POLY + and-not NPLUS + and-not THKOX + and-not pfetexpand + copyup psubcheck + + layer psd psdarea + labels TAP + + layer psd TAP,TAPPIN + and PPLUS + and-not POLY + and-not THKOX + labels TAP + labels TAPPIN port + + layer corepvar TAP + and PPLUS + and POLY + and COREID + labels TAP + + templayer psdexpand psdarea + grow 500 + + layer mvpdiff DIFF,DIFFTXT,DIFFPIN + and-not NPLUS + and-not POLY + and THKOX + and mvpfetexpand + labels DIFF + labels DIFFTXT port + labels DIFFPIN port + + layer mvpdiffres DIFFRES + and PPLUS + and NWELL + and THKOX + and-not mvrdpioedge + labels DIFF + + templayer mvnfetarea DIFF + and POLY + and-not PPLUS + and NPLUS + and-not LVTN + and THKOX + grow 1000 + + templayer mvnnfetarea DIFF,TAP + and POLY + and-not PPLUS + and NPLUS + and LVTN + and THKOX + and-not mvnfetarea + + layer mvnfet DIFF + and POLY + and-not PPLUS + and NPLUS + and THKOX + and-not mvnnfetarea + labels DIFF + + layer mvnnfet mvnnfetarea + labels DIFF + + templayer mvnsdarea TAP + and NPLUS + and NWELL + and-not POLY + and-not PPLUS + and THKOX + copyup mvnsubcheck + + layer mvnsd mvnsdarea + labels TAP + + layer mvnsd TAP,TAPPIN + and NPLUS + and THKOX + labels TAP + labels TAPPIN port + + templayer mvnsdexpand mvnsdarea + grow 500 + + # Copy nsub areas up for contact checks + templayer mvxnsubcheck mvnsubcheck + copyup mvnsubcheck + + templayer mvpsdarea DIFF + and PPLUS + and-not NWELL + and-not POLY + and-not NPLUS + and THKOX + and-not mvpfetexpand + copyup mvpsubcheck + + layer mvpsd mvpsdarea + labels DIFF + + layer mvpsd TAP,TAPPIN + and PPLUS + and THKOX + labels TAP + labels TAPPIN port + + templayer mvpsdexpand mvpsdarea + grow 500 + + # Copy psub areas up for contact checks + templayer xpsubcheck psubcheck + copyup psubcheck + + templayer mvxpsubcheck mvpsubcheck + copyup mvpsubcheck + + layer psd TAP + and-not PPLUS + and-not NPLUS + and-not POLY + and-not THKOX + and-not pfetexpand + and psdexpand + + layer nsd TAP + and-not PPLUS + and-not NPLUS + and-not POLY + and-not THKOX + and nsdexpand + + layer mvpsd TAP + and-not PPLUS + and-not NPLUS + and-not POLY + and THKOX + and-not mvpfetexpand + and mvpsdexpand + + layer mvnsd TAP + and-not PPLUS + and-not NPLUS + and-not POLY + and THKOX + and mvnsdexpand + + templayer hresarea POLY + and RPM + grow 3000 + + templayer uresarea POLY + and URPM + grow 3000 + + templayer diffresarea DIFFRES + and-not THKOX + grow 3000 + + templayer mvdiffresarea DIFFRES + and THKOX + grow 3000 + + templayer resarea diffresarea,mvdiffresarea,hresarea,uresarea + + layer pfet POLY + and DIFF + and diffresarea + and-not NPLUS + and-not STDCELL + + layer scpfet POLY + and DIFF + and diffresarea + and-not HVTP + and-not NPLUS + and STDCELL + + layer scpfethvt POLY + and DIFF + and diffresarea + and HVTP + and-not NPLUS + and STDCELL + + templayer xpolyterm RPM,URPM + and POLY + and-not POLYRES + # add back the 0.06um contact surround in the direction of the resistor + grow 60 + and POLY + + layer xpc xpolyterm + + templayer polyarea POLY + and-not POLYRES + and-not POLYSHORT + and-not DIFF + and-not TAP + and-not RPM + and-not URPM + copyup polycheck + + layer poly polyarea,POLYTXT,POLYPIN + labels POLY + labels POLYTXT port + labels POLYPIN port + + # Copy (non-resistor) poly areas up for contact checks + templayer xpolycheck polycheck + copyup polycheck + + layer mrp1 POLY + and POLYRES + and-not RPM + and-not URPM + labels POLY + + layer rmp POLY + and POLYSHORT + labels POLY + + layer xhrpoly POLY + and POLYRES + and RPM + and-not URPM + and PPLUS + and NPC + and-not xpolyterm + labels POLY + + layer uhrpoly POLY + and POLYRES + and URPM + and-not RPM + and NPC + and-not xpolyterm + labels POLY + + templayer ndcbase CONT + and DIFF + and NPLUS + and-not NWELL + and LI + and-not THKOX + + layer ndc ndcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or ndcbase + labels CONT + + templayer nscbase CONT + and DIFF,TAP + and NPLUS + and NWELL + and LI + and-not THKOX + + layer nsc nscbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or nscbase + labels CONT + + templayer pdcbase CONT + and DIFF + and PPLUS + and NWELL + and LI + and-not THKOX + + layer pdc pdcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdcbase + labels CONT + + templayer pdcnowell CONT + and DIFF + and PPLUS + and pfetexpand + and LI + and-not THKOX + + layer pdc pdcnowell + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdcnowell + labels CONT + + templayer pscbase CONT + and DIFF,TAP + and PPLUS + and-not NWELL + and-not pfetexpand + and LI + and-not THKOX + + layer psc pscbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pscbase + labels CONT + + templayer pcbase CONT + and POLY + and-not DIFF + and-not RPM,URPM + and LI + + layer pc pcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pcbase + labels CONT + + templayer ndicbase CONT + and DIFF + and NPLUS + and DIODE + and-not POLY + and-not PPLUS + and-not THKOX + and-not LVTN + + layer ndic ndicbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or ndicbase + labels CONT + + templayer ndilvtcbase CONT + and DIFF + and NPLUS + and DIODE + and-not POLY + and-not PPLUS + and-not THKOX + and LVTN + + layer ndilvtc ndilvtcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or ndilvtcbase + labels CONT + + templayer pdicbase CONT + and DIFF + and PPLUS + and DIODE + and-not POLY + and-not NPLUS + and-not THKOX + and-not LVTN + and-not HVTP + + layer pdic pdicbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdicbase + labels CONT + + templayer pdilvtcbase CONT + and DIFF + and PPLUS + and DIODE + and-not POLY + and-not NPLUS + and-not THKOX + and LVTN + and-not HVTP + + layer pdilvtc pdilvtcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdilvtcbase + labels CONT + + templayer pdihvtcbase CONT + and DIFF + and PPLUS + and DIODE + and-not POLY + and-not NPLUS + and-not THKOX + and-not LVTN + and HVTP + + layer pdihvtc pdihvtcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdihvtcbase + labels CONT + + templayer mvndcbase CONT + and DIFF + and NPLUS + and-not NWELL + and LI + and THKOX + + layer mvndc mvndcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvndcbase + labels CONT + + templayer mvnscbase CONT + and DIFF,TAP + and NPLUS + and NWELL + and LI + and THKOX + + layer mvnsc mvnscbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvnscbase + labels CONT + + templayer mvpdcbase CONT + and DIFF + and PPLUS + and NWELL + and LI + and THKOX + + layer mvpdc mvpdcbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpdcbase + labels CONT + + templayer mvpdcnowell CONT + and DIFF + and PPLUS + and mvpfetexpand + and MET1 + and THKOX + + layer mvpdc mvpdcnowell + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpdcnowell + labels CONT + + templayer mvpscbase CONT + and DIFF,TAP + and PPLUS + and-not NWELL + and-not mvpfetexpand + and LI + and THKOX + + layer mvpsc mvpscbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpscbase + labels CONT + + templayer mvndicbase CONT + and DIFF + and NPLUS + and DIODE + and-not POLY + and-not PPLUS + and-not LVTN + and THKOX + + layer mvndic mvndicbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvndicbase + labels CONT + + templayer nndicbase CONT + and DIFF + and NPLUS + and DIODE + and-not POLY + and-not PPLUS + and LVTN + and THKOX + + layer nndic nndicbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or nndicbase + labels CONT + + templayer mvpdicbase CONT + and DIFF + and PPLUS + and DIODE + and-not POLY + and-not NPLUS + and THKOX + + layer mvpdic mvpdicbase + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpdicbase + labels CONT + + layer coreli LI,LITXT,LIPIN + and-not LIRES,LISHORT + and COREID + labels LI + labels LITXT port + labels LIPIN port + + layer locali LI,LITXT,LIPIN + and-not LIRES,LISHORT + and-not COREID + labels LI + labels LITXT port + labels LIPIN port + + layer rli LI + and LIRES,LISHORT + labels LIRES,LISHORT + + layer lic MCON + grow 95 + shrink 95 + shrink 85 + grow 85 + or MCON + labels MCON + + layer m1 MET1,MET1TXT,MET1PIN + and-not MET1RES,MET1SHORT + labels MET1 + labels MET1TXT port + labels MET1PIN port + + layer rm1 MET1 + and MET1RES,MET1SHORT + labels MET1RES,MET1SHORT + + layer m1fill MET1FILL + labels MET1FILL + + layer mimcap MET3 + and CAPM + labels CAPM + + layer mimcc VIA3 + and CAPM + grow 60 + grow 40 + shrink 40 + labels CAPM + + layer mimcap2 MET4 + and CAPM2 + labels CAPM2 + + layer mim2cc VIA4 + and CAPM2 + grow 190 + grow 210 + shrink 210 + labels CAPM2 + + + templayer m2cbase VIA1 + grow 55 + + layer m2c m2cbase + grow 30 + shrink 30 + shrink 130 + grow 130 + or m2cbase + + layer m2 MET2,MET2TXT,MET2PIN + and-not MET2RES,MET2SHORT + labels MET2 + labels MET2TXT port + labels MET2PIN port + + layer rm2 MET2 + and MET2RES,MET2SHORT + labels MET2RES,MET2SHORT + + layer m2fill MET2FILL + labels MET2FILL + + templayer m3cbase VIA2 + grow 40 + + layer m3c m3cbase + grow 60 + shrink 60 + shrink 140 + grow 140 + or m3cbase + + layer m3 MET3,MET3TXT,MET3PIN + and-not MET3RES,MET3SHORT + and-not CAPM + labels MET3 + labels MET3TXT port + labels MET3PIN port + + layer rm3 MET3 + and MET3RES,MET3SHORT + labels MET3RES,MET3SHORT + + layer m3fill MET3FILL + labels MET3FILL + + + templayer via3base VIA3 + and-not CAPM + grow 60 + + layer via3 via3base + grow 40 + shrink 40 + shrink 160 + grow 160 + or via3base + + layer m4 MET4,MET4TXT,MET4PIN + and-not MET4RES,MET4SHORT + and-not CAPM2 + labels MET4 + labels MET4TXT port + labels MET4PIN port + + layer rm4 MET4 + and MET4RES,MET4SHORT + labels MET4RES,MET4SHORT + + layer m4fill MET4FILL + labels MET4FILL + + layer m5 MET5,MET5TXT,MET5PIN + and-not MET5RES,MET5SHORT + labels MET5 + labels MET5TXT port + labels MET5PIN port + + layer rm5 MET5 + and MET5RES,MET5SHORT + labels MET5RES,MET5SHORT + + layer m5fill MET5FILL + labels MET5FILL + + templayer via4base VIA4 + and-not CAPM2 + grow 190 + + layer via4 via4base + grow 210 + shrink 210 + shrink 590 + grow 590 + or via4base + + layer metrdl RDL,RDLTXT,RDLPIN + labels RDL + labels RDLTXT port + labels RDLPIN port + + # Find diffusion not covered in + # NPLUS or PPLUS and pull it into + # the next layer up + + templayer gentrans DIFF + and-not PPLUS + and-not NPLUS + and POLY + copyup DIFF,POLY + + templayer gendiff DIFF,TAP + and-not PPLUS + and-not NPLUS + and-not POLY + copyup DIFF + + # Handle contacts found by copyup + + templayer ndiccopy CONT + and LI + and DIODE + and NPLUS + and-not THKOX + + layer ndic ndiccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or ndiccopy + labels CONT + + templayer mvndiccopy CONT + and LI + and DIODE + and NPLUS + and THKOX + + layer mvndic mvndiccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvndiccopy + labels CONT + + templayer pdiccopy CONT + and LI + and DIODE + and PPLUS + and-not THKOX + + layer pdic pdiccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdiccopy + labels CONT + + templayer mvpdiccopy CONT + and LI + and DIODE + and PPLUS + and THKOX + + layer mvpdic mvpdiccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpdiccopy + labels CONT + + templayer ndccopy CONT + and ndifcheck + + layer ndc ndccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or ndccopy + labels CONT + + templayer mvndccopy CONT + and mvndifcheck + + layer mvndc mvndccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvndccopy + labels CONT + + templayer pdccopy CONT + and pdifcheck + + layer pdc pdccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or pdccopy + labels CONT + + templayer mvpdccopy CONT + and mvpdifcheck + + layer mvpdc mvpdccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpdccopy + labels CONT + + templayer pccopy CONT + and polycheck + + layer pc pccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or pccopy + labels CONT + + templayer nsccopy CONT + and nsubcheck + + layer nsc nsccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or nsccopy + labels CONT + + templayer mvnsccopy CONT + and mvnsubcheck + + layer mvnsc mvnsccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvnsccopy + labels CONT + + templayer psccopy CONT + and psubcheck + + layer psc psccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or psccopy + labels CONT + + templayer mvpsccopy CONT + and mvpsubcheck + + layer mvpsc mvpsccopy + grow 85 + shrink 85 + shrink 85 + grow 85 + or mvpsccopy + labels CONT + + # Find contacts not covered in + # metal and pull them into the + # next layer up + + templayer gencont CONT + and LI + and-not DIFF,TAP + and-not POLY + and-not DIODE + and-not nsubcheck + and-not psubcheck + and-not mvnsubcheck + and-not mvpsubcheck + copyup CONT,LI + + templayer barecont CONT + and-not LI + and-not nsubcheck + and-not psubcheck + and-not mvnsubcheck + and-not mvpsubcheck + copyup CONT + + layer glass GLASS,PADTXT,PADPIN + labels GLASS + labels PADTXT port + labels PADPIN port + + templayer boundary BOUND,STDCELL,PADCELL + boundary + + layer comment LVSTEXT + labels LVSTEXT text + + layer comment TTEXT + labels TTEXT text + + layer fillblock FILLOBSM1,FILLOBSM2,FILLOBSM3,FILLOBSM4 + labels FILLOBSM1,FILLOBSM2,FILLOBSM3,FILLOBSM4 + +# MOS Varactor + + layer var POLY + and TAP + and NPLUS + and NWELL + and-not THKOX + and-not HVTP + # NOTE: Else forms a varactor that is not in the vendor netlist. + and-not COREID + labels POLY + + layer varhvt POLY + and TAP + and NPLUS + and NWELL + and-not THKOX + and HVTP + labels POLY + + layer mvvar POLY + and TAP + and NPLUS + and NWELL + and THKOX + labels POLY + + calma NWELL 64 20 + calma DIFF 65 20 + calma DNWELL 64 18 + calma PWRES 64 13 + calma TAP 65 44 + # LVTN + calma LVTN 125 44 + # HVTR + calma HVTR 18 20 + # HVTP + calma HVTP 78 44 + # SONOS (TUNM) + calma SONOS 80 20 + # NPLUS = NSDM + calma NPLUS 93 44 + # PPLUS = PSDM + calma PPLUS 94 20 + # HVI + calma THKOX 75 20 + # NPC + calma NPC 95 20 + # P+ POLY MASK + calma RPM 86 20 + calma URPM 79 20 + calma LDNTM 11 44 + calma HVNTM 125 20 + # Poly resistor ID mark + calma POLYRES 66 13 + # Diffusion resistor ID mark + calma DIFFRES 65 13 + calma POLY 66 20 + calma POLYMOD 66 83 + # Diode ID mark + calma DIODE 81 23 + # Bipolar NPN mark + calma NPNID 82 20 + # Bipolar PNP mark + calma PNPID 82 44 + # Capacitor ID + calma CAPID 82 64 + # Core area ID mark + calma COREID 81 2 + # Standard cell ID mark + calma STDCELL 81 4 + # Padframe cell ID mark + calma PADCELL 81 3 + # Seal ring ID mark + calma SEALID 81 1 + # Low tap density ID mark + calma LOWTAPDENSITY 81 14 + + # LICON + calma CONT 66 44 + calma LI 67 20 + calma MCON 67 44 + + calma MET1 68 20 + calma VIA1 68 44 + calma MET2 69 20 + calma VIA2 69 44 + calma MET3 70 20 + calma VIA3 70 44 + calma MET4 71 20 + calma VIA4 71 44 + calma MET5 72 20 + calma RDL 74 20 + calma GLASS 76 20 + + calma SUBPIN 64 59 + calma PADPIN 76 5 + calma DIFFPIN 65 6 + calma TAPPIN 65 5 + calma WELLPIN 64 5 + calma LIPIN 67 5 + calma POLYPIN 66 5 + calma MET1PIN 68 5 + calma MET2PIN 69 5 + calma MET3PIN 70 5 + calma MET4PIN 71 5 + calma MET5PIN 72 5 + calma RDLPIN 74 5 + + calma LIRES 67 13 + calma MET1RES 68 13 + calma MET2RES 69 13 + calma MET3RES 70 13 + calma MET4RES 71 13 + calma MET5RES 72 13 + + calma MET1FILL 68 28 + calma MET2FILL 69 28 + calma MET3FILL 70 28 + calma MET4FILL 71 28 + calma MET5FILL 72 28 + + calma POLYSHORT 66 15 + calma LISHORT 67 15 + calma MET1SHORT 68 15 + calma MET2SHORT 69 15 + calma MET3SHORT 70 15 + calma MET4SHORT 71 15 + calma MET5SHORT 72 15 + + calma SUBTXT 122 16 + calma PADTXT 76 16 + calma DIFFTXT 65 16 + calma POLYTXT 66 16 + calma WELLTXT 64 16 + calma LITXT 67 16 + calma MET1TXT 68 16 + calma MET2TXT 69 16 + calma MET3TXT 70 16 + calma MET4TXT 71 16 + calma MET5TXT 72 16 + calma RDLPIN 74 16 + + calma BOUND 235 4 + + calma LVSTEXT 83 44 + + calma CAPM 89 44 + calma CAPM2 97 44 + + calma FILLOBSM1 62 24 + calma FILLOBSM2 105 52 + calma FILLOBSM3 107 24 + calma FILLOBSM4 112 4 + +style waffleimport + # This style is for reading back and validating shapes + # generated by the "wafflefill" cifoutput style. + + scalefactor 10 nanometers + gridlimit 5 + + options ignore-unknown-layer-labels no-reconnect-labels + + layer ndiff FOMMASK + layer poly POLYMASK + layer metal1 MET1MASK + layer metal2 MET2MASK + layer metal3 MET3MASK + layer metal4 MET4MASK + layer metal5 MET5MASK + + calma FOMMASK 23 0 + calma POLYMASK 28 0 + calma MET1MASK 36 0 + calma MET2MASK 41 0 + calma MET3MASK 34 0 + calma MET4MASK 51 0 + calma MET5MASK 59 0 + +style rdlimport + # This style is for reading shapes generated with the RDL layers + + scalefactor 10 nanometers + gridlimit 5 + + options ignore-unknown-layer-labels no-reconnect-labels + + layer mrdl RDL + layer mrdlc RDLC + + calma RDL 10 0 + calma RDLC 20 0 + +end + +#----------------------------------------------------- +# Digital flow maze router cost parameters +#----------------------------------------------------- + +mzrouter +end + +#----------------------------------------------------- +# Vendor DRC rules +#----------------------------------------------------- + +drc + + style drc variants (fast),(full),(routing) + scalefactor 10 + cifstyle drc + + variants (fast),(full) + +#----------------------------- +# DNWELL +#----------------------------- + + width dnwell 3000 "Deep N-well width < %d (dnwell.2)" + spacing dnwell dnwell 6300 touching_ok "Deep N-well spacing < %d (dnwell.3)" + spacing dnwell allnwell 4500 surround_ok \ + "Deep N-well spacing to N-well < %d (nwell.7)" + + variants (full) + cifmaxwidth nwell_missing 0 bend_illegal \ + "N-well overlap of Deep N-well < 0.4um outside, 1.03um inside (nwell.5a, 7)" + cifmaxwidth dnwell_missing 0 bend_illegal \ + "SONOS nFET must be in Deep N-well (tunm.6a)" + + cifmaxwidth pdiff_crosses_dnwell 0 bend_illegal \ + "P+ diff cannot straddle Deep N-well (dnwell.5)" + variants (fast),(full) + +#----------------------------- +# NWELL +#----------------------------- + + width allnwell 840 "N-well width < %d (nwell.1)" + spacing allnwell allnwell 1270 touching_ok "N-well spacing < %d (nwell.2a)" + + variants (full) + cifmaxwidth nwell_missing_tap 0 bend_illegal \ + "All nwells must contain metal-connected N+ taps (nwell.4)" + + cifspacing mvnwell lvnwell 2000 touching_illegal \ + "Spacing of HV nwell to LV nwell < 2.0um (nwell.8)" + cifspacing mvnwell mvnwell 2000 touching_ok \ + "Spacing of HV nwell to HV nwell < 2.0um (nwell.8)" + variants (fast),(full) + +#----------------------------- +# DIFF +#----------------------------- + + width *ndiff,nfet,scnfet,npd,npass,*nsd,*ndiode,ndiffres,*pdiff,pfet,scpfet,scpfethvt,ppu,*psd,*pdiode,pdiffres \ + 150 "Diffusion width < %d (diff/tap.1)" + width *mvndiff,mvnfet,mvnnfet,*mvndiode,*nndiode,mvndiffres,*mvpdiff,mvpfet,*mvpdiode,mvpdiffres 290 \ + "MV Diffusion width < %d (diff/tap.14)" + + width *mvnsd,*mvpsd 150 "MV Tap width < %d (diff/tap.1)" + extend *mvpsd *mvndiff 700 "MV Butting tap length < %d (diff/tap.16)" + extend *mvnsd *mvpdiff 700 "MV Butting tap length < %d (diff/tap.16)" + extend *psd *ndiff 290 "Butting tap length < %d (diff/tap.4)" + extend *nsd *pdiff 290 "Butting tap length < %d (diff/tap.4)" + width mvpdiffres 150 "MV P-Diffusion resistor width < %d (diff/tap.14a)" + spacing alldifflv,var,varhvt alldifflv,var,varhvt 270 touching_ok \ + "Diffusion spacing < %d (diff/tap.3)" + spacing alldiffmvnontap,mvvar alldiffmvnontap,mvvar 300 touching_ok \ + "MV Diffusion spacing < %d (diff/tap.15a)" + spacing alldiffmv *mvnsd,*mvpsd 270 touching_ok \ + "MV Diffusion to MV tap spacing < %d (diff/tap.3)" + spacing *mvndiff,mvnfet,mvnnfet,*mvndiode,*nndiode,mvndiffres,mvvar *mvpsd 370 \ + touching_ok "MV P-Diffusion to MV N-tap spacing < %d (diff/tap.15b)" + spacing *mvnsd,*mvpdiff,mvpfet,mvvar,*mvpdiode *mvpsd,*psd 760 touching_illegal \ + "MV Diffusion in N-well to P-tap spacing < %d (diff/tap.20 + diff/tap.17,19)" + spacing *ndiff,*ndiode,nfet allnwell 340 touching_illegal \ + "N-Diffusion spacing to N-well < %d (diff/tap.9)" + spacing *mvndiff,*mvndiode,mvnfet,mvnnfet allnwell 340 touching_illegal \ + "N-Diffusion spacing to N-well < %d (diff/tap.9)" + spacing *psd allnwell 130 touching_illegal \ + "P-tap spacing to N-well < %d (diff/tap.11)" + spacing *mvpsd allnwell 130 touching_illegal \ + "P-tap spacing to N-well < %d (diff/tap.11)" + surround *nsd allnwell 180 absence_illegal \ + "N-well overlap of N-tap < %d (diff/tap.10)" + surround *mvnsd allnwell 330 absence_illegal \ + "N-well overlap of MV N-tap < %d (diff/tap.19)" + surround *pdiff,*pdiode,pfet,scpfet,ppu allnwell 180 absence_illegal \ + "N-well overlap of P-Diffusion < %d (diff/tap.8)" + surround *mvpdiff,*mvpdiode,mvpfet allnwell 330 absence_illegal \ + "N-well overlap of P-Diffusion < %d (diff/tap.17)" + surround mvvar allnwell 560 absence_illegal \ + "N-well overlap of MV varactor < %d (lvtn.10 + lvtn.4b)" + spacing *mvndiode *mvndiode 1070 touching_ok \ + "MV N-diode spacing < %d (hvntm.2 + 2 * hvntm.3)" + +variants (full) + cifspacing allmvdiffnowell lvnwell 825 touching_illegal \ + "MV diffusion to LV nwell spacing < %d (hvi.5 + nsd/psd.5)" +variants (fast),(full) + + spacing allnfets allpactivenonfet 270 touching_illegal \ + "nFET cannot abut P-diffusion (diff/tap.3)" + spacing allpfets allnactivenonfet 270 touching_illegal \ + "pFET cannot abut N-diffusion (diff/tap.3)" + + # Butting junction rules + edge4way (*psd)/a ~(*ndiff,*psd)/a 125 ~(*ndiff)/a (*ndiff)/a 125 \ + "N-Diffusion to P-tap spacing < %d across butted junction (psd.5b)" + edge4way (*ndiff)/a ~(*ndiff,*psd)/a 125 ~(*psd)/a (*psd)/a 125 \ + "N-Diffusion to P-tap spacing < %d across butted junction (psd.5a)" + edge4way (*nsd)/a ~(*pdiff,*nsd)/a 125 ~(*pdiff)/a (*pdiff)/a 125 \ + "P-Diffusion to N-tap spacing < %d across butted junction (nsd.5b)" + edge4way (*pdiff)/a ~(*pdiff,*nsd)/a 125 ~(*nsd)/a (*nsd)/a 125 \ + "P-Diffusion to N-tap spacing < %d across butted junction (nsd.5a)" + + edge4way (*mvpsd)/a ~(*mvndiff,*mvpsd)/a 125 ~(*mvndiff)/a (*mvndiff)/a 125 \ + "MV N-Diffusion to MV P-tap spacing < %d across butted junction (psd.5b)" + edge4way (*mvndiff)/a ~(*mvndiff,*mvpsd)/a 125 ~(*mvpsd)/a (*mvpsd)/a 125 \ + "MV N-Diffusion to MV P-tap spacing < %d across butted junction (psd.5a)" + edge4way (*mvnsd)/a ~(*mvpdiff,*mvnsd)/a 125 ~(*mvpdiff)/a (*mvpdiff)/a 125 \ + "MV P-Diffusion to MV N-tap spacing < %d across butted junction (nsd.5b)" + edge4way (*mvpdiff)/a ~(*mvpdiff,*mvnsd)/a 125 ~(*mvnsd)/a (*mvnsd)/a 125 \ + "MV P-Diffusion to MV N-tap spacing < %d across butted junction (nsd.5a)" + + # Sandwiched butting junction restrictions + edge4way (*pdiff)/a (*nsd)/a 400 ~(*pdiff)/a 0 0 "NSDM width < %d (diff/tap.5)" + edge4way (*ndiff)/a (*psd)/a 400 ~(*ndiff)/a 0 0 "PSDM width < %d (diff/tap.5)" + + area *nsd,*mvnsd 70110 150 "N-tap minimum area < 0.07011um^2 (nsd.10b)" + area *psd,*mvpsd 70110 150 "P-tap minimum area < 0.07011um^2 (psd.10b)" + + angles allactive 90 "Only 90 degree angles permitted on diff and tap (x.2)" + + variants (full) + cifmaxwidth tap_missing_licon 0 bend_illegal "All taps must be contacted (licon.16)" + + # Latchup rules + cifmaxwidth ptap_missing 0 bend_illegal \ + "N-diff distance to P-tap must be < 15.0um (LU.2)" + cifmaxwidth dptap_missing 0 bend_illegal \ + "N-diff distance to P-tap in deep nwell.must be < 15.0um (LU.2.1)" + cifmaxwidth ntap_missing 0 bend_illegal \ + "P-diff distance to N-tap must be < 15.0um (LU.3)" + + variants (fast),(full) + +#----------------------------- +# POLY +#----------------------------- + + width allpoly 150 "poly width < %d (poly.1a)" + spacing allpoly allpoly 210 touching_ok "poly spacing < %d (poly.2)" + + spacing allpolynonfet \ + *ndiff,*mvndiff,*ndiode,*nndiode,ndiffres,*ndiodelvt,*pdiff,*mvpdiff,*pdiode,pdiffres,*pdiodelvt,*pdiodehvt \ + 75 corner_ok allfets \ + "poly spacing to Diffusion < %d (poly.4)" + spacing npres *nsd 480 touching_illegal \ + "poly resistor spacing to N-tap < %d (poly.9)" + overhang *ndiff,rndiff nfet,scnfet,npd,npass 250 "N-Diffusion overhang of nFET < %d (poly.7)" + overhang *mvndiff,mvrndiff mvnfet,mvnnfet 250 \ + "N-Diffusion overhang of nFET < %d (poly.7)" + overhang *pdiff,rpdiff pfet,scpfet,ppu 250 "P-Diffusion overhang of pmos < %d (poly.7)" + overhang *mvpdiff,mvrpdiff mvpfet 250 "P-Diffusion overhang of pmos < %d (poly.7)" + overhang *poly allfetsstd,allfetsspecial 130 "poly overhang of transistor < %d (poly.8)" + overhang *poly allfetscore 110 "poly overhang of SRAM core transistor < %d (poly.8)" + rect_only allfets "No bends in transistors (poly.11)" + rect_only xhrpoly,uhrpoly "No bends in poly resistors (poly.11)" + extend xpc/a xhrpoly,uhrpoly 2160 \ + "poly contact extends poly resistor by < %d (licon.1c + li.5)" + spacing xhrpoly,uhrpoly,xpc xhrpoly,uhrpoly,xpc 1240 touching_illegal \ + "Distance between precision resistors < %d (rpm.2 + 2 * rpm.3)" + + spacing xhrpoly,uhrpoly,xpc allndifflv,allndiffmv 780 touching_illegal \ + "Distance from precision resistor to N+ diffusion < %d (rpm.3 + rpm.6 + nsd.5a)" + spacing xhrpoly,uhrpoly,xpc *poly 400 touching_illegal \ + "Distance from precision resistor to unrelated poly < %d (rpm.3 + rpm.7)" + spacing xhrpoly,uhrpoly,xpc allndiffmvnontap 830 touching_illegal \ + "Distance from precision resistor to MV N+ diffusion < %d (rpm.3 + rpm.9)" + + angles allpoly 90 "Only 90 degree angles permitted on poly (x.2)" + +#-------------------------------------------------------------------- +# HVTP +#-------------------------------------------------------------------- + + spacing pfethvt,pdiodehvt,varactorhvt pfet,ppu,scpfet,mvpfet,pfetlvt,pfetmvt \ + 360 touching_illegal \ + "Min. spacing between pFET and HVTP < %d (hvtp.4)" + + spacing pfethvt,pdiodehvt,varactorhvt varactor 360 touching_illegal \ + "Min. spacing between varactor and HVTP < %d (hvtp.4 + varac.3)" + +#-------------------------------------------------------------------- +# LVTN +#-------------------------------------------------------------------- + + spacing pfetlvt,nfetlvt,pdiodelvt,ndiodelvt \ + allfetsnolvt 360 touching_illegal \ + "Min. spacing between FET and LVTN < %d (lvtn.3a)" + + spacing pfetlvt,nfetlvt,pdiodelvt,ndiodelvt scpfethvt,pfethvt,pdiodehvt,varactorhvt \ + 740 touching_illegal \ + "Min. spacing between LVTN and HVTP < %d (lvtn.9)" + + # Spacing across S/D direction requires edge rule + edge4way allfetsnolvt allactivenonfet 415 \ + ~(pfetlvt,nfetlvt,pdiodelvt,ndiodelvt)/a allfetsnolvt 415 \ + "Min. spacing between FET and LVTN in S/D direction < %d (lvtn.3b)" + +#-------------------------------------------------------------------- +# NPC (Nitride poly Cut) +#-------------------------------------------------------------------- + +# Layer NPC is defined automatically around poly contacts (grow 0.1um) + +#-------------------------------------------------------------------- +# CONT (LICON, contact between poly/diff and LI) +#-------------------------------------------------------------------- + + width ndc/li 170 "N-diffusion contact width < %d (licon.1)" + width nsc/li 170 "N-tap contact width < %d (licon.1)" + width pdc/li 170 "P-diffusion contact width < %d (licon.1)" + width psc/li 170 "P-tap contact width < %d (licon.1)" + width ndic/li 170 "N-diode contact width < %d (licon.1)" + width pdic/li 170 "P-diode contact width < %d (licon.1)" + width pc/li 170 "poly contact width < %d (licon.1)" + + width xpc/li 350 "poly resistor contact width < %d (licon.1b + 2 * li.5)" + area xpc/li 700000 350 "poly resistor contact length < 2.0um (licon.1c)" + area allli,*obsli 56100 170 "Local interconnect minimum area < %a (li.6)" + + width mvndc/li 170 "N-diffusion contact width < %d (licon.1)" + width mvnsc/li 170 "N-tap contact width < %d (licon.1)" + width mvpdc/li 170 "P-diffusion contact width < %d (licon.1)" + width mvpsc/li 170 "P-tap contact width < %d (licon.1)" + width mvndic/li 170 "N-diode contact width < %d (licon.1)" + width mvpdic/li 170 "P-diode contact width < %d (licon.1)" + + spacing allpdiffcont allndiffcont 170 touching_illegal \ + "Diffusion contact spacing < %d (licon.2)" + spacing allndiffcont allndiffcont 170 touching_ok \ + "Diffusion contact spacing < %d (licon.2)" + spacing allpdiffcont allpdiffcont 170 touching_ok \ + "Diffusion contact spacing < %d (licon.2)" + spacing pc pc 170 touching_ok "Poly1 contact spacing < %d (licon.2)" + + spacing pc alldiff 190 touching_illegal \ + "poly contact spacing to diffusion < %d (licon.14)" + spacing pc allpdifflv,allpdiffmv 235 touching_illegal \ + "poly contact spacing to P-diffusion < %d (licon.9 + psdm.5a)" + + spacing ndc,pdc nfet,nfetlvt,pfet,pfethvt,pfetlvt,pfetmvt 55 touching_illegal \ + "Diffusion contact to gate < %d (licon.11)" + spacing ndc,pdc scnfet,scpfet,scpfethvt 50 touching_illegal \ + "Diffusion contact to standard cell gate < %d (licon.11)" + spacing ndc,pdc npd,npass,ppu 40 touching_illegal \ + "Diffusion contact to SRAM gate < %d (licon.11)" + spacing mvndc,mvpdc mvnfet,mvnnfet,mvpfet 55 touching_illegal \ + "Diffusion contact to gate < %d (licon.11)" + spacing nsc varactor,varhvt 250 touching_illegal \ + "Diffusion contact to varactor gate < %d (licon.10)" + spacing mvnsc mvvar 250 touching_illegal \ + "Diffusion contact to varactor gate < %d (licon.10)" + + surround ndc/a *ndiff,nfet,scnfet,npd,npass,nfetlvt,rnd 40 absence_illegal \ + "N-diffusion overlap of N-diffusion contact < %d (licon.5a)" + surround pdc/a *pdiff,pfet,scpfet,scpfethvt,ppu,pfethvt,pfetmvt,pfetlvt,rpd \ + 40 absence_illegal \ + "P-diffusion overlap of P-diffusion contact < %d (licon.5a)" + surround ndic/a *ndi 40 absence_illegal \ + "N-diode overlap of N-diode contact < %d (licon.5a)" + surround pdic/a *pdi 40 absence_illegal \ + "P-diode overlap of N-diode contact < %d (licon.5a)" + + spacing psc/a allnactivenontap 60 touching_illegal \ + "Min. space between P-tap contact and butting N diffusion < %d (licon.5b)" + spacing nsc/a allpactivenontap 60 touching_illegal \ + "Min. space between N-tap contact and butting P diffusion < %d (licon.5b)" + + surround ndc/a *ndiff,nfet,scnfet,npd,npass,nfetlvt,rnd 60 directional \ + "N-diffusion overlap of N-diffusion contact < %d in one direction (licon.5c)" + surround pdc/a *pdiff,pfet,scpfet,scpfethvt,ppu,pfethvt,pfetmvt,pfetlvt,rpd \ + 60 directional \ + "P-diffusion overlap of P-diffusion contact < %d in one direction (licon.5c)" + surround ndic/a *ndi 60 directional \ + "N-diode overlap of N-diode contact < %d in one direction (licon.5c)" + surround pdic/a *pdi 60 directional \ + "P-diode overlap of N-diode contact < %d in one direction (licon.5c)" + + surround nsc/a *nsd 120 directional \ + "N-tap overlap of N-tap contact < %d in one direction (licon.7)" + surround psc/a *psd 120 directional \ + "P-tap overlap of P-tap contact < %d in one direction (licon.7)" + + surround mvndc/a *mvndiff,mvnfet,mvrnd 40 absence_illegal \ + "N-diffusion overlap of N-diffusion contact < %d (licon.5a)" + surround mvpdc/a *mvpdiff,mvpfet,mvrpd 40 absence_illegal \ + "P-diffusion overlap of P-diffusion contact < %d (licon.5a)" + surround mvndic/a *mvndi 40 absence_illegal \ + "N-diode overlap of N-diode contact < %d (licon.5a)" + surround mvpdic/a *mvpdi 40 absence_illegal \ + "P-diode overlap of N-diode contact < %d (licon.5a)" + + spacing mvpsc/a allndiffmvnontap 60 touching_illegal \ + "Min. space between P-tap contact and butting N diffusion < %d (licon.5b)" + spacing mvnsc/a allpdiffmvnontap 60 touching_illegal \ + "Min. space between N-tap contact and butting P diffusion < %d (licon.5b)" + + surround mvndc/a *mvndiff,mvnfet,mvrnd 60 directional \ + "N-diffusion overlap of N-diffusion contact < %d in one direction (licon.5c)" + surround mvpdc/a *mvpdiff,mvpfet,mvrpd 60 directional \ + "P-diffusion overlap of P-diffusion contact < %d in one direction (licon.5c)" + surround mvndic/a *mvndi 60 directional \ + "N-diode overlap of N-diode contact < %d in one direction (licon.5c)" + surround mvpdic/a *mvpdi 60 directional \ + "P-diode overlap of N-diode contact < %d in one direction (licon.5c)" + + surround mvnsc/a *mvnsd 120 directional \ + "N-tap overlap of N-tap contact < %d in one direction (licon.7)" + surround mvpsc/a *mvpsd 120 directional \ + "P-tap overlap of P-tap contact < %d in one direction (licon.7)" + + surround pc/a *poly,mrp1,xhrpoly,uhrpoly 50 absence_illegal \ + "poly overlap of poly contact < %d (licon.8)" + surround pc/a *poly,mrp1,xhrpoly,uhrpoly 80 directional \ + "poly overlap of poly contact < %d in one direction (licon.8a)" + + exact_overlap (allcont)/a + +#------------------------------------------------------------- +# LI - Local interconnect layer +#------------------------------------------------------------- + +variants * + + width *li 170 "Local interconnect width < %d (li.1)" + width rli 290 "Local interconnect width < %d (li.7)" + + spacing *locali,rli *locali,rli,*obsli 170 touching_ok \ + "Local interconnect spacing < %d (li.3)" + + # Local interconnect in core (SRAM) cells has more relaxed rules. There are + # no special layers for the contacts in core cells, so they must be included + # in the rule. + width coreli,pc,ndc,nsc,pdc,psc,allli,*obsli 140 \ + "Core local interconnect width < %d (li.c1)" + + spacing coreli,pc,ndc,nsc,pdc,psc,lic allli,*obsli 140 touching_ok \ + "Core local interconnect spacing < %d (li.c2)" + + surround pc/li *li,coreli 80 directional \ + "Local interconnect overlap of poly contact < %d in one direction (li.5)" + + surround ndc/li,nsc/li,pdc/li,psc/li,ndic/li,pdic/li,mvndc/li,mvnsc/li,mvpdc/li,mvpsc/li,mvndic/li,mvpdic/li \ + *li,rli,coreli 80 directional \ + "Local interconnect overlap of diffusion contact < %d in one direction (li.5)" + + area allli,*obsli,coreli 56100 170 "Local interconnect minimum area < %a (li.6)" + + angles *locali,rli 90 "Only 90 degree angles permitted on local interconnect (x.2)" + angles coreli 45 \ + "Only 45 degree angles permitted on local interconnect in SRAM cell (x.2)" + +#------------------------------------------------------------- +# MCON - Contact between local interconnect and metal1 +#------------------------------------------------------------- + + width lic/m1 170 "mcon.width < %d (mcon.1)" + spacing lic/m1 lic/m1,obslic/m1 190 touching_ok "mcon.spacing < %d (mcon.2)" + + exact_overlap lic/li + +#------------------------------------------------------------- +# METAL1 - +#------------------------------------------------------------- + + width *m1,rm1 140 "Metal1 width < %d (met1.1)" + spacing allm1 allm1,*obsm1 140 touching_ok "Metal1 spacing < %d (met1.2)" + area allm1,*obsm1 83000 140 "Metal1 minimum area < %a (met1.6)" + + surround lic/m1 *met1 30 absence_illegal \ + "Metal1 overlap of local interconnect contact < %d (met1.4)" + surround lic/m1 *met1 60 directional \ + "Metal1 overlap of local interconnect contact < %d in one direction (met1.5)" + + angles allm1 45 "Only 45 and 90 degree angles permitted on metal1 (x.3a)" + +variants (fast),(full) + widespacing allm1 3000 allm1,*obsm1 280 touching_ok \ + "Metal1 > 3um spacing to unrelated m1 < %d (met1.3b)" + widespacing *obsm1 3000 allm1 280 touching_ok \ + "Metal1 > 3um spacing to unrelated m1 < %d (met1.3b)" + +variants (full) + cifmaxwidth m1_hole_empty 0 bend_illegal \ + "Min area of metal1 holes > 0.14um^2 (met1.7)" + + cifspacing m1_large_halo m1_large_halo 280 touching_ok \ + "Spacing of metal1 features attached to and within 0.28um of large metal1 < %d (met1.3a)" +variants * + +#-------------------------------------------------- +# VIA1 +#-------------------------------------------------- + + width v1/m1 260 "Via1 width < %d (via.1a + 2 * via.4a)" + spacing v1 v1 60 touching_ok "Via1 spacing < %d (via.2 - 2 * via.4a)" + surround v1/m1 *m1 30 directional \ + "Metal1 overlap of Via1 < %d in one direction (via.5a - via.4a)" + surround v1/m2 *m2 30 directional \ + "Metal2 overlap of Via1 < %d in one direction (met2.5 - met2.4)" + + exact_overlap v1/m1 + +#-------------------------------------------------- +# METAL2 - +#-------------------------------------------------- + + width allm2 140 "Metal2 width < %d (met2.1)" + spacing allm2 allm2,obsm2 140 touching_ok "Metal2 spacing < %d (met2.2)" + area allm2,obsm2 67600 140 "Metal2 minimum area < %a (met2.6)" + + angles allm2 45 "Only 45 and 90 degree angles permitted on metal2 (x.3a)" + +variants (fast),(full) + widespacing allm2 3000 allm2,obsm2 280 touching_ok \ + "Metal2 > 3um spacing to unrelated m2 < %d (met2.3b)" + widespacing obsm2 3000 allm2 280 touching_ok \ + "Metal2 > 3um spacing to unrelated m2 < %d (met2.3b)" + +variants (full) + cifmaxwidth m2_hole_empty 0 bend_illegal \ + "Min area of metal2 holes > 0.14um^2 (met2.7)" + + cifspacing m2_large_halo m2_large_halo 280 touching_ok \ + "Spacing of metal2 features attached to and within 0.28um of large metal2 < %d (met2.3a)" +variants * + +#-------------------------------------------------- +# VIA2 +#-------------------------------------------------- + + width v2/m2 280 "via2.width < %d (via2.1a + 2 * via2.4)" + + spacing v2 v2 120 touching_ok "via2.spacing < 0.24um (via2.2 - 2 * via2.4)" + + surround v2/m2 *m2 45 directional \ + "Metal2 overlap of via2.< %d in one direction (via2.4a - via2.4)" + surround v2/m3 *m3 25 absence_illegal "Metal3 overlap of via2.< %d (met3.4)" + + exact_overlap v2/m2 + +#-------------------------------------------------- +# METAL3 - +#-------------------------------------------------- + + width allm3 300 "Metal3 width < %d (met3.1)" + spacing allm3 allm3,obsm3 300 touching_ok "Metal3 spacing < %d (met3.2)" + area allm3,obsm3 240000 300 "Metal3 minimum area < %a (met3.6)" + + angles allm3 45 "Only 45 and 90 degree angles permitted on metal3 (x.3a)" + +variants (fast),(full) + widespacing allm3 3000 allm3,obsm3 400 touching_ok \ + "Metal3 > 3um spacing to unrelated m3 < %d (met3.3d)" + widespacing obsm3 3000 allm3 400 touching_ok \ + "Metal3 > 3um spacing to unrelated m3 < %d (met3.3d)" +variants (full) + cifspacing m3_large_halo m3_large_halo 400 touching_ok \ + "Spacing of metal3 features attached to and within 0.40um of large metal3 < %d (met3.3c)" +variants * + + +#-------------------------------------------------- +# VIA3 - Requires METAL5 Module +#-------------------------------------------------- + + width v3/m3 320 "via3.width < %d (via3.1 + 2 * via3.4)" + spacing v3 v3 80 touching_ok "via3.spacing < %d (via3.2 - 2 * via3.4)" + surround v3/m3 *m3 30 directional \ + "Metal3 overlap of via3.in one direction < %d (via3.5 - via3.4)" + surround v3/m4 *m4 5 absence_illegal \ + "Metal4 overlap of via3.< %d (met4.3 - via3.4)" + + exact_overlap v3/m3 + +#----------------------------- +# METAL4 - METAL4 Module +#----------------------------- + +variants * + + width allm4 300 "Metal4 width < %d (met4.1)" + spacing allm4 allm4,obsm4 300 touching_ok "Metal4 spacing < %d (met4.2)" + area allm4,obsm4 240000 300 "Metal4 minimum area < %a (met4.4a)" + + angles allm4 45 "Only 45 and 90 degree angles permitted on metal4 (x.3a)" + +variants (fast),(full) + widespacing allm4 3000 allm4,obsm4 400 touching_ok \ + "Metal4 > 3um spacing to unrelated m4 < %d (met4.5b)" + widespacing obsm4 3000 allm4 400 touching_ok \ + "Metal4 > 3um spacing to unrelated m4 < %d (met4.5b)" +variants (full) + cifspacing m4_large_halo m4_large_halo 400 touching_ok \ + "Spacing of metal4 features attached to and within 0.40um of large metal4 < %d (met4.5a)" +variants * + +#-------------------------------------------------- +# VIA4 - Requires METAL5 Module +#-------------------------------------------------- + + width v4/m4 1180 "via4.width < %d (via4.1 + 2 * via4.4)" + spacing v4 v4 420 touching_ok "via4.spacing < %d (via4.2 - 2 * via4.4)" + surround v4/m5 *m5 120 absence_illegal \ + "Metal5 overlap of via4.< %d (met5.3 - via4.4)" + + exact_overlap v4/m4 + +#----------------------------- +# METAL5 - METAL5 Module +#----------------------------- + + width allm5 1600 "Metal5 width < %d (met5.1)" + spacing allm5 allm5,obsm5 1600 touching_ok "Metal5 spacing < %d (met5.2)" + area allm5,obsm5 4000000 1600 "Metal5 minimum area < %a (met5.4)" + + angles allm5 45 "Only 45 and 90 degree angles permitted on metal5 (x.3a)" + + + +variants (full) + + width metrdl 10000 "RDL width < %d (rdl.1)" + spacing metrdl metrdl 10000 touching_ok "RDL spacing < %d (rdl.2)" + surround glass metrdl 10750 absence_ok "RDL must surround glass cut by %d (rdl.3)" + spacing metrdl padl 19660 surround_ok "RDL spacing to unrelated pad < %d (rdl.6)" + +variants (fast),(full) + + +#-------------------------------------------------- +# NMOS, PMOS +#-------------------------------------------------- + + edge4way *poly allfetsstd 420 allfets 0 0 \ + "Transistor width < %d (diff/tap.2)" + edge4way *poly allfetsspecial 360 allfets 0 0 \ + "Transistor in standard cell width < %d (diff/tap.2)" + edge4way *poly npass,npd,nsonos 210 allfets 0 0 \ + "N-Transistor in SRAM core width < %d (diff/tap.2)" + edge4way *poly ppu 140 allfets 0 0 \ + "P-Transistor in SRAM core width < %d (diff/tap.2)" + + # Except: Note that standard cells allow transistor width minimum 0.36um + width pfetlvt 350 "LVT PMOS gate length < %d (poly.1b)" + + spacing allpolynonfet *nsd 55 corner_ok varactor \ + "poly spacing to diffusion tap < %d (poly.5)" + spacing allpolynonfet *mvnsd 55 corner_ok mvvaractor \ + "poly spacing to diffusion tap < %d (poly.5)" + + edge4way *psd *ndiff 300 ~(nfet,npass,npd,scnfet,nfetlvt,nsonos)/a *psd 300 \ + "Butting P-tap spacing to NMOS gate < %d (poly.6)" + edge4way *nsd *pdiff 300 ~(pfet,ppu,scpfet,scpfethvt,pfetlvt,pfetmvt)/a *nsd 300 \ + "Butting N-tap spacing to PMOS gate < %d (poly.6)" + edge4way *mvpsd *mvndiff 300 ~(mvnfet,mvnnfet)/a *mvpsd 300 \ + "Butting MV P-tap spacing to MV NMOS gate < %d (poly.6)" + edge4way *mvnsd *mvpdiff 300 ~mvpfet/a *mvnsd 300 \ + "Butting MV N-tap spacing to MV PMOS gate < %d (poly.6)" + + # No LV FETs in HV diff + spacing pfet,scpfet,scpfethvt,ppu,pfetlvt,pfetmvt,pfethvt,*pdiff *mvpdiff 360 touching_illegal \ + "LV P-diffusion to MV P-diffusion < %d (diff/tap.23 + diff/tap.22)" + + spacing nfet,scnfet,npd,npass,nfetlvt,varactor,varhvt,*ndiff *mvndiff 360 touching_illegal \ + "LV N-diffusion to MV N-diffusion < %d (diff/tap.23 + diff/tap.22)" + + # No HV FETs in LV diff + spacing mvpfet,*mvpdiff *pdiff 360 touching_illegal \ + "MV P-diffusion to LV P-diffusion < %d (diff/tap.23 + diff/tap.22)" + + spacing mvnfet,mvvaractor,*mvndiff *ndiff 360 touching_illegal \ + "MV N-diffusion to LV N-diffusion < %d (diff/tap.23 + diff/tap.22)" + + # Minimum length of MV FETs. Note that this is larger than the minimum + # width (0.29um), so an edge rule is required + + edge4way mvndiff mvnfet 500 mvnfet 0 0 \ + "MV NMOS minimum length < %d (poly.13)" + + edge4way mvnsd mvvaractor 500 mvvaractor 0 0 \ + "MV Varactor minimum length < %d (poly.13)" + + edge4way mvpdiff mvpfet 500 mvpfet 0 0 \ + "MV PMOS minimum length < %d (poly.13)" + +#-------------------------------------------------- +# mrp1 (N+ poly resistor) +#-------------------------------------------------- + + width mrp1 330 "mrp1 resistor width < %d (poly.3)" + +#-------------------------------------------------- +# xhrpoly (P+ poly resistor) +# uhrpoly (P+ poly resistor, 2kOhm/sq) +#-------------------------------------------------- + + # NOTE: u/xhrpoly resistor requires discrete widths 0.35, 0.69, ... up to 1.27. + width xhrpoly 350 "xhrpoly resistor width < %d (P+ poly.1a)" + width uhrpoly 350 "uhrpoly resistor width < %d (P+ poly.1a)" + + spacing xhrpoly,uhrpoly,xpc alldiff 480 touching_illegal \ + "xhrpoly/uhrpoly resistor spacing to diffusion < %d (poly.9)" + + spacing mrp1,xhrpoly,uhrpoly,xpc allfets 480 touching_illegal \ + "Poly resistor spacing to poly < %d (poly.9)" + + spacing xhrpoly,uhrpoly,xpc *poly 480 touching_illegal \ + "Poly resistor spacing to poly < %d (poly.9)" + + spacing mrp1 *poly 480 touching_ok \ + "Poly resistor spacing to poly < %d (poly.9)" + + spacing mrp1,xhrpoly,uhrpoly,xpc alldiff 480 touching_illegal \ + "Poly resistor spacing to diffusion < %d (poly.9)" + +#------------------------------------ +# nsonos +#------------------------------------ + +variants (full) + cifmaxwidth bbox_missing 0 bend_illegal \ + "SONOS transistor must be in cell with abutment box (tunm.8)" +variants (fast),(full) + +#------------------------------------ +# MOS Varactor device rules +#------------------------------------ + + overhang *nsd var,varhvt 250 \ + "N-Tap overhang of Varactor < %d (var.4)" + + overhang *mvnsd mvvar 250 \ + "N-Tap overhang of Varactor < %d (var.4)" + + width var,varhvt,mvvar 180 "Varactor length < %d (var.1)" + extend var,varhvt,mvvar *poly 1000 "Varactor width < %d (var.2)" + +variants (full) + cifmaxwidth var_poly_no_nwell 0 bend_illegal \ + "N-well overlap of varactor poly < 0.15um (varac.5)" + + cifmaxwidth pdiff_in_varactor_well 0 bend_illegal \ + "Varactor N-well must not contain P+ diffusion (varac.7)" +variants (fast),(full) + +#----------------------------------------------------------- +# MiM CAP (CAPM) - +#----------------------------------------------------------- + + width *mimcap 1000 "MiM cap width < %d (capm.1)" + spacing *mimcap *mimcap 840 touching_ok "MiM cap spacing < %d (capm.2a)" + spacing *mimcap via3/m3 80 touching_illegal \ + "MiM cap spacing to via3 < %d (capm.5 - via3.4)" + surround *mimcc *mimcap 80 absence_illegal \ + "MiM cap must surround MiM cap contact by %d (capm.4 - via3.4)" + rect_only *mimcap "MiM cap must be rectangular (capm.7) + + surround *mimcap *metal3/m3 140 absence_illegal \ + "Metal3 must surround MiM cap by %d (capm.3)" + spacing via2 *mimcap 100 touching_illegal \ + "MiM cap spacing to via2 < %d (capm.8 - via2.4)" + spacing *mimcap *metal3/m3 500 surround_ok \ + "MiM cap spacing to unrelated metal3 < %d (capm.11)" + +variants (full) + cifspacing mim_bottom mim_bottom 1200 touching_ok \ + "MiM cap bottom plate spacing < %d (capm.2b)" +variants (fast),(full) + + # MiM cap contact rules (VIA3) + + width mimcc/c1 320 "MiM cap contact width < %d (via3.1 + 2 * via3.4)" + spacing mimcc mimcc 80 touching_ok "MiM cap contact spacing < %d (via3.2 - 2 * via3.4)" + surround mimcc/m4 *m4 5 directional \ + "Metal4 overlap of MiM cap contact in one direction < %d (met4.3 - via3.4)" + exact_overlap mimcc/c1 + + width *mimcap2 1000 "MiM2 cap width < %d (cap2m.1)" + spacing *mimcap2 *mimcap2 840 touching_ok "MiM2 cap spacing < %d (cap2m.2a)" + spacing *mimcap2 via4/m4 10 touching_illegal \ + "MiM2 cap spacing to via4 < %d (cap2m.5 - via4.4)" + surround *mim2cc *mimcap2 10 absence_illegal \ + "MiM2 cap must surround MiM cap 2 contact by %d (cap2m.4 - via4.4)" + rect_only *mimcap2 "MiM2 cap must be rectangular (cap2m.7) + + surround *mimcap2 *metal4/m4 140 absence_illegal \ + "Metal4 must surround MiM2 cap by %d (cap2m.3)" + spacing via3,mimcc *mimcap2 80 touching_illegal \ + "MiM2 cap spacing to via3 < %d (cap2m.8 - via3.4)" + spacing *mimcap2 *metal4/m4 500 surround_ok \ + "MiM2 cap spacing to unrelated metal4 < %d (cap2m.11)" + +variants (full) + cifspacing mim2_bottom mim2_bottom 1200 touching_ok \ + "MiM2 cap bottom plate spacing < %d (cap2m.2b)" +variants (fast),(full) + + # MiM cap contact rules (VIA4) + + width mim2cc/c2 1180 "MiM2 cap contact width < %d (via4.1 + 2 * via4.4)" + spacing mim2cc mim2cc 420 touching_ok \ + "MiM2 cap contact spacing < %d (via4.2 - 2 * via4.4)" + surround mim2cc/m5 *m5 120 absence_illegal \ + "Metal5 overlap of MiM2 cap contact < %d (met5.3 - via4.4)" + exact_overlap mim2cc/c2 + + +#---------------------------- +# HVNTM +#---------------------------- +variants (full) + cifspacing hvntm_generate hvntm_generate 700 touching_ok \ + "HVNTM spacing < %d (hvntm.2)" +variants (fast),(full) + +#---------------------------- +# End DRC style +#---------------------------- + +end + +#---------------------------- +# LEF format definitions +#---------------------------- + +lef + + masterslice pwell pwell PWELL substrate + masterslice nwell nwell NWELL + + routing li li1 LI1 LI li + + routing m1 met1 MET1 m1 + routing m2 met2 MET2 m2 + routing m3 met3 MET3 m3 + routing m4 met4 MET4 m4 + routing m5 met5 MET5 m5 + routing mrdl met6 MET6 m6 MRDL METRDL + + cut lic mcon MCON Mcon + cut m2c via via1 VIA VIA1 cont2 via12 + cut m3c via2 VIA2 cont3 via23 + cut via3 via3 VIA3 cont4 via34 + cut via4 via4 VIA4 cont5 via45 + + obs obsli li1 + obs obsm1 met1 + obs obsm2 met2 + obs obsm3 met3 + + obs obsm4 met4 + obs obsm5 met5 + obs obsmrdl met6 + + # NOTE: obslic only used with li1, not obsli. + obs obslic mcon + + # Vias on obstruction layers should be ignored, so cast to obstruction metal. + obs obsm1 via + obs obsm2 via2 + obs obsm3 via3 + obs obsm4 via4 + +end + +#----------------------------------------------------- +# Device and Parasitic extraction +#----------------------------------------------------- + + +extract + style ngspice variants (),(orig),(si) + cscale 1 + # NOTE: SkyWater SPICE libraries use .option scale 1E6 so all + # dimensions must be in units of microns in the extract file. + # Use extract style "ngspice(si)" to override this and produce + # a file with SI units for length/area. + + variants (),(orig) + lambda 1E6 + variants (si) + lambda 1.0 + variants * + + units microns + step 7 + sidehalo 2 + + # NOTE: MiM cap layers have been purposely put out of order, + # may want to reconsider. + + planeorder dwell 0 + planeorder well 1 + planeorder active 2 + planeorder locali 3 + planeorder metal1 4 + planeorder metal2 5 + planeorder metal3 6 + planeorder metal4 7 + planeorder metal5 8 + planeorder metali 9 + planeorder block 10 + planeorder comment 11 + planeorder cap1 12 + planeorder cap2 13 + + height dnwell -0.1 0.1 + height nwell,pwell 0.0 0.2062 + height alldiff 0.2062 0.12 + height allpoly 0.3262 0.18 + height alldiffcont 0.3262 0.61 + height pc 0.5062 0.43 + height allli 0.9361 0.10 + height lic 1.0361 0.34 + height allm1 1.3761 0.36 + height v1 1.7361 0.27 + height allm2 2.0061 0.36 + height v2 2.3661 0.42 + height allm3 2.7861 0.845 + height v3 3.6311 0.39 + height allm4 4.0211 0.845 + height v4 4.8661 0.505 + height allm5 5.3711 1.26 + height mimcap 2.4661 0.2 + height mimcap2 3.7311 0.2 + height mimcc 2.6661 0.12 + height mim2cc 3.9311 0.09 + height mrdlc 6.6311 5.2523 + height mrdl 11.8834 4.0 + + # Antenna check parameters + # Note that checks w/diode diffusion are not modeled + model partial + antenna poly sidewall 50 none + antenna allcont surface 3 none + antenna li sidewall 75 0 450 + antenna lic surface 3 0 18 + antenna m1,m2,m3 sidewall 400 2600 400 + antenna v1 surface 3 0 18 + antenna v2 surface 6 0 36 + antenna m4,m5 sidewall 400 2600 400 + antenna v3,v4 surface 6 0 36 + + tiedown alldiffnonfet + + substrate *ppdiff,*mvppdiff,space/w,pwell well $SUB -dnwell + +# Layer resistance: Use document xp018-PDS-v4_2_1.pdf + +# Resistances are in milliohms per square +# Optional 3rd argument is the corner adjustment fraction +# Device values come from trtc.cor (typical corner) + resist (dnwell)/dwell 2200000 + resist (pwell)/well 3050000 + resist (nwell)/well 1700000 + resist (rpw)/well 3050000 0.5 + resist (*ndiff,nsd)/active 120000 + resist (*pdiff,*psd)/active 197000 + resist (*mvndiff,mvnsd)/active 114000 + resist (*mvpdiff,*mvpsd)/active 191000 + + resist ndiffres/active 120000 0.5 + resist pdiffres/active 197000 0.5 + resist mvndiffres/active 114000 0.5 + resist mvpdiffres/active 191000 0.5 + resist mrp1/active 48200 0.5 + resist xhrpoly/active 319800 0.5 + resist uhrpoly/active 2000000 0.5 + + resist (allpolynonres)/active 48200 + resist rmp/active 48200 + + resist (allli)/locali 12200 + resist (allm1)/metal1 125 + resist (allm2)/metal2 125 + resist (allm3)/metal3 47 + resist (allm4)/metal4 47 + resist (allm5)/metal5 29 + resist mrdl/metali 5 + + contact ndc,nsc 15000 + contact pdc,psc 15000 + contact mvndc,mvnsc 15000 + contact mvpdc,mvpsc 15000 + contact pc 15000 + contact lic 152000 + contact m2c 4500 + contact m3c 3410 + contact mimcc 4500 + contact mim2cc 3410 + contact via3 3410 + contact via4 380 + contact mrdlc 6 + +#------------------------------------------------------------------------- +# Parasitic capacitance values: Use document (...) +#------------------------------------------------------------------------- +# This uses the new "default" definitions that determine the intervening +# planes from the planeorder stack, take care of the reflexive sideoverlap +# definitions, and generally clean up the section and make it more readable. +# +# Also uses "units microns" statement. All values are taken from the +# document PEX/xRC/cap_models. Fringe capacitance values are approximated. +# Units are aF/um^2 for area caps and aF/um for perimeter and sidewall caps. +#------------------------------------------------------------------------- +# Remember that device capacitances to substrate are taken care of by the +# models. Thus, active and poly definitions ignore all "fet" types. +# fet types are excluded when computing parasitic capacitance to +# active from layers above them because poly is a shield; fet types are +# included for parasitics from layers above to poly. Resistor types +# should be removed from all parasitic capacitance calculations, or else +# they just create floating caps. Technically, the capacitance probably +# should be split between the two terminals. Unsure of the correct model. +#------------------------------------------------------------------------- + +#n-well +# NOTE: This value not found in PEX files +defaultareacap nwell well 120 + +#n-active +# Rely on device models to capture *ndiff area cap +# Do not extract parasitics from resistors +# defaultareacap allnactivenonfet active 790 +# defaultperimeter allnactivenonfet active 280 + +#p-active +# Rely on device models to capture *pdiff area cap +# Do not extract parasitics from resistors +# defaultareacap allpactivenonfet active 810 +# defaultperimeter allpactivenonfet active 300 + +#poly +# Do not extract parasitics from resistors +# defaultsidewall allpolynonfet active 22 +# defaultareacap allpolynonfet active 106 +# defaultperimeter allpolynonfet active 57 + + defaultsidewall *poly active 23 + defaultareacap *poly active nwell,obswell,pwell well 106 + defaultperimeter *poly active nwell,obswell,pwell well 55 + +#locali + defaultsidewall allli locali 33 + defaultareacap allli locali nwell,obswell,pwell well 37 + defaultperimeter allli locali nwell,obswell,pwell well 55 + defaultoverlap allli locali nwell well 37 + +#locali->diff + defaultoverlap allli locali allactivenonfet active 37 + defaultsideoverlap allli locali allactivenonfet active 55 + +#locali->poly + defaultoverlap allli locali allpolynonres active 94 + defaultsideoverlap allli locali allpolynonres active 52 + defaultsideoverlap *poly active allli locali 25 + +#metal1 + defaultsidewall allm1 metal1 45 + defaultareacap allm1 metal1 nwell,obswell,pwell well 26 + defaultperimeter allm1 metal1 nwell,obswell,pwell well 41 + defaultoverlap allm1 metal1 nwell well 26 + +#metal1->diff + defaultoverlap allm1 metal1 allactivenonfet active 26 + defaultsideoverlap allm1 metal1 allactivenonfet active 41 + +#metal1->poly + defaultoverlap allm1 metal1 allpolynonres active 45 + defaultsideoverlap allm1 metal1 allpolynonres active 47 + defaultsideoverlap *poly active allm1 metal1 17 + +#metal1->locali + defaultoverlap allm1 metal1 allli locali 114 + defaultsideoverlap allm1 metal1 allli locali 59 + defaultsideoverlap allli locali allm1 metal1 35 + +#metal2 + defaultsidewall allm2 metal2 50 + defaultareacap allm2 metal2 nwell,obswell,pwell well 17 + defaultperimeter allm2 metal2 nwell,obswell,pwell well 41 + defaultoverlap allm2 metal2 nwell well 38 + +#metal2->diff + defaultoverlap allm2 metal2 allactivenonfet active 17 + defaultsideoverlap allm2 metal2 allactivenonfet active 41 + +#metal2->poly + defaultoverlap allm2 metal2 allpolynonres active 24 + defaultsideoverlap allm2 metal2 allpolynonres active 41 + defaultsideoverlap *poly active allm2 metal2 11 + +#metal2->locali + defaultoverlap allm2 metal2 allli locali 38 + defaultsideoverlap allm2 metal2 allli locali 46 + defaultsideoverlap allli locali allm2 metal2 22 + +#metal2->metal1 + defaultoverlap allm2 metal2 allm1 metal1 134 + defaultsideoverlap allm2 metal2 allm1 metal1 67 + defaultsideoverlap allm1 metal1 allm2 metal2 48 + +#metal3 + defaultsidewall allm3 metal3 63 + defaultoverlap allm3 metal3 nwell well 12 + defaultareacap allm3 metal3 nwell,obswell,pwell well 12 + defaultperimeter allm3 metal3 nwell,obswell,pwell well 41 + +#metal3->diff + defaultoverlap allm3 metal3 allactive active 12 + defaultsideoverlap allm3 metal3 allactive active 41 + +#metal3->poly + defaultoverlap allm3 metal3 allpolynonres active 16 + defaultsideoverlap allm3 metal3 allpolynonres active 44 + defaultsideoverlap *poly active allm3 metal3 9 + +#metal3->locali + defaultoverlap allm3 metal3 allli locali 21 + defaultsideoverlap allm3 metal3 allli locali 47 + defaultsideoverlap allli locali allm3 metal3 15 + +#metal3->metal1 + defaultoverlap allm3 metal3 allm1 metal1 35 + defaultsideoverlap allm3 metal3 allm1 metal1 55 + defaultsideoverlap allm1 metal1 allm3 metal3 27 + +#metal3->metal2 + defaultoverlap allm3 metal3 allm2 metal2 86 + defaultsideoverlap allm3 metal3 allm2 metal2 70 + defaultsideoverlap allm2 metal2 allm3 metal3 44 + +#metal4 + defaultsidewall allm4 metal4 67 +# defaultareacap alltopm metal4 well 6 + areacap allm4/m4 8 + defaultoverlap allm4 metal4 nwell well 8 + defaultperimeter allm4 metal4 well 37 + +#metal4->diff + defaultoverlap allm4 metal4 allactivenonfet active 8 + defaultsideoverlap allm4 metal4 allactivenonfet active 37 + +#metal4->poly + defaultoverlap allm4 metal4 allpolynonres active 10 + defaultsideoverlap allm4 metal4 allpolynonres active 38 + defaultsideoverlap *poly active allm4 metal4 6 + +#metal4->locali + defaultoverlap allm4 metal4 allli locali 12 + defaultsideoverlap allm4 metal4 allli locali 40 + defaultsideoverlap allli locali allm4 metal4 10 + +#metal4->metal1 + defaultoverlap allm4 metal4 allm1 metal1 15 + defaultsideoverlap allm4 metal4 allm1 metal1 43 + defaultsideoverlap allm1 metal1 allm4 metal4 16 + +#metal4->metal2 + defaultoverlap allm4 metal4 allm2 metal2 20 + defaultsideoverlap allm4 metal4 allm2 metal2 46 + defaultsideoverlap allm2 metal2 allm4 metal4 22 + +#metal4->metal3 + defaultoverlap allm4 metal4 allm3 metal3 84 + defaultsideoverlap allm4 metal4 allm3 metal3 71 + defaultsideoverlap allm3 metal3 allm4 metal4 43 + +#metal5 + defaultsidewall allm5 metal5 127 +# defaultareacap allm5 metal5 well 6 + areacap allm5/m5 6 + defaultoverlap allm5 metal5 nwell well 6 + defaultperimeter allm5 metal5 well 39 + +#metal5->diff + defaultoverlap allm5 metal5 allactivenonfet active 6 + defaultsideoverlap allm5 metal5 allactivenonfet active 39 + +#metal5->poly + defaultoverlap allm5 metal5 allpolynonres active 7 + defaultsideoverlap allm5 metal5 allpolynonres active 40 + defaultsideoverlap *poly active allm5 metal5 6 + +#metal5->locali + defaultoverlap allm5 metal5 allli locali 8 + defaultsideoverlap allm5 metal5 allli locali 41 + defaultsideoverlap allli locali allm5 metal5 8 + +#metal5->metal1 + defaultoverlap allm5 metal5 allm1 metal1 9 + defaultsideoverlap allm5 metal5 allm1 metal1 43 + defaultsideoverlap allm1 metal1 allm5 metal5 12 + +#metal5->metal2 + defaultoverlap allm5 metal5 allm2 metal2 11 + defaultsideoverlap allm5 metal5 allm2 metal2 46 + defaultsideoverlap allm2 metal2 allm5 metal5 16 + +#metal5->metal3 + defaultoverlap allm5 metal5 allm3 metal3 20 + defaultsideoverlap allm5 metal5 allm3 metal3 54 + defaultsideoverlap allm3 metal3 allm5 metal5 28 + +#metal5->metal4 + defaultoverlap allm5 metal5 allm4 metal4 68 + defaultsideoverlap allm5 metal5 allm4 metal4 83 + defaultsideoverlap allm4 metal4 allm5 metal5 47 + + +# Devices: Base models (not subcircuit wrappers) + +variants (),(si) + + device msubcircuit sky130_fd_pr__pfet_01v8 pfet,scpfet \ + *pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w + device msubcircuit sky130_fd_pr__special_pfet_pass ppu \ + *pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w + device msubcircuit sky130_fd_pr__pfet_01v8_lvt pfetlvt \ + *pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w + device msubcircuit sky130_fd_pr__pfet_01v8_mvt pfetmvt \ + *pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w + device msubcircuit sky130_fd_pr__pfet_01v8_hvt pfethvt,scpfethvt \ + *pdiff,pdiffres *pdiff,pdiffres nwell error l=l w=w + + device msubcircuit sky130_fd_pr__nfet_01v8 nfet,scnfet \ + *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w + device msubcircuit sky130_fd_pr__special_nfet_latch npd \ + *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w + device msubcircuit sky130_fd_pr__special_nfet_pass npass \ + *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w + device msubcircuit sky130_fd_pr__nfet_01v8_lvt nfetlvt \ + *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w + device msubcircuit sky130_fd_bs_flash__special_sonosfet_star nsonos \ + *ndiff,ndiffres *ndiff,ndiffres pwell,space/w error l=l w=w + device subcircuit sky130_fd_pr__cap_var_lvt varactor \ + *nndiff nwell error l=l w=w + device subcircuit sky130_fd_pr__cap_var_hvt varhvt \ + *nndiff nwell error l=l w=w + device subcircuit sky130_fd_pr__cap_var mvvaractor \ + *mvnndiff nwell error l=l w=w + + # Bipolars + device msubcircuit sky130_fd_pr__npn_05v0 npn dnwell *ndiff space/w error a2=area + device msubcircuit sky130_fd_pr__pnp_05v0 pnp pwell,space/w *pdiff a2=area + device msubcircuit sky130_fd_pr__npn_11v0 npn dnwell *mvndiff space/w error a2=area + + # Ignore the extended-drain FET geometry that forms part of the high-voltage + # bipolar devices. + device msubcircuit Ignore mvnfet *mvndiff,mvndiffres dnwell pwell,space/w error +npn,pnp + device msubcircuit Ignore mvpfet *mvpdiff,mvpdiffres pwell,space/w nwell error +npn,pnp + + # Extended drain devices (must appear before the regular devices) + device msubcircuit sky130_fd_pr__nfet_20v0_nvt mvnnfet *mvndiff,mvndiffres \ + dnwell pwell,space/w error l=l w=w + device msubcircuit sky130_fd_pr__nfet_20v0 mvnfet *mvndiff,mvndiffres \ + dnwell pwell,space/w error l=l w=w + device msubcircuit sky130_fd_pr__pfet_20v0 mvpfet *mvpdiff,mvpdiffres \ + pwell,space/w nwell error l=l w=w + + device msubcircuit sky130_fd_pr__pfet_g5v0d10v5 mvpfet \ + *mvpdiff,mvpdiffres *mvpdiff,mvpdiffres nwell error l=l w=w + device msubcircuit sky130_fd_pr__nfet_g5v0d10v5 mvnfet \ + *mvndiff,mvndiffres *mvndiff,mvndiffres pwell,space/w error l=l w=w + device msubcircuit sky130_fd_pr__nfet_05v0_nvt mvnnfet \ + *mvndiff,mvndiffres *mvndiff,mvndiffres pwell,space/w error l=l w=w + + device resistor sky130_fd_pr__res_generic_l1 rli1 *li,coreli + device resistor sky130_fd_pr__res_generic_m1 rmetal1 *metal1 + device resistor sky130_fd_pr__res_generic_m2 rmetal2 *metal2 + device resistor sky130_fd_pr__res_generic_m3 rmetal3 *metal3 + device resistor sky130_fd_pr__res_generic_m4 rm4 *m4 + device resistor sky130_fd_pr__res_generic_m5 rm5 *m5 + + device rsubcircuit sky130_fd_pr__res_high_po_0p35 xhrpoly \ + xpc pwell,space/w error +res0p35 l=l + device rsubcircuit sky130_fd_pr__res_high_po_0p69 xhrpoly \ + xpc pwell,space/w error +res0p69 l=l + device rsubcircuit sky130_fd_pr__res_high_po_1p41 xhrpoly \ + xpc pwell,space/w error +res1p41 l=l + device rsubcircuit sky130_fd_pr__res_high_po_2p85 xhrpoly \ + xpc pwell,space/w error +res2p85 l=l + device rsubcircuit sky130_fd_pr__res_high_po_5p73 xhrpoly \ + xpc pwell,space/w error +res5p73 l=l + device rsubcircuit sky130_fd_pr__res_high_po xhrpoly \ + xpc pwell,space/w error l=l w=w + device rsubcircuit sky130_fd_pr__res_xhigh_po_0p35 uhrpoly \ + xpc pwell,space/w error +res0p35 l=l + device rsubcircuit sky130_fd_pr__res_xhigh_po_0p69 uhrpoly \ + xpc pwell,space/w error +res0p69 l=l + device rsubcircuit sky130_fd_pr__res_xhigh_po_1p41 uhrpoly \ + xpc pwell,space/w error +res1p41 l=l + device rsubcircuit sky130_fd_pr__res_xhigh_po_2p85 uhrpoly \ + xpc pwell,space/w error +res2p85 l=l + device rsubcircuit sky130_fd_pr__res_xhigh_po_5p73 uhrpoly \ + xpc pwell,space/w error +res5p73 l=l + device rsubcircuit sky130_fd_pr__res_xhigh_po uhrpoly \ + xpc pwell,space/w error l=l w=w + + device rsubcircuit sky130_fd_pr__res_generic_nd ndiffres \ + *ndiff pwell,space/w error l=l w=w + device rsubcircuit sky130_fd_pr__res_generic_pd pdiffres \ + *pdiff nwell error l=l w=w + device rsubcircuit sky130_fd_pr__res_iso_pw rpw \ + pwell dnwell error l=l w=w + device rsubcircuit sky130_fd_pr__res_generic_nd__hv mvndiffres \ + *mvndiff pwell,space/w error l=l w=w + device rsubcircuit sky130_fd_pr__res_generic_pd__hv mvpdiffres \ + *mvpdiff nwell error l=l w=w + + device resistor sky130_fd_pr__res_generic_po rmp *poly + device resistor sky130_fd_pr__res_generic_po mrp1 *poly + + device subcircuit sky130_fd_pr__diode_pd2nw_05v5 *pdiode \ + nwell a=area + device subcircuit sky130_fd_pr__diode_pd2nw_05v5_lvt *pdiodelvt \ + nwell a=area + device subcircuit sky130_fd_pr__diode_pd2nw_05v5_hvt *pdiodehvt \ + nwell a=area + device subcircuit sky130_fd_pr__diode_pd2nw_11v0 *mvpdiode \ + nwell a=area + + device msubcircuit sky130_fd_pr__diode_pw2nd_05v5 *ndiode \ + pwell,space/w a=area + device msubcircuit sky130_fd_pr__diode_pw2nd_05v5_lvt *ndiodelvt \ + pwell,space/w a=area + device msubcircuit sky130_fd_pr__diode_pw2nd_05v5_nvt *nndiode \ + pwell,space/w a=area + device msubcircuit sky130_fd_pr__diode_pw2nd_11v0 *mvndiode \ + pwell,space/w a=area + + + device csubcircuit sky130_fd_pr__cap_mim_m3_1 *mimcap *m3 w=w l=l + device csubcircuit sky130_fd_pr__cap_mim_m3_2 *mimcap2 *m4 w=w l=l + + variants (orig) + + device mosfet sky130_fd_pr__pfet_01v8 scpfet,pfet pdiff,pdiffres,pdc nwell + device mosfet sky130_fd_pr__special_pfet_pass ppu pdiff,pdiffres,pdc nwell + device mosfet sky130_fd_pr__pfet_01v8_lvt pfetlvt pdiff,pdiffres,pdc nwell + device mosfet sky130_fd_pr__pfet_01v8_mvt pfetmvt pdiff,pdiffres,pdc nwell + device mosfet sky130_fd_pr__pfet_01v8_hvt scpfethvt,pfethvt pdiff,pdiffres,pdc nwell + device mosfet sky130_fd_pr__nfet_01v8 scnfet,nfet ndiff,ndiffres,ndc pwell,space/w + device mosfet sky130_fd_pr__special_nfet_pass npass ndiff,ndiffres,ndc pwell,space/w + device mosfet sky130_fd_pr__special_nfet_latch npd ndiff,ndiffres,ndc pwell,space/w + device mosfet sky130_fd_pr__special_nfet_latch npd ndiff,ndiffres,ndc pwell,space/w + device mosfet sky130_fd_pr__nfet_01v8_lvt nfetlvt ndiff,ndiffres,ndc pwell,space/w + device mosfet sky130_fd_bs_flash__special_sonosfet_star nsonos ndiff,ndiffres,ndc \ + pwell,space/w + + # Note that corenvar, corepvar are not considered devices, and extract as + # parasitic capacitance instead (but cap values need to be added). + + # Extended drain devices (must appear before the regular devices) + device mosfet sky130_fd_pr__nfet_20v0_nvt mvnnfet *mvndiff,mvndiffres \ + dnwell pwell,space/w error + device mosfet sky130_fd_pr__nfet_20v0 mvnfet *mvndiff,mvndiffres \ + dnwell pwell,space/w error + device mosfet sky130_fd_pr__pfet_20v0 mvpfet *mvpdiff,mvpdiffres \ + pwell,space/w nwell error + + device mosfet sky130_fd_pr__pfet_g5v0d10v5 mvpfet mvpdiff,mvpdiffres,mvpdc nwell + device mosfet sky130_fd_pr__nfet_g5v0d10v5 mvnfet mvndiff,mvndiffres,mvndc pwell,space/w + device mosfet sky130_fd_pr__nfet_05v0_nvt mvnnfet *mvndiff,mvndiffres pwell,space/w + + # These devices always extract as subcircuits + device subcircuit sky130_fd_pr__cap_var_lvt varactor *nndiff nwell error l=l w=w + device subcircuit sky130_fd_pr__cap_var_hvt varhvt *nndiff nwell error l=l w=w + device subcircuit sky130_fd_pr__cap_var mvvaractor *mvnndiff nwell error l=l w=w + + device resistor sky130_fd_pr__res_generic_po rmp *poly + device resistor sky130_fd_pr__res_generic_l1 rli1 *li,coreli + device resistor sky130_fd_pr__res_generic_m1 rmetal1 *metal1 + device resistor sky130_fd_pr__res_generic_m2 rmetal2 *metal2 + device resistor sky130_fd_pr__res_generic_m3 rmetal3 *metal3 + device resistor sky130_fd_pr__res_generic_m4 rm4 *m4 + device resistor sky130_fd_pr__res_generic_m5 rm5 *m5 + + device resistor sky130_fd_pr__res_high_po_0p35 xhrpoly xpc +res0p35 + device resistor sky130_fd_pr__res_high_po_0p69 xhrpoly xpc +res0p69 + device resistor sky130_fd_pr__res_high_po_1p41 xhrpoly xpc +res1p41 + device resistor sky130_fd_pr__res_high_po_2p85 xhrpoly xpc +res2p85 + device resistor sky130_fd_pr__res_high_po_5p73 xhrpoly xpc +res5p73 + device resistor sky130_fd_pr__res_high_po xhrpoly xpc + device resistor sky130_fd_pr__res_xhigh_po_0p35 uhrpoly xpc +res0p35 + device resistor sky130_fd_pr__res_xhigh_po_0p69 uhrpoly xpc +res0p69 + device resistor sky130_fd_pr__res_xhigh_po_1p41 uhrpoly xpc +res1p41 + device resistor sky130_fd_pr__res_xhigh_po_2p85 uhrpoly xpc +res2p85 + device resistor sky130_fd_pr__res_xhigh_po_5p73 uhrpoly xpc +res5p73 + device resistor sky130_fd_pr__res_xhigh_po uhrpoly xpc + device resistor sky130_fd_pr__res_generic_po mrp1 *poly + device resistor sky130_fd_pr__res_generic_nd ndiffres *ndiff + device resistor sky130_fd_pr__res_generic_pd pdiffres *pdiff + device resistor mrdn_hv mvndiffres *mvndiff + device resistor mrdp_hv mvpdiffres *mvpdiff + device resistor sky130_fd_pr__res_iso_pw rpw pwell + + device ndiode sky130_fd_pr__diode_pw2nd_05v5 *ndiode pwell,space/w a=area + device ndiode sky130_fd_pr__diode_pw2nd_05v5_lvt *ndiodelvt pwell,space/w a=area + device ndiode sky130_fd_pr__diode_pw2nd_05v5_nvt *nndiode pwell,space/w a=area + device ndiode sky130_fd_pr__diode_pw2nd_11v0 *mvndiode pwell,space/w a=area + + device pdiode sky130_fd_pr__diode_pd2nw_05v5 *pdiode nwell a=area + device pdiode sky130_fd_pr__diode_pd2nw_05v5_lvt *pdiodelvt nwell a=area + device pdiode sky130_fd_pr__diode_pd2nw_05v5_hvt *pdiodehvt nwell a=area + device pdiode sky130_fd_pr__diode_pd2nw_11v0 *mvpdiode nwell a=area + + device bjt sky130_fd_pr__npn_05v5 npn dnwell *ndiff space/w error a2=area + device bjt sky130_fd_pr__pnp_05v5 pnp pwell,space/w *pdiff a2=area + device bjt sky130_fd_pr__npn_11v0 npn dnwell *mvndiff space/w error a2=area + + device capacitor sky130_fd_pr__cap_mim_m3_1 *mimcap *m3 1 + device capacitor sky130_fd_pr__cap_mim_m3_2 *mimcap2 *m4 1 + +end + +#----------------------------------------------------- +# Wiring tool definitions +#----------------------------------------------------- + +wiring + # All wiring values are in nanometers + scalefactor 10 + + contact lic 170 li 0 0 m1 30 60 + contact v1 260 m1 0 30 m2 0 30 + contact v2 280 m2 0 45 m3 25 0 + contact v3 320 m3 0 30 m4 5 5 + contact v4 1180 m4 0 m5 120 + + contact pc 170 poly 50 80 li 0 80 + contact pdc 170 pdiff 40 60 li 0 80 + contact ndc 170 ndiff 40 60 li 0 80 + contact psc 170 psd 40 60 li 0 80 + contact nsc 170 nsd 40 60 li 0 80 + +end + +#----------------------------------------------------- +# Plain old router. . . +#----------------------------------------------------- + +router +end + +#------------------------------------------------------------ +# Plowing (restored in magic 8.2, need to fill this section) +#------------------------------------------------------------ + +plowing +end + +#----------------------------------------------------------------- +# No special plot layers defined (use default PNM color choices) +#----------------------------------------------------------------- + +plot + style pnm + default + draw fillblock no_color_at_all + draw nwell cwell +end +
diff --git a/mag/switch_layout.mag b/mag/switch_layout.mag new file mode 100644 index 0000000..09c5aa5 --- /dev/null +++ b/mag/switch_layout.mag
@@ -0,0 +1,231 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624221218 +<< checkpaint >> +rect -1220 -1088 3720 2440 +<< nwell >> +rect 506 622 602 1172 +rect 1166 654 1548 1100 +rect 1816 172 2200 624 +<< nmos >> +rect 2010 820 2040 940 +rect 1350 340 1380 460 +<< pmos >> +rect 1350 700 1380 942 +rect 2010 330 2040 570 +<< ndiff >> +rect 1920 898 2010 940 +rect 1920 864 1938 898 +rect 1972 864 2010 898 +rect 1920 820 2010 864 +rect 2040 898 2130 940 +rect 2040 864 2078 898 +rect 2112 864 2130 898 +rect 2040 820 2130 864 +rect 1260 417 1350 460 +rect 1260 383 1277 417 +rect 1311 383 1350 417 +rect 1260 340 1350 383 +rect 1380 417 1470 460 +rect 1380 383 1418 417 +rect 1452 383 1470 417 +rect 1380 340 1470 383 +<< pdiff >> +rect 1270 868 1350 942 +rect 1270 834 1283 868 +rect 1317 834 1350 868 +rect 1270 800 1350 834 +rect 1270 766 1283 800 +rect 1317 766 1350 800 +rect 1270 700 1350 766 +rect 1380 871 1462 942 +rect 1380 837 1413 871 +rect 1447 837 1462 871 +rect 1380 803 1462 837 +rect 1380 769 1413 803 +rect 1447 769 1462 803 +rect 1380 700 1462 769 +rect 1930 499 2010 570 +rect 1930 465 1943 499 +rect 1977 465 2010 499 +rect 1930 431 2010 465 +rect 1930 397 1943 431 +rect 1977 397 2010 431 +rect 1930 330 2010 397 +rect 2040 501 2122 570 +rect 2040 467 2073 501 +rect 2107 467 2122 501 +rect 2040 433 2122 467 +rect 2040 399 2073 433 +rect 2107 399 2122 433 +rect 2040 330 2122 399 +<< ndiffc >> +rect 1938 864 1972 898 +rect 2078 864 2112 898 +rect 1277 383 1311 417 +rect 1418 383 1452 417 +<< pdiffc >> +rect 1283 834 1317 868 +rect 1283 766 1317 800 +rect 1413 837 1447 871 +rect 1413 769 1447 803 +rect 1943 465 1977 499 +rect 1943 397 1977 431 +rect 2073 467 2107 501 +rect 2073 399 2107 433 +<< poly >> +rect 1350 942 1380 970 +rect 2010 940 2040 970 +rect 2010 790 2040 820 +rect 2170 815 2230 840 +rect 2170 790 2183 815 +rect 2008 781 2183 790 +rect 2217 781 2230 815 +rect 2008 760 2230 781 +rect 920 580 984 582 +rect 730 557 984 580 +rect 730 542 935 557 +rect 920 523 935 542 +rect 969 523 984 557 +rect 920 504 984 523 +rect 1190 576 1248 582 +rect 1350 576 1380 700 +rect 1190 557 1380 576 +rect 2010 570 2040 760 +rect 1190 523 1201 557 +rect 1235 540 1380 557 +rect 1235 523 1248 540 +rect 1190 504 1248 523 +rect 1350 460 1380 540 +rect 1350 310 1380 340 +rect 2010 298 2040 330 +<< polycont >> +rect 2183 781 2217 815 +rect 935 523 969 557 +rect 1201 523 1235 557 +<< locali >> +rect 492 992 612 1142 +rect 1230 1010 2280 1070 +rect 1270 868 1320 1010 +rect 1270 834 1283 868 +rect 1317 834 1320 868 +rect 1270 800 1320 834 +rect 1270 766 1283 800 +rect 1317 766 1320 800 +rect 1270 700 1320 766 +rect 1410 871 1462 944 +rect 1410 837 1413 871 +rect 1447 837 1462 871 +rect 1410 803 1462 837 +rect 1410 769 1413 803 +rect 1447 769 1462 803 +rect 842 680 844 682 +rect 840 670 870 680 +rect 810 667 870 670 +rect 810 648 813 667 +rect 790 633 813 648 +rect 847 633 870 667 +rect 790 630 870 633 +rect 40 518 196 612 +rect 790 610 834 630 +rect 840 622 870 630 +rect 1410 622 1462 769 +rect 1920 898 1980 940 +rect 1920 864 1938 898 +rect 1972 864 1980 898 +rect 1920 730 1980 864 +rect 2070 898 2130 1010 +rect 2070 864 2078 898 +rect 2112 864 2130 898 +rect 2070 820 2130 864 +rect 2170 830 2230 840 +rect 2170 815 2350 830 +rect 2170 781 2183 815 +rect 2217 813 2350 815 +rect 2217 781 2304 813 +rect 2170 779 2304 781 +rect 2338 779 2350 813 +rect 2170 760 2350 779 +rect 1408 610 1462 622 +rect 1718 726 1980 730 +rect 1718 692 1932 726 +rect 1966 692 1980 726 +rect 1718 678 1980 692 +rect 1718 610 1780 678 +rect 414 542 570 580 +rect 920 557 1248 582 +rect 920 523 935 557 +rect 969 523 1201 557 +rect 1235 523 1248 557 +rect 1408 552 1780 610 +rect 1408 550 1470 552 +rect 1718 550 1780 552 +rect 920 504 1248 523 +rect 1260 417 1320 460 +rect 1260 383 1277 417 +rect 1311 383 1320 417 +rect 502 192 622 312 +rect 1260 260 1320 383 +rect 1410 417 1470 550 +rect 1410 383 1418 417 +rect 1452 383 1470 417 +rect 1410 340 1470 383 +rect 1930 499 1980 678 +rect 1930 465 1943 499 +rect 1977 465 1980 499 +rect 1930 431 1980 465 +rect 1930 397 1943 431 +rect 1977 397 1980 431 +rect 1930 330 1980 397 +rect 2070 501 2122 570 +rect 2070 467 2073 501 +rect 2107 467 2122 501 +rect 2070 433 2122 467 +rect 2070 399 2073 433 +rect 2107 399 2122 433 +rect 2070 260 2122 399 +rect 1250 200 2300 260 +<< viali >> +rect 813 633 847 667 +rect 2304 779 2338 813 +rect 1932 692 1966 726 +<< metal1 >> +rect 502 980 602 1150 +rect 1038 1148 2330 1180 +rect 1038 1138 2332 1148 +rect 1040 920 1080 1138 +rect 920 880 1080 920 +rect 920 680 960 880 +rect 2292 830 2332 1138 +rect 2292 813 2350 830 +rect 2292 779 2304 813 +rect 2338 779 2350 813 +rect 2292 770 2350 779 +rect 1920 726 2460 740 +rect 1920 692 1932 726 +rect 1966 692 2460 726 +rect 1920 680 2460 692 +rect 790 667 960 680 +rect 790 633 813 667 +rect 847 633 960 667 +rect 790 622 960 633 +rect 512 182 612 324 +use INV INV_0 +timestamp 1624221218 +transform 1 0 224 0 1 622 +box -88 -440 290 550 +use INV INV_1 +timestamp 1624221218 +transform 1 0 602 0 1 622 +box -88 -440 290 550 +<< labels >> +rlabel metal1 s 544 1068 544 1068 4 vdd! +rlabel metal1 s 540 216 540 216 4 gnd! +rlabel locali s 1576 220 1576 220 4 inp2 +rlabel locali s 1778 1032 1778 1032 4 inp1 +rlabel locali s 100 566 100 566 4 din +rlabel locali s 470 556 470 556 4 dinb +rlabel poly s 2116 776 2116 776 4 dd +rlabel metal1 s 2112 702 2112 702 4 vout +<< end >>
diff --git a/mag/user_analog_project_wrapper.mag b/mag/user_analog_project_wrapper.mag new file mode 100644 index 0000000..2f81a79 --- /dev/null +++ b/mag/user_analog_project_wrapper.mag
@@ -0,0 +1,2332 @@ +magic +tech sky130A +magscale 1 2 +timestamp 1624220454 +<< checkpaint >> +rect -2114 -2060 586060 706060 +<< locali >> +rect 46054 508408 47990 508612 +rect 1388 508124 18224 508148 +rect 1040 508082 18224 508124 +rect 34048 508082 47990 508408 +rect 1040 508050 47990 508082 +rect 1040 508016 1076 508050 +rect 1110 508016 47990 508050 +rect 1040 507948 47990 508016 +rect 1388 507936 47990 507948 +rect 17790 507870 47990 507936 +rect 34048 507680 47990 507870 +rect 41820 465164 42396 465210 +rect 12010 464980 36218 465044 +rect 41796 464980 42534 465164 +rect 1308 464958 1904 464962 +rect 12010 464958 42534 464980 +rect 1308 464938 42534 464958 +rect 1280 464892 42534 464938 +rect 1280 464786 1317 464892 +rect 1423 464786 42534 464892 +rect 1280 464720 42534 464786 +rect 1308 464718 42534 464720 +rect 1308 464714 12998 464718 +rect 1734 464688 12998 464714 +rect 35038 464634 42534 464718 +rect 41796 464282 42534 464634 +rect 41820 464174 42454 464282 +rect 41936 442502 42454 464174 +rect 46054 443352 47990 507680 +rect 41950 426232 42396 442502 +rect 46152 426512 47038 443352 +rect 41660 426014 42778 426232 +rect 41660 425188 41849 426014 +rect 42675 425188 42778 426014 +rect 41660 424942 42778 425188 +rect 45470 425825 48130 426512 +rect 41950 424874 42396 424942 +rect 45470 423919 45929 425825 +rect 47547 423919 48130 425825 +rect 45470 423444 48130 423919 +rect 86114 421766 86752 421910 +rect 40164 421718 44794 421764 +rect 47536 421718 87094 421766 +rect 31504 421694 87094 421718 +rect 12258 421678 87094 421694 +rect 1326 421674 87094 421678 +rect 1052 421608 87094 421674 +rect 1052 421574 1082 421608 +rect 1116 421574 87094 421608 +rect 1052 421516 87094 421574 +rect 1326 421510 87094 421516 +rect 1326 421494 31986 421510 +rect 12258 421486 31986 421494 +rect 40164 421482 44794 421510 +rect 47536 421488 87094 421510 +rect 86080 420832 86752 421488 +rect 41660 419072 42846 419336 +rect 41660 418390 41899 419072 +rect 42581 418390 42846 419072 +rect 41660 418178 42846 418390 +rect 41942 416032 42480 418178 +rect 35606 378752 36994 378954 +rect 14172 378540 36994 378752 +rect 1396 378492 1600 378500 +rect 1786 378492 36994 378540 +rect 1396 378402 36994 378492 +rect 1396 378368 1451 378402 +rect 1485 378368 36994 378402 +rect 1396 378264 36994 378368 +rect 1786 378236 36994 378264 +rect 14172 378112 36994 378236 +rect 32172 335486 32496 335558 +rect 28860 335424 32496 335486 +rect 10856 335392 32496 335424 +rect 1434 335252 1730 335338 +rect 6558 335272 32496 335392 +rect 2098 335252 32496 335272 +rect 1434 335240 32496 335252 +rect 1434 335062 1470 335240 +rect 1648 335174 32496 335240 +rect 1648 335074 7088 335174 +rect 10856 335112 29920 335174 +rect 1648 335062 1730 335074 +rect 1434 334992 1730 335062 +rect 2098 335054 7088 335074 +rect 32172 334974 32496 335174 +rect 32172 322958 32560 334974 +rect 32106 322634 32560 322958 +rect 32106 294014 32236 322634 +rect 32106 292560 32348 294014 +rect 28540 292024 28614 292088 +rect 28256 292012 28622 292024 +rect 1210 292006 1346 292008 +rect 1708 292006 28622 292012 +rect 1210 291982 28622 292006 +rect 1210 291948 1250 291982 +rect 1284 291948 28622 291982 +rect 1210 291910 28622 291948 +rect 1210 291876 1250 291910 +rect 1284 291876 28622 291910 +rect 1210 291848 28622 291876 +rect 1238 291840 28622 291848 +rect 1708 291776 28622 291840 +rect 1708 291750 28614 291776 +rect 28500 291716 28614 291750 +rect 1478 248988 2134 248998 +rect 1478 248986 2176 248988 +rect 1478 248946 13250 248986 +rect 27000 248976 27368 249020 +rect 27000 248964 27428 248976 +rect 20984 248962 27428 248964 +rect 20984 248946 27057 248962 +rect 1478 248917 27057 248946 +rect 1478 248883 1504 248917 +rect 1538 248883 1576 248917 +rect 1610 248883 27057 248917 +rect 1478 248822 27057 248883 +rect 1478 248820 2176 248822 +rect 1520 248810 2176 248820 +rect 12604 248784 27057 248822 +rect 27307 248784 27428 248962 +rect 12604 248782 27428 248784 +rect 27000 248722 27428 248782 +rect 27000 248690 27368 248722 +rect 28540 235124 28614 291716 +rect 32122 265398 32348 292560 +rect 32122 264580 32380 265398 +rect 32154 250476 32380 264580 +rect 32090 250284 32380 250476 +rect 29152 248914 29456 248964 +rect 29152 248736 29220 248914 +rect 29398 248736 29456 248914 +rect 29152 248706 29456 248736 +rect 28540 235100 28634 235124 +rect 28580 234270 28634 235100 +rect 29192 234566 29314 248706 +rect 32090 235686 32316 250284 +rect 35606 249642 36994 378112 +rect 41950 366394 42396 416032 +rect 45196 414571 47856 415122 +rect 45196 412665 45757 414571 +rect 47375 412665 47856 414571 +rect 45196 412054 47856 412665 +rect 45264 386360 45606 412054 +rect 41894 366122 42396 366394 +rect 45196 384980 45606 386360 +rect 41894 289002 42340 366122 +rect 45196 295526 45600 384980 +rect 86080 306970 86664 420832 +rect 86080 303878 86746 306970 +rect 45154 295098 45600 295526 +rect 42024 256962 42302 289002 +rect 35376 249272 36994 249642 +rect 41996 256738 42302 256962 +rect 35376 235714 36648 249272 +rect 41996 245398 42274 256738 +rect 45154 250810 45558 295098 +rect 86366 284952 86746 303878 +rect 86330 284286 86746 284952 +rect 86330 262694 86710 284286 +rect 86266 262268 86710 262694 +rect 45154 249138 45752 250810 +rect 41968 244896 42274 245398 +rect 41968 236116 42246 244896 +rect 41940 235758 42246 236116 +rect 32090 235362 32418 235686 +rect 29174 234444 29314 234566 +rect 32152 234446 32418 235362 +rect 35676 234936 36022 235714 +rect 41940 235030 42230 235758 +rect 45248 235474 45752 249138 +rect 86266 240392 86646 262268 +rect 86266 240010 86738 240392 +rect 86418 235878 86738 240010 +rect 86388 235814 86738 235878 +rect 86388 235638 86676 235814 +rect 45250 235167 45618 235474 +rect 86388 235460 86463 235638 +rect 86569 235460 86676 235638 +rect 86388 235434 86676 235460 +rect 45250 235061 45339 235167 +rect 45517 235061 45618 235167 +rect 35678 234648 35914 234936 +rect 41940 234861 42236 235030 +rect 45250 235016 45618 235061 +rect 45250 234948 45614 235016 +rect 41940 234755 42024 234861 +rect 42130 234755 42236 234861 +rect 41940 234676 42236 234755 +rect 35654 234583 35986 234648 +rect 35654 234477 35717 234583 +rect 35895 234477 35986 234583 +rect 29174 234216 29266 234444 +rect 32152 234430 32434 234446 +rect 32156 234369 32434 234430 +rect 35654 234422 35986 234477 +rect 32156 234263 32246 234369 +rect 32352 234263 32434 234369 +rect 29158 234188 29278 234216 +rect 29158 234154 29199 234188 +rect 29233 234154 29278 234188 +rect 32156 234174 32434 234263 +rect 29158 234124 29278 234154 +rect 41944 233739 42200 233802 +rect 29162 233686 29262 233712 +rect 29162 233652 29196 233686 +rect 29230 233652 29262 233686 +rect 29162 233630 29262 233652 +rect 41944 233633 42006 233739 +rect 42112 233633 42200 233739 +rect 29184 233074 29246 233630 +rect 41944 233564 42200 233633 +rect 45254 233655 45620 233742 +rect 32254 233244 32334 233256 +rect 32220 233191 32390 233244 +rect 32220 233157 32250 233191 +rect 32284 233157 32322 233191 +rect 32356 233157 32390 233191 +rect 32220 233116 32390 233157 +rect 28944 232638 28982 232674 +rect 32254 232594 32334 233116 +rect 35696 232627 35934 232672 +rect 28750 232528 28856 232566 +rect 28750 232494 28785 232528 +rect 28819 232494 28856 232528 +rect 28750 232468 28856 232494 +rect 35696 232521 35765 232627 +rect 35871 232521 35934 232627 +rect 35696 232470 35934 232521 +rect 35756 231476 35846 232470 +rect 41998 228770 42132 233564 +rect 45254 233477 45343 233655 +rect 45521 233477 45620 233655 +rect 86392 233741 86686 233800 +rect 86392 233635 86457 233741 +rect 86563 233635 86686 233741 +rect 86392 233562 86686 233635 +rect 45254 233422 45620 233477 +rect 41992 228688 42160 228770 +rect 41992 228654 42046 228688 +rect 42080 228654 42160 228688 +rect 41992 228598 42160 228654 +rect 45314 228638 45568 233422 +rect 86446 232544 86604 233562 +rect 86436 232032 86632 232544 +rect 86436 231926 86484 232032 +rect 86590 231926 86632 232032 +rect 86436 231880 86632 231926 +rect 86428 228906 86626 228948 +rect 86428 228800 86475 228906 +rect 86581 228800 86626 228906 +rect 86428 228756 86626 228800 +rect 41990 228340 42160 228376 +rect 41990 228306 42048 228340 +rect 42082 228306 42160 228340 +rect 41990 228234 42160 228306 +rect 42036 223014 42082 228234 +rect 45318 223760 45474 228638 +rect 86474 228184 86574 228756 +rect 45240 223688 45566 223760 +rect 45240 223582 45302 223688 +rect 45480 223582 45566 223688 +rect 45240 223512 45566 223582 +rect 45318 223014 45474 223022 +rect 45260 222954 45534 223014 +rect 45260 222848 45330 222954 +rect 45436 222848 45534 222954 +rect 45260 222790 45534 222848 +rect 45318 217796 45474 222790 +rect 45308 217598 45474 217796 +rect 45308 212510 45464 217598 +rect 45306 212372 45464 212510 +rect 45306 210400 45426 212372 +rect 45306 210354 45466 210400 +rect 45412 210352 45466 210354 +rect 230072 179868 230166 180094 +rect 230074 179422 230156 179868 +rect 230074 179324 230166 179422 +rect 230082 177260 230166 179324 +rect 230084 176058 230162 177260 +rect 230080 173642 230200 176058 +rect 230046 158416 230234 173642 +rect 230036 158212 230234 158416 +rect 230036 152361 230218 158212 +rect 230036 152255 230079 152361 +rect 230185 152255 230218 152361 +rect 230036 152248 230218 152255 +rect 230040 152206 230212 152248 +rect 223454 151670 223526 151896 +rect 223390 151658 223526 151670 +rect 223390 151624 223403 151658 +rect 223437 151624 223526 151658 +rect 223390 151618 223526 151624 +rect 230050 151745 230232 151788 +rect 230050 151639 230087 151745 +rect 230193 151639 230232 151745 +rect 223394 151218 223516 151236 +rect 223394 151184 223405 151218 +rect 223439 151184 223516 151218 +rect 223394 151168 223516 151184 +rect 223464 151058 223516 151168 +rect 230050 151124 230232 151639 +rect 223464 150824 223514 151058 +rect 223466 150572 223508 150824 +rect 223464 150556 223508 150572 +rect 223464 150150 223506 150556 +rect 223464 144986 223528 150150 +rect 223464 141836 223524 144986 +rect 215750 123988 215830 125568 +rect 215722 123944 215860 123988 +rect 215722 123910 215774 123944 +rect 215808 123910 215860 123944 +rect 215722 123854 215860 123910 +rect 215750 123852 215830 123854 +rect 215722 123506 215860 123558 +rect 215722 123472 215770 123506 +rect 215804 123472 215860 123506 +rect 215722 123424 215860 123472 +rect 215744 122952 215830 123424 +rect 219388 123230 219598 123902 +rect 215644 121622 215932 122952 +rect 157096 121566 200074 121594 +rect 213632 121566 216026 121622 +rect 34792 121478 39042 121506 +rect 45868 121478 50118 121536 +rect 157096 121478 216026 121566 +rect 13216 121448 17466 121478 +rect 34792 121448 50118 121478 +rect 61214 121448 65464 121478 +rect 68830 121448 73080 121478 +rect 94098 121448 98348 121478 +rect 101712 121448 113520 121478 +rect 153316 121448 216026 121478 +rect 5658 121424 17466 121448 +rect 1760 121420 17466 121424 +rect 24264 121420 28514 121448 +rect 31504 121420 73080 121448 +rect 90262 121420 113520 121448 +rect 116338 121420 123876 121448 +rect 1760 121414 73080 121420 +rect 1326 121392 73080 121414 +rect 75608 121392 83146 121420 +rect 86166 121392 123876 121420 +rect 126894 121392 131144 121448 +rect 138288 121420 146288 121448 +rect 149510 121420 216026 121448 +rect 138288 121392 216026 121420 +rect 1326 121299 216026 121392 +rect 1326 121265 1377 121299 +rect 1411 121276 216026 121299 +rect 1411 121265 35754 121276 +rect 1326 121248 35754 121265 +rect 38312 121248 216026 121276 +rect 1326 121218 13572 121248 +rect 17052 121218 35754 121248 +rect 46474 121218 62148 121248 +rect 65166 121218 69416 121248 +rect 71714 121218 102126 121248 +rect 112760 121218 153760 121248 +rect 157096 121218 216026 121248 +rect 1326 121194 6010 121218 +rect 1326 121192 1940 121194 +rect 17052 121190 24850 121218 +rect 27898 121190 32148 121218 +rect 46474 121190 50724 121218 +rect 71714 121190 90416 121218 +rect 71714 121162 75964 121190 +rect 82762 121162 87012 121190 +rect 94126 121132 98376 121218 +rect 112760 121190 117010 121218 +rect 123462 121162 127712 121218 +rect 130702 121162 138674 121218 +rect 145760 121190 150010 121218 +rect 199556 121190 216026 121218 +rect 219390 115908 219452 123230 +rect 219376 110454 219472 115908 +rect 219376 110292 219554 110454 +rect 219384 82632 219554 110292 +rect 1322 78178 2024 78182 +rect 1322 78162 2042 78178 +rect 1322 78120 7396 78162 +rect 107308 78120 108944 78276 +rect 219344 78120 219688 82632 +rect 1322 78094 108944 78120 +rect 1322 78060 1379 78094 +rect 1413 78060 108944 78094 +rect 1322 78022 108944 78060 +rect 1322 77988 1379 78022 +rect 1413 77988 108944 78022 +rect 1322 77946 108944 77988 +rect 1340 77944 108944 77946 +rect 1340 77942 3194 77944 +rect 1792 77924 3194 77942 +rect 6570 77912 108944 77944 +rect 107308 77846 108944 77912 +rect 205854 77846 220472 78120 +rect 107068 77638 220472 77846 +rect 107308 77500 108944 77638 +rect 205854 77316 220472 77638 +rect 219344 77296 219688 77316 +rect 223440 52746 223570 141836 +rect 230044 91166 230250 151124 +rect 25162 34966 135052 34980 +rect 1442 34914 2048 34926 +rect 2804 34914 135052 34966 +rect 1442 34842 135052 34914 +rect 1442 34808 1473 34842 +rect 1507 34808 135052 34842 +rect 1442 34754 135052 34808 +rect 223418 34774 223602 52746 +rect 1442 34736 2934 34754 +rect 1442 34732 2048 34736 +rect 25162 34696 135052 34754 +rect 222918 34696 223756 34774 +rect 133346 34554 223756 34696 +rect 222918 34460 223756 34554 +rect 223418 34408 223602 34460 +rect 230038 24152 230352 91166 +rect 10676 13808 11714 13994 +rect 230054 13866 230334 24152 +rect 229026 13808 230364 13866 +rect 10676 13562 230364 13808 +rect 2508 13548 230364 13562 +rect 1320 13494 230364 13548 +rect 1048 13429 230364 13494 +rect 1048 13395 1073 13429 +rect 1107 13395 230364 13429 +rect 1048 13336 230364 13395 +rect 1054 13334 230364 13336 +rect 1320 13322 230364 13334 +rect 2508 13310 230364 13322 +rect 2508 13292 12146 13310 +rect 10676 13016 11714 13292 +rect 229026 13274 230364 13310 +rect 230054 13182 230334 13274 +<< viali >> +rect 1076 508016 1110 508050 +rect 1317 464786 1423 464892 +rect 41849 425188 42675 426014 +rect 45929 423919 47547 425825 +rect 1082 421574 1116 421608 +rect 41899 418390 42581 419072 +rect 1451 378368 1485 378402 +rect 1470 335062 1648 335240 +rect 1250 291948 1284 291982 +rect 1250 291876 1284 291910 +rect 1504 248883 1538 248917 +rect 1576 248883 1610 248917 +rect 27057 248784 27307 248962 +rect 29220 248736 29398 248914 +rect 45757 412665 47375 414571 +rect 86463 235460 86569 235638 +rect 45339 235061 45517 235167 +rect 42024 234755 42130 234861 +rect 35717 234477 35895 234583 +rect 32246 234263 32352 234369 +rect 29199 234154 29233 234188 +rect 29196 233652 29230 233686 +rect 42006 233633 42112 233739 +rect 32250 233157 32284 233191 +rect 32322 233157 32356 233191 +rect 28785 232494 28819 232528 +rect 35765 232521 35871 232627 +rect 45343 233477 45521 233655 +rect 86457 233635 86563 233741 +rect 42046 228654 42080 228688 +rect 86484 231926 86590 232032 +rect 86475 228800 86581 228906 +rect 42048 228306 42082 228340 +rect 45302 223582 45480 223688 +rect 45330 222848 45436 222954 +rect 230079 152255 230185 152361 +rect 223403 151624 223437 151658 +rect 230087 151639 230193 151745 +rect 223405 151184 223439 151218 +rect 215774 123910 215808 123944 +rect 215770 123472 215804 123506 +rect 1377 121265 1411 121299 +rect 1379 78060 1413 78094 +rect 1379 77988 1413 78022 +rect 1473 34808 1507 34842 +rect 1073 13395 1107 13429 +<< metal1 >> +rect 674 508061 1152 508092 +rect 674 508009 691 508061 +rect 743 508009 755 508061 +rect 807 508050 1152 508061 +rect 807 508016 1076 508050 +rect 1110 508016 1152 508050 +rect 807 508009 1152 508016 +rect 674 507972 1152 508009 +rect 858 464901 1446 464918 +rect 858 464785 880 464901 +rect 996 464892 1446 464901 +rect 996 464786 1317 464892 +rect 1423 464786 1446 464892 +rect 996 464785 1446 464786 +rect 858 464744 1446 464785 +rect 41688 426014 42818 426226 +rect 41688 425188 41849 426014 +rect 42675 425188 42818 426014 +rect 744 421621 1154 421646 +rect 744 421569 776 421621 +rect 828 421608 1154 421621 +rect 828 421574 1082 421608 +rect 1116 421574 1154 421608 +rect 828 421569 1154 421574 +rect 744 421538 1154 421569 +rect 41688 419072 42818 425188 +rect 45402 425825 48130 426308 +rect 45402 424738 45929 425825 +rect 41688 418390 41899 419072 +rect 42581 418390 42818 419072 +rect 41688 418094 42818 418390 +rect 45264 423919 45929 424738 +rect 47547 423919 48130 425825 +rect 45264 423512 48130 423919 +rect 45264 415122 47514 423512 +rect 45196 414571 47856 415122 +rect 45196 412665 45757 414571 +rect 47375 412665 47856 414571 +rect 45196 412054 47856 412665 +rect 1372 378452 1536 378454 +rect 812 378404 1536 378452 +rect 812 378352 849 378404 +rect 901 378352 913 378404 +rect 965 378402 1536 378404 +rect 965 378368 1451 378402 +rect 1485 378368 1536 378402 +rect 965 378352 1536 378368 +rect 812 378310 1536 378352 +rect 736 335276 980 335306 +rect 736 335240 1676 335276 +rect 736 335210 1470 335240 +rect 736 335094 800 335210 +rect 916 335094 1470 335210 +rect 736 335062 1470 335094 +rect 1648 335062 1676 335240 +rect 736 335030 1676 335062 +rect 736 335014 980 335030 +rect 832 291997 1318 292004 +rect 832 291945 863 291997 +rect 915 291982 1318 291997 +rect 915 291948 1250 291982 +rect 1284 291948 1318 291982 +rect 915 291945 1318 291948 +rect 832 291933 1318 291945 +rect 832 291881 863 291933 +rect 915 291910 1318 291933 +rect 915 291881 1250 291910 +rect 832 291876 1250 291881 +rect 1284 291876 1318 291910 +rect 832 291854 1318 291876 +rect 840 248936 1632 248964 +rect 840 248884 856 248936 +rect 908 248884 920 248936 +rect 972 248917 1632 248936 +rect 972 248884 1504 248917 +rect 840 248883 1504 248884 +rect 1538 248883 1576 248917 +rect 1610 248883 1632 248917 +rect 840 248840 1632 248883 +rect 26962 248962 29600 249046 +rect 26962 248784 27057 248962 +rect 27307 248914 29600 248962 +rect 27307 248784 29220 248914 +rect 26962 248736 29220 248784 +rect 29398 248736 29600 248914 +rect 26962 248618 29600 248736 +rect 86404 235638 86644 235662 +rect 86404 235460 86463 235638 +rect 86569 235460 86644 235638 +rect 86404 235360 86644 235460 +rect 86402 235332 86644 235360 +rect 45264 235167 45628 235248 +rect 45264 235061 45339 235167 +rect 45517 235061 45628 235167 +rect 41960 234861 42190 234940 +rect 41960 234755 42024 234861 +rect 42130 234755 42190 234861 +rect 45264 234796 45628 235061 +rect 35682 234583 35936 234634 +rect 35682 234477 35717 234583 +rect 35895 234477 35936 234583 +rect 32196 234369 32414 234418 +rect 32196 234263 32246 234369 +rect 32352 234263 32414 234369 +rect 35682 234324 35936 234477 +rect 29148 234188 29288 234220 +rect 29148 234154 29199 234188 +rect 29233 234154 29288 234188 +rect 29148 234128 29288 234154 +rect 29146 234104 29288 234128 +rect 32196 234206 32414 234263 +rect 35678 234260 35936 234324 +rect 41960 234620 42190 234755 +rect 29146 233686 29276 234104 +rect 32196 234102 32406 234206 +rect 29146 233652 29196 233686 +rect 29230 233652 29276 233686 +rect 29146 233622 29276 233652 +rect 32212 233256 32390 234102 +rect 32204 233191 32398 233256 +rect 32204 233157 32250 233191 +rect 32284 233157 32322 233191 +rect 32356 233157 32398 233191 +rect 32204 233096 32398 233157 +rect 35678 232627 35934 234260 +rect 41960 233739 42186 234620 +rect 45260 233742 45636 234796 +rect 41960 233633 42006 233739 +rect 42112 233633 42186 233739 +rect 41960 233582 42186 233633 +rect 45254 233655 45636 233742 +rect 45254 233477 45343 233655 +rect 45521 233498 45636 233655 +rect 86402 233741 86638 235332 +rect 86402 233635 86457 233741 +rect 86563 233635 86638 233741 +rect 86402 233570 86638 233635 +rect 45521 233477 45620 233498 +rect 45254 233422 45620 233477 +rect 28750 232528 28862 232580 +rect 28750 232494 28785 232528 +rect 28819 232494 28862 232528 +rect 28750 232466 28862 232494 +rect 35678 232521 35765 232627 +rect 35871 232521 35934 232627 +rect 35678 232484 35934 232521 +rect 28754 232194 28858 232466 +rect 28744 232154 28882 232194 +rect 28744 232102 28784 232154 +rect 28836 232102 28882 232154 +rect 28744 232058 28882 232102 +rect 86416 232032 86666 232072 +rect 86416 231926 86484 232032 +rect 86590 231926 86666 232032 +rect 86416 231876 86666 231926 +rect 86438 228940 86616 231876 +rect 86434 228906 86624 228940 +rect 86434 228800 86475 228906 +rect 86581 228800 86624 228906 +rect 42012 228688 42114 228736 +rect 86434 228704 86624 228800 +rect 42012 228654 42046 228688 +rect 42080 228654 42114 228688 +rect 42012 228340 42114 228654 +rect 42012 228306 42048 228340 +rect 42082 228306 42114 228340 +rect 42012 228260 42114 228306 +rect 45254 223688 45552 223756 +rect 45254 223582 45302 223688 +rect 45480 223582 45552 223688 +rect 45254 222954 45552 223582 +rect 45254 222854 45330 222954 +rect 45266 222848 45330 222854 +rect 45436 222854 45552 222954 +rect 45436 222848 45538 222854 +rect 45266 222812 45538 222848 +rect 230008 152361 230260 152390 +rect 230008 152255 230079 152361 +rect 230185 152255 230260 152361 +rect 230008 151810 230260 152255 +rect 230008 151745 230278 151810 +rect 230008 151718 230087 151745 +rect 223388 151658 223452 151670 +rect 223388 151624 223403 151658 +rect 223437 151624 223452 151658 +rect 223388 151618 223452 151624 +rect 230012 151639 230087 151718 +rect 230193 151639 230278 151745 +rect 223392 151236 223444 151618 +rect 230012 151600 230278 151639 +rect 223392 151218 223450 151236 +rect 223392 151186 223405 151218 +rect 223396 151184 223405 151186 +rect 223439 151184 223450 151218 +rect 223396 151168 223450 151184 +rect 215720 123944 215896 123990 +rect 215720 123910 215774 123944 +rect 215808 123910 215896 123944 +rect 215720 123506 215896 123910 +rect 215720 123472 215770 123506 +rect 215804 123472 215896 123506 +rect 215720 123408 215896 123472 +rect 730 121313 1458 121352 +rect 730 121261 762 121313 +rect 814 121261 826 121313 +rect 878 121299 1458 121313 +rect 878 121265 1377 121299 +rect 1411 121265 1458 121299 +rect 878 121261 1458 121265 +rect 730 121218 1458 121261 +rect 784 78094 1460 78116 +rect 784 78067 1379 78094 +rect 784 78015 796 78067 +rect 848 78015 860 78067 +rect 912 78060 1379 78067 +rect 1413 78060 1460 78094 +rect 912 78022 1460 78060 +rect 912 78015 1379 78022 +rect 784 77988 1379 78015 +rect 1413 77988 1460 78022 +rect 784 77972 1460 77988 +rect 808 34859 1536 34878 +rect 808 34807 849 34859 +rect 901 34842 1536 34859 +rect 901 34808 1473 34842 +rect 1507 34808 1536 34842 +rect 901 34807 1536 34808 +rect 808 34770 1536 34807 +rect 660 13438 1130 13460 +rect 660 13386 702 13438 +rect 754 13429 1130 13438 +rect 754 13395 1073 13429 +rect 1107 13395 1130 13429 +rect 754 13386 1130 13395 +rect 660 13360 1130 13386 +<< via1 >> +rect 691 508009 743 508061 +rect 755 508009 807 508061 +rect 880 464785 996 464901 +rect 776 421569 828 421621 +rect 849 378352 901 378404 +rect 913 378352 965 378404 +rect 800 335094 916 335210 +rect 863 291945 915 291997 +rect 863 291881 915 291933 +rect 856 248884 908 248936 +rect 920 248884 972 248936 +rect 28784 232102 28836 232154 +rect 762 121261 814 121313 +rect 826 121261 878 121313 +rect 796 78015 848 78067 +rect 860 78015 912 78067 +rect 849 34807 901 34859 +rect 702 13386 754 13438 +<< metal2 >> +rect 342 508066 830 508114 +rect 342 508010 376 508066 +rect 432 508061 830 508066 +rect 432 508010 691 508061 +rect 342 508009 691 508010 +rect 743 508009 755 508061 +rect 807 508009 830 508061 +rect 342 507944 830 508009 +rect 796 464926 1006 464934 +rect 326 464901 1006 464926 +rect 326 464843 880 464901 +rect 326 464787 377 464843 +rect 433 464787 880 464843 +rect 326 464785 880 464787 +rect 996 464785 1006 464901 +rect 326 464718 1006 464785 +rect 374 421625 856 421668 +rect 374 421569 396 421625 +rect 452 421621 856 421625 +rect 452 421569 776 421621 +rect 828 421569 856 421621 +rect 374 421522 856 421569 +rect 308 378404 1008 378486 +rect 308 378402 849 378404 +rect 308 378346 378 378402 +rect 434 378352 849 378402 +rect 901 378352 913 378404 +rect 965 378352 1008 378404 +rect 434 378346 1008 378352 +rect 308 378272 1008 378346 +rect 296 335256 494 335298 +rect 296 335210 968 335256 +rect 296 335177 800 335210 +rect 296 335121 369 335177 +rect 425 335121 800 335177 +rect 296 335094 800 335121 +rect 916 335094 968 335210 +rect 296 335058 968 335094 +rect 296 335038 494 335058 +rect 698 292000 938 292006 +rect 320 291997 938 292000 +rect 320 291963 863 291997 +rect 320 291907 365 291963 +rect 421 291945 863 291963 +rect 915 291945 938 291997 +rect 421 291933 938 291945 +rect 421 291907 863 291933 +rect 320 291881 863 291907 +rect 915 291881 938 291933 +rect 320 291862 938 291881 +rect 302 248936 996 249006 +rect 302 248934 856 248936 +rect 302 248878 327 248934 +rect 383 248878 407 248934 +rect 463 248884 856 248934 +rect 908 248884 920 248936 +rect 972 248884 996 248936 +rect 463 248878 996 248884 +rect 302 248810 996 248878 +rect 28748 232162 28880 232186 +rect 28748 232154 29326 232162 +rect 28748 232102 28784 232154 +rect 28836 232102 29326 232154 +rect 28748 232100 29326 232102 +rect 28748 232096 28888 232100 +rect 28748 232058 28880 232096 +rect 2946 175569 4258 175780 +rect 2946 174953 3108 175569 +rect 3964 174953 4258 175569 +rect 2946 174794 4258 174953 +rect 2946 174760 7564 174794 +rect 2946 174724 13834 174760 +rect 2946 174700 21328 174724 +rect 22726 174704 27330 174712 +rect 22726 174700 28900 174704 +rect 2946 174648 28900 174700 +rect 2946 174636 22896 174648 +rect 27278 174640 28900 174648 +rect 2946 174620 13834 174636 +rect 2946 174588 4258 174620 +rect 7402 174588 13834 174620 +rect 312 121313 898 121392 +rect 312 121312 762 121313 +rect 312 121256 365 121312 +rect 421 121261 762 121312 +rect 814 121261 826 121313 +rect 878 121261 898 121313 +rect 421 121256 898 121261 +rect 312 121188 898 121256 +rect 336 78089 924 78158 +rect 336 78033 384 78089 +rect 440 78067 924 78089 +rect 440 78033 796 78067 +rect 336 78015 796 78033 +rect 848 78015 860 78067 +rect 912 78015 924 78067 +rect 336 77948 924 78015 +rect 332 34869 954 34918 +rect 332 34813 373 34869 +rect 429 34859 954 34869 +rect 429 34813 849 34859 +rect 332 34807 849 34813 +rect 901 34807 954 34859 +rect 332 34744 954 34807 +rect 328 13440 788 13494 +rect 328 13384 370 13440 +rect 426 13438 788 13440 +rect 426 13386 702 13438 +rect 754 13386 788 13438 +rect 426 13384 788 13386 +rect 328 13334 788 13384 +rect 524 -800 636 480 +rect 1706 -800 1818 480 +rect 2888 -800 3000 480 +rect 4070 -800 4182 480 +rect 5252 -800 5364 480 +rect 6434 -800 6546 480 +rect 7616 -800 7728 480 +rect 8798 -800 8910 480 +rect 9980 -800 10092 480 +rect 11162 -800 11274 480 +rect 12344 -800 12456 480 +rect 13526 -800 13638 480 +rect 14708 -800 14820 480 +rect 15890 -800 16002 480 +rect 17072 -800 17184 480 +rect 18254 -800 18366 480 +rect 19436 -800 19548 480 +rect 20618 -800 20730 480 +rect 21800 -800 21912 480 +rect 22982 -800 23094 480 +rect 24164 -800 24276 480 +rect 25346 -800 25458 480 +rect 26528 -800 26640 480 +rect 27710 -800 27822 480 +rect 28892 -800 29004 480 +rect 30074 -800 30186 480 +rect 31256 -800 31368 480 +rect 32438 -800 32550 480 +rect 33620 -800 33732 480 +rect 34802 -800 34914 480 +rect 35984 -800 36096 480 +rect 37166 -800 37278 480 +rect 38348 -800 38460 480 +rect 39530 -800 39642 480 +rect 40712 -800 40824 480 +rect 41894 -800 42006 480 +rect 43076 -800 43188 480 +rect 44258 -800 44370 480 +rect 45440 -800 45552 480 +rect 46622 -800 46734 480 +rect 47804 -800 47916 480 +rect 48986 -800 49098 480 +rect 50168 -800 50280 480 +rect 51350 -800 51462 480 +rect 52532 -800 52644 480 +rect 53714 -800 53826 480 +rect 54896 -800 55008 480 +rect 56078 -800 56190 480 +rect 57260 -800 57372 480 +rect 58442 -800 58554 480 +rect 59624 -800 59736 480 +rect 60806 -800 60918 480 +rect 61988 -800 62100 480 +rect 63170 -800 63282 480 +rect 64352 -800 64464 480 +rect 65534 -800 65646 480 +rect 66716 -800 66828 480 +rect 67898 -800 68010 480 +rect 69080 -800 69192 480 +rect 70262 -800 70374 480 +rect 71444 -800 71556 480 +rect 72626 -800 72738 480 +rect 73808 -800 73920 480 +rect 74990 -800 75102 480 +rect 76172 -800 76284 480 +rect 77354 -800 77466 480 +rect 78536 -800 78648 480 +rect 79718 -800 79830 480 +rect 80900 -800 81012 480 +rect 82082 -800 82194 480 +rect 83264 -800 83376 480 +rect 84446 -800 84558 480 +rect 85628 -800 85740 480 +rect 86810 -800 86922 480 +rect 87992 -800 88104 480 +rect 89174 -800 89286 480 +rect 90356 -800 90468 480 +rect 91538 -800 91650 480 +rect 92720 -800 92832 480 +rect 93902 -800 94014 480 +rect 95084 -800 95196 480 +rect 96266 -800 96378 480 +rect 97448 -800 97560 480 +rect 98630 -800 98742 480 +rect 99812 -800 99924 480 +rect 100994 -800 101106 480 +rect 102176 -800 102288 480 +rect 103358 -800 103470 480 +rect 104540 -800 104652 480 +rect 105722 -800 105834 480 +rect 106904 -800 107016 480 +rect 108086 -800 108198 480 +rect 109268 -800 109380 480 +rect 110450 -800 110562 480 +rect 111632 -800 111744 480 +rect 112814 -800 112926 480 +rect 113996 -800 114108 480 +rect 115178 -800 115290 480 +rect 116360 -800 116472 480 +rect 117542 -800 117654 480 +rect 118724 -800 118836 480 +rect 119906 -800 120018 480 +rect 121088 -800 121200 480 +rect 122270 -800 122382 480 +rect 123452 -800 123564 480 +rect 124634 -800 124746 480 +rect 125816 -800 125928 480 +rect 126998 -800 127110 480 +rect 128180 -800 128292 480 +rect 129362 -800 129474 480 +rect 130544 -800 130656 480 +rect 131726 -800 131838 480 +rect 132908 -800 133020 480 +rect 134090 -800 134202 480 +rect 135272 -800 135384 480 +rect 136454 -800 136566 480 +rect 137636 -800 137748 480 +rect 138818 -800 138930 480 +rect 140000 -800 140112 480 +rect 141182 -800 141294 480 +rect 142364 -800 142476 480 +rect 143546 -800 143658 480 +rect 144728 -800 144840 480 +rect 145910 -800 146022 480 +rect 147092 -800 147204 480 +rect 148274 -800 148386 480 +rect 149456 -800 149568 480 +rect 150638 -800 150750 480 +rect 151820 -800 151932 480 +rect 153002 -800 153114 480 +rect 154184 -800 154296 480 +rect 155366 -800 155478 480 +rect 156548 -800 156660 480 +rect 157730 -800 157842 480 +rect 158912 -800 159024 480 +rect 160094 -800 160206 480 +rect 161276 -800 161388 480 +rect 162458 -800 162570 480 +rect 163640 -800 163752 480 +rect 164822 -800 164934 480 +rect 166004 -800 166116 480 +rect 167186 -800 167298 480 +rect 168368 -800 168480 480 +rect 169550 -800 169662 480 +rect 170732 -800 170844 480 +rect 171914 -800 172026 480 +rect 173096 -800 173208 480 +rect 174278 -800 174390 480 +rect 175460 -800 175572 480 +rect 176642 -800 176754 480 +rect 177824 -800 177936 480 +rect 179006 -800 179118 480 +rect 180188 -800 180300 480 +rect 181370 -800 181482 480 +rect 182552 -800 182664 480 +rect 183734 -800 183846 480 +rect 184916 -800 185028 480 +rect 186098 -800 186210 480 +rect 187280 -800 187392 480 +rect 188462 -800 188574 480 +rect 189644 -800 189756 480 +rect 190826 -800 190938 480 +rect 192008 -800 192120 480 +rect 193190 -800 193302 480 +rect 194372 -800 194484 480 +rect 195554 -800 195666 480 +rect 196736 -800 196848 480 +rect 197918 -800 198030 480 +rect 199100 -800 199212 480 +rect 200282 -800 200394 480 +rect 201464 -800 201576 480 +rect 202646 -800 202758 480 +rect 203828 -800 203940 480 +rect 205010 -800 205122 480 +rect 206192 -800 206304 480 +rect 207374 -800 207486 480 +rect 208556 -800 208668 480 +rect 209738 -800 209850 480 +rect 210920 -800 211032 480 +rect 212102 -800 212214 480 +rect 213284 -800 213396 480 +rect 214466 -800 214578 480 +rect 215648 -800 215760 480 +rect 216830 -800 216942 480 +rect 218012 -800 218124 480 +rect 219194 -800 219306 480 +rect 220376 -800 220488 480 +rect 221558 -800 221670 480 +rect 222740 -800 222852 480 +rect 223922 -800 224034 480 +rect 225104 -800 225216 480 +rect 226286 -800 226398 480 +rect 227468 -800 227580 480 +rect 228650 -800 228762 480 +rect 229832 -800 229944 480 +rect 231014 -800 231126 480 +rect 232196 -800 232308 480 +rect 233378 -800 233490 480 +rect 234560 -800 234672 480 +rect 235742 -800 235854 480 +rect 236924 -800 237036 480 +rect 238106 -800 238218 480 +rect 239288 -800 239400 480 +rect 240470 -800 240582 480 +rect 241652 -800 241764 480 +rect 242834 -800 242946 480 +rect 244016 -800 244128 480 +rect 245198 -800 245310 480 +rect 246380 -800 246492 480 +rect 247562 -800 247674 480 +rect 248744 -800 248856 480 +rect 249926 -800 250038 480 +rect 251108 -800 251220 480 +rect 252290 -800 252402 480 +rect 253472 -800 253584 480 +rect 254654 -800 254766 480 +rect 255836 -800 255948 480 +rect 257018 -800 257130 480 +rect 258200 -800 258312 480 +rect 259382 -800 259494 480 +rect 260564 -800 260676 480 +rect 261746 -800 261858 480 +rect 262928 -800 263040 480 +rect 264110 -800 264222 480 +rect 265292 -800 265404 480 +rect 266474 -800 266586 480 +rect 267656 -800 267768 480 +rect 268838 -800 268950 480 +rect 270020 -800 270132 480 +rect 271202 -800 271314 480 +rect 272384 -800 272496 480 +rect 273566 -800 273678 480 +rect 274748 -800 274860 480 +rect 275930 -800 276042 480 +rect 277112 -800 277224 480 +rect 278294 -800 278406 480 +rect 279476 -800 279588 480 +rect 280658 -800 280770 480 +rect 281840 -800 281952 480 +rect 283022 -800 283134 480 +rect 284204 -800 284316 480 +rect 285386 -800 285498 480 +rect 286568 -800 286680 480 +rect 287750 -800 287862 480 +rect 288932 -800 289044 480 +rect 290114 -800 290226 480 +rect 291296 -800 291408 480 +rect 292478 -800 292590 480 +rect 293660 -800 293772 480 +rect 294842 -800 294954 480 +rect 296024 -800 296136 480 +rect 297206 -800 297318 480 +rect 298388 -800 298500 480 +rect 299570 -800 299682 480 +rect 300752 -800 300864 480 +rect 301934 -800 302046 480 +rect 303116 -800 303228 480 +rect 304298 -800 304410 480 +rect 305480 -800 305592 480 +rect 306662 -800 306774 480 +rect 307844 -800 307956 480 +rect 309026 -800 309138 480 +rect 310208 -800 310320 480 +rect 311390 -800 311502 480 +rect 312572 -800 312684 480 +rect 313754 -800 313866 480 +rect 314936 -800 315048 480 +rect 316118 -800 316230 480 +rect 317300 -800 317412 480 +rect 318482 -800 318594 480 +rect 319664 -800 319776 480 +rect 320846 -800 320958 480 +rect 322028 -800 322140 480 +rect 323210 -800 323322 480 +rect 324392 -800 324504 480 +rect 325574 -800 325686 480 +rect 326756 -800 326868 480 +rect 327938 -800 328050 480 +rect 329120 -800 329232 480 +rect 330302 -800 330414 480 +rect 331484 -800 331596 480 +rect 332666 -800 332778 480 +rect 333848 -800 333960 480 +rect 335030 -800 335142 480 +rect 336212 -800 336324 480 +rect 337394 -800 337506 480 +rect 338576 -800 338688 480 +rect 339758 -800 339870 480 +rect 340940 -800 341052 480 +rect 342122 -800 342234 480 +rect 343304 -800 343416 480 +rect 344486 -800 344598 480 +rect 345668 -800 345780 480 +rect 346850 -800 346962 480 +rect 348032 -800 348144 480 +rect 349214 -800 349326 480 +rect 350396 -800 350508 480 +rect 351578 -800 351690 480 +rect 352760 -800 352872 480 +rect 353942 -800 354054 480 +rect 355124 -800 355236 480 +rect 356306 -800 356418 480 +rect 357488 -800 357600 480 +rect 358670 -800 358782 480 +rect 359852 -800 359964 480 +rect 361034 -800 361146 480 +rect 362216 -800 362328 480 +rect 363398 -800 363510 480 +rect 364580 -800 364692 480 +rect 365762 -800 365874 480 +rect 366944 -800 367056 480 +rect 368126 -800 368238 480 +rect 369308 -800 369420 480 +rect 370490 -800 370602 480 +rect 371672 -800 371784 480 +rect 372854 -800 372966 480 +rect 374036 -800 374148 480 +rect 375218 -800 375330 480 +rect 376400 -800 376512 480 +rect 377582 -800 377694 480 +rect 378764 -800 378876 480 +rect 379946 -800 380058 480 +rect 381128 -800 381240 480 +rect 382310 -800 382422 480 +rect 383492 -800 383604 480 +rect 384674 -800 384786 480 +rect 385856 -800 385968 480 +rect 387038 -800 387150 480 +rect 388220 -800 388332 480 +rect 389402 -800 389514 480 +rect 390584 -800 390696 480 +rect 391766 -800 391878 480 +rect 392948 -800 393060 480 +rect 394130 -800 394242 480 +rect 395312 -800 395424 480 +rect 396494 -800 396606 480 +rect 397676 -800 397788 480 +rect 398858 -800 398970 480 +rect 400040 -800 400152 480 +rect 401222 -800 401334 480 +rect 402404 -800 402516 480 +rect 403586 -800 403698 480 +rect 404768 -800 404880 480 +rect 405950 -800 406062 480 +rect 407132 -800 407244 480 +rect 408314 -800 408426 480 +rect 409496 -800 409608 480 +rect 410678 -800 410790 480 +rect 411860 -800 411972 480 +rect 413042 -800 413154 480 +rect 414224 -800 414336 480 +rect 415406 -800 415518 480 +rect 416588 -800 416700 480 +rect 417770 -800 417882 480 +rect 418952 -800 419064 480 +rect 420134 -800 420246 480 +rect 421316 -800 421428 480 +rect 422498 -800 422610 480 +rect 423680 -800 423792 480 +rect 424862 -800 424974 480 +rect 426044 -800 426156 480 +rect 427226 -800 427338 480 +rect 428408 -800 428520 480 +rect 429590 -800 429702 480 +rect 430772 -800 430884 480 +rect 431954 -800 432066 480 +rect 433136 -800 433248 480 +rect 434318 -800 434430 480 +rect 435500 -800 435612 480 +rect 436682 -800 436794 480 +rect 437864 -800 437976 480 +rect 439046 -800 439158 480 +rect 440228 -800 440340 480 +rect 441410 -800 441522 480 +rect 442592 -800 442704 480 +rect 443774 -800 443886 480 +rect 444956 -800 445068 480 +rect 446138 -800 446250 480 +rect 447320 -800 447432 480 +rect 448502 -800 448614 480 +rect 449684 -800 449796 480 +rect 450866 -800 450978 480 +rect 452048 -800 452160 480 +rect 453230 -800 453342 480 +rect 454412 -800 454524 480 +rect 455594 -800 455706 480 +rect 456776 -800 456888 480 +rect 457958 -800 458070 480 +rect 459140 -800 459252 480 +rect 460322 -800 460434 480 +rect 461504 -800 461616 480 +rect 462686 -800 462798 480 +rect 463868 -800 463980 480 +rect 465050 -800 465162 480 +rect 466232 -800 466344 480 +rect 467414 -800 467526 480 +rect 468596 -800 468708 480 +rect 469778 -800 469890 480 +rect 470960 -800 471072 480 +rect 472142 -800 472254 480 +rect 473324 -800 473436 480 +rect 474506 -800 474618 480 +rect 475688 -800 475800 480 +rect 476870 -800 476982 480 +rect 478052 -800 478164 480 +rect 479234 -800 479346 480 +rect 480416 -800 480528 480 +rect 481598 -800 481710 480 +rect 482780 -800 482892 480 +rect 483962 -800 484074 480 +rect 485144 -800 485256 480 +rect 486326 -800 486438 480 +rect 487508 -800 487620 480 +rect 488690 -800 488802 480 +rect 489872 -800 489984 480 +rect 491054 -800 491166 480 +rect 492236 -800 492348 480 +rect 493418 -800 493530 480 +rect 494600 -800 494712 480 +rect 495782 -800 495894 480 +rect 496964 -800 497076 480 +rect 498146 -800 498258 480 +rect 499328 -800 499440 480 +rect 500510 -800 500622 480 +rect 501692 -800 501804 480 +rect 502874 -800 502986 480 +rect 504056 -800 504168 480 +rect 505238 -800 505350 480 +rect 506420 -800 506532 480 +rect 507602 -800 507714 480 +rect 508784 -800 508896 480 +rect 509966 -800 510078 480 +rect 511148 -800 511260 480 +rect 512330 -800 512442 480 +rect 513512 -800 513624 480 +rect 514694 -800 514806 480 +rect 515876 -800 515988 480 +rect 517058 -800 517170 480 +rect 518240 -800 518352 480 +rect 519422 -800 519534 480 +rect 520604 -800 520716 480 +rect 521786 -800 521898 480 +rect 522968 -800 523080 480 +rect 524150 -800 524262 480 +rect 525332 -800 525444 480 +rect 526514 -800 526626 480 +rect 527696 -800 527808 480 +rect 528878 -800 528990 480 +rect 530060 -800 530172 480 +rect 531242 -800 531354 480 +rect 532424 -800 532536 480 +rect 533606 -800 533718 480 +rect 534788 -800 534900 480 +rect 535970 -800 536082 480 +rect 537152 -800 537264 480 +rect 538334 -800 538446 480 +rect 539516 -800 539628 480 +rect 540698 -800 540810 480 +rect 541880 -800 541992 480 +rect 543062 -800 543174 480 +rect 544244 -800 544356 480 +rect 545426 -800 545538 480 +rect 546608 -800 546720 480 +rect 547790 -800 547902 480 +rect 548972 -800 549084 480 +rect 550154 -800 550266 480 +rect 551336 -800 551448 480 +rect 552518 -800 552630 480 +rect 553700 -800 553812 480 +rect 554882 -800 554994 480 +rect 556064 -800 556176 480 +rect 557246 -800 557358 480 +rect 558428 -800 558540 480 +rect 559610 -800 559722 480 +rect 560792 -800 560904 480 +rect 561974 -800 562086 480 +rect 563156 -800 563268 480 +rect 564338 -800 564450 480 +rect 565520 -800 565632 480 +rect 566702 -800 566814 480 +rect 567884 -800 567996 480 +rect 569066 -800 569178 480 +rect 570248 -800 570360 480 +rect 571430 -800 571542 480 +rect 572612 -800 572724 480 +rect 573794 -800 573906 480 +rect 574976 -800 575088 480 +rect 576158 -800 576270 480 +rect 577340 -800 577452 480 +rect 578522 -800 578634 480 +rect 579704 -800 579816 480 +rect 580886 -800 580998 480 +rect 582068 -800 582180 480 +rect 583250 -800 583362 480 +<< via2 >> +rect 376 508010 432 508066 +rect 377 464787 433 464843 +rect 396 421569 452 421625 +rect 378 378346 434 378402 +rect 369 335121 425 335177 +rect 365 291907 421 291963 +rect 327 248878 383 248934 +rect 407 248878 463 248934 +rect 3108 174953 3964 175569 +rect 365 121256 421 121312 +rect 384 78033 440 78089 +rect 373 34813 429 34869 +rect 370 13384 426 13440 +<< metal3 >> +rect 16194 702300 21194 704800 +rect 68194 702300 73194 704800 +rect 120194 702300 125194 704800 +rect 165594 702300 170594 704800 +rect 170894 702300 173094 704800 +rect 173394 702300 175594 704800 +rect 175894 702300 180894 704800 +rect 217294 702300 222294 704800 +rect 222594 702300 224794 704800 +rect 225094 702300 227294 704800 +rect 227594 702300 232594 704800 +rect 318994 702300 323994 704800 +rect 324294 702300 326494 704800 +rect 326794 702300 328994 704800 +rect 329294 702300 334294 704800 +rect 413394 702300 418394 704800 +rect 465394 702300 470394 704800 +rect 510594 702340 515394 704800 +rect 520594 702340 525394 704800 +rect 566594 702300 571594 704800 +rect -800 680242 1700 685242 +rect 120410 679704 124992 702300 +rect 120240 679290 124992 679704 +rect 120240 677386 120858 679290 +rect 124122 677386 124992 679290 +rect 582300 677984 584800 682984 +rect 120240 677350 124992 677386 +rect 120240 676552 124950 677350 +rect -800 645284 1660 648642 +rect -800 644260 163 645284 +rect 1347 644762 1660 645284 +rect 1347 644336 30974 644762 +rect 1347 644260 1660 644336 +rect -800 643842 1660 644260 +rect 582340 639784 584800 644584 +rect -800 633842 1660 638642 +rect 582340 629784 584800 634584 +rect 583520 589472 584800 589584 +rect 583520 588290 584800 588402 +rect 583520 587108 584800 587220 +rect 583520 585926 584800 586038 +rect 583520 584744 584800 584856 +rect 583520 583562 584800 583674 +rect -800 559442 1660 564242 +rect -800 549442 1660 554242 +rect 582340 550562 584800 555362 +rect 582340 540562 584800 545362 +rect -800 511530 480 511642 +rect -800 510348 480 510460 +rect -800 509166 480 509278 +rect -800 508066 480 508096 +rect -800 508010 376 508066 +rect 432 508010 480 508066 +rect -800 507984 480 508010 +rect -800 506802 480 506914 +rect -800 505620 480 505732 +rect 583520 500050 584800 500162 +rect 583520 498868 584800 498980 +rect 583520 497686 584800 497798 +rect 583520 496504 584800 496616 +rect 583520 495322 584800 495434 +rect 583520 494140 584800 494252 +rect -800 468308 480 468420 +rect -800 467126 480 467238 +rect -800 465944 480 466056 +rect -800 464843 480 464874 +rect -800 464787 377 464843 +rect 433 464787 480 464843 +rect -800 464762 480 464787 +rect -800 463580 480 463692 +rect -800 462398 480 462510 +rect 583520 455628 584800 455740 +rect 583520 454446 584800 454558 +rect 583520 453264 584800 453376 +rect 583520 452082 584800 452194 +rect 583520 450900 584800 451012 +rect 583520 449718 584800 449830 +rect -800 425086 480 425198 +rect -800 423904 480 424016 +rect -800 422722 480 422834 +rect -800 421625 480 421652 +rect -800 421569 396 421625 +rect 452 421569 480 421625 +rect -800 421540 480 421569 +rect -800 420358 480 420470 +rect -800 419176 480 419288 +rect 583520 411206 584800 411318 +rect 583520 410024 584800 410136 +rect 583520 408842 584800 408954 +rect 583520 407660 584800 407772 +rect 583520 406478 584800 406590 +rect 583520 405296 584800 405408 +rect -800 381864 480 381976 +rect -800 380682 480 380794 +rect -800 379500 480 379612 +rect -800 378402 480 378430 +rect -800 378346 378 378402 +rect 434 378346 480 378402 +rect -800 378318 480 378346 +rect -800 377136 480 377248 +rect -800 375954 480 376066 +rect 583520 364784 584800 364896 +rect 583520 363602 584800 363714 +rect 583520 362420 584800 362532 +rect 583520 361238 584800 361350 +rect 583520 360056 584800 360168 +rect 583520 358874 584800 358986 +rect -800 338642 480 338754 +rect -800 337460 480 337572 +rect -800 336278 480 336390 +rect 122 336274 478 336278 +rect -800 335177 480 335208 +rect -800 335121 369 335177 +rect 425 335121 480 335177 +rect -800 335096 480 335121 +rect -800 333914 480 334026 +rect -800 332732 480 332844 +rect 583520 319562 584800 319674 +rect 583520 318380 584800 318492 +rect 583520 317198 584800 317310 +rect 583520 316016 584800 316128 +rect 583520 314834 584800 314946 +rect 583520 313652 584800 313764 +rect -800 295420 480 295532 +rect -800 294238 480 294350 +rect -800 293056 480 293168 +rect -800 291963 480 291986 +rect -800 291907 365 291963 +rect 421 291907 480 291963 +rect -800 291874 480 291907 +rect -800 290692 480 290804 +rect -800 289510 480 289622 +rect 583520 275140 584800 275252 +rect 583520 273958 584800 274070 +rect 583520 272776 584800 272888 +rect 583520 271594 584800 271706 +rect 583520 270412 584800 270524 +rect 583520 269230 584800 269342 +rect -800 252398 480 252510 +rect -800 251216 480 251328 +rect -800 250034 480 250146 +rect -800 248934 480 248964 +rect -800 248878 327 248934 +rect 383 248878 407 248934 +rect 463 248878 480 248934 +rect -800 248852 480 248878 +rect -800 247670 480 247782 +rect -800 246488 480 246600 +rect 582340 235230 584800 240030 +rect 582340 225230 584800 230030 +rect -800 214888 1660 219688 +rect -800 204888 1660 209688 +rect 582340 191430 584800 196230 +rect 582340 181430 584800 186230 +rect -800 175696 1660 177688 +rect -800 175569 4126 175696 +rect -800 174953 3108 175569 +rect 3964 174953 4126 175569 +rect -800 174836 4126 174953 +rect -800 172888 1660 174836 +rect -800 162888 1660 167688 +rect 582340 146830 584800 151630 +rect 582340 136830 584800 141630 +rect -800 124776 480 124888 +rect -800 123594 480 123706 +rect -800 122412 480 122524 +rect -800 121312 480 121342 +rect -800 121256 365 121312 +rect 421 121256 480 121312 +rect -800 121230 480 121256 +rect -800 120048 480 120160 +rect -800 118866 480 118978 +rect 583520 95118 584800 95230 +rect 583520 93936 584800 94048 +rect 583520 92754 584800 92866 +rect 583520 91572 584800 91684 +rect -800 81554 480 81666 +rect -800 80372 480 80484 +rect -800 79190 480 79302 +rect -800 78089 480 78120 +rect -800 78033 384 78089 +rect 440 78033 480 78089 +rect -800 78008 480 78033 +rect -800 76826 480 76938 +rect -800 75644 480 75756 +rect 583520 50460 584800 50572 +rect 583520 49278 584800 49390 +rect 583520 48096 584800 48208 +rect 583520 46914 584800 47026 +rect -800 38332 480 38444 +rect -800 37150 480 37262 +rect -800 35968 480 36080 +rect -800 34869 480 34898 +rect -800 34813 373 34869 +rect 429 34813 480 34869 +rect -800 34786 480 34813 +rect -800 33604 480 33716 +rect -800 32422 480 32534 +rect 583520 24002 584800 24114 +rect 583520 22820 584800 22932 +rect 583520 21638 584800 21750 +rect 583520 20456 584800 20568 +rect 583520 19274 584800 19386 +rect 583520 18092 584800 18204 +rect -800 16910 480 17022 +rect 583520 16910 584800 17022 +rect -800 15728 480 15840 +rect 583520 15728 584800 15840 +rect -800 14546 480 14658 +rect 583520 14546 584800 14658 +rect -800 13440 480 13476 +rect -800 13384 370 13440 +rect 426 13384 480 13440 +rect -800 13364 480 13384 +rect 583520 13364 584800 13476 +rect -800 12182 480 12294 +rect 583520 12182 584800 12294 +rect -800 11000 480 11112 +rect 583520 11000 584800 11112 +rect -800 9818 480 9930 +rect 583520 9818 584800 9930 +rect -800 8636 480 8748 +rect 583520 8636 584800 8748 +rect -800 7454 480 7566 +rect 583520 7454 584800 7566 +rect -800 6272 480 6384 +rect 583520 6272 584800 6384 +rect -800 5090 480 5202 +rect 583520 5090 584800 5202 +rect -800 3908 480 4020 +rect 583520 3908 584800 4020 +rect -800 2726 480 2838 +rect 583520 2726 584800 2838 +rect -800 1544 480 1656 +rect 583520 1544 584800 1656 +<< via3 >> +rect 120858 677386 124122 679290 +rect 163 644260 1347 645284 +<< metal4 >> +rect 120366 679290 125496 680040 +rect 120366 679074 120858 679290 +rect 120198 677386 120858 679074 +rect 124122 679074 125496 679290 +rect 124122 679062 127430 679074 +rect 197836 679062 234588 679164 +rect 124122 677386 234588 679062 +rect 120198 677308 234588 677386 +rect 120366 677286 234588 677308 +rect 120366 677218 200848 677286 +rect 120366 676720 125496 677218 +rect -854 645284 2056 645488 +rect -854 644260 163 645284 +rect 1347 644762 2056 645284 +rect 30512 644762 30990 646010 +rect 1347 644336 30990 644762 +rect 1347 644260 2056 644336 +rect -854 644034 2056 644260 +rect 30512 552250 30990 644336 +rect 233136 562822 234460 677286 +rect 30536 234560 30826 552250 +rect 233136 545444 235866 562822 +rect 233218 545114 235866 545444 +rect 234388 494250 234710 545114 +rect 234364 493666 234710 494250 +rect 234364 431964 234686 493666 +rect 234364 428392 234734 431964 +rect 234524 330316 234734 428392 +rect 234524 328398 234736 330316 +rect 234526 278386 234736 328398 +rect 234526 277472 234746 278386 +rect 30402 234282 31114 234560 +rect 30854 233842 30954 234282 +rect 234536 226754 234746 277472 +rect 234536 225542 234778 226754 +rect 234542 204802 234778 225542 +rect 234580 192660 234660 204802 +rect 234580 192270 234700 192660 +rect 234612 188780 234700 192270 +rect 234602 188632 234700 188780 +rect 234602 180872 234690 188632 +rect 234606 180162 234670 180872 +use 10bitdac_cap_layout_design 10bitdac_cap_layout_design_0 +timestamp 1624220454 +transform 1 0 27354 0 1 122658 +box 0 -48 235318 112414 +<< labels >> +flabel metal3 s 583520 269230 584800 269342 0 FreeSans 3416 0 0 0 gpio_analog[0] +flabel metal3 s -800 381864 480 381976 0 FreeSans 3416 0 0 0 gpio_analog[10] +flabel metal3 s -800 338642 480 338754 0 FreeSans 3416 0 0 0 gpio_analog[11] +flabel metal3 s -800 295420 480 295532 0 FreeSans 3416 0 0 0 gpio_analog[12] +flabel metal3 s -800 252398 480 252510 0 FreeSans 3416 0 0 0 gpio_analog[13] +flabel metal3 s -800 124776 480 124888 0 FreeSans 3416 0 0 0 gpio_analog[14] +flabel metal3 s -800 81554 480 81666 0 FreeSans 3416 0 0 0 gpio_analog[15] +flabel metal3 s -800 38332 480 38444 0 FreeSans 3416 0 0 0 gpio_analog[16] +flabel metal3 s -800 16910 480 17022 0 FreeSans 3416 0 0 0 gpio_analog[17] +flabel metal3 s 583520 313652 584800 313764 0 FreeSans 3416 0 0 0 gpio_analog[1] +flabel metal3 s 583520 358874 584800 358986 0 FreeSans 3416 0 0 0 gpio_analog[2] +flabel metal3 s 583520 405296 584800 405408 0 FreeSans 3416 0 0 0 gpio_analog[3] +flabel metal3 s 583520 449718 584800 449830 0 FreeSans 3416 0 0 0 gpio_analog[4] +flabel metal3 s 583520 494140 584800 494252 0 FreeSans 3416 0 0 0 gpio_analog[5] +flabel metal3 s 583520 583562 584800 583674 0 FreeSans 3416 0 0 0 gpio_analog[6] +flabel metal3 s -800 511530 480 511642 0 FreeSans 3416 0 0 0 gpio_analog[7] +flabel metal3 s -800 468308 480 468420 0 FreeSans 3416 0 0 0 gpio_analog[8] +flabel metal3 s -800 425086 480 425198 0 FreeSans 3416 0 0 0 gpio_analog[9] +flabel metal3 s 583520 270412 584800 270524 0 FreeSans 3416 0 0 0 gpio_noesd[0] +flabel metal3 s -800 380682 480 380794 0 FreeSans 3416 0 0 0 gpio_noesd[10] +flabel metal3 s -800 337460 480 337572 0 FreeSans 3416 0 0 0 gpio_noesd[11] +flabel metal3 s -800 294238 480 294350 0 FreeSans 3416 0 0 0 gpio_noesd[12] +flabel metal3 s -800 251216 480 251328 0 FreeSans 3416 0 0 0 gpio_noesd[13] +flabel metal3 s -800 123594 480 123706 0 FreeSans 3416 0 0 0 gpio_noesd[14] +flabel metal3 s -800 80372 480 80484 0 FreeSans 3416 0 0 0 gpio_noesd[15] +flabel metal3 s -800 37150 480 37262 0 FreeSans 3416 0 0 0 gpio_noesd[16] +flabel metal3 s -800 15728 480 15840 0 FreeSans 3416 0 0 0 gpio_noesd[17] +flabel metal3 s 583520 314834 584800 314946 0 FreeSans 3416 0 0 0 gpio_noesd[1] +flabel metal3 s 583520 360056 584800 360168 0 FreeSans 3416 0 0 0 gpio_noesd[2] +flabel metal3 s 583520 406478 584800 406590 0 FreeSans 3416 0 0 0 gpio_noesd[3] +flabel metal3 s 583520 450900 584800 451012 0 FreeSans 3416 0 0 0 gpio_noesd[4] +flabel metal3 s 583520 495322 584800 495434 0 FreeSans 3416 0 0 0 gpio_noesd[5] +flabel metal3 s 583520 584744 584800 584856 0 FreeSans 3416 0 0 0 gpio_noesd[6] +flabel metal3 s -800 510348 480 510460 0 FreeSans 3416 0 0 0 gpio_noesd[7] +flabel metal3 s -800 467126 480 467238 0 FreeSans 3416 0 0 0 gpio_noesd[8] +flabel metal3 s -800 423904 480 424016 0 FreeSans 3416 0 0 0 gpio_noesd[9] +flabel metal3 s 582300 677984 584800 682984 0 FreeSans 3416 0 0 0 io_analog[0] +flabel metal3 s 0 680242 1700 685242 0 FreeSans 3416 0 0 0 io_analog[10] +flabel metal3 s 566594 702300 571594 704800 0 FreeSans 5858 180 0 0 io_analog[1] +flabel metal3 s 465394 702300 470394 704800 0 FreeSans 5858 180 0 0 io_analog[2] +flabel metal3 s 413394 702300 418394 704800 0 FreeSans 5858 180 0 0 io_analog[3] +flabel metal3 s 329294 702300 334294 704800 0 FreeSans 5858 180 0 0 io_analog[4] +flabel metal3 s 227594 702300 232594 704800 0 FreeSans 5858 180 0 0 io_analog[5] +flabel metal3 s 175894 702300 180894 704800 0 FreeSans 5858 180 0 0 io_analog[6] +flabel metal3 s 120194 702300 125194 704800 0 FreeSans 5858 180 0 0 io_analog[7] +flabel metal3 s 68194 702300 73194 704800 0 FreeSans 5858 180 0 0 io_analog[8] +flabel metal3 s 16194 702300 21194 704800 0 FreeSans 5858 180 0 0 io_analog[9] +flabel metal3 s 318994 702300 323994 704800 0 FreeSans 5858 180 0 0 io_analog[4] +flabel metal3 s 217294 702300 222294 704800 0 FreeSans 5858 180 0 0 io_analog[5] +flabel metal3 s 165594 702300 170594 704800 0 FreeSans 5858 180 0 0 io_analog[6] +flabel metal3 s 326794 702300 328994 704800 0 FreeSans 5858 180 0 0 io_clamp_high[0] +flabel metal3 s 225094 702300 227294 704800 0 FreeSans 5858 180 0 0 io_clamp_high[1] +flabel metal3 s 173394 702300 175594 704800 0 FreeSans 5858 180 0 0 io_clamp_high[2] +flabel metal3 s 324294 702300 326494 704800 0 FreeSans 5858 180 0 0 io_clamp_low[0] +flabel metal3 s 222594 702300 224794 704800 0 FreeSans 5858 180 0 0 io_clamp_low[1] +flabel metal3 s 170894 702300 173094 704800 0 FreeSans 5858 180 0 0 io_clamp_low[2] +flabel metal3 s 583520 2726 584800 2838 0 FreeSans 3416 0 0 0 io_in[0] +flabel metal3 s 583520 408842 584800 408954 0 FreeSans 3416 0 0 0 io_in[10] +flabel metal3 s 583520 453264 584800 453376 0 FreeSans 3416 0 0 0 io_in[11] +flabel metal3 s 583520 497686 584800 497798 0 FreeSans 3416 0 0 0 io_in[12] +flabel metal3 s 583520 587108 584800 587220 0 FreeSans 3416 0 0 0 io_in[13] +flabel metal3 s -800 507984 480 508096 0 FreeSans 3416 0 0 0 io_in[14] +flabel metal3 s -800 464762 480 464874 0 FreeSans 3416 0 0 0 io_in[15] +flabel metal3 s -800 421540 480 421652 0 FreeSans 3416 0 0 0 io_in[16] +flabel metal3 s -800 378318 480 378430 0 FreeSans 3416 0 0 0 io_in[17] +flabel metal3 s -800 335096 480 335208 0 FreeSans 3416 0 0 0 io_in[18] +flabel metal3 s -800 291874 480 291986 0 FreeSans 3416 0 0 0 io_in[19] +flabel metal3 s 583520 7454 584800 7566 0 FreeSans 3416 0 0 0 io_in[1] +flabel metal3 s -800 248852 480 248964 0 FreeSans 3416 0 0 0 io_in[20] +flabel metal3 s -800 121230 480 121342 0 FreeSans 3416 0 0 0 io_in[21] +flabel metal3 s -800 78008 480 78120 0 FreeSans 3416 0 0 0 io_in[22] +flabel metal3 s -800 34786 480 34898 0 FreeSans 3416 0 0 0 io_in[23] +flabel metal3 s -800 13364 480 13476 0 FreeSans 3416 0 0 0 io_in[24] +flabel metal3 s -800 8636 480 8748 0 FreeSans 3416 0 0 0 io_in[25] +flabel metal3 s -800 3908 480 4020 0 FreeSans 3416 0 0 0 io_in[26] +flabel metal3 s 583520 12182 584800 12294 0 FreeSans 3416 0 0 0 io_in[2] +flabel metal3 s 583520 16910 584800 17022 0 FreeSans 3416 0 0 0 io_in[3] +flabel metal3 s 583520 21638 584800 21750 0 FreeSans 3416 0 0 0 io_in[4] +flabel metal3 s 583520 48096 584800 48208 0 FreeSans 3416 0 0 0 io_in[5] +flabel metal3 s 583520 92754 584800 92866 0 FreeSans 3416 0 0 0 io_in[6] +flabel metal3 s 583520 272776 584800 272888 0 FreeSans 3416 0 0 0 io_in[7] +flabel metal3 s 583520 317198 584800 317310 0 FreeSans 3416 0 0 0 io_in[8] +flabel metal3 s 583520 362420 584800 362532 0 FreeSans 3416 0 0 0 io_in[9] +flabel metal3 s 583520 1544 584800 1656 0 FreeSans 3416 0 0 0 io_in_3v3[0] +flabel metal3 s 583520 407660 584800 407772 0 FreeSans 3416 0 0 0 io_in_3v3[10] +flabel metal3 s 583520 452082 584800 452194 0 FreeSans 3416 0 0 0 io_in_3v3[11] +flabel metal3 s 583520 496504 584800 496616 0 FreeSans 3416 0 0 0 io_in_3v3[12] +flabel metal3 s 583520 585926 584800 586038 0 FreeSans 3416 0 0 0 io_in_3v3[13] +flabel metal3 s -800 509166 480 509278 0 FreeSans 3416 0 0 0 io_in_3v3[14] +flabel metal3 s -800 465944 480 466056 0 FreeSans 3416 0 0 0 io_in_3v3[15] +flabel metal3 s -800 422722 480 422834 0 FreeSans 3416 0 0 0 io_in_3v3[16] +flabel metal3 s -800 379500 480 379612 0 FreeSans 3416 0 0 0 io_in_3v3[17] +flabel metal3 s -800 336278 480 336390 0 FreeSans 3416 0 0 0 io_in_3v3[18] +flabel metal3 s -800 293056 480 293168 0 FreeSans 3416 0 0 0 io_in_3v3[19] +flabel metal3 s 583520 6272 584800 6384 0 FreeSans 3416 0 0 0 io_in_3v3[1] +flabel metal3 s -800 250034 480 250146 0 FreeSans 3416 0 0 0 io_in_3v3[20] +flabel metal3 s -800 122412 480 122524 0 FreeSans 3416 0 0 0 io_in_3v3[21] +flabel metal3 s -800 79190 480 79302 0 FreeSans 3416 0 0 0 io_in_3v3[22] +flabel metal3 s -800 35968 480 36080 0 FreeSans 3416 0 0 0 io_in_3v3[23] +flabel metal3 s -800 14546 480 14658 0 FreeSans 3416 0 0 0 io_in_3v3[24] +flabel metal3 s -800 9818 480 9930 0 FreeSans 3416 0 0 0 io_in_3v3[25] +flabel metal3 s -800 5090 480 5202 0 FreeSans 3416 0 0 0 io_in_3v3[26] +flabel metal3 s 583520 11000 584800 11112 0 FreeSans 3416 0 0 0 io_in_3v3[2] +flabel metal3 s 583520 15728 584800 15840 0 FreeSans 3416 0 0 0 io_in_3v3[3] +flabel metal3 s 583520 20456 584800 20568 0 FreeSans 3416 0 0 0 io_in_3v3[4] +flabel metal3 s 583520 46914 584800 47026 0 FreeSans 3416 0 0 0 io_in_3v3[5] +flabel metal3 s 583520 91572 584800 91684 0 FreeSans 3416 0 0 0 io_in_3v3[6] +flabel metal3 s 583520 271594 584800 271706 0 FreeSans 3416 0 0 0 io_in_3v3[7] +flabel metal3 s 583520 316016 584800 316128 0 FreeSans 3416 0 0 0 io_in_3v3[8] +flabel metal3 s 583520 361238 584800 361350 0 FreeSans 3416 0 0 0 io_in_3v3[9] +flabel metal3 s 583520 5090 584800 5202 0 FreeSans 3416 0 0 0 io_oeb[0] +flabel metal3 s 583520 411206 584800 411318 0 FreeSans 3416 0 0 0 io_oeb[10] +flabel metal3 s 583520 455628 584800 455740 0 FreeSans 3416 0 0 0 io_oeb[11] +flabel metal3 s 583520 500050 584800 500162 0 FreeSans 3416 0 0 0 io_oeb[12] +flabel metal3 s 583520 589472 584800 589584 0 FreeSans 3416 0 0 0 io_oeb[13] +flabel metal3 s -800 505620 480 505732 0 FreeSans 3416 0 0 0 io_oeb[14] +flabel metal3 s -800 462398 480 462510 0 FreeSans 3416 0 0 0 io_oeb[15] +flabel metal3 s -800 419176 480 419288 0 FreeSans 3416 0 0 0 io_oeb[16] +flabel metal3 s -800 375954 480 376066 0 FreeSans 3416 0 0 0 io_oeb[17] +flabel metal3 s -800 332732 480 332844 0 FreeSans 3416 0 0 0 io_oeb[18] +flabel metal3 s -800 289510 480 289622 0 FreeSans 3416 0 0 0 io_oeb[19] +flabel metal3 s 583520 9818 584800 9930 0 FreeSans 3416 0 0 0 io_oeb[1] +flabel metal3 s -800 246488 480 246600 0 FreeSans 3416 0 0 0 io_oeb[20] +flabel metal3 s -800 118866 480 118978 0 FreeSans 3416 0 0 0 io_oeb[21] +flabel metal3 s -800 75644 480 75756 0 FreeSans 3416 0 0 0 io_oeb[22] +flabel metal3 s -800 32422 480 32534 0 FreeSans 3416 0 0 0 io_oeb[23] +flabel metal3 s -800 11000 480 11112 0 FreeSans 3416 0 0 0 io_oeb[24] +flabel metal3 s -800 6272 480 6384 0 FreeSans 3416 0 0 0 io_oeb[25] +flabel metal3 s -800 1544 480 1656 0 FreeSans 3416 0 0 0 io_oeb[26] +flabel metal3 s 583520 14546 584800 14658 0 FreeSans 3416 0 0 0 io_oeb[2] +flabel metal3 s 583520 19274 584800 19386 0 FreeSans 3416 0 0 0 io_oeb[3] +flabel metal3 s 583520 24002 584800 24114 0 FreeSans 3416 0 0 0 io_oeb[4] +flabel metal3 s 583520 50460 584800 50572 0 FreeSans 3416 0 0 0 io_oeb[5] +flabel metal3 s 583520 95118 584800 95230 0 FreeSans 3416 0 0 0 io_oeb[6] +flabel metal3 s 583520 275140 584800 275252 0 FreeSans 3416 0 0 0 io_oeb[7] +flabel metal3 s 583520 319562 584800 319674 0 FreeSans 3416 0 0 0 io_oeb[8] +flabel metal3 s 583520 364784 584800 364896 0 FreeSans 3416 0 0 0 io_oeb[9] +flabel metal3 s 583520 3908 584800 4020 0 FreeSans 3416 0 0 0 io_out[0] +flabel metal3 s 583520 410024 584800 410136 0 FreeSans 3416 0 0 0 io_out[10] +flabel metal3 s 583520 454446 584800 454558 0 FreeSans 3416 0 0 0 io_out[11] +flabel metal3 s 583520 498868 584800 498980 0 FreeSans 3416 0 0 0 io_out[12] +flabel metal3 s 583520 588290 584800 588402 0 FreeSans 3416 0 0 0 io_out[13] +flabel metal3 s -800 506802 480 506914 0 FreeSans 3416 0 0 0 io_out[14] +flabel metal3 s -800 463580 480 463692 0 FreeSans 3416 0 0 0 io_out[15] +flabel metal3 s -800 420358 480 420470 0 FreeSans 3416 0 0 0 io_out[16] +flabel metal3 s -800 377136 480 377248 0 FreeSans 3416 0 0 0 io_out[17] +flabel metal3 s -800 333914 480 334026 0 FreeSans 3416 0 0 0 io_out[18] +flabel metal3 s -800 290692 480 290804 0 FreeSans 3416 0 0 0 io_out[19] +flabel metal3 s 583520 8636 584800 8748 0 FreeSans 3416 0 0 0 io_out[1] +flabel metal3 s -800 247670 480 247782 0 FreeSans 3416 0 0 0 io_out[20] +flabel metal3 s -800 120048 480 120160 0 FreeSans 3416 0 0 0 io_out[21] +flabel metal3 s -800 76826 480 76938 0 FreeSans 3416 0 0 0 io_out[22] +flabel metal3 s -800 33604 480 33716 0 FreeSans 3416 0 0 0 io_out[23] +flabel metal3 s -800 12182 480 12294 0 FreeSans 3416 0 0 0 io_out[24] +flabel metal3 s -800 7454 480 7566 0 FreeSans 3416 0 0 0 io_out[25] +flabel metal3 s -800 2726 480 2838 0 FreeSans 3416 0 0 0 io_out[26] +flabel metal3 s 583520 13364 584800 13476 0 FreeSans 3416 0 0 0 io_out[2] +flabel metal3 s 583520 18092 584800 18204 0 FreeSans 3416 0 0 0 io_out[3] +flabel metal3 s 583520 22820 584800 22932 0 FreeSans 3416 0 0 0 io_out[4] +flabel metal3 s 583520 49278 584800 49390 0 FreeSans 3416 0 0 0 io_out[5] +flabel metal3 s 583520 93936 584800 94048 0 FreeSans 3416 0 0 0 io_out[6] +flabel metal3 s 583520 273958 584800 274070 0 FreeSans 3416 0 0 0 io_out[7] +flabel metal3 s 583520 318380 584800 318492 0 FreeSans 3416 0 0 0 io_out[8] +flabel metal3 s 583520 363602 584800 363714 0 FreeSans 3416 0 0 0 io_out[9] +flabel metal2 s 125816 -800 125928 480 0 FreeSans 3416 90 0 0 la_data_in[0] +flabel metal2 s 480416 -800 480528 480 0 FreeSans 3416 90 0 0 la_data_in[100] +flabel metal2 s 483962 -800 484074 480 0 FreeSans 3416 90 0 0 la_data_in[101] +flabel metal2 s 487508 -800 487620 480 0 FreeSans 3416 90 0 0 la_data_in[102] +flabel metal2 s 491054 -800 491166 480 0 FreeSans 3416 90 0 0 la_data_in[103] +flabel metal2 s 494600 -800 494712 480 0 FreeSans 3416 90 0 0 la_data_in[104] +flabel metal2 s 498146 -800 498258 480 0 FreeSans 3416 90 0 0 la_data_in[105] +flabel metal2 s 501692 -800 501804 480 0 FreeSans 3416 90 0 0 la_data_in[106] +flabel metal2 s 505238 -800 505350 480 0 FreeSans 3416 90 0 0 la_data_in[107] +flabel metal2 s 508784 -800 508896 480 0 FreeSans 3416 90 0 0 la_data_in[108] +flabel metal2 s 512330 -800 512442 480 0 FreeSans 3416 90 0 0 la_data_in[109] +flabel metal2 s 161276 -800 161388 480 0 FreeSans 3416 90 0 0 la_data_in[10] +flabel metal2 s 515876 -800 515988 480 0 FreeSans 3416 90 0 0 la_data_in[110] +flabel metal2 s 519422 -800 519534 480 0 FreeSans 3416 90 0 0 la_data_in[111] +flabel metal2 s 522968 -800 523080 480 0 FreeSans 3416 90 0 0 la_data_in[112] +flabel metal2 s 526514 -800 526626 480 0 FreeSans 3416 90 0 0 la_data_in[113] +flabel metal2 s 530060 -800 530172 480 0 FreeSans 3416 90 0 0 la_data_in[114] +flabel metal2 s 533606 -800 533718 480 0 FreeSans 3416 90 0 0 la_data_in[115] +flabel metal2 s 537152 -800 537264 480 0 FreeSans 3416 90 0 0 la_data_in[116] +flabel metal2 s 540698 -800 540810 480 0 FreeSans 3416 90 0 0 la_data_in[117] +flabel metal2 s 544244 -800 544356 480 0 FreeSans 3416 90 0 0 la_data_in[118] +flabel metal2 s 547790 -800 547902 480 0 FreeSans 3416 90 0 0 la_data_in[119] +flabel metal2 s 164822 -800 164934 480 0 FreeSans 3416 90 0 0 la_data_in[11] +flabel metal2 s 551336 -800 551448 480 0 FreeSans 3416 90 0 0 la_data_in[120] +flabel metal2 s 554882 -800 554994 480 0 FreeSans 3416 90 0 0 la_data_in[121] +flabel metal2 s 558428 -800 558540 480 0 FreeSans 3416 90 0 0 la_data_in[122] +flabel metal2 s 561974 -800 562086 480 0 FreeSans 3416 90 0 0 la_data_in[123] +flabel metal2 s 565520 -800 565632 480 0 FreeSans 3416 90 0 0 la_data_in[124] +flabel metal2 s 569066 -800 569178 480 0 FreeSans 3416 90 0 0 la_data_in[125] +flabel metal2 s 572612 -800 572724 480 0 FreeSans 3416 90 0 0 la_data_in[126] +flabel metal2 s 576158 -800 576270 480 0 FreeSans 3416 90 0 0 la_data_in[127] +flabel metal2 s 168368 -800 168480 480 0 FreeSans 3416 90 0 0 la_data_in[12] +flabel metal2 s 171914 -800 172026 480 0 FreeSans 3416 90 0 0 la_data_in[13] +flabel metal2 s 175460 -800 175572 480 0 FreeSans 3416 90 0 0 la_data_in[14] +flabel metal2 s 179006 -800 179118 480 0 FreeSans 3416 90 0 0 la_data_in[15] +flabel metal2 s 182552 -800 182664 480 0 FreeSans 3416 90 0 0 la_data_in[16] +flabel metal2 s 186098 -800 186210 480 0 FreeSans 3416 90 0 0 la_data_in[17] +flabel metal2 s 189644 -800 189756 480 0 FreeSans 3416 90 0 0 la_data_in[18] +flabel metal2 s 193190 -800 193302 480 0 FreeSans 3416 90 0 0 la_data_in[19] +flabel metal2 s 129362 -800 129474 480 0 FreeSans 3416 90 0 0 la_data_in[1] +flabel metal2 s 196736 -800 196848 480 0 FreeSans 3416 90 0 0 la_data_in[20] +flabel metal2 s 200282 -800 200394 480 0 FreeSans 3416 90 0 0 la_data_in[21] +flabel metal2 s 203828 -800 203940 480 0 FreeSans 3416 90 0 0 la_data_in[22] +flabel metal2 s 207374 -800 207486 480 0 FreeSans 3416 90 0 0 la_data_in[23] +flabel metal2 s 210920 -800 211032 480 0 FreeSans 3416 90 0 0 la_data_in[24] +flabel metal2 s 214466 -800 214578 480 0 FreeSans 3416 90 0 0 la_data_in[25] +flabel metal2 s 218012 -800 218124 480 0 FreeSans 3416 90 0 0 la_data_in[26] +flabel metal2 s 221558 -800 221670 480 0 FreeSans 3416 90 0 0 la_data_in[27] +flabel metal2 s 225104 -800 225216 480 0 FreeSans 3416 90 0 0 la_data_in[28] +flabel metal2 s 228650 -800 228762 480 0 FreeSans 3416 90 0 0 la_data_in[29] +flabel metal2 s 132908 -800 133020 480 0 FreeSans 3416 90 0 0 la_data_in[2] +flabel metal2 s 232196 -800 232308 480 0 FreeSans 3416 90 0 0 la_data_in[30] +flabel metal2 s 235742 -800 235854 480 0 FreeSans 3416 90 0 0 la_data_in[31] +flabel metal2 s 239288 -800 239400 480 0 FreeSans 3416 90 0 0 la_data_in[32] +flabel metal2 s 242834 -800 242946 480 0 FreeSans 3416 90 0 0 la_data_in[33] +flabel metal2 s 246380 -800 246492 480 0 FreeSans 3416 90 0 0 la_data_in[34] +flabel metal2 s 249926 -800 250038 480 0 FreeSans 3416 90 0 0 la_data_in[35] +flabel metal2 s 253472 -800 253584 480 0 FreeSans 3416 90 0 0 la_data_in[36] +flabel metal2 s 257018 -800 257130 480 0 FreeSans 3416 90 0 0 la_data_in[37] +flabel metal2 s 260564 -800 260676 480 0 FreeSans 3416 90 0 0 la_data_in[38] +flabel metal2 s 264110 -800 264222 480 0 FreeSans 3416 90 0 0 la_data_in[39] +flabel metal2 s 136454 -800 136566 480 0 FreeSans 3416 90 0 0 la_data_in[3] +flabel metal2 s 267656 -800 267768 480 0 FreeSans 3416 90 0 0 la_data_in[40] +flabel metal2 s 271202 -800 271314 480 0 FreeSans 3416 90 0 0 la_data_in[41] +flabel metal2 s 274748 -800 274860 480 0 FreeSans 3416 90 0 0 la_data_in[42] +flabel metal2 s 278294 -800 278406 480 0 FreeSans 3416 90 0 0 la_data_in[43] +flabel metal2 s 281840 -800 281952 480 0 FreeSans 3416 90 0 0 la_data_in[44] +flabel metal2 s 285386 -800 285498 480 0 FreeSans 3416 90 0 0 la_data_in[45] +flabel metal2 s 288932 -800 289044 480 0 FreeSans 3416 90 0 0 la_data_in[46] +flabel metal2 s 292478 -800 292590 480 0 FreeSans 3416 90 0 0 la_data_in[47] +flabel metal2 s 296024 -800 296136 480 0 FreeSans 3416 90 0 0 la_data_in[48] +flabel metal2 s 299570 -800 299682 480 0 FreeSans 3416 90 0 0 la_data_in[49] +flabel metal2 s 140000 -800 140112 480 0 FreeSans 3416 90 0 0 la_data_in[4] +flabel metal2 s 303116 -800 303228 480 0 FreeSans 3416 90 0 0 la_data_in[50] +flabel metal2 s 306662 -800 306774 480 0 FreeSans 3416 90 0 0 la_data_in[51] +flabel metal2 s 310208 -800 310320 480 0 FreeSans 3416 90 0 0 la_data_in[52] +flabel metal2 s 313754 -800 313866 480 0 FreeSans 3416 90 0 0 la_data_in[53] +flabel metal2 s 317300 -800 317412 480 0 FreeSans 3416 90 0 0 la_data_in[54] +flabel metal2 s 320846 -800 320958 480 0 FreeSans 3416 90 0 0 la_data_in[55] +flabel metal2 s 324392 -800 324504 480 0 FreeSans 3416 90 0 0 la_data_in[56] +flabel metal2 s 327938 -800 328050 480 0 FreeSans 3416 90 0 0 la_data_in[57] +flabel metal2 s 331484 -800 331596 480 0 FreeSans 3416 90 0 0 la_data_in[58] +flabel metal2 s 335030 -800 335142 480 0 FreeSans 3416 90 0 0 la_data_in[59] +flabel metal2 s 143546 -800 143658 480 0 FreeSans 3416 90 0 0 la_data_in[5] +flabel metal2 s 338576 -800 338688 480 0 FreeSans 3416 90 0 0 la_data_in[60] +flabel metal2 s 342122 -800 342234 480 0 FreeSans 3416 90 0 0 la_data_in[61] +flabel metal2 s 345668 -800 345780 480 0 FreeSans 3416 90 0 0 la_data_in[62] +flabel metal2 s 349214 -800 349326 480 0 FreeSans 3416 90 0 0 la_data_in[63] +flabel metal2 s 352760 -800 352872 480 0 FreeSans 3416 90 0 0 la_data_in[64] +flabel metal2 s 356306 -800 356418 480 0 FreeSans 3416 90 0 0 la_data_in[65] +flabel metal2 s 359852 -800 359964 480 0 FreeSans 3416 90 0 0 la_data_in[66] +flabel metal2 s 363398 -800 363510 480 0 FreeSans 3416 90 0 0 la_data_in[67] +flabel metal2 s 366944 -800 367056 480 0 FreeSans 3416 90 0 0 la_data_in[68] +flabel metal2 s 370490 -800 370602 480 0 FreeSans 3416 90 0 0 la_data_in[69] +flabel metal2 s 147092 -800 147204 480 0 FreeSans 3416 90 0 0 la_data_in[6] +flabel metal2 s 374036 -800 374148 480 0 FreeSans 3416 90 0 0 la_data_in[70] +flabel metal2 s 377582 -800 377694 480 0 FreeSans 3416 90 0 0 la_data_in[71] +flabel metal2 s 381128 -800 381240 480 0 FreeSans 3416 90 0 0 la_data_in[72] +flabel metal2 s 384674 -800 384786 480 0 FreeSans 3416 90 0 0 la_data_in[73] +flabel metal2 s 388220 -800 388332 480 0 FreeSans 3416 90 0 0 la_data_in[74] +flabel metal2 s 391766 -800 391878 480 0 FreeSans 3416 90 0 0 la_data_in[75] +flabel metal2 s 395312 -800 395424 480 0 FreeSans 3416 90 0 0 la_data_in[76] +flabel metal2 s 398858 -800 398970 480 0 FreeSans 3416 90 0 0 la_data_in[77] +flabel metal2 s 402404 -800 402516 480 0 FreeSans 3416 90 0 0 la_data_in[78] +flabel metal2 s 405950 -800 406062 480 0 FreeSans 3416 90 0 0 la_data_in[79] +flabel metal2 s 150638 -800 150750 480 0 FreeSans 3416 90 0 0 la_data_in[7] +flabel metal2 s 409496 -800 409608 480 0 FreeSans 3416 90 0 0 la_data_in[80] +flabel metal2 s 413042 -800 413154 480 0 FreeSans 3416 90 0 0 la_data_in[81] +flabel metal2 s 416588 -800 416700 480 0 FreeSans 3416 90 0 0 la_data_in[82] +flabel metal2 s 420134 -800 420246 480 0 FreeSans 3416 90 0 0 la_data_in[83] +flabel metal2 s 423680 -800 423792 480 0 FreeSans 3416 90 0 0 la_data_in[84] +flabel metal2 s 427226 -800 427338 480 0 FreeSans 3416 90 0 0 la_data_in[85] +flabel metal2 s 430772 -800 430884 480 0 FreeSans 3416 90 0 0 la_data_in[86] +flabel metal2 s 434318 -800 434430 480 0 FreeSans 3416 90 0 0 la_data_in[87] +flabel metal2 s 437864 -800 437976 480 0 FreeSans 3416 90 0 0 la_data_in[88] +flabel metal2 s 441410 -800 441522 480 0 FreeSans 3416 90 0 0 la_data_in[89] +flabel metal2 s 154184 -800 154296 480 0 FreeSans 3416 90 0 0 la_data_in[8] +flabel metal2 s 444956 -800 445068 480 0 FreeSans 3416 90 0 0 la_data_in[90] +flabel metal2 s 448502 -800 448614 480 0 FreeSans 3416 90 0 0 la_data_in[91] +flabel metal2 s 452048 -800 452160 480 0 FreeSans 3416 90 0 0 la_data_in[92] +flabel metal2 s 455594 -800 455706 480 0 FreeSans 3416 90 0 0 la_data_in[93] +flabel metal2 s 459140 -800 459252 480 0 FreeSans 3416 90 0 0 la_data_in[94] +flabel metal2 s 462686 -800 462798 480 0 FreeSans 3416 90 0 0 la_data_in[95] +flabel metal2 s 466232 -800 466344 480 0 FreeSans 3416 90 0 0 la_data_in[96] +flabel metal2 s 469778 -800 469890 480 0 FreeSans 3416 90 0 0 la_data_in[97] +flabel metal2 s 473324 -800 473436 480 0 FreeSans 3416 90 0 0 la_data_in[98] +flabel metal2 s 476870 -800 476982 480 0 FreeSans 3416 90 0 0 la_data_in[99] +flabel metal2 s 157730 -800 157842 480 0 FreeSans 3416 90 0 0 la_data_in[9] +flabel metal2 s 126998 -800 127110 480 0 FreeSans 3416 90 0 0 la_data_out[0] +flabel metal2 s 481598 -800 481710 480 0 FreeSans 3416 90 0 0 la_data_out[100] +flabel metal2 s 485144 -800 485256 480 0 FreeSans 3416 90 0 0 la_data_out[101] +flabel metal2 s 488690 -800 488802 480 0 FreeSans 3416 90 0 0 la_data_out[102] +flabel metal2 s 492236 -800 492348 480 0 FreeSans 3416 90 0 0 la_data_out[103] +flabel metal2 s 495782 -800 495894 480 0 FreeSans 3416 90 0 0 la_data_out[104] +flabel metal2 s 499328 -800 499440 480 0 FreeSans 3416 90 0 0 la_data_out[105] +flabel metal2 s 502874 -800 502986 480 0 FreeSans 3416 90 0 0 la_data_out[106] +flabel metal2 s 506420 -800 506532 480 0 FreeSans 3416 90 0 0 la_data_out[107] +flabel metal2 s 509966 -800 510078 480 0 FreeSans 3416 90 0 0 la_data_out[108] +flabel metal2 s 513512 -800 513624 480 0 FreeSans 3416 90 0 0 la_data_out[109] +flabel metal2 s 162458 -800 162570 480 0 FreeSans 3416 90 0 0 la_data_out[10] +flabel metal2 s 517058 -800 517170 480 0 FreeSans 3416 90 0 0 la_data_out[110] +flabel metal2 s 520604 -800 520716 480 0 FreeSans 3416 90 0 0 la_data_out[111] +flabel metal2 s 524150 -800 524262 480 0 FreeSans 3416 90 0 0 la_data_out[112] +flabel metal2 s 527696 -800 527808 480 0 FreeSans 3416 90 0 0 la_data_out[113] +flabel metal2 s 531242 -800 531354 480 0 FreeSans 3416 90 0 0 la_data_out[114] +flabel metal2 s 534788 -800 534900 480 0 FreeSans 3416 90 0 0 la_data_out[115] +flabel metal2 s 538334 -800 538446 480 0 FreeSans 3416 90 0 0 la_data_out[116] +flabel metal2 s 541880 -800 541992 480 0 FreeSans 3416 90 0 0 la_data_out[117] +flabel metal2 s 545426 -800 545538 480 0 FreeSans 3416 90 0 0 la_data_out[118] +flabel metal2 s 548972 -800 549084 480 0 FreeSans 3416 90 0 0 la_data_out[119] +flabel metal2 s 166004 -800 166116 480 0 FreeSans 3416 90 0 0 la_data_out[11] +flabel metal2 s 552518 -800 552630 480 0 FreeSans 3416 90 0 0 la_data_out[120] +flabel metal2 s 556064 -800 556176 480 0 FreeSans 3416 90 0 0 la_data_out[121] +flabel metal2 s 559610 -800 559722 480 0 FreeSans 3416 90 0 0 la_data_out[122] +flabel metal2 s 563156 -800 563268 480 0 FreeSans 3416 90 0 0 la_data_out[123] +flabel metal2 s 566702 -800 566814 480 0 FreeSans 3416 90 0 0 la_data_out[124] +flabel metal2 s 570248 -800 570360 480 0 FreeSans 3416 90 0 0 la_data_out[125] +flabel metal2 s 573794 -800 573906 480 0 FreeSans 3416 90 0 0 la_data_out[126] +flabel metal2 s 577340 -800 577452 480 0 FreeSans 3416 90 0 0 la_data_out[127] +flabel metal2 s 169550 -800 169662 480 0 FreeSans 3416 90 0 0 la_data_out[12] +flabel metal2 s 173096 -800 173208 480 0 FreeSans 3416 90 0 0 la_data_out[13] +flabel metal2 s 176642 -800 176754 480 0 FreeSans 3416 90 0 0 la_data_out[14] +flabel metal2 s 180188 -800 180300 480 0 FreeSans 3416 90 0 0 la_data_out[15] +flabel metal2 s 183734 -800 183846 480 0 FreeSans 3416 90 0 0 la_data_out[16] +flabel metal2 s 187280 -800 187392 480 0 FreeSans 3416 90 0 0 la_data_out[17] +flabel metal2 s 190826 -800 190938 480 0 FreeSans 3416 90 0 0 la_data_out[18] +flabel metal2 s 194372 -800 194484 480 0 FreeSans 3416 90 0 0 la_data_out[19] +flabel metal2 s 130544 -800 130656 480 0 FreeSans 3416 90 0 0 la_data_out[1] +flabel metal2 s 197918 -800 198030 480 0 FreeSans 3416 90 0 0 la_data_out[20] +flabel metal2 s 201464 -800 201576 480 0 FreeSans 3416 90 0 0 la_data_out[21] +flabel metal2 s 205010 -800 205122 480 0 FreeSans 3416 90 0 0 la_data_out[22] +flabel metal2 s 208556 -800 208668 480 0 FreeSans 3416 90 0 0 la_data_out[23] +flabel metal2 s 212102 -800 212214 480 0 FreeSans 3416 90 0 0 la_data_out[24] +flabel metal2 s 215648 -800 215760 480 0 FreeSans 3416 90 0 0 la_data_out[25] +flabel metal2 s 219194 -800 219306 480 0 FreeSans 3416 90 0 0 la_data_out[26] +flabel metal2 s 222740 -800 222852 480 0 FreeSans 3416 90 0 0 la_data_out[27] +flabel metal2 s 226286 -800 226398 480 0 FreeSans 3416 90 0 0 la_data_out[28] +flabel metal2 s 229832 -800 229944 480 0 FreeSans 3416 90 0 0 la_data_out[29] +flabel metal2 s 134090 -800 134202 480 0 FreeSans 3416 90 0 0 la_data_out[2] +flabel metal2 s 233378 -800 233490 480 0 FreeSans 3416 90 0 0 la_data_out[30] +flabel metal2 s 236924 -800 237036 480 0 FreeSans 3416 90 0 0 la_data_out[31] +flabel metal2 s 240470 -800 240582 480 0 FreeSans 3416 90 0 0 la_data_out[32] +flabel metal2 s 244016 -800 244128 480 0 FreeSans 3416 90 0 0 la_data_out[33] +flabel metal2 s 247562 -800 247674 480 0 FreeSans 3416 90 0 0 la_data_out[34] +flabel metal2 s 251108 -800 251220 480 0 FreeSans 3416 90 0 0 la_data_out[35] +flabel metal2 s 254654 -800 254766 480 0 FreeSans 3416 90 0 0 la_data_out[36] +flabel metal2 s 258200 -800 258312 480 0 FreeSans 3416 90 0 0 la_data_out[37] +flabel metal2 s 261746 -800 261858 480 0 FreeSans 3416 90 0 0 la_data_out[38] +flabel metal2 s 265292 -800 265404 480 0 FreeSans 3416 90 0 0 la_data_out[39] +flabel metal2 s 137636 -800 137748 480 0 FreeSans 3416 90 0 0 la_data_out[3] +flabel metal2 s 268838 -800 268950 480 0 FreeSans 3416 90 0 0 la_data_out[40] +flabel metal2 s 272384 -800 272496 480 0 FreeSans 3416 90 0 0 la_data_out[41] +flabel metal2 s 275930 -800 276042 480 0 FreeSans 3416 90 0 0 la_data_out[42] +flabel metal2 s 279476 -800 279588 480 0 FreeSans 3416 90 0 0 la_data_out[43] +flabel metal2 s 283022 -800 283134 480 0 FreeSans 3416 90 0 0 la_data_out[44] +flabel metal2 s 286568 -800 286680 480 0 FreeSans 3416 90 0 0 la_data_out[45] +flabel metal2 s 290114 -800 290226 480 0 FreeSans 3416 90 0 0 la_data_out[46] +flabel metal2 s 293660 -800 293772 480 0 FreeSans 3416 90 0 0 la_data_out[47] +flabel metal2 s 297206 -800 297318 480 0 FreeSans 3416 90 0 0 la_data_out[48] +flabel metal2 s 300752 -800 300864 480 0 FreeSans 3416 90 0 0 la_data_out[49] +flabel metal2 s 141182 -800 141294 480 0 FreeSans 3416 90 0 0 la_data_out[4] +flabel metal2 s 304298 -800 304410 480 0 FreeSans 3416 90 0 0 la_data_out[50] +flabel metal2 s 307844 -800 307956 480 0 FreeSans 3416 90 0 0 la_data_out[51] +flabel metal2 s 311390 -800 311502 480 0 FreeSans 3416 90 0 0 la_data_out[52] +flabel metal2 s 314936 -800 315048 480 0 FreeSans 3416 90 0 0 la_data_out[53] +flabel metal2 s 318482 -800 318594 480 0 FreeSans 3416 90 0 0 la_data_out[54] +flabel metal2 s 322028 -800 322140 480 0 FreeSans 3416 90 0 0 la_data_out[55] +flabel metal2 s 325574 -800 325686 480 0 FreeSans 3416 90 0 0 la_data_out[56] +flabel metal2 s 329120 -800 329232 480 0 FreeSans 3416 90 0 0 la_data_out[57] +flabel metal2 s 332666 -800 332778 480 0 FreeSans 3416 90 0 0 la_data_out[58] +flabel metal2 s 336212 -800 336324 480 0 FreeSans 3416 90 0 0 la_data_out[59] +flabel metal2 s 144728 -800 144840 480 0 FreeSans 3416 90 0 0 la_data_out[5] +flabel metal2 s 339758 -800 339870 480 0 FreeSans 3416 90 0 0 la_data_out[60] +flabel metal2 s 343304 -800 343416 480 0 FreeSans 3416 90 0 0 la_data_out[61] +flabel metal2 s 346850 -800 346962 480 0 FreeSans 3416 90 0 0 la_data_out[62] +flabel metal2 s 350396 -800 350508 480 0 FreeSans 3416 90 0 0 la_data_out[63] +flabel metal2 s 353942 -800 354054 480 0 FreeSans 3416 90 0 0 la_data_out[64] +flabel metal2 s 357488 -800 357600 480 0 FreeSans 3416 90 0 0 la_data_out[65] +flabel metal2 s 361034 -800 361146 480 0 FreeSans 3416 90 0 0 la_data_out[66] +flabel metal2 s 364580 -800 364692 480 0 FreeSans 3416 90 0 0 la_data_out[67] +flabel metal2 s 368126 -800 368238 480 0 FreeSans 3416 90 0 0 la_data_out[68] +flabel metal2 s 371672 -800 371784 480 0 FreeSans 3416 90 0 0 la_data_out[69] +flabel metal2 s 148274 -800 148386 480 0 FreeSans 3416 90 0 0 la_data_out[6] +flabel metal2 s 375218 -800 375330 480 0 FreeSans 3416 90 0 0 la_data_out[70] +flabel metal2 s 378764 -800 378876 480 0 FreeSans 3416 90 0 0 la_data_out[71] +flabel metal2 s 382310 -800 382422 480 0 FreeSans 3416 90 0 0 la_data_out[72] +flabel metal2 s 385856 -800 385968 480 0 FreeSans 3416 90 0 0 la_data_out[73] +flabel metal2 s 389402 -800 389514 480 0 FreeSans 3416 90 0 0 la_data_out[74] +flabel metal2 s 392948 -800 393060 480 0 FreeSans 3416 90 0 0 la_data_out[75] +flabel metal2 s 396494 -800 396606 480 0 FreeSans 3416 90 0 0 la_data_out[76] +flabel metal2 s 400040 -800 400152 480 0 FreeSans 3416 90 0 0 la_data_out[77] +flabel metal2 s 403586 -800 403698 480 0 FreeSans 3416 90 0 0 la_data_out[78] +flabel metal2 s 407132 -800 407244 480 0 FreeSans 3416 90 0 0 la_data_out[79] +flabel metal2 s 151820 -800 151932 480 0 FreeSans 3416 90 0 0 la_data_out[7] +flabel metal2 s 410678 -800 410790 480 0 FreeSans 3416 90 0 0 la_data_out[80] +flabel metal2 s 414224 -800 414336 480 0 FreeSans 3416 90 0 0 la_data_out[81] +flabel metal2 s 417770 -800 417882 480 0 FreeSans 3416 90 0 0 la_data_out[82] +flabel metal2 s 421316 -800 421428 480 0 FreeSans 3416 90 0 0 la_data_out[83] +flabel metal2 s 424862 -800 424974 480 0 FreeSans 3416 90 0 0 la_data_out[84] +flabel metal2 s 428408 -800 428520 480 0 FreeSans 3416 90 0 0 la_data_out[85] +flabel metal2 s 431954 -800 432066 480 0 FreeSans 3416 90 0 0 la_data_out[86] +flabel metal2 s 435500 -800 435612 480 0 FreeSans 3416 90 0 0 la_data_out[87] +flabel metal2 s 439046 -800 439158 480 0 FreeSans 3416 90 0 0 la_data_out[88] +flabel metal2 s 442592 -800 442704 480 0 FreeSans 3416 90 0 0 la_data_out[89] +flabel metal2 s 155366 -800 155478 480 0 FreeSans 3416 90 0 0 la_data_out[8] +flabel metal2 s 446138 -800 446250 480 0 FreeSans 3416 90 0 0 la_data_out[90] +flabel metal2 s 449684 -800 449796 480 0 FreeSans 3416 90 0 0 la_data_out[91] +flabel metal2 s 453230 -800 453342 480 0 FreeSans 3416 90 0 0 la_data_out[92] +flabel metal2 s 456776 -800 456888 480 0 FreeSans 3416 90 0 0 la_data_out[93] +flabel metal2 s 460322 -800 460434 480 0 FreeSans 3416 90 0 0 la_data_out[94] +flabel metal2 s 463868 -800 463980 480 0 FreeSans 3416 90 0 0 la_data_out[95] +flabel metal2 s 467414 -800 467526 480 0 FreeSans 3416 90 0 0 la_data_out[96] +flabel metal2 s 470960 -800 471072 480 0 FreeSans 3416 90 0 0 la_data_out[97] +flabel metal2 s 474506 -800 474618 480 0 FreeSans 3416 90 0 0 la_data_out[98] +flabel metal2 s 478052 -800 478164 480 0 FreeSans 3416 90 0 0 la_data_out[99] +flabel metal2 s 158912 -800 159024 480 0 FreeSans 3416 90 0 0 la_data_out[9] +flabel metal2 s 128180 -800 128292 480 0 FreeSans 3416 90 0 0 la_oenb[0] +flabel metal2 s 482780 -800 482892 480 0 FreeSans 3416 90 0 0 la_oenb[100] +flabel metal2 s 486326 -800 486438 480 0 FreeSans 3416 90 0 0 la_oenb[101] +flabel metal2 s 489872 -800 489984 480 0 FreeSans 3416 90 0 0 la_oenb[102] +flabel metal2 s 493418 -800 493530 480 0 FreeSans 3416 90 0 0 la_oenb[103] +flabel metal2 s 496964 -800 497076 480 0 FreeSans 3416 90 0 0 la_oenb[104] +flabel metal2 s 500510 -800 500622 480 0 FreeSans 3416 90 0 0 la_oenb[105] +flabel metal2 s 504056 -800 504168 480 0 FreeSans 3416 90 0 0 la_oenb[106] +flabel metal2 s 507602 -800 507714 480 0 FreeSans 3416 90 0 0 la_oenb[107] +flabel metal2 s 511148 -800 511260 480 0 FreeSans 3416 90 0 0 la_oenb[108] +flabel metal2 s 514694 -800 514806 480 0 FreeSans 3416 90 0 0 la_oenb[109] +flabel metal2 s 163640 -800 163752 480 0 FreeSans 3416 90 0 0 la_oenb[10] +flabel metal2 s 518240 -800 518352 480 0 FreeSans 3416 90 0 0 la_oenb[110] +flabel metal2 s 521786 -800 521898 480 0 FreeSans 3416 90 0 0 la_oenb[111] +flabel metal2 s 525332 -800 525444 480 0 FreeSans 3416 90 0 0 la_oenb[112] +flabel metal2 s 528878 -800 528990 480 0 FreeSans 3416 90 0 0 la_oenb[113] +flabel metal2 s 532424 -800 532536 480 0 FreeSans 3416 90 0 0 la_oenb[114] +flabel metal2 s 535970 -800 536082 480 0 FreeSans 3416 90 0 0 la_oenb[115] +flabel metal2 s 539516 -800 539628 480 0 FreeSans 3416 90 0 0 la_oenb[116] +flabel metal2 s 543062 -800 543174 480 0 FreeSans 3416 90 0 0 la_oenb[117] +flabel metal2 s 546608 -800 546720 480 0 FreeSans 3416 90 0 0 la_oenb[118] +flabel metal2 s 550154 -800 550266 480 0 FreeSans 3416 90 0 0 la_oenb[119] +flabel metal2 s 167186 -800 167298 480 0 FreeSans 3416 90 0 0 la_oenb[11] +flabel metal2 s 553700 -800 553812 480 0 FreeSans 3416 90 0 0 la_oenb[120] +flabel metal2 s 557246 -800 557358 480 0 FreeSans 3416 90 0 0 la_oenb[121] +flabel metal2 s 560792 -800 560904 480 0 FreeSans 3416 90 0 0 la_oenb[122] +flabel metal2 s 564338 -800 564450 480 0 FreeSans 3416 90 0 0 la_oenb[123] +flabel metal2 s 567884 -800 567996 480 0 FreeSans 3416 90 0 0 la_oenb[124] +flabel metal2 s 571430 -800 571542 480 0 FreeSans 3416 90 0 0 la_oenb[125] +flabel metal2 s 574976 -800 575088 480 0 FreeSans 3416 90 0 0 la_oenb[126] +flabel metal2 s 578522 -800 578634 480 0 FreeSans 3416 90 0 0 la_oenb[127] +flabel metal2 s 170732 -800 170844 480 0 FreeSans 3416 90 0 0 la_oenb[12] +flabel metal2 s 174278 -800 174390 480 0 FreeSans 3416 90 0 0 la_oenb[13] +flabel metal2 s 177824 -800 177936 480 0 FreeSans 3416 90 0 0 la_oenb[14] +flabel metal2 s 181370 -800 181482 480 0 FreeSans 3416 90 0 0 la_oenb[15] +flabel metal2 s 184916 -800 185028 480 0 FreeSans 3416 90 0 0 la_oenb[16] +flabel metal2 s 188462 -800 188574 480 0 FreeSans 3416 90 0 0 la_oenb[17] +flabel metal2 s 192008 -800 192120 480 0 FreeSans 3416 90 0 0 la_oenb[18] +flabel metal2 s 195554 -800 195666 480 0 FreeSans 3416 90 0 0 la_oenb[19] +flabel metal2 s 131726 -800 131838 480 0 FreeSans 3416 90 0 0 la_oenb[1] +flabel metal2 s 199100 -800 199212 480 0 FreeSans 3416 90 0 0 la_oenb[20] +flabel metal2 s 202646 -800 202758 480 0 FreeSans 3416 90 0 0 la_oenb[21] +flabel metal2 s 206192 -800 206304 480 0 FreeSans 3416 90 0 0 la_oenb[22] +flabel metal2 s 209738 -800 209850 480 0 FreeSans 3416 90 0 0 la_oenb[23] +flabel metal2 s 213284 -800 213396 480 0 FreeSans 3416 90 0 0 la_oenb[24] +flabel metal2 s 216830 -800 216942 480 0 FreeSans 3416 90 0 0 la_oenb[25] +flabel metal2 s 220376 -800 220488 480 0 FreeSans 3416 90 0 0 la_oenb[26] +flabel metal2 s 223922 -800 224034 480 0 FreeSans 3416 90 0 0 la_oenb[27] +flabel metal2 s 227468 -800 227580 480 0 FreeSans 3416 90 0 0 la_oenb[28] +flabel metal2 s 231014 -800 231126 480 0 FreeSans 3416 90 0 0 la_oenb[29] +flabel metal2 s 135272 -800 135384 480 0 FreeSans 3416 90 0 0 la_oenb[2] +flabel metal2 s 234560 -800 234672 480 0 FreeSans 3416 90 0 0 la_oenb[30] +flabel metal2 s 238106 -800 238218 480 0 FreeSans 3416 90 0 0 la_oenb[31] +flabel metal2 s 241652 -800 241764 480 0 FreeSans 3416 90 0 0 la_oenb[32] +flabel metal2 s 245198 -800 245310 480 0 FreeSans 3416 90 0 0 la_oenb[33] +flabel metal2 s 248744 -800 248856 480 0 FreeSans 3416 90 0 0 la_oenb[34] +flabel metal2 s 252290 -800 252402 480 0 FreeSans 3416 90 0 0 la_oenb[35] +flabel metal2 s 255836 -800 255948 480 0 FreeSans 3416 90 0 0 la_oenb[36] +flabel metal2 s 259382 -800 259494 480 0 FreeSans 3416 90 0 0 la_oenb[37] +flabel metal2 s 262928 -800 263040 480 0 FreeSans 3416 90 0 0 la_oenb[38] +flabel metal2 s 266474 -800 266586 480 0 FreeSans 3416 90 0 0 la_oenb[39] +flabel metal2 s 138818 -800 138930 480 0 FreeSans 3416 90 0 0 la_oenb[3] +flabel metal2 s 270020 -800 270132 480 0 FreeSans 3416 90 0 0 la_oenb[40] +flabel metal2 s 273566 -800 273678 480 0 FreeSans 3416 90 0 0 la_oenb[41] +flabel metal2 s 277112 -800 277224 480 0 FreeSans 3416 90 0 0 la_oenb[42] +flabel metal2 s 280658 -800 280770 480 0 FreeSans 3416 90 0 0 la_oenb[43] +flabel metal2 s 284204 -800 284316 480 0 FreeSans 3416 90 0 0 la_oenb[44] +flabel metal2 s 287750 -800 287862 480 0 FreeSans 3416 90 0 0 la_oenb[45] +flabel metal2 s 291296 -800 291408 480 0 FreeSans 3416 90 0 0 la_oenb[46] +flabel metal2 s 294842 -800 294954 480 0 FreeSans 3416 90 0 0 la_oenb[47] +flabel metal2 s 298388 -800 298500 480 0 FreeSans 3416 90 0 0 la_oenb[48] +flabel metal2 s 301934 -800 302046 480 0 FreeSans 3416 90 0 0 la_oenb[49] +flabel metal2 s 142364 -800 142476 480 0 FreeSans 3416 90 0 0 la_oenb[4] +flabel metal2 s 305480 -800 305592 480 0 FreeSans 3416 90 0 0 la_oenb[50] +flabel metal2 s 309026 -800 309138 480 0 FreeSans 3416 90 0 0 la_oenb[51] +flabel metal2 s 312572 -800 312684 480 0 FreeSans 3416 90 0 0 la_oenb[52] +flabel metal2 s 316118 -800 316230 480 0 FreeSans 3416 90 0 0 la_oenb[53] +flabel metal2 s 319664 -800 319776 480 0 FreeSans 3416 90 0 0 la_oenb[54] +flabel metal2 s 323210 -800 323322 480 0 FreeSans 3416 90 0 0 la_oenb[55] +flabel metal2 s 326756 -800 326868 480 0 FreeSans 3416 90 0 0 la_oenb[56] +flabel metal2 s 330302 -800 330414 480 0 FreeSans 3416 90 0 0 la_oenb[57] +flabel metal2 s 333848 -800 333960 480 0 FreeSans 3416 90 0 0 la_oenb[58] +flabel metal2 s 337394 -800 337506 480 0 FreeSans 3416 90 0 0 la_oenb[59] +flabel metal2 s 145910 -800 146022 480 0 FreeSans 3416 90 0 0 la_oenb[5] +flabel metal2 s 340940 -800 341052 480 0 FreeSans 3416 90 0 0 la_oenb[60] +flabel metal2 s 344486 -800 344598 480 0 FreeSans 3416 90 0 0 la_oenb[61] +flabel metal2 s 348032 -800 348144 480 0 FreeSans 3416 90 0 0 la_oenb[62] +flabel metal2 s 351578 -800 351690 480 0 FreeSans 3416 90 0 0 la_oenb[63] +flabel metal2 s 355124 -800 355236 480 0 FreeSans 3416 90 0 0 la_oenb[64] +flabel metal2 s 358670 -800 358782 480 0 FreeSans 3416 90 0 0 la_oenb[65] +flabel metal2 s 362216 -800 362328 480 0 FreeSans 3416 90 0 0 la_oenb[66] +flabel metal2 s 365762 -800 365874 480 0 FreeSans 3416 90 0 0 la_oenb[67] +flabel metal2 s 369308 -800 369420 480 0 FreeSans 3416 90 0 0 la_oenb[68] +flabel metal2 s 372854 -800 372966 480 0 FreeSans 3416 90 0 0 la_oenb[69] +flabel metal2 s 149456 -800 149568 480 0 FreeSans 3416 90 0 0 la_oenb[6] +flabel metal2 s 376400 -800 376512 480 0 FreeSans 3416 90 0 0 la_oenb[70] +flabel metal2 s 379946 -800 380058 480 0 FreeSans 3416 90 0 0 la_oenb[71] +flabel metal2 s 383492 -800 383604 480 0 FreeSans 3416 90 0 0 la_oenb[72] +flabel metal2 s 387038 -800 387150 480 0 FreeSans 3416 90 0 0 la_oenb[73] +flabel metal2 s 390584 -800 390696 480 0 FreeSans 3416 90 0 0 la_oenb[74] +flabel metal2 s 394130 -800 394242 480 0 FreeSans 3416 90 0 0 la_oenb[75] +flabel metal2 s 397676 -800 397788 480 0 FreeSans 3416 90 0 0 la_oenb[76] +flabel metal2 s 401222 -800 401334 480 0 FreeSans 3416 90 0 0 la_oenb[77] +flabel metal2 s 404768 -800 404880 480 0 FreeSans 3416 90 0 0 la_oenb[78] +flabel metal2 s 408314 -800 408426 480 0 FreeSans 3416 90 0 0 la_oenb[79] +flabel metal2 s 153002 -800 153114 480 0 FreeSans 3416 90 0 0 la_oenb[7] +flabel metal2 s 411860 -800 411972 480 0 FreeSans 3416 90 0 0 la_oenb[80] +flabel metal2 s 415406 -800 415518 480 0 FreeSans 3416 90 0 0 la_oenb[81] +flabel metal2 s 418952 -800 419064 480 0 FreeSans 3416 90 0 0 la_oenb[82] +flabel metal2 s 422498 -800 422610 480 0 FreeSans 3416 90 0 0 la_oenb[83] +flabel metal2 s 426044 -800 426156 480 0 FreeSans 3416 90 0 0 la_oenb[84] +flabel metal2 s 429590 -800 429702 480 0 FreeSans 3416 90 0 0 la_oenb[85] +flabel metal2 s 433136 -800 433248 480 0 FreeSans 3416 90 0 0 la_oenb[86] +flabel metal2 s 436682 -800 436794 480 0 FreeSans 3416 90 0 0 la_oenb[87] +flabel metal2 s 440228 -800 440340 480 0 FreeSans 3416 90 0 0 la_oenb[88] +flabel metal2 s 443774 -800 443886 480 0 FreeSans 3416 90 0 0 la_oenb[89] +flabel metal2 s 156548 -800 156660 480 0 FreeSans 3416 90 0 0 la_oenb[8] +flabel metal2 s 447320 -800 447432 480 0 FreeSans 3416 90 0 0 la_oenb[90] +flabel metal2 s 450866 -800 450978 480 0 FreeSans 3416 90 0 0 la_oenb[91] +flabel metal2 s 454412 -800 454524 480 0 FreeSans 3416 90 0 0 la_oenb[92] +flabel metal2 s 457958 -800 458070 480 0 FreeSans 3416 90 0 0 la_oenb[93] +flabel metal2 s 461504 -800 461616 480 0 FreeSans 3416 90 0 0 la_oenb[94] +flabel metal2 s 465050 -800 465162 480 0 FreeSans 3416 90 0 0 la_oenb[95] +flabel metal2 s 468596 -800 468708 480 0 FreeSans 3416 90 0 0 la_oenb[96] +flabel metal2 s 472142 -800 472254 480 0 FreeSans 3416 90 0 0 la_oenb[97] +flabel metal2 s 475688 -800 475800 480 0 FreeSans 3416 90 0 0 la_oenb[98] +flabel metal2 s 479234 -800 479346 480 0 FreeSans 3416 90 0 0 la_oenb[99] +flabel metal2 s 160094 -800 160206 480 0 FreeSans 3416 90 0 0 la_oenb[9] +flabel metal2 s 579704 -800 579816 480 0 FreeSans 3416 90 0 0 user_clock2 +flabel metal2 s 580886 -800 580998 480 0 FreeSans 3416 90 0 0 user_irq[0] +flabel metal2 s 582068 -800 582180 480 0 FreeSans 3416 90 0 0 user_irq[1] +flabel metal2 s 583250 -800 583362 480 0 FreeSans 3416 90 0 0 user_irq[2] +flabel metal3 s 582340 639784 584800 644584 0 FreeSans 3416 0 0 0 vccd1 +flabel metal3 s 582340 629784 584800 634584 0 FreeSans 3416 0 0 0 vccd1 +flabel metal3 s 0 643842 1660 648642 0 FreeSans 3416 0 0 0 vccd2 +flabel metal3 s 0 633842 1660 638642 0 FreeSans 3416 0 0 0 vccd2 +flabel metal3 s 582340 540562 584800 545362 0 FreeSans 3416 0 0 0 vdda1 +flabel metal3 s 582340 550562 584800 555362 0 FreeSans 3416 0 0 0 vdda1 +flabel metal3 s 582340 235230 584800 240030 0 FreeSans 3416 0 0 0 vdda1 +flabel metal3 s 582340 225230 584800 230030 0 FreeSans 3416 0 0 0 vdda1 +flabel metal3 s 0 204888 1660 209688 0 FreeSans 3416 0 0 0 vdda2 +flabel metal3 s 0 214888 1660 219688 0 FreeSans 3416 0 0 0 vdda2 +flabel metal3 s 520594 702340 525394 704800 0 FreeSans 5858 180 0 0 vssa1 +flabel metal3 s 510594 702340 515394 704800 0 FreeSans 5858 180 0 0 vssa1 +flabel metal3 s 582340 146830 584800 151630 0 FreeSans 3416 0 0 0 vssa1 +flabel metal3 s 582340 136830 584800 141630 0 FreeSans 3416 0 0 0 vssa1 +flabel metal3 s 0 559442 1660 564242 0 FreeSans 3416 0 0 0 vssa2 +flabel metal3 s 0 549442 1660 554242 0 FreeSans 3416 0 0 0 vssa2 +flabel metal3 s 582340 191430 584800 196230 0 FreeSans 3416 0 0 0 vssd1 +flabel metal3 s 582340 181430 584800 186230 0 FreeSans 3416 0 0 0 vssd1 +flabel metal3 s 0 172888 1660 177688 0 FreeSans 3416 0 0 0 vssd2 +flabel metal3 s 0 162888 1660 167688 0 FreeSans 3416 0 0 0 vssd2 +flabel metal2 s 524 -800 636 480 0 FreeSans 3416 90 0 0 wb_clk_i +flabel metal2 s 1706 -800 1818 480 0 FreeSans 3416 90 0 0 wb_rst_i +flabel metal2 s 2888 -800 3000 480 0 FreeSans 3416 90 0 0 wbs_ack_o +flabel metal2 s 7616 -800 7728 480 0 FreeSans 3416 90 0 0 wbs_adr_i[0] +flabel metal2 s 47804 -800 47916 480 0 FreeSans 3416 90 0 0 wbs_adr_i[10] +flabel metal2 s 51350 -800 51462 480 0 FreeSans 3416 90 0 0 wbs_adr_i[11] +flabel metal2 s 54896 -800 55008 480 0 FreeSans 3416 90 0 0 wbs_adr_i[12] +flabel metal2 s 58442 -800 58554 480 0 FreeSans 3416 90 0 0 wbs_adr_i[13] +flabel metal2 s 61988 -800 62100 480 0 FreeSans 3416 90 0 0 wbs_adr_i[14] +flabel metal2 s 65534 -800 65646 480 0 FreeSans 3416 90 0 0 wbs_adr_i[15] +flabel metal2 s 69080 -800 69192 480 0 FreeSans 3416 90 0 0 wbs_adr_i[16] +flabel metal2 s 72626 -800 72738 480 0 FreeSans 3416 90 0 0 wbs_adr_i[17] +flabel metal2 s 76172 -800 76284 480 0 FreeSans 3416 90 0 0 wbs_adr_i[18] +flabel metal2 s 79718 -800 79830 480 0 FreeSans 3416 90 0 0 wbs_adr_i[19] +flabel metal2 s 12344 -800 12456 480 0 FreeSans 3416 90 0 0 wbs_adr_i[1] +flabel metal2 s 83264 -800 83376 480 0 FreeSans 3416 90 0 0 wbs_adr_i[20] +flabel metal2 s 86810 -800 86922 480 0 FreeSans 3416 90 0 0 wbs_adr_i[21] +flabel metal2 s 90356 -800 90468 480 0 FreeSans 3416 90 0 0 wbs_adr_i[22] +flabel metal2 s 93902 -800 94014 480 0 FreeSans 3416 90 0 0 wbs_adr_i[23] +flabel metal2 s 97448 -800 97560 480 0 FreeSans 3416 90 0 0 wbs_adr_i[24] +flabel metal2 s 100994 -800 101106 480 0 FreeSans 3416 90 0 0 wbs_adr_i[25] +flabel metal2 s 104540 -800 104652 480 0 FreeSans 3416 90 0 0 wbs_adr_i[26] +flabel metal2 s 108086 -800 108198 480 0 FreeSans 3416 90 0 0 wbs_adr_i[27] +flabel metal2 s 111632 -800 111744 480 0 FreeSans 3416 90 0 0 wbs_adr_i[28] +flabel metal2 s 115178 -800 115290 480 0 FreeSans 3416 90 0 0 wbs_adr_i[29] +flabel metal2 s 17072 -800 17184 480 0 FreeSans 3416 90 0 0 wbs_adr_i[2] +flabel metal2 s 118724 -800 118836 480 0 FreeSans 3416 90 0 0 wbs_adr_i[30] +flabel metal2 s 122270 -800 122382 480 0 FreeSans 3416 90 0 0 wbs_adr_i[31] +flabel metal2 s 21800 -800 21912 480 0 FreeSans 3416 90 0 0 wbs_adr_i[3] +flabel metal2 s 26528 -800 26640 480 0 FreeSans 3416 90 0 0 wbs_adr_i[4] +flabel metal2 s 30074 -800 30186 480 0 FreeSans 3416 90 0 0 wbs_adr_i[5] +flabel metal2 s 33620 -800 33732 480 0 FreeSans 3416 90 0 0 wbs_adr_i[6] +flabel metal2 s 37166 -800 37278 480 0 FreeSans 3416 90 0 0 wbs_adr_i[7] +flabel metal2 s 40712 -800 40824 480 0 FreeSans 3416 90 0 0 wbs_adr_i[8] +flabel metal2 s 44258 -800 44370 480 0 FreeSans 3416 90 0 0 wbs_adr_i[9] +flabel metal2 s 4070 -800 4182 480 0 FreeSans 3416 90 0 0 wbs_cyc_i +flabel metal2 s 8798 -800 8910 480 0 FreeSans 3416 90 0 0 wbs_dat_i[0] +flabel metal2 s 48986 -800 49098 480 0 FreeSans 3416 90 0 0 wbs_dat_i[10] +flabel metal2 s 52532 -800 52644 480 0 FreeSans 3416 90 0 0 wbs_dat_i[11] +flabel metal2 s 56078 -800 56190 480 0 FreeSans 3416 90 0 0 wbs_dat_i[12] +flabel metal2 s 59624 -800 59736 480 0 FreeSans 3416 90 0 0 wbs_dat_i[13] +flabel metal2 s 63170 -800 63282 480 0 FreeSans 3416 90 0 0 wbs_dat_i[14] +flabel metal2 s 66716 -800 66828 480 0 FreeSans 3416 90 0 0 wbs_dat_i[15] +flabel metal2 s 70262 -800 70374 480 0 FreeSans 3416 90 0 0 wbs_dat_i[16] +flabel metal2 s 73808 -800 73920 480 0 FreeSans 3416 90 0 0 wbs_dat_i[17] +flabel metal2 s 77354 -800 77466 480 0 FreeSans 3416 90 0 0 wbs_dat_i[18] +flabel metal2 s 80900 -800 81012 480 0 FreeSans 3416 90 0 0 wbs_dat_i[19] +flabel metal2 s 13526 -800 13638 480 0 FreeSans 3416 90 0 0 wbs_dat_i[1] +flabel metal2 s 84446 -800 84558 480 0 FreeSans 3416 90 0 0 wbs_dat_i[20] +flabel metal2 s 87992 -800 88104 480 0 FreeSans 3416 90 0 0 wbs_dat_i[21] +flabel metal2 s 91538 -800 91650 480 0 FreeSans 3416 90 0 0 wbs_dat_i[22] +flabel metal2 s 95084 -800 95196 480 0 FreeSans 3416 90 0 0 wbs_dat_i[23] +flabel metal2 s 98630 -800 98742 480 0 FreeSans 3416 90 0 0 wbs_dat_i[24] +flabel metal2 s 102176 -800 102288 480 0 FreeSans 3416 90 0 0 wbs_dat_i[25] +flabel metal2 s 105722 -800 105834 480 0 FreeSans 3416 90 0 0 wbs_dat_i[26] +flabel metal2 s 109268 -800 109380 480 0 FreeSans 3416 90 0 0 wbs_dat_i[27] +flabel metal2 s 112814 -800 112926 480 0 FreeSans 3416 90 0 0 wbs_dat_i[28] +flabel metal2 s 116360 -800 116472 480 0 FreeSans 3416 90 0 0 wbs_dat_i[29] +flabel metal2 s 18254 -800 18366 480 0 FreeSans 3416 90 0 0 wbs_dat_i[2] +flabel metal2 s 119906 -800 120018 480 0 FreeSans 3416 90 0 0 wbs_dat_i[30] +flabel metal2 s 123452 -800 123564 480 0 FreeSans 3416 90 0 0 wbs_dat_i[31] +flabel metal2 s 22982 -800 23094 480 0 FreeSans 3416 90 0 0 wbs_dat_i[3] +flabel metal2 s 27710 -800 27822 480 0 FreeSans 3416 90 0 0 wbs_dat_i[4] +flabel metal2 s 31256 -800 31368 480 0 FreeSans 3416 90 0 0 wbs_dat_i[5] +flabel metal2 s 34802 -800 34914 480 0 FreeSans 3416 90 0 0 wbs_dat_i[6] +flabel metal2 s 38348 -800 38460 480 0 FreeSans 3416 90 0 0 wbs_dat_i[7] +flabel metal2 s 41894 -800 42006 480 0 FreeSans 3416 90 0 0 wbs_dat_i[8] +flabel metal2 s 45440 -800 45552 480 0 FreeSans 3416 90 0 0 wbs_dat_i[9] +flabel metal2 s 9980 -800 10092 480 0 FreeSans 3416 90 0 0 wbs_dat_o[0] +flabel metal2 s 50168 -800 50280 480 0 FreeSans 3416 90 0 0 wbs_dat_o[10] +flabel metal2 s 53714 -800 53826 480 0 FreeSans 3416 90 0 0 wbs_dat_o[11] +flabel metal2 s 57260 -800 57372 480 0 FreeSans 3416 90 0 0 wbs_dat_o[12] +flabel metal2 s 60806 -800 60918 480 0 FreeSans 3416 90 0 0 wbs_dat_o[13] +flabel metal2 s 64352 -800 64464 480 0 FreeSans 3416 90 0 0 wbs_dat_o[14] +flabel metal2 s 67898 -800 68010 480 0 FreeSans 3416 90 0 0 wbs_dat_o[15] +flabel metal2 s 71444 -800 71556 480 0 FreeSans 3416 90 0 0 wbs_dat_o[16] +flabel metal2 s 74990 -800 75102 480 0 FreeSans 3416 90 0 0 wbs_dat_o[17] +flabel metal2 s 78536 -800 78648 480 0 FreeSans 3416 90 0 0 wbs_dat_o[18] +flabel metal2 s 82082 -800 82194 480 0 FreeSans 3416 90 0 0 wbs_dat_o[19] +flabel metal2 s 14708 -800 14820 480 0 FreeSans 3416 90 0 0 wbs_dat_o[1] +flabel metal2 s 85628 -800 85740 480 0 FreeSans 3416 90 0 0 wbs_dat_o[20] +flabel metal2 s 89174 -800 89286 480 0 FreeSans 3416 90 0 0 wbs_dat_o[21] +flabel metal2 s 92720 -800 92832 480 0 FreeSans 3416 90 0 0 wbs_dat_o[22] +flabel metal2 s 96266 -800 96378 480 0 FreeSans 3416 90 0 0 wbs_dat_o[23] +flabel metal2 s 99812 -800 99924 480 0 FreeSans 3416 90 0 0 wbs_dat_o[24] +flabel metal2 s 103358 -800 103470 480 0 FreeSans 3416 90 0 0 wbs_dat_o[25] +flabel metal2 s 106904 -800 107016 480 0 FreeSans 3416 90 0 0 wbs_dat_o[26] +flabel metal2 s 110450 -800 110562 480 0 FreeSans 3416 90 0 0 wbs_dat_o[27] +flabel metal2 s 113996 -800 114108 480 0 FreeSans 3416 90 0 0 wbs_dat_o[28] +flabel metal2 s 117542 -800 117654 480 0 FreeSans 3416 90 0 0 wbs_dat_o[29] +flabel metal2 s 19436 -800 19548 480 0 FreeSans 3416 90 0 0 wbs_dat_o[2] +flabel metal2 s 121088 -800 121200 480 0 FreeSans 3416 90 0 0 wbs_dat_o[30] +flabel metal2 s 124634 -800 124746 480 0 FreeSans 3416 90 0 0 wbs_dat_o[31] +flabel metal2 s 24164 -800 24276 480 0 FreeSans 3416 90 0 0 wbs_dat_o[3] +flabel metal2 s 28892 -800 29004 480 0 FreeSans 3416 90 0 0 wbs_dat_o[4] +flabel metal2 s 32438 -800 32550 480 0 FreeSans 3416 90 0 0 wbs_dat_o[5] +flabel metal2 s 35984 -800 36096 480 0 FreeSans 3416 90 0 0 wbs_dat_o[6] +flabel metal2 s 39530 -800 39642 480 0 FreeSans 3416 90 0 0 wbs_dat_o[7] +flabel metal2 s 43076 -800 43188 480 0 FreeSans 3416 90 0 0 wbs_dat_o[8] +flabel metal2 s 46622 -800 46734 480 0 FreeSans 3416 90 0 0 wbs_dat_o[9] +flabel metal2 s 11162 -800 11274 480 0 FreeSans 3416 90 0 0 wbs_sel_i[0] +flabel metal2 s 15890 -800 16002 480 0 FreeSans 3416 90 0 0 wbs_sel_i[1] +flabel metal2 s 20618 -800 20730 480 0 FreeSans 3416 90 0 0 wbs_sel_i[2] +flabel metal2 s 25346 -800 25458 480 0 FreeSans 3416 90 0 0 wbs_sel_i[3] +flabel metal2 s 5252 -800 5364 480 0 FreeSans 3416 90 0 0 wbs_stb_i +flabel metal2 s 6434 -800 6546 480 0 FreeSans 3416 90 0 0 wbs_we_i +<< properties >> +string FIXED_BBOX 0 0 584000 704000 +<< end >>