@@ -71,7 +71,7 @@ module ibex_lockstep import ibex_pkg::*; #(
7171 input logic data_we_i,
7272 input logic [3 : 0 ] data_be_i,
7373 input logic [31 : 0 ] data_addr_i,
74- input logic [MemDataWidth - 1 : 0 ] data_wdata_i,
74+ input logic [31 : 0 ] data_wdata_i,
7575 input logic [MemDataWidth- 1 : 0 ] data_rdata_i,
7676 input logic data_err_i,
7777
@@ -339,7 +339,7 @@ module ibex_lockstep import ibex_pkg::*; #(
339339 logic data_we;
340340 logic [3 : 0 ] data_be;
341341 logic [31 : 0 ] data_addr;
342- logic [MemDataWidth - 1 : 0 ] data_wdata;
342+ logic [31 : 0 ] data_wdata;
343343 logic [IC_NUM_WAYS - 1 : 0 ] ic_tag_req;
344344 logic ic_tag_write;
345345 logic [IC_INDEX_W - 1 : 0 ] ic_tag_addr;
@@ -402,6 +402,10 @@ module ibex_lockstep import ibex_pkg::*; #(
402402 logic shadow_dummy_instr_id;
403403 logic shadow_dummy_instr_wb;
404404
405+ // The following output does not need to be checked in the lockstep comparison as we anyways
406+ // check the data_wdata itself.
407+ logic [6 : 0 ] shadow_data_wdata_intg;
408+
405409 // /////////////////////////////
406410 // Shadow core instantiation //
407411 // /////////////////////////////
@@ -468,7 +472,7 @@ module ibex_lockstep import ibex_pkg::*; #(
468472 .data_we_o (shadow_outputs_d.data_we),
469473 .data_be_o (shadow_outputs_d.data_be),
470474 .data_addr_o (shadow_outputs_d.data_addr),
471- .data_wdata_o (shadow_outputs_d.data_wdata),
475+ .data_wdata_o ({ shadow_data_wdata_intg, shadow_outputs_d.data_wdata} ),
472476 .data_rdata_i (shadow_inputs_q[0 ].data_rdata),
473477 .data_err_i (shadow_inputs_q[0 ].data_err),
474478
@@ -657,8 +661,8 @@ module ibex_lockstep import ibex_pkg::*; #(
657661 assign data_we_shadow_o = shadow_outputs_d.data_we;
658662 assign data_be_shadow_o = shadow_outputs_d.data_be;
659663 assign data_addr_shadow_o = shadow_outputs_d.data_addr;
660- assign data_wdata_shadow_o = shadow_outputs_d.data_wdata[ 31 : 0 ] ;
661- assign data_wdata_intg_shadow_o = shadow_outputs_d.data_wdata[ 38 : 32 ] ;
664+ assign data_wdata_shadow_o = shadow_outputs_d.data_wdata;
665+ assign data_wdata_intg_shadow_o = shadow_data_wdata_intg ;
662666 assign instr_req_shadow_o = shadow_outputs_d.instr_req;
663667 assign instr_addr_shadow_o = shadow_outputs_d.instr_addr;
664668endmodule
0 commit comments