From 816280f9188a504dd2fb92142da318557d28d39f Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Tue, 19 Apr 2022 08:41:30 -0400 Subject: [PATCH 1/4] (1) Modified the .magicrc file to set a default for PDK if not set in the environment. (2) Fixed the user ID programming layout to not leave holes behind when the script moves the vias around (similar to the handling of the GPIO defaults block). (3) Added substrate isolation to gpio_control_block and fixed the path references to the standard cells. (4) Fixed the four missing routes on the Caravan top level. (5) Reinstated the large rendered labels for the pads on both caravel and caravan. (6) Corrected the top level gate-level netlist for caravan to add the missing pins to the management core wrapper. (7) Did the same for the caravan top level RTL. (8) Created scripts to run full LVS including extracting the management core wrapper and reading all gate-level verilog submodules. (9) Moved all of the LVS scripts to the scripts directory. --- mag/.magicrc | 30 +- mag/caravan.mag | 311 ++++---- mag/caravel.mag | 344 +++------ mag/gpio_control_block.mag | 698 +++++++++--------- mag/user_id_programming.mag | 893 ++++++++++------------- scripts/gen_gpio_defaults.py | 9 +- {mag => scripts}/run_caravan_lvs.sh | 13 +- {mag => scripts}/run_caravan_lvs_full.sh | 54 +- {mag => scripts}/run_caravel_lvs.sh | 12 +- {mag => scripts}/run_caravel_lvs_full.sh | 52 +- {mag => scripts}/run_chip_io_alt_lvs.sh | 0 {mag => scripts}/run_chip_io_lvs.sh | 0 scripts/set_user_id.py | 6 +- verilog/gl/caravan.v | 4 +- verilog/rtl/caravan.v | 2 + 15 files changed, 1173 insertions(+), 1255 deletions(-) rename {mag => scripts}/run_caravan_lvs.sh (58%) rename {mag => scripts}/run_caravan_lvs_full.sh (62%) rename {mag => scripts}/run_caravel_lvs.sh (58%) rename {mag => scripts}/run_caravel_lvs_full.sh (62%) rename {mag => scripts}/run_chip_io_alt_lvs.sh (100%) rename {mag => scripts}/run_chip_io_lvs.sh (100%) diff --git a/mag/.magicrc b/mag/.magicrc index e13f2766..7ec699d6 100755 --- a/mag/.magicrc +++ b/mag/.magicrc @@ -14,7 +14,24 @@ # # SPDX-License-Identifier: Apache-2.0 -puts stdout "Sourcing design .magicrc for technology $::env(PDK) ..." +# Allow override of PDK path from environment variable PDKPATH. Failing +# that, fall back on definitions of PDK_ROOT and PDK. If either of those +# fails, substitute a default. If PDKPATH has been specified, then get +# PDK_VARIANT from the tail of PDKPATH. + +if {[catch {set PDKPATH $env(PDKPATH)}]} { + if {[catch {set PDK_ROOT $env(PDK_ROOT)}]} { + set PDK_ROOT /usr/share/pdk + } + if {[catch {set PDK_VARIANT $env(PDK)}]} { + set PDK_VARIANT sky130A + } + set PDKPATH ${PDK_ROOT}/${PDK_VARIANT} +} else { + set PDK_VARIANT [file tail ${PDKPATH}] +} + +puts stdout "Sourcing design .magicrc for technology $PDK_VARIANT ..." # Put grid on 0.005 pitch. This is important, as some commands don't # rescale the grid automatically (such as lef read?). @@ -27,19 +44,14 @@ if {[lindex $scalefac 1] < 2} { drc off drc euclidean on -# Allow override of PDK path from environment variable PDKPATH -if {[catch {set PDKPATH $env(PDKPATH)}]} { - set PDKPATH "$::env(PDK_ROOT)/$::env(PDK)" -} - # loading technology -tech load $PDKPATH/libs.tech/magic/$::env(PDK).tech +tech load $PDKPATH/libs.tech/magic/${PDK_VARIANT}.tech # load device generator -source $PDKPATH/libs.tech/magic/$::env(PDK).tcl +source $PDKPATH/libs.tech/magic/${PDK_VARIANT}.tcl # load bind keys (optional) -# source $PDKPATH/libs.tech/magic/$::env(PDK)-BindKeys +# source $PDKPATH/libs.tech/magic/${PDK_VARIANT}-BindKeys # set units to lambda grid snap lambda diff --git a/mag/caravan.mag b/mag/caravan.mag index 1982a91c..1759b49a 100644 --- a/mag/caravan.mag +++ b/mag/caravan.mag @@ -1,9 +1,7 @@ magic tech sky130A magscale 1 2 -timestamp 1649962643 -<< checkpaint >> -rect -1260 -1260 718860 1038860 +timestamp 1650318811 << viali >> rect 658360 47209 658394 47243 << metal1 >> @@ -12234,6 +12232,15 @@ rect 389416 226324 411168 226352 rect 389416 226312 389422 226324 rect 411162 226312 411168 226324 rect 411220 226312 411226 226364 +rect 411896 226356 411902 226408 +rect 411954 226396 411960 226408 +rect 485546 226396 485552 226406 +rect 411954 226368 485552 226396 +rect 411954 226356 411960 226368 +rect 485546 226354 485552 226368 +rect 485604 226396 485610 226406 +rect 485604 226368 485612 226396 +rect 485604 226354 485610 226368 rect 154482 226244 154488 226296 rect 154540 226284 154546 226296 rect 235074 226284 235080 226296 @@ -22020,6 +22027,8 @@ rect 368020 226312 368072 226364 rect 369952 226312 370004 226364 rect 389364 226312 389416 226364 rect 411168 226312 411220 226364 +rect 411902 226356 411954 226408 +rect 485552 226354 485604 226406 rect 154488 226244 154540 226296 rect 235080 226244 235132 226296 rect 354128 226244 354180 226296 @@ -32202,11 +32211,20 @@ rect 467748 265804 467800 265810 rect 467748 265746 467800 265752 rect 463332 265328 463384 265334 rect 463332 265270 463384 265276 +rect 573060 262329 573088 262338 +rect 573044 262320 573104 262329 +rect 573044 262251 573104 262260 +rect 572234 259193 572262 259198 +rect 572218 259184 572278 259193 +rect 572218 259115 572278 259124 rect 184938 258632 184994 258641 rect 184938 258567 184994 258576 rect 56508 256760 56560 256766 rect 56508 256702 56560 256708 rect 184952 253994 184980 258567 +rect 571410 255912 571438 255930 +rect 571385 255852 571394 255912 +rect 571454 255852 571463 255912 rect 184860 253966 184980 253994 rect 184860 246498 184888 253966 rect 416778 252784 416834 252793 @@ -36379,8 +36397,6 @@ rect 410352 217410 410380 227666 rect 410812 224913 410840 231676 rect 411180 227633 411208 231676 rect 411548 227730 411576 231676 -rect 414020 230104 414072 230110 -rect 414020 230046 414072 230052 rect 411536 227724 411588 227730 rect 411536 227666 411588 227672 rect 411166 227624 411222 227633 @@ -36390,9 +36406,14 @@ rect 411076 227394 411128 227400 rect 410798 224904 410854 224913 rect 410798 224839 410854 224848 rect 411088 223650 411116 227394 +rect 411914 226414 411942 231698 +rect 414020 230104 414072 230110 +rect 414020 230046 414072 230052 rect 411996 226976 412048 226982 rect 411996 226918 412048 226924 +rect 411902 226408 411954 226414 rect 411168 226364 411220 226370 +rect 411902 226350 411954 226356 rect 411168 226306 411220 226312 rect 411180 226137 411208 226306 rect 411166 226128 411222 226137 @@ -36881,6 +36902,34 @@ rect 488906 227352 488962 227361 rect 488906 227287 488962 227296 rect 488446 227216 488502 227225 rect 488446 227151 488502 227160 +rect 485552 226406 485604 226412 +rect 485552 226348 485604 226354 +rect 464264 217382 464600 217410 +rect 465092 217382 465428 217410 +rect 465920 217382 466256 217410 +rect 466748 217382 467084 217410 +rect 467576 217382 467912 217410 +rect 468404 217382 468740 217410 +rect 469232 217382 469568 217410 +rect 470152 217382 470488 217410 +rect 470980 217382 471316 217410 +rect 471992 217382 472144 217410 +rect 472636 217382 472972 217410 +rect 473464 217382 473800 217410 +rect 474292 217382 474628 217410 +rect 475120 217382 475456 217410 +rect 476040 217382 476376 217410 +rect 476868 217382 477204 217410 +rect 477788 217382 478032 217410 +rect 478524 217382 478860 217410 +rect 479352 217382 479688 217410 +rect 480364 217382 480516 217410 +rect 481008 217382 481344 217410 +rect 481928 217382 482264 217410 +rect 483032 217382 483092 217410 +rect 483584 217382 483920 217410 +rect 484412 217382 484748 217410 +rect 485564 217388 485592 226348 rect 487804 226228 487856 226234 rect 487804 226170 487856 226176 rect 487160 226092 487212 226098 @@ -36922,31 +36971,6 @@ rect 492770 223343 492826 223352 rect 492266 217592 492318 217598 rect 492266 217534 492318 217540 rect 492278 217410 492306 217534 -rect 464264 217382 464600 217410 -rect 465092 217382 465428 217410 -rect 465920 217382 466256 217410 -rect 466748 217382 467084 217410 -rect 467576 217382 467912 217410 -rect 468404 217382 468740 217410 -rect 469232 217382 469568 217410 -rect 470152 217382 470488 217410 -rect 470980 217382 471316 217410 -rect 471992 217382 472144 217410 -rect 472636 217382 472972 217410 -rect 473464 217382 473800 217410 -rect 474292 217382 474628 217410 -rect 475120 217382 475456 217410 -rect 476040 217382 476376 217410 -rect 476868 217382 477204 217410 -rect 477788 217382 478032 217410 -rect 478524 217382 478860 217410 -rect 479352 217382 479688 217410 -rect 480364 217382 480516 217410 -rect 481008 217382 481344 217410 -rect 481928 217382 482264 217410 -rect 483032 217382 483092 217410 -rect 483584 217382 483920 217410 -rect 484412 217382 484748 217410 rect 486344 217382 486740 217410 rect 487172 217382 487232 217410 rect 487816 217382 488152 217410 @@ -37488,8 +37512,6 @@ rect 567120 221785 567148 251194 rect 567292 248464 567344 248470 rect 567292 248406 567344 248412 rect 567304 222193 567332 248406 -rect 654140 230988 654192 230994 -rect 654140 230930 654192 230936 rect 567936 227792 567988 227798 rect 567936 227734 567988 227740 rect 567290 222184 567346 222193 @@ -37509,14 +37531,6 @@ rect 568580 222838 568632 222844 rect 568592 217410 568620 222838 rect 569328 217410 569356 227559 rect 570248 217410 570276 227666 -rect 654152 226334 654180 230930 -rect 654152 226306 655192 226334 -rect 607588 223576 607640 223582 -rect 607588 223518 607640 223524 -rect 574374 222184 574430 222193 -rect 574374 222119 574430 222128 -rect 573546 221504 573602 221513 -rect 573546 221439 573602 221448 rect 570880 217456 570932 217462 rect 559300 217382 559636 217410 rect 560450 217396 560524 217410 @@ -37540,6 +37554,20 @@ rect 568592 217382 568836 217410 rect 569328 217382 569664 217410 rect 570248 217404 570880 217410 rect 570248 217398 570932 217404 +rect 570248 217382 570920 217398 +rect 571410 217348 571438 255852 +rect 572234 217352 572262 259115 +rect 573060 217364 573088 262251 +rect 654140 230988 654192 230994 +rect 654140 230930 654192 230936 +rect 654152 226334 654180 230930 +rect 654152 226306 655192 226334 +rect 607588 223576 607640 223582 +rect 607588 223518 607640 223524 +rect 574374 222184 574430 222193 +rect 574374 222119 574430 222128 +rect 573546 221504 573602 221513 +rect 573546 221439 573602 221448 rect 573560 217410 573588 221439 rect 574388 217410 574416 222119 rect 575202 221776 575258 221785 @@ -37549,7 +37577,6 @@ rect 607128 218136 607180 218142 rect 607128 218078 607180 218084 rect 606668 218068 606720 218074 rect 606668 218010 606720 218016 -rect 570248 217382 570920 217398 rect 573560 217382 573896 217410 rect 574388 217382 574724 217410 rect 575216 217382 575552 217410 @@ -45457,7 +45484,10 @@ rect 636750 269320 636806 269376 rect 645030 271768 645086 271824 rect 646226 269184 646282 269240 rect 648618 269048 648674 269104 +rect 573044 262260 573104 262320 +rect 572218 259124 572278 259184 rect 184938 258576 184994 258632 +rect 571394 255852 571454 255912 rect 416778 252728 416834 252784 rect 416778 249464 416834 249520 rect 187606 247968 187662 248024 @@ -52911,6 +52941,12 @@ rect 675937 262520 675942 262576 rect 675998 262520 676292 262576 rect 675937 262518 676292 262520 rect 675937 262515 676003 262518 +rect 412380 262320 573116 262334 +rect 412380 262274 573044 262320 +rect 573039 262260 573044 262274 +rect 573104 262274 573116 262320 +rect 573104 262260 573109 262274 +rect 573039 262255 573109 262260 rect 676029 262170 676095 262173 rect 676029 262168 676292 262170 rect 676029 262112 676034 262168 @@ -52960,6 +52996,13 @@ rect 676029 259256 676034 259312 rect 676090 259256 676292 259312 rect 676029 259254 676292 259256 rect 676029 259251 676095 259254 +rect 572213 259186 572283 259189 +rect 412380 259184 572292 259186 +rect 412380 259126 572218 259184 +rect 572213 259124 572218 259126 +rect 572278 259126 572292 259184 +rect 572278 259124 572283 259126 +rect 572213 259119 572283 259124 rect 676121 258770 676187 258773 rect 676262 258770 676322 258876 rect 676121 258768 676322 258770 @@ -53023,6 +53066,12 @@ rect 41462 256264 41510 256320 rect 41566 256264 41571 256320 rect 41462 256259 41571 256264 rect 41462 256020 41522 256259 +rect 412336 255912 571470 255924 +rect 412336 255864 571394 255912 +rect 571389 255852 571394 255864 +rect 571454 255864 571470 255912 +rect 571454 255852 571459 255864 +rect 571389 255847 571459 255852 rect 39990 255508 40050 255612 rect 39982 255444 39988 255508 rect 40052 255444 40058 255508 @@ -58804,111 +58853,111 @@ timestamp 1649951985 transform 1 0 149318 0 1 16066 box -262 -10162 35048 2764 use gpio_control_block gpio_control_bidir_1\[0\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 121000 box 882 416 34000 13000 use gpio_control_block gpio_control_bidir_1\[1\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 166200 box 882 416 34000 13000 use gpio_control_block gpio_control_bidir_2\[0\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 289000 box 882 416 34000 13000 use gpio_control_block gpio_control_bidir_2\[1\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 245800 box 882 416 34000 13000 use gpio_control_block gpio_control_bidir_2\[2\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 202600 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[0\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 523800 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[1\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 568800 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[2\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 614000 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[3\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 659000 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[4\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 704200 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[5\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 884800 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[0\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 211200 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[1\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 256400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[2\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 301400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[3\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 346400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[4\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 391600 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[5\] -timestamp 1649446267 +timestamp 1650313688 transform -1 0 710203 0 1 479800 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[0\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 805400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[1\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 762200 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[2\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 719000 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[3\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 675800 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[4\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 632600 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[5\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 589400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[6\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 546200 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[7\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 418600 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[8\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 375400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[9\] -timestamp 1649446267 +timestamp 1650313688 transform 1 0 7631 0 1 332200 box 882 416 34000 13000 use gpio_defaults_block gpio_defaults_block_0\[0\] @@ -59080,131 +59129,131 @@ timestamp 1638030917 transform 1 0 656624 0 1 88126 box 0 0 7109 7077 << labels >> -rlabel metal5 s 187640 6598 200160 19088 6 clock +flabel metal5 s 187640 6598 200160 19088 0 FreeSans 25000 0 0 0 clock port 0 nsew signal input -rlabel metal5 s 351040 6598 363560 19088 6 flash_clk +flabel metal5 s 351040 6598 363560 19088 0 FreeSans 25000 0 0 0 flash_clk port 1 nsew signal tristate -rlabel metal5 s 296240 6598 308760 19088 6 flash_csb +flabel metal5 s 296240 6598 308760 19088 0 FreeSans 25000 0 0 0 flash_csb port 2 nsew signal tristate -rlabel metal5 s 405840 6598 418360 19088 6 flash_io0 +flabel metal5 s 405840 6598 418360 19088 0 FreeSans 25000 0 0 0 flash_io0 port 3 nsew signal tristate -rlabel metal5 s 460640 6598 473160 19088 6 flash_io1 +flabel metal5 s 460640 6598 473160 19088 0 FreeSans 25000 0 0 0 flash_io1 port 4 nsew signal tristate -rlabel metal5 s 515440 6598 527960 19088 6 gpio +flabel metal5 s 515440 6598 527960 19088 0 FreeSans 25000 0 0 0 gpio port 5 nsew signal bidirectional -rlabel metal5 s 698512 101240 711002 113760 6 mprj_io[0] +flabel metal5 s 698512 101240 711002 113760 0 FreeSans 25000 0 0 0 mprj_io[0] port 6 nsew signal bidirectional -rlabel metal5 s 698512 684440 711002 696960 6 mprj_io[10] +flabel metal5 s 698512 684440 711002 696960 0 FreeSans 25000 0 0 0 mprj_io[10] port 7 nsew signal bidirectional -rlabel metal5 s 698512 729440 711002 741960 6 mprj_io[11] +flabel metal5 s 698512 729440 711002 741960 0 FreeSans 25000 0 0 0 mprj_io[11] port 8 nsew signal bidirectional -rlabel metal5 s 698512 774440 711002 786960 6 mprj_io[12] +flabel metal5 s 698512 774440 711002 786960 0 FreeSans 25000 0 0 0 mprj_io[12] port 9 nsew signal bidirectional -rlabel metal5 s 698512 863640 711002 876160 6 mprj_io[13] +flabel metal5 s 698512 863640 711002 876160 0 FreeSans 25000 0 0 0 mprj_io[13] port 10 nsew signal bidirectional -rlabel metal5 s 698624 953022 710788 965190 6 mprj_io[14] +flabel metal5 s 698624 953022 710788 965190 0 FreeSans 25000 0 0 0 mprj_io[14] port 11 nsew signal bidirectional -rlabel metal5 s 628410 1018624 640578 1030788 6 mprj_io[15] +flabel metal5 s 628410 1018624 640578 1030788 0 FreeSans 25000 0 0 0 mprj_io[15] port 12 nsew signal bidirectional -rlabel metal5 s 526610 1018624 538778 1030788 6 mprj_io[16] +flabel metal5 s 526610 1018624 538778 1030788 0 FreeSans 25000 0 0 0 mprj_io[16] port 13 nsew signal bidirectional -rlabel metal5 s 475210 1018624 487378 1030788 6 mprj_io[17] +flabel metal5 s 475210 1018624 487378 1030788 0 FreeSans 25000 0 0 0 mprj_io[17] port 14 nsew signal bidirectional -rlabel metal5 s 386210 1018624 398378 1030788 6 mprj_io[18] +flabel metal5 s 386210 1018624 398378 1030788 0 FreeSans 25000 0 0 0 mprj_io[18] port 15 nsew signal bidirectional -rlabel metal5 s 284410 1018624 296578 1030788 6 mprj_io[19] +flabel metal5 s 284410 1018624 296578 1030788 0 FreeSans 25000 0 0 0 mprj_io[19] port 16 nsew signal bidirectional -rlabel metal5 s 698512 146440 711002 158960 6 mprj_io[1] +flabel metal5 s 698512 146440 711002 158960 0 FreeSans 25000 0 0 0 mprj_io[1] port 17 nsew signal bidirectional -rlabel metal5 s 231810 1018624 243978 1030788 6 mprj_io[20] +flabel metal5 s 231810 1018624 243978 1030788 0 FreeSans 25000 0 0 0 mprj_io[20] port 18 nsew signal bidirectional -rlabel metal5 s 181410 1018624 193578 1030788 6 mprj_io[21] +flabel metal5 s 181410 1018624 193578 1030788 0 FreeSans 25000 0 0 0 mprj_io[21] port 19 nsew signal bidirectional -rlabel metal5 s 130010 1018624 142178 1030788 6 mprj_io[22] +flabel metal5 s 130010 1018624 142178 1030788 0 FreeSans 25000 0 0 0 mprj_io[22] port 20 nsew signal bidirectional -rlabel metal5 s 78610 1018624 90778 1030788 6 mprj_io[23] +flabel metal5 s 78610 1018624 90778 1030788 0 FreeSans 25000 0 0 0 mprj_io[23] port 21 nsew signal bidirectional -rlabel metal5 s 6811 956610 18975 968778 6 mprj_io[24] +flabel metal5 s 6811 956610 18975 968778 0 FreeSans 25000 0 0 0 mprj_io[24] port 22 nsew signal bidirectional -rlabel metal5 s 6598 786640 19088 799160 6 mprj_io[25] +flabel metal5 s 6598 786640 19088 799160 0 FreeSans 25000 0 0 0 mprj_io[25] port 23 nsew signal bidirectional -rlabel metal5 s 6598 743440 19088 755960 6 mprj_io[26] +flabel metal5 s 6598 743440 19088 755960 0 FreeSans 25000 0 0 0 mprj_io[26] port 24 nsew signal bidirectional -rlabel metal5 s 6598 700240 19088 712760 6 mprj_io[27] +flabel metal5 s 6598 700240 19088 712760 0 FreeSans 25000 0 0 0 mprj_io[27] port 25 nsew signal bidirectional -rlabel metal5 s 6598 657040 19088 669560 6 mprj_io[28] +flabel metal5 s 6598 657040 19088 669560 0 FreeSans 25000 0 0 0 mprj_io[28] port 26 nsew signal bidirectional -rlabel metal5 s 6598 613840 19088 626360 6 mprj_io[29] +flabel metal5 s 6598 613840 19088 626360 0 FreeSans 25000 0 0 0 mprj_io[29] port 27 nsew signal bidirectional -rlabel metal5 s 698512 191440 711002 203960 6 mprj_io[2] +flabel metal5 s 698512 191440 711002 203960 0 FreeSans 25000 0 0 0 mprj_io[2] port 28 nsew signal bidirectional -rlabel metal5 s 6598 570640 19088 583160 6 mprj_io[30] +flabel metal5 s 6598 570640 19088 583160 0 FreeSans 25000 0 0 0 mprj_io[30] port 29 nsew signal bidirectional -rlabel metal5 s 6598 527440 19088 539960 6 mprj_io[31] +flabel metal5 s 6598 527440 19088 539960 0 FreeSans 25000 0 0 0 mprj_io[31] port 30 nsew signal bidirectional -rlabel metal5 s 6598 399840 19088 412360 6 mprj_io[32] +flabel metal5 s 6598 399840 19088 412360 0 FreeSans 25000 0 0 0 mprj_io[32] port 31 nsew signal bidirectional -rlabel metal5 s 6598 356640 19088 369160 6 mprj_io[33] +flabel metal5 s 6598 356640 19088 369160 0 FreeSans 25000 0 0 0 mprj_io[33] port 32 nsew signal bidirectional -rlabel metal5 s 6598 313440 19088 325960 6 mprj_io[34] +flabel metal5 s 6598 313440 19088 325960 0 FreeSans 25000 0 0 0 mprj_io[34] port 33 nsew signal bidirectional -rlabel metal5 s 6598 270240 19088 282760 6 mprj_io[35] +flabel metal5 s 6598 270240 19088 282760 0 FreeSans 25000 0 0 0 mprj_io[35] port 34 nsew signal bidirectional -rlabel metal5 s 6598 227040 19088 239560 6 mprj_io[36] +flabel metal5 s 6598 227040 19088 239560 0 FreeSans 25000 0 0 0 mprj_io[36] port 35 nsew signal bidirectional -rlabel metal5 s 6598 183840 19088 196360 6 mprj_io[37] +flabel metal5 s 6598 183840 19088 196360 0 FreeSans 25000 0 0 0 mprj_io[37] port 36 nsew signal bidirectional -rlabel metal5 s 698512 236640 711002 249160 6 mprj_io[3] +flabel metal5 s 698512 236640 711002 249160 0 FreeSans 25000 0 0 0 mprj_io[3] port 37 nsew signal bidirectional -rlabel metal5 s 698512 281640 711002 294160 6 mprj_io[4] +flabel metal5 s 698512 281640 711002 294160 0 FreeSans 25000 0 0 0 mprj_io[4] port 38 nsew signal bidirectional -rlabel metal5 s 698512 326640 711002 339160 6 mprj_io[5] +flabel metal5 s 698512 326640 711002 339160 0 FreeSans 25000 0 0 0 mprj_io[5] port 39 nsew signal bidirectional -rlabel metal5 s 698512 371840 711002 384360 6 mprj_io[6] +flabel metal5 s 698512 371840 711002 384360 0 FreeSans 25000 0 0 0 mprj_io[6] port 40 nsew signal bidirectional -rlabel metal5 s 698512 549040 711002 561560 6 mprj_io[7] +flabel metal5 s 698512 549040 711002 561560 0 FreeSans 25000 0 0 0 mprj_io[7] port 41 nsew signal bidirectional -rlabel metal5 s 698512 594240 711002 606760 6 mprj_io[8] +flabel metal5 s 698512 594240 711002 606760 0 FreeSans 25000 0 0 0 mprj_io[8] port 42 nsew signal bidirectional -rlabel metal5 s 698512 639240 711002 651760 6 mprj_io[9] +flabel metal5 s 698512 639240 711002 651760 0 FreeSans 25000 0 0 0 mprj_io[9] port 43 nsew signal bidirectional -rlabel metal5 s 136713 7143 144149 18309 6 resetb +flabel metal5 s 136713 7143 144149 18309 0 FreeSans 25000 0 0 0 resetb port 44 nsew signal input -rlabel metal5 s 697980 909666 711432 920546 6 vccd1 +flabel metal5 s 697980 909666 711432 920546 0 FreeSans 25000 0 0 0 vccd1 port 45 nsew signal bidirectional -rlabel metal5 s 6167 914054 19619 924934 6 vccd2 +flabel metal5 s 6167 914054 19619 924934 0 FreeSans 25000 0 0 0 vccd2 port 46 nsew signal bidirectional -rlabel metal5 s 624222 6811 636390 18975 6 vdda +flabel metal5 s 624222 6811 636390 18975 0 FreeSans 25000 0 0 0 vdda port 47 nsew signal bidirectional -rlabel metal5 s 698624 819822 710788 831990 6 vdda1 +flabel metal5 s 698624 819822 710788 831990 0 FreeSans 25000 0 0 0 vdda1 port 48 nsew signal bidirectional -rlabel metal5 s 698624 505222 710788 517390 6 vdda1_2 +flabel metal5 s 698624 505222 710788 517390 0 FreeSans 25000 0 0 0 vdda1_2 port 49 nsew signal bidirectional -rlabel metal5 s 6811 484410 18975 496578 6 vdda2 +flabel metal5 s 6811 484410 18975 496578 0 FreeSans 25000 0 0 0 vdda2 port 50 nsew signal bidirectional -rlabel metal5 s 6811 871210 18975 883378 6 vddio_2 +flabel metal5 s 6811 871210 18975 883378 0 FreeSans 25000 0 0 0 vddio_2 port 51 nsew signal bidirectional -rlabel metal5 s 577010 1018624 589178 1030788 6 vssa1 +flabel metal5 s 577010 1018624 589178 1030788 0 FreeSans 25000 0 0 0 vssa1 port 52 nsew signal bidirectional -rlabel metal5 s 698624 417022 710788 429190 6 vssa1_2 +flabel metal5 s 698624 417022 710788 429190 0 FreeSans 25000 0 0 0 vssa1_2 port 53 nsew signal bidirectional -rlabel metal5 s 6811 829010 18975 841178 6 vssa2 +flabel metal5 s 6811 829010 18975 841178 0 FreeSans 25000 0 0 0 vssa2 port 54 nsew signal bidirectional -rlabel metal5 s 697980 461866 711432 472746 6 vssd1 +flabel metal5 s 697980 461866 711432 472746 0 FreeSans 25000 0 0 0 vssd1 port 55 nsew signal bidirectional -rlabel metal5 s 6167 442854 19619 453734 6 vssd2 +flabel metal5 s 6167 442854 19619 453734 0 FreeSans 25000 0 0 0 vssd2 port 56 nsew signal bidirectional -rlabel metal5 s 334810 1018624 346978 1030788 6 vssio_2 +flabel metal5 s 334810 1018624 346978 1030788 0 FreeSans 25000 0 0 0 vssio_2 port 57 nsew signal bidirectional -rlabel metal5 s 6811 111610 18975 123778 6 vddio +flabel metal5 s 6811 111610 18975 123778 0 FreeSans 25000 0 0 0 vddio port 58 nsew signal bidirectional -rlabel metal5 s 570422 6811 582590 18975 6 vssio +flabel metal5 s 570422 6811 582590 18975 0 FreeSans 25000 0 0 0 vssio port 59 nsew signal bidirectional -rlabel metal5 s 80222 6811 92390 18975 6 vssa +flabel metal5 s 80222 6811 92390 18975 0 FreeSans 25000 0 0 0 vssa port 60 nsew signal bidirectional -rlabel metal5 s 6167 70054 19619 80934 6 vccd +flabel metal5 s 6167 70054 19619 80934 0 FreeSans 25000 0 0 0 vccd port 61 nsew signal bidirectional -rlabel metal5 s 243266 6167 254146 19619 6 vssd +flabel metal5 s 243266 6167 254146 19619 0 FreeSans 25000 0 0 0 vssd port 62 nsew signal bidirectional << properties >> string FIXED_BBOX 0 0 717600 1037600 diff --git a/mag/caravel.mag b/mag/caravel.mag index 69afc4f5..83c30035 100644 --- a/mag/caravel.mag +++ b/mag/caravel.mag @@ -73721,155 +73721,155 @@ timestamp 1649268499 transform 1 0 149554 0 1 16026 box -262 -10348 35048 2764 use gpio_control_block gpio_control_bidir_1\[0\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 121000 box 882 416 34000 13000 use gpio_control_block gpio_control_bidir_1\[1\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 166200 box 882 416 34000 13000 use gpio_control_block gpio_control_bidir_2\[0\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 289000 box 882 416 34000 13000 use gpio_control_block gpio_control_bidir_2\[1\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 245800 box 882 416 34000 13000 use gpio_control_block gpio_control_bidir_2\[2\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 202600 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[0\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 523800 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[1\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 568800 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[2\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 614000 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[3\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 659000 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[4\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 704200 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[5\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 749200 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[6\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 927600 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[7\] -timestamp 1649446267 +timestamp 1649688056 transform 0 1 549200 -1 0 1030077 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[8\] -timestamp 1649446267 +timestamp 1649688056 transform 0 1 497800 -1 0 1030077 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[9\] -timestamp 1649446267 +timestamp 1649688056 transform 0 1 420800 -1 0 1030077 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1\[10\] -timestamp 1649446267 +timestamp 1649688056 transform 0 1 353400 -1 0 1030077 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[0\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 211200 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[1\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 256400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[2\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 301400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[3\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 346400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[4\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 391600 box 882 416 34000 13000 use gpio_control_block gpio_control_in_1a\[5\] -timestamp 1649446267 +timestamp 1649688056 transform -1 0 710203 0 1 479800 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[0\] -timestamp 1649446267 +timestamp 1649688056 transform 0 1 303000 -1 0 1030077 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[1\] -timestamp 1649446267 +timestamp 1649688056 transform 0 1 251400 -1 0 1030077 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[2\] -timestamp 1649446267 +timestamp 1649688056 transform 0 1 200000 -1 0 1030077 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[3\] -timestamp 1649446267 +timestamp 1649688056 transform 0 1 148600 -1 0 1030077 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[4\] -timestamp 1649446267 +timestamp 1649688056 transform 0 1 97200 -1 0 1030077 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[5\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 931200 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[6\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 805400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[7\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 762200 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[8\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 719000 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[9\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 675800 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[10\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 632600 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[11\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 589400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[12\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 546200 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[13\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 418600 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[14\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 375400 box 882 416 34000 13000 use gpio_control_block gpio_control_in_2\[15\] -timestamp 1649446267 +timestamp 1649688056 transform 1 0 7631 0 1 332200 box 882 416 34000 13000 use gpio_defaults_block gpio_defaults_block_0\[0\] @@ -74029,7 +74029,7 @@ timestamp 1638464048 transform 1 0 606434 0 1 100002 box 0 0 60046 110190 use mgmt_protect mgmt_buffers -timestamp 1649327869 +timestamp 1649962643 transform 1 0 192180 0 1 232036 box -400 -400 220400 32400 use user_project_wrapper mprj @@ -74085,258 +74085,132 @@ timestamp 1638030917 transform 1 0 656624 0 1 88126 box 0 0 7109 7077 << labels >> -rlabel metal5 s 187640 6598 200160 19088 6 clock +flabel metal5 s 187640 6598 200160 19088 0 FreeSans 25000 0 0 0 clock port 0 nsew signal input -rlabel metal5 s 187640 6598 200160 19088 6 clock -port 1 nsew signal input -rlabel metal5 s 351040 6598 363560 19088 6 flash_clk +flabel metal5 s 351040 6598 363560 19088 0 FreeSans 25000 0 0 0 flash_clk +port 1 nsew signal tristate +flabel metal5 s 296240 6598 308760 19088 0 FreeSans 25000 0 0 0 flash_csb port 2 nsew signal tristate -rlabel metal5 s 351040 6598 363560 19088 6 flash_clk +flabel metal5 s 405840 6598 418360 19088 0 FreeSans 25000 0 0 0 flash_io0 port 3 nsew signal tristate -rlabel metal5 s 296240 6598 308760 19088 6 flash_csb +flabel metal5 s 460640 6598 473160 19088 0 FreeSans 25000 0 0 0 flash_io1 port 4 nsew signal tristate -rlabel metal5 s 296240 6598 308760 19088 6 flash_csb -port 5 nsew signal tristate -rlabel metal5 s 405840 6598 418360 19088 6 flash_io0 -port 6 nsew signal tristate -rlabel metal5 s 405840 6598 418360 19088 6 flash_io0 -port 7 nsew signal tristate -rlabel metal5 s 460640 6598 473160 19088 6 flash_io1 -port 8 nsew signal tristate -rlabel metal5 s 460640 6598 473160 19088 6 flash_io1 -port 9 nsew signal tristate -rlabel metal5 s 515440 6598 527960 19088 6 gpio +flabel metal5 s 515440 6598 527960 19088 0 FreeSans 25000 0 0 0 gpio +port 5 nsew signal bidirectional +flabel metal5 s 698512 101240 711002 113760 0 FreeSans 25000 0 0 0 mprj_io[0] +port 6 nsew signal bidirectional +flabel metal5 s 698512 684440 711002 696960 0 FreeSans 25000 0 0 0 mprj_io[10] +port 7 nsew signal bidirectional +flabel metal5 s 698512 729440 711002 741960 0 FreeSans 25000 0 0 0 mprj_io[11] +port 8 nsew signal bidirectional +flabel metal5 s 698512 774440 711002 786960 0 FreeSans 25000 0 0 0 mprj_io[12] +port 9 nsew signal bidirectional +flabel metal5 s 698512 863640 711002 876160 0 FreeSans 25000 0 0 0 mprj_io[13] port 10 nsew signal bidirectional -rlabel metal5 s 515440 6598 527960 19088 6 gpio +flabel metal5 s 698512 952840 711002 965360 0 FreeSans 25000 0 0 0 mprj_io[14] port 11 nsew signal bidirectional -rlabel metal5 s 698512 101240 711002 113760 6 mprj_io[0] +flabel metal5 s 628240 1018512 640760 1031002 0 FreeSans 25000 0 0 0 mprj_io[15] port 12 nsew signal bidirectional -rlabel metal5 s 698512 101240 711002 113760 6 mprj_io[0] +flabel metal5 s 526440 1018512 538960 1031002 0 FreeSans 25000 0 0 0 mprj_io[16] port 13 nsew signal bidirectional -rlabel metal5 s 698512 684440 711002 696960 6 mprj_io[10] +flabel metal5 s 475040 1018512 487560 1031002 0 FreeSans 25000 0 0 0 mprj_io[17] port 14 nsew signal bidirectional -rlabel metal5 s 698512 684440 711002 696960 6 mprj_io[10] +flabel metal5 s 386040 1018512 398560 1031002 0 FreeSans 25000 0 0 0 mprj_io[18] port 15 nsew signal bidirectional -rlabel metal5 s 698512 729440 711002 741960 6 mprj_io[11] +flabel metal5 s 284240 1018512 296760 1031002 0 FreeSans 25000 0 0 0 mprj_io[19] port 16 nsew signal bidirectional -rlabel metal5 s 698512 729440 711002 741960 6 mprj_io[11] +flabel metal5 s 698512 146440 711002 158960 0 FreeSans 25000 0 0 0 mprj_io[1] port 17 nsew signal bidirectional -rlabel metal5 s 698512 774440 711002 786960 6 mprj_io[12] +flabel metal5 s 232640 1018512 245160 1031002 0 FreeSans 25000 0 0 0 mprj_io[20] port 18 nsew signal bidirectional -rlabel metal5 s 698512 774440 711002 786960 6 mprj_io[12] +flabel metal5 s 181240 1018512 193760 1031002 0 FreeSans 25000 0 0 0 mprj_io[21] port 19 nsew signal bidirectional -rlabel metal5 s 698512 863640 711002 876160 6 mprj_io[13] +flabel metal5 s 129840 1018512 142360 1031002 0 FreeSans 25000 0 0 0 mprj_io[22] port 20 nsew signal bidirectional -rlabel metal5 s 698512 863640 711002 876160 6 mprj_io[13] +flabel metal5 s 78440 1018512 90960 1031002 0 FreeSans 25000 0 0 0 mprj_io[23] port 21 nsew signal bidirectional -rlabel metal5 s 698512 952840 711002 965360 6 mprj_io[14] +flabel metal5 s 6598 956440 19088 968960 0 FreeSans 25000 0 0 0 mprj_io[24] port 22 nsew signal bidirectional -rlabel metal5 s 698512 952840 711002 965360 6 mprj_io[14] +flabel metal5 s 6598 786640 19088 799160 0 FreeSans 25000 0 0 0 mprj_io[25] port 23 nsew signal bidirectional -rlabel metal5 s 628240 1018512 640760 1031002 6 mprj_io[15] +flabel metal5 s 6598 743440 19088 755960 0 FreeSans 25000 0 0 0 mprj_io[26] port 24 nsew signal bidirectional -rlabel metal5 s 628240 1018512 640760 1031002 6 mprj_io[15] +flabel metal5 s 6598 700240 19088 712760 0 FreeSans 25000 0 0 0 mprj_io[27] port 25 nsew signal bidirectional -rlabel metal5 s 526440 1018512 538960 1031002 6 mprj_io[16] +flabel metal5 s 6598 657040 19088 669560 0 FreeSans 25000 0 0 0 mprj_io[28] port 26 nsew signal bidirectional -rlabel metal5 s 526440 1018512 538960 1031002 6 mprj_io[16] +flabel metal5 s 6598 613840 19088 626360 0 FreeSans 25000 0 0 0 mprj_io[29] port 27 nsew signal bidirectional -rlabel metal5 s 475040 1018512 487560 1031002 6 mprj_io[17] +flabel metal5 s 698512 191440 711002 203960 0 FreeSans 25000 0 0 0 mprj_io[2] port 28 nsew signal bidirectional -rlabel metal5 s 475040 1018512 487560 1031002 6 mprj_io[17] +flabel metal5 s 6598 570640 19088 583160 0 FreeSans 25000 0 0 0 mprj_io[30] port 29 nsew signal bidirectional -rlabel metal5 s 386040 1018512 398560 1031002 6 mprj_io[18] +flabel metal5 s 6598 527440 19088 539960 0 FreeSans 25000 0 0 0 mprj_io[31] port 30 nsew signal bidirectional -rlabel metal5 s 386040 1018512 398560 1031002 6 mprj_io[18] +flabel metal5 s 6598 399840 19088 412360 0 FreeSans 25000 0 0 0 mprj_io[32] port 31 nsew signal bidirectional -rlabel metal5 s 284240 1018512 296760 1031002 6 mprj_io[19] +flabel metal5 s 6598 356640 19088 369160 0 FreeSans 25000 0 0 0 mprj_io[33] port 32 nsew signal bidirectional -rlabel metal5 s 284240 1018512 296760 1031002 6 mprj_io[19] +flabel metal5 s 6598 313440 19088 325960 0 FreeSans 25000 0 0 0 mprj_io[34] port 33 nsew signal bidirectional -rlabel metal5 s 698512 146440 711002 158960 6 mprj_io[1] +flabel metal5 s 6598 270240 19088 282760 0 FreeSans 25000 0 0 0 mprj_io[35] port 34 nsew signal bidirectional -rlabel metal5 s 698512 146440 711002 158960 6 mprj_io[1] +flabel metal5 s 6598 227040 19088 239560 0 FreeSans 25000 0 0 0 mprj_io[36] port 35 nsew signal bidirectional -rlabel metal5 s 232640 1018512 245160 1031002 6 mprj_io[20] +flabel metal5 s 6598 183840 19088 196360 0 FreeSans 25000 0 0 0 mprj_io[37] port 36 nsew signal bidirectional -rlabel metal5 s 232640 1018512 245160 1031002 6 mprj_io[20] +flabel metal5 s 698512 236640 711002 249160 0 FreeSans 25000 0 0 0 mprj_io[3] port 37 nsew signal bidirectional -rlabel metal5 s 181240 1018512 193760 1031002 6 mprj_io[21] +flabel metal5 s 698512 281640 711002 294160 0 FreeSans 25000 0 0 0 mprj_io[4] port 38 nsew signal bidirectional -rlabel metal5 s 181240 1018512 193760 1031002 6 mprj_io[21] +flabel metal5 s 698512 326640 711002 339160 0 FreeSans 25000 0 0 0 mprj_io[5] port 39 nsew signal bidirectional -rlabel metal5 s 129840 1018512 142360 1031002 6 mprj_io[22] +flabel metal5 s 698512 371840 711002 384360 0 FreeSans 25000 0 0 0 mprj_io[6] port 40 nsew signal bidirectional -rlabel metal5 s 129840 1018512 142360 1031002 6 mprj_io[22] +flabel metal5 s 698512 549040 711002 561560 0 FreeSans 25000 0 0 0 mprj_io[7] port 41 nsew signal bidirectional -rlabel metal5 s 78440 1018512 90960 1031002 6 mprj_io[23] +flabel metal5 s 698512 594240 711002 606760 0 FreeSans 25000 0 0 0 mprj_io[8] port 42 nsew signal bidirectional -rlabel metal5 s 78440 1018512 90960 1031002 6 mprj_io[23] +flabel metal5 s 698512 639240 711002 651760 0 FreeSans 25000 0 0 0 mprj_io[9] port 43 nsew signal bidirectional -rlabel metal5 s 6598 956440 19088 968960 6 mprj_io[24] -port 44 nsew signal bidirectional -rlabel metal5 s 6598 956440 19088 968960 6 mprj_io[24] +flabel metal5 s 136713 7143 144150 18309 0 FreeSans 25000 0 0 0 resetb +port 44 nsew signal input +flabel metal5 s 6167 70054 19620 80934 0 FreeSans 25000 0 0 0 vccd port 45 nsew signal bidirectional -rlabel metal5 s 6598 786640 19088 799160 6 mprj_io[25] +flabel metal5 s 697980 909666 711433 920546 0 FreeSans 25000 0 0 0 vccd1 port 46 nsew signal bidirectional -rlabel metal5 s 6598 786640 19088 799160 6 mprj_io[25] +flabel metal5 s 6167 914054 19620 924934 0 FreeSans 25000 0 0 0 vccd2 port 47 nsew signal bidirectional -rlabel metal5 s 6598 743440 19088 755960 6 mprj_io[26] +flabel metal5 s 624222 6811 636390 18976 0 FreeSans 25000 0 0 0 vdda port 48 nsew signal bidirectional -rlabel metal5 s 6598 743440 19088 755960 6 mprj_io[26] +flabel metal5 s 698624 819822 710789 831990 0 FreeSans 25000 0 0 0 vdda1 port 49 nsew signal bidirectional -rlabel metal5 s 6598 700240 19088 712760 6 mprj_io[27] +flabel metal5 s 698624 505222 710789 517390 0 FreeSans 25000 0 0 0 vdda1_2 port 50 nsew signal bidirectional -rlabel metal5 s 6598 700240 19088 712760 6 mprj_io[27] +flabel metal5 s 6811 484410 18976 496578 0 FreeSans 25000 0 0 0 vdda2 port 51 nsew signal bidirectional -rlabel metal5 s 6598 657040 19088 669560 6 mprj_io[28] +flabel metal5 s 6811 111610 18976 123778 0 FreeSans 25000 0 0 0 vddio port 52 nsew signal bidirectional -rlabel metal5 s 6598 657040 19088 669560 6 mprj_io[28] +flabel metal5 s 6811 871210 18976 883378 0 FreeSans 25000 0 0 0 vddio_2 port 53 nsew signal bidirectional -rlabel metal5 s 6598 613840 19088 626360 6 mprj_io[29] +flabel metal5 s 80222 6811 92390 18976 0 FreeSans 25000 0 0 0 vssa port 54 nsew signal bidirectional -rlabel metal5 s 6598 613840 19088 626360 6 mprj_io[29] +flabel metal5 s 577010 1018624 589178 1030789 0 FreeSans 25000 0 0 0 vssa1 port 55 nsew signal bidirectional -rlabel metal5 s 698512 191440 711002 203960 6 mprj_io[2] +flabel metal5 s 698624 417022 710789 429190 0 FreeSans 25000 0 0 0 vssa1_2 port 56 nsew signal bidirectional -rlabel metal5 s 698512 191440 711002 203960 6 mprj_io[2] +flabel metal5 s 6811 829010 18976 841178 0 FreeSans 25000 0 0 0 vssa2 port 57 nsew signal bidirectional -rlabel metal5 s 6598 570640 19088 583160 6 mprj_io[30] +flabel metal5 s 243266 6167 254146 19620 0 FreeSans 25000 0 0 0 vssd port 58 nsew signal bidirectional -rlabel metal5 s 6598 570640 19088 583160 6 mprj_io[30] +flabel metal5 s 697980 461866 711433 472746 0 FreeSans 25000 0 0 0 vssd1 port 59 nsew signal bidirectional -rlabel metal5 s 6598 527440 19088 539960 6 mprj_io[31] +flabel metal5 s 6167 442854 19620 453734 0 FreeSans 25000 0 0 0 vssd2 port 60 nsew signal bidirectional -rlabel metal5 s 6598 527440 19088 539960 6 mprj_io[31] +flabel metal5 s 570422 6811 582590 18976 0 FreeSans 25000 0 0 0 vssio port 61 nsew signal bidirectional -rlabel metal5 s 6598 399840 19088 412360 6 mprj_io[32] +flabel metal5 s 334810 1018624 346978 1030789 0 FreeSans 25000 0 0 0 vssio_2 port 62 nsew signal bidirectional -rlabel metal5 s 6598 399840 19088 412360 6 mprj_io[32] -port 63 nsew signal bidirectional -rlabel metal5 s 6598 356640 19088 369160 6 mprj_io[33] -port 64 nsew signal bidirectional -rlabel metal5 s 6598 356640 19088 369160 6 mprj_io[33] -port 65 nsew signal bidirectional -rlabel metal5 s 6598 313440 19088 325960 6 mprj_io[34] -port 66 nsew signal bidirectional -rlabel metal5 s 6598 313440 19088 325960 6 mprj_io[34] -port 67 nsew signal bidirectional -rlabel metal5 s 6598 270240 19088 282760 6 mprj_io[35] -port 68 nsew signal bidirectional -rlabel metal5 s 6598 270240 19088 282760 6 mprj_io[35] -port 69 nsew signal bidirectional -rlabel metal5 s 6598 227040 19088 239560 6 mprj_io[36] -port 70 nsew signal bidirectional -rlabel metal5 s 6598 227040 19088 239560 6 mprj_io[36] -port 71 nsew signal bidirectional -rlabel metal5 s 6598 183840 19088 196360 6 mprj_io[37] -port 72 nsew signal bidirectional -rlabel metal5 s 6598 183840 19088 196360 6 mprj_io[37] -port 73 nsew signal bidirectional -rlabel metal5 s 698512 236640 711002 249160 6 mprj_io[3] -port 74 nsew signal bidirectional -rlabel metal5 s 698512 236640 711002 249160 6 mprj_io[3] -port 75 nsew signal bidirectional -rlabel metal5 s 698512 281640 711002 294160 6 mprj_io[4] -port 76 nsew signal bidirectional -rlabel metal5 s 698512 281640 711002 294160 6 mprj_io[4] -port 77 nsew signal bidirectional -rlabel metal5 s 698512 326640 711002 339160 6 mprj_io[5] -port 78 nsew signal bidirectional -rlabel metal5 s 698512 326640 711002 339160 6 mprj_io[5] -port 79 nsew signal bidirectional -rlabel metal5 s 698512 371840 711002 384360 6 mprj_io[6] -port 80 nsew signal bidirectional -rlabel metal5 s 698512 371840 711002 384360 6 mprj_io[6] -port 81 nsew signal bidirectional -rlabel metal5 s 698512 549040 711002 561560 6 mprj_io[7] -port 82 nsew signal bidirectional -rlabel metal5 s 698512 549040 711002 561560 6 mprj_io[7] -port 83 nsew signal bidirectional -rlabel metal5 s 698512 594240 711002 606760 6 mprj_io[8] -port 84 nsew signal bidirectional -rlabel metal5 s 698512 594240 711002 606760 6 mprj_io[8] -port 85 nsew signal bidirectional -rlabel metal5 s 698512 639240 711002 651760 6 mprj_io[9] -port 86 nsew signal bidirectional -rlabel metal5 s 698512 639240 711002 651760 6 mprj_io[9] -port 87 nsew signal bidirectional -rlabel metal5 s 136713 7143 144150 18309 6 resetb -port 88 nsew signal input -rlabel metal5 s 136713 7143 144150 18309 6 resetb -port 89 nsew signal input -rlabel metal5 s 6167 70054 19620 80934 6 vccd -port 90 nsew signal bidirectional -rlabel metal5 s 6167 70054 19620 80934 6 vccd -port 91 nsew signal bidirectional -rlabel metal5 s 697980 909666 711433 920546 6 vccd1 -port 92 nsew signal bidirectional -rlabel metal5 s 697980 909666 711433 920546 6 vccd1 -port 93 nsew signal bidirectional -rlabel metal5 s 6167 914054 19620 924934 6 vccd2 -port 94 nsew signal bidirectional -rlabel metal5 s 6167 914054 19620 924934 6 vccd2 -port 95 nsew signal bidirectional -rlabel metal5 s 624222 6811 636390 18976 6 vdda -port 96 nsew signal bidirectional -rlabel metal5 s 624222 6811 636390 18976 6 vdda -port 97 nsew signal bidirectional -rlabel metal5 s 698624 819822 710789 831990 6 vdda1 -port 98 nsew signal bidirectional -rlabel metal5 s 698624 819822 710789 831990 6 vdda1 -port 99 nsew signal bidirectional -rlabel metal5 s 698624 505222 710789 517390 6 vdda1_2 -port 100 nsew signal bidirectional -rlabel metal5 s 698624 505222 710789 517390 6 vdda1_2 -port 101 nsew signal bidirectional -rlabel metal5 s 6811 484410 18976 496578 6 vdda2 -port 102 nsew signal bidirectional -rlabel metal5 s 6811 484410 18976 496578 6 vdda2 -port 103 nsew signal bidirectional -rlabel metal5 s 6811 111610 18976 123778 6 vddio -port 104 nsew signal bidirectional -rlabel metal5 s 6811 111610 18976 123778 6 vddio -port 105 nsew signal bidirectional -rlabel metal5 s 6811 871210 18976 883378 6 vddio_2 -port 106 nsew signal bidirectional -rlabel metal5 s 6811 871210 18976 883378 6 vddio_2 -port 107 nsew signal bidirectional -rlabel metal5 s 80222 6811 92390 18976 6 vssa -port 108 nsew signal bidirectional -rlabel metal5 s 80222 6811 92390 18976 6 vssa -port 109 nsew signal bidirectional -rlabel metal5 s 577010 1018624 589178 1030789 6 vssa1 -port 110 nsew signal bidirectional -rlabel metal5 s 577010 1018624 589178 1030789 6 vssa1 -port 111 nsew signal bidirectional -rlabel metal5 s 698624 417022 710789 429190 6 vssa1_2 -port 112 nsew signal bidirectional -rlabel metal5 s 698624 417022 710789 429190 6 vssa1_2 -port 113 nsew signal bidirectional -rlabel metal5 s 6811 829010 18976 841178 6 vssa2 -port 114 nsew signal bidirectional -rlabel metal5 s 6811 829010 18976 841178 6 vssa2 -port 115 nsew signal bidirectional -rlabel metal5 s 243266 6167 254146 19620 6 vssd -port 116 nsew signal bidirectional -rlabel metal5 s 243266 6167 254146 19620 6 vssd -port 117 nsew signal bidirectional -rlabel metal5 s 697980 461866 711433 472746 6 vssd1 -port 118 nsew signal bidirectional -rlabel metal5 s 697980 461866 711433 472746 6 vssd1 -port 119 nsew signal bidirectional -rlabel metal5 s 6167 442854 19620 453734 6 vssd2 -port 120 nsew signal bidirectional -rlabel metal5 s 6167 442854 19620 453734 6 vssd2 -port 121 nsew signal bidirectional -rlabel metal5 s 570422 6811 582590 18976 6 vssio -port 122 nsew signal bidirectional -rlabel metal5 s 570422 6811 582590 18976 6 vssio -port 123 nsew signal bidirectional -rlabel metal5 s 334810 1018624 346978 1030789 6 vssio_2 -port 124 nsew signal bidirectional -rlabel metal5 s 334810 1018624 346978 1030789 6 vssio_2 -port 125 nsew signal bidirectional << properties >> string FIXED_BBOX 0 0 717600 1037600 << end >> diff --git a/mag/gpio_control_block.mag b/mag/gpio_control_block.mag index 458bfaa3..b32674b6 100644 --- a/mag/gpio_control_block.mag +++ b/mag/gpio_control_block.mag @@ -1,7 +1,13 @@ magic tech sky130A magscale 1 2 -timestamp 1649688056 +timestamp 1650313688 +<< checkpaint >> +rect -378 4132 11142 12732 +rect -102 372 11142 4132 +rect 1738 -220 11142 372 +<< isosubstrate >> +rect 1090 1552 2656 4518 << viali >> rect 1685 11305 1719 11339 rect 3893 11305 3927 11339 @@ -9265,1264 +9271,1264 @@ rect 920 1222 2602 1458 rect 2838 1222 7602 1458 rect 7838 1222 9844 1458 rect 920 1180 9844 1222 -use sky130_fd_sc_hd__diode_2 ANTENNA__096__A depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__diode_2 ANTENNA__096__A $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 9384 0 1 6528 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__098__B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9384 0 -1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__099__A2 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6348 0 -1 8704 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__100__A -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9200 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__101__A -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9384 0 -1 5440 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__102__A -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9476 0 1 1088 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__106__A -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9384 0 1 5440 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__109__A -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3680 0 -1 4352 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__110__B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3128 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__114__A -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5152 0 -1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__116__B_N -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1288 0 -1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__118__B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 1840 0 -1 8704 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__121__B_N -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3772 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__124__B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6164 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__127__B_N -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6532 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__129__B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5704 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__132__B_N -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6072 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__134__B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4048 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__137__B_N -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3864 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__139__B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 1656 0 -1 8704 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__144__B_N -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3588 0 1 5440 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__146__B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 8280 0 1 8704 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__149__B_N -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6072 0 -1 6528 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__152__B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9568 0 -1 7616 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__155__B_N -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6532 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__157__B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9568 0 -1 6528 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__160__B_N -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5612 0 1 4352 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__162__B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5336 0 1 3264 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__165__B_N -timestamp 1644511149 +timestamp 1648946573 transform -1 0 2760 0 -1 6528 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__167__B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3680 0 1 3264 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__170__B_N -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3496 0 1 3264 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__172__B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5888 0 1 1088 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__175__B_N -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3588 0 -1 3264 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__177__B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 1472 0 -1 8704 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__180__B_N -timestamp 1644511149 +timestamp 1648946573 transform 1 0 2392 0 -1 6528 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__195__D -timestamp 1644511149 +timestamp 1648946573 transform -1 0 1932 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__195__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 1748 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__196__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 1472 0 1 6528 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__197__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1472 0 -1 6528 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__198__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 1472 0 -1 6528 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__199__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1380 0 1 5440 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__200__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5888 0 1 1088 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__201__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4048 0 -1 2176 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__202__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 7820 0 1 1088 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__203__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8280 0 1 1088 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__204__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 8924 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__205__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9568 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__206__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform -1 0 7452 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__207__RESET_B -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8464 0 1 1088 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__208__A -timestamp 1644511149 +timestamp 1648946573 transform -1 0 7268 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA__211__A -timestamp 1644511149 +timestamp 1648946573 transform -1 0 8188 0 1 1088 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA_clkbuf_0_serial_clock_A -timestamp 1644511149 +timestamp 1648946573 transform -1 0 1380 0 1 5440 box -38 -48 222 592 use sky130_fd_sc_hd__diode_2 ANTENNA_clkbuf_0_serial_load_A -timestamp 1644511149 +timestamp 1648946573 transform -1 0 7084 0 1 10880 box -38 -48 222 592 -use sky130_fd_sc_hd__fill_1 FILLER_0_47 depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__fill_1 FILLER_0_47 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 5244 0 1 1088 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_0_84 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8648 0 1 1088 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_0_93 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9476 0 1 1088 box -38 -48 130 592 -use sky130_fd_sc_hd__decap_8 FILLER_1_26 depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__decap_8 FILLER_1_26 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 3312 0 -1 2176 box -38 -48 774 592 use sky130_fd_sc_hd__fill_1 FILLER_1_78 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8096 0 -1 2176 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_2_47 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5244 0 1 2176 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_3_26 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3312 0 -1 3264 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_3_57 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6164 0 -1 3264 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_3_83 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8556 0 -1 3264 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_3_93 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9476 0 -1 3264 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_5_26 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3312 0 -1 4352 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_5_32 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3864 0 -1 4352 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_6_29 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3588 0 1 4352 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_7_34 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4048 0 -1 5440 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_9_3 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1196 0 -1 6528 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_10_3 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1196 0 1 6528 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_10_27 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3404 0 1 6528 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_11_24 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3128 0 -1 7616 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_11_60 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6440 0 -1 7616 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_12_3 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1196 0 1 7616 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_12_83 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8556 0 1 7616 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_12_93 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9476 0 1 7616 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_13_3 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1196 0 -1 8704 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_13_69 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 7268 0 -1 8704 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_14_3 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1196 0 1 8704 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_14_42 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4784 0 1 8704 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_14_93 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9476 0 1 8704 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_15_24 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3128 0 -1 9792 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_15_93 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9476 0 -1 9792 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_16_3 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1196 0 1 9792 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_16_27 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3404 0 1 9792 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_16_93 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9476 0 1 9792 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_17_3 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1196 0 -1 10880 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_17_45 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5060 0 -1 10880 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_17_48 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5336 0 -1 10880 box -38 -48 130 592 -use sky130_fd_sc_hd__decap_4 FILLER_18_3 depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__decap_4 FILLER_18_3 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 1196 0 1 10880 box -38 -48 406 592 use sky130_fd_sc_hd__fill_1 FILLER_18_27 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3404 0 1 10880 box -38 -48 130 592 use sky130_fd_sc_hd__fill_1 FILLER_18_31 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3772 0 1 10880 box -38 -48 130 592 -use sky130_fd_sc_hd__fill_2 FILLER_18_63 depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__fill_2 FILLER_18_63 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 6716 0 1 10880 box -38 -48 222 592 use sky130_fd_sc_hd__fill_1 FILLER_18_83 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8556 0 1 10880 box -38 -48 130 592 -use sky130_fd_sc_hd__decap_3 PHY_0 depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__decap_3 PHY_0 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 3036 0 1 1088 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_1 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 1 1088 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_2 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3036 0 -1 2176 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_3 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 -1 2176 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_4 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3036 0 1 2176 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_5 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 1 2176 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_6 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3036 0 -1 3264 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_7 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 -1 3264 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_8 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3036 0 1 3264 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_9 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 1 3264 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_10 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3036 0 -1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_11 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 -1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_12 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3036 0 1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_13 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_14 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3036 0 -1 5440 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_15 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 -1 5440 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_16 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 1 5440 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_17 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 1 5440 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_18 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 -1 6528 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_19 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 -1 6528 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_20 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 1 6528 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_21 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 1 6528 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_22 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 -1 7616 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_23 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 -1 7616 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_24 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 1 7616 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_25 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 1 7616 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_26 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 -1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_27 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 -1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_28 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_29 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_30 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 -1 9792 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_31 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 -1 9792 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_32 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 1 9792 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_33 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 1 9792 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_34 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 -1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_35 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 -1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_36 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 920 0 1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_37 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9844 0 1 10880 box -38 -48 314 592 -use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_38 depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_38 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 5612 0 1 1088 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_39 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8188 0 1 1088 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_40 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8188 0 -1 2176 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_41 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5612 0 1 2176 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_42 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8188 0 -1 3264 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_43 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5612 0 1 3264 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_44 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8188 0 -1 4352 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_45 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5612 0 1 4352 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_46 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8188 0 -1 5440 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_47 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3496 0 1 5440 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_48 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6072 0 1 5440 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_49 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8648 0 1 5440 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_50 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6072 0 -1 6528 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_51 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3496 0 1 6528 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_52 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8648 0 1 6528 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_53 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6072 0 -1 7616 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_54 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3496 0 1 7616 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_55 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8648 0 1 7616 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_56 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6072 0 -1 8704 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_57 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3496 0 1 8704 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_58 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8648 0 1 8704 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_59 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6072 0 -1 9792 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_60 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3496 0 1 9792 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_61 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8648 0 1 9792 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_62 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6072 0 -1 10880 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_63 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3496 0 1 10880 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_64 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6072 0 1 10880 box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_65 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8648 0 1 10880 box -38 -48 130 592 -use sky130_fd_sc_hd__or2b_2 _096_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__or2b_2 _096_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 8740 0 1 6528 box -38 -48 682 592 -use sky130_fd_sc_hd__buf_1 _097_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__buf_1 _097_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform -1 0 9568 0 1 3264 box -38 -48 314 592 -use sky130_fd_sc_hd__and2b_2 _098_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__and2b_2 _098_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 8740 0 -1 10880 box -38 -48 682 592 -use sky130_fd_sc_hd__a31o_2 _099_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__a31o_2 _099_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 5980 0 1 7616 box -38 -48 682 592 -use sky130_fd_sc_hd__inv_2 _100_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__inv_2 _100_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform -1 0 9200 0 1 10880 box -38 -48 314 592 -use sky130_fd_sc_hd__nand2_2 _101_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__nand2_2 _101_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform -1 0 9384 0 -1 5440 box -38 -48 498 592 use sky130_fd_sc_hd__inv_2 _102_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9292 0 1 2176 box -38 -48 314 592 -use sky130_fd_sc_hd__o21a_2 _103_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__o21a_2 _103_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 8740 0 1 5440 box -38 -48 682 592 -use sky130_fd_sc_hd__o31ai_2 _104_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__o31ai_2 _104_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform -1 0 9384 0 -1 6528 box -38 -48 958 592 -use sky130_fd_sc_hd__o22ai_2 _105_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__o22ai_2 _105_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform -1 0 8648 0 1 6528 box -38 -48 958 592 use sky130_fd_sc_hd__inv_2 _106_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9292 0 -1 4352 box -38 -48 314 592 -use sky130_fd_sc_hd__and2_2 _107_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__and2_2 _107_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform -1 0 9292 0 1 1088 box -38 -48 590 592 use sky130_fd_sc_hd__buf_1 _108_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 9292 0 -1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__buf_1 _109_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3588 0 1 4352 box -38 -48 314 592 -use sky130_fd_sc_hd__or2_2 _110_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__or2_2 _110_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 2484 0 1 10880 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _111_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3128 0 1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__buf_1 _112_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5520 0 1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _113__4 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 2208 0 1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__buf_1 _114_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5152 0 1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__buf_1 _115_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 4416 0 1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _116_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3404 0 1 9792 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _117_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 2208 0 1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _118_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 2760 0 1 8704 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _119_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3220 0 -1 9792 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _120__5 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3496 0 1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _121_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3588 0 1 9792 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _122_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3864 0 1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__buf_1 _123_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5980 0 1 7616 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _124_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6164 0 -1 9792 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _125_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 7176 0 -1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _126__6 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6900 0 -1 9792 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _127_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6164 0 -1 10880 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _128_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6992 0 -1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _129_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4968 0 1 10880 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _130_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 7728 0 -1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _131__7 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 7452 0 -1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _132_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5428 0 -1 10880 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _133_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 7728 0 1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _134_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4508 0 1 10880 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _135_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5704 0 1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _136__8 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3864 0 1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _137_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4416 0 -1 10880 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _138_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4232 0 1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _139_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4692 0 -1 8704 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _140_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6440 0 -1 7616 box -38 -48 314 592 use sky130_fd_sc_hd__buf_1 _141_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3036 0 -1 6528 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _142__9 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3220 0 -1 7616 box -38 -48 314 592 use sky130_fd_sc_hd__buf_1 _143_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9384 0 -1 7616 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _144_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 4416 0 1 5440 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _145_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 2760 0 -1 6528 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _146_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5612 0 -1 8704 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _147_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4416 0 -1 8704 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _148__10 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 1564 0 1 7616 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _149_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5060 0 1 7616 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _150_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6440 0 1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__buf_1 _151_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6716 0 1 3264 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _152_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 8556 0 1 7616 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _153_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8004 0 1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _154__11 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 7452 0 1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _155_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6348 0 -1 8704 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _156_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 8556 0 1 10880 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _157_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8004 0 -1 6528 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _158_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9292 0 1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _159__12 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 7176 0 -1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _160_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8280 0 -1 5440 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _161_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9568 0 1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _162_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6992 0 -1 5440 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _163_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9568 0 -1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _164__13 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5612 0 1 3264 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _165_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8004 0 1 5440 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _166_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 8556 0 -1 3264 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _167_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4968 0 1 4352 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _168_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4508 0 1 3264 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _169__1 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3956 0 1 3264 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _170_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3680 0 1 4352 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _171_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3956 0 -1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _172_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5704 0 1 4352 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _173_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4232 0 1 3264 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _174__2 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3680 0 -1 4352 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _175_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4324 0 1 4352 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _176_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5612 0 1 2176 box -38 -48 314 592 use sky130_fd_sc_hd__or2_2 _177_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5612 0 -1 8704 box -38 -48 498 592 use sky130_fd_sc_hd__buf_1 _178_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 7544 0 1 1088 box -38 -48 314 592 use sky130_fd_sc_hd__inv_2 _179__3 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5336 0 1 1088 box -38 -48 314 592 use sky130_fd_sc_hd__or2b_2 _180_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5152 0 -1 5440 box -38 -48 682 592 use sky130_fd_sc_hd__buf_1 _181_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3956 0 1 3264 box -38 -48 314 592 -use sky130_fd_sc_hd__dfbbn_2 _182_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__dfbbn_2 _182_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 1840 0 -1 10880 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _183_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1840 0 -1 8704 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _184_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6072 0 1 9792 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _185_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6900 0 -1 9792 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _186_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3496 0 -1 9792 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _187_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3312 0 -1 6528 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _188_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3496 0 -1 7616 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _189_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6532 0 -1 7616 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _190_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6440 0 1 4352 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _191_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6716 0 1 3264 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _192_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3588 0 -1 3264 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _193_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4232 0 -1 4352 box -38 -48 2614 592 use sky130_fd_sc_hd__dfbbn_2 _194_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5704 0 1 2176 box -38 -48 2614 592 -use sky130_fd_sc_hd__dfrtp_2 _195_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__dfrtp_2 _195_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform -1 0 3128 0 -1 9792 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _196_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1564 0 1 7616 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _197_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3128 0 -1 7616 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _198_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1472 0 1 6528 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _199_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 3496 0 1 5440 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _200_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3312 0 1 1088 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _201_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3312 0 1 2176 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _202_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4232 0 -1 2176 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _203_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6164 0 -1 2176 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _204_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6164 0 1 8704 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _205_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 7360 0 -1 8704 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _206_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 7728 0 1 6528 box -38 -48 1970 592 use sky130_fd_sc_hd__dfrtp_2 _207_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6256 0 -1 3264 box -38 -48 1970 592 -use sky130_fd_sc_hd__buf_2 _208_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__buf_2 _208_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 8280 0 1 8704 box -38 -48 406 592 use sky130_fd_sc_hd__buf_2 _209_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8372 0 -1 10880 box -38 -48 406 592 use sky130_fd_sc_hd__buf_2 _210_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8004 0 -1 10880 box -38 -48 406 592 -use sky130_fd_sc_hd__ebufn_2 _211_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__ebufn_2 _211_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 8648 0 -1 3264 box -38 -48 866 592 -use sky130_fd_sc_hd__clkbuf_16 clkbuf_0__049_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__clkbuf_16 clkbuf_0__049_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 5152 0 -1 5440 box -38 -48 1878 592 use sky130_fd_sc_hd__clkbuf_16 clkbuf_0__077_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6072 0 1 9792 box -38 -48 1878 592 use sky130_fd_sc_hd__clkbuf_16 clkbuf_0_serial_clock -timestamp 1644511149 +timestamp 1648946573 transform -1 0 8004 0 1 5440 box -38 -48 1878 592 use sky130_fd_sc_hd__clkbuf_16 clkbuf_0_serial_load -timestamp 1644511149 +timestamp 1648946573 transform -1 0 8004 0 -1 6528 box -38 -48 1878 592 -use sky130_fd_sc_hd__clkbuf_2 clkbuf_1_0_0__049_ depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__clkbuf_2 clkbuf_1_0_0__049_ $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 6808 0 -1 4352 box -38 -48 406 592 use sky130_fd_sc_hd__clkbuf_2 clkbuf_1_0_0__077_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1472 0 -1 10880 box -38 -48 406 592 use sky130_fd_sc_hd__clkbuf_2 clkbuf_1_0_0_serial_clock -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5152 0 1 3264 box -38 -48 406 592 use sky130_fd_sc_hd__clkbuf_2 clkbuf_1_0_0_serial_load -timestamp 1644511149 +timestamp 1648946573 transform -1 0 4508 0 -1 5440 box -38 -48 406 592 use sky130_fd_sc_hd__clkbuf_2 clkbuf_1_1_0__049_ -timestamp 1644511149 +timestamp 1648946573 transform -1 0 4784 0 1 8704 box -38 -48 406 592 use sky130_fd_sc_hd__clkbuf_2 clkbuf_1_1_0__077_ -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6808 0 -1 10880 box -38 -48 406 592 use sky130_fd_sc_hd__clkbuf_2 clkbuf_1_1_0_serial_clock -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5520 0 1 8704 box -38 -48 406 592 use sky130_fd_sc_hd__clkbuf_2 clkbuf_1_1_0_serial_load -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6164 0 1 8704 box -38 -48 406 592 -use sky130_fd_sc_hd__conb_1 const_source depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__conb_1 const_source $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 9292 0 1 2176 box -38 -48 314 592 -use sky130_fd_sc_hd__dlygate4sd2_1 data_delay_1 depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__dlygate4sd2_1 data_delay_1 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 8280 0 -1 2176 box -38 -48 682 592 use sky130_fd_sc_hd__dlygate4sd2_1 data_delay_2 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8924 0 -1 2176 box -38 -48 682 592 -use sky130_fd_sc_hd__einvp_8 gpio_in_buf depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__einvp_8 gpio_in_buf $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 4416 0 1 5440 box -38 -48 1694 592 use gpio_logic_high gpio_logic_high -timestamp 0 +timestamp 1638030917 transform 1 0 1196 0 1 1680 box -38 -48 1418 2768 -use sky130_fd_sc_hd__dlygate4sd3_1 hold1 depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__dlygate4sd3_1 hold1 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 1656 0 -1 6528 box -38 -48 774 592 -use sky130_fd_sc_hd__clkdlybuf4s50_1 hold2 depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__clkdlybuf4s50_1 hold2 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform 1 0 3312 0 -1 5440 box -38 -48 774 592 use sky130_fd_sc_hd__dlygate4sd3_1 hold3 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9016 0 -1 4352 box -38 -48 774 592 -use sky130_fd_sc_hd__clkdlybuf4s25_1 hold4 depencies/pdks/sky130A/libs.ref/sky130_fd_sc_hd/mag -timestamp 1644511149 +use sky130_fd_sc_hd__clkdlybuf4s25_1 hold4 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 transform -1 0 8188 0 -1 4352 box -38 -48 774 592 use sky130_fd_sc_hd__dlygate4sd3_1 hold5 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9476 0 1 8704 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s50_1 hold6 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 8096 0 1 7616 box -38 -48 774 592 use sky130_fd_sc_hd__dlygate4sd3_1 hold7 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3588 0 1 7616 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s25_1 hold8 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 4324 0 1 7616 box -38 -48 774 592 use sky130_fd_sc_hd__dlygate4sd3_1 hold9 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1288 0 1 8704 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s50_1 hold10 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 2024 0 1 8704 box -38 -48 774 592 use sky130_fd_sc_hd__dlygate4sd3_1 hold11 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 1288 0 1 9792 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s50_1 hold12 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 2024 0 1 9792 box -38 -48 774 592 use sky130_fd_sc_hd__dlygate4sd3_1 hold13 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 3588 0 1 6528 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s50_1 hold14 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 5060 0 1 6528 box -38 -48 774 592 use sky130_fd_sc_hd__dlygate4sd3_1 hold15 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9016 0 1 2176 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s50_1 hold16 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 8188 0 -1 5440 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s50_1 hold17 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 8740 0 1 7616 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s50_1 hold18 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 5060 0 1 6528 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s25_1 hold19 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6072 0 1 1088 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s50_1 hold20 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 6440 0 1 3264 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s50_1 hold21 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 7544 0 1 1088 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s25_1 hold22 -timestamp 1644511149 +timestamp 1648946573 transform -1 0 9476 0 1 9792 box -38 -48 774 592 use sky130_fd_sc_hd__clkdlybuf4s25_1 hold23 -timestamp 1644511149 +timestamp 1648946573 transform 1 0 6624 0 1 7616 box -38 -48 774 592 << labels >> diff --git a/mag/user_id_programming.mag b/mag/user_id_programming.mag index 14464458..6ad139cc 100644 --- a/mag/user_id_programming.mag +++ b/mag/user_id_programming.mag @@ -1,7 +1,7 @@ magic tech sky130A magscale 1 2 -timestamp 1638030917 +timestamp 1650371074 << nwell >> rect 2304 2369 2397 2389 << viali >> @@ -37,6 +37,39 @@ rect 5641 1853 5675 1887 rect 1685 1377 1719 1411 rect 2973 1377 3007 1411 rect 4629 1377 4663 1411 +<< locali >> +rect 4353 5117 4387 5151 +rect 5273 5117 5307 5151 +rect 2145 4641 2179 4675 +rect 3249 4641 3283 4675 +rect 3617 4641 3651 4675 +rect 4721 4641 4755 4675 +rect 1593 4029 1627 4063 +rect 2053 4029 2087 4063 +rect 4445 4029 4479 4063 +rect 4721 4029 4755 4063 +rect 5549 4029 5583 4063 +rect 1685 3553 1719 3587 +rect 1961 3553 1995 3587 +rect 2697 3553 2731 3587 +rect 3157 3553 3191 3587 +rect 3433 3553 3467 3587 +rect 4261 3553 4295 3587 +rect 4813 3553 4847 3587 +rect 5273 3553 5307 3587 +rect 1593 2941 1627 2975 +rect 4813 2397 4847 2431 +rect 5089 2397 5123 2431 +rect 1593 1853 1627 1887 +rect 2145 1853 2179 1887 +rect 2605 1853 2639 1887 +rect 2881 1853 2915 1887 +rect 3249 1853 3283 1887 +rect 4077 1853 4111 1887 +rect 5641 1853 5675 1887 +rect 1685 1377 1719 1411 +rect 2973 1377 3007 1411 +rect 4629 1377 4663 1411 << metal1 >> rect 1104 6010 5980 6032 rect 1104 5958 2607 6010 @@ -67,25 +100,19 @@ rect 1104 5392 5980 5414 rect 4062 5108 4068 5160 rect 4120 5148 4126 5160 rect 4157 5148 4215 5157 -rect 4341 5151 4399 5157 -rect 4341 5148 4353 5151 -rect 4120 5120 4353 5148 +rect 4341 5148 4399 5157 +rect 4120 5120 4399 5148 rect 4120 5108 4126 5120 rect 4157 5111 4215 5120 -rect 4341 5117 4353 5120 -rect 4387 5117 4399 5151 -rect 4341 5111 4399 5117 +rect 4341 5111 4399 5120 rect 4614 5108 4620 5160 rect 4672 5148 4678 5160 rect 5077 5148 5135 5157 -rect 5261 5151 5319 5157 -rect 5261 5148 5273 5151 -rect 4672 5120 5273 5148 +rect 5261 5148 5319 5157 +rect 4672 5120 5319 5148 rect 4672 5108 4678 5120 rect 5077 5111 5135 5120 -rect 5261 5117 5273 5120 -rect 5307 5117 5319 5151 -rect 5261 5111 5319 5117 +rect 5261 5111 5319 5120 rect 1104 4922 5980 4944 rect 1104 4870 2607 4922 rect 2659 4870 2671 4922 @@ -98,16 +125,11 @@ rect 4412 4870 4424 4922 rect 4476 4870 5980 4922 rect 1104 4848 5980 4870 rect 1949 4672 2007 4681 -rect 2133 4675 2191 4681 -rect 2133 4672 2145 4675 -rect 1949 4644 2145 4672 -rect 1949 4635 2007 4644 -rect 2133 4641 2145 4644 -rect 2179 4672 2191 4675 +rect 2133 4672 2191 4681 rect 2958 4672 2964 4684 -rect 2179 4644 2964 4672 -rect 2179 4641 2191 4644 -rect 2133 4635 2191 4641 +rect 1949 4644 2964 4672 +rect 1949 4635 2007 4644 +rect 2133 4635 2191 4644 rect 2958 4632 2964 4644 rect 3016 4632 3022 4684 rect 3050 4672 3114 4684 @@ -117,21 +139,15 @@ rect 3050 4632 3114 4644 rect 3234 4632 3240 4644 rect 3292 4632 3298 4684 rect 3418 4672 3482 4684 -rect 3602 4675 3666 4684 -rect 3602 4672 3617 4675 -rect 3418 4644 3617 4672 +rect 3602 4672 3666 4684 +rect 3418 4644 3666 4672 rect 3418 4632 3482 4644 -rect 3602 4641 3617 4644 -rect 3651 4641 3666 4675 -rect 3602 4632 3666 4641 +rect 3602 4632 3666 4644 rect 4522 4674 4586 4684 -rect 4706 4675 4770 4684 -rect 4706 4674 4721 4675 -rect 4522 4644 4721 4674 +rect 4706 4674 4770 4684 +rect 4522 4644 4770 4674 rect 4522 4632 4586 4644 -rect 4706 4641 4721 4644 -rect 4755 4641 4770 4675 -rect 4706 4632 4770 4641 +rect 4706 4632 4770 4644 rect 3620 4468 3648 4632 rect 4720 4539 4755 4632 rect 4720 4505 4754 4539 @@ -177,43 +193,31 @@ rect 2280 4128 2286 4140 rect 2280 4100 3924 4128 rect 2280 4088 2286 4100 rect 1857 4059 1915 4069 -rect 2041 4063 2099 4069 -rect 2041 4059 2053 4063 -rect 1857 4031 2053 4059 +rect 2041 4059 2099 4069 +rect 1857 4031 2099 4059 rect 1857 4023 1915 4031 -rect 2041 4029 2053 4031 -rect 2087 4029 2099 4063 -rect 2041 4023 2099 4029 +rect 2041 4023 2099 4031 rect 3896 3992 3924 4100 rect 4062 4020 4068 4072 rect 4120 4060 4126 4072 rect 4540 4069 4568 4236 rect 4249 4060 4307 4069 -rect 4433 4063 4491 4069 -rect 4433 4060 4445 4063 -rect 4120 4032 4445 4060 +rect 4433 4060 4491 4069 +rect 4120 4032 4491 4060 rect 4120 4020 4126 4032 rect 4249 4023 4307 4032 -rect 4433 4029 4445 4032 -rect 4479 4029 4491 4063 -rect 4433 4023 4491 4029 +rect 4433 4023 4491 4032 rect 4525 4060 4583 4069 -rect 4709 4063 4767 4069 -rect 4709 4060 4721 4063 -rect 4525 4032 4721 4060 +rect 4709 4060 4767 4069 +rect 4525 4032 4767 4060 rect 4525 4023 4583 4032 -rect 4709 4029 4721 4032 -rect 4755 4029 4767 4063 -rect 4709 4023 4767 4029 +rect 4709 4023 4767 4032 rect 5350 4020 5356 4072 rect 5408 4060 5414 4072 -rect 5537 4063 5595 4069 -rect 5537 4060 5549 4063 -rect 5408 4031 5549 4060 +rect 5537 4060 5595 4069 +rect 5408 4031 5595 4060 rect 5408 4020 5414 4031 -rect 5537 4029 5549 4031 -rect 5583 4029 5595 4063 -rect 5537 4023 5595 4029 +rect 5537 4023 5595 4031 rect 4890 3992 4896 4004 rect 3896 3964 4896 3992 rect 4890 3952 4896 3964 @@ -248,24 +252,16 @@ rect 1964 3593 1992 3624 rect 5902 3612 5908 3624 rect 5960 3612 5966 3664 rect 1765 3584 1823 3593 -rect 1949 3587 2007 3593 -rect 1949 3584 1961 3587 -rect 1765 3556 1961 3584 +rect 1949 3584 2007 3593 +rect 1765 3556 2007 3584 rect 1765 3547 1823 3556 -rect 1949 3553 1961 3556 -rect 1995 3553 2007 3587 -rect 1949 3547 2007 3553 +rect 1949 3547 2007 3556 rect 2501 3586 2559 3593 -rect 2685 3587 2743 3593 -rect 2685 3586 2697 3587 -rect 2501 3555 2697 3586 -rect 2501 3547 2559 3555 -rect 2685 3553 2697 3555 -rect 2731 3586 2743 3587 +rect 2685 3586 2743 3593 rect 2774 3586 2780 3596 -rect 2731 3555 2780 3586 -rect 2731 3553 2743 3555 -rect 2685 3547 2743 3553 +rect 2501 3555 2780 3586 +rect 2501 3547 2559 3555 +rect 2685 3547 2743 3555 rect 2774 3544 2780 3555 rect 2832 3544 2838 3596 rect 2958 3584 3022 3596 @@ -275,45 +271,31 @@ rect 2958 3544 3022 3556 rect 3142 3544 3148 3556 rect 3200 3544 3206 3596 rect 3234 3585 3298 3596 -rect 3418 3587 3482 3596 -rect 3418 3585 3433 3587 -rect 3234 3557 3433 3585 +rect 3418 3585 3482 3596 +rect 3234 3557 3482 3585 rect 3234 3544 3298 3557 -rect 3418 3553 3433 3557 -rect 3467 3553 3482 3587 -rect 3418 3544 3482 3553 +rect 3418 3544 3482 3557 rect 4065 3584 4123 3593 -rect 4249 3587 4307 3593 -rect 4249 3584 4261 3587 -rect 4065 3556 4261 3584 -rect 4065 3547 4123 3556 -rect 4249 3553 4261 3556 -rect 4295 3584 4307 3587 +rect 4249 3584 4307 3593 rect 4522 3584 4528 3596 -rect 4295 3556 4528 3584 -rect 4295 3553 4307 3556 -rect 4249 3547 4307 3553 +rect 4065 3556 4528 3584 +rect 4065 3547 4123 3556 +rect 4249 3547 4307 3556 rect 4522 3544 4528 3556 rect 4580 3544 4586 3596 rect 4614 3585 4678 3596 -rect 4798 3587 4862 3596 -rect 4798 3585 4813 3587 -rect 4614 3557 4813 3585 +rect 4798 3585 4862 3596 +rect 4614 3557 4862 3585 rect 4614 3544 4678 3557 -rect 4798 3553 4813 3557 -rect 4847 3553 4862 3587 -rect 4798 3544 4862 3553 +rect 4798 3544 4862 3557 rect 4982 3544 4988 3596 rect 5040 3584 5046 3596 rect 5077 3584 5135 3593 -rect 5261 3587 5319 3593 -rect 5261 3584 5273 3587 -rect 5040 3556 5273 3584 +rect 5261 3584 5319 3593 +rect 5040 3556 5319 3584 rect 5040 3544 5046 3556 rect 5077 3547 5135 3556 -rect 5261 3553 5273 3556 -rect 5307 3553 5319 3587 -rect 5261 3547 5319 3553 +rect 5261 3547 5319 3556 rect 2222 3408 2228 3460 rect 2280 3448 2286 3460 rect 3438 3448 3466 3544 @@ -353,16 +335,11 @@ rect 2831 3131 2837 3143 rect 5902 3136 5908 3143 rect 5960 3136 5966 3188 rect 1397 2972 1455 2981 -rect 1581 2975 1639 2981 -rect 1581 2972 1593 2975 -rect 1397 2944 1593 2972 -rect 1397 2935 1455 2944 -rect 1581 2941 1593 2944 -rect 1627 2972 1639 2975 +rect 1581 2972 1639 2981 rect 3050 2972 3056 2984 -rect 1627 2944 3056 2972 -rect 1627 2941 1639 2944 -rect 1581 2935 1639 2941 +rect 1397 2944 3056 2972 +rect 1397 2935 1455 2944 +rect 1581 2935 1639 2944 rect 3050 2932 3056 2944 rect 3108 2932 3114 2984 rect 1670 2796 1676 2848 @@ -389,22 +366,16 @@ rect 4815 2437 4843 2468 rect 5442 2456 5448 2468 rect 5500 2456 5506 2508 rect 4617 2429 4675 2437 -rect 4801 2431 4859 2437 -rect 4801 2429 4813 2431 -rect 4617 2401 4813 2429 +rect 4801 2429 4859 2437 +rect 4617 2401 4859 2429 rect 4617 2391 4675 2401 -rect 4801 2397 4813 2401 -rect 4847 2397 4859 2431 -rect 4801 2391 4859 2397 +rect 4801 2391 4859 2401 rect 4890 2388 4896 2440 rect 4948 2428 4954 2440 -rect 5077 2431 5135 2437 -rect 5077 2428 5089 2431 -rect 4948 2400 5089 2428 +rect 5077 2428 5135 2437 +rect 4948 2400 5135 2428 rect 4948 2388 4954 2400 -rect 5077 2397 5089 2400 -rect 5123 2397 5135 2431 -rect 5077 2391 5135 2397 +rect 5077 2391 5135 2400 rect 2314 2320 2320 2372 rect 2372 2360 2378 2372 rect 6454 2360 6460 2372 @@ -434,66 +405,47 @@ rect 1268 1952 1274 1964 rect 1268 1924 2452 1952 rect 1268 1912 1274 1924 rect 1397 1884 1455 1893 -rect 1581 1887 1639 1893 -rect 1581 1884 1593 1887 -rect 1397 1856 1593 1884 +rect 1581 1884 1639 1893 +rect 1397 1856 1639 1884 rect 1397 1847 1455 1856 -rect 1581 1853 1593 1856 -rect 1627 1853 1639 1887 -rect 1581 1847 1639 1853 +rect 1581 1847 1639 1856 rect 1949 1884 2007 1893 -rect 2133 1887 2191 1893 -rect 2133 1884 2145 1887 -rect 1949 1856 2145 1884 -rect 1949 1847 2007 1856 -rect 2133 1853 2145 1856 -rect 2179 1884 2191 1887 +rect 2133 1884 2191 1893 rect 2314 1884 2320 1896 -rect 2179 1856 2320 1884 -rect 2179 1853 2191 1856 -rect 2133 1847 2191 1853 +rect 1949 1856 2320 1884 +rect 1949 1847 2007 1856 +rect 2133 1847 2191 1856 rect 1596 1816 1624 1847 rect 2314 1844 2320 1856 rect 2372 1844 2378 1896 rect 2424 1893 2452 1924 rect 2409 1884 2467 1893 -rect 2593 1887 2651 1893 -rect 2593 1884 2605 1887 -rect 2409 1856 2605 1884 +rect 2593 1884 2651 1893 +rect 2409 1856 2651 1884 rect 2409 1847 2467 1856 -rect 2593 1853 2605 1856 -rect 2639 1853 2651 1887 -rect 2593 1847 2651 1853 +rect 2593 1847 2651 1856 rect 2685 1884 2743 1893 -rect 2869 1887 2927 1893 -rect 2869 1884 2881 1887 -rect 2685 1856 2881 1884 -rect 2685 1847 2743 1856 -rect 2869 1853 2881 1856 -rect 2915 1884 2927 1887 +rect 2869 1884 2927 1893 rect 2976 1884 3004 1992 rect 3970 1980 3976 1992 rect 4028 1980 4034 2032 -rect 2915 1856 3004 1884 +rect 2685 1856 3004 1884 rect 3050 1884 3114 1896 rect 3234 1884 3240 1896 rect 3050 1856 3240 1884 -rect 2915 1853 2927 1856 -rect 2869 1847 2927 1853 +rect 2685 1847 2743 1856 +rect 2869 1847 2927 1856 rect 3050 1844 3114 1856 rect 3234 1844 3240 1856 rect 3292 1844 3298 1896 rect 3786 1844 3792 1896 rect 3844 1884 3850 1896 rect 3881 1884 3939 1893 -rect 4065 1887 4123 1893 -rect 4065 1884 4077 1887 -rect 3844 1856 4077 1884 +rect 4065 1884 4123 1893 +rect 3844 1856 4123 1884 rect 3844 1844 3850 1856 rect 3881 1847 3939 1856 -rect 4065 1853 4077 1856 -rect 4111 1853 4123 1887 -rect 4065 1847 4123 1853 +rect 4065 1847 4123 1856 rect 5442 1884 5506 1896 rect 5626 1884 5632 1896 rect 5442 1856 5632 1884 @@ -520,14 +472,11 @@ rect 1104 1584 5980 1606 rect 1118 1368 1124 1420 rect 1176 1408 1182 1420 rect 1489 1408 1547 1417 -rect 1673 1411 1731 1417 -rect 1673 1408 1685 1411 -rect 1176 1380 1685 1408 +rect 1673 1408 1731 1417 +rect 1176 1380 1731 1408 rect 1176 1368 1182 1380 rect 1489 1371 1547 1380 -rect 1673 1377 1685 1380 -rect 1719 1377 1731 1411 -rect 1673 1371 1731 1377 +rect 1673 1371 1731 1380 rect 2774 1408 2838 1420 rect 2958 1408 2964 1420 rect 2774 1380 2964 1408 @@ -587,11 +536,7 @@ rect 4296 4870 4348 4922 rect 4360 4870 4412 4922 rect 4424 4870 4476 4922 rect 2964 4632 3016 4684 -rect 3240 4675 3292 4684 -rect 3240 4641 3249 4675 -rect 3249 4641 3283 4675 -rect 3283 4641 3292 4675 -rect 3240 4632 3292 4641 +rect 3240 4632 3292 4684 rect 3884 4428 3936 4480 rect 4712 4428 4764 4480 rect 1794 4326 1846 4378 @@ -608,11 +553,7 @@ rect 5173 4326 5225 4378 rect 5237 4326 5289 4378 rect 3056 4224 3108 4276 rect 1400 4156 1452 4208 -rect 1584 4063 1636 4072 -rect 1584 4029 1593 4063 -rect 1593 4029 1627 4063 -rect 1627 4029 1636 4063 -rect 1584 4020 1636 4029 +rect 1584 4020 1636 4072 rect 2228 4088 2280 4140 rect 4068 4020 4120 4072 rect 5356 4020 5408 4072 @@ -627,18 +568,10 @@ rect 4360 3782 4412 3834 rect 4424 3782 4476 3834 rect 572 3680 624 3732 rect 4712 3680 4764 3732 -rect 1676 3587 1728 3596 -rect 1676 3553 1685 3587 -rect 1685 3553 1719 3587 -rect 1719 3553 1728 3587 -rect 1676 3544 1728 3553 +rect 1676 3544 1728 3596 rect 5908 3612 5960 3664 rect 2780 3544 2832 3596 -rect 3148 3587 3200 3596 -rect 3148 3553 3157 3587 -rect 3157 3553 3191 3587 -rect 3191 3553 3200 3587 -rect 3148 3544 3200 3553 +rect 3148 3544 3200 3596 rect 4528 3544 4580 3596 rect 4988 3544 5040 3596 rect 2228 3408 2280 3460 @@ -687,17 +620,9 @@ rect 5237 2150 5289 2202 rect 1216 1912 1268 1964 rect 2320 1844 2372 1896 rect 3976 1980 4028 2032 -rect 3240 1887 3292 1896 -rect 3240 1853 3249 1887 -rect 3249 1853 3283 1887 -rect 3283 1853 3292 1887 -rect 3240 1844 3292 1853 +rect 3240 1844 3292 1896 rect 3792 1844 3844 1896 -rect 5632 1887 5684 1896 -rect 5632 1853 5641 1887 -rect 5641 1853 5675 1887 -rect 5675 1853 5684 1887 -rect 5632 1844 5684 1853 +rect 5632 1844 5684 1896 rect 3240 1708 3292 1760 rect 2607 1606 2659 1658 rect 2671 1606 2723 1658 @@ -708,16 +633,8 @@ rect 4296 1606 4348 1658 rect 4360 1606 4412 1658 rect 4424 1606 4476 1658 rect 1124 1368 1176 1420 -rect 2964 1411 3016 1420 -rect 2964 1377 2973 1411 -rect 2973 1377 3007 1411 -rect 3007 1377 3016 1411 -rect 2964 1368 3016 1377 -rect 4620 1411 4672 1420 -rect 4620 1377 4629 1411 -rect 4629 1377 4663 1411 -rect 4663 1377 4672 1411 -rect 4620 1368 4672 1377 +rect 2964 1368 3016 1420 +rect 4620 1368 4672 1420 rect 1794 1062 1846 1114 rect 1858 1062 1910 1114 rect 1922 1062 1974 1114 @@ -2635,122 +2552,58 @@ use sky130_fd_sc_hd__fill_1 FILLER_0_3 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag timestamp 1638025753 transform 1 0 1380 0 -1 1632 box -38 -48 130 592 -use sky130_fd_sc_hd__decap_3 FILLER_1_6 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag -timestamp 1638025753 -transform 1 0 1656 0 1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__decap_3 PHY_2 +use sky130_fd_sc_hd__decap_8 FILLER_0_7 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 +transform 1 0 1748 0 -1 1632 +box -38 -48 774 592 +use sky130_fd_sc_hd__decap_3 FILLER_0_15 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag timestamp 1638025753 -transform 1 0 1104 0 1 1632 +transform 1 0 2484 0 -1 1632 box -38 -48 314 592 -use sky130_fd_sc_hd__decap_3 PHY_0 +use sky130_fd_sc_hd__decap_8 FILLER_0_21 +timestamp 1648946573 +transform 1 0 3036 0 -1 1632 +box -38 -48 774 592 +use sky130_fd_sc_hd__fill_2 FILLER_0_29 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag timestamp 1638025753 -transform 1 0 1104 0 -1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[3\] $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +transform 1 0 3772 0 -1 1632 +box -38 -48 222 592 +use sky130_fd_sc_hd__decap_4 FILLER_0_32 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag timestamp 1638025753 -transform 1 0 1380 0 1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[28\] +transform 1 0 4048 0 -1 1632 +box -38 -48 406 592 +use sky130_fd_sc_hd__decap_8 FILLER_0_39 +timestamp 1648946573 +transform 1 0 4692 0 -1 1632 +box -38 -48 774 592 +use sky130_fd_sc_hd__decap_3 FILLER_0_47 timestamp 1638025753 -transform 1 0 1932 0 1 1632 +transform 1 0 5428 0 -1 1632 box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[27\] +use sky130_fd_sc_hd__decap_3 FILLER_1_6 timestamp 1638025753 -transform 1 0 1472 0 -1 1632 +transform 1 0 1656 0 1 1632 box -38 -48 314 592 -use sky130_fd_sc_hd__fill_2 FILLER_1_12 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +use sky130_fd_sc_hd__fill_2 FILLER_1_12 timestamp 1638025753 transform 1 0 2208 0 1 1632 box -38 -48 222 592 -use sky130_fd_sc_hd__decap_8 FILLER_0_7 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag -timestamp 1638025753 -transform 1 0 1748 0 -1 1632 -box -38 -48 774 592 use sky130_fd_sc_hd__fill_1 FILLER_1_20 timestamp 1638025753 transform 1 0 2944 0 1 1632 box -38 -48 130 592 -use sky130_fd_sc_hd__decap_3 FILLER_0_15 -timestamp 1638025753 -transform 1 0 2484 0 -1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[20\] -timestamp 1638025753 -transform 1 0 2760 0 -1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[1\] -timestamp 1638025753 -transform 1 0 3036 0 1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[11\] -timestamp 1638025753 -transform 1 0 2668 0 1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[0\] -timestamp 1638025753 -transform 1 0 2392 0 1 1632 -box -38 -48 314 592 use sky130_fd_sc_hd__decap_6 FILLER_1_24 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag timestamp 1638025753 transform 1 0 3312 0 1 1632 box -38 -48 590 592 -use sky130_fd_sc_hd__decap_8 FILLER_0_21 -timestamp 1638025753 -transform 1 0 3036 0 -1 1632 -box -38 -48 774 592 -use sky130_fd_sc_hd__decap_4 FILLER_0_32 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag -timestamp 1638025753 -transform 1 0 4048 0 -1 1632 -box -38 -48 406 592 use sky130_fd_sc_hd__decap_12 FILLER_1_33 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag timestamp 1638025753 transform 1 0 4140 0 1 1632 box -38 -48 1142 592 -use sky130_fd_sc_hd__tapvpwrvgnd_1 PHY_18 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag -timestamp 1638025753 -transform 1 0 3956 0 -1 1632 -box -38 -48 130 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[7\] -timestamp 1638025753 -transform 1 0 3864 0 1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[15\] -timestamp 1638025753 -transform 1 0 4416 0 -1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__fill_2 FILLER_0_29 -timestamp 1638025753 -transform 1 0 3772 0 -1 1632 -box -38 -48 222 592 -use sky130_fd_sc_hd__decap_3 FILLER_0_47 -timestamp 1638025753 -transform 1 0 5428 0 -1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__decap_3 PHY_3 -timestamp 1638025753 -transform -1 0 5980 0 1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__decap_3 PHY_1 -timestamp 1638025753 -transform -1 0 5980 0 -1 1632 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[4\] -timestamp 1638025753 -transform 1 0 5428 0 1 1632 -box -38 -48 314 592 use sky130_fd_sc_hd__fill_2 FILLER_1_45 timestamp 1638025753 transform 1 0 5244 0 1 1632 box -38 -48 222 592 -use sky130_fd_sc_hd__decap_8 FILLER_0_39 -timestamp 1638025753 -transform 1 0 4692 0 -1 1632 -box -38 -48 774 592 -use sky130_fd_sc_hd__decap_3 PHY_4 -timestamp 1638025753 -transform 1 0 1104 0 -1 2720 -box -38 -48 314 592 use sky130_fd_sc_hd__decap_12 FILLER_2_3 timestamp 1638025753 transform 1 0 1380 0 -1 2720 @@ -2763,42 +2616,18 @@ use sky130_fd_sc_hd__decap_4 FILLER_2_27 timestamp 1638025753 transform 1 0 3588 0 -1 2720 box -38 -48 406 592 -use sky130_fd_sc_hd__tapvpwrvgnd_1 PHY_19 -timestamp 1638025753 -transform 1 0 3956 0 -1 2720 -box -38 -48 130 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[13\] -timestamp 1638025753 -transform 1 0 4600 0 -1 2720 -box -38 -48 314 592 use sky130_fd_sc_hd__decap_6 FILLER_2_32 timestamp 1638025753 transform 1 0 4048 0 -1 2720 box -38 -48 590 592 -use sky130_fd_sc_hd__decap_3 PHY_5 -timestamp 1638025753 -transform -1 0 5980 0 -1 2720 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[9\] -timestamp 1638025753 -transform 1 0 4876 0 -1 2720 -box -38 -48 314 592 use sky130_fd_sc_hd__decap_6 FILLER_2_44 timestamp 1638025753 transform 1 0 5152 0 -1 2720 box -38 -48 590 592 -use sky130_fd_sc_hd__decap_3 PHY_6 -timestamp 1638025753 -transform 1 0 1104 0 1 2720 -box -38 -48 314 592 use sky130_fd_sc_hd__decap_12 FILLER_3_6 timestamp 1638025753 transform 1 0 1656 0 1 2720 box -38 -48 1142 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[31\] -timestamp 1638025753 -transform 1 0 1380 0 1 2720 -box -38 -48 314 592 use sky130_fd_sc_hd__decap_12 FILLER_3_18 timestamp 1638025753 transform 1 0 2760 0 1 2720 @@ -2807,12 +2636,8 @@ use sky130_fd_sc_hd__decap_12 FILLER_3_30 timestamp 1638025753 transform 1 0 3864 0 1 2720 box -38 -48 1142 592 -use sky130_fd_sc_hd__decap_3 PHY_7 -timestamp 1638025753 -transform -1 0 5980 0 1 2720 -box -38 -48 314 592 use sky130_fd_sc_hd__decap_8 FILLER_3_42 -timestamp 1638025753 +timestamp 1648946573 transform 1 0 4968 0 1 2720 box -38 -48 774 592 use sky130_fd_sc_hd__fill_1 FILLER_4_3 @@ -2823,266 +2648,358 @@ use sky130_fd_sc_hd__decap_4 FILLER_4_10 timestamp 1638025753 transform 1 0 2024 0 -1 3808 box -38 -48 406 592 -use sky130_fd_sc_hd__decap_3 PHY_8 -timestamp 1638025753 -transform 1 0 1104 0 -1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[24\] -timestamp 1638025753 -transform 1 0 1748 0 -1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[17\] -timestamp 1638025753 -transform 1 0 1472 0 -1 3808 -box -38 -48 314 592 use sky130_fd_sc_hd__fill_1 FILLER_4_14 timestamp 1638025753 transform 1 0 2392 0 -1 3808 box -38 -48 130 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[8\] -timestamp 1638025753 -transform 1 0 3220 0 -1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[25\] -timestamp 1638025753 -transform 1 0 2944 0 -1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[14\] -timestamp 1638025753 -transform 1 0 2484 0 -1 3808 -box -38 -48 314 592 use sky130_fd_sc_hd__fill_2 FILLER_4_18 timestamp 1638025753 transform 1 0 2760 0 -1 3808 box -38 -48 222 592 -use sky130_fd_sc_hd__fill_1 FILLER_4_30 -timestamp 1638025753 -transform 1 0 3864 0 -1 3808 -box -38 -48 130 592 use sky130_fd_sc_hd__decap_4 FILLER_4_26 timestamp 1638025753 transform 1 0 3496 0 -1 3808 box -38 -48 406 592 -use sky130_fd_sc_hd__decap_3 FILLER_4_35 -timestamp 1638025753 -transform 1 0 4324 0 -1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__tapvpwrvgnd_1 PHY_20 +use sky130_fd_sc_hd__fill_1 FILLER_4_30 timestamp 1638025753 -transform 1 0 3956 0 -1 3808 +transform 1 0 3864 0 -1 3808 box -38 -48 130 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[22\] +use sky130_fd_sc_hd__decap_3 FILLER_4_35 timestamp 1638025753 -transform 1 0 4048 0 -1 3808 +transform 1 0 4324 0 -1 3808 box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[16\] +use sky130_fd_sc_hd__fill_2 FILLER_4_41 timestamp 1638025753 -transform 1 0 4600 0 -1 3808 -box -38 -48 314 592 +transform 1 0 4876 0 -1 3808 +box -38 -48 222 592 use sky130_fd_sc_hd__decap_4 FILLER_4_46 timestamp 1638025753 transform 1 0 5336 0 -1 3808 box -38 -48 406 592 -use sky130_fd_sc_hd__decap_3 PHY_9 -timestamp 1638025753 -transform -1 0 5980 0 -1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[26\] -timestamp 1638025753 -transform 1 0 5060 0 -1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__fill_2 FILLER_4_41 +use sky130_fd_sc_hd__fill_2 FILLER_5_6 timestamp 1638025753 -transform 1 0 4876 0 -1 3808 +transform 1 0 1656 0 1 3808 box -38 -48 222 592 -use sky130_fd_sc_hd__decap_3 PHY_10 -timestamp 1638025753 -transform 1 0 1104 0 1 3808 -box -38 -48 314 592 use sky130_fd_sc_hd__decap_12 FILLER_5_11 timestamp 1638025753 transform 1 0 2116 0 1 3808 box -38 -48 1142 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[6\] +use sky130_fd_sc_hd__decap_8 FILLER_5_23 +timestamp 1648946573 +transform 1 0 3220 0 1 3808 +box -38 -48 774 592 +use sky130_fd_sc_hd__decap_3 FILLER_5_31 timestamp 1638025753 -transform 1 0 1380 0 1 3808 +transform 1 0 3956 0 1 3808 box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[2\] +use sky130_fd_sc_hd__decap_6 FILLER_5_40 timestamp 1638025753 -transform 1 0 1840 0 1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__fill_2 FILLER_5_6 +transform 1 0 4784 0 1 3808 +box -38 -48 590 592 +use sky130_fd_sc_hd__fill_1 FILLER_5_49 timestamp 1638025753 -transform 1 0 1656 0 1 3808 -box -38 -48 222 592 -use sky130_fd_sc_hd__decap_8 FILLER_5_23 +transform 1 0 5612 0 1 3808 +box -38 -48 130 592 +use sky130_fd_sc_hd__decap_6 FILLER_6_3 timestamp 1638025753 -transform 1 0 3220 0 1 3808 +transform 1 0 1380 0 -1 4896 +box -38 -48 590 592 +use sky130_fd_sc_hd__decap_8 FILLER_6_12 +timestamp 1648946573 +transform 1 0 2208 0 -1 4896 box -38 -48 774 592 -use sky130_fd_sc_hd__decap_3 FILLER_5_31 -timestamp 1638025753 -transform 1 0 3956 0 1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[18\] -timestamp 1638025753 -transform 1 0 4508 0 1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[10\] -timestamp 1638025753 -transform 1 0 4232 0 1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__fill_1 FILLER_5_49 +use sky130_fd_sc_hd__fill_1 FILLER_6_20 timestamp 1638025753 -transform 1 0 5612 0 1 3808 +transform 1 0 2944 0 -1 4896 box -38 -48 130 592 -use sky130_fd_sc_hd__decap_3 PHY_11 +use sky130_fd_sc_hd__fill_1 FILLER_6_24 timestamp 1638025753 -transform -1 0 5980 0 1 3808 -box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[29\] +transform 1 0 3312 0 -1 4896 +box -38 -48 130 592 +use sky130_fd_sc_hd__decap_3 FILLER_6_28 timestamp 1638025753 -transform 1 0 5336 0 1 3808 +transform 1 0 3680 0 -1 4896 box -38 -48 314 592 -use sky130_fd_sc_hd__decap_6 FILLER_5_40 +use sky130_fd_sc_hd__decap_4 FILLER_6_32 timestamp 1638025753 -transform 1 0 4784 0 1 3808 -box -38 -48 590 592 -use sky130_fd_sc_hd__decap_3 PHY_14 +transform 1 0 4048 0 -1 4896 +box -38 -48 406 592 +use sky130_fd_sc_hd__fill_1 FILLER_6_36 timestamp 1638025753 -transform 1 0 1104 0 1 4896 -box -38 -48 314 592 -use sky130_fd_sc_hd__decap_3 PHY_12 +transform 1 0 4416 0 -1 4896 +box -38 -48 130 592 +use sky130_fd_sc_hd__decap_8 FILLER_6_40 +timestamp 1648946573 +transform 1 0 4784 0 -1 4896 +box -38 -48 774 592 +use sky130_fd_sc_hd__fill_2 FILLER_6_48 timestamp 1638025753 -transform 1 0 1104 0 -1 4896 -box -38 -48 314 592 +transform 1 0 5520 0 -1 4896 +box -38 -48 222 592 use sky130_fd_sc_hd__decap_12 FILLER_7_3 timestamp 1638025753 transform 1 0 1380 0 1 4896 box -38 -48 1142 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[19\] +use sky130_fd_sc_hd__decap_12 FILLER_7_15 timestamp 1638025753 -transform 1 0 1932 0 -1 4896 -box -38 -48 314 592 -use sky130_fd_sc_hd__decap_6 FILLER_6_3 +transform 1 0 2484 0 1 4896 +box -38 -48 1142 592 +use sky130_fd_sc_hd__decap_6 FILLER_7_27 timestamp 1638025753 -transform 1 0 1380 0 -1 4896 +transform 1 0 3588 0 1 4896 box -38 -48 590 592 -use sky130_fd_sc_hd__decap_8 FILLER_6_12 +use sky130_fd_sc_hd__decap_6 FILLER_7_36 timestamp 1638025753 -transform 1 0 2208 0 -1 4896 -box -38 -48 774 592 -use sky130_fd_sc_hd__fill_1 FILLER_6_24 +transform 1 0 4416 0 1 4896 +box -38 -48 590 592 +use sky130_fd_sc_hd__fill_1 FILLER_7_42 timestamp 1638025753 -transform 1 0 3312 0 -1 4896 +transform 1 0 4968 0 1 4896 box -38 -48 130 592 -use sky130_fd_sc_hd__fill_1 FILLER_6_20 +use sky130_fd_sc_hd__decap_4 FILLER_7_46 timestamp 1638025753 -transform 1 0 2944 0 -1 4896 -box -38 -48 130 592 -use sky130_fd_sc_hd__decap_12 FILLER_7_15 +transform 1 0 5336 0 1 4896 +box -38 -48 406 592 +use sky130_fd_sc_hd__decap_12 FILLER_8_3 timestamp 1638025753 -transform 1 0 2484 0 1 4896 +transform 1 0 1380 0 -1 5984 box -38 -48 1142 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[30\] +use sky130_fd_sc_hd__decap_12 FILLER_8_15 timestamp 1638025753 -transform 1 0 3036 0 -1 4896 +transform 1 0 2484 0 -1 5984 +box -38 -48 1142 592 +use sky130_fd_sc_hd__decap_4 FILLER_8_27 +timestamp 1638025753 +transform 1 0 3588 0 -1 5984 +box -38 -48 406 592 +use sky130_fd_sc_hd__decap_12 FILLER_8_32 +timestamp 1638025753 +transform 1 0 4048 0 -1 5984 +box -38 -48 1142 592 +use sky130_fd_sc_hd__decap_6 FILLER_8_44 +timestamp 1638025753 +transform 1 0 5152 0 -1 5984 +box -38 -48 590 592 +use sky130_fd_sc_hd__decap_3 PHY_0 +timestamp 1638025753 +transform 1 0 1104 0 -1 1632 box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[21\] +use sky130_fd_sc_hd__decap_3 PHY_1 timestamp 1638025753 -transform 1 0 3404 0 -1 4896 +transform -1 0 5980 0 -1 1632 box -38 -48 314 592 -use sky130_fd_sc_hd__fill_1 FILLER_6_36 +use sky130_fd_sc_hd__decap_3 PHY_2 timestamp 1638025753 -transform 1 0 4416 0 -1 4896 -box -38 -48 130 592 -use sky130_fd_sc_hd__decap_4 FILLER_6_32 +transform 1 0 1104 0 1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__decap_3 PHY_3 timestamp 1638025753 -transform 1 0 4048 0 -1 4896 -box -38 -48 406 592 -use sky130_fd_sc_hd__decap_3 FILLER_6_28 +transform -1 0 5980 0 1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__decap_3 PHY_4 timestamp 1638025753 -transform 1 0 3680 0 -1 4896 +transform 1 0 1104 0 -1 2720 box -38 -48 314 592 -use sky130_fd_sc_hd__tapvpwrvgnd_1 PHY_21 +use sky130_fd_sc_hd__decap_3 PHY_5 timestamp 1638025753 -transform 1 0 3956 0 -1 4896 -box -38 -48 130 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[5\] +transform -1 0 5980 0 -1 2720 +box -38 -48 314 592 +use sky130_fd_sc_hd__decap_3 PHY_6 timestamp 1638025753 -transform 1 0 4140 0 1 4896 +transform 1 0 1104 0 1 2720 box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[12\] +use sky130_fd_sc_hd__decap_3 PHY_7 timestamp 1638025753 -transform 1 0 4508 0 -1 4896 +transform -1 0 5980 0 1 2720 box -38 -48 314 592 -use sky130_fd_sc_hd__decap_6 FILLER_7_36 +use sky130_fd_sc_hd__decap_3 PHY_8 timestamp 1638025753 -transform 1 0 4416 0 1 4896 -box -38 -48 590 592 -use sky130_fd_sc_hd__decap_6 FILLER_7_27 +transform 1 0 1104 0 -1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__decap_3 PHY_9 timestamp 1638025753 -transform 1 0 3588 0 1 4896 -box -38 -48 590 592 -use sky130_fd_sc_hd__fill_1 FILLER_7_42 +transform -1 0 5980 0 -1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__decap_3 PHY_10 timestamp 1638025753 -transform 1 0 4968 0 1 4896 -box -38 -48 130 592 -use sky130_fd_sc_hd__decap_4 FILLER_7_46 +transform 1 0 1104 0 1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__decap_3 PHY_11 timestamp 1638025753 -transform 1 0 5336 0 1 4896 -box -38 -48 406 592 -use sky130_fd_sc_hd__decap_3 PHY_15 +transform -1 0 5980 0 1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__decap_3 PHY_12 timestamp 1638025753 -transform -1 0 5980 0 1 4896 +transform 1 0 1104 0 -1 4896 box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_13 timestamp 1638025753 transform -1 0 5980 0 -1 4896 box -38 -48 314 592 -use sky130_fd_sc_hd__conb_1 mask_rev_value\[23\] +use sky130_fd_sc_hd__decap_3 PHY_14 timestamp 1638025753 -transform 1 0 5060 0 1 4896 +transform 1 0 1104 0 1 4896 box -38 -48 314 592 -use sky130_fd_sc_hd__fill_2 FILLER_6_48 -timestamp 1638025753 -transform 1 0 5520 0 -1 4896 -box -38 -48 222 592 -use sky130_fd_sc_hd__decap_8 FILLER_6_40 +use sky130_fd_sc_hd__decap_3 PHY_15 timestamp 1638025753 -transform 1 0 4784 0 -1 4896 -box -38 -48 774 592 +transform -1 0 5980 0 1 4896 +box -38 -48 314 592 use sky130_fd_sc_hd__decap_3 PHY_16 timestamp 1638025753 transform 1 0 1104 0 -1 5984 box -38 -48 314 592 -use sky130_fd_sc_hd__decap_12 FILLER_8_3 +use sky130_fd_sc_hd__decap_3 PHY_17 timestamp 1638025753 -transform 1 0 1380 0 -1 5984 -box -38 -48 1142 592 -use sky130_fd_sc_hd__decap_12 FILLER_8_15 +transform -1 0 5980 0 -1 5984 +box -38 -48 314 592 +use sky130_fd_sc_hd__tapvpwrvgnd_1 PHY_18 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag timestamp 1638025753 -transform 1 0 2484 0 -1 5984 -box -38 -48 1142 592 -use sky130_fd_sc_hd__decap_4 FILLER_8_27 +transform 1 0 3956 0 -1 1632 +box -38 -48 130 592 +use sky130_fd_sc_hd__tapvpwrvgnd_1 PHY_19 timestamp 1638025753 -transform 1 0 3588 0 -1 5984 -box -38 -48 406 592 -use sky130_fd_sc_hd__decap_12 FILLER_8_32 +transform 1 0 3956 0 -1 2720 +box -38 -48 130 592 +use sky130_fd_sc_hd__tapvpwrvgnd_1 PHY_20 timestamp 1638025753 -transform 1 0 4048 0 -1 5984 -box -38 -48 1142 592 +transform 1 0 3956 0 -1 3808 +box -38 -48 130 592 +use sky130_fd_sc_hd__tapvpwrvgnd_1 PHY_21 +timestamp 1638025753 +transform 1 0 3956 0 -1 4896 +box -38 -48 130 592 use sky130_fd_sc_hd__tapvpwrvgnd_1 PHY_22 timestamp 1638025753 transform 1 0 3956 0 -1 5984 box -38 -48 130 592 -use sky130_fd_sc_hd__decap_3 PHY_17 -timestamp 1638025753 -transform -1 0 5980 0 -1 5984 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[0\] $PDKPATH/libs.ref/sky130_fd_sc_hd/mag +timestamp 1648946573 +transform 1 0 2392 0 1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[1\] +timestamp 1648946573 +transform 1 0 3036 0 1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[2\] +timestamp 1648946573 +transform 1 0 1840 0 1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[3\] +timestamp 1648946573 +transform 1 0 1380 0 1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[4\] +timestamp 1648946573 +transform 1 0 5428 0 1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[5\] +timestamp 1648946573 +transform 1 0 4140 0 1 4896 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[6\] +timestamp 1648946573 +transform 1 0 1380 0 1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[7\] +timestamp 1648946573 +transform 1 0 3864 0 1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[8\] +timestamp 1648946573 +transform 1 0 3220 0 -1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[9\] +timestamp 1648946573 +transform 1 0 4876 0 -1 2720 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[10\] +timestamp 1648946573 +transform 1 0 4232 0 1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[11\] +timestamp 1648946573 +transform 1 0 2668 0 1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[12\] +timestamp 1648946573 +transform 1 0 4508 0 -1 4896 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[13\] +timestamp 1648946573 +transform 1 0 4600 0 -1 2720 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[14\] +timestamp 1648946573 +transform 1 0 2484 0 -1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[15\] +timestamp 1648946573 +transform 1 0 4416 0 -1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[16\] +timestamp 1648946573 +transform 1 0 4600 0 -1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[17\] +timestamp 1648946573 +transform 1 0 1472 0 -1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[18\] +timestamp 1648946573 +transform 1 0 4508 0 1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[19\] +timestamp 1648946573 +transform 1 0 1932 0 -1 4896 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[20\] +timestamp 1648946573 +transform 1 0 2760 0 -1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[21\] +timestamp 1648946573 +transform 1 0 3404 0 -1 4896 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[22\] +timestamp 1648946573 +transform 1 0 4048 0 -1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[23\] +timestamp 1648946573 +transform 1 0 5060 0 1 4896 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[24\] +timestamp 1648946573 +transform 1 0 1748 0 -1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[25\] +timestamp 1648946573 +transform 1 0 2944 0 -1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[26\] +timestamp 1648946573 +transform 1 0 5060 0 -1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[27\] +timestamp 1648946573 +transform 1 0 1472 0 -1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[28\] +timestamp 1648946573 +transform 1 0 1932 0 1 1632 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[29\] +timestamp 1648946573 +transform 1 0 5336 0 1 3808 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[30\] +timestamp 1648946573 +transform 1 0 3036 0 -1 4896 +box -38 -48 314 592 +use sky130_fd_sc_hd__conb_1 mask_rev_value\[31\] +timestamp 1648946573 +transform 1 0 1380 0 1 2720 box -38 -48 314 592 -use sky130_fd_sc_hd__decap_6 FILLER_8_44 -timestamp 1638025753 -transform 1 0 5152 0 -1 5984 -box -38 -48 590 592 << labels >> rlabel metal2 s 4066 6277 4122 7077 4 mask_rev[0] port 1 nsew diff --git a/scripts/gen_gpio_defaults.py b/scripts/gen_gpio_defaults.py index b88183e1..c811c367 100755 --- a/scripts/gen_gpio_defaults.py +++ b/scripts/gen_gpio_defaults.py @@ -18,8 +18,8 @@ # # gen_gpio_defaults.py --- # -# Manipulate the magic database and GDS to create and apply defaults -# to the GPIO control blocks based on the user's specification in the +# Manipulate the magic database to create and apply defaults to +# the GPIO control blocks based on the user's specification in the # user_defines.v file. # # The GPIO defaults block contains 13 bits that set the state of the @@ -121,7 +121,6 @@ def usage(): sys.exit(1) magpath = user_project_path + '/mag' - gdspath = user_project_path + '/gds' vpath = user_project_path + '/verilog' glpath = vpath + '/gl' @@ -132,10 +131,6 @@ def usage(): caravel_path = os.getcwd() # Check paths - if not os.path.isdir(gdspath): - print('No directory ' + gdspath + ' found (path to GDS).') - sys.exit(1) - if not os.path.isdir(vpath): print('No directory ' + vpath + ' found (path to verilog).') sys.exit(1) diff --git a/mag/run_caravan_lvs.sh b/scripts/run_caravan_lvs.sh similarity index 58% rename from mag/run_caravan_lvs.sh rename to scripts/run_caravan_lvs.sh index 128aee73..4467b7c7 100755 --- a/mag/run_caravan_lvs.sh +++ b/scripts/run_caravan_lvs.sh @@ -1,9 +1,12 @@ #!/bin/bash # +# Run top-level LVS on caravan. The extraction in magic does not include the SoC, +# which is abstracted. +# echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null echo ${PDK:=sky130A} > /dev/null -if [ ! -f caravan.spice ]; then +cd ../mag magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF drc off crashbackups stop @@ -16,7 +19,11 @@ ext2spice lvs ext2spice EOF rm -f *.ext -fi export NETGEN_COLUMNS=60 -netgen -batch lvs "caravan.spice caravan" "../verilog/gl/caravan.v caravan" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl comp.out +netgen -batch lvs "caravan.spice caravan" "../verilog/gl/caravan.v caravan" \ + $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl caravan_comp.out + +mv caravan.spice ../spi/lvs/caravan_lvs.spice +mv caravan_comp.out ../signoff/ +exit 0 diff --git a/mag/run_caravan_lvs_full.sh b/scripts/run_caravan_lvs_full.sh similarity index 62% rename from mag/run_caravan_lvs_full.sh rename to scripts/run_caravan_lvs_full.sh index 4bde2894..9515b70f 100755 --- a/mag/run_caravan_lvs_full.sh +++ b/scripts/run_caravan_lvs_full.sh @@ -1,36 +1,41 @@ #!/bin/bash #--------------------------------------------------------------------------- -# Run full LVS on caravan: This does not include verification of underlying -# library components such as the I/O cells and standard cells, but does -# include all sub-blocks of caravan. # -# NOTE: The netlist caravan.spice is only regenerated if it does not exist. -# To run a full extraction and LVS, remove any existing caravan.spice file -# first. +# Run full LVS on caravan: This does not include verification of underlying +# library components such as the I/O cells, standard cells, and SRAM, but +# does include all sub-blocks of caravan. # #--------------------------------------------------------------------------- echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null echo ${PDK:=sky130A} > /dev/null # Extract full layout netlist -if [ ! -f caravan.spice ]; then +cd ../mag magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF drc off crashbackups stop load caravan +# Replace the management core wrapper abstract view with the full view +cellname filepath mgmt_core_wrapper ../../caravel_mgmt_soc_litex/mag +flush mgmt_core_wrapper select top cell expand +# Replace the SRAM full view with the abstract view. +cellname filepath sky130_sram_2kbyte_1rw1r_32x512_8 $PDK_ROOT/$PDK/libs.ref/sky130_sram_macros/maglef +flush sky130_sram_2kbyte_1rw1r_32x512_8 extract do local extract all ext2spice lvs ext2spice EOF rm -f *.ext -fi # Generate black-box verilog entry for the conb cell. Otherwise, the verilog tends to # have only one of the pins listed which will result in an incorrect pin match. +# Also set the USE_POWER_PINS definition, which is not set anywhere else. cat > conb.v << EOF +\`define USE_POWER_PINS 1 + /* Black-box entry for conb_1 module */ module sky130_fd_sc_hd__conb_1 (HI, LO, VPWR, VGND, VPB, VNB); output HI; @@ -40,6 +45,16 @@ module sky130_fd_sc_hd__conb_1 (HI, LO, VPWR, VGND, VPB, VNB); input VPB; input VNB; endmodule + +/* Black-box entry for conb_1 module */ +module sky130_fd_sc_hvl__conb_1 (HI, LO, VPWR, VGND, VPB, VNB); + output HI; + output LO; + input VPWR; + input VGND; + input VPB; + input VNB; +endmodule EOF # Generate script for netgen @@ -48,11 +63,15 @@ cat > netgen.tcl << EOF puts stdout "Reading netlist caravan.spice" set circuit1 [readnet spice caravan.spice] puts stdout "Reading gate-level netlist caravan.v" -set circuit2 [readnet verilog ../verilog/gl/caravan.v] +set circuit2 [readnet verilog ../verilog/rtl/defines.v] # Read additional subcircuits into the netlist of circuit2 puts stdout "Reading black-box modules" readnet verilog conb.v \$circuit2 puts stdout "Reading all gate-level verilog modules" +# +# NOTE: Cannot use __user_analog_project_wrapper module because it does +# not correspond to the empty analog wrapper layout. +# readnet verilog ../verilog/gl/__user_analog_project_wrapper.v \$circuit2 readnet verilog ../verilog/gl/caravel_clocking.v \$circuit2 readnet verilog ../verilog/gl/chip_io_alt.v \$circuit2 readnet verilog ../verilog/gl/digital_pll.v \$circuit2 @@ -62,21 +81,28 @@ readnet verilog ../verilog/gl/gpio_defaults_block_1803.v \$circuit2 readnet verilog ../verilog/gl/gpio_defaults_block_0403.v \$circuit2 readnet verilog ../verilog/gl/gpio_logic_high.v \$circuit2 readnet verilog ../verilog/gl/housekeeping.v \$circuit2 -readnet verilog ../verilog/gl/mgmt_protect.v \$circuit2 readnet verilog ../verilog/gl/mgmt_protect_hv.v \$circuit2 +readnet verilog ../verilog/gl/mgmt_protect.v \$circuit2 readnet verilog ../verilog/gl/mprj2_logic_high.v \$circuit2 readnet verilog ../verilog/gl/mprj_logic_high.v \$circuit2 readnet verilog ../verilog/gl/spare_logic_block.v \$circuit2 readnet verilog ../verilog/gl/user_id_programming.v \$circuit2 readnet verilog ../verilog/gl/xres_buf.v \$circuit2 +readnet verilog ../../caravel_mgmt_soc_litex/verilog/gl/DFFRAM.v \$circuit2 +readnet verilog ../../caravel_mgmt_soc_litex/verilog/gl/mgmt_core.v \$circuit2 +readnet verilog ../../caravel_mgmt_soc_litex/verilog/gl/mgmt_core_wrapper.v \$circuit2 +readnet verilog ../verilog/gl/caravan.v \$circuit2 -# To do: Add simple_por from ../spi/lvs # Run LVS -lvs "\$circuit1 caravan" "\$circuit2 caravan" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl comp.out +lvs "\$circuit1 caravan" "\$circuit2 caravan" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl caravan_full_comp.out EOF export NETGEN_COLUMNS=60 export MAGIC_EXT_USE_GDS=1 netgen -batch source netgen.tcl -# rm conb.v -# rm netgen.tcl +rm conb.v +rm netgen.tcl + +mv caravan.spice ../spi/lvs/caraven_lvs_full.spice +mv caravan_full_comp.out ../signoff/ +exit 0 diff --git a/mag/run_caravel_lvs.sh b/scripts/run_caravel_lvs.sh similarity index 58% rename from mag/run_caravel_lvs.sh rename to scripts/run_caravel_lvs.sh index ec0b99db..6cb07d83 100755 --- a/mag/run_caravel_lvs.sh +++ b/scripts/run_caravel_lvs.sh @@ -1,9 +1,11 @@ #!/bin/bash +# Run top-level LVS on caravel. The extraction in magic does not include the SoC, +# which is abstracted. # echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null echo ${PDK:=sky130A} > /dev/null -if [ ! -f caravel.spice ]; then +cd ../mag magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF drc off crashbackups stop @@ -16,7 +18,11 @@ ext2spice lvs ext2spice EOF rm -f *.ext -fi export NETGEN_COLUMNS=60 -netgen -batch lvs "caravel.spice caravel" "../verilog/gl/caravel.v caravel" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl comp.out +netgen -batch lvs "caravel.spice caravel" "../verilog/gl/caravel.v caravel" \ + $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl caravel_comp.out + +mv caravel.spice ../spi/lvs/caravel_lvs.spice +mv caravel_comp.out ../signoff/ +exit 0 diff --git a/mag/run_caravel_lvs_full.sh b/scripts/run_caravel_lvs_full.sh similarity index 62% rename from mag/run_caravel_lvs_full.sh rename to scripts/run_caravel_lvs_full.sh index 81da0c1b..028fe46d 100755 --- a/mag/run_caravel_lvs_full.sh +++ b/scripts/run_caravel_lvs_full.sh @@ -1,36 +1,42 @@ #!/bin/bash #--------------------------------------------------------------------------- -# Run full LVS on caravel: This does not include verification of underlying -# library components such as the I/O cells and standard cells, but does -# include all sub-blocks of caravel. # -# NOTE: The netlist caravel.spice is only regenerated if it does not exist. -# To run a full extraction and LVS, remove any existing caravel.spice file -# first. +# Run full LVS on caravel: This does not include verification of underlying +# library components such as the I/O cells, standard cells, and SRAM, but +# does include all sub-blocks of caravel. # #--------------------------------------------------------------------------- echo ${PDK_ROOT:=/usr/share/pdk} > /dev/null echo ${PDK:=sky130A} > /dev/null # Extract full layout netlist +cd ../mag if [ ! -f caravel.spice ]; then magic -dnull -noconsole -rcfile $PDK_ROOT/$PDK/libs.tech/magic/$PDK.magicrc << EOF drc off crashbackups stop load caravel +# Replace the management core wrapper abstract view with the full view +cellname filepath mgmt_core_wrapper ../../caravel_mgmt_soc_litex/mag +flush mgmt_core_wrapper select top cell expand +# Replace the SRAM full view with the abstract view. +cellname filepath sky130_sram_2kbyte_1rw1r_32x512_8 $PDK_ROOT/$PDK/libs.ref/sky130_sram_macros/maglef +flush sky130_sram_2kbyte_1rw1r_32x512_8 extract do local extract all ext2spice lvs ext2spice EOF rm -f *.ext -fi # Generate black-box verilog entry for the conb cell. Otherwise, the verilog tends to # have only one of the pins listed which will result in an incorrect pin match. +# Also set the USE_POWER_PINS definition, which is not set anywhere else. cat > conb.v << EOF +\`define USE_POWER_PINS 1 + /* Black-box entry for conb_1 module */ module sky130_fd_sc_hd__conb_1 (HI, LO, VPWR, VGND, VPB, VNB); output HI; @@ -40,6 +46,16 @@ module sky130_fd_sc_hd__conb_1 (HI, LO, VPWR, VGND, VPB, VNB); input VPB; input VNB; endmodule + +/* Black-box entry for conb_1 module */ +module sky130_fd_sc_hvl__conb_1 (HI, LO, VPWR, VGND, VPB, VNB); + output HI; + output LO; + input VPWR; + input VGND; + input VPB; + input VNB; +endmodule EOF # Generate script for netgen @@ -48,11 +64,14 @@ cat > netgen.tcl << EOF puts stdout "Reading netlist caravel.spice" set circuit1 [readnet spice caravel.spice] puts stdout "Reading gate-level netlist caravel.v" -set circuit2 [readnet verilog ../verilog/gl/caravel.v] +set circuit2 [readnet verilog ../verilog/rtl/defines.v] # Read additional subcircuits into the netlist of circuit2 puts stdout "Reading black-box modules" readnet verilog conb.v \$circuit2 puts stdout "Reading all gate-level verilog modules" +# NOTE: Cannot use __user_project_wrapper.v because it is not +# equivalent to the layout empty wrapper. +# readnet verilog ../verilog/gl/__user_project_wrapper.v \$circuit2 readnet verilog ../verilog/gl/caravel_clocking.v \$circuit2 readnet verilog ../verilog/gl/chip_io.v \$circuit2 readnet verilog ../verilog/gl/digital_pll.v \$circuit2 @@ -62,21 +81,28 @@ readnet verilog ../verilog/gl/gpio_defaults_block_1803.v \$circuit2 readnet verilog ../verilog/gl/gpio_defaults_block_0403.v \$circuit2 readnet verilog ../verilog/gl/gpio_logic_high.v \$circuit2 readnet verilog ../verilog/gl/housekeeping.v \$circuit2 -readnet verilog ../verilog/gl/mgmt_protect.v \$circuit2 readnet verilog ../verilog/gl/mgmt_protect_hv.v \$circuit2 +readnet verilog ../verilog/gl/mgmt_protect.v \$circuit2 readnet verilog ../verilog/gl/mprj2_logic_high.v \$circuit2 readnet verilog ../verilog/gl/mprj_logic_high.v \$circuit2 readnet verilog ../verilog/gl/spare_logic_block.v \$circuit2 readnet verilog ../verilog/gl/user_id_programming.v \$circuit2 readnet verilog ../verilog/gl/xres_buf.v \$circuit2 +readnet verilog ../../caravel_mgmt_soc_litex/verilog/gl/DFFRAM.v \$circuit2 +readnet verilog ../../caravel_mgmt_soc_litex/verilog/gl/mgmt_core.v \$circuit2 +readnet verilog ../../caravel_mgmt_soc_litex/verilog/gl/mgmt_core_wrapper.v \$circuit2 +readnet verilog ../verilog/gl/caravel.v \$circuit2 -# To do: Add simple_por from ../spi/lvs # Run LVS -lvs "\$circuit1 caravel" "\$circuit2 caravel" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl comp.out +lvs "\$circuit1 caravel" "\$circuit2 caravel" $PDK_ROOT/$PDK/libs.tech/netgen/${PDK}_setup.tcl caravel_full_comp.out EOF export NETGEN_COLUMNS=60 export MAGIC_EXT_USE_GDS=1 netgen -batch source netgen.tcl -# rm conb.v -# rm netgen.tcl +rm conb.v +rm netgen.tcl + +mv caravel.spice ../spi/lvs/caravel_lvs_full.spice +mv caravel_full_comp.out ../signoff/ +exit 0 diff --git a/mag/run_chip_io_alt_lvs.sh b/scripts/run_chip_io_alt_lvs.sh similarity index 100% rename from mag/run_chip_io_alt_lvs.sh rename to scripts/run_chip_io_alt_lvs.sh diff --git a/mag/run_chip_io_lvs.sh b/scripts/run_chip_io_lvs.sh similarity index 100% rename from mag/run_chip_io_lvs.sh rename to scripts/run_chip_io_lvs.sh diff --git a/scripts/set_user_id.py b/scripts/set_user_id.py index 72656713..368f040b 100755 --- a/scripts/set_user_id.py +++ b/scripts/set_user_id.py @@ -18,7 +18,7 @@ # # set_user_id.py --- # -# Manipulate the magic database, GDS, and verilog source files for the +# Manipulate the magic database and verilog source files for the # user_id_programming block to set the user ID number. # # The user ID number is a 32-bit value that is passed to this routine @@ -197,10 +197,6 @@ def usage(): print('Step 1: Modify layout of the user_id_programming subcell') - # Bytes leading up to via position are: - viarec = "00 06 0d 02 00 43 00 06 0e 02 00 2c 00 2c 10 03 " - viabytes = bytes.fromhex(viarec) - # Read the ID programming layout. If a backup was made of the # zero-value program, then use it. diff --git a/verilog/gl/caravan.v b/verilog/gl/caravan.v index d8527716..09a45447 100644 --- a/verilog/gl/caravan.v +++ b/verilog/gl/caravan.v @@ -4265,6 +4265,7 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd .mprj_dat_o({ \mprj_dat_o_core[31] , \mprj_dat_o_core[30] , \mprj_dat_o_core[29] , \mprj_dat_o_core[28] , \mprj_dat_o_core[27] , \mprj_dat_o_core[26] , \mprj_dat_o_core[25] , \mprj_dat_o_core[24] , \mprj_dat_o_core[23] , \mprj_dat_o_core[22] , \mprj_dat_o_core[21] , \mprj_dat_o_core[20] , \mprj_dat_o_core[19] , \mprj_dat_o_core[18] , \mprj_dat_o_core[17] , \mprj_dat_o_core[16] , \mprj_dat_o_core[15] , \mprj_dat_o_core[14] , \mprj_dat_o_core[13] , \mprj_dat_o_core[12] , \mprj_dat_o_core[11] , \mprj_dat_o_core[10] , \mprj_dat_o_core[9] , \mprj_dat_o_core[8] , \mprj_dat_o_core[7] , \mprj_dat_o_core[6] , \mprj_dat_o_core[5] , \mprj_dat_o_core[4] , \mprj_dat_o_core[3] , \mprj_dat_o_core[2] , \mprj_dat_o_core[1] , \mprj_dat_o_core[0] }), .mprj_sel_o({ \mprj_sel_o_core[3] , \mprj_sel_o_core[2] , \mprj_sel_o_core[1] , \mprj_sel_o_core[0] }), .mprj_stb_o(mprj_stb_o_core), + .mprj_wb_iena(mprj_iena_wb), .mprj_we_o(mprj_we_o_core), .qspi_enabled(qspi_enabled), .ser_rx(ser_rx), @@ -4280,7 +4281,8 @@ module caravan(vddio, vddio_2, vssio, vssio_2, vdda, vssa, vccd, vssd, vdda1, vd .sram_ro_csb(hkspi_sram_csb), .sram_ro_data({ \hkspi_sram_data[31] , \hkspi_sram_data[30] , \hkspi_sram_data[29] , \hkspi_sram_data[28] , \hkspi_sram_data[27] , \hkspi_sram_data[26] , \hkspi_sram_data[25] , \hkspi_sram_data[24] , \hkspi_sram_data[23] , \hkspi_sram_data[22] , \hkspi_sram_data[21] , \hkspi_sram_data[20] , \hkspi_sram_data[19] , \hkspi_sram_data[18] , \hkspi_sram_data[17] , \hkspi_sram_data[16] , \hkspi_sram_data[15] , \hkspi_sram_data[14] , \hkspi_sram_data[13] , \hkspi_sram_data[12] , \hkspi_sram_data[11] , \hkspi_sram_data[10] , \hkspi_sram_data[9] , \hkspi_sram_data[8] , \hkspi_sram_data[7] , \hkspi_sram_data[6] , \hkspi_sram_data[5] , \hkspi_sram_data[4] , \hkspi_sram_data[3] , \hkspi_sram_data[2] , \hkspi_sram_data[1] , \hkspi_sram_data[0] }), .trap(trap), - .uart_enabled(uart_enabled) + .uart_enabled(uart_enabled), + .user_irq_ena({ \user_irq_ena[2] , \user_irq_ena[1] , \user_irq_ena[0] }) ); spare_logic_block \spare_logic[0] ( .spare_xfq({ \spare_xfq_nc[1] , \spare_xfq_nc[0] }), diff --git a/verilog/rtl/caravan.v b/verilog/rtl/caravan.v index 1b16b435..dde14aef 100644 --- a/verilog/rtl/caravan.v +++ b/verilog/rtl/caravan.v @@ -448,6 +448,7 @@ module caravan ( .flash_io3_do(flash_io3_do_core), // Exported Wishbone Bus + .mrpj_wb_iena(mprj_iena_wb), .mprj_cyc_o(mprj_cyc_o_core), .mprj_stb_o(mprj_stb_o_core), .mprj_we_o(mprj_we_o_core), @@ -464,6 +465,7 @@ module caravan ( // IRQ .irq({irq_spi, user_irq}), + .user_irq_ena(user_irq_ena), // Module status (these may or may not be implemented) .qspi_enabled(qspi_enabled), From 19dbc73642c9eb4ef05357531ddd9de149265e44 Mon Sep 17 00:00:00 2001 From: RTimothyEdwards Date: Tue, 19 Apr 2022 12:48:58 +0000 Subject: [PATCH 2/4] Apply automatic changes to Manifest and README.rst --- manifest | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manifest b/manifest index ccc281e9..579ab454 100644 --- a/manifest +++ b/manifest @@ -2,7 +2,7 @@ 87735eb5981740ca4d4b48e6b0321c8bb0023800 verilog/rtl/__uprj_netlists.v 684085713662e37a26f9f981d35be7c6c7ff6e9a verilog/rtl/__user_analog_project_wrapper.v b5ad3558a91e508fad154b91565c7d664b247020 verilog/rtl/__user_project_wrapper.v -c9a9c1b2a4cc5edc68d8f3812a8d437465439357 verilog/rtl/caravan.v +ee12097291acd2855e8f357edf4671dbe60fc254 verilog/rtl/caravan.v a855d65d6fc59352e4f8a994e451418d113586fc verilog/rtl/caravan_netlists.v a3d12a2d2d3596800bec47d1266dce2399a2fcc6 verilog/rtl/caravan_openframe.v cb320bf7e981979c4e823270d823395ea609c77e verilog/rtl/caravel.v @@ -28,6 +28,6 @@ ce49f9af199b5f16d2c39c417d58e5890bc7bab2 verilog/rtl/digital_pll_controller.v 6f802b6ab7e6502160adfe41e313958b86d2c277 verilog/rtl/simple_por.v 1b1705d41992b318c791a5703e0d43d0bcda8f12 verilog/rtl/spare_logic_block.v 8f0bec01c914efe790a09ffe62bbfe0781069e35 verilog/rtl/xres_buf.v -b00f5fb7e2f176dd4ca7ea1fcd3b8cf82b15fa76 scripts/set_user_id.py +bfb31f4ccc7d996bc82ad72e3927d919838626f3 scripts/set_user_id.py 98168b1fb6f80b196f9a05e725ec6ad99bc57ac6 scripts/generate_fill.py 3210e724c6dc99563af780ff1778fada5b432604 scripts/compositor.py From 39b34894832e52c0c47f53286ab6819c2b7fd8f2 Mon Sep 17 00:00:00 2001 From: Tim Edwards Date: Tue, 19 Apr 2022 14:40:23 -0400 Subject: [PATCH 3/4] Made the changes from pull request #73 as they did not get merged successfully, and if merged now they will generate conflicts with this pull request in scripts/set_user_id.py. So it's easier to just manually add them to this pull request. --- Makefile | 4 ++-- README.rst | 2 +- scripts/set_user_id.py | 18 +++++++++--------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 7a5e0961..a91adb33 100644 --- a/Makefile +++ b/Makefile @@ -122,7 +122,7 @@ __ship: property GDS_START 0; \ load mgmt_core_wrapper; \ property LEFview true; \ - property GDS_FILE ../mgmt_core_wrapper/gds/mgmt_core_wrapper.gds; \ + property GDS_FILE $(MCW_ROOT)/gds/mgmt_core_wrapper.gds; \ property GDS_START 0; \ load $(UPRJ_ROOT)/mag/user_id_programming; \ load $(UPRJ_ROOT)/mag/user_id_textblock; \ @@ -174,7 +174,7 @@ __truck: property GDS_START 0; \ load mgmt_core_wrapper; \ property LEFview true; \ - property GDS_FILE ../mgmt_core_wrapper/gds/mgmt_core_wrapper.gds; \ + property GDS_FILE $(MCW_ROOT)/gds/mgmt_core_wrapper.gds; \ property GDS_START 0; \ load $(UPRJ_ROOT)/mag/user_id_programming; \ load $(UPRJ_ROOT)/mag/user_id_textblock; \ diff --git a/README.rst b/README.rst index d24c3e3d..9dfbae78 100644 --- a/README.rst +++ b/README.rst @@ -152,7 +152,7 @@ Quick Start for User Projects Your area is the full user space, so feel free to add your project there or create a different macro and harden it separately then insert it into the ``user_project_wrapper`` for digital projects or insert it -into ``user_project_analog_wrapper`` for analog projects. +into ``user_analog_project_wrapper`` for analog projects. .. _digital-user-project: diff --git a/scripts/set_user_id.py b/scripts/set_user_id.py index 368f040b..329ca62e 100755 --- a/scripts/set_user_id.py +++ b/scripts/set_user_id.py @@ -233,7 +233,7 @@ def usage(): xuri = int(round(xurum * 200)) yuri = int(round(yurum * 200)) - viaoldposdata = 'rect ' + xlli + ' ' + ylli + ' ' + xuri + ' ' + yuri + viaoldposdata = f"rect {xlli} {ylli} {xuri} {yuri}" # For "one" bits, the X position is moved 0.92 microns to the left newxllum = xllum - 0.92 @@ -243,7 +243,7 @@ def usage(): newxlli = int(round(newxllum * 200)) newxuri = int(round(newxurum * 200)) - vianewposdata = 'rect ' + newxlli + ' ' + ylli + ' ' + newxuri + ' ' + yuri + vianewposdata = f"rect {newxlli} {ylli} {newxuri} {yuri}" # Diagnostic if debugmode: @@ -257,7 +257,7 @@ def usage(): print('Error: via not found for bit position ' + str(i)) errors += 1 else: - magdata == magdata.replace(viaoldposdata, vianewposdata) + magdata = magdata.replace(viaoldposdata, vianewposdata) if errors == 0: # Keep a copy of the original @@ -309,17 +309,17 @@ def usage(): if user_id_bits[i] == '0': continue - outdata = vdata.replace('high[' + str(i) + ']', 'XXXX') - outdata = outdata.replace('low[' + str(i) + ']', 'high[' + str(i) + ']') - outdata = outdata.replace('XXXX', 'low[' + str(i) + ']') - outdata = outdata.replace('LO(mask_rev[' + str(i) + ']', + vdata = vdata.replace('high[' + str(i) + ']', 'XXXX') + vdata = vdata.replace('low[' + str(i) + ']', 'high[' + str(i) + ']') + vdata = vdata.replace('XXXX', 'low[' + str(i) + ']') + vdata = vdata.replace('LO(mask_rev[' + str(i) + ']', 'HI(mask_rev[' + str(i) + ']') - outdata = outdata.replace('HI(\\user_proj_id_low', 'LO(\\user_proj_id_low') + vdata = vdata.replace('HI(\\user_proj_id_low', 'LO(\\user_proj_id_low') changed = True if changed: with open(vpath + '/gl/user_id_programming.v', 'w') as ofile: - ofile.write(outdata) + ofile.write(vdata) print('Done!') else: print('Error: No substitutions done on verilog/gl/user_id_programming.v.') From 0798d8136763ab216f21e9cc0c61c184c8042a60 Mon Sep 17 00:00:00 2001 From: RTimothyEdwards Date: Tue, 19 Apr 2022 18:43:39 +0000 Subject: [PATCH 4/4] Apply automatic changes to Manifest and README.rst --- README.rst | 2 +- manifest | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 9dfbae78..d24c3e3d 100644 --- a/README.rst +++ b/README.rst @@ -152,7 +152,7 @@ Quick Start for User Projects Your area is the full user space, so feel free to add your project there or create a different macro and harden it separately then insert it into the ``user_project_wrapper`` for digital projects or insert it -into ``user_analog_project_wrapper`` for analog projects. +into ``user_project_analog_wrapper`` for analog projects. .. _digital-user-project: diff --git a/manifest b/manifest index 579ab454..36c7c72c 100644 --- a/manifest +++ b/manifest @@ -28,6 +28,6 @@ ce49f9af199b5f16d2c39c417d58e5890bc7bab2 verilog/rtl/digital_pll_controller.v 6f802b6ab7e6502160adfe41e313958b86d2c277 verilog/rtl/simple_por.v 1b1705d41992b318c791a5703e0d43d0bcda8f12 verilog/rtl/spare_logic_block.v 8f0bec01c914efe790a09ffe62bbfe0781069e35 verilog/rtl/xres_buf.v -bfb31f4ccc7d996bc82ad72e3927d919838626f3 scripts/set_user_id.py +272e08b7330bbc55f97a8a60c03fdb5255557f04 scripts/set_user_id.py 98168b1fb6f80b196f9a05e725ec6ad99bc57ac6 scripts/generate_fill.py 3210e724c6dc99563af780ff1778fada5b432604 scripts/compositor.py