查看内容

ya82元宝线上娱乐-FPGA工作原理与简介

现场可编程门阵列的工作原理及简介

本文所指的地址:

如前所述,FPGA是基于PAL、GAL、EPLD、CPLD等可编程器件进一步发展的产物。它作为一种半定制电路出现在ASIC领域,既解决了定制电路的缺点,又克服了原有可编程器件门电路有限的缺点。

由于FPGA需要反复烧录,其实现组合逻辑的基本结构不能像asic一样由固定的与非门来完成,只能采用易于反复配置的结构。查表很能满足这个要求。目前主流FPGA采用基于SRAM技术的查找表结构,部分军用和航天FPGA采用Flash或fuse和反fuse技术的查找表结构。FPGA的重复配置是通过烧录文件来改变查找表的内容来实现的。

根据数字电路的基础知识可以知道,对于nya82元宝在线娱乐的一个逻辑运算,无论是NOR运算还是XOR运算,最多只能有2n个结果。因此,如果事先将相应的结果存储在一个存储单元中,就相当于实现了与非门电路的功能。FPGA也是如此,通过烧录文件来配置查找表的内容,从而在相同的电路条件下实现不同的逻辑功能。

查找表简称LUT,LUT本质上是一个随机存取存储器。目前FPGA多采用4ya82元宝在线娱乐LUT,所以每个LUT都可以看成是一个4位地址线的RAM。用户通过原理图或HDL语言描述一个逻辑电路后,PLD/FPGA开发软件会自动计算出该逻辑电路所有可能的结果,并将真值表(即结果)提前写入ram。这样,每一个带有逻辑运算信号的ya82元宝在线娱乐就相当于一个地址,供ya82元宝在线娱乐查表,找出地址对应的内容,然后输出。

下面给出一个4-与电路的例子来说明LUT实现逻辑功能的原理。

例1-1:给出了利用LUT在4ya82铸锭线上实现娱乐与门电路的真值表。

表1-14ya82元宝在线娱乐和门真值表

可以看出,LUT具有与逻辑电路相同的功能。实际上,LUT的执行速度更快,规模更大。

基于LUT的FPGA集成度高,器件密度从几万到几千万不等,可以完成极其复杂的时序和逻辑组合逻辑电路功能,适用于高速高密度高端数字逻辑电路设计领域。其组件主要包括可编程ya82元宝在线娱乐/输出单元、基本可编程逻辑单元、嵌入式SRAM、丰富的ya82元宝在线娱乐资源、底层嵌入式功能单元、嵌入式专用单元等。主要设计和生产厂家有Xilinx、Altera、Lattice、Actel、Atmel、生石灰逻辑,其中Xilinx、Altera、Lattice最大。

如前所述,FPGA的工作状态是由片上ram设置的,所以工作时需要对片上RAM进行编程。用户可以根据不同的配置模式采用不同的编程方法。现场可编程门阵列有以下配置模式:

并行模式:并行PROM,Flash配置FPGA

主从模式:一个PROM配置多个FPGA

串行模式:串行PROM配置FPGA

外设模式:微处理器外设采用FPGA,由微处理器编程。

目前FPGAs市场占有率最高的两家公司Xilinx和Altera生产的FPGAs都是基于SRAM技术,使用时需要一个外置的片外存储器来保存程序。上电时,FPGA将外部存储器中的数据读入片上RAM,配置完成后进入工作状态;断电后FPGA回复白片,内部逻辑消失。这样,FPGA不仅可以重复使用,还需要通用的EPROM和PROM程序员,而不是专门的FPGA程序员。Actel,生石灰逻辑等公司也提供FPGA反熔丝技术,只能下载一次。它具有抗辐射、耐高低温、低功耗、高速等优点,广泛应用于军事产品和航空航天领域。但是这个FPGA不能反复擦除,开发初期比较麻烦,价格也比较贵。点阵是ISP技术的发明者,在小规模PLD应用中具有一定的特点。早期的Xilinx产品一般不涉及军事和航天市场,但目前QPR-R等很多产品已经进入这个领域。

1.2.2FPGA芯片结构

目前的主流F

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

图1-1FPGA芯片的内部结构

每个模块的功能如下:

1.可编程ya82元宝线上娱乐输出单元(IOB)

可编程ya82元宝线上娱乐/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对ya82元宝线上娱乐/输出信号的驱动与匹配要求,其示意结构如图1-2所示。FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。目前,I/O口的频率也越来越高,一些高端的FPGA通过DDR寄存器技术可以支持高达2Gbps的数据速率。

图1-2典型的IOB内部结构示意图

外部ya82元宝线上娱乐信号可以通过IOB模块的存储单元ya82元宝线上娱乐到FPGA的内部,也可以直接ya82元宝线上娱乐FPGA内部。当外部ya82元宝线上娱乐信号经过IOB模块的存储单元ya82元宝线上娱乐到FPGA内部时,其保持时间(HoldTime)的要求可以降低,通常默认为0。

为了便于管理和适应多种电器标准,FPGA的IOB被划分为若干个组(bank),每个bank的接口标准由其接口电压VCCO决定,一个bank只能有一种VCCO,但不同bank的VCCO可以不同。只有相同电气标准的端口才能连接在一起,VCCO电压相同是接口标准的基本条件。

2.可配置逻辑块(CLB)

CLB是FPGA内的基本逻辑单元。CLB的实际数量和特性会依器件的不同而不同,但是每个CLB都包含一个可配置开关矩阵,此矩阵由4或6个ya82元宝线上娱乐、一些选型电路(多路复用器等)和触发器组成。开关矩阵是高度灵活的,可以对其进行配置以便处理组合逻辑、移位寄存器或RAM。在Xilinx公司的FPGA器件中,CLB由多个(一般为4个或2个)相同的Slice和附加逻辑构成,如图1-3所示。每个CLB模块不仅可以用于实现组合逻辑、时序逻辑,还可以配置为分布式RAM和分布式ROM。

图1-3典型的CLB结构示意图

Slice是Xilinx公司定义的基本逻辑单位,其内部结构如图1-4所示,一个Slice由两个4ya82元宝线上娱乐的函数、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。算术逻辑包括一个异或门(XORG)和一个专用与门(MULTAND),一个异或门可以使一个Slice实现2bit全加操作,专用与门用于提高乘法器的效率;进位逻辑由专用进位信号和函数复用器(MUXC)组成,用于实现快速的算术加减法操作;4ya82元宝线上娱乐函数发生器用于实现4ya82元宝线上娱乐LUT、分布式RAM或16比特移位寄存器(Virtex-5系列芯片的Slice中的两个ya82元宝线上娱乐函数为6ya82元宝线上娱乐,可以实现6ya82元宝线上娱乐LUT或64比特移位寄存器);进位逻辑包括两条快速进位链,用于提高CLB模块的处理速度。

图1-4典型的4ya82元宝线上娱乐Slice结构示意图

3.数字时钟管理模块(DCM)

业内大多数FPGA均提供数字时钟管理(Xilinx的全部FPGA均具有这种特性)。Xilinx推出最先进的FPGA提供数字时钟管理和相位环路锁定。相位环路锁定能够提供精确的时钟综合,且能够降低抖动,并实现过滤功能。

4.嵌入式块RAM(BRAM)

大多数FPGA都具有内嵌的块RAM,这大大拓展了FPGA的应用范围和灵活性。块RAM可被配置为单端口RAM、双端口RAM、内容地址存储器(CAM)以及FIFO等常用存储结构。RAM、FIFO是比较普及的概念,在此就不冗述。CAM存储器在其内部的每个存储单元中都有一个比较逻辑,写入CAM中的数据会和内部的每一个数据进行比较,并返回与端口数据相同的所有数据的地址,因而在路由的地址交换器中有广泛的应用。除了块RAM,还可以将FPGA中的LUT灵活地配置成RAM、ROM和FIFO等结构。在实际应用中,芯片内部块RAM的数量也是选择芯片的一个重要因素。

单片块RAM的容量为18k比特,即位宽为18比特、深度为1024,可以根据需要改变其位宽和深度,但要满足两个原则:首先,修改后的容量(位宽深度)不能大于18k比特;其次,位宽最大不能超过36比特。当然,可以将多片块RAM级联起来形成更大的RAM,此时只受限于芯片内块RAM的数量,而不再受上面两条原则约束。

5.丰富的ya82元宝线上娱乐资源

ya82元宝线上娱乐资源连通FPGA内部的所有单元,而连线的长度和工艺决定着信号在连线上的驱动能力和传输速度。FPGA芯片内部有着丰富的ya82元宝线上娱乐资源,根据工艺、长度、宽度和分布位置的不同而划分为4类不同的类别。第一类是全局ya82元宝线上娱乐资源,用于芯片内部全局时钟和全局复位/置位的ya82元宝线上娱乐;第二类是长线资源,用以完成芯片Bank间的高速信号和第二全局时钟信号的ya82元宝线上娱乐;第三类是短线资源,用于完成基本逻辑单元之间的逻辑互连和ya82元宝线上娱乐;第四类是分布式的ya82元宝线上娱乐资源,用于专有时钟、复位等控制信号线。

在实际中设计者不需要直接选择ya82元宝线上娱乐资源,布局ya82元宝线上娱乐器可自动地根据ya82元宝线上娱乐逻辑网表的拓扑结构和约束条件选择ya82元宝线上娱乐资源来连通各个模块单元。从本质上讲,ya82元宝线上娱乐资源的使用方法和设计的结果有密切、直接的关系。

6.底层内嵌功能单元

内嵌功能模块主要指DLL(DelayLockedLoop)、PLL(PhaseLockedLoop)、DSP和CPU等软处理核(SoftCore)。现在越来越丰富的内嵌功能单元,使得单片FPGA成为了系统级的设计工具,使其具备了软硬件联合设计的能力,逐步向SOC平台过渡。

DLL和PLL具有类似的功能,可以完成时钟高精度、低抖动的倍频和分频,以及占空比调整和移相等功能。Xilinx公司生产的芯片上集成了DLL,Altera公司的芯片集成了PLL,Lattice公司的新型芯片上同时集成了PLL和DLL。PLL和DLL可以通过IP核生成的工具方便地进行管理和配置。DLL的结构如图1-5所示。

图1-5典型的DLL模块示意图

7.内嵌专用硬核

内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理能力强大的硬核(HardCore),等效于ASIC电路。为了提高FPGA性能,芯片生产商在芯片内部集成了一些专用的硬核。例如:为了提高FPGA的乘法速度,主流的FPGA中都集成了专用乘法器;为了适用通信总线与接口标准,很多高端的FPGA内部都集成了串并收发器(SERDES),可以达到数十Gbps的收发速度。

Xilinx公司的高端产品不仅集成了PowerPC系列CPU,还内嵌了DSPCore模块,其相应的系统级设计工具是EDK和PlatformStudio,并依此提出了片上系统(SystemonChip)的概念。通过PowerPC、Miroblaze、Picoblaze等平台,能够开发标准的DSP处理器及其相关应用,达到SOC的开发目的。

1.2.3软核、硬核以及固核的概念

IP(IntelligentProperty)核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。到了SOC阶段,IP核设计已成为ASIC电路设计公司和FPGA提供商的重要任务,也是其实力体现。对于FPGA开发软件,其提供的IP核越丰富,用户的设计就越方便,其市场占用率就越高。目前,IP核已经变成系统设计的基本单元,并作为独立设计成果被交换、转让和销售。

从IP核的提供方式上,通常将其分为软核、硬核和固核这3类。从完成IP核所花费的成本来讲,硬核代价最大;从使用灵活性来讲,软核的可复用使用性最高。

1.软核

软核在EDA设计领域指的是综合之前的寄存器传输级(RTL)模型;具体在FPGA设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局ya82元宝线上娱乐才能使用。其优点是灵活性高、可移植性强,允许用户自配置;缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是IP核应用最广泛的形式。

2.固核

固核在EDA设计领域指的是带有平面规划信息的网表;具体在FPGA设计中可以看做带有布局规划的软核,通常以RTL代码和对应具体工艺网表的混合形式提供。将RTL描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局ya82元宝线上娱乐工具即可使用。和软核相比,固核的设计灵活性稍差,但在可靠性上有较大提高。目前,固核也是IP核的主流形式之一。

3.硬核

硬核在EDA设计领域指经过验证的设计版图;具体在FPGA设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。不能修改的原因有两个:首先是系统设计对各个模块的时序要求很严格,不允许打乱已有的物理版图;其次是保护知识产权的要求,不允许设计人员对其有任何改动。IP硬核的不许修改特点使其复用有一定的困难,因此只能用于某些特定应用,使用范围较窄。