
The CPM4 PCIe controllers are designed to the PCI Express Base Specification Revision 4.0 and
support the Gen4 data rate (16 GT/s per lane). They also support the Gen1 (2.5 GT/s per lane),
Gen2 (5 GT/s per lane) and Gen3 (8 GT/s per lane) data rates, and can interoperate with
components that are compliant with all versions of the PCI Express Base Specification.
The CPM4 PCIe controllers are available through the Vivado IP catalog in the Vivado Integrated
Design Environment (IDE). The combination of the CPM4 PCIe controllers, the GTY, and clocking
implement all layers of the PCI Express protocol, and the configuration space and controller.
Protocol Layers
The layers of the protocol are the AXI4-Stream layer, the transaction layer, the data link layer and
the physical layer, and they are described in subsequent sections.
AXI4-Stream Layer
The AXI4-Stream layer implements Xilinx-specific requirements. In the transmit or outbound
direction, the AXI4 layer interfaces the transaction layer with two AXI4-Stream interfaces. In the
receive or inbound direction, the transaction layer output is forwarded to two AXI4-Stream
interfaces. Application designs can attach to the AXI4-Stream interfaces, exchange information
with the Versal
®
ACAP CPM Mode for PCI Express encoded as a Xilinx-specific streaming
protocol implementation, and run on top of the industry standard AXI4-Stream interface. The
CPM4 PCIe controllers support management of up to 256 (extended tag) or 768 (10 bit Tag)
outstanding customer initiated read requests, as part of the streaming protocol. The AXI4-Stream
layer supports:
• Reception and transmission of address translation services (ATS) invalid requests, ATS invalid
completions, ATS page requests and ATS PRG response message TLPs, which enable ATS to
be implemented in the fabric logic.
• AXI4-Stream interface widths of 64 bits, 128 bits, 256 bits and 512 bits.
Transaction Layer
The transaction layer is the upper layer of the PCI Express architecture, and its primary function
is to accept, buffer, and forward transaction layer packets (TLPs). TLPs communicate information
with the use of memory, I/O, configuration, and message transactions. To maximize the efficiency
of communication between devices, the transaction layer enforces PCI-compliant transaction
ordering rules and supports relaxed ordering (RO) of received transactions. The transaction layer
also manages TLP buffer space through credit-based flow control. The transaction layer
implements built-in tag management for transmitted non-posted transactions. It also implements
cut-through forwarding of transactions in the transmit (or outbound) direction.
Chapter 1: Overview
PG346 (v3.3) November 16, 2022
CPM Mode for PCI Express
7