forked from Github_Repos/cvw
Added M CSRs to the CSRArray.
This commit is contained in:
parent
a68773eba1
commit
9917be817c
@ -37,7 +37,7 @@ module rvviTrace #(
|
|||||||
logic [`NUM_REGS-1:0] frf_wb;
|
logic [`NUM_REGS-1:0] frf_wb;
|
||||||
logic [4:0] frf_a4;
|
logic [4:0] frf_a4;
|
||||||
logic frf_we4;
|
logic frf_we4;
|
||||||
logic [`XLEN-1:0] CSRArray [logic[4095:0]];
|
logic [`XLEN-1:0] CSRArray [logic[11:0]];
|
||||||
|
|
||||||
|
|
||||||
// tracer signals
|
// tracer signals
|
||||||
@ -82,9 +82,9 @@ module rvviTrace #(
|
|||||||
assign STATUS_SXL = testbench.dut.core.priv.priv.csr.csrsr.STATUS_SXL;
|
assign STATUS_SXL = testbench.dut.core.priv.priv.csr.csrsr.STATUS_SXL;
|
||||||
assign STATUS_UXL = testbench.dut.core.priv.priv.csr.csrsr.STATUS_UXL;
|
assign STATUS_UXL = testbench.dut.core.priv.priv.csr.csrsr.STATUS_UXL;
|
||||||
|
|
||||||
assign MSTATUS = testbench.dut.core.priv.priv.csr.csrm.MSTATUS_REGW; // 300
|
assign MSTATUS = testbench.dut.core.priv.priv.csr.csrm.MSTATUS_REGW; // 300
|
||||||
assign MSTATUSH = testbench.dut.core.priv.priv.csr.csrm.MSTATUSH_REGW; // 310
|
assign MSTATUSH = testbench.dut.core.priv.priv.csr.csrm.MSTATUSH_REGW; // 310
|
||||||
assign MTVEC = testbench.dut.core.priv.priv.csr.csrm.MTVEC_REGW; // 305
|
assign MTVEC = testbench.dut.core.priv.priv.csr.csrm.MTVEC_REGW; // 305
|
||||||
assign MEPC_REGW = testbench.dut.core.priv.priv.csr.csrm.MEPC_REGW; // 341
|
assign MEPC_REGW = testbench.dut.core.priv.priv.csr.csrm.MEPC_REGW; // 341
|
||||||
assign MCOUNTEREN_REGW = testbench.dut.core.priv.priv.csr.csrm.MCOUNTEREN_REGW; // 306
|
assign MCOUNTEREN_REGW = testbench.dut.core.priv.priv.csr.csrm.MCOUNTEREN_REGW; // 306
|
||||||
assign MCOUNTINHIBIT_REGW = testbench.dut.core.priv.priv.csr.csrm.MCOUNTINHIBIT_REGW; // 320
|
assign MCOUNTINHIBIT_REGW = testbench.dut.core.priv.priv.csr.csrm.MCOUNTINHIBIT_REGW; // 320
|
||||||
@ -103,6 +103,28 @@ module rvviTrace #(
|
|||||||
assign MCONFIGPTR = '0; // F15
|
assign MCONFIGPTR = '0; // F15
|
||||||
assign MTINST = '0; // 34A
|
assign MTINST = '0; // 34A
|
||||||
|
|
||||||
|
always_comb begin
|
||||||
|
CSRArray[12'h300] = MSTATUS;
|
||||||
|
CSRArray[12'h310] = MSTATUSH;
|
||||||
|
CSRArray[12'h305] = MTVEC;
|
||||||
|
CSRArray[12'h341] = MEPC_REGW;
|
||||||
|
CSRArray[12'h306] = MCOUNTEREN_REGW;
|
||||||
|
CSRArray[12'h320] = MCOUNTINHIBIT_REGW;
|
||||||
|
CSRArray[12'h302] = MEDELEG_REGW;
|
||||||
|
CSRArray[12'h303] = MIDELEG_REGW;
|
||||||
|
CSRArray[12'h344] = MIP_REGW;
|
||||||
|
CSRArray[12'h304] = MIE_REGW;
|
||||||
|
CSRArray[12'h301] = MISA_REGW;
|
||||||
|
CSRArray[12'hF14] = MHARTID_REGW;
|
||||||
|
CSRArray[12'h340] = MSCRATCH_REGW;
|
||||||
|
CSRArray[12'h342] = MCAUSE_REGW;
|
||||||
|
CSRArray[12'h343] = MTVAL_REGW;
|
||||||
|
CSRArray[12'hF11] = MVENDORID;
|
||||||
|
CSRArray[12'hF12] = MARCHID;
|
||||||
|
CSRArray[12'hF13] = MIMPID;
|
||||||
|
CSRArray[12'hF15] = MCONFIGPTR;
|
||||||
|
CSRArray[12'h34A] = MTINST;
|
||||||
|
end
|
||||||
|
|
||||||
genvar index;
|
genvar index;
|
||||||
assign rf[0] = '0;
|
assign rf[0] = '0;
|
||||||
@ -113,9 +135,9 @@ module rvviTrace #(
|
|||||||
assign rf_we3 = testbench.dut.core.ieu.dp.regf.we3;
|
assign rf_we3 = testbench.dut.core.ieu.dp.regf.we3;
|
||||||
|
|
||||||
always_comb begin
|
always_comb begin
|
||||||
rf_wb = '0;
|
rf_wb <= '0;
|
||||||
if(rf_we3)
|
if(rf_we3)
|
||||||
rf_wb[rf_a3] = 1'b1;
|
rf_wb[rf_a3] <= 1'b1;
|
||||||
end
|
end
|
||||||
|
|
||||||
for(index = 0; index < NUMREGS; index += 1)
|
for(index = 0; index < NUMREGS; index += 1)
|
||||||
@ -125,9 +147,9 @@ module rvviTrace #(
|
|||||||
assign frf_we4 = testbench.dut.core.fpu.fpu.fregfile.we4;
|
assign frf_we4 = testbench.dut.core.fpu.fpu.fregfile.we4;
|
||||||
|
|
||||||
always_comb begin
|
always_comb begin
|
||||||
frf_wb = '0;
|
frf_wb <= '0;
|
||||||
if(frf_we4)
|
if(frf_we4)
|
||||||
frf_wb[frf_a4] = 1'b1;
|
frf_wb[frf_a4] <= 1'b1;
|
||||||
end
|
end
|
||||||
|
|
||||||
// pipeline to writeback stage
|
// pipeline to writeback stage
|
||||||
|
Loading…
Reference in New Issue
Block a user