Forum: FPGA, VHDL & Verilog updating FPGA firmware in the field

von Eugene (Guest)

Rate this post
0 useful
not useful
hi there,

I need a solution with fpga for a specific regulation purpose which may 
need to be updated with new firmware features. I am aware that xilinx 
zynq platforms provide this feature but the complexity seems high (and 
costs too). Is anyone aware of a PnPish solution to upgrade firmware in 
the field without programming adapters? For example I want to access a 
unit over a bus (Profibus or RS485) and perform a firmware upgrade using 
NI labview (I am aware of the security issues). Any ideas?

von FPGA zum Spass (Guest)

Rate this post
0 useful
not useful
Usually you would provide an interface to the flash PROM from your FPGA 
and handle the programming of the flash with a simple interface to the 

- erase flash command
- write byte/block command
- optional: read byte/block command for verify

So you just send the erase and then program the bytes(if slow is no 
problem) or blocks with sequential writes, when the last write is done.

If you already have a RS485 connection from a PC to your FPGA this is 
not too difficult.

Just make sure, when designing the PCB, that you have the correct pins 
connected between FPGA and flash.

Some interfaces are bidrectional: you can use the pins for configuration 
of the FPGA and later on read/write the flash from the FPGA. But that 
differs from one FPGA/Flash to another.

von Michael F. (mifi)

Rate this post
0 useful
not useful
In case you are using a Cyclone IV, take a look here:

von Mark P. (mphil)

Rate this post
0 useful
not useful
We use the solutions from
for remote programming.
However these cores use Ethernet for programming. Don't know if you can 
control the FPGA Programmer from NI Labview.

von Test (Guest)

Rate this post
0 useful
not useful
If an Altera/Intel is also possible, there is a wonderfully simple 

Almost as godlike as Trump.

von Abe (Guest)

Rate this post
0 useful
not useful
Check for the XTP059 appnote at Xilinx, this also works for Kintex. 
However I am only aware of Ethernet based solution, not RS485

von Strubi (Guest)

Rate this post
0 useful
not useful

I've got a solution implemented on the Xilinx Spartan6 using the ICAP 
primitive, however it's Ethernet based. It simply acts as a bootloader 
('golden' image) which will look for a valid image in the 'alternate 
bootstrap' flash area. That image can be written over Ethernet, likewise 
it would work on any other interface, it's just a matter of the 
I've got some basic LabVIEW support going, but haven't tested in system 
upgrade in particular.
I'd strongly recommend a setup which features a CPU core. And: it's easy 
to lock yourself out.


Entering an e-mail address is optional. If you want to receive reply notifications by e-mail, please log in.

Rules — please read before posting

  • Post long source code as attachment, not in the text
  • Posting advertisements is forbidden.

Formatting options

  • [c]C code[/c]
  • [avrasm]AVR assembler code[/avrasm]
  • [vhdl]VHDL code[/vhdl]
  • [code]code in other languages, ASCII drawings[/code]
  • [math]formula (LaTeX syntax)[/math]

Bild automatisch verkleinern, falls nötig
Note: the original post is older than 6 months. Please don't ask any new questions in this thread, but start a new one.