Unique ID registers in Cyclone V
- 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.