Metadata Insertor
- ENTITY METADATA_INSERTOR IS
Takes items from input MVB stream and inserts them to MFB stream as metadata without affecting the MFB flow in any other way.
GenericsGeneric
Type
Default
Description
=====
MVB characteristics
=====
=====
MVB_ITEMS
integer
2
MVB_ITEM_WIDTH
integer
128
=====
MFB characteristics
=====
=====
MFB_REGIONS
integer
2
MFB_REGION_SIZE
integer
1
MFB_BLOCK_SIZE
integer
8
MFB_ITEM_WIDTH
integer
32
MFB_META_WIDTH
integer
0
Width of default MFB metadata
=====
Others
=====
=====
INSERT_MODE
integer
0
- Metadata insertion mode options:
0 - Insert in SOF Region
1 - Insert in EOF Region
2 - Insert for valid all regions of the frame. Leads to a slight increase of logic paths. When two frames are present in one region, Metadata will be inserted for the one with SOP.
MVB_FIFO_SIZE
natural
0
Input MVB FIFO size. Set to 0 for no FIFO at all
MVB_FIFOX_MULTI
boolean
False
Enable FIFOX Multi for better effectivity MVB_FIFO_SIZE must be >= 16
DEVICE
string
“ULTRASCALE”
- Target device:
“ULTRASCALE”,
“7SERIES”
Port
Type
Mode
Description
=====
Clock and Reset
=====
=====
CLK
std_logic
in
RESET
std_logic
in
=====
RX MVB
=====
=====
RX_MVB_DATA
std_logic_vector(MVB_ITEMS*MVB_ITEM_WIDTH-1 downto 0)
in
RX_MVB_VLD
std_logic_vector(MVB_ITEMS -1 downto 0)
in
RX_MVB_SRC_RDY
std_logic
in
RX_MVB_DST_RDY
std_logic
out
=====
RX MFB
=====
=====
RX_MFB_DATA
std_logic_vector(MFB_REGIONS*MFB_REGION_SIZE*MFB_BLOCK_SIZE*MFB_ITEM_WIDTH-1 downto 0)
in
RX_MFB_META
std_logic_vector(MFB_REGIONS*MFB_META_WIDTH-1 downto 0)
in
Gets propagated to TX MFB without change
RX_MFB_SOF
std_logic_vector(MFB_REGIONS-1 downto 0)
in
RX_MFB_EOF
std_logic_vector(MFB_REGIONS-1 downto 0)
in
RX_MFB_SOF_POS
std_logic_vector(MFB_REGIONS*max(1,log2(MFB_REGION_SIZE))-1 downto 0)
in
RX_MFB_EOF_POS
std_logic_vector(MFB_REGIONS*max(1,log2(MFB_REGION_SIZE*MFB_BLOCK_SIZE))-1 downto 0)
in
RX_MFB_SRC_RDY
std_logic
in
RX_MFB_DST_RDY
std_logic
out
=====
TX MFB
=====
=====
TX_MFB_DATA
std_logic_vector(MFB_REGIONS*MFB_REGION_SIZE*MFB_BLOCK_SIZE*MFB_ITEM_WIDTH-1 downto 0)
out
TX_MFB_META
std_logic_vector(MFB_REGIONS*MFB_META_WIDTH-1 downto 0)
out
Original Metadata from RX MFB
TX_MFB_META_NEW
std_logic_vector(MFB_REGIONS*MVB_ITEM_WIDTH-1 downto 0)
out
Inserted metadata from RX MVB
TX_MFB_SOF
std_logic_vector(MFB_REGIONS-1 downto 0)
out
TX_MFB_EOF
std_logic_vector(MFB_REGIONS-1 downto 0)
out
TX_MFB_SOF_POS
std_logic_vector(MFB_REGIONS*max(1,log2(MFB_REGION_SIZE))-1 downto 0)
out
TX_MFB_EOF_POS
std_logic_vector(MFB_REGIONS*max(1,log2(MFB_REGION_SIZE*MFB_BLOCK_SIZE))-1 downto 0)
out
TX_MFB_SRC_RDY
std_logic
out
TX_MFB_DST_RDY
std_logic
in