我似乎认为 FPGA 可以在芯片运行时更新。我需要知道这是否正确。
从我读到的内容看来,您可以按需更改 FPGA 网表,就像更改处理器上运行的程序一样。是的,我知道 FPGA 不是处理器。
我的假设是否正确,如果不正确,那又如何呢?
我似乎认为 FPGA 可以在芯片运行时更新。我需要知道这是否正确。
从我读到的内容看来,您可以按需更改 FPGA 网表,就像更改处理器上运行的程序一样。是的,我知道 FPGA 不是处理器。
我的假设是否正确,如果不正确,那又如何呢?
大多数情况下,您一次性加载整个 FPGA 的配置,并且在重新配置过程中所有逻辑都停止运行。
听起来您想重新加载 FPGA 的一个子集,而其余部分继续运行。您需要一个对部分重新配置具有特殊支持的设备。维基百科上有更多信息。
==> 编辑:我的立场得到纠正: EETimes关于部分重新配置的文章
您通常需要重置 FPGA 以便对其重新编程。
在系统级重新配置是可能的。您可以在 PC 或嵌入式系统上运行软件应用程序,根据需要对 FPGA 进行重新编程。根据应用程序或软件许可,您可以轻松地对不同的 FPGA 设计进行编程。但是,您不能显着改变设计结构,例如 I/O、逻辑单元、DSP 配置、内存块等。
FPGA 有一堆逻辑单元,需要通过配置位流进行初始化。这种比特流通常来自位于设备外的闪存芯片,尽管有些设备具有板载闪存。
部分重配置意味着能够仅配置一些逻辑单元,而其余的逻辑单元正在使用中。这是特定于特定型号的。
即使您的设备不支持完全重新配置也是可能的——您需要重新编程闪存芯片,然后在完成后发出重置或重新加载命令。
一些设备在配置闪存中有多个配置映像。设备将加载第一个图像,如果它不喜欢它,它将加载第二个(或后续)图像。这可以用于冗余或差异功能集。
一些 SOC FPGA(如 Xilinx Zynq)使用微处理器内核来加载 FPGA。在这种情况下,微处理器内核可以在运行时随心所欲地改变 FPGA。
是的,我知道 FPGA 不是处理器。
FPGA是一种处理器,但不是一种CPU。
大多数 FPGA 只有易失性存储,因此您必须在它们开启时对其进行更新。这并不意味着您可以随时更改他们的操作。这是动态重新配置,仅由一部分 FPGA 支持。