SPRUJ79 November 2024 F29H850TU , F29H859TU-Q1
Table 2-45 lists the memory-mapped registers for the C29_SELFTEST_REGS registers. All register offset addresses not listed in Table 2-45 should be considered as reserved locations and the register contents should not be modified.
| Offset | Acronym | Register Name | Protection |
|---|---|---|---|
| 0h | SELFTEST_DIAG_DATA0 | Diagnostics data register 0 | |
| 4h | SELFTEST_DIAG_DATA1 | Diagnostics data register 1 | |
| 8h | SELFTEST_DIAG_DATA2 | Diagnostics data register 2 | |
| 20h | SELFTEST_DIAG_ECC | Diagnostics ECC | |
| 28h | SELFTEST_DIAG_CONTROL | Diagnostic test enable | |
| 2Ch | SELFTEST_DIAG_STATUS | Diagnostic status register | |
| 30h | SELFTEST_DIAG_STATUS_CLR | Diagnostic status clear register |
Complex bit access types are encoded to fit into small table cells. Table 2-46 shows the codes that are used for access types in this section.
| Access Type | Code | Description |
|---|---|---|
| Read Type | ||
| R | R | Read |
| R-0 | R -0 | Read Returns 0s |
| Write Type | ||
| W | W | Write |
| W1S | W 1S | Write 1 to set |
| Reset or Default Value | ||
| -n | Value after reset or the default value | |
| Register Array Variables | ||
| i,j,k,l,m,n | When these variables are used in a register name, an offset, or an address, they refer to the value of a register array where the register is part of a group of repeating registers. The register groups form a hierarchical structure and the array is represented with a formula. | |
| y | When this variable is used in a register name, an offset, or an address it refers to the value of a register array. | |
SELFTEST_DIAG_DATA0 is shown in Figure 2-37 and described in Table 2-47.
Return to the Summary Table.
Diagnostics data register 0
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SELFTEST_DIAG_DATA0 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SELFTEST_DIAG_DATA0 | R/W | 0h | Self test Diagnostics data 0 This register is used to specify the [31:0] bits of the data to perform Self test ECC checker diagnostics. Reset type: SYSRSn |
SELFTEST_DIAG_DATA1 is shown in Figure 2-38 and described in Table 2-48.
Return to the Summary Table.
Diagnostics data register 1
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SELFTEST_DIAG_DATA1 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SELFTEST_DIAG_DATA1 | R/W | 0h | Self test Diagnostics data 1 This register is used to specify the [63:32] bits of the data to perform Self test ECC checker diagnostics. Reset type: SYSRSn |
SELFTEST_DIAG_DATA2 is shown in Figure 2-39 and described in Table 2-49.
Return to the Summary Table.
Diagnostics data register 2
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| SELFTEST_DIAG_DATA2 | |||||||||||||||||||||||||||||||
| R/W-0h | |||||||||||||||||||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-0 | SELFTEST_DIAG_DATA2 | R/W | 0h | Self test Diagnostics data 2 This register is used to specify the [95:64] bits of the data to perform Self test ECC checker diagnostics. Reset type: SYSRSn |
SELFTEST_DIAG_ECC is shown in Figure 2-40 and described in Table 2-50.
Return to the Summary Table.
Diagnostics ECC
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||||||||||
| R-0h | |||||||||||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | SELFTEST_DIAG_ECC | ||||||||||||||
| R-0h | R/W-0h | ||||||||||||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-8 | RESERVED | R | 0h | Reserved |
| 7-0 | SELFTEST_DIAG_ECC | R/W | 0h | Self test Diagnostics ECC This register is used to specify the ECC to perform Self test ECC checker diagnostics Reset type: SYSRSn |
SELFTEST_DIAG_CONTROL is shown in Figure 2-41 and described in Table 2-51.
Return to the Summary Table.
Enable diagnostic test
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| DIAG_DATA_WIDTH | |||||||
| R/W-60h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | DIAG_ECC_WIDTH | ||||||
| R-0h | R/W-8h | ||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | DIAG_CHECKER_SEL | ||||||
| R-0h | R/W-0h | ||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | DIAG_SAFETY_SEL | DIAG_ADDITIONAL_PIPELINE_EN | DIAG_MICRO_STEP_MODE | DIAG_TEST_EN | |||
| R-0h | R/W-0h | R/W-0h | R/W-0h | R/W-0h | |||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-24 | DIAG_DATA_WIDTH | R/W | 60h | ECC data width - Maximum configurable width is 96 (0x60) Reset type: SYSRSn |
| 23-20 | RESERVED | R | 0h | Reserved |
| 19-16 | DIAG_ECC_WIDTH | R/W | 8h | ECC bit width - Maximum configurable width is 8 (0x8) Reset type: SYSRSn |
| 15-12 | RESERVED | R | 0h | Reserved |
| 11-8 | DIAG_CHECKER_SEL | R/W | 0h | This field is used to select the ECC checker. 0000 : IHW ECC checker 0001 : Interrupt vector ECC checker 0010 : Fetch unit 64 bit ECC checker 0011 : Fetch unit 32 bit ECC checker 0100 : Fetch unit 16 bit ECC checker 0101 : Exe unit DR1 64 bit ECC checker 0110 : Exe unit DR1 32 bit ECC checker 0111 : Exe unit DR1 16 bit ECC checker 1000 : Exe unit DR2 64 bit ECC checker 1001 : Exe unit DR2 32 bit ECC checker 1010 : Exe unit DR2 16 bit ECC checker Reset type: SYSRSn |
| 7 | RESERVED | R | 0h | Reserved |
| 6 | DIAG_SAFETY_SEL | R/W | 0h | Diagnostic safety selection 0 - ECC 1 - Parity Reset type: SYSRSn |
| 5 | DIAG_ADDITIONAL_PIPELINE_EN | R/W | 0h | Enable additional pipeline Self test module FSM is looking the error signals after 3 cycles from diag data generation. 1 pipeline implemented inside self test module. Another pipeline should be implemented outside self test module. 3rd pipeline can be implemented outside self test module based on the timing requirements, else user needs to enable this bit to maintain 3 cycles. 1 : Enable additional pipeline 0 : disable additional pipeline Additional pipeline should be enabled for 'IHW ECC checker' and 'Interrupt vector ECC checker' modules. Reset type: SYSRSn |
| 4 | DIAG_MICRO_STEP_MODE | R/W | 0h | Enable microstep diagnostic mode This field is valid only when DIAG_TEST_EN = 1100 1 : micro step mode 0 : full mode Reset type: SYSRSn |
| 3-0 | DIAG_TEST_EN | R/W | 0h | Enable self test mechanism 0011 : Enable self test 1100 : Enable self test if i_des_diag_hw_self_test_trig(HW_SELF_TEST_EN) signal is '1' This field will be '0000' once test done. User needs to write into this register again for next test. Reset type: SYSRSn |
SELFTEST_DIAG_STATUS is shown in Figure 2-42 and described in Table 2-52.
Return to the Summary Table.
Diagnostic status
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| DIAG_FAIL_BIT_INDEX | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | DIAG_FAIL_CHECK_TYPE | DIAG_FAIL_UC_ERROR | DIAG_FAIL_C_ERROR | DIAG_TEST_FAIL | DIAG_TEST_DONE | DIAG_MICROSTEP_DONE | |
| R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | R-0h | |
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-16 | RESERVED | R | 0h | Reserved |
| 15-8 | DIAG_FAIL_BIT_INDEX | R | 0h | This field is used to specify the position of the flipped bit when test failed. For 2 bit flips, this field points the bit position of the first bit. The second bit will be always adjacent to the first bit. Reset type: SYSRSn |
| 7 | RESERVED | R | 0h | Reserved |
| 6-5 | DIAG_FAIL_CHECK_TYPE | R | 0h | 00 : Positive check 01 : Flips one bit 10 : Flips two bit 11 : Reserved Reset type: SYSRSn |
| 4 | DIAG_FAIL_UC_ERROR | R | 0h | This field is used to specify the diagnostic uncorrectable error when Test failed. Reset type: SYSRSn |
| 3 | DIAG_FAIL_C_ERROR | R | 0h | This field is used to specify the diagnostic correctable error when Test failed. Reset type: SYSRSn |
| 2 | DIAG_TEST_FAIL | R | 0h | 1 : Test failed (Unexpected error events(C_ERROR/UC_ERROR) occured during self test) 0 : Test passed Reset type: SYSRSn |
| 1 | DIAG_TEST_DONE | R | 0h | Completed self test. Reset type: SYSRSn |
| 0 | DIAG_MICROSTEP_DONE | R | 0h | Completed Micro step (16 cycles). HW will clear this bit automatically when the next microstep triggered. Reset type: SYSRSn |
SELFTEST_DIAG_STATUS_CLR is shown in Figure 2-43 and described in Table 2-53.
Return to the Summary Table.
Diagnostic status clear
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 |
| RESERVED | |||||||
| R-0h | |||||||
| 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 |
| RESERVED | |||||||
| R-0h | |||||||
| 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 |
| RESERVED | |||||||
| R-0h | |||||||
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| RESERVED | DIAG_TEST_FAIL | DIAG_TEST_DONE | DIAG_MICROSTEP_DONE | ||||
| R-0h | R-0/W1S-0h | R-0/W1S-0h | R-0/W1S-0h | ||||
| Bit | Field | Type | Reset | Description |
|---|---|---|---|---|
| 31-3 | RESERVED | R | 0h | Reserved |
| 2 | DIAG_TEST_FAIL | R-0/W1S | 0h | Clear Test failed status flags 0: Writing a 0 has no effect. 1: Writing a 1 will clear the fields SELFTEST_DIAG_STATUS[DIAG_TEST_FAIL], SELFTEST_DIAG_STATUS[DIAG_FAIL_C_ERROR], SELFTEST_DIAG_STATUS[DIAG_FAIL_UC_ERROR], SELFTEST_DIAG_STATUS[DIAG_FAIL_CHECK_TYPE], SELFTEST_DIAG_STATUS[DIAG_FAIL_BIT_INDEX]. Reset type: SYSRSn |
| 1 | DIAG_TEST_DONE | R-0/W1S | 0h | Clear selftest done status flag 0: Writing a 0 has no effect. 1: Writing a 1 will clear the SELFTEST_DIAG_STATUS[DIAG_TEST_DONE] bit. Reset type: SYSRSn |
| 0 | DIAG_MICROSTEP_DONE | R-0/W1S | 0h | Clear micro step done status flag. 0: Writing a 0 has no effect. 1: Writing a 1 will clear the SELFTEST_DIAG_STATUS[DIAG_MICROSTEP_DONE] bit. Reset type: SYSRSn |