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

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

3天内不再提示

什么是SoC、SOPC、SoC FPGA?用在什么场景?

sanyue7758 来源:处芯积律 2023-03-30 10:13 次阅读

说一说

开始SoC FPGA的学习路程还是蛮难的,不仅要熟悉整个的设计流程,而且还要掌握FPGA以及软件方面的知识,尤其大概看了一下后面的整体设计部分,操作起来还是较为繁琐的,以至于让人晕头转向。尽管如此,先了解一下SoC FPGA是什么,相对于SOPC、SoC有什么优缺点,甚至常用在什么场景中还是比较轻松的,这些知识能对SoC FPGA嵌入式设计有初步的了解及认识,将为后续具体的开发研究做铺垫。

c55e99f4-ce58-11ed-bfe3-dac502259ad0.png

一、关于SoC

概念: SoC(System OnChip)为片上系统或系统级芯片,就是在单一芯片上集成处理器、存储单元、图像处理单元GPU、各种功能部件等,且都由一个中央控制单元通过总线来控制它们的工作。 优缺点: 低功耗、高性能、高集成、高带宽、设计复杂度较高、对知识的掌握要求更高。

二、关于SOPC

概念:

SOPC为片上可编程系统(System On a Programmable Chip),将处理器、存储器(RAM、ROM或闪存)及各种功能模块等集成到一片FPGA中,其处理器为软核处理器,即采用FPGA的通用逻辑资源和存储单元来搭建软核CPU。典型的则是Altera的Nios II 嵌入式软核处理器。

简言之,SOPC就是软核处理器+FPGA,并用Avalon总线来通信

优缺点

优点:由于它的处理器CPU是由FPGA的通用逻辑资源搭建,因此该处理器更灵活,可裁剪可定制,还可添加多个CPU,以实现多核系统的搭建,进而完成多核CPU的协调工作;还能灵活为CPU增添外设(UART,SPI,IIC 等);

缺点:由于处理器是由FPGA的通用逻辑资源搭建,因此占用更多FPGA的资源,另外搭建出来的处理器运行的最高时钟主频也更低一些(最高160/170MHz),所以SOPC方案仅适用于对处理器整体性能要求不高的应用,通用性不强。

三、关于SoC FPGA(Intel Cyclone V SoCFPGA)

c59e94f0-ce58-11ed-bfe3-dac502259ad0.png

概念:

SOC FPGA高集成度芯片是在同一个芯片上集成FPGA和HPS(HardwareProcessor System)系统,即FPGA+硬核处理器。

Intel Cyclone V SoC FPGA :是在单一芯片上集成了双核的 ARM Cortex-A9 处理器和FPGA的新型 SoC 芯片,主频可达到925MHz,所以它能同时拥有ARM和FPGA的优势。二者之间用高达128 位数据位宽的 AXI 高速总线进行通信。 优缺点:

SOC FPGA拥有ARM 硬核处理器灵活逻辑控制、图形界面显示和网络传输等优势,而且还能运行成熟的 Linux 操作系统,同时还拥有 FPGA 高速流水并行处理、可灵活定制、丰富I/O单元等优势; 由于FPGA和ARM之间采用片上高速互联结构(AXI),AXI总线可根据具体的需求进行配置(128位/64位/32位),另外使用时可以将 FPGA 上的通用逻辑资源进行配置,从而映射为 ARM 处理器的一个或多个具有特定功能的外设,从而添加了一个符合特定需求功能的模块。 SoC FPGA的HPS 部分可运行成熟的 Linux 操作系统,并提供了统一的系统 API,相对来说,能降低开发者的软件开发难度。工作的时钟频率也比软核处理器更高,因此可单位时间内能够执行更多的指令。 虽然SoC FPGA兼具了硬核处理器及FPGA的优势,但也对开发者提供了个更高的要求,不仅要有Verilog代码能力,而且还需要有软件开发经验,还需掌握基础的Linux系统知识,但Linux的加入并不像所想的增加知识量及操作难度,相反地,可以降低我们的开发难度。 常见应用场景:

视频监控(高清视频分析)、自动辅助驾驶(视频处理分析、通信)、国防航天(夜视、保密通信)、广播(视觉、专业音频、PCIe采集)等要求低功耗、低成本、轻量化的应用领域中,距离我们更近的就是智能手机智能车载、物联网等市场中的应用。

四、SoC FPGA和独立的FPGA系统对比

FPGA实现的是硬件逻辑功能,有着高速流水并行处理架构、丰富I/O单元和功能模块复用的优势,非常适合做图像预处理中滤波等重复性的操作,但当需要用到灵活的控制和复杂的协议通信的时候,FPGA不占优势,而SoC FPGA恰恰将FPGA和ARM的优势集合在了一起。

五、SoC FPGA和传统的处理器+FPGA架构对比

传统处理器(英特尔X86架构CPU、Cortex-M系统单片机等)+FPGA架构中因为使用了独立的器件,所以电路板的设计相对复杂,另外在用单片机与FPGA通信的时候,速率也因为硬件电路板或者高位宽并行总线间的竞争冒险情况等而受到限制。而SoC FPGA采用片上集成的方式,且ARM和FPGA之间的高速互联桥也能打破带宽和通信速率的限制,另外处理器、外设存储单元可定制,因此也突破了硬件上的限制。

六、SoC FPGA 和 SOPC 对比

同: SoC FPGA 和 SOPC 都是由FPGA和处理器组成。

异: SoC FPGA 采用的是硬核处理器(ARM,性能更高),SOPC 采用的是软核处理器(NIOS II)。其中SoC FPGA中的ARM和FPGA是相互独立的,供电电源相互独立,意思就是如果FPGA或者ARM中的任意一方断电,另一方仍是可以正常工作的,彼此之间不会受到影响,但是如果设计中无需使用ARM部分,ARM部分占用的芯片资源却是不能被释放的。

而SOPC的处理器由FPGA通用资源搭建,也就是软核处理器,所以当不用CPU的时候,资源可释放,全部的资源均可当作FPGA资源来使用,但它的性能却低于ARM硬核处理器。。

七、SoC FPGA 的总结

SoC FPGA 器件发挥了FPGA的可编程、并行处理等优势,与ARM处理器协同工作,突破硬件中无法灵活控制等的限制,最终基于SoC FPGA实现的系统也拥有高集成、低功耗等有点。随着半导体工艺的发展,这种ARM+FPGA 集成架构的芯片(SoC FPGA)将有更大的市场和应用前景。

c5cf00d6-ce58-11ed-bfe3-dac502259ad0.png

了解之后,可以阅读一些有关SoC FPGA方面的文献,有了一定的理论知识支撑后,去动手尝试一些有关的实践项目。

审核编辑:汤梓红

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

    关注

    68

    文章

    18288

    浏览量

    222168
  • FPGA
    +关注

    关注

    1603

    文章

    21326

    浏览量

    593231
  • 嵌入式
    +关注

    关注

    4983

    文章

    18286

    浏览量

    288497
  • sopc
    +关注

    关注

    2

    文章

    248

    浏览量

    61199
  • soc
    soc
    +关注

    关注

    38

    文章

    3746

    浏览量

    215695

原文标题:什么是SoC、SOPC、SoC FPGA?用在什么场景?

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    Qt配置Altera SoC FPGA Kit

    Qt配置Altera SoC FPGA Kit 编译器: GCC(Altera SoC) /home/terasic
    发表于 07-03 08:41

    Zynq-7000 SoC提供 FPGA 资源

    ArduZynq 和 TE0726-03M ZynqBerry SBC 中的 Zynq Z-7010 SoCFPGA 容量存在显著差异。虽然所有 Zynq-7000 SoC 都采用双核 Arm
    发表于 08-31 14:43

    SoC设计中遇到的难题急需解决

    SoC设计方案——SoPC(System on a programmable chip)。随着百万门级的FPGA芯片、功能复杂的IP 核和可重构的嵌入式处理器软核的出现,SoPC设计
    发表于 07-12 07:25

    SoC FPGA有哪些作用?

     Altera公司意欲通过更先进的制程工艺和更紧密的产业合作,正逐步强化FPGA协同处理器,大幅提升SoC FPGA的整体性能,为抢攻嵌入式系统市场版图创造更大的差异化优势。随着SoC
    发表于 08-26 07:15

    SoC验证平台的FPGA综合怎么实现?

    先进的设计与仿真验证方法成为SoC设计成功的关键。一个简单可行的SoC验证平台,可以加快SoC系统的开发与验证过程。FPGA器件的主要开发供应商都针对自己的产品推出了
    发表于 10-11 07:07

    ARM、MCU、DSP、FPGASoC的区别是什么

    STM32学习笔记①ARM、MCU、DSP、FPGASoC各是什么?区别是什么?(转)ARM、MCU、DSP、FPGASoC的比较CMSIS标准ARM、MCU、DSP、
    发表于 12-09 07:08

    FPGA SOPC开发简明教程

    FPGA SOPC开发简明教程 FPGA在复杂逻辑电路以及数字信号处理领域中扮演者越来越重要的角色,SOC(片上系统)以其低功耗,高性能,低成本,高可靠性等优点成
    发表于 11-03 16:38 32次下载

    基于FPGASOC系统中的串口设计

    基于FPGASOC 系统中的串口设计 作者:葛锐 欧钢摘要:本文在XILINX FPGA 中采用嵌入式处理器Picoblaze 进行SOC 设计,以较少的
    发表于 02-08 09:48 21次下载

    可编程SoC(SoPC),什么是可编程SoC(SoPC)

    可编程SoC(SoPC),什么是可编程SoC(SoPC) SOPC ( System on a Programmable Chip,片上可
    发表于 03-26 17:01 2354次阅读

    Altera公司SoC FPGA 简介

    本文是关于Altera公司SoC FPGA 的用户手册(英文版) 。文中主要介绍了什么是SoC FPGASoC
    发表于 09-05 14:03 153次下载
    Altera公司<b class='flag-5'>SoC</b> <b class='flag-5'>FPGA</b> 简介

    SOC发展状况是怎样的如何使用FPGA进行SOPC嵌入式系统设计

    简单介绍了SOC 发展状况, 并针对altera 公司FPGA 的解决方案SOPC 进行重点分析, 重点介绍和分析了基于Nios 处理器的关键技术和设计流程以及相关软件。
    发表于 11-02 11:22 6次下载
    <b class='flag-5'>SOC</b>发展状况是怎样的如何使用<b class='flag-5'>FPGA</b>进行<b class='flag-5'>SOPC</b>嵌入式系统设计

    FPGA_soc学习教程:Intel Cyclone V SoC FPGA介绍

    小梅哥最新款FPGA_SOC
    的头像 发表于 05-28 06:09 4053次阅读

    FPGA_soc学习教程:SOC FPGA开发流程简介

    小梅哥最新款FPGA_SOC
    的头像 发表于 08-30 06:10 3619次阅读
    <b class='flag-5'>FPGA_soc</b>学习教程:<b class='flag-5'>SOC</b> <b class='flag-5'>FPGA</b>开发流程简介

    如何对SoC进行手动FPGA分区

    SoC芯片要进行FPGA原型验证,假如设计较大,要将SoC中不同功能模块或者逻辑模块分别分配到特定的FPGA,那么对SoC的分割策略尤为重
    的头像 发表于 04-27 15:17 676次阅读
    如何对<b class='flag-5'>SoC</b>进行手动<b class='flag-5'>FPGA</b>分区

    基于FPGASoC创建方案

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