cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Highlighted
Scholar
Scholar
966 Views
Registered: ‎06-23-2014

XAPP1081 Quickboot demo for KC705 using Vivado 2018.1

I'm considering using XAPP1081's method of Quickboot for doing remote updates to a new hardware design.  It's now 2019.  XAPP1081 seems to be last updated in 2014.  Should I consider some OTHER method instead?

My custom hardware will use an Artix-7.  I will have access to an AC701 at a later date.  For now, I have a KC705.  I figure I ought to be able to get my stuff working for the KC705, then I hope the port to AC701 is pretty easy, and then again a port to our custom hardware.

I found in XAPP1081 v1,3 page 35 "KC705 Board Demonstration for QuickBoot Using SPI Flash".  It talks about using iMPACT.  That's an old ISE tool.  I'd rather not use it.  I'd rather use Vivado 2018.1 that I'm using now (or later version).  The two major steps of the demo are to program the initial.mcs to the flash, and then run an update.svf in order to program an update.mcs.  Well, the first step was easy.  Now I'm stuck on the second step.

Do I have to run the svf for the second step, which programs only a portion of the flash, leaving misc fallback stuff beginning at address zero?  Or can I simply use some feature of the Vivado hardware manager to do this?

Asssuming (yeah...) I need to run the svf, I read UG908 for Vivado 2018.1, and it explains how to create an SVF target.  That actually went very fast because I already had a regular target with the memory attached for the first step.  So for this second step I just selected the "copy from target" option.  Then I read UG908 further for how to execute an SVF file...

First off, it warns to only use an SVF file created by Vivado.  The demo is from 2013, long before Vivado.  So do I have to create a new SVF?  I'm not sure how to do that.

Second, I tried running the old SVF file anyway, using "execute_hw_svf" TCL command.  Of course it failed.

THEREFORE, I'm left wondering...  Is this a waste of time at this point, because in my actual design I'm going to be writing the update bitstream to flash using the FPGA itself (and a PCIe connection), rather than iMPACT/SVF/Vivado?  If not, then how do I move forward?

0 Kudos
3 Replies
Highlighted
Xilinx Employee
Xilinx Employee
873 Views
Registered: ‎08-10-2008

No need to dig into the SVF feature in Vivado. It's just one way to program an image into the flash. SVF, iMPACT, Vivado all do not matter. If you plan to program and update the flash from PCIe link, or any other method, safely skip this SVF part.

What you need to learn is how to do MultiBoot from this app. Not how to program a flash. 

------------------------------------------------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
---------------------------------------------------------------------------------------------------------
0 Kudos
Highlighted
Adventurer
Adventurer
744 Views
Registered: ‎05-07-2018

Hi,
Recently, I worked On In-system programming (ISP) for Updating FPGA, and, I reached the ability to reprogram FPGA through the hex file, remotely without the JTAG interface.
Xapp1081 try to program Update part through JTAG,
if you don't want to use JTAG, You need only SpiFlashProgrammer.vhd & SpiSerDes.vhd for programming "Update" part of the flash.
I used Matlab software to generate an appropriate file for SPI flash from the Hex file. I Used GTX to send this information
0 Kudos
Highlighted
Observer
Observer
114 Views
Registered: ‎10-07-2016

Hi, is SpiFlashProgrammer.vhd support N25Q512?  

0 Kudos