diff options
author | Yann Herklotz <git@yannherklotz.com> | 2022-11-24 22:27:15 +0000 |
---|---|---|
committer | Yann Herklotz <git@yannherklotz.com> | 2022-11-24 22:27:15 +0000 |
commit | cfe60025ab06c73c44ce6b962a258668b3a90431 (patch) | |
tree | 292d7b2b01a6e0f2ee31b9d133312723980235c1 /riscv/picorv32/scripts/torture/config.py | |
parent | c0056cea555efe0d6775e3b28ffa5a4a91293097 (diff) | |
download | butterstick-cfe60025ab06c73c44ce6b962a258668b3a90431.tar.gz butterstick-cfe60025ab06c73c44ce6b962a258668b3a90431.zip |
Move all files
Diffstat (limited to 'riscv/picorv32/scripts/torture/config.py')
-rw-r--r-- | riscv/picorv32/scripts/torture/config.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/riscv/picorv32/scripts/torture/config.py b/riscv/picorv32/scripts/torture/config.py new file mode 100644 index 0000000..478f046 --- /dev/null +++ b/riscv/picorv32/scripts/torture/config.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 + +import numpy as np + +compressed_isa = np.random.randint(2) +enable_mul = np.random.randint(2) +enable_div = np.random.randint(2) + +with open("config.vh", "w") as f: + print("// march=RV32I%s%s" % ( + "M" if enable_mul or enable_div else "", + "C" if compressed_isa else ""), file=f) + print(".ENABLE_COUNTERS(%d)," % np.random.randint(2), file=f) + print(".ENABLE_COUNTERS64(%d)," % np.random.randint(2), file=f) + print(".ENABLE_REGS_DUALPORT(%d)," % np.random.randint(2), file=f) + print(".TWO_STAGE_SHIFT(%d)," % np.random.randint(2), file=f) + print(".BARREL_SHIFTER(%d)," % np.random.randint(2), file=f) + print(".TWO_CYCLE_COMPARE(%d)," % np.random.randint(2), file=f) + print(".TWO_CYCLE_ALU(%d)," % np.random.randint(2), file=f) + print(".CATCH_MISALIGN(%d)," % np.random.randint(2), file=f) + print(".CATCH_ILLINSN(%d)," % np.random.randint(2), file=f) + print(".COMPRESSED_ISA(%d)," % compressed_isa, file=f) + print(".ENABLE_MUL(%d)," % enable_mul, file=f) + print(".ENABLE_DIV(%d)" % enable_div, file=f) + +with open("riscv-torture/config/default.config", "r") as fi: + with open("riscv-torture/config/test.config", "w") as fo: + for line in fi: + line = line.strip() + if line.startswith("torture.generator.mul "): + line = "torture.generator.mul %s" % ("true" if enable_mul else "false") + if line.startswith("torture.generator.divider "): + line = "torture.generator.divider %s" % ("true" if enable_div else "false") + print(line, file=fo) + |