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.
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.
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.