Add optional bits output for debugging.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
This commit is contained in:
Keith Rothman 2019-02-08 14:26:35 -08:00
parent 3aa8c77ad6
commit 111ad4bacc
1 changed files with 8 additions and 1 deletions

View File

@ -3,6 +3,7 @@
Take bitstream .bit files and decode them to FASM. Take bitstream .bit files and decode them to FASM.
''' '''
import contextlib
import os import os
import fasm import fasm
import fasm.output import fasm.output
@ -87,6 +88,7 @@ def main():
default_bitread = os.path.join(os.getenv("XRAY_TOOLS_DIR"), 'bitread') default_bitread = os.path.join(os.getenv("XRAY_TOOLS_DIR"), 'bitread')
parser.add_argument('--db-root', help="Database root.", **db_root_kwargs) parser.add_argument('--db-root', help="Database root.", **db_root_kwargs)
parser.add_argument('--bits-file', help="Output filename for bitread output, default is deleted tempfile.", default=None)
parser.add_argument( parser.add_argument(
'--part', help="Name of part being targetted.", **part_kwargs) '--part', help="Name of part being targetted.", **part_kwargs)
parser.add_argument( parser.add_argument(
@ -104,7 +106,12 @@ def main():
'--canonical', help='Output canonical bitstream.', action='store_true') '--canonical', help='Output canonical bitstream.', action='store_true')
args = parser.parse_args() args = parser.parse_args()
with tempfile.NamedTemporaryFile() as bits_file: with contextlib.ExitStack() as stack:
if args.bits_file:
bits_file = stack.enter_context(open(args.bits_file, 'wb'))
else:
bits_file = stack.enter_context(tempfile.NamedTemporaryFile())
bit_to_bits( bit_to_bits(
bitread=args.bitread, bitread=args.bitread,
part_yaml=os.path.join(args.db_root, '{}.yaml'.format(args.part)), part_yaml=os.path.join(args.db_root, '{}.yaml'.format(args.part)),