[ Team LiB ] Previous Section Next Section

ACK/NAK DLLP Format

The format of an ACK or NAK DLLP is illustrated in Figure 5-6 on page 219. Table 5-6 describes the ACK or NAK DLLP Fields.

Figure 5-6. Ack Or Nak DLLP Packet Format

graphics/05fig06.jpg

Table 5-1. Ack or Nak DLLP Fields

Field Name

Header Byte/Bit

DLLP Function

AckNak_Seq_Num

[11:0]

Byte 3 Bit 7:0

Byte 2 Bit 3:0

For an ACK DLLP:

  • For good TLPs received with Sequence Number = NEXT_RCV_SEQ count (count before incrementing), use NEXT_RCV_SEQ count - 1 (count after incrementing minus 1).

  • For TLP received with Sequence Number earlier than NEXT_RCV_SEQ count (duplicate TLP), use NEXT_RCV_SEQ count - 1.

For a NAK DLLP:

  • Associated with a TLP that fails the CRC check, use NEXT_RCV_SEQ count - 1.

  • For a TLP received with Sequence Number later than NEXT_RCV_SEQ count, use NEXT_RCV_SEQ count - 1.

Upon receipt, the transmitter will purge TLPs with equal to and earlier Sequence Numbers and replay the remainder TLPs.

Type 7:0

Byte 0 Bit 7:0

Indicates the type of DLLP. For the Ack/Nak DLLPs:

  • 0000 0000b = ACK DLLP.

  • 0001 0000b = NAK DLLP.

16-bit CRC

Byte 5 Bit 7:0

Byte 4 Bit 7:0

16-bit CRC used to protect the contents of this DLLP. Calculation is made on Bytes 0-3 of the ACK/NAK.

    [ Team LiB ] Previous Section Next Section