PolarFire FPGA and PolarFire SoC FPGA devices have a System Controller Suspend mode feature that can be used to force the System Controller into reset after device initialization is complete. This mode is desirable for safety critical applications to protect the device from unintended device programming or zeroization of the device due to single event upset events (SEU). When the user programs the System Controller to be in the ‘Suspend mode’ (using the Libero SoC tool), some device features are no longer available. The following table lists the availability of device features when the device is programmed with the System Controller Suspend mode enabled.
Feature | System Controller Suspend Mode | Notes | |
---|---|---|---|
Enabled | Disabled | ||
Programming | |||
JTAG | Yes1 | Yes | — |
SPI Slave | Yes1 | Yes | — |
Auto-Update (POR/DEVRSTn) | Yes | Yes | Executes after power-up/DEVRSTn if the feature is enabled in the device. |
Auto-Update (System Service) | No | Yes | Auto-update requested through system services is not available in Suspend mode. |
IAP | No | Yes | |
System Services | |||
Device and Design Info Services | No | Yes | Serial Number Service, USERCODE, Design Info, and so on. |
Design Programming Services | No | Yes | Bitstream and IAP Image Authentication |
Data Security Services | No | Yes | Digital Signature, sNVM, PUF Emulation, Nonce |
Zeroization | No | Yes | — |
Digest Check Service | No | Yes | — |
SPI Flash Memory Read Service | No | Yes | Only for PolarFire® SoC FPGA. |
Passcode Service | No | Yes | Only for PolarFire SoC FPGA. |
User Crypto Coprocessor | Yes | Yes | — |
Tamper | |||
POR Digest Checks | Yes | Yes | — |
Tamper IO_Disable | Yes | Yes | — |
Tamper LOCKDOWN | No | Yes | — |
Tamper RESET Device | No | Yes | — |
Tamper Slow Clock | No | Yes | — |
Tamper Flags | No 2 | Yes | — |
User Voltage Detectors | Yes | Yes | — |
UJTAG Sec Monitor | Yes | Yes | — |
Clock Glitch Monitor | No | Yes | — |
Clock Freq Monitor | No | Yes | — |
Anti-tamper Mesh | No | Yes | — |
Reset Reason | Yes 3 | Yes | — |
TVS | Yes | Yes | — |
Debug | — | ||
SmartDebug | Yes1 | Yes | — |
Debug System Services | No | Yes | For PolarFire SoC FPGA only. |
A device is configured to be in Suspend mode when the System Controller Suspend mode bit is programmed into the device during the FPGA programming. Controlling the JTAG_TRST_B pin only affects SmartDebug, JTAG, and SPI Slave programming feature and does no effect any other features listed in Table 1.
System Controller operation is as follows:
When a device is programmed with the System Controller Suspend mode enabled, at device power-up or after a DEVRSTn reset toggle, the System Controller is initially active to carry out device initialization activities. Once these activities are complete, the System Controller enters Suspend mode, provided JTAG_TRST_B = 0. If JTAG_TRST_B = 1, at this time, the System Controller is active but many System Controller managed features are unavailable as per Table 1.