Altera RapidIO II MegaCore Function User Manual

Page 65

Advertising
background image

Chapter 4: Functional Description

4–23

Logical Layer Interfaces

August 2014

Altera Corporation

RapidIO II MegaCore Function

User Guide

You can change the values of the window defining registers at any time, even after
sending a request packet and before receiving its response packet. However, you
should disable a window before changing its window defining registers.

To enable a window, set the window enable (WEN) bit of the window’s Input/Output
Slave Mapping Window

n Mask register (

Table 6–57 on page 6–39

) to the value of 1. To

disable it, set the WEN bit to the value of zero.

For each defined and enabled window, the RapidIO II IP core masks out the RapidIO
address's least significant bits with the window mask and compares the resulting
address to the window base.

The matching window is the lowest numbered window n for which the following
equation holds:

(ios_rd_wr_addr[31:4]

& mask[31:4]) == (base[31:4] & mask[31:4])

where:

ios_rd_wr_addr[31:0]

is the I/O Logical layer Avalon-MM slave address bus. If

the field has fewer than 32 bits, the IP core pads the actual bus value with leading
zeroes for the matching comparison.

mask[31:4]

is the MASK field of the Input/Output Slave Mapping Window n Mask

register.

base[31:4]

is the BASE field of the Input/Output Slave Mapping Window n Base

register.

The RapidIO II IP core determines the value for the RapidIO packet header xamsbs
and address fields from the least significant bits of the Avalon-MM
ios_rd_wr_address

signal and the matching window offset using the following

equation:

rio_addr

[33:4] =

{xamo, ((offset

[31:4] & mask [31:4]) | ios_rd_wr_address[31:4])}

where:

rio_addr[33:0]

is the 34-bit RapidIO address composed of

{xamsbs[1:0],address[28:0],3b’000}

for RapidIO header fields xamsbs and

address.

xamo[1:0]

is the XAMO field of the Input/Output Slave Mapping Window n Offset

register.

offset[31:4]

is the OFFSET field of the Input/Output Slave Mapping Window n

Offset

register.

The definitions of all other terms in the equation appear in the definition of the
matching window.

If the address does not match any window the I/O Logical layer Slave module
performs the following actions:

Sets the WRITE_OUT_OF_BOUNDS or READ_OUT_OF_BOUNDS interrupt bit in the
Input/Output

Slave Interrupt register (

Table 6–60 on page 6–40

).

Asserts the interrupt signal io_s_mnt_irq if this interrupt is enabled by the
corresponding bit in the Input/Output Slave Interrupt Enable register
(

Table 6–61 on page 6–41

).

Advertising