6919 - Nexus / PCIe: How to determine the total DW of TLP to be received by link[LINK]_rx_data_o?

6919 - Nexus / PCIe: How to determine the total DW of TLP to be received by link[LINK]_rx_data_o?

Description:

Referring to the TLP fields of the PCI-Express Base Specification (https://pcisig.com/specifications), the ‘Fmt’ will determine the desired format of TLP.




Note: The requests with two Fmt[2:0] values (i.e. MWr has 010 and 011) can use either 32-bits (3-DW header with data) or 64-bit (4-DW header with data) addressing packet formats.

Solution:

The expectation is that the signal link [LINK]_rx_data_o will receive a total of header + payload + ECRC (optional).

For example in receiving MWr32: 

header + payload + ECRC = 3-DW + 2-DW + 1-DW = 6-DW

or

header + payload = 3-DW + 2-DW = 5-DW

If considering the required data only (excluding ECRC), it will receive 5-DW.