UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 62631

Design Advisory for Vivado 2014.3 - Program eFUSE Registers operation failure for 7 series and UltraScale FPGAs

Description

The Vivado 2014.3 Program eFUSE Registers operation can incorrectly program the eFUSE in 7 series and UltraScale FPGAs.  

Also the Vivado 2014.3 Program eFUSE Registers operation can inaccurately report programming as successful without any error messages when the eFUSE is incorrectly programmed.

For a Program eFUSE Registers operation (or the equivalent program_hw_device TCL command), Vivado 2014.3 always programs selected (checked) eFUSE Control Register (FUSE_CNTL) options (for example Disable programming of AES key or Disable reading of AES key) before it attempts to program specified eFUSE register values (for example AES key or User value). 

This internal sequence of steps for the Vivado 2014.3 Program eFUSE Registers operation can result in the correct programming of the eFUSE Control Registers but can leave the other eFUSE registers (AES key or User value) unprogrammed or partially programmed.

This is because some eFUSE Control Register options disallow programming or disallow reading (for verify) of the AES or User register. 

Also, for this failed programming scenario, Vivado 2014.3 can inaccurately report programming as being successful without issuing any error/warning messages.

Impact:

  • FPGAs that have been incorrectly programmed can be rendered unusable for the intended application.
  • Incorrect eFUSE programming is not reversible.  The Program eFUSE Registers operation permanently changes the eFUSE values in the FPGA.
  • Some settings of the eFUSE Control Register can prevent further programming of the AES or User eFUSE registers.

NOTE: When programming eFUSE, it is recommended to immediately validate the programming results by testing with a secondary procedure, such as configuring the FPGA with an encrypted bitstream that matches the AES key that was programmed.


Solution

If you are performing one-time eFUSE programming operations it is essential to update to Vivado 2014.3.1.

Workarounds:

1.  Existing 2014.3 Customers - (either a. OR b.) 

     a. Turn on XIC and download the 2014.3.1 update release.

     b. Download and Install the 2014.3.1 update from the Download Center.  www.xilinx.com/download

2.  New Customers who have not yet upgraded to 2014.3 -

     a. Download and Install 2014.3.1 as you normally would from the Download Center.  www.xilinx.com/download

NOTE: This update will not be applied to standalone SDK installations.


This issue is fully resolved in the Vivado 2014.3.1 and Vivado 2014.4 releases.

Linked Answer Records

Master Answer Records

Associated Answer Records

Answer Number Answer Title Version Found Version Resolved
62646 iMPACT 14.7 - eFUSE programming - What devices are supported and what devices are not supported in iMPACT 14.7? N/A N/A
AR# 62631
Date Created 10/28/2014
Last Updated 11/05/2014
Status Active
Type Design Advisory
Devices
  • Artix-7
  • Kintex-7
  • Virtex-7
  • More
  • Kintex UltraScale
  • Virtex UltraScale
  • Less
Tools
  • Vivado Design Suite - 2014.3