RapidIO Intel FPGA IP User Guide

ID 683884
Date 9/15/2021
Public
Document Table of Contents

5.2.2. Avalon® -ST Pass-Through Interface Signals

When you instantiate the IP core with Platform Designer (Standard), these signals are automatically connected and are not visible as inputs or outputs of the system.
Table 50.   Avalon® -ST Pass-Through Tx Interface Transmission Signals
Signal Type Function
gen_tx_ready Output Indicates that the IP core is ready to receive data on the next clock cycle. Asserted by the Avalon® -ST sink to mark ready cycles, which are the cycles in which transfers can take place. If ready is asserted on cycle N, the cycle (N+READY_LATENCY) is a ready cycle.

In the RapidIO IP core, READY_LATENCY is equal to 1, so the cycle immediately following the rising clock edge on which gen_tx_ready is detected as asserted is the ready cycle.

This signal may alternate between 0 and 1 when the Avalon® -ST pass-through transmitter interface is idle. After gen_tx_valid is asserted, gen_tx_ready remains asserted for the duration of the packet transmission, unless the Physical layer transmit buffer fills.

gen_tx_valid 40 Input Used to qualify all the other transmit side of the Avalon® -ST pass-through interface input signals. On every ready cycle in which gen_tx_valid is high, data is sampled by the IP core.
gen_tx_startofpacket Input Marks the active cycle containing the start of the packet40
gen_tx_endofpacket Input Marks the active cycle containing the end of the packet.40
gen_tx_data Input A 32-bit wide data bus for 1x variations, or a 64-bit wide data bus for 2x or 4x variations. Carries the bulk of the information transferred from the source to the sink.40
gen_tx_empty Input This bus identifies the number of empty bytes on the last data transfer of the gen_tx_endofpacket. For a 32-bit wide data bus, this bus is 2 bits wide. For a 64-bit wide data bus, this bus is 3 bits wide. The least significant bit is ignored and assumed to be 0. The following values are supported:
32-bit bus:

2'b0X none

2'b1X [15:0]

64-bit bus:

3'b00X none

3'b01X [15:0]

3'b10X [31:0]

3'b11X [47:0]

gen_tx_error Input If asserted any time during the packet transfer, this signal indicates the corresponding data has an error and causes the packet to be dropped by the IP core. A value of zero on any beat indicates the data on that beat is error-free.40
Table 51.   Avalon® -ST Pass-Through Rx Interface Receiver Signals
Signal Type Function
gen_rx_ready Input Indicates to the IP core that the user’s custom logic is ready to receive data on the next clock cycle. Asserted by the sink to mark ready cycles, which are cycles in which transfers can occur. If ready is asserted on cycle N, the cycle (N+READY_LATENCY) is a ready cycle. The RapidIO IP core is designed for READY_LATENCY equal to1.
gen_rx_valid 41 Output Used to qualify all the other output signals of the receive side pass-through interface. On every rising edge of the clock where gen_rx_valid is high, gen_rx_data can be sampled.
gen_rx_startofpacket Output Marks the active cycle containing the start of the packet.41
gen_rx_endofpacket Output Marks the active cycle containing the end of the packet.41
gen_rx_data Output A 32-bit wide data bus for 1x mode, or a 64-bit wide data bus for 2x or 4x mode.41
gen_rx_empty Output This bus identifies the number of empty bytes on the last data transfer of the gen_rx_endofpacket. For a 32-bit wide data bus, this bus is 2 bits wide. For a 64-bit wide data bus, this bus is 3 bits wide. The least significant bit is ignored and assumed to be 0. The following values are supported:
32-bit bus:

2'b0X none

2'b1X [15:0]

64-bit bus:

3'b00X none

3'b01X [15:0]

3'b10X [31:0]

3'b11X [47:0]

If the received number of bytes, including padding and CRC, is a multiple of four (for a 32-bit wide data bus) or a multiple of eight (for a 64-bit wide data bus), the value of gen_rx_empty is zero.

The value of gen_rx_empty does not tell you whether the final 16 bits of the data transfer are padding or CRC bits; your custom logical layer application must decode the header fields to determine how to interpret the received bits.

gen_rx_size 42 Output Identifies the number of cycles the current packet transfer requires. This signal is only valid on the start of packet cycle when gen_rx_startofpacket is asserted.41
gen_rx_error Output Indicates that the corresponding data has an error. This signal is never asserted by the RapidIO IP core.41
40 This signal is used to qualify all the other input signals of the transmit side of the Avalon® -ST pass-through interface.
41 This signal is used to qualify all the other output signals of the receive side Avalon® -ST pass-through interface.
42 This is not an Avalon® -ST signal. The gen_rx_size signal is exported when the RapidIO IP core is part of a Platform Designer (Standard) system.