How FPGAs are β€œUpdated,”

It seems to me that the FPGA can be updated while the chip is working; and I need to know if this is correct or not.

It looks like from what I read, you can change the list of FPGA connections on demand just like you can change a program that runs on a processor. Yes, I know that FPGA is not a processor.

Is my assumption correct, and if not, why?

+3
source share
4 answers

In most cases, you load the configuration for the entire FPGA at a time, and all the logic stops working during the reconfiguration.

It looks like you want to reload a subset of the FPGA while the remainder continues to work. You will need a device with special support for partial reconfiguration. There is more information on Wikipedia .

+4
source

==> EDIT: I'm standing fixed: EETimes article on partial reconfiguration

Usually you need to reset FPGA so that it can be reprogrammed.

At the system level, reconfiguration is possible. You may have a software application that runs on a PC or embedded system that reprograms the FPGA as needed. Depending on the license for the application or software, you can easily program various FPGA designs. However, you cannot substantially change the design structure, such inputs / outputs, logic cells, DSP configurations, memory blocks, etc.

+1
source

FPGAs have a bunch of logic cells that need to be initialized with a stream of configuration bits. This bitstream usually comes from a flash chip located outside the device, although some devices have flash memory on board.

Partial reconfiguration means that only some logical cells can be configured, while the rest are used. This is typical for specific models.

A complete reconfiguration is possible, even if your device does not support it - you will need to reprogram the flash chip, and then execute the Reset command or reboot.

Some devices have more than one configuration image in the flash configuration. The device will download the first image, and if he does not like it, it will download the second (or subsequent) image. This may be for redundancy or sets of distinguishing features.

Some of the FPGA SOCs (e.g. Xilinx Zynq) use the microprocessor core to load FPGAs. In this case, the microprocessor core can change the FPGA as much as is required during operation.

+1
source

Yes, I know that FPGA is not a processor.

FPGA is a processor type, but it is not a processor type.

Most FPGAs only have volatile storage, so you need to update them while they are on. This does not mean that you can change your work at any time. This dynamic reconfiguration is only supported by a subset of FPGAs.

0
source

Source: https://habr.com/ru/post/1487400/


All Articles