RapidIO Intel FPGA IP User Guide

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

4.5.2.3. Maintenance Master Processor

This module performs the following tasks:
  • For a MAINTENANCE read, converts the received request packet to an Avalon® read and presents it across the Maintenance Avalon® -MM master interface.
  • For a MAINTENANCE write, converts the received request packet to an Avalon® write and presents it across the Maintenance Avalon® -MM master interface.
  • Performs accounting related to the received RapidIO MAINTENANCE read or write operation.
  • For each MAINTENANCE request packet received from remote endpoints, generates a Type 8 Response packet and presents it to the Transport layer for transmission.

The Avalon® -MM master interface supports the following Avalon® transfers:

  • Single master write transfer
  • Pipelined master read transfers
    Figure 22. Signal Relationships for Four Write Transfers on the Maintenance Avalon® -MM Master Interface
    Figure 23. Timing of a Read Request on the Maintenance Avalon® -MM Master Interface

When a MAINTENANCE packet is received from a remote device, it is first processed by the Physical layer. After the Physical layer processes the packet, it is sent to the Transport layer. The Maintenance module receives the packet on the Rx interface. The Maintenance module extracts the fields of the packet header and uses them to compose the read or write transfer on the Maintenance Avalon® -MM master interface. The following packet header fields are extracted:

  • ttype
  • rdsize/wrsize
  • wdptr
  • config_offset
  • payload

The Maintenance module only supports single 32-bit word transfers, that is, rdsize and wrsize = 4’b1000; other values cause an error response packet to be sent.

The wdptr and config_offset values are used to generate the Avalon® -MM address. The following expression is used to derive the address:

mnt_m_address = {rx_base, config_offset, wdptr, 2'b00}

where rx_base is the value programmed in the Rx Maintenance Mapping register at location 0x10088.

The payload is presented on the mnt_m_writedata[31:0] bus.