15.1.9 Troubleshooting

This section lists the exit codes for PolarFire, RTG4, and SmartFusion 2 and IGLOO 2.

15.1.9.1 Exit Codes Applicable to All Families

The following table lists the exit codes applicable to all families.

Table 15-4 15-8. Exit Codes Applicable To All Families
Programmer Error Code Exit Code Exit Message Possible Cause Possible Solution
eFP6 (Does not apply to FlashPro6) Failed to open eFP6 HID handle This error could be caused by the programmer being out of sync with the software application.

Unplug the USB cable from either the programmer or the host PC and reconnect it.

FlashPro6 (Does not apply to eFP6) -7 Failed to perform cyusb_bulk_transfer This error could be caused by poor hardware USB connection to the host.
Note: This error is specific to FP6 only. The occurrence of the error is random and cannot be predicted.
Try unplugging and plugging the programmer and rescan for new programmers to refresh the programmer list.
FlashPro5 4 General device I/O error Loss of USB packets while performing an action with FlashPro5 or embedded FlashPro5 programmers. Make sure that the USB cable is firmly connected to the programmer and PC. Avoid placing other cables on top or near the USB cable to minimize noise.

15.1.9.2 PolarFire SoC Exit Codes

The following table lists the PolarFire SoC exit codes.

Table 15-5 15-6. PolarFire SoC Exit Codes
Error CodeExit CodeExit MessagePossible CausePossible Solution
0x8020

-22

Invalid Public Key

Public key may have been entered incorrectly.Ensure that the public key is entered correctly.

15.1.9.3 PolarFire Exit Codes

The following table lists the PolarFire exit codes.

Table 15-5 15-6. PolarFire Exit Codes
Error CodeExit CodeExit MessagePossible CausePossible Solution

0

Passed (no error)

0x8003

5

Failed to enter programming mode

Unstable voltage level

Signal integrity issues on JTAG pins

DEVRST_N is tied to LOW.

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. For more information on transient specifications, see the corresponding datasheet.

Monitor JTAG supply pins during programming. Measure JTAG signals for noise or reflection.

Tie DEVRST_N to HIGH prior to programming the device.

0x8004

6

Failed to verify IDCODE

Incorrect programming file

Incorrect device in chain

Signal integrity issues on JTAG pins

Choose the correct programming file and select the correct device in the chain.

Measure JTAG pins and noise for reflection. If TRST is left floating, then add pull-up to pin.

Reduce the length of Ground connection.

0x8005

0x8006

0x8007

0x8008

0x8009

11

Failed to verify FPGA Array

Failed to verify Fabric Configuration

Failed to verify Security

Failed to verify sNVM

Failed to verify eNVM

Device is programmed with a different design or the component is blank.

Unstable voltage level

Signal integrity issues on JTAG pins

Verify the device is programmed with the correct data/design.

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. For more information on transient specifications, see the corresponding datasheet.

Monitor JTAG supply pins during programming. Measure JTAG signals for noise or reflection.

0x8013

–18

External digest check via JTAG/SPI Target is disabled.

External Digest check via JTAG/SPI Target is disabled.

Need to use a bit stream file with a valid FlashLock/UPK1 to enable external digest check through JTAG/SPI Target.

0x8015

–20

FPGA Fabric digest verification: FAIL

Deselect procedure 'DO_ENABLE_FABRIC' to remove this digest check.

FPGA Fabric is either erased or the data has been corrupted or tampered with.

If the Fabric is erased, deselect the DO_ENABLE_FABRIC procedure from the VERIFY_DIGEST action.

0x8016

–20

sNVM digest verification: FAIL

Deselect procedure 'DO_ENABLE_SNVM' to remove this digest check.

sNVM is either erased or the data has been corrupted or tampered with.

If the sNVM is erased, deselect the DO_ENABLE_SNVM procedure from the VERIFY_DIGEST action.

0x8018

–20

User security policies digest verification: FAIL

Deselect procedure 'DO_ENABLE_SECURITY' to remove this digest check.

Security is either erased, or the data has been corrupted or tampered with.

If the security is erased, deselect procedure DO_ENABLE_SECURITY from action VERIFY_DIGEST.

0x8019

–20

UPK1 digest verification: FAIL

Deselect procedure 'DO_ENABLE_SECURITY' to remove this digest check.

UPK1 is either erased, or the data has been corrupted or tampered with.

If the UPK1 is erased, deselect procedure DO_ENABLE_SECURITY from action VERIFY_DIGEST.

0x801A

–20

UPK2 digest verification: FAIL

Deselect procedure 'DO_ENABLE_SECURITY' to remove this digest check.

UPK2 is either erased, or the data has been corrupted or tampered with.

If the UPK2 is erased, deselect procedure DO_ENABLE_SECURITY from action VERIFY_DIGEST.

0x801B

–20

Factory row and factory key digest verification: FAIL

Factory row and factory key have been erased through zeroization, or the data has been corrupted or tampered with.

Switch the device (return for FA).

0x801C

–20

Fabric configuration digest verification: FAIL

Deselect procedure 'DO_ENABLE_FABRIC' to remove this digest check.

Fabric configuration is either erased, or has been corrupted or tampered with.

If the Fabric configuration is erased, deselect procedure DO_ENABLE_FABRIC from action VERIFY_DIGEST.

0x8052

–20

UEK1 digest verification: FAIL

Deselect procedure 'DO_ENABLE_SECURITY' to remove this digest check.

UEK1 is either erased, or the data has been corrupted or tampered with.

If the UEK1 is erased, deselect procedure DO_ENABLE_SECURITY from action VERIFY_DIGEST.

0x8053

–20

UEK2 digest verification: FAIL

Deselect procedure 'DO_ENABLE_SECURITY' to remove this digest check.

UEK2 is either erased, or the data has been corrupted or tampered with.

If the UEK2 is erased, deselect procedure DO_ENABLE_SECURITY from action VERIFY_DIGEST.

0x8054

–20

DPK digest verification: FAIL

Deselect procedure 'DO_ENABLE_SECURITY' to remove this digest check.

DPK is either erased, or the data has been corrupted or tampered with.

If the DPK is erased, deselect procedure DO_ENABLE_SECURITY from action VERIFY_DIGEST.

0x8057

–20

SMK digest verification: FAIL

Deselect procedure 'DO_ENABLE_SECURITY' to remove this digest check.

SMK is either erased, or the data has been corrupted or tampered with.

If the SMK is erased, deselect procedure DO_ENABLE_SECURITY from action VERIFY_DIGEST.

0x8058

–20

User Public Key digest verification: FAIL

Deselect procedure 'DO_ENABLE_SECURITY' to remove this digest check.

User Public Key is either erased, or the data has been corrupted or tampered with.

If the User Public Key is erased, deselect procedure DO_ENABLE_SECURITY from action VERIFY_DIGEST.

0x801D

–21

Device security prevented operation.

The device is protected with user pass key 1 and the bit stream file does not contain user pass key 1.

User pass key 1 in the bit stream file does not match the device.

Run DEVICE_INFO to view security features that are protected.

Provide a bit stream file with a user pass key 1 that matches the user pass key 1 programmed into the device.

0x801F

–22

Programming Error

Bitstream file has been corrupted or was incorrectly generated.

Regenerate bit stream file.

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Bitstream or data is corrupted or noisy.

Unstable voltage level.

Signal integrity issues on JTAG pins.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x8021

–23

Programming Error

Invalid/Corrupted encryption key.

File contains an encrypted key that does not match the device

File contains user encryption key but device has not been programmed with the user encryption key.

Provide a programming file with an encryption key that matches that on the device.

First program security with ​initiater programming file, then program with user encryption 1/2 field update programming files.

0x8023

–24

Programming Error

Back-level not satisfied.

Design version is not higher than the back-level programmed device.

Generate a programming file with a design version higher than the back level version.

0x8001

–24

Failure to read DSN

Device is in System Controller Suspend Mode.

Check board connections.

TRSTB should be driven High or disable System Controller Suspend Mode.

0x8027

–26

Programming Error

Insufficient device capabilities.

Device does not support the capabilities specified in programming file.

Generate a programming file with the correct capabilities for the target device.

0x8029

–27

Programming Error. Incorrect DEVICEID

Incorrect programming file.

Incorrect device in chain.

Signal integrity issues on JTAG pins.

Choose the correct programming file and select the correct device in chain.

Measure JTAG pins and noise or reflection. If TRST is left floating, then add pull-up to pin.

Reduce the length of ground connection.

0x802B

–28

Programming Error

Signal integrity issues on JTAG pins, please check.

Signal integrity issues on JTAG pins, please check.

Monitor JTAG supply pins during programming. Measure JTAG signals for noise or reflection.

0x8030

–31

Programming Error

Invalid or inaccessible Device Certificate.

FAB_RESET_N is tied to ground.

FAB_RESET_N should be tied to HIGH.

0x8032

–32

Instruction timed out

Unstable voltage level

Signal integrity issues on JTAG pins

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming. Measure JTAG signals for noise or reflection.

0x8010

–35

Failed to unlock user pass key 1

Pass key in file does not match device.

Provide a programming file with a pass key that matches pass key programmed into the device.

0x8011

–35

Failed to unlock user pass key 2

Pass key in file does not match device.

Provide a programming file with a pass key that matches pass key programmed into the device.

0x804F

–38

Bitstream programming action is disabled

Unstable voltage level

Bitstream programming action has been disabled in Security Policy Manager.

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Use a bit stream file that has a valid FlashLock/UPK1 to enable the bit stream programming action.

0x805B

–42

Error, security must be either programmed on a blank device or with the FPGA Fabric design

Security only bit stream programming on a programmed device.

Use this bit stream on a blank device or generate a new bit stream that contains the FPGA Fabric design along with the security.

0x80596

Failed to verify IDCODE

MPF300(XT|T_ES|TS_ES) programming file is not compatible with MPF300 production devices.

You must use a programming file for MPF300(T|TS|TL|TLS) device.

MPF300(XT|T_ES|TS_ES) programming file is not compatible with MPF300 production devices.You must use a programming file for MPF300(T|TS|TL|TLS) device.
0x805A6

Failed to verify IDCODE

MPF300(T|TS|TL|TLS) programming file is not compatible with MPF300(XT|T_ES|TS_ES) devices.

You must use a programming file for MPF300(XT|T_ES|TS_ES) device.

MPF300(T|TS|TL|TLS) programming file is not compatible with MPF300(XT|T_ES|TS_ES) devices.You must use a programming file for MPF300(XT|T_ES|TS_ES) device.
0x80EB7Error reading device integrity bits.

PUF or crypto core failed

Factory NVM containing signing key is corrupted.

Monitor the related power supplies causing the issue during programming; check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Switch the device (return for FA)

0x802C14sNVM Encryption Key (SMK) is not initializedsNVM Encryption Key (SMK) is not initialized.Initialized sNVM Encryption Key (SMK)
0x8014-19Failed while running verify digestFactory parameters are corrupted.

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Switch the device (return for FA)

0x805C-20

eNVM digest verification: FAIL

Deselect procedure 'DO_ENABLE_ENVM' to remove this digest check

For PolarFire SoC Libero design which contains eNVM, running

VERIFY_DIGEST after programming device will fail with "eNVM digest verification: FAIL."

Deselect procedure "DO_ENABLE_ENVM" from action "VERIFY_DIGEST"
0x80EA-36Device certificate could not be validated due to internal error

PUF or crypto core failed

Factory NVM containing signing key is corrupted.

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Switch the device (return for FA)

0x8012-39Failed to read device certificate

Unstable voltage level.

Signal integrity issues on JTAG pins.

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x8051-40Failed to zeroize the deviceZeroization through JTAG/SPI Target is disabled in user security settings.Enable zeroization through JTAG/SPI Target in user security settings.
0x8056-42Failed to read zeroization certificate

Error occurred during generation of zeroization certificate due to corrupted factory parameters.

Zeroization completion data is invalid.

Switch the device (return for FA).

Make sure to run zeroization before reading the result.

4General device I/O errorThis error could be caused by a poor connection between the programmer and the PC, which results in a general USB communication error.
Note: This error is specific to FP5 and eFP5 programmers. The occurrence of the error is random and cannot be predicted.
Try unplugging and plugging the programmer and then rescan for new programmers to refresh the programmer list.
0x8040-32Brownout error detected during programmingSupplied power is insufficient for the device.Connect the device to an adequate and stable power supply.
0x805D6

Failed to verify IDCODE. NOTE: RTPF500 {T|L|S} and RTPF500Z{T|L|S}

RT PolarFire and PolarFire programming files are not interchangeable.Ensure that the device selection in the Libero SoC project that is used to generate the programming file matches the device part number being programmed.
0x800A11Failed to verify Security.User lock settings may have changed.Verify that the user lock settings remain consistent.
0x800C11Failed to verify Security.Permanent lock settings may have changed.Verify that the permanent lock settings remain consistent.

15.1.9.4 RTG4 Exit Codes

The following table lists the RTG4 exit codes.

Table 15-7. RTG4 Exit Codes
Error Code Exit Code Exit Message Possible Cause Possible Solution
0

Passed (no error)

0x8001

-24

Failure to read DSN

Device is in System Controller Suspend Mode.

Check board connections.

TRSTB should be driven High on device power-up.

Disable System Controller Suspend Mode in the Programming Bitstream Settings tool within Libero and reprogram the device.

0x8002

5

Device is busy

Unstable VDDIx voltage level.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

0x8003

5

Failed to enter programming mode

Unstable voltage level.

Signal integrity issues on JTAG pins.

DEVRST_N is tied to LOW.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

Tie DEVRST_N to HIGH prior to programming the device.

0x8004

6

Failed to verify IDCODE

Incorrect programming file.

Incorrect device in chain.

Signal integrity issues on JTAG pins.

Choose the correct programming file and select the correct device in the chain.

Measure JTAG pins and noise for reflection. If TRST is left floating then add pull-up to pin.

Reduce the length of Ground connection.

0x8005

6

Failed to verify IDCODE RT4G150_ES

STAPL file is not compatible with RT4G150 production devices. You must use a STAPL file for RT4G150 device.

Programming file is for RT4G150_ES and device is RT4G150.

Incorrect programming file Incorrect device in chain.

Signal integrity issues on JTAG pins.

Generate a programming file for RT4G150 device.

Choose the correct programming file and select the correct device in the chain.

Measure JTAG pins and noise for reflection. If TRST is left floating then add pull-up to pin.

Reduce the length of Ground connection.

0x8006

6

Failed to verify IDCODE RT4G150

STAPL file is not compatible with RT4G150_ES

devices. You must use a STAPL file for RT4G150_ES device.

Programming file is for RT4G150 and device is RT4G150_ES.

Incorrect programming file Incorrect device in chain.

Signal integrity issues on JTAG pins.

Generate a programming file for RT4G150_ES device.

Choose the correct programming file and select the correct device in the chain.

Measure JTAG pins and noise for reflection. If TRST is left floating then add pull-up to pin.

Reduce the length of Ground connection.

0x8007

11

Failed to verify FPGA Array

Device is programmed with a different design or the component is blank.

Unstable voltage level.

Signal integrity issues on JTAG pins.

Verify the device is programmed with the correct data/design.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x8008

-17

Device is blank

Attempting to verify digest of a blank device.

Program the device prior to running the VERIFY_DIGEST action.

0x8009

-18

FPGA array digest check is disabled

Digest check has been disabled by the Programming Bitstream Settings tool within Libero.

Drive TRSTB high during device power-up.

Enable digest check in the Programming Bitstream Settings tool within Libero and reprogram the device.

0x800A

-19

Failed to verify digest: Instruction timed out

Unstable voltage level.

Signal integrity issues on JTAG pins.

Run the VERIFY_DIGEST action again.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x800B

-20

FPGA Fabric digest verification: FAIL

Programming bit stream components do not match components programmed.

FPGA Fabric is either erased or the data has been corrupted or tampered with.

Use the same programming file that was used to program the device.

0x800C

-20

Factory row segment digest verification: FAIL

Programming bit stream components do not match components programmed.

Factory row segment data has been corrupted or tampered with.

Use the same programming file that was used to program the device.

0x800D

-22

Bitstream Error. Bitstream or data are corrupted or noisy.

Bitstream file has been corrupted.

Bitstream was incorrectly generated.

Unstable voltage level.

Signal integrity issues on JTAG pins.

Regenerate bit stream file.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x800E

15

Failed to query programming bit stream settings: Instruction timed out

Unstable voltage level.

Signal integrity issues on JTAG pins.

Run the DEVICE_INFO action again.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x800F

-27

Bitstream Error. Incorrect DEVICEID

Incorrect programming file.

Incorrect device in chain.

Signal integrity issues on JTAG pins.

Choose the correct programming file and select the correct device in the chain.

Measure JTAG pins and noise for reflection. If TRST is left floating then add pull-up to pin.

Reduce the length of Ground connection.

0x8010

-21

Operation has been disabled by programming bit stream settings

Operation has been disabled by the Programming Bitstream Settings tool in Libero.

User disabled Fabric Erase/Write/Verify and attempted to Erase/Program/Verify the device.

Drive TRSTB high during device power-up.

Enable the disabled operation in the Programming Bitstream Settings tool in Libero and reprogram the device.

0x8011

-32

Failed to check bit stream: Instruction timed out

Unstable voltage level.

Signal integrity issues on JTAG pins.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x8012

-32

Failed to erase device: Instruction timed out

Unstable voltage level Signal integrity issues on JTAG pins.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x8013 -32 Failed to verify device: Instruction timed out Unstable voltage level Signal integrity issues on JTAG pins. Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device datasheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x8014

-32

Failed to program device: Instruction timed out

Unstable voltage level. Signal integrity issues on JTAG pins.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x8015

-33

Error, device is not ready.

DEVRST_N may have been driven LOW during programming.

Need to ensure that DEVRST_N is driven HIGH during programming. The reliability of the device in space cannot be ensured if this has occurred. It is the user's responsibility to ensure that DEVRST_N is driven HIGH during programming.

4 General device I/O error This error could be caused by poor connection between the programmer and the PC which results in a general USB communication error.
Note: This error is specific to FP5 and eFP5 programmers. The occurrence of the error is random and cannot be predicted.
Try unplugging and plugging the programmer and then rescan for new programmers to refresh the programmer list.

15.1.9.5 SmartFusion 2 and IGLOO 2 Exit Codes

Check for the following common troubleshooting steps before looking at the troubleshooting table.

  1. Monitor the related power supplies that can cause issue during programming; check for transients outside of Microchip specifications.
  2. Make sure to tie DEVRST_N to HIGH, prior to programming the device.

The following table lists the SmartFusion 2 and IGLOO 2 exit codes.

Table 15-4 15-8. SmartFusion 2 and IGLOO 2 Exit Codes
Error CodeExit CodeExit MessagePossible CausePossible Solution

0

Passed (no error)

0x8003

5

Failed to enter programming mode

Unstable voltage level.

Signal integrity issues on JTAG pins.

DEVRST_N is tied to LOW.

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming. Measure JTAG signals for noise or reflection.

Tie DEVRST_N to HIGH prior to programming the device.

0x8004

6

Failed to verify IDCODE

Incorrect programming file.

Incorrect device in chain.

Signal integrity issues on JTAG pins.

Choose the correct programming file and select the correct device in the chain.

Measure JTAG pins and noise for reflection. If TRST is left floating then add pull-up to pin.

Reduce the length of Ground connection.

0x8005

0x8006

8x804A

10

Failed to program eNVM

Unstable voltage level.

Signal integrity issues on JTAG pins.

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming. Measure JTAG signals for noise or reflection.

0x8007

0x804C

11

Failed to verify FPGA Array

Failed to verify Fabric Configuration

Failed to verify Security

Device is programmed with a different design or the component is blank.

Unstable voltage level.

Signal integrity issues on JTAG pins.

Verify that the device is programmed with the correct data/design.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x8008

0x8009

0x8049

11

Failed to verify eNVM

Device is programmed with a different design.

Unstable voltage level.

Signal integrity issues on JTAG pins.

Verify that the device is programmed with the correct data/design.

Monitor the related power supplies causing the issue during programming; check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming. Measure JTAG signals for noise or reflection.

0x8013

–18

Digest request from SPI/JTAG is protected by User Pass Key 1

Digest request from SPI/JTAG is protected by user pass key 1.

Lock bit has been configured in the Debug Policy within Security Policy Manager (SPM).

Provide a programming file with a pass key that matches pass key programmed into the device.

0x8014

–19

Failed while running verify digest

Unstable voltage level.

Signal integrity issues on JTAG pins.

Monitor the related power supplies causing the issue during programming. Check for transients outside of Microchip specifications. See your device's data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x8015

–20

FPGA Fabric digest verification: FAIL

Programming bit stream components do not match components programmed.

FPGA Fabric is either erased or the data has been corrupted or tampered with.

Use the same programming file that was used to program the device.

0x8016

–20

eNVM_0 digest verification: FAIL

Programming bit stream components do not match components programmed.

eNVM_0 data has been corrupted or tampered with.

Use the same programming file that was used to program the device.

0x8017

–20

eNVM_1 digest verification: FAIL

Programming bit stream components do not match components programmed.

eNVM_1 data has been corrupted or tampered with.

Use the same programming file that was used to program the device.

0x8018

–20

User security policies digest verification: FAIL

Programming bit stream components do not match components programmed.

User security policy data has been corrupted or tampered with.

Use the same programming file that was used to program the device.

0x8019

–20

User key set 1 digest verification: FAIL

Programming bit stream components do not match components programmed.

User key set 1 data has been corrupted or tampered with.

Use the same programming file that was used to program the device.

0x801A

–20

User key set 2 digest verification: FAIL

Programming bit stream components do not match components programmed.

User key set 2 data has been corrupted or tampered with.

Use the same programming file that was used to program the device.

0x801B

–20

Factory row and factory key digest verification: FAIL

Programming bit stream components do not match components programmed.

Factory row and factory key data has been corrupted or tampered with.

Use the same programming file that was used to program the device.

0x801C

–20

Fabric configuration digest verification: FAIL

Programming bit stream components do not match components programmed.

Fabric configuration data has been corrupted or tampered with.

Use the same programming file that was used to program the device.

0x801D

0x801E

0x804B

–21

Device security prevented operation

The device is protected with user pass key 1 and the bit stream file does not contain user pass key 1.

User pass key 1 in the bit stream file does not match the device.

Run DEVICE_INFO to view security features that are protected.

Provide a bit stream file with a user pass key 1 that matches the user pass key 1 programmed into the device.

0x801F

0x8020

0x8040

–22

Authentication Error

Bitstream or data is corrupted or noisy

eNVM has been locked by a initiator in your design.

Running VERIFY action on a blank device.

Bitstream file has been corrupted.

Bitstream was incorrectly generated.

Release the lock on the eNVM after your initiator has completed its access operations. Write 0x00 to "REQACCESS" register in eNVM Control Registers (address 0x600801FC) to release the access.

Program the device prior to running VERIFY action.

Regenerate the bit stream file.

0x8021

0x8022

–23

Authentication Error

Invalid/Corrupted encryption key

File contains an encrypted key that does not match the device.

Attempting to erase a device with no security using initiator security file.

File contains user encryption key, but device has not been programmed with the user encryption key.

Device has user encryption key 1/2 enforced and you are attempting to reprogram security settings.

Provide a programming file with an encryption key that matches that on the device.

Run DEVICE_INFO action to verify that the device has no security. If the device does not have security, it cannot be erased.

First program security with initiator programming file, then program with user encryption 1/2 field update programming files.

You must first ERASE security with the initiator security file, then you can reprogram new security settings.

0x8041

–23

Authentication Error

Invalid/Corrupted encryption key

File contains an encrypted key that does not match the device.

File contains user encryption key, but device has not been programmed with the user encryption key.

Attempting to erase a device with no security using initiator security file.

Device has user encryption key 1/2 enforced and you are attempting to reprogram security settings.

Provide a programming file with an encryption key that matches that on the device.

Run DEVICE_INFO action to verify that the device has no security. If the device does not have security, you cannot erase it.

First program security with initiator programming file, then program with user encryption 1/2 field update programming files.

You must first ERASE security with the initiator security file, then you can reprogram new security settings.

0x8023

0x8024

0x8042

–24

Authentication Error

Back level not satisfied.

Design version is not higher than the back-level programmed device.

Generate a programming file with a design version higher than the back level version.

0x8001

–24

Failure to read DSN

Device is in System Controller Suspend Mode.

Check board connections.

TRSTB must be driven High or disable "System Controller Suspend Mode."

0x8025

0x8026

0x8043

–25

Authentication Error

DSN binding mismatch

DSN specified in programming file does not match the device being programmed.

Use the correct programming file with a DSN that matches the DSN of the target device being programmed.

0x8028

–26

Authentication Error

Insufficient device capabilities

Device does not support the capabilities specified in programming file.

Generate a programming file with the correct capabilities for the target device.

0x8027

0x8044

–26

Authentication Error

Bitstream and device mismatch

Libero device selection does not match the target device.

Generate a programming file with the correct device selection for the target device.

0x8029

0x802A

0x8045

–27

Authentication Error

Incorrect DEVICEID

Incorrect programming file.

Incorrect device in chain.

Signal integrity issues on JTAG pins.

Choose the correct programming file and select the correct device in chain.

Measure JTAG pins and noise or reflection. If TRST is left floating, then add pull-up to pin.

Reduce the length of ground connection.

0x802B

–28

Authentication Error

Signal integrity issues on JTAG pins, please check.

Signal integrity issues on JTAG pins.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x802F

–30

JTAG interface is protected by UPK1

Invalid or no UPK1 is provided.

User needs to provide correct UPK1 to unlock device.

0x8030

0x8031

0x8048

–31

Authentication Error

Invalid or inaccessible Device Certificate.

M2S090 Rev. A or M2S150

Rev. A:

Either certificate is corrupted or the user has not provided the application code in the eNVM or provided invalid application code.

FAB_RESET_N is tied to ground.

User can program a valid application code. This can be done with SoftConsole.

FAB_RESET_N should be tied to HIGH.

0x8032

–32

Instruction timed out

Unstable voltage level.

Signal integrity issues on JTAG pins.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection.

0x8010

–35

Failed to unlock User Pass Key 1

Pass key in file does not match device.

Plaintext pass key match is disabled. This occurs if HSM was used to program the device.

Provide a programming file with a pass key that matches pass key programmed into the device.

Match pass key using HSM.

0x8011

–35

Failed to unlock User Pass Key 2

Pass key in file does not match device.

Plaintext pass key match is disabled. This occurs if HSM was used to program the device.

Provide a programming file with a pass key that matches pass key programmed into the device.

Match pass key using HSM.

0x8012

–35

Failed to unlock debug pass key

Pass key in file does not match device.

Plaintext pass key match is disabled. This occurs if HSM was used to program the device.

Provide a programming file with a pass key that matches pass key programmed into the device.

Match pass key using HSM.

0x804D

–36

<HSM related error message based on scenario>

HSM communication error.

HSM call returns error.

Check whether the communication path to HSM is active. Make sure project is loaded properly and that HSM tickets have not been cleaned.

0x804E

–37

Device already has Security programmed. Please erase the device using initiator file before reprogramming Security Settings.

HSM flow does not support reprogramming device directly if Security has already been programmed.

Erase security and program the device.

0x8055

–35

Please have valid Cortex®-M3 firmware code client at page 0 for Rev 0 M2S090 and M2S150 devices, else it will lead to unexpected behavior including programming lockout condition. Please see section 3.14 at ER0196: SmartFusion2 Device v1.5 Errata.

Invalid Cortex-M3 firmware code client at page 0 for Rev 0 M2S090 and M2S150 devices. Please have valid Cortex-M3 firmware code at page 0.
0x8054 -38

Failed to read device certificate, device is busy.

Failed to read device certificate (AHB HRESP error).

User has not programmed valid Cortex-M3 code in beginning page(s) of eNVM.

Unstable voltage level.

Signal integrity issues on JTAG pins.

Program valid Cortex-M3 code in beginning page(s) of eNVM.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.

Monitor JTAG supply pins during programming; measure JTAG signals for noise or reflection."

0x8052 -38 Device certificate is invalid.

Factory parameters are corrupted.

Power supply issue.

Monitor related power supplies that cause the issue during programming; check for transients outside of Microchip specifications. See your device data sheet for more information on transient specifications.
4 General device I/O error This error could be caused by a poor connection between the programmer and the PC which results in a general USB communication error.
Note: This error is specific to FP5 and eFP5 programmers. The occurrence of the error is random and cannot be predicted.
Try unplugging and plugging the programmer and rescan for new programmers to refresh the programmer list.