Dma bypass interface, Transmit interface – Achronix Speedster22i PCIe User Manual

Page 22

Advertising
background image

UG030, April 26, 2013

22

DMA Bypass Interface

The bypass interface disables DMA backend, and communicates directly to
the PCI Express core. In its place, the user can build a soft DMA engine that
connects to this interface.

Transmit Interface

The Transmit Interface is the mechanism with which the user transmits PCIe
transaction-layer packets (TLPs) over the PCI Express bus. The user
formulates TLPs for transmission in the same format as defined in the PCI
Express Specification

User’s task: Supply a complete TLP comprised of packet header, data
payload, and optional TLP Digest.

The core Data Link Layer adds the necessary framing (STP/END), sequence
number, Link CRC (LCRC), and optionally ECRC (when ECRC support is
present and enabled).

Packets are transmitted to master write and read requests, to respond with
completions to target reads and target I/O requests, to transmit messages,
etc.

The Achronix PCIe Core automatically implements any necessary replays
due to transmission errors, etc. If the remote device does not have sufficient
space in its Receive Buffer for the packet, the core pauses packet transmission
until the issue is resolved.

PCI Express packets are transmitted exactly as received by the core on the
Transmit Interface with no validation that the packets are formulated
correctly by the user.

User’s task: It is critical that all packets transmitted are formed correctly and
that vc0_tx_eop is asserted at the appropriate last vc0_tx_data word in each
packet.

PCI Express Packets are integer multiples of 32-bits in length. Thus, 64-bit,
128-bit, and 256-bit Core Data Width cores may have an unused remainder
portion in the final data word of a packet. The core uses the packet TLP
header (Length, TLP Digest, and Format and Type) to detect whether the
packet has an unused remainder and will automatically discard and not
transmit the unused portion of the final data word.

The core contains transmit DLLP-DLLP, TLP-TLP, and TLP-DLLP packing to
maximize link bandwidth by eliminating, whenever possible, idle cycles left
by user TLP transmissions that end without using the full Core Data Width
word.

The Transmit Interface includes the option to nullify TLPs (instruct Receiver
to discard the TLP) to support cut-through routing and the user being able to
cancel TLP transmissions when errors are detected after the TLP
transmission has started. Nullified TLPs that target internal core resources
(Root Port & Downstream Switch Port Configuration Registers and Power
Management Messages) are discarded without affecting the internal core
resources.

Advertising