Altera RapidIO II MegaCore Function User Manual
Page 65

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 (
) 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 (
).
■
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
(
).