
Completer Completion Interface Operation (1024-bits)
The following figure illustrates the signals associated with the completer completion interface of
the core. The core delivers each TLP on this interface as an AXI4-Stream packet. The packet
starts with a 96-bit descriptor, followed by data in the case of Completions with a payload.
The completer request interface supports two distinct data alignment modes, selected during
core customization in the Vivado
®
IDE. In the Dword-aligned mode, the first byte of valid data
must be presented on lane
n = (S + 12 + (A mod 4)) mod 64
, where A is the byte-level starting
address of the data block being transferred and S is the lane number where the first byte of the
descriptor appears. The address A is taken as the value in the Lower Address field of the
descriptor. The starting lane number S is always 0 when the straddle option is not used, but can
be 0 or 32 when straddle is enabled.
In the 128-bit address-aligned mode, the lane number corresponding to the first byte of the
payload is determined as
n = (S + 16 + (A mod 16)) mod 64
, where S is the lane number
where the first byte of the descriptor appears (which can be 0 or 32) and A is the address
corresponding to the first byte of the payload. Any gap between the end of the descriptor and
the start of the first byte of the payload is filled with null bytes.
The interface also supports a straddle option that allows the transfer of up to two TLPs in the
same beat across the interface. The straddle option can be used only with the Dword-aligned
mode, and is not supported when using the 128-bit address aligned mode. The descriptions in
the sections below assume a single TLP per beat. The operation of the interface with the straddle
option enabled is described in
Straddle Option on CC Interface
.
Completer Completion Descriptor Format
The user application sends completion data for a completer request to the completer completion
interface of the core as an independent AXI4-Stream packet. Each packet starts with a descriptor,
and can have payload data following the descriptor. The descriptor is always 12 bytes long, and is
sent in the first 12 bytes of the completion packet. The descriptor is always transferred in the
first beat of a Completion TLP. When the user application splits the completion data for a request
into multiple Split Completions, it must send each Split Completion as a separate AXI4-Stream
packet, with its own descriptor.
The format of the completer completion descriptor is illustrated in the following figure. The
individual fields of the completer request descriptor are described in the following table.
Chapter 4: Designing with the Core
PG346 (v3.3) November 16, 2022
CPM Mode for PCI Express
143