// // Copyright 2012 Ettus Research LLC // Copyright 2018 Ettus Research, a National Instruments Company // Copyright 2020 Ettus Research, a National Instruments Brand // // SPDX-License-Identifier: LGPL-3.0-or-later // // Description: 32 word FIFO with AXI4-Stream interface. // // NOTE: This module uses the SRLC32E primitive explicitly and as such can // only be used with Xilinx technology. // module axi_fifo_short #( parameter WIDTH = 32 ) ( input clk, input reset, input clear, input [WIDTH-1:0] i_tdata, input i_tvalid, output i_tready, output [WIDTH-1:0] o_tdata, output o_tvalid, input o_tready, output reg [5:0] space, output reg [5:0] occupied ); reg full = 1'b0, empty = 1'b1; wire write = i_tvalid & i_tready; wire read = o_tready & o_tvalid; assign i_tready = ~full; assign o_tvalid = ~empty; reg [4:0] a; genvar i; generate for (i=0;i