Corrected the gpio_defaults_block layout to allow for via programming,

and modified the gen_gpio_defaults.py script to pass the correct via
positions for via programming.
This commit is contained in:
Tim Edwards 2023-04-20 12:34:22 -04:00
parent 06d1875c96
commit 5fed40ad5b
2 changed files with 262 additions and 255 deletions

View File

@ -1,21 +1,21 @@
magic
tech sky130A
magscale 1 2
timestamp 1677507572
timestamp 1682005840
<< viali >>
rect 949 3961 983 3995
rect 1593 3893 1627 3927
rect 1501 3689 1535 3723
rect 2329 3553 2363 3587
rect 1041 3145 1075 3179
rect 1685 2873 1719 2907
rect 1041 2601 1075 2635
rect 949 4097 983 4131
rect 1593 4097 1627 4131
rect 1501 3485 1535 3519
rect 2329 3485 2363 3519
rect 1041 3009 1075 3043
rect 1685 3009 1719 3043
rect 1041 2397 1075 2431
rect 1041 1921 1075 1955
rect 2421 1785 2455 1819
rect 1777 1717 1811 1751
rect 2329 1513 2363 1547
rect 949 1377 983 1411
rect 1777 1921 1811 1955
rect 2421 1921 2455 1955
rect 949 1309 983 1343
rect 1593 1309 1627 1343
rect 2329 1309 2363 1343
<< metal1 >>
rect 460 4378 3220 4400
rect 460 4326 2698 4378
@ -24,24 +24,24 @@ rect 2814 4326 2826 4378
rect 2878 4326 2890 4378
rect 2942 4326 3220 4378
rect 460 4304 3220 4326
rect 937 3995 995 4001
rect 937 3961 949 3995
rect 983 3992 995 3995
rect 1118 3992 1124 4004
rect 983 3964 1124 3992
rect 983 3961 995 3964
rect 937 3955 995 3961
rect 1118 3952 1124 3964
rect 937 4128 995 4137
rect 1121 4128 1179 4137
rect 1581 4128 1639 4137
rect 1765 4128 1823 4137
rect 937 4100 1179 4128
rect 937 4091 995 4100
rect 1121 4091 1179 4100
rect 1373 4100 1823 4128
rect 1136 4004 1164 4091
rect 1118 3952 1124 4004
rect 1176 3952 1182 4004
rect 1210 3884 1216 3936
rect 1268 3924 1274 3936
rect 1581 3927 1639 3933
rect 1581 3924 1593 3927
rect 1268 3896 1593 3924
rect 1373 3924 1401 4100
rect 1581 4091 1639 4100
rect 1765 4091 1823 4100
rect 1268 3896 1401 3924
rect 1268 3884 1274 3896
rect 1581 3893 1593 3896
rect 1627 3893 1639 3927
rect 1581 3887 1639 3893
rect 460 3834 3220 3856
rect 460 3782 818 3834
rect 870 3782 882 3834
@ -50,23 +50,23 @@ rect 998 3782 1010 3834
rect 1062 3782 3220 3834
rect 460 3760 3220 3782
rect 1394 3680 1400 3732
rect 1452 3720 1458 3732
rect 1489 3723 1547 3729
rect 1489 3720 1501 3723
rect 1452 3692 1501 3720
rect 1452 3680 1458 3692
rect 1489 3689 1501 3692
rect 1535 3689 1547 3723
rect 1489 3683 1547 3689
rect 1486 3544 1492 3596
rect 1544 3584 1550 3596
rect 2317 3587 2375 3593
rect 2317 3584 2329 3587
rect 1544 3556 2329 3584
rect 1544 3544 1550 3556
rect 2317 3553 2329 3556
rect 2363 3553 2375 3587
rect 2317 3547 2375 3553
rect 1452 3680 1458 3732
rect 1415 3516 1443 3680
rect 1486 3612 1492 3664
rect 1544 3652 1550 3664
rect 1544 3624 2112 3652
rect 1544 3612 1550 3624
rect 1489 3516 1547 3525
rect 1673 3516 1731 3525
rect 1415 3488 1731 3516
rect 2084 3516 2112 3624
rect 2317 3516 2375 3525
rect 2501 3516 2559 3525
rect 2084 3488 2559 3516
rect 1489 3479 1547 3488
rect 1673 3479 1731 3488
rect 2317 3479 2375 3488
rect 2501 3479 2559 3488
rect 460 3290 3220 3312
rect 460 3238 2698 3290
rect 2750 3238 2762 3290
@ -76,22 +76,24 @@ rect 2942 3238 3220 3290
rect 460 3216 3220 3238
rect 658 3136 664 3188
rect 716 3176 722 3188
rect 1029 3179 1087 3185
rect 1029 3176 1041 3179
rect 716 3148 1041 3176
rect 716 3148 894 3176
rect 716 3136 722 3148
rect 1029 3145 1041 3148
rect 1075 3145 1087 3179
rect 1029 3139 1087 3145
rect 866 3040 894 3148
rect 1029 3040 1087 3049
rect 1213 3040 1271 3049
rect 1673 3040 1731 3049
rect 1857 3040 1915 3049
rect 866 3012 1271 3040
rect 1029 3003 1087 3012
rect 1213 3003 1271 3012
rect 1403 3012 1915 3040
rect 1118 2864 1124 2916
rect 1176 2904 1182 2916
rect 1673 2907 1731 2913
rect 1673 2904 1685 2907
rect 1176 2876 1685 2904
rect 1403 2904 1431 3012
rect 1673 3003 1731 3012
rect 1857 3003 1915 3012
rect 1176 2876 1431 2904
rect 1176 2864 1182 2876
rect 1673 2873 1685 2876
rect 1719 2873 1731 2907
rect 1673 2867 1731 2873
rect 460 2746 3220 2768
rect 460 2694 818 2746
rect 870 2694 882 2746
@ -99,15 +101,14 @@ rect 934 2694 946 2746
rect 998 2694 1010 2746
rect 1062 2694 3220 2746
rect 460 2672 3220 2694
rect 1029 2635 1087 2641
rect 1029 2601 1041 2635
rect 1075 2632 1087 2635
rect 1118 2632 1124 2644
rect 1075 2604 1124 2632
rect 1075 2601 1087 2604
rect 1029 2595 1087 2601
rect 1118 2592 1124 2604
rect 1118 2592 1124 2644
rect 1176 2592 1182 2644
rect 1029 2428 1087 2437
rect 1133 2428 1161 2592
rect 1213 2428 1271 2437
rect 1029 2400 1271 2428
rect 1029 2391 1087 2400
rect 1213 2391 1271 2400
rect 460 2202 3220 2224
rect 460 2150 2698 2202
rect 2750 2150 2762 2202
@ -115,33 +116,34 @@ rect 2814 2150 2826 2202
rect 2878 2150 2890 2202
rect 2942 2150 3220 2202
rect 460 2128 3220 2150
rect 1029 1955 1087 1961
rect 1029 1921 1041 1955
rect 1075 1952 1087 1955
rect 1029 1952 1087 1961
rect 1118 1952 1124 1964
rect 1075 1924 1124 1952
rect 1075 1921 1087 1924
rect 1029 1915 1087 1921
rect 1029 1924 1124 1952
rect 1029 1915 1087 1924
rect 1118 1912 1124 1924
rect 1176 1912 1182 1964
rect 1176 1952 1182 1964
rect 1213 1952 1271 1961
rect 1176 1924 1271 1952
rect 1176 1912 1182 1924
rect 1213 1915 1271 1924
rect 1302 1912 1308 1964
rect 1360 1952 1366 1964
rect 1765 1952 1823 1961
rect 1949 1952 2007 1961
rect 2409 1952 2467 1961
rect 2593 1952 2651 1961
rect 1360 1924 2007 1952
rect 1360 1912 1366 1924
rect 1765 1915 1823 1924
rect 1949 1915 2007 1924
rect 2244 1924 2651 1952
rect 566 1776 572 1828
rect 624 1816 630 1828
rect 2409 1819 2467 1825
rect 2409 1816 2421 1819
rect 624 1788 2421 1816
rect 2244 1816 2272 1924
rect 2409 1915 2467 1924
rect 2593 1915 2651 1924
rect 624 1788 2272 1816
rect 624 1776 630 1788
rect 2409 1785 2421 1788
rect 2455 1785 2467 1819
rect 2409 1779 2467 1785
rect 1302 1708 1308 1760
rect 1360 1748 1366 1760
rect 1765 1751 1823 1757
rect 1765 1748 1777 1751
rect 1360 1720 1777 1748
rect 1360 1708 1366 1720
rect 1765 1717 1777 1720
rect 1811 1717 1823 1751
rect 1765 1711 1823 1717
rect 460 1658 3220 1680
rect 460 1606 818 1658
rect 870 1606 882 1658
@ -151,31 +153,34 @@ rect 1062 1606 3220 1658
rect 460 1584 3220 1606
rect 1210 1504 1216 1556
rect 1268 1544 1274 1556
rect 2317 1547 2375 1553
rect 2317 1544 2329 1547
rect 1268 1516 2329 1544
rect 1268 1516 2012 1544
rect 1268 1504 1274 1516
rect 2317 1513 2329 1516
rect 2363 1513 2375 1547
rect 2317 1507 2375 1513
rect 1118 1436 1124 1488
rect 1176 1476 1182 1488
rect 1176 1448 1475 1476
rect 1176 1436 1182 1448
rect 658 1368 664 1420
rect 716 1408 722 1420
rect 937 1411 995 1417
rect 937 1408 949 1411
rect 716 1380 949 1408
rect 716 1380 855 1408
rect 716 1368 722 1380
rect 937 1377 949 1380
rect 983 1377 995 1411
rect 937 1371 995 1377
rect 1118 1300 1124 1352
rect 1176 1340 1182 1352
rect 1581 1343 1639 1349
rect 1581 1340 1593 1343
rect 1176 1312 1593 1340
rect 1176 1300 1182 1312
rect 1581 1309 1593 1312
rect 1627 1309 1639 1343
rect 1581 1303 1639 1309
rect 827 1340 855 1380
rect 937 1340 995 1349
rect 1121 1340 1179 1349
rect 827 1312 1179 1340
rect 1447 1340 1475 1448
rect 1581 1340 1639 1349
rect 1765 1340 1823 1349
rect 1447 1312 1823 1340
rect 1984 1340 2012 1516
rect 2317 1340 2375 1349
rect 2501 1340 2559 1349
rect 1984 1312 2559 1340
rect 937 1303 995 1312
rect 1121 1303 1179 1312
rect 1581 1303 1639 1312
rect 1765 1303 1823 1312
rect 2317 1303 2375 1312
rect 2501 1303 2559 1312
rect 460 1114 3220 1136
rect 460 1062 2698 1114
rect 2750 1062 2762 1114
@ -195,7 +200,7 @@ rect 882 3782 934 3834
rect 946 3782 998 3834
rect 1010 3782 1062 3834
rect 1400 3680 1452 3732
rect 1492 3544 1544 3596
rect 1492 3612 1544 3664
rect 2698 3238 2750 3290
rect 2762 3238 2814 3290
rect 2826 3238 2878 3290
@ -212,15 +217,15 @@ rect 2762 2150 2814 2202
rect 2826 2150 2878 2202
rect 2890 2150 2942 2202
rect 1124 1912 1176 1964
rect 1308 1912 1360 1964
rect 572 1776 624 1828
rect 1308 1708 1360 1760
rect 818 1606 870 1658
rect 882 1606 934 1658
rect 946 1606 998 1658
rect 1010 1606 1062 1658
rect 1216 1504 1268 1556
rect 1124 1436 1176 1488
rect 664 1368 716 1420
rect 1124 1300 1176 1352
rect 2698 1062 2750 1114
rect 2762 1062 2814 1114
rect 2826 1062 2878 1114
@ -270,9 +275,9 @@ rect 1320 3732 1452 3738
rect 1320 3726 1400 3732
rect 1214 3703 1270 3712
rect 1400 3674 1452 3680
rect 1504 3602 1532 3862
rect 1492 3596 1544 3602
rect 1492 3538 1544 3544
rect 1504 3670 1532 3862
rect 1492 3664 1544 3670
rect 1492 3606 1544 3612
rect 2680 3516 2960 4326
rect 2680 3460 2712 3516
rect 2768 3460 2792 3516
@ -328,6 +333,8 @@ rect 968 1900 992 1956
rect 1048 1900 1080 1956
rect 1124 1964 1176 1970
rect 1124 1906 1176 1912
rect 1308 1964 1360 1970
rect 1308 1906 1360 1912
rect 800 1876 1080 1900
rect 572 1828 624 1834
rect 572 1770 624 1776
@ -337,8 +344,6 @@ rect 968 1820 992 1876
rect 1048 1820 1080 1876
rect 584 490 612 1770
rect 800 1658 1080 1820
rect 1308 1760 1360 1766
rect 1308 1702 1360 1708
rect 800 1606 818 1658
rect 870 1606 882 1658
rect 934 1606 946 1658
@ -354,15 +359,15 @@ rect 1214 1592 1270 1601
rect 1214 1527 1216 1536
rect 1268 1527 1270 1536
rect 1216 1498 1268 1504
rect 1124 1352 1176 1358
rect 1122 1320 1124 1329
rect 1176 1320 1178 1329
rect 1124 1488 1176 1494
rect 1124 1329 1176 1436
rect 1122 1320 1178 1329
rect 1122 1255 1178 1264
rect 754 490 810 600
rect 584 462 810 490
rect 754 -600 810 462
rect 1122 490 1178 600
rect 1320 490 1348 1702
rect 1320 490 1348 1906
rect 2680 1114 2960 2150
rect 2680 1062 2698 1114
rect 2750 1062 2762 1114
@ -411,10 +416,7 @@ rect 1214 1556 1270 1592
rect 1214 1536 1216 1556
rect 1216 1536 1268 1556
rect 1268 1536 1270 1556
rect 1122 1300 1124 1320
rect 1124 1300 1176 1320
rect 1176 1300 1178 1320
rect 1122 1264 1178 1300
rect 1122 1264 1178 1320
<< metal3 >>
rect 657 4450 723 4453
rect 657 4448 858 4450
@ -525,229 +527,229 @@ rect 798 1050 858 1126
rect -600 990 858 1050
rect -600 960 600 990
use sky130_fd_sc_hd__fill_2 FILLER_0_3 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1673029049
timestamp 1681316767
transform 1 0 736 0 1 1088
box -38 -48 222 592
use sky130_fd_sc_hd__decap_4 FILLER_0_8 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1673029049
timestamp 1681316767
transform 1 0 1196 0 1 1088
box -38 -48 406 592
use sky130_fd_sc_hd__fill_2 FILLER_0_15
timestamp 1673029049
timestamp 1681316767
transform 1 0 1840 0 1 1088
box -38 -48 222 592
use sky130_fd_sc_hd__fill_2 FILLER_0_18
timestamp 1673029049
timestamp 1681316767
transform 1 0 2116 0 1 1088
box -38 -48 222 592
use sky130_fd_sc_hd__decap_4 FILLER_0_23
timestamp 1673029049
timestamp 1681316767
transform 1 0 2576 0 1 1088
box -38 -48 406 592
use sky130_fd_sc_hd__decap_3 FILLER_1_3 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1673029049
timestamp 1681316767
transform 1 0 736 0 -1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_4 FILLER_1_9
timestamp 1673029049
timestamp 1681316767
transform 1 0 1288 0 -1 2176
box -38 -48 406 592
use sky130_fd_sc_hd__fill_1 FILLER_1_13 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1673029049
timestamp 1681316767
transform 1 0 1656 0 -1 2176
box -38 -48 130 592
use sky130_fd_sc_hd__decap_4 FILLER_1_17
timestamp 1673029049
timestamp 1681316767
transform 1 0 2024 0 -1 2176
box -38 -48 406 592
use sky130_fd_sc_hd__decap_3 FILLER_1_24
timestamp 1673029049
timestamp 1681316767
transform 1 0 2668 0 -1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 FILLER_2_3
timestamp 1673029049
timestamp 1681316767
transform 1 0 736 0 1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_8 FILLER_2_9 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1673029049
timestamp 1681316767
transform 1 0 1288 0 1 2176
box -38 -48 774 592
use sky130_fd_sc_hd__decap_8 FILLER_2_18
timestamp 1673029049
timestamp 1681316767
transform 1 0 2116 0 1 2176
box -38 -48 774 592
use sky130_fd_sc_hd__fill_1 FILLER_2_26
timestamp 1673029049
timestamp 1681316767
transform 1 0 2852 0 1 2176
box -38 -48 130 592
use sky130_fd_sc_hd__decap_3 FILLER_3_3
timestamp 1673029049
timestamp 1681316767
transform 1 0 736 0 -1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__decap_4 FILLER_3_9
timestamp 1673029049
timestamp 1681316767
transform 1 0 1288 0 -1 3264
box -38 -48 406 592
use sky130_fd_sc_hd__decap_8 FILLER_3_16
timestamp 1673029049
timestamp 1681316767
transform 1 0 1932 0 -1 3264
box -38 -48 774 592
use sky130_fd_sc_hd__decap_3 FILLER_3_24
timestamp 1673029049
timestamp 1681316767
transform 1 0 2668 0 -1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__decap_8 FILLER_4_3
timestamp 1673029049
timestamp 1681316767
transform 1 0 736 0 1 3264
box -38 -48 774 592
use sky130_fd_sc_hd__decap_3 FILLER_4_14
timestamp 1673029049
timestamp 1681316767
transform 1 0 1748 0 1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__fill_2 FILLER_4_18
timestamp 1673029049
timestamp 1681316767
transform 1 0 2116 0 1 3264
box -38 -48 222 592
use sky130_fd_sc_hd__decap_4 FILLER_4_23
timestamp 1673029049
timestamp 1681316767
transform 1 0 2576 0 1 3264
box -38 -48 406 592
use sky130_fd_sc_hd__fill_2 FILLER_5_3
timestamp 1673029049
timestamp 1681316767
transform 1 0 736 0 -1 4352
box -38 -48 222 592
use sky130_fd_sc_hd__decap_4 FILLER_5_8
timestamp 1673029049
timestamp 1681316767
transform 1 0 1196 0 -1 4352
box -38 -48 406 592
use sky130_fd_sc_hd__fill_2 FILLER_5_15
timestamp 1673029049
timestamp 1681316767
transform 1 0 1840 0 -1 4352
box -38 -48 222 592
use sky130_fd_sc_hd__decap_8 FILLER_5_18
timestamp 1673029049
timestamp 1681316767
transform 1 0 2116 0 -1 4352
box -38 -48 774 592
use sky130_fd_sc_hd__fill_1 FILLER_5_26
timestamp 1673029049
timestamp 1681316767
transform 1 0 2852 0 -1 4352
box -38 -48 130 592
use sky130_fd_sc_hd__decap_3 PHY_0
timestamp 1673029049
transform 1 0 460 0 1 1088
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_1
timestamp 1673029049
transform -1 0 3220 0 1 1088
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_2
timestamp 1673029049
transform 1 0 460 0 -1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_3
timestamp 1673029049
transform -1 0 3220 0 -1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_4
timestamp 1673029049
transform 1 0 460 0 1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_5
timestamp 1673029049
transform -1 0 3220 0 1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_6
timestamp 1673029049
transform 1 0 460 0 -1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_7
timestamp 1673029049
transform -1 0 3220 0 -1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_8
timestamp 1673029049
transform 1 0 460 0 1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_9
timestamp 1673029049
transform -1 0 3220 0 1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_10
timestamp 1673029049
transform 1 0 460 0 -1 4352
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_11
timestamp 1673029049
transform -1 0 3220 0 -1 4352
box -38 -48 314 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_12 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1673029049
transform 1 0 2024 0 1 1088
box -38 -48 130 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_13
timestamp 1673029049
transform 1 0 2024 0 1 2176
box -38 -48 130 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_14
timestamp 1673029049
transform 1 0 2024 0 1 3264
box -38 -48 130 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_15
timestamp 1673029049
transform 1 0 2024 0 -1 4352
box -38 -48 130 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[0\] $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1673029049
timestamp 1681316767
transform -1 0 1748 0 1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[1\]
timestamp 1673029049
transform 1 0 2300 0 1 3264
timestamp 1681316767
transform -1 0 2576 0 1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[2\]
timestamp 1673029049
timestamp 1681316767
transform -1 0 1196 0 1 1088
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[3\]
timestamp 1673029049
timestamp 1681316767
transform -1 0 1840 0 1 1088
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[4\]
timestamp 1673029049
timestamp 1681316767
transform -1 0 2576 0 1 1088
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[5\]
timestamp 1673029049
timestamp 1681316767
transform -1 0 1288 0 -1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[6\]
timestamp 1673029049
timestamp 1681316767
transform -1 0 1288 0 1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[7\]
timestamp 1673029049
timestamp 1681316767
transform -1 0 1932 0 -1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[8\]
timestamp 1673029049
timestamp 1681316767
transform -1 0 1840 0 -1 4352
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[9\]
timestamp 1673029049
timestamp 1681316767
transform -1 0 1196 0 -1 4352
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[10\]
timestamp 1673029049
transform 1 0 1012 0 -1 3264
timestamp 1681316767
transform -1 0 1288 0 -1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[11\]
timestamp 1673029049
timestamp 1681316767
transform -1 0 2668 0 -1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[12\]
timestamp 1673029049
timestamp 1681316767
transform -1 0 2024 0 -1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_0
timestamp 1681316767
transform 1 0 460 0 1 1088
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_1
timestamp 1681316767
transform -1 0 3220 0 1 1088
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_2
timestamp 1681316767
transform 1 0 460 0 -1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_3
timestamp 1681316767
transform -1 0 3220 0 -1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_4
timestamp 1681316767
transform 1 0 460 0 1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_5
timestamp 1681316767
transform -1 0 3220 0 1 2176
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_6
timestamp 1681316767
transform 1 0 460 0 -1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_7
timestamp 1681316767
transform -1 0 3220 0 -1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_8
timestamp 1681316767
transform 1 0 460 0 1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_9
timestamp 1681316767
transform -1 0 3220 0 1 3264
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_10
timestamp 1681316767
transform 1 0 460 0 -1 4352
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_11
timestamp 1681316767
transform -1 0 3220 0 -1 4352
box -38 -48 314 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_12 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1681316767
transform 1 0 2024 0 1 1088
box -38 -48 130 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_13
timestamp 1681316767
transform 1 0 2024 0 1 2176
box -38 -48 130 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_14
timestamp 1681316767
transform 1 0 2024 0 1 3264
box -38 -48 130 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_15
timestamp 1681316767
transform 1 0 2024 0 -1 4352
box -38 -48 130 592
<< labels >>
flabel metal2 s 2680 1040 2960 4400 0 FreeSans 1792 90 0 0 VGND
port 0 nsew ground bidirectional
@ -786,18 +788,19 @@ port 14 nsew signal tristate
rlabel metal1 1840 4352 1840 4352 0 VGND
rlabel metal1 1840 3808 1840 3808 0 VPWR
rlabel metal1 874 3162 874 3162 0 gpio_defaults_high\[10\]
rlabel metal1 1932 3570 1932 3570 0 gpio_defaults_high\[1\]
rlabel metal1 1472 3706 1472 3706 0 gpio_defaults_low\[0\]
rlabel metal2 683 476 683 476 0 gpio_defaults_low\[11\]
rlabel metal2 1249 476 1249 476 0 gpio_defaults_low\[12\]
rlabel metal3 659 1020 659 1020 0 gpio_defaults_low\[2\]
rlabel metal3 820 1292 820 1292 0 gpio_defaults_low\[3\]
rlabel metal1 1794 1530 1794 1530 0 gpio_defaults_low\[4\]
rlabel metal1 1104 1938 1104 1938 0 gpio_defaults_low\[5\]
rlabel metal1 1104 2618 1104 2618 0 gpio_defaults_low\[6\]
rlabel metal3 820 2924 820 2924 0 gpio_defaults_low\[7\]
rlabel metal3 866 3740 866 3740 0 gpio_defaults_low\[8\]
rlabel metal3 820 4012 820 4012 0 gpio_defaults_low\[9\]
rlabel metal1 1844 1938 1844 1938 0 gpio_defaults_low\[5\]
rlabel metal1 1472 3502 1472 3502 0 gpio_defaults_low\[0\]
rlabel metal1 1932 3638 1932 3638 0 gpio_defaults_high\[1\]
rlabel metal1 1104 2414 1104 2414 0 gpio_defaults_low\[6\]
<< properties >>
string FIXED_BBOX 0 0 3400 5600
<< end >>

View File

@ -38,7 +38,7 @@
#
# gpio_defaults_block layout map:
# Positions marked (in microns) for value = 0. For value = 1, move
# the via 0.69um to the left. The given position is the lower left
# the via 0.92um to the right. The given position is the lower left
# corner position of the via. The via itself is 0.17um x 0.17um.
# The values below are for the file gpio_defaults_block_1403.
# Positions marked "Y" for "Programmed One?" are already moved to
@ -48,19 +48,19 @@
# Signal Via position (um)
# name X Y
#-------------------------------------------------------------------
# gpio_defaults[0] 5.435 4.165
# gpio_defaults[1] 6.815 3.825
# gpio_defaults[2] 8.195 4.165
# gpio_defaults[3] 9.575 3.825
# gpio_defaults[4] 10.955 3.825
# gpio_defaults[5] 12.565 3.825
# gpio_defaults[6] 14.865 3.825
# gpio_defaults[7] 17.165 3.825
# gpio_defaults[8] 19.465 3.825
# gpio_defaults[9] 21.765 3.825
# gpio_defaults[10] 24.755 3.825
# gpio_defaults[11] 27.055 3.825
# gpio_defaults[12] 23.605 4.165
# gpio_defaults[0] 7.505 17.425
# gpio_defaults[1] 11.645 17.425
# gpio_defaults[2] 4.745 6.545
# gpio_defaults[3] 7.965 6.545
# gpio_defaults[4] 11.645 6.545
# gpio_defaults[5] 5.205 9.605
# gpio_defaults[6] 5.205 11.985
# gpio_defaults[7] 8.425 15.045
# gpio_defaults[8] 7.965 20.485
# gpio_defaults[9] 4.745 20.485
# gpio_defaults[10] 5.205 15.045
# gpio_defaults[11] 12.015 9.605
# gpio_defaults[12] 8.885 9.605
#-------------------------------------------------------------------
import os
@ -82,10 +82,10 @@ def usage():
if __name__ == '__main__':
# Coordinate pairs in microns for the zero position on each bit
via_pos = [[5.435, 4.165], [6.815, 3.825], [8.195, 4.165], [9.575, 3.825],
[10.955, 3.825], [12.565, 3.825], [14.865, 3.825], [17.165, 3.825],
[19.465, 3.825], [21.765, 3.825], [24.755, 3.825], [27.055, 3.825],
[23.605, 4.165]]
via_pos = [[7.505, 17.425], [11.645, 17.425], [4.745, 6.545], [7.965, 6.545],
[11.645, 6.545], [5.205, 9.605], [5.205, 11.985], [8.425, 15.045],
[7.965, 20.485], [4.745, 20.485], [5.205, 15.045], [12.015, 9.605],
[8.885, 9.605]]
optionlist = []
arguments = []
@ -197,9 +197,9 @@ if __name__ == '__main__':
urx_zero = llx_zero + 34
ury_zero = lly_zero + 34
llx_one = llx_zero - 138
llx_one = llx_zero + 184
lly_one = lly_zero
urx_one = urx_zero - 138
urx_one = urx_zero + 184
ury_one = ury_zero
zero_string.append('rect {:d} {:d} {:d} {:d}'.format(llx_zero, lly_zero, urx_zero, ury_zero))
@ -328,8 +328,8 @@ if __name__ == '__main__':
idx2rex = re.compile('gpio_defaults_block_([0-9]+)')
if testmode:
print('Test only: Caravel layout:')
with open(caravel_path + '/mag/caravel.mag', 'r') as ifile:
print('Test only: Caravel core layout:')
with open(caravel_path + '/mag/caravel_core.mag', 'r') as ifile:
maglines = ifile.read().splitlines()
outlines = []
for magline in maglines:
@ -359,11 +359,11 @@ if __name__ == '__main__':
outlines.append(magline)
if not testmode:
with open(magpath + '/caravel.mag', 'w') as ofile:
with open(magpath + '/caravel_core.mag', 'w') as ofile:
for outline in outlines:
print(outline, file=ofile)
# Do the same to the top gate-level verilog
# Do the same to the core gate-level verilog
inst1rex = re.compile('[ \t]*(gpio_defaults_block_?[0-1]?[0-9A-Fa-f]*)[ \t]+.?gpio_defaults_block_([0-9]+).([0-9]+)')
inst2rex = re.compile('[ \t]*(gpio_defaults_block_?[0-1]?[0-9A-Fa-f]*)[ \t]+gpio_defaults_block_([0-9]+)')
@ -399,6 +399,10 @@ if __name__ == '__main__':
for outline in outlines:
print(outline, file=ofile)
# IMPORTANT NOTE:
# This needs to be changed to caravan_core, but the cell does not yet
# exist.
if testmode:
print('Test only: Caravan layout:')
with open(caravel_path + '/mag/caravan.mag', 'r') as ifile: