cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Observer
Observer
558 Views
Registered: ‎08-13-2019

Programming eFuses using the internal JTAG

Jump to solution

Hello,

We are considering the Ultrascale (Virtex & Kintex) and Ulstrascale+ architectures (Virtex, Kintex, Zynq).

Firstly, we are considering bitstream encryption. According to the documentation, either BBRAM or eFuse can be use to store the AES 256 bit bitstream encryption key.

Can you confirm that both are "black" keys, meaning that they CANNOT be read internally from the fabric?

Secondly, we are considering using 3 efuses with our logic inside the fabric and we have the following questions:

  • 128 bit efuse: FUSER_USER_128
    • Can we write it and read it from the fabric using an internal JTAG logic. Are there wiring diagrams available?
  • 32 bit efuse: FUSE_USER
    • Can we write it and read it from the fabric using an internal JTAG logic. 
    • Are there wiring diagrams available?
  • Device DNA: FUSE_DNA
    • From the documentation this is set and can be read via registers. 

Thanks for your answers.

Regards

Yorg

 

0 Kudos
1 Solution

Accepted Solutions
Highlighted
Xilinx Employee
Xilinx Employee
487 Views
Registered: ‎08-10-2008

1. Once programmed, the keys cannot be read out by any means.

2. You can program the two internally by MASTER_JTAG. Check this:

https://www.xilinx.com/support/documentation/application_notes/xapp1283-internalprogramming-bbram-efuses.pdf 

------------------------------------------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
---------------------------------------------------------------------------------------------------------

View solution in original post

2 Replies
Highlighted
Xilinx Employee
Xilinx Employee
488 Views
Registered: ‎08-10-2008

1. Once programmed, the keys cannot be read out by any means.

2. You can program the two internally by MASTER_JTAG. Check this:

https://www.xilinx.com/support/documentation/application_notes/xapp1283-internalprogramming-bbram-efuses.pdf 

------------------------------------------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
---------------------------------------------------------------------------------------------------------

View solution in original post

Highlighted
Observer
Observer
416 Views
Registered: ‎08-13-2019

Hello,

I have one additional question, I am assuming that the internal MASTER_JTAG, being a JTAG gives access to the entire logic of the FPGA just like the external JTAG does.  If that is correct, is it possible to limit the "reach" of the internal MASTER_JTAG just to the programmable fuses? For instance if the Microblaze IP is used to program the user fuses, it would be helpful to make sure it cannot also reach into the rest of the programmable logic to prevent bugs, etc. 

Thanks

 

Thierry

0 Kudos