GENERAL DISCLAIMER
Integrated Device Technology, Inc. (“IDT”) reserves the right to make changes to its products or specifications at any time, without notice,
in order to improve design or performance. IDT does not assume responsibility for use of any circuitry described herein other than the
circuitry embodied in an IDT product. Disclosure of the information herein does not convey a license or any other right, by implication or
otherwise, in any patent, trademark, or other intellectual property right of IDT. IDT products may contain errata which can affect product
performance to a minor or immaterial degree. Current characterized errata will be made available upon request. Items identified herein as
“reserved” or “undefined” are reserved for future definition. IDT does not assume responsibility for conflicts or incompatibilities arising
from the future definition of such items. IDT products have not been designed, tested, or manufactured for use in, and thus are not
warranted for, applications where the failure, malfunction, or any inaccuracy in the application carries a risk of death, serious bodily injury ,
or damage to tangible property . Code examples provided herein by IDT are for illustrative purposes only and should not be relied upon for
developing applications. Any use of such code examples shall be at the user's sole risk.
Document Conventions and Definitions...................................................................................................................................................17
1.2 Key Features ...........................................................................................................................................................................................23
1.4.2 Defense and Aerospace Application Benefits.......................................................................................................................... 27
1.4.3 Video and Imaging Application Benefits...................................................................................................................................27
2.RapidIO Por t s .......................... ......................... .......................... .. ......................... .. .................... 28
2.2 Key Features ...........................................................................................................................................................................................29
2.4.1 Transmitter- and Receiver-Controlled Flow Control Programming Model................................................................................38
2.5 Multicast Event Control Symbols.............................................................................................................................................................39
2.6 Port Reconfiguration Operations..............................................................................................................................................................39
2.7 Reset Control Symbol Processing........................................................................................................................................................... 40
2.7.2 Port Disable/Enable..................................................................................................................................................................42
2.7.3 Generating a Reset Request....................................................................................................................................................42
2.8 Hot Extraction/Insertion............................................................................................................................................................................42
2.8.1 Hot Extraction...........................................................................................................................................................................43
2.8.3 Link Partner Insertion............................................................................................................................................................... 48
2.9 Packet Trace and Filtering.......................................................................................................................................................................53
2.10 Packet Generation and Capture..............................................................................................................................................................57
2.10.1 Packet Generation and Capture Mode Overview.....................................................................................................................58
2.10.2 Packet Generation and Capture Mode Programming Model....................................................................................................59
C
CPS-1848 User Manual3June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 4
Table of Contents
2.11 Packet Transfer Validation and Debug.....................................................................................................................................................62
2.11.4 Switch Is Not Routing Packets Correctly..................................................................................................................................65
3.1 Lane to Port Mapping ..............................................................................................................................................................................70
3.2 Lane and Port Speeds.............................................................................................................................................................................73
3.2.1 Lane Speed Change Examples................................................................................................................................................73
3.3 Lane, PLL, and Port Power-Down...........................................................................................................................................................75
3.4 Port and Lane Initialization Sequence.....................................................................................................................................................75
3.4.1 Signal Quality Optimization......................................................................................................................................................76
3.5.1 Lane Loopback Modes.............................................................................................................................................................83
3.5.2 Port Loopback Mode................................................................................................................................................................ 83
3.6 Bit Error Rate Testing...............................................................................................................................................................................84
4.1 Key Features ...........................................................................................................................................................................................87
4.6 Crosspoint Buffer to Final Buffer Transfers..............................................................................................................................................91
4.8 Final Buffer...............................................................................................................................................................................................92
5.3.2 Store-and-Forward or Cut-Through Mode................................................................................................................................98
5.3.3 Transmitter-Controlled or Receiver-Controlled Flow Control Mode..........................................................
5.4.5 Multicast-Event Control Symbol (MECS) Latency..................................................................................................................103
6.1.3 Lane Error Management Overview..........................................................................................................................................111
6.2.1 Logical and Transport Layer Events........................................................................................................................................113
6.2.3 Lane Events............................................................................................................................................................................124
6.2.7 Trace and Filter Events..........................................................................................................................................................127
6.2.8 Packet Generation and Capture Mode Events.......................................................................................................................127
6.3.3 Lane Event Notification...........................................................................................................................................................146
6.5 Event Clearing and Recovery................................................................................................................................................................ 158
6.5.1 Logical Layer Event Clearing and Handling........................................................................................................................... 158
6.5.2 Physical Layer Events Clearing and Handling........................................................................................................................159
6.5.3 Lane Event Clearing and Handling......................................................................................................................................... 167
6.5.4 I2C Event Clearing and Handling...........................................................................................................................................167
6.5.7 Trace, Filter, and PGC Events................................................................................................................................................169
CPS-1848 User Manual5June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
7.3.7 EEPROM Format Example.....................................................................................................................................................175
7.4.1 Signaling in Slave Mode.........................................................................................................................................................177
7.4.2 Connecting to Standard-, Fast-, and Hs-Mode Devices as a Slave.......................................................................................180
7.4.3 CPS-1848 Memory Access through I2C as a Slave...............................................................................................................180
8.JTAG and Boundary Scan.......................................................................................................... 183
8.2 JTAG and AC Extest Compliance..........................................................................................................................................................183
8.3 Test Instructions.....................................................................................................................................................................................184
8.4 Device ID Register.................................................................................................................................................................................184
8.5 Initialization and Reset...........................................................................................................................................................................185
9.1.2 Resets after Power-Up...........................................................................................................................................................192
9.2.2 Link Initialization.....................................................................................................................................................................193
10.1.4 Register Type Field Definitions...............................................................................................................................................198
10.3.2 Device Information CAR.........................................................................................................................................................213
10.3.4 Assembly Information CAR....................................................................................................................................................214
10.3.5 Processing Element Features CAR........................................................................................................................................ 215
10.3.6 Switch Port Information CAR.................................................................................................................................................. 217
10.3.8 Switch Multicast Support CAR................................................................................................................................................219
10.3.10 Switch Multicast Information CAR..........................................................................................................................................221
10.4 RapidIO Control and Status Registers (CSRs)......................................................................................................................................222
10.4.1 Host Base deviceID Lock CSR............................................................................................................................................... 222
10.4.2 Component Tag CSR..............................................................................................................................................................222
10.4.3 Standard Route Table Entries Configuration destID Select CSR...........................................................................................223
10.4.4 Standard Route Table Entry Configuration Port Select CSR..................................................................................................224
10.4.5 Standard Route Table Entry Default Port CSR....................................................................................................................... 225
10.4.6 Multicast Mask Port CSR........................................................................................................................................................226
10.4.7 Multicast Association Selection CSR......................................................................................................................................227
10.4.8 Multicast Association Operations CSR................................................................................................................................... 228
10.5 LP-Serial Extended Features Registers with Software Assisted Error Recovery..................................................................................229
10.5.1 Port Maintenance Block Header Register..............................................................................................................................229
10.5.2 Port Link Timeout Control CSR..............................................................................................................................................230
10.5.3 Port General Control CSR......................................................................................................................................................230
10.5.4 Port {0..17} S-RIO Extended Features Base Addresses........................................................................................................231
10.5.5 Port {0..17} Link Maintenance Request CSR.........................................................................................................................232
10.5.6 Port {0..17} Link Maintenance Response CSR.......................................................................................................................233
10.5.7 Port {0..17} Local ackID CSR.................................................................................................................................................234
10.5.8 Port {0..17} Error and Status CSR.......................................................................................................................................... 235
10.5.9 Port {0..17} Control 1 CSR.....................................................................................................................................................238
10.5.10 Port {0..17} Control 2 CSR.....................................................................................................................................................242
10.6 Virtual Channel Extended Features Block Registers.............................................................................................................................244
10.7.7 Packet Time to Live CSR.......................................................................................................................................................252
10.7.8 Port Error Management Register Base Addresses................................................................................................................253
10.7.9 Port {0..17} Error Detect CSR.................................................................................................................................................254
10.7.10 Port {0..17} Error Rate Enable CSR.......................................................................................................................................256
10.7.11 Port {0..17} Attributes Capture CSR.......................................................................................................................................258
10.7.12 Port {0..17} Capture 0 CSR....................................................................................................................................................259
10.7.13 Port {0..17} Capture 1 CSR....................................................................................................................................................260
10.7.14 Port {0..17} Capture 2 CSR....................................................................................................................................................260
10.7.15 Port {0..17} Capture 3 CSR....................................................................................................................................................261
10.7.16 Port {0..17} Error Rate CSR...................................................................................................................................................262
CPS-1848 User Manual7June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 8
Table of Contents
10.7.17 Port {0..17} Error Rate Threshold CSR..................................................................................................................................264
10.8 Lane Status Registers ........................................................................................................................................................................... 265
10.8.1 Lane {0..47} Status Base Addresses...................................................................................................................................... 265
10.8.2 Lane Status Block Header Register.......................................................................................................................................267
10.8.3 Lane {0..47} Status 0 CSR.....................................................................................................................................................268
10.8.4 Lane {0..47} Status 1 CSR.....................................................................................................................................................270
10.8.5 Lane {0..47} Status 2 CSR.....................................................................................................................................................272
10.8.6 Lane {0..47} Status 3 CSR.....................................................................................................................................................273
10.8.7 Lane {0..47} Status 4 CSR.....................................................................................................................................................275
10.9 IDT Specific Miscellaneous Registers....................................................................................................................................................276
10.9.1 Route Port Select Register.....................................................................................................................................................276
10.9.3 Port n Watermarks Base Addresses......................................................................................................................................278
10.9.4 Port {0..17} Watermarks Register........................................................................................................................................... 279
10.10 IDT Specific Event Notification Control Registers..................................................................................................................................281
10.10.1 Aux Port Error Capture Enable Register................................................................................................................................281
10.10.2 Aux Port Error Detect Register...............................................................................................................................................282
10.10.7 Port {0..17} Error Report Enable Base Addresses.................................................................................................................288
10.10.8 Port {0..17} Error Report Enable Register..............................................................................................................................289
10.10.9 Port {0..17} Implementation Specific Error Report Enable Register.......................................................................................291
10.10.10 Broadcast Port Error Report Enable Register........................................................................................................................ 294
10.10.11 Broadcast Port Implementation Specific Error Report Enable Register.................................................................................296
10.10.12 Lane n Error Report Enable Base Addresses........................................................................................................................ 298
10.10.13 Lane {0..47} Error Report Enable Register.............................................................................................................................300
10.10.14 Broadcast Lane Error Report Enable Register.......................................................................................................................301
10.11 Packet Generation and Capture Registers............................................................................................................................................302
10.11.1 Packet Generation and Capture Base Addresses.................................................................................................................. 302
10.11.2 Port {0..17} Packet Generation and Capture Mode Configuration Register...........................................................................303
10.11.3 Port {0..17} Packet Generation and Capture Mode Data Register......................................................................................... 304
10.12 IDT Specific Routing Table Registers....................................................................................................................................................305
10.12.1 Base Addresses for IDT Specific Routing Table Registers.....................................................................................................305
10.12.4 Port {0..17} Device Route Table Register {0..255}..................................................................................................................308
10.12.5 Port {0..17} Domain Routing Table Register {0..255}.............................................................................................................309
10.13 Trace Comparison Values and Masks Registers...................................................................................................................................310
10.13.1 Base Addresses for Trace Comparison Values and Masks Registers...................................................................................310
10.13.2 Port {0..17} Trace 0 Value 0 Register......................................................................................................................................311
10.13.3 Port {0..17} Trace 0 Value 1 Register......................................................................................................................................311
10.13.4 Port {0..17} Trace 0 Value 2 Register..................................................................................................................................... 312
10.13.5 Port {0..17} Trace 0 Value 3 Register..................................................................................................................................... 312
10.13.6 Port {0..17} Trace 0 Value 4 Register..................................................................................................................................... 313
10.13.7 Port {0..17} Trace 0 Mask 0 Register.....................................................................................................................................313
10.13.8 Port {0..17} Trace 0 Mask 1 Register.....................................................................................................................................314
10.13.9 Port {0..17} Trace 0 Mask 2 Register.....................................................................................................................................314
CPS-1848 User Manual8June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 9
Table of Contents
10.13.10 Port {0..17} Trace 0 Mask 3 Register.....................................................................................................................................315
10.13.11 Port {0..17} Trace 0 Mask 4 Register.....................................................................................................................................315
10.13.12 Port {0..17} Trace 1 Value 0 Register.....................................................................................................................................316
10.13.13 Port {0..17} Trace 1 Value 1 Register.....................................................................................................................................316
10.13.14 Port {0..17} Trace 1 Value 2 Register.....................................................................................................................................317
10.13.15 Port {0..17} Trace 1 Value 3 Register.....................................................................................................................................317
10.13.16 Port {0..17} Trace 1 Value 4 Register.....................................................................................................................................318
10.13.17 Port {0..17} Trace 1 Mask 0 Register.....................................................................................................................................318
10.13.18 Port {0..17} Trace 1 Mask 1 Register.....................................................................................................................................319
10.13.19 Port {0..17} Trace 1 Mask 2 Register.....................................................................................................................................319
10.13.20 Port {0..17} Trace 1 Mask 3 Register.....................................................................................................................................320
10.13.21 Port {0..17} Trace 1 Mask 4 Register.....................................................................................................................................320
10.13.22 Port {0..17} Trace 2 Value 0 Register.....................................................................................................................................321
10.13.23 Port {0..17} Trace 2 Value 1 Register.....................................................................................................................................321
10.13.24 Port {0..17} Trace 2 Value 2 Register.....................................................................................................................................322
10.13.25 Port {0..17} Trace 2 Value 3 Register.....................................................................................................................................322
10.13.26 Port {0..17} Trace 2 Value 4 Register.....................................................................................................................................323
10.13.27 Port {0..17} Trace 2 Mask 0 Register.....................................................................................................................................323
10.13.28 Port {0..17} Trace 2 Mask 1 Register.....................................................................................................................................324
10.13.29 Port {0..17} Trace 2 Mask 2 Register.....................................................................................................................................324
10.13.30 Port {0..17} Trace 2 Mask 3 Register.....................................................................................................................................325
10.13.31 Port {0..17} Trace 2 Mask 4 Register.....................................................................................................................................325
10.13.32 Port {0..17} Trace 3 Value 0 Register.....................................................................................................................................326
10.13.33 Port {0..17} Trace 3 Value 1 Register.....................................................................................................................................326
10.13.34 Port {0..17} Trace 3 Value 2 Register.....................................................................................................................................327
10.13.35 Port {0..17} Trace 3 Value 3 Register.....................................................................................................................................327
10.13.36 Port {0..17} Trace 3 Value 4 Register.....................................................................................................................................328
10.13.37 Port {0..17} Trace 3 Mask 0 Register.....................................................................................................................................328
10.13.38 Port {0..17} Trace 3 Mask 1 Register.....................................................................................................................................329
10.13.39 Port {0..17} Trace 3 Mask 2 Register.....................................................................................................................................329
10.13.40 Port {0..17} Trace 3 Mask 3 Register.....................................................................................................................................330
10.13.41 Port {0..17} Trace 3 Mask 4 Register.....................................................................................................................................330
10.13.42 Broadcast Trace 0 Value 0 Register.......................................................................................................................................331
10.13.43 Broadcast Trace 0 Value 1 Register.......................................................................................................................................331
10.13.44 Broadcast Trace 0 Value 2 Register.......................................................................................................................................332
10.13.45 Broadcast Trace 0 Value 3 Register.......................................................................................................................................332
10.13.46 Broadcast Trace 0 Value 4 Register.......................................................................................................................................333
10.14 Global Device Configuration Registers..................................................................................................................................................351
10.14.1 Device Control 1 Register.......................................................................................................................................................351
10.14.3 Aux Port Error Report Enable Register..................................................................................................................................354
10.14.5 Port-Write Control Register....................................................................................................................................................356
10.14.6 RapidIO Assembly Identification CAR Override.....................................................................................................................357
10.14.7 RapidIO Assembly Information CAR Override....................................................................................................................... 357
10.14.9 I2C Master Control Register...................................................................................................................................................358
10.14.10 I2C Master Status and Control Register ................................................................................................................................. 360
10.14.11 JTAG Control Register (Revision A/B)....................................................................................................................................361
10.14.17 Device Reset and Control Register........................................................................................................................................368
10.15 Implementation Specific Multicast Mask Registers................................................................................................................................369
10.15.1 Implementation Specific Multicast Mask Base Addresses.....................................................................................................369
10.15.3 Port {0..17} Multicast Mask Register {0..39}...........................................................................................................................371
10.16 Port Function Registers.........................................................................................................................................................................372
10.16.1 Port {0..17} Function Registers Base Addresses...................................................................................................................372
10.16.2 Port {0..17} Operations Register.............................................................................................................................................373
10.16.3 Port {0..17} Implementation Specific Error Detect Register....................................................................................................376
10.16.4 Port {0..17} Implementation Specific Error Rate Enable Register........................................................
..................................379
10.16.5 Port {0..17} VC0 Acknowledgements Transmitted Counter Register.....................................................................................382
CPS-1848 User Manual10June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 11
Table of Contents
10.16.6 Port {0..17} Not Acknowledgements Transmitted Counter Register.......................................................................................382
10.16.7 Port {0..17} VC0 Retry Symbols Transmitted Counter Register............................................................................................. 383
10.16.8 Port {0..17} VC0 Packets Transmitted Counter Register........................................................................................................383
10.16.9 Port {0..17} Trace Match Counter Value 0 Register................................................................................................................384
10.16.10 Port {0..17} Trace Match Counter Value 1 Register................................................................................................................384
10.16.11 Port {0..17} Trace Match Counter Value 2 Register................................................................................................................385
10.16.12 Port {0..17} Trace Match Counter Value 3 Register................................................................................................................385
10.16.13 Port {0..17} Filter Match Counter Value 0 Register.................................................................................................................386
10.16.14 Port {0..17} Filter Match Counter Value 1 Register.................................................................................................................386
10.16.15 Port {0..17} Filter Match Counter Value 2 Register.................................................................................................................387
10.16.16 Port {0..17} Filter Match Counter Value 3 Register.................................................................................................................387
10.16.17 Port {0..17} VC0 Acknowledgements Received Counter Register.........................................................................................388
10.16.18 Port {0..17} Not Acknowledgements Received Counter Register...........................................................................................388
10.16.19 Port {0..17} VC0 Retry Symbols Received Counter Register................................................................................................. 389
10.16.21 Port {0..17} VC0 Packets Received Counter Register............................................................................................................390
10.16.22 Port {0..17} Trace Port-Write Reset Register..........................................................................................................................391
10.16.23 Port {0..17} Lane Synchronization Register............................................................................................................................392
10.16.24 Port {0..17} VC0 Received Packets Dropped Counter Register.............................................................................................393
10.16.25 Port {0..17} VC0 Transmitted Packets Dropped Counter Register.........................................................................................394
10.16.26 Port {0..17} VC0 TTL Packets Dropped Counter Register..................................................................................................... 395
10.16.28 Port {0..17} Congestion Retry Counter Register.....................................................................................................................396
10.16.29 Port {0..17} Status and Control Register................................................................................................................................397
10.16.30 Broadcast Port Operations Register....................................................................................................................................... 398
10.16.31 Broadcast Port Implementation Specific Error Detect Register.............................................................................................. 401
10.16.32 Broadcast Port Implementation Specific Error Rate Enable Register....................................................................................404
10.17 Implementation Specific Error Logging Registers.................................................................................................................................. 407
10.17.2 Error Log Data Register..........................................................................................................................................................408
10.18 Special Error Registers..........................................................................................................................................................................408
10.18.1 Special Error Registers Base Addresses...............................................................................................................................408
10.18.2 Error Log Match Register {0..7}..............................................................................................................................................409
10.18.3 Error Log Match Status Register............................................................................................................................................410
10.19.1 PLL Register Base Addresses................................................................................................................................................413
10.19.2 PLL {0..11} Control 1 Register................................................................................................................................................414
10.19.3 PLL {0..11} Control 2 Register................................................................................................................................................415
10.19.4 Broadcast PLL Control Register.............................................................................................................................................416
10.20 Lane Control Registers..........................................................................................................................................................................417
10.20.1 Lane Control Base Addresses................................................................................................................................................ 417
10.20.2 Lane {0..47} Control Register.................................................................................................................................................419
10.20.3 Lane {0..47} PRBS Generator Seed Register........................................................................................................................423
10.20.4 Lane {0..47} PRBS Error Counter Register............................................................................................................................424
10.20.5 Lane {0..47} Error Detect Register.........................................................................................................................................425
10.20.6 Lane {0..47} Error Rate Enable Register................................................................................
10.20.7 Lane {0..47} Attributes Capture Register................................................................................................................................428
10.20.8 Lane {0..47} Data Capture 0 Register....................................................................................................................................429
CPS-1848 User Manual11June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 12
Table of Contents
10.20.9 Lane {0..47} Data Capture 1 Register....................................................................................................................................429
10.20.10 Lane {0..47} DFE 1 Register...................................................................................................................................................430
10.20.11 Lane {0..47} DFE 2 Register...................................................................................................................................................432
10.20.12 Broadcast Lane Control Register...........................................................................................................................................434
10.20.13 Broadcast Lane PRBS Generator Seed Register...................................................................................................................438
10.20.14 Broadcast Lane Error Detect Register....................................................................................................................................439
10.20.15 Broadcast Lane Error Rate Enable Register..........................................................................................................................440
10.20.16 Broadcast Lane Attributes Capture Register..........................................................................................................................441
10.20.17 Broadcast Lane DFE 1 Register............................................................................................................................................. 442
10.20.18 Broadcast Lane DFE 2 Register............................................................................................................................................. 444
Figure 4:Military Open VPX System Application.......................................................................................................................................................27
Figure 5:Video and Imaging Application...................................................................................................................................................................27
Figure 6:S-RIO Port Diagram.................................................................................................................................................................................... 29
Figure 9:Trace Function within a Port.......................................................................................................................................................................54
Figure 10: System Connectivity Test in PGC Mode – Transmitted Directly to Link Partner.........................................................................................58
Figure 11: System Testing using PGC Mode – Cabled Loopback through SerDes.....................................................................................................59
Figure 12: S-RIO Lane Block Diagram.........................................................................................................................................................................69
Figure 13: Optimizing Lane Signal Quality...................................................................................................................................................................76
Figure 20: Standard Physical Layer Error Management Programming Model Flow Chart .....................................................................................109
Figure 21: Implementation Specific Physical Layer Error Management Programming Model Flow Chart ...............................................................110
Figure 22: Lane Error Management Programming Model Flow Chart ......................................................................................................................111
Figure 23: I2C Error Management Programming Model Flow Chart .........................................................................................................................112
Figure 24: Configuration Error Management Programming Model Flow Chart .........................................................................................................113
Figure 26: Type 1 Port-Write Packet Data Payload Format.......................................................................................................................................149
Figure 27: Bit Transfer on the I2C Bus.......................................................................................................................................................................178
Figure 28: START and STOP Signaling.....................................................................................................................................................................178
Figure 29: Data Transfer............................................................................................................................................................................................178
Figure 31: Master Addressing a Slave with a 7-bit Address (Transfer Direction is Not Changed).............................................................................179
Figure 32: Master Reads a Slave Immediately After the First Byte........................................................................................................................... 179
Figure 34: Master Addresses a Slave-Receiver with 10-bit Address.........................................................................................................................179
Figure 35: Master Addresses a Slave Transmitter with 10-bit Address.....................................................................................................................179
Figure 36: Combined Format – Master Addresses a Slave with 10-bit Address........................................................................................................179
Figure 37: Combined Format – Master Transmits Data to Two Slaves, Both with 10-bit Address.............................................................................180
Figure 38: Write Protocol with 10-bit Slave Address (ADS is 1) ................................................................................................................................ 181
Figure 39: Read Protocol with 10-bit Slave Address (ADS is 1)................................................................................................................................181
CPS-1848 User Manual13June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 14
List of Figures
Figure 40: Write Protocol with 7-bit Slave Address (ADS is 0) .................................................................................................................................. 181
Figure 41: Read Protocol with 7-bit Slave Address (ADS is 0)..................................................................................................................................182
Table 7:Disabling IDLE2 Operation on Port 3.......................................................................................................................................................... 40
Table 8:Preparation For Hot Extraction on Port Y...................................................................................................................................................44
Table 9:Preparation For Hot Insertion on Port Y......................................................................................................................................................45
Table 10:Preparation of Port That Can be Subjected to Unexpected Hot Extraction Event......................................................................................47
Table 11:System Recovery Controller Operation, HS-LP on Port Y..........................................................................................................................49
Table 13:PGC Mode Example – Connectivity Test....................................................................................................................................................59
Table 14:Success Case Packet Transfer Counters...................................................................................................................................................63
Table 16:Configuration and Status Values to Check – Switch Cannot Accept Packets............................................................................................64
Table 17:Packet Counters and Configuration Issues – Switch Is Not Routing Packets Correctly.............................................................................65
Table 19:Configuration and Status Values to Check – Switch Cannot Transmit Packets..........................................................................................67
Table 20:Lane to Port Mapping..................................................................................................................................................................................70
Table 22:Changing Lane Speed Group on Ports 0 and 12 – Example 1...................................................................................................................73
Table 23:Changing Lane Speed on Port 5 – Example 2............................................................................................................................................74
Table 24:Configuring Bit Error Measurement............................................................................................................................................................81
Table 25:Programming Model for CPS-1848 Data Generation, Link Partner Checking............................................................................................85
Table 30:4x/2x/1x Latency Numbers Under No Congestion......................................................................................................................................99
Table 31:Typical Latency from Receipt of Packet EOP to Packet Accept Issuance................................................................................................100
Table 32:4x/2x/1x Multicast Latency Numbers Under No Congestion.....................................................................................................................102
Table 33:4x/2x/1x Multicast-Event Control Symbol Latency Numbers....................................................................................................................103
Table 35:Logical/Transport Layer Event Enable and Information Capture Summary...............................................................................................114
Table 36:Physical Layer Events Information Captured Value Descriptions..............................................................................................................115
Table 37:Physical Layer “Leaky Bucket” Events and Information Capture Summary..............................................................................................117
Table 38:Lane Event Information Captured Value Descriptions..............................................................................................................................124
Table 39:Lane Event Enable and Information Capture Summary...........................................................................................................................125
CPS-1848 User Manual15June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 16
List of Tables
Table 40:I2C Event Enable and Information Capture Summary.............................................................................................................................. 126
Table 41:JTAG Event Enable and Information Capture Summary (Revision A/B Only)..........................................................................................126
Table 42:Configuration Block Event Enable and Information Capture Summary....................................................................................................127
Table 44:Error Codes for Implementation Specific LT Errors..................................................................................................................................131
Table 45:Error Log Standard Port Error Encoding ................................................................................................................................................... 131
Table 46:Error Log Implementation Specific Port Error Encoding...........................................................................................................................132
Table 47:Error Log Lane Level Encoding................................................................................................................................................................135
Table 48:I2C Errors and Codes...............................................................................................................................................................................135
Table 49:JTAG Errors and Codes (Revision A/B Only)...........................................................................................................................................136
Table 50:Configuration Errors and Codes...............................................................................................................................................................136
Table 51:Trace, Filter, and PGC Mode Error Log Encoding....................................................................................................................................136
Table 54:Port-Write Programming Model Registers and Fields...............................................................................................................................148
Table 60:Logical/Transport Layer Event Enable and Information Capture Summary..............................................................................................158
Table 61:Physical Layer Events and Information Capture Summary......................................................................................................................159
Table 62:Lane Event Clearing and Handling...........................................................................................................................................................167
Table 63:I2C Event Clearing and Handling..............................................................................................................................................................167
Table 64:JTAG Event Clearing and Handling (Revision A/B Only)..........................................................................................................................168
Table 65:Configuration Block Event Clearing and Handling....................................................................................................................................168
Table 66:Trace, Filter, and PGC Mode Event Clearing............................................................................................................................................169
Table 69:EEPROM Format Example.......................................................................................................................................................................175
Table 73:JTAG Configuration Register Access Command and Status Instruction..................................................................................................187
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 17
About this Document
This document includes hardware and software information for the IDT CPS-1848 Central Packet Switch. The CPS-1848 is a
high-performance Serial RapidIO 2.1-compliant switch that supports up to 18 1x ports.
Content Summary
• Device Overview provides an overview the CPS-1848’s capabilities.
• RapidIO Ports explains the operation of the device’s S-RIO ports.
• RapidIO Lanes discusses lane to port mapping, Loopback, and PRBS functions.
• Switch Fabric describes the switch core behavior and flow control processes.
• Performance discusses the packet switching performance characteristics of the CPS-1848.
• Event Management explains the CPS-1848’s Error Management block. This block detects, filters, logs, count s, and reports
error events from all of the device’s functional blocks.
• I2C Interface describes the standard I2C bus interface used in the CPS-1848.
• JTAG and Boundary Scan describes the CPS-1848 JTAG Interface.
• Reset and Initialization provides reset and initialization steps.
• Registers provides the full memory map and complete description of the CPS-1848’s registers.
• References provides a list of specifications referred to in this manual.
Additional Resources
In addition to this user manual, which explains the functionality of the CPS-1848 and how to use the device, and the device’s
datasheet which covers all electrical specifications, there are many additional resources available. For more information,
contact IDT technical support at srio@idt.com.
Document Conventions and Definitions
This manual uses the following conventions and terms:
• To indicate signal states:
— Differential signals use the suffix “_P” to indicate the positive half of a differential pair.
— Differential signals use the suffix “_N” to indicate the negative half of a differential pair.
— Non-differential signals use the suffix “_N” to indicate an active-low state.
• To define buses, the most significant bit (MSB) is on the left and least significant bit (LSB) is on the right. No leading zeros
are included.
• To represent numerical values, either decimal, binary, or hexadecimal formats are used. The binary format is as follows:
0bDDD, where “D” represents either 0 or 1; the hexadecimal format is as follows: 0xDD, where “D” represents the
hexadecimal digit(s); otherwise, it is decimal.
• Unless otherwise denoted, a byte is an 8-bit quantity; a word is a 32-bit quantity, and a double-word is an 8-byte (64-bit)
quantity. This is in accordance with RapidIO convention.
CPS-1848 User Manual17June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 18
• A bit is set when its value is 0b1. A bit is cleared when its value is 0b0.
Bit 0 Bit 7
MS Bit LS Bit
Most Signficant Byte
Address offset: 0
Bit 8 Bit 15
MS Bit LS Bit
Address Offset: 1
Bit 16 Bit 23
MS Bit LS Bit
Address offset: 2
Bit 24 Bit 31
MS Bit LS Bit
Least Signficant Byte
Address offset: 3
Big
Endian
Bit 31 Bit 24
MS Bit LS Bit
Most Signficant Byte
Address Offset: 3
Bit 23 Bit 16
MS Bit LS Bit
Address Offset: 2
Bit 15 Bit 8
MS Bit LS Bit
Address Offset: 1
Bit 7 Bit 0
MS Bit LS Bit
Least Signficant Byte
Address Offset: 0
Little
Endian
• This device follows big-endian convention (see figure). The ordering of bytes within words is called either “big endian” or
“little endian”. Big-endian systems label byte zero as the most significant (left-most) byte of a word. Little-endian systems
label byte zero as the least significant (right-most) byte of a word.
• A read-only register, bit, or field can be read but not modified.
• A sticky bit remains set after it is set by hardware until a zero is written to it. Writing a one to a sticky has no effect on its
value.
This symbol indicates important configuration information or suggestions.
This symbol indicates procedures or operating levels that ma y result in misuse or damag e
to the device.
Device Revision Inf o rmation
This document supports all device revisions of the CPS-1848. Features that are applicable to a specific revision of the device
are highlighted throughout the document (for more information, see Device Information CAR).
Revision History
June 2, 2014, Formal Manual
• Added an overview section to Packet Transfer Validation and Debug
• Added a note to PRBS Pattern Checker and Log (Revision C) (see the first note in the section)
• Updated the maintenance error information in Table 35, Table 44, Table 52, and Table 60 to align with the Logical/Transport
Layer Control Capture CSR
• Updated the first three bullets in Error Log Event Notification Programming Model to indicate that ERR_XXX_MASK should
be set to 0 to complete a comparison
• Changed the bit encoding of “4x to 1x lane 2” for Downgrade to 0b010 from 0b011 (see Table36)
• Updated the description of Logical/Transport Layer Error Detect CSR[ILL_TRAN and UNSUP_TRAN]
• Changed bit 23 to reserved in Port {0..17} Operations Register and Broad ca st Port Operat ion s Regi ste r
• Updated the description of “Maintenance Packet Received that was Too Small or Too Large” and “Maintenance Transaction
Field Error” in the table below Logical/Transport Layer Control Capture CSR
CPS-1848 User Manual18June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 19
October 24, 2013, Formal Manual
• Updated steps 2 and 5 in Table 13
• Updated the caution in VoQ Fairness/Starvation Avoidance
• Updated Input Scheduler
• Updated the second paragraph after Table 34
• Updated Figure 19
• Updated Logical and Transport Layer Events, including the addition of a note
• Added a note to Physical Layer Events Notification
• Updated Table 67
• Added a note to Error Log Event Notification Programming Model
• Updated the description of Clearing and Handling Port Fail and Port Degraded Events
• Completed other minor improvements throughout the document
July 11, 2013, Formal Manual
• Updated the Register Values in Table57 to indicate the correct reset values for the Error Log Match Register
• Updated the last example in Multicast Programming Examples – Direct Programming Model
• Completed other minor improvements throughout the document
February 7, 2013, Formal Manual
• Updated Maintenance Packet Routing
• Updated the caution in Generating a Reset Request
• Added a caution to Hot Extraction/Insertion
• Updated Switch Is Not Routing Packets Correctly
• Updated EEPROM Format Example
• Completed other minor improvements throughout the document
August 10, 2012, Formal Manual
• Changed the procedural order for checking a received PRBS sequence wit hout 8b /10b encodin g in PRBS Pattern Checker
and Log (Revision C)
• Updated the second paragraph in Alert on Trace Match
• Changed the “error rate threshold” event in Table 37 to indicate “No Information is Captured”
• Updated Event Isolation, Table 8, and Table 9 with additional information about when a port detects an OUTPUT_FAIL
condition
• Added a note to OUTPUT_PORT_EN in Port {0..17} Control 1 CSR
• Updated the introduction to Logical/Transport Layer Error Enable CSR
• Updated the description of STOP_EM in Error Log Control 2 Register
• Added a note to PRBS_MODE in Lane {0..47} Control Register
May 7, 2012, Formal Manual
• Updated Step 4 in Table 8 (Preparation For Hot Extraction on Port Y)
• Added a section on Packet Transfer Validation and Debug
CPS-1848 User Manual19June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 20
• Added a footnote to Table 7 (disabling IDLE2 operation)
• Updated User-Defined Patterns
• Added a section on 10-bit Loopback Mode Restrictions
• Added a note to Maintenance Packets with Enabled Trace Ports
• Added overview sections on error management in Event Management Overview
• Added a section on Packet Acknowledge Latency
• Updated Packet Throughput Performance
• Added a section on I2C Master Mode Validation Debug
• Added a section on Computing Time out Values
• Updated the description of the [1:1] bit setting in Table 58
• Updated the procedure for Clearing and Handling Port Fail and Port Degraded Events
• Updated Inter-Command Delay and Table 74
• Updated the description of Port {0..17} VC0 Packets Received Counter Register.COUNT
• Added cautionary notes to the following error management registers: Logical/Transport Layer Error Enable CSR,
Logical/Transport Layer Error Report Enable Register, Port {0..17} Error Report Enable Register, Port {0..17}
Implementation Specific Error Rate Enable Register, and Lane {0..47} Error Report Enable Register
• Updated Note A associated with Port {0..17} Error and Status CSR.PORT_ERR
• Updated the description of AMP_PROG_EN and NEG1_CMD in Lane {0..47} Status 3 CSR
• Updated the description of Lane {0..47} Status 3 CSR.AMP_PROG_EN
• Updated the description of TX_SYMBOL_CTL and LANE_DIS in the Lane {0..47} Control Register and Broadcast Lane
Control Register
• Changed the definition of the [20:31] fields to reserved in Lane {0..47} DFE 1 Register and Broadcast Lane DFE 1 Register
• Changed the definition of the [19:21] and [25:26] fields in the following registers to reserved: Lane {0..47} Error Report
Enable Register, Lane {0..47} Error Rate Enable Register, Broadcast Lane Error Report Enable Register, and Broadcast
Lane Error Rate Enable Register. These updates also impacted the following tables: Table 39, Table 47, and Table 62.
• Changed the definition of the [19:20] and [2 5] fields in the foll owing registers t o reserved: Lane {0..4 7} Error Detect Register
and Broadcast Lane Error Detect Register. These updates also impacted the following tables: Table 39, Table 47, and
Table 62.
• Added a note to OUTPUT_CREDIT_RSVN in the Switch Parameters 1 Register, and additional information to Switch
Parameters 2 Register
• Updated the description of SELF_MCAST_EN in Port {0..17} Opera tion s Regi st er and Broadcast Port Operations Register
February 16, 2012, Formal Manual. Updated the document to support Revision C silicon and completed numerous
improvements. Key changes include:
• Updated procedure in PRBS Pattern Checker and Log (Revision C)
. Also changed description to indicate that PRBS
Pattern Checker applies only to Revision C.
• Updated Table 41, Table 49, and Table 64 to indicate that a “JTAG incomplete write” error applies only to RevisionA/B
• Added a note to Configuration Register Access (Revision A/B) regarding the system reset sequence
• Added a note to Buffer Management Settings regarding the input buffer
• Added a new JTAG section that discusses Revision C functionality, Configuration Register Access (Revision C)
• Updated MINOR_REV and JTAG_REV in Device Information CAR
• Updated MAX_DESTID and MCAST_MASK in Switch Multicast Information CAR
CPS-1848 User Manual20June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 21
• Updated JTAG_ERR_EN in Aux Port Error Capture Enable Register
• Updated JTAG_ERR in Aux Port Error Detect Register
• Updated JTAG_LOG_EN in Aux Port Error Report Enable Register
• Updated JTAG Control Register (Revision A/B) to indicate it applies only to Revision A/B
• Added CC_MONITOR_STATUS, CC_MONITOR_EN, and CC_MONITOR_THRESH to Lane {0..47} Status 4 CSR
• Changed the 0b0010 setting of PRBS_MODE to in Lane {0..47} Control Register
• Added PRBS_RX_CHECKER_MODE to Lane {0..47} Control Register
• Added a note to Maintenance Dropped Packet Counter Register
• Changed the reset value of Port {0..17} Control 1 CSR[OUTPUT_PORT_EN] to 0b1
• Changed the reset value of Port {0..17} Lane Synchronization Re gister[VMIN] t o 0b001, and upd ated the defi nition of VMI N
• Added Figure18 to support Indy Revision C event management
• Added a note in Output Scheduler
• Added a note to Time to Live Events
• Added two notes to Port {0..17} Lane Synchronization Register
• Added a fourth register access to step 2 in Table 11
• Added Table 57 to indicate where events are enabled in various registers
• Added a new section on JTAG Clock Constraints
• Updated step 7 in I2C EEPROM Format
• Updated Received Retry Count Trigger Congestion Isolation
• Updated Link Initialization and Register Initialization
• Updated Port Reconfiguration Operations and Disabling IDLE2 Operation
• Updated Table 8 and Table 9 (Hot extraction)
• Updated the first note in Per-Port Reset
• Added a caution to 10-bit Loopback Mode and 8-bit Loopback Mode
• Removed the first (disable ports) and last rows (enable ports) from the tables in Lane Speed Change Examples
• Added a new paragraph (the last one) to Port and Lane Initialization Sequence
• Added a second caution to Alert on Trace Match
• Updated hot insertion/extraction procedure in Table 11 and Table 12
• Updated IMP_SPEC_ERR in Logical/Transport Layer Error Detect CSR and Logical/Transport Layer Error Enable CSR
• Updated IMP_SPEC in Logical/Transport Layer Control Capture CSR
• Added a note to Port {0..17} Link Maintenance Request CSR[CMD]
• Added a caution to Port {0..17} Local ackID CSR
• Updated COUNT in Port {0..17} VC0 Packets Received Counter Register
• Added a note to Port {0..17} VC0 Retry Symbols Transmitted Counter Register
• Added a note to Port {0..17} Link Maintenance Request CSR
• Added a caution to the beginning of Lane Speed Change Examples
• Updated Port {0..17} Error and Status CSR[PORT_UNAVL]
• Added a note to COUNT in each Counter register in Port Function Registers
• Added a note to Port {0..17} Error and Status CSR[OUTPUT_DROP]
CPS-1848 User Manual21June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 22
• Added a note to Device Reset and Control Register[RESET_TYPE]
• Updated Port {0..17} Control 2 CSR[SCRAM_DIS]
• Added a note to Lane {0..47} PRBS Generator Seed Register[PRBS_SEED]
• Added a note to Lane {0..47} Control Register[LANE_DIS]
• Added a note to Multicast Association Operations CSR[CMD]
• Added a note to Port {0..17} Operations Register[TX_FLOW_CTL_DIS]
• Added a note to Lane {0..47} Control Register[TX_RATE and RX_RATE]
• Updated bit 17 in Port {0..17} Error Detect CSR
November 1, 2011, Preliminary Manual
• Updated hot insertion/extraction procedure in Table 8, Table 10, and Table 12
• Updated JTAG_REV in the Device Information CAR to indicate multiple revision identifiers
• Completed various improvements throughout the document
October 12, 2011, Preliminary Manual. Updated the instructions for Hot Extraction/Insertion; introduced numerous
improvements to the Registers; and completed various minor changes throughout the document.
July 15, 2011, Preliminary Manual
• Added a new chapter about Performance
• Removed references to SerDes TX to RX Loopback Mode and Port Level Loopback features, and their respective register
functionality (SERDES_LPBK and PORT_LEVEL_LPBK_SWITCH_SIDE_EN fields)
• Completed other minor improvements throughout the document
February 22, 2011, Preliminary Manual
• Fixed minor errors and completed numerous improvements
November 2, 2010, Preliminary Manual
• Added a caution about JTAG register access in Configuration Register Access (Revision A/B)
• Added additional information about Port Reconfiguration Operations
• Updated Table 8, Table 9, and Table 10 in Hot Insertion/Extraction
• Added a new section, Signal Quality Optimization
• Added a second note about Port {0..17} Control 1 CSR.PWIDTH_OVRD
July 23, 2010, Preliminary Manual
• Changed the order of the PLL_SEL and PORT_SEL fi elds in the Device Reset Control Register; th e PLL and port n umbers
were incorrectly reversed in these fields
• Added a note to PWIDTH_OVRD in the Port n Control 1 CSR
• Changed the default value of RX_DFE_DIS in Lane n DFE 1 CSR to 0b1
• Added a note to MAX_DESTID in the Switch Multicast Information CAR clarifying an incorrect default value for the field
• Added the VC Register Block Header Register into the registers chapter; however, this register is not supported by the
CPS-1848.
• Added a new section called Port Reconfiguration Operations
CPS-1848 User Manual22June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 23
1. Device Overview
This chapter provides an overview of the CPS-1848’s capabilities. Topics discussed include the following:
• Device Description
• Key Features
• Block Diagrams
• Typical Applications
1.1Device Description
The CPS-1848 is a low-latency, 18 port, 48 lane, Gen2 RapidIO switch that supports a peak sustained throu ghput of 240Gbps
(see Figure 1). The switch is ideal for interconnecting Gen1 and Gen2 RapidIO endpoints, including microprocessors, DSPs,
FPGAs, ASICs, and bridges. The CPS-1848 supports port widths of 1x, 2x, and 4x, and lane speeds of 1.25, 2.5, 3.125, 5.0,
and 6.25 Gbaud. The switch supports the RapidIO long run specif ication (10 0 cm of FR4 with tw o connector s), so it i s ideal for
backplane and interchassis switching applications, as well as on-board interconnect.
All RapidIO packets that are compliant to the RapidIO Specification (Rev.2.1), Part 6: LP-Serial Physical Layer Specification
and Part 3: Common Transport Specification, are accepted and routed by the CPS-1848. Packets are scheduled based on
priority in accordance with the RapidIO specification. This includes FType 9 data streaming packets described in the RapidIO
specification, Part 10:Data Streaming Specification.
RapidIO switching supports standard RapidIO routing functionality, including unicast and up to 40 multicast groups. The
CPS-1848 exceeds the RapidIOSpecification (Rev .2.1) to support broadcast routing of packets and an innovative hierarchical
routing scheme that supports all 64K 16-bit destIDs. The CPS-184 8 supports the CRF bit to e nable flow control ba sed on eight
separate priorities. The CPS-1848’s queue aging function also ensures that high priority traffic does not starve low priority
traffic under congestion. In addition, the CPS-1848 supports a powerful packet trace and filter functionality, and a separate
routing path for maintenance packets.
The CPS-1848 is designed to support fault tolerant systems. RapidIO Specification (Rev.2.1), Part 8 “Error Management
Extensions” support is supplemented by additional implementation specific event detection and notification functionality. Fault
isolation support includes the RapidIO standard “leaky bucket” port failure handling, as well as implementation specific
functions. Hot swap is fully supported through the use of “per port”' reset capability.
In addition to the RapidIO Interface, the CPS-1848 supports JTAG 1149.1 and 1149.6 test and register access interface, as
well as I2C master and slave access.
1.2Key Features
• RapidIO Interfaces
— Up to 18 RapidIO Specification (Rev.2.1) compliant ports
— Up to 48 RapidIO Specification (Rev.2.1) compliant full duplex lanes, supporting 4x, 2x, and 1xports
— 1.25, 2.5, 3.125, 5, or 6.25Gbaud lane rates selectable for each port
CPS-1848 User Manual23June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 24
1. Device Overview > Key Features
— Short-, Medium-, and Long-run reach allow power to be optimized for short links while enabling connections up to 100
cm with two connectors
— Receiver- and Transmitter-Controlled Flow Control
— User-adjustable transmitter drive strength and emphasis
— User-adjustable receiver equalization
— Packet Trace: Each port can match the first 160 bits of every packet against up to four programmable values as
comparison criteria to copy the matching packet to a programmable trace port
•Switch Fabric
— Peak throughput of 240Gbps
— Cut-through and store-and-forward modes
— Non-blocking architecture for both of unicast and multicast flows
— Multicast splitting provides HOL blocking avoidance for congested multicast legs
— Per-priority buffering
— Supports eight RapidIO priorities
— Supports Multicast Event Control Symbol Receipt and Generation
— 40 Multicast masks with broadcast capability
— Global route and per-port local route modes
• Supervision, Fault Management, Congestion Management
— Compliant with RapidIO Specification (Rev.2.1), Part 8: Error Management Extensions Specification
— IDT-specific Error Handling including error event history logging and interrupt generation
— Event detect, count, watermark, threshold, data capture, and host notification capabilities
— Packet-Retry detect, count, threshold, and host notification capabilities
— Software-assisted error recovery and per-port reset support seamless hot swap and port recovery
2
C Interface
•I
— Provides I2C port for maintenance and error reporting
— Master or slave operation
— Master allows power-on configuration from external ROM
— Master mode configuration with external image compressing and checksum
• Clock and reset
— Single input reference clock
— Global hardware reset
— Software resets
• Diagnostics, Performance Monitors, and Built-in Self Tests
— BER measurement facilities including SerDes PRBS testing and protocol decode error counters
— Various loopback modes
— Memory BIST and SerDes BIST tests
— Extensive packet counters and diagnostic counters
• Full JTAG Boundary Scan Support (IEEE1149.1 and 1149.6)
CPS-1848 User Manual24June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 25
1. Device Overview > Block Diagrams
Lanes 0-3, 16-19, 32-35
Lanes 4-7, 20-23, 36-39
Quadrant 0Quadrant 3
Quadrant 1Quadrant 2
Ports 0, 4, 8, 12, 16Ports 3, 7, 11, 15
Lanes 12-15, 28-31, 44-47
Ports 1, 5, 9, 13, 17
Lanes 8-11, 24-27, 40-43
Ports 2, 6, 10, 14
CPS-1848
RapidIO Gen2
Switch Fabric
Event Management and Maintenance
Registers
I2C ControllerJTAG Controller
1.3Block Diagrams
Figure 1 shows a high-level overview of the device. Conceptually, the CPS-1848 consists of four quadrants numbered 0 to 3.
Each quadrant consists of 12 lanes that can be mapped to four or five ports. Each quadrant can have combinations of 1x, 2x,
and 4x ports (for more information, see Lane to Port Mapping).
The ports are connected through a non-blocking switch fabric. The ports and switch fabric support a separate routing path for
2
maintenance packets which provides register access from any RapidIO p ort. In addition, the I
C Interface and the JTAG 1 149.1
Interface also support access to the CPS-1848's registers. Figure 1 is expanded upon in the following chapters as more
information is provided about the device’s lanes, ports, and switch fabric.
Figure 1: CPS-1848 Block Diagram
Figure 2 provides a summary of the device’s interface signals.
CPS-1848 User Manual25June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 26
1. Device Overview > Typical Applications
CPS-1848
48 Differential S-RIO Lanes
1.25, 2.5, 3.125, 5 or 6.25
Gbps
I
2
C Interface
400KHz
JTAG Interface
RST_N
REF_CLK
IRQ_N
Rext
FSEL[1:0]
QCFG[7:0]
MCAST
SPD[2:0]
FPGA or ASIC
OFDMA PHY
Processing
x4 S-RIO
x4 S-RIO
Backplane
Antenna Interface
CPRI/OBSAI
DSP S-RIO 2
DSP S-RIO 2
DSP S-RIO 2
DSP S-RIO 2
MAC Layer +
Control
Processor
x4 S-RIO
x4 S-RIO
x4 S-RIO
x4 S-RIO
x4 S-RIO
IDT Clock
156.25
MHz
CPS-1848
RapidIO Switch
Figure 2: CPS-1848 Interconnect Diagram
1.4Typical Applications
The CPS-1848, in tandem with other RapidIO ecosystem switches and endpoints, enables next-generation compute density
and power efficiency. This significantly increases channel capacity for 3G to 4G wireless infrastructure, media gateways, video
conferencing, and military and medical imaging systems. Full peer-to-peer networking makes systems of arbitrary topology
possible.
1.4.1Wireless Application Benefits
• Carrier-grade reliable packet transport
• Gen2 performance to power ratio allows unprecedented compute density to enable 3G and 4G systems
• Switched architecture allows highly scalable system for micro and macro BTS implementations
• Carrier-grade 6.25 Gbaud SerDes enables backplane-based modular systems and system scaling by inter-chassis cabling
• Ecosystem-standard support for four priorities plus Critical Request flow provides strong QoS support for multiple data
flows plus control plane
Figure 3: Wireless Application
CPS-1848 User Manual26June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 27
1. Device Overview > Typical Applications
4 x4 S-RIO
S-RIO Payload CardS-RIO x4 Switch Card
IDT Clock
156.25
MHz
CPS-1848
RapidIO
Switch
IDT Clock
156.25
MHz
FPGA S-RIO
FPGA
S-RIO
FPGA
S-RIO
FPGA S-RIO
FPGAS-RIO
PowerPC
S-RIO
CPS-1848
RapidIO
Switch
CPS-1848
RapidIO
Switch
CPS-1848
RapidIO
Switch
CPS-1848
RapidIO
Switch
CPS-1848
RapidIO
Switch
CPS-1848
RapidIO
Switch
x4 S-RIO
x4 S-RIO
Backplane
CPS-1848
RapidIO Switch
IDT Clock
156.25
MHz
DSP S-RIO 2
DSP S-RIO 2
DSP S-RIO 2
DSP S-RIO 2
x4 S-RIO
x4 S-RIO
x4 S-RIO
x4 S-RIO
PCIe to
S-RIO
Bridge
1.4.2Defense and Aerospace Application Benefits
• S-RIO Error Management Extension support including Time-to-Live enables fault-tolerant systems
• VITA 41, Open VPX, and ATCA fabric mappings enable rapid development of modular, standards-based systems
• RapidIO-standard true peer-to-peer networking allows scaling of arbitrary topology and simplifies hot swap software
implementation
• Per-port filter feature allows blocking errant packets or malicious attack (for example, denial of service, system memory
reads and writes)
Figure 4: Military Open VPX System Application
1.4.3Video and Imaging Application Benefits
• 40 multicast masks per port provides strong support for broadcasting or multicasting a specific data stream to multiple
endpoints executing unique transforms, scaling, and CODECs
Figure 5: Video and Imaging Application
CPS-1848 User Manual27June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 28
2. RapidIO Ports
This chapter describes the S-RIO port functionality of the CPS-1848. Topics discussed include the following:
• Overview
• Key Features
• Packet Routing
• Flow Control
• Multicast Event Control Symbols
• Port Reconfiguration Operations
• Reset Control Symbol Processing
• Hot Extraction/Insertion
• Packet Trace and Filtering
• Packet Generation and Capture
• Packet Transfer Validation and Debug
2.1Overview
Each CPS-1848 S-RIO port is compliant to the RapidIOSpecification (Rev.2.1). Each port provides the S-RIO defined
Physical Coding Sublayer (PCS) functionality and the packet exchange protocol management. Each port also connects to the
associated SerDes blocks and the switch fabric block, as displayed in Figure6.
CPS-1848 User Manual28June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 29
2. RapidIO Ports > Key Features
Lanes
Ports
Lanes
Ports
Lanes
Ports
Lanes
Switch
Fabric
Registers
I2CJTAG
Ports
Quadrant
Quadrant
Quadrant
Quadrant
Lane to Port Connection
Packet
Routing
Trace &
Filter
Input Buffer
CS RXCS TX
RapidIO Flow Control
Error Mgmt
Final Buffer
S-RIO Port Block
Figure 6: S-RIO Port Diagram
Figure 6 shows a block diagram of an S-RIO Port Block. The key components of this port diagram are discussed throughout
the chapter.
2.2Key Features
The S-RIO Block supports the following:
• 8b/10b codec
• Data scrambling/descrambling
• Lane/Link initialization management
• Control symbol generation
• Control symbol reception/decode
• IDLE sequence generation/control
• Receiver- and transmitter-controlled flow control
• S-RIO-based reset support
• Packet retransmission management
• Link maintenance and software-assisted error recovery
• Packet transmission cancellation
• Link error detection and recovery
• Packet forwarding
• IDT-specifi c pac ke t trace and filtering
This functionality is compliant to the following S-RIO specifications:
• RapidIO Specification (Rev.2.1), Part 1: Input/Output Logical Specification
• RapidIO Specification (Rev. 2.1), Part 7: System and Device Interoperability Specification
• RapidIO Specification (Rev.2.1), Part 8: Error Management Extensions Specification
• RapidIO Specification (Rev.2.1), Part 9: Flow Control Logic Layer Extensions Specification
• RapidIO Specification (Rev. 2.1), Part 11: Multicast Extensions Specification
• RapidIO Specification (Rev.2.1), Annex I: Software/System Bring Up Specification
2.3Packet Routing
The main function of each S-RIO port is to route received packets to the appropriate port(s) on the switch. Packet routing is
supported in a RapidIO standard method usin g routing table s and standard RapidIO re gisters for mult icast functionality. Packet
routing is supplemented by implementation-specific registers for both the routing tables and for multicast. In addition, debug
features such as packet trace and filtering augment the normal packet routing.
The following sections describe routing table operation and programming, multicast operation and programming, and the
packet trace/filtering debug functionality.
2.3.1Packet Routing Overview
Each S-RIO port provides a 256 entry Device Routing Table and a 256 entry Domain Routing Table. The scenario for the use
of the Domain and Device Routing Tables is a large system that has multiple chassis connected together, and multiple boards
in each chassis. The Domain Routing Table selects which chassis/board to route packets to, while the Device Routing Table
routes packets to a specific processing element on a board.
Figure 7: Routing Table Flowchart
CPS-1848 User Manual30June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 31
2. RapidIO Ports > Packet Routing
Figure 7 shows the decision tree for routing a received packet. The Device Routing Table routes packets with 8-bit destIDs,
and 16-bit destIDs whose most significant byte is 0. Packets with 16-bit destIDs whose most significant byte is non-zero are
routed using the Domain Routing Table, unless:
• The most significant 8 bits of the 16-bit destID match the value programmed in the RapidIO Domain Register, or
• The Domain Routing Table entry for the destID has a value of 0xDD.
Table 1 explains the meaning of the Domain and Device Routing Table port entry values, and restrictions on which values can
be programmed to the Domain or Device Routing Tables.
Programming a value into a routing table entry that is not allo wed accord ing to Table 1 causes packets
whose destID matches that routing table entry to be discarded.
Programming the number of a port that has no lanes assigned to it causes that packet to be dropped
(equivalent to No Route, value 0xDF).
The CPS-1848 supports the RapidIO standard programming model through the following registers:
• Standard Route Table Entries Configuration destID Select CSR
• Standard Route Table Entry Configuration Port Select CSR
• Standard Route Table Entry Default Port CSR
Allowed in Device
Route Table
Allowed in Domain
Route Table
The Standard Route Table Entries Configuration destID Select CSR specifies the destID whose routing is affected by writ es to
the Standard Route Table Entry Configuration Port Select CSR. The Standard Route Table Entry Configuration Port Select
CSR can be read to determine the current route for a destID. Using the standard registers is called “indirect” routing table
programming.
Reading or writing a routing table e ntry requires two accesses. These accesses mu st be handled as an
atomic operation. If multiple software entities can access the routing table at the same time, mutual
exclusion must be enforced to ensure that one entity’s routing table updates do not corrupt another
entity’s efforts.
CPS-1848 User Manual31June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 32
2. RapidIO Ports > Packet Routing
Direct Routing Table Programming is the preferred access method in a multi-host system because it
does not require mutual exclusion.
The standard programming model requires one implementation-specific register, RapidIO Domain Register, to support the
Domain Routing Table. If the DESTID_MSB field of the Standard Route Table Entries Configuration destID Select CSR is 0, or
if the DESTID_MSB matches the destID located in the RapidIO Domain Register DOMAIN field, the Device Routing Table is
written. Otherwise, the LARGE_CFG_DEST_ID_MSB value determines which entry in the Domain Routing Table is updated.
As displayed in Unicast Programming Examples, ther e are some special values th at can be pr ogrammed into the routin g table.
If 0xDE is written, packets with that destID are routed according to the port specified in the Standard Route Table Entry Default
Port CSR. After reset, all destIDs are routed to the port value in this register:
• If 0xDD is programmed into the Broadcast Device Route Table Register {0..255}, the packet is discarded and the routing
table entry is overwritten with a value of 0xDF.
• If 0xDD is programmed into the Broadcast Domain Route Table Register {0..255}, packets that are in that domain are
routed according the Broadcast Device Routing Table.
• If a value of 0xDF is programmed into either the Domain or Device Routing Table, packets sent to that destID are
discarded.
The CPS-1848 supports routing table programming functions beyond what is indicated in the RapidIOSpecification (Rev. 2.1)
(see Programming Examples).
2.3.2.1Per-Port Routing Tables
The CPS-1848 has a routing table for each port. This allows packets with the same destID to be routed differently depending
on which port they are received. This can be used to partition the switch, or to create virtual networks.
The Route Port Select Register selects whether all ports or one specific port is updated through the Standard Route Table
Entries Configuration destID Select CSR and Standard Route Table Entry Configuration Port Select CSR. The Route Port
Select Register default value selects all ports for routing table updates.
Port-writes generated by the CPS-1848 are routed using routing table entries that are programmed
using broadcast registers (for more information, see Port-Write Programming Model).
The CPS-1848 supports the optional standard mechanism for reading or writing four routing table entries at once for the
Device Routing Table. These are called “Block” accesses. Block reads and writes are enabled by setting EXTD_EN to 1 i n the
Standard Route Table Entries Configuration destID Select CSR. A Block access can only occur when the DESTID_MSB
selects the Device Routing Table.
Block accesses cannot be performed to the Domain Routing Table. They can only be performed for
8-bit destIDs, or using 16-bit destIDs 0x0000 through 0x00FF.
When Block accesses are enabled, reading the Standard Route Table Entry Configuration Port Select CSR for a Device
Routing Table entry will return the values for four destIDs, starting with the destID specified in the Standard Route Table Entries
Configuration destID Select CSR.
If a Block Read exceeds the end of the Device Routing Table, the Block Read results are undefined.
For example, a Block Read for destID 0xFE will result in undefined data.
CPS-1848 User Manual32June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 33
2. RapidIO Ports > Packet Routing
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
Select CSR as well as the next three entries.
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.
2.3.2.3Direct 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.4Maintenance 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.3Multicast 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:
• Multicast Mask Port CSR – 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 handles 8-bit destIDs, and 16-bit destIDs that star t with 0x00 , as th e same. Formin g a n
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 th e Devi ce Rout ing 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.
The CPS-1848 supports multicast programming functions beyond what is specified in the RapidIOSpecification (Rev.2.1).
These functions are discussed in the following sections. For examples of multicast routing programming, see Multicast
Programming Examples.
CPS-1848 User Manual33June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 34
2. RapidIO Ports > Packet Routing
2.3.3.1Per-Port Multicast Programming
Similar to the Unicast Programming Model, the CPS-1848 Multicast Programming Model allows each of the 40 multicast
masks, and the associations between destIDs and the multicast masks, to be unique for each port. This allows switches to be
partitioned, and to form virtual networks.
The Multicast Route Select Register controls which ports multicast masks are being controlled by the standard multicast
registers.
2.3.3.2Direct Multicast Mask Programming
Also similar to the Unicast Programming Model, the CPS-1848 contains registers that memory map the multicast masks to
register space. There are registers defined that update a multicast mask for all ports (see Broadcast Multicast Mask Register
{0..39}), as well as port-specific multicast masks (see Port {0..17} Multicast Mask Register {0..39}).
Multicast routing requires a multicast mask to be associated with a destination ID. This can be accomplished by using the
device routing tables to associate a multicast mask with one or more destination IDs.
2.3.3.3Broadcast Routing
The RapidIOSpecification (Rev. 2.1) requires that multicast packets are not replicated to the port that they are received on.
This allows one multicast mask to be shared among many endpoints that do not want to receive the data they have sent.
In some applications, it is useful to receive a message that has been multicast. This capability is supported by the CPS-1848
on a per-port basis through the use of the SELF_MCAST_EN bit in the Port {0..17} Operations Register.
2.3.4Programming Examples
This section contains examples of successful routing table and multicast programming.
Read the routing for destIDs 0x24, 0x25, 0x26,
and 0x27 for port 7.
Standard Route Table Entries Configuration
Route Port Select Register0x100700x00000008
0x700x80000024
destID Select CSR
Standard Route Table Entry Configuration Port
0x74Read
Select CSR
Table 3: Unicast Programming Examples – Direct Programming
ExampleRegisterOffsetValue
Route destID 0x21 to port 3 for all ports. Broadcast Device Route Table Register {0..255}0xE000840x00000003
Route destID 0x43 to port 10 for port 7. Port {0..17} Device Route Table Register
0xE1710C0x0000000A
{0..255}
Route destID 0x43xx to port 5 for all ports. Broadcast Domain Route Table Register
0xE0050C0x00000005
{0..255}
Route destID 0x5500 to 0x55FF according to
the Device Routing Table for all ports.
Route destID 0x7700 to 0x79FF according to
the Device Routing Table for all ports.
Broadcast Domain Route Table Register
{0..255}
Broadcast Domain Route Table Register
{0..255}
0xE005540x000000DD
0xE005DC0x000000DD
0xE005E00x000000DD
0xE005E40x000000DD
Set the default port to 5. Standard Route Table Entry Default Port CSR0x780x00000005
Route destID 0x7A00 to 0x7AFF to the default
port.
Broadcast Domain Route Table Register
{0..255}
0xE005E80x000000DE
Discard all packets sent to destID 0x45. Broadcast Device Route Table Register {0..255}0xE001140x000000DF
Discard all packets sent to destID 0x7B00 to
0x7BFF.
Read Broadcast Routing Table entry for destID
Multicast DestID 0x01 to ports 4, 5, 6, and 7 on
all ports using multicast mask 0x27.
Reprogram Multicast Mask 0x20 to send to only
ports 10, 11, and 12.
Associate DestID 0x03 with Multicast Mask
0x20 on all ports except port 1 1. The association
is performed in two steps:
1. Associate all ports with the mask.
2. Disassociate port 11.
Multicast Mask Port CSR0x800x00270410
0x00270510
0x00270610
0x00270710
Multicast Association Selection CSR0x840x00010027
Multicast Association Operations CSR0x880x00000060
Multicast Mask Port CSR0x800x00200040
0x00200A10
0x00200B10
0x00200C10
Multicast Association Selection CSR0x840x00030020
Multicast Association Operations CSR0x880x00000060
Multicast Route Select Register0x100800x0000000C
Multicast Association Operations CSR0x880x00000020
1
Allow DestID 0xFF00 through FFFF to be
Route Port Select Register0x100700x00000000
multicast according to the Device Routing Table
on all ports.
Standard Route Table Entries Configuration
destID Select CSR
Standard Route Table Entry Configuration Port
0x700x0000FF00
0x740x000000DD
Select CSR
1. When a multic ast mask is disassociated from a destID, the destID routing table value is 0xDF (drop packets).
CPS-1848 User Manual37June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 38
2. RapidIO Ports > Flow Control
Table 5: Multicast Programming Examples – Direct Programming Model
ExampleRegisterOffsetValue
Multicast DestID 0x01 to ports 4, 5, 6 and 7 on
all ports using multicast mask 0x27.
Reprogram Multicast Mask 0x20 to send to only
ports 10, 11, and 12.
Multicast DestID 0x05 to ports 6, 7, 8 and 9
using multicast mask 3 on port 6 and mask 4 on
port 7, 8, and 9. Multicast will only occur for
packets received by ports 6, 7, 8 and 9.
Port {0..17} Multicast Mask Register {0..39}0xF3860C0x000003C0
Port {0..17} Device Route Table Register
0xE160140x00000043
{0..255}
Port {0..17} Multicast Mask Register {0..39}0xF387100x000003C0
Port {0..17} Device Route Table Register
0xE170140x00000044
{0..255}
Port {0..17} Multicast Mask Register {0..39}0xF388100x000003C0
Port {0..17} Device Route Table Register
0xE180140x00000044
{0..255}
Port {0..17} Multicast Mask Register {0..39}0xF389100x000003C0
Port {0..17} Device Route Table Register
0xE190140x00000044
{0..255}
2.4Flow Control
The CPS-1848 supports a variety of flow control functions. Receiver- an d transmitt er-controlled flow control are the most basic
RapidIO flow control functions. One of these fu nctions is always active on a link. In rece iver-controlled flow control, the r eceiver
tells the transmitter when it cannot accept a packet due to a lack of resources by issuing a retry. The transmitter then resumes
packet transfer with a packet of higher priority than the one that was retried, if such a packet is available, and retries (or
resends) the original packet at a later time, perhaps with increased priority.
Transmitter-controlled flow co ntro l is t he default mode of each port. In this mo de , t he transmitter only sends packets which the
receiver can accept. The choice between receiver- and transmitter-controlled flow control is made automatically as part of Port
and Lane Initialization Sequence. The flow co ntrol mode that is active on a link is reported in the RX_FC field of the Port {0..17}
Status and Control Register. For more information on receiver and transmitter-controlled flow control, see Part 6 of the
RapidIO Specification (Rev. 2.1).
2.4.1Transmitter- and Receiver-Controlled Flow Control Programming Model
Transmitter- and receiver-controlled flow control decide which packets to send based on a packet’s priority. The CPS-1848
supports the four standard RapidIO priorities nu mbered 0 to 3 where 3 is the highest priority. The CPS-1848 also supports the
Critical Request Flow (CRF) bit which extends the number of priorities supported from four to eight.
Transmitter-controlled flow control can be disabled on a port using the TX_FLOW_CTL_DIS bit in the
Port {0..17} Operations Register.
CPS-1848 User Manual38June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 39
2. RapidIO Ports > Multicast Event Control Symbols
Priority 0, 1 and 2 packets all have buffer allocation values associated with them. These flow control values are called
“watermarks”, a shortened form of “high watermark”: the high est point on sho re that water reaches. Th e watermark associ ated
with a specific priority determines when a buffer is too full to accept/transmit packets of a specific priority. Note that there is no
watermark for priority 3 packets, since priority 3 packets must always be accepted whenever buffers are available.
When transmitter-controlled flow control is active on a port, the transmitter must have watermark values for the packets which
it transmits to the receiver. The watermarks reside in the Port {0..17} Watermarks Register. These watermarks define the
number of available buffers at which point packets of that priority will stop being transmitted. If a system is rarely congested,
the default values for this register will deliver optimal performance.
The watermark values in the Port {0..17} Watermarks Register should be set based on the buf fer size of
the link partner and the required traffic characteristics for packets of each priority. The default values
will result in optimal throughput when traffic is bursty and congestion is rare in the system, as they
maximize the number of low priority packets that can be accepted. When congestion is normal and
traffic of a specific priority must have guaranteed throughput, adjust the watermark values to reserve
sufficient buffers in the link partner. Depending on the link latency, two or three buffers per congested
priority must be reserved to ensure line rate throughput.
2.5Multicast Event Control Symbols
Multicast Event Control Symbols (MECS) distribute events with l ow latency and littl e variability in di stribution dela ys throughout
a RapidIO system. An MECS can be received by a CPS-1848 port, or ca n be triggered b y the MCAST pin o n the device . Once
an MECS event has been received/triggered, the MECSs are transmitted by each port with the MCAST_CS field set to one in
the Port {0..17} Control 1 CSR. Note that the port which received the MECS does not transmit the MECS.
The CPS-1848 provides a physical pin called MCAST that can generate an MECS to all Multicast Event
participant egress ports (for more information, see the CPS-1848 Datasheet).
If two or more MECSs are received close enough in ti me tha t more th an one is waiti ng for transmi ssion
on a port, then at least one of them is forwarded. The o ther(s) ma y not be (Fo r information on minimum
period duration between MECSs, see Multicast-Event Control Symbol (MECS) Latency). The most
recently received MECS will be transmitted. Reg ardless of how many MECSs are received under these
conditions, at least one will be transmitted from each participant port.
2.6Port Reconfiguration Operations
When one of the following port config uration events occur, a CPS-1848 port will require a re-initialization or reset (see Table 6).
Table 6: Port Reconfiguration Operations
Port Configuration EventRecommended Port Operation
Quadrant Configuration Register changePort reset (see PORT_SEL in Device Reset and Control
PLL {0..11} Control 1 Register.PLL_DIV_SEL changePLL reset (see PLL_SEL in Device Reset and Control
Lane {0..47} Control Register.TX_RATE or RX_RATE
Lane rate change
Register)
Register)
Port reset (see PORT_SEL in Device Reset and Control
Register). For examples of reconfiguring port and lane
speeds, see Lane and Port Speeds.
Port {0..17} Error and Status CSR.IDLE2_EN changePort reset (seePORT_SEL in Device Reset and Control
Register)
CPS-1848 User Manual39June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 40
2. RapidIO Ports > Reset Control Symbol Processing
Table 6: Port Reconfiguration Operations (Continued)
Port Configuration EventRecommended Port Operation
Lane {0..47} Control Register.LANE_DIS
Lane disable/enable
Port {0..17} Operations Register.TX_FLOW_CTL_DIS
TX Flow control disable/enable
These recommended port operations also apply when any of these port configuration events are
performed within an EEPROM load. After each event, the recommended operation should be
implemented within the EEPROM load (for more information, see the note in EEPROM Format).
2.6.1Disabling IDLE2 Operation
When operating at lane speeds of 5 Gbaud or less, IDLE2 operation should be disabled in order to improve link performance,
as displayed in Table 7.
Table 7: Disabling IDLE2 Operation on Port 3
StepRegisterOffsetValue
1. Disable IDLE2 by setting IDLE2_EN to 0. Port {0..17} Error
2. Perform a port reset by writing to PORT_SEL.
Port reset (see PORT_SEL in Device Reset and Control
Register)
Force-reinit required (see FORCE_REINIT in Port {0..17}
Operations Register)
0x0001B80x80000000
and Status CSR
1
Device Reset and
0xF203000x80000008
Control Register
3. Once the port achieves PORT_OK (PORT_OK is 1),
then disable IDLE2 on the connected port using
Port {0..17} Error
and Status CSR
maintenance packet, I2C, or JTAG.
1. After performing a port reset, clear Port {0..17} Error and Status CSR.PORT_ERR if it was set during the reset process
(for more information, see HS-LP Controlled Recovery). For Revision A/B devices, a Link-Request control symbol must
be sent to clear the fatal error condition before clearing PORT_ERR.
2.7Reset Control Symbol Processing
A RapidIO device can be reset using a RapidIO reset request. This type of reset request consists of four reset request control
symbols received with no intervening control symbols, excep t status co ntro l symbols.
The CPS-1848 can handle a RapidIO reset request in one of two ways, ba sed on the value of the PORT_RST _CTL field of the
Device Control 1 Register. A value of 0 resets the entire CPS-1848, while a value of 1 resets just the port that received the
reset request. For more information about a “per-port” reset, see the following section.
2.7.1Per-Port Reset
A per-port reset causes a RapidIO port to behave as follows:
1. All outstanding error states and retry states are cleared. This includes input-error and output-error.
2. All unacknowledged, transmitted packets are discarded, and tracking of transmitted packets is cleared.
3. Any current packet being received is discarded by the switch. The packet is not acknowledged.
4. Tracking of outstanding Link-Request/Input-Status (error recovery) control symbols is reset.
0x0001B8-
CPS-1848 User Manual40June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 41
2. RapidIO Ports > Reset Control Symbol Processing
5. The next transmitted and received ackID values are reset to 0. The next packet to be transmitted by the port will have ackID
0. The expected ackID of the next packet is 0.
6. Detectable errors on control symbols or packets received by the port in the cycle in which the reset event occurs are ignored.
7. Packets stored in the port’s input buffer are discarded.
8. Packets stored in the crosspoint buffers that feed the port’ s final buffer of the port ar e discarded while the port is held in reset.
9. Packets stored in the port’s final buffer are discarded.
If many congested ports were sending packets to the reset port, some packets may exist in the final
buffer after the reset. It is also possible for maintenance responses to be sent after the reset because
maintenance requests with a hop count of 0 are processed outside of the receiving port.
10.The Port {0..17} Error and Status CSR is updated as follows:
— PORT_UNINIT is set to 1
— PORT_OK is set to 0
— INPUT_ERR_STOP is set to 0
— INPUT_ERR is set to 0
— INPUT_RETRY_STOP is set to 0
— OUTPUT_ERR_STOP is set to 0
— OUTPUT_ERR is set to 0
— OUTPUT_RETRY_STOP is set to 0
— OUTPUT_RETRIED is set to 0
— OUTPUT_RETRY is set to 0
— PORT_ERR is set to 0 (Revision C)
The following is applicable to Revision A/B.
PORT_ERR is not cleared by a per-port reset. If PORT_ERR is set then the port will drop all packets
routed to the Final Buffer, including maintenance packet responses.
To recover, the port must send a Link-Request/Input Status control symbol and receive a response.
This will clear the PORT_ERR and packet drop condition. The CPS-1848 will send a
Link-Request/Input Status control symbol when either of the following occurs:
• A Packet Not Accepted control symbol is received
• 0b100 is written to the Port {0..17} Link Maintenance Request CSR.CMD
For more information on clearing PORT_ERR, see HS-LP Controlled Recovery.
11.The link begins to retrain, starting from the SILENT state.
Routing table programming is retained after a per-port reset.
All registers other than the registers referenced above retain the values they had before the per-port
reset request was received.
Writing to the Port {0..17} Link Maintenance Request CSR for the co rrect port requires knowledge of the
port number on the link partner. If it is possible to be connected to one of many port s, i t is ne ce ssary to
write to the Port {0..17} Link Maintenance Request CSR for each port.
CPS-1848 User Manual41June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 42
2. RapidIO Ports > Hot Extraction/Insertion
2.7.2Port Disable/Enable
When a port is disabled and then enabled by setting and clearing Port {0..17} Control 1 CSR.PORT_DIS, the behavior of the
port is as described in Per-Port Reset. The only differe nce i s th at packets a re discarde d for the entire period when PORT_DIS
is set.
ackID resynchronization is required when PORT_DIS is set and cleared.
The procedure for ackID resynchronization is specific to the link partner device. If the link partner is a
CPS Gen2 device, resetting the link partner port and the local port will resynchronize the ackIDs (for
more information, see System Controlled Recovery).
2.7.3Generating a Reset Request
The CPS-1848 can generate a reset request to its link partner by writing 0x0000_0003 to the Port {0..17} Link Maintenance
Request CSR.
In some systems, it may be necessary to check that the link partner has acted on the reset request. This should be apparent
when the Port {0..17} Error and Status CSR PORT_OK bit is cleared, and the Port {0..17} Error and Status CSR
PORT_UNINIT bit is asserted. Event notification can be configure d to send a p ort- write o r asse rt an i nter rupt when this occurs
(for more information, see Event Management).
Once the link partner acts on the reset request, Port {0..17} Control 1 CSR.PORT_LOCKOUT should be asserted until the link
has retrained. This will cause all packets destined for the port to be discarded.
If the link partner accepts the reset, it will clear the expected and transmitted ackID values to 0. The Port {0..17} Local ackID
CSR should be cleared to 0, and the CLR bit in this register should be set to 1. This wi ll cause all outsta nding unackno wledged
packets to be dropped.
A Link-Request/Input-Status control symbol should be sent to the link partner by writing to Port {0..17}
Link Maintenance Request CSR[CMD] after a reset request followed by a link-response.
Alternatively, the procedure for hot insertion can reset the link partner and discard all packets, as described in Link Partner
Insertion.
2.8Hot Extraction/Insertion
The hot extraction and insertion procedure is used to replace or upgrade hardware. It can also reset and then re-establish
communication with link partners, whether or not they have been physically replaced.
The following sections use the phrase “hot-swap link partner” (HS-LP) to identify the entity that is the
subject of the hot extraction/insertion or reset. The HS-LP can be the link partner of the CPS-1848, or
can be the CPS-1848 itself.
Hot Extraction/Insertion support requires exclusive use of t he followi ng registers. No Sta ndard Physi cal
Layer Errors can be enabled when Hot Extraction/Insertion functionality is required.
• Port {0..17} Error Report Enable Register
• Lane {0..47} Error Report Enable Register
• Port {0..17} Implementation Specific Error Rate Enable Register
CPS-1848 User Manual42June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 43
2. RapidIO Ports > Hot Extraction/Insertion
2.8.1Hot Extraction
This section describes configuration options to manage controlled and uncontrolled removal/reset of the link partner. The
primary considerations when removing/resetting a link partner are:
• Timely notification that the link partner has been removed/reset
• Management of packets sent to the link partner when it has been removed/reset
• Isolation of the system from the link partner if the system design requires central coordination to admit new resources into
the system
• Preparing for link partner recovery
2.8.2Controlled Removal/Reset
T o per form controlled removal or reset of a HS-L P, the following steps should be followed. Note that the programming mod el for
performing steps 1 to 4 is located in Preparation For Hot Extraction on Port Y.
1. Disable event notification for the HS-LP, except for extraction/insertion events.
2. Discard packets originated by or routed to the HS-LP.
3. Prevent acceptance of new packets from the HS-LP.
4. Reset and/or extract the HS-LP.
5. Confirm the reset/extraction by reception of an extraction event as described below.
6. Prepare the port for the insertion/return of the link partner as found in Preparation For Hot Insertion on Port Y.
Packets destined for a HS-LP usually should be discarded, since the link partner lacks the context and/or configuration to
correctly handle these packets. Also, if traf fic continues at a rate that can exhaust the swi tch buffers whi le the link partner is not
accepting packets, the system can congest and fail. For these reasons, it is assumed that the system should not have
transactions flowing in either direction through the CPS-1848 port when preparing for a hot extraction or link partner reset.
The act of removing/resetting the HS-LP will cause errors to be detected on the link. Additionally, since the link partner is no
longer present, events unrelated to hot swap/reset should be su ppre ssed. Events relat ed to ho t swap/re set can be re ceived to
confirm that the link partner has been removed and/or successfully reset.
Once link partner removal/reset has been confirmed, if the link partner is expected to reappear, the port must be prepared for
link partner insertion and/or reset completion.
CPS-1848 User Manual43June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 44
2. RapidIO Ports > Hot Extraction/Insertion
Table 8: Preparation For Hot Extraction on Port Y
StepRegisterOffsetMask and ValueDescription
1. Disable event
notification except for hot
swap events.
ready and loss of lane sync events.
Repeat for each lane associated with the
port.
0xXXXXXXXCSet STOP_ON_PORT_FAIL_ENC_EN
and DROP_PKT_EN bits to prevent
congestion when the link partner is
removed. For more information on when
STOP_ON_PORT_FAIL_ENC_EN and
DROP_PKT_EN are set, see Event
Isolation.
0x10000000
(PORT_INT_EN) or
0x08000000
Ensure at least one of PORT_INT_EN or
PORT_PW_EN is set to ensure notification
occurs.
(PORT_PW_EN)
2. Discard all packets sent
to the HS-LP.
3. Discard all packets
received from the HS-LP.
Port {0..17} Error
Report Enable
0x031044 +
(0x40*Y)
0x80000000Enable port-writes and interrupt notification
for the Hot Extraction events.
Register
Port {0..17}
Implementation
Specific Error
Report Enable
Register
0x03104C +
(0x40*Y)
0x80000000Disable all error reporting except
ERR_RATE_EN bit.
The default is all bits are enabled in the
register; however, this setup can trig ger an
unexpected event.
If port-writes are used, ensure that port-write destin ati ons an d ro uti ng are configured according to Port-Write
Formats, Programming Model, and Generation.
Configure routing tables to discard packets sent to this port, as describe d in Packet Routing. This should stop
packets from accumulating in the Final Buffer.
Configure the port’s routing table to discard al l packets receive d by this port, as described in Packet Routing.
This should stop requests from being issued by the HS-LP.
CPS-1848 User Manual44June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 45
2. RapidIO Ports > Hot Extraction/Insertion
Table 8: Preparation For Hot Extraction on Port Y (Continued)
StepRegisterOffsetMask and ValueDescription
4. Do not accept packets
from the HS-LP.
At this point, removing or resetting the link partner will result in an OUTPUT_FAIL and/or FATAL_ERR_PKT_MGT condition.
This will cause any packets in the final buffer of the CPS-1848 port connected to the HS-LP to be discarded.
T o g uarantee that all packets asso ciated with the HS-LP have been discarded, it is necessary to wa it for
the Time-to-Live (TTL) timeout period before allowing the HS-LP back in to the system. The TTL value
is programmed using Packet Time to Live CSR.TTL.
Packets associated with the HS-LP may have been discarded by the actions taken above. For
deterministic operation, IDT recommends that the HS-LP is reset.
A port-write or interrupt indicating an OUTPUT_FAIL or PORT_ERR standard event acts as confirmation that the HS-LP has
been removed or reset. Once this confirmation is received, the system can prepare the CPS-1848 port to bring the HS-LP back
into the system.
Port {0..17} Control
1 CSR
Device Control 1
Register
0x15C + (0x20*Y)0xXXXXXXXFEnsure PORT_LOCKOUT,
STOP_ON_PORT_FAIL_ENC_EN, and
DROP_PKT_EN are set.
Note: Responses may be in flight to/from
the HS-LP at this point.
0xF2000C0x0XXXXXXXEnsure that the FATAL_ERR_PKT_MGT
bit is cleared. Packets sent to the HS-LP
will be discarded due to the port error
detected.
Port preparation consists of the following:
1. Clearing all error conditions on the port
2. Continuing to isolate the HS-LP from the remainder of the system
3. Receiving notification when the HS-LP has reappeared
Isolation of the HS-LP and notification of HS-LP reappearance are only necessary when it is the responsibility of system
software, not the HS-LP, to bring the HS-LP back into the system.
Table 9: Preparation For Hot Insertion on Port Y
StepRegisterOffsetValueDescription
1. Clear all error
conditions on Port Y.
Device Reset and
Control Register
Ensure Port {0..17} Implementation Specific Error Detect Register.PORT_INIT bit is not set due to the hot
extraction. If it is set, write a 0 to clear it.
0xF203000x8000YYYYPerform a per-port reset on port Y to clear
errors. Note that “YYYY” in the Value
column is a vector with bit “Y” set.
CPS-1848 User Manual45June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 46
2. RapidIO Ports > Hot Extraction/Insertion
Table 9: Preparation For Hot Insertion on Port Y (Continued)
StepRegisterOffsetValueDescription
2. Isolate the HS-LP from
the remainder of the
system.
3. Configure event
management for
notification.
Configure the port’s routing table to discard al l packets receive d by this port, as described in Packet Routing.
This should stop requests from being issued by the HS-LP.
Configure the device's routing table to discard all packets sent to this port, as described in Packet Routing.
This should stop requests from being issued to the HS-LP.
Port {0..17} Control
1 CSR
0x15C +
(0x20*Y)
0xXXXXXXXFEnsure PORT_LOCKOUT,
STOP_ON_PORT_FAIL_ENC_EN and
DROP_PKT_EN are set. Note: There may
be responses in flight to and from the
HS-LP at this point. For more information
on when
STOP_ON_PORT_FAIL_ENC_EN
and DROP_PKT_EN are set, see Event
Isolation.
Port {0..17} Error
Report Enable
0x31044 +
(0x40*Y)
0x80000000Enable reporting for
implementation-specific errors.
Register
Port {0..17}
Implementation
Specific Error
Report Enable
Register
0x3104C +
(0x40*Y)
0x00000020Ensure that the PORT_INIT_EN event is
enabled. This indicates when the port has
successfully trained.
Note: No other error events will be
reported by the port until the port has
initialized.
Port {0..17}
Operations
Register
If port-writes are used, ensure that port-write destin ati ons an d ro uti ng are configured according to Port-Write
Formats, Programming Model, and Generation.
2.8.2.1Unexpec ted Extraction
In systems that do not have central control software, or those that allow the removal of components without prior coordination
with the system, it is by definition not possible to perform the steps in Controlled Removal/Reset. It is only possible to recover
the system after a component is removed.
This recovery process consists of the following considerations:
1. All packets destined for the removed component must be discarded automatically.
2. The remaining components of the system may need to be informed that the component has been removed.
3. The link may need to be prepared for the HS-LP to bring itself back into the system.
Automatic discard of packets destined for a failed port uses a method similar to that described in Controlled Removal/Reset.
An unexpected extraction cannot be distinguished from link re-initialization. This implies that if a link
re-initializes, the system will react as if the link partner has been removed and re-inserted.
F40004 +
(0x100*Y)
0x10000000
(PORT_INT_EN) or
0x08000000
(PORT_PW_EN)
Ensure at least one of PORT_INT_EN or
PORT_PW_EN is set to ensure notification
occurs.
CPS-1848 User Manual46June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 47
2. RapidIO Ports > Hot Extraction/Insertion
Informing the remaining components in the system of th e HS- LP's extracti on ca n b e compl ete d b y mu lti casting a port-write, or
through a shared interrupt.
Table 10: Preparation of Port That Can be Subjected to Unexpected Hot Extraction Event
ready and loss of lane sync events.
Repeat for each lane associated with the
port.
0xXXXXXXXCSet STOP_ON_PORT_FAIL_ENC_EN
and DROP_PKT_EN bits to prevent
congestion when the link partner is
removed.
0x10000000
(PORT_INT_EN) or
0x08000000
Ensure at least one of PORT_INT_EN or
PORT_PW_EN is set to ensure notification
occurs.
(PORT_PW_EN)
0x80000000Enable port-writes and interrupt notification
for the Hot Extraction events.
Port {0..17}
Implementation
Specific Error
Report Enable
Register
0x03104C +
(0x40*Y)
0x80000000Disable all error reporting except
ERR_RATE_EN bit.
The default is all bits are enabled in the
register; however, this setup can trig ger an
unexpected event.
If port-writes are used, ensure that port-write destin ati ons an d ro uti ng are configured according to Port-Write
Formats, Programming Model, and Generation.
After a surprise extraction, if system software is responsible for bringing a new link partner into the syste m, the steps described
in Table 8 and Table 9 should be performed to ensure that all packets in flight to/from the HS-LP are discarded, and that
system software is informed when the HS-LP reappears in the system.
CPS-1848 User Manual47June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 48
2. RapidIO Ports > Hot Extraction/Insertion
2.8.3Link Partner Insertion
Similar to extraction, the steps required to deal with insertion of a link partner depend on whether system software is
responsible for allowing the HS-LP into the system, or if the HS-LP is responsible for bringi ng itself into t he system. In general,
the entity responsible for bringing the HS-LP into the system is called the Recovery Controller.
Once the HS-LP has been inserted, the ability to transfer maintenance packets must be re-established as a first step toward
the HS-LP’s participation in the system. The extraction of an HS-LP usually causes multiple errors to be detected. By design,
these errors include link communication failure and can include packet discard. These errors can prevent the transfer of
maintenance packets. To establish maintenance packet transfer, it is necessary to achieve the fol lowi ng two obje ct ives:
1. Clear error conditions on the link, which may have occurred during hot insertion
2. Ensure ackID synchronization between the HS-LP and the link partner
The procedure for clearing error conditions and synchronizing ackIDs depends on whether the HS-LP or another node in the
system is the Recovery Controller, and the specific link configuration. Common scenarios involving the CPS-1848 are
described in the following sections. Application notes for hot extraction/hot insertion of other devices are also available from
www.idt.com.
Once maintenance packets can be exchanged, the Recovery Controller can then do the following:
1. Undo whatever preparation was done due to a controlled extraction
2. Clear any other error conditions associated with an uncontrolled extraction
3. Bring the HS-LP back into the system
These steps are system specific, and so are not described here.
2.8.3.1System Cont rolled Recovery
The procedure described in Table 11 assumes that the steps captured in Table 8 and Table 9 were performed, whether the
extraction was controlled or uncontrolled.
The steps in Table 9 should be performed for all ports that do not have link partners wh en the syste m is
powered up, but which could have link partners inserted on them while the system is operating.
When the Recovery Controller resides on the CPS-1848 side of the link connected to the HS-LP, it is
assumed that the HS-LP has been reset. To guarantee that this is the case, IDT recommends that the
Recovery Controller reset the HS-LP as part of this procedure. This ensures consistent starting
conditions if the link initialization was not the result of a hot-swap event.
CPS-1848 User Manual48June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 49
2. RapidIO Ports > Hot Extraction/Insertion
Table 11: System Recovery Controller Operation, HS-LP on Port Y
StepRegisterOffsetValueDescription
1. Establish routing
to/from the HS-LP.
2. Disable event
notification and isolation
functions.
Configure routing tables to allow maintenance access to CPS-1848 port an d the HS-L P. The procedures are
described in Packet Routing.
Port {0..17} Error
0x1044 + (0x40*Y)0x00000000Disable all events
Rate Enable CSR
Port {0..17} Error
0x106C + (0x40*Y)0x00000 00 0Disable OUTPUT_FAIL condition on
Rate Threshold
CSR
Lane {0..47} Error
Rate Enable
0xFF8010 +
(0x100 * lane_num)
Register
3. Reset the HS-LP and
CPS-1848 port Y
Port {0..17} Control
1 CSR
Port {0..17} Local
ackID CSR
0x15C +
(0x20*port_num)
0x140 + (0x20*Y)0x80000000Clear outstanding packets, and clear
simultaneously.
Port {0..17} Link
0x140 + (0x20*Y)0x00000003Issue a “reset” request to the HS-LP. This
Maintenance
Request CSR
implementation specific event (see Port
{0..17} Error and Status CSR).
0x00000000Disable error reporting.
Repeat for each lane associated with the
port.
Value is p ort
specific
Ensure PORT_LOCKOUT,
STOP_ON_PORT_FAIL_ENC_EN, and
DROP_ENABLE are cleared.
ackIDs to 0.
register can be written more than once to
ensure that the link partner receives a valid
reset request.
Port {0..17} Link
Maintenance
Response CSR
Device Reset and
Control Register
Port {0..17} Link
Maintenance
Request CSR
0x144 + (0x20*Y)ReadConfirm that the reset request has been
sent.
0xF203000x8000YYYYPerform a per-port reset on port Y to clear
errors.
Note: This step should be performed
immediately after resetting the HS-LP to
clear error conditions at both ends of the
link simultaneously.
0x140 + (0x20*Y)0x00000004Issue a Link Request/Input Status request
to the HS-LP. This will clear a PORT_ERR
failure on the CPS-1848 port, if it exists,
and allow packets to be sent.
CPS-1848 User Manual49June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 50
2. RapidIO Ports > Hot Extraction/Insertion
2.8.3.2HS-LP Controlled Recovery
If the HS-LP is the Recovery Controller then recovery of the link requires the procedure in Table 12 to be completed. Note that
the procedure assumes that the HS-LP is another CPS-18 48, or a device wi th a co mp ati bl e pro gra mmin g mod el. If th e HS-LP
is not a CPS-1848 then HS-LP implementation-specific register accesses may be necessary. Register references made with
address computations are for the CPS-1848. Register references made without address computations are for the HS-LP.
The procedure in Table 12 assumes that both the HS-LP and the CPS-1848 are connected using a cable. This implies that
each end of the new link could have exchanged packets with different link partners prior to connecting the cable.
The HS-LP port must support the Software Assisted Error Recovery version of the LP-Serial Extended Feature Block to
successfully resume packet exchange on the link.
Ta ble 12: HS-LP Recov ery Control ler
StepRegisterOffsetValueDescription
1. Clear ackIDs and
reinitialize HS-LP (Local)
port.
2. Disable and clear error
conditions that prevent
transmission of link
requests by the HS-LP
(Local).
3. Reset HS-LP (Local)
and CPS-1848 (Remote)
to clear link errors.
Device Reset and
Control Register
or
Implementation
Specific
Port {0..17} Error
Rate Enable CSR
Port {0..17} Error
Rate Threshold
CSR
Port {0..17} Error
Rate CSR
Lane {0..47} Error
Rate Enable
Register
Port {0..17} Error
and Status CSR
Port {0..17} Link
Maintenance
Request CSR
0xF20300
HS-LP (Local)
0x1044 + (0x40*Y)
HS-LP (Local)
0x106C + (0x40*Y)
HS-LP (Local)
0x1068 + (0x40*Y)
HS-LP (Local)
0xFF8010 +
(0x100 * lane_num)
HS-LP (Local)
0x000158 +
(0x20*Y)
HS-LP (Local)
0x000140 +
(0x20*Y)
HS-LP (Local)
0x8000YYYY
or
Implementation
Specific
Reset HS-LP (Local) port n.
If the HS-LP (Local) is not a CPS-1848
(Remote), the register address and value
written are implementation specific.
0x00000000Disable all events.
0x00000000Disable OUTPUT_FAIL condition on
implementation specific event (see Port
{0..17} Error and Status CSR).
0x00000000Clear ERR_RATE_CNTR value.
0x00000000Disable error reporting. Repeat for each
lane associated with the port.
0x07000000Clear OUTPUT_DROP, OUTPUT_FAIL,
and OUTPUT_DEGR.
0x00000003Issue a “reset” request to the CPS-1848.
Note: The CPS-1848 must have Device
Control 1 Register.PORT_RST_CTL set to
1 to perform per-port resets.
Device Reset and
Control Register
or
Implementation
Specific
0xF20300
HS-LP (Local)
0x8000YYYY
or
Implementation
Specific
Reset HS-LP (Local) port n. Register
values are given assuming that the HS-LP
(Local) is a CPS-1848 (Remote). If the
HS-LP (Local) is not a CPS-1848
(Remote), the register address and value
written are implementation specific.
Note: This step should be performed
immediately after resetting the CPS-1848
(Remote) to clear error conditions at both
ends of the link simultaneously.
CPS-1848 User Manual50June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 51
2. RapidIO Ports > Hot Extraction/Insertion
Ta ble 12: HS-LP Recov ery Control ler (Continued)
StepRegisterOffsetValueDescription
4. HS-LP (Local) clears
potential input-error
stopped state on the
CPS-1848 (Remote).
5. Check for error
conditions.
6. If the CPS-1848
(Remote) port is known,
clear ackIDs.
If the CPS-1848 (Remote)
port is not known, skip
step 6 and proceed to
step 7.
Port {0..17} Link
Maintenance
Request CSR
Device Identity
CAR
Port {0..17} Local
ackID CSR
Device Reset and
Control Register
or
Implementation
Specific
0x000140 +
(0x20 * Y)
HS-LP (Local)
0x000000
CPS-1848
(Remote)
0x000148 +
(0x20 * Y)
CPS-1848
(Remote)
0xF20300
HS-LP (Local)
0x00000004After reset, the CPS-1848 (Remote) may
be in the input-error stopped state. Issue
an “input-status” request to the CPS-1848
(Remote).
ReadRead the Device Identity CAR of the
CPS-1848. If the read completes
successfully then packet exchange can
resume.
Note: If the CPS-1848 always experiences
a PORT_ERR condition on extraction, do
not perform this step.
0x80000000Clear ackIDs on the CPS-1848 (Remote)
port.
0x8000YYYY
or
Implementation
Specific
Reset HS-LP (Local) port n. Register
values are given assuming that the HS-LP
(Local) is a CPS-1848 (Remote). If the
HS-LP (Local) is not a CPS-1848
(Remote), the register address and value
written are implementation specific.
Port {0..17} Link
Maintenance
Request CSR
0x000140 +
(0x20 * Y)
HS-LP (Local)
0x00000003Issue a “reset” request to the CPS-1848
(Remote).
Note: The CPS-1848 (Remote) must have
Device Control 1
Register.PORT_RST_CTL set to 1 to
perform per-port resets.
Packet exchange can resume once the link has completed initialization. Clear error status bits on HS-LP
(Local) and CPS-1848 (Remote).
CPS-1848 User Manual51June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 52
2. RapidIO Ports > Hot Extraction/Insertion
Ta ble 12: HS-LP Recov ery Control ler (Continued)
StepRegisterOffsetValueDescription
7. If the CPS-1848
(Remote) port is not
known, resynchronize
ackIDs.
For each CPS-1848 (Remote) port that the HS-LP (Local) can be connected to {
For ackID from 0 up to N (where N is 31 for IDLE1 and 63 for IDLE2) {
Write ackID to HS-LP (Local) Port {0..17} Local ackID CSR.INBOUND while retaining outstanding/outbound
values.
Write 0x4 to CPS-1848 (Remote) Port {0..17} Link Maintenance Request CSR.CMD
Read HS-LP (Local) Port {0..17} Local ackID CSR.INBOUND
If INBOUND <> ackID
Exit both loops, ackID resynchronization complete.
}
}
Port {0..17} Local
ackID CSR
Port {0..17} Local
ackID CSR
0x00148 +
(0x20*Y)
HS-LP (Local)
0x00148 +
(0x20*Y)
CPS-1848
0x0000YYYYClear HS-LP (Local) inbound ackID while
retaining existing outstanding/outbound
ackID.
0x81000000Clear outstanding/outbound ackID on
CPS-1848 (Remote) and set inbound
ackID to 0x01.
(Remote)
Port {0..17} Local
ackID CSR
0x00148 +
(0x20*Y)
0x80000000Clear own ackID.
HS-LP (Local)
Port {0..17} Link
Maintenance
Request CSR
Device Reset and
Control Register
or
Implementation
Specific
0x00140 +
(0x20*Y)
HS-LP (Local)
0xF20300
HS-LP (Local)
0x00000003Issue a “reset” request to the CPS-1848
(Remote).
0x8000YYYY or
Implementation
Specific
Reset HS-LP (Local) port n. Register
values are given assuming that the HS-LP
(Local) is a CPS-1848 (Remote). If the
HS-LP (Local) is not a CPS-1848
(Remote), the register address and value
written are implementation specific.
Clear error status bits on HS-LP (Local) and CPS-1848 (Remote). Packet exchange can now resume.
CPS-1848 User Manual52June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Each S-RIO port can compare a received packet against a set of configurable predefined values, and, if a match occurs,
include a reference to a configurable output port as part of its forwarding information passed to the switch fabric. This function
is defined as the “Trace” function. When all bits of the packet data match corresponding bits in a spe cific prog rammabl e value
(after the value’s mask has been applied), the Trace Criteria is met and a copy of the packet is forwarded to the trace enabled
output port.
Each S-RIO port provides output port routing references derived from a received packet's destID (including multicast
references), as well as a routing reference to the configured trace port to the switch fabric. Each S-RIO port also provides a
uniquely configurable trace function so that trace can be enabled on up to 18 ports simultaneously. To enable the trace
function, set TRACE_EN to 1 in the Device Control 1 Register.
2.9.1.1Trace Criteria
The property of an S-RIO port matching a packet with a “Trace Criteria” refers to a successful comparison of the first 160 bits
in a received packet to multiple pre-programmed values stored at that port. A successful match against a Trace Criteria will
trigger the S-RIO port to flag the trace port (to the switch fabric) for packet forwarding.
Each S-RIO port provides a set of four uniquely configur able 160-bit compari son values tha t can selectivel y be appl ied usi ng a
bit mask to the first 160 bits of each packet that the block receives. Each S-RIO port also provides a bit mask for each of the
four programmable 160-bit comparison values that define which of the first 160 bits of packet data are relevant to the
comparison. A value of 1 in the comparison value mask indicates that the corre sponding bits in the pro grammed va lue and th e
corresponding bit in the packet data is co mp ared . A val ue of 0 in the comparison value mask is used as a “don’t ca re”. A don’t
care value will result in an automatic match of the corresponding bits in the pro grammable value with the correspond ing packet
data bits. When all bits of the packet data match with a corresponding bit in a specific programmable value (after the value’s
mask has been applied) the Trace Criteria has been met and a copy of the packet is forwarded to the trace enabled output
port. The packet trace is triggered by a logical “OR” of the comparison match results (packet data with the four programmable
values) such that if at least one match occurs, packet forwarding to the trace enabled port is enabled.
Note that the trace criteria is based on the entire contents of the comparison value and its corresponding bit mask. If the
number of bits in the packet being compared is less than 160 bits, the excess bits in the mask must be set as “don't care,” as
displayed in Figure8.
Figure 8: Trace Criteria
The Trace Criteria architecture is displayed in Figure9.
CPS-1848 User Manual53June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 54
2. RapidIO Ports > Packet Trace and Filtering
0159
First 160 bits of packet
0159
Programmable Comparison 0
Mask 0
Mask 1
Programmable Comparison 1
Mask 2
Mask 3
Programmable Comparison 2
Programmable Comparison 3
Trigger
0159
0159
0159
0159
0159
0159
0159
RapidIO
packet
Figure 9: Trace Function within a Port
From an application perspective, the support for comparison over the first 160 bits of the packet is to ensure that the trace
function can cover the largest RapidIO header (including those using extended add ressi ng ) plus at le ast the first 32 bits of the
payload. This implementation is flexible across the first 160 bits of the packet and ensures that the following parameters
(among others) can be used as trace criteria:
• The header’s ftype field (4 bits)
• The header’s destID field (8 or 16 bits)
• The header’s mbox field (up to 8 bits)
• The first 32 bits of the packet payload (32 bits)
If an S-RIO port detects an error in a received packet, the packet will not be forwarded to the trace port;
however, it can still be reported as a trace match.
2.9.1.2Trace Port Features
Each S-RIO port supports a trace port functionali ty. The user can define which output port is enabled for the T race function. For
a specific device, all packets that match the Trace criteria from all trace-enabled inputs are routed to the same configured,
trace-enabled output port.
Note that the device supports configurations where the trace port and the output port referenced by a received packet are
defined to be the same port. In the case where there is a trace match and the packet’s destID references the output port
configured as the trace port, the packet will be forwarded only once regardless of the packet type.
CPS-1848 User Manual54June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 55
2. RapidIO Ports > Packet Trace and Filtering
2.9.1.3Trace Routing Features
Each S-RIO port supports two operation modes for the trace routing function:
In default mode, the trace enabled S-RIO p ort accepts RapidIO t raf fic (referenced by the received packet’s d estID field) as well
as traffic that matches the trace criteria of all po rts. T race-tri ggered packets are h andled by the tra ce-enabled output port in the
same way as it handles all other packets. Normal RapidIO priority and flow control rules apply.
2.9.1.3.2Optional Trace Routing Mode
In optional mode, only packets that have matched a port’s trace criteria are routed to the trace port. A received packet that
does not match the Trace Cr iter ia, but whose destID field references the trace enabled output port wi ll no t be forwa rde d to the
trace port. If this packet has a destID that references a multicast operation that incl udes th e trace port, th e packet is forwarded
to all ports except for the trace enabled port. A packet that does not match a port’ s trace criteria who se destID only ref erenc es
the trace port is handled as an error packet and is dropped. Trace-triggered packets are handled by the trace-enabled output
port in the same way as it handles all other packets. Normal RapidIO priority and flow control rules apply.
A user can configure the trace port into “trace only” mode, and at the same time configure the port’s route table to allow
packets to be routed to the trace port (including packets that do not match the trace criteria). With this configuration, packets
received by a port that are to be routed to the trace port (as defined by that port’s route table) will be dropped by the device if
they do not match the trace criteria. Packets in this scenario that match the trace criteria are forwarded.
2.9.1.3.3Maintenance Packets with Enabled Trace Ports
Type 8 packe ts are handled in the same way as all other packets for both Trace Routing Modes defined above. Type 8 packets
that are received at a trace-enabled input port that have a hop count of 0 are forwarded to the trace port if the trace criteria at
that port is met.
For Revision C, a Maintenance packet with a hop count greater than 0 is forwarded to the destination
port(s) with its hop count decremented by 1. The same packet (with its hop count de cremente d by 1) is
also forwarded to a trace port if trace criteria is matched.
For Revision A/B, a Maintenance packet with a hop count greater than 0 is forwarded to a trace port if
trace criteria is matched, however, its hop count remains unchanged. The same packet (with its hop
count now decremented by 1) is forwarded to the destination port(s).
2.9.1.3.4No Route Conditions
Packets that meet the trace criteria are routed to the trace port even if the packet destID reference in the port’s route table
indicates “no route”.
2.9.1.3.5Trace Function Dynamic Programmability
By offering dynamic programmability, each S-RIO port can modify trace function parameters without disabling the normal
operation of the port functionality. The dynamic programmability of the trace function allows the user to do the following
additional tasks:
• To enable/disable the trace function on an input port by input port basis
• To assign the trace function to any single output port
• To change the packet trace comparison values of any port. Note that the packet trace fu nctio n at the port must be disabled
to make this change
• To enable/disable any/all trace comparison values of any port
CPS-1848 User Manual55June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 56
2. RapidIO Ports > Packet Trace and Filtering
The user can change a comparison value or mask (same value) for all ports with a write to a single address. The device
provides an individual enable/disable fea ture fo r each comp ariso n value for each p ort (fou r values for each of t he 18 ports). To
change a comparison value the user must first disable the value for use as a comparison. The user can the n change the value
and then re-enable it. While this value is being changed, the port can receive normal traffic and will continue to trace on the
other three values (if enabled).
Note that to change the trace port definition, the trace function must be disabled globally (all values of all ports). Broadcast
trace enable/disable requires a write to only a single address.
2.9.1.3.6Alert on Trace Match
Each S-RIO port can generate and transmit a port-write maintenance packet when a received packet meets the Trace criteria
of any port. The ability to activate and dea ctivate t his function dyna mica lly i s provid ed on a per-po rt ba sis. If enab led, on ce the
device sends a port-write because of a trace match, it will temporarily disable sending port-writes on subsequent trace
matches until it receives a maintenance write command to re-enable the ab ility to do so. This functiona lity is accessible through
the Port {0..17} Trace Port-Write Reset Register. This is to prevent a flood of port-writes to the system-level maintenance
processor if a large number of packets is received that match the trace criter ia. Note that thi s disable on trace match es will not
affect the generation of port-writes for any other reason.
The STOP_EM bit of the Error Log Control 2 Register disables all IDT maintenance packet port-writes generated by the
device. This bit also applies to port-writes that are generated as a result of trace matches. Trace match based port-writes are
enabled via TRACE_PW_EN in the Port {0..17} Operations Register. Standard port-write packet generation is not affected by
this bit.
Each S-RIO port supports a set of counters that increment each time the port receives a packet that matches t he T race criteria.
Each S-RIO port supports a counter for each of the four comparison values. These counters are accessible in the same way
that all other device counters are made accessible. All trace counters are 32 bits.
Packets that are retried or stomped may still match the trace and/or filter criteria. The associated trace
and filter counters will increment for retried or stomped packets. To limit this impact, use
transmitter-controlled flow control (see Transmitter- and Receiver-Controlled Flow Control
Programming Model).
If a packet can match multiple trace S-RIO ports, only the counter(s) that are associated with the first
completed match or matches are incremented. A match is completed when the remainder of a packet is
compared against zero values in the Port x Trace y Mask z Registers. If multiple matches complete at
the same time, only those counters will increment.
2.9.1.3.7Flow Control with Trace Enabled
Each S-RIO port supports S-RIO-defined receiver- and transmitter-controlled flow control when Trace is enabled. If buffer
contention exists at the trace port such that packets which referen ce the trace po rt cannot be received, then the packe t will not
be received into the switch Input Buffer and an appropriate request for retransmission of the packet is transmitted to the link
partner.
2.9.1.3.8Errored Packets
Each S-RIO port does not support packet trace for packets th at are not ackno wledge d or a re retr ied a t the physical la yer, such
as packets with CRC errors and packets that are longer than 276 bytes. Each port supports trace for packets with logical errors
(for example, invalid type, or Maintenance packets that are longer than 20 words) as long as they match the trace criteria.
Trace matching continues, however, regardless of the port’s error state.
CPS-1848 User Manual56June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 57
2. RapidIO Ports > Packet Generation and Capture
2.9.1.3.9Trace Configuration
The Trace function is enabled globally at the device level for all S-RIO ports by setting TRACE_EN to 1 in the Device Control 1
Register. When broadcast trace is enabled the Trace Output Port (TRACE_OUT_PORT) defined in the Device Control 1
Register is enabled. This register also controls the mod e of the Trace Output Port (TRACE_OUT_PORT _MODE), as default or
trace only.
Each S-RIO port supports an enable of each of its four trace criteria values, TRACE_n_EN, in its respective Port {0..17}
Operations Register. This is independent such that a match on any specific value does not depend on a match of any other
value. The Port {0..17} Operations Register also controls whether o r not a packet th at matches a port’s trace criteria will cause
the device to generate a port-write packet.
2.9.1.3.10Cut-Through Forward with Trace
Each S-RIO port supports Cut-Through forwarding when Trace is enabled if configured to do so.
2.9.2Packet Filtering
Along with the ability to trace packets using comparisons against up to four comparison values, each S-RIO port can filter
packets based on comparisons against these same values. If this packet filtering is enabled, a successful comparison of the
first 160 bits in a received packet to a port’s pre-programmed values will cause the device to drop or “filter” the packet. A
successful comparison also prevents an S-RIO port from “accepting/processing” a maintenance packet (if a maintenance
packet that met the filter criteria had a hop count of 0).
Each S-RIO port can filter packets to be enabled/disabled for each unique comparison value at that port.
Each S-RIO port can enable/disable packet trace and packet filtering simultaneously for each unique comparison value. If both
packet filtering and packet trace are enabled and a match occurs betwee n a received pa cket and a comparison value, then the
packet will be dropped but will also be traced to the specified trace port. If packet filtering is enabled but trace is not, then the
packet is filtered and not traced to the specified trace port.
The device provides a counter at each port for each comparison value which provides a continuous count of the number of
packets that were filtered at each port as a result of a successful match against each comparison value.
Packets that are retried or stomped may still match the trace and/or filter criteria. The associated trace
and filter counters will increment for retried or stomped packets. To limit this impact, use
transmitter-controlled flow control (see Transmitter- and Receiver-Controlled Flow Control
Programming Model).
2.10Packet Generation and Capture
The CPS-1848 supports a special test mode called Packet Generation and Capture (PGC) that enables initial system debug
and integration. PGC mode allows users to generate one or more packets, route those packets through the switch to a
connected device, and to capture up to 25 response packets recei ved for that request. This mode can issue maintenance read
and write packets to verify connectivity to other endpoi nts and switches in a system before software is available. It can also test
a system’s reaction to incorrectly formed request or response packets.
PGC mode is normally controlled using debug tools connected directly to the CPS-1848’s I2C or JTAG interfaces when no
other control entity exists in the system. It is also possible to use PGC mode during the normal operation of a system.
PGC mode requires the resources of two RapidIO ports on the device . These po rts cannot be used for
any other purpose when PGC mode is active.
CPS-1848 User Manual57June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 58
2. RapidIO Ports > Packet Generation and Capture
Link
Partner
IDT Switch
Start PortEnd Port
FBFB
2.10.1Packet Generation and Capture Mode Overview
PGC mode requires two spare ports: a Start Port and an End Port. A request packet is composed in the Final Bu ffer (FB) of the
Start Port, and then sent. The request packet can be transmitted directly to the desired link partner, or looped back through a
cable external to the SerDes lane(s) allocated to the Start Port. Packets received in the Input Buffer on the Start Port are
routed according to the routing table settings for that port. If a response packet is expected, the response packet can be routed
to the End Port, where the response packet is captured in the Final Buffer. The response packet can then be read out.
The Start Port and End Port must be in a PORT_OK status co ndition in ord er for packet generation a nd
capture to operate. PORT_OK status can be achieved by connecting to a link partner or by connecting
the port’s TX lanes to its RX lanes.
There are two scenarios for the use of PGC mode. The first sends a packet directly to the link partner connected to the Start
Port, as displayed in Figure10. The response is received by the Start Port, and routed to the End Port.
Figure 10: System Connectivity Test in PGC Mode – Transmitted Directly to Link Partner
In the second scenario, the Start Port is put into loopback mode so that the packet can be sent to any other switch port, as
displayed in Figure11 (see also Port Loopback Mode). The response packet from the link partner is then routed to the End
Port.
CPS-1848 User Manual58June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 59
2. RapidIO Ports > Packet Generation and Capture
Link
Partner
IDT Switch
Start Port
End Port
SerDes
FB
FB
Test Port
FB
Figure 11: System Testing using PGC Mode – Cabled Loopback through SerDes
2.10.2Packet Generation and Capture Mode Programming Model
The following example describes how to use PGC mode to perform a system connectivity test with a link partner. A single
maintenance read packet is sent to the link partner from port 3, and the maintenance read response packet is read out of
port 4. The destID for the link partner is 0xAA, and the destID for the response is 0xBB.
The Start Port and End Port must be in a PORT_OK status co ndition in ord er for packet generation a nd
capture to operate. PORT_OK status can be achieved by connecting to a link partner or by connecting
the port’s TX lanes to its RX lanes.
Ta ble 13: PGC Mode Example – Connectivity T e st
StepRegisterOffsetValueDescription
1. Configure routingPort {0..17} Device
Route Table
Register {0..255}
2. Configure PGC modeDevice Control 1
Register
Port {0..17} Packet
Generation and
Capture Mode
Configuration
Register
Port {0..17} Packet
Generation and
Capture Mode
Configuration
Register
0xE132EC0x00000004Route destID 0xBB to End port 4.
0xF2000C0x1XXXXXXXSet PGC Mode Enable bit.
0x1001400x00002004Configure port 4 as the End port.
The End port will capture packets for
priority 1 packets with the CRF bit set.
0x1001300x00001001Configure port 3 as the Start port.
The Start port will send packets as if they
were priority 0 with the CRF bit set.
CPS-1848 User Manual59June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 60
2. RapidIO Ports > Packet Generation and Capture
Ta ble 13: PGC Mode Example – Connectivity T e st (Continued)
StepRegisterOffsetValueDescription
3. Write maintenance
read packet into Start port
buffer
Port {0..17} Packet
Generation and
Capture Mode Data
0x1001340x0008AABBBytes 0–3 of Maintenance Read.
Register
-0x1001300x00005401Enable write access to Final Buffer, and
set SOP for first data of maintenance
packet at priority 0.
-0x1001340x08000100Bytes 4–7 of Maintenance Read
-0x1001300x00005001Clear SOP for remaining data writes
-0x1001340x00001DFEBytes 8–11 of Maintenance Read
-0x1001300x00005801Set EOP for last data write
0x00001000Clear EOP, and disable write access to
Final Buffer
4. Transfer packets-0x1001300x00011000Start packet transfer
-0x100140ReadCheck that RX_DONE bit (0x00008000) is
set before continuing.
Note: 0x00006004 must be written to offset
0x100140 before each read from offset
0x100144.
CPS-1848 User Manual60June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 61
2. RapidIO Ports > Packet Generation and Capture
Ta ble 13: PGC Mode Example – Connectivity T e st (Continued)
StepRegisterOffsetValueDescription
5. Read out maintenance
read response
Port {0..17} Packet
Generation and
Capture Mode
Configuration
Register
Port {0..17} Packet
Generation and
Capture Mode Data
Register
-0x100140ReadCheck that SOP bit is set.
-0x100144Read
-0x100140ReadCheck that SOP and EOP bits are 0.
-0x100144Read
0x1001400x00006004Enable read access to final buffer priority 1
queue.
0x100144Read
Bytes 0–3 of Maintenance Read Response
0x0048BBAA
0x00006004Enable read access to final buffer priority 1
queue.
Bytes 4–7 of Maintenance Read Response
0x2000FE00
0x1001400x00006004Enable read access to final buffer priority 1
queue.
Bytes 8–11 of Maintenance Read
0x0000XXXX
Response, where XXXX is the most
significant 2 bytes of the link partners
Device Identity CAR
-0x100140ReadCheck that SOP and EOP bits are 0.
0x00006004Enable read access to final buffer priority 1
queue.
-0x100144Read
0xXXXX0000
Bytes 12–15 of Maintenance Read
Response, where XXXX is the least
significant 2 bytes of the link partners
Device Identity CAR.
-0x100140ReadCheck that SOP and EOP bits are 0.
0x00006004Enable read access to final buffer priority 1
queue.
-0x100144Read
0x0000XXXX
Bytes 16–19 of Maintenance Read
Response, where XXXX is the CRC for the
response packet.
-0x100140ReadCheck that SOP is 0, and EOP bit is 1.
0x00006004Enable read access to final buffer priority 1
queue.
CPS-1848 User Manual61June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 62
2. RapidIO Ports > Packet Transfer Validat ion and Debug
The Start Port can revert to normal operation without resetting the CPS-1848. The End Port, however,
cannot revert to normal operation until a software or hardware device reset. The End Port can receive
only the first 25 packets.
2.11Packet Transfer Validation and Debug
2.11.1Overview
The performance counter registers that are described in the following sections should be the first tool to use when validating
and debugging the transfer of packets.
Except for the counters captured below, all other counters are “informational only” and should not be
relied on to be completely accurate or consistent.
2.11.1.1Receive Port Counters
For a stream of receive packets, assuming Packet Accepted has been sent for all received packets, no new packets have bee n
received, and no error recovery has occurred, the following relationship exists:
• Port {0..17} VC0 Acknowledgements Transmitted Counter Register = Port {0..17} VC0 Received Pa ckets Drop ped Co unter
Register + Port {0..17} VC0 Packets Received Counter Register
• Port {0..17} VC0 Packets Received Counter Register – Increments when EOP is de tected, and the packet is not retri ed, not
dropped due to no-route, and not invalid (bad TTYPE, maintenance packet too long).
• Port {0..17} VC0 Received Packets Dropped Counter Register – Increments when a packet is dropped due to no-route
and/or invalid TT field is detected.
• Port {0..17} VC0 Acknowledgements Transmitted Counter Register – Increments when packet-accepted CS is sent.
• Port {0..17} Not Acknowledgements Transmitted Counter Register – Increments when packet-not-accepted CS is sent. No
relation to other counters (NACK’d packets are not counted as received or dropped).
• Port {0..17} VC0 Retry Symbols Transmitted Counter Register – Increments when a retry CS is sent. No relation to other
counters (retried packets are not counted as received nor dropped).
2.11.1.2Transmit Port Counters
For a stream of transmit packets, assuming all outstand ing packet ackn owledgme nts (PA, NACK, RTRY) have been received,
and no error recovery occurs, the following relationship exists:
• Port {0..17} VC0 Packets Transmitted Counter Register = Port {0..17} VC0 Acknowl edg ement s Recei ve d Coun ter Reg ister
+ Port {0..17} Not Acknowledgements Received Counter Registe r + Port {0..17} VC0 Retry Symbols Received Counter
Register.
• Port {0..17} VC0 Packets Transmitted Counter Register – Increments when a packet is transmitted all the way to EOP,
including retransmissions.
• Port {0..17} VC0 Acknowledgements Received Counter Register – Increments when a packet-accepted CS is received.
• Port {0..17} Not Acknowledgements Received Counter Register – Increments when a packet-not-accepted CS, with cause
other than “lack of resources,” is received.
• Port {0..17} VC0 Retry Symbols Received Counter Register – Increments when a retry CS, packet-not-accepted CS with
cause “lack of resources,” is received.
CPS-1848 User Manual62June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 63
2. RapidIO Ports > Packet Transfer Validat ion and Debug
2.11.2Successful Packet Transfer
The registers in Table 14 are useful for confirming successful packet transfer . The se registers should be checked fo r the switch
path used by each pair of endpoints, in both directions.
Table 14: Success Case Packet Transfer Counters
Packet Counter RegisterDescriptionImplication
Port {0..17} VC0 Acknowledgements
Transmitted Counter Register
Port {0..17} VC0 Packets Received
Counter Register
Port {0..17} VC0 Switch Crosspoint
Buffer Output Packet Counter Register
Port {0..17} VC0 Acknowledgements
Received Counter Register
Port {0..17} VC0 Packets Transmitted
Counter Register
This counter indicates the number of packets
that the switch port successfully received from
the link partner.
This counter indicates the number of packets
that the switch saw the link partner attempt to
send.
This counter indicates the number of
successfully received packets that are
transferred through the fabric to this port.
This counter indicates the number of packets
that the switch port successfully sent to the
link partner.
This counter indicates the number of packets
that the switch port attempted to send to the
link partner.
If this number is unexpectedly 0, see Switch
Cannot Accept Packets.
If this counter is not the same as the Port
{0..17} VC0 Acknowledgements Transmitted
Counter Register, there may be retries and/or
error conditions on the link.
If Port {0..17} VC0 Acknowledgements
Transmitted Counter Register is not 0 on the
port that should be receiving packets, and this
counter is 0 on the port that should be
transmitting the packets, this indicates a
routing configuration issue.
If this counter is 0, there may be a
configuration issue on the switch or on the lin k
partner.
If this counter is not the same as the Port
{0..17} VC0 Acknowledgements Received
Counter Register, there may be retries and/or
error conditions on the link.
2.11.3Switch Cannot Accept Packets
The performance counters in Table 15 can be used as a first step in debugging why a switch port cannot accept packets.
Port {0..17} Not Acknowledgements
Transmitted Counter Register
Port {0..17} VC0 Retry Symbols
Transmitted Counter Register
This counter indicates the number of packets
that the switch port acknowledged with a
Packet Not Accepted control symbol.
This counter indicates the number of packets
that the switch port acknowledged with a Retry
control symbol.
If this counter is not 0, the switch has a
configuration or status that prevents packet
acceptance (see Table 16).
If this counter is not 0, the switch is configu red
to accept packets but is congested. This may
indicate that there is a bandwidth mismatch in
the system. It may also indicate that the switch
is unable to send packets to the destination
(for more information, see Switch Cannot
Transmit Packets).
CPS-1848 User Manual63June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 64
2. RapidIO Ports > Packet Transfer Validat ion and Debug
Port {0..17} Filter Match Counter Value
0 Register through Port {0..17} Filter
Match Counter Value 3 Register
Port {0..17} VC0 Received Packets
Dropped Counter Register
This counter indicates the number of received
packets that the switch filtering mechanism
has dropped.
This counter indicates the number of packets
dropped by the receive port.
Packets are being dropped because they are
filtered. Check that the correct packets are
being filtered.
Packets are being dropped due to error status,
routing configuration, or other configuration
issues.
The configuration and status values for the port that are relevant to packet reception are listed in Table 16.
Ta ble 16: Configuration and Status Values to Check – Switch Cannot Accept Packets
Packet Counter RegisterBit FieldDebug Notes
Port {0..17} Error and Status CSRPORT_OKIf this bit is set to 0, the link is not connected to
the link partner. For more information, see the
Debugging IDT S-RIO Gen2 Switches Using
RapidFET JTAG.
PORT_ERRIf this bit is set to 1, the standard hardware
error recovery has failed. For more
information, see HS-LP Controlled Recovery.
INPUT_ERR_STOPIf this bit is set to 1, the switch input port has
detected an error and error recovery is not
complete. Check that the Port Link Timeout
Control CSR has been initialized according to
the guidelines in Initialization.
Port {0..17} Control 1 CSRPORT_DISThis bit must be cleared to allow the port to
train.
INPUT_PORT_ENThis bit must be set to allow the port to accept
non-maintenance packets.
PORT_LOCKOUTThis bit must be cleared to allow the port to
accept packets.
Port {0..17} Implementation Specific
Error Detect Register
RTE_ISSUEPacket received that is dropped according to
the conditions for this event. For more
information, see the description of this bit field.
RX_DROPReception of non-maintenance packets has
been disabled (see INPUT_PORT_EN).
CPS-1848 User Manual64June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 65
2. RapidIO Ports > Packet Transfer Validat ion and Debug
2.11.4Switch Is Not Routing Packets Correctly
If some packets are routed correctly, and some are dropped, check for the isolation events described in Event Isolation. To
ensure that routing tables are being programmed as expected, check the registers in Table 17.
Table 17: Packet Counters and Configuration Issues – Switch Is Not Routing Packets Correctly
Packet Counter RegisterDescriptionImplication
Route Port Select RegisterThis register determines which port the
Standard Route Table Entries Configuration
destID Select CSR and Standard Route Table
Entry Configuration Port Select CSR are
applied to.
Multicast Route Select RegisterThis register determines which port the
Multicast Mask Port CSR, Multicast
Association Selection CSR and Multicast
Association Operations CSR are applied to.
entry, and determines which 16-bit device IDs
are routed using the Device routing table.
Port {0..17} Operations RegisterThe SELF_MCAST_EN bit causes multicast
packets to be sent back to the port they were
received on, if that port is part of the multicast
mask.
For Revision A/B, if maintenance packets are not routed correctly, enable all events in the Logical/Transport Layer Error
Enable CSR and check that no events are seen in the Logical/Transport Layer Error Detect CSR. Debug the cause of any
events seen.
If this register is set incorrectly, routing table
changes using the standard registers will be
applied to the incorrect port (for more
information, see Packet Routing).
If this register is set incorrectly, multicast
routing changes using the standard registers
will be applied to the incorrect port (for more
information, see Packet Routing).
If this register is set incorrectly, packets with
16-bit device IDs may be unexpectedly routed
using the Device routing table (for more
information, see Packet Routing).
If SELF_MCAST_EN is set incorrectly,
multicast packets may be unexpectedl y
received by the device that originated them
(for more information, see Packet Routing).
For Revision C, if maintenance packets with a hop count equal to 0 are not routed correctly, enable all events in the
Logical/Transport Layer Error Ena ble CSR and check that no e vents are seen in the Logical/ Tra nsport Layer Error Detect CS R.
Debug the cause of any events seen.
If trace functionality is active on any port, packets may be sent to the trace port unexpectedly. To determine where traced
packets will be sent, and whether non-traced traffic may be sent on the trace port, check the TRACE_OUT_PORT_MODE,
TRACE_OUT_PORT, and TRACE_EN fields in the Device Control 1 Register. To determine which ports have trace
functionality enabled and what packets will be traced, check the TRACE_x_EN bits in the Port {0..17} Operations Register.
If filter functionality is active on any port, packets may be dropped unexpectedly. To determine which ports have filter
functionality enabled, and which packets will be dropped, check th e FILTER_x_EN bits in the Port {0..17} Operations Register.
If the registers in Table 17 are set correctly, then each route must be verified individually (for more information, see Packet
Routing).
CPS-1848 User Manual65June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 66
2. RapidIO Ports > Packet Transfer Validat ion and Debug
2.11.5Switch Cannot Transmit Packets
The performance counters in Table 18 can be used as a first step in debugging possible configuration or status issues that
prevent successful transmission of packets.
Port {0..17} Not Acknowledgements
Received Counter Register
Port {0..17} VC0 Retry Symbols
Received Counter Register
Port {0..17} VC0 Transmitted Packets
Dropped Counter Register
Port {0..17} VC0 TTL Packets Dropped
Counter Register
Port {0..17} VC0 CRC Limit Packets
Dropped Counter Register
This counter indicates the number of packets
that the link partner negatively acknowledged.
This counter indicates the number of packets
that the link partner acknowledged with a
Retry.
This counter indicates the number of packets
dropped by the switch port’s transmit logic.
This counter indicates the number of packets
dropped due to exceeding the Time To Live
(TTL) period.
This counter indicates the number of packets
dropped due to exceeding the number of
consecutive Packet-Not-Accepted responses.
If this counter is not 0, the switch is sending
packets to the link partner. The link partner is
rejecting the packets. Debug the link partner
configuration and status.
The link partner is configured to accept
packets, but is congested. Debug the link
partner’s ability to accept packets.
Packets are being dropped due to errors or
configuration issues (see Table 19).
The TTL period is too short to allow pa ckets to
be sent successfully. Disable the TTL function
or increase the time to live period (see Packet
Time to Live CSR and Computing Timeout
Values).
The Port {0..17} Operations
Register[CRC_RETX_LIMIT] value is set too
low.
Alternatively, error detection has been
suppressed on the switch input port, and a
corrupted packet has been forwarded through
the switch to a link partner with error detection
enabled. Check Port {0..17} Control 1
CSR[ERR_CHK_DIS] on all input ports.
CPS-1848 User Manual66June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 67
2. RapidIO Ports > Packet Transfer Validat ion and Debug
The configuration and status values for the port that are relevant to packet transmission are listed in Table 19.
Ta ble 19: Configuration and Status Values to Check – Switch Cann ot Transmit Packets
Packet Counter RegisterBit FieldDebug Notes
Port {0..17} Error and Status CSRPORT_OKIf this bit is 0, the link is not connected to the
link partner. For more information, see the
Debugging IDT S-RIO Gen2 Switches Using
RapidFET JTAG Application Note, available
from www.idt.com.
PORT_ERRThe standard hardware error recovery has
failed. Packets will not be transmitted until this
state is cleared. The switch may be configured
to drop packets in this state. For information
on recovery, see HS-LP Controlled Recovery.
OUTPUT_ERR_STOPIf this bit is set to 1, t he swit ch out put port has
detected an error, and error recovery is not
complete. Packets will not be transmitted until
OUTPUT_ERR_STOP has been cleared.
Check that the Port Link Timeout Control CSR
has been initialized according to the
guidelines in Computing Timeout Values.
Check that the link partner configuration and
status will allow it to complete error recovery
and accept packets.
OUTPUT_DROPIf this bit is set to 1, the port has dropped at
least one packet.
OUTPUT_FAILIf this bit is set to 1, the port has detected a
failure condition, and may be configured to
halt packet transmission and/or to drop
packets (for more information, see Physical
Layer Events).
Port {0..17} Control 1 CSRPORT_DISThis bit must be cleared to allow the port to
train.
OUTPUT_PORT_ENThis bit must be set to allow the port to
transmit non-maintenance packets.
For Revision C of the CPS-1848, the reset
value for this bit is 1; for Revision A/B, the
reset value is 0.
PORT_LOCKOUTThis bit must be cleared to transmit any
packets.
Port {0..17} Implementation Specific
Error Detect Register
TX_DROPPacket transmission has been disabled (see
OUTPUT_PORT_EN in Port {0..17} Control 1
CSR).
CPS-1848 User Manual67June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 68
2. RapidIO Ports > Packet Transfer Validat ion and Debug
2.11.6Requesting Debug Assistance
If you are unable to resolve issues in your system using the in formation in this document, please contact IDT RapidIO support.
As part of the request, please submit the following register values for all ports on the device. This is the first step in resolving
the issue.
1. Port {0..17} Error and Status CSR
2. Port {0..17} Control 1 CSR
3. Port {0..17} Error Detect CSR
4. Port {0..17} Implementation Specific Error Detect Register
CPS-1848 User Manual68June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 69
3. RapidIO Lanes
SerDes RXSerDes TXPLL
10B 8B
Descrambler
8B 10B
Scrambler
P
R
B
S
Lane to Port Connection
Lanes
Ports
Lanes
Ports
Lanes
Ports
Lanes
Switch
Fabric
Registers
I2CJTAG
Ports
Quadrant
Quadrant
Quadrant
Quadrant
S-RIO Lane Block
The CPS-1848 S-RIO lane blocks include the Serializer/Deserializer (SerDes), as well as the logic to convert between the
SerDes interface and the port interface.
Topics discussed include the following:
• Lane to Port Mapping
• Lane and Port Speeds
• Lane, PLL, and Port Power-Down
• Port and Lane Initialization Sequence
• Loopback Capabilities
• Bit Error Rate Testing
Figure 12 shows a block diagram of an S-RIO Lane Block. The key components of this lane diagram are discussed throughout
the chapter.
Figure 12: S-RIO Lane Block Diagram
CPS-1848 User Manual69June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 70
3. RapidIO Lanes > Lane to Port Mapping
3.1Lane to Port Mapping
As displayed in Table 20, each S-RIO port can be comprised of one, two, or four lanes (this is called port width) . Afte r a de vice
reset, the CPS-1848’s port width settings and lane to port mapping are configu red ba se d on the setting of the QCFG[7:0 ] pin s
(for more information, see the CPS-1848 Datasheet).
Software can also control the device’s po rt width se ttings and l ane to port mapping using the Quadrant Configuration Register.
Table 20 shows the supported mapping of lanes to ports for each CPS-1848 quadrant based on the value of the QUADx_CFG
field in the Quadrant Configuration Register.
Table 20: Lane to Port Mapping
QUADx_CFG /
2
QCFG
SettingPLLPort Width
0004x00–3
0102x00–1
1002x00–1
1
Mapping
PortLane(s)
Quadrant 0 / QCFG[1:0]
44x416–19
84x832–35
--12, 16 (Unused)-
02x122–3
44x416–19
84x832–35
--16 (Unused)-
02x122–3
44x416–19
82x832–33
82x1634–35
1102x00–1
01x122
01x163
44x416–19
84x832–35
CPS-1848 User Manual70June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 71
3. RapidIO Lanes > Lane to Port Mapping
1
Table 20: Lane to Port Mapping
(Continued)
QUADx_CFG /
2
QCFG
SettingPLLPort Width
0014x14–7
54x520–23
94x936–39
--13, 17 (Unused)-
0112x14–5
12x136–7
54x520–23
94x936–39
--17 (Unused)-
Mapping
PortLane(s)
Quadrant 1 / QCFG[3:2]
1012x14–5
12x136–7
54x520–23
92x936–37
92x1738–39
1112x14–5
11x136
11x177
54x520–23
94x936–39
Quadrant 2 / QCFG[5:4]
0024x28–11
64x624–27
104x1040–43
--14 (Unused)-
0122x28–9
22x1410–11
64x624–27
104x1040–43
CPS-1848 User Manual71June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 72
3. RapidIO Lanes > Lane to Port Mapping
1
Table 20: Lane to Port Mapping
(Continued)
QUADx_CFG /
2
QCFG
SettingPLLPort Width
10-Undefined-11-Undefined--
0034x312–15
74x728–31
114x1144–47
--15 (Unused)-
0132x312–13
32x1514–15
74x728–31
Mapping
PortLane(s)
Quadrant 3 / QCFG[7:6]
114x1144–47
10-Undefined-11-Undefined--
1. After a configuration change is made using Quadrant Configuration Register, IDT recommends resetting each port as
described in Table6.
2. After a device reset, the value of QCFG[7:0] determines the CPS-1848’s quadrant configurations. Software can also control
the quadrant configurations based on the value of QUADx_CFG in the Quadrant Configuration Register.
The least significant lane number represents the lowest lane of the port. For example, for lanes 4–7,
lane 4 is the lowest lane of the port and lane 7 is the highest lane of the port.
A port can operate with fewer lanes than the number assigned to it using the PWIDTH_OVRD fie ld of the Port {0.. 17} Control 1
CSR. Examples of the use of this field are displayed in Table 21.
Table 21: PWIDTH_OVRD Examples
Maximum
Port Width
Desired
Port Width
PORT_WIDTH_
OVRD
Description
4x2x0b101Use only the two lowest numbered lanes assigned to the port.
4x1x0b010Use only the lowest numbered lane assigned to the port.
2x1x0b010Use only the lowest numbered lane assigned to the port.
Changing the width of a port causes the port to reinitialize. For more informatio n on the port initialization
process, see Port and Lane Initialization Sequence.
CPS-1848 User Manual72June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 73
3. RapidIO Lanes > Lane and Port Speeds
3.2Lane and Port Speeds
Each S-RIO port can support all lane rates. CPS-1848 ports that are connected to the same group of four lanes have
restrictions on their possible lane rates. Ports can operate in either of two lane-speed groups:
1. 6.25 Gbaud, 3.125 Gbaud
2. 5.0 Gbaud, 2.5 Gbaud, 1.25 Gbaud
Each SerDes has a single PLL. The PLL can be configured to operate at 2.5 GHz, supporting the
5.0/2.5/1.25 Gbaud lane speed groups, or at 3.125 GHz, supporting the 6.25/3.125 Gbaud speed
group. Each lane can be configured to support a multiple of the base PLL frequency.
A port’s speed is controlled through changing the speed of the lanes connected to the port. The speed s available are controlled
through the following registers and fields:
• PLL_DIV_SEL field of the PLL {0..11} Control 1 Register (selection of lane-speed group)
• TX_RATE and RX_RATE fields in the Lane {0..47} Control Register (lane rate from a lane-speed group)
IDT recommends that S-RIO ports be disabled before changing any lane speeds. Ports can be disabled
by setting PORT_DIS to 1 in Port {0..17} Control 1 CSR. Ports can be enabled after all lane speeds
have been configured by setting PORT_DIS set to 0.
Changing the configuration of a PLL affects all ports and lanes associated with that PLL. All ports and
lanes associated with a PLL require a port reset, as described in Table 6.
3.2.1Lane Speed Change Examples
When changing port speeds from 1.25 Gbaud to 3.125 or 6.25 Gbaud, change RX_RATE and
TX_RATE in the Lane {0..47} Control Register before changing PLL_DIV_SEL in the PLL {0..11}
Control 1 Register.
When changing port speeds from 3.125 or 6.25 Gbaud to 1.25 Gbaud, change PLL_DIV_SEL in the
PLL {0..11} Control 1 Register before changing RX_RATE and TX_RATE in the Lane {0..47} Control
Register.
This first example assumes that Quadrant 0 of the CPS-1848 uses a configuration value o f 0b01 (see Table 20). This connects
port 0 to lanes 0 and 1, and port 12 to lanes 2 and 3. Assume that port 0 and 12 are currently operating at a lane rate of
5 Gbaud. In addition, assume that port 0 should operate at 6 .25Gbaud, and port 12 should operate at 3.125Gbaud. Changing
the PLL selected for the SerDes affects both ports and requires a per-port reset of both ports. The register accesses listed in
Table 22 are required to reconfigure the lane speeds of the ports.
Table 22: Changing Lane Speed Group on Ports 0 and 12 – Example 1
StepOffsetMask and ValueDescription
Change PLL selection0xFF0000
PLL {0..11} Control 1
Register
0x00000001Select 6.25/3.125 Speed Group by setting the
PLL_DIV_SEL bit.
CPS-1848 User Manual73June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 74
3. RapidIO Lanes > Lane and Port Speeds
Table 22: Changing Lane Speed Group on Ports 0 and 12 – Example 1 (Continued)
StepOffsetMask and ValueDescription
Select 6.25 Gbaud lane
rate for lanes 0 and 1
(Port 0)
0xFF8000
Lane {0..47} Control
Register
0xFF8100
Lane {0..47} Control
0xXXXXX14Set TX_RATE and RX_RATE fields to 0b10.
Set LANE_DIS field to 0.
0xXXXXX14Set TX_RATE and RX_RATE fields to 0b10.
Set LANE_DIS field to 0.
Register
Select 3.125 Gbaud
lane rate for lanes 2
and 3 (Port 12)
0xFF8200
Lane {0..47} Control
Register
0xFF8300
Lane {0..47} Control
0xXXXXX0ASet TX_RATE and RX_RATE fields to 0b01.
Set LANE_DIS field to 0.
0xXXXXX0ASet TX_RATE and RX_RATE fields to 0b01.
Set LANE_DIS field to 0.
Register
Reset the ports to allow
the PLL and lane rate
changes to take effect
0xF20300
Device Reset and
Control Register
0x80041001Reset PLL 0 along with ports 0 and 12.
In the second example assume that the lane speed of port 5, whi ch is connecte d to lan es 20 to 23 i n quadra nt 1, must chang e
from 2.5 Gbaud to 5 Gbaud operation. Port 5 does not need to be reset in this case because the lane rate is in the same lane
speed group. The register operations required to perform this change are displayed in Table 23.
Table 23: Changing Lane Speed on Port 5 – Example 2
StepOffsetMask and ValueDescription
Select 5 Gbaud lane
rate for lanes 20, 21, 22
and 23
0xFF9400
Lane {0..47} Control
Register
0xFF9500
Lane {0..47} Control
Register
0xFF9600
Lane {0..47} Control
Register
0xFF9700
Lane {0..47} Control
Register
0xXXXXX14Set TX_RATE and RX_RATE fields to 0b10.
Set LANE_DIS field to 0.
0xXXXXX14Set TX_RATE and RX_RATE fields to 0b10.
Set LANE_DIS field to 0.
0xXXXXX14Set TX_RATE and RX_RATE fields to 0b01.
Set LANE_DIS field to 0.
0xXXXXX14Set TX_RATE and RX_RATE fields to 0b01.
Set LANE_DIS field to 0.
CPS-1848 User Manual74June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 75
3. RapidIO Lanes > Lane, PLL, and Port Power-Down
3.3Lane, PLL, and Port Power-Down
Systems operate more efficiently if they can save the power consumed by unused lanes, PLLs, and ports. The CPS-1848
allows software to manually or automatically turn off these resources when not required, as described below:
• Lane power-down – To disable an unused lane, set LANE_DIS to 1 in the Lane {0..47} Control Register.
• PLL power-down – If all lanes associated with a PLL are disabled, additional power savings can be realized by powering
down the PLL. To power down a PLL, set the PLL_PWR_DWN bit to 1 in the PLL {0..11} Control 1 Register.
• Port power-down – If a port does not have any lanes connected to it, the port is automatically powered down.
3.4Port and Lane Initialization Sequence
The CPS-1848’s S-RIO ports support a RapidIO standa rd, multi -step initiali zatio n process. For more informa tion, see Part 6 of
the RapidIO Specification (Rev. 2.1). Port and lane initialization follows these steps:
1. Achieve lane synchronization. When lane synchronization is achieved, valid 10-bit code groups are received reliably.
— The number of valid code groups that must be received error-free before deciding that lane synchronization has been
achieved is controlled through VMIN in the Port {0..17} Lane Synchronization Register.
2. IDLE sequence negotiation. The CPS-1848 attempts to use the RapidIO Gen2 IDLE2 sequence for all lane speeds. If the
CPS-1848 detects that the link partner is using the RapidIO Gen1 IDLE1 sequence, it selects the IDLE1 sequence.
— The IDLE sequence selected is located in the IDLE_SEQ bit of the Port {0..17} Error and Status CSR.
It is not possible to disable the use of the IDLE2 sequence for 6.25 Gbaud lane rat es. For lane rates of
less than 6.25 Gbaud, IDLE2 sequence can be disabled by cle aring ID LE2_EN in the Port {0..17} Error
and Status CSR.
The IDLE2 sequence must be used for 6.25 Gbaud lane rates.
3. If the IDLE2 sequence is active, the CPS-1848 performs the following:
— Lane polarity inversion detection and correction. To simplify board layouts, the CPS-1848 can automatically detect an d
correct when the positive and negative traces of a dif ferentia l pair for a la ne are inverted. Lane inversion st atus for each
lane is located in the Lane {0..47} Status 0 CSR.RX_INVERT bit.
— Lane reversal detection and correction: the CPS-1848 can automatically detect and correct if the lanes on a multilane
port are connected in reverse order. This can simplify board layouts. Lane reversal status for each CPS-1848 port is
located in Port {0..17} Implementation Specific Error Detect Register.REORDER.
RapidIO Gen1 devices support the IDLE1 sequence only. It is not possible to reverse the lane ordering
of a port when the IDLE1 sequence is used; therefore, the link partner’s lanes must be connected in the
correct order.
The use of lane reversal is not recommended for links that support hot swap, or that are expected to
successfully downgrade if there is a hardware error.
4. Whether IDLE1 or IDLE2 is selected, multilane ports attempt to align the dif ferent lanes to ensure that striped data is correctly
decoded. When IDLE2 is active, this step occurs once lane polarity and lane reversal have been resol ve d. La ne al ign ment
occurs simultaneously with transmitter emphasis/receiver equalization op timization . Note th at this step is not ne cessary for
ports constrained to operate as single lane (1x) ports.
5. The widest supported port operating width will be selected once all steps have completed. The maximum time allowed for
IDLE sequence negotiation, IDLE2 sequence optimization, and lane alignment (if necessary) is 32 milliseconds. The
operating width of the port is located in the Port {0..17} Control 1 CSR.INIT_PWIDTH field.
6. Status control symbols are transmitted and received to ensure that control symbols can be exchanged correctly on the po rt.
CPS-1848 User Manual75June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 76
3. RapidIO Lanes > Port and Lane Initialization Sequence
Transmitter Pre- and
Post- Emphasis
Settings
Receiver DFE Tap
Adjustments
Tx Link PartnerRx Link Partner
IDLE2 Comands for Pre- and
Post-Emphasis Adjustment
IDLE2 Command Acknowledgements
7. The link-level flow control mode (transmitter or receiver controlled) is negotiated as part of the exchange of status control
symbols. The CPS-1848 always attempts to use transmitter-controlled flow control, and reverts to receiver-controlled flow
control if the link partner does not support the transmitter method.
— To disable the use of transmitter-controlled flow control on a port, set the Port {0..17} Operations
Register.TX_FLOW_CTL_DIS bit.
— The flow control mode that is currently selected is indicated in Port {0..17} Status and Control Register.RX_FC.
8. Once at least seven consecutive status control symbols have been received, and at least 15 have been transmitted, the port
asserts the PORT_OK bit and clears the POR T_UNINIT bit in the Port {0..17} Error and Status CSR. Thereaf ter , the port can
exchange packets and detect/report transmission errors.
Clear error conditions on the link, which may have occurred during link initialization.
The above sequence reliably initializes single or multi-lane links as l ong as at least o ne of the redun dant lanes in ea ch direction
is working. However, consistent with the Rapid IOSpecification (Rev. 2.1), the initialization sequence for 4x ports was not
designed to operate correctly when connected to multiple, separate 1x por ts on the redun dant lanes. This type of co nfiguration
is not supported.
3.4.1Signal Quality Optimization
The default values for the signal quality settings are sufficient for channels that are compliant with the RapidIO specification’s
short- and medium-reach channel definitions (50 cm with up to two connectors). However, the default signal quality settings
may need to change for long channels and/or high lane speeds.
The CPS-1848 supports two methods for optimizing the signal quality of a lane (see Figure13):
• Transmit emphasis
• Receiver Decision Feedback Equalization (DFE)
Transmit emphasis changes the cha racterist ics of th e transmi t signal based on the bi t that was p reviously transmitt ed, and the
bit that will be transmitted after the current bit. Receiver DFE changes the received signal to reduce electrical effects created
by previously received bits.
Figure 13: Optimizing Lane Signal Quality
CPS-1848 User Manual76June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 77
3. RapidIO Lanes > Port and Lane Initialization Sequence
The CPS-1848 supports lane lengths up to those specified by the RapidIO medium-run PHY standard without link partner
transmit emphasis or DFE. The transmit emphasis settings of the CPS-1848 and the link partner may need to be adjusted for
channels longer than medium run. Depending on the electrical characteristics of the channel, CPS-1848 receiver DFE may
also be necessary for channels longer than medium run.
3.4.1.1CPS-1848 Transmitter Emphasis Control
The RapidIO specification defines a transmitter emphasi s functi on tha t is control led b y two f ilter coe f ficien ts ca lled t he Pre and
Post taps. The CPS-1848 transmitter emphasis coefficients can be changed by writing them directly.
3.4.1.1.1Register Control of CPS-1848 Transmit Emphasis
The CPS-1848 transmit emphasis is controlled by each lane using commands written to the POS1_CMD and NEG1_CMD
fields in the Lane {0..47} Status 3 CSR. The supported commands include pre and post tap valu e increases and decrea ses, as
well as changes to configured reset and preset tap va lu es. The reset and p reset val ue s fo r ea ch of th e two pre- empha si s taps
are configured through writes to the Lane {0..47} Status 2 CSR.
The output waveform has three parameters that can be modified by writing the desired value to the register field:
• NEG1_TAP[4:0] (Lane {0..47} Status 3 CSR) – This corresponds to the Pre tap.
• TX_AMP_CTL[5:0] (Lane {0..47} Control Register)
• POS1_TAP[5:0] (Lane {0..47} Status 3 CSR) – This corresponds to the Post tap.
The adjustment of NEG1_TAP and POS1_TAP tap change the spectral content of the waveform with the intent of improving
the eye shape at the receiver. The TX_AMP_CTL control adjusts the signal amplitude to allow the signal amplitude to be
reduced for short links, or to be increased on lossy and long links. The NEG1_T AP and POS1_TAP selections are applied only
to sequences of two or more bits of the same value. The TX_AMP_CTL control is applied to all bits on the lane. The following
figures show the relationship between the waveform voltage change imposed by the tap setting (in dB volts) and the register
(DAC, or Digital Analog Converter) value progra mmed in the NEG1_TAP field of the corresponding Lane {0..47} Status 3 CSR.
The following wav eform shows the effects on the waveform for NEG1_TAP settings of z ero (top), 0b01111 (middle), and
0b11111 (bottom). The POS1_TAP is set to 0 and the TX_AMP_CTL value is set to 52 (default).
CPS-1848 User Manual77June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 78
3. RapidIO Lanes > Port and Lane Initialization Sequence
As the NEG1_T AP setting is increased the st ep size of the previous bits to the last bi t increases. The following gra ph shows the
change in the step size as the registe r (DAC) value is increased. The dB value i s cal cul ate d as: 20l og (p revio us b its ampli tud e
/ last bit amplitude).
The following figure shows the effects on the waveform for the POS1_TAP settings of zero (top), 30 (middle) and 63 (bottom).
The NEG1_TAP is set to 0 and the TX_AMP_CTL value is set to 52 (default).
CPS-1848 User Manual78June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 79
3. RapidIO Lanes > Port and Lane Initialization Sequence
As the POS1_T AP value is increased, the step size from the initial bit amplitu de to the subsequent bit amplitud e increases. The
following graph shows the change in the step size. The dB value is calculated as: 20log (step amplitude / first bit amplitude).
The following figure shows the effects on the waveform for the TX_AMP_CTL settings of zero (top), 30 (middle), and 60
(bottom). The NEG1_TAP and POS1_TAP controls are set to 0.
CPS-1848 User Manual79June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 80
3. RapidIO Lanes > Port and Lane Initialization Sequence
As the TX_AMP_CTL value in the Lane {0..47} Control Register is increased, the waveform amplitude increases. The foll owing
graph shows the change in the amplitude as the register (DAC) value is increased. The amplitude is measured in volts
peak-to-peak differential.
3.4.1.2Receiver DFE Control
The receiver DFE function is controlled by fields in the Lane {0..47} DFE 1 Register and Lane {0..47} DFE 2 Register. DFE is
enabled using the Lane {0..47} DFE 1 Register.RX_DFE_DIS bit.
The CPS-1848 receiver DFE design has five “taps” numbered 0 to 4, in addition to a tap offset value. These values can be
controlled through register accesses. The programming model for software control of the receiver DFE taps makes use of a
paired “select” control bit and a tap value field for each tap. The following are the pairs of select control bits and tap values:
• Lane {0..47} DFE 1 Register.TAP_0_SEL and Lane {0..47} DFE 2 Register.TAP_0_CFG
• Lane {0..47} DFE 1 Register.TAP_1_SEL and Lane {0..47} DFE 2 Register.TAP_1_CFG
• Lane {0..47} DFE 1 Register.TAP_2_SEL and Lane {0..47} DFE 2 Register.TAP_2_CFG
• Lane {0..47} DFE 1 Register.TAP_3_SEL and Lane {0..47} DFE 2 Register.TAP_3_CFG
• Lane {0..47} DFE 1 Register.TAP_4_SEL and Lane {0..47} DFE 2 Register.TAP_4_CFG
The “select” control bit must be set to 1 in order for the associated tap value field to have any ef fect. IDT recommend s that Tap
4 should be half the value of Tap 3, Tap 3 should be half the value of Tap 2, and Tap2 should be half the value of Tap 1. Note
that the signed Tap values should all be positive.
To load tap values, the Lane {0..47} DFE 2 Register.CFG_EN bit must transition from 0 to 1.
CPS-1848 User Manual80June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 81
3. RapidIO Lanes > Port and Lane Initialization Sequence
3.4.1.3Bit Error Rate Measurement for RapidIO Compliant Data
Bit error rate testing is facilitated by use of the Error Management Extensions registers. The physical layer error management
extensions registers can be used to count the number of received bit errors on the link. To configure a port to count bit errors,
perform the steps outlined in the following table.
Table 24: Configuring Bit Error Measurement
StepOffsetValue
Enable all Rx error events0x1044 (Port 0)
0x004E8015
Port {0..17} Error Rate Enable
CSR
Clear counter to 0, allow
counter to reach 0xFF
Disable event notification0x106C (Port 0)
0x1068 (Port 0)
Port {0..17} Error Rate CSR
0x00030000
0x00000000
Port {0..17} Error Rate
Threshold CSR
Once the above steps are completed for a port, the Port {0..17} Error Rate CSR.ERR_RATE_CNTR field can be read to
determine the number of errors seen since the counter was last cleared to 0.
The above algorithm reports all detectable errors for a port. If a port has multiple lanes, it is not possible to attribute the errors
to a particular lane. To monitor errors on an lane-by-lane basis, use the ERR_8B10B field of the Lane {0..47} Status 0 CSR.
CPS-1848 User Manual81June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 82
Port
Block
Lane
Block
SerDes
Block
8b/10b Block
RxTx
DescramblerScrambler
Lane
Alignment/
Destriping
Striping
RapidIO Control Symbol and
Packet Protocol Support
Packet Routing Suppor t
10-bit Loopback
8-bit Loopback
Routing Table Loopback
Port/Lane Connection
3. RapidIO Lanes > Loopback Capabilities
3.5Loopback Capabilities
The CPS-1848 supports several lane and port loopback points that can be used for test and fault isolation purposes. These
loopback points are displayed in Figure14 and are discussed in the following sections.
Figure 14: Loopback Locations
CPS-1848 User Manual82June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 83
3. RapidIO Lanes > Loopback Capabilities
3.5.1Lane Loopback Modes
3.5.1.110-bit Loopback Mode
10-bit loopback mode is controlled on individual lanes through the LPBK_10BIT_EN bit of the Lane {0..47} Control Register.
The 10-bit loopback mode path loops back the serial data before 10- bit code group recogn ition is attempted. A cl ock signal can
be extracted from the data, but no code group recognition is attempted at this point.
Without code group recognition, it is not possible for the receiver to compensate for the frequency difference between the
transmitter and receiver. This implies that the looped back signal is subject to overruns or underruns due to transmit/receive
frequency differences. To avoid this issue, the link partners must use the same reference clock sou rce to e nsure that re ceivers
and transmitters operate at exactly the same frequency.
10-bit loopback does not contain a re-timer; therefore, the link partners must use the same reference
clock source to ensure that the receivers and transmitters operate at exactly the same frequency.
3.5.1.1.110-bit Loopback Mode Restrictions
Although 10-bit loopback is controlled on an individual lane basis, the SerDes blocks are not completely decoupled from the
port functions. When a port is configured in 4x mode, 10-bit loopback does not function properly on the upper lane of the
4x port. Therefore, the port must be configured in 1x and 2x mode before setting the lanes to 10-bit loopback (see Port
Reconfiguration Operations). Since ports 4, 5, 6, 10, and 11 can only operate in 4x mode, 10-bit loopback is not functional on
those ports.
3.5.1.28-bit Loopback Mode
8-bit loopback mode is controlled on individual lanes through the LPBK_8BIT_EN bit of the Lane {0..47} Control Register. This
mode correctly retransmits data that has been successfully recognized as a valid 10-bit code group, and translated to an 8-bit
value. If valid 10-bit code groups are not received, the retransmitted stream may vary from the received stream.
When the lane is operating at 6.25 Gbaud, the RapidIO Specification requires transmitted data to be scrambled, and received
data must be descrambled. The scrambling and descrambling is done in accordance with the RapidIO protocol. To
accommodate tests that do not use RapidIO co mpliant data, scrambling functionality can be disabled on a port basis using
SCRAM_DIS in the Port {0..17} Control 2 CSR.
8-bit loopback does not contain a re-timer; therefore, the link partners must use the same reference
clock source to ensure that the receivers and transmitters operate at exactly the same frequency.
The RapidIO Specification states that data scrambling/descrambling can be disabled only for tests.
Data scrambling/descrambling must be enabled for normal operation.
3.5.2Port Loopback Mode
3.5.2.1Routing Table Loopback
Each S-RIO port can route packets back out the port they were received on. This mode is supported by the routing tables (for
more information, see Packet Routing).
CPS-1848 User Manual83June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 84
3. RapidIO Lanes > Bit Error Rate Testing
3.6Bit Error Rate Testing
Bit Error Rate (BER) measurement is supported as part of the RapidIO protocol, as well as through the per-lane status
registers. For more information, see the Lane {0..47} Status 0 CSR and the registers that follow. BER measurement when the
RapidIO protocol is active restricts the data patterns generated to valid 8b/10b codes.
The CPS-1848 has a Pseudo-Random Binary Sequence (PRBS) generator capability that supports testing based on random
bit sequences.
The CPS-1848 cannot check PRBS sequences; it can only generate PRBS sequences.
This caution is applicable to Revision A and B only.
PRBS-based BER testing is performed on individual lanes. The programming model for PRBS testing consists of the following
registers:
• Lane {0..47} Control Register – PRBS enable and pattern selection
• Lane {0..47} PRBS Generator Seed Register – PRBS pattern “seed” value
• Lane {0..47} PRBS Error Counter Register – Count of errors detected for PRBS (Revision C only)
Each Lane Level Block has a PRBS generator that is enabled by setting PRBS_EN and XMITPRBS to 1 in the Lane {0..47}
Control Register. The generator supports five user-selectable PRBS po lynomials and three user-defined fixed patterns, as
described in the following sections.
3.6.1PRBS Polynomials
The following polynomials are supported by the CPS-1848:
23+x18
1. x
2. x
3. x
4. x
5. x
+ 1 — For additional definition of the polynomial, see CCITT O.1S1/ITU-T O.150 section 5.6 [SONET].
31+x28
+ 1 — For additional definition of the polynomial, see ITU-T O.150 section 5.8 (and XAUI, IEEE Std. 802.3-2008).
10+x7
+ 1 — For additional definition of the polynomial, CCITT O.1S2/ITU-T O.192.
15+x14
+ 1
7+x6
+ 1
By default, the first value, also called as the seed, for all polynomials is all 1s. To change the seed used by the polynomial,
program the Lane {0..47} PRBS Generator Seed Register.
When a PRBS polynomial is selected, a seed value of 0 is a programming error.
Only bits that are controlled by the polynomial are used when programming the seed value. For
example, if x
23+x18
{0..47} PRBS Generator Seed Register are relevant.
The Lane Level Block allows the PRBS seed to b e changed by programming the Lane {0..47} PRB S Generator Seed Register.
Note that a value of all zeros produces indetermin ate results. This register is used fo r programming the t wo 10-bit re-circu lating
seeds. The first 10 bits of this register is used for one seed and the next 10 bits for the other.
+ 1 is the polynomial selected, only the least significant 24 bits (8–31) of the Lane
3.6.2User-Defined Patterns
In addition to random bit sequences, the CPS-1848 also supports patterns that are deterministic. There are three pattern
options. The pattern value is the least significant 10 bits (22–31) of the Lane {0..47} PRBS Generator Seed Register:
1. Send the pattern value continuously
2. Send the pattern value, followed by its inverse value, continuously
CPS-1848 User Manual84June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 85
3. RapidIO Lanes > Bit Error Rate Testing
3. Send 0, the pattern value, 0x3FF, and the inverse of the pattern value, continuously
Patterns can be sent using either 8-bit (8b/10b encoded) or 10-bit (unchanged) format. The format is controlled by the Lane
{0..47} Control Register.PRBS_UNIDIR_BERT_MODE_EN. However, only 10-bit patterns can be checked.
The CPS-1848 can generate all user-defined patterns in both 8-bit and 10-bit mode (see Lane {0..47}
Control Register.PRBS_UNIDIR_BERT_MODE_EN).
(Revision C only) The CPS-1848 can check user-defined patterns in 10-bit mode on ly (see Lane {0..47}
Control Register.PRBS_UNIDIR_BERT_MODE_EN).
3.6.3PRBS Pattern Generator
The CPS-1848 BER generator sources data that is checked by the link partner. In the following example, the CPS-1848 is
responsible only for transmitting data and PRBS is configured on lane 12 to use the polynomial x
Table 25: Programming Model for CPS-1848 Data Generation, Link Partner Checking
StepOffsetValueDescription
Enable PRBS
transmission with
selected polynomial
3.6.4PRBS Pattern Checker and Log (Revision C)
0xFF8C00
Lane {0..47} Control
Register
0x009C1E80Enable PRBS for selected polynomial. The
All lanes associated with a port must be configured per each step be fore pro ceedi ng to the next step in
the procedure.
In addition when operating in 8-bit PRBS mode, steps 3 to 4 and steps 4 to 5 in the PRBS Checking
procedure, and steps 4 to 5 and steps 5 to 6 in the PRBS Generation an d Checking p rocedure must b e
completed within the following time constraints; otherwise the PRBS test may fail:
• 8ms when the I2C clock is operating at 400 kHz
• 2ms when the I2C clock is operating at 100 kHz
When enabling the PRBS checker, complete a single write to each field setting instead of setting
multiple bits with the same register write command.
23+x18
+1.
lower 16 bits of this value reflect default
values, therefore they may be dif ferent for your
application.
The PRBS checker can be enabled when the link is down or not connected. If the checker is in 10-bit
mode and the receive link is floating, the checker can receive and lock onto a stream of zeros from the
SerDes. In this case, the checker cannot detect errors (even if the link is down).
Register accesses for PRBS test configuration must start at least 1 second after the port is enabled.
3.6.4.1PRBS Generation
To configure the CPS-1848 to generate a PRBS sequence without 8b/10b encoding, perform the following steps:
1. Set Lane {0..47} PRBS Generator Seed Register[PRBS_SEED] as required.
2. Set Lane {0..47} Control Register[PRBS_MODE] to the selected polynomial an d set PRBS_ UNIDIR_B ERT_MODE_EN as
required (set to0 for 8-bit mode; set to 1 for 10-bit mode).
CPS-1848 User Manual85June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 86
3. RapidIO Lanes > Bit Error Rate Testing
3. Set Lane {0..47} Control Register[XMITPRBS] to 1.
4. Set Lane {0..47} Control Register[PRBS_EN] to 1.
3.6.4.2PRBS Checking
To configure the CPS-1848 to check a received PRBS sequence without 8b/10b encoding, perform the following steps:
1. Set Lane {0..47} PRBS Generator Seed Register[PRBS_SEED] as required.
2. Set Lane {0..47} Control Register[PRBS_MODE] to the expected pol ynomial and set PRBS_UNIDIR_BER T_MODE_EN as
required (set to0 for 8-bit mode; set to 1 for 10-bit mode).
3. Set Lane {0..47} Control Register[PRBS_TRAIN] to 1.
4. Set Lane {0..47} Control Register[PRBS_RX_CHECKER_MODE] as required (set to0 for 8-bit mode; set to 1 for 10-bit
mode).
5. Set Lane {0..47} Control Register[PRBS_EN] to 1.
6. Read Lane {0..47} PRBS Error Counter Register – This will clear errors that occurred during configuration.
7. Set Lane {0..47} Control Register[PRBS_TRAIN] to 0 – Errors are not reported when in training mode.
8. Read Lane {0..47} PRBS Error Counter Register – Check for err ors other than from configuration while running a PRBS test.
3.6.4.3PRBS Generation and Checking
If the same device is being used for both generation and checking, the following should be used:
1. Set Lane {0..47} PRBS Generator Seed Register[PRBS_SEED] as required.
2. Set Lane {0..47} Control Register[PRBS_MODE] to the selected polynomial an d set PRBS_ UNIDIR_B ERT_MODE_EN as
required (set to0 for 8-bit mode; set to 1 for 10-bit mode).
3. Set Lane {0..47} Control Register[PRBS_TRAIN] to 1.
4. Set Lane {0..47} Control Register[XMITPRBS] to 1.
5. Set Lane {0..47} Control Register[PRBS_RX_CHECKER_MODE] as required (set to 0 for 8-bit mode; set to 1 for 10-bit
mode).
6. Set Lane {0..47} Control Register[PRBS_EN] to 1.
7. Read Lane {0..47} PRBS Error Counter Register – This will clear errors that occurred during configuration.
8. Set Lane {0..47} Control Register[PRBS_TRAIN] to 0 – Errors are not reported when in training mode.
9. Read Lane {0..47} PRBS Error Counter Register – Check for errors other than from configuration while ru nning a PRBS test.
CPS-1848 User Manual86June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 87
4. Switch Fabric
The S-RIO Switch Fabric is a buffered crossbar design that transfers S-RIO packets from a set of input ports to an associated
set of output ports. The switch block supports switching between up to 18 ports.
Topics discussed include the following:
• Key Features
• Switch Fabric Architecture
• Input Buffer
• Input Buffer to Crosspoint Buffer Transfers
• Crosspoint Buffers
• Crosspoint Buffer to Final Buffer Transfers
• Maintenance Transaction Support
• Final Buffer
4.1Key Features
The Switch Fabric supports the following key features:
• Switching between up to 18 S-RIO ports, with a maximum port data rate of 20 Gbps input and 20Gbps output
• Peak aggregate data rate of 240 Gbps
• Low latency (for more information, see Performance)
• Each port can buffer up to 12 packets from the link partner, and up to 34 packets to be sent to the link partner
• Non-blocking across all ports and all priority levels
• Supports the packet ordering and deadlock avoidance rules defined in the RapidIO Specification (Rev. 2.1), Part 6.
• Supports S-RIO virtual channel: VC0. For VC0, the switch supports the use of the CRF bit such that within a specific
priority, a packet with the CRF bit set can pass one without the CRF bit set. The CRF bit is supported for all four levels of
basic S-RIO priority.
• (Revision A/B) Separate path for maintenance packets
• (Revision C) Separate path for maintenance packets with a hop count of 0. Maintenance packets with a hop count greater
than 0 take the same path as non-maintenance packets.
• Can multicast and broadcast a received packet to multiple output ports
• Supports cut-through and store-and-forward packet forwarding modes
• Supports an optional queue aging function to ensure fairness across priorities
CPS-1848 User Manual87June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 88
4. Switch Fabric > Switch Fabric Architecture
Lanes
Ports
Lanes
Ports
Lanes
Ports
Lanes
Switch
Fabric
Registers
I2CJTAG
Ports
Quadrant
Quadrant
Quadrant
Quadrant
FB 0FB 1...FB N
IB N
CPB
N, 0
CPB
N, 1
...
CPB
N, N
IB 0
CPB
0, 0
CPB
0, 1
...
CP
0, N
IB 1
CPB
1, 0
CPB
1, 1
...
CPB
1, N
...
............
Maintenance
Transactions
4.2Switch Fabric Architecture
Figure 15: Switch Fabric Block Diagram
Figure 15 shows the buffer architecture of the Switch Fabric, where N is the number of ports configured
within the device.
For Revision C, maintenance packets with a hop count equal to 0 use the Maintenance Transactions
buffer.
As displayed in Figure15, the Switch Fabric contains three types of buffers:
• Input Buffer (IB) – This buffer stores packets received from the link partner.
• Crosspoint Buffers (CPB) – This buffer stores packets for an In put Buf fer/Final Bu ffer co mbination. T he Switch Fabric has a
matrix of Crosspoint Buffers.
• Final Buffer (FB) – This buffer stores packets to be transferred to the link partner.
Maintenance packets that are received with a hop count other than 0 (for Revision C, a hop count equal to 0) are hand led as a
separate flow by the Switch Fabric. There is a separate path between each Input Buffer and the centralized Maintenance
Transactions handling block, and a separate path from the Maintenance Transactions block to each Final Buffer.
More information about buffer sizing, arbitration, and controls for buffers and transaction arbitration are discussed in the
following sections.
CPS-1848 User Manual88June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 89
4. Switch Fabric > Input Buffer
4.3Input Buffer
The Input Buffer can store a maximum of 12 packets of any size. The Input Buffer enforces buffer allocation rules that are
consistent with the RapidIO specification requirements for VC0 deadlock avoidance. The VC0 buffer allocation rules are
enforced according to packet priority only – the CRF bit is not taken into account. Buffer allocation rules control the number of
free buffers at which packets of a specific priority stop being accepted. There are two modes, controlled by the Switch
Parameters 1 Register.BUF_ALLOC field, as displayed in Table 26.
The Switch Parameters 1 Register.BUF_ALLOC also controls buffer allocation for the Crosspoint
Buffers and Final Buffers.
For example, if “Two Buffers Per Priority” mode is selected, five buffers are free and a packet of priority 1 is received, that
packet can be accepted. If another packet of priority 1 is received, that packet will be retried because there are now only four
buffers free. Note that packets of priority 3 will be accepted whenever there is a free buffer.
Priority Mode
Two Buffers Per
Priority Mode
4.4Input Buffer to Crosspoint Buffer Transfers
The CPS-1848 can wait until the entire packet has been received, or can start to forward the packet to a Crosspoint Buffer as
soon as possible. Once a packet’s destID information has been received, the CPS-1848 can determine what output port to
send the packet to. “Store-and-Forward” mode indicates a packet must be completely received before being forwarded, while
“Cut-Through” indicates a packet should be forwarded as soon as possible. “Store-and-forward” and “Cut-through” mode are
selected for all input ports using the Device Control 1 Register.CUT_THRU_EN field.
Store-and-Forward is the default mode. Use Cut-Through mode only if all active ports have the same
capacity (for example, all ports are 2x with a lane rate of 5 Gbps). Cut-Through mode, however, can
cause congestion in the Switch Fabric if there is a mix of fast and slow ports in the system.
Packets accepted by the Input Buffer are managed using Virtual Output Queues (VoQs). There is a set of VoQs for
maintenance packets with a hop count of 0, and one set o f VoQs for each Crosspoint Buffer. A set of VoQs consists of a list of
packets at each priority and CRF combination.
Non-maintenance packets that are multicast have one VoQ entry for each Crosspoint Buffer to which they will be transferred.
Maintenance packets with a hop count of 0 have a single entry in the set of VoQs associated with the maintenance block. If a
Maintenance packet is to be multicast (that is, a port-write), the packet is replicated by the Maintenance Block.
The highest priority packet available in an Input Bu ffer is transferred first. Maintenance packets with a hop count of 0 have the
highest priority regardless of their RapidIO priority. If no maintenance packet with a hop count of 0 can be transferred, then
packets with priority 3 and the CRF bit se t are sent, follo wed by packets with pri ority 3 and the CRF bit cleared, and so on down
to packets with priority 0 and the CRF bit cleared. If there are packets with the same priority being sent to different Crosspoint
Buffers, the packet chosen is based on a round-robin basis among the VoQs.
CPS-1848 User Manual89June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 90
4. Switch Fabric > Crosspoint Buffers
4.4.1VoQ Fairness/Starvation Avoidance
The operation of the CPS-1848 usually ensures the forward progress of all packets with minimal latency. However, under
conditions of high congestion or pathological traf fic patt erns, the input sch eduling algorithm can r esult in unbounded latency for
low priority packets. To correct this behavior if it occurs, the CPS-1848 uses a fairness mechanism based on Oldest Queue
First scheduling. The fairness mechanism limits the maximum latency for low prio rity packets. This scheduler mode is enabled
by default but can be disabled by setting Switch Parameters 1 Register.ARB_MODE to 0b111.
The starvation avoidance mode can significantly infl uence packet transmission behavio r; there fore, th e
recommended setting for Switch Parameters 1 Register.ARB_MODE is 0b111.
Only enable the fairness scheduling option to reduce large latency for low priority packets.
Each VoQ contains an age counter that increments whenever there is a packet in this VoQ and a packet from another VoQ is
transferred. Once the age counter reaches the threshold programmed in the Switch Parameters 1
Register.INPUT_STARV_LIM field, the VoQ is handled as “old”. If any VoQs are “old”, then the age counter for that VoQ is
frozen. The scheduling algorithm attempts to transfer packets from “old” VoQs for a given priority. If no “old” Vo Qs can transf er
packets, then a VoQ that is not old is selected.
A VoQ has its “old” status cleared, and its age counter reset to 0, when the VoQ becomes empty.
4.4.2Multicast Packets
When a packet is multicast, each VoQ associated with the Crosspoint Buffer that the packet must be sent to has an entry
added to it for that packet. When a packet that is being multicast is selected for transfer, the other VoQs are checked to see if
that packet is the first packet in the VoQ. If it is, and the associated Crosspoint Buffer can accept the packet, then the packet is
transferred simultaneously to those Crosspoint Buffers as well as the Crosspoint Buffer originally selected.
If the multicast packet is not replicated to a ll ports on the first attempt at multi casting, the VoQs that have entries for that packet
are marked as “old” immediately. This allows the multicast operation to complete as soon as possible.
4.5Crosspoint Buffers
Each Crosspoint Buffer can store nine packets of any size. The Crosspoint Buffer enforces buffer allocation rules that are
consistent with the RapidIO specification requirements for VC0 deadlock avoidance. The VC0 buffer allocation rules are
enforced according to packet priority only – the CRF bit is not taken into account. Buffer allocation rules control the number of
free buffers at which packets of a specific priority stop being accepted. There are two modes controlled by the BUF_ALLOC
field in the Switch Parameters 1 Register, as displayed in the following table.
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 91
4. Switch Fabric > Crosspoint Buffer to Final Buffer Transfers
4.6Crosspoint Buffer to Final Buffer Transfers
The oldest of the set of highest priority packets is transferred to the associated Final Buffer before all other packets.
Maintenance packets are handled as having the highest priority, regardless of their RapidIO priority. For Revision A/B, the
priority of non-maintenance packets includes the CRF bit. For Revision C, the priority of non-maintenance packets and
maintenance packets with a hop count greater than 0 includes the CRF bit.
The Final Buffer selects which Crosspoint Buffer to get packets from using Round Robin Scheduling. To select Round Robin
Scheduling, set Switch Parameters 1 Register.ARB_MODE to 0b111.
4.7Maintenance Transaction Support
For Revision A/B, all maintenance transactions are transferred from the Input Buffer to the central Maintenance transaction
support block. Crosspoint buffers never contain Maintenance transactions that were received with a hopcount greater than 0.
Crosspoint buffers, however, may contain Maintenance transactions with a hop count of 0 because the hop count is
decremented by the Port Level Block.
For Revision C, all maintenance transactions with a hop count equal to 0 are transferred from the Input Buffer to the central
Maintenance transaction support block. Crosspoint buffers never contain Maintenance transactions that were received with a
hop count equal to 0. Crosspoint buffers, however, may contain Maintenance transactions with a hop count of 0 because the
hop count is decremented by the Port Level Block.
For Revision A/B, there is no ordering relationship between non-maintenance and maintenance
packets. For Revision C, there is no ordering relationship between non-maintenance packets and
maintenance packets with a hop count equal to 0.
Transfers from the Input Buffer to the Maintenance function are performed on a strict priority basis. If the priority of the
maintenance packets is the same among the Input Buffers, a round-robin arbitration is used. For Revision A/B, the lowest
priority maintenance packet has a higher priority than the highest priority non-maintenance pa cket. For Revision C, the lowest
priority maintenance packet with a hop count equal to 0 has a higher prio rity than the hig hest priority n on-maintenan ce packet.
The Maintenance function terminates maintenance packets with a hop count of 0. If the maintenance packet is a read or write
request, the requested register access is performed, a maintenance response packet is formulated, and the response is sent
back out the port the maintenance request packet was received on.
If the maintenance packet does not have a hop count of 0, the CPS-1848 decrements the hop count, recomputes the CRC,
and forwards the packet. The packet is routed according to the routing table and multicast configuration of the port that
received the maintenance packet.
The CPS-1848 supports maintenance read an d write requests that are only 4-byte aligned and 4bytes
in size. All other maintenance request sizes and alignments are not executed by the device.
If a maintenance request is not 4-byte aligned and 4 bytes in size, the response packet for the request
will have a status of “error.”
The Maintenance function is also responsible for ori ginating port- write packets th at indicate an e vent has been de tected by the
CPS-1848. For more information about originating a nd sen din g p ort-w rite s, see Port-Write Formats, Programming Model, and
Generation.
CPS-1848 User Manual91June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 92
4. Switch Fabric > Final Buffer
4.8Final Buffer
Each Final Buffer can store 34 packets of any size. The Fin al Buf fer enforces b uffer all ocation rules that ar e consistent with the
RapidIO specification requirements for VC0 deadlock avoidance. The VC0 buffer allocation rules are enforced according to
packet priority only – the CRF bit is not taken into account. Buffer allocation rules control the number of free buffers at which
packets of a specific priority stop being accepted. There are two modes, controlled by the Switch Parameters 1
Register.BUF_ALLOC field, as displayed in Table 26.
The Switch Parameters 1 Register.BUF_ALLOC also controls buffer al location for the Input Buf fers and
Crosspoint Buffers.
The CPS-1848 supports an additional option for F ina l Bu ffer allocation. If BUF_ALLOC in the Switch Parameters 1 Register is
0, then FB_ALLOC in the same register provides additional options for the number of buffers free when packets of a specific
priority are no longer accepted. The options ar e captured in Table 28. Under congestion, larger buffer alloca tions allow line rate
transfers to occur on links with high l ate ncy. However, larger buf fe r a llo ca tio ns a lso ca use co ngestion to occur earlier for lower
priority packets.
Table 28: Final Buffer Allocation
Priority0b0000b0010b0100b0110b1000b1010b1100b111
3N/AN/A000000
2234567
1468101214
06 912151821
CPS-1848 User Manual92June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 93
5. Performance
This chapter discusses the packet switching performance characteristics of the CPS-1848. Topics discussed include the
following:
• Overview
• Performance Monitoring
• Performance Measurements
• Port-to-Port Performance Characteristics
5.1Overview
Performance for packet switching is characterized by three measurements: throughput, latency, and latency jitter. Performance
is specified for error-free transmission and reception of packets, and for end-to-end transfers through the CPS-1848.
Performance is specified for a single switch. Performance for larger systems can be computed from this data.
5.1.1Throughput
Throughput for packets is a measurement of the amount of packet data that can be transferred in a given amou nt of time. It can
be presented in different forms:
• Percentage of a link’s bandwidth (for example, 56% of a 1x @ 6.25 Gbaud)
• Number of packets of a given size per unit time (for example, 3000 44-byte packets per second)
• Bit transfer rate (for example, 300 Mbps)
Throughput measurements include only successfully transferred packets. Measured throughput does not include control
symbols, retried packets, or other non-packet data transmitted/received on a link (/K/ and /R/ characters).
5.1.2Latency
Latency is the amount of time between when a packet is received and when it is transmitted. The specific time at which a
packet is received and transmitted are deemed to have started, however, must still be defined. Latency is measured as the
time interval between the first bit of the Start-of-Packet arriving at the ingress of the CPS-1848 and that same bit leaving the
device.
Figure 16 displays the path a packet flows through the CPS-1848. For CPS-1848 latency performance, packet reception time
begins with the time the first bit of a packet is seen on the input pins. Packet transmission begins when the first bit of a packet
is transmitted on the output pins.
As part of the resolution of resource contention, higher priority packets can pass packets of lower priority. Latencies should
therefore increase as the priority of a packet decreases. The latency of higher priority packets are consistently low.
A specific time for packet latency can be specified only when there are no conditions that cre ate reso urce conte nti on b etwee n
packets. For example, if a single stream of packets p assing from a n ingress port t o an egress por t is the only tra f fic handled by
the CPS-1848, it is possible to specify the latency for the packets in this stream.
CPS-1848 User Manual93June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 94
5. Performance > Performance Monitoring
CPS-1848
Packet
Source
Ingress
Port
Egress
Port
Destination
Port
Ingress
Link
Egress
Link
Packets
T
0
= First bit to
arrive at Ingress
Packets
T
1
= First bit to
leave at
Latency Equation: Latency = T1-T
0
A complex traffic pattern is defined as one that has resource contention, due to congestion. Complex traffic patterns make
specifying the exact latency figure that each packet experiences difficult because the amount of contention that a packet
experiences can vary widely. As such, these scenarios are not covered in this document.
Figure 16: Latency Example
5.1.3Latency Variation
In the CPS-1848, packets can experience an extra one or two clock cycles of delay over the minimum latency when crossing
from one clock domain to another clock domain.
Another factor which contributes to latency variation is when the transmitted packet experiences errors on the link. If
transmitter-controlled flow control mode is used between the CPS-1848 and the destination port, the CPS-1848 will not send
the first bit if the destination has no available buffers.
Multicast packets will have no latency variation from port to port when there are no contentions.
These factors should be considered when creating a system timing budget (see Table 30).
5.2Perf ormance Monitoring
The main purpose of the performance monitoring functionality is to observe the data traffic on an S-RIO port. The RapidIO
traffic can come from different sources – different processing endpoints – and can cause data congestion in one of the
destination interfaces. This congestion can have a negative impact on overall system performance. Performance monitoring
can be used to identify and help prevent situations that negatively impact system performance.
Performance monitoring decisions can be made by system software in real-time. The system software can be programmed to
routinely read the performance monitoring registers, analyze the traffic flow patterns, and re-route accordingly to avoid
congestion.
CPS-1848 User Manual94June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 95
5. Performance > Performance Monitoring
Each S-RIO port in the CPS-1848 has a copy of the performance monitoring registers. Table 29 lists the statistic parameters
that are available from the Inbound and Outbound registers, as part of each port’s performance monitoring capabilities.
Table 29: Performance Monitoring Parameters
ParametersRegistersDescription
Number of transmit packets for all
priorities (0, 1, 2, and 3)
Number of receive packets for all
priorities (0, 1, 2, and 3)
The following sections describe the use of these parameters for monitoring the performance of the S-RIO ports in the
CPS-1848.
5.2.1Traffic Efficiency
To characterize the efficiency of system traffic, the following parameters are used:
1. Packet rate (number of packets / time) – It is calculated using the number of pa ckets transmitt ed from the Port {0..17} VC0
Packets Transmitted Counter Register.
2. Average packet size (number of 32-bit words / number of packets) – It is computed with user-supplied value.
3. Utilization ((packet rate * packet size) / max capacity) – It is calculated using parameters 1 and 2.
These values are derived from the number of packets and the number of 32-bit words on each port. The calculations of the
packet rate, packet size, and utilization are completed externally.
5.2.2Congestion Detection
Congestion in the S-RIO ports can be detected by monitoring the counter registers outlined below for the inbound and
outbound ports.
Port {0..17} VC0 Packets Transmitted
Counter Register
Port {0..17} VC0 Packets Received
Counter Register
Used to count the number of packets
sent by an S-RIO link.
Used to count the number of packets
received by an S-RIO link.
The counter registers in the outbound direction are:
• Port {0..17} VC0 Acknowledgements Received Counter Register
• Port {0..17} Not Acknowledgements Received Counter Register
• Port {0..17} VC0 Retry Symbols Received Counter Register
The counter registers in the inbound direction are:
• Port {0..17} VC0 Acknowledgements Transmitted Counter Register
• Port {0..17} Not Acknowledgements Transmitted Counter Register
• Port {0..17} VC0 Retry Symbols Transmitted Counter Register
5.2.3Resetting Performance Registers
The Receive and Transmit counter registers are cleared after every read and saturate at the maximum counter values.
CPS-1848 User Manual95June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 96
5. Performance > Performance Measurements
5.3Perf ormance Measurements
Performance measurements for complex traffic patterns can be specified for two different configurations of performance
settings. The first configuration is for lightly loaded systems, where the likelihood of resource contention is low. This is known
as the “fair share” performance configuration.
The second configuration is for congested systems that optimize the throughput and latency of the highest priority packets at
the expense of lower priority packets. This is known as the “high priority” performance configuration.
Configurations that are different from fair share and high priority will have p erformance figu res between
the two values.
The switch architecture of the CPS-1848 is optimized for performance under various traffic patterns, and requires minimal
changes from the default settings to achieve this re quirement. The optimization of th e switch suppo rts various traf fic co nditions
where congestion is encountered for specific priority packets used.
With a Combined Input Crosspoint Queue (CICQ) architecture, the input buffer and final buffer do not have to make any
agreements. The input buffer distributes packets to crosspoint buffers based on which output port the packet is destined for.
The crosspoint buffers help to p ull packets from the input buf fers to free th em so that contenti on is minimized and to allow more
data to flow from the source. Packets are pulled into a port’s final buffer from its crosspoint buffers as they become available.
Packets are then fed to the port’s transmission path from the final buffer.
There are, however, a few parameters that require adjustments for specific usage case as listed below:
• Input Buffer, Crosspoint Buffer, and Final Buffer Allocation
— Buffer Allocation Size
— Switching Arbitration mode
• Store-and-Forward mode versus Cut-Through mode
• Transmitter-Controlled Flow Control mode versus Receiver-Controlled Flow Control mode
The following sections describe the various modes.
5.3.1Buffer Management Settings
There are three stages of buffering in the CPS-1848: Input buffer, Crosspoint buffer, and Final Buffer. The Input Buffer can
accept up to 12 packets.
Each Crosspoint Buffer can accept up to 9 packets. The final buffer can accept up to 34 packets.
5.3.1.1Buffer Allocation Size
There are two fields in the Switch Parameters 1 Register that configure the CPS-1848’s buffers. BUF_ALLOC configures both
the input buffer and the crosspoint buffer, while FB_ALLOC configures the final buffer if BUF_ALLOC is 0.
The configuration of these fields defines the minimum number of buffer pages that are allocated in a given buffer for each
priority. For more information about buffer availability and configuration, see Switch Fabric.
Input and crosspoint buffers have two buffer reservation modes. Single buffer reservation mode is used to minimize the
occurrences of congestion, while multi-buffer (double) reservation mode is used to provide high throughput for all priorities
when congestion occurs.
In certain traffic conditions, multi-buffer reservation ensures that line rate performance can be
maintained for higher priority packets in the event that congestion exists for low priority packets.
However, this lowers the ma ximum n umber of low priori ty packets that can be stored in the Input Buf fer
at a given time.
CPS-1848 User Manual96June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 97
5. Performance > Performance Measurements
Similarly, the final buffer can reserve 1 to 7 buffers per priority level using BUF_ALLOC and FB_ALLOC. The usage case is
same as the input buffers. The
The final buffer allocation has a greater impact for switch-to-switch links – endpoints can usually sink
packets at line rate.
5.3.1.2Switching Arbitration Mode
The switching arbitration mode is configured using Switch Parameters 1 Register.ARB_MODE.
5.3.1.2.1Input Scheduler
The input scheduler uses a fairness mechanism to prevent packets of the same priority from being starved. The fairness
mechanism uses a process known as “aging,” whereby each queue has an “age flag” that indicates if the queue is young or
old. Each queue also has a counter that is incremented each time a packet of that priority is tra nsferred from the ingress port to
the crosspoint buffer. Whenever the counter for a queue exceeds the value programmed in Switch Parameters 1
Register.INPUT_STARV_LIM, the queue is flagged as old. An old queue becomes young when the queue is empty.
The input scheduler determines which queue should be selected for the next transfer using the following algorithm:
1. Determine the highest priority packet(s) that can make forward progress.
2. For those queues at that priority, select the next queue in the round-robin among the old queues.
3. If no old queues exist, select the next queue in the round-robin among the young queues.
This same fairness mechanism is used to ensure multicast throughput. A multicast transaction can be sent simultaneously to
all target crosspoint buffers. If it is not sent simultaneously, the multicast transaction becomes old and is given priority over all
other flows in the queue of the same SRIO priority.
5.3.1.2.2Output Scheduler
The output scheduler uses a proportional fairness algorithm to select from mu ltiple crosspoint buffers in order to move a packet
to the final buffer. A round-robin mode is also available that instead of trying to achieve fairness for all outbound data, it
supports priority-based round-robin arbitration. The proportional fairness algorithm implements credit-based arbitration for
bandwidth allocation. The main purpose of the proportional fairness algorithm is to provide equal share of bandwidth to move
packets from a port's set of crosspoint buffers to its final buffer.
There are three parameters for configuring the fairness of the output arbitration algorithm:
• OUTPUT_CREDIT_RSVN in the Switch Parameters 1 Register
• OUTPUT_CREDIT_MIN and OUTPUT_CREDIT_MAX in the Switch Parameters 2 Register
The Output Credit Minimum/Maximum values set the bounds for the minimum and maximum nu mb er of cred it va lu es that ca n
accumulate. For normal operation, the default values in these registers do not need to be modified. The
OUTPUT_CREDIT_RSVN is used to adjust the credit allocation for each crosspoint buffer. There is no single value that is
optimal for all traffic conditions. However, in general a small value is optimal for smaller packets while for maximum sized
packets, the default value (2 maximum sized packets) should provide more proportional fairness. For mixed sized packets, a
value somewhere in between should produce more optimal results.
When using 17 or 18 ports of the CPS-1848, software must set the default credit count to be less than
455 for all ports using Switch Parameters 1 Register[OUTPUT_CREDIT_RSVN].
CPS-1848 User Manual97June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Page 98
5. Performance > Performance Measurements
5.3.2Store-and-Forward or Cut-Through Mode
The CPS-1848 supports two buffer management modes: Store-and-Forward and Cut-Through. Store-and-Forward mode
ensures an incoming packet is completely received before it is forwarded, while the use of Cut-Through mode forwards the
incoming packet as soon as possible.
The Store-and-Forward mode is the default mode. Use Cut-Through mode only if all active ports have the same capacity (for
example, all ports are 2x with a lane rate of 5 Gbps). The selection of Store-and-Forward and Cut-Through mode for all input
ports is made using CUT_THRU_EN in the Device Control 1 Register.
5.3.3Transmitter-Controlled or Receiver-Controlled Flow Control Mode
Receiver- and transmitter-controlled flow control are the mo st bas ic flow contr ol functi ons supported by RapidIO. One of these
functions is always active on a link. The choice between receiver- and transmitter-con trolled f low contro l is made automat icall y
as part of the Port and Lane Initialization Sequence.
5.3.3.1Transmitter-Controlled Flow Control
Transmitter-controlled flow control is the de fault mode for each por t. In this mode, the transmitter se nds packets only when th e
link partner has indicated that it has available input buffer space to receive them.
Buffer watermarks are used to manage the lin k-partners receive buf fers. It restricts th e transmission of lowe r priority packets to
the advantage of higher priority packets. Watermark settings directly affect throughput and indirectly latency and latency
variation. For more information on watermarks, see Port {0..17} Watermarks Register.
The watermark settings need to be configured based on the link partner's buffers and buffer
management.
The default watermark settings should be used for the fair share configuration for both S-RIO ingress buffer management and
S-RIO egress buffer management.
The default watermark settings are aligned with the RapidIO specification as follows:
• Last buffer is reserved for priority 3 packet
• Second last buffer is reserved for a priority 2 or 3 packet
• Third last buffer is reserved for a priority 1, 2 or 3 packet
• All other buffers may be used by packets of any priority
5.3.3.2Receiver-Controlled Flow Control
In receiver-controlled flow control, the receiver informs the transmitter when it cannot accept a packet by issuing a retry
(usually because of a lack of resources). The transmitter may resume packet transfer with a packet of higher priority than the
one that was retried, if such a packet is available.
CPS-1848 User Manual98June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
The performance numbers in this section use a simple measurement consisting of a port-to-port traffic model to characterize
the maximum throughput and minimum latency performance of the CPS-1848. In this case, all traffic is of the same size and
priority . Due to the simp le type of traf fic, the throughp ut and latency performance numbers do not change with the priority of the
packets.
5.4.1Packet Latency Performance
Table 30 shows the 4x, 2x, and 1x mode latency numbers under n o congestion with default arbi tration an d watermark settings.
The numbers are based on the same ingress and egress port widths and baud rates. The minimum latency is the minimum
time an ingress packet takes to appear on the egress port.
Cut-through mode is assumed to be configured when meas uring latency performance.
Table 30: 4x/2x/1x Latency Numbers Under No Congestion
Reference Clock
Ingress and Egress
Port Width
Ingress and Egress
Baud Rate (Gbaud)
Minimum Latency (ns)
156.25 MHz4x mode6.25106.0
5,0111.6
3.125128.4
2.5139.6
1.25195.6
2x mode6.25109.2
5.0115.6
3.125134.8
2.5147.6
1.25211.6
1x mode6.25115.6
5.0123.6
3.125147.6
1
2.5163.6
1.25243.6
1. Due to the asynchronous ability of the clock frequencies within the CPS-1848, the latency numbers can increase by as much
as two 312.5 MHz clock period and two reference clock (REF_CLK) period.
CPS-1848 User Manual99June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Packet throughput can also be limited by the speed at which a port can issue a Packet-Accepted control symbol to its link
partner. The RapidIO Specification (Rev. 2.1) require s a n e gress por t to reta in a tra nsmi tte d pa cket in its tra nsmi t bu ffer until it
has received a Packet-Accepted control symbol for the packet. Once th e transmitt ing port h as received the control symbo l, the
packet can be discarded from the buffer. If a system contains devices with varying EOP-Packet-Accepted latencies, in the
condition where the fabric can issue Packet-Accepted to the source of the packets in a shorter time relative to the speed at
which the target of the packets can, the f abric may congest and begin applyin g backpressure to the source in order to pace the
flow of packets to the target.
Table 31 lists the typical latency from the receipt of a packet EOP to the issuance of a Packet-Accepted control symbol.
Table 31: Typical Latency from Receipt of Packet EOP to Packet Accept Issuance
Packet throughput varies from the packet type, availability of resources within the CPS-1848, ability for source and destination
of traffic to generate or receive packets, retries of packet, and actual data rates.
A bubble is a control symbol inserted by an egress port into a packet to maintain the baud rate of the port. The appearance of
a bubble indicates that the egress port is under-utilized.
In a typical application, an S-RIO packet stream consists of an Start-of-Packet (SOP) control symbol followed by a payload.
However, with certain packet types, the CPS-1848 injects an End-of-Packet (EOP) control symbol following the payload.
All packets that are non-modulo-8 including header and payload that use an IDLE1
control symbol, will experience a slight performance degradation due to this bubble
phenomenon.
Another factor affecting the performance of an S-RIO link is the protocol’s requirement for the transmitting port to insert the
/K/R/R/R/ clock compensation sequence at least once every 5000 code groups. The insertion of the clock compensation
sequence can occur transparently or non-transparently depending on the proximity of outbound packets to the 5000 code
group boundary.
Based on the traffic on the link as the code group approaches 5000, one of the following behaviors will occur:
• If the link is transmitting IDLE characters, the clock compensation sequence will be inserted transparently into the idle
stream.
• If packets are being transmitted and there are gaps between the packets, the port will attempt to insert the clock
compensation sequence between the packet delimiting control symbols.
CPS-1848 User Manual100June 2, 2014
Formal StatusThis document is confidential and is subject to an NDA.
Integrated Device Technology
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.