0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SoC FPGA与MCU主要优势和劣势对比

FPGA设计论坛 来源:未知 2023-08-26 10:45 次阅读

MCU 对应用主导地位的挑战已经开始。具有片上固定功能处理子系统的现场可编程逻辑器件(FPGA),也就是片上系统 (SoC) FPGA,最近已成为高端处理应用的潜在竞争者。这就提出了一个问题:随着应用性能要求的不断提高,SoC FPGA 会成为更广泛应用中的挑战者,还是 MCU 会发展以更好地与 SoC FPGA 竞争?如果您正在考虑一种新设计,那么今天哪种方法最适合您——MCU 还是 SoC FPGA?

本文将快速回顾 SoC FPGA 与 MCU 相比的一些主要优势和劣势。它还将探讨 MCU 中的一些最新创新,这些创新使它们更加灵活并且能够更好地应对 SoC FPGA 提供的一些关键优势。有了这些信息,您将能够在下一个设计中更好地在 MCU 和 SoC FPGA 之间进行选择。

SoC FPGA 将新的灵活性与熟悉的处理系统相结合

SoC FPGA 结合了两个世界的优点。首先,SoC FPGA 提供了一个熟悉的处理系统——CPU——来执行熟悉的顺序处理算法。事实上,许多 SoC FPGA 已经融合在普遍的 ARM 处理器架构上,以形成其“固定功能”处理子系统的基础。这利用了广泛的 ARM 兼容工具、知识产权内核 (IP 内核) 和支持技术的生态系统,使开发成为一个非常熟悉的过程。

SoC FPGA 还为顺序处理提供了一种灵活的可编程替代方案。可编程结构几乎可以实现您需要的任何硬件功能,以增强处理子系统中的顺序处理能力。可编程结构本质上是并行的,因为多个硬件模块可以同时运行,或者并行运行,其中逻辑是重复的,或者以流水线方式运行,其中算法被分成多个阶段,以便处理重叠。与顺序方法相比,这些方法中的任何一种都会产生巨大的吞吐量增益。

当算法的一部分需要高性能时,SoC FPGA 特别有用,该算法可以使用并行或流水线(或组合)技术在硬件中实现。让我们看一个示例设备,以更好地了解这将如何在实际系统中工作。

Xilinx Zynq -7000SoC FPGA 框图如下图 1 所示。该图的顶部显示了片上包含的所有固定功能块。这些模块实现了完整的双核 ARM 处理器应用处理单元以及大量支持互连总线、外设、存储器和片外接口。可编程逻辑部分显示在图表的最底部,可通过各种系统级接口访问。该组织对 SoC FPGA 的可编程逻辑方面进行了新的改进,因为即使没有可编程逻辑,固定功能元件也可以全部工作。这意味着处理器系统可以“启动”然后配置可编程逻辑。以前,非面向 SoC 的方法需要首先配置可编程逻辑,然后处理器才能启动。

wKgaomTpZzCACfAHAAD4N-ZgI9E854.png
图 1:Xilinx Zynq SoC FPGA 框图。(由赛灵思提供)

事实上,代码开发人员可以将 SoC 中的可编程逻辑视为一种硬件资源,用于加速在处理器上实现时速度太慢的代码部分。一名设计团队成员可能将他们的活动集中在创建程序员要求的硬件加速上,或者程序员可能能够自己实现硬件。无论哪种方式,算法都成为开发的重点,具有多种可用的实现选项。

当有多个面向性能的算法同时运行时,SoC 方法似乎效果最好。SoC FPGA 取得重大成功的一个应用领域是复杂的图像处理。这些算法通常可以流水线化和/或并行化,使其成为 FPGA 加速的良好候选者。如果处理器还需要处理片上和片外的高带宽流量(可能使用高速串行接口和大型片外缓冲存储器),那么从处理器卸载低级任务的额外硬件支持也可能会带来回报大红利。

对 SoC FPGA 的多核响应

还有其他方法可以为图像处理等应用程序实现并行和流水线实现。MCU 供应商采用的一种方法是在片上实现多个处理引擎(多核),以允许设计人员分解复杂的算法。当每个处理器的体系结构相同时,可以很容易地采用复杂的算法并将其分解为多个片段,每个片段在不同但功能相同的处理器上执行。

例如,德州仪器TI)提供TMS320C66x多核定点和浮点数字信号处理器(DSP),该处理器具有八个 DSP 处理器以及一个网络协处理器和一个多核导航器,以使用硬件队列简化数据传输(图 2 )。DSP 内核为音频视频、分析、工业自动化和媒体处理等各种复杂算法提供非常高的处理能力。

wKgaomTpZzCAaJauAAEG6cuHcAE509.png
图 2:德州仪器多核 DSP 框图。(德州仪器提供)

多核架构的代码开发有点类似于使用 SoC FPGA 时的代码开发,只是硬件加速是由 DSP 内核而不是可编程结构完成的。当一个核心无法足够快地实现算法时,只需让另一个核心来处理它。继续这样做,直到您用完内核或达到您的性能目标。可能需要调整和优化以获得最后一点的功率/性能效率,但一些更高级的工具可以通过提供有助于优化过程的性能和功率配置文件来提供帮助。

双核MCU

多核方法不必仅用于最高性能的应用程序。通常,SoC FPGA 可以在需要优化功率和处理能力的性能限制较少的应用中找到。由于可编程结构可用于实现部分算法,因此实现所需的总功率可能大大低于高端 DSP 或多核解决方案。

MCU 制造商也发现了这一趋势,并通过将双核处理器在单个设备上工作来做出回应。在某些情况下,同时使用高性能处理器和低性能处理器。这允许高性能处理器实现算法中更复杂的部分,而性能较低的处理器则可以处理不太复杂的管理任务。与高性能内核相比,性能较低的处理器可以在大部分时间处于活动状态,使用更少的功率。(请注意,多核系统可以使用类似的方法,只使用动态达到目标性能水平所需的内核。这实现起来有点复杂,但如果算法需要,最终会非常有效各种性能水平在短时间内变化很大。)

NXP Semiconductors LPC4350是同时利用高性能和低性能处理器的双核 MCU 的一个示例。如图 3 所示,其下方有一个 ARM Cortex-M4 和一个 Cortex-M0。M4 用于高性能任务,而 M0 可用于常用管理功能。事实上,M4 子部分甚至可以在不需要时断电,并在处理请求需要时通电。这种方法适用于只需要定期但需要快速响应处理数据的算法。例如,安全摄像机上的图像处理在图像变化时可能非常繁重,但在图像静止时则不需要。

wKgaomTpZzCAJNM7AAEEj_STLHo132.png
图 3:NXP 双核 MCU 框图。(恩智浦提供)

即使是低端也是可编程的

不要以为只有高端和中端 MCU 才会增加新的花样以提高灵活性。甚至低端 MCU 也在增加可编程功能,这可能不是作为对 SoC FPGA 的回应,而是作为一种将少量外部逻辑“片上”的方式,就像可编程逻辑设备几十年来一直在做的那样。Microchip PIC10F320 _添加了可编程逻辑,位于可配置逻辑单元 (CLC) 块中。图 4 显示了 PIC10F320 的框图以及 CLC 的更详细视图。CLC 可以基于器件输入、内部时钟、内部外设和寄存器位实现各种简单的逻辑功能。CLC 甚至可以在低功耗模式下运行,使其成为唤醒事件的便捷来源,从而在不需要 MCU 进行处理时最大程度地节省功耗。

wKgaomTpZzCAZdYrAAAsRlrn7rY247.jpg
图 4:具有可编程逻辑框图的 Microchip MCU。(由微芯片提供)

CLC 在 PIC10F320 上特别有用,因为它只有几个引脚。充分利用这些引脚并消除一些外部逻辑可以对电路板空间要求产生很大影响。即使在 PAL 和 CPLD 的早期阶段,可编程逻辑的一大优势也是如此。现在随着低端 MCU 将可编程逻辑放在芯片上,也许我们会在 MCU 旁边看到更少的低端 PLD。这不就是一个新的转折吗!

总之,MCU 和 SoC FPGA 解决了类似的应用问题,并开始争夺应用主导地位。目前,挑战主要出现在应用领域的高端,但最近的创新可能会扩大 MCU 和可编程设备之间的应用重叠。

wKgaomTpZzGAY3VMAAAJM7aZU1A351.png

有你想看的精彩 至芯科技FPGA就业培训班——助你步入成功之路、8月12号西安中心开课、欢迎咨询! 基于FPGA协处理器的算法及总线连接 基于RISC-V加速器实现FPGA CNN异构的控制方案

wKgaomTpZzGALA39AABUdafP6GM464.jpg

扫码加微信邀请您加入FPGA学习交流群

wKgaomTpZzGAGdxRAABiq3a-ogY486.jpgwKgaomTpZzGAJKC5AAACXWrmhKE951.png

欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看


原文标题:SoC FPGA与MCU主要优势和劣势对比

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593199

原文标题:SoC FPGA与MCU主要优势和劣势对比

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    唐辉电子向您介绍CPU、SoCMCU

    “唐辉电子”向您介绍CPU、SoCMCU
    的头像 发表于 01-11 12:49 131次阅读
    唐辉电子向您介绍CPU、<b class='flag-5'>SoC</b>、<b class='flag-5'>MCU</b>

    pcb超薄变压器的优势劣势

    超薄PCB变压器是一种新型的电力变压器,与传统的铁芯变压器相比,具有许多优势劣势。本文将详细介绍这些优势劣势,并探讨其应用前景。 一、优势
    的头像 发表于 12-21 14:50 612次阅读

    密集波分复用(DWDM)的优势劣势

    密集波分复用(DWDM)的优势劣势  密集波分复用(DWDM)是一种光纤通信技术,可通过在同一光纤上传输多个波长的光信号来实现高带宽传输。DWDM技术已经被广泛应用于现代光通信网络中,它具有许多
    的头像 发表于 11-28 15:39 903次阅读

    国产FPGA简介

    主要产品:数字模拟混合信号芯片、可编程逻辑器件、ADC/DAC、模拟电路及接口电路系列产品 应用市场:工业控制、通信和安防等。 遨格芯 核心技术:可编程SoC、异构(MCU)边缘计算 主要
    发表于 11-20 16:20

    SOC封装主要优势是什么?

    为什么现在原来越多的模块封装成SOC
    发表于 11-02 06:47

    了解千兆光模块和万兆光模块的优势劣势

    千兆光模块和万兆光模块是当前光纤通信领域中常见的两种光模块。它们分别适用于不同的网络通信需求,并各有优势劣势。本文将重点讨论千兆光模块和万兆光模块的优势劣势,并对未来发展趋势进行探
    的头像 发表于 10-30 11:36 429次阅读

    C++开发单片机有哪些优势劣势呢?

    在一般的IDE里面除了C可以选择还有很多常见的C++,C++开发单片机有哪些优势劣势
    发表于 10-16 07:30

    MCUSOC二者有何区别?

    SOC--MCU的爹,很多MCU组成,MCUSOC上充当控制器,留出引脚和SOC主体进行沟通。相当于城市的市级或者省级,反正比区级高,又是
    发表于 10-15 10:42 1647次阅读
    <b class='flag-5'>MCU</b>和<b class='flag-5'>SOC</b>二者有何区别?

    常见滤波性光学器件优劣势对比

    想要了解什么是波长选择器?通过介绍应用市场中常见的滤波光学器件并对比优势劣势,看见波长选择器滤波性能的优越性。
    的头像 发表于 09-20 09:45 395次阅读
    常见滤波性光学器件优<b class='flag-5'>劣势</b><b class='flag-5'>对比</b>

    充电桩的优势劣势有哪些?

    充电桩的优势劣势有哪些? 充电桩是一种专门为电动汽车充电的电力设备,可以帮助电动汽车用户在无需前往加油站的情况下快速便捷地完成充电。近年来,随着电动汽车的普及,充电桩的需求量迅速增加。本文将详细
    的头像 发表于 08-22 17:06 5607次阅读

    FPGA和ASIC的优劣势 FPGA和ASIC的应用场景及前景

      FPGA和ASIC是数字电路中常见的实现方式,因此人们经常会想要了解哪种芯片在未来的发展中更具有前途。然而,这取决于具体的应用场景和需求。在本文中,我们将探讨FPGA和ASIC的优劣势,并分析哪种芯片在特定的应用场景中更具有
    发表于 08-14 16:40 1199次阅读

    激光焊接有哪些优势劣势

    激光焊接是一种高精度的焊接技术,利用激光束将金属材料加热至熔化点以实现焊接。它在工业领域中得到广泛应用,具有许多优势劣势。本文将介绍激光焊接的优势劣势,并对其在各个领域中的应用进行
    的头像 发表于 07-05 17:16 1772次阅读

    基于FPGASoC创建方案

    LiteX 框架为创建 FPGA 内核/SoC、探索各种数字设计架构和创建完整的基于 FPGA 的系统提供了方便高效的基础架构。
    发表于 06-28 09:08 471次阅读
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>SoC</b>创建方案

    简谈CPU、MCUFPGASoC芯片异同之处

    和大侠简单聊一聊CPU、MCUFPGASoC这些芯片异同之处,话不多说,上货。 目前世界上有两种文明,一种是人类社会组成的的碳基文明,一种是各种芯片组成的硅基文明——因为几乎所有的芯片都是以单晶硅
    发表于 05-26 17:07

    MCUSOC有什么区别吗?

    只运行实时操作系统(RTOS),不会上Linux,更多的是”裸机”编程。 二、什么是SOC 低端的SOC就是内部集成了MCU+特定功能模块外设。 高端的SOC应该是内部集成MPU/CP
    发表于 05-04 15:09