Device Identification - Device Identification - AM011

Versal Adaptive SoC Technical Reference Manual (AM011)

Document ID
AM011
Release Date
2025-07-28
Revision
1.8 English
The Versal adaptive SoC has multiple device identification methods:
  • Top package marking
  • IDCODE + EXTENDED_IDCODE register values
  • Device DNA register value

Security features such as PUF can also be used to create a unique identifier. For more information on using PUF, see Security Management.

Package Marking

The Versal devices have a top package marking that includes a 2D code.For more information about package marking, see the Versal Adaptive SoC Packaging and Pinouts Architecture Manual (AM013).

Device Identification Code

The Versal device has a 32-bit device identification code (IDCODE), which conforms to the IEEE Std 1149.1 (JTAG). The IDCODE used with the EXTENDED_IDCODE can identify the type of AMD device. See the Versal device data sheet for device identification values.

The IDCODE can be read via the JTAG interface or from PMC IDCODE register. See the IDCODE Register section for bit field details.

Note: The power-on reset (POR_B) pin must be released and REF_CLK running to obtain a valid value from the JTAG IDCODE register.
Table 1. IDCODE Register
Register Type Register Name Address Description
Read only PMC_JTAG_CSR IDCODE [31:0] 0xF11A_0000 Device identification code

Extended Identification Code

The Versal device has an extended identification code that is stored in the 32-bit EXTENDED_IDCODE register. The IDCODE used with the EXTENDED_IDCODE can identify the type of AMD device. See the Versal device data sheet for device identification values.

The EXTENDED_IDCODE can be read via the JTAG interface or from the PMC EXTENDED_IDCODE register. see the EXTENDED_IDCODE Register section for more information.

Note: The power-on reset (POR_B) pin must be released and REF_CLK running to obtain a valid value from the JTAG EXTENDED_IDCODE register.
Table 2. EXTENDED_IDCODE Code Register
Register Type Register Name Address Description
Read only PMC_EFUSE_CACHE EXTENDED_IDCODE bits [27:14] 0xF125_0018 Extended device identification code

DNA Introduction

The device DNA is a unique 128-bit factory-programmed identifier for each device. The JTAG TAP instruction, READ_DNA, reads the DNA value through the JTAG interface. The device DNA value can also be read from the PMC DNA_0, DNA_1, DNA_2, and DNA_3 registers.

Note: The power-on reset (POR_B) pin must be released and REF_CLK running to obtain a valid value from the JTAG DNA register.
Table 3. DNA Registers
Register Type Register Name Address (Hex) Description
128 bit JTAG, read only DNA - Access DNA[127:0] using the READ_DNA instruction; also see DNA Register section for bit field details
32-bit memory mapped, read only DNA_0 0xF125_0020 DNA 0 register contains DNA bits[31:0]
DNA_1 0xF125_0024 DNA 1 register contains DNA bits[63:32]
DNA_2 0xF125_0028 DNA 2 register contains DNA bits[95:64]
DNA_3 0xF125_002C DNA 3 register contains DNA bits[127:96]