cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Contributor
Contributor
1,483 Views
Registered: ‎09-10-2018

Zynq-7000 Unique ID register?

Jump to solution

Hi,

Does the Zynq-7000 SoC have an unique hardware ID which is accessable through a register or something similar?

 

Thanks

Nikolai

1 Solution

Accepted Solutions
Highlighted
Contributor
Contributor
1,331 Views
Registered: ‎09-10-2018

Boards are already designed. However, knowing the hardware ID is more of a nice to than a requirements, so it's not really a big deal.

Based on my research, the DNA can only be read with the JTAG, not during run-time, which is what I was attempting.

View solution in original post

0 Kudos
8 Replies
Highlighted
Moderator
Moderator
1,469 Views
Registered: ‎07-31-2012

Hi  @ninjanymo ,

7-bit family IDCODE value that can be read in the PS slcr.IDCODE[27:21] register bits.

Its a family ID code.

Regards

Praveen


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Highlighted
Contributor
Contributor
1,464 Views
Registered: ‎09-10-2018

I'm looking for a register that is unique between multiple instances of the same device such that I can differentiate between identical boards through software.

Given the 7-bits, I'm guessing IDCODE will be the same across our boards.

0 Kudos
Highlighted
1,429 Views
Registered: ‎06-21-2017

Search for "DNA" in the technical reference manual.

0 Kudos
Highlighted
Moderator
Moderator
1,404 Views
Registered: ‎07-31-2012

Hi@ninjanymo ,

 

Each device is programmed with a 57-bit DNA value that is most often unique. However, up to 32 devices within the family can contain the same DNA value.

Xilinx Devices have 64-bit device identifier which is used to provide a 57-bit Device DNA value.

The JTAG FUSE_DNA command can be used to read the entire 64-bit value that is always unique. Device DNA is composed of bits 63 to 7 of the 64-bit FUSE_DNA value.

You can refer configuration user guides for more information on this.

 

Regards

Praveen


-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
Tags (2)
0 Kudos
Highlighted
1,392 Views
Registered: ‎06-21-2017

Are your boards designed yet?  It should be pretty easy to add something like the Microchip 25AA02UID to the design if the boards are not built yet. 

0 Kudos
Highlighted
Contributor
Contributor
1,332 Views
Registered: ‎09-10-2018

Boards are already designed. However, knowing the hardware ID is more of a nice to than a requirements, so it's not really a big deal.

Based on my research, the DNA can only be read with the JTAG, not during run-time, which is what I was attempting.

View solution in original post

0 Kudos
Highlighted
Newbie
Newbie
1,233 Views
Registered: ‎05-30-2019
It looks like FPGA can read it and make it available for PS:
"The FPGA application accesses the DNA value using the Device DNA Access Port (DNA_PORT) design primitive"
https://www.xilinx.com/support/documentation/user_guides/ug470_7Series_Config.pdf

I have not tried it yet. But looks promising.
0 Kudos
Highlighted
1,170 Views
Registered: ‎03-03-2017

I have just received a batch of parts where device_dna bits [63:8] are not unique on a few of the parts.   I use the DNA_PORT in my RTL to identify the FPGA and this won't work without them being unique.

Does anybody know how to read the full 64 bit device DNA value out in RTL?   Or is this not allowed for some reason?

Thanks.

Tim

0 Kudos