6.7.2 Tamper Detection Flags

Tamper-detection flags (FLAGS[31:0]) inform the user about tampering activity. Each tamper event is signaled over a dedicated wire to the fabric. On receiving the tamper detection flags, the user can choose to use the appropriate tamper response (see Tamper Response) or ignore/clear the flags. Tamper events can only be cleared by asserting the associated fabric clear signal or a system reset.

In the event of a fatal tamper event, the user design is powered down and an automatic POR is executed. The shutdown sequence guarantees a minimum of 10 µs after the tamper alarm fires before the shutdown begins, allowing the user design to perform internal clean up tasks. The system services may not be used during this time.

The following table lists and describes the tamper detection flags.

Important: When System Controller Suspend Mode is enabled, only FLAG[13] is available and other FLAGS [31:14] and [12:0] are not available.
Table 6-7. Tamper Detection Flags
Flags[31:0]FlagDescription
0JTAG_ACTIVEThis flag is asserted whenever the JTAG port is active, that is, the JTAG TAP controller enters the Run-Test-Idle state.
1MESH_ERRORThis flag is asserted whenever the active security mesh observes a mismatch between the actual metal mesh output and the expected output. This allows protection against invasive attacks, such as cutting and probing of traces using focused ion beam (FIB) technology with an active metal mesh on one of the higher metal layers.
2CLOCK_MONITOR_GLITCHThis flag is asserted whenever the clock glitch monitor detects a pulse width violation.
3CLOCK_MONITOR_FREQUENCYThis flag is asserted whenever the clock frequency monitor observes a frequency mismatch between the 160 MHz and 2 MHz RC oscillators.
4LOW_1P05This flag is asserted when the 1.05V supply (VDD) is below the low threshold of the System Controller 1.05V detector. The tamper event is continuously generated until the supply returns to a level above the low threshold. This condition is also used during device programming to initiate shutdown procedures to protect the device programming circuits and integrity of the device NVM.
5HIGH_1P8This flag is asserted when the 1.8V supply (VDD18) is above the high threshold of the System Controller 1.8V detector. The tamper event is continuously generated until the supply returns to a level below the high threshold.
6HIGH_2P5This flag is asserted when the 2.5V supply (VDD25) is above the high threshold of the System Controller 2.5V detector.

The tamper event is continuously generated until the supply returns to a level below the high threshold.

7ReservedReserved
8SECDEDThis flag is asserted when a 2-bit error occurs in the System Controller's internal memory. This is a fatal condition which results in a POR.
9SCB_BUS_ERRORThis flag is asserted when an error has been detected on System Controller bus.
10WATCHDOGThis flag is asserted when the System Controller's watchdog reset is about to fire. This is a fatal condition that results in a POR.
11LOCK_ERRORThis flag is asserted when a single- or double-bit error is detected in the continuously-monitored security lock segments.
12ReservedReserved
13DIGESTThis flag is asserted when a requested POR digest check is failed.

To prevent loss of the DIGEST flag status when using the System Controller Suspend Mode feature, this flag output must be latched by enabling the Latch System Controller outputs option in the Tamper macro.

14INST_BUFFER_ACCESSThe flag is asserted when read/write access is performed to system controller’s shared buffer using JTAG/SPI interface. The shared buffer holds the data requested by JTAG/SPI instructions.
15INST_DEBUGThis flag is asserted when debug instruction executed.
16INST_CHECK_DIGESTSThis flag is asserted when an external digest check has been requested.
17INST_EC_SETUPThis flag is asserted when elliptic curve slave instructions have been used.
18INST_FACTORY_PRIVATEThis flag is asserted when factory JTAG/SPI instruction is executed.
19INST_KEY_VALIDATIONThis flag is asserted when key validation protocol is requested.
20INST_MISCThis flag is asserted when uncategorized SPI slave instruction executed.
21INST_PASSCODE_MATCHThis flag is asserted when an attempt has made to match a passcode.
22INST_PASSCODE_SETUPThis flag is asserted when the one-time-passcode protocol is initiated.
23INST_PROGRAMMINGThis flag is asserted when an external programming instruction has been used.
24INST_PUBLIC_INFOThis flag is asserted when a request for device public information is issued.
25ReservedReserved
26INST_PASSCODE_FAILThis flag is asserted when the passcode match fails.
27INST_KEY_VALIDATION_FAILThis flag is asserted when the key validation fails.
28INST_UNUSEDThis flag is asserted when the unused instruction opcode is executed.
29BITSTREAM_AUTHENTICATION_FAILThis flag is asserted when the bitstream authentication fails.
30IAP_AUTO_UPDATEThis flag is set if an IAP update occurs (either by IAP system service or auto-update at device boot).
31IAP_AUTO_RECOVERYThis flag is set if the IAP recovery procedure occurs.