Spruii0b-Microcontrollers Technical Reference PDF
Spruii0b-Microcontrollers Technical Reference PDF
List of Figures
1-1. F2838x Block Diagram ................................................................................................... 154
3-1. Device Interrupt Architecture ............................................................................................ 164
3-2. Interrupt Propagation Path............................................................................................... 165
3-3. System Error and CM Status Interrupt Sources ...................................................................... 170
3-4. Missing Clock Detection Logic .......................................................................................... 180
3-5. ERRORSTS Pin Diagram ............................................................................................... 182
3-6. Clocking System .......................................................................................................... 183
3-7. Single-ended 3.3V External Clock ...................................................................................... 184
3-8. External Crystal ........................................................................................................... 185
3-9. External Resonator ....................................................................................................... 185
3-10. AUXCLKIN ................................................................................................................. 186
3-11. PLL/AUXPLL .............................................................................................................. 190
3-12. Clock Configuration Semaphore (CLKSEM) State Transitions ..................................................... 193
3-13. CPU-Timers ............................................................................................................... 194
3-14. CPU-Timer Interrupts Signals and Output Signal .................................................................... 194
3-15. CPU Watchdog Timer Module ......................................................................................... 195
3-16. Memory Architecture ..................................................................................................... 199
3-17. Arbitration Scheme on Global Shared Memories ..................................................................... 202
3-18. Arbitration Scheme on Local Shared Memories ...................................................................... 202
3-19. ROM Parity Checking Logic ............................................................................................. 208
3-20. CLKSEM Register ........................................................................................................ 213
3-21. CLKCFGLOCK1 Register ................................................................................................ 214
3-22. CLKSRCCTL1 Register .................................................................................................. 217
3-23. CLKSRCCTL2 Register .................................................................................................. 219
3-24. CLKSRCCTL3 Register .................................................................................................. 221
3-25. SYSPLLCTL1 Register ................................................................................................... 222
3-26. SYSPLLMULT Register .................................................................................................. 223
3-27. SYSPLLSTS Register .................................................................................................... 225
3-28. AUXPLLCTL1 Register .................................................................................................. 226
3-29. AUXPLLMULT Register .................................................................................................. 227
3-30. AUXPLLSTS Register .................................................................................................... 229
3-31. SYSCLKDIVSEL Register ............................................................................................... 230
3-32. AUXCLKDIVSEL Register ............................................................................................... 231
3-33. PERCLKDIVSEL Register ............................................................................................... 232
3-34. XCLKOUTDIVSEL Register ............................................................................................. 233
3-35. CLBCLKCTL Register .................................................................................................... 234
3-36. LOSPCP Register ........................................................................................................ 236
3-37. MCDCR Register ......................................................................................................... 237
3-38. X1CNT Register........................................................................................................... 238
3-39. XTALCR Register ......................................................................................................... 239
3-40. ETHERCATCLKCTL Register........................................................................................... 240
3-41. CMCLKCTL Register ..................................................................................................... 241
3-42. CMRESCTL Register..................................................................................................... 243
3-43. CMTOCPU1NMICTL Register .......................................................................................... 244
3-44. CMTOCPU1INTCTL Register ........................................................................................... 245
3-45. PALLOCATE0 Register .................................................................................................. 246
3-46. CM_CONF_REGS_LOCK Register .................................................................................... 247
30-11. Initialization of a single Receive Object for Remote Frames ...................................................... 3073
30-12. CPU Handling of a FIFO Buffer (Interrupt Driven) .................................................................. 3078
30-13. Bit Timing ................................................................................................................. 3079
30-14. The Propagation Time Segment ...................................................................................... 3080
30-15. Synchronization on Late and Early Edges ........................................................................... 3082
30-16. Filtering of Short Dominant Spikes .................................................................................... 3083
30-17. Structure of the CAN Core's CAN Protocol Controller ............................................................. 3085
30-18. Data Transfer Between IF1 / IF2 Registers and Message RAM .................................................. 3089
30-19. Structure of a Message Object ........................................................................................ 3090
30-20. Message RAM Representation in Debug Mode ..................................................................... 3093
30-21. CAN_CTL Register ...................................................................................................... 3097
30-22. CAN_ES Register ....................................................................................................... 3100
30-23. CAN_ERRC Register ................................................................................................... 3102
30-24. CAN_BTR Register ..................................................................................................... 3103
30-25. CAN_INT Register ...................................................................................................... 3104
30-26. CAN_TEST Register .................................................................................................... 3105
30-27. CAN_PERR Register ................................................................................................... 3106
30-28. CAN_RAM_INIT Register .............................................................................................. 3107
30-29. CAN_GLB_INT_EN Register .......................................................................................... 3108
30-30. CAN_GLB_INT_FLG Register ......................................................................................... 3109
30-31. CAN_GLB_INT_CLR Register......................................................................................... 3110
30-32. CAN_ABOTR Register ................................................................................................. 3111
30-33. CAN_TXRQ_X Register ................................................................................................ 3112
30-34. CAN_TXRQ_21 Register ............................................................................................... 3113
30-35. CAN_NDAT_X Register ................................................................................................ 3114
30-36. CAN_NDAT_21 Register ............................................................................................... 3115
30-37. CAN_IPEN_X Register ................................................................................................. 3116
30-38. CAN_IPEN_21 Register ................................................................................................ 3117
30-39. CAN_MVAL_X Register ................................................................................................ 3118
30-40. CAN_MVAL_21 Register ............................................................................................... 3119
30-41. CAN_IP_MUX21 Register .............................................................................................. 3120
30-42. CAN_IF1CMD Register ................................................................................................. 3121
30-43. CAN_IF1MSK Register ................................................................................................. 3124
30-44. CAN_IF1ARB Register ................................................................................................. 3125
30-45. CAN_IF1MCTL Register ............................................................................................... 3127
30-46. CAN_IF1DATA Register ................................................................................................ 3129
30-47. CAN_IF1DATB Register ................................................................................................ 3130
30-48. CAN_IF2CMD Register ................................................................................................. 3131
30-49. CAN_IF2MSK Register ................................................................................................. 3134
30-50. CAN_IF2ARB Register ................................................................................................. 3135
30-51. CAN_IF2MCTL Register ............................................................................................... 3137
30-52. CAN_IF2DATA Register ................................................................................................ 3139
30-53. CAN_IF2DATB Register ................................................................................................ 3140
30-54. CAN_IF3OBS Register ................................................................................................. 3141
30-55. CAN_IF3MSK Register ................................................................................................. 3143
30-56. CAN_IF3ARB Register ................................................................................................. 3144
30-57. CAN_IF3MCTL Register ............................................................................................... 3145
30-58. CAN_IF3DATA Register ................................................................................................ 3147
30-59. CAN_IF3DATB Register ................................................................................................ 3148
34-45. Companding Processes for Reception and for Transmission ..................................................... 3423
34-46. Range of Programmable Data Delay ................................................................................. 3424
34-47. 2-Bit Data Delay Used to Skip a Framing Bit ........................................................................ 3424
34-48. Data Clocked Externally Using a Rising Edge and Sampled by the McBSP Receiver on a Falling Edge .. 3429
34-49. Frame of Period 16 CLKG Periods and Active Width of 2 CLKG Periods ....................................... 3430
34-50. Data Clocked Externally Using a Rising Edge and Sampled by the McBSP Receiver on a Falling Edge .. 3432
34-51. Unexpected Frame-Synchronization Pulse With (R/X) FIG = 0 ................................................... 3444
34-52. Unexpected Frame-Synchronization Pulse With (R/X) FIG = 1 ................................................... 3445
34-53. Companding Processes for Reception and for Transmission ..................................................... 3445
34-54. μ-Law Transmit Data Companding Format .......................................................................... 3446
34-55. A-Law Transmit Data Companding Format .......................................................................... 3446
34-56. Range of Programmable Data Delay ................................................................................. 3447
34-57. 2-Bit Data Delay Used to Skip a Framing Bit ........................................................................ 3447
34-58. Data Clocked Externally Using a Rising Edge and Sampled by the McBSP Receiver on a Falling Edge .. 3451
34-59. Frame of Period 16 CLKG Periods and Active Width of 2 CLKG Periods ....................................... 3451
34-60. Data Clocked Externally Using a Rising Edge and Sampled by the McBSP Receiver on a Falling Edge .. 3453
34-61. Four 8-Bit Data Words Transferred To/From the McBSP .......................................................... 3457
34-62. One 32-Bit Data Word Transferred To/From the McBSP .......................................................... 3457
34-63. 8-Bit Data Words Transferred at Maximum Packet Frequency ................................................... 3458
34-64. Configuring the Data Stream of as a Continuous 32-Bit Word .................................................... 3458
34-65. Receive Interrupt Generation .......................................................................................... 3459
34-66. Transmit Interrupt Generation ......................................................................................... 3459
34-67. Data Receive Registers (DRR2 and DRR1) ......................................................................... 3464
34-68. Data Transmit Registers (DXR2 and DXR1) ........................................................................ 3465
34-69. Serial Port Control 1 Register (SPCR1) ............................................................................. 3465
34-70. Serial Port Control 2 Register (SPCR2) ............................................................................. 3468
34-71. Receive Control Register 1 (RCR1) .................................................................................. 3470
34-72. Receive Control Register 2 (RCR2) .................................................................................. 3471
34-73. Transmit Control 1 Register (XCR1) .................................................................................. 3473
34-74. Transmit Control 2 Register (XCR2) ................................................................................. 3474
34-75. Sample Rate Generator 1 Register (SRGR1) ....................................................................... 3476
34-76. Sample Rate Generator 2 Register (SRGR2) ....................................................................... 3476
34-77. Multichannel Control 1 Register (MCR1) ............................................................................ 3478
34-78. Multichannel Control 2 Register (MCR2) ............................................................................. 3480
34-79. Pin Control Register (PCR) ........................................................................................... 3482
34-80. Receive Channel Enable Registers (RCERA...RCERH) ........................................................... 3484
34-81. Transmit Channel Enable Registers (XCERA...XCERH) .......................................................... 3486
34-82. McBSP Interrupt Enable Register (MFFINT) ........................................................................ 3488
35-1. PMBus Module Conceptual Block Diagram.......................................................................... 3494
35-2. Quick Command Message ............................................................................................. 3495
35-3. Send Byte Message with and without PEC ......................................................................... 3496
35-4. Receive Byte Message with and without PEC ...................................................................... 3496
35-5. Write Byte and Write Word Messages with and without PEC ..................................................... 3497
35-6. Read Byte and Read Word Messages with and without PEC..................................................... 3498
35-7. Process Call Message with and without PEC ....................................................................... 3499
35-8. Block Write Message with and without PEC ......................................................................... 3499
35-9. Block Read Message with and without PEC......................................................................... 3500
35-10. Block Write-Block Read Process Call Message with and without PEC .......................................... 3501
35-11. Alert Response Message............................................................................................... 3501
35-12. Extended Command Write Byte and Write Word Messages with and without PEC ........................... 3502
35-13. Extended Command Write Byte and Write Word Messages with and without PEC ........................... 3502
35-14. Group Command Message with and without PEC .................................................................. 3503
35-15. Quick Command Message ............................................................................................. 3504
35-16. Send Byte Message with and without PEC .......................................................................... 3504
35-17. Receive Byte Message with and without PEC ...................................................................... 3505
35-18. Write Byte and Write Word Messages with and without PEC ..................................................... 3505
35-19. Read Byte and Read Word Messages with and without PEC..................................................... 3506
35-20. Process Call Message with and without PEC ....................................................................... 3507
35-21. Block Write Message with and without PEC ......................................................................... 3507
35-22. Block Read Message with and without PEC......................................................................... 3508
35-23. Block Write-Block Read Process Call Message with and without PEC .......................................... 3509
35-24. Alert Response Message............................................................................................... 3509
35-25. Extended Command Write Message with and without PEC ....................................................... 3510
35-26. Extended Command Read Message with and without PEC ...................................................... 3510
35-27. Group Command Message with and without PEC .................................................................. 3511
35-28. PMBMC Register ........................................................................................................ 3514
35-29. PMBTXBUF Register ................................................................................................... 3515
35-30. PMBRXBUF Register ................................................................................................... 3516
35-31. PMBACK Register....................................................................................................... 3517
35-32. PMBSTS Register ....................................................................................................... 3518
35-33. PMBINTM Register ..................................................................................................... 3520
35-34. PMBSC Register ........................................................................................................ 3522
35-35. PMBHSA Register....................................................................................................... 3524
35-36. PMBCTRL Register ..................................................................................................... 3525
35-37. PMBTIMCTL Register .................................................................................................. 3527
35-38. PMBTIMCLK Register .................................................................................................. 3528
35-39. PMBTIMSTSETUP Register ........................................................................................... 3529
35-40. PMBTIMBIDLE Register ................................................................................................ 3530
35-41. PMBTIMLOWTIMOUT Register ....................................................................................... 3531
35-42. PMBTIMHIGHTIMOUT Register ...................................................................................... 3532
36-1. SCI CPU Interface ...................................................................................................... 3534
36-2. Serial Communications Interface (SCI) Module Block Diagram .................................................. 3536
36-3. Typical SCI Data Frame Formats ..................................................................................... 3537
36-4. Idle-Line Multiprocessor Communication Format ................................................................... 3539
36-5. Double-Buffered WUT and TXSHF ................................................................................... 3540
36-6. Address-Bit Multiprocessor Communication Format................................................................ 3541
36-7. SCI Asynchronous Communications Format ........................................................................ 3542
36-8. SCI RX Signals in Communication Modes ........................................................................... 3543
36-9. SCI TX Signals in Communications Mode ........................................................................... 3544
36-10. SCI FIFO Interrupt Flags and Enable Logic ......................................................................... 3547
36-11. SCICCR Register........................................................................................................ 3550
36-12. SCICTL1 Register ....................................................................................................... 3552
36-13. SCIHBAUD Register .................................................................................................... 3554
36-14. SCILBAUD Register .................................................................................................... 3555
36-15. SCICTL2 Register ....................................................................................................... 3556
36-16. SCIRXST Register ...................................................................................................... 3558
36-17. SCIRXEMU Register .................................................................................................... 3560
36-18. SCIRXBUF Register .................................................................................................... 3561
38-20. USB Transmit Dynamic FIFO Sizing Register (USBTXFIFOSZ) ................................................. 3661
38-21. USB Receive Dynamic FIFO Sizing Register (USBRXFIFOSZ) .................................................. 3662
38-22. USB Transmit FIFO Start Address Register (USBTXFIFOADDR]) ............................................... 3663
38-23. USB Receive FIFO Start Address Register (USBRXFIFOADDR) ................................................ 3664
38-24. USB Connect Timing Register (USBCONTIM) ...................................................................... 3665
38-25. USB Full-Speed Last Transaction to End of Frame Timing Register (USBFSEOF) ........................... 3666
38-26. USB Low-Speed Last Transaction to End of Frame Timing Register (USBLSEOF) ........................... 3666
38-27. USB Transmit Functional Address Endpoint n Registers (USBTXFUNCADDR[n]) ............................ 3667
38-28. USB Transmit Hub Address Endpoint n Registers (USBTXHUBADDR[n])...................................... 3668
38-29. USB Transmit Hub Port Endpoint n Registers (USBTXHUBPORT[n]) ........................................... 3669
38-30. USB Receive Functional Address Endpoint n Registers (USBFIFO[n]) ......................................... 3670
38-31. USB Receive Hub Address Endpoint n Registers (USBRXHUBADDR[n]) ...................................... 3671
38-32. USB Transmit Hub Port Endpoint n Registers (USBRXHUBPORT[n]) .......................................... 3672
38-33. USB Maximum Transmit Data Endpoint n Registers (USBTXMAXP[n]) ......................................... 3673
38-34. USB Control and Status Endpoint 0 Low Register (USBCSRL0) in Host Mode ................................ 3674
38-35. USB Control and Status Endpoint 0 Low Register (USBCSRL0) in Device Mode ............................. 3675
38-36. USB Control and Status Endpoint 0 High Register (USBCSRH0) in Host Mode ............................... 3676
38-37. USB Control and Status Endpoint 0 High Register (USBCSRH0) in Device Mode ............................ 3676
38-38. USB Receive Byte Count Endpoint 0 Register (USBCOUNT0)................................................... 3677
38-39. USB Type Endpoint 0 Register (USBTYPE0) ....................................................................... 3677
38-40. USB NAK Limit Register (USBNAKLMT) ............................................................................ 3678
38-41. USB Transmit Control and Status Endpoint n Low Register (USBTXCSRL[n]) in Host Mode ................ 3679
38-42. USB Transmit Control and Status Endpoint n Low Register (USBTXCSRL[n]) in Device Mode ............. 3680
38-43. USB Transmit Control and Status Endpoint n High Register (USBTXCSRH[n]) in Host Mode ............... 3682
38-44. USB Transmit Control and Status Endpoint n High Register (USBTXCSRH[n]) in Device Mode ............ 3683
38-45. USB Maximum Receive Data Endpoint n Registers (USBRXMAXP[n]) ......................................... 3684
38-46. USB Receive Control and Status Endpoint n Low Register (USBCSRL[n]) in Host Mode .................... 3685
38-47. USB Control and Status Endpoint n Low Register (USBCSRL[n]) in Device Mode ............................ 3686
38-48. USB Receive Control and Status Endpoint n High Register (USBCSRH[n]) in Host Mode ................... 3687
38-49. USB Control and Status Endpoint n High Register (USBCSRH[n]) in Device Mode ........................... 3688
38-50. USB Maximum Receive Data Endpoint n Registers (USBRXCOUNT[n]) ....................................... 3689
38-51. USB Host Transmit Configure Type Endpoint n Register (USBTXTYPE[n]) .................................... 3690
38-52. USB Host Transmit Interval Endpoint n Register (USBTXINTERVAL[n]) ....................................... 3691
38-53. USB Host Configure Receive Type Endpoint n Register (USBRXTYPE[n]) .................................... 3692
38-54. USB Host Receive Polling Interval Endpoint n Register (USBRXINTERVAL[n]) ............................... 3693
38-55. USB Request Packet Count in Block Transfer Endpoint n Registers (USBRQPKTCOUNT[n]) .............. 3694
38-56. USB Receive Double Packet Buffer Disable Register (USBRXDPKTBUFDIS) ................................. 3695
38-57. USB Transmit Double Packet Buffer Disable Register (USBTXDPKTBUFDIS) ................................ 3697
38-58. USB External Power Control Register (USBEPC) .................................................................. 3698
38-59. USB External Power Control Raw Interrupt Status Register (USBEPCRIS) .................................... 3700
38-60. USB External Power Control Interrupt Mask Register (USBEPCIM) ............................................. 3701
38-61. USB External Power Control Interrupt Status and Clear Register (USBEPCISC) .............................. 3702
38-62. USB Device RESUME Raw Interrupt Status Register (USBDRRIS) ............................................. 3703
38-63. USB Device RESUME Raw Interrupt Status Register (USBDRRIS) ............................................. 3704
38-64. USB Device RESUME Interrupt Status and Clear Register (USBDRISC)....................................... 3705
38-65. USB General-Purpose Control and Status Register (USBGPCS) ................................................ 3706
38-66. USB DMA Select Register (USBDMASEL) .......................................................................... 3707
38-67. USB Global Interrupt Enable (USBGLBINTEN) ..................................................................... 3709
38-68. USB Global Interrupt Flag (USBGLBINTFLG)....................................................................... 3710
List of Tables
2-1. C2000Ware Root Directories ............................................................................................ 156
3-1. Reset Signals.............................................................................................................. 160
3-2. PIE Channel Mapping .................................................................................................... 168
3-3. CPU Interrupt Vectors .................................................................................................... 171
3-4. PIE Interrupt Vectors ..................................................................................................... 172
3-5. Access to EALLOW-Protected Registers .............................................................................. 178
3-6. Clock Connections Sorted by Clock Domain .......................................................................... 188
3-7. Example Watchdog Key Sequences ................................................................................... 196
3-8. Local Shared RAM........................................................................................................ 200
3-9. Global Shared RAM ...................................................................................................... 200
3-10. Error Handling in Different Scenarios .................................................................................. 206
3-11. Mapping of ECC Bits in Read Data from ECC/Parity Address Map ............................................... 207
3-12. Mapping of Parity Bits in Read Data from ECC/Parity Address Map .............................................. 207
3-13. SYSCTRL Base Address Table (C28) ................................................................................. 210
3-14. CLK_CFG_REGS Registers ............................................................................................ 211
3-15. CLK_CFG_REGS Access Type Codes ................................................................................ 211
3-16. CLKSEM Register Field Descriptions .................................................................................. 213
3-17. CLKCFGLOCK1 Register Field Descriptions ......................................................................... 214
3-18. CLKSRCCTL1 Register Field Descriptions............................................................................ 217
3-19. CLKSRCCTL2 Register Field Descriptions............................................................................ 219
3-20. CLKSRCCTL3 Register Field Descriptions............................................................................ 221
3-21. SYSPLLCTL1 Register Field Descriptions ............................................................................ 222
3-22. SYSPLLMULT Register Field Descriptions............................................................................ 223
3-23. SYSPLLSTS Register Field Descriptions .............................................................................. 225
3-24. AUXPLLCTL1 Register Field Descriptions ............................................................................ 226
3-25. AUXPLLMULT Register Field Descriptions ........................................................................... 227
3-26. AUXPLLSTS Register Field Descriptions.............................................................................. 229
3-27. SYSCLKDIVSEL Register Field Descriptions ......................................................................... 230
3-28. AUXCLKDIVSEL Register Field Descriptions ......................................................................... 231
3-29. PERCLKDIVSEL Register Field Descriptions ......................................................................... 232
3-30. XCLKOUTDIVSEL Register Field Descriptions ....................................................................... 233
3-31. CLBCLKCTL Register Field Descriptions.............................................................................. 234
3-32. LOSPCP Register Field Descriptions .................................................................................. 236
3-33. MCDCR Register Field Descriptions ................................................................................... 237
3-34. X1CNT Register Field Descriptions .................................................................................... 238
3-35. XTALCR Register Field Descriptions .................................................................................. 239
3-36. ETHERCATCLKCTL Register Field Descriptions .................................................................... 240
3-37. CMCLKCTL Register Field Descriptions............................................................................... 241
3-38. CM_CONF_REGS Registers............................................................................................ 242
3-39. CM_CONF_REGS Access Type Codes ............................................................................... 242
3-40. CMRESCTL Register Field Descriptions .............................................................................. 243
3-41. CMTOCPU1NMICTL Register Field Descriptions .................................................................... 244
3-42. CMTOCPU1INTCTL Register Field Descriptions..................................................................... 245
3-43. PALLOCATE0 Register Field Descriptions ............................................................................ 246
3-44. CM_CONF_REGS_LOCK Register Field Descriptions .............................................................. 247
3-45. ACCESS_PROTECTION_REGS Registers ........................................................................... 248
3-46. ACCESS_PROTECTION_REGS Access Type Codes .............................................................. 248
8-20. Pipeline Activity For MRCNDD, Return Not Taken ................................................................ 1044
8-21. Pipeline Activity For MRCNDD, Return Taken ..................................................................... 1044
8-22. Pipeline Activity For MSTOP........................................................................................... 1049
8-23. CLA Base Address Table (C28 and CLA) ........................................................................... 1063
8-24. CLA_ONLY_REGS Registers ......................................................................................... 1064
8-25. CLA_ONLY_REGS Access Type Codes ............................................................................. 1064
8-26. _MVECTBGRNDACTIVE Register Field Descriptions ............................................................. 1065
8-27. _MPSACTL Register Field Descriptions ............................................................................. 1066
8-28. _MPSA1 Register Field Descriptions ................................................................................. 1067
8-29. _MPSA2 Register Field Descriptions ................................................................................. 1068
8-30. SOFTINTEN Register Field Descriptions ............................................................................ 1069
8-31. SOFTINTFRC Register Field Descriptions........................................................................... 1070
8-32. CLA_REGS Registers .................................................................................................. 1071
8-33. CLA_REGS Access Type Codes ..................................................................................... 1071
8-34. MVECT1 Register Field Descriptions ................................................................................. 1073
8-35. MVECT2 Register Field Descriptions ................................................................................. 1074
8-36. MVECT3 Register Field Descriptions ................................................................................. 1075
8-37. MVECT4 Register Field Descriptions ................................................................................. 1076
8-38. MVECT5 Register Field Descriptions ................................................................................. 1077
8-39. MVECT6 Register Field Descriptions ................................................................................. 1078
8-40. MVECT7 Register Field Descriptions ................................................................................. 1079
8-41. MVECT8 Register Field Descriptions ................................................................................. 1080
8-42. MCTL Register Field Descriptions .................................................................................... 1081
8-43. _MVECTBGRNDACTIVE Register Field Descriptions ............................................................. 1082
8-44. SOFTINTEN Register Field Descriptions ............................................................................ 1083
8-45. _MSTSBGRND Register Field Descriptions ......................................................................... 1084
8-46. _MCTLBGRND Register Field Descriptions ......................................................................... 1085
8-47. _MVECTBGRND Register Field Descriptions ....................................................................... 1086
8-48. MIFR Register Field Descriptions ..................................................................................... 1087
8-49. MIOVF Register Field Descriptions ................................................................................... 1091
8-50. MIFRC Register Field Descriptions ................................................................................... 1094
8-51. MICLR Register Field Descriptions ................................................................................... 1096
8-52. MICLROVF Register Field Descriptions .............................................................................. 1098
8-53. MIER Register Field Descriptions ..................................................................................... 1100
8-54. MIRUN Register Field Descriptions ................................................................................... 1103
8-55. _MPC Register Field Descriptions .................................................................................... 1105
8-56. _MAR0 Register Field Descriptions ................................................................................... 1106
8-57. _MAR1 Register Field Descriptions ................................................................................... 1107
8-58. _MSTF Register Field Descriptions ................................................................................... 1108
8-59. _MR0 Register Field Descriptions .................................................................................... 1110
8-60. _MR1 Register Field Descriptions .................................................................................... 1111
8-61. _MR2 Register Field Descriptions .................................................................................... 1112
8-62. _MR3 Register Field Descriptions .................................................................................... 1113
8-63. _MPSACTL Register Field Descriptions ............................................................................. 1114
8-64. _MPSA1 Register Field Descriptions ................................................................................. 1115
8-65. _MPSA2 Register Field Descriptions ................................................................................. 1116
8-66. CLA_SOFTINT_REGS Registers ..................................................................................... 1117
8-67. CLA_SOFTINT_REGS Access Type Codes ........................................................................ 1117
8-68. SOFTINTEN Register Field Descriptions ............................................................................ 1118
34-31. Register Bits Used to Set the Receive Data Delay ................................................................. 3423
34-32. Register Bits Used to Set the Receive Sign-Extension and Justification Mode................................. 3425
34-33. Example: Use of RJUST Field With 12-Bit Data Value ABCh..................................................... 3425
34-34. Example: Use of RJUST Field With 20-Bit Data Value ABCDEh ................................................. 3425
34-35. Register Bits Used to Set the Receive Interrupt Mode ............................................................. 3426
34-36. Register Bits Used to Set the Receive Frame Synchronization Mode .......................................... 3426
34-37. Select Sources to Provide the Receive Frame-Synchronization Signal and the Effect on the FSR Pin..... 3427
34-38. Register Bit Used to Set Receive Frame-Synchronization Polarity ............................................... 3428
34-39. Register Bits Used to Set the SRG Frame-Synchronization Period and Pulse Width ......................... 3429
34-40. Register Bits Used to Set the Receive Clock Mode ............................................................... 3430
34-41. Receive Clock Signal Source Selection .............................................................................. 3431
34-42. Register Bit Used to Set Receive Clock Polarity .................................................................... 3431
34-43. Register Bits Used to Set the Sample Rate Generator (SRG) Clock Divide-Down Value ..................... 3433
34-44. Register Bit Used to Set the SRG Clock Synchronization Mode ................................................. 3433
34-45. Register Bits Used to Set the SRG Clock Mode (Choose an Input Clock) ...................................... 3434
34-46. Register Bits Used to Set the SRG Input Clock Polarity ........................................................... 3435
34-47. Register Bits Used to Place Transmitter in Reset Field Descriptions ............................................ 3436
34-48. Register Bit Used to Enable/Disable the Digital Loopback Mode ................................................. 3437
34-49. Receive Signals Connected to Transmit Signals in Digital Loopback Mode .................................... 3437
34-50. Register Bits Used to Enable/Disable the Clock Stop Mode ...................................................... 3437
34-51. Effects of CLKSTP, CLKXP, and CLKRP on the Clock Scheme ................................................. 3438
34-52. Register Bits Used to Enable/Disable Transmit Multichannel Selection ......................................... 3439
34-53. Use of the Transmit Channel Enable Registers .................................................................... 3439
34-54. Register Bit Used to Choose 1 or 2 Phases for the Transmit Frame ............................................ 3442
34-55. Register Bits Used to Set the Transmit Word Length(s) ........................................................... 3442
34-56. Register Bits Used to Set the Transmit Frame Length ............................................................. 3443
34-57. How to Calculate Frame Length ....................................................................................... 3443
34-58. Register Bit Used to Enable/Disable the Transmit Frame-Synchronization Ignore Function ................. 3444
34-59. Register Bits Used to Set the Transmit Companding Mode ....................................................... 3445
34-60. Register Bits Used to Set the Transmit Data Delay ................................................................ 3446
34-61. Register Bit Used to Set the Transmit DXENA (DX Delay Enabler) Mode ...................................... 3448
34-62. Register Bits Used to Set the Transmit Interrupt Mode ............................................................ 3448
34-63. Register Bits Used to Set the Transmit Frame-Synchronization Mode .......................................... 3449
34-64. How FSXM and FSGM Select the Source of Transmit Frame-Synchronization Pulses ....................... 3449
34-65. Register Bit Used to Set Transmit Frame-Synchronization Polarity .............................................. 3450
34-66. Register Bits Used to Set SRG Frame-Synchronization Period and Pulse Width .............................. 3451
34-67. Register Bit Used to Set the Transmit Clock Mode ................................................................. 3452
34-68. How the CLKXM Bit Selects the Transmit Clock and the Corresponding Status of the MCLKX pin ......... 3452
34-69. Register Bit Used to Set Transmit Clock Polarity ................................................................... 3452
34-70. McBSP Emulation Modes Selectable with FREE and SOFT Bits of SPCR2.................................... 3454
34-71. Reset State of Each McBSP Pin ...................................................................................... 3454
34-72. Receive Interrupt Sources and Signals .............................................................................. 3459
34-73. Transmit Interrupt Sources and Signals .............................................................................. 3459
34-74. Error Flags ............................................................................................................... 3460
34-75. McBSP Mode Selection ................................................................................................ 3460
34-76. MCBSP Base Address Table (C28) .................................................................................. 3463
34-77. McBSP Register Summary............................................................................................. 3463
34-78. Serial Port Control 1 Register (SPCR1) Field Descriptions ....................................................... 3466
34-79. Serial Port Control 2 Register (SPCR2) Field Descriptions........................................................ 3468
38-19. USB Test Mode Register (USBTEST) in Host Mode Field Descriptions......................................... 3656
38-20. USB Test Mode Register (USBTEST) in Device Mode Field Descriptions ...................................... 3656
38-21. USB FIFO Endpoint n Register (USBFIFO[n]) Field Descriptions ................................................ 3658
38-22. USB Device Control Register (USBDEVCTL) Field Descriptions ................................................. 3659
38-23. USB Transmit Dynamic FIFO Sizing Register (USBTXFIFOSZ) Field Descriptions ........................... 3661
38-24. USB Receive Dynamic FIFO Sizing Register (USBRXFIFOSZ) Field Descriptions ............................ 3662
38-25. USB Transmit FIFO Start Address Register (USBTXFIFOADDR) Field Descriptions ......................... 3663
38-26. USB Receive FIFO Start Address Register (USBRXFIFOADDR) Field Descriptions .......................... 3664
38-27. USB Connect Timing Register (USBCONTIM) Field Descriptions................................................ 3665
38-28. USB Full-Speed Last Transaction to End of Frame Timing Register (USBFSEOF) Field Descriptions ..... 3666
38-29. USB Low-Speed Last Transaction to End of Frame Timing Register (USBLSEOF) Field Descriptions..... 3666
38-30. USB Transmit Functional Address Endpoint n Registers (USBTXFUNCADDR[n]) Field Descriptions ...... 3667
38-31. USB Transmit Hub Address Endpoint n Registers(USBTXHUBADDR[n]) Field Descriptions ................ 3668
38-32. USB Transmit Hub Port Endpoint n Registers(USBTXHUBPORT[n]) Field Descriptions ..................... 3669
38-33. USB Recieve Functional Address Endpoint n Registers(USBFIFO[n]) Field Descriptions .................... 3670
38-34. USB Receive Hub Address Endpoint n Registers(USBRXHUBADDR[n]) Field Descriptions ................ 3671
38-35. USB Transmit Hub Port Endpoint n Registers(USBRXHUBPORT[n]) Field Descriptions ..................... 3672
38-36. USB Maximum Transmit Data Endpoint n Registers(USBTXMAXP[n]) Field Descriptions ................... 3673
38-37. USB Control and Status Endpoint 0 Low Register(USBCSRL0) in Host Mode Field Descriptions .......... 3674
38-38. USB Control and Status Endpoint 0 Low Register (USBCSRL0) in Device Mode Field Descriptions ....... 3675
38-39. USB Control and Status Endpoint 0 High Register (USBCSRH0) in Host Mode Field Descriptions......... 3676
38-40. USB Control and Status Endpoint 0 High Register (USBCSRH0) in Device Mode Field Descriptions ...... 3676
38-41. USB Receive Byte Count Endpoint 0 Register (USBCOUNT0) Field Descriptions ............................ 3677
38-42. USB Type Endpoint 0 Register (USBTYPE0) Field Descriptions ................................................. 3677
38-43. USB NAK Limit Register (USBNAKLMT) Field Descriptions ...................................................... 3678
38-44. USB Transmit Control and Status Endpoint n Low Register (USBTXCSRL[n]) in Host Mode Field
Descriptions .............................................................................................................. 3679
38-45. USB Transmit Control and Status Endpoint n Low Register (USBTXCSRL[n]) in Device Mode Field
Descriptions .............................................................................................................. 3680
38-46. USB Transmit Control and Status Endpoint n High Register (USBTXCSRH[n]) in Host Mode Field
Descriptions .............................................................................................................. 3682
38-47. USB Transmit Control and Status Endpoint n High Register (USBTXCSRH[n]) in Device Mode Field
Descriptions .............................................................................................................. 3683
38-48. USB Maximum Receive Data Endpoint n Registers (USBTXMAXP[n]) Field Descriptions ................... 3684
38-49. USB Control and Status Endpoint n Low Register(USBCSRL[n]) in Host Mode Field Descriptions ......... 3685
38-50. USB Control and Status Endpoint 0 Low Register(USBCSRL[n]) in Device Mode Field Descriptions ...... 3686
38-51. USB Control and Status Endpoint n High Register (USBCSRH[n]) in Host Mode Field Descriptions ....... 3687
38-52. USB Control and Status Endpoint 0 High Register(USBCSRH[n]) in Device Mode Field Descriptions ..... 3688
38-53. USB Maximum Receive Data Endpoint n Registers (USBRXCOUNT[n]) Field Descriptions ................. 3689
38-54. USB Host Transmit Configure Type Endpoint n Register(USBTXTYPE[n]) Field Descriptions .............. 3690
38-55. USBTXINTERVAL[n] Frame Numbers ............................................................................... 3691
38-56. USB Host Transmit Interval Endpoint n Register(USBTXINTERVAL[n]) Field Descriptions .................. 3691
38-57. USB Host Configure Receive Type Endpoint n Register(USBRXTYPE[n]) Field Descriptions ............... 3692
38-58. USBRXINTERVAL[n] Frame Numbers ............................................................................... 3693
38-59. USB Host Receive Polling Interval Endpoint n Register(USBRXINTERVAL[n]) Field Descriptions.......... 3693
38-60. USB Request Packet Count in Block Transfer Endpoint n Registers (USBRQPKTCOUNT[n]) Field
Descriptions .............................................................................................................. 3694
38-61. USB Receive Double Packet Buffer Disable Register (USBRXDPKTBUFDIS) Field Descriptions .......... 3695
38-62. USB Transmit Double Packet Buffer Disable Register (USBTXDPKTBUFDIS) Field Descriptions .......... 3697
38-63. USB External Power Control Register (USBEPC) Field Descriptions ............................................ 3698
38-64. USB External Power Control Raw Interrupt Status Register (USBEPCRIS) Field Descriptions .............. 3700
38-65. USB External Power Control Interrupt Mask Register (USBEPCIM) Field Descriptions....................... 3701
38-66. USB External Power Control Interrupt Status and Clear Register (USBEPCISC) Field Descriptions ....... 3702
38-67. USB Device RESUME Raw Interrupt Status Register (USBDRRIS) Field Descriptions....................... 3703
38-68. USB Device RESUME Raw Interrupt Status Register (USBDRRIS) Field Descriptions....................... 3704
38-69. USB Device RESUME Interrupt Status and Clear Register (USBDRISC) Field Descriptions ................ 3705
38-70. USB General-Purpose Control and Status Register (USBGPCS) Field Descriptions .......................... 3706
38-71. USB DMA Select Register (USBDMASEL) Field Descriptions .................................................... 3707
38-72. USB Global Interrupt Enable (USBGLBINTEN) Field Descriptions ............................................... 3709
38-73. USB Global Interrupt Flag (USBGLBINTFLG) Field Descriptions ................................................ 3710
38-74. USB Global Interrupt Flag (USBGLBINTFLGCLR) Field Descriptions ........................................... 3711
38-75. USBDMARIS Register Field Descriptions............................................................................ 3712
38-76. USBDMAIM Register Field Descriptions ............................................................................. 3713
38-77. USBDMAISC Register Field Descriptions............................................................................ 3714
40-1. Connectivity Manager Architectural Features ....................................................................... 3718
41-1. CM Clock Connections ................................................................................................. 3725
41-2. CM Subsystem Exceptions ............................................................................................ 3727
41-3. Interrupts and NMI From CM to CPU1 ............................................................................... 3731
41-4. Interrupts and NMI From CM to CPU2 ............................................................................... 3731
41-5. NVIC Interrupt Mapping ................................................................................................ 3732
41-6. CM Message RAM Accesses .......................................................................................... 3739
41-7. Error Handling of Memories ............................................................................................ 3741
41-8. Mapping of ECC Bits in Read Data From ECC/Parity Address Map ............................................. 3742
41-9. Mapping of Parity Bits in Read Data From ECC/Parity Address Map ............................................ 3742
41-10. Key Attributes of Trace Data Export .................................................................................. 3746
41-11. CM SYSCTRL Base Address Table (CM) ........................................................................... 3747
41-12. CM_MEMCFG_REGS Registers ...................................................................................... 3748
41-13. CM_MEMCFG_REGS Access Type Codes ......................................................................... 3748
41-14. CxLOCK Register Field Descriptions ................................................................................. 3749
41-15. CxTEST Register Field Descriptions ................................................................................. 3750
41-16. CxINIT Register Field Descriptions ................................................................................... 3751
41-17. CxINITDONE Register Field Descriptions ........................................................................... 3752
41-18. CMMSGxLOCK Register Field Descriptions......................................................................... 3753
41-19. CMMSGxTEST Register Field Descriptions ......................................................................... 3754
41-20. CMMSGxINIT Register Field Descriptions ........................................................................... 3756
41-21. CMMSGxINITDONE Register Field Descriptions ................................................................... 3757
41-22. SxGROUP1_LOCK Register Field Descriptions .................................................................... 3758
41-23. SxGROUP1_TEST Register Field Descriptions ..................................................................... 3759
41-24. SxGROUP1_INIT Register Field Descriptions ...................................................................... 3761
41-25. SxGROUP1_INITDONE Register Field Descriptions ............................................................... 3762
41-26. ROM_LOCK Register Field Descriptions ............................................................................ 3763
41-27. ROM_TEST Register Field Descriptions ............................................................................. 3764
41-28. ROM_FORCE_ERROR Register Field Descriptions ............................................................... 3765
41-29. PERI_MEM_TEST_LOCK Register Field Descriptions ............................................................ 3766
41-30. PERI_MEM_TEST_CONTROL Register Field Descriptions ...................................................... 3767
41-31. CM_MEMORYDIAGERROR_REGS Registers ..................................................................... 3768
41-32. CM_MEMORYDIAGERROR_REGS Access Type Codes......................................................... 3768
41-33. DIAGERRFLG Register Field Descriptions .......................................................................... 3769
41-34. DIAGERRCLR Register Field Descriptions .......................................................................... 3770
Notational Conventions
This document uses the following conventions.
• Hexadecimal numbers may be shown with the suffix h or the prefix 0x. For example, the following
number is 40 hexadecimal (decimal 64): 40h or 0x40.
• Registers in this document are shown in figures and described in tables.
– Each register figure shows a rectangle divided into fields that represent the fields of the register.
Each field is labeled with its bit name, its beginning and ending bit numbers above, and its
read/write properties with default reset value below. A legend explains the notation used for the
properties.
– Reserved bits in a register figure can have one of multiple meanings:
• Not implemented on the device
• Reserved for future device expansion
• Reserved for TI testing
• Reserved configurations of the device that are not supported
– Writing nondefault values to the Reserved bits could cause unexpected behavior and should be
avoided.
Glossary
TI Glossary — This glossary lists and explains terms, acronyms, and definitions.
152 Read This First SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Chapter 1
SPRUII0B – May 2019 – Revised May 2020
The following chapters describe the C28 Configuration and System Resources.
SPRUII0B – May 2019 – Revised May 2020 ► C28 SYSTEM RESOURCES 153
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Technical Reference Manual Overview www.ti.com
CM Bus
Matrix
PF3 PF1 PF9 PF2 PF5 PF6 PF4 MUX MUX MUX
Result 8x CMPSS 2x I2C 8x FSIRX EMIF1 EMIF2 Data 2x CAN 1x USB 1x EtherCAT DMA
4x 16-bit / 12-bit ADC 3x DAC 4x SCI 2x FSITX 169x GPIO (2 Ports) 1x Ethernet
7x eCAP 2x McBSP Input XBAR 1x CM-I2C
(2 Hi-Res) 1x PMBUS Output XBAR 1x CM-UART
32x ePWM 4x SPI ePWM XBAR 1x SSI
Channels
(16 Hi-Res) 1x CAN-FD
3x eQEP
8x SD Filters
154 ► C28 SYSTEM RESOURCES SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Chapter 2
SPRUII0B – May 2019 – Revised May 2020
C2000Ware for C2000™ Microcontrollers is a cohesive set of development software and documentation
designed to minimize software development time. From device-specific drivers and libraries to device
peripheral examples, C2000Ware provides a solid foundation to begin development and evaluation of your
product.
SPRUII0B – May 2019 – Revised May 2020 C2000 Software Support 155
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Introduction www.ti.com
2.1 Introduction
C2000Ware for C2000 Microcontrollers is a cohesive set of development software and documentation
designed to minimize software development time. From device-specific drivers and libraries to device
peripheral examples, C2000Ware provides a solid foundation to begin development and evaluation of your
product.
C2000Ware can be downloaded from: www.ti.com/tool/C2000WARE
2.3 Documentation
Within C2000Ware, there is an extensive amount of development documentation ranging from board
design documentation, to library user's guides, to driver API documentation. The "boards" directory
contains all the hardware design, BOM, gerber files, and more for controlCARDs. To assist with locating
the necessary documentation, an HTML page is provided that contains a full list of all the documents in
the C2000Ware package. Locate this page in the "docs" directory.
2.4 Devices
C2000Ware contains the necessary software and documentation to jumpstart development for C2000
microcontrollers. Each device includes device-specific common source files, peripheral example projects,
bit field headers, and if available, a device peripheral driver library. Additionally, documentation is provided
for each device on how to set up a CCS project, as well as give an overview of all the included example
projects and assist with troubleshooting. For devices with a driver library, documentation is also included
that details all the peripheral APIs available.
To learn more about C2000 microcontrollers, visit www.ti.com/c2000.
2.5 Libraries
The libraries included in C2000Ware range from fixed point and floating point math libraries, to specialized
DSP libraries, as well as calibration libraries. Each library includes documentation and examples, where
applicable. Additionally, the flash API files and boot ROM source code are located in the "libraries"
directory.
156 C2000 Software Support SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Code Composer Studio™ Integrated Development Environment (IDE)
SPRUII0B – May 2019 – Revised May 2020 C2000 Software Support 157
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Chapter 3
SPRUII0B – May 2019 – Revised May 2020
This chapter explains system control and interrupts for the C28x cores found on this MCU. The system
control module configures and manages the overall operation of the device, and provides information
about the device status. Configurable features in system control include reset control, NMI operation,
peripheral interrupts, power control, clock control, and low-power modes.
158 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com C28x System Control Introduction
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 159
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Functional Description www.ti.com
• CPU ID: 16-bit location in OTP. The value at this location provides the information about CPU (CPU1
or CPU2).
3.3 Resets
This section explains the types and effects of the different resets on this device.
160 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Resets
NOTE: After a reset, the reset cause register (RESC) is updated with the reset cause. The bits in
this register maintain their state across multiple resets. These can only be cleared by a
power-on reset (POR) or by writing '1' to the corresponding bit in RESCCLR register (status
can be cleared by writing '1' to RESC register bits also). Each CPU has its own RESC
register, referred to as CPU1.RESC and CPU2.RESC.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 161
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Resets www.ti.com
162 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Resets
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 163
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Peripheral Interrupts www.ti.com
SYS_ERR
CPU1.CRC
CPU1.CLA1.CRC
CPU1.TINT0
CPU1.TIMER0
CPU1.LPMINT CPU1.NMIWD
LPM Logic CPU1.WAKEINT
CPU1.WD NMI
CPU1.WDINT CMNMIWDRSn CPU1
CPU1
ePIE
Peripherals
CPU2.NMIWD NMI
CPU2
CPU2.XINT1 Control
CPU2.XINT2 Control INT1
To
CPU2.XINT3 Control INT12
CPU2.XINT4 Control
CPU2.XINT5 Control CPU2
ePIE CPU2.TINT1
CPU2.LPMINT CPU2.TIMER1 INT13
LPM Logic CPU2.WAKEINT
CPU2.TINT2
CPU2.WD CPU2.TIMER2 INT14
CPU2.WDINT
CPU2.TINT0
CPU2.TIMER0
CPU2.CRC
CPU2.CLA1.CRC
SYS_ERR
164 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Peripheral Interrupts
PIEIERx.2
Peripheral 0 Set
PIEIFRx.2 1 PIEACK.x IER.x ST1.INTM
Interrupt
Latch 1 0 1
CPU
B 0 IFR.x 1 0
Interrupt
Latch
Logic
PIEIERx.16
0
Peripheral
PIEIFRx.16 1
Interrupt
Latch
P
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 165
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Peripheral Interrupts www.ti.com
When a peripheral generates an interrupt (on PIE group x, channel y), it triggers the following sequence of
events:
1. The interrupt is latched in PIEIFRx.y.
2. If PIEIERx.y is set, the interrupt propagates.
3. If PIEACK.x is clear, the interrupt propagates and PIEACK.x is set.
4. The interrupt is latched in IFR.x.
5. If IER.x is set, the interrupt propagates.
6. If INTM is clear, the CPU receives the interrupt.
7. Any instructions in the D2 or later stage of the pipeline are run to completion. Instructions in earlier
stages are flushed.
8. The CPU saves its context on the stack.
9. IFR.x and IER.x are cleared. INTM is set. EALLOW is cleared.
10. The CPU fetches the ISR vector from the PIE. PIEIFRx.y is cleared.
11. The CPU branches to the ISR.
The interrupt latency is the time between PIEIFRx.y latching the interrupt and the first ISR instruction
entering the execution stage of the CPU pipeline. The minimum interrupt latency is 14 SYSCLK cycles.
Wait states on the ISR or stack memories will add to the latency. External interrupts add a minimum of two
SYSCLK cycles for GPIO synchronization plus extra time for input qualification (if used). Loops created
using the C28x RPT instruction cannot be interrupted.
166 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Peripheral Interrupts
The PIEACK bit for the interrupt group must be cleared manually in user code. This is normally done at
the end of the ISR. If the PIEACK bit is not cleared, the CPU will not receive any further interrupts from
that group. This does not apply to the Timer1 and Timer2 interrupts, which do not go through the PIE.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 167
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Peripheral Interrupts www.ti.com
168 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Peripheral Interrupts
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 169
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Peripheral Interrupts www.ti.com
170 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Peripheral Interrupts
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 171
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Peripheral Interrupts www.ti.com
172 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Peripheral Interrupts
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 173
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Peripheral Interrupts www.ti.com
174 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Peripheral Interrupts
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 175
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Exceptions and Non-Maskable Interrupts www.ti.com
CPU Suspended When the CPU is suspended, the NMI watchdog counter will
be suspended.
Run-Free Mode When the CPU is placed in run-free mode, the NMI watchdog
counter will resume operation as normal.
176 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Exceptions and Non-Maskable Interrupts
Real-Time Single-Step Mode When the CPU is in real-time single-step mode, the NMI
watchdog counter will be suspended. The counter remains
suspended even within real-time interrupts.
Real-Time Run-Free Mode When the CPU is in real-time run-free mode, the NMI
watchdog counter operates as normal.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 177
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Exceptions and Non-Maskable Interrupts www.ti.com
NOTE: A RAM fetch access violation will trigger an ITRAP in addition to the normal peripheral
interrupt for RAM access violations. The CPU will handle the ITRAP first.
At reset, the EALLOW bit is cleared, enabling EALLOW protection. While protected, all writes to protected
registers by the CPU are ignored and only CPU reads, JTAG reads, and JTAG writes are allowed. If this
bit is set, by executing the EALLOW instruction, the CPU is allowed to write freely to protected registers.
After modifying registers, they can once again be protected by executing the EDIS instruction to clear the
EALLOW bit.
1. The primary clock (OSCCLK) clock keeps ticking a 7-bit counter (named as MCDPCNT). This counter
is asynchronously reset with XRSn.
2. The secondary clock (INTOSC1) clock keeps ticking a 13-bit counter (named as MCDSCNT). This
counter is asynchronously reset with XRSn.
3. Each time MCDPCNT overflows, the MCDSCNT counter is reset. Thus, if OSCCLK is present or not
slower than INTOSC1 by a factor of 64, MCDSCNT will never overflow.
4. If OSCCLK stops for some reason, or is slower than INTOSC1 by at least a factor of 64, the
MCDSCNT will overflow and a missing clock condition will be detected on OSCCLK.
5. The above check is continuously active, unless the MCD is disabled using MCDCR register (by making
the MCLKOFF bit 1)
6. If the circuit ever detects a missing OSCCLK, the following occurs:
• The MCDSTS flag is set.
• The MCDSCNT counter is frozen to prevent further missing clock detection.
• The CLOCKFAIL signal goes high, which generates TRIP events to PWM modules and fires NMIs
to CPU1.NMIWD and CPU2.NMIWD.
• PLL is forcefully bypassed and OSCCLK source is switched to INTOSC1 (System Clock
Frequency = INTOSC1 Freq (10Mhz)/SYSDIV). PLLMULT is zeroed out automatically in this case.
• While the MCDSTS bit is set, the OSCCLKSRCSEL bits have no effect and OSCCLK is forcefully
connected to INTOSC1.
• PLLRAWCLK going to the system is switched to INTOSC1 automatically.
7. If the MCLKCLR bit is written (this is a W=1 bit), MCDSTS bit will be cleared and OSCCLK source will
be decided by the OSCCLKSRCSEL bits. Writing to MCLKCLR will also clear the MCDPCNT and
MCDSCNT counters to allow the circuit re-evaluate missing clock detection. If user wants to lock the
PLL after missing clock detection, he needs to first switch the clock source to INTOSC1 (using
OSCCLKSRCSEL register), do a MCLKCLR and re-lock the PLL.
8. The MCD is enabled at power up. There is no support for missing clock detection if INTOSC2 is failed
from the device power-up.
Figure 3-4 shows the missing clock logic functional flow.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 179
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Safety Features www.ti.com
CLKSRCCTL1.OSCCLRSRCSEL /1,
Switch
SYSPLL /2,
Ckt
/4
Mux
PLLRAWCLK ..
(glitch- PLLSYSCLK
/124
PLL Locking free)
/126
Registers Control
Ckt
Clock Dividers
NOTE: On a complete clock failure when OSCCLK is dead, it may take a maximum time of 8192
INTOSC1 cycles (that is, 0.8192 ms) before CLOCKFAIL signal goes high, after which:
• NMI is generated
• OSCCLK is switched to INTOSC1
• PWM Trip happens
180 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Safety Features
3.6.4 NMIWDs
Each CPU has user-programmable NMIWD period registers, in which users can set a limit on how much
time they want to allocate for the device to acknowledge the NMI. If the NMI is not acknowledged, it will
cause a device reset.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 181
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Safety Features www.ti.com
CPU1.NMIWD.NMISHDFLG.Bit-0
CPU1.NMIWD.NMISHDFLG.Bit-1
CPU1.NMIWD.NMISHDFLG.Bit-15
CPU2.NMIWD.NMISHDFLG.Bit-0
CPU2.NMIWD.NMISHDFLG.Bit-1
CPU2.NMIWD.NMISHDFLG.Bit-15
3.7 Clocking
This section explains the clock sources and clock domains on this device, and how to configure them for
application use. Figure 3-6 provides an overview of the device's clocking system.
182 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Clocking
AUXCLKSRCCEL
SYS
SYS PLL PLLRAWCLK Divider
AUXPLLRAWCLK
USBBITCLK
CMPCLKCRx.PERx
CMDIVSRCSEL
WDCLK PLLSYSCLK
CMCLK CMCLK
DIVSRCSEL
DIVIDER
NMIWDs
Watch Dog GSx RAMs
Timers GPIOs CPU1 CPU2 ETHERCATCLK
MSG RAMs CM.PERx.SYSCLK
IPC
XBARs ECATDIV ETHERCATCLK
CPU2.CPUCLK Divider
AnalogSubsys
SystemControl CM.PERx.SYSCLK
EMIF1 FPU
CPU1.CPUCLK TMU PHYCLKEN
VCRC
CPU1.SYSCLK Flash
FPU
DCSM /4
TMU
CPU2.SYSCLK MxRAM
VCRC CPUTIMERx DxRAM ETHERCAT PALLOCATE0
Flash DMA ETHERCATPHYCLK
CPU1.PERx.SYSCLK
CPUTIMERx BootROM .USB
DCSM CLA1
DMA HWBIST
HWBIST XINT CPU1.PCLKCRx
CLA1 USB
PIE
XINT
LSx RAM
PIE
MSG RAMs CPU1_CPU2_CM
LSx RAM
MxRAM .PERx.SYSCLK
MSG RAMs
DxRAM CPU2.PCLKCRx
BGCRC
BootROM
ERAD CPU2.PERx.SYSCLK
BGCRC
ERAD CANx
EMIF2 PALLOCATE0.CANx
WD
CPUSELx.CANx
CPU1.SYSCLK
CPU2.SYSCLK
X1 (XTAL)
One per SYSCLK peripheral
CPU2.PCLKCRx CPUSELx AUXCLKIN
One per LSPCLK peripheral
CANxBITCLK
CPUSELx CPU1.PCLKCRx
CANxBIT Clock
LSP CPU1.PCLKCRx
LSPCLKDIV PERx.SYSCLK
Divider
PLLSYSCLK
CPU2.PCLKCRx
PERx.SYSCLK
EPWMCLKDIV
/1 HRCAL
PERx.LSPCLK ECAPx
/2
EQEPx
One per ePWM peripheral SDFMx
McBSPx Bit CPU1.PCLKCRx SPIx
SPIx Bit Clock SCIx Bit Clock CPUSELx
Clock SCIx
McBSPx
EPWMCLK ADC
CMPSSx
DACx
CPU2.PCLKCRx ePWM FSIx
HRPWM I2C
HRCAL PMBUS
CPU1.PCLKCRx DCCx
HRCALCLK
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 183
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Clocking www.ti.com
NOTE: INTOSC2's frequency tolerance is too loose to meet the timing requirements for some
peripherals such as CAN and USB, so an external clock must be used to support those
features.
VDDOSC X1 VSSOSC X2
3.3V NC
3.3V
Clk
VDD OUT
GND
3.3V Oscillator
184 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Clocking
• An external crystal. The crystal should be connected across X1 and X2 with its load capacitors
connected to VSSOSC as shown in Figure 3-8.
VDDOSC X1 VSSOSC X2
3.3V
Crystal
RD CL2 CL1
• An external resonator. The resonator should be connected across X1 and X2 with its ground
connected to VSSOSC as shown in Figure 3-9.
VDDOSC X1 VSSOSC X2
3.3V
Resonator
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 185
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Clocking www.ti.com
Device
GPIO133_AUXCLKIN
CLK
3.3V
VDD OUT
GND
3.3V OSCILLATOR
186 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Clocking
NOTE: Application needs to wait for 5 SYSCLK cycles after enabling clock to the peripherals when
using PCLKCRx.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 187
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Clocking www.ti.com
188 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Clocking
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 189
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Clocking www.ti.com
3.7.6 PLL/AUXPLL
The PLL/AUXPLL is responsible for synthesizing an output frequency from the input clock (from the
oscillator); Figure 3-11 shows a simple block diagram of the PLL/AUXPLL. The PLL/AUXPLL divides the
reference input for a lower frequency input into the PLL/AUXPLL by (REFDIV+1). Then multiplies this
internal frequency by IMULT to get the VCO output clock. The PLL/AUXPLL output is divided by (ODIV+1)
to generate PLLRAWCLK/AUXPLLRAWCLK which is further divided by
SYSCLKDIVSEL.PLLSYSCLKDIV/AUXCLKDIVSEL.AUXPLLDIV to generate PLLSYSCLK/AUXCLK
SYSPLL / AUXPLL
÷
IMULT
B15%%.- +/7.6
fPLLRAWCLK = ×
(4'(&+8 +1) (1&+8 +1)
190 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Clocking
NOTE: The system clock frequency (PLLSYSCLK) may not exceed the limit specified in the
datasheet. This limit does not allow for oscillator tolerance.
The clock source and PLL configuration registers are shared between the two CPUs (CPU1 and CPU2).
Register access is controlled by way of a semaphore, which is described in the Inter-Processor
Communication chapter.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 191
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Clocking www.ti.com
NOTE:
1. SYSPLL must be bypassed and powered down manually before changing the OSCCLK
source.
2. At least 120 CPU clock cycles delay is needed after bypassing PLL, that is,
SYSPLLCTL1.PLLCLKEN=0.
3. At least 60 CPU clock cycles delay is needed after PLL is powered down, that is,
SYSPLLCTL1.PLLEN=0.
4. At least 300 CPU clock cycles delay is needed after OSSCLK source is changed.
5. PLL SLIP bit is not supported. DCC should be used to check the validity of the PLL
clock. This feature is included as part of SysCtl_setClock() function inside C2000Ware.
NOTE:
1. AUXPLL must be bypassed and powered down manually before changing the
AUXOSCCLK source.
2. At least 120 CPU clock cycles delay is needed after bypassing PLL, that is,
AUXPLLCTL1.PLLCLKEN=0.
3. At least 60 CPU clock cycles delay is needed after PLL is powered down, that is,
AUXPLLCTL1.PLLEN=0.
4. At least 60 CPU clock cycles delay is needed after AUXOSSCLK source is changed.
5. AUXPLL SLIP bit is not supported. DCC should be used to check the validity of the
AUXPLL clock. This feature is included as part of SysCtl_setAuxClock() function inside
C2000Ware.
192 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Clock Configuration Semaphore
00 or 11 Either CPU may write to the semaphore. CPU1 has control of the clock
configuration registers by default. 00 is the reset state.
01 CPU2 has exclusive control of the clock configuration registers and exclusive write
access to the semaphore.
10 CPU1 has exclusive control of the clock configuration registers and exclusive write
access to the semaphore.
Each CPU is only allowed to take control of the clock configuration registers for itself. However, CPU1
may force both semaphores into the default state (00) at any time by putting CPU2 into reset. Figure 3-12
shows the allowed states and state transitions.
CPU2 cannot take control of the pump in this CPU1 cannot take control of the pump in this
state state
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 193
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
32-Bit CPU Timers 0/1/2 www.ti.com
Reset
Timer reload
Borrow
TINT
INT1 TINT0
to PIE TIMER0
INT12
28x
CPU
TINT1
INT13 TIMER1
TINT2
INT14 TIMER2
A The timer registers are connected to the memory bus of the C28x processor.
B The CPU Timers are synchronized to SYSCLKOUT.
194 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Watchdog Timers
WDCNTR
WDCLK 8-bit
(INTOSC1) WDCLK Watchdog Watchdog Overflow 1-count
Divider Prescaler Counter delay
SYSRSn
Clear
Count
WDWCR.MIN
WDKEY (7:0)
Out of Window Watchdog
Watchdog Good Key
Window
Key Detector Detector
WDCR(WDCHK(2:0))
55 + AA
Bad Key
WDRSTn Generate
1 0 1 512-WDCLK Watchdog Time-out
WDINTn Output Pulse
SCSR.WDENINT
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 195
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Watchdog Timers www.ti.com
Step 3 in Table 3-7 is the first action that enables the WDCNTR to be reset. The WDCNTR is not actually
reset until step 6. Step 8 again re-enables the WDCNTR to be reset and step 9 resets the WDCNTR.
Step 10 again re-enables the WDCNTR to be reset. Writing the wrong key value to the WDKEY in step 11
causes no action, however the WDCNTR is no longer enabled to be reset and the 0xAA in step 12 now
has no effect.
If the watchdog is configured to reset the device, then a WDCNTR overflow or writing the incorrect value
to the WDCR[WDCHK] bits will reset the device and set the watchdog flag (WDRSn) in the reset cause
register (RESC). After a reset, the program can read the state of this flag to determine whether the reset
was caused by the watchdog. After doing this, the program should clear WDRSn to allow subsequent
watchdog resets to be detected. Watchdog resets are not prevented when the flag is set.
196 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Watchdog Timers
CPU Suspended: When the CPU is suspended, the watchdog clock (WDCLK) is
suspended
Run-Free Mode: When the CPU is placed in run-free mode, then the watchdog module
resumes operation as normal.
Real-Time Single-Step Mode: When the CPU is in real-time single-step mode, the watchdog clock
(WDCLK) is suspended. The watchdog remains suspended even
within real-time interrupts.
Real-Time Run-Free Mode: When the CPU is in real-time run-free mode, the watchdog operates
as normal.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 197
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Low Power Modes www.ti.com
3.11.1 IDLE
IDLE is a standard feature of the C28x CPU. In this mode, the CPU clock is gated while all peripheral
clocks are left running. IDLE can thus be used to conserve power while a CPU is waiting for peripheral
events. When one CPU is in IDLE, there is no effect on the other CPU subsystem.
Any enabled interrupt will wake the CPU up from IDLE mode.
To enter IDLE mode, set LPMCR.LPM to 0x0 and execute the IDLE instruction.
3.11.2 STANDBY
STANDBY is a more aggressive low-power mode that gates both the CPU clock and any peripheral clocks
derived from the CPU's SYSCLK. The watchdog however, is left active. Like IDLE, this mode affects only
one CPU subsystem. The other CPU subsystem and all of its peripherals are unaffected. STANDBY is
best suited for an application where the wake-up signal will come from an external system (or CPU
subsystem) rather than a peripheral input.
An NMI (or optionally) a watchdog interrupt or a configured GPIO can wake the CPU from STANDBY
mode. Each GPIO from GPIO0-63 can be configured to wake the CPU when they are driven active low.
Upon wakeup, the CPU receives the WAKEINT interrupt if configured.
IPC interrupt 1 (flag 0), an NMI fired to the other CPU, or (optionally) a watchdog interrupt, will wake the
CPU subsystem up from STANDBY mode. Any of GPIO0-63 can also be configured to wake up the
subsystem when they are driven active low. Upon wakeup, the CPU receives a WAKEINT interrupt, even
if it was woken by an IPCINT1 signal.
To enter STANDBY mode:
1. Set LPMCR.LPM to 0x1.
2. Enable the WAKEINT interrupt in the PIE.
3. For watchdog interrupt wakeup, set LPMCR.WDINTE to 1 and configure the watchdog to generate
interrupts.
4. For GPIO wakeup, set GPIOLPMSEL0 and GPIOLPMSEL1 to connect the chosen GPIOs to the LPM
module, and set LPMCR.QUALSTDBY to select the number of OSCCLK cycles for input qualification.
5. Execute the IDLE instruction to enter STANDBY.
To wake up from Standby mode:
1. Configure the desired GPIO to trigger the wakeup.
2. Drive the selected GPIO signal low; it must remain low for the number of OSCCLK cycles specified in
the QUALSTDBY bits in the LPMCR register. If the signal is sampled high during this period, the count
restarts.
At the end of the qualification period, the PLL enables the CLKIN to the CPU and the WAKEINT interrupt
is latched in the PIE block. The WAKEINT interrupt can also triggered by IPCINT1 sent from the other
CPU and a watchdog interrupt.
The CPU is now out of STANDBY mode and can resume normal execution.
198 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Memory Controller Module
If CPU2 is in STANDBY mode, writing a 1 to the RESET bit of the CPU2RESCTL register will have no
effect. CPU2 may be reset by any Chip-level reset (POR, XRSn, CPU1.WDRSn, or CPU1.NMIWDRSn).
Alternately CPU2 may be woken up by any configured wake-up event.
If CPU2 is in STANDBY mode and the debugger is connected, executing a debug reset on CPU2 will
have no effect. In order to wake the CPU2 with the debugger, Click Run, Single Step, or Step over in the
Debug toolbar. CCS will prompt the user requesting to bring the CPU out of the low-power mode. Click
Yes. This will wake CPU2 from STANDBY and continue execution.
CPU1 To CPU2 To
CPU1 CLA1 CPU1 CLA1 CPU2 CLA1 CPU2 CLA1
MSGRAM MSGRAM
CPU1 TO CPU2
MSGRAM
CPU1 Dx RAM CPU2 Dx RAM
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 199
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Memory Controller Module www.ti.com
200 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Memory Controller Module
NOTE: Emulation/Debugger access is allowed from both the CPUs, irrespective of the GSxMSEL
setting.
Like other shared RAMs, these RAMs also have adifferent levels of access protection which can be
enabled or disabled by configuring specific bits in the GSxACCPROT registersmapped in each subsystem.
Master select and access protection configuration for each GSx RAM block can be individually locked by
the user to prevent further update to these bit fields. The user can also choose to permanently lock the
configuration to individual bit fields by setting the specific bit fields in the GSxCOMMIT register (refer to
the register description for more details). Once configuration is committed for a particular GSx RAM block,
it can not be changed further until CPUx.SYSRS is issued. Only the CPU1 SW can change the master
select configuration by writing into the GSxMSEL register, mapped on the CPU1. The GSxMSEL register,
which is mapped to the CPU2 subsystem, is a status register which can only be used by CPU2 SW to
know the master ownership for each GSx RAM block.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 201
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Memory Controller Module www.ti.com
CPU1.DMA READ/WRITE
RR-CPU2.DMA RR-CPU1.DMA
CPU2-DWRITE
CPU2
CPU2-DREAD Fixed Granted CPU2 Access
Priority
CPU2-PREAD/FETCH Arbiter
RR-CPU2
CPU2.DMA READ/WRITE
202 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Memory Controller Module
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 203
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Memory Controller Module www.ti.com
204 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Memory Controller Module
Note 1: All access protections are ignored during debug accesses. Write access to a protected
memory will go through when it is done via the debugger, irrespective of the write protection
configuration for that memory.
Note 2: In the case of local shared RAM, if memory is shared between the CPU and its CLA, the
CPU will only have access if the memory is configured as data RAM for the CLA. If it is
programmed as program RAM, all the access from the CPU (including read) and data access
from the CLA will be blocked, and violation will be considered as a non-master access
violation. If the memory is configured as dedicated to the CPU, all access from the CLA will
be blocked and the violation will be considered a non-master access violation.
NOTE: ECC/Parity for address is calculated for address offset only (based on RAM blocksize) of
corresponding 32bit aligned address. E.g. in case of LSx RAM which are 4KB RAM block,
only11 LSB of 32bit aligned address are used. So if address is 0x8F8F, address ECC (or
Parity) will becalculated for address 0x78E (11bit offset of 32bit aligned address). Similarly
for 8KB RAM block,12bit address offset will be used.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 205
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Memory Controller Module www.ti.com
NOTE: In the case of an uncorrectable error during fetch on the CPU, there is the possibility of
getting an ITRAP before an NMI exception, since garbage instructions enter into the CPU
pipeline before the NMI gets generated.
During debug accesses, correctable as well as uncorrectable errors are masked.
206 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Memory Controller Module
NOTE: The memory map for ECC/Parity bits and data bits are the same. The user must choose a
different test mode ("10") to access ECC/Parity bits.
The following tables show the bit mapping for the ECC and Parity bits when they are read in RAMTEST
mode using their respective addresses.
Table 3-11. Mapping of ECC Bits in Read Data from ECC/Parity Address Map
Data Bits Location in Read Data Content (ECC Memory)
6:0 ECC Code for lower 16 bits of data
7 Not Used
14:8 ECC Code for upper 16 bits of data
15 Not Used
22:16 ECC Code for address
31:23 Not Used
Table 3-12. Mapping of Parity Bits in Read Data from ECC/Parity Address Map
Data Bits Location in Read Data Content (Parity Memory)
0 Parity for lower 16 bits of data
7:1 Not Used
8 Parity for upper 16 bits of data
15:9 Not Used
16 Parity for address
31:17 Not Used
Following is the sequence that should be followed to test the ecc/parity logic.
• Set the test mode to “01” or “10” depending on whether data field or ecc/parity field needs to be
written.
• Write the data pattern into the memory.
• Set the test mode to “11” to read from memory and exercise the ecc/parity logic.
• Check the test log registers to verify the correctness of the logic.
• The above sequence can be repeated for any number of data patterns.
• Once the test is complete, re-initialize the locations used in test, and set the test mode to “00” which
would change the RAM block back into functional mode.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 207
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Memory Controller Module www.ti.com
Addr Parity Checker Addr Parity Checker Data[31:16] Parity Data[31:16] Parity Data[15:0] Parity Data[15:0] Parity
2 1 Checker 2 Checker 1 Checker 2 Checker 1
Parity Error Parity Error Parity Error Parity Error Parity Error Parity Error
p1
p1 p3 p5 p3
0
p5
p2 Uncorrectable error
p2 p4 p6 p4
1
p6
ForceError
NOTE: None of the masters should access the memory while initialization is taking place. If memory
is accessed before RAMINITDONE is set, the memory read/write as well as initialization will
not happen correctly.
208 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com JTAG
3.13 JTAG
Gel files perform certain initialization tasks. This helps the users in a debug environment. However, when
executed standalone (without the emulator connected) the application may not work as expected, since
there is no gel file to perform those initializations. For example, gel file disables watchdog. If user code
does not service the watchdog in the application (or fails to disable it), there will be a difference in how the
application behaves with the debugger and without.
Common tasks performed by the gel files (but not boot-ROM).
On Reset:
• Disable Flash ECC on some devices.
– Disabling ECC only when using Flash API functions, see the Flash API User Guide for details.
Otherwise, TI suggests to always program ECC and enable ECC-check.
• Disable Watchdog
• Enable CLA clock
• Select real-time mode or C28x mode
On Restart:
• Select real-time mode or C28x mode
• Clear IER and IFR
On Target Connect:
• Select real-time mode or C28x mode
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 209
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
PIEVECTTABLE_BAS
- PIE_VECT_TABLE 0x0000_0D00 YES YES - - -
E
ACCESS_PROTECTI ACCESSPROTECTIO
AccessProtectionRegs 0x0005_F500 YES YES - - YES
ON_REGS N_BASE
ClkCfgRegs CLK_CFG_REGS CLKCFG_BASE 0x0005_D200 YES YES - - YES
CmCfgRegs CM_CFG_REGS CMCONF_BASE 0x0005_DC00 YES - - - YES
CpuIdRegs CPU_ID_REGS CPUID_BASE 0x0007_0223 YES YES - - -
CpuSysRegs CPU_SYS_REGS CPUSYS_BASE 0x0005_D300 YES YES - - YES
CpuTimer0Regs CPUTIMER_REGS CPUTIMER0_BASE 0x0000_0C00 YES YES - - -
CpuTimer1Regs CPUTIMER_REGS CPUTIMER1_BASE 0x0000_0C08 YES YES - - -
CpuTimer2Regs CPUTIMER_REGS CPUTIMER2_BASE 0x0000_0C10 YES YES - - -
DevCfgRegs DEV_CFG_REGS DEVCFG_BASE 0x0005_D000 YES - - - YES
DMACLASRCSEL_RE DMACLASRCSEL_BA
DmaClaSrcSelRegs 0x0000_7980 YES YES - - YES
GS SE
MemCfgRegs MEM_CFG_REGS MEMCFG_BASE 0x0005_F400 YES YES - - YES
MEMORY_ERROR_R MEMORYERROR_BA
MemoryErrorRegs 0x0005_F540 YES YES - - YES
EGS SE
NmiIntruptRegs NMI_INTRUPT_REGS NMI_BASE 0x0000_7060 YES YES - - YES
PieCtrlRegs PIECTRL_REGS PIECTRL_BASE 0x0000_0CE0 YES YES - - -
ROM_PRE_FETCH_R ROMPREFETCH_BAS
RomPrefetchRegs 0x0005_F588 YES YES - - YES
EGS E
ROM_WAIT_STATE_ ROMWAITSTATE_BA
RomWaitStateRegs 0x0005_F580 YES YES - - YES
REGS SE
SyncSocRegs SYNC_SOC_REGS SYNCSOC_BASE 0x0000_7940 YES - - - YES
SYSPERIPH_SAC_RE
SysPeriphAcRegs PERIPHAC_BASE 0x0005_D500 YES YES - - YES
GS
SysStsRegs SYS_STS_REGS SYSSTAT_BASE 0x0005_D400 YES YES - - YES
TestErrorRegs TEST_ERROR_REGS TEST_ERROR_BASE 0x0005_F590 YES YES - - YES
UidRegs UID_REGS UID_BASE 0x0007_020C YES YES - - -
WdRegs WD_REGS WD_BASE 0x0000_7000 YES YES - - YES
XintRegs XINT_REGS XINT_BASE 0x0000_7070 YES YES - - YES
210 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
Complex bit access types are encoded to fit into small table cells. Table 3-15 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 211
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
212 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 213
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
214 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 215
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
216 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 217
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
218 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 219
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
220 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 221
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
222 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 223
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
224 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 225
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
226 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 227
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
228 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 229
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
230 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 231
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
232 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 233
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
234 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 235
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
236 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 237
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
238 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 239
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
240 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 241
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 3-39 shows the codes that are
used for access types in this section.
242 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 243
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
244 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 245
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
246 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 247
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 3-46 shows the codes that are
used for access types in this section.
248 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 249
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
250 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 251
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
252 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 253
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
254 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 255
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
256 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 257
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
258 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 259
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
260 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 261
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
262 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 263
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
264 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 265
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
266 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 267
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
268 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
Complex bit access types are encoded to fit into small table cells. Table 3-67 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 269
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
270 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 271
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
272 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 273
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
274 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 275
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
276 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 277
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
278 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 279
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
280 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 281
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
282 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 283
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
284 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 285
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
286 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 287
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
288 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 289
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
290 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 291
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
292 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 293
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
294 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 295
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
296 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 297
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
298 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 299
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
300 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 301
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
302 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 303
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
304 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 305
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
306 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 307
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
308 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 309
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
310 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 311
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
312 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
Complex bit access types are encoded to fit into small table cells. Table 3-99 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 313
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
7 6 5 4 3 2 1 0
CPUID
R-X
314 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 315
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 3-102 shows the codes that are
used for access types in this section.
316 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 317
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
318 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 319
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
320 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 321
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
322 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 323
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
324 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 325
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
326 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 327
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
328 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 329
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
330 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 331
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
332 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 333
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
334 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 335
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
336 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 337
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
338 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 339
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
340 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 341
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
342 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 343
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
344 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 345
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
346 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 347
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
348 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 349
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
350 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 351
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
352 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 353
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
354 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 355
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
356 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 357
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
358 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 359
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
360 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 361
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
362 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 363
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
364 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 365
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
366 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 367
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
368 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 369
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
370 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 371
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
372 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 373
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
374 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 375
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
376 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 377
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
378 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 379
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
380 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 381
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
382 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 383
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
384 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 385
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
386 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 387
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
388 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
Complex bit access types are encoded to fit into small table cells. Table 3-174 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 389
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
390 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 391
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
392 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 393
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
394 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 395
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
396 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
Complex bit access types are encoded to fit into small table cells. Table 3-181 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 397
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
398 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 399
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
400 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 401
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
402 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 403
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
404 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 405
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
406 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 407
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
408 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 409
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
410 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 411
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
412 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 413
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
414 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 415
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
416 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 417
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
418 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 419
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
420 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 421
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
422 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 423
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
424 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 425
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
426 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 427
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
428 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 429
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
430 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 431
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
432 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 433
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
434 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 435
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
436 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 437
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
438 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 439
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
440 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 441
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
442 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 443
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
444 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 445
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
446 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 447
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
448 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 449
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
450 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 451
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 3-232 shows the codes that are
used for access types in this section.
452 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 453
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
454 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 455
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
456 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 457
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
458 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 459
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 3-240 shows the codes that are
used for access types in this section.
460 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 461
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
462 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 463
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
464 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 465
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
466 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 467
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
468 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 469
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
470 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 471
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
472 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 473
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
474 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 475
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
476 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 477
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
478 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 479
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
480 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 481
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
482 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 483
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
484 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 485
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
486 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 487
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
488 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 489
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
490 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 491
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
492 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 493
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
494 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 495
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
496 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 497
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
498 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 499
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
500 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 501
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
502 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 503
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
504 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 505
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
506 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 507
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
508 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 509
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
510 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 511
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
512 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 513
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
514 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 515
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
15 14 13 12 11 10 9 8
RESERVED DMAWRPROT CPUWRPROT_
_CPUTOCM_M CPUTOCM_MS
SGRAM1 GRAM1
R-0h R/W-0h R/W-0h
7 6 5 4 3 2 1 0
RESERVED DMAWRPROT CPUWRPROT_
_CPUTOCM_M CPUTOCM_MS
SGRAM0 GRAM0
R-0h R/W-0h R/W-0h
516 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 517
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
518 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 519
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
520 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 521
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
522 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 523
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
524 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 525
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
526 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 527
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
528 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
Complex bit access types are encoded to fit into small table cells. Table 3-284 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 529
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
530 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 531
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
532 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 533
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
534 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 535
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
536 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 537
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
538 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 539
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
540 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 541
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
542 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 543
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
544 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 545
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
546 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 547
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
548 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
Complex bit access types are encoded to fit into small table cells. Table 3-304 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 549
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
550 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 551
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
552 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 553
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
554 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 555
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
556 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 557
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
558 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 559
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
560 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 561
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
562 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 563
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
564 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 565
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
566 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 567
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 3-318 shows the codes that are
used for access types in this section.
568 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 569
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
570 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 571
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
572 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 573
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
574 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 575
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
576 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 577
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
578 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 579
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
580 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 581
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
582 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 583
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
584 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 585
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
586 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 587
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
588 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 589
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
590 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 591
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
592 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 593
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
594 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 595
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
596 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 597
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
598 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 599
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
600 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 601
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
602 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 603
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
604 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 605
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
606 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 607
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 3-346 shows the codes that are
used for access types in this section.
608 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 609
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 3-349 shows the codes that are
used for access types in this section.
610 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 611
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 26-109 shows the codes that are
used for access types in this section.
612 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
15 14 13 12 11 10 9 8
RESERVED
R-0-0h
7 6 5 4 3 2 1 0
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 613
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
614 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 615
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
616 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 617
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 3-357 shows the codes that are
used for access types in this section.
618 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 619
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
620 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 621
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
622 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 623
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
624 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 625
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
626 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 627
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
628 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 629
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
630 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
Complex bit access types are encoded to fit into small table cells. Table 3-367 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 631
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
632 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 633
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
634 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
Complex bit access types are encoded to fit into small table cells. Table 3-372 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 635
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
636 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 637
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
638 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 639
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
640 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 641
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
642 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 643
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 3-382 shows the codes that are
used for access types in this section.
644 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 645
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
646 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 647
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
648 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 649
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
650 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
Complex bit access types are encoded to fit into small table cells. Table 3-389 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 651
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
652 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 653
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
654 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 655
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
656 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 657
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
658 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 659
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
660 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 661
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
662 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 663
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
664 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 665
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
666 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 667
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
668 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 669
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
670 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 671
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
672 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com System Control Registers
SPRUII0B – May 2019 – Revised May 2020 C28x System Control 673
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
System Control Registers www.ti.com
674 C28x System Control SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Chapter 4
SPRUII0B – May 2019 – Revised May 2020
C28x Processor
This chapter contains a short description of the C28x Processor and extended instruction sets.
Further information can be found in the following document(s):
TMS320C28x CPU and Instruction Set Reference Guide
TMS320C28x Extended Instruction Sets Technical Reference Manual
Accelerators: Enhancing the Capabilities of the C2000 MCU Family Technical Brief
TMS320C28x FPU Primer
4.1 Introduction
The C28x CPU is a 32-bit fixed-point processor. This device draws from the best features of digital signal
processing, reduced instruction set computing (RISC), microcontroller architectures, firmware, and tool
sets.
For more information on CPU architecture and instruction set, see the TMS320C28x CPU and Instruction
Set Reference Guide.
4.2 Features
The CPU features include a modified Harvard architecture and circular addressing. The RISC features are
single-cycle instruction execution, register-to-register operations, and modified Harvard architecture. The
microcontroller features include ease of use through an intuitive instruction set, byte packing and
unpacking, and bit manipulation. The modified Harvard architecture of the CPU enables instruction and
data fetches to be performed in parallel. The CPU can read instructions and data while it writes data
simultaneously to maintain the single-cycle instruction operation across the pipeline.
No changes have been made to existing instructions, pipeline or memory bus architecture. All TMU
instructions use the existing FPU register set (R0H to R7H) to carry out their operations.
For more information, see the TMS320C28x Extended Instruction Sets Technical Reference Manual.
This chapter describes the boot flow and functionality of the F2838x CPU1, CPU2, and Connectivity
Manager (CM) subsystems.
678 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Introduction
5.1 Introduction
The purpose of this chapter is to explain the boot read-only memory (ROM) code functionality for CPU1,
CPU2, and CM cores, including the boot procedure. It also discusses the functions and features of the
boot ROM code, and provides details about the ROM memory map contents. On every reset, the device
executes a boot sequence in the ROM depending on the reset type and boot configuration. This sequence
will initialize the device to run the application code. For CPU1, the boot ROM also contains peripheral
bootloaders which can be used to load an application into RAM. These bootloaders can be disabled for
safety or security purposes.
Refer to Table 5-1 for details on available boot features across CPU1, CPU2, and CM. Additionally,
Table 5-2 shows the sizes of the various ROMs on the device.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 679
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Device Boot Sequence www.ti.com
680 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Device Boot Modes
NOTE: The switch of flash boot mode to USB boot mode when flash is not programmed is only
available as part of the default boot mode table on an unprogrammed device. Once a
custom boot table is programmed in OTP or RAM, a selection of flash boot mode will not
switch to USB boot even when flash is unprogrammed.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 681
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Device Boot Configurations www.ti.com
NOTE: All the peripheral boot modes that are supported use the first instance of the peripheral
module (SCIA, SPIA, I2CA, CANA, and so forth). Whenever these boot modes are referred
to in this chapter, such as SCI boot, it is actually referring to the first module instance, which
means the SCI boot on the SCIA port. The same applies to the other peripheral boots.
NOTE: When using Z2-BOOTPINCONFIG, the configurations programmed in this location will take
priority over the configurations in Z1-BOOTPINCONFIG. It is recommended to use Z1-
BOOTPINCONFIG first and then if OTP configurations need to be altered, switch to using
Z2-BOOTPINCONFIG.
682 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Device Boot Configurations
NOTE: The following GPIOs cannot be used as a BMSP. If selected for a particular BMSP, the boot
ROM automatically selects the factory default GPIO (the factory default for BMSP2 is 0xFF,
which disables the BMSP).
• GPIO 42 and GPIO 43
• GPIO 169 to 255
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 683
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Device Boot Configurations www.ti.com
NOTE: When decoding the boot mode, BMSP0 is the least-significant-bit and BMSP2 is the most-
significant-bit of the boot table index value. It is recommended when disabling BMSPs to
start with disabling BMSP2. For example, in an instance when only using BMSP2 (BMSP1
and BMSP0 are disabled), then only the boot table indexes of 0 and 4 will be selectable. In
the instance when using only BMSP0, then the selectable boot table indexes are 0 and 1.
NOTE: The locations Z2-BOOTDEF-LOW and Z2-BOOTDEF-HIGH will be used instead of Z1-
BOOTDEF-LOW and Z1-BOOTDEF-HIGH locations when Z2-BOOTPINCONFIG is
configured. Refer to Section 5.4.1 for more details on BOOTPIN_CONFIG usage.
684 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Device Boot Configurations
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 685
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Device Boot Configurations www.ti.com
686 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Device Boot Flow Diagrams
HWBIST
Branch to Application Reset Cause
All Other
Resets
Disable Watchdog
XRS
Clear boot ROM Stack to zero Reset Cause
POR
RAM Initialization
Enable NMI
(all CPU1 RAMS)
DCSM Initialization
Device
Calibration
No Yes
Is Debugger
Standalone Boot Emulation Boot
Connected?
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 687
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Device Boot Flow Diagrams www.ti.com
Unsupported
(=0xA5) Check Key
Emulate Wait
EMU_BOOTPIN_
Standalone Boot Boot
CONFIG_KEY
(=0x5A)
Supported Unsupported
Boot Mode Decode Boot Mode
BOOTDEF options for Wait Boot
boot mode
No
Enable
Watchdog
Branch to Application
Code
688 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Device Boot Flow Diagrams
Any Other
Check Z2 Value Read OTP loaded registers:
OTP_BOOTPIN_
Z1-BOOTPINCONFIG
CONFIG_KEY
Any Other
Check Z1 Value Read factory default two boot mode
OTP_BOOTPIN_
select GPIO pins
(=0x5A) CONFIG_KEY
Yes
Is flash boot?
No
Unsupported Boot
Mode Decode
BOOTDEF table
for boot mode Set boot mode to USB boot
Enable
Watchdog
Enable
Watchdog
Branch to Application
Code
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 689
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Device Boot Flow Diagrams www.ti.com
CPU2
HWBIST Held in Reset
Reset
Software Release Request
Application Releases from CPU1
CPU2 from Reset
Debugger
CPU2 Boot Start
Reset
All other
Brand to HWBIST resets
Reset Cause
Application
Disable Watchdog
Yes
POR or
XRS
Reset Cause Flash Power Up
POR
RAM Initialization
Clear POR reset cause Enable NMI
(CPU2 RAMs)
Other boot
Failed
mode Send IPC notification to CPU1
No
Is Yes No
Copy length
IPC RAM Copy
Is valid?
Boot?
No Yes
690 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Device Boot Flow Diagrams
CM
CM NMI Watchdog Held in Reset
Reset (XRS)
Software Release Request
Application Releases from CPU1
CM from Reset
CM Software Reset
CM Boot Start
(SYSRESETREQ)
Disable Watchdog
Read
CPU1TOCMIPCBOOTMODE
Register
Yes
All other
resets
Reset Cause Flash Power Up
VECTRESET
All other
resets
Clear boot ROM Stack to zero Reset Cause
POR
RAM Initialization
Clear POR reset cause Enable NMI
(all CM RAMS)
Other boot
Failed
mode Send IPC notification to CPU1
No
Is Yes No
Copy length
IPC RAM Copy
Is valid?
Boot?
No Yes
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 691
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Device Reset and Exception Handling www.ti.com
692 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Device Reset and Exception Handling
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 693
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
NOTE: All boot configurations for CPU2 and CM are set through CPU1TOCPU2IPCBOOTMODE
and CPU1TOCMIPCBOOTMODE registers. See more details in Section 5.7.2.
694 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
NOTE: Regardless of reset source, CPU2 and CM each require their respective IPCFLG0 to be set
by CPU1 on every reset in order to confirm the contents of IPCBOOTMODE are valid and
continue their boot process.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 695
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
(1)
Values greater than 0xA are invalid.
696 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
NOTE: After CPU2 or CM sends the error IPC command to CPU1, CPU2/CM will set
CPU2TOCPU1IPCFLG0/CMTOCPU1IPCFLG0.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 697
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
698 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 699
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
700 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 701
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
702 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 703
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
NOTE:
• User must ensure that the flash sector that encompasses the configured flash
entry point and the first 16KB of flash is assigned to Zone 1 for any cores setup
to use secure flash boot.
• Recommended to use device JTAGLOCK when using secure flash boot.
• If only using secure flash boot for CPU2/CM, then the CPU1 application must
first dummy load the Z1 OTP CMACKEY before releasing CPU2/CM from reset.
When dummy loading, CPU1 application must first disable flash data caching,
then perform the dummy load, and then the application can re-enable flash data
caching.
704 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
MEMORY
{
/* Code Start branch to _c_int00 */
BEGIN : origin = 0x80000, length = 0x0002
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 705
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
5.7.7.2 Bootloaders
This section details the available boot modes that use a peripheral boot loader. For more specific details
on the supported data stream structure used by the following bootloaders, refer to Section 5.8.1.
SCIRXDA
Control Host
Subsystem (Data and program
boot ROM SCITXDA source)
706 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
The device communicates with the external host by communication through the SCI-A peripheral. The
autobaud feature of the SCI port is used to lock baud rates with the host. For this reason the SCI loader is
very flexible and you can use a number of different baud rates to communicate with the device.
After each data transfer, the bootloader will echo back the 8-bit character received to the host. This allows
the host to check that each character was received by the bootloader.
At higher baud rates, the slew rate of the incoming data bits can be affected by transceiver and connector
performance. While normal serial communications may work well, this slew rate may limit reliable auto-
baud detection at higher baud rates (typically beyond 100kbaud) and cause the auto-baud lock feature to
fail. To avoid this, the following is recommended:
1. Achieve a baud-lock between the host and SCI bootloader using a lower baud rate.
2. Load the incoming application or custom loader at this lower baud rate.
3. The host may then handshake with the loaded application to set the SCI baud rate register to the
desired high baud rate.
SCI_Boot
Valid No
Setup SCI-A for KeyValue Jump to Flash
1 stop, 8-bit character, (0x08AA)
no parity, use internal ?
SC clock, no loopback,
disable Rx/Tx interrupts
Yes
No Autobaud
lock
?
Return
Yes EntryPoint
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 707
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
Serial SPI
EEPROM
SPIA_SIMO
DIN
Control SPIA_SOMI
DOUT
subsystem SPIA_CLK CLK
SPIA_STE CS
The SPI boot ROM loader initializes the SPI module to interface to a serial SPI EEPROM or flash. Devices
of this type include, but are not limited to, the Xicor X25320 (4Kx8) and Xicor X25256 (32Kx8) SPI serial
SPI EEPROMs and the Atmel AT25F1024A serial flash.
The SPI boot ROM loader initializes the SPI with the following settings: FIFO enabled, 8-bit character,
internal SPICLK master mode and talk mode, clock phase = 1, polarity = 0, using the slowest baud rate.
If the download is to be performed from an SPI port on another device, then that device must be set up to
operate in the slave mode and mimic a serial SPI EEPROM. Immediately after entering the SPI_Boot
function, the pin functions for the SPI pins are set to primary and the SPI is initialized. The initialization is
done at the slowest speed possible. Once the SPI is initialized and the key value read, you could specify a
change in baud rate or low speed peripheral clock.
708 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
The data transfer is done in "burst" mode from the serial SPI EEPROM. The transfer is carried out entirely
in byte mode (SPI at 8 bits/character). A step-by-step description of the sequence follows:
Step 1. The SPI-A port is initialized
Step 2. The GPIO pin, as defined by SPI option configured from Table 5-61, is used as a chip-select
for the serial SPI EEPROM or flash
Step 3. The SPI-A outputs a read command for the serial SPI EEPROM or flash
Step 4. The SPI-A sends the serial SPI EEPROM an address 0x0000; that is, the host requires that
the EEPROM or flash must have the downloadable packet starting at address 0x0000 in the
EEPROM or flash. The loader is compatible with both 16-bit addresses and 24-bit addresses.
Step 5. The next word fetched must match the key value for an 8-bit data stream (0x08AA). The least
significant byte of this word is the byte read first and the most significant byte is the next byte
fetched. This is true of all word transfers on the SPI. If the key value does not match, then the
load is aborted and the bootloader jumps to flash.
Step 6. The next two bytes fetched can be used to change the value of the low speed peripheral
clock register (LOSPCP) and the SPI baud rate register (SPIBRR). The first byte read is the
LOSPCP value and the second byte read is the SPIBRR value. The next seven words are
reserved for future enhancements. The SPI bootloader reads these seven words and
discards them.
Step 7. The next two words makeup the 32-bit entry point address where execution will continue after
the boot load process is complete. This is typically the entry point for the program being
downloaded through the SPI port.
Step 8. Multiple blocks of code and data are then copied into memory from the external serial SPI
EEPROM through the SPI port. The blocks of code are organized in the standard data stream
structure presented earlier. This is done until a block size of 0x0000 is encountered. At that
point in time the entry point address is returned to the calling routine that then exits the
bootloader and resumes execution at the address specified.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 709
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
SPI_Boot
Enable EEPROM
Send read command and Read and discard 7
start at EEPROM address reserved words
0x0000
I2CA_SDA
Control
subsystem
I2CA_SCL
I2C
SDA EEPROM
If the download is to be performed from a device other than an EEPROM, then that device must be set up
to operate in the slave mode and mimic the I2C EEPROM. Immediately after entering the I2C boot
function, the GPIO pins are configured for I2C-A operation and the I2C is initialized. The following
requirements must be met when booting from the I2C module:
• The input frequency to the device must be in the appropriate range.
• The EEPROM must be at slave address 0x50.
710 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
NACK Yes
I2C_Boot
received Jump to Flash
?
Enable I2CA_SDA and
I2CA_SCL pins No
Enable pullups on
I2CA_SDA and I2CA_SCL Read KeyValue
Read EntryPoint
address
Return
EntryPoint
The bit-period prescalers (I2CCLKH and I2CCLKL) are configured by the bootloader to run the I2C at a 50
percent duty cycle at 100-kHz bit rate (standard I2C mode) when the system clock is 10 MHz. These
registers can be modified after receiving the first few bytes from the EEPROM. This allows the
communication to be increased up to a 400-kHz bit rate (fast I2C mode) during the remaining data reads.
Arbitration, bus busy, and slave signals are not checked. Therefore, no other master is allowed to control
the bus during this initialization phase. If the application requires another master during I2C boot mode,
that master must be configured to hold off sending any I2C messages until the application software
signals that it is past the bootloader portion of initialization.
The non-acknowledgment bit is checked only during the first message sent to initialize the EEPROM base
address. This is to make sure that an EEPROM is present at address 0x50 before continuing. If an
EEPROM is not present, the non-acknowledgment bit is not checked during the address phase of the data
read messages (I2C_Get Word). If a non acknowledgment is received during the data read messages, the
I2C bus will hang. Table 26-1 shows the 8-bit data stream used by the I2C.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 711
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
The I2C EEPROM protocol required by the I2C bootloader is shown in Figure 5-12 and Figure 5-13. The
first communication, which sets the EEPROM address pointer to 0x0000 and reads the KeyValue
(0x08AA) from it, is shown in Figure 5-12. All subsequent reads are shown in Figure 5-13 and are read
two bytes at a time.
NO ACK
START
WRITE
READ
STOP
MSB
MSB
ACK
ACK
ACK
ACK
ACK
LSB
LSB
SDA LINE
1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 01 0 0 0 0 1 0
READ
STOP
ACK
ACK
SDA LINE
1 01 0 0 0 0 1 0
712 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
The control subsystem communicates with the external host device by polling/driving the GPIO92 and
GPIO91 lines. The handshake protocol shown in Figure 5-15 must be used to successfully transfer each
word via GPIO [88,62:58,90:89]. This protocol is very robust and allows for a slower or faster host to
communicate with the master subsystem.
Two consecutive 8-bit words are read to form a single 16-bit word. The least significant byte (LSB) is read
first followed by the most significant byte (MSB). In this case, data is read from GPIO[88,62:58,90:89].
The 8-bit data stream is shown in Table 5-49.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 713
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
The device first signals the host that it is ready to begin data transfer by pulling the GPIO91 pin low. The
host load then initiates the data transfer by pulling the GPIO92 pin low. The complete protocol is shown in
Figure 5-15.
Host control
GPIO92
Device control
GPIO91
1. The device indicates it is ready to start receiving data by pulling the GPIO91 pin low.
2. The bootloader waits until the host puts data on GPIO [88,62:58,90:89]. The host signals to the device
that data is ready by pulling the GPIO92 pin low.
3. The device reads the data and signals the host that the read is complete by pulling GPIO91 high.
4. The bootloader waits until the host acknowledges the device by pulling GPIO92 high.
5. The device again indicates it is ready for more data by pulling the GPIO91 pin low.
This process is repeated for each data value to be sent.
Figure 5-16 shows an overview of the Parallel GPIO bootloader flow.
Parallel_Boot
Call
CopyData
Valid
No KeyValue
Return Flash EntryPoint (0x08AA)
?
Return
Yes EntryPoint
714 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
Figure 5-17 shows the transfer flow from the host side. The operating speed of the CPU and host are not
critical in this mode as the host will wait for the device and the device will in turn wait for the host. In this
manner the protocol will work with both a host running faster and a host running slower than the device.
Start transfer
No Device ready
(GPIO91=0)
?
Yes
Signal that data
is ready Acknowledge device
(GPIO92=0) (GPIO92=1)
More Yes
data
?
No
End transfer
Figure 5-18 shows the flow used to read a single word of data from the parallel port.
• 8-bit data stream
The 8-bit routine, shown in Figure 5-18, discards the upper eight bits of the first read from the port and
treats the lower eight bits masked with GPIO89 in bit position 7 and GPIO90 in bit position six as the
least significant byte (LSB) of the word to be fetched. The routine will then perform a second read to
fetch the most significant byte (MSB). The routine will then perform a second read to fetch the most
significant byte (MSB). It then combines the MSB and LSB into a single 16-bit value to be passed back
to the calling routine.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 715
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
Parallel_GetWordData A
8 bit
Data Data
ready No ready No
(GPIO92 = 0) (GPIO92 = 0)
? ?
Yes Yes
Host
ack No
(GPIO92 = 1)
? Host
ack No
Yes (GPIO92 = 1)
?
Yes
WordData = MSB:LSB
A
Return WordData
716 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
28x
CAN bus
CAN
host
28x
The bit timing registers are programmed in such a way that a 100 kbps bit rate is achieved with a 20 MHz
external oscillator, a shown in Table 5-50.
The SYSCLKOUT values shown are the reset values with the default PLL setting. The BRP and bit-time
values are hard-coded to 10 and 20, respectively.
NOTE: The CPU1 CAN boot loader uses XTAL as the bit clock source and INTOSC2 as the system
clock source.
Mailbox 1 is programmed with a standard MSGID of 0x1 for boot-loader communication. The CAN host
should transmit only two bytes at a time, LSB first and MSB next. For example, to transmit the word
0x08AA to the device, transmit AA first, followed by 08. The program flow of the CAN bootloader is
identical to the SCI bootloader. The data sequence for the CAN bootloader is shown in Table 5-51.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 717
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
718 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
Enumerate to host
PC with ID 1cbe:00ff Valid key
Jump to flash
(0x08AA)?
Host PC installs
drivers
MCU loads data into
RAM
MCU waits
for data MCU disconnects
from the USB bus
Return EntryPoint
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 719
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
Implementing PC-side USB software is not trivial. It is recommended to use the TI-provided tools and
drivers to load data in USB boot mode. Hex and binary files for loader tools can be generated from COFF
(.out) files using the hex2000 tool. To produce a plain binary file in the boot loader format, use the
following command line:
hex2000 -boot -b Program_to_Load.out -o Binary_Loader_Data.dat
For more information on hex2000, see the TMS320C28x Assembly Language Tools User's Guide.
NOTE: INTOSC2 must be enabled before invoking the USB boot loader. If INTOSC2 is not enabled,
the boot loader will hang. A debugger reset or SCC reset will not enable INTOSC2 if it has
been disabled by the application.
720 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
NOTE: These configurations only apply to CPU1. Refer to Section 5.7.2 for details on configuring
CPU2 and CM boot modes.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 721
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
722 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 723
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
NOTE: The application should disable interrupts before calling one of the EXEONLY function APIs.
If a vector fetch request is given by the CPU (C28 or CM, depending on the subsystem)
while its program counter (PC) is within the EXEONLY function API code of the Secure
ROM, a reset will fire (RSN if from C28; SYSRESETn if from CM). The consequence of this
is if an NMI or ITRAP or Bus Fault occurs while the PC is executing one of the EXEONLY
API functions, the NMI/ITRAP/Fault cannot be serviced because a reset will be fired to that
subsystem.
The secure copy code zone 1 and zone 2 functions allow EXEONLY Flash to be copied to EXEONLY
RAM in a secure manner. The source must be from EXEONLY Flash and the destination to EXEONLY
RAM. There is no support to copy EXEONLY ROM or EXEONLY RAM to RAM. Both Flash and RAM
must be set to EXEONLY and configured for the same zone. Additionally, the copy size must not cross
over the flash sector boundary. Any violations of these requirements will result in a failure status returned.
Upon successful copy of the data, the number of 16-bit words copied is returned.
Uint16 SecureCopyCodeZ1(Uint32 size : The number of 16-bit words to 0xXXXX : Returns the number of
size, Uint16 *dst, Uint16 *src) copy 16-bit words copied
The secure CRC calculation zone 1 and zone 2 functions allow a safety CRC check of EXEONLY
memory in a secure manner. The CRC length provided must be a value from 1 to 8 where 1 represents a
CRC size of 32 16-bit words and 8 represents a CRC size of 4096 16-bit words. The source address
specifies the starting address for the CRC and the destination address is the location that the resulting
CRC value will be stored. The source and destination memories must be configured for the same zone.
Additionally, the CRC length must not cross over the flash sector or RAM block boundary. On the CM,
there is an additional requirement that CRCLOCK isn't enabled. Any violations of these requirements will
result in a failure status returned. Upon successful CRC, the number of 16-bit words CRC'd is returned.
724 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
The calculate CMAC (Cipher-based Message Authentication Code) function calculates a CMAC tag
for a specified memory range using the user set CMAC key in OTP and returns pass/failure depending if
the calculated tag matches the golden tag. The memory address range provided must align to a 128-bit
boundary (split evenly into 128-bit blocks). If this requirement is not met, the function will return a status
indicating a boundary violation. When using the CM CMAC function, there is an additional requirement
that the CM must be running in privileged mode.
For generating the secure flash golden CMAC tag for CPU1 or CPU2, refer to the TMS320C28x Assembly
Language Tools User’s Guide within section Using Secure Flash Boot on TMS320F2838x Devices for
instructions.
For generating the secure flash golden CMAC tag for CM, refer to the ARM Assembly Language Tools
v19.6.0.STS, within section Using Secure Flash Boot on TMS320F2838x Devices for instructions.
The 128-bit golden CMAC tag:
• Must be stored inside of the memory address range that the calculation is performed on.
• Another golden CMAC tag (from a different memory address range that is being authenticated) can't
be nested inside a different CMAC authentication memory address range. (For example, a CMAC on
addresses 0x1000 to 0x2000 can't contain the golden CMAC tag for memory address ranges 0x4000
to 0x5000)
• The starting address of the golden CMAC tag must align to a 32-bit boundary, such as 0x80002 on
CPU1/CPU2 or 0x200004 on the CM.
• The CMAC calculation will treat the memory addresses containing the golden tag as all ones.
NOTE: If calling this function, without running the secure flash boot mode, then a dummy load must
be performed for the Z1 OTP CMACKEY before calling the function. Additionally, the flash
data caching should be disabled before performing the dummy load and then the flash data
caching can be re-enabled after the dummy load.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 725
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
726 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
NOTE: Only CPU1 performs clock configurations during boot up. CPU1 application configures
clocks for CPU2 and CM before releasing them from reset. Refer to Section 5.7.2 for more
details.
If the PLL is used during the CPU1 boot process, it will be bypassed by the boot ROM code
before branching to the user application.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 727
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
728 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 729
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Boot ROM Description www.ti.com
730 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Boot ROM Description
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 731
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Application Notes for Using the Bootloaders www.ti.com
732 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Application Notes for Using the Bootloaders
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 733
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Application Notes for Using the Bootloaders www.ti.com
After load has completed the following memory values will have been initialized as follows:
Location Value
0x3F9010 0x0001
0x3F9011 0x0002
0x3F9012 0x0003
0x3F9013 0x0004
0x3F9014 0x0005
0x3F8000 0x7700
0x3F8001 0x7625
PC Begins execution at 0x3F8000
734 ROM Code and Peripheral Booting SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Application Notes for Using the Bootloaders
The linker -m option can be used to generate a map file. This map file will show all of the sections that
were created, their location in memory and their length. It can be useful to check this file to make sure
that the initialized sections are where you expect them to be.
The linker -w option configures the linker to show if the linker assigned a section to a memory region
automatically. For example, if you have a section in your code called .TI.ramfunc.
3. Run the hex conversion utility.
Choose the appropriate options for the desired boot mode and run the hex conversion utility to convert
the ELF file produced by the linker to a boot table.
See the TMS320C28x Assembly Language Tools User's Guide and the TMS320C28x Optimizing C/C++
Compiler User's Guide for more information on the compiling and linking process.
Table 5-79 summarizes the hex conversion utility options available for the bootloader. See the
TMS320C28x Assembly Language Tools User's Guide for a detailed description of the hex2000
operations used to generate a boot table. Updates will be made to support the I2C boot. See the Codegen
release notes for the latest information.
SPRUII0B – May 2019 – Revised May 2020 ROM Code and Peripheral Booting 735
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Chapter 6
SPRUII0B – May 2019 – Revised May 2020
736 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Introduction
6.1 Introduction
The dual code security module (DCSM) is a security feature incorporated in this device. It prevents access
and visibility to on-chip secure memories (and other secure resources) by unauthorized persons. It also
prevents duplication and reverse-engineering of proprietary code. The term “secure” means that access to
on-chip secure memories and resources is blocked. The term “unsecure” means that access is allowed;
that is, the contents of the memory could be read by any means (for example, through a debugging tool
such as Code Composer Studio™ IDE.
There are two security zones, Zone1 (Z1) and Zone2 (Z2). Unlike earlier C2000 devices where each CPU
subsystem had two security zones, on this device, both security zones are shared by each CPU
subsystem. This means secure resources from each CPU subsystem are allocated to Zone1 or Zone2. All
the security configurations are controlled by the CPU1 subsystem only (programmed in CPU1 USER
OTP). Other CPU subsystems have only read access to these configurations via their own memory map
registers.
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 737
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Functional Description www.ti.com
NOTE: You should never program any other values in these fields. Failing any these conditions for a
RAM block/Flash sector will make that RAM block/Flash sector inaccessible.
738 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Functional Description
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 739
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Functional Description www.ti.com
NOTE: Password unlock only makes password locations non-secure. All other secure memories
remains secure as per security settings. Since password locations are non-secure, anyone
can read the password and make the zone un-secure by running through PMF, user must
program PSWDLOCK locations to lock the password before sending the device in field.
740 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Functional Description
6.2.6 JTAGLOCK
Sometimes you want to disable the JTAG access on a device to avoid any debug access to it. This can be
done by using the JTAGLOCK feature on this device. You need to follow a two step process to enable the
JTAGLOCK feature (both steps can be performed at the same time).
1. Program the JTAG passwords. This device has a 128-bit JTAG password that needs to be
programmed in Z1 USER OTP of CPU1. JTAG passwords are split into two parts, JTAGPSWDH and
JTAGPSWDL. JTAGPSWDH is part of Z1 USER OTP header and JTAGPSWDL is part of Z1 Zone
Select Block (ZSB). What this means is program JTAGPSWDH once and change the JTAGPSWDL
multiple times, if needed. Code Composer Studio has an integrated tool that you need to use to unlock
the JTAGLOCK on device.
2. After programming the JTAG passwords, you need to enable the JTAGLOCK module (JLM) by
programming bit [3:0] of Z1OTP_JLM_ENABLE with any value other than 0xF. It is recommended to
program all four bits with a value 0x0.
• ZxOTP_LINKPOINTER1 • ZxOTP_CSMPSWD1
• ZxOTP_LINKPOINTER2 • ZxOTP_CSMPSWD2
• ZxOTP_LINKPOINTER3 • ZxOTP_CSMPSWD3
• Z1OTP_JLM_ENABLE • ZxOTP_GRABSECT1
• ZxOTP_GPREG1 • ZxOTP_GRABSECT2
• ZxOTP_GPREG2 • ZxOTP_GRABSECT3
• ZxOTP_GPREG3 • ZxOTP_GRABRAM1
• ZxOTP_GPREG4 • ZxOTP_GRABRAM2
• ZxOTP_PSWDLOCK • ZxOTP_GRABRAM3
• ZxOTP_CRCLOCK • ZxOTP_EXEONLYSECT1
• Z1OTP_JTAGPSWDH • ZxOTP_EXEONLYSECT2
• Z1OTP_CMACKEY • ZxOTP_EXEONLYRAM1
• ZxOTP_CSMPSWD0 • Z1OTP_JTAGPSWDL
Since OTP cannot be erased, the following configurations are placed in zone select blocks of each zone’s
OTP Flash of both the banks:
• ZxOTP_CSMPSWD0 • ZxOTP_GRABRAM1
• ZxOTP_CSMPSWD1 • ZxOTP_GRABRAM2
• ZxOTP_CSMPSWD2 • ZxOTP_GRABRAM3
• ZxOTP_CSMPSWD3 • ZxOTP_EXEONLYSECT1
• ZxOTP_GRABSECT1 • ZxOTP_EXEONLYSECT2
• ZxOTP_GRABSECT2 • ZxOTP_EXEONLYRAM1
• ZxOTP_GRABSECT3 • Z1OTP_JTAGPSWDL
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 741
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Functional Description www.ti.com
The location of the valid zone select block in OTP is decided based on the value of three 14-bit link
pointers (Zx-LINKPOINTERx) programmed in the OTP of each zone. All OTP locations except link
pointers and Z1OTP_JLM_ENABLE locations are protected with ECC. Since the link pointer locations are
not protected with ECC, three link pointers are provided that need to be programmed with the same value.
The final value of the link pointer is resolved in hardware, when a dummy read is done to all the link
pointers, by comparing all the three values (bit-wise voting logic). Since in OTP, a ‘1’ can be flipped by the
user to ‘0’ but ‘0’ can not be flipped to ‘1’ (no erase operation for OTP), the most significant bit position in
the resolved link pointer which is ‘0’, defines the valid base address for the zone select block. While
generating the final link pointer value, if the bit pattern is not one of those listed in Figure 6-1, the final link
pointer value becomes All_1 (0xFFFF_FFFF), which selects the Zone-Select-Block1 (also known as the
default zone select block).
NOTE: Address locations for other security settings that are not part of Zone Select blocks can be
programmed only once; therefore, the user should program them towards end of the
development cycle.
742 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Functional Description
0x18 ZxOTP_EXEONLYRAM1
Zone Select Block 15
Zone Select Block 15 0x783E0
0x781E0 (32x16 Bits)
(32x16 Bits) 0x1a Reserved
0x1c ZxOTP_JTAGPSWDL0
0x1e ZxOTP_JTAGPSWDL1
NOTE: USER OTP is ECC protected. The user must program the ECC value while programming the
security setting in USER OTP. Failing to program the correct ECC value will cause the
device to be blocked permanently and the user will have to replace the device.
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 743
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Functional Description www.ti.com
6.2.8 C Code Example to Get Zone Select Block Addr for Zone1
unsigned long LinkPointer;
unsigned long *Zone1SelBlockPtr;
int Bitpos = 13;
int ZeroFound = 0;
// Read Z1-Linkpointer register of DCSM module.
LinkPointer = *(unsigned long *)0x5F000;
// Bits 31 to 15 as most-sigificant 0 are reserved LinkPointer options
LinkPointer = LinkPointer << 18;
while ((ZeroFound == 0) && (bitpos > -1))
{
if ((LinkPointer & 0x80000000) == 0)
{
ZeroFound = 1;
Zone1SelBlockPtr = (unsigned long *)(0x78000 + ((bitpos + 2)*32));
}
else
{
bitpos--;
LinkPointer = LinkPointer << 1;
}
}
if (ZeroFound == 0)
{
//Default in case there is no zero found.
Zone1SelBlockPtr = (unsigned long *)0x78020;
}
744 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com SecureCRC
6.5 SecureCRC
Since reads from EXEONLY memories are not allowed, the user cannot calculate the CRC on content in
EXEONLY memories using the CRC engine available on this device (e.g. VCUCRC, GCRC) or software.
In some safety-critical applications, the user may have to calculate the CRC even on these memories. To
enable this without compromising on security, TI provides specific “SecureCRC” library functions for each
zone. These functions do the CRC calculation in highly secure environment and allow a CRC calculation
to be performed only when the following conditions are met:
• The source address should be modulo the number of words (based on length_id) for which the CRC
needs to be calculated.
• The destination address should belong to the same zone as the source address.
For further usage of these library functions, see the device-specific Boot ROM documentation.
NOTE: The user must disable all the interrupts before calling the secure functions in ROM. If there is
a vector fetch during secure function execution, the CPU gets reset immediately.
Disclaimer: The Code Security Module (CSM) included on this device was designed to password protect
the data stored in the associated memory and is warranted by Texas Instruments (TI), in accordance with
its standard terms and conditions, to conform to TI's published specifications for the warranty period
applicable for this device. TI DOES NOT, HOWEVER, WARRANT OR REPRESENT THAT THE CSM
CANNOT BE COMPROMISED OR BREACHED OR THAT THE DATA STORED IN THE ASSOCIATED
MEMORY CANNOT BE ACCESSED THROUGH OTHER MEANS. MOREOVER, EXCEPT AS SET
FORTH ABOVE, TI MAKES NO WARRANTIES OR REPRESENTATIONS CONCERNING THE CSM OR
OPERATION OF THIS DEVICE, INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL TI BE LIABLE FOR ANY
CONSEQUENTIAL, SPECIAL, INDIRECT, INCIDENTAL, OR PUNITIVE DAMAGES, HOWEVER
CAUSED, ARISING IN ANY WAY OUT OF YOUR USE OF THE CSM OR THIS DEVICE, WHETHER OR
NOT TI HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. EXCLUDED DAMAGES
INCLUDE, BUT ARE NOT LIMITED TO LOSS OF DATA, LOSS OF GOODWILL, LOSS OF USE OR
INTERRUPTION OF BUSINESS OR OTHER ECONOMIC LOSS.
Security Initialization
• Dummy Read to address location of SECDC (0x703F0, TI-reserved register) in TI OTP
• Dummy Read to address location of Z1OTP_LINKPOINTER1 in Z1 OTP
• Dummy Read to address location of Z1OTP_LINKPOINTER2 in Z1 OTP
• Dummy Read to address location of Z1OTP_LINKPOINTER3 in Z1 OTP
• Dummy Read to address location of Z2OTP_LINKPOINTER1 in Z2 OTP
• Dummy Read to address location of Z2OTP_LINKPOINTER2 in Z2 OTP
• Dummy Read to address location of Z2OTP_LINKPOINTER3 in Z2 OTP
• Dummy Read to address location Z1OTP_JLM_ENABLE in Z1 OTP
• Dummy Read to address location of Z1OTP_GPREG1, Z1OTP_GPREG2, Z1OTP_GPREG3,
Z1OTP_GPREG4 in Z1 OTP
• Dummy Read to address location of Z1OTP_PSWDLOCK in Z1 OTP
• Dummy Read to address location of Z1OTP_CRCLOCK in Z1 OTP
• Dummy Read to address location of Z1OTP_JTAGPSWDH0, Z1OTP_JTAGPSWDH1 in Z1 OTP
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 745
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CSM Impact on Other On-Chip Resources www.ti.com
NOTE: Security Initialization is done by CPU1 BOOTROM code on all the resets (as part of device
initialization) which assert CPU1 SYSRSn. This will not be part of user application code
The order of initialization matters hence if a memory watch window with the USER OTP
address is opened in the debugger (CCS) the security initialization could occur in an
incorrect order, locking the device down. To avoid this, user should not keep a memory
window with USER OTP address opened in the debugger(CCS) when performing a reset.
746 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Incorporating Code Security in User Applications
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 747
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Incorporating Code Security in User Applications www.ti.com
START
NO
Correct
Password ?
YES
Zone Unsecure
748 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Incorporating Code Security in User Applications
NOTE: User must use the FORCESEC feature to resecure the zone from same subsystem which
has unlocked the zone. E.g. if CM subsystem has unlocked the Zone1 by entering the CSM
password in CSMKEYx then only CM subsystem should resecure the Zone1 using
FORCESEC feature.
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 749
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Incorporating Code Security in User Applications www.ti.com
START
NO
Correct
Password ?
YES
750 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Incorporating Code Security in User Applications
NOTE: If the CM subsystem is out of reset when ECSL is unlocked by any of the subsystem, one
must reset the CM before trying to lock the ECSL again. Unless CM is reset, ECSL can not
be locked again by entering the incorrect KEY or using the FORCESEC.
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 751
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
NOTE: Except SECERRSTAT, SECERRCLR and SECERRFRC registers, all other registers (non-
OTP space) are mapped on all three subsystem. For CM subsystem, x8 offset need to be
used.
752 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
Complex bit access types are encoded to fit into small table cells. Table 6-7 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 753
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.2.1 FLSEM Register (Offset (x8) = 0h, Offset (x16) = 0h) [reset = 0h]
FLSEM is shown in Figure 6-5 and described in Table 6-8.
Return to the Summary Table.
Flash Wrapper Semaphore Register
754 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.2.2 SECTSTAT1 Register (Offset (x8) = 10h, Offset (x16) = 8h) [reset = 0h]
SECTSTAT1 is shown in Figure 6-6 and described in Table 6-9.
Return to the Summary Table.
Flash Sectors Status Register 1
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 755
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
756 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.2.3 SECTSTAT2 Register (Offset (x8) = 14h, Offset (x16) = Ah) [reset = 0h]
SECTSTAT2 is shown in Figure 6-7 and described in Table 6-10.
Return to the Summary Table.
Flash Sectors Status Register 2
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 757
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
758 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.2.4 SECTSTAT3 Register (Offset (x8) = 18h, Offset (x16) = Ch) [reset = 0h]
SECTSTAT3 is shown in Figure 6-8 and described in Table 6-11.
Return to the Summary Table.
Flash Sectors Status Register 3
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 759
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
760 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.2.5 RAMSTAT1 Register (Offset (x8) = 20h, Offset (x16) = 10h) [reset = 0h]
RAMSTAT1 is shown in Figure 6-9 and described in Table 6-12.
Return to the Summary Table.
RAM Status Register 1
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 761
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
762 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.2.6 RAMSTAT2 Register (Offset (x8) = 24h, Offset (x16) = 12h) [reset = 0h]
RAMSTAT2 is shown in Figure 6-10 and described in Table 6-13.
Return to the Summary Table.
RAM Status Register 2
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 763
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
764 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 765
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.2.7 RAMSTAT3 Register (Offset (x8) = 28h, Offset (x16) = 14h) [reset = 0h]
RAMSTAT3 is shown in Figure 6-11 and described in Table 6-14.
Return to the Summary Table.
RAM Status Register 3
766 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 767
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.2.8 SECERRSTAT Register (Offset (x8) = 30h, Offset (x16) = 18h) [reset = 0h]
SECERRSTAT is shown in Figure 6-12 and described in Table 6-15.
Return to the Summary Table.
Security Error Status Register
768 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.2.9 SECERRCLR Register (Offset (x8) = 34h, Offset (x16) = 1Ah) [reset = 0h]
SECERRCLR is shown in Figure 6-13 and described in Table 6-16.
Return to the Summary Table.
Security Error Clear Register
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 769
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.2.10 SECERRFRC Register (Offset (x8) = 38h, Offset (x16) = 1Ch) [reset = 0h]
SECERRFRC is shown in Figure 6-14 and described in Table 6-17.
Return to the Summary Table.
Security Error Force Register
770 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
Complex bit access types are encoded to fit into small table cells. Table 6-19 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 771
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
772 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 773
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
774 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 775
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
776 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 777
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
778 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 779
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
780 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 781
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
782 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 783
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
784 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 785
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
786 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 787
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 6-37 shows the codes that are
used for access types in this section.
788 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 789
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.1 Z1_LINKPOINTER Register (Offset (x8) = 0h, Offset (x16) = 0h) [reset = FFFFC000h]
Z1_LINKPOINTER is shown in Figure 6-31 and described in Table 6-38.
Return to the Summary Table.
Zone 1 Link Pointer
790 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.2 Z1_OTPSECLOCK Register (Offset (x8) = 4h, Offset (x16) = 2h) [reset = 1h]
Z1_OTPSECLOCK is shown in Figure 6-32 and described in Table 6-39.
Return to the Summary Table.
Zone 1 OTP Secure Lock
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 791
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.3 Z1_JLM_ENABLE Register (Offset (x8) = 8h, Offset (x16) = 4h) [reset = Fh]
Z1_JLM_ENABLE is shown in Figure 6-33 and described in Table 6-40.
Return to the Summary Table.
Zone 1 JTAGLOCK Enable Register
792 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.4 Z1_LINKPOINTERERR Register (Offset (x8) = Ch, Offset (x16) = 6h) [reset = 0h]
Z1_LINKPOINTERERR is shown in Figure 6-34 and described in Table 6-41.
Return to the Summary Table.
Link Pointer Error
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 793
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.5 Z1_GPREG1 Register (Offset (x8) = 10h, Offset (x16) = 8h) [reset = 0h]
Z1_GPREG1 is shown in Figure 6-35 and described in Table 6-42.
Return to the Summary Table.
Zone 1 General Purpose Register-1
794 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.6 Z1_GPREG2 Register (Offset (x8) = 14h, Offset (x16) = Ah) [reset = 0h]
Z1_GPREG2 is shown in Figure 6-36 and described in Table 6-43.
Return to the Summary Table.
Zone 1 General Purpose Register-2
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 795
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.7 Z1_GPREG3 Register (Offset (x8) = 18h, Offset (x16) = Ch) [reset = 0h]
Z1_GPREG3 is shown in Figure 6-37 and described in Table 6-44.
Return to the Summary Table.
Zone 1 General Purpose Register-3
796 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.8 Z1_GPREG4 Register (Offset (x8) = 1Ch, Offset (x16) = Eh) [reset = 0h]
Z1_GPREG4 is shown in Figure 6-38 and described in Table 6-45.
Return to the Summary Table.
Zone 1 General Purpose Register-4
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 797
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.9 Z1_CSMKEY0 Register (Offset (x8) = 20h, Offset (x16) = 10h) [reset = 0h]
Z1_CSMKEY0 is shown in Figure 6-39 and described in Table 6-46.
Return to the Summary Table.
Zone 1 CSM Key 0
798 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.10 Z1_CSMKEY1 Register (Offset (x8) = 24h, Offset (x16) = 12h) [reset = 0h]
Z1_CSMKEY1 is shown in Figure 6-40 and described in Table 6-47.
Return to the Summary Table.
Zone 1 CSM Key 1
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 799
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.11 Z1_CSMKEY2 Register (Offset (x8) = 28h, Offset (x16) = 14h) [reset = 0h]
Z1_CSMKEY2 is shown in Figure 6-41 and described in Table 6-48.
Return to the Summary Table.
Zone 1 CSM Key 2
800 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.12 Z1_CSMKEY3 Register (Offset (x8) = 2Ch, Offset (x16) = 16h) [reset = 0h]
Z1_CSMKEY3 is shown in Figure 6-42 and described in Table 6-49.
Return to the Summary Table.
Zone 1 CSM Key 3
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 801
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.13 Z1_CR Register (Offset (x8) = 30h, Offset (x16) = 18h) [reset = 00080000h]
Z1_CR is shown in Figure 6-43 and described in Table 6-50.
Return to the Summary Table.
Zone 1 CSM Control Register
802 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.14 Z1_GRABSECT1R Register (Offset (x8) = 34h, Offset (x16) = 1Ah) [reset = 0h]
Z1_GRABSECT1R is shown in Figure 6-44 and described in Table 6-51.
Return to the Summary Table.
Zone 1 Grab Flash Status Register 1
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 803
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
804 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 805
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.15 Z1_GRABSECT2R Register (Offset (x8) = 38h, Offset (x16) = 1Ch) [reset = 0h]
Z1_GRABSECT2R is shown in Figure 6-45 and described in Table 6-52.
Return to the Summary Table.
Zone 1 Grab Flash Status Register 2
806 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 807
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
808 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.16 Z1_GRABSECT3R Register (Offset (x8) = 3Ch, Offset (x16) = 1Eh) [reset = 0h]
Z1_GRABSECT3R is shown in Figure 6-46 and described in Table 6-53.
Return to the Summary Table.
Zone 1 Grab Flash Status Register 3
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 809
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
810 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 811
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.17 Z1_GRABRAM1R Register (Offset (x8) = 40h, Offset (x16) = 20h) [reset = 0h]
Z1_GRABRAM1R is shown in Figure 6-47 and described in Table 6-54.
Return to the Summary Table.
Zone 1 Grab RAM Status Register 1
812 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 813
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.18 Z1_GRABRAM2R Register (Offset (x8) = 44h, Offset (x16) = 22h) [reset = 0h]
Z1_GRABRAM2R is shown in Figure 6-48 and described in Table 6-55.
Return to the Summary Table.
Zone 1 Grab RAM Status Register 2
814 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 815
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
816 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.19 Z1_GRABRAM3R Register (Offset (x8) = 48h, Offset (x16) = 24h) [reset = 0h]
Z1_GRABRAM3R is shown in Figure 6-49 and described in Table 6-56.
Return to the Summary Table.
Zone 1 Grab RAM Status Register 3
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 817
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
818 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.20 Z1_EXEONLYSECT1R Register (Offset (x8) = 4Ch, Offset (x16) = 26h) [reset = 0h]
Z1_EXEONLYSECT1R is shown in Figure 6-50 and described in Table 6-57.
Return to the Summary Table.
Zone 1 Execute Only Flash Status Register 1
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 819
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
820 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 821
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
822 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.21 Z1_EXEONLYSECT2R Register (Offset (x8) = 50h, Offset (x16) = 28h) [reset = 0h]
Z1_EXEONLYSECT2R is shown in Figure 6-51 and described in Table 6-58.
Return to the Summary Table.
Zone 1 Execute Only Flash Status Register 2
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 823
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
824 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 825
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.22 Z1_EXEONLYRAM1R Register (Offset (x8) = 54h, Offset (x16) = 2Ah) [reset = 0h]
Z1_EXEONLYRAM1R is shown in Figure 6-52 and described in Table 6-59.
Return to the Summary Table.
Zone 1 Execute Only RAM Status Register 1
826 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 827
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
828 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 829
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.23 Z1_JTAGKEY0 Register (Offset (x8) = 5Ch, Offset (x16) = 2Eh) [reset = 0h]
Z1_JTAGKEY0 is shown in Figure 6-53 and described in Table 6-60.
Return to the Summary Table.
JTAG Unlock Key Register 0
830 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.24 Z1_JTAGKEY1 Register (Offset (x8) = 60h, Offset (x16) = 30h) [reset = 0h]
Z1_JTAGKEY1 is shown in Figure 6-54 and described in Table 6-61.
Return to the Summary Table.
JTAG Unlock Key Register 1
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 831
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.25 Z1_JTAGKEY2 Register (Offset (x8) = 64h, Offset (x16) = 32h) [reset = 0h]
Z1_JTAGKEY2 is shown in Figure 6-55 and described in Table 6-62.
Return to the Summary Table.
JTAG Unlock Key Register 2
832 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.26 Z1_JTAGKEY3 Register (Offset (x8) = 68h, Offset (x16) = 34h) [reset = 0h]
Z1_JTAGKEY3 is shown in Figure 6-56 and described in Table 6-63.
Return to the Summary Table.
JTAG Unlock Key Register 3
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 833
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.27 Z1_CMACKEY0 Register (Offset (x8) = 6Ch, Offset (x16) = 36h) [reset = 0h]
Z1_CMACKEY0 is shown in Figure 6-57 and described in Table 6-64.
Return to the Summary Table.
Secure Boot CMAC Key Status Register 0
834 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.28 Z1_CMACKEY1 Register (Offset (x8) = 70h, Offset (x16) = 38h) [reset = 0h]
Z1_CMACKEY1 is shown in Figure 6-58 and described in Table 6-65.
Return to the Summary Table.
Secure Boot CMAC Key Status Register 1
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 835
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.4.29 Z1_CMACKEY2 Register (Offset (x8) = 74h, Offset (x16) = 3Ah) [reset = 0h]
Z1_CMACKEY2 is shown in Figure 6-59 and described in Table 6-66.
Return to the Summary Table.
Secure Boot CMAC Key Status Register 2
836 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.4.30 Z1_CMACKEY3 Register (Offset (x8) = 78h, Offset (x16) = 3Ch) [reset = 0h]
Z1_CMACKEY3 is shown in Figure 6-60 and described in Table 6-67.
Return to the Summary Table.
Secure Boot CMAC Key Status Register 3
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 837
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 6-69 shows the codes that are
used for access types in this section.
838 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 839
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
840 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 841
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
842 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 843
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
844 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 845
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
846 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 847
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 6-80 shows the codes that are
used for access types in this section.
848 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 849
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.1 Z2_LINKPOINTER Register (Offset (x8) = 0h, Offset (x16) = 0h) [reset = FFFFC000h]
Z2_LINKPOINTER is shown in Figure 6-70 and described in Table 6-81.
Return to the Summary Table.
Zone 2 Link Pointer
850 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.6.2 Z2_OTPSECLOCK Register (Offset (x8) = 4h, Offset (x16) = 2h) [reset = 1h]
Z2_OTPSECLOCK is shown in Figure 6-71 and described in Table 6-82.
Return to the Summary Table.
Zone 2 OTP Secure Lock
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 851
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.3 Z2_LINKPOINTERERR Register (Offset (x8) = Ch, Offset (x16) = 6h) [reset = 0h]
Z2_LINKPOINTERERR is shown in Figure 6-72 and described in Table 6-83.
Return to the Summary Table.
Link Pointer Error
852 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.6.4 Z2_GPREG1 Register (Offset (x8) = 10h, Offset (x16) = 8h) [reset = 0h]
Z2_GPREG1 is shown in Figure 6-73 and described in Table 6-84.
Return to the Summary Table.
Zone 2 General Purpose Register-1
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 853
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.5 Z2_GPREG2 Register (Offset (x8) = 14h, Offset (x16) = Ah) [reset = 0h]
Z2_GPREG2 is shown in Figure 6-74 and described in Table 6-85.
Return to the Summary Table.
Zone 2 General Purpose Register-2
854 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.6.6 Z2_GPREG3 Register (Offset (x8) = 18h, Offset (x16) = Ch) [reset = 0h]
Z2_GPREG3 is shown in Figure 6-75 and described in Table 6-86.
Return to the Summary Table.
Zone 2 General Purpose Register-3
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 855
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.7 Z2_GPREG4 Register (Offset (x8) = 1Ch, Offset (x16) = Eh) [reset = 0h]
Z2_GPREG4 is shown in Figure 6-76 and described in Table 6-87.
Return to the Summary Table.
Zone 2 General Purpose Register-4
856 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.6.8 Z2_CSMKEY0 Register (Offset (x8) = 20h, Offset (x16) = 10h) [reset = 0h]
Z2_CSMKEY0 is shown in Figure 6-77 and described in Table 6-88.
Return to the Summary Table.
Zone 2 CSM Key 0
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 857
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.9 Z2_CSMKEY1 Register (Offset (x8) = 24h, Offset (x16) = 12h) [reset = 0h]
Z2_CSMKEY1 is shown in Figure 6-78 and described in Table 6-89.
Return to the Summary Table.
Zone 2 CSM Key 1
858 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.6.10 Z2_CSMKEY2 Register (Offset (x8) = 28h, Offset (x16) = 14h) [reset = 0h]
Z2_CSMKEY2 is shown in Figure 6-79 and described in Table 6-90.
Return to the Summary Table.
Zone 2 CSM Key 2
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 859
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.11 Z2_CSMKEY3 Register (Offset (x8) = 2Ch, Offset (x16) = 16h) [reset = 0h]
Z2_CSMKEY3 is shown in Figure 6-80 and described in Table 6-91.
Return to the Summary Table.
Zone 2 CSM Key 3
860 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.6.12 Z2_CR Register (Offset (x8) = 30h, Offset (x16) = 18h) [reset = 00080000h]
Z2_CR is shown in Figure 6-81 and described in Table 6-92.
Return to the Summary Table.
Zone 2 CSM Control Register
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 861
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.13 Z2_GRABSECT1R Register (Offset (x8) = 34h, Offset (x16) = 1Ah) [reset = 0h]
Z2_GRABSECT1R is shown in Figure 6-82 and described in Table 6-93.
Return to the Summary Table.
Zone 2 Grab Flash Status Register 1
862 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 863
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
864 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.6.14 Z2_GRABSECT2R Register (Offset (x8) = 38h, Offset (x16) = 1Ch) [reset = 0h]
Z2_GRABSECT2R is shown in Figure 6-83 and described in Table 6-94.
Return to the Summary Table.
Zone 2 Grab Flash Status Register 2
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 865
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
866 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 867
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.15 Z2_GRABSECT3R Register (Offset (x8) = 3Ch, Offset (x16) = 1Eh) [reset = 0h]
Z2_GRABSECT3R is shown in Figure 6-84 and described in Table 6-95.
Return to the Summary Table.
Zone 2 Grab Flash Status Register 3
868 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 869
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
870 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.6.16 Z2_GRABRAM1R Register (Offset (x8) = 40h, Offset (x16) = 20h) [reset = 0h]
Z2_GRABRAM1R is shown in Figure 6-85 and described in Table 6-96.
Return to the Summary Table.
Zone 2 Grab RAM Status Register 1
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 871
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
872 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.6.17 Z2_GRABRAM2R Register (Offset (x8) = 44h, Offset (x16) = 22h) [reset = 0h]
Z2_GRABRAM2R is shown in Figure 6-86 and described in Table 6-97.
Return to the Summary Table.
Zone 2 Grab RAM Status Register 2
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 873
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
874 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 875
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.18 Z2_GRABRAM3R Register (Offset (x8) = 48h, Offset (x16) = 24h) [reset = 0h]
Z2_GRABRAM3R is shown in Figure 6-87 and described in Table 6-98.
Return to the Summary Table.
Zone 2 Grab RAM Status Register 3
876 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 877
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.19 Z2_EXEONLYSECT1R Register (Offset (x8) = 4Ch, Offset (x16) = 26h) [reset = 0h]
Z2_EXEONLYSECT1R is shown in Figure 6-88 and described in Table 6-99.
Return to the Summary Table.
Zone 2 Execute Only Flash Status Register 1
878 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 879
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
880 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 881
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
6.8.6.20 Z2_EXEONLYSECT2R Register (Offset (x8) = 50h, Offset (x16) = 28h) [reset = 0h]
Z2_EXEONLYSECT2R is shown in Figure 6-89 and described in Table 6-100.
Return to the Summary Table.
Zone 2 Execute Only Flash Status Register 2
882 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 883
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
884 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
6.8.6.21 Z2_EXEONLYRAM1R Register (Offset (x8) = 54h, Offset (x16) = 2Ah) [reset = 0h]
Z2_EXEONLYRAM1R is shown in Figure 6-90 and described in Table 6-101.
Return to the Summary Table.
Zone 2 Execute Only RAM Status Register 1
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 885
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
886 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com DCSM Registers
SPRUII0B – May 2019 – Revised May 2020 Dual Code Security Module (DCSM) 887
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
DCSM Registers www.ti.com
888 Dual Code Security Module (DCSM) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Chapter 7
SPRUII0B – May 2019 – Revised May 2020
The Background CRC (BGCRC) module that helps to identify memory faults and corruption, is discussed
in this chapter.
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 889
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Introduction www.ti.com
7.1 Introduction
The Background CRC (BGCRC) module computes a CRC-32 on a configurable block of memory. It
accomplishes this by fetching the specified block of memory during idle cycles (when the CPU, CLA, or
DMA is not accessing the memory block). The calculated CRC-32 value is compared against a golden
CRC-32 value to indicate a pass or fail. In essence, the BGCRC helps identify memory faults and
corruption. There are two BGCRC modules (CPU_CRC and CLA_CRC) per CPU subsystem. The two
BGCRC modules differ only in the memories they test.
7.2 Features
The BGCRC module has the following features:
• One cycle CRC-32 computation on 32 bits of data
• No CPU bandwidth impact for zero wait state memory
• Minimal CPU bandwidth impact for non-zero wait state memory
• Dual operation modes (CRC-32 mode and scrub mode)
• Watchdog timer to time CRC-32 completion
• Ability to pause and resume CRC-32 computation
890 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Functional Description
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 891
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Functional Description www.ti.com
892 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Functional Description
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 893
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Functional Description www.ti.com
894 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Application of the BGCRC
CFG1 registers are expected to be locked and committed after initial configuration. It is recommended to
lock the CFG2 and CFG3 registers after configuration. Figure 7-5 shows the BGCRC execution sequence.
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 895
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Application of the BGCRC www.ti.com
896 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Application of the BGCRC
• CORRECTABLE_ERR: This error is due to single bit failure for ECC SRAM. If the problem location is
accessed again (execution from the location for execute only memory or reading the location in other
cases), the expectation is that the single bit error will be corrected. If the single bit error is not
corrected, this could be an indication of a permanent defect.
• CRC_FAIL: This indicates a failure in the computation of the CRC-32 value. This error doesn’t occur in
scrub mode. For SRAMs with protection, in the absence of code bugs, this error is less likely since the
error will most often manifest as a correctable/uncorrectable error. Code bugs can cause failure if the
code inadvertently writes to a wrong address thus causing a CRC-32 error.
The BGCRC order of byte calculations of the above example is 0x78, 0x56, 0x34, 0x12 and yields
0x6A330D2D. The 32-bit polynomial 0x04C11DB7 is used with an initialization vector of 0x00000000. The
code snippet in Figure 7-7 shows the effective bit processing. Processing for all 32-bits within a word
occurs in a single cycle within the BGCRC hardware.
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 897
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
A second example with two 32-bit words, 0x12345678 and 0x9ABCDEF0 at address 0x100 and 0x102
successively, would calculate the bytes in the order 0x78, 0x56, 0x34, 0x12, 0xDE, 0xBC, and 0x9A and
yield 0x7E0B4164.
All data input to the BGCRC must align to a 32-bit boundary, both in the starting address and the size. It is
possible to include 16-bit data within the span of data; however, when the data is read by the BGCRC, it
will always assume 32-bits and conform to the above calculation order. For example, if two 16-bit words
(0xA0B1 and 0xC2D3) were placed in between the two 32-bit words above, the calculations would be
performed in byte order 0x78, 0x56, 0x34, 0x12, 0xB1, 0xA0, 0xD3, 0xC2, 0xF0, 0xDE, 0xBC and 0x9A
and yield 0x2AEFD987.
898 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
Complex bit access types are encoded to fit into small table cells. Table 7-7 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 899
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
900 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 901
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
902 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 903
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
904 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 905
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
906 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 907
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
908 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 909
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
910 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 911
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
912 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 913
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
914 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 915
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
916 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 917
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
918 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 919
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
920 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 921
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
922 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com BGCRC Registers
SPRUII0B – May 2019 – Revised May 2020 Background CRC-32 (BGCRC) 923
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
BGCRC Registers www.ti.com
924 Background CRC-32 (BGCRC) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Chapter 8
SPRUII0B – May 2019 – Revised May 2020
The Control Law Accelerator (CLA) Type-2 is an independent, fully-programmable, 32-bit floating-point
math processor that brings concurrent control-loop execution to the C28x family. The low interrupt latency
of the CLA allows it to read ADC samples "just-in-time." This significantly reduces the ADC sample to
output delay to enable faster system response and higher MHz control loops. By using the CLA to service
time-critical control loops, the main CPU is free to perform other system tasks such as communications
and diagnostics. This chapter provides an overview of the architectural structure and components of the
control law accelerator.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 925
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Introduction www.ti.com
8.1 Introduction
The Control Law Accelerator extends the capabilities of the C28x CPU by adding parallel processing.
Time-critical control loops serviced by the CLA can achieve low ADC sample to output delay. Thus, the
CLA enables faster system response and higher frequency control loops. Utilizing the CLA for time-critical
tasks frees up the main CPU to perform other system and communication functions concurrently.
8.2 Features
The following is a list of major features of the CLA:
• C compilers are available for CLA software development.
• Clocked at the same rate as the main CPU (SYSCLKOUT).
• An independent architecture allowing CLA algorithm execution independent of the main C28x CPU.
– Complete bus architecture:
• Program Address Bus (PAB) and Program Data Bus (PDB)
• Data Read Address Bus (DRAB), Data Read Data Bus (DRDB), Data Write Address Bus
(DWAB), and Data Write Data Bus (DWDB)
– Independent eight stage pipeline.
– program counter (MPC)
– Four 32-bit result registers (MR0-MR3)
– Two 16-bit auxiliary registers (MAR0, MAR1)
– Status register (MSTF)
• Instruction set includes:
– IEEE single-precision (32-bit) floating point math operations
– Floating-point math with parallel load or store
– Floating-point multiply with parallel add or subtract
– 1/X and 1/sqrt(X) estimations
– Data type conversions.
– Conditional branch and call
– Data load/store operations
• The CLA program code can consist of up to eight tasks or interrupt service routines, or 7 tasks and a
main background task.
– The start address of each task is specified by the MVECT registers.
– No limit on task size as long as the tasks fit within the configurable CLA program memory space.
– One task is serviced at a time until its completion. There is no nesting of tasks.
– Upon task completion a task-specific interrupt is flagged within the PIE.
– When a task finishes the next highest-priority pending task is automatically started.
– The Type-2 CLA can have a main task that runs continuously in the background, while other high
priority events trigger a foreground task.
• Task trigger mechanisms:
– C28x CPU via the IACK instruction
– Task1 to Task8: up to 256 possible trigger sources from peripherals connected to the shared bus
on which the CLA assumes secondary ownership.
– Task8 can be set to be the background task, while Tasks 1 through 7 take peripheral triggers.
• Memory and Shared Peripherals:
– Two dedicated message RAMs for communication between the CLA and the main CPU.
– Two dedicated message RAMs for communication between the CLA and the DMA.
– The C28x CPU can map CLA program and data memory to the main CPU space or CLA space.
926 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Features
CLA Control
Register Set
MIFR(16)
MPERINT1 MIOVF(16) CLA_INT1
From Shared to to
Peripherals MPERINT8 MICLR(16) CLA_INT8
MICLROVF(16) C28x
PIE INT11
MIFRC(16) CPU
MIER(16) INT12
MIRUN(16)
LVF
MCTLBGRND(16)
LUF
MSTSBGRND(16)
CLA1SOFTINTEN(16)
CLA1INTFRC(16)
SYSCLK
CLA Clock Enable MVECT1(16)
CPU Read/Write Data Bus
SYSRS MVECT2(16)
MVECT3(16)
MVECT4(16) CLA Program
MVECT5(16) CLA Program Bus Memory (LSx)
MVECT6(16)
MVECT7(16)
MVECT8(16) LSxMSEL[MSEL_LSx]
MVECTBGRND(16) LSxCLAPGM[CLAPGM_LSx]
MVECTBGRNDACTIVE(16)
MPSACTL(16)
MCTL(16)
CLA Data Bus
CLA Message
CLA Execution
RAMs
Register Set
MPC(16)
MSTF(32)
MR0(32)
MR1(32) Shared
MR2(32) MEALLOW Peripherals
MR3(32)
MAR0(16)
MAR1(16)
CPU Read Data Bus
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 927
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Interface www.ti.com
928 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Interface
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 929
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Interface www.ti.com
930 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Interface
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 931
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Interface www.ti.com
932 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Interface
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 933
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Interface www.ti.com
Interrupts that have been received but not yet serviced are indicated in the flag register (MIFR). If an
interrupt request from a peripheral is received and that same task is already flagged, then the overflow
flag bit is set. Overflow flags will remain set until they are cleared by the CPU. If the CLA is idle (no task is
currently running) or is executing the background task, then the highest priority interrupt request that is
both flagged (MIFR) and enabled (MIER) will start.
934 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Interface
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 935
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Configuration and Debug www.ti.com
936 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Configuration and Debug
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 937
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Configuration and Debug www.ti.com
A software breakpoint is placed at instruction i5. The instruction, i5, is then replaced with
MDEBUGSTOP1. It takes 3 cycles for the MDEBUGSTOP1 to reach the D2 phase at which point the
instructions i6, i7, and i8 that were previously fetched are now flushed from the pipeline. The instruction,
i5, is then re-fetched and execution continues as before.
938 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Configuration and Debug
NOTE: A CLA fetch has higher priority than CPU debug reads. For this reason, it is possible for the
CLA to permanently block CPU debug accesses if the CLA is executing in a loop. This might
occur when initially developing CLA code due to a bug that causes an infinite loop. To avoid
locking up the main CPU, the program memory will return all 0x0000 for CPU debug reads
when the CLA is running. When the CLA is halted or idle then normal CPU debug read and
write access to CLA program memory can be performed.
If the CLA gets caught in an infinite loop, you can use a soft or hard reset to exit the
condition. A debugger reset will also exit the condition.
There are special cases that can occur when single-stepping a task such that the program counter,
MPC, reaches the MSTOP instruction at the end of the task.
• MPC halts at or after the MSTOP with a task already pending
If you are single-stepping or halted in "task A" and "task B" comes in before the MPC reaches the
MSTOP, then "task B" will start if you continue to step through the MSTOP instruction. Basically if
"task B" is pending before the MPC reaches MSTOP in "task A" then there is no issue in "task B"
starting and no special action is required.
• MPC halts at or after the MSTOP with no task pending
In this case you have single-stepped or halted in "task A" and the MPC has reached the MSTOP
with no tasks pending. If "task B" comes in at this point, it will be flagged in the MIFR register but it
may or may not start if you continue to single-step through the MSTOP instruction of "task A."
It depends on exactly when the new task comes in. To reliably start "task B" perform a soft reset
and reconfigure the MIER bits. Once this is done, you can start single-stepping "task B."
This case can be handled slightly differently if there is control over when "task B" comes in (for
example using the IACK instruction to start the task). In this case you have single-stepped or halted
in "task A" and the MPC has reached the MSTOP with no tasks pending. Before forcing "task B,"
run free to force the CLA out of the debug state. Once this is done you can force "task B" and
continue debugging.
5. Disable CLA breakpoints, if desired
In Code Composer Studio you can disable the CLA breakpoints by disconnecting the CLA core in the
debug perspective. Make sure to first issue a run or reset; otherwise, the CLA will be halted and no
other tasks will start.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 939
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Configuration and Debug www.ti.com
8.6 Pipeline
This section describes the CLA pipeline stages and presents cases where pipeline alignment must be
considered.
940 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Pipeline
8. Write (W)
Place the write address and write data on the CLA write data bus. If a memory conflict exists, the W
stage will be stalled.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 941
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Pipeline www.ti.com
<Instruction 8> ; I8
<Instruction 9> ; I9
....
942 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Pipeline
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 943
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Pipeline www.ti.com
944 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Pipeline
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 945
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
946 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Each instruction has a table that gives a list of the operands and a short description. Instructions always
have their destination operand(s) first followed by the source operand(s).
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 947
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Encoding for the shift fields in the MASR32, MLSR32 and MLSL32 instructions is shown in Table 8-9.
948 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Table 8-11 shows the condition field encoding for conditional instructions such as MNEGF, MSWAPF,
MBCNDD, MCCNDD, and MRCNDD.
For instructions that use MRx (where x could be 'a' through 'f') as operands, the trailing alphabet appears
in the opcode as a two-bit field. For example,
MMPYF32 MRa, MRb, MRc ||
MADDF32 MRd, MRe, MRf
The two-bit field specifies one of four working registers according to Table 8-10.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 949
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
8.7.3 Instructions
The instructions are listed alphabetically, preceded by a summary.
Table 8-12. General Instructions
Title ...................................................................................................................................... Page
950 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 951
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description The absolute value of MRb is loaded into MRa. Only the sign bit of the operand is
modified by the MABSF32 instruction.
if (MRb < 0) {MRa = -MRb};
else {MRa = MRb};
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
952 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point destination register (MR0 to MR3)
MRc CLA floating-point destination register (MR0 to MR3)
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The MSTF register flags are modified based on the integer results of the operation.
NF = MRa(31);
ZF = 0;
if(MRa(31:0) == 0) { ZF = 1; };
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 953
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point destination register (MR0 to MR3)
#16FHi A 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit floating-
point value. The low 16-bits of the mantissa are assumed to be all 0.
MRb CLA floating-point source register (MR0 to MR3)
Description Add MRb to the floating-point value represented by the immediate operand. Store the
result of the addition in MRa.
#16FHi is a 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit
floating-point value. The low 16-bits of the mantissa are assumed to be all 0. #16FHi is
most useful for representing constants where the lowest 16-bits of the mantissa are 0.
Some examples are 2.0 (0x40000000), 4.0 (0x40800000), 0.5 (0x3F000000), and -1.5
(0xBFC00000). The assembler will accept either a hex or float as the immediate value.
That is, the value -1.5 can be represented as #-1.5 or #0xBFC0.
MRa = MRb + #16FHi:0;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
954 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
#16FHi A 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit floating-
point value. The low 16-bits of the mantissa are assumed to be all 0.
Description Add MRb to the floating-point value represented by the immediate operand. Store the
result of the addition in MRa.
#16FHi is a 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit
floating-point value. The low 16-bits of the mantissa are assumed to be all 0. #16FHi is
most useful for representing constants where the lowest 16-bits of the mantissa are 0.
Some examples are 2.0 (0x40000000), 4.0 (0x40800000), 0.5 (0x3F000000), and -1.5
(0xBFC00000). The assembler will accept either a hex or float as the immediate value.
That is, the value -1.5 can be represented as #-1.5 or #0xBFC0.
MRa = MRb + #16FHi:0;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 955
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
956 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
MRc CLA floating-point source register (MR0 to MR3)
Description Add the contents of MRc to the contents of MRb and load the result into MRa.
MRa = MRb + MRc;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 957
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MADDF32 MRd, MRe, MRf||MMOV32 mem32, MRa 32-Bit Floating-Point Addition with Parallel Move
Operands
MRd CLA floating-point destination register for the MADDF32 (MR0 to MR3)
MRe CLA floating-point source register for the MADDF32 (MR0 to MR3)
MRf CLA floating-point source register for the MADDF32 (MR0 to MR3)
mem32 32-bit memory location accessed using one of the available addressing modes. This
will be the destination of the MMOV32.
MRa CLA floating-point source register for the MMOV32 (MR0 to MR3)
Description Perform an MADDF32 and a MMOV32 in parallel. Add MRf to the contents of MRe and
store the result in MRd. In parallel move the contents of MRa to the 32-bit location
mem32.
MRd = MRe + MRf;
[mem32] = MRa;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
958 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MADDF32 MRd, MRe, MRf ||MMOV32 MRa, mem32 32-Bit Floating-Point Addition with Parallel Move
Operands
MRd CLA floating-point destination register for the MADDF32 (MR0 to MR3).
MRd cannot be the same register as MRa.
MRe CLA floating-point source register for the MADDF32 (MR0 to MR3)
MRf CLA floating-point source register for the MADDF32 (MR0 to MR3)
MRa CLA floating-point destination register for the MMOV32 (MR0 to MR3).
MRa cannot be the same register as MRd.
mem32 32-bit memory location accessed using one of the available addressing modes. This is
the source for the MMOV32.
Description Perform an MADDF32 and a MMOV32 operation in parallel. Add MRf to the contents of
MRe and store the result in MRd. In parallel move the contents of the 32-bit location
mem32 to MRa.
MRd = MRe + MRf;
MRa = [mem32];
Restrictions The destination register for the MADDF32 and the MMOV32 must be unique. That is,
MRa and MRd cannot be the same register.
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes Yes Yes
Pipeline The MADDF32 and the MMOV32 both complete in a single cycle.
Example 1 ; Given A, B and C are 32-bit floating-point numbers
; Calculate Y1 = A + 4B
; Y2 = A + C
;
_Cla1Task1:
MMOV32 MR0, @A ; Load MR0 with A
MMOV32 MR1, @B ; Load MR1 with B
MMPYF32 MR1, MR1, #4.0 ; Multiply 4 * B
|| MMOV32 MR2, @C and in parallel load C
MADDF32 MR3, MR0, MR1 ; Add A + 4B
MADDF32 MR3, MR0, MR2 ; Add A + C
|| MMOV32 @Y1, MR3 ; and in parallel store A+4B
MMOV32 @Y2, MR3 ; store A + C MSTOP
; end of task
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 959
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
960 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
MRc CLA floating-point source register (MR0 to MR3)
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The MSTF register flags are modified based on the integer results of the operation.
NF = MRa(31);
ZF = 0;
if(MRa(31:0) == 0) { ZF = 1; }
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 961
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point source/destination register (MR0 to MR3)
#SHIFT Number of bits to shift (1 to 32)
Description Arithmetic shift right of MRa by the number of bits indicated. The number of bits can be 1
to 32.
MARa(31:0) = Arithmetic Shift(MARa(31:0) by #SHIFT bits);
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The MSTF register flags are modified based on the integer results of the operation.
NF = MRa(31);
ZF = 0;
if(MRa(31:0) == 0) { ZF = 1; }
962 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
16BitDest 16-bit destination if condition is true
CNDF Optional condition tested
Description If the specified condition is true, then branch by adding the signed 16BitDest value to the
MPC value. Otherwise, continue without branching. If the address overflows, it wraps
around. Therefore a value of "0xFFFE" will put the MPC back to the MBCNDD
instruction.
Please refer to the pipeline section for important information regarding this instruction.
if (CNDF == TRUE) MPC += 16BitDest;
Restrictions The MBCNDD instruction is not allowed three instructions before or after a MBCNDD,
MCCNDD or MRCNDD instruction. Refer to the pipeline section for more information.
Flags This instruction does not modify flags in the MSTF register.
Flag TF ZF NF LUF LVF
Modified No No No No No
Pipeline The MBCNDD instruction by itself is a single-cycle instruction. As shown in Table 8-13
for each branch 6 instruction slots are executed; three before the branch instruction (I2-
I4) and three after the branch instruction (I5-I7). The total number of cycles for a branch
taken or not taken depends on the usage of these slots. That is, the number of cycles
depends on how many slots are filled with a MNOP as well as which slots are filled. The
effective number of cycles for a branch can, therefore, range from 1 to 7 cycles. The
number of cycles for a branch taken may not be the same as for a branch not taken.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 963
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Referring to Table 8-13 and Table 8-14, the instructions before and after MBCNDD have
the following properties:
• I1
– I1 is the last instruction that can effect the CNDF flags for the MBCNDD
instruction. The CNDF flags are tested in the D2 phase of the pipeline. That is, a
decision is made whether to branch or not when MBCNDD is in the D2 phase.
– There are no restrictions on the type of instruction for I1.
• I2, I3 and I4
– The three instructions proceeding MBCNDD can change MSTF flags but will have
no effect on whether the MBCNDD instruction branches or not. This is because
the flag modification will occur after the D2 phase of the MBCNDD instruction.
– These instructions must not be the following: MSTOP, MDEBUGSTOP,
MBCNDD, MCCNDD or MRCNDD.
• I5, I6 and I7
– The three instructions following MBCNDD are always executed irrespective of
whether the branch is taken or not.
– These instructions must not be the following: MSTOP, MDEBUGSTOP,
MBCNDD, MCCNDD or MRCNDD.
<Instruction 1> ; I1 Last instruction that can affect flags for
; the MBCNDD operation
<Instruction 2> ; I2 Cannot be stop, branch, call or return
<Instruction 3> ; I3 Cannot be stop, branch, call or return
<Instruction 4> ; I4 Cannot be stop, branch, call or return
MBCNDD _Skip, NEQ ; Branch to Skip if not eqal to zero
; Three instructions after MBCNDD are always
; executed whether the branch is taken or not
<Instruction 5> ; I5 Cannot be stop, branch, call or return
<Instruction 6> ; I6 Cannot be stop, branch, call or return
<Instruction 7> ; I7 Cannot be stop, branch, call or return
<Instruction 8> ; I8
<Instruction 9> ; I9
....
_Skip:
<Destination 1> ; d1 Can be any instruction
<Destination 2> ; d2
<Destination 3> ; d3
....
....
MSTOP
....
964 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 965
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
966 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Skip1:
MMOV32 MR3, @SteadyState
MMOVXI MR2, #STEADYMASK
MOR32 MR3, MR2
MBCNDD Skip2, NTF ; (B) if State != .01, go to Skip2
MMOV32 MR1, @CoastState ; Always executed
MMOVXI MR2, #COASTMASK ; Always executed
MOR32 MR1, MR2 ; Always executed
MMOV32 @CoastState, MR1 ; Execute if (B) branch not taken
MSTOP ; end of task if (B) branch not taken
Skip2:
MMOV32 @SteadyState, MR3 ; Executed if (B) branch taken
MSTOP
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 967
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
16BitDest 16-bit destination if condition is true
CNDF Optional condition to be tested
Description If the specified condition is true, then store the return address in the RPC field of MSTF
and make the call by adding the signed 16BitDest value to the MPC value. Otherwise,
continue code execution without making the call. If the address overflows, it wraps
around. Therefore a value of "0xFFFE" will put the MPC back to the MCCNDD
instruction.
Please refer to the pipeline section for important information regarding this instruction.
if (CNDF == TRUE)
{
RPC = return address;
MPC += 16BitDest;
};
Restrictions The MCCNDD instruction is not allowed three instructions before or after a MBCNDD,
MCCNDD, or MRCNDD instruction. Refer to the Pipeline section for more details.
Flags This instruction does not modify flags in the MSTF register.
Flag TF ZF NF LUF LVF
Modified No No No No No
968 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Pipeline The MCCNDD instruction by itself is a single-cycle instruction. As shown in Table 8-15,
for each call 6 instruction slots are executed; three before the call instruction (I2-I4) and
three after the call instruction (I5-I7). The total number of cycles for a call taken or not
taken depends on the usage of these slots. That is, the number of cycles depends on
how many slots are filled with a MNOP as well as which slots are filled. The effective
number of cycles for a call can, therefore, range from 1 to 7 cycles. The number of
cycles for a call taken may not be the same as for a call not taken.
Referring to the following code fragment and the pipeline diagrams in Table 8-15 and
Table 8-16, the instructions before and after MCCNDD have the following properties:
• I1
– I1 is the last instruction that can effect the CNDF flags for the MCCNDD
instruction. The CNDF flags are tested in the D2 phase of the pipeline. That is, a
decision is made whether to branch or not when MCCNDD is in the D2 phase.
– There are no restrictions on the type of instruction for I1.
• I2, I3 and I4
– The three instructions proceeding MCCNDD can change MSTF flags but will have
no effect on whether the MCCNDD instruction makes the call or not. This is
because the flag modification will occur after the D2 phase of the MCCNDD
instruction.
– These instructions must not be the following: MSTOP, MDEBUGSTOP,
MBCNDD, MCCNDD or MRCNDD.
• I5, I6 and I7
– The three instructions following MBCNDD are always executed irrespective of
whether the branch is taken or not.
– These instructions must not be the following: MSTOP, MDEBUGSTOP,
MBCNDD, MCCNDD or MRCNDD.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 969
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
970 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Example ;
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 971
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
None This instruction does not have any operands
Description This instruction will clear the background task interrupt mask (BGINTM) bit in the
MSTSBGRND register, allowing any code thereafter to be interrupted by a higher priority
task. This instruction clears the BGINTM bit at the end of its D2 phase.
Note: This instruction does not require the MEALLOW bit to be asserted before or
deasserted after clearing BGINTM.
Flags This instruction does not modify flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No No No
972 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MCMP32 MRa, MRb 32-Bit Integer Compare for Equal, Less Than or Greater Than
Operands
MRa CLA floating-point source register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Set ZF and NF flags on the result of MRa - MRb where MRa and MRb are 32-bit
integers. For a floating point compare refer to MCMPF32.
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The MSTF register flags are modified based on the integer results of the operation.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 973
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MCMPF32 MRa, MRb 32-Bit Floating-Point Compare for Equal, Less Than or Greater Than
Operands
MRa CLA floating-point source register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Set ZF and NF flags on the result of MRa - MRb. The MCMPF32 instruction is performed
as a logical compare operation. This is possible because of the IEEE format offsetting
the exponent. Basically the bigger the binary number, the bigger the floating-point value.
Special cases for inputs:
• Negative zero will be treated as positive zero.
• A denormalized value will be treated as positive zero.
• Not-a-Number (NaN) will be treated as infinity.
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
974 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MCMPF32 MRa, #16FHi 32-Bit Floating-Point Compare for Equal, Less Than or Greater Than
Operands
MRa CLA floating-point source register (MR0 to MR3)
#16FHi A 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit floating-
point value. The low 16-bits of the mantissa are assumed to be all 0.
Description Compare the value in MRa with the floating-point value represented by the immediate
operand. Set the ZF and NF flags on (MRa - #16FHi:0).
#16FHi is a 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit
floating-point value. The low 16-bits of the mantissa are assumed to be all 0. This
addressing mode is most useful for constants where the lowest 16-bits of the mantissa
are 0. Some examples are 2.0 (0x40000000), 4.0 (0x40800000), 0.5 (0x3F000000), and
-1.5 (0xBFC00000). The assembler will accept either a hex or float as the immediate
value. That is, -1.5 can be represented as #-1.5 or #0xBFC0.
The MCMPF32 instruction is performed as a logical compare operation. This is possible
because of the IEEE floating-point format offsets the exponent. Basically the bigger the
binary number, the bigger the floating-point value.
Special cases for inputs:
• Negative zero will be treated as positive zero.
• Denormalized value will be treated as positive zero.
• Not-a-Number (NaN) will be treated as infinity.
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 975
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
LOOP
MMOV32 MR2, *MAR1[2]++ ; MR2 = next element
MCMPF32 MR2, MR1 ; Compare MR2 with MR1
MSWAPF MR1, MR2, GT ; MR1 = MAX(MR1, MR2)
MADDF32 MR0, MR0, #-1.0 ; Decrememt the counter
MCMPF32 MR0 #0.0 ; Set/clear flags for MBCNDD
MNOP
MNOP
MNOP
MBCNDD LOOP, NEQ ; Branch if not equal to zero
MMOV32 @_Result, MR1 ; Always executed
MNOP ; Always executed
MNOP ; Always executed
MSTOP ; End of task
976 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
none This instruction does not have any operands
Description When CLA breakpoints are enabled, the MDEBUGSTOP instruction is used to halt a
task so that it can be debugged. That is, MDEBUGSTOP is the CLA breakpoint. If CLA
breakpoints are not enabled, the MDEBUGSTOP instruction behaves like a MNOP.
Unlike the MSTOP, the MIRUN flag is not cleared and an interrupt is not issued. A
single-step or run operation will continue execution of the task.
Flags This instruction does not modify flags in the MSTF register.
Flag TF ZF NF LUF LVF
Modified No No No No No
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 977
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
none This instruction does not have any operands
Description The instruction at which a software breakpoint is placed will be replaced by the
MDEBUGSTOP1 instruction. It will halt execution once it reaches the D2 phase in the
pipeline; at that point the subsequent instructions that were fetched, after the halt, will be
flushed from the pipeline. The replace instruction will be re-fetched after this and
execution can continue normally (either in run or step mode).
See Section 8.5.3 for a detailed explanation of its operation.
Flags This instruction does not modify flags in the MSTF register.
Flag TF ZF NF LUF LVF
Modified No No No No No
978 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
none This instruction does not have any operands
Description This instruction sets the MEALLOW bit in the CLA status register MSTF. When this bit is
set, the CLA is allowed write access to EALLOW protected registers. To again protect
against CLA writes to protected registers, use the MEDIS instruction.
MEALLOW and MEDIS only control CLA write access; reads are allowed even if
MEALLOW has not been executed. MEALLOW and MEDIS are also independent from
the main CPU's EALLOW/EDIS. This instruction does not modify the EALLOW bit in the
main CPU's status register. The MEALLOW bit in MSTF only controls access for the
CLA while the EALLOW bit in the ST1 register only controls access for the main CPU.
As with EALLOW, the MEALLOW bit is overridden via the JTAG port, allowing full control
of register accesses during debug from Code Composer Studio.
Flags This instruction does not modify flags in the MSTF register.
Flag TF ZF NF LUF LVF
Modified No No No No No
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 979
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
none This instruction does not have any operands
Description This instruction clears the MEALLOW bit in the CLA status register MSTF. When this bit
is clear, the CLA is not allowed write access to EALLOW-protected registers. To enable
CLA writes to protected registers, use the MEALLOW instruction.
MEALLOW and MEDIS only control CLA write access; reads are allowed even if
MEALLOW has not been executed. MEALLOW and MEDIS are also independent from
the main CPU's EALLOW/EDIS. This instruction does not modify the EALLOW bit in the
main CPU's status register. The MEALLOW bit in MSTF only controls access for the
CLA while the EALLOW bit in the ST1 register only controls access for the main CPU.
As with EALLOW, the MEALLOW bit is overridden via the JTAG port, allowing full control
of register accesses during debug from Code Composer Studio.
Flags This instruction does not modify flags in the MSTF register.
Flag TF ZF NF LUF LVF
Modified No No No No No
980 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description This operation generates an estimate of 1/X in 32-bit floating-point format accurate to
approximately 8 bits. This value can be used in a Newton-Raphson algorithm to get a
more accurate answer. That is:
Ye = Estimate(1/X);
Ye = Ye*(2.0 - Ye*X);
Ye = Ye*(2.0 - Ye*X);
After two iterations of the Newton-Raphson algorithm, you will get an exact answer
accurate to the 32-bit floating-point format. On each iteration the mantissa bit accuracy
approximately doubles. The MEINVF32 operation will not generate a negative zero,
DeNorm or NaN value.
MRa = Estimate of 1/MRb;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 981
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description This operation generates an estimate of 1/sqrt(X) in 32-bit floating-point format accurate
to approximately 8 bits. This value can be used in a Newton-Raphson algorithm to get a
more accurate answer. That is:
Ye = Estimate(1/sqrt(X));
Ye = Ye*(1.5 - Ye*Ye*X/2.0);
Ye = Ye*(1.5 - Ye*Ye*X/2.0);
After 2 iterations of the Newton-Raphson algorithm, you will get an exact answer
accurate to the 32-bit floating-point format. On each iteration the mantissa bit accuracy
approximately doubles. The MEISQRTF32 operation will not generate a negative zero,
DeNorm or NaN value.
MRa = Estimate of 1/sqrt (MRb);
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
982 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Convert a 32-bit floating point value in MRb to a 16-bit integer and truncate. The result
will be stored in MRa.
MRa(15:0) = F32TOI16(MRb);
MRa(31:16) = sign extension of MRa(15);
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 983
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MF32TOI16R MRa, MRb Convert 32-Bit Floating-Point Value to 16-Bit Integer and Round
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Convert the 32-bit floating point value in MRb to a 16-bit integer and round to the nearest
even value. The result is stored in MRa.
MRa(15:0) = F32TOI16round(MRb);
MRa(31:16) = sign extension of MRa(15);
984 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Convert the 32-bit floating-point value in MRb to a 32-bit integer value and truncate.
Store the result in MRa.
MRa = F32TOI32(MRb);
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 985
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MF32TOUI16 MRa, MRb Convert 32-Bit Floating-Point Value to 16-bit Unsigned Integer
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Convert the 32-bit floating point value in MRb to an unsigned 16-bit integer value and
truncate to zero. The result will be stored in MRa. To instead round the integer to the
nearest even value use the MF32TOUI16R instruction.
MRa(15:0) = F32TOUI16(MRb);
MRa(31:16) = 0x0000;
986 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MF32TOUI16R MRa, MRb Convert 32-Bit Floating-Point Value to 16-bit Unsigned Integer and Round
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Convert the 32-bit floating-point value in MRb to an unsigned 16-bit integer and round to
the closest even value. The result will be stored in MRa. To instead truncate the
converted value, use the MF32TOUI16 instruction.
MRa(15:0) = MF32TOUI16round(MRb);
MRa(31:16) = 0x0000;
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 987
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MF32TOUI32 MRa, MRb Convert 32-Bit Floating-Point Value to 32-Bit Unsigned Integer
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Convert the 32-bit floating-point value in MRb to an unsigned 32-bit integer and store the
result in MRa.
MRa = F32TOUI32(MRb);
988 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Returns in MRa the fractional portion of the 32-bit floating-point value in MRb
See also
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 989
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Convert the 16-bit signed integer in MRb to a 32-bit floating point value and store the
result in MRa.
MRa = MI16TOF32(MRb);
990 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
mem16 16-bit source memory location to be converted
Description Convert the 16-bit signed integer indicated by the mem16 pointer to a 32-bit floating-
point value and store the result in MRa.
MRa = MI16TOF32[mem16];
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 991
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point destination register (MR0 to MR3)
mem32 32-bit memory source for the MMOV32 operation.
Description Convert the 32-bit signed integer indicated by mem32 to a 32-bit floating point value and
store the result in MRa.
MRa = MI32TOF32[mem32];
_Cla1Task3:
MI32TOF32 MR0, @_M ; MR0 = 0x4BC00000
MI32TOF32 MR1, @_X ; MR1 = 0x4C200000
MI32TOF32 MR2, @_B ; MR2 = 0xCB000000
MMPYF32 MR0, MR0, #0x3380 ; M = 1/(1*2^24) * iqm = 1.5 (0x3FC00000)
MMPYF32 MR1, MR1, #0x3380 ; X = 1/(1*2^24) * iqx = 2.5 (0x40200000)
MMPYF32 MR2, MR2, #0x3380 ; B = 1/(1*2^24) * iqb = -.5 (0xBF000000)
MMPYF32 MR3, MR0, MR1 ; M*X
MADDF32 MR2, MR2, MR3 ; Y=MX+B = 3.25 (0x40500000)
992 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Convert the signed 32-bit integer in MRb to a 32-bit floating-point value and store the
result in MRa.
MRa = MI32TOF32(MRb);
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 993
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point source/destination register (MR0 to MR3)
#SHIFT Number of bits to shift (1 to 32)
Description Logical shift left of MRa by the number of bits indicated. The number of bits can be 1 to
32.
MARa(31:0) = Logical Shift Left(MARa(31:0) by #SHIFT bits);
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The MSTF register flags are modified based on the integer results of the operation.
NF = MRa(31);
ZF = 0;
if(MRa(31:0) == 0) { ZF = 1; }
994 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point source/destination register (MR0 to MR3)
#SHIFT Number of bits to shift (1 to 32)
Description Logical shift right of MRa by the number of bits indicated. The number of bits can be 1 to
32. Unlike the arithmetic shift (MASR32), the logical shift does not preserve the number's
sign bit. Every bit in the operand is moved the specified number of bit positions, and the
vacant bit-positions are filled in with zeros
MARa(31:0) = Logical Shift Right(MARa(31:0) by #SHIFT bits);
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The MSTF register flags are modified based on the integer results of the operation.
NF = MRa(31);
ZF = 0;
if(MRa(31:0) == 0) { ZF = 1;}
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 995
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MMACF32 MR3, MR2, MRd, MRe, MRf ||MMOV32 MRa, mem32 32-Bit Floating-Point Multiply and
Accumulate with Parallel Move
Operands
MR3 floating-point destination/source register MR3 for the add operation
MR2 CLA floating-point source register MR2 for the add operation
MRd CLA floating-point destination register (MR0 to MR3) for the multiply operation
MRd cannot be the same register as MRa
MRe CLA floating-point source register (MR0 to MR3) for the multiply operation
MRf CLA floating-point source register (MR0 to MR3) for the multiply operation
MRa CLA floating-point destination register for the MMOV32 operation (MR0 to MR3).
MRa cannot be MR3 or the same register as MRd.
mem32 32-bit source for the MMOV32 operation
Description Multiply and accumulate the contents of floating-point registers and move from register
to memory. The destination register for the MMOV32 cannot be the same as the
destination registers for the MMACF32.
MR3 = MR3 + MR2;
MRd = MRe * MRf;
MRa = [mem32];
Restrictions The destination registers for the MMACF32 and the MMOV32 must be unique. That is,
MRa cannot be MR3 and MRa cannot be the same register as MRd.
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes Yes Yes
996 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 997
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
See also MMPYF32 MRa, MRb, MRc || MADDF32 MRd, MRe, MRf
998 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point source/destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The ZF and NF flags are configured on the result of the operation, not the result stored
in the destination register.
if(MRa == MRb) {ZF=1; NF=0;}
if(MRa > MRb) {ZF=0; NF=0;}
if(MRa < MRb) {ZF=0; NF=1;}
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 999
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
1000 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point source/destination register (MR0 to MR3)
#16FHi A 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit floating-
point value. The low 16-bits of the mantissa are assumed to be all 0.
Description Compare MRa with the floating-point value represented by the immediate operand. If the
immediate value is larger, then load it into MRa.
if(MRa < #16FHi:0) MRa = #16FHi:0;
#16FHi is a 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit
floating-point value. The low 16-bits of the mantissa are assumed to be all 0. This
addressing mode is most useful for constants where the lowest 16-bits of the mantissa
are 0. Some examples are 2.0 (0x40000000), 4.0 (0x40800000), 0.5 (0x3F000000), and
-1.5 (0xBFC00000). The assembler will accept either a hex or float as the immediate
value. That is, -1.5 can be represented as #-1.5 or #0xBFC0.
Special cases for the output from the MMAXF32 operation:
• NaN output will be converted to infinity
• A denormalized output will be converted to positive zero.
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The ZF and NF flags are configured on the result of the operation, not the result stored
in the destination register.
if(MRa == #16FHi:0) {ZF=1; NF=0;}
if(MRa > #16FHi:0) {ZF=0; NF=0;}
if(MRa < #16FHi:0) {ZF=0; NF=1;}
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1001
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point source/destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The ZF and NF flags are configured on the result of the operation, not the result stored
in the destination register.
if(MRa == MRb) {ZF=1; NF=0;}
if(MRa > MRb) {ZF=0; NF=0;}
if(MRa < MRb) {ZF=0; NF=1;}
Example 2 ;
; X is an array of 32-bit floating-point values
; Find the minimum value in an array X
; and store it in Result
;
_Cla1Task1:
MMOVI16 MAR1,#_X ; Start address
MUI16TOF32 MR0, @_len ; Length of the array
MNOP ; delay for MAR1 load
MNOP ; delay for MAR1 load
MMOV32 MR1, *MAR1[2]++ ; MR1 = X0
LOOP
MMOV32 MR2, *MAR1[2]++ ; MR2 = next element
MMINF32 MR1, MR2 ; MR1 = MAX(MR1, MR2)
MADDF32 MR0, MR0, #-1.0 ; Decrememt the counter
MCMPF32 MR0 #0.0 ; Set/clear flags for MBCNDD
MNOP
MNOP
MNOP
MBCNDD LOOP, NEQ ; Branch if not equal to zero
MMOV32 @_Result, MR1 ; Always executed
MNOP ; Always executed
MNOP ; Always executed
MSTOP ; End of task
1002 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1003
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa floating-point source/destination register (MR0 to MR3)
#16FHi A 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit floating-
point value. The low 16-bits of the mantissa are assumed to be all 0.
Description Compare MRa with the floating-point value represented by the immediate operand. If the
immediate value is smaller, then load it into MRa.
if(MRa > #16FHi:0) MRa = #16FHi:0;
#16FHi is a 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit
floating-point value. The low 16-bits of the mantissa are assumed to be all 0. This
addressing mode is most useful for constants where the lowest 16-bits of the mantissa
are 0. Some examples are 2.0 (0x40000000), 4.0 (0x40800000), 0.5 (0x3F000000), and
-1.5 (0xBFC00000). The assembler will accept either a hex or float as the immediate
value. That is, -1.5 can be represented as #-1.5 or #0xBFC0.
Special cases for the output from the MMINF32 operation:
• NaN output will be converted to infinity
• A denormalized output will be converted to positive zero.
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The ZF and NF flags are configured on the result of the operation, not the result stored
in the destination register.
if(MRa == #16FHi:0) {ZF=1; NF=0;}
if(MRa > #16FHi:0) {ZF=0; NF=0;}
if(MRa < #16FHi:0) {ZF=0; NF=1;}
1004 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MMOV16 MARx, MRa, #16I Load the Auxiliary Register with MRa + 16-bit Immediate Value
Operands
MARx Auxiliary register MAR0 or MAR1
MRa CLA Floating-point register (MR0 to MR3)
#16I 16-bit immediate value
Opcode LSW: IIII IIII IIII IIII (opcode of MMOV16 MAR0, MRa, #16I)
MSW: 0111 1111 1101 00AA
LSW: IIII IIII IIII IIII (opcode of MMOV16 MAR1, MRa, #16I)
MSW: 0111 1111 1111 00AA
Description Load the auxiliary register, MAR0 or MAR1, with MRa(15:0) + 16-bit immediate value.
Refer to the pipeline section for important information regarding this instruction.
MARx = MRa(15:0) + #16I;
Flags This instruction does not modify flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No No No
Pipeline This is a single-cycle instruction. The load of MAR0 or MAR1 will occur in the EXE
phase of the pipeline. Any post increment of MAR0 or MAR1 using indirect addressing
will occur in the D2 phase of the pipeline. Therefore the following applies when loading
the auxiliary registers:
• I1 and I2
The two instructions following MMOV16 will use MAR0/MAR1 before the update
occurs. Thus these two instructions will use the old value of MAR0 or MAR1.
• I3
Loading of an auxiliary register occurs in the EXE phase while updates due to post-
increment addressing occur in the D2 phase. Thus I3 cannot use the auxiliary
register or there will be a conflict. In the case of a conflict, the update due to address-
mode post increment will win and the auxiliary register will not be updated with #_X.
• I4
Starting with the 4th instruction MAR0 or MAR1 will be the new value loaded with
MMOVI16.
; Assume MAR0 is 50, MR0 is 10, and #_X is 20
MMOV16 MAR0, MR0, #_X ; Load MAR0 with address of X (20) + MR0 (10)
<Instruction 1> ; I1 Will use the old value of MAR0 (50)
<Instruction 2> ; I2 Will use the old value of MAR0 (50)
<Instruction 3> ; I3 Cannot use MAR0
<Instruction 4> ; I4 Will use the new value of MAR0 (30)
<Instruction 5> ; I5
Table 8-17. Pipeline Activity For MMOV16 MARx, MRa , #16I
Instruction F1 F2 D1 D2 R1 R2 E W
MMOV16 MAR0, MR0, #_X MMOV16
I1 I1 MMOV16
I2 I2 I1 MMOV16
I3 I3 I2 I1 MMOV16
I4 I4 I3 I2 I1 MMOV16
I5 I5 I4 I3 I2 I1 MMOV16
MMOV1
I6 I6 I5 I4 I3 I2 I1
6
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA)1005
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
1006 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
_RestartCount
MMOV16 @_ConversionCount, MR1 ; If branch taken, restart count
MSTOP ; end of task
See also
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1007
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MARx CLA auxiliary register MAR0 or MAR1
mem16 16-bit destination memory accessed using one of the available addressing modes
Opcode LSW: mmmm mmmm mmmm mmmm (Opcode for MMOV16 MAR0, mem16)
MSW: 0111 0110 0000 addr
LSW: mmmm mmmm mmmm mmmm (Opcode for MMOV16 MAR1, mem16)
MSW: 0111 0110 0100 addr
Description Load MAR0 or MAR1 with the 16-bit value pointed to by mem16. Refer to the pipeline
section for important information regarding this instruction.
MAR1 = [mem16];
Pipeline This is a single-cycle instruction. The load of MAR0 or MAR1 will occur in the EXE
phase of the pipeline. Any post increment of MAR0 or MAR1 using indirect addressing
will occur in the D2 phase of the pipeline. Therefore the following applies when loading
the auxiliary registers:
• I1 and I2
The two instructions following MMOV16 will use MAR0/MAR1 before the update
occurs. Thus these two instructions will use the old value of MAR0 or MAR1.
• I3
Loading of an auxiliary register occurs in the EXE phase while updates due to post-
increment addressing occur in the D2 phase. Thus I3 cannot use the auxiliary
register or there will be a conflict. In the case of a conflict, the update due to address-
mode post increment will win send the auxiliary register will not be updated with #_X.
• I4
Starting with the 4th instruction MAR0 or MAR1 will be the new value loaded with
MMOV16.
; Assume MAR0 is 50 and @_X is 20
1008 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
_RestartCount
MMOV16 @_ConversionCount, MR1 ; If branch taken, restart count
MSTOP ; end of task
See also
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1009
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
mem16 16-bit destination memory accessed using one of the available addressing modes
MARx CLA auxiliary register MAR0 or MAR1
Opcode LSW: mmmm mmmm mmmm mmmm (Opcode for MMOV16 mem16, MAR0)
MSW: 0111 0110 1000 addr
LSW: mmmm mmmm mmmm mmmm (Opcode for MMOV16 mem16, MAR1)
MSW: 0111 0110 1100 addr
Description Store the contents of MAR0 or MAR1 in the 16-bit memory location pointed to by
mem16.
[mem16] = MAR0;
Example
See also
1010 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
mem16 16-bit destination memory accessed using one of the available addressing modes
MRa CLA floating-point source register (MR0 to MR3)
Description Move 16-bit value from the lower 16-bits of the floating-point register (MRa(15:0)) to the
location pointed to by mem16.
[mem16] = MRa(15:0);
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1011
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
_RestartCount
MMOV16 @_ConversionCount, MR1 ; If branch taken, restart count
MSTOP ; end of task
1012 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa floating-point register (MR0 to MR3)
mem32 32-bit destination memory accessed using one of the available addressing modes
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No No No
No flags affected.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1013
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MSTF floating-point status register
mem32 32-bit destination memory
Flags This instruction does not modify flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No No No
Example The following example illustrates the pipeline flow for the context save (of the flags and
RPC) prior to a function call. The first column in the comments shows the pipeline stages
for the MMOV32 instruction while the second column pertains to the MCCNDD
instruction.
MMOV32 @_temp, MSTF ; D2| |
MNOP ; R1|F1| MCCNDD is fetched
MNOP ; R2|F2|
MNOP ; E |D1|
MCCNDD _bar, UNC ; W |D2| old RPC written to memory,
; | | RPC updated with MPC+1
MNOP ; |R1|
MNOP ; |R2|
MNOP ; |E | execution branches to _bar
1014 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
mem32 32-bit memory location accessed using one of the available addressing modes
CNDF optional condition.
Description If the condition is true, then move the 32-bit value referenced by mem32 to the floating-
point register indicated by MRa.
if (CNDF == TRUE) MRa = [mem32];
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
if(CNDF == UNCF)
{
NF = MRa(31);
ZF = 0;
if(MRa(30:23) == 0) { ZF = 1; NF = 0; }
}
else No flags modified;
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1015
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
1016 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
CNDF optional condition.
Description If the condition is true, then move the 32-bit value in MRb to the floating-point register
indicated by MRa.
if (CNDF == TRUE) MRa = MRb;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
if(CNDF == UNCF)
{
NF = MRa(31); ZF = 0;
if(MRa(30:23) == 0) {ZF = 1; NF = 0;}
}
else No flags modified;
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1017
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
1018 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MMOV32 MSTF, mem32 Move 32-Bit Value from Memory to the MSTF Register
Operands
MSTF CLA status register
mem32 32-bit source memory location
Description Move from memory to the CLA's status register MSTF. This instruction is most useful
when nesting function calls (via MCCNDD).
MSTF = [mem32];
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified Yes Yes Yes Yes Yes
Loading the status register will overwrite all flags and the RPC field. The MEALLOW field
is not affected.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1019
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MMOVD32 MRa, mem32 Move 32-Bit Value from Memory with Data Copy
Operands
MRa CLA floating-point register (MR0 to MR3)
mem32 32-bit memory location accessed using one of the available addressing modes
Description Move the 32-bit value referenced by mem32 to the floating-point register indicated by
MRa.
MRa = [mem32];
[mem32+2] = [mem32];
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
NF = MRa(31);
ZF = 0;
if(MRa(30:23) == 0){ ZF = 1; NF = 0; }
1020 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands This instruction is an alias for MMOVIZ and MMOVXI instructions. The second operand
is translated by the assembler such that the instruction becomes:
MMOVIZ MRa, #16FHiHex MMOVXI MRa, #16FLoHex
MRa CLA floating-point destination register (MR0 to MR3)
#32F immediate float value represented in floating-point representation
Opcode LSW: IIII IIII IIII IIII (opcode of MMOVIZ MRa, #16FHiHex)
MSW: 0111 1000 0100 00aa
LSW: IIII IIII IIII IIII (opcode of MMOVXI MRa, #16FLoHex)
MSW: 0111 1000 1000 00aa
Description Note: This instruction accepts the immediate operand only in floating-point
representation. To specify the immediate value as a hex value (IEEE 32-bit floating-
point format) use the MOVI32 MRa, #32FHex instruction.
Load the 32-bits of MRa with the immediate float value represented by #32F.
#32F is a float value represented in floating-point representation. The assembler will only
accept a float value represented in floating-point representation. That is, 3.0 can only be
represented as #3.0. #0x40400000 will result in an error.
MRa = #32F;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No No No
Pipeline Depending on #32FH, this instruction takes one or two cycles. If all of the lower 16-bits
of the IEEE 32-bit floating-point format of #32F are zeros, then the assembler will
convert MMOVF32 into only MMOVIZ instruction. If the lower 16-bits of the IEEE 32-bit
floating-point format of #32F are not zeros, then the assembler will convert MMOVF32
into MMOVIZ and MMOVXI instructions.
Example MMOVF32 MR1, #3.0 ; MR1 = 3.0 (0x40400000)
; Assembler converts this instruction as
; MMOVIZ MR1, #0x4040
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1021
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MMOVI16 MARx, #16I Load the Auxiliary Register with the 16-Bit Immediate Value
Operands
MARx Auxiliary register MAR0 or MAR1
#16I 16-bit immediate value
Opcode LSW: IIII IIII IIII IIII (opcode of MMOVI16 MAR0, #16I)
MSW: 0111 1111 1100 0000
Description Load the auxiliary register, MAR0 or MAR1, with a 16-bit immediate value. Refer to the
pipeline section for important information regarding this instruction.
MARx = #16I;
Flags This instruction does not modify flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No No No
Pipeline This is a single-cycle instruction. The immediate load of MAR0 or MAR1 will occur in the
EXE phase of the pipeline. Any post increment of MAR0 or MAR1 using indirect
addressing will occur in the D2 phase of the pipeline. Therefore the following applies
when loading the auxiliary registers:
• I1 and I2
The two instructions following MMOVI16 will use MAR0/MAR1 before the update
occurs. Thus these two instructions will use the old value of MAR0 or MAR1.
• I3
Loading of an auxiliary register occurs in the EXE phase while updates due to post-
increment addressing occur in the D2 phase. Thus I3 cannot use the auxiliary
register or there will be a conflict. In the case of a conflict, the update due to address-
mode post increment will win snd the auxiliary register will not be updated with #_X.
• I4
Starting with the 4th instruction MAR0 or MAR1 will be the new value loaded with
MMOVI16.
; Assume MAR0 is 50 and #_X is 20
1022 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MMOVI32 MRa, #32FHex Load the 32-Bits of a 32-Bit Floating-Point Register with the Immediate
Operands
MRa floating-point register (MR0 to MR3)
#32FHex A 32-bit immediate value that represents an IEEE 32-bit floating-point value.
This instruction is an alias for MMOVIZ and MMOVXI instructions. The second operand
is translated by the assembler such that the instruction becomes:
MMOVIZ MRa, #16FHiHex
MMOVXI MRa, #16FLoHex
Opcode LSW: IIII IIII IIII IIII (opcode of MMOVIZ MRa, #16FHiHex)
MSW: 0111 1000 0100 00aa
Description Note: This instruction only accepts a hex value as the immediate operand. To specify the
immediate value with a floating-point representation use the MMOVF32 MRa, #32F
instruction.
Load the 32-bits of MRa with the immediate 32-bit hex value represented by #32Fhex.
#32Fhex is a 32-bit immediate hex value that represents the IEEE 32-bit floating-point
value of a floating-point number. The assembler will only accept a hex immediate value.
That is, 3.0 can only be represented as #0x40400000. #3.0 will result in an error.
MRa = #32FHex;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No No No
Pipeline Depending on #32FHex, this instruction takes one or two cycles. If all of the lower 16-
bits of #32FHex are zeros, then assembler will convert MOVI32 to the MMOVIZ
instruction. If the lower 16-bits of #32FHex are not zeros, then assembler will convert
MOVI32 to a MMOVIZ and a MMOVXI instruction.
Example MOVI32 MR1, #0x40400000 ; MR1 = 0x40400000
; Assembler converts this instruction as
; MMOVIZ MR1, #0x4040
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1023
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MMOVIZ MRa, #16FHi Load the Upper 16-Bits of a 32-Bit Floating-Point Register
Operands
MRa floating-point register (MR0 to MR3)
#16FHi A 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit floating-
point value. The low 16-bits of the mantissa are assumed to be all 0.
Description Load the upper 16-bits of MRa with the immediate value #16FHi and clear the low 16-
bits of MRa.
#16FHiHex is a 16-bit immediate value that represents the upper 16-bits of an IEEE 32-
bit floating-point value. The low 16-bits of the mantissa are assumed to be all 0. The
assembler will only accept a decimal or hex immediate value. That is, -1.5 can be
represented as #-1.5 or #0xBFC0.
By itself, MMOVIZ is useful for loading a floating-point register with a constant in which
the lowest 16-bits of the mantissa are 0. Some examples are 2.0 (0x40000000), 4.0
(0x40800000), 0.5 (0x3F000000), and -1.5 (0xBFC00000). If a constant requires all 32-
bits of a floating-point register to be iniitalized, then use MMOVIZ along with the
MMOVXI instruction.
MRa(31:16) = #16FHi;
MRa(15:0) = 0;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No No No
1024 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
mem16 16-bit source memory location
Description Move the 16-bit value referenced by mem16 to the floating-point register indicated by
MRa.
MRa(31:16) = 0;
MRa(15:0) = [mem16];
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The MSTF register flags are modified based on the integer results of the operation.
NF = 0;
if (MRa(31:0)== 0) { ZF = 1; }
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1025
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MMOVXI MRa, #16FLoHex Move Immediate to the Low 16-Bits of a Floating-Point Register
Operands
MRa CLA floating-point register (MR0 to MR3)
#16FLoHex A 16-bit immediate hex value that represents the lower 16-bits of an IEEE 32-bit
floating-point value. The upper 16-bits will not be modified.
Description Load the low 16-bits of MRa with the immediate value #16FLoHex. #16FLoHex
represents the lower 16-bits of an IEEE 32-bit floating-point value. The upper 16-bits of
MRa will not be modified. MMOVXI can be combined with the MMOVIZ instruction to
initialize all 32-bits of a MRa register.
MRa(15:0) = #16FLoHex;
MRa(31:16) = Unchanged;
Flags
Flag TF ZF NF LUF LVF
Modified No No No No No
1026 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
MRc CLA floating-point source register (MR0 to MR3)
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1027
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point destination register (MR0 to MR3)
#16FHi A 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit floating-
point value. The low 16-bits of the mantissa are assumed to be all 0.
MRb CLA floating-point source register (MR0 to MR3)
Description Multiply MRb with the floating-point value represented by the immediate operand. Store
the result of the addition in MRa.
#16FHi is a 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit
floating-point value. The low 16-bits of the mantissa are assumed to be all 0. #16FHi is
most useful for representing constants where the lowest 16-bits of the mantissa are 0.
Some examples are 2.0 (0x40000000), 4.0 (0x40800000), 0.5 (0x3F000000), and -1.5
(0xBFC00000). The assembler will accept either a hex or float as the immediate value.
That is, the value -1.5 can be represented as #-1.5 or #0xBFC0.
MRa = MRb * #16FHi:0;
Flags This instruction modifies the following flags in the MSTF register:.
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
1028 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1029
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
#16FHi A 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit floating-
point value. The low 16-bits of the mantissa are assumed to be all 0.
Description Multiply MRb with the floating-point value represented by the immediate operand. Store
the result of the addition in MRa.
#16FHi is a 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit
floating-point value. The low 16-bits of the mantissa are assumed to be all 0. #16FHi is
most useful for representing constants where the lowest 16-bits of the mantissa are 0.
Some examples are 2.0 (0x40000000), 4.0 (0x40800000), 0.5 (0x3F000000), and -1.5
(0xBFC00000). The assembler will accept either a hex or float as the immediate value.
That is, the value -1.5 can be represented as #-1.5 or #0xBFC0.
MRa = MRb * #16FHi:0;
Flags This instruction modifies the following flags in the MSTF register:.
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
1030 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1031
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MMPYF32 MRa, MRb, MRc||MADDF32 MRd, MRe, MRf 32-Bit Floating-Point Multiply with Parallel
Add
Operands
MRa CLA floating-point destination register for MMPYF32 (MR0 to MR3)
MRa cannot be the same register as MRd
MRb CLA floating-point source register for MMPYF32 (MR0 to MR3)
MRc CLA floating-point source register for MMPYF32 (MR0 to MR3)
MRd CLA floating-point destination register for MADDF32 (MR0 to MR3)
MRd cannot be the same register as MRa
MRe CLA floating-point source register for MADDF32 (MR0 to MR3)
MRf CLA floating-point source register for MADDF32 (MR0 to MR3)
Description Multiply the contents of two floating-point registers with parallel addition of two registers.
MRa = MRb * MRc;
MRd = MRe + MRf;
Restrictions The destination register for the MMPYF32 and the MADDF32 must be unique. That is,
MRa cannot be the same register as MRd.
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
1032 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
See also MMACF32 MR3, MR2, MRd, MRe, MRf || MMOV32 MRa, mem32
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1033
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MMPYF32 MRd, MRe, MRf ||MMOV32 MRa, mem32 32-Bit Floating-Point Multiply with Parallel Move
Operands
MRd CLA floating-point destination register for the MMPYF32 (MR0 to MR3)
MRd cannot be the same register as MRa
MRe CLA floating-point source register for the MMPYF32 (MR0 to MR3)
MRf CLA floating-point source register for the MMPYF32 (MR0 to MR3)
MRa CLA floating-point destination register for the MMOV32 (MR0 to MR3)
MRa cannot be the same register as MRd
mem32 32-bit memory location accessed using one of the available addressing modes. This
will be the source of the MMOV32.
Description Multiply the contents of two floating-point registers and load another.
MRd = MRe * MRf;
MRa = [mem32];
Restrictions The destination register for the MMPYF32 and the MMOV32 must be unique. That is,
MRa cannot be the same register as MRd.
Flags This instruction modifies the following flags in the MSTF register:.
Flag TF ZF NF LUF LVF
Modified No Yes Yes Yes Yes
1034 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1035
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MMPYF32 MRd, MRe, MRf ||MMOV32 mem32, MRa 32-Bit Floating-Point Multiply with Parallel Move
Operands
MRd CLA floating-point destination register for the MMPYF32 (MR0 to MR3)
MRe CLA floating-point source register for the MMPYF32 (MR0 to MR3)
MRf CLA floating-point source register for the MMPYF32 (MR0 to MR3)
mem32 32-bit memory location accessed using one of the available addressing modes. This
will be the destination of the MMOV32.
MRa CLA floating-point source register for the MMOV32 (MR0 to MR3)
Description Multiply the contents of two floating-point registers and move from memory to register.
MRd = MRe * MRf;
[mem32] = MRa;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
1036 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MMPYF32 MRa, MRb, MRc ||MSUBF32 MRd, MRe, MRf 32-Bit Floating-Point Multiply with Parallel
Subtract
Operands
MRa CLA floating-point destination register for MMPYF32 (MR0 to MR3)
MRa cannot be the same register as MRd
MRb CLA floating-point source register for MMPYF32 (MR0 to MR3)
MRc CLA floating-point source register for MMPYF32 (MR0 to MR3)
MRd CLA floating-point destination register for MSUBF32 (MR0 to MR3)
MRd cannot be the same register as MRa
MRe CLA floating-point source register for MSUBF32 (MR0 to MR3)
MRf CLA floating-point source register for MSUBF32 (MR0 to MR3)
Description Multiply the contents of two floating-point registers with parallel subtraction of two
registers.
MRa = MRb * MRc;
MRd = MRe - MRf;
Restrictions The destination register for the MMPYF32 and the MSUBF32 must be unique. That is,
MRa cannot be the same register as MRd.
Flags This instruction modifies the following flags in the MSTF register:.
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1037
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
CNDF condition tested
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
1038 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1039
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MNOP No Operation
Operands
none This instruction does not have any operands
Description Do nothing. This instruction is used to fill required pipeline delay slots when other
instructions are not available to fill the slots.
Flags This instruction does not modify flags in the MSTF register.
Flag TF ZF NF LUF LVF
Modified No No No No No
See also
1040 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
MRc CLA floating-point source register (MR0 to MR3)
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The MSTF register flags are modified based on the integer results of the operation.
NF = MRa(31);
ZF = 0;
if(MRa(31:0) == 0) { ZF = 1; }
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1041
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
CNDF optional condition.
Description If the specified condition is true, then the RPC field of MSTF is loaded into MPC and
fetching continues from that location. Otherwise program fetches will continue without
the return.
Please refer to the pipeline section for important information regarding this instruction.
if (CNDF == TRUE) MPC = RPC;
Flags This instruction does not modify flags in the MSTF register.
Flag TF ZF NF LUF LVF
Modified No No No No No
1042 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Pipeline The MRCNDD instruction by itself is a single-cycle instruction. As shown in Table 8-20,
for each return 6 instruction slots are executed; three before the return instruction (d5-
d7) and three after the return instruction (d8-d10). The total number of cycles for a return
taken or not taken depends on the usage of these slots. That is, the number of cycles
depends on how many slots are filled with a MNOP as well as which slots are filled. The
effective number of cycles for a return can, therefore, range from 1 to 7 cycles. The
number of cycles for a return taken may not be the same as for a return not taken.
Referring to the following code fragment and the pipeline diagrams in Table 8-20 and
Table 8-21, the instructions before and after MRCNDD have the following properties:
;
;
<Instruction 1> ; I1 Last instruction that can affect flags for
; the MCCNDD operation
<Instruction 2> ; I2 Cannot be stop, branch, call or return
<Instruction 3> ; I3 Cannot be stop, branch, call or return
<Instruction 4> ; I4 Cannot be stop, branch, call or return
because the flag modification will occur after the D2 phase of the MRCNDD
instruction.
– These instructions must not be the following: MSTOP, MDEBUGSTOP,
MBCNDD, MCCNDD or MRCNDD.
• d8, d9 and d10
– The three instructions following MRCNDD are always executed irrespective of
whether the return is taken or not.
– These instructions must not be the following: MSTOP, MDEBUGSTOP,
MBCNDD, MCCNDD or MRCNDD.
1044 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Example ;
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1045
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
none This instruction does not have any operands
Description This instruction will set the background task interrupt mask (BGINTM) bit in the
MSTSBGRND register, making any code thereafter un-interruptible. No other higher
priority task will be able to interrupt the background task until the BGINTM is cleared.
This instruction sets the BGINTM bit at the end of its D2 phase.
Note: This instruction does not require the MEALLOW bit to be asserted before, or de-
asserted after, setting BGINTM.
Flags This instruction does not modify the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No No No
1046 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
FLAG 8 bit mask indicating which floating-point status flags to change.
VALUE 8 bit mask indicating the flag value; 0 or 1.
Description The MSETFLG instruction is used to set or clear selected floating-point status flags in
the MSTF register. The FLAG field is an 11-bit value that indicates which flags will be
changed. That is, if a FLAG bit is set to 1 it indicates that flag will be changed; all other
flags will not be modified. The bit mapping of the FLAG field is shown below:
RNDF3 reserve reserve TF reserve reserved ZF NF LUF LVF
2 d d d
9 8 7 6 5 4 3 2 1 0
The VALUE field indicates the value the flag should be set to; 0 or 1.
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified Yes Yes Yes Yes Yes
Any flag can be modified by this instruction. The MEALLOW and RPC fields cannot be
modified with this instruction.
Example To make it easier and legible, the assembler accepts a FLAG=VALUE syntax for the
MSTFLG operation as shown below:
MSETFLG RNDF32=0, TF=0, NF=1; FLAG = 11000100; VALUE = 00XXX1XX;
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1047
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
none This instruction does not have any operands
Description The MSTOP instruction must be placed to indicate the end of each task. In addition,
placing MSTOP in unused memory locations within the CLA program RAM can be useful
for debugging and preventing run away CLA code. When MSTOP enters the D2 phase
of the pipeline, the MIRUN flag for the task is cleared and the associated interrupt is
flagged in the PIE vector table.
There are three special cases that can occur when single-stepping a task such that the
MPC reaches the MSTOP instruction.
1. If you are single-stepping or halted in "task A" and "task B" comes in before the MPC
reaches the MSTOP, then "task B" will start if you continue to step through the
MSTOP instruction. Basically if "task B" is pending before the MPC reaches MSTOP
in "task A" then there is no issue in "task B" starting and no special action is required.
2. In this case you have single-stepped or halted in "task A" and the MPC has reached
the MSTOP with no tasks pending. If "task B" comes in at this point, it will be flagged
in the MIFR register but it may or may not start if you continue to single-step through
the MSTOP instruction of "task A". It depends on exactly when the new task comes
in. To reliably start "task B" perform a soft reset and reconfigure the MIER bits. Once
this is done, you can start single-stepping "task B".
3. Case 2 can be handled slightly differently if there is control over when "task B" comes
in (for example using the IACK instruction to start the task). In this case you have
single-stepped or halted in "task A" and the MPC has reached the MSTOP with no
tasks pending. Before forcing "task B", run free to force the CLA out of the debug
state. Once this is done you can force "task B" and continue debugging.
Restrictions The MSTOP instruction cannot be placed 3 instructions before or after a MBCNDD,
MCCNDD or MRCNDD instruction.
Flags This instruction does not modify flags in the MSTF register.
Flag TF ZF NF LUF LVF
Modified No No No No No
Pipeline This is a single-cycle instruction. Table 8-22 shows the pipeline behavior of the MSTOP
instruction. The MSTOP instruction cannot be placed with 3 instructions of a MBCNDD,
MCCNDD or MRCNDD instruction.
1048Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1049
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point destination register (MR0 to MR3)
MRc CLA floating-point destination register (MR0 to MR3)
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
1050 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point destination register (MR0 to R1)
MRb CLA floating-point source register (MR0 to R1)
MRc CLA floating-point source register (MR0 to R1)
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1051
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
Operands
MRa CLA floating-point destination register (MR0 to R1)
#16FHi A 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit floating-
point value. The low 16-bits of the mantissa are assumed to be all 0.
MRb CLA floating-point source register (MR0 to R1)
Description Subtract MRb from the floating-point value represented by the immediate operand. Store
the result of the addition in MRa.
#16FHi is a 16-bit immediate value that represents the upper 16-bits of an IEEE 32-bit
floating-point value. The low 16-bits of the mantissa are assumed to be all 0. #16FHi is
most useful for representing constants where the lowest 16-bits of the mantissa are 0.
Some examples are 2.0 (0x40000000), 4.0 (0x40800000), 0.5 (0x3F000000), and -1.5
(0xBFC00000). The assembler will accept either a hex or float as the immediate value.
That is, the value -1.5 can be represented as #-1.5 or #0xBFC0.
MRa = #16FHi:0 - MRb;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
1052 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MSUBF32 MRd, MRe, MRf ||MMOV32 MRa, mem32 32-Bit Floating-Point Subtraction with Parallel
Move
Operands
MRd CLA floating-point destination register (MR0 to MR3) for the MSUBF32 operation
MRd cannot be the same register as MRa
MRe CLA floating-point source register (MR0 to MR3) for the MSUBF32 operation
MRf CLA floating-point source register (MR0 to MR3) for the MSUBF32 operation
MRa CLA floating-point destination register (MR0 to MR3) for the MMOV32 operation
MRa cannot be the same register as MRd
mem32 32-bit memory location accessed using one of the available addressing modes. Source
for the MMOV32 operation.
Description Subtract the contents of two floating-point registers and move from memory to a floating-
point register.
MRd = MRe - MRf;
MRa = [mem32];
Restrictions The destination register for the MSUBF32 and the MMOV32 must be unique. That is,
MRa cannot be the same register as MRd.
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes Yes Yes
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1053
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MSUBF32 MRd, MRe, MRf ||MMOV32 mem32, MRa 32-Bit Floating-Point Subtraction with Parallel
Move
Operands
MRd CLA floating-point destination register (MR0 to MR3) for the MSUBF32 operation
MRe CLA floating-point source register (MR0 to MR3) for the MSUBF32 operation
MRf CLA floating-point source register (MR0 to MR3) for the MSUBF32 operation
mem32 32-bit destination memory location for the MMOV32 operation
MRa CLA floating-point source register (MR0 to MR3) for the MMOV32 operation
Description Subtract the contents of two floating-point registers and move from a floating-point
register to memory.
MRd = MRe - MRf;
[mem32] = MRa;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No Yes Yes
Example
See also MSUBF32 MRa, MRb, MRc
MSUBF32 MRa, #16FHi, MRb
MSUBF32 MRd, MRe, MRf || MMOV32 MRa, mem32
MMPYF32 MRa, MRb, MRc || MSUBF32 MRd, MRe, MRf
1054 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
MRa CLA floating-point register (MR0 to MR3)
MRb CLA floating-point register (MR0 to MR3)
CNDF Optional condition tested based on the MSTF flags
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No No No No No
No flags affected
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1055
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
See also
1056 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
Operands
CNDF condition to test based on MSTF flags
Description Test the CLA floating-point condition and if true, set the MSTF[TF] flag. If the condition is
false, clear the MSTF[TF] flag. This is useful for temporarily storing a condition for later
use.
if (CNDF == true) TF = 1;
else TF = 0;
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified Yes No No No No
TF = 0;
if (CNDF == true) TF = 1;
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1057
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
_Skip1:
MMOV32 MR3, @_SteadyState
MMOVXI MR2, #STEADYMASK
MOR32 MR3, MR2
MBCNDD _Skip2, NTF ; (B) if State != .01, go to Skip2
MMOV32 MR1, @_CoastState ; Always executed
MMOVXI MR2, #COASTMASK ; Always executed
MOR32 MR1, MR2 ; Always executed
MMOV32 @_CoastState, MR1 ; Execute if (B) branch not taken
MSTOP ; end of task if (B) branch not taken
_Skip2:
MMOV32 @_SteadyState, MR3 ; Executed if (B) branch taken
MSTOP
See also
1058 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MUI16TOF32 MRa, mem16 Convert Unsigned 16-Bit Integer to 32-Bit Floating-Point Value
Operands
MRa CLA floating-point destination register (MR0 to MR3)
mem16 16-bit source memory location
Description When converting F32 to I16/UI16 data format, the MF32TOI16/UI16 operation truncates
to zero while the MF32TOI16R/UI16R operation will round to nearest (even) value.
MRa = UI16TOF32[mem16];
Example
See also MF32TOI16 MRa, MRb
MF32TOI16R MRa, MRb
MF32TOUI16 MRa, MRb
MF32TOUI16R MRa, MRb
MI16TOF32 MRa, MRb
MI16TOF32 MRa, mem16
MUI16TOF32 MRa, MRb
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1059
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MUI16TOF32 MRa, MRb Convert Unsigned 16-Bit Integer to 32-Bit Floating-Point Value
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
Description Convert an unsigned 16-bit integer to a 32-bit floating-point value. When converting
float32 to I16/UI16 data format, the MF32TOI16/UI16 operation truncates to zero while
the MF32TOI16R/UI16R operation will round to nearest (even) value.
MRa = UI16TOF32[MRb];
1060 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Instruction Set
MUI32TOF32 MRa, mem32 Convert Unsigned 32-Bit Integer to 32-Bit Floating-Point Value
Operands
MRa CLA floating-point destination register (MR0 to MR3)
mem32 32-bit memory location accessed using one of the available addressing modes
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1061
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Instruction Set www.ti.com
MUI32TOF32 MRa, MRb Convert Unsigned 32-Bit Integer to 32-Bit Floating-Point Value
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
1062 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
Operands
MRa CLA floating-point destination register (MR0 to MR3)
MRb CLA floating-point source register (MR0 to MR3)
MRc CLA floating-point source register (MR0 to MR3)
Flags This instruction modifies the following flags in the MSTF register:
Flag TF ZF NF LUF LVF
Modified No Yes Yes No No
The MSTF register flags are modified based on the integer results of the operation.
NF = MRa(31);
ZF = 0;
if(MRa(31:0) == 0) { ZF = 1; }
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1063
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
Complex bit access types are encoded to fit into small table cells. Table 8-25 shows the codes that are
used for access types in this section.
1064 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1065
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1066 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1067
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1068 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1069
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1070 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
Complex bit access types are encoded to fit into small table cells. Table 8-33 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1071
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1072 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1073
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1074 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1075
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1076 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1077
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1078 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1079
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1080 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1081
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1082 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1083
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1084 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1085
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1086 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1087
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1088 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1089
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1090 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1091
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1092 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1093
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1094 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1095
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1096 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1097
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1098 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1099
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1100 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1101
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1102 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1103
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1104 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1105
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1106 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1107
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1108 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1109
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1110 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1111
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1112 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1113
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1114 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1115
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1116 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
Complex bit access types are encoded to fit into small table cells. Table 8-67 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1117
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLA Registers www.ti.com
1118 Control Law Accelerator (CLA) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLA Registers
SPRUII0B – May 2019 – Revised May 2020 Control Law Accelerator (CLA) 1119
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Chapter 9
SPRUII0B – May 2019 – Revised May 2020
This chapter describes the features and operation of the C2000 configurable logic block (CLB) that is a
collection of configurable blocks that may be inter-connected using software to implement custom digital
logic functions.
1120 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com Introduction
9.1 Introduction
The C2000 configurable logic block (CLB) is a collection of configurable blocks that can be inter-
connected using software to implement custom digital logic functions. The CLB is able to enhance existing
peripherals through a set of crossbar interconnections, which provide a high level of connectivity to
existing control peripherals such as enhanced pulse width modulators (ePWM), enhanced capture
modules (eCAP), and enhanced quadrature encoder pulse modules (eQEP). The crossbars also allow the
CLB to be connected to external GPIO pins. In this way, the CLB can be configured to interact with device
peripherals to perform small logical functions such as simple PWM generators, or to implement custom
serial data exchange protocols.
The CLB peripheral is configured through the CLB tool. For more information on the CLB tool, available
examples, application reports, and user's guide, refer to the following location in your C2000WARE
package (C2000Ware_2_00_00_03 and higher):
C2000WARE_INSTALL_LOCATION\utilities\clb_tool\clb_syscfg\doc
9.2 Features
The CLB subsystem contains a number of identical tiles. There are four such tiles in the CLB subsystem;
other devices may contain more or fewer tiles. Tiles are numbered 1 to ‘N’, where ‘N’ is the total tile count
on the device. Each tile contains combinational and sequential logic blocks, as well as other dedicated
hardware to be described later in this document. Figure 9-1 shows the structure of the CLB subsystem in
the device.
The tile contains the core logic, providing the logic reconfiguration capability. Each CLB tile is associated
with a separate CPU interface, which contains the registers needed to control and configure the logic in
the tile. The CPU interface also contains data transfer buffers that can be used as part of the configurable
logic to exchange data with the rest of the device. Figure 9-2 shows the connections between the tile, the
CPU interface, and the device.
L
O
C
A CLBn Int
L CPU I/F TILE n
B
U
S
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1121
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
Features www.ti.com
RECONFIG_CLK
Data Exchange
Memory
NOTE: The prescaler logic does not change the actual clocking speed of the CLB. The prescalar
generates a strobe (which can toggle at the defined prescaled rate) which is made available
as another input signal to the CLB logic and it is only used when required.
1122 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Input/Output Connection
PRESCALAR Module
CLB_PRESCALE_CTRL.S
CLB_PRESCALE_CTRL.PRESC
TRB
ALAR
Equal? PRESCALED Clock
(Available at the CLB
16-bit Counter Register
CLB Clock Local Mux Options)
CLB_PRESCALE_CTRL.T
AP
9.3.1 Overview
There are four instances of the CLB module in the device. Each CLB instance has a common set of input
signals referred to as global input signals. Additionally, each CLB instance has a specific set of input
signals that are unique to each instance, and are referred to as local input signals. Each of the eight inputs
of a CLB can be chosen from any of the global input signals or the local input signals.
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1123
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Input/Output Connection www.ti.com
CLB_INPUT_FILTER.FIN[n]
CLB_INPUT_FILTER.SYNC[n]
CLB_LCL_MUX_SEL_1/2
Global Inputs
CLB_GLBL_MUX_SEL_1/2
1124Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Input/Output Connection
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1125
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Input/Output Connection www.ti.com
1126Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Input/Output Connection
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1127
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Input/Output Connection www.ti.com
1128Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Input/Output Connection
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1129
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Input/Output Connection www.ti.com
1130 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Input/Output Connection
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1131
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Input/Output Connection www.ti.com
NOTE: For the signals marked as ASYNC, the input filter synchronizer must be enabled.
1132 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Input/Output Connection
The GPREG is accessible by the CPU and the bits of this register can be used as BOUNDARY INPUTs
for the CLB Tiles. For example, CLB1's GPREG[0] can be used as BOUNDARY IN0 (Cell Input 0) for the
corresponding CLB Tile.
In order to connect multiple tiles to each other, the user can either use the CLBx OUT4/5 and connect it to
CLBy BOUNDARY INz through the CLB X-BAR and the Global Signals Mux.
Another option is to connect the CLBx OUT0-7 to a GPIO and then use the INPUT X-BAR to bring the
signal back in to the device and connect it to the CLBy BOUNDARY INz through the CLB X-BAR and the
Global Signals Mux.
In order to use GPIOs as inputs to the CLB, the user must utilize the Input X-BAR and the CLB X-BAR.
Figure 9-5 shows how GPIOs can be used as inputs to the CLB tiles.
GPIO0 Asynchronous
to Synchronous Input X-BAR
GPIOx Sync. + Qual
INPUT1 ± INPUT6
Other Sources CLBx TILE
OUT4/5
AUXSIG0 ± AUXSIG7
Other Sources
CLB
CLB TILE1
GPREG CELL
CLB Global Signals
IN0-7
.
.
. CLB Tile Outputs
INPUT1 ± INPUT16 x Intersect other Peripherals
x OUTPUT X-BAR
CLB TILEx
GPREG CELL
IN0-7
GPIO MUX
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1133
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Input/Output Connection www.ti.com
CLBx_OUT0
CLBx_OUT1
CLBx_OUT2
CLBx_OUT3
8 CLB
outputs
CLBx_OUT4
CLBx_OUT5
CLBx_OUT6
CLBx_OUT7
CLBx_OUT8
CLBx_OUT9
CLBx_OUT10
CLBx_OUT11
CLBx_OUT12
CLBx_OUT13
CLBx_OUT14
CLBx_OUT15
1134 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Input/Output Connection
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1135
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Input/Output Connection www.ti.com
1136Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Input/Output Connection
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1137
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Input/Output Connection www.ti.com
1138Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Input/Output Connection
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1139
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Tile www.ti.com
PERIPHERAL
SIGNAL 0
MULTIPLEXED
OUTPUT
SIGNAL
CLBx_OUTn 1
For example, if the CLB1 OUT0 must override the EPWM1A signal, the OUPTUT ENABLE bit for OUT0
must be set.
1140 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Tile
• Output LUT
The output LUT is a 3-input lookup table submodule capable of realizing any combinatorial Boolean
equation of up to three inputs. There are eight such blocks in a CLB tile, each associated with one of
the tile outputs.
• Asynchronous Output Conditioning Block
The primary purpose of the Asynchronous Output Conditioning (AOC) block is to provide
asynchronous conditioning capabilities on the TILE outputs or directly on the inputs of the TILE.
• High Level Controller
The High Level Controller (HLC) submodule is an event-driven block that can handle up to four
concurrent events. The event can be an activity on any of the other block outputs. A predefined set of
operations is executed when each event occurs. The HLC also provides a data exchange and interrupt
mechanism to the CPU subsystem. There are four working registers (R0, R1, R2, and R3) which can
be used for basic operations, and to modify or set up values for the three counter blocks. Unlike the
other submodules, there is only one HLC in each CLB tile.
• Configurable Switch Block
The configurable switch block provides dynamic connectivity between all of the blocks listed above.
Submodules can be connected by the user, with the sole restriction that they must not form a
combinational loop within the tile.
A CLB tile consists of three sets each of the counter block, FSM, and LUT4, one high-level controller, and
eight output LUT blocks. The submodule numbering is shown in Figure 9-8.
The functionality of the LUT submodules is configured using a register field containing the binary pattern
of the output of the desired look-up table. For example, a 4-input LUT has 16 possible input permutations,
each of which corresponds to a desired binary 0 or 1 at its output. The register field would therefore be
16-bits in length, with each bit representing the desired result of a binary pattern. Input pattern sequences
start at 0000 and continue sequentially to 1111. A similar method is used to encode the 16-bit state
equations in the FSM submodule.
LUT3_0
High Level Controller Counter_0 LUT4_0 FSM_0
(HLC)
LUT3_1
External Reconfigurable
Inputs Switch Block
8 Counter_2 LUT4_2 FSM_2
LUT3_7
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1141
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Tile www.ti.com
1142 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Tile
The static switch block allows the user to define the input connection of any submodule to come from any
of the outputs in Table 9-4. It is therefore easy to create a combinatorial loop. In order to prevent this,
certain paths are broken in the input path of each submodule. These port positions are tied to '0', as
shown in Table 9-6.
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1143
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Tile www.ti.com
RESET
ZERO
MODE 0
These inputs can be
driven by outputs of These outputs drive
other blocks or by MATCH1
MODE 1 inputs on other blocks
external inputs
MATCH2
EVENT
Counter Block
MATCH1 REF
Static Controls
for ADD/SHIFT/
DIR
1144 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Tile
MATCH1 REF and MATCH2 REF are 32-bit reference values that are used to generate the MATCH1 and
MATCH2 outputs. The MATCH1 output becomes active high whenever the counter register value matches
the 32-bit MATCH1 REF value. MATCH2 behaves in a similar manner in relation to the MATCH2 REF
register. The reference values for MATCH1 and MATCH2 can either be setup once before the start of
operation, or can be modified dynamically. The High Level Controller can load desired values into the
MATCH1 REF and MATCH2 REF registers.
Note that the counter load and match registers are not memory-mapped. For more information, see
Table 9-13.
The three logic outputs of the counter block are as follows:
• ZERO: This output goes high whenever the counter register is 0.
• MATCH1: This output goes high whenever the counter register is equal to the MATCH1 REF input
register.
• MATCH2: This output goes high whenever the counter register is equal to the MATCH2 REF input
register.
The operation of the counter block is controlled by the CFG_MISC_CTRL register. The following three bits
of this register are relevant for each counter. The “x” below refers to the counter instance; 0, 1, or 2. For
more information, see the CLB_MISC_CONTROL register description located in Section 9.6.
• COUNT_EVENT_CTRL_x: This bit defines whether the counter performs an addition or a shift on an
event. A value of 0 means that on an event, the counter will just load the static value; 1 means and
add/shift operation will be performed.
• COUNT_ADD_SHIFT_x. 1 means add, 0 means shift.
• COUNT_DIR_x. 1 means left shift or add. 0 means right shift or subtract.
Table 9-7 shows the logical operation of the counter block in terms of the inputs and control register bits.
Count up and down modes are the normal operation with EVENT = 0. The operations on the CNTVAL
register are as follows:
Load: CNTVAL = EVENT_LOAD_VAL
Shift right: CNTVAL = CNTVAL >> EVENT_LOAD_VAL
Shift left: CNTVAL = CNTVAL << EVENT_LOAD_VAL
Subtract: CNTVAL = CNTVAL - EVENT_LOAD_VAL
Add: CNTVAL = CNTVAL + EVENT_LOAD_VAL
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1145
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Tile www.ti.com
1146 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Tile
LFSR_MSB
LFSR_MSB
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1147
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Tile www.ti.com
EXTRA_EXT_IN1
Output LUT FSM_LUT_OUT
These inputs can EXTRA_EXT_IN0
be driven by
outputs of other
blocks or by EXT_IN1
S0
external inputs Next State
LUT
EXT_IN0
16-bit S0 next S1
state function Next State
LUT
16-bit S1 FSM_S1
FSM_LUT_OUT
state function
1148 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Tile
EXTRA_EXT_IN1
IN0
IN1
These inputs can be
driven by outputs of
other blocks or by
IN2 This output can drive
external inputs LUT4 OUT inputs of other blocks
Block
IN3
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1149
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Tile www.ti.com
The interaction of the CLB TILE and the AOC block is shown in Figure 9-16.
1150 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Tile
8 CLB D Q
OUTPUTs
CLR Q
CLB_OUTPUT_COND_CTRL_0.SEL_RELEASE_CTRL
CLB_OUTPUT_COND_CTRL_0.LEVEL_2_SEL
CLB_OUTPUT_COND_CTRL_0.HW_GATING_CTRL_SEL
8 CLB D Q
OUTPUTs
CLR Q
CLB_OUTPUT_COND_CTRL_0.ASYNC_COND_EN
CLB_OUTPUT_COND_CTRL_0.SEL_GATING_CTRL
CLB_OUTPUT_COND_CTRL_0.LEVEL_1_SEL
CLB_OUTPUT_COND_CTRL_0.SEL_RAW_IN SET
SET
S Q
BOUNDARY OUT[0]
CLB_OUT[0]
R CLR Q
BOUNDARY IN[0]
CLEAR
SET
S Q
OUTLUT[0]
R CLR Q
D
SET
Q BYPASS MUX
CLR Q
DELAY
SET
D Q
CLR Q
Gating control for Stage 2 can either Release control for Stage 3 can either
be through S/W or a delayed version be through S/W or a delayed version
of one of the 8 CLB outputs of one of the 8 CLB outputs
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1151
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Tile www.ti.com
CLB_OUT
0 OUTLUT0 0
1 OUTLUT1 1 0, 8, 16, 24
BOUNDARY OUT
BOUNDARY IN
1, 9, 17, 25
2 OUTLUT2 2 2,10,18,26
Input from GPREG/Global/ 3 OUTLUT3 Asynchronous Output 3 3,11,19,27
CLB TILE
Local Mux 4 OUTLUT4 Conditioning (AOC) Block 4 4,12,20,28
5 OUTLUT5 5 5,13,21,29
6,14,22,30
6 OUTLUT6 6 7,15,23,31
7 HLC OUTLUT7 7
Note:
CLB_OUT0_1 is the same as CLB_OUT8 or
CLB_OUT4_2 is the same as CLB_OUT20
1152 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Tile
Event 0
Event 3
R0 R2 Push data to
Global access path shared memory
for CPU system Initiated by the
interface to write to event processing
the registers and R1 R3 block
instruction
Pull data from
memory.
shared memory
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1153
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Tile www.ti.com
1154 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Tile
Additional HLC inputs are avaialble starting with Type 2 CLB and later. These inputs can be selected by
choosing the alternate MUX options for the HLC module (HLC_ALT_MUX_SEL_n = 1) shown in Table 9-
9.
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1155
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Tile www.ti.com
R0, R1, R2, and R3 are four 32-bit general purpose registers in the HLC. C0, C1, and C2 are three
counter registers present in the CLB tile. <Src> is used to indicate the source and <Dest> is used to
indicate the destination.
• MOV <Src> <Dest>
This instruction moves <Src> to <Dest>. Both <Src> and <Dest> can be any of R0, R1, R2, R3, C0,
C1, or C2.
• MOV_T1 <Src> <Dest>
This instruction moves <Src> to the Match1 register of the <Dest> counter. <Src> can be any of the
registers R0, R1, R2, R3, or the counter values associated with C0, C1, or C2. <Dest> is the Match1
register of any of the counters C0, C1, or C2. Examples are:
– This instruction moves the count value in C1 into register R0.
MOV_T1 C1 R0
– This instruction moves the value in R2 into the Match1 register of counter C0.
MOV_T1 R2 C0
• MOV_T2 <Src> <Dest>
This instruction is similar to “MOV_T1”, above. It moves <Src> to the Match2 register of the <Dest>
counter. <Src> can be any of the registers R0, R1, R2, R3, or the counter values associated with C0,
C1, or C2. <Dest> is the Match2 register of any of the counters C0, C1, or C2.
• ADD <Src> <Dest>
This instruction performs an unsigned 32-bit addition. <Dest> = <Dest> + <Src>. Both <Src> and
<Dest> can be R0, R1, R2, R3, C0, C1, or C2.
1156 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Tile
NOTE: Starting with CLB Type 2, NMI can be generated by the CLB. This feature is DISABLED by
default and must be enabled (CLB_LOAD_EN.NMI_EN).
9.4.7.4 Operation of the PUSH and PULL Instructions (overflow and underflow detection)
The PUSH and PULL operations of the HLC are intended for data exchange with the host system. There
are separate FIFO buffers for PUSH and PULL operations. For example, a series of PUSH operations will
write to successive locations in a linearly mapped memory buffer. The PUSH buffer is mapped at address
offset 0x200 and the PULL buffer is mapped at address offset 0x300.
The CPU can read from and write to the PUSH and PULL buffers respectively, in order to exchange data
with the HLC. Data pushed by the HLC is read by the CPU from the PUSH buffers. Data sent from the
CPU to the HLC will be written by the CPU to the PULL buffer and will be read by the HLC using the
PULL instruction.
There are separate PUSH and PULL address pointers that increment each time the HLC performs a
PUSH or PULL operation. These address pointers are also memory-mapped so that the CPU can
determine their value. They are also writable and can be reset by the CPU can at any time.
Overflow and underflow detection is done by simply reading the values of the PUSH and PULL address
pointers.
In the CLB module of the device, the depth of the PUSH and PULL FIFOs is four 32-bit words each. If the
CPU starts a fresh data transfer to the PULL buffers and sees the address pointer greater than four, then
an underflow has occurred since the HLC has pulled more data than the number of words written by the
CPU into the buffer.
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1157
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CPU Interface www.ti.com
NOTE: EALLOW protection means that the write access to the register will be enabled only when
the EALLOW instruction has been executed prior to the write access. The complementary
EDIS instruction disables access to all registers protected in this way. For more information,
see Section 9.6.
Use the following steps to load the value 0x11223344 into the general purpose R0 register:
1. Write 0x11223344 to CLB_LOAD_DATA.
2. Write 0xc to CLB_LOAD_ADDR.
3. Write 0x1 to CLB_LOAD_EN.
1158 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CPU Interface
NOTE: Even though HLC registers are accessible by the CPU, the user application code needs to
ensure that no other CLB internal logics are updating the same HLC register at the same
time, causing a race condition.
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1159
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
CLB_LOGIC_CONFIG CLB1_LOGICCFG_BA
Clb1LogicCfgRegs 0x0000_3000 YES YES - YES -
_REGS SE
CLB_LOGIC_CONTR CLB1_LOGICCTL_BA
Clb1LogicCtrlRegs 0x0000_3100 YES YES - YES -
OL_REGS SE
CLB_DATA_EXCHAN CLB1_DATAEXCH_BA
Clb1DataExchRegs 0x0000_3180 YES YES - YES -
GE_REGS SE
CLB_LOGIC_CONFIG CLB2_LOGICCFG_BA
Clb2LogicCfgRegs 0x0000_3200 YES YES - YES -
_REGS SE
CLB_LOGIC_CONTR CLB2_LOGICCTL_BA
Clb2LogicCtrlRegs 0x0000_3300 YES YES - YES -
OL_REGS SE
CLB_DATA_EXCHAN CLB2_DATAEXCH_BA
Clb2DataExchRegs 0x0000_3380 YES YES - YES -
GE_REGS SE
CLB_LOGIC_CONFIG CLB3_LOGICCFG_BA
Clb3LogicCfgRegs 0x0000_3400 YES YES - YES -
_REGS SE
CLB_LOGIC_CONTR CLB3_LOGICCTL_BA
Clb3LogicCtrlRegs 0x0000_3500 YES YES - YES -
OL_REGS SE
CLB_DATA_EXCHAN CLB3_DATAEXCH_BA
Clb3DataExchRegs 0x0000_3580 YES YES - YES -
GE_REGS SE
CLB_LOGIC_CONFIG CLB4_LOGICCFG_BA
Clb4LogicCfgRegs 0x0000_3600 YES YES - YES -
_REGS SE
CLB_LOGIC_CONTR CLB4_LOGICCTL_BA
Clb4LogicCtrlRegs 0x0000_3700 YES YES - YES -
OL_REGS SE
CLB_DATA_EXCHAN CLB4_DATAEXCH_BA
Clb4DataExchRegs 0x0000_3780 YES YES - YES -
GE_REGS SE
CLB_LOGIC_CONFIG CLB5_LOGICCFG_BA
Clb5LogicCfgRegs 0x0000_3800 YES YES - YES -
_REGS SE
CLB_LOGIC_CONTR CLB5_LOGICCTL_BA
Clb5LogicCtrlRegs 0x0000_3900 YES YES - YES -
OL_REGS SE
CLB_DATA_EXCHAN CLB5_DATAEXCH_BA
Clb5DataExchRegs 0x0000_3980 YES YES - YES -
GE_REGS SE
CLB_LOGIC_CONFIG CLB6_LOGICCFG_BA
Clb6LogicCfgRegs 0x0000_3A00 YES YES - YES -
_REGS SE
CLB_LOGIC_CONTR CLB6_LOGICCTL_BA
Clb6LogicCtrlRegs 0x0000_3B00 YES YES - YES -
OL_REGS SE
CLB_DATA_EXCHAN CLB6_DATAEXCH_BA
Clb6DataExchRegs 0x0000_3B80 YES YES - YES -
GE_REGS SE
CLB_LOGIC_CONFIG CLB7_LOGICCFG_BA
Clb7LogicCfgRegs 0x0000_3C00 YES YES - YES -
_REGS SE
CLB_LOGIC_CONTR CLB7_LOGICCTL_BA
Clb7LogicCtrlRegs 0x0000_3D00 YES YES - YES -
OL_REGS SE
CLB_DATA_EXCHAN CLB7_DATAEXCH_BA
Clb7DataExchRegs 0x0000_3D80 YES YES - YES -
GE_REGS SE
CLB_LOGIC_CONFIG CLB8_LOGICCFG_BA
Clb8LogicCfgRegs 0x0000_3E00 YES YES - YES -
_REGS SE
CLB_LOGIC_CONTR CLB8_LOGICCTL_BA
Clb8LogicCtrlRegs 0x0000_3F00 YES YES - YES -
OL_REGS SE
CLB_DATA_EXCHAN CLB8_DATAEXCH_BA
Clb8DataExchRegs 0x0000_3F80 YES YES - YES -
GE_REGS SE
1160 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
Complex bit access types are encoded to fit into small table cells. Table 9-16 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1161
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1162 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1163
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1164 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1165
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1166 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1167
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1168 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1169
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1170 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1171
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1172 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1173
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1174 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1175
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1176 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1177
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1178 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1179
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1180 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1181
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1182 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1183
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1184 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1185
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1186 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1187
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1188 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1189
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1190 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1191
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1192 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1193
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1194 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1195
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1196 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1197
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1198 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1199
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1200 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1201
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1202 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1203
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1204 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1205
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1206 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1207
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1208 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1209
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1210 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1211
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1212 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
Complex bit access types are encoded to fit into small table cells. Table 9-58 shows the codes that are
used for access types in this section.
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1213
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1214 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1215
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1216 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1217
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1218 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers
SPRUII0B – May 2019 – Revised May 2020 Configurable Logic Block (CLB) 1219
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
CLB Registers www.ti.com
1220 Configurable Logic Block (CLB) SPRUII0B – May 2019 – Revised May 2020
Submit Documentation Feedback
Copyright © 2019–2020, Texas Instruments Incorporated
www.ti.com CLB Registers