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/sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped.mag b/mag/sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped.mag
new file mode 100644
index 0000000..1684eb0
--- /dev/null
+++ b/mag/sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped.mag
@@ -0,0 +1,315 @@
+magic
+tech sky130A
+magscale 1 2
+timestamp 1608587411
+<< viali >>
+rect 1663 2610 1697 2644
+rect 1951 2610 1985 2644
+rect 2431 1944 2465 1978
+<< metal1 >>
+rect 480 3282 3456 3307
+rect 480 3230 2122 3282
+rect 2174 3230 2186 3282
+rect 2238 3230 3456 3282
+rect 480 3205 3456 3230
+rect 1651 2644 1709 2650
+rect 1651 2610 1663 2644
+rect 1697 2641 1709 2644
+rect 1939 2644 1997 2650
+rect 1939 2641 1951 2644
+rect 1697 2613 1951 2641
+rect 1697 2610 1709 2613
+rect 1651 2604 1709 2610
+rect 1939 2610 1951 2613
+rect 1985 2641 1997 2644
+rect 3184 2641 3190 2653
+rect 1985 2613 3190 2641
+rect 1985 2610 1997 2613
+rect 1939 2604 1997 2610
+rect 3184 2601 3190 2613
+rect 3242 2601 3248 2653
+rect 480 2468 3456 2493
+rect 480 2416 822 2468
+rect 874 2416 886 2468
+rect 938 2416 3456 2468
+rect 480 2391 3456 2416
+rect 1536 2286 2110 2289
+rect 1536 2232 1670 2286
+rect 1664 2226 1670 2232
+rect 1854 2232 2110 2286
+rect 1854 2226 1860 2232
+rect 1664 2222 1860 2226
+rect 592 1935 598 1987
+rect 650 1975 656 1987
+rect 2419 1978 2477 1984
+rect 2419 1975 2431 1978
+rect 650 1947 2431 1975
+rect 650 1935 656 1947
+rect 2419 1944 2431 1947
+rect 2465 1944 2477 1978
+rect 2419 1938 2477 1944
+rect 480 1654 3456 1679
+rect 480 1602 2122 1654
+rect 2174 1602 2186 1654
+rect 2238 1602 3456 1654
+rect 480 1577 3456 1602
+rect 480 840 3456 865
+rect 480 788 822 840
+rect 874 788 886 840
+rect 938 788 3456 840
+rect 480 763 3456 788
+<< via1 >>
+rect 2122 3230 2174 3282
+rect 2186 3230 2238 3282
+rect 3190 2601 3242 2653
+rect 822 2416 874 2468
+rect 886 2416 938 2468
+rect 1670 2226 1854 2286
+rect 598 1935 650 1987
+rect 2122 1602 2174 1654
+rect 2186 1602 2238 1654
+rect 822 788 874 840
+rect 886 788 938 840
+<< metal2 >>
+rect 2112 3284 2248 3307
+rect 2168 3282 2192 3284
+rect 2174 3230 2186 3282
+rect 2168 3228 2192 3230
+rect 2112 3205 2248 3228
+rect 3190 2653 3242 2659
+rect 3284 2604 3340 3800
+rect 3242 2601 3340 2604
+rect 3190 2600 3340 2601
+rect 3190 2595 3326 2600
+rect 3202 2576 3326 2595
+rect 812 2470 948 2493
+rect 868 2468 892 2470
+rect 874 2416 886 2468
+rect 868 2414 892 2416
+rect 812 2391 948 2414
+rect 1660 2286 1864 2296
+rect 1660 2226 1670 2286
+rect 1854 2226 1864 2286
+rect 1660 2214 1864 2226
+rect 598 1987 650 1993
+rect 598 1929 650 1935
+rect 610 800 638 1929
+rect 2112 1656 2248 1679
+rect 2168 1654 2192 1656
+rect 2174 1602 2186 1654
+rect 2168 1600 2192 1602
+rect 2112 1577 2248 1600
+rect 812 842 948 865
+rect 868 840 892 842
+rect 596 -400 652 800
+rect 874 788 886 840
+rect 868 786 892 788
+rect 812 763 948 786
+<< via2 >>
+rect 2112 3282 2168 3284
+rect 2192 3282 2248 3284
+rect 2112 3230 2122 3282
+rect 2122 3230 2168 3282
+rect 2192 3230 2238 3282
+rect 2238 3230 2248 3282
+rect 2112 3228 2168 3230
+rect 2192 3228 2248 3230
+rect 812 2468 868 2470
+rect 892 2468 948 2470
+rect 812 2416 822 2468
+rect 822 2416 868 2468
+rect 892 2416 938 2468
+rect 938 2416 948 2468
+rect 812 2414 868 2416
+rect 892 2414 948 2416
+rect 1670 2226 1854 2286
+rect 2112 1654 2168 1656
+rect 2192 1654 2248 1656
+rect 2112 1602 2122 1654
+rect 2122 1602 2168 1654
+rect 2192 1602 2238 1654
+rect 2238 1602 2248 1654
+rect 2112 1600 2168 1602
+rect 2192 1600 2248 1602
+rect 812 840 868 842
+rect 892 840 948 842
+rect 812 788 822 840
+rect 822 788 868 840
+rect 892 788 938 840
+rect 938 788 948 840
+rect 812 786 868 788
+rect 892 786 948 788
+<< metal3 >>
+rect 2090 3288 2270 3289
+rect 2090 3224 2108 3288
+rect 2172 3224 2188 3288
+rect 2252 3224 2270 3288
+rect 2090 3223 2270 3224
+rect 790 2474 970 2475
+rect 790 2410 808 2474
+rect 872 2410 888 2474
+rect 952 2410 970 2474
+rect 790 2409 970 2410
+rect 1660 2290 1864 2296
+rect 1660 2226 1670 2290
+rect 1854 2226 1864 2290
+rect 1660 2214 1864 2226
+rect 2090 1660 2270 1661
+rect 2090 1596 2108 1660
+rect 2172 1596 2188 1660
+rect 2252 1596 2270 1660
+rect 2090 1595 2270 1596
+rect 790 846 970 847
+rect 790 782 808 846
+rect 872 782 888 846
+rect 952 782 970 846
+rect 790 781 970 782
+<< via3 >>
+rect 2108 3284 2172 3288
+rect 2108 3228 2112 3284
+rect 2112 3228 2168 3284
+rect 2168 3228 2172 3284
+rect 2108 3224 2172 3228
+rect 2188 3284 2252 3288
+rect 2188 3228 2192 3284
+rect 2192 3228 2248 3284
+rect 2248 3228 2252 3284
+rect 2188 3224 2252 3228
+rect 808 2470 872 2474
+rect 808 2414 812 2470
+rect 812 2414 868 2470
+rect 868 2414 872 2470
+rect 808 2410 872 2414
+rect 888 2470 952 2474
+rect 888 2414 892 2470
+rect 892 2414 948 2470
+rect 948 2414 952 2470
+rect 888 2410 952 2414
+rect 1670 2286 1854 2290
+rect 1670 2226 1854 2286
+rect 2108 1656 2172 1660
+rect 2108 1600 2112 1656
+rect 2112 1600 2168 1656
+rect 2168 1600 2172 1656
+rect 2108 1596 2172 1600
+rect 2188 1656 2252 1660
+rect 2188 1600 2192 1656
+rect 2192 1600 2248 1656
+rect 2248 1600 2252 1656
+rect 2188 1596 2252 1600
+rect 808 842 872 846
+rect 808 786 812 842
+rect 812 786 868 842
+rect 868 786 872 842
+rect 808 782 872 786
+rect 888 842 952 846
+rect 888 786 892 842
+rect 892 786 948 842
+rect 948 786 952 842
+rect 888 782 952 786
+<< metal4 >>
+rect 790 2474 970 3307
+rect 2090 3288 2270 3307
+rect 790 2410 808 2474
+rect 872 2410 888 2474
+rect 952 2410 970 2474
+rect 790 846 970 2410
+rect 1670 2296 1850 3256
+rect 2090 3224 2108 3288
+rect 2172 3224 2188 3288
+rect 2252 3224 2270 3288
+rect 1660 2290 1860 2296
+rect 1660 2226 1670 2290
+rect 1854 2226 1860 2290
+rect 1660 2216 1860 2226
+rect 790 782 808 846
+rect 872 782 888 846
+rect 952 782 970 846
+rect 1670 814 1850 2216
+rect 2090 1660 2270 3224
+rect 2090 1596 2108 1660
+rect 2172 1596 2188 1660
+rect 2252 1596 2270 1660
+rect 790 763 970 782
+rect 2090 763 2270 1596
+rect 2970 814 3150 3256
+use sky130_fd_sc_hvl__decap_8  FILLER_0_0 $PDKPATH/libs.ref/sky130_fd_sc_hvl/mag
+timestamp 1608587411
+transform 1 0 480 0 -1 1628
+box -66 -23 834 897
+use sky130_fd_sc_hvl__decap_8  FILLER_0_8
+timestamp 1608587411
+transform 1 0 1248 0 -1 1628
+box -66 -23 834 897
+use sky130_fd_sc_hvl__decap_8  FILLER_1_0
+timestamp 1608587411
+transform 1 0 480 0 1 1628
+box -66 -23 834 897
+use sky130_fd_sc_hvl__decap_4  FILLER_1_8 $PDKPATH/libs.ref/sky130_fd_sc_hvl/mag
+timestamp 1608587411
+transform 1 0 1248 0 1 1628
+box -66 -23 450 897
+use sky130_fd_sc_hvl__decap_8  FILLER_0_16
+timestamp 1608587411
+transform 1 0 2016 0 -1 1628
+box -66 -23 834 897
+use sky130_fd_sc_hvl__fill_1  FILLER_1_12 $PDKPATH/libs.ref/sky130_fd_sc_hvl/mag
+timestamp 1608587411
+transform 1 0 1632 0 1 1628
+box -66 -23 162 897
+use sky130_fd_sc_hvl__decap_4  FILLER_0_24
+timestamp 1608587411
+transform 1 0 2784 0 -1 1628
+box -66 -23 450 897
+use sky130_fd_sc_hvl__fill_2  FILLER_0_28 $PDKPATH/libs.ref/sky130_fd_sc_hvl/mag
+timestamp 1608587411
+transform 1 0 3168 0 -1 1628
+box -66 -23 258 897
+use sky130_fd_sc_hvl__fill_1  FILLER_0_30
+timestamp 1608587411
+transform 1 0 3360 0 -1 1628
+box -66 -23 162 897
+use sky130_fd_sc_hvl__fill_1  FILLER_1_30
+timestamp 1608587411
+transform 1 0 3360 0 1 1628
+box -66 -23 162 897
+use sky130_fd_sc_hvl__diode_2  ANTENNA_lvlshiftdown_A $PDKPATH/libs.ref/sky130_fd_sc_hvl/mag
+timestamp 1608587411
+transform 1 0 1536 0 -1 3256
+box -66 -23 258 897
+use sky130_fd_sc_hvl__decap_8  FILLER_2_0
+timestamp 1608587411
+transform 1 0 480 0 -1 3256
+box -66 -23 834 897
+use sky130_fd_sc_hvl__fill_2  FILLER_2_8
+timestamp 1608587411
+transform 1 0 1248 0 -1 3256
+box -66 -23 258 897
+use sky130_fd_sc_hvl__fill_1  FILLER_2_10
+timestamp 1608587411
+transform 1 0 1440 0 -1 3256
+box -66 -23 162 897
+use sky130_fd_sc_hvl__fill_1  FILLER_2_30
+timestamp 1608587411
+transform 1 0 3360 0 -1 3256
+box -66 -23 162 897
+use sky130_fd_sc_hvl__lsbufhv2lv_1  lvlshiftdown $PDKPATH/libs.ref/sky130_fd_sc_hvl/mag
+timestamp 1608587411
+transform 1 0 1728 0 1 1628
+box -66 -23 1698 1651
+<< labels >>
+rlabel metal2 s 3284 2600 3340 3800 6 A
+port 0 nsew signal input
+rlabel metal2 s 596 -400 652 800 6 X
+port 1 nsew signal tristate
+rlabel metal4 s 790 763 970 3307 6 VPWR
+port 2 nsew power bidirectional
+rlabel metal4 s 2090 763 2270 3307 6 VGND
+port 3 nsew ground bidirectional
+rlabel metal4 s 1670 814 1850 3256 6 LVPWR
+port 4 nsew power bidirectional
+rlabel metal4 s 2970 814 3150 3256 6 LVGND
+port 5 nsew ground bidirectional
+<< properties >>
+string FIXED_BBOX 0 0 4000 3400
+<< end >>
diff --git a/mag/sram_1rw1r_32_256_8_sky130.mag b/mag/sram_1rw1r_32_256_8_sky130.mag
new file mode 100644
index 0000000..a24a7aa
--- /dev/null
+++ b/mag/sram_1rw1r_32_256_8_sky130.mag
@@ -0,0 +1,426 @@
+magic
+tech sky130A
+magscale 1 2
+timestamp 1613304635
+<< obsactive >>
+rect 1000 1000 76296 90247
+<< obsli1 >>
+rect 1000 1000 76356 90307
+<< obsm1 >>
+rect 1000 1000 76356 90307
+<< obsm2 >>
+rect 1000 1000 76356 90307
+<< metal3 >>
+rect 71856 90307 72204 90428
+rect 76208 90410 77260 90428
+rect 76208 90307 76944 90410
+rect 0 86557 920 86617
+rect 0 85429 920 85489
+rect 0 83729 920 83789
+rect 0 82601 920 82661
+rect 0 80901 920 80961
+rect 0 79773 920 79833
+rect 0 78073 920 78133
+rect 0 20225 920 20285
+rect 0 18525 920 18585
+rect 76356 90088 76944 90307
+rect 77248 90088 77260 90410
+rect 76356 90080 77260 90088
+rect 76436 89653 77296 89713
+rect 76356 88926 76810 88932
+rect 76356 88724 76500 88926
+rect 76804 88724 76810 88926
+rect 76356 88720 76810 88724
+rect 76436 29382 77296 29442
+rect 76436 27682 77296 27742
+rect 76436 26554 77296 26614
+rect 76436 24854 77296 24914
+rect 76436 23726 77296 23786
+rect 76436 22026 77296 22086
+rect 76436 20898 77296 20958
+<< obsm3 >>
+rect 1000 1000 76356 90307
+<< via3 >>
+rect 76944 90088 77248 90410
+rect 76500 88724 76804 88926
+<< metal4 >>
+rect 18805 90407 18865 91247
+rect 20053 90407 20113 91247
+rect 21301 90407 21361 91247
+rect 22549 90407 22609 91247
+rect 23797 90407 23857 91247
+rect 25045 90407 25105 91247
+rect 26293 90407 26353 91247
+rect 27541 90407 27601 91247
+rect 28789 90407 28849 91247
+rect 30037 90407 30097 91247
+rect 31285 90407 31345 91247
+rect 32533 90407 32593 91247
+rect 33781 90407 33841 91247
+rect 35029 90407 35089 91247
+rect 36277 90407 36337 91247
+rect 37525 90407 37585 91247
+rect 38773 90407 38833 91247
+rect 40021 90407 40081 91247
+rect 41269 90407 41329 91247
+rect 42517 90407 42577 91247
+rect 43765 90407 43825 91247
+rect 45013 90407 45073 91247
+rect 46261 90407 46321 91247
+rect 47509 90407 47569 91247
+rect 48757 90407 48817 91247
+rect 50005 90407 50065 91247
+rect 51253 90407 51313 91247
+rect 52501 90407 52561 91247
+rect 53749 90407 53809 91247
+rect 54997 90407 55057 91247
+rect 56245 90407 56305 91247
+rect 57493 90407 57553 91247
+rect 68578 90407 68638 91247
+rect 73573 90407 73633 91247
+rect 76938 90410 77262 90428
+rect 76938 90088 76944 90410
+rect 77248 90088 77262 90410
+rect 76494 88926 76814 88936
+rect 76494 88724 76500 88926
+rect 76804 88724 76814 88926
+rect 3803 0 3863 920
+rect 6802 0 6862 920
+rect 7970 0 8030 920
+rect 9138 0 9198 920
+rect 10306 0 10366 920
+rect 11474 0 11534 920
+rect 12642 0 12702 920
+rect 12766 0 12826 920
+rect 13810 0 13870 920
+rect 13934 0 13994 920
+rect 14978 0 15038 920
+rect 15102 0 15162 920
+rect 16146 0 16206 920
+rect 16270 0 16330 920
+rect 17314 0 17374 920
+rect 17438 0 17498 920
+rect 18482 0 18542 920
+rect 18606 0 18666 920
+rect 19650 0 19710 920
+rect 19774 0 19834 920
+rect 20818 0 20878 920
+rect 20942 0 21002 920
+rect 21986 0 22046 920
+rect 22110 0 22170 920
+rect 23154 0 23214 920
+rect 23278 0 23338 920
+rect 24322 0 24382 920
+rect 24446 0 24506 920
+rect 25490 0 25550 920
+rect 25614 0 25674 920
+rect 26658 0 26718 920
+rect 26782 0 26842 920
+rect 27826 0 27886 920
+rect 27950 0 28010 920
+rect 28994 0 29054 920
+rect 29118 0 29178 920
+rect 30162 0 30222 920
+rect 30286 0 30346 920
+rect 31330 0 31390 920
+rect 31454 0 31514 920
+rect 32498 0 32558 920
+rect 32622 0 32682 920
+rect 33666 0 33726 920
+rect 33790 0 33850 920
+rect 34834 0 34894 920
+rect 34958 0 35018 920
+rect 36002 0 36062 920
+rect 36126 0 36186 920
+rect 37170 0 37230 920
+rect 37294 0 37354 920
+rect 38338 0 38398 920
+rect 38462 0 38522 920
+rect 39506 0 39566 920
+rect 39630 0 39690 920
+rect 40674 0 40734 920
+rect 40798 0 40858 920
+rect 41842 0 41902 920
+rect 41966 0 42026 920
+rect 43010 0 43070 920
+rect 43134 0 43194 920
+rect 44178 0 44238 920
+rect 44302 0 44362 920
+rect 45346 0 45406 920
+rect 45470 0 45530 920
+rect 46514 0 46574 920
+rect 46638 0 46698 920
+rect 47682 0 47742 920
+rect 47806 0 47866 920
+rect 48850 0 48910 920
+rect 48974 0 49034 920
+rect 76494 734 76814 88724
+rect 76938 812 77262 90088
+<< obsm4 >>
+rect 1000 1000 76356 90307
+<< labels >>
+rlabel metal4 s 12642 0 12702 920 6 din0[0]
+port 1 nsew default input
+rlabel metal4 s 13810 0 13870 920 6 din0[1]
+port 2 nsew default input
+rlabel metal4 s 14978 0 15038 920 6 din0[2]
+port 3 nsew default input
+rlabel metal4 s 16146 0 16206 920 6 din0[3]
+port 4 nsew default input
+rlabel metal4 s 17314 0 17374 920 6 din0[4]
+port 5 nsew default input
+rlabel metal4 s 18482 0 18542 920 6 din0[5]
+port 6 nsew default input
+rlabel metal4 s 19650 0 19710 920 6 din0[6]
+port 7 nsew default input
+rlabel metal4 s 20818 0 20878 920 6 din0[7]
+port 8 nsew default input
+rlabel metal4 s 21986 0 22046 920 6 din0[8]
+port 9 nsew default input
+rlabel metal4 s 23154 0 23214 920 6 din0[9]
+port 10 nsew default input
+rlabel metal4 s 24322 0 24382 920 6 din0[10]
+port 11 nsew default input
+rlabel metal4 s 25490 0 25550 920 6 din0[11]
+port 12 nsew default input
+rlabel metal4 s 26658 0 26718 920 6 din0[12]
+port 13 nsew default input
+rlabel metal4 s 27826 0 27886 920 6 din0[13]
+port 14 nsew default input
+rlabel metal4 s 28994 0 29054 920 6 din0[14]
+port 15 nsew default input
+rlabel metal4 s 30162 0 30222 920 6 din0[15]
+port 16 nsew default input
+rlabel metal4 s 31330 0 31390 920 6 din0[16]
+port 17 nsew default input
+rlabel metal4 s 32498 0 32558 920 6 din0[17]
+port 18 nsew default input
+rlabel metal4 s 33666 0 33726 920 6 din0[18]
+port 19 nsew default input
+rlabel metal4 s 34834 0 34894 920 6 din0[19]
+port 20 nsew default input
+rlabel metal4 s 36002 0 36062 920 6 din0[20]
+port 21 nsew default input
+rlabel metal4 s 37170 0 37230 920 6 din0[21]
+port 22 nsew default input
+rlabel metal4 s 38338 0 38398 920 6 din0[22]
+port 23 nsew default input
+rlabel metal4 s 39506 0 39566 920 6 din0[23]
+port 24 nsew default input
+rlabel metal4 s 40674 0 40734 920 6 din0[24]
+port 25 nsew default input
+rlabel metal4 s 41842 0 41902 920 6 din0[25]
+port 26 nsew default input
+rlabel metal4 s 43010 0 43070 920 6 din0[26]
+port 27 nsew default input
+rlabel metal4 s 44178 0 44238 920 6 din0[27]
+port 28 nsew default input
+rlabel metal4 s 45346 0 45406 920 6 din0[28]
+port 29 nsew default input
+rlabel metal4 s 46514 0 46574 920 6 din0[29]
+port 30 nsew default input
+rlabel metal4 s 47682 0 47742 920 6 din0[30]
+port 31 nsew default input
+rlabel metal4 s 48850 0 48910 920 6 din0[31]
+port 32 nsew default input
+rlabel metal4 s 6802 0 6862 920 6 addr0[0]
+port 33 nsew default input
+rlabel metal3 s 0 78073 920 78133 6 addr0[1]
+port 34 nsew default input
+rlabel metal3 s 0 79773 920 79833 6 addr0[2]
+port 35 nsew default input
+rlabel metal3 s 0 80901 920 80961 6 addr0[3]
+port 36 nsew default input
+rlabel metal3 s 0 82601 920 82661 6 addr0[4]
+port 37 nsew default input
+rlabel metal3 s 0 83729 920 83789 6 addr0[5]
+port 38 nsew default input
+rlabel metal3 s 0 85429 920 85489 6 addr0[6]
+port 39 nsew default input
+rlabel metal3 s 0 86557 920 86617 6 addr0[7]
+port 40 nsew default input
+rlabel metal4 s 68578 90407 68638 91247 6 addr1[0]
+port 41 nsew default input
+rlabel metal3 s 76436 29382 77296 29442 6 addr1[1]
+port 42 nsew default input
+rlabel metal3 s 76436 27682 77296 27742 6 addr1[2]
+port 43 nsew default input
+rlabel metal3 s 76436 26554 77296 26614 6 addr1[3]
+port 44 nsew default input
+rlabel metal3 s 76436 24854 77296 24914 6 addr1[4]
+port 45 nsew default input
+rlabel metal3 s 76436 23726 77296 23786 6 addr1[5]
+port 46 nsew default input
+rlabel metal3 s 76436 22026 77296 22086 6 addr1[6]
+port 47 nsew default input
+rlabel metal3 s 76436 20898 77296 20958 6 addr1[7]
+port 48 nsew default input
+rlabel metal3 s 0 18525 920 18585 6 csb0
+port 49 nsew default input
+rlabel metal3 s 76436 89653 77296 89713 6 csb1
+port 50 nsew default input
+rlabel metal3 s 0 20225 920 20285 6 web0
+port 51 nsew default input
+rlabel metal4 s 3803 0 3863 920 6 clk0
+port 52 nsew default input
+rlabel metal4 s 73573 90407 73633 91247 6 clk1
+port 53 nsew default input
+rlabel metal4 s 7970 0 8030 920 6 wmask0[0]
+port 54 nsew default input
+rlabel metal4 s 9138 0 9198 920 6 wmask0[1]
+port 55 nsew default input
+rlabel metal4 s 10306 0 10366 920 6 wmask0[2]
+port 56 nsew default input
+rlabel metal4 s 11474 0 11534 920 6 wmask0[3]
+port 57 nsew default input
+rlabel metal4 s 12766 0 12826 920 6 dout0[0]
+port 58 nsew default output
+rlabel metal4 s 13934 0 13994 920 6 dout0[1]
+port 59 nsew default output
+rlabel metal4 s 15102 0 15162 920 6 dout0[2]
+port 60 nsew default output
+rlabel metal4 s 16270 0 16330 920 6 dout0[3]
+port 61 nsew default output
+rlabel metal4 s 17438 0 17498 920 6 dout0[4]
+port 62 nsew default output
+rlabel metal4 s 18606 0 18666 920 6 dout0[5]
+port 63 nsew default output
+rlabel metal4 s 19774 0 19834 920 6 dout0[6]
+port 64 nsew default output
+rlabel metal4 s 20942 0 21002 920 6 dout0[7]
+port 65 nsew default output
+rlabel metal4 s 22110 0 22170 920 6 dout0[8]
+port 66 nsew default output
+rlabel metal4 s 23278 0 23338 920 6 dout0[9]
+port 67 nsew default output
+rlabel metal4 s 24446 0 24506 920 6 dout0[10]
+port 68 nsew default output
+rlabel metal4 s 25614 0 25674 920 6 dout0[11]
+port 69 nsew default output
+rlabel metal4 s 26782 0 26842 920 6 dout0[12]
+port 70 nsew default output
+rlabel metal4 s 27950 0 28010 920 6 dout0[13]
+port 71 nsew default output
+rlabel metal4 s 29118 0 29178 920 6 dout0[14]
+port 72 nsew default output
+rlabel metal4 s 30286 0 30346 920 6 dout0[15]
+port 73 nsew default output
+rlabel metal4 s 31454 0 31514 920 6 dout0[16]
+port 74 nsew default output
+rlabel metal4 s 32622 0 32682 920 6 dout0[17]
+port 75 nsew default output
+rlabel metal4 s 33790 0 33850 920 6 dout0[18]
+port 76 nsew default output
+rlabel metal4 s 34958 0 35018 920 6 dout0[19]
+port 77 nsew default output
+rlabel metal4 s 36126 0 36186 920 6 dout0[20]
+port 78 nsew default output
+rlabel metal4 s 37294 0 37354 920 6 dout0[21]
+port 79 nsew default output
+rlabel metal4 s 38462 0 38522 920 6 dout0[22]
+port 80 nsew default output
+rlabel metal4 s 39630 0 39690 920 6 dout0[23]
+port 81 nsew default output
+rlabel metal4 s 40798 0 40858 920 6 dout0[24]
+port 82 nsew default output
+rlabel metal4 s 41966 0 42026 920 6 dout0[25]
+port 83 nsew default output
+rlabel metal4 s 43134 0 43194 920 6 dout0[26]
+port 84 nsew default output
+rlabel metal4 s 44302 0 44362 920 6 dout0[27]
+port 85 nsew default output
+rlabel metal4 s 45470 0 45530 920 6 dout0[28]
+port 86 nsew default output
+rlabel metal4 s 46638 0 46698 920 6 dout0[29]
+port 87 nsew default output
+rlabel metal4 s 47806 0 47866 920 6 dout0[30]
+port 88 nsew default output
+rlabel metal4 s 48974 0 49034 920 6 dout0[31]
+port 89 nsew default output
+rlabel metal4 s 18805 90407 18865 91247 6 dout1[0]
+port 90 nsew default output
+rlabel metal4 s 20053 90407 20113 91247 6 dout1[1]
+port 91 nsew default output
+rlabel metal4 s 21301 90407 21361 91247 6 dout1[2]
+port 92 nsew default output
+rlabel metal4 s 22549 90407 22609 91247 6 dout1[3]
+port 93 nsew default output
+rlabel metal4 s 23797 90407 23857 91247 6 dout1[4]
+port 94 nsew default output
+rlabel metal4 s 25045 90407 25105 91247 6 dout1[5]
+port 95 nsew default output
+rlabel metal4 s 26293 90407 26353 91247 6 dout1[6]
+port 96 nsew default output
+rlabel metal4 s 27541 90407 27601 91247 6 dout1[7]
+port 97 nsew default output
+rlabel metal4 s 28789 90407 28849 91247 6 dout1[8]
+port 98 nsew default output
+rlabel metal4 s 30037 90407 30097 91247 6 dout1[9]
+port 99 nsew default output
+rlabel metal4 s 31285 90407 31345 91247 6 dout1[10]
+port 100 nsew default output
+rlabel metal4 s 32533 90407 32593 91247 6 dout1[11]
+port 101 nsew default output
+rlabel metal4 s 33781 90407 33841 91247 6 dout1[12]
+port 102 nsew default output
+rlabel metal4 s 35029 90407 35089 91247 6 dout1[13]
+port 103 nsew default output
+rlabel metal4 s 36277 90407 36337 91247 6 dout1[14]
+port 104 nsew default output
+rlabel metal4 s 37525 90407 37585 91247 6 dout1[15]
+port 105 nsew default output
+rlabel metal4 s 38773 90407 38833 91247 6 dout1[16]
+port 106 nsew default output
+rlabel metal4 s 40021 90407 40081 91247 6 dout1[17]
+port 107 nsew default output
+rlabel metal4 s 41269 90407 41329 91247 6 dout1[18]
+port 108 nsew default output
+rlabel metal4 s 42517 90407 42577 91247 6 dout1[19]
+port 109 nsew default output
+rlabel metal4 s 43765 90407 43825 91247 6 dout1[20]
+port 110 nsew default output
+rlabel metal4 s 45013 90407 45073 91247 6 dout1[21]
+port 111 nsew default output
+rlabel metal4 s 46261 90407 46321 91247 6 dout1[22]
+port 112 nsew default output
+rlabel metal4 s 47509 90407 47569 91247 6 dout1[23]
+port 113 nsew default output
+rlabel metal4 s 48757 90407 48817 91247 6 dout1[24]
+port 114 nsew default output
+rlabel metal4 s 50005 90407 50065 91247 6 dout1[25]
+port 115 nsew default output
+rlabel metal4 s 51253 90407 51313 91247 6 dout1[26]
+port 116 nsew default output
+rlabel metal4 s 52501 90407 52561 91247 6 dout1[27]
+port 117 nsew default output
+rlabel metal4 s 53749 90407 53809 91247 6 dout1[28]
+port 118 nsew default output
+rlabel metal4 s 54997 90407 55057 91247 6 dout1[29]
+port 119 nsew default output
+rlabel metal4 s 56245 90407 56305 91247 6 dout1[30]
+port 120 nsew default output
+rlabel metal4 s 57493 90407 57553 91247 6 dout1[31]
+port 121 nsew default output
+rlabel metal4 s 76494 734 76814 88936 6 vdd
+port 122 nsew power bidirectional
+rlabel via3 s 76500 88724 76804 88926 6 vdd
+port 122 nsew power bidirectional
+rlabel metal3 s 76208 88720 76810 88932 6 vdd
+port 122 nsew power bidirectional
+rlabel metal3 s 71856 90216 72204 90428 6 gnd
+port 123 nsew ground bidirectional
+rlabel metal4 s 76938 812 77262 90428 6 gnd
+port 123 nsew ground bidirectional
+rlabel via3 s 76944 90088 77248 90410 6 gnd
+port 123 nsew ground bidirectional
+rlabel metal3 s 76208 90080 77260 90428 6 gnd
+port 123 nsew ground bidirectional
+<< properties >>
+string LEFclass BLOCK
+string FIXED_BBOX 0 0 77296 91247
+string LEFsymmetry X Y R90
+string LEFview TRUE
+string GDS_FILE ../gds/sram_1rw1r_32_256_8_sky130.gds
+string GDS_END 13299042
+string GDS_START 13275442
+<< 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 >>