Altera HyperTransport MegaCore Function User Manual

Page 32

Advertising
background image

3–6

Chapter 3: Specifications

HyperTransport MegaCore Function Specification

HyperTransport MegaCore Function User Guide

© November 2009

Altera Corporation

Preliminary

If the Rx request address matches one of the BAR registers in the CSR module, the Rx
packet processor claims the packet and writes to the Rx posted buffer or the Rx
non-posted buffer. If the UnitID in an Rx response matches the UnitID in the CSR, the
processor claims the packet and writes to the Rx response buffer. The processor claims
data packets and writes to the appropriate Rx buffer if it claimed the associated
request or response packet.

The Rx packet processor passes unclaimed packets to the end-chain handler.

End-Chain Handler

The end-chain handler logs errors when it receives a response or posted packet. It also
generates NXA response packets when it receives a non-posted packet.

Rx Claimed Buffers

The traffic written to the claimed packet buffers is stored in the appropriate virtual
channel buffer. The packets are stored in the order in which they are received from the
link. When reading the packets from the buffers, you read commands followed by any
associated data.

To allow maximum throughput of the command packets, command packets are
stored in registers. Data packets, on the other hand, are stored in dual-port memory
blocks.

Although data packets and command packets are stored in separate storage elements,
when the user interface reads those packets it appears as though they are stored in the
same location. That is, the user interface sees a command packet followed by the data,
consecutively.

Tx Buffers

The Tx buffers are temporary storage for the traffic to be transmitted on the Tx path.
The user logic writes packets to the buffer with the command as the first word written
followed by any data associated with that command. Tx buffers automatically adjust
for 32-bit commands or 64-bit commands by inserting idle NOP packets in the upper
bits of a 32-bit command, such as a read response. Additionally, because the
transmitted data may be an odd number of DWORDS, the Tx buffers insert a

NOP

packet from the NOP generator to align the end of packet to the 64-bit boundary,
placing the next packet start command on the lower DWORD. The Tx buffers also
generate appropriate CTL information for transmission to the link.

Scheduler

The scheduler ensures equal access to all HT virtual channels. The scheduler is an
arbiter that performs round-robin arbitration between the response, non-posted, and
posted buffers. Additionally, the scheduler gives a higher priority to the NOP
generator so that if a NOP packet with flow control information is available at the end
of a packet transmission, the scheduler allows it to be transmitted before starting a
new packet transmission from another virtual channel.

Advertising