eFUSE Export NKZ File - 2020.2 English

Vivado Design Suite User Guide: Programming and Debugging (UG908)

Document ID
UG908
Release Date
2020-12-07
Version
2020.2 English

Because you are advised to program eFUSE settings in multiple passes, eFUSE settings are always exported to an externally visible NKZ file, which is updated during each eFUSE operation. The intent of this file is to accumulate all eFUSE settings applied to a device, even if they are applied over multiple eFUSE operations. This file is tracked by Vivado so that there is always a single eFUSE export file containing a device's cumulative eFUSE settings in NKZ format. If no options are specified, the default name of this file is:

export_<FUSE_DNA>.nkz

where <FUSE_DNA> is the FUSE_DNA register value of the device.

This default file is located in the launch directory of the Vivado® IDE. You can change this file by using the -efuse_export_file option on the program_hw_devices Tcl command, as in the following example:

program_hw_devices -user_efuse {1} -efuse_export_file {my_settings.nkz}

Vivado IDE then starts using the specified NKZ file for exported eFUSE settings without having to repeatedly specify this file in the Tcl options. Any previously created eFUSE export file will not be removed; it will contain all eFUSE settings applied prior to changing the eFUSE export file name. After all eFUSE operations are performed, all eFUSE settings are stored in the current eFUSE export file.

There is also an option to only export eFUSE settings instead of actually programming the device. This can be useful for creating an NKZ file containing all desired eFUSE settings without affecting the device. In addition, any eFUSE programming mistakes made in this mode can easily be corrected by simply removing the eFUSE export file and starting over. This export-only mode can be utilized with the following Tcl command:

program_hw_devices -user_efuse {1} -only_export_efuse

This option applies only to each individual command, so the option must be used in every eFUSE operation to keep the device from being programmed. Since eFUSE settings are always exported to an NKZ file regardless of whether or not programming occurs, Xilinx highly recommends that you not intermix the programming flow with the export-only flow. Otherwise, the resulting eFUSE export file may contain a mix of eFUSE settings actually programmed into the device and those only exported to the NKZ file, which makes the true state of the eFUSE registers in the device unclear. Using this export-only mode, the same exact eFUSE export file in NKZ format is created as in the programming case, but no programming is performed on the device.