The PHYMAC block comprises four main sub-blocks:
• MAC Lane—Both the RX and the TX path use this block.
• On the RX side, the block decodes the Physical Layer packet and reports to the LTSSM the type and
number of TS1/TS2 ordered sets received.
• On the TX side, the block multiplexes data from the DLL and the LTSTX sub
-
block. It also adds
lane specific information, including the lane number and the force PAD value when the LTSSM
disables the lane during initialization.
• LTSSM—This block implements the LTSSM and logic that tracks TX and RX data on each lane.
• For transmission, it interacts with each MAC lane sub-block and with the LTSTX sub-block by
asserting both global and per-lane control bits to generate specific Physical Layer packets.
• On the receive path, it receives the Physical Layer packets reported by each MAC lane sub-block. It
also enables the multilane deskew block. This block reports the Physical Layer status to higher
layers.
• LTSTX (Ordered Set and SKP Generation)—This sub-block generates the Physical Layer packet. It
receives control signals from the LTSSM block and generates Physical Layer packet for each lane. It
generates the same Physical Layer Packet for all lanes and PAD symbols for the link or lane number
in the corresponding TS1/TS2 fields.
The block also handles the receiver detection operation to the PCS sub-layer by asserting predefined PIPE
signals and waiting for the result. It also generates a SKP Ordered Set at every predefined timeslot and
interacts with the TX alignment block to prevent the insertion of a SKP Ordered Set in the middle of
packet.
• Deskew—This sub-block performs the multilane deskew function and the RX alignment between the
number of initialized lanes and the 64-bit data path.
The multilane deskew implements an eight-word FIFO buffer for each lane to store symbols. Each symbol
includes eight data bits, one disparity bit, and one control bit. The FIFO discards the FTS, COM, and SKP
symbols and replaces PAD and IDL with D0.0 data. When all eight FIFOs contain data, a read can occur.
When the multilane lane deskew block is first enabled, each FIFO begins writing after the first COM is
detected. If all lanes have not detected a COM symbol after seven clock cycles, they are reset and the
resynchronization process restarts, or else the RX alignment function recreates a 64-bit data word which is
sent to the DLL.
Arria 10 Avalon-MM DMA for PCI Express
The Arria 10 Avalon-MM DMA for PCI Express IP Core includes highly efficient Read DMA, Write
DMA, and DMA Descriptor Controller modules. The example design described in the
Getting Started
with the Avalon-MM DMA
chapter includes a Linux software driver for these DMA modules.
The DMA performance provides close to the maximum theoretical data throughput for both large and
small payloads. Using a 256-bye payload the DMA achieves the following throughput:
• 7.1 GBytes/sec back-to-back TX memory write completion
• 7.0 GBytes/sec back-to-back RX read completion throughput
• 11.4 GBytes/sec simultaneous reads and writes
10-8
Arria 10 Avalon-MM DMA for PCI Express
UG-01145_avmm_dma
2015.11.02
Altera Corporation
IP Core Architecture
Send Feedback