aboutsummaryrefslogtreecommitdiffstats
path: root/firmware/microblaze/bin/bin_to_ram_macro_init.py
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/microblaze/bin/bin_to_ram_macro_init.py')
-rwxr-xr-xfirmware/microblaze/bin/bin_to_ram_macro_init.py48
1 files changed, 0 insertions, 48 deletions
diff --git a/firmware/microblaze/bin/bin_to_ram_macro_init.py b/firmware/microblaze/bin/bin_to_ram_macro_init.py
deleted file mode 100755
index 65cf2dbdf..000000000
--- a/firmware/microblaze/bin/bin_to_ram_macro_init.py
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/env python
-
-import struct
-import sys
-
-def do_8_words(ofile, which_ram, row, words):
- ofile.write("defparam bootram.RAM%d.INIT_%02X=256'h" % (which_ram, row))
- ofile.write("%08x_%08x_%08x_%08x_%08x_%08x_%08x_%08x;\n" % (
- words[7], words[6], words[5], words[4], words[3], words[2], words[1], words[0]))
-
-def bin_to_ram_macro_init(bin_input_file, ram_init_output_file):
- ifile = open(bin_input_file, 'rb')
- ofile = open(ram_init_output_file, 'w')
- idata = ifile.read()
- fmt = ">%dI" % ((len(idata) / 4),)
- words = struct.unpack(fmt, idata)
-
- # pad to a multiple of 8 words
- r = len(words) % 8
- if r != 0:
- words += (8 - r) * (0,)
-
- if len(words) > 2048:
- sys.stderr.write("bin_to_macro_init: error: input file %s is > 8KiB\n" % (bin_input_file,))
- sys.exit(1)
-
- # first 2KB
- for i in range(0, min(512, len(words)), 8):
- do_8_words(ofile, 0, i/8, words[i:i+8])
-
- # second 2KB
- for i in range(512, min(1024, len(words)), 8):
- do_8_words(ofile, 1, (i/8) % 64, words[i:i+8])
-
- # third 2KB
- for i in range(1024, min(1536, len(words)), 8):
- do_8_words(ofile, 2, (i/8) % 64, words[i:i+8])
-
- # last 2KB
- for i in range(1536, len(words), 8):
- do_8_words(ofile, 3, (i/8) % 64, words[i:i+8])
-
-if __name__ == '__main__':
- if len(sys.argv) != 3:
- sys.stderr.write("usage: bin_to_ram_macro_init bin_input_file ram_init_output_file\n")
- sys.exit(1)
-
- bin_to_ram_macro_init(sys.argv[1], sys.argv[2])