Lattice Blog

Share:

FPGA相对于MCU的主要优势

Key_Advantages_FPGAs_vs_MCUs
Posted 09/24/2021 by Jay Aggarwal

Posted in

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

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

使用FPGA设计的主要优势

使用FPGA进行设计的最大优势是它们的可编程架构,设计人员可以对其快速编程(和重新编程),执行几乎所有功能。你可以将这种结构想象成许多微小的可编程逻辑“岛屿”(单元)漂浮在可编程互连的“海洋”中。每个逻辑单元都包含一些组合逻辑和一个寄存器,并且每个单元都可以通过编程来执行所需的功能。同时,可编程互连可用于连接FPGA的通用输入/输出(GPIO)和所选逻辑单元的输入和输出(I/O),并将逻辑单元之间相互连接。此外,可以对GPIO组(bank)进行编程来支持不同的电气接口、输入阻抗和输出转换(边缘)速率。

Figure 1

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

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

使用MCU设计的主要局限性

MCU设计的思路不同。一旦硬件平台建立起来,芯片的功能就确定了,接下来就是软件开发人员的工作,他们使用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模块。

FPGA使用入门

FPGA设计的传统方法是使用硬件描述语言(HDL),例如Verilog或VHDL,在寄存器传输级(RTL)描述设计。然后RTL源代码馈送到综合引擎(相当于“编译器”),生成用于对FPGA进行编程的配置文件。不熟悉HDL的开发人员,可以使用基于图形用户界面(GUI)的工具(例如莱迪思Propel™),通过拖放的直观界面描述设计,例如进行基于处理器的设计。此时,可以通过使用工具的GUI来选择并连接一个或多个处理器内核和相关外设功能,工具将自动生成RTL提供给综合引擎。

对于那些想要开始使用或尝试FPGA的人而言,莱迪思作为长久以来全球公认的小尺寸、低功耗、高性能FPGA供应商,是他们的理想选择。莱迪思Nexus™ FPGA平台基于28 nm FD-SOI工艺,与同类FPGA竞品相比,功耗降低75%,软错误率降低100倍。Nexus平台诞生了CrossLink™-NXCertus™-NXCertusPro™-NXMach™-NX FPGA系列产品,为开发人员提供了一系列针对应用优化的FPGA解决方案选择。

莱迪思还提供了一套直观易用的设计工具,包括Lattice Diamond®Lattice Radiant®。此外,还有Lattice Propel,这是一套完整的图形和命令行工具,可用于创建、分析、编译和调试基于FPGA的处理器系统的硬件和软件设计。

为了更轻松地使用我们的低功耗FPGA进行应用开发,莱迪思开发了模块化硬件平台、示例演示、参考设计、IP核、软件开发工具以及定制化设计服务,即莱迪思解决方案集合。这些产品有助于简化并加速基于FPGA的常见应用的开发,更好地服务于我们的目标市场。解决方案集合产品包括用于边缘AI/ML应用的Lattice sensAI™、用于嵌入式视觉的mVision™、实现工业自动化的Automate™和保障硬件安全的Sentry™

此外,莱迪思还与我们的官方培训提供商——莱迪思教育能力中心(LEC2)合作,提供丰富的培训计划,为开发人员提供创建基于莱迪思低功耗FPGA的应用所需的实践经验——包括最初的概念到实际的物理实现。这些培训将由经验丰富的FPGA开发团队开展,他们曾为各类市场设计应用,将在培训中为学员带来第一手的知识和经验。

我希望些信息对读者有所益处。如果您刚刚开始使用FPGA并希望了解更多信息,请务必查阅我们的《FPGA初探》博文和element14社区的《如何上手使用FPGA》网络研讨会(点击此处观看录像)。

Share:

Like most websites, we use cookies and similar technologies to enhance your user experience. We also allow third parties to place cookies on our website. By continuing to use this website you consent to the use of cookies as described in our Cookie Policy.