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
567 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
Contributor
Contributor
415 Views
Registered: ‎09-10-2018

Re: Zynq-7000 Unique ID register?

Jump to solution

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.

0 Kudos
8 Replies
Moderator
Moderator
553 Views
Registered: ‎07-31-2012

Re: Zynq-7000 Unique ID register?

Jump to solution

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
Contributor
Contributor
548 Views
Registered: ‎09-10-2018

Re: Zynq-7000 Unique ID register?

Jump to solution

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
513 Views
Registered: ‎06-21-2017

Re: Zynq-7000 Unique ID register?

Jump to solution

Search for "DNA" in the technical reference manual.

0 Kudos
Highlighted
Moderator
Moderator
488 Views
Registered: ‎07-31-2012

Re: Zynq-7000 Unique ID register?

Jump to solution

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
476 Views
Registered: ‎06-21-2017

Re: Zynq-7000 Unique ID register?

Jump to solution

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
Contributor
Contributor
416 Views
Registered: ‎09-10-2018

Re: Zynq-7000 Unique ID register?

Jump to solution

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.

0 Kudos
Newbie araffucci
Newbie
317 Views
Registered: ‎05-30-2019

Re: Zynq-7000 Unique ID register?

Jump to solution
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
254 Views
Registered: ‎03-03-2017

Re: Zynq-7000 Unique ID register?

Jump to solution

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