Table 49: Completer Completion Descriptor Fields (cont'd)
Bit Index
Field Name
Description
28:16
Byte Count
These 13 bits can have values in the range of 0 – 4,096 bytes. If a
Memory Read Request is completed using a single Completion, the
Byte Count value indicates Payload size in bytes. This field must be
set to 4 for I/O read Completions and I/O write Completions. The
byte count must be set to 1 while sending a Completion for a zero-
length memory read, and a dummy payload of 1 Dword must follow
the descriptor.
For each Memory Read Completion, the Byte Count field must
indicate the remaining number of bytes required to complete the
Request, including the number of bytes returned with the
Completion. If a Memory Read Request is completed using multiple
Completions, the Byte Count value for each successive Completion is
the value indicated by the preceding Completion minus the number
of bytes returned with the preceding Completion.
29
Locked Read Completion
This bit must be set when the Completion is in response to a Locked
Read request. It must be set to 0 for all other Completions.
31
T8
When 10b tags are enabled for the Completer, this bit must be set to
bit [8] of the PCIe tag. This bit is reserved in all other cases.
42:32
Dword Count
These 11 bits indicate the size of the payload of the current packet in
Dwords. Its range is 0 – 1K Dwords. This field must be set to 1 for I/O
read Completions and 0 for I/O write Completions. The Dword count
must be set to 1 while sending a Completion for a zero-length
memory read. The Dword count must be set to 0 when sending a UR
or CA Completion. In all other cases, the Dword count must
correspond to the actual number of Dwords in the payload of the
current packet.
45:43
Completion Status
These bits must be set based on the type of Completion being sent.
The only valid settings are:
•
000: Successful Completion
•
001: Unsupported Request (UR)
•
100: Completer Abort (CA)
46
Poisoned Completion
This bit can be used by the user logic to poison the Completion TLP
being sent. This bit must be set to 0 for all Completions, except when
the user logic has detected an error in the block of data following the
descriptor and wants to communicate this information using the
Data Poisoning feature of PCI Express.
47
T9
When 10b tags are enabled for the Completer, this bit must be set to
bit [9] of the PCIe tag. This bit is reserved in all other cases.
63:48
Requester ID
PCI Requester ID associated with the request (copied by the user
logic from the request).
71:64
Tag
PCIe Tag associated with the request (copied by the user logic from
the request).
Chapter 4: Designing with the Core
PG346 (v3.3) November 16, 2022
CPM Mode for PCI Express
145