From 7eadae4deddb6d04f92befdaad276aa31c6c306d Mon Sep 17 00:00:00 2001 From: Keith Rothman <537074+litghost@users.noreply.github.com> Date: Mon, 22 Oct 2018 09:08:34 -0700 Subject: [PATCH] Assorted fixes. Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com> --- minitests/roi_harness/runme.sh | 4 ++-- prjxray/fasm_disassembler.py | 4 ++-- utils/bits2fasm.py | 2 +- utils/segprint.py | 3 +++ 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/minitests/roi_harness/runme.sh b/minitests/roi_harness/runme.sh index 49fb7555..c5da2a4e 100755 --- a/minitests/roi_harness/runme.sh +++ b/minitests/roi_harness/runme.sh @@ -57,8 +57,8 @@ test -z "$(fgrep CRITICAL vivado.log)" ${XRAY_BITREAD} -F $XRAY_ROI_FRAMES -o design.bits -z -y design.bit ${XRAY_SEGPRINT} -zd design.bits >design.segp -${XRAY_DIR}/tools/segprint2fasm.py design.segp design.fasm -${XRAY_DIR}/tools/fasm2frame.py design.fasm design.frm +${XRAY_DIR}/utils/bits2fasm.py --verbose design.bits > design.fasm +${XRAY_DIR}/utils/fasm2frames.py design.fasm design.frm # Hack to get around weird clock error related to clk net not found # Remove following lines: #set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets clk_IBUF] diff --git a/prjxray/fasm_disassembler.py b/prjxray/fasm_disassembler.py index 7b03c438..7784594b 100644 --- a/prjxray/fasm_disassembler.py +++ b/prjxray/fasm_disassembler.py @@ -108,7 +108,7 @@ class FasmDisassembler(object): verbose=verbose): yield fasm_line - if len(bitdata[frame]) > 0 and verbose: + if len(bitdata[frame][1]) > 0 and verbose: # Some bits were not decoded, add warning and annotations to # FASM. yield fasm.FasmLine( @@ -117,7 +117,7 @@ class FasmDisassembler(object): comment=" In frame 0x{:08x} {} bits were not converted.". format( frame, - len(bitdata[frame]), + len(bitdata[frame][1]), )) for bit in bitdata[frame][1]: diff --git a/utils/bits2fasm.py b/utils/bits2fasm.py index 9116b6bd..92795306 100755 --- a/utils/bits2fasm.py +++ b/utils/bits2fasm.py @@ -40,7 +40,7 @@ def main(): parser.add_argument('--db_root', help="Database root.", **db_root_kwargs) parser.add_argument('bits_file', help='') parser.add_argument( - 'verbose', + '--verbose', help='Print lines for unknown tiles and bits', action='store_true') parser.add_argument( diff --git a/utils/segprint.py b/utils/segprint.py index db515a73..564dcd93 100755 --- a/utils/segprint.py +++ b/utils/segprint.py @@ -236,6 +236,9 @@ def mksegment(tile_name, block_name): def tile_segnames(grid): ret = [] for tile_name, tile in grid['tiles'].items(): + if 'bits' not in tile: + continue + for block_name in tile['bits'].keys(): ret.append(mksegment(tile_name, block_name)) return ret