mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-03 02:05:21 +00:00
Finished Wally rvvi tracer.
This commit is contained in:
parent
402d71e5f4
commit
e870e8137b
@ -63,7 +63,7 @@ module wallyTracer import cvw::*; #(parameter cvw_t P) (rvviTrace rvvi);
|
|||||||
logic CSRWriteM, CSRWriteW;
|
logic CSRWriteM, CSRWriteW;
|
||||||
logic [11:0] CSRAdrM, CSRAdrW;
|
logic [11:0] CSRAdrM, CSRAdrW;
|
||||||
logic wfiM;
|
logic wfiM;
|
||||||
logic InterruptM;
|
logic InterruptM, InterruptW;
|
||||||
|
|
||||||
assign clk = testbench.dut.clk;
|
assign clk = testbench.dut.clk;
|
||||||
// assign InstrValidF = testbench.dut.core.ieu.InstrValidF; // not needed yet
|
// assign InstrValidF = testbench.dut.core.ieu.InstrValidF; // not needed yet
|
||||||
@ -266,6 +266,7 @@ module wallyTracer import cvw::*; #(parameter cvw_t P) (rvviTrace rvvi);
|
|||||||
flopenrc #(P.XLEN)PCWReg (clk, reset, FlushW, ~StallW, PCM, PCW);
|
flopenrc #(P.XLEN)PCWReg (clk, reset, FlushW, ~StallW, PCM, PCW);
|
||||||
flopenrc #(1) InstrValidMReg (clk, reset, FlushW, ~StallW, InstrValidM, InstrValidW);
|
flopenrc #(1) InstrValidMReg (clk, reset, FlushW, ~StallW, InstrValidM, InstrValidW);
|
||||||
flopenrc #(1) TrapWReg (clk, reset, 1'b0, ~StallW, TrapM, TrapW);
|
flopenrc #(1) TrapWReg (clk, reset, 1'b0, ~StallW, TrapM, TrapW);
|
||||||
|
flopenrc #(1) InterruptWReg (clk, reset, 1'b0, ~StallW, InterruptM, InterruptW);
|
||||||
flopenrc #(1) HaltWReg (clk, reset, 1'b0, ~StallW, HaltM, HaltW);
|
flopenrc #(1) HaltWReg (clk, reset, 1'b0, ~StallW, HaltM, HaltW);
|
||||||
|
|
||||||
// **** remove? are these used?
|
// **** remove? are these used?
|
||||||
@ -287,9 +288,9 @@ module wallyTracer import cvw::*; #(parameter cvw_t P) (rvviTrace rvvi);
|
|||||||
assign rvvi.order[0][0] = CSRArray[12'hB02]; // TODO: IMPERAS Should be event order
|
assign rvvi.order[0][0] = CSRArray[12'hB02]; // TODO: IMPERAS Should be event order
|
||||||
assign rvvi.insn[0][0] = InstrRawW;
|
assign rvvi.insn[0][0] = InstrRawW;
|
||||||
assign rvvi.pc_rdata[0][0] = PCW;
|
assign rvvi.pc_rdata[0][0] = PCW;
|
||||||
assign rvvi.trap[0][0] = 0;
|
assign rvvi.trap[0][0] = TrapW;
|
||||||
assign rvvi.halt[0][0] = HaltW;
|
assign rvvi.halt[0][0] = HaltW;
|
||||||
assign rvvi.intr[0][0] = 0;
|
assign rvvi.intr[0][0] = InterruptW;
|
||||||
assign rvvi.mode[0][0] = PrivilegeModeW;
|
assign rvvi.mode[0][0] = PrivilegeModeW;
|
||||||
assign rvvi.ixl[0][0] = PrivilegeModeW == 2'b11 ? 2'b10 :
|
assign rvvi.ixl[0][0] = PrivilegeModeW == 2'b11 ? 2'b10 :
|
||||||
PrivilegeModeW == 2'b01 ? STATUS_SXL : STATUS_UXL;
|
PrivilegeModeW == 2'b01 ? STATUS_SXL : STATUS_UXL;
|
||||||
|
Loading…
Reference in New Issue
Block a user