FPGA如何“更新”

时间:2010-12-08 13:23:55

标签: fpga

我似乎认为FPGA可以在芯片运行时更新;我需要知道这是否正确。

似乎从我所读到的内容可以按需更改FPGA网表,就像更改处理器上运行的程序一样。是的我知道FPGA不是处理器。

我的假设是否正确,如果没有,那么为何如此?

4 个答案:

答案 0 :(得分:4)

大多数情况下,您可以一次性加载整个FPGA的配置,并且所有逻辑在重新配置过程中都会停止运行。

听起来你想要重新加载FPGA的一个子集,而其余部分继续运行。您需要具有部分重新配置特殊支持的设备。有more information on Wikipedia

答案 1 :(得分:1)

==>编辑:我更正了:EETimes article部分重新配置

您通常需要重置FPGA以便重新编程。

在系统级别,可以进行重新配置。您可以在PC或嵌入式系统上运行软件应用程序,根据需要对FPGA进行重新编程。根据应用程序或软件许可证,您可以轻松编程不同的FPGA设计。但是,您不能显着改变设计结构,例如I / O,逻辑单元,DSP配置,存储器块等。

答案 2 :(得分:1)

FPGA有一堆逻辑单元,需要通过配置位流进行初始化。这些位流通常来自位于器件外的闪存芯片,尽管有些器件具有板载闪存。

部分重配置意味着能够配置其他逻辑单元,而其余的正在使用中。这是针对特定模型的。

即使您的设备不支持,也可以进行全面重新配置 - 您需要重新编程闪存芯片,然后在完成后发出重置或重新加载命令。

某些设备在配置闪存中有多个配置映像。设备将加载第一个图像,如果它不喜欢它,它将加载第二个(或后续)图像。这可以用于冗余或差异特征集。

一些SOC FPGA(如Xilinx Zynq)使用微处理器内核加载FPGA。在这种情况下,微处理器内核可以在运行时尽可能多地更改FPGA。

答案 3 :(得分:0)

  

是的我知道FPGA不是处理器。

FPGA是一种处理器,但它不是一种CPU。

大多数FPGA只有易失性存储器,所以你必须在它们打开时更新它们。这并不意味着您可以随时更改其操作。这是动态重配置,只有一部分FPGA支持。