Protocol violations, Fatal errors, Logical layer error management – Altera RapidIO II MegaCore Function User Manual

Page 119: Protocol violations –77 fatal errors –77, Logical layer error management –77

Advertising
background image

Chapter 4: Functional Description

4–77

Error Detection and Management

August 2014

Altera Corporation

RapidIO II MegaCore Function

User Guide

The RapidIO II IP core Physical layer transparently manages these errors for you. The
RapidIO specification defines both input and output error detection and recovery
state machines that include handshaking protocols in which the receiving end signals
that an error is detected by sending a packet-not-accepted control symbol, the
transmitter then sends an input-status link-request control symbol to which the
receiver responds with a link-response control symbol to indicate which packet
requires transmission. The input and output error detection and recovery state
machines can be monitored by software that you create to read the status of the
Port 0 Error and Status

CSR (

Table 6–14 on page 6–12

).

In addition to the registers defined by the specification, the RapidIO II IP core
provides several output signals that enable user logic to monitor error detection and
the recovery process. Refer to

“Status Packet and Error Monitoring Signals” on

page 5–3

.

Protocol Violations

Some protocol violations, such as a packet with an unexpected ackID or a time-out on
a packet acknowledgment, can use the same error recovery mechanisms as the
transmission errors described in

“Physical Layer Error Management” on page 4–76

.

Some protocol violations, such as a time-out on a link-request or the RapidIO II IP
core receiving a link-response with an ackID outside the range of transmitted ackIDs,
can lead to unrecoverable—or fatal—errors.

Fatal Errors

Software determines the behavior of the RapidIO II IP core following a fatal error. For
example, you can program software to optionally perform any of the following
actions, among others:

Set the PORT_DIS bit of the Port 0 Control CSR (

Table 6–15 on page 6–17

) to force

the initialization state machine to the SILENT state.

Write to the OUTBOUND_ACKID field of the Port 0 Local AckID CSR (

Table 6–12 on

page 6–10

) to specify the next outbound and expected packet ackID from the

RapidIO link partner. You can use this option to force retransmission of
outstanding unacknowledged packets

Set the CLR_OUTSTANDING_ACKIDS field of the Port 0 Local AckID CSR (

Table 6–12

on page 6–10

) to clear the queue of outstanding unacknowledged packets.

If the link partner is reset when its expected ackID is not zero, a fatal error occurs
when the link partner receives the next transmitted packet because the link partner’s
expected ackID is reset to zero, which causes a mismatch between the transmitted
ackID

and the expected ackID. When that occurs, you can use the Port 0 Local AckID

CSR to resynchronize the expected and transmitted ackID values.

Logical Layer Error Management

The Logical layer modules only need to process Logical layer errors because errors
detected by the Physical layer are masked from the Logical layer module. If an errored
packet arrives at the Transport layer, the Transport layer does not pass it on to the
Logical layer modules.

The RapidIO specification defines the following common errors and the protocols for
managing them:

Advertising