The table below lists the user-configurable PS PUF parameters for Zynq UltraScale+ MPSoC devices.
Macro Name | Description |
---|---|
XSK_PUF_INFO_ON_UART | Default = FALSE TRUE will display syndrome data on UART com port. FALSE will display any data on UART com port. |
XSK_PUF_PROGRAM_EFUSE | Default = FALSE TRUE will program the generated syndrome data, CHash and Auxilary values, Black key. FALSE does not program data into eFUSE. |
XSK_PUF_IF_CONTRACT_MANUFACTURER | Default = FALSE This should be enabled when application is hand over to contract manufacturer. TRUE allows only authenticated application. FALSE authentication is not mandatory. |
XSK_PUF_REG_MODE | Default = XSK_PUF_MODE4KPUF registration is performed in 4K mode. For only understanding it is provided in this file, but user is not supposed to modify this. |
XSK_PUF_READ_SECUREBITS | Default = FALSE TRUE will read status of the puf secure bits from eFUSE and will be displayed on UART. FALSE does not read secure bits. |
XSK_PUF_PROGRAM_SECUREBITS | Default = FALSE TRUE programs PUF secure bits based on the user input provided at XSK_PUF_SYN_INVALID, XSK_PUF_SYN_WRLK and XSK_PUF_REGISTER_DISABLE. FALSE does not program any PUF secure bits. |
XSK_PUF_SYN_INVALID | Default = FALSE TRUE permanently invalidates the already programmed syndrome data.FALSE will not modify anything |
XSK_PUF_SYN_WRLK | Default = FALSE TRUE will permanently disable programming syndrome data into eFUSE.FALSE will not modify anything. |
XSK_PUF_REGISTER_DISABLE | Default = FALSE TRUE permanently does not allow PUF syndrome data registration.FALSE will not modify anything. |
XSK_PUF_RESERVED | Default = FALSE TRUE programs this reserved eFUSE bit. FALSE will not modify anything. |
XSK_PUF_AES_KEY | Default = 0000000000000000000000000000000000000000000000000000000000000000
The
value mentioned in this will be converted to hex buffer and encrypts this with PUF
helper data and generates a black key and written into the Zynq UltraScale+ MPSoC PS
eFUSE array when XSK_PUF_PROGRAM_EFUSE macro is TRUE.This value should be given in
string format. It should be 64 characters long, valid characters are 0-9,a-f,A-F. Any
other character is considered as invalid string and will not burn AES Key. Note: Key provided here should be red key and application calculates
the black key and programs into eFUSE if XSK_PUF_PROGRAM_EFUSE macro is TRUE.To
avoid programming eFUSE results can be displayed on UART com port by making
XSK_PUF_INFO_ON_UART to TRUE.
|
XSK_PUF_BLACK_KEY_IV | Default = 000000000000000000000000 The value mentioned here will be converted to hex buffer. This is Initialization vector(IV) which is used to generated black key with provided AES key and generated PUF key.This value should be given in string format. It should be 24 characters long, valid characters are 0-9,a-f,A-F. Any other character is considered as invalid string. |