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资源。
Intel Cyclone SoC FPGA介绍的更多相关文章
- 《FPGA全程进阶---实战演练》第一章之FPGA介绍
1 什么是FPGA FPGA也即是Field Programmable Gate Array的缩写,翻译成中文就是现场可编程门阵列.FPGA是在PAL.GAL.CPLD等可编程器件的基础上发展起来的新 ...
- SoC FPGA开发板的FPGA配置数据下载和固化
小梅哥编写,未经许可,严禁用于任何商业用途 2018年7月2日星期一 soc fpga的烧写和固化方式与传统的纯fpga固化方式即存在形式上的相同,也存在细节上的差异,特整理此文. AC501-So ...
- SoC FPGA JTAG电路设计 要点
JTAG协议制定了一种边界扫描的规范,边界扫描架构提供了有效的测试布局紧凑的PCB板上元件的能力.边界扫描可以在不使用物理测试探针的情况下测试引脚连接,并在器件正常工作的过程中捕获运行数据. SoC ...
- 英特尔Intel® Arria® 10 FPGA加速器设计
英特尔Intel Arria 10 FPGA加速器设计 Introducing the Intel Vision Accelerator Design with Intel Arria 10 FPGA ...
- GPU 、APU、CUDA、TPU、FPGA介绍
购买显卡主要关注:显存.带宽和浮点运算数量 GPU :图形处理器(英语:Graphics Processing Unit,缩写:GPU),又称显示核心.视觉处理器.显示芯片,是一种专门在个人电脑. ...
- intel硬件视频加速介绍
目录 硬件视频加速技术 intel 硬件加速技术 intel 的开源媒体栈 VA-API 安装 样例 Intel Quick Sync(QSV) API支持情况 vaapi/mfx比较 安装 样例 硬 ...
- Altera CYCLONE III FPGA BGA布线
最近在做altera FPGA BGA相关的布线工作,收集了一些资料,公开出来以供大家讨论. 首先是器件引脚,只有弄清楚器件各个引脚的功能才能够进行布线,下面的文档详细描述了每个引脚的功能. 各引脚功 ...
- sobel算法的Soc FPGA实现之框架分析(二)
重点分析一.AXI_VDMA_1 之前一直认为这个就是内含有DDR的ip核(......最近才搞懂是个啥),后来经过对FDMA的分析发现这就是个框架,通AXI总线挂载到bus总线,可以实现PL端FPG ...
- Cyclone IV FPGA 器件笔记
LE(逻辑单元)操作模式 1) 正常模式 2)算术模式 可以看到对于Cy4来说正常模式和算术模式的区别就是正常模式有一个4输入LUT没有cout进位输出,而算术模式有两个3输入LUT有cout进位输出 ...
随机推荐
- Android wm指令用法详解
wm 是查看和设置显示信息的指令,此指令只能临时调试使用. wm:查看 wm 指令信息 $ adb shell root@rk3288:/ # wm wm usage: wm [subcommand] ...
- 【linux】centos6.5搭建svn
1.检查是否已安装 rpm -qa subversion 如果要卸载旧版本: yum remove subversion 2.安装 yum install subversion PS:yum inst ...
- CentOS开机自启动
CentOS 配置的开机自启动. vim /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other ...
- java 查询solr时间格式
solr时间格式是2015-07-06T00:00:00.0Z,所以下面是把当前时间做转换 SimpleDateFormat format = new SimpleDateFormat("y ...
- [置顶]
caffe+CPU︱虚拟机+Ubuntu16.04+CPU+caffe安装笔记
由于虚拟机下的Ubuntu系统一般不包含GPU,故这次安装时为了在无GUP环境下运行caffe.所以只需安装CPU版本的caffe 由于本机是window10系统,所以想尝试caffe就在自己电脑上整 ...
- Windows 远程桌面连接Ubuntu16.04图像界面
1.安装xrdp sudo apt-get install xrdp 2. 安装vnc4server sudo apt-get install vnc4server 3. 安装xubuntu-desk ...
- 6_python之路之atm购物
6_python之路之atm购物 1.程序说明:Readme.cmd supermarket 项目主目录 ├── access.log 日志文件 ├── atm atm程序 │?? ├── atm.p ...
- 在spring中使用quartz配置作业的二种方式
- 《集体智慧编程》第7章代码 Python3执行出错
电子工业出版社,2015年第3版 P153,增加了buildtree函数后执行出错,报错为: ----------------------------------------------------- ...
- ConcurrentHashMap的简单理解
一.效率低下的HashTable容器HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTable的效率非常低下.因为当一个线程访问HashTable的同 ...