RapidIO Intel FPGA IP User Guide

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

4.3.7. Physical Layer Transmit Buffer

The Physical layer accepts packet data from the Transport layer and stores it in the transmit buffer for the RapidIO link low-level interface transmitter. The data passes from the Transport layer to the Physical layer on a bus that is 32 bits wide in 1x variations and 64 bits wide in 2x and 4x variations.

The transmit buffer implements the following features:

  • Provides clock decoupling between the Transport layer sysclk clock domain and the Physical layer txclk clock domain.
  • Implements the RapidIO specification requirements for packet priority handling and deadlock avoidance, by configuring individual priority transmit and retransmit queues.

The transmit buffer is the main memory in which the packets are stored before they are transmitted. You can specify a value of 4, 8, 16, or 32 KBytes to configure the total memory space available for the transmit buffer in devices other than Intel® Arria® 10 and Intel® Cyclone® 10 GX. RapidIO Intel® Arria® 10 and Intel® Cyclone® 10 GX devices have a total transmit buffer size of 32 KBytes.

The transmit buffer space is partitioned into 64-byte blocks that are allocated from a free queue and returned to the free queue when no longer needed. The 64-byte blocks are used on a first-come, first-served basis by the individual transmit and retransmit queues.

The IP core provides the current number of 64-byte blocks in the free queue in the atxwlevel output signal. The transmit buffer also has an output signal, atxovf, which indicates a transmit buffer overflow condition.