这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » FPGA相对于MCU的主要优势在哪

共16条 1/2 1 2 跳转至

FPGA相对于MCU的主要优势在哪

助工
2021-11-12 23:32:22     打赏

在开发新的电子系统时,设计人员需要做出各种决定。最关键的一个决定是选择系统架构和实现的芯片。这些组件发挥着关键功能,当前的选择也十分宽范,因此错误的决定可能意味着市场上的失败。

如果你恰好读到这篇博文,那么你可能已经熟悉现场可编程门阵列(FPGA)以及相应的替代芯片类型。我认为对比一下FPGA 与其主要竞品——微控制器(MCU)之间的一些关键差异将有所裨益。

使用FPGA设计的主要优势

使用FPGA进行设计的最大优势是它们的可编程架构,设计人员可以对其快速编程(和重新编程),执行几乎所有功能。你可以将这种结构想象成许多微小的可编程逻辑“岛屿”(单元)漂浮在可编程互连的“海洋”中。每个逻辑单元都包含一些组合逻辑和一个寄存器,并且每个单元都可以通过编程来执行所需的功能。

FPGA的可编程结构能以大规模并行方式实现数据处理算法。例如,假设一个算法需要对一些相似的数据执行100次加法。FPGA可以配置为在同一时钟沿同时执行所有这些操作。要么在同一时间段内执行100次计算,要么以1/100的时钟频率执行相同数量的计算。

这种固有的灵活性有助于加快FPGA应用设计的上市时间,因为可以在最终确定系统设计的同时决定或更改集成的FPGA的功能。这种可重新编程的特性还能让开发人员通过软件更新来更新或更改FPGA的功能,从而延长FPGA(以及使用它们的系统)的生命周期。

使用MCU设计的主要局限性

MC++U设计的思路不同。一旦硬件平台建立起来,芯片的功能就确定了,接下来就是软件开发人员的工作,他们使用C或C++等编程语言来完成他们的设计部分。随后,C/C++源代码传递给编译器,编译器生成将由MCU执行的机器代码。

虽然MCU非常擅长执行决策任务,但大多数MCU底层的冯诺依曼架构在执行许多数据处理算法方面效率低下。这是因为该架构的工作方式是从内存中检索指令、解码该指令、获取数据(如有需要)、执行指令并存储结果(如有需要)。当然,这只是高度简化的描述,但大抵如此。最终结果是MCU按串行顺序(一个接一个)执行操作。在MCU上实现DSP需要执行的大量操作还需要高速系统时钟,这会大大增加应用的功耗。

较早的系统架构一般同时使用MCU和FPGA,MCU提供决策功能,FPGA执行计算密集型数据处理。在更先进的系统架构中,工程团队则利用FPGA固有的灵活性和性能优势,完全取代MCU,并将决策和数据处理任务整合到FPGA中,大大减少了物理设计占用空间,同时降低功耗。

工程师可以在FPGA中使用“软核”MCU来实现这种设计,MCU的功能在可编程架构中实现。FPGA还可能包含直接在芯片中以“硬核”实现的各种功能,包括SRAM、非易失性存储器、DSP、PLL、时钟管理器和SERDES模块。




专家
2021-11-13 00:02:38     打赏
2楼

感谢楼主的分享,很实用了。


专家
2021-11-13 00:05:00     打赏
3楼

感谢楼主的分享,很实用了。


高工
2021-11-13 11:07:40     打赏
4楼

FPGA好是强大啊


院士
2021-11-13 11:14:44     打赏
5楼

真心喜欢FPGA,但能力有限啊


专家
2021-11-13 12:39:56     打赏
6楼

感谢分享


专家
2021-11-13 12:52:04     打赏
7楼

感谢分享


专家
2021-11-13 13:02:34     打赏
8楼

感谢楼主的分享。


专家
2021-11-13 13:08:29     打赏
9楼

感谢楼主的分享,很实用了。


工程师
2021-11-13 15:01:39     打赏
10楼

感谢楼主分享


共16条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]