除了ZYNQ还有哪些内嵌ARM硬核的FPGA?

简介: 除了ZYNQ还有哪些内嵌ARM硬核的FPGA?

软核和硬核

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


更多介绍可以查看:FPGA硬核和软核处理器的区别


1.Xilinx的ZYNQ-7000系列

Xilinx发明的FPGA颠覆了半导体世界,创立了Fabless(无晶圆厂)的半导体模式。Zynq®-7000 系列集成了 ARM Cortex-A9 处理器,同时具有ARM软件的可编程性FPGA 的硬件可编程性,不仅可实现重要分析与硬件加速,同时还在单个器件上高度集成 CPU、DSP、ASSP 以及混合信号功能


ZYNQ芯片内部框图

640.png

zynq内部框图


准确的说,ZYNQ并不能说是一个嵌入式ARM硬核的FPGA,官方对其称呼是可扩展处理平台。Zynq-7000可扩展处理平台是采用赛灵思新一代FPGA(Artix-7与Kintex-7FPGA)所采用的同一28nm可编程技术的最新产品系列。可编程逻辑可由用户配置,并通过“互连”模块连接在一起,这样可以提供用户自定义的任意逻辑功能,从而扩展处理系统的性能及功能。

640.jpg

ZYNQ开发板


ZYNQ芯片资源主要分为两个部分:PL和PS,PL即可编程逻辑部分,指的是FPGA部分。PS即可编程系统部分,指的是ARM处理器部分,两者之间可以通过总线进行通信。对于一个不熟悉FPGA的嵌入式软件工程师来说,完全可以把它当做ARM MPU来使用,使用例程中搭建好的硬件环境,在SDK中开发。如果在进行软件调试时,发现某些算法太慢,速度上不去,可以用FPGA的逻辑部分把这部分进行优化,一般情况下快个一二十倍是没问题的。从FPGA逻辑部分到ARM软件开发,可以完全在Xilinx自家的开发环境里切换。

640.jpg

ZYNQ开发工具


PYNQ系列是ZYNQ的升级版,简单的理解就是:Python + ZYNQ的意思。至于Python是如何控制硬件的,

640.jpg

pynq


有了Python的加持,可以非常方便的进行FPGA开发,可以充分利用Python的灵活性和FPGA的硬件资源,可以简化图像处理和人工智能的算法设计。

640.png

PYNQ开发板


2.Altera的Cyclone V系列

2015年12月,Intel斥资167亿美元收购了Altera公司 。作为FPGA市场的二把手,既然Xilinx推出了ZYNQ,那Altera也得跟上老大的脚步啊!相比于Xilinx的SoC FPGA系列,Altera的内嵌ARM硬核的FPGA系列就比较多了,这里我整理了一个表格:

640.jpg

Altera的SoC FPGA


Altera® Arria® V GT FPGA开发套件,官方售价$3,995

640.jpg

arria v


整体来看,可能是ZYNQ的生态做得比较好,ZYNQ还是挺多资料的,而Altera的SoC FPGA资料不是很多。


3.Microsemi的SmartFusion系列

FPGA领域,大家比较熟知的就是以上两个厂商了,不过以上两家主流的FPGA都是基于SRAM工艺的,即芯片外部需要搭配一片SPI Flash用于存储程序,这样就会有一个问题,如果只是进行程序下载而没有进行程序固化,就会导致掉电数据丢失的问题,而且由于读写外部器件需要时间,所以上电不能立刻启动。而Microsemi的FPGA都是基于Flash结构的,即芯片内部有Flash可以用于程序存储,不用区分程序下载和程序固化,掉电数据不会丢失,上电立刻启动。Microsemi的主要市场在医疗机构、军工航空、汽车和工业控制领域。


Microsemi大家可能不太熟悉,说到Microsemi,我们不得不提一下它的历史,最开始Microsemi 是做功率电子器件的,Actel是做基于Flash结构FPGA芯片的,2010年,Microsemi收购了Actel,2018年,Microchip又收购了Microsemi,所以现在的第三大FPGA厂商应该是MicroChip。

640.jpg

Microsemi


2019 FPGA市场份额占有率 | 数据来源:MRFR

640.jpg

2019年FPGA市场占比


相比于Xilinx和Altra的FPGA内嵌的ARM Cortex-A系列MPU处理器,Microsemi的FPGA就显得比较LOW了,基于130nm工艺,主要有两个系列SmartFusion和SmartFusion 2,即一代和二代,都是内嵌的ARM Cortex-M3硬核,和STM32内嵌的是同一个内核,外设也都是比较常用的,如UART、SPI、IIC、EPROM、RTC等等。所以这个芯片的使用对于有单片机基础的朋友来说,比较容易上手。FPGA部分和ARM部分相互独立,可以通过APB总线来进行数据交换。ARM开发工具可选择Keil、IAR等常用MCU开发环境。

SmartFusion第一代FPGA内部框图

640.png

SmartFusion芯片框图


总结

可能是Xilinx ZYNQ的生态做得比较好,网络上的工具、文档资料、社区支持、相关书籍支持都很到位,而Altera的资料就不那么好找了。

目录
相关文章
|
1月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器计算架构X86/ARM/GPU/FPGA/ASIC/裸金属/超级计算集群有啥区别?
阿里云服务器ECS提供了多种计算架构,包括X86、ARM、GPU/FPGA/ASIC、弹性裸金属服务器及超级计算集群。X86架构常见且通用,适合大多数应用场景;ARM架构具备低功耗优势,适用于长期运行环境;GPU/FPGA/ASIC则针对深度学习、科学计算、视频处理等高性能需求;弹性裸金属服务器与超级计算集群则分别提供物理机级别的性能和高速RDMA互联,满足高性能计算和大规模训练需求。
|
6月前
|
存储 机器学习/深度学习 并行计算
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别,本文主要简单介绍下不同类型的云服务器有何不同,主要特点及适用场景有哪些。
阿里云服务器X86计算、Arm计算、GPU/FPGA/ASIC、高性能计算架构区别
|
机器学习/深度学习 存储 弹性计算
阿里云服务器X86计算、ARM计算、GPU/FPGA/ASIC等架构区别及选择参考
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、超级计算集群之分,很多初次接触阿里云服务器的用户并不知道他们之间有何区别,本文来介绍一下阿里云服务器各个架构的特点及适用场景,以供大家了解他们之间的区别,从而对选择哪种架构做一个参考。
1377 2
阿里云服务器X86计算、ARM计算、GPU/FPGA/ASIC等架构区别及选择参考
|
存储 数据采集 Linux
基于Xines广州星嵌OMAPL138 DSP+ARM+FPGA无人机避障系统
Xines广州星嵌OMAPL138 DSP+ARM+FPGA无人机避障系统方案:前端由FPGA采集数据,通过uPP或EMIF总线传输至DSP;数据被DSP处理之后,被送往ARM,用于应用界面开发、网络转发、SATA硬盘存储等应用;OMAP-L138的DSP或者ARM根据处理结果,将得到的逻辑控制命令送往FPGA,由FPGA控制板载DA实现逻辑输出。
|
测试技术 异构计算
Xines广州星嵌全新FPGA开发板—OMAPL138/C6748 DSP+ARM+FPGA
基于广州星嵌TI OMAP-L138(浮点DSP C6748+ARM9) +Xilinx Spartan-6 FPGA工业核心板
|
机器学习/深度学习 弹性计算 编解码
阿里云ECS服务器ARM计算和GPU/FPGA/ASIC有什么区别?
阿里云ECS服务器ARM计算和GPU/FPGA/ASIC有什么区别?阿里云服务器架构有什么区别?X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、超级计算集群有什么区别?阿里云服务器网分享云服务器ECS架构详细说明
209 1
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器架构X86、ARM、GPU/FPGA、裸金属、超级计算详解
阿里云服务器架构X86计算_ARM_GPU/FPGA/ASIC_裸金属_超级计算集群
365 0
|
9天前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的1024QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的1024QAM调制解调系统的仿真与实现。通过Vivado 2019.2进行仿真,分别在SNR=40dB和35dB下验证了算法效果,并将数据导入Matlab生成星座图。1024QAM调制将10比特映射到复数平面上的1024个星座点之一,适用于高数据传输速率的应用。系统包含数据接口、串并转换、星座映射、调制器、解调器等模块。Verilog核心程序实现了调制、加噪声信道和解调过程,并统计误码率。
28 1
|
30天前
|
算法 数据安全/隐私保护 异构计算
基于FPGA的64QAM基带通信系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不同SNR
本文介绍了基于FPGA的64QAM调制解调通信系统的设计与实现,包括信号生成、调制、解调和误码率测试。系统在Vivado 2019.2中进行了仿真,通过设置不同SNR值(15、20、25)验证了系统的性能,并展示了相应的星座图。核心程序使用Verilog语言编写,加入了信道噪声模块和误码率统计功能,提升了仿真效率。
44 4
|
30天前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。