This commit is contained in:
manarabdelaty 2021-11-08 13:35:16 +02:00
commit 89bb33fbc0
14 changed files with 7577 additions and 291 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

1035
mag/caravan.mag Normal file

File diff suppressed because it is too large Load Diff

1087
mag/caravel.mag Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,20 +1,68 @@
magic magic
tech sky130A tech sky130A
magscale 1 2 magscale 1 2
timestamp 1625189213 timestamp 1636248654
<< fillblock >> << fillblock >>
rect -262 -266 31304 2764 rect -262 -266 31304 2764
rect -140 -5140 35048 -1424 rect -140 -5140 35048 -1424
rect 26 -9464 13144 -6358 rect 26 -9464 19344 -6358
use font_6F font_6F_3 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777049
transform 1 0 2142 0 1 -9290
box 0 0 1080 1800
use font_4E font_4E_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598766739
transform 1 0 226 0 1 -9274
box 0 0 1440 2520
use font_65 font_65_6 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775915
transform 1 0 4969 0 1 -9290
box 0 0 1080 1800
use font_76 font_76_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777472
transform 1 0 3569 0 1 -9290
box 0 0 1080 1800
use font_6D font_6D_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776905
transform 1 0 6369 0 1 -9290
box 0 0 1800 1800
use font_65 font_65_7
timestamp 1598775915
transform 1 0 9969 0 1 -9290
box 0 0 1080 1800
use font_62 font_62_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775406
transform 1 0 8569 0 1 -9290
box 0 0 1080 2520
use font_72 font_72_2 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777237
transform 1 0 11369 0 1 -9290
box 0 0 1080 1800
use font_32 font_32_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787041
transform 1 0 13636 0 1 -9321
box 0 0 1080 2520
use font_20 font_20_4 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag use font_20 font_20_4 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598785497 timestamp 1598785497
transform 1 0 12476 0 1 -9176 transform 1 0 12476 0 1 -9176
box 0 0 1 1 box 0 0 1 1
use font_30 font_30_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786981
transform 1 0 15076 0 1 -9321
box 0 0 1080 2520
use font_32 font_32_1
timestamp 1598787041
transform 1 0 16516 0 1 -9321
box 0 0 1080 2520
use font_31 font_31_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787010
transform 1 0 17950 0 1 -9341
box 0 0 1080 2520
use font_47 font_47_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag use font_47 font_47_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598765398 timestamp 1598765398
transform 1 0 118 0 1 -4282 transform 1 0 118 0 1 -4282
box 0 0 1080 2520 box 0 0 1080 2520
use font_6F font_6F_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag use font_6F font_6F_0
timestamp 1598777049 timestamp 1598777049
transform 1 0 1558 0 1 -4282 transform 1 0 1558 0 1 -4282
box 0 0 1080 1800 box 0 0 1080 1800
@ -26,7 +74,7 @@ use font_67 font_67_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776042 timestamp 1598776042
transform 1 0 4438 0 1 -4282 transform 1 0 4438 0 1 -4282
box 0 -720 1080 1800 box 0 -720 1080 1800
use font_65 font_65_3 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag use font_65 font_65_3
timestamp 1598775915 timestamp 1598775915
transform 1 0 6598 0 1 -4282 transform 1 0 6598 0 1 -4282
box 0 0 1080 1800 box 0 0 1080 1800
@ -50,19 +98,19 @@ use font_57 font_57_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598769216 timestamp 1598769216
transform 1 0 14158 0 1 -4282 transform 1 0 14158 0 1 -4282
box 0 0 1800 2520 box 0 0 1800 2520
use font_74 font_74_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777367
transform 1 0 17758 0 1 -4282
box 0 0 1080 2160
use font_61 font_61_3 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag use font_61 font_61_3 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775307 timestamp 1598775307
transform 1 0 16318 0 1 -4282 transform 1 0 16318 0 1 -4282
box 0 0 1080 1800 box 0 0 1080 1800
use font_74 font_74_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777367
transform 1 0 17758 0 1 -4282
box 0 0 1080 2160
use font_65 font_65_4 use font_65 font_65_4
timestamp 1598775915 timestamp 1598775915
transform 1 0 19198 0 1 -4282 transform 1 0 19198 0 1 -4282
box 0 0 1080 1800 box 0 0 1080 1800
use font_72 font_72_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag use font_72 font_72_1
timestamp 1598777237 timestamp 1598777237
transform 1 0 20638 0 1 -4282 transform 1 0 20638 0 1 -4282
box 0 0 1080 1800 box 0 0 1080 1800
@ -126,7 +174,7 @@ use font_65 font_65_0
timestamp 1598775915 timestamp 1598775915
transform 1 0 7200 0 1 0 transform 1 0 7200 0 1 0
box 0 0 1080 1800 box 0 0 1080 1800
use font_76 font_76_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag use font_76 font_76_0
timestamp 1598777472 timestamp 1598777472
transform 1 0 5760 0 1 0 transform 1 0 5760 0 1 0
box 0 0 1080 1800 box 0 0 1080 1800
@ -142,6 +190,10 @@ use font_6C font_6C_0
timestamp 1598776550 timestamp 1598776550
transform 1 0 8640 0 1 0 transform 1 0 8640 0 1 0
box 0 0 360 2520 box 0 0 360 2520
use font_33 font_33_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787077
transform 1 0 12013 0 1 0
box 0 0 1080 2520
use font_28 font_28_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag use font_28 font_28_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1606780629 timestamp 1606780629
transform 1 0 15200 0 1 0 transform 1 0 15200 0 1 0
@ -150,80 +202,44 @@ use font_20 font_20_1
timestamp 1598785497 timestamp 1598785497
transform 1 0 14400 0 1 0 transform 1 0 14400 0 1 0
box 0 0 1 1 box 0 0 1 1
use font_29 font_29_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786350
transform 1 0 17720 0 1 0
box 0 0 720 2520
use font_43 font_43_1 use font_43 font_43_1
timestamp 1598763351 timestamp 1598763351
transform 1 0 16280 0 1 0 transform 1 0 16280 0 1 0
box 0 0 1080 2520 box 0 0 1080 2520
use font_29 font_29_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786350
transform 1 0 17720 0 1 0
box 0 0 720 2520
use font_65 font_65_1 use font_65 font_65_1
timestamp 1598775915 timestamp 1598775915
transform 1 0 20240 0 1 0 transform 1 0 20240 0 1 0
box 0 0 1080 1800 box 0 0 1080 1800
use font_61 font_61_2
timestamp 1598775307
transform 1 0 23120 0 1 0
box 0 0 1080 1800
use font_66 font_66_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag use font_66 font_66_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775974 timestamp 1598775974
transform 1 0 21680 0 1 0 transform 1 0 21680 0 1 0
box 0 0 1080 2520 box 0 0 1080 2520
use font_61 font_61_2
timestamp 1598775307
transform 1 0 23120 0 1 0
box 0 0 1080 1800
use font_62 font_62_0
timestamp 1598775406
transform 1 0 24560 0 1 0
box 0 0 1080 2520
use font_6C font_6C_1 use font_6C font_6C_1
timestamp 1598776550 timestamp 1598776550
transform 1 0 26000 0 1 0 transform 1 0 26000 0 1 0
box 0 0 360 2520 box 0 0 360 2520
use font_62 font_62_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775406
transform 1 0 24560 0 1 0
box 0 0 1080 2520
use font_73 font_73_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777283
transform 1 0 28160 0 1 0
box 0 0 1080 1800
use font_65 font_65_2 use font_65 font_65_2
timestamp 1598775915 timestamp 1598775915
transform 1 0 26720 0 1 0 transform 1 0 26720 0 1 0
box 0 0 1080 1800 box 0 0 1080 1800
use font_73 font_73_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777283
transform 1 0 28160 0 1 0
box 0 0 1080 1800
use font_73 font_73_1 use font_73 font_73_1
timestamp 1598777283 timestamp 1598777283
transform 1 0 29600 0 1 0 transform 1 0 29600 0 1 0
box 0 0 1080 1800 box 0 0 1080 1800
use font_32 font_32_2 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787041
transform 1 0 12013 0 1 46
box 0 0 1080 2520
use font_31 font_31_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787010
transform 1 0 11550 0 1 -9341
box 0 0 1080 2520
use font_32 font_32_1
timestamp 1598787041
transform 1 0 10116 0 1 -9321
box 0 0 1080 2520
use font_30 font_30_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786981
transform 1 0 8676 0 1 -9321
box 0 0 1080 2520
use font_32 font_32_0
timestamp 1598787041
transform 1 0 7236 0 1 -9321
box 0 0 1080 2520
use font_65 font_65_9
timestamp 1598775915
transform 1 0 4569 0 1 -9290
box 0 0 1080 1800
use font_6E font_6E_0
timestamp 1598776997
transform 1 0 3142 0 1 -9290
box 0 0 1080 1800
use font_75 font_75_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777411
transform 1 0 1700 0 1 -9274
box 0 0 1080 1800
use font_4A font_4A_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598766195
transform 1 0 226 0 1 -9274
box 0 0 1080 2520
<< end >> << end >>

245
mag/copyright_block_a.mag Normal file
View File

@ -0,0 +1,245 @@
magic
tech sky130A
magscale 1 2
timestamp 1636248774
<< fillblock >>
rect -262 -266 31304 2764
rect -140 -5140 35048 -1424
rect 26 -9464 19344 -6358
use font_6F font_6F_3 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777049
transform 1 0 2142 0 1 -9290
box 0 0 1080 1800
use font_4E font_4E_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598766739
transform 1 0 226 0 1 -9274
box 0 0 1440 2520
use font_65 font_65_6 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775915
transform 1 0 4969 0 1 -9290
box 0 0 1080 1800
use font_76 font_76_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777472
transform 1 0 3569 0 1 -9290
box 0 0 1080 1800
use font_6D font_6D_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776905
transform 1 0 6369 0 1 -9290
box 0 0 1800 1800
use font_65 font_65_7
timestamp 1598775915
transform 1 0 9969 0 1 -9290
box 0 0 1080 1800
use font_62 font_62_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775406
transform 1 0 8569 0 1 -9290
box 0 0 1080 2520
use font_72 font_72_2 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777237
transform 1 0 11369 0 1 -9290
box 0 0 1080 1800
use font_20 font_20_4 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598785497
transform 1 0 12476 0 1 -9176
box 0 0 1 1
use font_32 font_32_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787041
transform 1 0 13636 0 1 -9321
box 0 0 1080 2520
use font_30 font_30_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786981
transform 1 0 15076 0 1 -9321
box 0 0 1080 2520
use font_32 font_32_1
timestamp 1598787041
transform 1 0 16516 0 1 -9321
box 0 0 1080 2520
use font_31 font_31_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598787010
transform 1 0 17950 0 1 -9341
box 0 0 1080 2520
use font_47 font_47_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598765398
transform 1 0 118 0 1 -4282
box 0 0 1080 2520
use font_6F font_6F_0
timestamp 1598777049
transform 1 0 1558 0 1 -4282
box 0 0 1080 1800
use font_6F font_6F_1
timestamp 1598777049
transform 1 0 2998 0 1 -4282
box 0 0 1080 1800
use font_67 font_67_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776042
transform 1 0 4438 0 1 -4282
box 0 -720 1080 1800
use font_65 font_65_3
timestamp 1598775915
transform 1 0 6598 0 1 -4282
box 0 0 1080 1800
use font_6C font_6C_2 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776550
transform 1 0 5878 0 1 -4282
box 0 0 360 2520
use font_53 font_53_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598768855
transform 1 0 9838 0 1 -4282
box 0 0 1080 2520
use font_79 font_79_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777870
transform 1 0 12718 0 1 -4282
box 0 -720 1080 1800
use font_6B font_6B_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776472
transform 1 0 11278 0 1 -4282
box 0 0 1080 2520
use font_57 font_57_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598769216
transform 1 0 14158 0 1 -4282
box 0 0 1800 2520
use font_61 font_61_3 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775307
transform 1 0 16318 0 1 -4282
box 0 0 1080 1800
use font_74 font_74_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777367
transform 1 0 17758 0 1 -4282
box 0 0 1080 2160
use font_65 font_65_4
timestamp 1598775915
transform 1 0 19198 0 1 -4282
box 0 0 1080 1800
use font_72 font_72_1
timestamp 1598777237
transform 1 0 20638 0 1 -4282
box 0 0 1080 1800
use font_20 font_20_2
timestamp 1598785497
transform 1 0 22078 0 1 -5002
box 0 0 1 1
use font_6F font_6F_2
timestamp 1598777049
transform 1 0 23518 0 1 -4282
box 0 0 1080 1800
use font_65 font_65_5
timestamp 1598775915
transform 1 0 26398 0 1 -4282
box 0 0 1080 1800
use font_70 font_70_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777090
transform 1 0 24958 0 1 -4282
box 0 -720 1080 1800
use font_6E font_6E_1 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598776997
transform 1 0 27838 0 1 -4282
box 0 0 1080 1800
use font_20 font_20_3
timestamp 1598785497
transform 1 0 29278 0 1 -5362
box 0 0 1 1
use font_50 font_50_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598768087
transform 1 0 30718 0 1 -4282
box 0 0 1080 2520
use font_44 font_44_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598763661
transform 1 0 32158 0 1 -4282
box 0 0 1080 2520
use font_4B font_4B_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598766293
transform 1 0 33598 0 1 -4282
box 0 0 1080 2520
use font_2D font_2D_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786817
transform 1 0 8038 0 1 -4642
box 0 1080 1440 1440
use font_61 font_61_0
timestamp 1598775307
transform 1 0 1440 0 1 0
box 0 0 1080 1800
use font_43 font_43_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598763351
transform 1 0 0 0 1 0
box 0 0 1080 2520
use font_72 font_72_0
timestamp 1598777237
transform 1 0 2880 0 1 0
box 0 0 1080 1800
use font_61 font_61_1
timestamp 1598775307
transform 1 0 4320 0 1 0
box 0 0 1080 1800
use font_61 font_61_4
timestamp 1598775307
transform 1 0 7200 0 1 0
box 0 0 1080 1800
use font_76 font_76_0
timestamp 1598777472
transform 1 0 5760 0 1 0
box 0 0 1080 1800
use font_6E font_6E_0
timestamp 1598776997
transform 1 0 8640 0 1 0
box 0 0 1080 1800
use font_20 font_20_0
timestamp 1598785497
transform 1 0 9360 0 1 0
box 0 0 1 1
use font_32 font_32_2
timestamp 1598787041
transform 1 0 12013 0 1 0
box 0 0 1080 2520
use font_56 font_56_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598769117
transform 1 0 10570 0 1 0
box 0 0 1080 2520
use font_28 font_28_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1606780629
transform 1 0 15200 0 1 0
box 0 0 720 2520
use font_20 font_20_1
timestamp 1598785497
transform 1 0 14400 0 1 0
box 0 0 1 1
use font_43 font_43_1
timestamp 1598763351
transform 1 0 16280 0 1 0
box 0 0 1080 2520
use font_29 font_29_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598786350
transform 1 0 17720 0 1 0
box 0 0 720 2520
use font_65 font_65_1
timestamp 1598775915
transform 1 0 20240 0 1 0
box 0 0 1080 1800
use font_66 font_66_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598775974
transform 1 0 21680 0 1 0
box 0 0 1080 2520
use font_61 font_61_2
timestamp 1598775307
transform 1 0 23120 0 1 0
box 0 0 1080 1800
use font_62 font_62_0
timestamp 1598775406
transform 1 0 24560 0 1 0
box 0 0 1080 2520
use font_6C font_6C_1
timestamp 1598776550
transform 1 0 26000 0 1 0
box 0 0 360 2520
use font_65 font_65_2
timestamp 1598775915
transform 1 0 26720 0 1 0
box 0 0 1080 1800
use font_73 font_73_0 $PDKPATH/libs.ref/sky130_ml_xx_hd/mag
timestamp 1598777283
transform 1 0 28160 0 1 0
box 0 0 1080 1800
use font_73 font_73_1
timestamp 1598777283
transform 1 0 29600 0 1 0
box 0 0 1080 1800
<< end >>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +1,21 @@
magic magic
tech sky130A tech sky130A
magscale 1 2 magscale 1 2
timestamp 1636146659 timestamp 1636219436
<< viali >> << viali >>
rect 4721 833 4755 867 rect 949 833 983 867
rect 949 765 983 799 rect 1639 833 1673 867
rect 1501 765 1535 799 rect 4583 833 4617 867
rect 1777 765 1811 799 rect 1225 765 1259 799
rect 2053 765 2087 799 rect 1915 765 1949 799
rect 2191 765 2225 799
rect 2513 765 2547 799 rect 2513 765 2547 799
rect 2973 765 3007 799 rect 2973 765 3007 799
rect 3433 765 3467 799 rect 3433 765 3467 799
rect 3893 765 3927 799 rect 3893 765 3927 799
rect 4353 765 4387 799 rect 4353 765 4387 799
rect 4951 765 4985 799
rect 5273 765 5307 799 rect 5273 765 5307 799
rect 1225 629 1259 663
rect 4813 629 4847 663
<< metal1 >> << metal1 >>
rect 0 2202 5980 2224 rect 0 2202 5980 2224
rect 0 2150 78 2202 rect 0 2150 78 2202
@ -74,83 +74,131 @@ rect 4394 1062 4406 1114
rect 4458 1062 4470 1114 rect 4458 1062 4470 1114
rect 4522 1062 5980 1114 rect 4522 1062 5980 1114
rect 0 1040 5980 1062 rect 0 1040 5980 1062
rect 4709 867 4767 873 rect 198 824 204 876
rect 4709 833 4721 867 rect 256 864 262 876
rect 4755 864 4767 867 rect 937 867 995 873
rect 937 864 949 867
rect 256 836 949 864
rect 256 824 262 836
rect 937 833 949 836
rect 983 864 995 867
rect 1075 864 1133 873
rect 1256 864 1262 916
rect 1314 904 1320 916
rect 1314 876 1450 904
rect 1314 864 1320 876
rect 1422 864 1450 876
rect 1489 864 1547 873
rect 1627 867 1685 873
rect 1627 864 1639 867
rect 983 836 1133 864
rect 1422 836 1639 864
rect 983 833 995 836
rect 937 827 995 833
rect 1075 827 1133 836
rect 1489 827 1547 836
rect 1627 833 1639 836
rect 1673 833 1685 867
rect 1627 827 1685 833
rect 4571 867 4629 873
rect 4571 833 4583 867
rect 4617 864 4629 867
rect 4709 864 4767 873
rect 5718 864 5724 876 rect 5718 864 5724 876
rect 4755 836 5724 864 rect 4617 836 5724 864
rect 4755 833 4767 836 rect 4617 833 4629 836
rect 4709 827 4767 833 rect 4571 827 4629 833
rect 4709 827 4767 836
rect 5718 824 5724 836 rect 5718 824 5724 836
rect 5776 824 5782 876 rect 5776 824 5782 876
rect 198 756 204 808 rect 1213 799 1271 805
rect 256 796 262 808 rect 1213 796 1225 799
rect 937 799 995 805 rect 1038 768 1225 796
rect 937 796 949 799 rect 658 688 664 740
rect 256 768 949 796 rect 716 728 722 740
rect 256 756 262 768 rect 1038 728 1066 768
rect 937 765 949 768 rect 1213 765 1225 768
rect 983 765 995 799 rect 1259 796 1271 799
rect 937 759 995 765 rect 1351 796 1409 805
rect 1118 756 1124 808 rect 1765 796 1823 805
rect 1176 796 1182 808 rect 1903 799 1961 805
rect 1489 799 1547 805 rect 1903 796 1915 799
rect 1489 796 1501 799 rect 1259 768 1409 796
rect 1176 768 1501 796 rect 1694 768 1915 796
rect 1176 756 1182 768 rect 1259 765 1271 768
rect 1489 765 1501 768 rect 1213 759 1271 765
rect 1535 765 1547 799 rect 1351 759 1409 768
rect 1489 759 1547 765 rect 716 700 1066 728
rect 1578 756 1584 808 rect 1578 716 1584 768
rect 1636 796 1642 808
rect 1765 799 1823 805
rect 1765 796 1777 799
rect 1636 768 1777 796
rect 1636 756 1642 768 rect 1636 756 1642 768
rect 1765 765 1777 768 rect 1694 756 1722 768
rect 1811 765 1823 799 rect 1765 759 1823 768
rect 1903 765 1915 768
rect 1949 765 1961 799
rect 2038 796 2044 808 rect 2038 796 2044 808
rect 1999 768 2044 796 rect 2035 768 2044 796
rect 1765 759 1823 765 rect 1903 759 1961 765
rect 2038 756 2044 768 rect 2038 756 2044 768
rect 2096 756 2102 808 rect 2096 796 2102 808
rect 2176 799 2240 808
rect 2176 796 2191 799
rect 2096 768 2191 796
rect 2096 756 2102 768
rect 2176 765 2191 768
rect 2225 765 2240 799
rect 2360 796 2424 808
rect 2498 796 2504 808 rect 2498 796 2504 808
rect 2459 768 2504 796 rect 2358 768 2504 796
rect 2176 756 2240 765
rect 2360 756 2424 768
rect 2498 756 2504 768 rect 2498 756 2504 768
rect 2556 756 2562 808 rect 2556 756 2562 808
rect 2820 796 2884 808
rect 2958 796 2964 808 rect 2958 796 2964 808
rect 2919 768 2964 796 rect 2809 768 2964 796
rect 2820 756 2884 768
rect 2958 756 2964 768 rect 2958 756 2964 768
rect 3016 756 3022 808 rect 3016 756 3022 808
rect 3280 796 3344 808
rect 3418 796 3424 808 rect 3418 796 3424 808
rect 3379 768 3424 796 rect 3267 768 3424 796
rect 3280 756 3344 768
rect 3418 756 3424 768 rect 3418 756 3424 768
rect 3476 756 3482 808 rect 3476 756 3482 808
rect 3740 796 3804 808
rect 3878 796 3884 808 rect 3878 796 3884 808
rect 3839 768 3884 796 rect 3701 768 3884 796
rect 3740 756 3804 768
rect 3878 756 3884 768 rect 3878 756 3884 768
rect 3936 756 3942 808 rect 3936 756 3942 808
rect 4200 796 4264 808
rect 4338 796 4344 808 rect 4338 796 4344 808
rect 4299 768 4344 796 rect 4161 768 4344 796
rect 4200 756 4264 768
rect 4338 756 4344 768 rect 4338 756 4344 768
rect 4396 756 4402 808 rect 4396 756 4402 808
rect 4798 796 4804 808
rect 4759 768 4804 796
rect 4798 756 4804 768
rect 4856 796 4862 808
rect 4936 799 5000 808
rect 4936 796 4951 799
rect 4856 768 4951 796
rect 4856 756 4862 768
rect 4936 765 4951 768
rect 4985 765 5000 799
rect 5258 796 5264 808 rect 5258 796 5264 808
rect 5219 768 5264 796 rect 5219 768 5264 796
rect 4936 756 5000 765
rect 5258 756 5264 768 rect 5258 756 5264 768
rect 5316 756 5322 808 rect 5316 796 5322 808
rect 658 620 664 672 rect 5396 796 5460 808
rect 716 660 722 672 rect 5316 768 5460 796
rect 1213 663 1271 669 rect 5316 756 5322 768
rect 1213 660 1225 663 rect 5396 756 5460 768
rect 716 632 1225 660 rect 1636 728 1722 756
rect 716 620 722 632 rect 1636 716 1642 728
rect 1213 629 1225 632 rect 716 688 722 700
rect 1259 629 1271 663
rect 4798 660 4804 672
rect 4759 632 4804 660
rect 1213 623 1271 629
rect 4798 620 4804 632
rect 4856 620 4862 672
rect 0 570 5980 592 rect 0 570 5980 592
rect 0 518 778 570 rect 0 518 778 570
rect 830 518 842 570 rect 830 518 842 570
@ -219,15 +267,12 @@ rect 4278 1062 4330 1114
rect 4342 1062 4394 1114 rect 4342 1062 4394 1114
rect 4406 1062 4458 1114 rect 4406 1062 4458 1114
rect 4470 1062 4522 1114 rect 4470 1062 4522 1114
rect 204 824 256 876
rect 1262 864 1314 916
rect 5724 824 5776 876 rect 5724 824 5776 876
rect 204 756 256 808 rect 664 688 716 740
rect 1124 756 1176 808 rect 1584 716 1636 768
rect 1584 756 1636 808 rect 2044 756 2096 808
rect 2044 799 2096 808
rect 2044 765 2053 799
rect 2053 765 2087 799
rect 2087 765 2096 799
rect 2044 756 2096 765
rect 2504 799 2556 808 rect 2504 799 2556 808
rect 2504 765 2513 799 rect 2504 765 2513 799
rect 2513 765 2547 799 rect 2513 765 2547 799
@ -253,17 +298,12 @@ rect 4344 765 4353 799
rect 4353 765 4387 799 rect 4353 765 4387 799
rect 4387 765 4396 799 rect 4387 765 4396 799
rect 4344 756 4396 765 rect 4344 756 4396 765
rect 4804 756 4856 808
rect 5264 799 5316 808 rect 5264 799 5316 808
rect 5264 765 5273 799 rect 5264 765 5273 799
rect 5273 765 5307 799 rect 5273 765 5307 799
rect 5307 765 5316 799 rect 5307 765 5316 799
rect 5264 756 5316 765 rect 5264 756 5316 765
rect 664 620 716 672
rect 4804 663 4856 672
rect 4804 629 4813 663
rect 4813 629 4847 663
rect 4847 629 4856 663
rect 4804 620 4856 629
rect 778 518 830 570 rect 778 518 830 570
rect 842 518 894 570 rect 842 518 894 570
rect 906 518 958 570 rect 906 518 958 570
@ -401,15 +441,30 @@ rect 4348 1060 4372 1062
rect 4428 1060 4452 1062 rect 4428 1060 4452 1062
rect 4508 1060 4522 1062 rect 4508 1060 4522 1062
rect 4278 1040 4522 1060 rect 4278 1040 4522 1060
rect 1262 916 1314 922
rect 204 876 256 882
rect 204 818 256 824
rect 1136 876 1262 904
rect 216 400 244 818
rect 664 740 716 746
rect 664 682 716 688
rect 676 400 704 682
rect 778 572 1022 592
rect 778 570 792 572
rect 848 570 872 572
rect 928 570 952 572
rect 1008 570 1022 572
rect 778 516 792 518
rect 848 516 872 518
rect 928 516 952 518
rect 1008 516 1022 518
rect 778 496 1022 516
rect 1136 400 1164 876
rect 1262 858 1314 864
rect 5724 876 5776 882 rect 5724 876 5776 882
rect 5724 818 5776 824 rect 5724 818 5776 824
rect 204 808 256 814
rect 204 750 256 756
rect 1124 808 1176 814
rect 1124 750 1176 756
rect 1584 808 1636 814
rect 1584 750 1636 756
rect 2044 808 2096 814 rect 2044 808 2096 814
rect 1584 768 1636 774
rect 2044 750 2096 756 rect 2044 750 2096 756
rect 2504 808 2556 814 rect 2504 808 2556 814
rect 2504 750 2556 756 rect 2504 750 2556 756
@ -421,24 +476,12 @@ rect 3884 808 3936 814
rect 3884 750 3936 756 rect 3884 750 3936 756
rect 4344 808 4396 814 rect 4344 808 4396 814
rect 4344 750 4396 756 rect 4344 750 4396 756
rect 4804 808 4856 814
rect 4804 750 4856 756
rect 5264 808 5316 814 rect 5264 808 5316 814
rect 5264 750 5316 756 rect 5264 750 5316 756
rect 216 400 244 750 rect 1584 710 1636 716
rect 664 672 716 678 rect 1596 400 1624 710
rect 664 614 716 620
rect 676 400 704 614
rect 778 572 1022 592
rect 778 570 792 572
rect 848 570 872 572
rect 928 570 952 572
rect 1008 570 1022 572
rect 778 516 792 518
rect 848 516 872 518
rect 928 516 952 518
rect 1008 516 1022 518
rect 778 496 1022 516
rect 1136 400 1164 750
rect 1596 400 1624 750
rect 2056 400 2084 750 rect 2056 400 2084 750
rect 2178 572 2422 592 rect 2178 572 2422 592
rect 2178 570 2192 572 rect 2178 570 2192 572
@ -465,9 +508,7 @@ rect 3808 516 3822 518
rect 3578 496 3822 516 rect 3578 496 3822 516
rect 3896 400 3924 750 rect 3896 400 3924 750
rect 4356 400 4384 750 rect 4356 400 4384 750
rect 4804 672 4856 678 rect 4816 400 4844 750
rect 4804 614 4856 620
rect 4816 400 4844 614
rect 4978 572 5222 592 rect 4978 572 5222 592
rect 4978 570 4992 572 rect 4978 570 4992 572
rect 5048 570 5072 572 rect 5048 570 5072 572
@ -1221,202 +1262,202 @@ rect 1718 778 2882 1014
rect 3118 778 4282 1014 rect 3118 778 4282 1014
rect 4518 778 5980 1014 rect 4518 778 5980 1014
rect 0 736 5980 778 rect 0 736 5980 778
use sky130_fd_sc_hd__conb_1 gpio_default_value\[0\] $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1636165455
transform 1 0 920 0 1 544
box -38 -48 314 592
use sky130_fd_sc_hd__decap_6 FILLER_0_3 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag use sky130_fd_sc_hd__decap_6 FILLER_0_3 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1635271187 timestamp 1636165455
transform 1 0 276 0 1 544 transform 1 0 276 0 1 544
box -38 -48 590 592 box -38 -48 590 592
use sky130_fd_sc_hd__fill_1 FILLER_0_9 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag use sky130_fd_sc_hd__fill_1 FILLER_0_9 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1635271187 timestamp 1636165455
transform 1 0 828 0 1 544 transform 1 0 828 0 1 544
box -38 -48 130 592 box -38 -48 130 592
use sky130_fd_sc_hd__decap_12 FILLER_1_3 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag use sky130_fd_sc_hd__decap_12 FILLER_1_3 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1635271187 timestamp 1636165455
transform 1 0 276 0 -1 1632 transform 1 0 276 0 -1 1632
box -38 -48 1142 592 box -38 -48 1142 592
use sky130_fd_sc_hd__decap_3 PHY_0 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag use sky130_fd_sc_hd__decap_3 PHY_0 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1635271187 timestamp 1636165455
transform 1 0 0 0 1 544 transform 1 0 0 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_2 use sky130_fd_sc_hd__decap_3 PHY_2
timestamp 1635271187 timestamp 1636165455
transform 1 0 0 0 -1 1632 transform 1 0 0 0 -1 1632
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[0\] $PDKPATH/libs.ref/sky130_fd_sc_hd/mag use sky130_fd_sc_hd__conb_1 gpio_default_value\[2\]
timestamp 1635271187 timestamp 1636165455
transform -1 0 1196 0 1 544 transform 1 0 1472 0 1 544
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[3\]
timestamp 1636165455
transform 1 0 1748 0 1 544
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[4\]
timestamp 1636165455
transform 1 0 2024 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__decap_12 FILLER_1_15 use sky130_fd_sc_hd__decap_12 FILLER_1_15
timestamp 1635271187 timestamp 1636165455
transform 1 0 1380 0 -1 1632 transform 1 0 1380 0 -1 1632
box -38 -48 1142 592 box -38 -48 1142 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[1\] use sky130_fd_sc_hd__conb_1 gpio_default_value\[1\]
timestamp 1635271187 timestamp 1636165455
transform 1 0 1196 0 1 544 transform 1 0 1196 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[2\]
timestamp 1635271187
transform -1 0 1748 0 1 544
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[3\]
timestamp 1635271187
transform -1 0 2024 0 1 544
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[4\]
timestamp 1635271187
transform -1 0 2300 0 1 544
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[5\] use sky130_fd_sc_hd__conb_1 gpio_default_value\[5\]
timestamp 1635271187 timestamp 1636165455
transform 1 0 2300 0 1 544 transform 1 0 2300 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__fill_1 FILLER_0_29 use sky130_fd_sc_hd__fill_1 FILLER_0_29
timestamp 1635271187 timestamp 1636165455
transform 1 0 2668 0 1 544 transform 1 0 2668 0 1 544
box -38 -48 130 592 box -38 -48 130 592
use sky130_fd_sc_hd__fill_2 FILLER_0_33 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1635271187
transform 1 0 3036 0 1 544
box -38 -48 222 592
use sky130_fd_sc_hd__fill_2 FILLER_0_38
timestamp 1635271187
transform 1 0 3496 0 1 544
box -38 -48 222 592
use sky130_fd_sc_hd__decap_12 FILLER_1_27 use sky130_fd_sc_hd__decap_12 FILLER_1_27
timestamp 1635271187 timestamp 1636165455
transform 1 0 2484 0 -1 1632 transform 1 0 2484 0 -1 1632
box -38 -48 1142 592 box -38 -48 1142 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_6 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1635271187
transform 1 0 2576 0 1 544
box -38 -48 130 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[6\] use sky130_fd_sc_hd__conb_1 gpio_default_value\[6\]
timestamp 1635271187 timestamp 1636165455
transform 1 0 2760 0 1 544 transform 1 0 2760 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[7\] use sky130_fd_sc_hd__conb_1 gpio_default_value\[7\]
timestamp 1635271187 timestamp 1636165455
transform 1 0 3220 0 1 544 transform 1 0 3220 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__fill_2 FILLER_0_43 use sky130_fd_sc_hd__fill_2 FILLER_0_33 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1635271187 timestamp 1636165455
transform 1 0 3956 0 1 544 transform 1 0 3036 0 1 544
box -38 -48 222 592 box -38 -48 222 592
use sky130_fd_sc_hd__fill_2 FILLER_0_38
timestamp 1636165455
transform 1 0 3496 0 1 544
box -38 -48 222 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_6 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1636165455
transform 1 0 2576 0 1 544
box -38 -48 130 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[12\]
timestamp 1636165455
transform 1 0 4508 0 1 544
box -38 -48 314 592
use sky130_fd_sc_hd__fill_1 FILLER_0_48 use sky130_fd_sc_hd__fill_1 FILLER_0_48
timestamp 1635271187 timestamp 1636165455
transform 1 0 4416 0 1 544 transform 1 0 4416 0 1 544
box -38 -48 130 592 box -38 -48 130 592
use sky130_fd_sc_hd__decap_12 FILLER_1_39 use sky130_fd_sc_hd__decap_12 FILLER_1_39
timestamp 1635271187 timestamp 1636165455
transform 1 0 3588 0 -1 1632 transform 1 0 3588 0 -1 1632
box -38 -48 1142 592 box -38 -48 1142 592
use sky130_fd_sc_hd__decap_4 FILLER_1_51 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1635271187
transform 1 0 4692 0 -1 1632
box -38 -48 406 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[12\]
timestamp 1635271187
transform 1 0 4508 0 1 544
box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[8\] use sky130_fd_sc_hd__conb_1 gpio_default_value\[8\]
timestamp 1635271187 timestamp 1636165455
transform 1 0 3680 0 1 544 transform 1 0 3680 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[9\] use sky130_fd_sc_hd__conb_1 gpio_default_value\[9\]
timestamp 1635271187 timestamp 1636165455
transform 1 0 4140 0 1 544 transform 1 0 4140 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__fill_2 FILLER_0_43
timestamp 1636165455
transform 1 0 3956 0 1 544
box -38 -48 222 592
use sky130_fd_sc_hd__decap_4 FILLER_1_51 $PDKPATH/libs.ref/sky130_fd_sc_hd/mag
timestamp 1636165455
transform 1 0 4692 0 -1 1632
box -38 -48 406 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[10\] use sky130_fd_sc_hd__conb_1 gpio_default_value\[10\]
timestamp 1635271187 timestamp 1636165455
transform 1 0 4784 0 1 544 transform 1 0 4784 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_8
timestamp 1635271187
transform 1 0 5152 0 -1 1632
box -38 -48 130 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_7
timestamp 1635271187
transform 1 0 5152 0 1 544
box -38 -48 130 592
use sky130_fd_sc_hd__fill_1 FILLER_1_55 use sky130_fd_sc_hd__fill_1 FILLER_1_55
timestamp 1635271187 timestamp 1636165455
transform 1 0 5060 0 -1 1632 transform 1 0 5060 0 -1 1632
box -38 -48 130 592 box -38 -48 130 592
use sky130_fd_sc_hd__fill_1 FILLER_0_55 use sky130_fd_sc_hd__fill_1 FILLER_0_55
timestamp 1635271187 timestamp 1636165455
transform 1 0 5060 0 1 544 transform 1 0 5060 0 1 544
box -38 -48 130 592 box -38 -48 130 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_8
timestamp 1636165455
transform 1 0 5152 0 -1 1632
box -38 -48 130 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_7
timestamp 1636165455
transform 1 0 5152 0 1 544
box -38 -48 130 592
use sky130_fd_sc_hd__conb_1 gpio_default_value\[11\] use sky130_fd_sc_hd__conb_1 gpio_default_value\[11\]
timestamp 1635271187 timestamp 1636165455
transform -1 0 5520 0 1 544 transform 1 0 5244 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__fill_1 FILLER_1_61 use sky130_fd_sc_hd__fill_1 FILLER_1_61
timestamp 1635271187 timestamp 1636165455
transform 1 0 5612 0 -1 1632 transform 1 0 5612 0 -1 1632
box -38 -48 130 592 box -38 -48 130 592
use sky130_fd_sc_hd__decap_4 FILLER_1_57
timestamp 1635271187
transform 1 0 5244 0 -1 1632
box -38 -48 406 592
use sky130_fd_sc_hd__fill_2 FILLER_0_60 use sky130_fd_sc_hd__fill_2 FILLER_0_60
timestamp 1635271187 timestamp 1636165455
transform 1 0 5520 0 1 544 transform 1 0 5520 0 1 544
box -38 -48 222 592 box -38 -48 222 592
use sky130_fd_sc_hd__decap_4 FILLER_1_57
timestamp 1636165455
transform 1 0 5244 0 -1 1632
box -38 -48 406 592
use sky130_fd_sc_hd__decap_3 PHY_3 use sky130_fd_sc_hd__decap_3 PHY_3
timestamp 1635271187 timestamp 1636165455
transform -1 0 5980 0 -1 1632 transform -1 0 5980 0 -1 1632
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_1 use sky130_fd_sc_hd__decap_3 PHY_1
timestamp 1635271187 timestamp 1636165455
transform -1 0 5980 0 1 544 transform -1 0 5980 0 1 544
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__decap_12 FILLER_2_3 use sky130_fd_sc_hd__decap_12 FILLER_2_3
timestamp 1635271187 timestamp 1636165455
transform 1 0 276 0 1 1632 transform 1 0 276 0 1 1632
box -38 -48 1142 592 box -38 -48 1142 592
use sky130_fd_sc_hd__decap_3 PHY_4 use sky130_fd_sc_hd__decap_3 PHY_4
timestamp 1635271187 timestamp 1636165455
transform 1 0 0 0 1 1632 transform 1 0 0 0 1 1632
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__decap_12 FILLER_2_15 use sky130_fd_sc_hd__decap_12 FILLER_2_15
timestamp 1635271187 timestamp 1636165455
transform 1 0 1380 0 1 1632 transform 1 0 1380 0 1 1632
box -38 -48 1142 592 box -38 -48 1142 592
use sky130_fd_sc_hd__fill_1 FILLER_2_27 use sky130_fd_sc_hd__fill_1 FILLER_2_27
timestamp 1635271187 timestamp 1636165455
transform 1 0 2484 0 1 1632 transform 1 0 2484 0 1 1632
box -38 -48 130 592 box -38 -48 130 592
use sky130_fd_sc_hd__decap_12 FILLER_2_29 use sky130_fd_sc_hd__decap_12 FILLER_2_29
timestamp 1635271187 timestamp 1636165455
transform 1 0 2668 0 1 1632 transform 1 0 2668 0 1 1632
box -38 -48 1142 592 box -38 -48 1142 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_9 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_9
timestamp 1635271187 timestamp 1636165455
transform 1 0 2576 0 1 1632 transform 1 0 2576 0 1 1632
box -38 -48 130 592 box -38 -48 130 592
use sky130_fd_sc_hd__decap_12 FILLER_2_41 use sky130_fd_sc_hd__decap_12 FILLER_2_41
timestamp 1635271187 timestamp 1636165455
transform 1 0 3772 0 1 1632 transform 1 0 3772 0 1 1632
box -38 -48 1142 592 box -38 -48 1142 592
use sky130_fd_sc_hd__decap_3 FILLER_2_53
timestamp 1635271187
transform 1 0 4876 0 1 1632
box -38 -48 314 592
use sky130_fd_sc_hd__decap_4 FILLER_2_57
timestamp 1635271187
transform 1 0 5244 0 1 1632
box -38 -48 406 592
use sky130_fd_sc_hd__fill_1 FILLER_2_61 use sky130_fd_sc_hd__fill_1 FILLER_2_61
timestamp 1635271187 timestamp 1636165455
transform 1 0 5612 0 1 1632 transform 1 0 5612 0 1 1632
box -38 -48 130 592 box -38 -48 130 592
use sky130_fd_sc_hd__decap_3 FILLER_2_53
timestamp 1636165455
transform 1 0 4876 0 1 1632
box -38 -48 314 592
use sky130_fd_sc_hd__decap_3 PHY_5 use sky130_fd_sc_hd__decap_3 PHY_5
timestamp 1635271187 timestamp 1636165455
transform -1 0 5980 0 1 1632 transform -1 0 5980 0 1 1632
box -38 -48 314 592 box -38 -48 314 592
use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_10 use sky130_fd_sc_hd__tapvpwrvgnd_1 TAP_10
timestamp 1635271187 timestamp 1636165455
transform 1 0 5152 0 1 1632 transform 1 0 5152 0 1 1632
box -38 -48 130 592 box -38 -48 130 592
use sky130_fd_sc_hd__decap_4 FILLER_2_57
timestamp 1636165455
transform 1 0 5244 0 1 1632
box -38 -48 406 592
<< labels >> << labels >>
rlabel metal5 s 0 1436 5980 1756 6 VGND rlabel metal5 s 0 1436 5980 1756 6 VGND
port 0 nsew ground input port 0 nsew ground input

307
scripts/gen_gpio_defaults.py Executable file
View File

@ -0,0 +1,307 @@
#!/usr/bin/env python3
# SPDX-FileCopyrightText: 2020 Efabless Corporation
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# SPDX-License-Identifier: Apache-2.0
#----------------------------------------------------------------------
#
# 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
# user_defines.v file.
#
# The GPIO defaults block contains 13 bits that set the state of the
# GPIO on power-up. GPIOs 0 to 4 in the user project area are fixed
# and cannot be modified (to maintain access to the housekeeping SPI
# on startup). GPIOs 5 to 37 are by default set to be an input pad
# controlled by the user project. The file "user_defines.v" contains
# the state specified by the user for each GPIO pad, and is what is
# used in verilog simulation.
#
# This script parses the user_defines.v file to determine the state
# of each GPIO. Then it creates as many new layouts as needed to
# represent all unique states, modifies the caravel.mag layout
# to replace the default layouts with the new ones as needed, and
# generates GDS files for each of the layouts.
#
# gpio_defaults_block layout map:
# Positions marked (in microns) for value = 0. For value = 1, move
# the via 0.69um to the left. The given position is the lower left
# corner position of the via. The via itself is 0.17um x 0.17um.
# The values below are for the file gpio_defaults_block_1403.
# Positions marked "Y" for "Programmed One?" are already moved to
# the left, and so should be move 0.69um to the right if the bit
# should be zero.
#
# Signal Via position (um)
# name X Y
#-------------------------------------------------------------------
# gpio_defaults[0] 5.435 4.165
# gpio_defaults[1] 6.815 3.825
# gpio_defaults[2] 8.195 4.165
# gpio_defaults[3] 9.575 3.825
# gpio_defaults[4] 10.955 3.825
# gpio_defaults[5] 12.565 3.825
# gpio_defaults[6] 14.865 3.825
# gpio_defaults[7] 17.165 3.825
# gpio_defaults[8] 19.465 3.825
# gpio_defaults[9] 21.765 3.825
# gpio_defaults[10] 24.755 3.825
# gpio_defaults[11] 27.055 3.825
# gpio_defaults[12] 23.605 4.165
#-------------------------------------------------------------------
import os
import sys
import re
def usage():
print('Usage:')
print('gen_gpio_defaults.py [<path_to_project>]')
print('')
print('where:')
print(' <path_to_project> is the path to the project top level directory.')
print('')
print(' If <path_to_project> is not given, then it is assumed to be the cwd.')
print(' The file "user_defines.v" must exist in verilog/rtl/ relative to')
print(' <path_to_project>.')
return 0
if __name__ == '__main__':
# Coordinate pairs in microns for the zero position on each bit
via_pos = [[5.435, 4.165], [6.815, 3.825], [8.195, 4.165], [9.575, 3.825],
[10.955, 3.825], [12.565, 3.825], [14.865, 3.825], [17.165, 3.825],
[19.465, 3.825], [21.765, 3.825], [24.755, 3.825], [27.055, 3.825],
[23.605, 4.165]]
optionlist = []
arguments = []
debugmode = False
testmode = False
for option in sys.argv[1:]:
if option.find('-', 0) == 0:
optionlist.append(option)
else:
arguments.append(option)
if len(arguments) > 2:
print("Wrong number of arguments given to gen_gpio_defaults.py.")
usage()
sys.exit(0)
if '-debug' in optionlist:
debugmode = True
if '-test' in optionlist:
testmode = True
user_project_path = None
if len(arguments) == 0:
user_project_path = os.getcwd()
else:
user_project_path = arguments[0]
if not os.path.isdir(user_project_path):
print('Error: Project path "' + user_project_path + '" does not exist or is not readable.')
sys.exit(1)
magpath = user_project_path + '/mag'
gdspath = user_project_path + '/gds'
vpath = user_project_path + '/verilog'
# 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)
if not os.path.isdir(magpath):
print('No directory ' + magpath + ' found (path to magic databases).')
sys.exit(1)
# Parse the user defines verilog file
kvpairs = {}
if os.path.isfile(vpath + '/rtl/user_defines.v'):
with open(vpath + '/rtl/user_defines.v', 'r') as ifile:
infolines = ifile.read().splitlines()
for line in infolines:
tokens = line.split()
if len(tokens) >= 3:
if tokens[0] == '`define':
if tokens[2][0] == '`':
# If definition is nested, substitute value.
tokens[2] = kvpairs[tokens[2]]
kvpairs['`' + tokens[1]] = tokens[2]
else:
print('Error: No user_defines.v file found.')
sys.exit(1)
# Generate zero and one coordinates for each via
llx_zero = []
lly_zero = []
urx_zero = []
ury_zero = []
llx_one = []
lly_one = []
urx_one = []
ury_one = []
zero_string = []
one_string = []
for i in range(0, 13):
llx_zero = int(via_pos[i][0] * 200)
lly_zero = int(via_pos[i][1] * 200)
urx_zero = llx_zero + 34
ury_zero = lly_zero + 34
llx_one = llx_zero - 138
lly_one = lly_zero
urx_one = urx_zero - 138
ury_one = ury_zero
zero_string.append('rect {:d} {:d} {:d} {:d}'.format(llx_zero, lly_zero, urx_zero, ury_zero))
one_string.append('rect {:d} {:d} {:d} {:d}'.format(llx_one, lly_one, urx_one, ury_one))
# Create new cells for each unique type
print('Step 1: Create new cells for new GPIO default vectors.')
cellsused = [None] * 38
for i in range(5, 38):
config_name = '`USER_CONFIG_GPIO_' + str(i) + '_INIT'
try:
config_value = kvpairs[config_name]
except:
print('No configuration specified for GPIO ' + str(i) + '; skipping.')
continue
try:
default_str = config_value[-4:]
binval = '{:013b}'.format(int(default_str, 16))
except:
print('Error: Default value ' + config_value + ' is not a 4-digit hex number; skipping')
continue
cell_name = 'gpio_defaults_block_' + default_str
mag_file = magpath + '/' + cell_name + '.mag'
cellsused[i] = cell_name
if not os.path.isfile(mag_file):
# A cell with this set of defaults doesn't exist, so make it
# First read the 0000 cell, then write to mag_path while
# changing the position of vias on the "1" bits
# Record which bits need to be set
bitflips = []
for j in range(0, 13):
if binval[12 - j] == '1':
bitflips.append(j)
with open(magpath + '/gpio_defaults_block_0000.mag', 'r') as ifile:
maglines = ifile.read().splitlines()
outlines = []
for magline in maglines:
is_flipped = False
for bitflip in bitflips:
if magline == zero_string[bitflip]:
is_flipped = True
break
if is_flipped:
outlines.append(one_string[bitflip])
else:
outlines.append(magline)
print('Creating new layout file ' + mag_file)
if testmode:
print('(Test only)')
else:
with open(mag_file, 'w') as ofile:
for outline in outlines:
print(outline, file=ofile)
else:
print('Layout file ' + mag_file + ' already exists and does not need to be generated.')
print('Step 2: Modify top-level layouts to use the specified defaults.')
# Create a backup of the caravan and caravel layouts
if not testmode:
shutil.copy(magpath + '/caravel.mag', magpath + '/caravel.mag.bak')
shutil.copy(magpath + '/caravan.mag', magpath + '/caravan.mag.bak')
if testmode:
print('Test only: Caravel layout:')
with open(magpath + '/caravel.mag', 'r') as ifile:
maglines = ifile.read().splitlines()
outlines = []
for magline in maglines:
if magline.startswith('use '):
tokens = magline.split()
instname = tokens[2]
if instname.startswith('gpio_defaults_block_'):
gpioidx = instname[20:]
cellname = cellsused[int(gpioidx)]
if cellname:
tokens[1] = cellname
outlines.append(' '.join(tokens))
if testmode:
print('Replacing line: ' + magline)
print('With: ' + ' '.join(tokens))
else:
outlines.append(magline)
else:
outlines.append(magline)
if not testmode:
with open(magpath + '/caravel.mag', 'w') as ofile:
for outline in outlines:
print(outline, file=ofile)
if testmode:
print('Test only: Caravan layout:')
with open(magpath + '/caravan.mag', 'r') as ifile:
maglines = ifile.read().splitlines()
outlines = []
for magline in maglines:
if magline.startswith('use '):
tokens = magline.split()
instname = tokens[2]
if instname.startswith('gpio_defaults_block_'):
gpioidx = instname[20:]
cellname = cellsused[int(gpioidx)]
if cellname:
tokens[1] = cellname
outlines.append(' '.join(tokens))
if testmode:
print('Replacing line: ' + magline)
print('With: ' + ' '.join(tokens))
else:
outlines.append(magline)
else:
outlines.append(magline)
if not testmode:
with open(magpath + '/caravan.mag', 'w') as ofile:
for outline in outlines:
print(outline, file=ofile)
print('Done.')
sys.exit(0)

View File

@ -15,48 +15,73 @@
`default_nettype none `default_nettype none
`ifndef __USER_DEFINE_H `ifndef __USER_DEFINES_H
// User GPIO initial configuration parameters // User GPIO initial configuration parameters
`define __USER_DEFINE_H `define __USER_DEFINES_H
// Useful GPIO mode values. These match the names used in defs.h.
`define GPIO_MODE_MGMT_STD_INPUT_NOPULL 13'h0403
`define GPIO_MODE_MGMT_STD_INPUT_PULLDOWN 13'h0803
`define GPIO_MODE_MGMT_STD_INPUT_PULLUP 13'h0c03
`define GPIO_MODE_MGMT_STD_OUTPUT 13'h1809
`define GPIO_MODE_MGMT_STD_BIDIRECTIONAL 13'h1801
`define GPIO_MODE_MGMT_STD_ANALOG 13'h000b
`define GPIO_MODE_USER_STD_INPUT_NOPULL 13'h0402
`define GPIO_MODE_USER_STD_INPUT_PULLDOWN 13'h0802
`define GPIO_MODE_USER_STD_INPUT_PULLUP 13'h0c02
`define GPIO_MODE_USER_STD_OUTPUT 13'h1808
`define GPIO_MODE_USER_STD_BIDIRECTIONAL 13'h1800
`define GPIO_MODE_USER_STD_OUT_MONITORED 13'h1802
`define GPIO_MODE_USER_STD_ANALOG 13'h000a
// The power-on configuration for GPIO 0 to 4 is fixed and cannot be // The power-on configuration for GPIO 0 to 4 is fixed and cannot be
// modified (allowing the SPI and debug to always be accessible unless // modified (allowing the SPI and debug to always be accessible unless
// overridden by a flash program). // overridden by a flash program).
`define USER_CONFIG_GPIO_5_INIT 13'h0403
`define USER_CONFIG_GPIO_6_INIT 13'h0403 // The values below can be any of the standard types defined above,
`define USER_CONFIG_GPIO_7_INIT 13'h0403 // or they can be any 13-bit value if the user wants a non-standard
`define USER_CONFIG_GPIO_8_INIT 13'h0403 // startup state for the GPIO. By default, every GPIO from 5 to 37
`define USER_CONFIG_GPIO_9_INIT 13'h0403 // is set to power up as an input controlled by the management SoC.
`define USER_CONFIG_GPIO_10_INIT 13'h0403 // Users may want to redefine these so that the user project powers
`define USER_CONFIG_GPIO_11_INIT 13'h0403 // up in a state that can be used immediately without depending on
`define USER_CONFIG_GPIO_12_INIT 13'h0403 // the management SoC to run a startup program to configure the GPIOs.
`define USER_CONFIG_GPIO_13_INIT 13'h0403
`define USER_CONFIG_GPIO_14_INIT 13'h0403 `define USER_CONFIG_GPIO_5_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_6_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_7_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_8_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_9_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_10_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_11_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_12_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_13_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_14_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
// Configurations of GPIO 15 to 25 are used on caravel but not caravan. // Configurations of GPIO 15 to 25 are used on caravel but not caravan.
`define USER_CONFIG_GPIO_15_INIT 13'h0403 `define USER_CONFIG_GPIO_15_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_16_INIT 13'h0403 `define USER_CONFIG_GPIO_16_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_17_INIT 13'h0403 `define USER_CONFIG_GPIO_17_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_18_INIT 13'h0403 `define USER_CONFIG_GPIO_18_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_19_INIT 13'h0403 `define USER_CONFIG_GPIO_19_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_20_INIT 13'h0403 `define USER_CONFIG_GPIO_20_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_21_INIT 13'h0403 `define USER_CONFIG_GPIO_21_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_22_INIT 13'h0403 `define USER_CONFIG_GPIO_22_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_23_INIT 13'h0403 `define USER_CONFIG_GPIO_23_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_24_INIT 13'h0403 `define USER_CONFIG_GPIO_24_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_25_INIT 13'h0403 `define USER_CONFIG_GPIO_25_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_26_INIT 13'h0403 `define USER_CONFIG_GPIO_26_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_27_INIT 13'h0403 `define USER_CONFIG_GPIO_27_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_28_INIT 13'h0403 `define USER_CONFIG_GPIO_28_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_29_INIT 13'h0403 `define USER_CONFIG_GPIO_29_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_30_INIT 13'h0403 `define USER_CONFIG_GPIO_30_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_31_INIT 13'h0403 `define USER_CONFIG_GPIO_31_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_32_INIT 13'h0403 `define USER_CONFIG_GPIO_32_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_33_INIT 13'h0403 `define USER_CONFIG_GPIO_33_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_34_INIT 13'h0403 `define USER_CONFIG_GPIO_34_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_35_INIT 13'h0403 `define USER_CONFIG_GPIO_35_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_36_INIT 13'h0403 `define USER_CONFIG_GPIO_36_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`define USER_CONFIG_GPIO_37_INIT 13'h0403 `define USER_CONFIG_GPIO_37_INIT `GPIO_MODE_MGMT_STD_INPUT_NOPULL
`endif // __USER_DEFINE_H `endif // __USER_DEFINES_H