MFB Dropper

ENTITY MFB_DROPPER IS

This component is able to drop the incoming packet when RX_DROP input is set to one. This input allows to specify the dropping for each MFB region separately.

Generics

Generic

Type

Default

Description

REGIONS

natural

4

any positive

REGION_SIZE

natural

8

any power of two

BLOCK_SIZE

natural

8

any power of two

ITEM_WIDTH

natural

8

any power of two

META_WIDTH

natural

2

Ports

Port

Type

Mode

Description

=====

CLOCK AND RESET

=====

=====

CLK

std_logic

in

RESET

std_logic

in

=====

INPUT MFB INTERFACE WITH DROP ENABLE FLAGS

=====

=====

RX_DATA

std_logic_vector(REGIONS*REGION_SIZE*BLOCK_SIZE*ITEM_WIDTH-1 downto 0)

in

RX_META

std_logic_vector(REGIONS*META_WIDTH-1 downto 0)

in

RX_SOF_POS

std_logic_vector(REGIONS*max(1,log2(REGION_SIZE))-1 downto 0)

in

RX_EOF_POS

std_logic_vector(REGIONS*max(1,log2(REGION_SIZE*BLOCK_SIZE))-1 downto 0)

in

RX_SOF

std_logic_vector(REGIONS-1 downto 0)

in

RX_EOF

std_logic_vector(REGIONS-1 downto 0)

in

RX_SRC_RDY

std_logic

in

RX_DST_RDY

std_logic

out

RX_DROP

std_logic_vector(REGIONS-1 downto 0)

in

Packet drop, valid with each SOF.

=====

OUTPUT MFB INTERFACE

=====

=====

TX_DATA

std_logic_vector(REGIONS*REGION_SIZE*BLOCK_SIZE*ITEM_WIDTH-1 downto 0)

out

TX_META

std_logic_vector(REGIONS*META_WIDTH-1 downto 0)

out

TX_SOF_POS

std_logic_vector(REGIONS*max(1,log2(REGION_SIZE))-1 downto 0)

out

TX_EOF_POS

std_logic_vector(REGIONS*max(1,log2(REGION_SIZE*BLOCK_SIZE))-1 downto 0)

out

TX_SOF

std_logic_vector(REGIONS-1 downto 0)

out

TX_EOF

std_logic_vector(REGIONS-1 downto 0)

out

TX_SRC_RDY

std_logic

out

TX_DST_RDY

std_logic

in