天天看點

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原理與結構》第一章 日本 田野英晴主編, 趙謙譯