mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Added SSTC support to imperas.ic and wallyTracer. Fixes many of the privileged tests
This commit is contained in:
parent
60a8a26f2e
commit
c1ec1cb09c
@ -10,10 +10,15 @@
|
|||||||
--override cpu/mimpid=0x100
|
--override cpu/mimpid=0x100
|
||||||
--override cpu/misa_Extensions_mask=0x0
|
--override cpu/misa_Extensions_mask=0x0
|
||||||
|
|
||||||
# THIS NEEDS FIXING to 16
|
|
||||||
--override cpu/PMP_registers=16
|
--override cpu/PMP_registers=16
|
||||||
--override cpu/PMP_undefined=T
|
--override cpu/PMP_undefined=T
|
||||||
|
|
||||||
|
# Wally-specific non-default configuraiton
|
||||||
|
--override refRoot/cpu/Sstc=T
|
||||||
|
# Zba doesn't seem to exist - Lee is finding the name
|
||||||
|
#--override refRoot/cpu/Zba=T
|
||||||
|
|
||||||
|
|
||||||
# Illegal instruction should not contain the bit pattern
|
# Illegal instruction should not contain the bit pattern
|
||||||
# illegal pmp read contained this
|
# illegal pmp read contained this
|
||||||
# --override cpu/tval_ii_code=F
|
# --override cpu/tval_ii_code=F
|
||||||
@ -47,8 +52,11 @@
|
|||||||
#-override refRoot/cpu/cv/cover=basic
|
#-override refRoot/cpu/cv/cover=basic
|
||||||
#-override refRoot/cpu/cv/extensions=RV32I
|
#-override refRoot/cpu/cv/extensions=RV32I
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Add Imperas simulator application instruction tracing
|
# Add Imperas simulator application instruction tracing
|
||||||
--override cpu/show_c_prefix=T
|
--override cpu/show_c_prefix=T
|
||||||
|
|
||||||
--trace --tracechange --traceshowicount --tracemode -tracemem ASX --monitornetschange --traceafter 800000
|
--trace --tracechange --traceshowicount --tracemode -tracemem ASX --monitornetschange --traceafter 800000
|
||||||
|
|
||||||
# Exceptions and pagetables debug
|
# Exceptions and pagetables debug
|
||||||
|
@ -162,6 +162,7 @@ module wallyTracer(rvviTrace rvvi);
|
|||||||
CSRArray[12'h143] = testbench.dut.core.priv.priv.csr.csrs.csrs.STVAL_REGW;
|
CSRArray[12'h143] = testbench.dut.core.priv.priv.csr.csrs.csrs.STVAL_REGW;
|
||||||
CSRArray[12'h142] = testbench.dut.core.priv.priv.csr.csrs.csrs.SCAUSE_REGW;
|
CSRArray[12'h142] = testbench.dut.core.priv.priv.csr.csrs.csrs.SCAUSE_REGW;
|
||||||
CSRArray[12'h144] = testbench.dut.core.priv.priv.csr.csrm.MIP_REGW & & 12'h222 & testbench.dut.core.priv.priv.csr.csrm.MIDELEG_REGW;
|
CSRArray[12'h144] = testbench.dut.core.priv.priv.csr.csrm.MIP_REGW & & 12'h222 & testbench.dut.core.priv.priv.csr.csrm.MIDELEG_REGW;
|
||||||
|
CSRArray[12'h14D] = testbench.dut.core.priv.priv.csr.csrs.csrs.STIMECMP_REGW;
|
||||||
// user CSRs
|
// user CSRs
|
||||||
CSRArray[12'h001] = testbench.dut.core.priv.priv.csr.csru.csru.FFLAGS_REGW;
|
CSRArray[12'h001] = testbench.dut.core.priv.priv.csr.csru.csru.FFLAGS_REGW;
|
||||||
CSRArray[12'h002] = testbench.dut.core.priv.priv.csr.csru.csru.FRM_REGW;
|
CSRArray[12'h002] = testbench.dut.core.priv.priv.csr.csru.csru.FRM_REGW;
|
||||||
@ -211,6 +212,7 @@ module wallyTracer(rvviTrace rvvi);
|
|||||||
CSRArray[12'h143] = CSRArrayOld[12'h143];
|
CSRArray[12'h143] = CSRArrayOld[12'h143];
|
||||||
CSRArray[12'h142] = CSRArrayOld[12'h142];
|
CSRArray[12'h142] = CSRArrayOld[12'h142];
|
||||||
CSRArray[12'h144] = CSRArrayOld[12'h144];
|
CSRArray[12'h144] = CSRArrayOld[12'h144];
|
||||||
|
CSRArray[12'h14D] = CSRArrayOld[12'h14D];
|
||||||
// user CSRs
|
// user CSRs
|
||||||
CSRArray[12'h001] = CSRArrayOld[12'h001];
|
CSRArray[12'h001] = CSRArrayOld[12'h001];
|
||||||
CSRArray[12'h002] = CSRArrayOld[12'h002];
|
CSRArray[12'h002] = CSRArrayOld[12'h002];
|
||||||
@ -329,6 +331,7 @@ module wallyTracer(rvviTrace rvvi);
|
|||||||
CSRArrayOld[12'h143] = CSRArray[12'h143];
|
CSRArrayOld[12'h143] = CSRArray[12'h143];
|
||||||
CSRArrayOld[12'h142] = CSRArray[12'h142];
|
CSRArrayOld[12'h142] = CSRArray[12'h142];
|
||||||
CSRArrayOld[12'h144] = CSRArray[12'h144];
|
CSRArrayOld[12'h144] = CSRArray[12'h144];
|
||||||
|
CSRArrayOld[12'h14D] = CSRArray[12'h14D];
|
||||||
// user CSRs
|
// user CSRs
|
||||||
CSRArrayOld[12'h001] = CSRArray[12'h001];
|
CSRArrayOld[12'h001] = CSRArray[12'h001];
|
||||||
CSRArrayOld[12'h002] = CSRArray[12'h002];
|
CSRArrayOld[12'h002] = CSRArray[12'h002];
|
||||||
@ -376,6 +379,7 @@ module wallyTracer(rvviTrace rvvi);
|
|||||||
assign #2 CSR_W[12'h143] = (CSRArrayOld[12'h143] != CSRArray[12'h143]) ? 1 : 0;
|
assign #2 CSR_W[12'h143] = (CSRArrayOld[12'h143] != CSRArray[12'h143]) ? 1 : 0;
|
||||||
assign #2 CSR_W[12'h142] = (CSRArrayOld[12'h142] != CSRArray[12'h142]) ? 1 : 0;
|
assign #2 CSR_W[12'h142] = (CSRArrayOld[12'h142] != CSRArray[12'h142]) ? 1 : 0;
|
||||||
assign #2 CSR_W[12'h144] = (CSRArrayOld[12'h144] != CSRArray[12'h144]) ? 1 : 0;
|
assign #2 CSR_W[12'h144] = (CSRArrayOld[12'h144] != CSRArray[12'h144]) ? 1 : 0;
|
||||||
|
assign #2 CSR_W[12'h14D] = (CSRArrayOld[12'h14D] != CSRArray[12'h14D]) ? 1 : 0;
|
||||||
assign #2 CSR_W[12'h001] = (CSRArrayOld[12'h001] != CSRArray[12'h001]) ? 1 : 0;
|
assign #2 CSR_W[12'h001] = (CSRArrayOld[12'h001] != CSRArray[12'h001]) ? 1 : 0;
|
||||||
assign #2 CSR_W[12'h002] = (CSRArrayOld[12'h002] != CSRArray[12'h002]) ? 1 : 0;
|
assign #2 CSR_W[12'h002] = (CSRArrayOld[12'h002] != CSRArray[12'h002]) ? 1 : 0;
|
||||||
assign #2 CSR_W[12'h003] = (CSRArrayOld[12'h003] != CSRArray[12'h003]) ? 1 : 0;
|
assign #2 CSR_W[12'h003] = (CSRArrayOld[12'h003] != CSRArray[12'h003]) ? 1 : 0;
|
||||||
@ -412,6 +416,7 @@ module wallyTracer(rvviTrace rvvi);
|
|||||||
assign rvvi.csr_wb[0][0][12'h143] = CSR_W[12'h143];
|
assign rvvi.csr_wb[0][0][12'h143] = CSR_W[12'h143];
|
||||||
assign rvvi.csr_wb[0][0][12'h142] = CSR_W[12'h142];
|
assign rvvi.csr_wb[0][0][12'h142] = CSR_W[12'h142];
|
||||||
assign rvvi.csr_wb[0][0][12'h144] = CSR_W[12'h144];
|
assign rvvi.csr_wb[0][0][12'h144] = CSR_W[12'h144];
|
||||||
|
assign rvvi.csr_wb[0][0][12'h14D] = CSR_W[12'h14D];
|
||||||
assign rvvi.csr_wb[0][0][12'h001] = CSR_W[12'h001];
|
assign rvvi.csr_wb[0][0][12'h001] = CSR_W[12'h001];
|
||||||
assign rvvi.csr_wb[0][0][12'h002] = CSR_W[12'h002];
|
assign rvvi.csr_wb[0][0][12'h002] = CSR_W[12'h002];
|
||||||
assign rvvi.csr_wb[0][0][12'h003] = CSR_W[12'h003];
|
assign rvvi.csr_wb[0][0][12'h003] = CSR_W[12'h003];
|
||||||
@ -448,6 +453,7 @@ module wallyTracer(rvviTrace rvvi);
|
|||||||
assign rvvi.csr[0][0][12'h143] = CSRArray[12'h143];
|
assign rvvi.csr[0][0][12'h143] = CSRArray[12'h143];
|
||||||
assign rvvi.csr[0][0][12'h142] = CSRArray[12'h142];
|
assign rvvi.csr[0][0][12'h142] = CSRArray[12'h142];
|
||||||
assign rvvi.csr[0][0][12'h144] = CSRArray[12'h144];
|
assign rvvi.csr[0][0][12'h144] = CSRArray[12'h144];
|
||||||
|
assign rvvi.csr[0][0][12'h14D] = CSRArray[12'h14D];
|
||||||
assign rvvi.csr[0][0][12'h001] = CSRArray[12'h001];
|
assign rvvi.csr[0][0][12'h001] = CSRArray[12'h001];
|
||||||
assign rvvi.csr[0][0][12'h002] = CSRArray[12'h002];
|
assign rvvi.csr[0][0][12'h002] = CSRArray[12'h002];
|
||||||
assign rvvi.csr[0][0][12'h003] = CSRArray[12'h003];
|
assign rvvi.csr[0][0][12'h003] = CSRArray[12'h003];
|
||||||
|
Loading…
Reference in New Issue
Block a user