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原理与结构》第一章 日本 田野英晴主编, 赵谦译

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

  1. 人工智能相关名词解释(参考王万良教授《人工智能导论》以及网络博客)

    人工智能相关名词解释(参考王万良教授<人工智能导论>以及网络博客) 1.机器学习:机器学习是一门多领域交叉学科,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已 ...

  2. 创新创业名词解释_(完整word版)“大众创业万众创新”相关名词解释总汇

    . . "大众创业万众创新"相关名词解释总汇 "大众创业,万众创新"的背景 从国际形势上看, 一方面受国际经济情况不容乐观局面的影 响,世界经济发展放缓,国际经 ...

  3. GWAS相关名词解释及基础知识储备[长期更新]

    转载自GWAS综述(生信文献阅读俱乐部精选) 相关名词解释 Genome-wide association studies(关联分析):扫描遗传标记,通常是单核苷酸多态性(SNPs),使用统计学相关的 ...

  4. 创新创业名词解释_“大众创业万众创新”相关名词解释总汇

    - 1 - "大众创业万众创新"相关名词解释总汇 "大众创业,万众创新"的背景 从国际形势上看, 一方面受国际经济情况不容乐观局面的影 响,世界经济发展放缓,国 ...

  5. 名词解释_写字楼租赁相关名词解释

    对于租赁写字楼的租户来说,那些繁琐的合同是很令人头疼的.有时候连最基础的一些问题还没得到解决,就要面对一堆复杂的文书,会使租赁写字楼的租户开始迟疑.那么在这里我们给大家科普一下关于写字楼租赁你需要知道 ...

  6. 神经网络相关名词解释

    神经网络相关名词解释 这篇文章的目的是把之前概念理解的名词用公式记忆一下. 1. 正则化 1.0 过拟合 这是正则化主要解决的问题. 过拟合现象主要体现在accuracy rate和cost两方面: ...

  7. 虚拟空间,域名解析,A记录,MX记录,CNAME记录,TTL 等 更多Web服务器相关名词解释

    虚拟空间,域名解析,A记录,MX记录,CNAME记录,TTL 等 更多Web服务器相关名词解释 租用空间.网站服务器相关名词解释 什么是域名服务器? 域名服务器(Domain Name Server, ...

  8. 【eMMC学习记录】emmc相关名词解释和基础概念

    名词解释 NAND Flash:半导体闪存 HDD:机械硬盘 FW:固件 Peak Power:峰值功率 Active Power:读写功耗 Idle Power:空闲功耗 standby/sleep ...

  9. 计算机系统结构结构相关名词解释,体系结构复习题

    名词解释: 1.计算机系统结构:计算机体系结构包括指令集结构.计算机组成和计算机 实现三个方面的内容. 2.CISC:CISC是指采用一整套计算机指令进行操作的计算机.而后又出现 了精简指令集计算机, ...

最新文章

  1. 06-hibernate注解-一对多单向外键关联
  2. Go http源码解析(一)
  3. 对文件中的行,单词和字符进行迭代
  4. C语言版iso8583报文拆包组包代码
  5. 从Java直接输出到flume_js生成日志信息及实现java直接调用flume
  6. 2018 年,JavaScript 都经历了什么?
  7. 从华住遭遇“抄袭” 看酒店行业互联网发展现状
  8. 《数字电子技术基础》3.3 CMOS门电路(上)
  9. python timepicker_基于react开发的时间选择组件(TimePicker)
  10. 重要发布全总结丨一文看懂阿里云弹性计算年度峰会
  11. 岁月温柔-3 清明节医院复查,去昆明过冬是否会是一种奢望?
  12. 如何让网站被百度快速收录?如何查询百度收录情况?
  13. 编码 8421BCD 码的故事
  14. 互联网产品的运营指标
  15. 如何智慧的提问(个人笔记)
  16. lpp降维算法matlab,dimension-reduct method 多种降维算法,包括lle,lpp,ltsa matlab 238万源代码下载- www.pudn.com...
  17. C语言 计算x的n次幂
  18. mysql数据库事务的实现原理
  19. BGP在数据中心的应用1——数据中心网络介绍
  20. Android Activity 启动模式详解

热门文章

  1. mathtype中批量修改公式的字号和大小
  2. 如何快速切换静态和动态ip
  3. 输入法画面_搜狗输入法去广告版,流畅再无弹窗打扰
  4. python与人工智能的关系_python和人工智能之间的关系是什么?老男孩Python人工智能...
  5. 【做题】TCSRM601 Div1 500 WinterAndSnowmen——按位考虑dp
  6. set-matrix-zeroes当元素为0则设矩阵内行与列均为0
  7. caffe的python接口学习(2)生成solver文件
  8. Selenium WebDriver- 操作 IFrame 中的页面元素
  9. BAT脚本加防火墙455端口
  10. 【腾讯Bugly干货分享】Android Linker 与 SO 加壳技术