MFB Trasformer
- ENTITY MFB_TRANSFORMER IS
This component performs changing MFB word size by increasing or decreasing the number of Regions on RX to TX.
- There are two possible solutions:
RX_REGIONS > TX_REGIONS - Multiple Regions in one word on the RX side are sent in multiple words with fewer Regions from the TX side.
RX_REGIONS < TX_REGIONS - Multiple words on the RX side are put together to form one word with multiple Regions on the TX side.
Generic
Type
Default
Description
=====
MFB Configuration
=====
=====
RX_REGIONS
integer
2
TX_REGIONS
integer
1
REGION_SIZE
integer
1
BLOCK_SIZE
integer
8
ITEM_WIDTH
integer
32
META_WIDTH
integer
0
Port
Type
Mode
Description
=====
Clock and Reset
=====
=====
CLK
std_logic
in
RESET
std_logic
in
=====
MFB input interface
=====
=====
RX_DATA
std_logic_vector(RX_REGIONS*REGION_SIZE*BLOCK_SIZE*ITEM_WIDTH-1 downto 0)
in
RX_META
std_logic_vector(RX_REGIONS*META_WIDTH-1 downto 0)
in
RX_SOP
std_logic_vector(RX_REGIONS-1 downto 0)
in
RX_EOP
std_logic_vector(RX_REGIONS-1 downto 0)
in
RX_SOP_POS
std_logic_vector(RX_REGIONS*max(1, log2(REGION_SIZE))-1 downto 0)
in
RX_EOP_POS
std_logic_vector(RX_REGIONS*max(1, log2(REGION_SIZE*BLOCK_SIZE))-1 downto 0)
in
RX_SRC_RDY
std_logic
in
RX_DST_RDY
std_logic
out
=====
MFB output interface
=====
=====
TX_DATA
std_logic_vector(TX_REGIONS*REGION_SIZE*BLOCK_SIZE*ITEM_WIDTH-1 downto 0)
out
TX_META
std_logic_vector(TX_REGIONS*META_WIDTH-1 downto 0)
out
TX_SOP
std_logic_vector(TX_REGIONS-1 downto 0)
out
TX_EOP
std_logic_vector(TX_REGIONS-1 downto 0)
out
TX_SOP_POS
std_logic_vector(TX_REGIONS*max(1, log2(REGION_SIZE))-1 downto 0)
out
TX_EOP_POS
std_logic_vector(TX_REGIONS*max(1, log2(REGION_SIZE*BLOCK_SIZE))-1 downto 0)
out
TX_SRC_RDY
std_logic
out
TX_DST_RDY
std_logic
in