Physical layer receive buffer, Physical layer receive buffer –14, Physical layer receive buffer” on – Altera RapidIO MegaCore Function User Manual

Page 60

Advertising
background image

4–14

Chapter 4: Functional Description

Physical Layer

RapidIO MegaCore Function

August 2014

Altera Corporation

User Guide

Processes incoming control symbols

Creates and transmits outgoing control symbols

On the receiver side, this block keeps track of the sequence of ackIDs and determines
which packets are acknowledged and which packets to retry or drop. On the
transmitter side, it keeps track of the sequence of ackIDs, tells the transmit buffer
control block which packet to send, and sets the outgoing packets’ ackID. It also tells
the transmit buffer control block when a packet has been acknowledged—and can
therefore be discarded from the buffers.

The Physical layer protocol and flow control engine ensures that a maximum of 31
unacknowledged packets are transmitted, and that the ackIDs are used and
acknowledged in sequential order.

If the receiver cannot accept a packet due to buffer congestion, a packet-retry control
symbol with the packet’s ackID is sent to the transmitter. The sender then sends a
restart-from-retry

control symbol and retransmits all packets starting from the

specified ackID. The RapidIO IP core supports receiver-controlled flow control in both
directions.

If the receiver or the protocol and flow control block detects that an incoming packet
or control symbol is corrupted or a link protocol violation has occurred, the protocol
and flow control block enters an error recovery process. Link protocol violations
include acknowledgement time-outs based on the timers the protocol and flow
control block sets for every outgoing packet. In the case of a corrupted incoming
packet or control symbol, and some link protocol violations, the block instructs the
transmitter to send a packet-not-accepted symbol to the sender. A link-request
link-response

control symbol pair is then exchanged between the link partners and

the sender then retransmits all packets starting from the ackID specified in the
link-response

control symbol. The transmitter attempts the link-request

link-response

control symbol pair exchange as many times as specified by the value

N that you provided for the Link-request attempts parameter in the RapidIO
parameter editor. If the protocol and control block times out awaiting the response to
the Nth link-request control symbol, it declares a fatal error.

The Physical layer can retransmit any unacknowledged packet because it keeps a
copy of each transmitted packet until the packet is acknowledged with a
packet-accepted

control symbol.

When a time-out occurs for an outgoing packet, the protocol and flow control block
treats it as an unexpected acknowledge control symbol, and starts the recovery
process. If a packet is retransmitted, the time-out counter is reset.

Physical Layer Receive Buffer

The Physical layer passes data to the Transport layer through a Physical layer receive
buffer.. The data passes between the buffer and the Transport layer on a bus that is 32
bits wide in 1x variations and 64 bits wide in 2x and 4x variations.

The Physical layer receiver block accepts packet data from the low-level interface
receiver module and stores the data in its receive buffer. The receive buffer provides
clock decoupling between the Physical layer rxclk clock domain and the Transport
layer sysclk clock domain.

Advertising