莱迪思博客

分享:

选择FPGA而非MCU的关键优势

FPGA与MCU的主要优势
杰伊·阿加瓦尔于2021年9月24日发布

张贴

当创建一个新的电子系统时,设计师需要做出无数的决定。其中最关键的是系统架构和用于实现它的相关硅。考虑到这些部分所起的关键作用以及目前可用的各种选择,做出错误的决策可能意味着市场上成功与失败的区别。

如果你看过这篇博客,你很可能熟悉现场可编程门阵列(fpga)以及它们竞争的替代硅类型。我认为比较和对比fpga和它们的主要竞争对手,微控制器(MCUs)之间的一些关键区别是有帮助的。

fpga设计的主要优势

使用FPGA进行设计的最大优势是其基本的可编程结构,它允许设计者快速编程(并重新编程)它们以执行几乎任何功能。可视化这种结构的一种方法是在可编程互连的“海洋”中描绘许多小的可编程逻辑“岛”(块)。每个逻辑块包含一些组合逻辑和一个寄存器,每个逻辑块都可以编程以执行所需的功能。同时,可编程互连可用于将FPGA的通用输入/输出(GPIO)连接到所选逻辑块的输入和输出(I/O),并将逻辑块相互连接。此外,GPIO组可编程为支持不同的电气接口、输入阻抗和输出转换(边缘)速率。亚搏国际网址

图1

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

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

微机单元设计的关键限制

MCU从不同的方向来处理事情。一旦建立了硬件平台,硅的功能就被固定了,并且接力棒被传递给软件开发人员,他们使用C或C++等编程语言来捕获设计的部分。随后的C/C++源代码被传递给编译器,编译器生成将由MCU执行的机器代码。

虽然MCU在执行决策任务方面非常有能力,但大多数MCU的冯诺依曼体系结构在执行许多数据处理算法方面效率低下。这是因为该体系结构的工作方式是从内存中检索指令,解码该指令,获取一段数据(如果需要),执行该指令,并存储结果(如果需要)。当然,这是一个高度简化的描述,但我认为它描绘了一幅图画。最终结果是MCU按顺序(一个接一个)执行其操作。在MC上执行DSP所需的大量操作还需要高速系统时钟,这会增加应用程序消耗的功率

旧的系统架构通过匹配这两种设备,利用了MCU和FPGA的优势,MCU提供决策能力,FPGA执行计算密集型数据处理。在更先进的系统架构中,工程团队正在利用FPGA固有的灵活性和性能优势,完全替换MCU,并在FPGA中整合决策和数据处理任务,这通常会产生更小的物理设计占用和更低的功耗。工程师可以通过在FPGA中使用“软核”MCU来实现这一点,其中MCU的功能是在可编程结构中实现的。fpga还可以包含各种直接在硅上实现的“硬核”功能,包括SRAM、非易失性存储器、dsp、锁相环、时钟管理器和SERDES块。

FPGA入门

捕获FPGA设计的传统方法是使用硬件描述语言(HDL),如Verilog或VHDL,在所谓的抽象寄存器传输级别(RTL)上描述设计。然后,RTL源代码被提供给一个合成引擎(想象一下“编译器”),该引擎将生成用于对FPGA编程的配置文件。对于不熟悉HDL的开发人员,有一些基于gui的工具(晶格推进™是一个示例),它允许使用拖放界面捕获基于处理器的设计等内容。在这种情况下,使用该工具的GUI选择并连接一个或多个处理器内核和相关外围功能,该工具将自动生成RTL以馈送到合成引擎。

对于那些希望开始使用(或试验)fpga的人来说,Lattice是长期以来全球公认的低功耗、高性能、小尺寸fpga供应商。的晶格Nexus™FPGA平台基于28 nm FD-SOI工艺,与同类竞争FPGA相比,功耗降低75%,软错误率降低100倍。Nexus平台用于开发我们的交联™nx,塞特斯™-NX,CertusPro™-NX,马赫™nxFPGA系列,为开发人员提供一系列应用程序优化的FPGA解决方案供选择。

Lattice还提供了一套直观易用的设计工具,包括莱迪思钻石®晶格辐射®。Lattice Propel是一套完整的图形和命令行工具,可用于创建、分析、编译和调试基于fpga的处理器系统的硬件设计和为该处理器系统设计的软件。

为了使使用我们的低功耗fpga进行应用程序开发更加容易,Lattice开发了全面的模块化硬件平台集合、示例演示、参考设计、IP核、开发软件工具以及我们称之为解决方案栈的定制设计服务。这些堆栈简化并加速了我们所服务的几个市场中使用的通用fpga应用程序的开发,包括yabovip888APP亚博娱乐 AI/ML应用在边缘yabovip888,vip亚博 对于嵌入式视觉,自动化™用于工业自动化,以及哨兵™为了硬件安全。

为了补充上述所有内容,Lattice与莱迪思教育能力中心(LEC2),我们的官方培训提供商,提供广泛的培训计划库,为开发人员提供创建基于低功耗Lattice FPGA的应用程序所需的实践信息,从最初的概念到实际的物理实现。这些培训的特点是来自经验丰富的FPGA开发团队的第一手知识,他们为广泛的市场设计了应用程序。yabovip888

我希望你发现这些信息是有用的和信息丰富的。如果您刚刚开始使用FPGA并想了解更多信息,请务必查看我们的一个FPGA底漆element14社区的博客和“如何开始使用FPGA”网络研讨会(这里可以重播).

分享:

与大多数网站一样,我们使用cookie和类似技术来增强您的用户体验。我们还允许第三方在我们的网站上放置cookie。继续使用本网站即表示您同意使用本网站中所述的cookies饼干的政策