Started FIR test code and started incorporating Imperas tests

This commit is contained in:
David Harris 2021-12-25 22:39:51 +00:00
parent 35e31006a9
commit e97e512da9
11 changed files with 532 additions and 350 deletions

3
.gitmodules vendored
View file

@ -4,3 +4,6 @@
[submodule "addins/riscv-arch-test"]
path = addins/riscv-arch-test
url = https://github.com/riscv-non-isa/riscv-arch-test
[submodule "addins/imperas-riscv-tests"]
path = addins/imperas-riscv-tests
url = https://github.com/riscv-ovpsim/imperas-riscv-tests

@ -0,0 +1 @@
Subproject commit e1966a2dbb0c861b5bc153235cfd53e590ddc930

31
bin/testlist.pl Executable file
View file

@ -0,0 +1,31 @@
#!/bin/perl -W
# testlist.pl
# David_Harris@hmc.edu 25 December 2021
# Read the work directories from riscv-arch-test or imperas-riscv-tests
# and generate a list of tests and signature addresses for tests.vh
use strict;
use warnings;
import os;
if ($#ARGV != 0) {
die("Usage: $0 workpath [e.g. $0 ~/riscv-wally/addins/riscv-arch-test/work")
}
my $mypath = $ARGV[0];
my @dirs = glob($mypath.'/*/*');
foreach my $dir (@dirs) {
$dir =~ /.*\/(.*)\/(.*)/;
my $arch = $1;
my $ext = $2;
my $contents = `grep --with-filename "<begin_signature>:" $dir/*.objdump`;
my @lines = split('\n', $contents);
print "$arch/$ext";
foreach my $line (@lines) {
$line =~ /.*\/(.*)\.elf.objdump:(\S*)/;
my $fname = $1;
my $adr = $2;
my $partialaddress = substr($adr, -6);
print ",\n\t\t\"$arch/$ext/$fname\", \"$partialaddress\"";
}
print("\n\n");
}

View file

@ -0,0 +1,38 @@
// fir.C
// David_Harris@hmc.edu 25 December 2021
// Finite Impulse Response Filter
#include <math.h>
#define N 2000
#define M 100
#define PI 3.14159
double fir(double a[], double c[], double y[], int N, int M) {
int i, j
for (i=0; i<N-M; i++) {
y[i] = 0;
for (j=0; j<M; j++) {
y[i] += c[j] * a[M+i-j];
}
}
}
int main(void) {
double a[N], c[M], y[N-M];
int i;
// // step input with overlying high frequency sinusoid
for (i=0; i<N; i++) a[i] = (i < N/2) + 0.5 * cos(2*PI*i/50);
// filter coeffieints: replace with a sinc function with sharper response
//for (i=0; i<M; i++) c[i] = 1.0/M; // low pass filter with equal coefficients
for (i=0; i<M; i++) c[i] = 2.0*B*(sin(2.0*B*i/10)/(2.0*B*i/10)); // low pass filter with equal coefficients
// inline assembly to measure time, with macro
fir(a, c, y, N, M);
// measure time again
// *** generate signature
// *** write_tohost
}

0
setup.sh Normal file → Executable file
View file

View file

@ -9,8 +9,5 @@ make all:
make -C ../../tests/wally-riscv-arch-test/ XLEN=32
exe2memfile.pl ../../tests/wally-riscv-arch-test/work/*/*/*.elf
# Build Imperas tests (if installed)
make -C ../../tests/imperas-riscv-tests/
# Link Linux test vectors (fix this later***)
#cd ../../tests/linux-testgen/linux-testvectors/;./tvLinker.sh

View file

@ -49,7 +49,7 @@ tc = TestCase(
grepstr="400100000 instructions")
configs.append(tc)
tests64 = ["wally64i", "arch64i", "arch64priv", "arch64c", "arch64m", "imperas64i", "imperas64p", "imperas64mmu", "imperas64f", "imperas64d", "imperas64m", "imperas64a", "imperas64c"] #, "testsBP64"]
tests64 = ["wally64i", "arch64i", "arch64priv", "arch64c", "arch64m", "imperas64i", "imperas64p", "imperas64mmu", "imperas64m", "imperas64a", "imperas64c"] #, "testsBP64"] /*"imperas64f", "imperas64d",*/
for test in tests64:
tc = TestCase(
name=test,
@ -57,7 +57,7 @@ for test in tests64:
grepstr="All tests ran without failures")
configs.append(tc)
#tests32 = ["arch32i", "arch32priv", "arch32c", "arch32m", "arch32f", "imperas32i", "imperas32p", "imperas32mmu", "imperas32f", "imperas32m", "imperas32a", "imperas32c"]
tests32 = ["wally32i", "arch32i", "arch32priv", "arch32c", "arch32m", "imperas32i", "imperas32p", "imperas32mmu", "imperas32f", "imperas32m", "imperas32a", "imperas32c"]
tests32 = ["wally32i", "arch32i", "arch32priv", "arch32c", "arch32m", "imperas32i", "imperas32p", "imperas32mmu", "imperas32m", "imperas32a", "imperas32c"] # /*"imperas32f", */
for test in tests32:
tc = TestCase(
name=test,

View file

@ -1,2 +1,2 @@
vsim -do "do wally-pipelined.do rv64gc arch64i"
vsim -do "do wally-pipelined.do rv64gc imperas64i"

View file

@ -1,3 +1,3 @@
vsim -c <<!
do wally-pipelined-batch.do rv64gc arch64i
do wally-pipelined-batch.do rv64gc imperas64i
!

View file

@ -286,13 +286,15 @@ logic [3:0] dummy;
end
// Termination condition
// terminate on a specific ECALL for Imperas tests, or on a jump to self infinite loop for RISC-V Arch tests
// terminate on a specific ECALL after li x3,1 for old Imperas tests,
// or sw gp,-56(t0) for new Imperas tests
// or on a jump to self infinite loop (6f) for RISC-V Arch tests
assign DCacheFlushStart = dut.hart.priv.priv.EcallFaultM &&
(dut.hart.ieu.dp.regf.rf[3] == 1 ||
(dut.hart.ieu.dp.regf.we3 &&
dut.hart.ieu.dp.regf.a3 == 3 &&
dut.hart.ieu.dp.regf.wd3 == 1)) ||
dut.hart.ifu.InstrM == 32'h6f && dut.hart.ieu.c.InstrValidM;
(dut.hart.ifu.InstrM == 32'h6f || dut.hart.ifu.InstrM == 32'hfc32a423) && dut.hart.ieu.c.InstrValidM;
DCacheFlushFSM DCacheFlushFSM(.clk(clk),
.reset(reset),

View file

@ -26,22 +26,24 @@
`define IMPERASTEST "0"
`define RISCVARCHTEST "1"
`define WALLYTEST "2"
`define MYIMPERASTEST "3"
string tvpaths[] = '{
"../../tests/imperas-riscv-tests/work/",
"../../addins/imperas-riscv-tests/work/",
"../../addins/riscv-arch-test/work/",
"../../tests/wally-riscv-arch-test/work/"
"../../tests/wally-riscv-arch-test/work/",
"../../tests/imperas-riscv-tests/work/"
};
string imperas32mmu[] = '{
`IMPERASTEST,
`MYIMPERASTEST,
"rv32mmu/WALLY-MMU-SV32", "3000"
//"rv32mmu/WALLY-PMP", "3000",
//"rv32mmu/WALLY-PMA", "3000"
};
string imperas64mmu[] = '{
`IMPERASTEST,
`MYIMPERASTEST,
"rv64mmu/WALLY-MMU-SV48", "3000",
"rv64mmu/WALLY-MMU-SV39", "3000",
"rv64mmu/WALLY-PMP", "3000"
@ -51,102 +53,102 @@ string tvpaths[] = '{
string imperas32f[] = '{
`IMPERASTEST,
"rv32f/I-FADD-S-01", "2000",
"rv32f/I-FCLASS-S-01", "2000",
"rv32f/I-FCVT-S-W-01", "2000",
"rv32f/I-FCVT-S-WU-01", "2000",
"rv32f/I-FCVT-W-S-01", "2000",
"rv32f/I-FCVT-WU-S-01", "2000",
"rv32f/I-FDIV-S-01", "2000",
"rv32f/I-FEQ-S-01", "2000",
"rv32f/I-FLE-S-01", "2000",
"rv32f/I-FLT-S-01", "2000",
"rv32f/I-FMADD-S-01", "2000",
"rv32f/I-FMAX-S-01", "2000",
"rv32f/I-FMIN-S-01", "2000",
"rv32f/I-FMSUB-S-01", "2000",
"rv32f/I-FMUL-S-01", "2000",
"rv32f/I-FMV-W-X-01", "2000",
"rv32f/I-FMV-X-W-01", "2000",
"rv32f/I-FNMADD-S-01", "2000",
"rv32f/I-FNMSUB-S-01", "2000",
"rv32f/I-FSGNJ-S-01", "2000",
"rv32f/I-FSGNJN-S-01", "2000",
"rv32f/I-FSGNJX-S-01", "2000",
"rv32f/I-FSQRT-S-01", "2000",
"rv32f/I-FSW-01", "2000",
"rv32f/I-FLW-01", "2110",
"rv32f/I-FSUB-S-01", "2000"
"rv32i_m/F/I-FADD-S-01", "2000",
"rv32i_m/F/I-FCLASS-S-01", "2000",
"rv32i_m/F/I-FCVT-S-W-01", "2000",
"rv32i_m/F/I-FCVT-S-WU-01", "2000",
"rv32i_m/F/I-FCVT-W-S-01", "2000",
"rv32i_m/F/I-FCVT-WU-S-01", "2000",
"rv32i_m/F/I-FDIV-S-01", "2000",
"rv32i_m/F/I-FEQ-S-01", "2000",
"rv32i_m/F/I-FLE-S-01", "2000",
"rv32i_m/F/I-FLT-S-01", "2000",
"rv32i_m/F/I-FMADD-S-01", "2000",
"rv32i_m/F/I-FMAX-S-01", "2000",
"rv32i_m/F/I-FMIN-S-01", "2000",
"rv32i_m/F/I-FMSUB-S-01", "2000",
"rv32i_m/F/I-FMUL-S-01", "2000",
"rv32i_m/F/I-FMV-W-X-01", "2000",
"rv32i_m/F/I-FMV-X-W-01", "2000",
"rv32i_m/F/I-FNMADD-S-01", "2000",
"rv32i_m/F/I-FNMSUB-S-01", "2000",
"rv32i_m/F/I-FSGNJ-S-01", "2000",
"rv32i_m/F/I-FSGNJN-S-01", "2000",
"rv32i_m/F/I-FSGNJX-S-01", "2000",
"rv32i_m/F/I-FSQRT-S-01", "2000",
"rv32i_m/F/I-FSW-01", "2000",
"rv32i_m/F/I-FLW-01", "2110",
"rv32i_m/F/I-FSUB-S-01", "2000"
};
string imperas64f[] = '{
`IMPERASTEST,
"rv64f/I-FLW-01", "2110",
"rv64f/I-FMV-W-X-01", "2000",
"rv64f/I-FMV-X-W-01", "2000",
"rv64f/I-FSW-01", "2000",
"rv64f/I-FCLASS-S-01", "2000",
"rv64f/I-FADD-S-01", "2000",
"rv64f/I-FCVT-S-L-01", "2000",
"rv64f/I-FCVT-S-LU-01", "2000",
"rv64f/I-FCVT-S-W-01", "2000",
"rv64f/I-FCVT-S-WU-01", "2000",
"rv64f/I-FCVT-L-S-01", "2000",
"rv64f/I-FCVT-LU-S-01", "2000",
"rv64f/I-FCVT-W-S-01", "2000",
"rv64f/I-FCVT-WU-S-01", "2000",
"rv64f/I-FDIV-S-01", "2000",
"rv64f/I-FEQ-S-01", "2000",
"rv64f/I-FLE-S-01", "2000",
"rv64f/I-FLT-S-01", "2000",
"rv64f/I-FMADD-S-01", "2000",
"rv64f/I-FMAX-S-01", "2000",
"rv64f/I-FMIN-S-01", "2000",
"rv64f/I-FMSUB-S-01", "2000",
"rv64f/I-FMUL-S-01", "2000",
"rv64f/I-FNMADD-S-01", "2000",
"rv64f/I-FNMSUB-S-01", "2000",
"rv64f/I-FSGNJ-S-01", "2000",
"rv64f/I-FSGNJN-S-01", "2000",
"rv64f/I-FSGNJX-S-01", "2000",
"rv64f/I-FSQRT-S-01", "2000",
"rv64f/I-FSUB-S-01", "2000"
"rv64i_m/F/I-FLW-01", "2110",
"rv64i_m/F/I-FMV-W-X-01", "2000",
"rv64i_m/F/I-FMV-X-W-01", "2000",
"rv64i_m/F/I-FSW-01", "2000",
"rv64i_m/F/I-FCLASS-S-01", "2000",
"rv64i_m/F/I-FADD-S-01", "2000",
"rv64i_m/F/I-FCVT-S-L-01", "2000",
"rv64i_m/F/I-FCVT-S-LU-01", "2000",
"rv64i_m/F/I-FCVT-S-W-01", "2000",
"rv64i_m/F/I-FCVT-S-WU-01", "2000",
"rv64i_m/F/I-FCVT-L-S-01", "2000",
"rv64i_m/F/I-FCVT-LU-S-01", "2000",
"rv64i_m/F/I-FCVT-W-S-01", "2000",
"rv64i_m/F/I-FCVT-WU-S-01", "2000",
"rv64i_m/F/I-FDIV-S-01", "2000",
"rv64i_m/F/I-FEQ-S-01", "2000",
"rv64i_m/F/I-FLE-S-01", "2000",
"rv64i_m/F/I-FLT-S-01", "2000",
"rv64i_m/F/I-FMADD-S-01", "2000",
"rv64i_m/F/I-FMAX-S-01", "2000",
"rv64i_m/F/I-FMIN-S-01", "2000",
"rv64i_m/F/I-FMSUB-S-01", "2000",
"rv64i_m/F/I-FMUL-S-01", "2000",
"rv64i_m/F/I-FNMADD-S-01", "2000",
"rv64i_m/F/I-FNMSUB-S-01", "2000",
"rv64i_m/F/I-FSGNJ-S-01", "2000",
"rv64i_m/F/I-FSGNJN-S-01", "2000",
"rv64i_m/F/I-FSGNJX-S-01", "2000",
"rv64i_m/F/I-FSQRT-S-01", "2000",
"rv64i_m/F/I-FSUB-S-01", "2000"
};
string imperas64d[] = '{
`IMPERASTEST,
"rv64d/I-FSD-01", "2000",
"rv64d/I-FLD-01", "2420",
"rv64d/I-FMV-X-D-01", "2000",
"rv64d/I-FMV-D-X-01", "2000",
"rv64d/I-FDIV-D-01", "2000",
"rv64d/I-FNMADD-D-01", "2000",
"rv64d/I-FNMSUB-D-01", "2000",
"rv64d/I-FMSUB-D-01", "2000",
"rv64d/I-FMAX-D-01", "2000",
"rv64d/I-FMIN-D-01", "2000",
"rv64d/I-FLE-D-01", "2000",
"rv64d/I-FLT-D-01", "2000",
"rv64d/I-FEQ-D-01", "2000",
"rv64d/I-FADD-D-01", "2000",
"rv64d/I-FCLASS-D-01", "2000",
"rv64d/I-FMADD-D-01", "2000",
"rv64d/I-FMUL-D-01", "2000",
"rv64d/I-FSGNJ-D-01", "2000",
"rv64d/I-FSGNJN-D-01", "2000",
"rv64d/I-FSGNJX-D-01", "2000",
"rv64d/I-FSQRT-D-01", "2000",
"rv64d/I-FSUB-D-01", "2000",
"rv64d/I-FCVT-D-L-01", "2000",
"rv64d/I-FCVT-D-LU-01", "2000",
"rv64d/I-FCVT-D-S-01", "2000",
"rv64d/I-FCVT-D-W-01", "2000",
"rv64d/I-FCVT-D-WU-01", "2000",
"rv64d/I-FCVT-L-D-01", "2000",
"rv64d/I-FCVT-LU-D-01", "2000",
"rv64d/I-FCVT-S-D-01", "2000",
"rv64d/I-FCVT-W-D-01", "2000",
"rv64d/I-FCVT-WU-D-01", "2000"
"rv64i_m/D/I-FSD-01", "2000",
"rv64i_m/D/I-FLD-01", "2420",
"rv64i_m/D/I-FMV-X-D-01", "2000",
"rv64i_m/D//I-FMV-D-X-01", "2000",
"rv64i_m/D/I-FDIV-D-01", "2000",
"rv64i_m/D/I-FNMADD-D-01", "2000",
"rv64i_m/D/I-FNMSUB-D-01", "2000",
"rv64i_m/D/I-FMSUB-D-01", "2000",
"rv64i_m/D/I-FMAX-D-01", "2000",
"rv64i_m/D/I-FMIN-D-01", "2000",
"rv64i_m/D/I-FLE-D-01", "2000",
"rv64i_m/D/I-FLT-D-01", "2000",
"rv64i_m/D/I-FEQ-D-01", "2000",
"rv64i_m/D/I-FADD-D-01", "2000",
"rv64i_m/D/I-FCLASS-D-01", "2000",
"rv64i_m/D/I-FMADD-D-01", "2000",
"rv64i_m/D/I-FMUL-D-01", "2000",
"rv64i_m/D/I-FSGNJ-D-01", "2000",
"rv64i_m/D/I-FSGNJN-D-01", "2000",
"rv64i_m/D/I-FSGNJX-D-01", "2000",
"rv64i_m/D/I-FSQRT-D-01", "2000",
"rv64i_m/D/I-FSUB-D-01", "2000",
"rv64i_m/D/I-FCVT-D-L-01", "2000",
"rv64i_m/D/I-FCVT-D-LU-01", "2000",
"rv64i_m/D/I-FCVT-D-S-01", "2000",
"rv64i_m/D/I-FCVT-D-W-01", "2000",
"rv64i_m/D/I-FCVT-D-WU-01", "2000",
"rv64i_m/D/I-FCVT-L-D-01", "2000",
"rv64i_m/D/I-FCVT-LU-D-01", "2000",
"rv64i_m/D/I-FCVT-S-D-01", "2000",
"rv64i_m/D/I-FCVT-W-D-01", "2000",
"rv64i_m/D/I-FCVT-WU-D-01", "2000"
};
string imperas64a[] = '{
@ -157,158 +159,218 @@ string imperas32f[] = '{
string imperas64m[] = '{
`IMPERASTEST,
"rv64m/I-REMUW-01", "3000",
"rv64m/I-REMW-01", "3000",
"rv64m/I-DIVUW-01", "3000",
"rv64m/I-DIVW-01", "3000",
"rv64m/I-MUL-01", "3000",
"rv64m/I-MULH-01", "3000",
"rv64m/I-MULHSU-01", "3000",
"rv64m/I-MULHU-01", "3000",
"rv64m/I-MULW-01", "3000",
"rv64m/I-DIV-01", "3000",
"rv64m/I-DIVU-01", "3000",
"rv64m/I-REM-01", "3000",
"rv64m/I-REMU-01", "3000"
"rv64i_m/M/I-REMUW-01", "3000",
"rv64i_m/M/I-REMW-01", "3000",
"rv64i_m/M/I-DIVUW-01", "3000",
"rv64i_m/M/I-DIVW-01", "3000",
"rv64i_m/M/I-MUL-01", "3000",
"rv64i_m/M/I-MULH-01", "3000",
"rv64i_m/M/I-MULHSU-01", "3000",
"rv64i_m/M/I-MULHU-01", "3000",
"rv64i_m/M/I-MULW-01", "3000",
"rv64i_m/M/I-DIV-01", "3000",
"rv64i_m/M/I-DIVU-01", "3000",
"rv64i_m/M/I-REM-01", "3000",
"rv64i_m/M/I-REMU-01", "3000"
};
string imperas64c[] = '{
`IMPERASTEST,
"rv64ic/I-C-ADD-01", "3000",
"rv64ic/I-C-ADDI-01", "3000",
"rv64ic/I-C-ADDIW-01", "3000",
"rv64ic/I-C-ADDW-01", "3000",
"rv64ic/I-C-AND-01", "3000",
"rv64ic/I-C-ANDI-01", "3000",
"rv64ic/I-C-BEQZ-01", "3000",
"rv64ic/I-C-BNEZ-01", "3000",
"rv64ic/I-C-EBREAK-01", "2000",
"rv64ic/I-C-J-01", "3000",
"rv64ic/I-C-JALR-01", "4000",
"rv64ic/I-C-JR-01", "4000",
"rv64ic/I-C-LD-01", "3420",
"rv64ic/I-C-LDSP-01", "3420",
"rv64ic/I-C-LI-01", "3000",
"rv64ic/I-C-LUI-01", "2000",
"rv64ic/I-C-LW-01", "3110",
"rv64ic/I-C-LWSP-01", "3110",
"rv64ic/I-C-MV-01", "3000",
"rv64ic/I-C-NOP-01", "2000",
"rv64ic/I-C-OR-01", "3000",
"rv64ic/I-C-SD-01", "3000",
"rv64ic/I-C-SDSP-01", "3000",
"rv64ic/I-C-SLLI-01", "3000",
"rv64ic/I-C-SRAI-01", "3000",
"rv64ic/I-C-SRLI-01", "3000",
"rv64ic/I-C-SUB-01", "3000",
"rv64ic/I-C-SUBW-01", "3000",
"rv64ic/I-C-SW-01", "3000",
"rv64ic/I-C-SWSP-01", "3000",
"rv64ic/I-C-XOR-01", "3000"
"rv64i_m/C/I-C-ADD-01", "3000",
"rv64i_m/C/I-C-ADDI-01", "3000",
"rv64i_m/C/I-C-ADDIW-01", "3000",
"rv64i_m/C/I-C-ADDW-01", "3000",
"rv64i_m/C/I-C-AND-01", "3000",
"rv64i_m/C/I-C-ANDI-01", "3000",
"rv64i_m/C/I-C-BEQZ-01", "3000",
"rv64i_m/C/I-C-BNEZ-01", "3000",
"rv64i_m/C/I-C-EBREAK-01", "2000",
"rv64i_m/C/I-C-J-01", "3000",
"rv64i_m/C/I-C-JALR-01", "4000",
"rv64i_m/C/I-C-JR-01", "4000",
"rv64i_m/C/I-C-LD-01", "3420",
"rv64i_m/C/I-C-LDSP-01", "3420",
"rv64i_m/C/I-C-LI-01", "3000",
"rv64i_m/C/I-C-LUI-01", "2000",
"rv64i_m/C/I-C-LW-01", "3110",
"rv64i_m/C/I-C-LWSP-01", "3110",
"rv64i_m/C/I-C-MV-01", "3000",
"rv64i_m/C/I-C-NOP-01", "2000",
"rv64i_m/C/I-C-OR-01", "3000",
"rv64i_m/C/I-C-SD-01", "3000",
"rv64i_m/C/I-C-SDSP-01", "3000",
"rv64i_m/C/I-C-SLLI-01", "3000",
"rv64i_m/C/I-C-SRAI-01", "3000",
"rv64i_m/C/I-C-SRLI-01", "3000",
"rv64i_m/C/I-C-SUB-01", "3000",
"rv64i_m/C/I-C-SUBW-01", "3000",
"rv64i_m/C/I-C-SW-01", "3000",
"rv64i_m/C/I-C-SWSP-01", "3000",
"rv64i_m/C/I-C-XOR-01", "3000"
};
string imperas64iNOc[] = {
`IMPERASTEST,
"rv64i/I-MISALIGN_JMP-01","2000"
"rv64i_m/I/I-MISALIGN_JMP-01","2000"
};
string imperas64i[] = '{
`IMPERASTEST,
//"rv64i/WALLY-PIPELINE-100K", "f7ff0",
"rv64i/I-ADD-01", "3000",
"rv64i/I-ADDI-01", "3000",
"rv64i/I-ADDIW-01", "3000",
"rv64i/I-ADDW-01", "3000",
"rv64i/I-AND-01", "3000",
"rv64i/I-ANDI-01", "3000",
"rv64i/I-AUIPC-01", "3000",
"rv64i/I-BEQ-01", "4000",
"rv64i/I-BGE-01", "4000",
"rv64i/I-BGEU-01", "4000",
"rv64i/I-BLT-01", "4000",
"rv64i/I-BLTU-01", "4000",
"rv64i/I-BNE-01", "4000",
"rv64i/I-DELAY_SLOTS-01", "2000",
"rv64i/I-EBREAK-01", "2000",
"rv64i/I-ECALL-01", "2000",
"rv64i/I-ENDIANESS-01", "2010",
"rv64i/I-IO-01", "2050",
"rv64i/I-JAL-01", "3000",
"rv64i/I-JALR-01", "4000",
"rv64i/I-LB-01", "4020",
"rv64i/I-LBU-01", "4020",
"rv64i/I-LD-01", "4420",
"rv64i/I-LH-01", "4050",
"rv64i/I-LHU-01", "4050",
"rv64i/I-LUI-01", "2000",
"rv64i/I-LW-01", "4110",
"rv64i/I-LWU-01", "4110",
"rv64i/I-MISALIGN_LDST-01", "2010",
"rv64i/I-NOP-01", "2000",
"rv64i/I-OR-01", "3000",
"rv64i/I-ORI-01", "3000",
"rv64i/I-RF_size-01", "2000",
"rv64i/I-RF_width-01", "2000",
"rv64i/I-RF_x0-01", "2010",
"rv64i/I-SB-01", "4000",
"rv64i/I-SD-01", "4000",
"rv64i/I-SH-01", "4000",
"rv64i/I-SLL-01", "3000",
"rv64i/I-SLLI-01", "3000",
"rv64i/I-SLLIW-01", "3000",
"rv64i/I-SLLW-01", "3000",
"rv64i/I-SLT-01", "3000",
"rv64i/I-SLTI-01", "3000",
"rv64i/I-SLTIU-01", "3000",
"rv64i/I-SLTU-01", "3000",
"rv64i/I-SRA-01", "3000",
"rv64i/I-SRAI-01", "3000",
"rv64i/I-SRAIW-01", "3000",
"rv64i/I-SRAW-01", "3000",
"rv64i/I-SRL-01", "3000",
"rv64i/I-SRLI-01", "3000",
"rv64i/I-SRLIW-01", "3000",
"rv64i/I-SRLW-01", "3000",
"rv64i/I-SUB-01", "3000",
"rv64i/I-SUBW-01", "3000",
"rv64i/I-SW-01", "4000",
"rv64i/I-XOR-01", "3000",
"rv64i/I-XORI-01", "3000",
"rv64i/WALLY-ADD", "4000",
"rv64i/WALLY-SUB", "4000",
"rv64i/WALLY-ADDI", "3000",
"rv64i/WALLY-ANDI", "3000",
"rv64i/WALLY-ORI", "3000",
"rv64i/WALLY-XORI", "3000",
"rv64i/WALLY-SLTI", "3000",
"rv64i/WALLY-SLTIU", "3000",
"rv64i/WALLY-SLLI", "3000",
"rv64i/WALLY-SRLI", "3000",
"rv64i/WALLY-SRAI", "3000",
"rv64i/WALLY-JAL", "4000",
"rv64i/WALLY-JALR", "3000",
"rv64i/WALLY-STORE", "3000",
"rv64i/WALLY-ADDIW", "3000",
"rv64i/WALLY-SLLIW", "3000",
"rv64i/WALLY-SRLIW", "3000",
"rv64i/WALLY-SRAIW", "3000",
"rv64i/WALLY-ADDW", "4000",
"rv64i/WALLY-SUBW", "4000",
"rv64i/WALLY-SLLW", "3000",
"rv64i/WALLY-SRLW", "3000",
"rv64i/WALLY-SRAW", "3000",
"rv64i/WALLY-BEQ" ,"5000",
"rv64i/WALLY-BNE", "5000 ",
"rv64i/WALLY-BLTU", "5000 ",
"rv64i/WALLY-BLT", "5000",
"rv64i/WALLY-BGE", "5000 ",
"rv64i/WALLY-BGEU", "5000 ",
"rv64i/WALLY-CSRRW", "4000",
"rv64i/WALLY-CSRRS", "4000",
"rv64i/WALLY-CSRRC", "5000",
"rv64i/WALLY-CSRRWI", "4000",
"rv64i/WALLY-CSRRSI", "4000",
"rv64i/WALLY-CSRRCI", "4000"
"rv64i_m/I/ADD-01", "004010",
"rv64i_m/I/ADDI-01", "003010",
"rv64i_m/I/ADDIW-01", "003010",
"rv64i_m/I/ADDW-01", "003010",
"rv64i_m/I/AND-01", "004010",
"rv64i_m/I/ANDI-01", "003010",
"rv64i_m/I/AUIPC-01", "003010",
"rv64i_m/I/BEQ-01", "005010",
"rv64i_m/I/BGE-01", "005010",
"rv64i_m/I/BGEU-01", "005010",
"rv64i_m/I/BLT-01", "005010",
"rv64i_m/I/BLTU-01", "005010",
"rv64i_m/I/BNE-01", "005010",
"rv64i_m/I/I-DELAY_SLOTS-01", "002010",
"rv64i_m/I/I-EBREAK-01", "002010",
"rv64i_m/I/I-ECALL-01", "002010",
"rv64i_m/I/I-ENDIANESS-01", "002010",
"rv64i_m/I/I-IO-01", "002050",
"rv64i_m/I/I-MISALIGN_JMP-01", "002000",
"rv64i_m/I/I-MISALIGN_LDST-01", "002010",
"rv64i_m/I/I-NOP-01", "002000",
"rv64i_m/I/I-RF_size-01", "002000",
"rv64i_m/I/I-RF_width-01", "002000",
"rv64i_m/I/I-RF_x0-01", "002010",
"rv64i_m/I/JAL-01", "004010",
"rv64i_m/I/JALR-01", "005010",
"rv64i_m/I/LB-01", "004120",
"rv64i_m/I/LBU-01", "004120",
"rv64i_m/I/LD-01", "004520",
"rv64i_m/I/LH-01", "004150",
"rv64i_m/I/LHU-01", "004150",
"rv64i_m/I/LUI-01", "002010",
"rv64i_m/I/LW-01", "004210",
"rv64i_m/I/LWU-01", "004210",
"rv64i_m/I/OR-01", "004010",
"rv64i_m/I/ORI-01", "003010",
"rv64i_m/I/SB-01", "004010",
"rv64i_m/I/SD-01", "004010",
"rv64i_m/I/SH-01", "004010",
"rv64i_m/I/SLL-01", "003010",
"rv64i_m/I/SLLI-01", "003010",
"rv64i_m/I/SLLIW-01", "003010",
"rv64i_m/I/SLLW-01", "003010",
"rv64i_m/I/SLT-01", "004010",
"rv64i_m/I/SLTI-01", "003010",
"rv64i_m/I/SLTIU-01", "003010",
"rv64i_m/I/SLTU-01", "004010",
"rv64i_m/I/SRA-01", "003010",
"rv64i_m/I/SRAI-01", "003010",
"rv64i_m/I/SRAIW-01", "003010",
"rv64i_m/I/SRAW-01", "003010",
"rv64i_m/I/SRL-01", "003010",
"rv64i_m/I/SRLI-01", "003010",
"rv64i_m/I/SRLIW-01", "003010",
"rv64i_m/I/SRLW-01", "003010",
"rv64i_m/I/SUB-01", "004010",
"rv64i_m/I/SUBW-01", "003010",
"rv64i_m/I/SW-01", "004010",
"rv64i_m/I/XOR-01", "004010",
"rv64i_m/I/XORI-01", "003010"
/*
"rv64i_m/I/I-ADD-01", "3000",
"rv64i_m/I/I-ADDI-01", "3000",
"rv64i_m/I/I-ADDIW-01", "3000",
"rv64i_m/I/I-ADDW-01", "3000",
"rv64i_m/I/I-AND-01", "3000",
"rv64i_m/I/I-ANDI-01", "3000",
"rv64i_m/I/I-AUIPC-01", "3000",
"rv64i_m/I/I-BEQ-01", "4000",
"rv64i_m/I/I-BGE-01", "4000",
"rv64i_m/I/I-BGEU-01", "4000",
"rv64i_m/I/I-BLT-01", "4000",
"rv64i_m/I/I-BLTU-01", "4000",
"rv64i_m/I/I-BNE-01", "4000",
"rv64i_m/I/I-DELAY_SLOTS-01", "2000",
"rv64i_m/I/I-EBREAK-01", "2000",
"rv64i_m/I/I-ECALL-01", "2000",
"rv64i_m/I/I-ENDIANESS-01", "2010",
"rv64i_m/I/I-IO-01", "2050",
"rv64i_m/I/I-JAL-01", "3000",
"rv64i_m/I/I-JALR-01", "4000",
"rv64i_m/I/I-LB-01", "4020",
"rv64i_m/I/I-LBU-01", "4020",
"rv64i_m/I/I-LD-01", "4420",
"rv64i_m/I/I-LH-01", "4050",
"rv64i_m/I/I-LHU-01", "4050",
"rv64i_m/I/I-LUI-01", "2000",
"rv64i_m/I/I-LW-01", "4110",
"rv64i_m/I/I-LWU-01", "4110",
"rv64i_m/I/I-MISALIGN_LDST-01", "2010",
"rv64i_m/I/I-NOP-01", "2000",
"rv64i_m/I/I-OR-01", "3000",
"rv64i_m/I/I-ORI-01", "3000",
"rv64i_m/I/I-RF_size-01", "2000",
"rv64i_m/I/I-RF_width-01", "2000",
"rv64i_m/I/I-RF_x0-01", "2010",
"rv64i_m/I/I-SB-01", "4000",
"rv64i_m/I/I-SD-01", "4000",
"rv64i_m/I/I-SH-01", "4000",
"rv64i_m/I/I-SLL-01", "3000",
"rv64i_m/I/I-SLLI-01", "3000",
"rv64i_m/I/I-SLLIW-01", "3000",
"rv64i_m/I/I-SLLW-01", "3000",
"rv64i_m/I/I-SLT-01", "3000",
"rv64i_m/I/I-SLTI-01", "3000",
"rv64i_m/I/I-SLTIU-01", "3000",
"rv64i_m/I/I-SLTU-01", "3000",
"rv64i_m/I/I-SRA-01", "3000",
"rv64i_m/I/I-SRAI-01", "3000",
"rv64i_m/I/I-SRAIW-01", "3000",
"rv64i_m/I/I-SRAW-01", "3000",
"rv64i_m/I/I-SRL-01", "3000",
"rv64i_m/I/I-SRLI-01", "3000",
"rv64i_m/I/I-SRLIW-01", "3000",
"rv64i_m/I/I-SRLW-01", "3000",
"rv64i_m/I/I-SUB-01", "3000",
"rv64i_m/I/I-SUBW-01", "3000",
"rv64i_m/I/I-SW-01", "4000",
"rv64i_m/I/I-XOR-01", "3000",
"rv64i_m/I/I-XORI-01", "3000",
"rv64i_m/I/WALLY-ADD", "4000",
"rv64i_m/I/WALLY-SUB", "4000",
"rv64i_m/I/WALLY-ADDI", "3000",
"rv64i_m/I/WALLY-ANDI", "3000",
"rv64i_m/I/WALLY-ORI", "3000",
"rv64i_m/I/WALLY-XORI", "3000",
"rv64i_m/I/WALLY-SLTI", "3000",
"rv64i_m/I/WALLY-SLTIU", "3000",
"rv64i_m/I/WALLY-SLLI", "3000",
"rv64i_m/I/WALLY-SRLI", "3000",
"rv64i_m/I/WALLY-SRAI", "3000",
"rv64i_m/I/WALLY-JAL", "4000",
"rv64i_m/I/WALLY-JALR", "3000",
"rv64i_m/I/WALLY-STORE", "3000",
"rv64i_m/I/WALLY-ADDIW", "3000",
"rv64i_m/I/WALLY-SLLIW", "3000",
"rv64i_m/I/WALLY-SRLIW", "3000",
"rv64i_m/I/WALLY-SRAIW", "3000",
"rv64i_m/I/WALLY-ADDW", "4000",
"rv64i_m/I/WALLY-SUBW", "4000",
"rv64i_m/I/WALLY-SLLW", "3000",
"rv64i_m/I/WALLY-SRLW", "3000",
"rv64i_m/I/WALLY-SRAW", "3000",
"rv64i_m/I/WALLY-BEQ" ,"5000",
"rv64i_m/I/WALLY-BNE", "5000 ",
"rv64i_m/I/WALLY-BLTU", "5000 ",
"rv64i_m/I/WALLY-BLT", "5000",
"rv64i_m/I/WALLY-BGE", "5000 ",
"rv64i_m/I/WALLY-BGEU", "5000 ",
"rv64i_m/I/WALLY-CSRRW", "4000",
"rv64i_m/I/WALLY-CSRRS", "4000",
"rv64i_m/I/WALLY-CSRRC", "5000",
"rv64i_m/I/WALLY-CSRRWI", "4000",
"rv64i_m/I/WALLY-CSRRSI", "4000",
"rv64i_m/I/WALLY-CSRRCI", "4000" */
};
string imperas32a[] = '{
@ -319,127 +381,175 @@ string imperas32f[] = '{
string imperas32m[] = '{
`IMPERASTEST,
"rv32m/I-DIVU-01", "2000",
"rv32m/I-REMU-01", "2000",
"rv32m/I-DIV-01", "2000",
"rv32m/I-REM-01", "2000",
"rv32m/I-MUL-01", "2000",
"rv32m/I-MULH-01", "2000",
"rv32m/I-MULHSU-01", "2000",
"rv32m/I-MULHU-01", "2000"
"rv32i_m/M/I-DIVU-01", "2000",
"rv32i_m/M/I-REMU-01", "2000",
"rv32i_m/M/I-DIV-01", "2000",
"rv32i_m/M/I-REM-01", "2000",
"rv32i_m/M/I-MUL-01", "2000",
"rv32i_m/M/I-MULH-01", "2000",
"rv32i_m/M/I-MULHSU-01", "2000",
"rv32i_m/M/I-MULHU-01", "2000"
};
string imperas32c[] = '{
`IMPERASTEST,
"rv32ic/I-C-ADD-01", "2000",
"rv32ic/I-C-ADDI-01", "2000",
"rv32ic/I-C-AND-01", "2000",
"rv32ic/I-C-ANDI-01", "2000",
"rv32ic/I-C-BEQZ-01", "2000",
"rv32ic/I-C-BNEZ-01", "2000",
"rv32ic/I-C-EBREAK-01", "2000",
"rv32ic/I-C-J-01", "2000",
"rv32ic/I-C-JALR-01", "3000",
"rv32ic/I-C-JR-01", "3000",
"rv32ic/I-C-LI-01", "2000",
"rv32ic/I-C-LUI-01", "2000",
"rv32ic/I-C-LW-01", "2110",
"rv32ic/I-C-LWSP-01", "2110",
"rv32ic/I-C-MV-01", "2000",
"rv32ic/I-C-NOP-01", "2000",
"rv32ic/I-C-OR-01", "2000",
"rv32ic/I-C-SLLI-01", "2000",
"rv32ic/I-C-SRAI-01", "2000",
"rv32ic/I-C-SRLI-01", "2000",
"rv32ic/I-C-SUB-01", "2000",
"rv32ic/I-C-SW-01", "2000",
"rv32ic/I-C-SWSP-01", "2000",
"rv32ic/I-C-XOR-01", "2000"
"rv32i_m/C/I-C-ADD-01", "2000",
"rv32i_m/C/I-C-ADDI-01", "2000",
"rv32i_m/C/I-C-AND-01", "2000",
"rv32i_m/C/I-C-ANDI-01", "2000",
"rv32i_m/C/I-C-BEQZ-01", "2000",
"rv32i_m/C/I-C-BNEZ-01", "2000",
"rv32i_m/C/I-C-EBREAK-01", "2000",
"rv32i_m/C/I-C-J-01", "2000",
"rv32i_m/C/I-C-JALR-01", "3000",
"rv32i_m/C/I-C-JR-01", "3000",
"rv32i_m/C/I-C-LI-01", "2000",
"rv32i_m/C/I-C-LUI-01", "2000",
"rv32i_m/C/I-C-LW-01", "2110",
"rv32i_m/C/I-C-LWSP-01", "2110",
"rv32i_m/C/I-C-MV-01", "2000",
"rv32i_m/C/I-C-NOP-01", "2000",
"rv32i_m/C/I-C-OR-01", "2000",
"rv32i_m/C/I-C-SLLI-01", "2000",
"rv32i_m/C/I-C-SRAI-01", "2000",
"rv32i_m/C/I-C-SRLI-01", "2000",
"rv32i_m/C/I-C-SUB-01", "2000",
"rv32i_m/C/I-C-SW-01", "2000",
"rv32i_m/C/I-C-SWSP-01", "2000",
"rv32i_m/C/I-C-XOR-01", "2000"
};
string imperas32iNOc[] = {
`IMPERASTEST,
"rv32i/I-MISALIGN_JMP-01","2000"
"rv32i_m/I/I-MISALIGN_JMP-01","2000"
};
string imperas32i[] = {
`IMPERASTEST,
//"rv32i/WALLY-PIPELINE-100K", "10a800",
"rv32i/I-ADD-01", "2000",
"rv32i/I-ADDI-01","2000",
"rv32i/I-AND-01","2000",
"rv32i/I-ANDI-01","2000",
"rv32i/I-AUIPC-01","2000",
"rv32i/I-BEQ-01","3000",
"rv32i/I-BGE-01","3000",
"rv32i/I-BGEU-01","3000",
"rv32i/I-BLT-01","3000",
"rv32i/I-BLTU-01","3000",
"rv32i/I-BNE-01","3000",
"rv32i/I-DELAY_SLOTS-01","2000",
"rv32i/I-EBREAK-01","2000",
"rv32i/I-ECALL-01","2000",
"rv32i/I-ENDIANESS-01","2010",
"rv32i/I-IO-01","2030rv",
"rv32i/I-JAL-01","3000",
"rv32i/I-JALR-01","3000",
"rv32i/I-LB-01","3020",
"rv32i/I-LBU-01","3020",
"rv32i/I-LH-01","3050",
"rv32i/I-LHU-01","3050",
"rv32i/I-LUI-01","2000",
"rv32i/I-LW-01","3110",
"rv32i/I-MISALIGN_LDST-01","2010",
"rv32i/I-NOP-01","2000",
"rv32i/I-OR-01","2000",
"rv32i/I-ORI-01","2000",
"rv32i/I-RF_size-01","2000",
"rv32i/I-RF_width-01","2000",
"rv32i/I-RF_x0-01","2010",
"rv32i/I-SB-01","3000",
"rv32i/I-SH-01","3000",
"rv32i/I-SLL-01","2000",
"rv32i/I-SLLI-01","2000",
"rv32i/I-SLT-01","2000",
"rv32i/I-SLTI-01","2000",
"rv32i/I-SLTIU-01","2000",
"rv32i/I-SLTU-01","2000",
"rv32i/I-SRA-01","2000",
"rv32i/I-SRAI-01","2000",
"rv32i/I-SRL-01","2000",
"rv32i/I-SRLI-01","2000",
"rv32i/I-SUB-01","2000",
"rv32i/I-SW-01","3000",
"rv32i/I-XOR-01","2000",
"rv32i/I-XORI-01","2000",
"rv32i/WALLY-ADD", "3000",
"rv32i/WALLY-SUB", "3000",
"rv32i/WALLY-ADDI", "2000",
"rv32i/WALLY-ANDI", "2000",
"rv32i/WALLY-ORI", "2000",
"rv32i/WALLY-XORI", "2000",
"rv32i/WALLY-SLTI", "2000",
"rv32i/WALLY-SLTIU", "2000",
"rv32i/WALLY-SLLI", "2000",
"rv32i/WALLY-SRLI", "2000",
"rv32i/WALLY-SRAI", "2000",
"rv32i/WALLY-LOAD", "11c00",
"rv32i/WALLY-SUB", "3000",
"rv32i/WALLY-STORE", "2000",
"rv32i/WALLY-JAL", "3000",
"rv32i/WALLY-JALR", "2000",
"rv32i/WALLY-BEQ" ,"4000",
"rv32i/WALLY-BNE", "4000 ",
"rv32i/WALLY-BLTU", "4000 ",
"rv32i/WALLY-BLT", "4000",
"rv32i/WALLY-BGE", "4000 ",
"rv32i/WALLY-BGEU", "4000 ",
"rv32i/WALLY-CSRRW", "3000",
"rv32i/WALLY-CSRRS", "3000",
"rv32i/WALLY-CSRRC", "4000",
"rv32i/WALLY-CSRRWI", "3000",
"rv32i/WALLY-CSRRSI", "3000",
"rv32i/WALLY-CSRRCI", "3000"
"rv32i_m/I/ADD-01", "002010",
"rv32i_m/I/ADDI-01", "002010",
"rv32i_m/I/AND-01", "002010",
"rv32i_m/I/ANDI-01", "002010",
"rv32i_m/I/AUIPC-01", "002010",
"rv32i_m/I/BEQ-01", "003010",
"rv32i_m/I/BGE-01", "003010",
"rv32i_m/I/BGEU-01", "003010",
"rv32i_m/I/BLT-01", "003010",
"rv32i_m/I/BLTU-01", "003010",
"rv32i_m/I/BNE-01", "003010",
"rv32i_m/I/I-DELAY_SLOTS-01", "002010",
"rv32i_m/I/I-EBREAK-01", "002010",
"rv32i_m/I/I-ECALL-01", "002010",
"rv32i_m/I/I-ENDIANESS-01", "002010",
"rv32i_m/I/I-IO-01", "002030",
"rv32i_m/I/I-MISALIGN_JMP-01", "002000",
"rv32i_m/I/I-MISALIGN_LDST-01", "002010",
"rv32i_m/I/I-NOP-01", "002000",
"rv32i_m/I/I-RF_size-01", "002000",
"rv32i_m/I/I-RF_width-01", "002000",
"rv32i_m/I/I-RF_x0-01", "002010",
"rv32i_m/I/JAL-01", "003010",
"rv32i_m/I/JALR-01", "003010",
"rv32i_m/I/LB-01", "003030",
"rv32i_m/I/LBU-01", "003030",
"rv32i_m/I/LH-01", "003060",
"rv32i_m/I/LHU-01", "003060",
"rv32i_m/I/LUI-01", "002010",
"rv32i_m/I/LW-01", "003120",
"rv32i_m/I/OR-01", "002010",
"rv32i_m/I/ORI-01", "002010",
"rv32i_m/I/SB-01", "003010",
"rv32i_m/I/SH-01", "003010",
"rv32i_m/I/SLL-01", "002010",
"rv32i_m/I/SLLI-01", "002010",
"rv32i_m/I/SLT-01", "002010",
"rv32i_m/I/SLTI-01", "002010",
"rv32i_m/I/SLTIU-01", "002010",
"rv32i_m/I/SLTU-01", "002010",
"rv32i_m/I/SRA-01", "002010",
"rv32i_m/I/SRAI-01", "002010",
"rv32i_m/I/SRL-01", "002010",
"rv32i_m/I/SRLI-01", "002010",
"rv32i_m/I/SUB-01", "002010",
"rv32i_m/I/SW-01", "003010",
"rv32i_m/I/XOR-01", "002010",
"rv32i_m/I/XORI-01", "002010"
/* //"rv32i_m/I/WALLY-PIPELINE-100K", "10a800",
"rv32i_m/I/I-ADD-01", "2000",
"rv32i_m/I/I-ADDI-01","2000",
"rv32i_m/I/I-AND-01","2000",
"rv32i_m/I/I-ANDI-01","2000",
"rv32i_m/I/I-AUIPC-01","2000",
"rv32i_m/I/I-BEQ-01","3000",
"rv32i_m/I/I-BGE-01","3000",
"rv32i_m/I/I-BGEU-01","3000",
"rv32i_m/I/I-BLT-01","3000",
"rv32i_m/I/I-BLTU-01","3000",
"rv32i_m/I/I-BNE-01","3000",
"rv32i_m/I/I-DELAY_SLOTS-01","2000",
"rv32i_m/I/I-EBREAK-01","2000",
"rv32i_m/I/I-ECALL-01","2000",
"rv32i_m/I/I-ENDIANESS-01","2010",
"rv32i_m/I/I-IO-01","2030rv",
"rv32i_m/I/I-JAL-01","3000",
"rv32i_m/I/I-JALR-01","3000",
"rv32i_m/I/I-LB-01","3020",
"rv32i_m/I/I-LBU-01","3020",
"rv32i_m/I/I-LH-01","3050",
"rv32i_m/I/I-LHU-01","3050",
"rv32i_m/I/I-LUI-01","2000",
"rv32i_m/I/I-LW-01","3110",
"rv32i_m/I/I-MISALIGN_LDST-01","2010",
"rv32i_m/I/I-NOP-01","2000",
"rv32i_m/I/I-OR-01","2000",
"rv32i_m/I/I-ORI-01","2000",
"rv32i_m/I/I-RF_size-01","2000",
"rv32i_m/I/I-RF_width-01","2000",
"rv32i_m/I/I-RF_x0-01","2010",
"rv32i_m/I/I-SB-01","3000",
"rv32i_m/I/I-SH-01","3000",
"rv32i_m/I/I-SLL-01","2000",
"rv32i_m/I/I-SLLI-01","2000",
"rv32i_m/I/I-SLT-01","2000",
"rv32i_m/I/I-SLTI-01","2000",
"rv32i_m/I/I-SLTIU-01","2000",
"rv32i_m/I/I-SLTU-01","2000",
"rv32i_m/I/I-SRA-01","2000",
"rv32i_m/I/I-SRAI-01","2000",
"rv32i_m/I/I-SRL-01","2000",
"rv32i_m/I/I-SRLI-01","2000",
"rv32i_m/I/I-SUB-01","2000",
"rv32i_m/I/I-SW-01","3000",
"rv32i_m/I/I-XOR-01","2000",
"rv32i_m/I/I-XORI-01","2000",
"rv32i_m/I/WALLY-ADD", "3000",
"rv32i_m/I/WALLY-SUB", "3000",
"rv32i_m/I/WALLY-ADDI", "2000",
"rv32i_m/I/WALLY-ANDI", "2000",
"rv32i_m/I/WALLY-ORI", "2000",
"rv32i_m/I/WALLY-XORI", "2000",
"rv32i_m/I/WALLY-SLTI", "2000",
"rv32i_m/I/WALLY-SLTIU", "2000",
"rv32i_m/I/WALLY-SLLI", "2000",
"rv32i_m/I/WALLY-SRLI", "2000",
"rv32i_m/I/WALLY-SRAI", "2000",
"rv32i_m/I/WALLY-LOAD", "11c00",
"rv32i_m/I/WALLY-SUB", "3000",
"rv32i_m/I/WALLY-STORE", "2000",
"rv32i_m/I/WALLY-JAL", "3000",
"rv32i_m/I/WALLY-JALR", "2000",
"rv32i_m/I/WALLY-BEQ" ,"4000",
"rv32i_m/I/WALLY-BNE", "4000 ",
"rv32i_m/I/WALLY-BLTU", "4000 ",
"rv32i_m/I/WALLY-BLT", "4000",
"rv32i_m/I/WALLY-BGE", "4000 ",
"rv32i_m/I/WALLY-BGEU", "4000 ",
"rv32i_m/I/WALLY-CSRRW", "3000",
"rv32i_m/I/WALLY-CSRRS", "3000",
"rv32i_m/I/WALLY-CSRRC", "4000",
"rv32i_m/I/WALLY-CSRRWI", "3000",
"rv32i_m/I/WALLY-CSRRSI", "3000",
"rv32i_m/I/WALLY-CSRRCI", "3000" */
};
string testsBP64[] = '{