MFB Agent
This agent is responsible for the communication through the MFB interface. This is a low level agent which generates only simple MFB words. For advanced control use the byte_array_mfb.
The environment is configured by five parameters: For more information see mfb documentation.
Parameter |
|
---|---|
REGIONS |
|
REGIONS_SIZE |
|
BLOCK_SIZE |
|
ITEM_WIDTH |
|
META_WIDTH |
sequence_item
This package containst two agents. RX agents send data to DUT. Sequence run in RX agent generate ITEMS, META, SOF_POS, EOF_POS, EOF, SOF, SRC_RDY variables in sequence_item. Driver after clock cycle set DST_RDY variable in sequence_item as response. TX agent is reciving data from DUT. There is required to generate DST_RDY and driver after clock cycle set ITEMS, META, SOF_POS, EOF_POS, EOF, SOF, SRC_RDY as response.
Following table shows variables in sequence_items class. The meaning of signals is the same as in mfb documentation.
Name |
|
---|---|
logic [REGION_SIZE * BLOCK_SIZE * ITEM_WIDTH] data[REGIONS] |
|
logic [META_WIDTH] meta[REGIONS] |
|
logic [$clog2(REGION_SIZE)] sof_pos[REGIONS] |
|
logic [$clog2(REGION_SIZE * BLOCK_SIZE)] eof_pos[REGIONS] |
|
logic [REGIONS] sof |
|
logic [REGIONS] eof |
|
logic src_rdy |
|
logic dst_rdy |
This is low level protocol if you generate data in sequence please be carefull if you dont breaking mfb protocols rules.