现场可编程逻辑门阵列
现场可编程逻辑门阵列(英语:Field Programmable Gate Array,缩写为FPGA),它以PAL、GAL、CPLD等可编程逻辑器件为技术基础发展而成。作为特殊应用集成电路中的一种半定制电路,它既弥补全定制电路不足,又克服原有可编程逻辑控制器逻辑门数有限的缺点。
概要
目前以硬件描述语言(Verilog或VHDL)描述的逻辑电路,可以利用逻辑合成和布局、布线工具软件,快速地刻录至FPGA上进行测试,这一过程是现代集成电路设计验证的技术主流。这些可编程逻辑组件可以被用来实现一些基本的逻辑门数字电路(比如与门、或门、异或门、非门)或者更复杂一些的组合逻辑功能,比如解码器等。在大多数的FPGA里面,这些可编辑的组件里也包含记忆组件,例如触发器(Flip-flop)或者其他更加完整的记忆块,从而构成时序逻辑电路。
系统设计师可以根据需要,通过可编辑的连接,把FPGA内部的逻辑块连接起来。这就好像一个电路试验板被放在了一个晶片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者的需要而改变,所以FPGA可以完成所需要的逻辑功能。
FPGA一般来说比专用集成电路(ASIC)的速度要慢,无法完成更复杂的设计,并且会消耗更多的电能。但是,FPGA具有很多优点,比如可以快速成品,而且其内部逻辑可以被设计者反复修改,从而改正程序中的错误,此外,使用FPGA进行调试的成本较低。厂商也可能会提供便宜、但是编辑能力有限的FPGA产品。因为这些晶片有的可编辑能力较差,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于专用集成电路的晶片上。在一些技术更新比较快的行业,FPGA几乎是电子系统中的必要部件,因为在大批量供货前,必须迅速抢占市场,这时FPGA方便灵活的优势就显得很重要。
与CPLD的比较
为了达到上述目的,另一种方法是采用复杂可编程逻辑器件(CPLD)而不是FPGA。
早在1980年代中期,FPGA已经在可编程逻辑器件装置中扎根。CPLD和FPGA都包括了一些相对大数量的可以编辑逻辑单元。CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。
CPLD和FPGA的主要区别是他们的系统结构。CPLD的结构具有一定的局限性。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器组成。这样的结果是缺乏编辑灵活性,但是它的优点是,其延迟时间易于预计,逻辑单元对连接单元比率较高。而FPGA具有的连接单元数量很大,这样虽然让它可以更加灵活的编辑,但是结构却复杂得多。
CPLD和FPGA另外一个区别是大多数的FPGA含有高层次的内建模块(比如加法器和乘法器)和内建的存储器。一个由此带来的重要区别是,很多新的FPGA支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些FPGA可以让装置的一部分重新编辑,而其他部分继续正常运行。
基本组成
- 静态随机存取存储器(SRAM) - 基于静态存储器static memory技术。系统内可编程和再程序化(re-programmable)。须要外部启动组件(external boot devices)。 CMOS。
- 反熔丝 - 可刻录一次。通常为CMOS。
- PROM(一次性可编程EPROM) - 可编程只读存储器技术,可刻录一次。使用塑料封装,无窗,不能清除内容。
- EPROM - 可清除可编程只读存储器技术,有窗,经紫外线照射可清除内容。
- EEPROM - 可电气清除可编程只读存储器技术,可用电气信号清除内容。
- 闪存 - 一种特殊的EEPROM。
- 熔丝 - 可刻录一次。通常为双极性的。不能清除内容。
厂商
- Xilinx是全球第一大FPGA供应商,于2022年2月被AMD收购。
- Altera是FPGA的领先厂商,于2016年被Intel收购。
- ACTEL供应Anti-fuse/Flash型的低功耗、混合信号FPGA,单晶片,知名的产品家族有Fusion、PolarFire、IGLOO和ProASIC3。Actel于2010年被Microsemi收购,而Microsemi又于2018年被Microchip收购。
- Lattice Semiconductor提供有SRAM以及非易失、基于flash的FPGA
- Achronix Semiconductor有在开发中非常快的FPGA