diff --git a/mag/caravel_openframe.mag b/mag/caravel_openframe.mag index 6445fe37..afe7cc31 100644 --- a/mag/caravel_openframe.mag +++ b/mag/caravel_openframe.mag @@ -1,9 +1,24 @@ magic tech sky130A magscale 1 2 -timestamp 1686153941 +timestamp 1686190293 << checkpaint >> +rect 40504 1532674 43088 1535246 +rect 40504 1443474 43088 1446046 +rect 40504 1354274 43088 1356846 +rect 40504 1309274 43088 1311846 +rect 40504 1264274 43088 1266846 +rect 40504 1219074 43088 1221646 +rect 40504 1174074 43088 1176646 +rect 40504 1128874 43088 1131446 rect -1260 -1260 718860 1038860 +rect 674512 -42446 677096 -39874 +rect 674512 -170046 677096 -167474 +rect 674512 -213246 677096 -210674 +rect 674512 -256446 677096 -253874 +rect 674512 -299646 677096 -297074 +rect 674512 -342846 677096 -340274 +rect 674512 -386046 677096 -383474 << error_p >> rect 149223 18082 150855 18116 << metal5 >> @@ -71,11 +86,11 @@ rect 515440 6598 527960 19088 rect 570422 6811 582590 18975 rect 624222 6811 636390 18975 use chip_io_openframe chip_io_openframe_0 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 0 box 0 0 717600 1037600 use openframe_project_wrapper openframe_project_wrapper_0 -timestamp 1686153941 +timestamp 1686190293 transform 1 0 42137 0 1 42137 box -444 -444 633770 953770 << labels >> @@ -122,7 +137,7 @@ port 41 nsew flabel metal5 s 78440 1018512 90960 1031002 0 FreeSans 16000 0 0 0 gpio[23] port 42 nsew flabel metal5 s 577010 1018624 589178 1030788 0 FreeSans 16000 0 0 0 vssa1 -port 12 nsew +port 11 nsew flabel metal5 s 698512 684440 711002 696960 0 FreeSans 16000 0 0 0 gpio[10] port 29 nsew flabel metal5 s 698512 729440 711002 741960 0 FreeSans 16000 0 0 0 gpio[11] diff --git a/mag/chip_io_gpio_connects_horiz.mag b/mag/chip_io_gpio_connects_horiz.mag index bbee824c..9648d498 100644 --- a/mag/chip_io_gpio_connects_horiz.mag +++ b/mag/chip_io_gpio_connects_horiz.mag @@ -1,14 +1,17 @@ magic tech sky130A magscale 1 2 -timestamp 1686151263 +timestamp 1686190293 << checkpaint >> +rect 40504 681074 43088 683646 +rect 674512 114908 678096 118596 +rect 674512 114708 678037 114908 rect 674245 108867 676990 111443 rect 674143 103403 677009 105940 rect 674244 103347 676989 103403 << metal1 >> -rect 675778 117266 675830 117272 -rect 675778 117208 675830 117214 +rect 675778 116066 675830 116072 +rect 675778 116008 675830 116014 rect 675682 113371 675734 115709 rect 675586 112665 675638 112671 rect 675586 112487 675638 112493 @@ -27,12 +30,12 @@ rect 675586 100456 675638 100462 rect 675586 100278 675638 100284 rect 675588 100265 675636 100278 rect 675682 99896 675734 108866 -rect 675780 102183 675828 117208 +rect 675780 102183 675828 116008 rect 675778 102177 675830 102183 rect 675778 102119 675830 102125 rect 675780 102106 675828 102119 << via1 >> -rect 675778 117214 675830 117266 +rect 675778 116014 675830 116066 rect 675682 113199 675734 113371 rect 675586 112493 675638 112665 rect 675490 109458 675542 109630 @@ -42,13 +45,13 @@ rect 675490 101573 675542 101625 rect 675586 100284 675638 100456 rect 675778 102125 675830 102177 << metal2 >> -rect 675772 117214 675778 117266 -rect 675830 117264 675836 117266 -rect 676699 117264 676708 117270 -rect 675830 117216 676708 117264 -rect 675830 117214 675836 117216 -rect 676699 117210 676708 117216 -rect 676768 117210 676777 117270 +rect 675772 116014 675778 116066 +rect 675830 116064 675836 116066 +rect 676699 116064 676708 116070 +rect 675830 116016 676708 116064 +rect 675830 116014 675836 116016 +rect 676699 116010 676708 116016 +rect 676768 116010 676777 116070 rect 675495 115647 675505 115703 rect 675730 115647 675740 115703 rect 675495 115095 675505 115151 @@ -116,7 +119,7 @@ rect 675638 100339 675644 100456 rect 675638 100284 675887 100339 rect 675407 100283 675887 100284 << via2 >> -rect 676708 117210 676768 117270 +rect 676708 116010 676768 116070 rect 675505 115647 675730 115703 rect 675505 115095 675730 115151 rect 675506 114451 675731 114507 @@ -135,11 +138,11 @@ rect 675506 103411 675731 103467 rect 675505 102767 675730 102823 rect 675505 100927 675730 100983 << metal3 >> -rect 676708 117275 676768 117452 -rect 676703 117270 676773 117275 -rect 676703 117210 676708 117270 -rect 676768 117210 676773 117270 -rect 676703 117205 676773 117210 +rect 676708 116075 676768 117452 +rect 676703 116070 676773 116075 +rect 676703 116010 676708 116070 +rect 676768 116010 676773 116070 +rect 676703 116005 676773 116010 rect 675407 115703 675887 115710 rect 675407 115647 675505 115703 rect 675730 115647 675887 115703 diff --git a/mag/chip_io_openframe.mag b/mag/chip_io_openframe.mag index 96da88bc..4bca9004 100644 --- a/mag/chip_io_openframe.mag +++ b/mag/chip_io_openframe.mag @@ -1,8 +1,16 @@ magic tech sky130A magscale 1 2 -timestamp 1686151263 +timestamp 1686190293 << checkpaint >> +rect 40504 1532674 43088 1535246 +rect 40504 1443474 43088 1446046 +rect 40504 1354274 43088 1356846 +rect 40504 1309274 43088 1311846 +rect 40504 1264274 43088 1266846 +rect 40504 1219074 43088 1221646 +rect 40504 1174074 43088 1176646 +rect 40504 1128874 43088 1131446 rect -1260 996747 718860 1038860 rect -1260 996340 42060 996747 rect -1260 971594 40853 996340 @@ -59,21 +67,27 @@ rect 674147 950206 718860 950236 rect -1260 930447 40853 945575 rect -1260 910740 43030 930447 rect 676747 923860 718860 950206 -rect -1260 886060 40853 910740 +rect -1260 909046 40853 910740 +rect -1260 906474 43088 909046 +rect -1260 886060 40853 906474 rect 674570 904153 718860 923860 rect -1260 868540 41260 886060 rect 676747 882411 718860 904153 rect 674545 881112 718860 882411 -rect -1260 843860 40853 868540 +rect -1260 864046 40853 868540 rect 674146 868340 718860 881112 rect 674143 865952 718860 868340 +rect -1260 861474 43088 864046 rect 674079 863220 718860 865952 +rect -1260 843860 40853 861474 rect 674146 861036 718860 863220 rect 674147 861006 718860 861036 rect -1260 826340 41260 843860 rect 676747 834660 718860 861006 -rect -1260 801794 40853 826340 +rect -1260 819046 40853 826340 +rect -1260 816474 43088 819046 rect 676340 817140 718860 834660 +rect -1260 801794 40853 816474 rect -1260 801764 43453 801794 rect -1260 799604 43454 801764 rect -1260 796906 43574 799604 @@ -85,10 +99,12 @@ rect -1260 780747 42152 781688 rect -1260 775575 43062 780747 rect 674146 779140 718860 791912 rect 674143 776750 718860 779140 -rect -1260 758594 40853 775575 +rect -1260 773846 40853 775575 rect 674041 774018 718860 776750 +rect -1260 771274 43088 773846 rect 674146 771836 718860 774018 rect 674147 771806 718860 771836 +rect -1260 758594 40853 771274 rect -1260 758564 43453 758594 rect -1260 756407 43454 758564 rect -1260 753709 43568 756407 @@ -99,11 +115,13 @@ rect 674545 746912 718860 748411 rect -1260 737747 42152 738488 rect -1260 732575 43062 737747 rect 674146 734140 718860 746912 -rect -1260 715394 40853 732575 +rect -1260 728846 40853 732575 rect 674143 731756 718860 734140 rect 674050 729024 718860 731756 +rect -1260 726274 43088 728846 rect 674146 726836 718860 729024 rect 674147 726806 718860 726836 +rect -1260 715394 40853 726274 rect -1260 715364 43453 715394 rect -1260 713205 43454 715364 rect -1260 710504 43503 713205 @@ -113,12 +131,14 @@ rect 676747 703411 718860 726806 rect 674545 701912 718860 703411 rect -1260 694747 42152 695288 rect -1260 689575 43062 694747 -rect -1260 672194 40853 689575 +rect -1260 683646 40853 689575 rect 674146 689140 718860 701912 rect 674143 686729 718860 689140 rect 674061 683997 718860 686729 +rect -1260 681074 43088 683646 rect 674146 681836 718860 683997 rect 674147 681806 718860 681836 +rect -1260 672194 40853 681074 rect -1260 672164 43453 672194 rect -1260 669996 43454 672164 rect -1260 667295 43521 669996 @@ -249,8 +269,10 @@ rect 674146 234036 718860 236228 rect 674147 234006 718860 234036 rect -1260 221747 42152 222088 rect -1260 216575 43062 221747 +rect 676747 219326 718860 234006 +rect 674512 216754 718860 219326 rect -1260 198994 40853 216575 -rect 676747 211411 718860 234006 +rect 676747 211411 718860 216754 rect 674545 208912 718860 211411 rect -1260 198964 43453 198994 rect -1260 196760 43454 198964 @@ -264,23 +286,31 @@ rect 674146 188836 718860 191015 rect 674147 188806 718860 188836 rect -1260 178747 42152 178888 rect -1260 173575 43062 178747 +rect 676747 176126 718860 188806 rect -1260 126460 40853 173575 -rect 676747 166411 718860 188806 +rect 674512 173554 718860 176126 +rect 676747 166411 718860 173554 rect 674545 163912 718860 166411 rect 674146 151140 718860 163912 rect 674143 148603 718860 151140 rect 674146 143836 718860 148603 rect 674147 143806 718860 143836 +rect 676747 132926 718860 143806 +rect 674512 130354 718860 132926 rect -1260 108940 41260 126460 -rect 676747 121411 718860 143806 +rect 676747 121411 718860 130354 rect 674545 118712 718860 121411 rect -1260 86499 40853 108940 rect 674146 105940 718860 118712 rect 674143 103403 718860 105940 rect 674146 98636 718860 103403 rect 674147 98606 718860 98636 +rect 676747 89726 718860 98606 +rect 674512 87154 718860 89726 rect -1260 66740 42960 86499 rect -1260 42060 40853 66740 +rect 676747 46526 718860 87154 +rect 674512 43954 718860 46526 rect 187150 43453 189873 43585 rect 295800 43453 298523 43624 rect 350583 43453 353306 43657 @@ -316,12 +346,19 @@ rect 348406 40853 371878 42204 rect 403206 40853 426678 42204 rect 458006 40853 481478 42204 rect 512806 40853 536278 42204 -rect 676747 41260 718860 98606 +rect 676747 41260 718860 43954 rect 567740 40853 585260 41260 rect 621540 40853 639060 41260 rect 675540 40853 718860 41260 rect -1260 -1260 718860 40853 rect -1260 -1267 1261 -1260 +rect 674512 -42446 677096 -39874 +rect 674512 -170046 677096 -167474 +rect 674512 -213246 677096 -210674 +rect 674512 -256446 677096 -253874 +rect 674512 -299646 677096 -297074 +rect 674512 -342846 677096 -340274 +rect 674512 -386046 677096 -383474 << error_s >> rect 149223 18082 150855 18116 << metal1 >> @@ -4331,10 +4368,10 @@ rect 640496 16570 641506 37380 rect 640496 15710 640542 16570 rect 641444 15710 641506 16570 rect 640496 15658 641506 15710 -rect 642098 32580 643108 32640 -rect 642098 32020 642152 32580 -rect 643060 32020 643108 32580 -rect 642098 16566 643108 32020 +rect 642098 31584 643108 31644 +rect 642098 30844 642152 31584 +rect 643060 30844 643108 31584 +rect 642098 16566 643108 30844 rect 642098 15706 642146 16566 rect 643048 15706 643108 16566 rect 642098 15658 643108 15706 @@ -4596,7 +4633,7 @@ rect 640578 37380 641436 38118 rect 532570 30869 532874 31573 rect 154248 20136 154669 20600 rect 640542 15710 641444 16570 -rect 642152 32020 643060 32580 +rect 642152 30844 643060 31584 rect 642146 15706 643048 16566 << metal4 >> rect 71346 1006801 71711 1006827 @@ -5526,10 +5563,6 @@ rect 153032 34784 153474 34802 rect 153032 33947 153046 34784 rect 153462 33947 153474 34784 rect 153032 33933 153474 33947 -rect 642100 32580 643096 32626 -rect 642100 32020 642152 32580 -rect 643060 32020 643096 32580 -rect 642100 31988 643096 32020 rect 152438 31631 152880 31651 rect 148940 31573 149305 31600 rect 148940 30869 148970 31573 @@ -5561,6 +5594,10 @@ rect 532540 31573 532905 31600 rect 532540 30869 532570 31573 rect 532874 30869 532905 31573 rect 532540 30843 532905 30869 +rect 642100 31584 643096 31630 +rect 642100 30844 642152 31584 +rect 643060 30844 643096 31584 +rect 642100 30812 643096 30844 rect 152438 30782 152880 30800 rect 152424 20597 152890 20619 rect 152424 20133 152445 20597 @@ -6255,119 +6292,119 @@ timestamp 1686151263 transform 0 1 414200 -1 0 717600 box 675407 99896 676763 117658 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_0 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 0 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_1 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 45200 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_2 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 90200 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_3 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 135400 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_4 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 180400 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_5 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 225400 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_6 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 270600 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_7 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 447800 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_8 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 493000 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_9 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 538000 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_10 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 583200 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_11 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 628200 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_12 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 673200 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_13 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 762400 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_14 -timestamp 1686151263 +timestamp 1686190293 transform 1 0 0 0 1 851600 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_15 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 1070200 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_16 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 900400 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_17 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 857200 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_18 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 814000 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_19 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 770800 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_20 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 727600 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_21 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 684400 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_22 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 641200 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_23 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 513600 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_24 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 470400 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_25 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 427200 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_26 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 384000 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_27 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 340800 box 675406 99896 676777 117452 use chip_io_gpio_connects_horiz chip_io_gpio_connects_horiz_28 -timestamp 1686151263 +timestamp 1686190293 transform -1 0 717600 0 -1 297600 box 675406 99896 676777 117452 use constant_block constant_value_inst[0] diff --git a/mag/openframe_project_wrapper.mag b/mag/openframe_project_wrapper.mag index 2261cbf1..b7e6a37c 100644 --- a/mag/openframe_project_wrapper.mag +++ b/mag/openframe_project_wrapper.mag @@ -1,129 +1,12 @@ magic tech sky130A magscale 1 2 -timestamp 1686153941 -<< checkpaint >> -rect -1340 955030 635206 955789 -rect -1704 952118 635206 955030 -rect -1704 930929 635030 952118 -rect -1704 930168 635052 930929 -rect -1704 926270 635101 930168 -rect -1704 925325 635073 926270 -rect -1704 911164 635030 925325 -rect -1726 907329 635030 911164 -rect -1787 903542 635030 907329 -rect -1726 902973 635030 903542 -rect -1704 841729 635030 902973 -rect -1704 840172 635052 841729 -rect -1704 838155 635092 840172 -rect -1704 835347 635120 838155 -rect -1704 752529 635030 835347 -rect -1704 751181 635052 752529 -rect -1704 746309 635083 751181 -rect -1704 741364 635030 746309 -rect -1726 739344 635030 741364 -rect -1741 737328 635030 739344 -rect -1801 733541 635030 737328 -rect -1704 707529 635030 733541 -rect -1704 704182 635052 707529 -rect -1704 701299 635055 704182 -rect -1704 698164 635030 701299 -rect -1726 694344 635030 698164 -rect -1727 690557 635030 694344 -rect -1704 662529 635030 690557 -rect -1704 661161 635052 662529 -rect -1704 656964 635162 661161 -rect -1704 656317 635106 656964 -rect -1704 654964 635030 656317 -rect -1726 650373 635030 654964 -rect -1713 647558 635030 650373 -rect -1704 617329 635030 647558 -rect -1704 616221 635033 617329 -rect -1704 614195 635115 616221 -rect -1704 611764 635125 614195 -rect -1726 611424 635125 611764 -rect -1726 610307 635030 611424 -rect -1731 606520 635030 610307 -rect -1722 604523 635030 606520 -rect -1704 572329 635030 604523 -rect -1704 571206 635033 572329 -rect -1704 568564 635097 571206 -rect -1726 567317 635097 568564 -rect -1726 567304 635092 567317 -rect -1768 566320 635092 567304 -rect -1768 563517 635030 566320 -rect -1717 561519 635030 563517 -rect -1704 527129 635030 561519 -rect -1704 526177 635033 527129 -rect -1704 525364 635069 526177 -rect -1726 524334 635069 525364 -rect -1736 522316 635069 524334 -rect -1736 522308 635059 522316 -rect -1750 521296 635059 522308 -rect -1750 518521 635030 521296 -rect -1704 482164 635030 518521 -rect -1726 481349 635030 482164 -rect -1741 475546 635030 481349 -rect -1704 354564 635030 475546 -rect -1726 352326 635030 354564 -rect -1754 350314 635030 352326 -rect -1764 349929 635030 350314 -rect -1764 349173 635033 349929 -rect -1764 347166 635092 349173 -rect -1764 346527 635097 347166 -rect -1704 344353 635097 346527 -rect -1704 311364 635030 344353 -rect -1726 307316 635030 311364 -rect -1741 304729 635030 307316 -rect -1741 304173 635033 304729 -rect -1741 303529 635069 304173 -rect -1704 302193 635069 303529 -rect -1704 299152 635111 302193 -rect -1704 268164 635030 299152 -rect -1726 266315 635030 268164 -rect -1745 264327 635030 266315 -rect -1768 260540 635030 264327 -rect -1704 259729 635030 260540 -rect -1704 259186 635033 259729 -rect -1704 255287 635087 259186 -rect -1704 254109 635055 255287 -rect -1704 224964 635030 254109 -rect -1726 221352 635030 224964 -rect -1773 217565 635030 221352 -rect -1704 214729 635030 217565 -rect -1704 214178 635033 214729 -rect -1704 210290 635066 214178 -rect -1704 209137 635056 210290 -rect -1704 181764 635030 209137 -rect -1726 177173 635030 181764 -rect -1717 174520 635030 177173 -rect -1704 169130 635030 174520 -rect -1704 165307 635126 169130 -rect -1704 163902 635047 165307 -rect -1704 138564 635030 163902 -rect -1726 137348 635030 138564 -rect -1736 131563 635030 137348 -rect -1704 124166 635030 131563 -rect -1704 122172 635075 124166 -rect -1704 118910 635192 122172 -rect -1704 79156 635030 118910 -rect -1704 75295 635187 79156 -rect -1704 73684 635173 75295 -rect -1704 -1704 635030 73684 -rect -1218 -1769 1735 -1704 -rect 105188 -1724 110110 -1704 -rect 159949 -1729 164836 -1704 -rect 269536 -1726 274426 -1704 -rect 324352 -1711 329242 -1704 -rect 379148 -1731 384038 -1704 -rect -1203 -1795 1673 -1769 -rect 488685 -1781 493576 -1704 -rect 603784 -1728 613351 -1704 +timestamp 1686252151 << obsm1 >> -rect -52 953326 633378 953378 -rect -52 0 0 953326 +rect 4 953326 633378 953378 +rect 4 0 56 953326 rect 633326 0 633378 953326 -rect -52 -52 633378 0 +rect 4 -52 633378 0 << metal2 >> rect 27497 953270 27558 953726 rect 29498 953270 29559 953726 @@ -626,9 +509,6 @@ rect 633270 912230 633726 912286 rect 633270 912223 633600 912230 rect 633270 911586 633726 911642 rect 633270 911034 633726 911090 -rect -373 910847 -309 910849 -rect -400 910799 -309 910847 -rect -373 910797 -309 910799 rect 633270 910446 633600 910453 rect 633270 910390 633726 910446 rect 633270 910383 633600 910390 @@ -789,9 +669,6 @@ rect 633270 741827 633600 741834 rect 633270 741246 633600 741253 rect 633270 741190 633726 741246 rect 633270 741183 633600 741190 -rect -373 741047 -309 741049 -rect -400 740999 -309 741047 -rect -373 740997 -309 740999 rect 633270 740638 633726 740694 rect 633347 740521 633411 740638 rect 633539 740050 633603 740113 @@ -911,9 +788,6 @@ rect 633443 698556 633507 698674 rect 633270 698086 633600 698093 rect 633270 698030 633726 698086 rect 633270 698023 633600 698030 -rect -373 697847 -309 697849 -rect -400 697799 -309 697847 -rect -373 697797 -309 697799 rect 633270 697534 633600 697541 rect 633270 697478 633726 697534 rect 633270 697471 633600 697478 @@ -1034,9 +908,6 @@ rect 633270 655507 633600 655514 rect 633270 654926 633600 654933 rect 633270 654870 633726 654926 rect 633270 654863 633600 654870 -rect -373 654647 -309 654649 -rect -400 654599 -309 654647 -rect -373 654597 -309 654599 rect 633539 654374 633603 654434 rect 633270 654318 633726 654374 rect 633539 654262 633603 654318 @@ -1154,13 +1025,8 @@ rect -274 614149 56 614156 rect -274 613568 56 613575 rect -400 613512 56 613568 rect -274 613505 56 613512 -rect 633635 613127 633699 613129 -rect 633635 613077 633699 613079 rect -400 612960 56 613016 rect 633270 611510 633726 611566 -rect -373 611447 -309 611449 -rect -400 611399 -309 611447 -rect -373 611397 -309 611399 rect 633270 611014 633600 611021 rect 633270 610958 633726 611014 rect 633270 610951 633600 610958 @@ -1288,9 +1154,6 @@ rect -274 570368 56 570375 rect -400 570312 56 570368 rect -274 570305 56 570312 rect -400 569760 56 569816 -rect -373 568247 -309 568249 -rect -400 568199 -309 568247 -rect -373 568197 -309 568199 rect 633270 566510 633726 566566 rect 633270 566014 633600 566021 rect 633270 565958 633726 566014 @@ -1419,9 +1282,6 @@ rect -274 527168 56 527175 rect -400 527112 56 527168 rect -274 527105 56 527112 rect -400 526560 56 526616 -rect -373 525047 -309 525049 -rect -400 524999 -309 525047 -rect -373 524997 -309 524999 rect 633270 521310 633726 521366 rect 633270 520814 633600 520821 rect 633270 520758 633726 520814 @@ -1550,9 +1410,6 @@ rect -274 483968 56 483975 rect -400 483912 56 483968 rect -274 483905 56 483912 rect -400 483360 56 483416 -rect -373 481847 -309 481849 -rect -400 481799 -309 481847 -rect -373 481797 -309 481799 rect -400 371124 56 371180 rect -181 371007 -117 371124 rect -274 370536 56 370543 @@ -1617,9 +1474,6 @@ rect -274 356368 56 356375 rect -400 356312 56 356368 rect -274 356305 56 356312 rect -400 355760 56 355816 -rect -373 354247 -309 354249 -rect -400 354199 -309 354247 -rect -373 354197 -309 354199 rect 633270 344110 633726 344166 rect 633270 343614 633600 343621 rect 633270 343558 633726 343614 @@ -1746,9 +1600,6 @@ rect -274 313168 56 313175 rect -400 313112 56 313168 rect -274 313105 56 313112 rect -400 312560 56 312616 -rect -373 311047 -309 311049 -rect -400 310999 -309 311047 -rect -373 310997 -309 310999 rect 633270 298910 633726 298966 rect 633270 298414 633600 298421 rect 633270 298358 633726 298414 @@ -1875,9 +1726,6 @@ rect -274 269968 56 269975 rect -400 269912 56 269968 rect -274 269905 56 269912 rect -400 269360 56 269416 -rect -373 267847 -309 267849 -rect -400 267799 -309 267847 -rect -373 267797 -309 267799 rect 633270 253910 633726 253966 rect 633270 253414 633600 253421 rect 633270 253358 633726 253414 @@ -2004,9 +1852,6 @@ rect -274 226768 56 226775 rect -400 226712 56 226768 rect -274 226705 56 226712 rect -400 226160 56 226216 -rect -373 224647 -309 224649 -rect -400 224599 -309 224647 -rect -373 224597 -309 224599 rect 633270 208910 633726 208966 rect 633270 208414 633600 208421 rect 633270 208358 633726 208414 @@ -2131,9 +1976,6 @@ rect -274 183568 56 183575 rect -400 183512 56 183568 rect -274 183505 56 183512 rect -400 182960 56 183016 -rect -373 181447 -309 181449 -rect -400 181399 -309 181447 -rect -373 181397 -309 181399 rect 633270 163710 633726 163766 rect 633270 163214 633600 163221 rect 633270 163158 633726 163214 @@ -2258,9 +2100,6 @@ rect -274 140368 56 140375 rect -400 140312 56 140368 rect -274 140305 56 140312 rect -400 139760 56 139816 -rect -373 138247 -309 138249 -rect -400 138199 -309 138247 -rect -373 138197 -309 138199 rect 633270 118710 633726 118766 rect 633270 118214 633600 118221 rect 633270 118158 633726 118214 @@ -2392,8 +2231,6 @@ rect -400 53378 -292 53434 rect -400 53154 -292 53210 rect 99571 -90 99637 56 rect 99573 -400 99634 -90 -rect 102898 -277 103070 -213 -rect 102969 -400 102999 -277 rect 110164 -400 110220 56 rect 144546 -117 144602 56 rect 144546 -181 144719 -117 @@ -2434,8 +2271,6 @@ rect 158070 -424 158126 56 rect 158714 -424 158770 56 rect 159358 -424 159414 56 rect 159910 -424 159966 56 -rect 160216 -363 160280 -311 -rect 160224 -400 160272 -363 rect 160580 -400 160632 56 rect 163791 -400 163843 56 rect 253146 -117 253202 56 diff --git a/scripts/run_openframe_lvs.sh b/scripts/run_openframe_lvs.sh new file mode 100755 index 00000000..afb63a65 --- /dev/null +++ b/scripts/run_openframe_lvs.sh @@ -0,0 +1,83 @@ +#!/bin/bash +# +# Run LVS on the Openframe layout and verilog. +# If the layout netlist does not exist, then generate it from the +# extracted .mag layout of the caravel_openframe top level. The +# LVS script for netgen will read both top level netlists and then +# compare the padframe cell. +# +# Run this script in the mag/ directory. +# +echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null +echo ${PDK:=sky130A} > /dev/null + +if [ ! -f caravel_openframe.spice ]; then +magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF +drc off +crashbackups stop +load caravel_openframe +select top cell +expand +extract do local +# Maybe not do parasitic extraction for LVS?? +extract no all +extract all +ext2spice lvs +ext2spice +EOF +rm -f *.ext +fi + +# Set the USE_POWER_PINS definition, which is not set anywhere else. +cat > local_defs.v << EOF +\`define USE_POWER_PINS 1 +EOF + +# Generate script for netgen + +cat > netgen.tcl << EOF + +# Load top level netlists + +puts stdout "Reading layout netlist:" +set circuit1 [readnet spice caravel_openframe.spice] +puts stdout "Reading verilog and schematic netlists:" +puts stdout "Reading SPICE netlists of I/O:" +set circuit2 [readnet spice $PDK_ROOT/$PDK/libs.ref/sky130_fd_io/spice/sky130_fd_io.spice] +readnet spice $PDK_ROOT/$PDK/libs.ref/sky130_fd_io/spice/sky130_ef_io.spice \$circuit2 +readnet spice $PDK_ROOT/$PDK/libs.ref/sky130_fd_sc_hd/spice/sky130_fd_sc_hd.spice \$circuit2 +readnet spice $PDK_ROOT/$PDK/libs.ref/sky130_fd_sc_hd/spice/sky130_ef_sc_hd__decap_12.spice \$circuit2 +readnet spice $PDK_ROOT/$PDK/libs.ref/sky130_fd_sc_hvl/spice/sky130_fd_sc_hvl.spice \$circuit2 +readnet spice ../xschem/simple_por.spice \$circuit2 +puts stdout "Reading all gate-level verilog submodules:" +readnet verilog local_defs.v \$circuit2 +readnet verilog ../verilog/rtl/defines.v \$circuit2 +readnet verilog ../verilog/rtl/pads.v \$circuit2 + +# NOTE: __openframe_project_wrapper.v is empty. +readnet verilog ../verilog/rtl/__openframe_project_wrapper.v \$circuit2 +readnet verilog ../verilog/gl/user_id_programming.v \$circuit2 +readnet verilog ../verilog/gl/constant_block.v \$circuit2 +readnet verilog ../verilog/gl/xres_buf.v \$circuit2 + +# ALSO NOTE: Top-level modules are in the RTL directory but are purely gate level. +readnet verilog ../verilog/rtl/chip_io_openframe.v \$circuit2 +readnet verilog ../verilog/rtl/caravel_openframe.v \$circuit2 +puts stdout "Done reading netlists." + +# Temporary: Flatten the user project wrapper in the verilog netlist (better solution is to +# abstract the user project wrapper in the layout and re-extract). +flatten class "\$circuit2 openframe_project_wrapper" + +# Run LVS on the chip_io_openframe cells in layout and verilog. + +lvs "\$circuit1 caravel_openframe" "\$circuit2 caravel_openframe" \ + $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl \ + caravel_openframe_comp.out +EOF + + +export NETGEN_COLUMNS=60 +netgen -batch source netgen.tcl +rm local_defs.v +rm netgen.tcl