2. RapidIO Ports > Packet Routing
CPS-1848 User Manual
33
June 2, 2014
Formal Status
This document is confidential and is subject to an NDA.
Integrated Device Technology
When Block accesses are enabled, writing to the
Standard Route Table Entry Configuration Port Select CSR
for a Device
Routing Table entry will update the entry for the destID specified in the
Standard Route Table Entries Configuration destID
as well as the next three entries.
2.3.2.3
Direct Routing Table Programming
The CPS-1848 supports an implementation-specific routing table programming model whereby each routing table entry is
memory mapped into register space. Similar to the indirect model, registers are defined that affect the routing tables on every
port. Registers are also defined that affect just one port (see
IDT Specific Routing Table Registers
). Direct routing table
programming has the advantage of allowing multiple devices to read and write the routing tables with no mutual exclusion
requirements. Direct routing table programming also reduces the number of reads and writes that are required to configure a
routing table compared to the use of the standard registers. Depending on the specific programming needs, Block accesses
may be faster than direct routing table programming.
2.3.2.4
Maintenance Packet Routing
Maintenance packets are handled according to the hop count and destID fields. Maintenance packets with a non-zero hop
count are routed through the switch based on their destID. Maintenance packets can be multicast, however system behavior
when multicasting packets that require responses is not defined by the RapidIO Specification (Rev. 2.1). Only port-write
packets should be multicast.
Maintenance packets with a zero hop count are processed by the switch. The response packet is sent out the port that
received the maintenance request. The source ID of the request packet becomes the destID of the response packet, and the
destID of the request packet becomes the sourceID of the response packet.
For Revision A/B, Maintenance packets are not ordered with respect to non-maintenance packets. For Revision C,
Maintenance packets with a non-zero hop count take the same path through the switch as non-maintenance packets.
2.3.3
Multicast Programming Model
The CPS-1848 supports the standard RapidIO programming model for multicast registers. This model consists of
programming the multicast masks that determine how a packet will be replicated, and then associating destIDs with multicast
masks. The registers include the following:
•
– This register controls which destination ports are set in the multicast mask.
•
Multicast Association Selection CSR
– This register selects both the destID and multicast mask.
•
Multicast Association Operations CSR
– This register controls whether or not a destID is routed according to a multicast
mask.
The CPS-1848 supports multicast programming functions beyond what is specified in the RapidIO Specification (Rev. 2.1).
These functions are discussed in the following sections. For examples of multicast routing programming, see
If a Block Write exceeds the end of the Device Routing Table, the Block Write wraps around to the
beginning of the routing table. For example, a Block Write for destID 0xFE will update routing table
entries for destIDs 0xFE, 0xFF, 0x00, and 0x01.
The CPS-1848 handles 8-bit destIDs, and 16-bit destIDs that start with 0x00, as the same. Forming an
association for an 8-bit destID 0xXX forms an association with the 16-bit destID 0x00XX. The TYPE bit
of the
Multicast Association Operations CSR
is ignored for 8-bit destIDs.
Multicast associations can be made only to destIDs in the Device Routing Table. The implication is that
only 8-bit destIDs, or 16-bit destIDs that are routed according to the Device Routing Table, can be
multicast.