Device DNA Identifiers

Zynq UltraScale+ Device Technical Reference Manual (UG1085)

Document ID
Release Date
2.3 English

Each device has a unique 96-bit DNA identifier number to improve security. No two devices have the same DNA. A DNA identifier number exists in the PL and the PS.

Xilinx recommends using the PL-based DNA identifier for secure applications that depend on an unchangeable and unique device identifier. There is a PS-based DNA identifier, but it is possible that one or more of its bits could be changed.

Note:   The PL and PS DNA identifiers might not be exactly the same as shipped by Xilinx.

The PL DNA identifier cannot be changed (all PL DNA bits are read-only). Table: Device DNAIdentifiers lists the device DNA identifiers.

Table 12-11:      Device DNAIdentifiers




Read Access Methods


96 bits

Yes, always.

Method 1: instantiate the PL DNA_PORTE2 primitive

Method 2: connect to the JTAG PL TAP controller and use the FUSE_DNA instruction

Note:   For more details, see the UltraScale Architecture Configuration User Guide (UG570) [Ref 33].

Note:   The Vivado Hardware Manager displays the PL DNA value.


96 bits

No, not all bits.

Access the read-only EFUSE.DNA_x registers at addresses:

   DNA_0: 0xFFCC_100C

   DNA_1: 0xFFCC_1010

   DNA_2: 0xFFCC_1014

Note:   The SDK API, XilSKey_ZynqMp_EfusePs_ReadDna, returns the PS DNA value.

The Xilinx 2D bar code that is printed on the top of each device also includes the PL DNA identifier.