您的位置 首页 编程

大咖详谈FPGA,简介、作业原理等

FPGA工作原理与简介如前所述,FPGA是在PAL、GAL、EPLD、CPLD等可编程器件的基础上进一步发展的产物。它是作为ASIC领域中的一种半定制电路而出现的,即解决了定制电路的不足,又克

 FPGA作业原理与简介

  如前所述,FPGA是在PAL、GAL、EPLD、CPLD等可编程器材的基础上进一步开展的产品。它是作为ASIC范畴中的一种半定制电路而呈现的,即处理了定制电路的缺乏,又克服了原有可编程器材门电路有限的缺陷。

  因为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,这样,每输入一个信号进行逻辑运算就等于输入一个地址进行查表,找出地址对应的内容,然后输出即可。

  下面给出一个4与门电路的比如来阐明LUT完结逻辑功用的原理。

  例1-1:给出一个运用LUT完结4输入与门电路的真值表。

  表1-1 4输入与门的真值表

  从中能够看到,LUT具有和逻辑电路相同的功用。实践上,LUT具有更快的履行速度和更大的规划。

  因为依据LUT的FPGA具有很高的集成度,其器材密度从数万门到数千万门不等,能够完结极端杂乱的时序与逻辑组合逻辑电路功用,所以适用于高速、高密度的高端数字逻辑电路规划范畴。其组成部分首要有可编程输入/输出单元、根本可编程逻辑单元、内嵌SRAM、丰厚的布线资源、底层嵌入功用单元、内嵌专用单元等,首要规划和出产厂家有Xilinx、Altera、Lattice、Actel、Atmel和QuickLogic等公司,其间最大的是Xilinx、Altera、Lattice三家。

  如前所述,FPGA是由存放在片内的RAM来设置其作业状况的,因而作业时需求对片内RAM进行编程。用户可依据不同的装备方式,选用不同的编程方法。FPGA有如下几种装备方式:

  并行方式:并行PROM、Flash装备FPGA;

  主从方式:一片PROM装备多片FPGA;

  串行方式:串行PROM装备FPGA;

  外设方式:将FPGA作为微处理器的外设,由微处理器对其编程。

  现在,FPGA商场占有率最高的两大公司Xilinx和Altera出产的FPGA都是依据SRAM工艺的,需求在运用时外接一个片外存储器以保存程序。上电时,FPGA将外部存储器中的数据读入片内RAM,完结装备后,进入作业状况;掉电后FPGA康复为白片,内部逻辑消失。这样FPGA不只能重复运用,还无需专门的FPGA编程器,只需通用的EPROM、PROM编程器即可。Actel、QuickLogic等公司还供给反熔丝技能的FPGA,只能下载一次,具有抗辐射、耐高低温、低功耗和速度快等长处,在军品和航空航天范畴中运用较多,但这种FPGA不能重复擦写,开发初期比较费事,费用也比较贵重。Lattice是ISP技能的发明者,在小规划PLD运用上有必定的特征。前期的Xilinx产品一般不触及军品和宇航级商场,但现在现已有Q Pro-R等多款产品进入该类范畴。

  1.2.2 FPGA芯片结构

  现在干流的FPGA仍是依据查找表技能的,现已远远超出了从前版别的根本功用,而且整合了常用功用(如RAM、时钟办理和DSP)的硬核(ASIC型)模块。如图1-1所示(注:图1-1仅仅一个暗示图,实践上每一个系列的FPGA都有其相应的内部结构),FPGA芯片首要由6部分完结,分别为:可编程输入输出单元、根本可编程逻辑单元、完好的时钟办理、嵌入块式RAM、丰厚的布线资源、内嵌的底层功用单元和内嵌专用硬件模块。

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

  每个模块的功用如下:

  1. 可编程输入输出单元(IOB)

  可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完结不同电气特性下对输入/输出信号的驱动与匹配要求,其暗示结构如图1-2所示。FPGA内的I/O按组分类,每组都能够独立地支撑不同的I/O规范。通过软件的灵敏装备,可适配不同的电气规范与I/O物理特性,能够调整驱动电流的巨细,能够改动上、下拉电阻。现在,I/O口的频率也越来越高,一些高端的FPGA通过DDR寄存器技能能够支撑高达2Gbps的数据速率。

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

  外部输入信号能够通过IOB模块的存储单元输入到FPGA的内部,也能够直接输入FPGA 内部。当外部输入信号通过IOB模块的存储单元输入到FPGA内部时,其坚持时刻(Hold Time)的要求能够下降,一般默以为0。

  为了便于办理和习惯多种电器规范,FPGA的IOB被划分为若干个组(bank),每个bank的接口规范由其接口电压VCCO决议,一个bank只能有一种VCCO,但不同bank的VCCO能够不同。只要相同电气规范的端口才干衔接在一起,VCCO电压相同是接口规范的根本条件。

  2. 可装备逻辑块(CLB)

  CLB是FPGA内的根本逻辑单元。CLB的实践数量和特性会依器材的不同而不同,可是每个CLB都包含一个可装备开关矩阵,此矩阵由4或6个输入、一些选型电路(多路复用器等)和触发器组成。 开关矩阵是高度灵敏的,能够对其进行装备以便处理组合逻辑、移位寄存器或RAM。在Xilinx公司的FPGA器材中,CLB由多个(一般为4个或2个)相同的Slice和附加逻辑构成,如图1-3所示。每个CLB模块不只能够用于完结组合逻辑、时序逻辑,还能够装备为散布式RAM和散布式ROM。

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

  Slice是Xilinx公司界说的根本逻辑单位,其内部结构如图1-4所示,一个Slice由两个4输入的函数、进位逻辑、算术逻辑、存储逻辑和函数复用器组成。算术逻辑包含一个异或门(XORG)和一个专用与门(MULTAND),一个异或门能够使一个Slice完结2bit全加操作,专用与门用于进步乘法器的功率;进位逻辑由专用进位信号和函数复用器(MUXC)组成,用于完结快速的算术加减法操作;4输入函数产生器用于完结4输入LUT、散布式RAM或16比特移位寄存器(Virtex-5系列芯片的Slice中的两个输入函数为6输入,能够完结6输入LUT或64比特移位寄存器);进位逻辑包含两条快速进位链,用于进步CLB模块的处理速度。

  图1-4 典型的4输入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. 丰厚的布线资源

  布线资源连通FPGA内部的一切单元,而连线的长度和工艺决议着信号在连线上的驱动才干和传输速度。FPGA芯片内部有着丰厚的布线资源,依据工艺、长度、宽度和散布方位的不同而划分为4类不同的类别。第一类是大局布线资源,用于芯片内部大局时钟和大局复位/置位的布线;第二类是长线资源,用以完结芯片Bank间的高速信号和第二大局时钟信号的布线;第三类是短线资源,用于完结根本逻辑单元之间的逻辑互连和布线;第四类是散布式的布线资源,用于专有时钟、复位等操控信号线。

  在实践中规划者不需求直接挑选布线资源,布局布线器可主动地依据输入逻辑网表的拓扑结构和束缚条件挑选布线资源来连通各个模块单元。从本质上讲,布线资源的运用方法和规划的效果有亲近、直接的联系。

  6. 底层内嵌功用单元

  内嵌功用模块首要指DLL(Delay Locked Loop)、PLL(Phase Locked Loop)、DSP和CPU等软处理核(Soft Core)。现在越来越丰厚的内嵌功用单元,使得单片FPGA成为了体系级的规划东西,使其具有了软硬件联合规划的才干,逐渐向SOC渠道过渡。

  DLL和PLL具有相似的功用,能够完结时钟高精度、低颤动的倍频和分频,以及占空比调整和移持平功用。Xilinx公司出产的芯片上集成了DLL,Altera公司的芯片集成了PLL,Lattice公司的新式芯片上一起集成了PLL和DLL。PLL 和DLL能够通过IP核生成的东西便利地进行办理和装备。DLL的结构如图1-5所示。

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

  7. 内嵌专用硬核

  内嵌专用硬核是相对底层嵌入的软核而言的,指FPGA处理才干强壮的硬核(Hard Core),等效于ASIC电路。为了进步FPGA功用,芯片出产商在芯片内部集成了一些专用的硬核。例如:为了进步FPGA的乘法速度,干流的FPGA中都集成了专用乘法器;为了适用通讯总线与接口规范,许多高端的FPGA内部都集成了串并收发器(SERDES),能够到达数十Gbps的收发速度。

  Xilinx公司的高端产品不只集成了Power PC系列CPU,还内嵌了DSP Core模块,其相应的体系级规划东西是EDK和Platform Studio,并依此提出了片上体系(System on Chip)的概念。通过PowerPC、Miroblaze、Picoblaze等渠道,能够开发规范的DSP处理器及其相关运用,到达SOC的开发意图。

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

  IP(Intelligent Property)核是具有知识产权核的%&&&&&%芯核总称,是通过重复验证过的、具有特定功用的宏模块,与芯片制作工艺无关,能够移植到不同的半导体工艺中。到了SOC阶段,IP核规划已成为AS%&&&&&%电路规划公司和FPGA供给商的重要任务,也是其实力表现。关于FPGA开发软件,其供给的IP核越丰厚,用户的规划就越便利,其商场占用率就越高。现在,IP核现已变成体系规划的根本单元,并作为独立规划效果被交流、转让和出售。

  从IP核的供给方法上,一般将其分为软核、硬核和固核这3类。从完结IP核所花费的本钱来讲,硬核价值最大;从运用灵敏性来讲,软核的可复用运用性最高。

  1. 软核

  软核在EDA规划范畴指的是归纳之前的寄存器传输级(RTL)模型;详细在FPGA规划中指的是对电路的硬件言语描绘,包含逻辑描绘、网表和协助文档等。软核只通过功用仿真,需求通过归纳以及布局布线才干运用。其长处是灵敏性高、可移植性强,答运用户自装备;缺陷是对模块的猜测性较低,在后续规划中存在产生过错的或许性,有必定的规划危险。软核是IP核运用最广泛的方式。

  2. 固核

  固核在EDA规划范畴指的是带有平面规划信息的网表;详细在FPGA规划中能够看做带有布局规划的软核,一般以RTL代码和对应详细工艺网表的混合方式供给。将RTL描绘结合详细规范单元库进行归纳优化规划,构成门级网表,再通过布局布线东西即可运用。和软核比较,固核的规划灵敏性稍差,但在可靠性上有较大进步。现在,固核也是IP核的干流方式之一。

  3. 硬核

  硬核在EDA规划范畴指通过验证的规划地图;详细在FPGA规划中指布局和工艺固定、通过前端和后端验证的规划,规划人员不能对其修正。不能修正的原因有两个:首要是体系规划对各个模块的时序要求很严厉,不答应打乱已有的物理地图;其次是维护知识产权的要求,不答应规划人员对其有任何改动。IP硬核的不许修正特色使其复用有必定的困难,因而只能用于某些特定运用,运用规模较窄。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/159516.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部