天天看点

FPGA的发展历史及相关名词解释

FPGA全称Field Programmable Gate Array,现场可编辑逻辑门阵列。它以PAL、GAL、CPLD等可编程逻辑器件为技术基础发展而成。相较全定制的ASIC(Application Specific Integrated Circuit,专用集成电路),它是一种半定制芯片,FPGA既弥补了ASIC灵活性不足,又克服原有可编程逻辑组件门电路数有限的缺点。从用户的角度看,它是一种不需要高额费用的可实现随时定制的ASIC,更多介绍可参考:

  1. 百度百科-科普中国 FPGA
  2. 维基百科 现场可编程逻辑门阵列

了解FPGA的发展历史会让我们在做FPGA设计时有一种通透感,也能帮助我们更好的认识FPGA的片上资源,很有必要。

一. 数字逻辑发展史

FPGA的发展基于数字逻辑(包括硬件描述语言)的发展。

数字逻辑发展大事记

时间 事件
1906 三极管
1947 晶闸管
1958 集成电路
1965 摩尔定律
1969 IBM发明了PLA(Programmable logic array,可编程逻辑阵列)
1984 Xilinx发明了FPGA
1987 VHDL成为IEEE标准
1995 Verilog成为IEEE标准

二. FPGA逻辑门规模与企业发展史

FPGA最初是20世纪80年代由Xilinx公司发明的,距今已有三十多年的历史,40多家企业参与其中,下表展示了FPGA的逻辑门规模与企业的发展历史。

年代 最大逻辑门数量 代表器件名 技术特征 代表企业
1970s 几十~几百 FPLA(Filed Programmable Logic Array,现场可编程逻辑阵列) 用户可编程器件,使用了基于熔丝的ROM,只可被写入一次 Signetics(曾属Philips,现属NXP)
PAL(Programmable Array Logic,可编程阵列逻辑) 采用双极性晶体管的高速OR阵列,只可被写入一次 MMI(曾属Vantis,现属Lattice)
1980s 几百 GAL(Generic Array Logic) 采用CMOS实现低功耗,编程器件采用电可擦除/编程的EEPROM,可重复编程但集成度难以做大
几百~几千 FPGA 实现了由可编程逻辑块,连线和I/O单元组成的基本逻辑阵列结构 Xilinx
CPLD(Complex Progeammable Logic Device,复杂可编程逻辑器件) 具有多个AND-OR阵列构造的逻辑块,具有密度高,容量大,速度快的特点

Altera

AMD

Lattice

反熔丝FPGA 容易实现高速电路,具有非易失性,但只能被写入一次

Actel

QuickLogic

1990s 几千~100万 基于SRAM的FPGA 主要有Flex,ORCA,VF1,AT40K等系列

Altera

AT&T

AMD

Atmel

基于Flash的FPGA 采用Flash ROM的FPGA,具有非易失性,可多次擦写 GateField
BiCMOS FPGA 采用BiCOMS工艺高速ECL逻辑的FPGA(DL5000系列) DynaChip
2000s 100万~1500万 百万门级别FPGA,SoPD(System on Progeammable Device) 搭载处理器核心(硬核IP或软核IP),DSP块,多输入逻辑块,高速接口,多平台化

Altera

Xilinx

初创企业FPGA

-超低功耗FPGA

-高速异步FPGA

-动态重配置FPGA

-大规模FPGA

-单体 3D-FPGA

初创企业的技术

-基于低漏电工艺和电流遮断技术的低功耗技术

-基于异步电路的数据令牌传输技术

-基于动态可重配置的虚拟3D化技术

-基于易于扩展的布线结构实现FPGA的大规模化技术

-基于非晶硅Si TFT技术的SRAM(3D化)技术

SiliconBlue

Achronix

Tabula

Abound Logic

Tier Logic

2010s 2000万(28nm)~5000万(20nm)

28nm FPGA

20nm FPGA

16/14nm FinFET FPGA

-新一代SOPD(现在的SoC,System on Chip)

-动态重配置FPGA

-3D-FPGA(2.5D-FPGA)

-车载FPGA

-光FPGA

台积电28nm,20nm,16nm FinFET 3D晶体管技术

Inter的14nm FinFET 3D晶体管技术

-搭载ARM处理器的ZYNQ和Cyclone V SOC

-动态可重配置技术成标配

-连接多个FPGA晶圆的2.5D-FPGA技术

-符合车载AEC-Q100和ISO-26262规格的FPGA

-Vivado高层次综合工具OpenCL

Altera

Xilinx

(垄断产生) 一些小的FPGA公司,如QuickLogic,Atmel等相继推出市场,FPGA行业并购活跃

主要的4家FPGA公司:

-巨头 Xilinx 和 Altera

-老三和老四 Lattice 和 Actel

(大型并购) 面向数据中心和LoT市场的处理器成为主流,FPGA广泛应用于大数据分析,机器学习,虚拟化网络,高性能计算等领域

Microsemi并购Actel

Lattice并购SiliconBlue

Interl并购Altera

三. 几个重要的名词

PLD(Programmable Logic Device,可编程逻辑器件)是包括GAL,FPGA,PAL,CPLD,FPGA等器件在内的所有用户可将设计电路写入芯片的可编程逻辑器件的总称。

SPLD(Simple PLD,简单可编程逻辑器件)是FPLA,PAL,GAL等门数量在1000以下的PLD的统称,区别于后面集成度大的CPLD。

CPLD(Complex PLD,复杂可编程逻辑器件)是指将多个小规模的SPLD作为基本逻辑块,再通过开关连接而成的中大规模PLD,CPLD和SPLD一样都是采用的AND-OR阵列结构,不同的只是规模更大。CPLD逻辑部分的延时和开关部分的延时比较固定,设计较容易,

CPLD与FPGA的差异:不同于CPLD的AND-OR阵列结构,FPGA基于SRAM,通过组合使用器件内大量逻辑块来实现用户所需电路,自由度更高。现在,CPLD不管在集成度和速度上都差FPGA很多,各方面性能都被FPGA吊打,所以现在CPLD的定位是廉价的小规模PLD产品。

SRAM(Static Random-Access Memory,静态随机存储器), 谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。相对之下,动态随机存取存储器(DRAM,Dynamic RAM)里面所储存的数据就需要周期性地更新。断电后,SRAM和DRAM存储的数据都会丢失。 SRAM的基本特点是速度快但昂贵。

ROM,PROM,EPROM,EEPROM,FLASH:

存储器类型 说明
ROM Read-Only Memory,只读存储器,通过掩膜工艺将代码和数据永久保存,这种技术成本低但风险大,实际中很少使用
PROM Programmable ROM,可编程只读存储器,出厂后只允许用户写入一次
EPROM Erasable PROM,可擦写可编程只读存储器,用紫外线照射可擦除存储器中的数据,擦除后可再编程。缺点是擦除时间长,还麻烦(要紫外线)
EEPROM Electrically EPROM,电可擦写可编程只读存储器,使用电信号即可擦除,缺点是重编程时间长,同时可重编程次数较少
FLASH 闪存,EEPROM的改进版,最大特点是必须按块(Block)进行擦除(不同厂家的块规格不同),而EEPROM一次可只擦除一个字节。因为做不到只擦除单个字节,所以FLASH ROM不能替代RAM。优点是速度快,耗电低。

四. FPGA发展总结

FPGA最初由Xilinx公司发明,基本架构由可编程逻辑块、I/O单元和连线构成。区别于专用芯片,FPGA是一种半定制芯片,用户可以将设计电路写入芯片使其完成特定功能。随着芯片制程的发展,FPGA内部逻辑门数量从最初的几百到几千,发展到现在的几千万,FPGA的集成度越来越高;从最初的速度不及CPLD,到1990s后期开始超过CPLD,再到现在全方面碾压CPLD,FPGA的速度越来越快;FPGA内部集成的运算单元从最初的DSP块,到处理器软核,到现在的ARM硬核,FPGA在向着SOC的方向发展,灵活性越来越高。现今,凭借着天生的并行计算能力,灵活性等各种显著优势,FPGA已人工智能,大数据,云计算等领域被广泛应用。

五. 参考

  1. 中国大学慕课中北京化工大学何宾老师课程《EDA原理与应用 》
  2. 《FPGA原理与结构》第一章 日本 田野英晴主编, 赵谦译