mirror of https://github.com/openXC7/prjxray.git
Add ROI annotations and update some missing tilegrid changes.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
This commit is contained in:
parent
98308f0243
commit
ed584aa8f2
|
|
@ -18,5 +18,6 @@ if [ -f $BASE_TILEGRID ]; then
|
|||
mv output/tilegrid.json output/tilegrid_full.json.tmp
|
||||
python3 ../../utils/merge_tilegrid.py \
|
||||
--base_grid $BASE_TILEGRID \
|
||||
--overlay_grid output/tilegrid_full.json.tm \
|
||||
--output_grid output/tilegrid.json
|
||||
--overlay_grid output/tilegrid_full.json.tmp \
|
||||
--output_grid output/tilegrid.json \
|
||||
--mark_roi
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ BUILD_DIR=build
|
|||
|
||||
# official demo configuration
|
||||
all:
|
||||
SMALL=Y BUILD_DIR=$(BUILD_DIR) XRAY_PINCFG=BASYS3-SWBUT ./runme.sh
|
||||
BUILD_DIR=$(BUILD_DIR) XRAY_PINCFG=BASYS3-SWBUT ./runme.sh
|
||||
|
||||
clean:
|
||||
rm -rf specimen_[0-9][0-9][0-9]/ seg_clblx.segbits vivado*.log vivado_*.str vivado*.jou design *.bits *.dcp *.bit design.txt .Xil
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ Connection = namedtuple('Connection', 'wire_a wire_b')
|
|||
|
||||
class Connections(object):
|
||||
def __init__(self, tilegrid, tileconn, tile_wires):
|
||||
self.grid = tilegrid['tiles']
|
||||
self.grid = tilegrid
|
||||
self.tile_wires = tile_wires
|
||||
self.coord_to_tile = {}
|
||||
self.coord_to_tile_type = {}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
from collections import namedtuple
|
||||
|
||||
GridLoc = namedtuple('GridLoc', 'grid_x grid_y')
|
||||
GridInfo = namedtuple('GridInfo', 'segment sites tile_type')
|
||||
GridInfo = namedtuple('GridInfo', 'segment sites tile_type in_roi')
|
||||
|
||||
|
||||
class Grid(object):
|
||||
|
|
@ -16,15 +16,23 @@ class Grid(object):
|
|||
self.loc = {}
|
||||
self.tileinfo = {}
|
||||
|
||||
for tile in self.tilegrid['tiles']:
|
||||
tileinfo = self.tilegrid['tiles'][tile]
|
||||
for tile in self.tilegrid:
|
||||
tileinfo = self.tilegrid[tile]
|
||||
grid_loc = GridLoc(tileinfo['grid_x'], tileinfo['grid_y'])
|
||||
assert grid_loc not in self.loc
|
||||
self.loc[grid_loc] = tile
|
||||
|
||||
if 'in_roi' in tileinfo:
|
||||
in_roi = tileinfo['in_roi']
|
||||
else:
|
||||
in_roi = True
|
||||
|
||||
self.tileinfo[tile] = GridInfo(
|
||||
segment=tileinfo['segment'] if 'segment' in tileinfo else None,
|
||||
sites=tileinfo['sites'],
|
||||
tile_type=tileinfo['type'])
|
||||
tile_type=tileinfo['type'],
|
||||
in_roi=in_roi,
|
||||
)
|
||||
|
||||
x, y = zip(*self.loc.keys())
|
||||
self._dims = (min(x), max(x), min(y), max(y))
|
||||
|
|
@ -45,7 +53,7 @@ class Grid(object):
|
|||
return grid_loc in self.loc
|
||||
|
||||
def loc_of_tilename(self, tilename):
|
||||
tileinfo = self.tilegrid['tiles'][tilename]
|
||||
tileinfo = self.tilegrid[tilename]
|
||||
return GridLoc(tileinfo['grid_x'], tileinfo['grid_y'])
|
||||
|
||||
def tilename_at_loc(self, grid_loc):
|
||||
|
|
|
|||
|
|
@ -9,12 +9,17 @@ def main():
|
|||
parser.add_argument('--output_grid', required=True)
|
||||
parser.add_argument('--overlay_grid', required=True)
|
||||
parser.add_argument('--old_format', action='store_true')
|
||||
parser.add_argument('--mark_roi', action='store_true')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
with open(args.base_grid) as f:
|
||||
base_grid = json.load(f)
|
||||
|
||||
if args.mark_roi:
|
||||
for tile in base_grid:
|
||||
base_grid[tile]['in_roi'] = True
|
||||
|
||||
with open(args.overlay_grid) as f:
|
||||
overlay_grid = json.load(f)
|
||||
|
||||
|
|
@ -31,6 +36,8 @@ def main():
|
|||
base_grid[tile][k] = overlay_grid[tile][k]
|
||||
else:
|
||||
base_grid[tile] = overlay_grid[tile]
|
||||
if args.mark_roi:
|
||||
base_grid[tile]['in_roi'] = False
|
||||
|
||||
with open(args.output_grid, 'w') as f:
|
||||
json.dump(base_grid, f, indent=2)
|
||||
|
|
|
|||
Loading…
Reference in New Issue