104 - Why does my LatticeXP/XP2 device get hot after programming from Flash?

104 - Why does my LatticeXP/XP2 device get hot after programming from Flash?

The LatticeXP and LatticeXP2 internal flash cells program using looping algorithms in order to provide the correct erase or programming timing for flash accesses. This method is critical to providing correct programming of the flash fuses. They also require the power supplies used for programming to be stable and at proper operating levels to ensure that the fuses are correctly written. If these conditions are not maintained the device could be left with an illegal/corrupt pattern residing in the flash fuses. The symptom is the device becomes very hot due to internal contention and any other action will not correct the issue. If this occurs, the method to recover the device is as follows:

  1. Hold the PROGRAMN pin low while powering up the device to prevent the illegal pattern from loading into the FPGA SRAM
  2. Issue the erase command to the device to erase the illegal pattern held in flash. This will restore the device to factory default.

In the case of LatticeXP2, the corrective action requires an additional step.

The CFG0 pin must be driven to GND to enable the PROGRAMN pin functionality. Once the above corrective steps are completed the user should investigate the root-cause as mentioned above.