UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Contributor
Contributor
361 Views
Registered: ‎05-11-2018

Undocumented PUF-related registers in XAPP1333 sample code

Jump to solution

Hello,

I'm working my way through XAPP1333 and its sample code and noticed that the puf_encrypt( ) function in the puf_user_data.c source file invokes a number of register writes to undocumented registers (as in, not included in the online ZYNQ MPSoC US+ register reference found at https://www.xilinx.com/html_docs/registers/ug1087/ug1087-zynq-ultrascale-registers.html). Is there any documentation available from Xilinx that explains what these registers are and how they are to be used?

The addresses in particular that I can't find information for are 0xFFCA4000, 0xFFCA4004, and 0xFFCA0400.

Take care.

    Jim

0 Kudos
1 Solution

Accepted Solutions
Xilinx Employee
Xilinx Employee
285 Views
Registered: ‎08-03-2018

Re: Undocumented PUF-related registers in XAPP1333 sample code

Jump to solution

Hi Jim,

The registers that you have in question are:

0xFFCA_4000 - This is the PUF command register.

0xFFCA_4004 - This is the PUF configuration register 0.

0xFFCA_0400 - This register does not exist in the application note.

These registers are unoffically documented in the file 'puf_user_data.h' but I am going to make sure UG1087 gets updated as well.

0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
286 Views
Registered: ‎08-03-2018

Re: Undocumented PUF-related registers in XAPP1333 sample code

Jump to solution

Hi Jim,

The registers that you have in question are:

0xFFCA_4000 - This is the PUF command register.

0xFFCA_4004 - This is the PUF configuration register 0.

0xFFCA_0400 - This register does not exist in the application note.

These registers are unoffically documented in the file 'puf_user_data.h' but I am going to make sure UG1087 gets updated as well.

0 Kudos
Contributor
Contributor
275 Views
Registered: ‎05-11-2018

Re: Undocumented PUF-related registers in XAPP1333 sample code

Jump to solution

Hello nmenhorn,

Thanks for the response! I was indeed able to extract what the register names are based on the mnemonics that are being used in the sample code (e.g., 0xFFCA_4000 = XSK_ZYNQMP_CSU_PUF_CMD, 0xFFCA_4004 = XSK_ZYNQMP_CSU_PUF_CFG0, and 0xFFCA_0400 = XSK_ZYNQMP_CSU_PUF_SHUT), which I think confirms what you described. What I'm interested in is a description of those register's contents much like what I'd find in UG1087, so if you're planning to update that document then I'm all set.

As for 0xFFCA_0400, I screwed up and read the information in the SDK wrong, I should have said 0xFFCA_400C. Sorry about that and thanks for catching my error!

Thanks again for your assistance with this, and I look forward to seeing the updated register reference (UG1087)!

Take care.

  Jim

0 Kudos