diff --git a/fuzzers/005-tilegrid/generate.py b/fuzzers/005-tilegrid/generate.py index 430c26cb..67037f37 100644 --- a/fuzzers/005-tilegrid/generate.py +++ b/fuzzers/005-tilegrid/generate.py @@ -17,15 +17,22 @@ def load_tiles(tiles_fn): tile_type, tile_name, grid_x, grid_y = record[0:4] grid_x, grid_y = int(grid_x), int(grid_y) sites = {} - for i in range(4, len(record), 2): - site_type, site_name = record[i:i + 2] - sites[site_name] = site_type + clock_region = None + if len(record) >= 5: + clock_region = record[4] + if clock_region == "NA": + clock_region = None + for i in range(5, len(record), 2): + site_type, site_name = record[i:i + 2] + sites[site_name] = site_type + tile = { 'type': tile_type, 'name': tile_name, 'grid_x': grid_x, 'grid_y': grid_y, 'sites': sites, + 'clock_region': clock_region, } tiles.append(tile) @@ -59,6 +66,9 @@ def make_database(tiles, pin_func): "pin_functions": {}, } + if tile["clock_region"]: + database[tile["name"]]["clock_region"] = tile["clock_region"] + for site in database[tile["name"]]["sites"]: if site in pin_func: database[tile["name"]]["pin_functions"][site] = pin_func[site] diff --git a/fuzzers/005-tilegrid/generate_tiles.tcl b/fuzzers/005-tilegrid/generate_tiles.tcl index 6ab62f76..64b62656 100644 --- a/fuzzers/005-tilegrid/generate_tiles.tcl +++ b/fuzzers/005-tilegrid/generate_tiles.tcl @@ -14,6 +14,8 @@ proc write_tiles_txt {} { set sites [get_sites -quiet -of_objects $tile] set typed_sites {} + set clock_region "NA" + if [llength $sites] { set site_types [get_property SITE_TYPE $sites] foreach t $site_types s $sites { @@ -23,10 +25,15 @@ proc write_tiles_txt {} { if [llength $package_pin] { puts $fp_pin "$s [get_property PIN_FUNC $package_pin]" } + set clock_region [get_property CLOCK_REGION $s] } } + if {[llength $clock_region] == 0} { + set clock_region "NA" + } - puts $fp "$type $tile $grid_x $grid_y $typed_sites" + + puts $fp "$type $tile $grid_x $grid_y $clock_region $typed_sites" } close $fp_pin close $fp