mirror of https://github.com/openXC7/prjxray.git
checkdb: print in standard address format
Signed-off-by: John McMaster <johndmcmaster@gmail.com>
This commit is contained in:
parent
96ee4ac449
commit
77c5261130
|
|
@ -111,6 +111,19 @@ def parse_tagbit(x):
|
|||
return (isset, (int(frame, 10), int(word, 10)))
|
||||
|
||||
|
||||
def addr_bit2word(bitaddr):
|
||||
word = bitaddr // 32
|
||||
bit = bitaddr % 32
|
||||
return word, bit
|
||||
|
||||
|
||||
def addr2str(addr, word, bit):
|
||||
# Make like .bits file: bit_00020b14_073_05
|
||||
# also similar to .db file: CLBLL_L.SLICEL_X0.CEUSEDMUX 01_39
|
||||
assert 0 <= bit <= 31
|
||||
return "%08x_%03u_%02u" % (addr, word, bit)
|
||||
|
||||
|
||||
def gen_tile_bits(db_root, tilej, strict=False, verbose=False):
|
||||
'''
|
||||
For given tile yield
|
||||
|
|
|
|||
|
|
@ -66,8 +66,14 @@ def check_tile_overlap(db, db_root, strict=False, verbose=False):
|
|||
mall = dict()
|
||||
|
||||
tiles_checked = 0
|
||||
|
||||
def subtiles(tile_names):
|
||||
for tile_name in tile_names:
|
||||
yield tile_name, db.tilegrid[tile_name]
|
||||
|
||||
for tile_name, tilej in db.tilegrid.items():
|
||||
#for tile_name, tilej in [("CLBLL_L_X12Y138", db.tilegrid["CLBLL_L_X12Y138"])]:
|
||||
# for tile_name, tilej in subtiles(["CLBLL_L_X14Y112", "INT_L_X14Y112"]):
|
||||
|
||||
mtile = make_tile_mask(
|
||||
db_root, tile_name, tilej, strict=strict, verbose=verbose)
|
||||
verbose and print(
|
||||
|
|
@ -81,9 +87,10 @@ def check_tile_overlap(db, db_root, strict=False, verbose=False):
|
|||
print("ERROR: %s collisions" % len(collisions))
|
||||
for ck in sorted(collisions):
|
||||
addr, bitaddr = ck
|
||||
word, bit = util.addr_bit2word(bitaddr)
|
||||
print(
|
||||
" %08X_%04X: had %s, got %s" %
|
||||
(addr, bitaddr, mall[ck], mtile[ck]))
|
||||
" %s: had %s, got %s" %
|
||||
(util.addr2str(addr, word, bit), mall[ck], mtile[ck]))
|
||||
raise ValueError("%s collisions" % len(collisions))
|
||||
mall.update(mtile)
|
||||
tiles_checked += 1
|
||||
|
|
|
|||
Loading…
Reference in New Issue