The device implemented an OTUT BIST function to test the primary OTUT protector path. Host can start the BIST run by setting [OTUT_MODE1:0] = 0b10 and [OTUT_GO] = 1. The BIST run covers:
- OT and UT comparator thresholds
- A higher and lower than the set threshold are checked to ensure the comparator is triggering correctly.
- If failure is detected, the corresponding FAULT_PROT2[OTCOMP_FAIL] or [UTCOMP_FAIL] bit will be set.
- The path from GPIO MUX to UT fault bit and NFAULT path
- For each GPIO channel, the GPIO is internally pulled up so the input to the
OTUT MUX is high and will lead to a UT detection to the channel
under test.
- The BIST cycle then checks the logic to assert the corresponding FAULT_UT register bit and the NFAULT is set properly.
- The BIST engine resets the corresponding FAULT_UT bit and deasserts the NFAULT, then switches to test the next channel.
- If failure is detected, the corresponding [TPATH_FAIL] bit will be set.
- OV fault bit and NFAULT path
- The BIST engine forces 1 to the FAULT_OT register, one bit at time, to ensure each FAULT_OT register bit can be set and the NFAULT can be asserted, accordingly.
- If failure is detected, the corresponding [TPATH_FAIL] bit will be set.
If NFAULT is enabled, host observes NFAULT toggling during the BIST run. Upon completion of the BIST run, the OTUT comparators will be turned off. Host starts the regular OTUT round robin mode by sending [OTUT_GO] = 1 with [OTUT_MODE1:0] = 0b01 (round robin mode).
Note: - If a [OTUT_GO] = 1 is sent during the OTUT BIST run, device will execute the new GO command based on the [OVUV_MODE1:0] setting.
- Before starting the OTUT Protector BIST, host masks out all non-OTUT related faults, and ensures there are no OT and UT faults on any GPIO during the BIST run). Otherwise, the BIST result is not invalid.
- After BIST starts, if pre-existing fault is detected before starting step 2, the BIST engine will be aborted and the FAULT_PROT2[BIST_ABORT] = 1.
- A no reset option, DIAG_PROT_CTRL[PROT_BIST_NO_RST] = 1, is available to command the BIST engine not to reset the fault status and NFAULT pin after testing each channel. If a BIST run fails, host can select this option and re-run BIST to detect which GPIO channel path is unable reflect a fault condition in the fault registers.