The PUF uses helper data to re-create the
original KEK value over the complete guaranteed operating temperature and voltage range
over the life of the part. The helper data consists of a
<syndrome_value>
, an
<aux_value>
, and a
<chash_value>
. The helper data can either be stored in eFUSEs or in
the boot image. See
puf_file for more
information. Also, see this
link to the section on "PUF Helper Data" in
the Zynq UltraScale+ Device Technical Reference Manual (
UG1085) .
Table 1.
Zynq UltraScale+ MPSoC
PUF Helper Data
Address Offset |
Parameter |
Description |
0x8B8 to 0xEC0 |
PUF Helper Data (1544 bytes) |
Valid only when Boot Header Offset 0x44 (bits
7:6) == 0x3. If the PUF HD is not inserted then Boot Header size =
2048 bytes. If the PUF Header Data is inserted, then the Boot Header
size = 3584 bytes. PUF HD size = Total size = 1536 bytes of PUFHD +
4 bytes of CHASH + 2 bytes of AUX + 1 byte alignment = 1544
byte. |