IDT Switch Description
Revision 1.5
Integrated Device Technology, Inc.
CPS-16/12/8 User Manual
3 - 2
July 10, 2012
3.3 SWITCH DESCRIPTION
The CPS device consists of three parts; the input buffers, the switching core, and the output buffers. Each
of the three portions of the switch will be described in further details in the following sub-sections.
3.3.1 Input Buffers
There are separate buffer resources for maintenance packets and data packets. This effectively allows a
separate maintenance path through the switch. With judicious use of priorities, user can guarantee
minimum latency through the system for maintenance packets even when data packets are congesting at
these same ports.
For data packet, there is buffer space with room for 7 max size packets (1960 Byte) for each of the ports on
the device. The port buffer space can be allocated through registers to the four priority levels, and can be
configured on a per port basis. There will always be allocated room for at least one full size packet for each
priority level. The buffer space is allocated in units of 35 word (140 Byte), so 2 units are required for storing
one full maximum sized packet. The default buffer setting is 4 max size packets for priority 0 and 1 max size
packet for all other priority. The recommended allocation of buffer space is 3 maximum size packet for
priority 0, 2 maximum sized packets for priority 1, and 1 maximum sized packet for priority 2 and 3, but this
is subject to change by user. The input buffer simply provides a temporary storage for incoming packets
and absorbs the burst.
For maintenance packet, the buffer size is 88Bytes per priority per port. Separate maintenance packet input
buffer will avoid being blocked due to resource sharing.
For each priority of a specific port, the input buffers can keep track of up to 4 or 8 packets, giving that there
is enough buffer space to hold them. The EXTENDED_PKT_RX_ENABLE bit in Port Operation register
selects the number 4 or 8. See 3.3.3 Extended Packet Tracking.
When a packet arrives it will only be accepted into an input buffer if that buffer has room for at least one
data word of 32 bits, for each additional data word of the packet if there is no more room in the buffer the
packet will be aborted and a RETRY will be sent back out on the sRIO link. See Figure below.
Figure 3.2 Input Buffer Diagram
3.3.2 Extended Packet Tracking
The extended packet tracking function allows input buffer keep track up to 8 packet per priority. (See
register 0xF40004 bit 18). It is typically for small packet application. When the extended packet tracking
function is enabled, the non-blocking within the priority function will be disabled automatically.
1
2
3
14
:
140B
Priority0
28B
packet
1
st
packet
2nd
packet
1
2
3
14
:
140B
Priority0
28B
packet
1
st
packet
2nd
packet