3.6.1 Power-On Reset Digest Check

The device may be configured to perform automatic component digest checks while powering up the user design (after power-on reset) to check the integrity of the selected components. The user can specify which digest to check. If any of the selected digest checks fails, a tamper event is generated to fabric for user action. A digest check failure is an indication that the programmed content currently in the device is not what was last programmed into the device and cannot be trusted and that the device must be reprogrammed. The power-on digest check can be enabled and monitored using PF_TAMPER macro for PolarFire FPGA and PFSoC_TAMPER for PolarFire SoC FPGA.

Figure 3-3. Power-On Reset Digest Check Controls for PolarFire® FPGA
Figure 3-4. Power-On Reset Digest Check Controls for PolarFire® SoC FPGA

For example, if the first-stage boot code for a soft CPU is stored in the sNVM or eNVM (for PolarFire SoC FPGA only), then the power-on reset digest check could be used to automatically provide a high level of assurance that the code had not been changed, either through a natural or malicious event, since the digest was stored.

The following table lists the digests of the POR Digest Check to the actual digests that are checked.
Table 3-3. POR Digest Check
Digest NamePOR Digest CheckComment
Fabric digest (CHECK FABRIC digest)Fabric—
Fabric configuration data digest (CC Digest)Fabric—
sNVM ROM pages digestsNVM—
User security segment digest (UL Digest)Security—
UKDIGEST0—Not currently supported by Libero SoC
UKDIGEST1—Not currently supported by Libero SoC
UKDIGEST2Security—
UKDIGEST3Security—
UKDIGEST4 Security—
UKDIGEST5 Security—
UKDIGEST6 Security—
UPDIGEST (UPERM Digest)Security—
FDIGEST (SYS Digest)AnyCheck when any POR Digest Enabled
UKDIGEST7 Security—
ENVMDIGEST eNVM—
UKDIGEST8 eNVM—
UKDIGEST9 eNVM—
UKDIGEST10eNVM—

A read-endurance limit specifies how many times a digest of the FPGA fabric can be run before the long-term reliability of the FPGA configuration data could be affected. For more information about the FPGA configuration memory endurance limits, see respective PolarFire FPGA Datasheet or PolarFire SoC Datasheet. Therefore, depending upon how the system is deployed and used (for example, how often it is powered-up), the on-demand digest check may be more appropriate for testing the integrity of the FPGA fabric.