Entity: axi_fifo_wr

Diagram

DATA_WIDTH ADDR_WIDTH STRB_WIDTH ID_WIDTH AWUSER_ENABLE AWUSER_WIDTH WUSER_ENABLE WUSER_WIDTH BUSER_ENABLE BUSER_WIDTH FIFO_DEPTH FIFO_DELAY STRB_OFFSET LAST_OFFSET WUSER_OFFSET WWIDTH FIFO_ADDR_WIDTH wire clk wire rst wire [ID_WIDTH-1:0] s_axi_awid wire [ADDR_WIDTH-1:0] s_axi_awaddr wire [7:0] s_axi_awlen wire [2:0] s_axi_awsize wire [1:0] s_axi_awburst wire s_axi_awlock wire [3:0] s_axi_awcache wire [2:0] s_axi_awprot wire [3:0] s_axi_awqos wire [3:0] s_axi_awregion wire [AWUSER_WIDTH-1:0] s_axi_awuser wire s_axi_awvalid wire [DATA_WIDTH-1:0] s_axi_wdata wire [STRB_WIDTH-1:0] s_axi_wstrb wire s_axi_wlast wire [WUSER_WIDTH-1:0] s_axi_wuser wire s_axi_wvalid wire s_axi_bready wire m_axi_awready wire m_axi_wready wire [ID_WIDTH-1:0] m_axi_bid wire [1:0] m_axi_bresp wire [BUSER_WIDTH-1:0] m_axi_buser wire m_axi_bvalid wire s_axi_awready wire s_axi_wready wire [ID_WIDTH-1:0] s_axi_bid wire [1:0] s_axi_bresp wire [BUSER_WIDTH-1:0] s_axi_buser wire s_axi_bvalid wire [ID_WIDTH-1:0] m_axi_awid wire [ADDR_WIDTH-1:0] m_axi_awaddr wire [7:0] m_axi_awlen wire [2:0] m_axi_awsize wire [1:0] m_axi_awburst wire m_axi_awlock wire [3:0] m_axi_awcache wire [2:0] m_axi_awprot wire [3:0] m_axi_awqos wire [3:0] m_axi_awregion wire [AWUSER_WIDTH-1:0] m_axi_awuser wire m_axi_awvalid wire [DATA_WIDTH-1:0] m_axi_wdata wire [STRB_WIDTH-1:0] m_axi_wstrb wire m_axi_wlast wire [WUSER_WIDTH-1:0] m_axi_wuser wire m_axi_wvalid wire m_axi_bready

Description

Language: Verilog 2001

Generics

Generic name Type Value Description
DATA_WIDTH 32 Width of data bus in bits
ADDR_WIDTH 32 Width of address bus in bits
STRB_WIDTH undefined Width of wstrb (width of data bus in words)
ID_WIDTH 8 Width of ID signal
AWUSER_ENABLE 0 Propagate awuser signal
AWUSER_WIDTH 1 Width of awuser signal
WUSER_ENABLE 0 Propagate wuser signal
WUSER_WIDTH 1 Width of wuser signal
BUSER_ENABLE 0 Propagate buser signal
BUSER_WIDTH 1 Width of buser signal
FIFO_DEPTH 32 Write data FIFO depth (cycles)
FIFO_DELAY 0 Hold write address until write data in FIFO, if possible
STRB_OFFSET DATA_WIDTH
LAST_OFFSET STRB_OFFSET + STRB_WIDTH
WUSER_OFFSET LAST_OFFSET + 1
WWIDTH WUSER_OFFSET
FIFO_ADDR_WIDTH $clog2(FIFO_DEPTH)

Ports

Port name Direction Type Description
clk input wire
rst input wire
s_axi_awid input wire [ID_WIDTH-1:0] * AXI slave interface */
s_axi_awaddr input wire [ADDR_WIDTH-1:0]
s_axi_awlen input wire [7:0]
s_axi_awsize input wire [2:0]
s_axi_awburst input wire [1:0]
s_axi_awlock input wire
s_axi_awcache input wire [3:0]
s_axi_awprot input wire [2:0]
s_axi_awqos input wire [3:0]
s_axi_awregion input wire [3:0]
s_axi_awuser input wire [AWUSER_WIDTH-1:0]
s_axi_awvalid input wire
s_axi_awready output wire
s_axi_wdata input wire [DATA_WIDTH-1:0]
s_axi_wstrb input wire [STRB_WIDTH-1:0]
s_axi_wlast input wire
s_axi_wuser input wire [WUSER_WIDTH-1:0]
s_axi_wvalid input wire
s_axi_wready output wire
s_axi_bid output wire [ID_WIDTH-1:0]
s_axi_bresp output wire [1:0]
s_axi_buser output wire [BUSER_WIDTH-1:0]
s_axi_bvalid output wire
s_axi_bready input wire
m_axi_awid output wire [ID_WIDTH-1:0] * AXI master interface */
m_axi_awaddr output wire [ADDR_WIDTH-1:0]
m_axi_awlen output wire [7:0]
m_axi_awsize output wire [2:0]
m_axi_awburst output wire [1:0]
m_axi_awlock output wire
m_axi_awcache output wire [3:0]
m_axi_awprot output wire [2:0]
m_axi_awqos output wire [3:0]
m_axi_awregion output wire [3:0]
m_axi_awuser output wire [AWUSER_WIDTH-1:0]
m_axi_awvalid output wire
m_axi_awready input wire
m_axi_wdata output wire [DATA_WIDTH-1:0]
m_axi_wstrb output wire [STRB_WIDTH-1:0]
m_axi_wlast output wire
m_axi_wuser output wire [WUSER_WIDTH-1:0]
m_axi_wvalid output wire
m_axi_wready input wire
m_axi_bid input wire [ID_WIDTH-1:0]
m_axi_bresp input wire [1:0]
m_axi_buser input wire [BUSER_WIDTH-1:0]
m_axi_bvalid input wire
m_axi_bready output wire

Signals

Name Type Description
wr_ptr_reg reg [FIFO_ADDR_WIDTH:0]
wr_ptr_next reg [FIFO_ADDR_WIDTH:0]
wr_addr_reg reg [FIFO_ADDR_WIDTH:0]
rd_ptr_reg reg [FIFO_ADDR_WIDTH:0]
rd_ptr_next reg [FIFO_ADDR_WIDTH:0]
rd_addr_reg reg [FIFO_ADDR_WIDTH:0]
mem reg [WWIDTH-1:0]
mem_read_data_reg reg [WWIDTH-1:0]
mem_read_data_valid_reg reg
mem_read_data_valid_next reg
s_axi_w wire [WWIDTH-1:0]
m_axi_w_reg reg [WWIDTH-1:0]
m_axi_wvalid_reg reg
m_axi_wvalid_next reg
full wire full when first MSB different but rest same
empty wire empty when pointers match exactly
hold wire
write reg control signals
read reg
store_output reg

Processes

Type: always

Description
Write logic

Type: always

Type: always

Description
Read logic

Type: always

Type: always

Description
Output register

Type: always