Altera HyperTransport MegaCore Function User Manual

Page 43

Advertising
background image

Chapter 3: Specifications

3–17

HyperTransport MegaCore Function Specification

© November 2009

Altera Corporation

HyperTransport MegaCore Function User Guide

Preliminary

Rx Command/Data Buffer Interfaces

Each HT virtual channel has one Rx command/data interface. These interfaces are
slave source Atlantic interfaces, allowing streaming packets in an easy-to-use
interface.

Rx Command/Data Buffer Interface Signals

Table 3–5

describes the Rx buffer interface signals. Each of these signals has one of the

following three types:

Rx response interface (HT MegaCore function signal names prefixed with RxR)

Rx posted interface (HT MegaCore function signal names prefixed with RxP)

Rx non-posted interface (HT MegaCore function signal names prefixed with
RxNp)

Because each channel uses similar interface signals, they are only described once. Any
channels that have specific differences are noted in

Table 3–5

.

Table 3–5. Rx Command/Data Buffer Interface Signals (Part 1 of 2)

Signal Name

Direction

Description

Dat_o[63:0]

Output

Data bus. This 64-bit bus contains the actual HT command/data information received
from the HT link. This bus has the following constraints:

Data received from the link is organized in Atlantic packets.

Data is transferred in a little endian format (first byte is in

Dat_o[7:0]

).

The Atlantic packet on the Rx interface contains a command phase followed by zero,
one, or more data phases.

During the command phase,

Sop_o

is asserted to indicate the start of packet. That is,

Sop

indicates the start of an Atlantic packet and indicates that

Dat_o[63:0]

contains the HT command.

The data presented on

Dat_o[63:0]

is presented with the bytes in the order they

are received from the HT link. Therefore, the first byte received from the HT link in a
command packet is provided on

Dat_o[7:0]

.

If the command has no associated data, such as a non-posted read request or

TgtDone

response packet,

Sop_o

and

Eop_o

are asserted at the same time.

You can decode the command bits to determine whether there is data associated with
the command (and how much) while

Sop_o

is asserted.

Mty_o[2:0]

Output

Data byte empty. This bus indicates which bytes are invalid on

Dat_o[63:0]

. Because

HT packets are DWORD aligned, only two valid encodings are used by the
HyperTransport MegaCore function. The following

Mty_o

signal values are possible:

Mty_o = '000'

, all bytes on

Dat_o[63:0]

are valid.

Mty_o = '100'

,

Dat_o[63:32]

are invalid.

Invalid bytes can only be on the last word of a packet. It is illegal to have a non-zero value
for the

Mty_o

signals for words other than the last word of the packet, even for 32-bit

commands that have data, such as a read response. In this case, when

Sop_o

is

asserted,

Dat_o[63:32]

is implicitly invalid. The first data bytes are placed on the

Dat_o

bus the cycle after

Sop_i

. If the 32-bit command does not have data, the

Mty_o

signals are set to '100', and

Eop_o

and

Sop_o

are asserted.

Advertising