140 lines
2.5 KiB
Python
140 lines
2.5 KiB
Python
import random
|
|
|
|
total_count = random.randint(5, 50)
|
|
total_count = 20
|
|
# total_count = 47
|
|
# total_count = 20
|
|
numbers = list()
|
|
|
|
for _ in range(total_count):
|
|
numbers.append(random.randint(0, 65535))
|
|
|
|
numbers = [
|
|
0x41A8,
|
|
0x3AF2,
|
|
0xACDA,
|
|
0xC0B2,
|
|
0xB783,
|
|
0xDAC9,
|
|
0x8ED9,
|
|
0x9FF,
|
|
0x2F44,
|
|
0x44E,
|
|
0x9899,
|
|
0x3C56,
|
|
0x128D,
|
|
0xDBE3,
|
|
0xD4B4,
|
|
0x3748,
|
|
0x3918,
|
|
0x4112,
|
|
0xC399,
|
|
0x4955
|
|
]
|
|
|
|
# numbers = [
|
|
# 0x4B8D,
|
|
# 0x2307,
|
|
# 0xFAE0,
|
|
# 0x7815,
|
|
# 0xC105,
|
|
# 0x84F0,
|
|
# 0xDB6,
|
|
# 0xF21D,
|
|
# 0xE97A,
|
|
# 0xA3B6,
|
|
# 0x8466,
|
|
# 0x3A25,
|
|
# 0x5DF,
|
|
# 0xD2DE,
|
|
# 0xBA7A,
|
|
# 0x7809,
|
|
# 0xF6A8,
|
|
# 0x361D,
|
|
# 0x3ADB,
|
|
# 0x969A,
|
|
# ]
|
|
|
|
# numbers = [
|
|
# 0x022C,
|
|
# 0x0AA4,
|
|
# 0x0E87,
|
|
# 0x0F95,
|
|
# 0x124C,
|
|
# 0x18D0,
|
|
# 0x1A04,
|
|
# 0x1C49,
|
|
# 0x2137,
|
|
# 0x2197,
|
|
# 0x260B,
|
|
# 0x2CC7,
|
|
# 0x2E07,
|
|
# 0x2F2B,
|
|
# 0x3A27,
|
|
# 0x3B9F,
|
|
# 0x4227,
|
|
# 0x4786,
|
|
# 0x5E55,
|
|
# 0x5F99,
|
|
# 0x64CA,
|
|
# 0x6E15,
|
|
# 0x7345,
|
|
# 0x76EE,
|
|
# 0x7F32,
|
|
# 0x8027,
|
|
# 0x80BE,
|
|
# 0x9213,
|
|
# 0x9477,
|
|
# 0x9776,
|
|
# 0x9D7D,
|
|
# 0x9F23,
|
|
# 0xA5E5,
|
|
# 0xAA22,
|
|
# 0xAAF5,
|
|
# 0xABB3,
|
|
# 0xC308,
|
|
# 0xC5A5,
|
|
# 0xC8C3,
|
|
# 0xC94D,
|
|
# 0xD87C,
|
|
# 0xD9CA,
|
|
# 0xE060,
|
|
# 0xE08B,
|
|
# 0xE0D8,
|
|
# 0xE996,
|
|
# 0xF7FE,
|
|
# ]
|
|
|
|
with open("gen_num.txt", "w") as fl:
|
|
fl.writelines(["0x%04X\n" % x for x in numbers])
|
|
|
|
with open("gen_num_asm.txt", "w") as fl:
|
|
fl.write(
|
|
"""lui $s0, 0x4000\naddi $s0, $s0, 0x60\naddi $s1, $zero, %d\nsw $s1, 0($s0)\n"""
|
|
% (total_count)
|
|
)
|
|
for idx, num in enumerate(numbers):
|
|
fl.write("addi $s1, $zero, %s\nsw $s1, %d($s0)\n" % (hex(num), 4 * (idx + 1)))
|
|
|
|
with open("gen_num_data_mem.txt", "w") as fl:
|
|
fl.write(
|
|
"""for (i = StartAddressInWord; i < 24 + StartAddressInWord; i = i + 1) begin
|
|
memory_data[i] <= 32'h00000000;
|
|
end
|
|
for (
|
|
i = %d + StartAddressInWord; i < MEM_SIZE_IN_WORD + StartAddressInWord; i = i + 1
|
|
) begin
|
|
memory_data[i] <= 32'h00000000;
|
|
end
|
|
"""
|
|
% (24 + total_count + 1)
|
|
)
|
|
fl.write("memory_data[StartAddressInWord + 24] <= 32'h%08X;\n" % total_count)
|
|
for idx, num in enumerate(numbers):
|
|
fl.write(
|
|
"memory_data[StartAddressInWord + %d] <= 32'h%08X;\n" % (idx + 25, num)
|
|
)
|
|
|
|
with open("gen_num_sorted.txt", "w") as fl:
|
|
fl.writelines(["0x%04X\n" % x for x in sorted(numbers)])
|