mirror of
				https://github.com/openhwgroup/cvw
				synced 2025-02-11 06:05:49 +00:00 
			
		
		
		
	Merge pull request #621 from davidharrishmc/dev
fixed two-bit bpred configurations in derivlist.txt
This commit is contained in:
		
						commit
						6cad6657e0
					
				| @ -328,22 +328,22 @@ deriv bpred_GSHARE_16_16_10_0_rv32gc bpred_GSHARE_16_16_10_1_rv32gc | ||||
| INSTR_CLASS_PRED          0 | ||||
| 
 | ||||
| deriv bpred_TWOBIT_6_16_10_0_rv32gc bpred_GSHARE_6_16_10_0_rv32gc | ||||
| INSTR_CLASS_PRED          0 | ||||
| BPRED_TYPE          `BP_TWOBIT | ||||
| 
 | ||||
| deriv bpred_TWOBIT_8_16_10_0_rv32gc bpred_GSHARE_8_16_10_0_rv32gc | ||||
| INSTR_CLASS_PRED          0 | ||||
| BPRED_TYPE          `BP_TWOBIT | ||||
| 
 | ||||
| deriv bpred_TWOBIT_10_16_10_0_rv32gc bpred_GSHARE_10_16_10_0_rv32gc | ||||
| INSTR_CLASS_PRED          0 | ||||
| BPRED_TYPE          `BP_TWOBIT | ||||
| 
 | ||||
| deriv bpred_TWOBIT_12_16_10_0_rv32gc bpred_GSHARE_12_16_10_0_rv32gc | ||||
| INSTR_CLASS_PRED          0 | ||||
| BPRED_TYPE          `BP_TWOBIT | ||||
| 
 | ||||
| deriv bpred_TWOBIT_14_16_10_0_rv32gc bpred_GSHARE_14_16_10_0_rv32gc | ||||
| INSTR_CLASS_PRED          0 | ||||
| BPRED_TYPE          `BP_TWOBIT | ||||
| 
 | ||||
| deriv bpred_TWOBIT_16_16_10_0_rv32gc bpred_GSHARE_16_16_10_0_rv32gc | ||||
| INSTR_CLASS_PRED          0 | ||||
| BPRED_TYPE          `BP_TWOBIT | ||||
| 
 | ||||
| deriv bpred_GSHARE_10_2_10_0_rv32gc bpred_GSHARE_10_2_10_1_rv32gc | ||||
| INSTR_CLASS_PRED          0 | ||||
|  | ||||
| @ -237,11 +237,10 @@ module fctrl import cvw::*;  #(parameter cvw_t P) ( | ||||
|                                     5'b00010:    ControlsD = `FCTRLW'b0_1_01_00_011_0_0_1_0; // fcvt.l.q   q->l
 | ||||
|                                     5'b00011:    ControlsD = `FCTRLW'b0_1_01_00_010_0_0_1_0; // fcvt.lu.q  q->lu
 | ||||
|                                   endcase | ||||
|                       // coverage on
 | ||||
|                       // coverage off
 | ||||
|                       // Not covered in testing because rv64gc is not RV64Q or RV32D
 | ||||
|                       7'b1011001: if (P.ZFA_SUPPORTED & P.XLEN == 32 & P.D_SUPPORTED & Funct3D == 3'b000)  | ||||
|                                                   ControlsD = `FCTRLW'b1_0_01_00_101_0_0_0_0; // fmvp.d.x  (Zfa) *** untested, controls could be wrong
 | ||||
|                       // Not covered in testing because rv64gc does not support quad precision
 | ||||
|                       // coverage off
 | ||||
|                       7'b1011011: if (P.ZFA_SUPPORTED & P.XLEN == 64 & P.Q_SUPPORTED & Funct3D == 3'b000)  | ||||
|                                                   ControlsD = `FCTRLW'b1_0_01_00_101_0_0_0_0; // fmvp.q.x  (Zfa)
 | ||||
|                       // coverage on
 | ||||
|  | ||||
| @ -310,7 +310,7 @@ module testbench; | ||||
|     if (TEST == "coremark") | ||||
|       if (dut.core.priv.priv.EcallFaultM) begin | ||||
|         $display("Benchmark: coremark is done."); | ||||
|         $finish; | ||||
|         $stop; | ||||
|       end | ||||
|     if(Validate) begin | ||||
|       if (TEST == "embench") begin | ||||
| @ -347,7 +347,7 @@ module testbench; | ||||
|       if (test == tests.size()) begin | ||||
|         if (totalerrors == 0) $display("SUCCESS! All tests ran without failures."); | ||||
|         else $display("FAIL: %d test programs had errors", totalerrors); | ||||
|         $finish; | ||||
|         $stop; // if this is changed to $finish, wally-batch.do does not go to the next step to run coverage
 | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| @ -631,7 +631,7 @@ module testbench; | ||||
|         errors = errors+1; | ||||
|         $display("  Error on test %s result %d: adr = %h sim (D$) %h sim (DTIM_SUPPORTED) = %h, signature = %h",  | ||||
| 			     TestName, i, (testadr+i)*(P.XLEN/8), testbench.DCacheFlushFSM.ShadowRAM[testadr+i], sig, signature[i]); | ||||
|         $finish; | ||||
|         $stop; // if this is changed to $finish, wally-batch.do does not get to the next step to run coverage
 | ||||
|       end | ||||
|     end | ||||
|     if (errors) $display("%s failed with %d errors. :(", TestName, errors); | ||||
|  | ||||
| @ -1134,10 +1134,10 @@ string imperas32f[] = '{ | ||||
| 
 | ||||
|     string arch64zfh_fma[] = '{ | ||||
|     `RISCVARCHTEST, | ||||
|     //"rv64i_m/F/src/fmadd_b15-01.S", | ||||
|     "rv64i_m/Zfh/src/fmsub_b15-01.S" | ||||
|     // "rv64i_m/F/src/fnmadd_b15-01.S", | ||||
|     // "rv64i_m/F/src/fnmsub_b15-01.S" | ||||
|     "rv64i_m/Zfh/src/fmadd_b15-01.S", | ||||
|     "rv64i_m/Zfh/src/fmsub_b15-01.S", | ||||
|     "rv64i_m/Zfh/src/fnmadd_b15-01.S", | ||||
|     "rv64i_m/Zfh/src/fnmsub_b15-01.S" | ||||
|   }; | ||||
| 
 | ||||
|   string arch64f_divsqrt[] = '{ | ||||
| @ -2178,10 +2178,10 @@ string arch64zbs[] = '{ | ||||
| 
 | ||||
| string arch32zfh_fma[] = '{ | ||||
|     `RISCVARCHTEST, | ||||
|     //"rv32i_m/D/src/fmadd.d_b15-01.S", | ||||
|     //"rv32i_m/D/src/fmsub.d_b15-01.S", | ||||
|     // "rv32i_m/D/src/fnmadd.d_b15-01.S", | ||||
|     "rv32i_m/Zfh/src/fnmsub.d_b15-01.S" | ||||
|     "rv32i_m/Zfh/src/fmadd_b15-01.S", | ||||
|     "rv32i_m/Zfh/src/fmsub_b15-01.S", | ||||
|     "rv32i_m/Zfh/src/fnmadd_b15-01.S", | ||||
|     "rv32i_m/Zfh/src/fnmsub_b15-01.S" | ||||
|   }; | ||||
| 
 | ||||
|   string arch32d_divsqrt[] = '{ | ||||
|  | ||||
| @ -40,12 +40,24 @@ main: | ||||
|     # zfa instructions (because Zfa tests aren't running yet) | ||||
|     fli.d fs0, 16 | ||||
|     fcvtmod.w.d t0, fs0, rtz | ||||
|     fminm.d fs1, fs0, fs0 | ||||
|     fmaxm.d fs1, fs0, fs0 | ||||
|     fround.d fs1, fs0 | ||||
| #    fminm.d fs1, fs0, fs0 | ||||
| #    fmaxm.d fs1, fs0, fs0 | ||||
| #    fltq.d t0, fs1, ft0 | ||||
| #    fleq.d t0, fs1, ft0 | ||||
|     fcvt.d.q fs1, fs0 | ||||
|     fcvt.h.q fs1, fs0 | ||||
|     fcvt.s.q fs1, fs0 | ||||
|     # round for now because these tests are excluded from Zfa until rounding is implemented | ||||
|     fround.s fs1, fs0        | ||||
|     froundnx.s fs1, fs0 | ||||
|     fround.d fs1, fs0        | ||||
|     froundnx.d fs1, fs0 | ||||
|     fltq.d t0, fs1, ft0 | ||||
|     fleq.d t0, fs1, ft0 | ||||
|     fround.h fs1, fs0 | ||||
|     froundnx.h fs1, fs0 | ||||
|     fround.s fs1, fs0 | ||||
|     froundnx.s fs1, fs0 | ||||
|     fmvp.d.x | ||||
| 
 | ||||
| 
 | ||||
|     #Result Sign Test Coverage | ||||
|     la t0, TestData2 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user