From 5d0da83334b4d1f64a16440cc8a40ec071233c9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20B=2E=20Preu=C3=9Fer?= <thomas.preusser@xilinx.com> Date: Wed, 25 May 2022 13:27:43 +0100 Subject: [PATCH] axi_info read not to block upon out-of-bounds accesses. --- finn-rtllib/axi_info/hdl/axi_info.sv | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/finn-rtllib/axi_info/hdl/axi_info.sv b/finn-rtllib/axi_info/hdl/axi_info.sv index d71877c46..293563293 100644 --- a/finn-rtllib/axi_info/hdl/axi_info.sv +++ b/finn-rtllib/axi_info/hdl/axi_info.sv @@ -98,29 +98,21 @@ module axi_info #( if(1) begin : blkRead logic RValid = 0; logic [S_AXI_DATA_WIDTH-1:0] RData;// = 'x; - logic [ 1:0] RResp;// = 'x; always_ff @(posedge clk) begin if(rst) begin RValid <= 0; RData <= 'x; - RResp <= 'x; end else if(s_axi_ARREADY) begin + automatic logic [$left(s_axi_ARADDR):2] addr_eff = s_axi_ARADDR[$left(s_axi_ARADDR):2]; RValid <= s_axi_ARVALID; - if(s_axi_ARADDR < N) begin - RData <= DATA[s_axi_ARADDR[$left(s_axi_ARADDR):2]]; - RResp <= '0; // OKAY - end - else begin - RData <= 'x; - RResp <= '1; // DECERR - end + RData <= (addr_eff < N)? DATA[addr_eff] : 32'hDEADDEAD; end end assign s_axi_ARREADY = !RValid || s_axi_RREADY; assign s_axi_RVALID = RValid; assign s_axi_RDATA = RData; - assign s_axi_RRESP = RResp; + assign s_axi_RRESP = '0; // OKAY end : blkRead -- GitLab