![]() |
eFEX firmware
1.7.3
ATLAS l1-calo - electron and tau feature extraction firmware for eFEX boards
|
Optimised RAM-based single clock packet FIFO. More...
Entities | |
| Behavioral | architecture |
| Optimised RAM-based single clock packet FIFO. More... | |
Libraries | |
| IEEE | |
Use Clauses | |
| STD_LOGIC_1164 | |
| NUMERIC_STD | |
Generics | |
| DATA_WIDTH | positive := 64 |
| Width of data for RAM. | |
| BUFWIDTH | positive := 10 |
| Width of address bus for RAM, i.e. array (0 to 2**BUFWIDTH - 1) | |
| MAXWIDTH | positive := 5 |
| Parameter for maximum packet size (2**MAXWIDTH - 1) on input or output before trigger reset mechanism. | |
Ports | ||
| clk | in | STD_LOGIC |
| Clock. | ||
| rst_clk | in | STD_LOGIC |
| Synchronous reset. | ||
| in_data | in | STD_LOGIC_VECTOR ( DATA_WIDTH - 1 downto 0 ) |
| AXI stream input. | ||
| in_valid | in | STD_LOGIC |
| AXI stream input valid. | ||
| in_last | in | STD_LOGIC |
| AXI stream input last. | ||
| out_pause | in | STD_LOGIC |
| AXI stream output pause request. | ||
| out_data | out | STD_LOGIC_VECTOR ( DATA_WIDTH - 1 downto 0 ) |
| AXI stream output. | ||
| out_valid | out | STD_LOGIC |
| AXI stream output valid. | ||
| out_last | out | STD_LOGIC |
| AXI stream output last. | ||
| fifo_fill_level | out | STD_LOGIC_VECTOR ( 15 downto 0 ) |
| Number of words stored in the FIFO. | ||
| packet_count | out | STD_LOGIC_VECTOR ( 15 downto 0 ) |
| Number of packets stored in the FIFO. | ||
| in_error | out | STD_LOGIC |
| AXI stream input error. | ||
| out_error | out | STD_LOGIC |
| AXI stream output error (asserted on last) | ||
Optimised RAM-based single clock packet FIFO.
AXI stream FIFO block that assumes in_ready is permanently asserted (flow control is defined elsewhere) and that flow control on out_pause is relaxed, so destination will always take data with out_valid asserted Originally derived from http://www.deathbylogic.com/2015/01/vhdl-first-word-fall-through-fifo/ Modified to drive AXI stream interface, with recovery for FIFO running empty or excessive packet size Waits until FIFO contains a complete packet before attempting to transmit
Definition at line 16 of file packet_ram_fifo.vhd.
1.9.1