FPGA是Field Programmable Gate Array的缩写,即现场可编程门阵列。FPGA是20世纪80年代中期出现的一种新型的可编程逻辑器件,其结构不同于基于与或阵列的器件。其最大的特点是可实现现场编程。所谓现场编程是指对于已经焊接在PCB上或正在工作的芯片实现逻辑重构,当然也可在工作一段时间后修改逻辑。除FPGA外,基于GAL系列的ispLSI等在线可编程集成电路都也具有这种功能。
FPGA是Ross Freema于1985年发明的,当时第一个FPGA采用2μm工艺,包含64个逻辑模块和85000个晶体管,门数量不超过1000个,当时他所创造的 FPGA被认为是一项不切实际的技术,他的同事Bill Carter曾说:“这种理念需要很多晶体管,但那时晶体管是非常珍贵的东西。”所以人们认为Ross的想法过于脱离现实。但是Ross预计:根据摩尔定律(每18个月晶体管密度翻一翻),晶体管肯定会越来越便宜,因此它必将成为未来不可或缺的技术。在短短的几年时间内,正如Ross所预言的,出现了数十亿美元的现场可编程门阵列(FPGA)市场。但可惜的是,他已经无法享受这一派欣欣向荣的景象,Ross Freeman在1989年已经与世长辞了,但是它的发明却持续不断地促进电子行业的进步与发展。
我们知道构成数字逻辑系统最基本的单元是与门、或门、非门等,而门电路是由用二极管、三极管和电阻等元件构成的,然后与门、或门、非门又构成了各种触发器实现状态记忆。FPGA同样也属于数字逻辑电路的一种,也是由最基本的元件构成的。一片FPGA可以在内部集成上亿个门电路,打破了以往使用数量繁多分立器件实现电子装置的历史,不仅电路面积、成本大大减小,而且可靠性得到了大幅度的提升。
一般来说,FPGA内部是由最小的物理逻辑单位LE、布线网络、输入输出模块与片内外设组成的,而最小物理逻辑单元是指用户无法修改的、固定的最小单元,设计者只能将这些单元通过互联线将其连接起来,然后实现特定的功能。一个LE是由触发器、LUT与控制逻辑组成的,从而同样可以实现组合逻辑和时序逻辑。
随着FPGA集成度的不断增加,其内部的片内外设也越来越多,可集成SRAM、Flash、AD、RTC等外设,真正用单芯片方案完成系统设计,所以我们所理解的FPGA最底层是一些实实在在的门电路构成的,然后由门电路构成最小的物理逻辑单元,然后再通过布线层将这些最小物理逻辑单元连接成用户需要的特定功能,我们所需要控制的仅仅是布线层之间的互连开关,这也是我们编程的对象,通过这些开关来改变功能。
FGPA按工艺分主要有SRAM工艺和Flash工艺(工艺是针对它们的编程开关来说的)两类,基于SRAM工艺的FPGA最大的缺点是掉电数据会丢失无法保存,所以由FPGA构成的系统,外部还需要增加一个配置芯片用于保存编程数据,在系统每次上电时都需要从配置芯片中将配置数据流加载到FPGA中,然后才能正常地运行,其优点是灵活性很强。而基于Flash架构的FPGA在掉电后不会丢失数据,无需配置芯片,上电即可运行,其特点非常类似ASIC,但却比ASIC更加灵活可以重复编程。由此可见如果用基于Flash架构的FPGA来取代ASIC的话,不仅风险大大降低,而且成本也会大幅度地下降。
FPGA结构
FPGA/CPLD的规模比较大,它可以替代几十甚至几千块通用IC芯片。相当一个子系统部件 。
FPGA/CPLD结构由三大部分组成的。1.一个二维的逻辑块阵列,构成了PLD器件的逻辑组成核心。2.输入/输出块。3.连接逻辑块的可编程内部连线资源。连线资源:由各种长度的连线线段组成,其中有一些可编程的连接开关,它们用于逻辑块之间、逻辑块与输入/输出块之间的连接。
对用户而言,CPLD与FPGA的内部结构稍有不同,但用法一样,所以多数情况下,不加以区分。
用户可以反复编程、擦除、使用或者在外围电路不动的情况下用不同的开发软件在FPGA上实现不同的逻辑功能。
FPGA/CPLD 的应用
随着VlSI工艺的不断提高,单一芯片内部可以容纳上百万个晶体管, FPGA/CPLD芯片的规模也越来越大,其单片逻辑门数已达到上百万门,实现的功能也越来越强,同时也可以实现系统集成。FPGA/CPLD芯片在出厂之前都做过百分之百的测试,不需要设计人员承担投片风险和费用,设计人员只需在自己的实验室里就可以通过相关的软硬件环境来完成芯片的最终功能定义。所以, FPGA/CPLD的资金投入小,节省了许多潜在的花费。用户可以反复地编程、擦除、使用或者在外围电路不动的情况下用不同软件就可实现不同的功能。用FPGA/PLD 试制样片,能以最快的速度占领市场。
FPGA/CPLD软件包中有各种输入工具和仿真工具,及版图设计工具和编程器等全线产品,电路设计人员在很短的时间内就可完成电路的输入、编译、优化、仿真,直至最后芯片的制作。 当电路有少量改动时,更能显示出FPGA/CPLD的优势。电路设计人员使用FPGA/CPLD进行电路设计时,不需要具备专门的IC(集成电路)深层次的知识, FPGA/CPLD软件易学易用,可以使设计人员更能集中精力进行电路设计,快速将产品推向市场。
PLD及IC开发----EDA工具
EDA (Electronic Design Automation)即“电子设计自动化”,是指以计算机为工作平台,以EDA软件为开发环境,以硬件描述语言为设计语言,以可编程器件PLD为实验载体(包括CPLD、FPGA、EPLD等),以集成电路芯片为目标器件的电子产品自动化设计过程。因此,EDA工具在电子系统设计中所占的份量越来越高。下面就介绍一些目前较为流行的EDA工具软件。
1.由半导体公司提供,基本上可以完成从设计输入(原理图或HDL)→仿真→综合→布线→下载到器件等囊括所有PLD开发流程的所有工作。如Altera公司的MaxplusⅡ、QuartusⅡ,Xilinx公司的ISE,Lattice公司的 ispDesignExpert等。其优势是功能全集成化,可以加快动态调试,缩短开发周期;缺点是在综合和仿真环节与专业的软件相比,都不是非常优秀的。
2.EDA软件的功能是对设计输入进行逻辑分析、综合和优化,将硬件描述语句(通常是系统级的行为描述语句)翻译成最基本的与或非门的连接关系(网表),导出给PLD/FPGA厂家的软件进行布局和布线。为了优化结果,在进行较复杂的设计时,基本上都使用这些专业的逻辑综合软件,而不采用厂家提供的集成PLD/FPGA开发工具。如Synplicity公司的Synplify、Synopsys公司的FPGAexpress、FPGA Compiler Ⅱ等。
3.这类软件的功能是对设计进行模拟仿真,包括布局布线(P&R)前的“功能仿真”(也叫“前仿真”)和P&R后的包含了门延时、线延时等的“时序仿真”(也叫“后仿真”)。复杂一些的设计,一般需要使用这些专业的仿真软件。因为同样的设计输入,专业软件的仿真速度比集成环境的速度快得多。此类软件最著名的要算Model Technology公司的Modelsim,Cadence公司的NC-Verilog/NC-VHDL/NC-SIM等。
常用的FPGA开发语言硬件描述语言
硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言。利用这种语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后,利用电子设计自动化(EDA)工具,逐层进行仿真验证,再把其中需要变为实际电路的模块组合,经过自动综合工具转换到门级电路网表。接下去,再用专用集成电路ASIC或现场可编程门阵列FPGA自动布局布线工具,把网表转换为要实现的具体电路布线结构。
1、VHDL: 1995年以前唯一制订为标准的硬件描述语言,不具有晶体管开关级的描述能力和模拟设计的描述能力。目前的看法是,对于特大型的系统级数字电路设计,VHDL是较为合适的。
2、Verilog HDL: 是在1983年,提出了用于快速门级仿真的XL算法。随着Verilog-XL算法的成功,Verilog HDL语言得到迅速发展。基于Verilog HDL的优越性,Verilog有了模拟设计描述的能力。
3、Superlog一种新的系统级硬件描述语言,提供更多级别的硬件综合抽象级,为各种系统级的EDA软件工具所利用。 Superlog是一种具有良好前景的系统级硬件描述语言。
4、SystemC 系统级设计语言,能同时实现较高层次的软件和硬件描述的系统级设计语言,满足SoC的设计要求。
FPGA的发展前景
1、65nm工艺提升FPGA竞争力
65nm器件及提供高性能与低成本的多样化应用平台
FPGA产业的每次重大飞跃都离不开半导体生产工艺的更新,它是半导体业最前沿的生产工艺、更新速度最快。从130nm到90nm再到65nm。生产工艺的不断升级带给FPGA更高的密度、更快的速度、更低的成本。FPGA厂商亦竞争激烈,一方面帮助用户提供更多设计方案,进一步缩小产品尺寸、降低成本与功耗,另一方面为提升FPGA竞争力,拓宽其市场增值空间。FPGA业界双雄争先恐后发布基于65nm的产品系列。Altera发布了Stratix III系列,Xilinx宣布推出第二个系列的VIRTEX-5 LXT。 之后,半导体制造工艺将采用32nm节点,芯片制造商可以制造包含数十亿个晶体管的单芯片产品,采用这种工艺的FPGA会包含一亿个可编程逻辑门,而且FPGA平台会采用创新的封装技术将存储器、模拟混合信号电路、通用接口、传感器、各种I/O集成到一起,这样的FPGA会成为许多电子产品的核心。
2、FPGA向SoC和专用化发展,做为设计通用平台
自1990年来,FPGA的成本降低了500倍、功耗降低了50倍、逻辑容量提高了200倍、速度快了40倍,到2010年,FPGA在价格上降低5倍,容量增大5倍,单位功耗会有多5倍的功能,另外速度还会提升5倍,除了可编程逻辑功能外,FPGA还集成了很多IP硬核,例如最新的PCIe&以太网模块、高速串行收发器、DSP模块以及嵌入式处理器等向SoC发展。这与传统DSP和CPU等处理器的发展方向类似,它们也在片上集成了各种硬件加速器,为特定应用提供更高的性能。FPGA通过把更多硬核集成进去,能够适合更多特定的市场,这是一个趋势,不过和同类方案相比,FPGA是可编程的,继承了很多可编程特性。
除了这种片上集成外,FPGA在未来有另一种革命性的趋势,即利用系统级封装技术(SiP)实现“虚拟SoC”。虚拟SoC可能会在同一个封装中集成传感器阵列、处理器、存储器、通用接口、混合信号和高压I/0等器件,以替代带有固化IP的大芯片。由于是多个裸片,每种器件都可以使用最适合自己的工艺,在降低成本、功耗和体积的同时,保持了高性能。
3、基于FPGA的嵌入式系统EDA平台
Xilinx推出业界应用最广泛设计套件ISE 9.1i
Altera发布Quartus II ,延续效能优势:对于FPGA、CPLD以及结构化ASIC设计,Quartus II是性能和效能首屈一指的设计软件。与高端65nm竞争FPGA相比,Quartus II 软件和Stratix III FPGA现在具有两个速率等级优势,而且编译时间快3倍。
Actel发布Libero IDE v8.1版本,助力便携式设计
4、FPGA迈向设计通用平台,满足多样化需求
FPGA主要向两个方向发展以更好地满足系统要求:高密度/高性能应用和中等密度/成本的敏感型应用。Altera表示,低成本和高性能这两类产品在架构和成本结构上都有独特的要求,低成本产品将挑战目前许多中低密度ASIC应用,而高性能产品将被做得越来越大,超过200万ASIC门,主频速度高于300 MHz。它将挑战高端ASIC和其他系统元器件市场,例如网络处理器及高端DSP处理器。未来Altera将继续开发两种类型的产品,加快向应用市场渗透。 “随着系统复杂度提升与上市时间加快,高性能FPGA的发展趋势是将成为系统核心芯片,系统厂商对FPGA的要求也越来越严格,体现在功耗、性能、易用性和成本等四大方面。这样的FPGA已经演变成一种可编程系统平台。
5、DSP和嵌入式应用成热点
由于在性能和灵活性方面的完美组合,FPGA在DSP领域的应用越来越普遍,诸如通信、多媒体和国防行业等高增长的市场都非常需要高性能的DSP技术。这些市场的特点在于始终处于连续的变化之中,不断变化的标准、市场需求、客户需求以及竞争态势。要跟上市场变化,企业就需要一种强大且灵活的处理器——FPGA就是这种特别适合的技术。FPGA将继续集成更多的DSP硬核,以应对3G、高清安防、高清视频的需求。目前,在Xilinx Virtex5中已经集成了640个DSP slice硬核,可以在550MHz频率下达到352GMAC的性能!未来,FPGA的DSP处理性能会更高!
6、FPGA带来的另一个应用就是可重构系统
(Reconfigurable System),目前这项技术还主要应用在军事和航天领域。目前所使用的嵌入式计算项目描述为“静态”的,它依赖基于固定架构的、已将现有软件性能发挥到极至的硬件驱动型“点方案("point solutions)”。 “静态方式缺乏满足动态任务要求的多样性,其所导致的性能下降或差强人意的匹配处理性能结果将损害我们的战斗力。” 可重构处理器或可重构计算架构是解决这个挑战的关键。
7、FPGA生态系统成形
回顾历史,半导体产业逐步走向细化,70年代的半导体公司包揽了设计的各个环节,到80年代,EDA软件和FPGA兴起,让一部分工作外包,到90年代,再次让芯片制造外包。“大容量大规模高度复杂FPGA的引进使这个产业再次分化,设计实现这个行业又分离出来了,设计实现公司真正要做的就是对设计的特性定义和对系统的定义。现在全球半导体设计公司广泛采用的无生产线(Fabless)模式 , 除了代工厂之外,FPGA开发工具和测试厂商也纷纷推出了相应的产品,促进了FPGA生态系统的形成。
评论
查看更多