MVB MUX
Multi-value bus multiplexer. Selects, which input MVB will be transmitting to output MVB.
The selection is done base on received select transactions. For each RX transaction, there must be exactly one select transaction. If there is none, the component will wait until one is received.
- ENTITY GEN_MVB_MUX IS
Multi-value bus multiplexer. Selects, which input MVB interface will be transmitting to output MVB. The selection is done base on received select transactions. For each RX transaction, there must be exactly one select transaction. If there is none, the component will wait until one is received.
GenericsGeneric
Type
Default
Description
MVB_ITEMS
natural
1
DATA_WIDTH
natural
64
One MVB item width
MUX_WIDTH
natural
2
Number of RX MVB interfaces
FIFO_DEPTH
natural
2
Depth of select FIFO
DEVICE
string
“ULTRASCALE”
Port
Type
Mode
Description
CLK
std_logic
in
Clock signal
RESET
std_logic
in
Synchronous reset with CLK
RX_DATA
std_logic_vector(MUX_WIDTH * MVB_ITEMS * DATA_WIDTH - 1 downto 0)
in
MUX_WIDTH of RX MVB interfaces
RX_VLD
std_logic_vector(MUX_WIDTH * MVB_ITEMS - 1 downto 0)
in
RX_SRC_RDY
std_logic_vector(MUX_WIDTH - 1 downto 0)
in
RX_DST_RDY
std_logic_vector(MUX_WIDTH - 1 downto 0)
out
TX_DATA
std_logic_vector(MVB_ITEMS * DATA_WIDTH - 1 downto 0)
out
TX MVB interface
TX_VLD
std_logic_vector(MVB_ITEMS - 1 downto 0)
out
TX_SRC_RDY
std_logic
out
TX_DST_RDY
std_logic
in
RX_SEL_DATA
std_logic_vector(max(log2(MUX_WIDTH), 1) - 1 downto 0)
in
MVB interface for select signal, for each RX transaction one wants to multiplex, there must be one select transaction.
RX_SEL_VLD
std_logic_vector(0 downto 0)
in
RX_SEL_SRC_RDY
std_logic
in
RX_SEL_DST_RDY
std_logic
out