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

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

3天内不再提示

SOPC和SoC FPGA的区别

FPGA之家 来源:FPGA之家 作者:FPGA之家 2022-10-17 10:24 次阅读

软核处理器

SOPC技术,即软核处理器,最早是由Altera公司提出来的,它是基于FPGA的SOC片上系统设计技术。是使用FPGA的逻辑和资源搭建的一个软核CPU系统,由于是使用FPGA的通用逻辑搭建的CPU,因此具有一定的灵活性,用户可以根据自己的需求对CPU进行定制裁剪,增加一些专用功能,例如除法或浮点运算单元,用于提升CPU在某些专用运算方面的性能,或者删除一些在系统里面使用不到的功能,以节约逻辑资源。

另外也可以根据用户的实际需求,为CPU添加各种标准或定制的外设,例如UART,SPI,IIC等标准接口外设,同时,用户也可以自己使用FPGA的逻辑资源,编写各种专用的外设,然后连接到CPU总线上,由CPU进行控制,以实现软硬件的协同工作,在保证系统性能的同时,增加了系统的灵活性。

而且,如果单个的软核CPU无法满足用户需求,可以添加多个CPU软核,搭建多核系统,通过多核CPU协同工作,让系统拥有更加灵活便捷的控制能力。

由于是使用FPGA资源实现的,所以具有很大的灵活性,可以实现根据需要实现多种处理器,如8051,RISC-V,Xilinx的 MicroBlaze ,Altera的Nios-II等等。

硬核处理器

由于软核CPU是使用FPGA的通用逻辑资源搭建的,相较使用经过布局布线优化的硬核处理器来说,软核处理器够运行的最高实时钟主频要低一些,而且也会相应的消耗较多的FPGA逻辑资源以及片上存储器资源,因此SOPC方案仅适用于对于数处理器整体性能要求不高的应用,例如整个系统的初始化配置,人机交互,多个功能模块间的协调控制等功能。

所以,各大FPGA厂家推出了SoC FPGA技术,是在芯片设计之初,就在内部的硬件电路上添加了硬核处理器,是纯硬件实现的,不会消耗FPGA的逻辑资源,硬核处理器和FPGA逻辑在一定程度上是相互独立的,简单的说,就是SoC FPGA就是把一块ARM处理器和一块FPGA芯片封装成了一个芯片。

例如比较有名的Xilinx的ZYNQ/PYNQ系列集成ARM Cortex-A9处理器,同时具有ARM软件的可编程FPGA 的硬件可编程性,不仅可实现重要分析与硬件加速,同时还在单个器件上高度集成CPU、DSP、ASSP 以及混合信号功能

Intel的Cyclone V系列,集成双核Cortex-A9,于2013年发布,在单一芯片上集成了双核的ARM Cortex-A9处理器和FPGA逻辑资源的新型SoC芯片,相较于传统的单一ARM处理器或FPGA芯片,它既拥有了ARM处理器灵活高效的数据运算和事务处理能力,同时又集成了FPGA的高速并行处理优势,同时,基于两者独特的片上互联结构,使用时可以将FPGA上的通用逻辑资源经过配置,映射为ARM处理器的一个或多个具有特定功能的外设,通过高达128位宽的AXI高速总线进行通信,完成数据和控制命令的交互。由于片上的ARM处理器是经过布局布线的硬线逻辑,因此其能工作的时钟主频较高,因此单位时间内能够执行的指令也更多。

区别和联系

从架构的角度来说,SOPC和SoC FPGA是统一的,都是由FPGA部分和处理器部分组成。在SoC FPGA 中,嵌入的是纯硬件基础的硬核处理器,简称HPS(Hardware Processor System),而SOPC技术中,嵌入的是使用FPGA逻辑资源实现的软核处理器,两者指令集不一样,处理器性能也不一样。

一般来说,硬核处理器的性能要远远高于软核处理器。另外,硬核处理器除了CPU部分,还集成了各种高性能外设,如MMU、DDR3控制器、Nand FLASH控制器等,可以运行成熟的Linux操作系统和应用程序,提供统一的系统API,降低开发者的软件开发难度。而软核CPU虽然可以通过配置,用逻辑资源来搭建相应的控制器以支持相应功能,但是从性能和开发难度上来说,基于SoC FPGA架构进行设计开发是比较好的选择。

ZYNQ内部框图

c9d5c756-4ced-11ed-a3b6-dac502259ad0.pngZYNQ框图

另外,虽然SoC FPGA芯片上既包含了有ARM,又包含了有FPGA,但是两者一定程度上是相互独立的,SoC芯片上的ARM处理器核并非是包含于FPGA逻辑单元内部的,FPGA和ARM(HPS)处理器只是封装到同一个芯片中,JTAG接口、电源引脚和外设的接口引脚都是独立的,因此,如果使用SoC FPGA芯片进行设计,即使不使用到片上的ARM处理器,ARM处理器部分占用的芯片资源也无法释放出来,不能用作通用的FPGA资源。

而SOPC则是使用FPGA通用逻辑和存储器资源搭建的CPU,当不使用CPU时,CPU部分占用的资源可以被释放,重新用作通用FPGA资源。

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

    关注

    1625

    文章

    21655

    浏览量

    601540
  • sopc
    +关注

    关注

    2

    文章

    247

    浏览量

    61987
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10817

    浏览量

    211017
  • soc
    soc
    +关注

    关注

    38

    文章

    4114

    浏览量

    217858
  • SoC FPGA
    +关注

    关注

    3

    文章

    17

    浏览量

    40805

原文标题:FPGA硬核和软核处理器的区别

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    FPGA SOPC开发快速教程

    FPGA SOPC开发快速教程
    发表于 08-07 21:43

    SOPC FPGA开发经典教程

    SOPC FPGA开发经典教程
    发表于 08-09 11:08

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

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

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

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

    FPGA/SOPC开发快速入门教程

    FPGA/SOPC开发快速入门教程
    发表于 08-06 16:56 79次下载
    <b class='flag-5'>FPGA</b>/<b class='flag-5'>SOPC</b>开发快速入门教程

    FPGA SOPC开发简明教程

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

    FPGA_SOPC快速开发教程

    FPGA_SOPC快速开发教程
    发表于 11-01 16:52 73次下载
    <b class='flag-5'>FPGA_SOPC</b>快速开发教程

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

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

    基于SoPCFPGA在线测试方法

    本文提出了一种基于SoPCFPGA在线测试方法,是对现有FPGA在线测试方法的一种有效的补充。
    发表于 04-18 11:46 1284次阅读
    基于<b class='flag-5'>SoPC</b>的<b class='flag-5'>FPGA</b>在线测试方法

    ASIC、ASSP、SoCFPGA之间到底有何区别

    我经常收到关于各类设备之间的差异的问题,诸如ASIC、ASSP、SoCFPGA之间的区别问题。例如是SoC是ASIC吗?或ASIC是SoC
    发表于 07-17 09:42 4.3w次阅读

    ARM,DSP,FPGA,CPLD,SOPC,SOC区别 FPGA与CPLD的区别详解

    ARM,DSP,FPGA,CPLD,SOPC,SOC之间有什么区别和联系 arm是一种嵌入式芯片,比单片机功能强,可以针对需要增加外设。类似于通用cpu,但是不包括桌面计算机。 DSP
    发表于 04-18 07:19 4824次阅读

    SOPCFPGA的介绍和基础实验的详细资料概述

    本文档的主要内容详细介绍的是SOPCFPGA的介绍和基础实验的详细资料概述包括了:FPGA基础实验一FPGA实现按键控制LED,FPGA
    发表于 06-19 08:00 15次下载
    <b class='flag-5'>SOPC</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>嵌入式系统设计

    什么是SoCSOPCSoC FPGA?用在什么场景?

    ,先了解一下SoC FPGA是什么,相对于SOPCSoC有什么优缺点,甚至常用在什么场景中还是比较轻松的,这些知识能对SoC
    的头像 发表于 03-30 10:13 9651次阅读

    fpga芯片和soc芯片的区别

    FPGA芯片和SoC芯片在多个方面存在显著的区别
    的头像 发表于 03-14 17:28 2783次阅读