Skip to content

Commit 8a75a7c

Browse files
robertszczepanskitmichalak
authored andcommitted
Add FIFO access stall to trigger AXI bug
1 parent 042a029 commit 8a75a7c

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

verification/cocotb/block/axi_adapter/axi_adapter_wrapper.sv

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -253,13 +253,30 @@ module axi_adapter_wrapper
253253
hwif_in.DCT.wr_ack = 0;
254254
end : other_uninit_signals
255255

256+
logic wr_ack_q, rd_ack_q;
257+
logic [31:0] rdata_q, wdata_q;
258+
256259
always_comb begin : connect_inidrect_fifo
257260
fifo_wvalid = hwif_out.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.req & hwif_out.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.req_is_wr;
258-
fifo_wdata = hwif_out.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.wr_data;
259-
hwif_in.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.wr_ack = fifo_wvalid & fifo_wready;
261+
fifo_wdata = wdata_q;
262+
hwif_in.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.wr_ack = wr_ack_q;
260263

261264
fifo_rready = hwif_out.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.req & ~hwif_out.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.req_is_wr;
262-
hwif_in.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.rd_data = fifo_rdata;
263-
hwif_in.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.rd_ack = fifo_rvalid & fifo_rready;
265+
hwif_in.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.rd_data = rdata_q;
266+
hwif_in.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.rd_ack = rd_ack_q;
267+
end
268+
269+
always_ff @(posedge aclk or negedge areset_n) begin : stall_fifo_access
270+
if (~areset_n) begin
271+
wr_ack_q <= '0;
272+
rd_ack_q <= '0;
273+
rdata_q <= '0;
274+
wdata_q <= '0;
275+
end else begin
276+
wr_ack_q <= fifo_wvalid & fifo_wready;
277+
rd_ack_q <= fifo_rvalid & fifo_rready;
278+
rdata_q <= fifo_rdata;
279+
wdata_q <= hwif_out.I3C_EC.SecFwRecoveryIf.INDIRECT_FIFO_DATA.wr_data;
280+
end
264281
end
265282
endmodule

0 commit comments

Comments
 (0)