Intel Cyclone SoC FPGA介绍

3.1 Intel Cyclone SoC FPGA介绍

3.1.1 SoC FPGA的基本概念

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

3.1.2 SOPC的基本概念

在SoC FPGA技术推出之前,各大FPGA厂家已经推广了有多年的SOPC技术。和SoC FPGA不相同的是,SOPC是在单纯的FPGA芯片上使用FPGA的逻辑和存储器资源搭建一个软核CPU系统,由该软核CPU实现所需处理器的完整功能。由于是使用FPGA的通用逻辑搭建的CPU,因此具有一定的灵活性,用户可以根据自己的需求对CPU进行定制裁剪,增加一些专用功能,例如除法或浮点运算单元,用于提升CPU在某些专用运算方面的性能,或者删除一些在系统里面使用不到的功能,以节约逻辑资源。另外也可以根据用户的实际需求,为CPU添加各种标准或定制的外设,例如UART,SPI,IIC等标准接口外设,同时,用户也可以自己使用FPGA的逻辑资源,编写各种专用的外设,然后连接到CPU总线上,由CPU进行控制,以实现软硬件的协同工作,在保证系统性能的同时,增加了系统的灵活性。而且,如果单个的软核CPU无法满足用户需求,可以添加多个CPU软核,搭建多核系统,通过多核CPU协同工作,让系统拥有更加灵活便捷的控制能力。

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

3.1.3 SOPC与SoC FPGA之间的差异

从架构的角度来说,SOPC和SOPC FPGA是统一的,都是由FPGA部分和处理器部分组成。在SoC FPGA 中,嵌入的是ARM公司的Cortex-A9硬核处理器,简称HPS(Hardware Processor System),而SOPC技术中,嵌入的是NIOS II 软核处理器,两者指令集不一样,处理器性能也不一样。Cortex-A9硬核处理器性能远远高于NIOS II 软核处理器。

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

另外,虽然SoC FPGA芯片上既包含了有ARM,又包含了有FPGA,但是两

者一定程度上是相互独立的,SoC芯片上的ARM处理器核并非是包含于FPGA逻辑单元内部的,FPGA和ARM(HPS)处理器只是封装到同一个芯片中,JTAG接口、电源引脚和外设的接口引脚都是独立的,因此,如果使用SoC FPGA芯片进行设计,即使不使用到片上的ARM处理器,ARM处理器部分占用的芯片资源也无法释放出来,不能用作通用的FPGA资源。而SOPC则是使用FPGA通用逻辑和存储器资源搭建的CPU,当不使用CPU时,CPU部分占用的资源可以被释放,重新用作通用FPGA资源。

原文地址:https://www.cnblogs.com/xiaomeige/p/9256380.html

时间: 2024-11-10 15:55:56

Intel Cyclone SoC FPGA介绍的相关文章

《FPGA全程进阶---实战演练》第一章之FPGA介绍

1 什么是FPGA FPGA也即是Field Programmable Gate Array的缩写,翻译成中文就是现场可编程门阵列.FPGA是在PAL.GAL.CPLD等可编程器件的基础上发展起来的新型高性能产物,是作为专用集成电路(ASIC)领域中的一种半定制电路出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点.图1.1是Altera Cyclone V芯片. 图1.1 Altera Cyclone芯片 说到这里,不得不提ASIC,即专用集成电路(Application

SoC FPGA开发板的FPGA配置数据下载和固化

小梅哥编写,未经许可,严禁用于任何商业用途 2018年7月2日星期一 soc fpga的烧写和固化方式与传统的纯fpga固化方式即存在形式上的相同,也存在细节上的差异,特整理此文. AC501-SoC开发板在上电时能够根据启动设置开关的设置,选择从EPCS或者HPS中启动.具体是通过EPCS还是HPS启动,由一个6位拨码开关通过设置不同的值来决定. 配置方式 MSEL0~4 MSEL5 描述 AS 5'b10110 未使用 FPGA从EPCS配置 FPPx32/ Compression Enab

Intel 80X86寄存器分类介绍(转)

开始读Linux内核相关书籍时,在书店里碰到一个计算机专业科班出身的朋友,向他请教时,他认为学习Linux内核不需要汇编和计算机体系结构等相关的知识.可是结合到现在的学习经历,我却越来越觉得为了搞清楚Linux内核相关设计和运行原理,自己那点自学来的汇编知识不但不够,还大大的需要补充.本文是我今日对微处理器寄存器学习总结所得,主要是翻译自<Intel 微处理器英文第7版>,阅读的过程中我参考了网上可以下载到的该书第六版的中文版和一篇关于寄存器在Visual Stdio 编译器中惯用方法的文章&

x86 构架的 Arduino 开发板Intel Galileo

RobotPeak是上海的一家硬件创业团队,团队致力于民用机器人平台系统.机器人操作系统(ROS)以及相关设备的设计研发,并尝试将日新月异的机器人技术融入人们的日常生活与娱乐当中.同时,RobotPeak 将尽力为机器人技术在开源硬件.开源软件社区的普及做出贡献.陈士凯是 RobotPeak 联合创始人,他给我们带来了最新的  x86 构架的 Arduino 开发板 Intel Galileo 的深度使用报告. 1.前言 在今年(2013)罗马举办的首届欧洲 Make Faire 上,Intel

ASIC、ASSP、SoC和FPGA到底有何区别?

http://www.21ic.com/app/eda/201412/610989.htm 我经常收到关于各类设备之间的差异的问题,诸如ASIC.ASSP.SoC和FPGA之间的区别问题.例如是SoC是ASIC吗?或ASIC是SoC吗?ASIC和ASSP之间的区别是什么?以及高端FPGA应该归类为SoC吗? 这里有几个难题,至少技术和术语随着时间而演变.牢记这一点,对于这些术语的起源以及它们现在的意义是什么,我对此做了高度简化的解释. ASIC——特定应用集成电路 让我们从特定应用集成电路(AS

SOC学习历程概述

从开始接触soc到现在大概有两年半左右的时间了,经历了ORSOC到minsoc再到mkg-soc的搭建,以及现在的大小核系统的搭建 首先先讲下学习的前期需要具备的知识,前面3点是必须,后面3点可以中间学习的过程再学习.之所以有这些要求主要是以防中间的学习过程中,有些东西看不懂而走弯路. 学习的前期准备:1.学过数电,有一定的电路基础.2.熟练掌握verilog语言.3.对于计算机组成原理,体系结构有一定的了解.4.学过单片机编程,写过一些简单的裸机程序,最好能够玩过microblaze这样对于软

FPGA、单片机、DSP、ASIC的区别

https://zhuanlan.zhihu.com/p/21357765 ASIC原本就是专门为某一项功能开发的专用集成芯片,比如你看摄像头里面的芯片,小小的一片,集成度很低,成本很低,可是够用了.一个山寨摄像头卖才卖30块,买一片ARM多少钱?后来ASIC发展了一些,称为半定制专用集成电路,相对来说更接近FPGA,甚至在某些地方,ASIC就是个大概念,FPGA属于ASIC之下的一部分. FPGA基本就是高端的CPLD,两者非常接近.我现在用的是ALTERA DE2开发板的CYCLONE系列F

FPGA基础 之逻辑单元

逻辑单元在FPGA内部,是用于完成用户逻辑的最小单元 逻辑单元在ALTERA叫作(Logic Element, LE )        LE, 在XILINX里叫做LC(LOGIC CELL) 逻辑单元与逻辑阵列 a)         逻辑单元在FPGA内部,用于完成用户逻辑的最小单元.一个逻辑阵列包含16个逻辑单元以及一些其他资源,在一个逻辑阵列内部的16个逻辑单元有更为紧密的联系,可以实现特有的功能. 一个逻辑单元主要由以下部件组成:一个四输入的查询表(LookUpTable,LUT),一个

【转】分享II→IV FPGA本人的几个版本电源模块设计的方案

很多人问我FPGA的电源怎么怎么着,当然也有人瞎忽悠乱设计,当然我的设计也不是很完美...这里把我当年第一次设计FPGA,到现在的电源方案,几个演变.分析的过程,给大家讲讲... (1)FPGA电源方案1 最后我们采用3.3V与1.2V的LDO,由于考虑到板卡3.3V逻辑,因此3.3V耗电量更大.因此选用了电流较大的LM1085,将5V转换为3.3V:接着使用1A的1117-1.2,再将3.3V转换为1.2V..这样对于EP2C8Q208C8N而言,简单的电路实现3.3V与1.2V电源的供电,屡