Forum Discussion

miscellaneous-mice's avatar
miscellaneous-mice
Icon for New Contributor rankNew Contributor
1 month ago
Solved

Unique ID registers in Cyclone V

Hello everyone, I need to uniquely identify individual devices at runtime from the HPS (ARM Cortex-A9) side. Does the HPS side of the Cyclone V SoC have any built-in unique ID registers, such as: ...
  • JitLoonL_Altera's avatar
    1 month ago

    Hi, 


    A number of identification mechanisms exist on Cyclone V devices, but none of them function as a dedicated, per-device hardware serial number on the HPS side in the same way some other SoCs provide. What is available depends on which part of the chip you are accessing.

    JTAG IDCODE

    Cyclone V devices include a 32-bit IEEE 1149.1 IDCODE, and the documentation lists the values for each family member. This code identifies the device type, variant, and revision, which can be useful for checking what device is present in a chain. However, the IDCODE follows a fixed format (version + part number + manufacturer), so it does not differentiate one physical device from another of the same model.

    System Manager registers

    The HPS System Manager exposes some identification fields such as silicon revision, but the available fields generally describe the device class rather than provide a unique per-unit identifier. The fields tend to be constant across all devices of the same family/stepping.

    FPGA-side Unique ID

    There is also a Unique Chip ID feature available in the FPGA fabric through specific Intel IP. This can be used to retrieve a value that is tied to the FPGA die. If HPS access is required, it can be bridged into the HPS through lightweight AXI/Avalon interfaces. Whether this meets the use-case depends on the system architecture.

    Board-level alternatives

    Some systems instead rely on identifiers stored outside the SoC—for example:

    eMMC CID registers

    QSPI/NAND flash locations provisioned during manufacturing

    External EEPROM with a programmed serial number

    These methods provide stable per-unit identification when a silicon-level ID is not exposed.