mirror of
https://github.com/lowRISC/ibex.git
synced 2025-04-24 05:47:36 -04:00
[dv] Add debug_mode to rvfi_ext
This indicates if debug mode was active when the instruction was executed in ID/EX.
This commit is contained in:
parent
abe1ab03e6
commit
ddf56b3603
4 changed files with 13 additions and 0 deletions
|
@ -141,6 +141,7 @@ module ibex_core import ibex_pkg::*; #(
|
|||
output logic rvfi_ext_nmi,
|
||||
output logic rvfi_ext_nmi_int,
|
||||
output logic rvfi_ext_debug_req,
|
||||
output logic rvfi_ext_debug_mode,
|
||||
output logic rvfi_ext_rf_wr_suppress,
|
||||
output logic [63:0] rvfi_ext_mcycle,
|
||||
output logic [31:0] rvfi_ext_mhpmcounters [10],
|
||||
|
@ -1251,6 +1252,7 @@ module ibex_core import ibex_pkg::*; #(
|
|||
logic rvfi_ext_stage_nmi [RVFI_STAGES+1];
|
||||
logic rvfi_ext_stage_nmi_int [RVFI_STAGES+1];
|
||||
logic rvfi_ext_stage_debug_req [RVFI_STAGES+1];
|
||||
logic rvfi_ext_stage_debug_mode [RVFI_STAGES];
|
||||
logic [63:0] rvfi_ext_stage_mcycle [RVFI_STAGES];
|
||||
logic [31:0] rvfi_ext_stage_mhpmcounters [RVFI_STAGES][10];
|
||||
logic [31:0] rvfi_ext_stage_mhpmcountersh [RVFI_STAGES][10];
|
||||
|
@ -1300,6 +1302,7 @@ module ibex_core import ibex_pkg::*; #(
|
|||
assign rvfi_ext_nmi = rvfi_ext_stage_nmi [RVFI_STAGES];
|
||||
assign rvfi_ext_nmi_int = rvfi_ext_stage_nmi_int [RVFI_STAGES];
|
||||
assign rvfi_ext_debug_req = rvfi_ext_stage_debug_req [RVFI_STAGES];
|
||||
assign rvfi_ext_debug_mode = rvfi_ext_stage_debug_mode [RVFI_STAGES-1];
|
||||
assign rvfi_ext_mcycle = rvfi_ext_stage_mcycle [RVFI_STAGES-1];
|
||||
assign rvfi_ext_mhpmcounters = rvfi_ext_stage_mhpmcounters [RVFI_STAGES-1];
|
||||
assign rvfi_ext_mhpmcountersh = rvfi_ext_stage_mhpmcountersh [RVFI_STAGES-1];
|
||||
|
@ -1474,6 +1477,7 @@ module ibex_core import ibex_pkg::*; #(
|
|||
rvfi_ext_stage_nmi[i+1] <= '0;
|
||||
rvfi_ext_stage_nmi_int[i+1] <= '0;
|
||||
rvfi_ext_stage_debug_req[i+1] <= '0;
|
||||
rvfi_ext_stage_debug_mode[i] <= '0;
|
||||
rvfi_ext_stage_mcycle[i] <= '0;
|
||||
rvfi_ext_stage_mhpmcounters[i] <= '{10{'0}};
|
||||
rvfi_ext_stage_mhpmcountersh[i] <= '{10{'0}};
|
||||
|
@ -1510,6 +1514,7 @@ module ibex_core import ibex_pkg::*; #(
|
|||
rvfi_ext_stage_nmi[i+1] <= rvfi_ext_stage_nmi[i];
|
||||
rvfi_ext_stage_nmi_int[i+1] <= rvfi_ext_stage_nmi_int[i];
|
||||
rvfi_ext_stage_debug_req[i+1] <= rvfi_ext_stage_debug_req[i];
|
||||
rvfi_ext_stage_debug_mode[i] <= debug_mode;
|
||||
rvfi_ext_stage_mcycle[i] <= cs_registers_i.mcycle_counter_i.counter_val_o;
|
||||
rvfi_ext_stage_ic_scr_key_valid[i] <= cs_registers_i.cpuctrlsts_ic_scr_key_valid_q;
|
||||
// This is done this way because SystemVerilog does not support looping through
|
||||
|
@ -1553,6 +1558,7 @@ module ibex_core import ibex_pkg::*; #(
|
|||
rvfi_ext_stage_nmi[i+1] <= rvfi_ext_stage_nmi[i];
|
||||
rvfi_ext_stage_nmi_int[i+1] <= rvfi_ext_stage_nmi_int[i];
|
||||
rvfi_ext_stage_debug_req[i+1] <= rvfi_ext_stage_debug_req[i];
|
||||
rvfi_ext_stage_debug_mode[i] <= rvfi_ext_stage_debug_mode[i-1];
|
||||
rvfi_ext_stage_mcycle[i] <= rvfi_ext_stage_mcycle[i-1];
|
||||
rvfi_ext_stage_ic_scr_key_valid[i] <= rvfi_ext_stage_ic_scr_key_valid[i-1];
|
||||
rvfi_ext_stage_mhpmcounters[i] <= rvfi_ext_stage_mhpmcounters[i-1];
|
||||
|
|
|
@ -431,6 +431,7 @@ module ibex_lockstep import ibex_pkg::*; #(
|
|||
.rvfi_ext_nmi (),
|
||||
.rvfi_ext_nmi_int (),
|
||||
.rvfi_ext_debug_req (),
|
||||
.rvfi_ext_debug_mode (),
|
||||
.rvfi_ext_rf_wr_suppress (),
|
||||
.rvfi_ext_mcycle (),
|
||||
.rvfi_ext_mhpmcounters (),
|
||||
|
|
|
@ -120,6 +120,7 @@ module ibex_top import ibex_pkg::*; #(
|
|||
output logic rvfi_ext_nmi,
|
||||
output logic rvfi_ext_nmi_int,
|
||||
output logic rvfi_ext_debug_req,
|
||||
output logic rvfi_ext_debug_mode,
|
||||
output logic rvfi_ext_rf_wr_suppress,
|
||||
output logic [63:0] rvfi_ext_mcycle,
|
||||
output logic [31:0] rvfi_ext_mhpmcounters [10],
|
||||
|
@ -391,6 +392,7 @@ module ibex_top import ibex_pkg::*; #(
|
|||
.rvfi_ext_nmi,
|
||||
.rvfi_ext_nmi_int,
|
||||
.rvfi_ext_debug_req,
|
||||
.rvfi_ext_debug_mode,
|
||||
.rvfi_ext_rf_wr_suppress,
|
||||
.rvfi_ext_mcycle,
|
||||
.rvfi_ext_mhpmcounters,
|
||||
|
|
|
@ -123,6 +123,7 @@ module ibex_top_tracing import ibex_pkg::*; #(
|
|||
logic rvfi_ext_nmi;
|
||||
logic rvfi_ext_nmi_int;
|
||||
logic rvfi_ext_debug_req;
|
||||
logic rvfi_ext_debug_mode;
|
||||
logic rvfi_ext_rf_wr_suppress;
|
||||
logic [63:0] rvfi_ext_mcycle;
|
||||
|
||||
|
@ -138,6 +139,7 @@ module ibex_top_tracing import ibex_pkg::*; #(
|
|||
logic unused_rvfi_ext_nmi;
|
||||
logic unused_rvfi_ext_nmi_int;
|
||||
logic unused_rvfi_ext_debug_req;
|
||||
logic unused_rvfi_ext_debug_mode;
|
||||
logic unused_rvfi_ext_rf_wr_suppress;
|
||||
logic [63:0] unused_rvfi_ext_mcycle;
|
||||
logic unused_rvfi_ext_ic_scr_key_valid;
|
||||
|
@ -148,6 +150,7 @@ module ibex_top_tracing import ibex_pkg::*; #(
|
|||
assign unused_rvfi_ext_nmi = rvfi_ext_nmi;
|
||||
assign unused_rvfi_ext_nmi_int = rvfi_ext_nmi_int;
|
||||
assign unused_rvfi_ext_debug_req = rvfi_ext_debug_req;
|
||||
assign unused_rvfi_ext_debug_mode = rvfi_ext_debug_mode;
|
||||
assign unused_rvfi_ext_rf_wr_suppress = rvfi_ext_rf_wr_suppress;
|
||||
assign unused_rvfi_ext_mcycle = rvfi_ext_mcycle;
|
||||
assign unused_perf_regs = rvfi_ext_mhpmcounters;
|
||||
|
@ -250,6 +253,7 @@ module ibex_top_tracing import ibex_pkg::*; #(
|
|||
.rvfi_ext_nmi,
|
||||
.rvfi_ext_nmi_int,
|
||||
.rvfi_ext_debug_req,
|
||||
.rvfi_ext_debug_mode,
|
||||
.rvfi_ext_rf_wr_suppress,
|
||||
.rvfi_ext_mcycle,
|
||||
.rvfi_ext_mhpmcounters,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue