coverage improvements: fixing problems running ImperasDV on coverage tests

This commit is contained in:
David Harris 2024-01-23 22:21:01 -08:00
parent 117ff1828a
commit 7215f48dda
4 changed files with 9 additions and 5 deletions

View file

@ -41,7 +41,7 @@ localparam COUNTERS = 12'd32;
localparam ZICNTR_SUPPORTED = 1; localparam ZICNTR_SUPPORTED = 1;
localparam ZIHPM_SUPPORTED = 1; localparam ZIHPM_SUPPORTED = 1;
localparam ZFH_SUPPORTED = 1; localparam ZFH_SUPPORTED = 1;
localparam ZFA_SUPPORTED = 0; localparam ZFA_SUPPORTED = 1;
localparam SSTC_SUPPORTED = 1; localparam SSTC_SUPPORTED = 1;
localparam ZICBOM_SUPPORTED = 1; localparam ZICBOM_SUPPORTED = 1;
localparam ZICBOZ_SUPPORTED = 1; localparam ZICBOZ_SUPPORTED = 1;

View file

@ -21,6 +21,7 @@
--override cpu/Zcb=T --override cpu/Zcb=T
--override cpu/Zicond=T --override cpu/Zicond=T
--override cpu/Zfh=T --override cpu/Zfh=T
--override cpu/Zfa=T
# Cache block operations # Cache block operations
--override cpu/Zicbom=T --override cpu/Zicbom=T

View file

@ -24,6 +24,8 @@
//////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////
// load code to initalize stack, handle interrupts, terminate // load code to initalize stack, handle interrupts, terminate
// The PMP tests are sensitive to the exact addresses in this code, so unfortunately
// modifying anything breaks those tests.
.section .text.init .section .text.init
.global rvtest_entry_point .global rvtest_entry_point
@ -36,10 +38,11 @@ rvtest_entry_point:
csrw mtvec, t0 # Initialize MTVEC to trap_handler csrw mtvec, t0 # Initialize MTVEC to trap_handler
csrw mideleg, zero # Don't delegate interrupts csrw mideleg, zero # Don't delegate interrupts
csrw medeleg, zero # Don't delegate exceptions csrw medeleg, zero # Don't delegate exceptions
li t0, -1 # set mtimecmp to biggest number so it doesnt interrupt again # li t0, -1 # set mtimecmp to biggest number so it doesnt interrupt again
li t1, 0x02004000 # MTIMECMP in CLINT # li t1, 0x02004000 # MTIMECMP in CLINT
sd t0, 0(t1) # sd t0, 0(t1)
li t0, 0x80 li t0, 0x80
# li t0, 0x00
csrw mie, t0 # Enable machine timer interrupt csrw mie, t0 # Enable machine timer interrupt
la t0, topoftrapstack la t0, topoftrapstack
csrw mscratch, t0 # MSCRATCH holds trap stack pointer csrw mscratch, t0 # MSCRATCH holds trap stack pointer

View file

@ -139,7 +139,7 @@ main:
.word 0xc5000007 // Attempting to toggle (Op7 != 7) to 0 on line 97 in fctrl, not sure what instruction this works out to .word 0xc5000007 // Attempting to toggle (Op7 != 7) to 0 on line 97 in fctrl, not sure what instruction this works out to
.word 0xe0101053 // toggling (Rs2D == 0) to 0 on line 139 in fctrl. Illegal Intsr (like fclass but incorrect rs2) .word 0xe0101053 // toggling (Rs2D == 0) to 0 on line 139 in fctrl. Illegal Intsr (like fclass but incorrect rs2)
.word 0xe0100053 // toggling (Rs2D == 0) to 0 on line 141 in fctrl. Illegal Intsr (like fmv but incorrect rs2) .word 0xe0100053 // toggling (Rs2D == 0) to 0 on line 141 in fctrl. Illegal Intsr (like fmv but incorrect rs2)
.word 0x40500053 // toggling (Rs2D[4:2] == 0) to 0 on line 145 in fctrl. .word 0x40D00053 // toggling (Rs2D[4:2] == 0) to 0 on line 145 in fctrl.
.word 0x40300053 // toggling SupportFmt2 to 0 on line 145 in fctrl. .word 0x40300053 // toggling SupportFmt2 to 0 on line 145 in fctrl.
.word 0x42100053 // toggling (Rs2D[1:0] != 1) to 0 on line 147 in fctrl. Illegal Instr .word 0x42100053 // toggling (Rs2D[1:0] != 1) to 0 on line 147 in fctrl. Illegal Instr
.word 0xf0100053 // toggling (Rs2D == 0) to 0 on line 143 in fctrl. Illegal Instr .word 0xf0100053 // toggling (Rs2D == 0) to 0 on line 143 in fctrl. Illegal Instr