嵌入式fpga是什么意思_fpga取代嵌入式

数字集成电路有两种类型:ASIC和FPGA(现场可编程门阵列)。专用集成电路(ASIC)有一个预先定义的特定硬件功能,在生产后不能重新编程。但FPGA可以在制造后可无限编程。

嵌入式fpga是什么意思_fpga取代嵌入式

FPGA是一种集成电路,一种可编程芯片,它允许工程师对定制的数字逻辑进行编程,可以根据程序改变其硬件逻辑。主要目的是允许工程师重新设计和重新配置他们的芯片更快,更便宜,只要他们想要,然而世界上没有什么理想的,FPGA芯片也有局限性!

FPGA最早出现于20世纪80年代,其最初的应用是允许工程师拥有通用可编程逻辑芯片。然而,这需要大量的编程才能执行简单的功能,所以工程师们尽量避免使用这些功能。但是,虽然在1980年的FPGA是一个简单的接口设备,主要针对难以用于设计复杂系统的胶水逻辑,但它成为了一个系统级集成电路,具有自己的内存块、微处理器和接口,允许设计重要的系统。

基本特点

1) 采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。

2) FPGA可做其它全定制或半定制ASIC电路的中试样片。

3) FPGA内部有丰富的触发器和I/O引脚。

4) FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。

5) FPGA采用高速CMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

6)使工程师能够精确地构建所需硬件,而不必使用标准集成电路,或花费与ASIC设计相关的时间、成本和风险。

7)与微处理器或微控制器相比,它们以更快、更节能和更简单的方式进行操作。

8)FPGA功能可以像任何其他软件代码一样更新,即使硬件已经离开了生产点。这可以帮助修复bug或添加新特性。

嵌入式fpga是什么意思_fpga取代嵌入式

可以说,FPGA芯片是提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态,因此,工作时需要对片内RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。

CPLD和FPGA

CPLD是复杂可编程逻辑器件,也是一种制造后可重新编程的器件。在这个意义上,它们类似于FPGA。然而,也有显著的差异。FPGA由多个逻辑单元组成,而CPLD由较少的逻辑单元组成。由于它们的尺寸,CPLD通常更便宜和更快。然而,CPLD的功能非常有限,它们不能用于构建复杂的系统,它们通常用于简单的设计,如胶合逻辑。

嵌入式fpga是什么意思_fpga取代嵌入式

各个厂家叫法不尽相同。PLD(Programmable Logic Device)是可编程逻辑器件的总称,早期多EEPROM工艺,基于乘积项结构。FPGA最早由Xilinx公司发明。多为SRAM 工艺,基于查找表(Look Up Table)结构,要外挂配置用的EPROM。Xilinx把SRAM工艺,要外挂配置用的EPROM的PLD叫FPGA,把Flash工艺(类似EEPROM工艺),乘积项结构的PLD叫CPLD;Altera把自己的PLD产品:MAX系列(EEPROM工艺),FLEX/ACEX/APEX系列(SRAM工艺)都叫作CPLD,即复杂PLD(Complex PLD)。

嵌入式fpga是什么意思_fpga取代嵌入式

FPGA的应用

目前FPGA的应用有很多。当我们在生产过程中不确定我们的需求,或者需求会随着时间而改变。FPGA是最快、最便宜的原型制作方法之一,但它并不局限于此。它被用于不同的目的:从灵活的设计和机器学习训练到快速交易和加密挖掘。服务器应用是FPGA设备最新的案例。

嵌入式fpga是什么意思_fpga取代嵌入式

然而,它们也有缺点:

硬件成本

速度要求

FPGA的架构

FPGA由构建块组成,这些构建块就像可以用来构建系统的乐高积木。它有一个基本的逻辑构建块称为逻辑单元(CLB),但也可以包含更大的其他块,如PLL、接口、内存等。单个FPGA芯片将拥有数十万个逻辑单元。除了CLB,芯片还有输出输入模块IOB(Input Output Block)和内部连线(Interconnect)。

嵌入式fpga是什么意思_fpga取代嵌入式

我们有一个查找表(LUT)作为FPGA逻辑块的核心。本质上就是一个RAM。它把数据事先写入RAM后,每当输入一个信号就等于输入一个地址进行查表,找出地址对应的内容,然后输出。构建块的输出是多路复用的。多路复用器的一个输入是LUT的直接输出,用于纯组合逻辑,如NAND, NOR, XOR或其他逻辑门。多路复用器的另一个输入是经过d型触发器并与时钟同步存储的LUT的注册输出。

一个逻辑单元本身是一个简单的电路,不能做太多的事情,但当有很多逻辑单元时,我们可以实现任何我们想要的功能。为了做到这一点,逻辑单元被连接到一个阵列的其他逻辑单元。

嵌入式fpga是什么意思_fpga取代嵌入式

CLB块之间的橙色矩形是可编程开关,它可以将逻辑单元的输出路由到任何地方。这是一个非常简单的图表;事实上,比这里显示的更多的电线和互连线。

注意携带和携带引脚。每个加法器只有一位宽,而使用进位/进位引脚,可以非常快速和有效地创建大的加法器和计数器。拥有快速、专用的携带链是FPGA相对于其他可编程逻辑器件(如CPLD)的最大优势之一。

在FPGA中,时钟可以实现所有触发器,因为没有时钟的数字设计几乎不可想象。FPGA有非常高级的时钟资源,包括内置的可配置PLL(锁相环)和DLL(延迟锁环)。由于几乎所有的现代数字设计都需要多个具有不同频率和相位延迟的时钟,因此时钟管理非常重要。

FPGA也有用于读取和输出数据的输入输出块。除了标准的I/O块,大多数FPGA有以下I/O特性:

触发器输出同步I/O

微分信号

双数据速率(DDR)

序列化器和反序列化器(SERDES)

上拉、下拉和三态I/O

回转速度可调,驱动强度可调

就像内存中内置的RAM块一样,分布式RAM可以在100Kb和100Mb之间变化。最新一代的FPGA设备也有DSP乘法器片,主要用于DSP应用(数字信号处理)。大多数FPGA有其他内置块:

ADC和DAC

外部存储器控制器,如DRAM, DDR, DDR2。

串行总线控制器

以太网MAC

专用的先进先出

高速收发器

这些块在FPGA设备上设计为“硬块”,而不是在制造过程后由逻辑块和开关构建,因为它们通常是所有复杂系统都需要的。因为它们存在于所有的系统中,并且使用得非常频繁,所以我们希望它们能够存在以节省时间(总使用clb和开关从头开始设计它们没有意义,相反我们将它们设计为单独的可配置块,以便设计师能够更改它们的参数),但更重要的是,我们希望它们具有非常好的特性,非常高效地工作并占用更少的空间。此外,这些模块中有一些模拟部件需要手工设计,不能仅通过数字单元来构建。

如何对FPGA进行编程和配置

为了配置FPGA,我们需要对它进行编程。我们可以使用Verilog、System Verilog和VHDL等FPGA硬件描述语言进行编程。这些语言有一些区别,这里便不再赘述。使用FPGA定义硬件的工作流程如下:

嵌入式fpga是什么意思_fpga取代嵌入式

每个步骤都需要一些工具集。大多数FPGA制造商都提供了具备所有所需工具的编程环境。

高手玩家

FPGA市场前景诱人,但是门槛之高在芯片行业里无出其右。全球有60多家公司先后斥资数十亿美元,前赴后继地尝试登顶FPGA高地,其中不乏英特尔、IBM、德州仪器、摩托罗拉、飞利浦、东芝、三星这样的行业巨鳄,但是最终登顶成功的只有位于美国硅谷的四家公司:Xilinx(赛灵思)、Altera、Lattice(莱迪思)、Microsemi,其中,Xilinx与Altera这两家公司共占有近90%的市场份额,专利达到6000余项之多,如此之多的技术专利构成的技术壁垒高不可攀。

嵌入式fpga是什么意思_fpga取代嵌入式

Xilinx

Xilinx公司成立于 1984年,Xilinx首创了现场可编程逻辑阵列(FPGA)这一创新性的技术,并于1985年首次推出商业化产品,是全球领先的可编程逻辑完整解决方案的供应商,也是目前排名第一的FPGA解决方案提供商。

嵌入式fpga是什么意思_fpga取代嵌入式

产品系列包括:

Spartan系列:定位于低端市场,目前最新器件为采用28nm工艺的Spartan7;

Artix系列:定位于低端Spartan和高端Kintex之间的中端市场,目前在售的主流产品为采用28nm工艺的Artix-7;

Kintex系列:定位于高端市场,包含有28nm工艺的Kintex7系列,20nm的Kintex7 Ultrascale系列,还有16nm的Kintex7 Ultrascale+系列;

Virtex系列:定位于高端市场,包含有采用28nm工艺的Virtex7系列,20nm的Virtex7 Ultrascale系列,还有16nm的Virtex7 Ultrascale+系列;

全可编程 SoC 和 MPSoC系列:包括有Zynq-7000和Zynq UltraScale+ MPSoC系列FPGA、内嵌有ARM Cortex系列CPU;

AI Engine系列:Versal ACAP、Alveo系列等。

Intel(Altera)

与Xilinx齐名的FPGA供应商,2015年被CPU届的大佬Intel收购。

产品系列包括:

MAXII系列:实质上是CPLD;

Cyclone系列:定位于中低端市场,类似于Xilinx 公司的Spartan系列和Artix系列,最新产品为Cyclone10。

Stratix系列:定位于高端市场,与Xilinx的Kintex、Virtex系列竞争,最新产品为Stratix10;

Arria系列:SOC系列FPGA, 内置ARM Cotex A9的核;

Intel Arria 10系列:支持DDR4存储器接口的FPGA,硬件设计人员可以使用Quartus II 软件v14.1,在Arria 10 FPGA和SoC设计中实现666 Mbps DDR4存储器数据速率;

Agilex系列:面向数据中心等高端市场,采用10nm工艺,异构 3D 系统级封装 (SiP) 技术的一款FPGA产品。

Microchip(Microsemi)

Microsemi并购了Actel,专注于美国军工和航空领域,产品为反熔丝结构FPGA和基于Flash的FPGA为主,具有抗辐照和可靠性高的优势,Microsemi又被Microchip(微芯)并购。

产品系列包括:

基于FLASH的通用FPGA系列:包括PolarFire Mid-Range FPGAs、RTG4 Radiation-Tolerant FPGAs、IGLOO2 Low-DensityFPGAs三个高、中、低端系列。

Lattice

CPLD的发明者,著名的可编程逻辑解决方案供应商,仅次于Xilinx和Altera。

产品系列包括:

ECP系列:为Lattice自己的开发的FPGA系列,提供低成本,高密度的FPGA解决方案,而且还有高速Serdes等接口,适用于民品解决方案居多;

ICE系列:为收购SilioncBlue的超低功耗FPGA,曾用在iPhone7里面,实现了FPGA首次在消费类产品中应用;

Mach系列:替代CPLD,实现粘合逻辑的最佳选择。

QuickLogic Corp

QuickLogicCorporation 诞生于1988年,是一家超低功耗嵌入式现场可编程门阵列 (eFPGA) IP、多核语音识别 SoC、显示器桥接和可编程序逻辑解决方案开发公司。

eFPGA产品系列包括:采用65nm和40nm工艺的ArcticPro系列和采用GF-22工艺的ArcticPro 2 eFPGA。

Achronix

Achronix 作为后起之秀,早期推出了eFPGA IP,但是限于IP产品的变现速度太慢,随后推出了FPGA芯片,今年5月发布的新品叫Speedater7t。

EFINIX

EFINIX可以说是后起之秀,它改变了传统FPGA的设计理念:

eXchangeable Logic and Routing (XLR) cell

嵌入式fpga是什么意思_fpga取代嵌入式

我们将逻辑资源比作一个城市。随着城市的扩大,就必须建立更宽的道路,道路间要建立不少的立交,而且这些立交的层次都可能很复杂,还需要更多的交通灯,以及匝道来汇聚和分开车流。这些实际上和一块FPGA的结构非常类似,你可以自然联想到,芯片规模越大,就只有两个办法来完成逻辑之间的互联互通。要不就是把走线的资源增加很多层,要不就是把芯片做到更大的面积来增加布线。甚至两个方面都要加强。

传统的FPGA中的运算单元LE(Logic Element)和互连资源Routing Switch在功能上各司其职,而数量和位置都是固定的。因此,如果你的设计中有很多Logic,那么很可能片上的LE不够用,而互连资源会有很多富裕;而如果你的设计中需要很多的连线,比如复杂的总线,大量的Mux,那么很可能互连资源成为瓶颈。

Efinix的想法就是设计一种新的Cell,XLR,它既可以作为运算资源,又可以作为互连资源。

国内主要玩家

嵌入式fpga是什么意思_fpga取代嵌入式


gule logic的中文含意是“胶合逻辑”,它是连接复杂逻辑电路的简单逻辑电路的统称。例如,一个ASIC芯片可能包含许多诸如微处理器、存储器功能块或者通信功能块之类的功能单元,这些功能单元之间通过较少的粘合逻辑连接起来。在印制板(PCB)层,粘合逻辑可以使用具有较少逻辑门的“粘合芯片”实现,例如PAL、GAL、CPLD等。

先进先出(FIFO,first-in,first-out)为处理从队列或堆栈发出的程序工作要求的一种方法,它使最早的要求被最先处理。

本文【嵌入式fpga是什么意思_fpga取代嵌入式】由作者: 乐观锁 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4108.html

(0)
上一篇 2023-03-09 07:27:01
下一篇 2023-03-09 08:03:43

相关推荐

  • 说明线程和进程的区别_多线程和多进程的区别

    首先,从定义开始,先看一下教科书上 进程和线程定义: 进程:资源分配的最小单位。 线程:程序执行的最小单位。 心中默念,啥啥啥,写的这是啥。 1、进程 进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集。从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。 举例说明进程: 想象一位有一手好厨艺的计算机科学家正…

    2023-03-11
    400
  • administrator账户默认密码(怎样取消administrator账户)

    很多用户想要关闭Windows 10 的开机密码,但不知道如何操作,本篇文章教大家如何操作。 方法一:设置 打开电脑左下角的开始菜单,找到齿轮图标,点击进入设置。如下图: 进入设置以后,在弹出的界面里找到帐户。如下图: 点击进入帐户,在弹出的界面左侧找到并点击登录选项,右侧界面会自动切换,在切换的界面里找到密码,点击密码会看到更改。如下图: 点击更改以后,会…

    2023-03-18
    100
  • err23数据错误循环冗余检查

    在平时的工作中,我们常常会拷贝数据,但是在拷贝的过程中却发现提示了数据错误循环冗余检查,那么当你遇到Win7提示数据错误循环冗余检查怎么办?下面可可就来教大家Win7提示数据错误循环冗余检查的解决方法吧! 方法/步骤: 1、比如更新驱动程序等操作,出现数据错误(循环冗余检查)的故障,一般是硬盘读写出错了。 2、如果是光盘、U盘、硬盘拷贝数据出现这样的问题,也…

    2023-03-14
    100
  • 全栈工程师需要掌握哪些知识_全栈工程师需要学多久

    Web前端工程师可能大家知道是干嘛的,你知道Web全栈工程师是什么吗?Web全栈工程师也是前端开发工程师的一种,而且通过前端培训也是能成为Web全栈工程师的。那么,学web前端开发需要多久?Web全栈工程师需要掌握哪些技术呢? Web全栈工程师是什么? Web全栈开发工程师,主要职责是利用 HTML/CSS/Java/DOM/Flash等各种Web技术进行产…

    2023-03-18
    200
  • mysql有哪些数据库引擎

    执行如下指令查看所有mysql所有的存储引擎 InnoDB存储引擎 InnoDB是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键,上图也看到了,InnoDB是默认的MySQL引擎。InnoDB主要特性有: 1、InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事物安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SE…

    2023-03-09
    800
  • linux软件安装在哪个目录

    1、通过rpm查看 1)、查看是否安装,如果安装显示安装的文件,如果没有安装不返回任何值 2)、rpm -ql 列出软件包安装的文件 3)、rpm -qal |grep mysql 查看所有安装包的文件存储位置 rpm 执行安装包 二进制包(Binary)以及源代码包(Source)两种。二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译、安装。…

    2023-03-12
    400
  • acceledent加速器

    近日,Zonff Partners宣布成立Web3创业加速器Aceleap,加速Web3早期创新生态发展。Aceleap首期将主要面向全球优秀的Web3华人创业者,Aceleap的核心优势是基于美元基金的筛选、孵化、赋能体系,以及Zonff Partners Eco的加密生态资源支持。 Aceleap将为创业者带来持续近5个月、总计近40个主题的线上线下同步…

    2023-03-20
    000
  • ps教程零基础(ps入门教程自学图解)

    什么是PS: PS指Photoshop,是由Adobe Systems开发和发行的图像处理软件。 Photoshop的专长在于图像处理,而不是图形创作。图像处理是对已有的位图图像进行编辑加工处理以及运用一些特殊效果,其重点在于对图像的处理加工;图形创作软件是按照自己的构思创意,使用矢量图形来设计图形。 平面设计是Photoshop应用最为广泛的领域,无论是图…

    2023-03-14
    200
  • 函数iserror是什么意思

    小伙伴们好啊,今天咱们一起来认识几个常用函数。 SUM:作用是对数据区域或者手工输入的参数来求和。 例如,要对下图中的可售面积进行求和,公式为: =SUM(C2:C8) COUNTA:作用是统计数据区域中的非空单元格个数。 例如,要在下图中统计物业类型数,公式为: =COUNTA(A2:A8) COUNT:作用是统计数据区域中的数值个数。 例如,要在下图中统…

    2023-03-17
    200
  • ftp站点名称和物理路径,ftp站点怎么设置

    1、点击“开始”菜单,选择“服务器管理器” 2、在接下来弹出页面中选择“添加角色和功能” 3、接下来点击“下一步” 4、接下来选择“基于角色或基于功能的安装”并点击“下一步” 5、选择“从服务器池中选择服务器”并点击“下一步” 6、接下来选中“Web 服务器(IIS)”后会弹出来一个“添加角色和功能向导”的页面,在弹出的页面中选择“添加功能” 7、在第6步完…

    2023-03-19
    000

发表回复

登录后才能评论
返回顶部
错说博客上线啦!