Altera HyperTransport MegaCore Function User Manual

Page 45

Advertising
background image

Chapter 3: Specifications

3–19

HyperTransport MegaCore Function Specification

© November 2009

Altera Corporation

HyperTransport MegaCore Function User Guide

Preliminary

Rx Buffer Ordering

The circular Rx buffers allow the local-side application to read packets in the order in
which they were received from the link. This implementation satisfies the HT
specification ordering requirements within the same virtual channel and between the
different channels.

If a response or non-posted packet with the

PassPW

bit reset is received, the HT

specification requires that the packet not be processed until after the preceding posted
packet is processed. The response and non-posted buffers are designed to enforce this
requirement. For example, if a response packet with

PassPW

bit reset is received, the

MegaCore function cannot read that packet from the response buffer until all
preceeding posted packets are read from the Rx posted buffers. In this case,

RxRDav

is

not asserted, and if the user interface asserts

RxREna

,

RxRVal

is deasserted to

indicate invalid data until the preceeding posted packets are read from the posted
buffer.

If

PassPW

is set on a received non-posted or response packet, the packets can be read

out of the Rx buffers as soon as they are head of queue in their virtual channel,
independent of any posted requests that may have arrived earlier.

1

If a response packet with the

PassPW

bit set is received after another response packet

with the

PassPW

bit reset, you cannot read the packet with the

PassPW

bit set until

the previous one with the

PassPW

bit reset is read from the buffer. The same is true for

non-posted packets.

Table 3–6

shows the Rx buffer ordering rules implemented by the HyperTransport

MegaCore function.

Table 3–6. Rx Buffer Ordering

Row Pass Column

Posted Request

Non-Posted Request

Response

Request

Type

PassPW

Specification

(1)

MegaCore

Function

Specification

(1)

MegaCore

Function

Specification

(1)

MegaCore

Function

Posted

1

Yes/No

No

Yes

Yes

(2)

Yes

Yes

(2)

0

No

Non-posted

1

Yes/No

Yes

(2)

Yes/No

No

Yes/No

Yes

(2)

0

No

No

Response

1

Yes/No

Yes

(2)

Yes

Yes

(2)

Yes/No

No

0

No

No

Notes to

Table 3–6

:

(1) This column indicates the requirements as specified by the HyperTransport I/O Link Specification Revision 1.03.

No—The row request type may not pass the column request type.
Yes—The row request type must be allowed to pass the column request type to avoid deadlock conditions.
Yes/No—The row request type may pass the column request type but there is no requirement to do so.

(2) A “Yes” indicates that the MegaCore function allows the row to pass the column if the user application asserts the row

Ena_i

before the column

Ena_i

.

Advertising