mirror of https://github.com/openXC7/prjxray.git
Add clock_region to tilegrid.json for constructing clock networks.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
This commit is contained in:
parent
b29742ba73
commit
cce638930c
|
|
@ -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]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue