FPGA由哪些部分组成

FPGA由哪些部分组成,第1张

由六个缓备启部分组成:

可编程输入/输出单元(IO)

基本可编程逻辑单元(查找表和寄存器)

完整的时钟管理单元(DCM、PLL)

嵌滚春入式块状RAM

丰富扰如的布线资源

内嵌的底层功能单元和内嵌专用硬件模块(DSP、Serdes)

描述

FPGA的基本组成有:可编程I\O单元、基本可编程逻辑单元、内嵌RAM块、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。

1、可编程I\O单元:

可编程I\O单元通过软件可适配不同的电气标准与物理特性。

2、基本可编程逻辑单元:

基本可编程逻辑单元是FPGA可编程逻辑的主体。FPGA一般是基于SRAM工艺。其基本可编程逻辑单元几乎都是由查找表(LUT,LookUpTable)和寄存器(Register)组成。FPGA内部的LUT一般为4输入,主要完成纯组合逻辑功能。而内部寄存器结构相当灵活,可配置为带同步、异步复位或置位、时钟使能的触发器(FF,FlipFlop),也可配置为锁存器(Latch)。FPGA一般依赖寄存器完成同步时序逻辑设计。

比较经典的基本可编程逻辑单元的配置是一个寄存器和一个查找表。但不同厂商的寄存器和查找表的内部结构有一定差异拍闹,而且寄存器和查找表的组合模式也不同。

(1)Alerta的可编程逻辑单元通常被称为LE(LogicElement,逻辑单元),由一个Register和一个LUT组成。而Altera的大多数FPGA又将10个LE有机组合起来,构成更大的逻辑功能单元——逻辑阵列模块(LAB,LogicArrayBlock),LAB中除了LE还包含LE间的告告进位链、LAB控制信号、局部互连线资源、LUT级联链、寄存器级联链等连线和控制资源。

(2)Xilinx的可编程逻辑单元被称为Slice,由上下两部分组成。每部分都由一个Register和一个LUT组成,被称为LC(LogicCell,逻辑单元),两个LC间有一些共用逻辑。可以完成LC之间的配合与级联。

(3)Lattice的可编程逻辑单元叫PFU(ProgrammableFunctionUnit,可编程功能单元),由8个LUT和8—9个Register组成。

一般使用器件的Register和LUT的数量衡量器件的规模比较准确。

3、内嵌RAM块:

FPGA的内嵌RAM块可以灵活配置为单端口RAM(SPRAM,SinglePortRAM),双端口RAM(DPRAM,DoublePortRAM),伪双端口RAM(PseudoDPRAM),CAM(ContentAddressableMemory),FIFO(FirstInputFirstOutput)等常用存储器结构。

FPGA中没有专用的ROM硬件资源,实现ROM的思路是对RAM赋予初值,并保持该初值。

CAM,即内容地址存储器。CAM这种存储器在其每个存储单元都包含了一个内嵌的比较逻辑,写入CAM的数据会和其内部存储的每一个数袭友罩据进行比较,并返回与端口相同的所有内部数据的地址。

总之,RAM是一种根据地址读、写数据的存储单元,而CAM返回的是与端口数据相匹配的内部地址。

FPGA内部实现RAM、ROM、CAM、FIFO等存储结构是基于内嵌RAM块的,并根据需求自动生成相应的粘合逻辑(GlueLogic)以完成地址和片选等控制逻辑。

Xilinx常见的RAM块大小是4Kbit和18Kbit两种结构,Lattice常用的RAM块大小是9Kbit,Altera的RAM块最为灵活,一些高端器件内部同时含有两种RAM块结构,分别是M9KRAM(9Kbit),M-144K(144Kbit)。

除了RAM外,Altera、Xilinx和Lattice的FPGA还可以灵活的将LUT配置成RAM、ROM、FIFO等存储结构,这种技术被称为分布式RAM(DistributedRAM)。

4、丰富的布线资源

布线资源连通FPGA内部所有单元,连线的长度和工艺决定了信号在连线上的驱动能力和传输速度。有以下三种布线资源可供利用。

(1)全局性的专用布线资源:用来完成器件内部的全局时钟和全局复位\置位的布线。

(2)长线资源:完成器件Bank间的一些高速信号和一些第二全局时钟信号的布线。

(3)短线资源:完成基本逻辑单元之间的逻辑互联和布线。

(4)在基本逻辑单元内部还存在各式各样的布线资源和专用时钟、复位等控制信号线。

5、底层嵌入功能单元

通用程度较高的嵌入功能模块,如PLL(PhaseLockedLoop),DLL(DelayLockedLoop),DSP和CPU等。

Altera芯片集成的是PLL,Xilinx芯片主要集成的是DLL,Lattice的新型FPGA同时集成了PLL与DLL以适应不同的需求。

Altera芯片的PLL模块分为增强型PLL(EnhancedPLL)和快速PLL(FastPLL)。

Xilinx芯片DLL的模块名称为CLKDLL,在高端FPGA中CLKDLL的增强型模块为DCM(DigitalClockManager,数字时钟管理模块)。

6、内嵌专用硬核

内嵌专用硬核的通用性相对较弱,不是所有FPGA器件都包含硬核。

FPGA内部也有两个阵营:一方面是通用性较强,目标市场范围很广,价格适中的FPGA;另一方面是针对性较强,目标市场明确,价格较高的FPGA。

FPGA 是英文Field Programmable Gate Array 的缩写,即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC) 领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。它是当今数字系统设计的主要硬件平台,其主要特点就是完全由用户通过软件进行配置和编程,从而完成某种特定的功能,且可以反复擦写。在修改和升级时,不需额外地改变PCB 电路板,只是在计算机上修改和更新程序,使硬件设计工作成为软件开发工作,缩短了系统设计的周期,提高了实现的灵活性并降低了成本,因此获得了广大硬件工程师的青睐。

1984 年,在硅谷工作的Bernie Vonderschmitt、Ross Freeman 和 Jim Barnett 共同构建了一个设想,他们梦想创立悄滚一家不同于一般的公司。他们希望创建一家在整个新领域内开发和推出先进技术的公司。并且,他们还希望以这种方式领导它:在这里工作的人们热爱他们的工作、享受工作的乐趣,并对他们所从事的工作着迷。

创造性地推出了“无晶圆半导体”公司的概念。2009 年2 月18 日,Ross Freeman 因他的这项发明——现场可编程门阵列 (FPGA) 而荣登2009 美国发明家名人堂。Freeman 先生的发明是一块全部由“开放式门”组成的计算机芯片,其专利号为 4,870,302。采用这种芯片,工程师可以根据需要进行编程,添加新的功能,满足不断发展的标准或规范要求,并可在设计的最后阶段进行修改。

对PROM、EPROM、E2PROM 熟悉的人都知道这些可编程器件的可编程原理是通过加高压或紫外线导致三极管或MOS 管内部的载流子密度发生变化,实现所谓的可编程,但是这些器件或只能启迹余实现单次可编程或编程状态难以稳定。FPGA 则不同,它采用了逻辑单元阵列LCA(Logic Cell Array) 这样一个新概念,内部包括可

配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block) 和内部连线(Interconnect)三个部分。

FPGA 的可编程实际上是改变了CLB 和IOB 的触发器状态,这样,可以实现多次重复的编程由于FPGA 需要被反复烧写,它实现组合逻辑的基本结构不可能像ASIC 那样通过固定的与非门来完成,而只能采用一种易于反复配置的结构。查找表可以很好地满足这一要求,目前主流FPGA 都采用了基于SRAM 工艺的查找表结构,也有一些军品和宇航级FPGA 采用Flash 或者熔丝与反熔丝工艺的查找表结构。通过烧写文件改变查找表内容的方法来实现对FPGA 的重复配置。

根据数字电路的基本知识可以知道,对于一个n 输入的逻辑运算,不管是与或非运算还是异或运算等等,最多只可能存在2n 种结果。所以如果事先将相应的结果存放于一个存贮单元,就相当于实现了与非门电路的功能。FPGA 的原理也是如此,它通过烧写文件去配置查找表的内容,从而在相同的电路情况下实现了不同的逻辑功能。

查找表(Look-Up-Table) 简称为LUT,LUT 本质上就是一个RAM。目前FPGA 中多使用4 输入的LUT,所以每一个LUT 可以看成一个有4 位地址线的 的RAM。 当用户通过原理图或HDL 语言描述了一个逻辑电路以后,PLD/FPGA 开发软件会自动计算逻辑电路的所有可能结果,并把真值表( 即结果) 事先写入RAM,这样,

每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

从表中可以看到,LUT 具有和逻辑电路相同的功能。实际上,LUT 具有更快的执行速度和更大的规模。由于州桐基于LUT 的FPGA 具有很高的集成度,其器件密度从数万门到数千万门不等,可以完成极其复杂的时序与逻辑组合逻辑电路功能,所以适用于高速、高密度的高端数字逻辑电路设计领域。其组成部分主要有可编

程输入/ 输出单元、基本可编程逻辑单元、内嵌SRAM、丰富的布线资源、底层嵌入功能单元、内嵌专用单元等,主要设计和生产厂家有赛灵思、Altera、Lattice、Actel、Atmel 和QuickLogic 等公司,其中最大的是美国赛灵

思公司,占有可编程市场50% 以上的市场份额,比其他所有竞争对手市场份额的总和还多。

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

因此,FPGA 的使用非常灵活。如前所述,FPGA 是由存放在片内的RAM 来设置其工作状态的,因此工作时需要对片内RAM 进行编程。用户可根据不同的配置模式,采用不同的编程方式。Xilinx FPGA 的常用配置模式有5 类:主串模式、从串模式、elect MAP 模式、Desktop 配置和直接SPI 配置。

目前,FPGA 市场占有率最高的两大公司赛灵思公司和Altera 生产的FPGA 都是基于SRAM 工艺的,需要在使用时外接一个片外存储器以保存程序。上电时,FPGA 将外部存储器中的数据读入片内RAM,完成配置后,进入工作状态;掉电后FPGA 恢复为白片,内部逻辑消失。这样FPGA 不仅能反复使用,还无需专门的FPGA编程器,只需通用的EPROM、PROM 编程器即可。Actel、QuickLogic 等公司还提供反熔丝技术的FPGA,具有抗辐射、耐高低温、低功耗和速度快等优点,在军品和航空航天领域中应用较多,但这种FPGA 不能重复擦写,开发初期比较麻烦,费用也比较昂贵。Lattice 是ISP 技术的发明者,在小规模PLD 应用上有一定的特色。早期的赛灵思公司产品一般不涉及军品和宇航级市场,但目前已经有多款产品进入该类领域。

FPGA 芯片结构目前主流的FPGA 仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能( 如RAM、时钟管理和DSP) 的硬核(ASIC 型) 模块。实际上每一个系列的FPGA 都有其相应的内部结构),FPGA 芯片主要由6 部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8199077.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存