关于FPGA的介绍?
1984年,在硅谷工作的伯尼·冯德施米特(Bernie Vonderschmitt)、罗斯·弗里曼(Ross Freeman)和吉姆·巴尼特(Jim Barnett)产生了一个想法,他们梦想成立一家不同于普通公司的公司。他们希望创建一家公司来开发和引进整个新领域的先进技术。此外,他们还希望以这种方式领导它:在这里工作的人热爱他们的工作,享受他们的工作,并对他们所做的事情着迷。
创造性地引入了“无晶片半导体”公司的概念。2009年2月18日,Ross Freeman因其发明现场可编程门阵列(FPGA)荣登2009年美国发明家名人堂。弗里曼先生的发明是一种完全由“开门”组成的计算机芯片,专利号为4870302。使用这种芯片,工程师可以根据需要进行编程,添加新的功能,满足开发标准或规范的要求,并在设计的最后阶段进行修改。
熟悉PROM、EPROM、E2PROM的人都知道,这些可编程器件的编程原理是通过施加高压或紫外线,改变三极管或MOS管内部的载流子密度,从而实现所谓的可编程性,但这些器件只能编程一次或编程状态难以稳定。另一方面,FPGA采用了逻辑单元阵列(LCA)的新概念,包括
配置逻辑模块CLB(可配置逻辑块)、输出输入模块IOB(输入输出块)和互连。
FPGA的可编程性实际上改变了CLB和IOB的触发器状态,从而可以实现重复编程。由于FPGA需要重复烧写,组合逻辑的基本结构不是asic那样的固定与非门可以完成的,只能是一种易于重复配置的结构。查找表可以很好地满足这一要求。目前主流FPGA采用基于SRAM技术的查找表结构,部分军用和航天FPGA采用Flash或fuse的查找表结构和反熔丝技术。通过烧写文件改变查找表的内容来实现FPGA的重复配置。
根据数字电路的基础知识,我们可以知道,一个n输入的逻辑运算,无论是与非运算还是异或运算,都只有2n种结果。因此,如果预先将相应的结果存储在一个存储单元中,就相当于实现了与非门电路的功能。FPGA的原理也是如此,通过烧文件来配置查找表的内容,从而在相同的电路情况下实现不同的逻辑功能。
查找表简称为LUT,LUT实质上是一个随机存取存储器。目前FPGA中多采用4输入LUT,所以每个LUT都可以看作是一个有4位地址线的RAM。当用户通过原理图或HDL语言描述一个逻辑电路时,PLD/FPGA开发软件会自动计算出该逻辑电路的所有可能结果,并将真值表(即结果)预先写入ram,这样,
每输入一个信号进行逻辑运算,就相当于输入一个地址查表,找出地址对应的内容,然后输出。
从表中可以看出,LUT与逻辑电路具有相同的功能。事实上,LUT的执行速度更快,规模更大。由于基于LUT的FPGA集成度高,器件密度从几万到几千万门不等,可以完成极其复杂的时序和逻辑组合逻辑电路功能,因此适用于高速、高密度的高端数字逻辑电路设计。其组件主要是可编辑的。
I/O单元、基本可编程逻辑单元、嵌入式SRAM、丰富的布线资源、底层嵌入式功能单元、嵌入式专用单元等。主要设计和厂商有Xilinx、Altera、Lattice、Actel、Atmel和QuickLogic,其中最大的是美国的Xilinx。
Si公司在可编程市场上占有50%以上的市场份额,这一份额超过了所有其他竞争对手的市场份额之和。
FPGA的工作状态是由片内ram中存储的程序设置的,所以工作时需要对片内RAM进行编程。用户可以根据不同的配置模式采用不同的编程方法。上电时,FPGA芯片将EPROM中的数据读入片内编程RAM,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复为空白,内部逻辑关系消失,FPGA可以重复使用。FPGA的编程不需要专门的FPGA编程器,只需使用一个通用的EPROM和PROM编程器即可。这样,同样的FPGA,不同的编程数据可以产生不同的电路功能。
因此,FPGA的使用非常灵活。如上所述,FPGA的工作状态是由存储在芯片中的ram设定的,所以工作时需要对片内RAM进行编程。用户可以根据不同的配置模式采用不同的编程方法。Xilinx FPGA有五种常见的配置模式:主串模式、从串模式、电子地图模式、桌面配置和直接SPI配置。
目前FPGA市场占有率最高的两家公司Xilinx公司和Altera公司生产的FPGA都是基于SRAM技术的,使用时需要连接一个片外存储器来保存程序。上电时,FPGA将外部存储器中的数据读入片内RAM,经过配置后进入工作状态。电源故障后,FPGA恢复空白,内部逻辑消失。这样一来,FPGA不仅可以重复使用,还需要一个专门的FPGA编程器,只需要一个通用的EPROM和PROM编程器即可。Actel、QuickLogic等公司也提供反熔丝技术FPGA,具有抗辐射、耐高低温、低功耗、高速等优点,广泛应用于军工产品和航空航天领域。但是这种FPGA不能重复擦除,初期开发麻烦且昂贵。Lattice是ISP技术的发明者,在小规模PLD应用上有一定的特色。早期的Xilinx产品一般不涉及军事和航天市场,但目前已经有很多产品进入这个领域。
FPGA芯片结构目前主流的FPGA还是基于查表技术,已经远远超过了上一版本的基本性能,集成了具有常用功能(如RAM、时钟管理、DSP)的硬核(asic型)模块。其实每个系列的FPGA都有自己的内部结构。FPGA芯片主要由六部分组成,分别是:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入式块RAM、丰富的布线资源、嵌入式底层功能单元和嵌入式专用硬件模块。