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: 
Adventurer
Adventurer
292 Views
Registered: ‎12-11-2017

can't reprogram SPI on encryption-enabled target

I have an Artix XC7A35T target that has an AES key programmed. I need to reflash the boot SPI via JTAG (indirect programming.)

SPI is functional. The flash was previously programmed, and the FPGA is booting from it. JTAG is functional. I have the correct AES key and can load an encrypted bitstream.

However, I cant seem to do is access the SPI device at all: I get the  [Labtools 27-3165] End of startup status: LOW message no matter what kind of programming operaion I try (read, erase, blank check, etc.)

FUSE_CNTL state is 0xC9: CFG_AES_Only and R_EN_B_Key are set.

Previously I was able to reprogram using an encrypted bitstream with CFG_AES_Only set. The trouble seems to have come about once R_EN_B_Key is set.

0 Kudos
5 Replies
Xilinx Employee
Xilinx Employee
199 Views
Registered: ‎08-10-2008

回复: can't reprogram SPI on encryption-enabled target

I think the issue is due to CRF_AES_Only rather than R_EN_B_Key. Are you sure you have CFG_AES_Only programmed previously?

If CFG_AES_Only is set, FPGA no longer takes an unencrypted bitstream; as you may know, indirectly programming flash is first to download a bitstream into FPGA, and then this design works in FPGA to get access the SPI interface. With the bit set, this indirect programming core( or bit) could not configure your FPGA any longer.

------------------------------------------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
---------------------------------------------------------------------------------------------------------
0 Kudos
Adventurer
Adventurer
183 Views
Registered: ‎12-11-2017

回复: can't reprogram SPI on encryption-enabled target

Two things.

1. "Indirect Mode" means programming SPI over JTAG, not via logic. Check the Configuration guide.

2. As I developed this plaform, I first checked reprogammability with CFG_AES_Only set. This worked. It's only after I had set R_EN_B_Key set that I no longer could access SPI over JTAG.

That's a good suggestion for a workaround though (using a SPI perpheral instanced in my logic to reflash the device.) I may try it if I have time.

0 Kudos
Adventurer
Adventurer
109 Views
Registered: ‎12-11-2017

回复: can't reprogram SPI on encryption-enabled target

In thinking on this, I don't know of a method to co-opt the CCLK pin for external control. Do you?

0 Kudos
Xilinx Employee
Xilinx Employee
91 Views
Registered: ‎03-07-2018

回复: can't reprogram SPI on encryption-enabled target

Hello @vortex1601

Please try programming flash without enabling option of verify.

Regards,
Bhushan

-------------------------------------------------------------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
-------------------------------------------------------------------------------------------------------------------------------------------------
0 Kudos
Adventurer
Adventurer
77 Views
Registered: ‎12-11-2017

回复: can't reprogram SPI on encryption-enabled target

I've done that. Doesn't work. Also, tried only to erase - doesn't work. Basically, I cannot access the SPI flash over JTAG at all.

0 Kudos