PCIE CONVERSION UNITS
- ENTITY PCIE_CQ_AXI2MFB IS
The Purpose of this component is to convert AXI to MFB bus. Supported are 512b and 256b with and without straddling, but variants with straddling and all 256 variant has not been tested.
GenericsGeneric
Type
Default
Description
=====
MFB BUS CONFIGURATION:
=====
Supported configurations are: (2,1,8,32), (1,1,8,32)
MFB_REGIONS
natural
2
MFB_REGION_SIZE
natural
1
MFB_BLOCK_SIZE
natural
8
MFB_ITEM_WIDTH
natural
32
MFB_REGION_WIDTH
natural
MFB_REGION_SIZE*MFB_BLOCK_SIZE*MFB_ITEM_WIDTH
MFB bus: width of single data region in bits, auxiliary parameter, do not change value!
=====
AXI BUS CONFIGURATION:
=====
CQ_USER_WIDTH = 183 for Gen3x16 PCIe - with straddling and without straddling! CQ_USER_WIDTH = 88 for Gen3x8 PCIe - without straddling! CQ_USER_WIDTH = 85 for Gen3x8 PCIe - without straddling!
AXI_CQUSER_WIDTH
natural
183
AXI_DATA_WIDTH
natural
MFB_REGIONS*MFB_REGION_WIDTH
STRADDLING
boolean
false
Straddling is permited only for CQ_USER_WIDTH = 183
DEVICE
string
“ULTRASCALE”
Select correct FPGA device: “ULTRASCALE”, “VIRTEX7”
Port
Type
Mode
Description
=====
AXI Completer Request Interface (CQ) - Xilinx FPGA Only
=====
See Xilinx PG213 (UltraScale+ Devices Integrated Block for PCI Express).
CQ_AXI_DATA
std_logic_vector(AXI_DATA_WIDTH-1 downto 0)
in
CQ_AXI: Data word. For detailed specifications, see Xilinx PG213.
CQ_AXI_USER
std_logic_vector(AXI_CQUSER_WIDTH-1 downto 0)
in
CQ_AXI: Set of signals with sideband information about trasferred transaction. For detailed specifications, see Xilinx PG213.
CQ_AXI_LAST
std_logic
in
CQ_AXI: Indication of the last word of a transaction. For detailed specifications, see Xilinx PG213.
CQ_AXI_KEEP
std_logic_vector(AXI_DATA_WIDTH/32-1 downto 0)
in
CQ_AXI: Indication of valid data: each bit determines validity of different Dword. For detailed specifications, see Xilinx PG213.
CQ_AXI_VALID
std_logic
in
CQ_AXI: Indication of valid data: i.e. completer is ready to send a transaction. For detailed specifications, see Xilinx PG213.
CQ_AXI_READY
std_logic
out
CQ_AXI: User application is ready to receive a transaction. For detailed specifications, see Xilinx PG213.
=====
MFB Completer Request Interface (CQ) - Intel FPGA Only
=====
=====
CQ_MFB_DATA
std_logic_vector(MFB_REGIONS*MFB_REGION_WIDTH-1 downto 0)
out
CQ_MFB: data word with frames (packets)
CQ_MFB_SOF
std_logic_vector(MFB_REGIONS-1 downto 0)
out
CQ_MFB: Start Of Frame (SOF) flag for each MFB region
CQ_MFB_EOF
std_logic_vector(MFB_REGIONS-1 downto 0)
out
CQ_MFB: End Of Frame (EOF) flag for each MFB region
CQ_MFB_SOF_POS
std_logic_vector(MFB_REGIONS*max(1,log2(MFB_REGION_SIZE))-1 downto 0)
out
CQ_MFB: SOF position for each MFB region in MFB blocks
CQ_MFB_EOF_POS
std_logic_vector(MFB_REGIONS*max(1,log2(MFB_REGION_SIZE*MFB_BLOCK_SIZE))-1 downto 0)
out
CQ_MFB: EOF position for each MFB region in MFB items
CQ_MFB_SRC_RDY
std_logic
out
CQ_MFB: source ready of each MFB bus
CQ_MFB_DST_RDY
std_logic
in
CQ_MFB: destination ready of each MFB bus
=====
CQ_AXI_USER SIGNAL ITEMS
=====
Ports below are valid only with CQ_MFB_SOF
CQ_TPH_PRESENT
std_logic_vector(MFB_REGIONS-1 downto 0)
out
This bit indicates presence of Transaction Processing Hint (TPH)
CQ_TPH_TYPE
std_logic_vector(MFB_REGIONS*2-1 downto 0)
out
These two bits provide the value of the PH field associated with the hint
CQ_TPH_ST_TAG
std_logic_vector(MFB_REGIONS*8-1 downto 0)
out
This output provides the 8-bit Steering Tag associated with the hint
CQ_FBE
std_logic_vector(MFB_REGIONS*4-1 downto 0)
out
Byte enables for the first DWORD
CQ_LBE
std_logic_vector(MFB_REGIONS*4-1 downto 0)
out
Byte enables for the last DWORD
- ENTITY PCIE_CC_MFB2AXI IS
The Purpose of this component is to convert MFB to AXI bus. Supported is only 512b variant without straddling
GenericsGeneric
Type
Default
Description
=====
MFB BUS CONFIGURATION:
=====
Supported configuration is: (2,1,8,32), (1,1,8,32)
MFB_REGIONS
natural
2
MFB_REGION_SIZE
natural
1
MFB_BLOCK_SIZE
natural
8
MFB_ITEM_WIDTH
natural
32
MFB_REGION_WIDTH
natural
MFB_REGION_SIZE*MFB_BLOCK_SIZE*MFB_ITEM_WIDTH
MFB bus: width of single data region in bits, auxiliary parameter, do not change value!
=====
AXI BUS CONFIGURATION:
=====
CC_USER_WIDTH = 81 for Gen3x16 PCIe - without straddling! CC_USER_WIDTH = 33 for Gen3x8 PCIe - without straddling!
AXI_CCUSER_WIDTH
natural
81
AXI_DATA_WIDTH
natural
512
STRADDLING
boolean
false
Not supported
Port
Type
Mode
Description
=====
MFB Completer Request Interface (CC) - Intel FPGA Only
=====
=====
CC_MFB_DATA
std_logic_vector(MFB_REGIONS*MFB_REGION_WIDTH-1 downto 0)
in
CC_MFB: data word with frames (packets)
CC_MFB_SOF
std_logic_vector(MFB_REGIONS-1 downto 0)
in
CC_MFB: Start Of Frame (SOF) flag for each MFB region
CC_MFB_EOF
std_logic_vector(MFB_REGIONS-1 downto 0)
in
CC_MFB: End Of Frame (EOF) flag for each MFB region
CC_MFB_SOF_POS
std_logic_vector(MFB_REGIONS*max(1,log2(MFB_REGION_SIZE))-1 downto 0)
in
CC_MFB: SOF position for each MFB region in MFB blocks
CC_MFB_EOF_POS
std_logic_vector(MFB_REGIONS*max(1,log2(MFB_REGION_SIZE*MFB_BLOCK_SIZE))-1 downto 0)
in
CC_MFB: EOF position for each MFB region in MFB items
CC_MFB_SRC_RDY
std_logic
in
CC_MFB: source ready of each MFB bus
CC_MFB_DST_RDY
std_logic
out
CC_MFB: destination ready of each MFB bus
=====
AXI Completer Request Interface (CC) - Xilinx FPGA Only
=====
See Xilinx PG213 (UltraScale+ Devices Integrated Block for PCI Express).
CC_AXI_DATA
std_logic_vector(AXI_DATA_WIDTH-1 downto 0)
out
CC_AXI: Data word. For detailed specifications, see Xilinx PG213.
CC_AXI_USER
std_logic_vector(AXI_CCUSER_WIDTH-1 downto 0)
out
CC_AXI: Set of signals with sideband information about trasferred transaction. For detailed specifications, see Xilinx PG213.
CC_AXI_LAST
std_logic
out
CC_AXI: Indication of the last word of a transaction. For detailed specifications, see Xilinx PG213.
CC_AXI_KEEP
std_logic_vector(AXI_DATA_WIDTH/32-1 downto 0)
out
CC_AXI: Indication of valid data: each bit determines validity of different Dword. For detailed specifications, see Xilinx PG213.
CC_AXI_VALID
std_logic
out
CC_AXI: Indication of valid data: i.e. completer is ready to send a transaction. For detailed specifications, see Xilinx PG213.
CC_AXI_READY
std_logic
in
CC_AXI: User application is ready to receive a transaction. For detailed specifications, see Xilinx PG213.