Changes for floating point sims

This commit is contained in:
David Harris 2021-10-27 10:37:35 -07:00
parent b7b6d6f23f
commit 5783e47e1a
6 changed files with 158 additions and 152 deletions

View File

@ -48,6 +48,7 @@ for test in tests64:
cmd="vsim > {} -c <<!\ndo wally-pipelined-batch.do rv64g "+test+"\n!", cmd="vsim > {} -c <<!\ndo wally-pipelined-batch.do rv64g "+test+"\n!",
grepstr="All tests ran without failures") grepstr="All tests ran without failures")
configs.append(tc) configs.append(tc)
#tests32 = ["arch32i", "arch32priv", "arch32c", "arch32m", "arch32f", "imperas32i", "imperas32p", "imperas32mmu", "imperas32f", "imperas32m", "imperas32a", "imperas32c"]
tests32 = ["arch32i", "arch32priv", "arch32c", "arch32m", "imperas32i", "imperas32p", "imperas32mmu", "imperas32f", "imperas32m", "imperas32a", "imperas32c"] tests32 = ["arch32i", "arch32priv", "arch32c", "arch32m", "imperas32i", "imperas32p", "imperas32mmu", "imperas32f", "imperas32m", "imperas32a", "imperas32c"]
for test in tests32: for test in tests32:
tc = TestCase( tc = TestCase(

View File

@ -1,2 +1,2 @@
vsim -do "do wally-pipelined.do rv32g arch32m" vsim -do "do wally-pipelined.do rv32g arch32f"

View File

@ -1,3 +1,3 @@
vsim -c <<! vsim -c <<!
do wally-pipelined-batch.do rv64g arch64m do wally-pipelined-batch.do rv32g arch32f
! !

View File

@ -53,7 +53,7 @@ add wave -hex /testbench/dut/hart/lsu/dcache/ReadDataM
add wave -divider add wave -divider
add wave -hex /testbench/PCW add wave -hex /testbench/PCW
#add wave -hex /testbench/InstrW #add wave -hex /testbench/InstrW
add wave -hex /testbench/dut/hart/ieu/c/InstrValidW #add wave -hex /testbench/dut/hart/ieu/c/InstrValidW
#add wave /testbench/InstrWName #add wave /testbench/InstrWName
add wave -hex /testbench/dut/hart/ReadDataW add wave -hex /testbench/dut/hart/ReadDataW
add wave -hex /testbench/dut/hart/ieu/dp/ResultW add wave -hex /testbench/dut/hart/ieu/dp/ResultW

View File

@ -101,6 +101,7 @@ logic [3:0] dummy;
"arch32priv": tests = arch32priv; "arch32priv": tests = arch32priv;
"arch32c": if (`C_SUPPORTED) tests = arch32c; "arch32c": if (`C_SUPPORTED) tests = arch32c;
"arch32m": if (`M_SUPPORTED) tests = arch32m; "arch32m": if (`M_SUPPORTED) tests = arch32m;
"arch32f": if (`F_SUPPORTED) tests = arch32f;
"imperas32i": tests = imperas32i; "imperas32i": tests = imperas32i;
"imperas32p": tests = imperas32p; "imperas32p": tests = imperas32p;
"imperas32mmu": if (`MEM_VIRTMEM) tests = imperas32mmu; "imperas32mmu": if (`MEM_VIRTMEM) tests = imperas32mmu;

View File

@ -668,158 +668,162 @@ string imperas32f[] = '{
"rv32i_m/M/remu-01", "5010" "rv32i_m/M/remu-01", "5010"
}; };
/*
string arch32f[] = '{ string arch32f[] = '{
`RISCVARCHTEST, `RISCVARCHTEST,
"rv32i_m/M/div-01", "5010", // tests repeated up here for basic sanity
"fadd_b1-01", "", //"rv32i_m/F/flw-align-01", "2010", // passes
"fadd_b10-01", "", //"rv32i_m/F/fmv.w.x_b25-01", "2090", // passes
"fadd_b11-01", "", "rv32i_m/F/fmadd_b14-01", "23d0", // fails test 1
"fadd_b12-01", "", "rv32i_m/F/fcvt.s.w_b25-01", "20a0", // fails test 3
"fadd_b13-01", "", // main tests
"fadd_b2-01", "", "rv32i_m/F/fadd_b1-01", "7220",
"fadd_b3-01", "", "rv32i_m/F/fadd_b10-01", "2270",
"fadd_b4-01", "", "rv32i_m/F/fadd_b11-01", "3fb40",
"fadd_b5-01", "", "rv32i_m/F/fadd_b12-01", "21b0",
"fadd_b7-01", "", "rv32i_m/F/fadd_b13-01", "3660",
"fadd_b8-01", "", "rv32i_m/F/fadd_b2-01", "38b0",
"fclass_b1-01", "", "rv32i_m/F/fadd_b3-01", "b320",
"fcvt.s.w_b25-01", "", "rv32i_m/F/fadd_b4-01", "3480",
"fcvt.s.w_b26-01", "", "rv32i_m/F/fadd_b5-01", "3700",
"fcvt.s.wu_b25-01", "", "rv32i_m/F/fadd_b7-01", "3520",
"fcvt.s.wu_b26-01", "", "rv32i_m/F/fadd_b8-01", "104a0",
"fcvt.w.s_b1-01", "", "rv32i_m/F/fclass_b1-01", "2090",
"fcvt.w.s_b22-01", "", "rv32i_m/F/fcvt.s.w_b25-01", "20a0",
"fcvt.w.s_b23-01", "", "rv32i_m/F/fcvt.s.w_b26-01", "3290",
"fcvt.w.s_b24-01", "", "rv32i_m/F/fcvt.s.wu_b25-01", "20a0",
"fcvt.w.s_b27-01", "", "rv32i_m/F/fcvt.s.wu_b26-01", "3290",
"fcvt.w.s_b28-01", "", "rv32i_m/F/fcvt.w.s_b1-01", "2090",
"fcvt.w.s_b29-01", "", "rv32i_m/F/fcvt.w.s_b22-01", "20b0",
"fcvt.wu.s_b1-01", "", "rv32i_m/F/fcvt.w.s_b23-01", "20c0",
"fcvt.wu.s_b22-01", "", "rv32i_m/F/fcvt.w.s_b24-01", "21b0",
"fcvt.wu.s_b23-01", "", "rv32i_m/F/fcvt.w.s_b27-01", "2090",
"fcvt.wu.s_b24-01", "", "rv32i_m/F/fcvt.w.s_b28-01", "2090",
"fcvt.wu.s_b27-01", "", "rv32i_m/F/fcvt.w.s_b29-01", "2150",
"fcvt.wu.s_b28-01", "", "rv32i_m/F/fcvt.wu.s_b1-01", "2090",
"fcvt.wu.s_b29-01", "", "rv32i_m/F/fcvt.wu.s_b22-01", "20b0",
"fdiv_b1-01", "", "rv32i_m/F/fcvt.wu.s_b23-01", "20c0",
"fdiv_b2-01", "", "rv32i_m/F/fcvt.wu.s_b24-01", "21b0",
"fdiv_b20-01", "", "rv32i_m/F/fcvt.wu.s_b27-01", "2090",
"fdiv_b21-01", "", "rv32i_m/F/fcvt.wu.s_b28-01", "2090",
"fdiv_b3-01", "", "rv32i_m/F/fcvt.wu.s_b29-01", "2150",
"fdiv_b4-01", "", "rv32i_m/F/fdiv_b1-01", "7220",
"fdiv_b5-01", "", "rv32i_m/F/fdiv_b2-01", "2350",
"fdiv_b6-01", "", "rv32i_m/F/fdiv_b20-01", "38c0",
"fdiv_b7-01", "", "rv32i_m/F/fdiv_b21-01", "7540",
"fdiv_b8-01", "", "rv32i_m/F/fdiv_b3-01", "b320",
"fdiv_b9-01", "", "rv32i_m/F/fdiv_b4-01", "3480",
"feq_b1-01", "", "rv32i_m/F/fdiv_b5-01", "3700",
"feq_b19-01", "", "rv32i_m/F/fdiv_b6-01", "3480",
"fle_b1-01", "", "rv32i_m/F/fdiv_b7-01", "3520",
"fle_b19-01", "", "rv32i_m/F/fdiv_b8-01", "104a0",
"flt_b1-01", "", "rv32i_m/F/fdiv_b9-01", "d960",
"flt_b19-01", "", "rv32i_m/F/feq_b1-01", "6220",
"flw-align-01", "", "rv32i_m/F/feq_b19-01", "a190",
"fmadd_b1-01", "", "rv32i_m/F/fle_b1-01", "6220",
"fmadd_b14-01", "", "rv32i_m/F/fle_b19-01", "a190",
"fmadd_b15-01", "", "rv32i_m/F/flt_b1-01", "6220",
"fmadd_b16-01", "", "rv32i_m/F/flt_b19-01", "8ee0",
"fmadd_b17-01", "", "rv32i_m/F/flw-align-01", "2010",
"fmadd_b18-01", "", "rv32i_m/F/fmadd_b1-01", "96860",
"fmadd_b2-01", "", "rv32i_m/F/fmadd_b14-01", "23d0",
"fmadd_b3-01", "", "rv32i_m/F/fmadd_b15-01", "19bb30",
"fmadd_b4-01", "", "rv32i_m/F/fmadd_b16-01", "39d0",
"fmadd_b5-01", "", "rv32i_m/F/fmadd_b17-01", "39d0",
"fmadd_b6-01", "", "rv32i_m/F/fmadd_b18-01", "4d10",
"fmadd_b7-01", "", "rv32i_m/F/fmadd_b2-01", "4d60",
"fmadd_b8-01", "", "rv32i_m/F/fmadd_b3-01", "d4f0",
"fmax_b1-01", "", "rv32i_m/F/fmadd_b4-01", "3700",
"fmax_b19-01", "", "rv32i_m/F/fmadd_b5-01", "3ac0",
"fmin_b1-01", "", "rv32i_m/F/fmadd_b6-01", "3700",
"fmin_b19-01", "", "rv32i_m/F/fmadd_b7-01", "d7f0",
"fmsub_b1-01", "", "rv32i_m/F/fmadd_b8-01", "13f30",
"fmsub_b14-01", "", "rv32i_m/F/fmax_b1-01", "7220",
"fmsub_b15-01", "", "rv32i_m/F/fmax_b19-01", "9e00",
"fmsub_b16-01", "", "rv32i_m/F/fmin_b1-01", "7220",
"fmsub_b17-01", "", "rv32i_m/F/fmin_b19-01", "9f20",
"fmsub_b18-01", "", "rv32i_m/F/fmsub_b1-01", "96860",
"fmsub_b2-01", "", "rv32i_m/F/fmsub_b14-01", "23d0",
"fmsub_b3-01", "", "rv32i_m/F/fmsub_b15-01", "19bb30",
"fmsub_b4-01", "", "rv32i_m/F/fmsub_b16-01", "39d0",
"fmsub_b5-01", "", "rv32i_m/F/fmsub_b17-01", "39d0",
"fmsub_b6-01", "", "rv32i_m/F/fmsub_b18-01", "42d0",
"fmsub_b7-01", "", "rv32i_m/F/fmsub_b2-01", "4d60",
"fmsub_b8-01", "", "rv32i_m/F/fmsub_b3-01", "d4f0",
"fmul_b1-01", "", "rv32i_m/F/fmsub_b4-01", "3700",
"fmul_b2-01", "", "rv32i_m/F/fmsub_b5-01", "3ac0",
"fmul_b3-01", "", "rv32i_m/F/fmsub_b6-01", "3700",
"fmul_b4-01", "", "rv32i_m/F/fmsub_b7-01", "37f0",
"fmul_b5-01", "", "rv32i_m/F/fmsub_b8-01", "13f30",
"fmul_b6-01", "", "rv32i_m/F/fmul_b1-01", "7220",
"fmul_b7-01", "", "rv32i_m/F/fmul_b2-01", "38c0",
"fmul_b8-01", "", "rv32i_m/F/fmul_b3-01", "b320",
"fmul_b9-01", "", "rv32i_m/F/fmul_b4-01", "3480",
"fmv.w.x_b25-01", "", "rv32i_m/F/fmul_b5-01", "3700",
"fmv.w.x_b26-01", "", "rv32i_m/F/fmul_b6-01", "3480",
"fmv.x.w_b1-01", "", "rv32i_m/F/fmul_b7-01", "3520",
"fmv.x.w_b22-01", "", "rv32i_m/F/fmul_b8-01", "104a0",
"fmv.x.w_b23-01", "", "rv32i_m/F/fmul_b9-01", "d960",
"fmv.x.w_b24-01", "", "rv32i_m/F/fmv.w.x_b25-01", "2090",
"fmv.x.w_b27-01", "", "rv32i_m/F/fmv.w.x_b26-01", "2090",
"fmv.x.w_b28-01", "", "rv32i_m/F/fmv.x.w_b1-01", "2090",
"fmv.x.w_b29-01", "", "rv32i_m/F/fmv.x.w_b22-01", "2090",
"fnmadd_b1-01", "", "rv32i_m/F/fmv.x.w_b23-01", "2090",
"fnmadd_b14-01", "", "rv32i_m/F/fmv.x.w_b24-01", "2090",
"fnmadd_b15-01", "", "rv32i_m/F/fmv.x.w_b27-01", "2090",
"fnmadd_b16-01", "", "rv32i_m/F/fmv.x.w_b28-01", "2090",
"fnmadd_b17-01", "", "rv32i_m/F/fmv.x.w_b29-01", "2090",
"fnmadd_b18-01", "", "rv32i_m/F/fnmadd_b1-01", "96870",
"fnmadd_b2-01", "", "rv32i_m/F/fnmadd_b14-01", "23d0",
"fnmadd_b3-01", "", "rv32i_m/F/fnmadd_b15-01", "19bb40",
"fnmadd_b4-01", "", "rv32i_m/F/fnmadd_b16-01", "39d0",
"fnmadd_b5-01", "", "rv32i_m/F/fnmadd_b17-01", "39d0",
"fnmadd_b6-01", "", "rv32i_m/F/fnmadd_b18-01", "4d10",
"fnmadd_b7-01", "", "rv32i_m/F/fnmadd_b2-01", "4d60",
"fnmadd_b8-01", "", "rv32i_m/F/fnmadd_b3-01", "d4f0",
"fnmsub_b1-01", "", "rv32i_m/F/fnmadd_b4-01", "3700",
"fnmsub_b14-01", "", "rv32i_m/F/fnmadd_b5-01", "3ac0",
"fnmsub_b15-01", "", "rv32i_m/F/fnmadd_b6-01", "3700",
"fnmsub_b16-01", "", "rv32i_m/F/fnmadd_b7-01", "37f0",
"fnmsub_b17-01", "", "rv32i_m/F/fnmadd_b8-01", "13f30",
"fnmsub_b18-01", "", "rv32i_m/F/fnmsub_b1-01", "96870",
"fnmsub_b2-01", "", "rv32i_m/F/fnmsub_b14-01", "23d0",
"fnmsub_b3-01", "", "rv32i_m/F/fnmsub_b15-01", "19bb30",
"fnmsub_b4-01", "", "rv32i_m/F/fnmsub_b16-01", "39d0",
"fnmsub_b5-01", "", "rv32i_m/F/fnmsub_b17-01", "39d0",
"fnmsub_b6-01", "", "rv32i_m/F/fnmsub_b18-01", "4d10",
"fnmsub_b7-01", "", "rv32i_m/F/fnmsub_b2-01", "4d60",
"fnmsub_b8-01", "", "rv32i_m/F/fnmsub_b3-01", "4df0",
"fsgnj_b1-01", "", "rv32i_m/F/fnmsub_b4-01", "3700",
"fsgnjn_b1-01", "", "rv32i_m/F/fnmsub_b5-01", "3ac0",
"fsgnjx_b1-01", "", "rv32i_m/F/fnmsub_b6-01", "3700",
"fsqrt_b1-01", "", "rv32i_m/F/fnmsub_b7-01", "37f0",
"fsqrt_b2-01", "", "rv32i_m/F/fnmsub_b8-01", "13f30",
"fsqrt_b20-01", "", "rv32i_m/F/fsgnj_b1-01", "7220",
"fsqrt_b3-01", "", "rv32i_m/F/fsgnjn_b1-01", "7220",
"fsqrt_b4-01", "", "rv32i_m/F/fsgnjx_b1-01", "7220",
"fsqrt_b5-01", "", "rv32i_m/F/fsqrt_b1-01", "2090",
"fsqrt_b7-01", "", "rv32i_m/F/fsqrt_b2-01", "2090",
"fsqrt_b8-01", "", "rv32i_m/F/fsqrt_b20-01", "2090",
"fsqrt_b9-01", "", "rv32i_m/F/fsqrt_b3-01", "2090",
"fsub_b1-01", "", "rv32i_m/F/fsqrt_b4-01", "2090",
"fsub_b10-01", "", "rv32i_m/F/fsqrt_b5-01", "2090",
"fsub_b11-01", "", "rv32i_m/F/fsqrt_b7-01", "2090",
"fsub_b12-01", "", "rv32i_m/F/fsqrt_b8-01", "2090",
"fsub_b13-01", "", "rv32i_m/F/fsqrt_b9-01", "3310",
"fsub_b2-01", "", "rv32i_m/F/fsub_b1-01", "7220",
"fsub_b3-01", "", "rv32i_m/F/fsub_b10-01", "2250",
"fsub_b4-01", "", "rv32i_m/F/fsub_b11-01", "3fb40",
"fsub_b5-01", "", "rv32i_m/F/fsub_b12-01", "21b0",
"fsub_b7-01", "", "rv32i_m/F/fsub_b13-01", "3660",
"fsub_b8-01", "", "rv32i_m/F/fsub_b2-01", "38b0",
"fsw-align-01, "" "rv32i_m/F/fsub_b3-01", "b320",
"rv32i_m/F/fsub_b4-01", "3480",
"rv32i_m/F/fsub_b5-01", "3700",
"rv32i_m/F/fsub_b7-01", "3520",
"rv32i_m/F/fsub_b8-01", "104a0",
"rv32i_m/F/fsw-align-01", "2010"
}; };
*/
string arch32c[] = '{ string arch32c[] = '{
`RISCVARCHTEST, `RISCVARCHTEST,