blob: f29f7887c613ee973d04659790bfe18b4240cc24 [file] [log] [blame]
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
#
# Copyright (C) 2017-2020 The Project X-Ray Authors.
#
# Use of this source code is governed by a ISC-style
# license that can be found in the LICENSE file or at
# https://opensource.org/licenses/ISC
#
# SPDX-License-Identifier: ISC
from prjxray import bitstream
def write(bits_fn, fnout, tags):
'''
seg 00020000_046
bit 18_20
bit 39_63
tag LIOB33.IOB_Y1.REFBIT 0
'''
fout = open(fnout, "w")
def line(s):
fout.write(s + "\n")
# Everything relative to start of bitstream
line("seg 00000000_000")
bitdata = bitstream.load_bitdata2(open(bits_fn, "r"))
for frame, words in bitdata.items():
for word, wbits in words.items():
for bitidx in sorted(list(wbits)):
# Are the names arbitrary? Lets just re-create
line("bit %08X_%03u_%02u" % (frame, word, bitidx))
for k, v in tags.items():
line("tag %s %u" % (k, v))