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!
03-07-2019 11:20 PM
Subject is clear.
My board is a 7020; and AES key is in eFuse registers. I've not programmed the R_EN_B_Key (Disables reading of AES key); so I assume I must be able to read it back. But how?
Thanks,
Dosto
03-10-2019 08:08 PM
Hi @f.m.dostoevsky-the-embedder ,
Xilinx doesn't recommend AES Key readback.
For security reasons, there is no Vivado Tcl command to read the 7 series AES key.
eFUSE registers can be read through JTAG ports. Table 5-18 lists eFUSE-related JTAG instructions. Refer page 104 of UG470 (v1.13.1).
Hope this helps.
Regards,
Deepak D N
--------------------------------------------------------------------------------------------
Please reply or give kudo or Mark it as an Accepted Solution.
--------------------------------------------------------------------------------------------
03-10-2019 08:08 PM
Hi @f.m.dostoevsky-the-embedder ,
Xilinx doesn't recommend AES Key readback.
For security reasons, there is no Vivado Tcl command to read the 7 series AES key.
eFUSE registers can be read through JTAG ports. Table 5-18 lists eFUSE-related JTAG instructions. Refer page 104 of UG470 (v1.13.1).
Hope this helps.
Regards,
Deepak D N
--------------------------------------------------------------------------------------------
Please reply or give kudo or Mark it as an Accepted Solution.
--------------------------------------------------------------------------------------------
03-10-2019 09:36 PM - edited 03-11-2019 04:58 AM
Thank you @ddn!
Why it is not recommended?
I'm trying to get it through JTAG according to your reply. It looks like I have to deal with `jtag sequence`s which I couldn't make happen so far. This is the TCL I wrote using so few examples around the web; which prints 8 byte random data followed by ff's (like 1122334455667ffffffffffffffffffffffffffffffffffffffffffffffff) as the output eventhough I try it for different registers and bit sequences.
set seqname [jtag sequence]
$seqname state RESET
$seqname irshift -register fuse_cts_slr0
#$seqname irshift -bits 6 110001
$seqname drshift -capture 256
set result [$seqname run -hex]
puts $result
$seqname delete
Could you please guide me through reading it back? I cannot boot my module and have to check whether the key is properly written or not.