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

摘要

FPGA如今在各行各业应用广泛,本文介绍了FPGA如何从几十逻辑门的规模发展成现在的数千万逻辑门的历史,包含FPGA技术的进步与企业的发展,然后说明了与FPGA相关的几个常见名词的含义,包括PLD、CPLD、ROM、SRAM、FLASH等。

关键词:FPGAXilinxCPLDPLD

前言

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摩尔定律
1969IBM发明了PLA(Programmable logic array,可编程逻辑阵列)
1984Xilinx发明了FPGA
1987VHDL成为IEEE标准
1995Verilog成为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
2000s100万~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
2010s2000万(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:

存储器类型说明
ROMRead-Only Memory,只读存储器,通过掩膜工艺将代码和数据永久保存,这种技术成本低但风险大,实际中很少使用
PROMProgrammable ROM,可编程只读存储器,出厂后只允许用户写入一次
EPROMErasable PROM,可擦写可编程只读存储器,用紫外线照射可擦除存储器中的数据,擦除后可再编程。缺点是擦除时间长,还麻烦(要紫外线)
EEPROMElectrically 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原理与结构》,第一章 .

小尾巴

徐晓康的博客持续分享高质量硬件、FPGA与嵌入式知识,软件,工具等内容,欢迎大家关注。
  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值