AxiS Packet Extender
- ENTITY AXIS_PACKET_EXTENDER IS
AXIS_PACKET_EXTENDER extends each AXI-Stream packet by a configurable number of random bytes.
RX_AXI_EXT_LEN_Ssets the number of extension bytes at the start of the packet,RX_AXI_EXT_LEN_Esets the number of extension bytes at the end of the packet.Internally, the original packet data is first extended from the start (shifted by the extension length in bytes) and logic to handle spilling of the end to an extra word. Then, in the next register stage, it is extended at the end by just lengthening the Keep signal while also handling the spilling bytes.
GenericsWarning
Currently, the maximum of both extensions (separately) cannot be more than a word.
PortsGeneric
Type
Default
Description
AXI_TDATA_WIDTH
natural
512
AXI-Stream data bus width in bits.
AXI_TUSER_WIDTH
natural
11
AXI-Stream metadata bus width in bits, valid with SOP.
EXT_LEN_S_WIDTH
natural
5
Bit-width of extension length signal (from the packet’s Start). Max extend value will be 2**EXT_LEN_S_WIDTH - 1 bytes.
EXT_LEN_E_WIDTH
natural
3
Bit-width of extension length signal (from the packet’s End). Max extend value will be 2**EXT_LEN_E_WIDTH - 1 bytes.
Port
Type
Mode
Description
CLK
std_logic
in
RESET
std_logic
in
=====
AXI-Stream RX interface.
=====
=====
RX_AXI_TDATA
std_logic_vector(AXI_TDATA_WIDTH-1 downto 0)
in
RX_AXI_TUSER
std_logic_vector(AXI_TUSER_WIDTH-1 downto 0)
in
User metadata, valid with SOP.
RX_AXI_TKEEP
std_logic_vector(AXI_TDATA_WIDTH/8-1 downto 0)
in
RX_AXI_TLAST
std_logic
in
RX_AXI_TVALID
std_logic
in
RX_AXI_TREADY
std_logic
out
RX_AXI_EXT_LEN_S
std_logic_vector(EXT_LEN_S_WIDTH-1 downto 0)
in
Extension length from the packet’s Start, in bytes, valid with SOP.
RX_AXI_EXT_LEN_E
std_logic_vector(EXT_LEN_E_WIDTH-1 downto 0)
in
Extension length from the packet’s End, in bytes, valid with SOP.
=====
AXI-Stream TX interface.
=====
=====
TX_AXI_TDATA
std_logic_vector(AXI_TDATA_WIDTH-1 downto 0)
out
TX_AXI_TUSER
std_logic_vector(AXI_TUSER_WIDTH-1 downto 0)
out
User metadata, valid with SOP.
TX_AXI_TKEEP
std_logic_vector(AXI_TDATA_WIDTH/8-1 downto 0)
out
TX_AXI_TLAST
std_logic
out
TX_AXI_TVALID
std_logic
out
TX_AXI_TREADY
std_logic
in