IDT Programming the Device
Revision 1.5
Integrated Device Technology, Inc.
CPS-16/12/8 User Manual
8 - 5
July 10, 2012
8.2.5.1 Indirect Route Table Programming (sRIO CSRs Route Programming)
The CPS supports indirect updates to its route tables through the use of three registers: 1) the Standard
Route Configuration destination ID Select CSR (STD_RTE_CONF_DESTID_SEL_CSR 0x000070), 2) the
Standard Route Configuration Port Select CSR (STD_RTE_CONF_PORT_SEL_CSR 0x000074), and 3)
the Local Route Configuration destination ID Select Register (LOCAL_RTE_CONF_DESTID_SEL_CSR
0x001070). The first two registers listed above are implemented as defined in the RIO Part 3 rev 1.3 Speci-
fication. The third listed register is an IDT specific RIO register which is used to determine which route
tables are referenced for a given access request.
Through the use of these three registers, the device supports the ability for the user to indirectly access a
particular location in each of the CPS’s routing tables (local and global).
The CPS supports the following statement in the RIO Interconnect Specification Part 3: Common Transport
Specification: “The Standard Route Configuration destination ID Select CSR specifies the destination ID
entry in the switch routing table to access when the Standard Route Configuration Port Select CSR is read
or written”.
Block writes (i.e. writing four consecutive entries into the route table) are also supported. In the case of a
block write, if the 8 MSBs of a 16-bit destination ID do not match the value programmed in the RIO_Domain
register, only one entry is written into the Domain Route Table. If the 8 MSBs match the value in the
RIO_Domain register or are all 0s (8-bit destination ID), then 4 writes are performed into the Device Route
Table.
Note that the upper 8 bits are always fixed for a block write into the Device Route Table. Addresses that
increment into a new domain address (upper 8 bits) are ignored by the CPS. An example of this is given
below:
A Block-write to 00000000 11111110 results in the following writes:
1)
00000000 11111110
2)
00000000 11111111
3)
00000001 00000000
4)
00000001 00000001
But the actual CPS write result will be:
1)
00000000 11111110
2)
00000000 11111111
3)
00000000 00000000
4) 00000000 00000001
8
Enhanced 1x
8
9
Enhanced 1x
9
10
Enhanced 1x
10
11
Enhanced 1x
11
12
Enhanced 1x
12
13
Enhanced 1x
13
14
Enhanced 1x
14
15
Enhanced 1x
15
Lane
Port
Mode
Port Number
(1x Capacity)