data.fifo.array ≡
An array of fifos
template < typename T, auto Depth, auto ArraySize, template <typename, auto> typename FifoType = FIFO > class fifo_array §source
An array of FIFOs.
Parameters
-
typename TDatatype stored in each FIFO.
-
auto DepthNumber of elements stored in each FIFO.
-
auto ArraySizeThe number of FIFOs.
-
template <typename, auto> typename FifoType = FIFO
Type of FIFO to use.
Methods
-
template <fifo_array::fifo_index_t FifoIndex> void enqueue_one(T value) §source
Enqueue a value into specified FIFO.
Parameters
-
fifo_array::fifo_index_t FifoIndex
The index of the FIFO to store into.
Arguments
-
T valueValue to store into the selected FIFO.
-
-
void enqueue_many(optional<T>[ArraySize] values) §source
Enqueue zero or one values into each FIFO.
Arguments
-
optional<T>[ArraySize] values
Array of values to store.
is_validindicates if value should be stored.
-
-
void enqueue_all(T[ArraySize] values) §source
Enqueue one value into each FIFO.
Arguments
-
T[ArraySize] valuesArray of values to store.
-
-
template <fifo_array::fifo_index_t FifoIndex> T dequeue_one() §source
Dequeue a value from specified FIFO.
Parameters
-
fifo_array::fifo_index_t FifoIndex
The index of the FIFO to store into.
-
-
optional<T>[ArraySize] dequeue_many(bool[ArraySize] mask) §source
Dequeue zero or one values from each FIFO.
Arguments
-
bool[ArraySize] mask
An array of boolean values, one per FIFO. If
mask[i] == true, then an element will be dequeued from FIFOiand stored in the result array at indexi. Ifmask[i] == false, then elementiin the result is undefined.
-
-
T[ArraySize] dequeue_all() §source
Dequeue one values from each FIFO.