Replaced the gpio_defaults_block_0000.mag layout with gpio_defaults_block.mag

so that it contains a valid layout after processing by Openlane (since the
verilog module is named gpio_defaults_block).  Corrected the orientation of
the defaults block layouts on the right side of Caravel and erased the
incorrect routing there.  Reinstated the copyright, user ID text, open source
logo, and Caravel logo.  Revised the gen_gpio_defaults.py script to handle
the first five GPIOs in the same way as the others, although as fixed entries
which cannot be modified by the user project designer.
This commit is contained in:
Tim Edwards 2021-11-20 13:43:49 -05:00
parent 1c18c1dae9
commit b0d3217280
5 changed files with 288 additions and 4855 deletions

View File

@ -121,11 +121,11 @@ use gpio_control_block gpio_control_bidir_2\[1\]
timestamp 1636751500
transform 1 0 7631 0 1 199600
box 750 416 34000 13000
use gpio_defaults_block_1803 gpio_defaults_block_1
use gpio_defaults_block gpio_defaults_block_1
timestamp 1636751500
transform -1 0 709467 0 1 176600
box -38 0 6018 2224
use gpio_defaults_block_1803 gpio_defaults_block_0
use gpio_defaults_block gpio_defaults_block_0
timestamp 1636751500
transform -1 0 709467 0 1 131000
box -38 0 6018 2224
@ -141,11 +141,11 @@ use gpio_control_block gpio_control_in_1\[0\]
timestamp 1636751500
transform -1 0 710203 0 1 208400
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_37
use gpio_defaults_block gpio_defaults_block_37
timestamp 1636751500
transform 1 0 8367 0 1 212200
box -38 0 6018 2224
use gpio_defaults_block_0402 gpio_defaults_block_36
use gpio_defaults_block gpio_defaults_block_36
timestamp 1636751500
transform 1 0 8367 0 1 255400
box -38 0 6018 2224
@ -157,7 +157,7 @@ use gpio_control_block gpio_control_in_2\[10\]
timestamp 1636751500
transform 1 0 7631 0 1 286000
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_35
use gpio_defaults_block gpio_defaults_block_35
timestamp 1636751500
transform 1 0 8367 0 1 298600
box -38 0 6018 2224
@ -165,11 +165,11 @@ use gpio_control_block gpio_control_in_1\[1\]
timestamp 1636751500
transform -1 0 710203 0 1 253600
box 750 416 34000 13000
use gpio_defaults_block_1403 gpio_defaults_block_3
use gpio_defaults_block gpio_defaults_block_3
timestamp 1636751500
transform -1 0 709467 0 1 266200
box -38 0 6018 2224
use gpio_defaults_block_1403 gpio_defaults_block_2
use gpio_defaults_block gpio_defaults_block_2
timestamp 1636751500
transform -1 0 709467 0 1 221000
box -38 0 6018 2224
@ -177,11 +177,11 @@ use gpio_control_block gpio_control_in_1\[2\]
timestamp 1636751500
transform -1 0 710203 0 1 298800
box 750 416 34000 13000
use gpio_defaults_block_1403 gpio_defaults_block_4
use gpio_defaults_block gpio_defaults_block_4
timestamp 1636751500
transform -1 0 709467 0 1 311400
box -38 0 6018 2224
use gpio_defaults_block_0402 gpio_defaults_block_34
use gpio_defaults_block gpio_defaults_block_34
timestamp 1636751500
transform 1 0 8367 0 1 341800
box -38 0 6018 2224
@ -193,7 +193,7 @@ use gpio_control_block gpio_control_in_2\[9\]
timestamp 1636751500
transform 1 0 7631 0 1 329200
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_30
use gpio_defaults_block gpio_defaults_block_30
timestamp 1636751500
transform 1 0 8367 0 1 385000
box -38 0 6018 2224
@ -205,11 +205,11 @@ use gpio_control_block gpio_control_in_1\[3\]
timestamp 1636751500
transform -1 0 710203 0 1 344600
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_5
use gpio_defaults_block gpio_defaults_block_5
timestamp 1636751500
transform -1 0 709467 0 1 357200
box -38 0 6018 2224
use gpio_defaults_block_0402 gpio_defaults_block_6
use gpio_defaults_block gpio_defaults_block_6
timestamp 1636751500
transform -1 0 709467 0 1 401600
box -38 0 6018 2224
@ -217,11 +217,11 @@ use gpio_control_block gpio_control_in_1\[4\]
timestamp 1636751500
transform -1 0 710203 0 1 389000
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_29
use gpio_defaults_block gpio_defaults_block_29
timestamp 1636751500
transform 1 0 8367 0 1 427600
box -38 0 6018 2224
use gpio_defaults_block_0402 gpio_defaults_block_28
use gpio_defaults_block gpio_defaults_block_28
timestamp 1636751500
transform 1 0 8367 0 1 475000
box -38 0 6018 2224
@ -229,7 +229,7 @@ use gpio_control_block gpio_control_in_2\[6\]
timestamp 1636751500
transform 1 0 7631 0 1 462400
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_7
use gpio_defaults_block gpio_defaults_block_7
timestamp 1636751500
transform -1 0 709467 0 1 489800
box -38 0 6018 2224
@ -237,7 +237,7 @@ use gpio_control_block gpio_control_in_1\[5\]
timestamp 1636751500
transform -1 0 710203 0 1 477200
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_33
use gpio_defaults_block gpio_defaults_block_33
timestamp 1636751500
transform 1 0 8367 0 1 600824
box -38 0 6018 2224
@ -249,15 +249,15 @@ use gpio_control_block gpio_control_in_2\[4\]
timestamp 1636751500
transform 1 0 7631 0 1 631400
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_10
use gpio_defaults_block gpio_defaults_block_10
timestamp 1636751500
transform -1 0 709467 0 1 624400
box -38 0 6018 2224
use gpio_defaults_block_0402 gpio_defaults_block_9
use gpio_defaults_block gpio_defaults_block_9
timestamp 1636751500
transform -1 0 709467 0 1 577400
box -38 0 6018 2224
use gpio_defaults_block_0402 gpio_defaults_block_8
use gpio_defaults_block gpio_defaults_block_8
timestamp 1636751500
transform -1 0 709467 0 1 534200
box -38 0 6018 2224
@ -273,11 +273,11 @@ use gpio_control_block gpio_control_in_1\[6\]
timestamp 1636751500
transform -1 0 710203 0 1 521600
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_32
use gpio_defaults_block gpio_defaults_block_32
timestamp 1636751500
transform 1 0 8367 0 1 644000
box -38 0 6018 2224
use gpio_defaults_block_0402 gpio_defaults_block_31
use gpio_defaults_block gpio_defaults_block_31
timestamp 1636751500
transform 1 0 8367 0 1 687200
box -38 0 6018 2224
@ -285,7 +285,7 @@ use gpio_control_block gpio_control_in_2\[3\]
timestamp 1636751500
transform 1 0 7631 0 1 674600
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_27
use gpio_defaults_block gpio_defaults_block_27
timestamp 1636751500
transform 1 0 8367 0 1 730400
box -38 0 6018 2224
@ -297,7 +297,7 @@ use gpio_control_block gpio_control_in_2\[1\]
timestamp 1636751500
transform 1 0 7631 0 1 761000
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_11
use gpio_defaults_block gpio_defaults_block_11
timestamp 1636751500
transform -1 0 709467 0 1 669600
box -38 0 6018 2224
@ -305,7 +305,7 @@ use gpio_control_block gpio_control_in_1\[9\]
timestamp 1636751500
transform -1 0 710203 0 1 657000
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_12
use gpio_defaults_block gpio_defaults_block_12
timestamp 1636751500
transform -1 0 709467 0 1 714600
box -38 0 6018 2224
@ -313,11 +313,11 @@ use gpio_control_block gpio_control_in_1\[10\]
timestamp 1636751500
transform -1 0 710203 0 1 702000
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_26
use gpio_defaults_block gpio_defaults_block_26
timestamp 1636751500
transform 1 0 8367 0 1 773600
box -38 0 6018 2224
use gpio_defaults_block_0402 gpio_defaults_block_14
use gpio_defaults_block gpio_defaults_block_14
timestamp 1636751500
transform 1 0 8367 0 1 816800
box -38 0 6018 2224
@ -329,7 +329,7 @@ use gpio_control_block gpio_control_in_1\[11\]
timestamp 1636751500
transform -1 0 710203 0 1 880800
box 750 416 34000 13000
use gpio_defaults_block_0402 gpio_defaults_block_13
use gpio_defaults_block gpio_defaults_block_13
timestamp 1636751500
transform -1 0 709467 0 1 893400
box -38 0 6018 2224

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -154,6 +154,17 @@ if __name__ == '__main__':
print('Error: No user_defines.v file found.')
sys.exit(1)
# Set additional dictionary entries for the fixed-configuration
# GPIOs 0 to 4. This allows the layout to have the default
# gpio_defaults_block layout, and this script will change it as
# needed.
kvpairs["`USER_CONFIG_GPIO_0_INIT"] = "13'h1803"
kvpairs["`USER_CONFIG_GPIO_1_INIT"] = "13'h1803"
kvpairs["`USER_CONFIG_GPIO_2_INIT"] = "13'h0403"
kvpairs["`USER_CONFIG_GPIO_3_INIT"] = "13'h0403"
kvpairs["`USER_CONFIG_GPIO_4_INIT"] = "13'h0403"
# Generate zero and one coordinates for each via
llx_zero = []
lly_zero = []
@ -216,7 +227,7 @@ if __name__ == '__main__':
if binval[12 - j] == '1':
bitflips.append(j)
with open(magpath + '/gpio_defaults_block_0000.mag', 'r') as ifile:
with open(magpath + '/gpio_defaults_block.mag', 'r') as ifile:
maglines = ifile.read().splitlines()
outlines = []
for magline in maglines: