SPRUIZ1B July 2023 – August 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
The cyclic redundancy check (CRC) units monitor CPU buses and compute CRC when the self-test code is executed. This capability aids in achieving simpler, non-intrusive and interruptible self-test mechanisms with Software Test Library (STL). Each CRC unit is used to monitor a different CPU interface. For example, CRC unit 1 is used to monitor the Program Counter, while CRC unit 2 is used to monitor the data read address bus. Table 13-2 identifies the CPU interface monitored by each of the CRC units.
CRC Unit | CPU Interface |
---|---|
CRC Unit 1 | Program Counter Register |
CRC Unit 2 | Data Read Address Bus |
CRC Unit 3 | Data Read Data Bus |
CRC Unit 4 | Data Write Address Bus |
CRC Unit 5 | Data Write Data Bus |
CRC Unit 6 | Instruction Register Value (Unsecured) |
CRC Unit 7 | Instruction Register Value (Secure-Zone 1) |
CRC Unit 8 | Instruction Register Value (Secure-Zone 2) |
The main purpose of the CRC units is to make sure that the CPU functionally remains intact when the CRC unit is executing the same software test library over multiple iterations. This is done by comparing the computed CRC values after each iteration, with a pre-computed golden value.
CRC units 7 and 8 are intended to compute the instruction register values for secure-zone 1 and secure-zone 2 instruction execution. Computed CRC values for the a given secure-zone is available only for accesses originating from that zone.