現(xiàn)場(chǎng)可編程門陣列 (FPGA) 是數(shù)字IC(集成電路),使硬件設(shè)計(jì)工程師能夠根據(jù)他們的要求對(duì)定制的數(shù)字邏輯進(jìn)行編程。術(shù)語“現(xiàn)場(chǎng)可編程”意味著IC的數(shù)字邏輯在其制造(或制作)期間不是固定的,而是由最終用戶(設(shè)計(jì)人員)編程。
為了提供這種可編程性,F(xiàn)PGA由可配置(或可編程)邏輯塊和這些塊之間的可配置互連組成。FPGA的這種可配置邏輯和互連(路由)使其具有通用性和靈活性,但是,與具有標(biāo)準(zhǔn)單元的類似口徑ASIC相比,它們速度相對(duì)較慢且耗電。
自FPGA進(jìn)入市場(chǎng)以來,已經(jīng)過去了30多年,在這漫長的跨度中,它們經(jīng)歷了巨大的技術(shù)進(jìn)步,并獲得了不斷增長的普及。
需要注意的是,雖然類似于PLD,但PLD(現(xiàn)場(chǎng)可編程門器件)僅限于數(shù)百個(gè)門,而FPGA支持?jǐn)?shù)千個(gè)門。
FPGA組成
通用FPGA由三種類型的模塊組成,分別是:
可編程邏輯單元(或CLB)——負(fù)責(zé)實(shí)現(xiàn)核心邏輯功能。
可編程路由——負(fù)責(zé)連接邏輯塊。
IO塊——通過路由連接到邏輯塊并幫助建立外部連接。
下面是一個(gè)非常廣義的FPGA典型內(nèi)部結(jié)構(gòu)示意圖:
如上圖所示,F(xiàn)PGA的核心由可配置的邏輯單元和可編程的互連組成,這些被許多可編程IO塊包圍,用于與外部世界通信。
1、可編程邏輯單元
基于Xilinx的FPGA中的邏輯塊稱為可配置邏輯塊或CLB,而基于Altera的FPGA中的類似結(jié)構(gòu)稱為邏輯陣列塊或LAB。
CLB是FPGA的基本組件,它提供邏輯和存儲(chǔ)功能。基本邏輯塊可以是晶體管、與非門、多路復(fù)用器、查找表
(LUT)、類似PAL的結(jié)構(gòu)甚至處理器之類的任何東西。Xilinx和Altera都使用基于查找表 (LUT) 的邏輯塊來實(shí)現(xiàn)邏輯和存儲(chǔ)功能。
邏輯塊可以由單個(gè)基本邏輯元件或一組互連的基本邏輯元件組成,其中基本邏輯元件是查找表(又由SRAM和多路復(fù)用器組成)和觸發(fā)器。
具有“n”個(gè)輸入的LUT由2的n次方配置位組成,這些配置位由SRAM
單元實(shí)現(xiàn)。使用這2的n次方個(gè)SRAM位,LUT可以配置為實(shí)現(xiàn)任何邏輯功能。
2、可編程路由
如果計(jì)算功能由邏輯塊提供,則可編程路由網(wǎng)絡(luò)負(fù)責(zé)互連這些邏輯塊。路由網(wǎng)絡(luò)提供一個(gè)邏輯塊與另一個(gè)邏輯塊之間以及邏輯塊和IO塊之間的互連,以完全實(shí)現(xiàn)自定義電路。
基本上,路由網(wǎng)絡(luò)由帶有可編程開關(guān)的連接線組成,可以使用任何編程技術(shù)進(jìn)行配置。基本上有兩種類型的路由架構(gòu),分別是:
島式路由(也稱為網(wǎng)狀路由)
分層路由
在島式路由架構(gòu)中,邏輯塊排列成二維陣列,并使用可編程路由網(wǎng)絡(luò)互連,這種類型的路由廣泛用于商業(yè)FPGA。
另外,許多邏輯塊被限制在一組本地連接中,分層路由架構(gòu)通過將邏輯塊劃分為幾個(gè)組或集群來利用此特性。如果邏輯塊駐留在同一個(gè)集群中,則分層路由將它們連接到較低的層次結(jié)構(gòu)中。
如果邏輯塊駐留在不同的集群中,那么布線是在更高層次的層次上完成的。
基于應(yīng)用的FPGA類型
現(xiàn)場(chǎng)可編程門陣列根據(jù)應(yīng)用分為三類,例如低端FPGA、中端FPGA和高端FPGA。
低端FPGA;這些類型的FPGA專為低功耗、低邏輯密度和每芯片低復(fù)雜性而設(shè)計(jì)。低端FPGA的例子有
Altera的Cyclone系列、Xilinx的Spartan系列、Microsemi的Fusion系列和LatTIce半導(dǎo)體的Mach
XO/ICE40。
中檔
FPGA;這些類型的FPGA是低端和高端FPGA之間的最佳解決方案,它們的開發(fā)是為了在性能和成本之間取得平衡。中端FPGA的例子有Altera的Arria、Xlinix的ArTIx-7/Kintex-7系列、Microsemi的
IGL002以及萊迪思半導(dǎo)體的ECP3和ECP5 系列。
高端FPGA;這些類型的FPGA是為邏輯密度和高性能而開發(fā)的。高端FPGA的例子有Altera的StraTIx系列、Xilinx的Virtex系列、Achronix的Speedster
22i系列和Microsemi的ProASIC3系列。
FPGA編程技術(shù)
FPGA的可重編程架構(gòu)有許多,但負(fù)責(zé)這種可重配置架構(gòu)的最常用的編程技術(shù)有以下幾種:
SRAM
EEPROM/閃存
AnTI-Fuse(反熔絲)
其他技術(shù)包括EPROM和Fusible Link,但它們用于CPLD和其他PLD,不用于FPGA,因此,這里僅介紹限于FPGA相關(guān)的編程技術(shù)。
1、SRAM
眾所周知,有兩種類型的半導(dǎo)體RAM,稱為SRAM和DRAM。SRAM是靜態(tài)RAM的縮寫,而DRAM是動(dòng)態(tài)RAM的縮寫。SRAM是使用晶體管設(shè)計(jì)的,術(shù)語靜態(tài)意味著加載在基本SRAM存儲(chǔ)單元上的值將保持不變,直到故意更改或移除電源時(shí)。
下圖顯示了用于存儲(chǔ)1位的典型6晶體管SRAM單元。
這與由晶體管和電容器組合而成的DRAM形成對(duì)比。術(shù)語“動(dòng)態(tài)”是指加載到基本DRAM存儲(chǔ)單元中的值在電容器充電之前一直有效。隨著電容器隨著時(shí)間的推移失去電荷,存儲(chǔ)單元必須定期充電以保持電荷。
許多FPGA供應(yīng)商在基于SRAM的FPGA中實(shí)現(xiàn)靜態(tài)存儲(chǔ)單元進(jìn)行編程。基于SRAM的FPGA用于對(duì)邏輯單元和互連進(jìn)行編程,并且由于其可重新編程性和使用CMOS技術(shù)而變得相當(dāng)重要,CMOS技術(shù)以其低動(dòng)態(tài)功耗、高速和更緊密的集成而聞名。
2、EEPROM/閃存
與基于SRAM的編程技術(shù)相近的替代方案是基于EEPROM或閃存編程技術(shù)。基于閃存的編程的主要優(yōu)點(diǎn)是其非易失性。盡管閃存支持可重新編程,但與SRAM技術(shù)相比,可重復(fù)編程的次數(shù)非常少。
3、反熔絲
反熔絲編程技術(shù)是一種生產(chǎn)一次性可編程器件的古老技術(shù)。它們是使用稱為反熔絲的鏈接實(shí)現(xiàn)的,該鏈接在未編程狀態(tài)下具有非常高的電阻,可以被認(rèn)為是開路。編程時(shí),向輸入端提供高電壓和電流。因此,最初以非晶硅(基本上是一種電阻非常高的絕緣體)的形式連接兩條金屬軌道的反熔絲通過轉(zhuǎn)化為導(dǎo)電多晶硅而變得具有生命力。
與其它兩種技術(shù)相比,反熔絲技術(shù)占用的空間最少,但僅作為一次性可編程選項(xiàng)提供。
FPGA的應(yīng)用
FPGA在過去十年中獲得了快速增長,因?yàn)樗鼈兛捎糜趶V泛的應(yīng)用。FPGA的具體應(yīng)用包括數(shù)字信號(hào)處理、生物信息學(xué)、設(shè)備控制器、軟件無線電、隨機(jī)邏輯、醫(yī)學(xué)成像、計(jì)算機(jī)硬件仿真、集成多個(gè)SPLD、語音識(shí)別、密碼學(xué)、過濾和通信編碼等等。
而一些更常見的FPGA應(yīng)用包括航空航天和國防、醫(yī)療電子、ASIC原型設(shè)計(jì)、音頻、汽車、廣播、消費(fèi)電子、分布式貨幣系統(tǒng)、數(shù)據(jù)中心、高性能計(jì)算、工業(yè)、科學(xué)儀器、安全系統(tǒng)、視頻和圖像處理,有線通信,無線通信。
總結(jié)
其實(shí)在引入FPGA的早期,它們通常用于實(shí)現(xiàn)中小型復(fù)雜狀態(tài)機(jī)和對(duì)小數(shù)據(jù)的數(shù)據(jù)處理任務(wù)。多年來,隨著其復(fù)雜性和功能的增加,它們已被納入多種汽車、消費(fèi)和工業(yè)應(yīng)用中。
最初,F(xiàn)PGA為ASIC設(shè)計(jì)原型提供了一個(gè)簡(jiǎn)單的選項(xiàng),因?yàn)樗鼈兛梢院苋菀椎刂匦屡渲靡栽谧罱K確定主要設(shè)計(jì)之前測(cè)試和嘗試硬件的多種變體。但它們作為最終產(chǎn)品的功能具有相對(duì)較短的上市時(shí)間和較小的實(shí)施成本,因此它們已被實(shí)施為某些ASIC的直接競(jìng)爭(zhēng)對(duì)手。
隨著FPGA成本的下降,它們成為嵌入式控制應(yīng)用的有力競(jìng)爭(zhēng)者。如今FPGA還可用于實(shí)現(xiàn)任何微控制器的軟核處理器以及自定義IO功能。
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
603050 -
集成電路
+關(guān)注
關(guān)注
5387文章
11536瀏覽量
361676 -
現(xiàn)場(chǎng)可編程門陣列
+關(guān)注
關(guān)注
1文章
20瀏覽量
4729
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論