必威电竞|足球世界杯竞猜平台

FPGA
來源:互聯(lián)網(wǎng)

FPGA是“現(xiàn)場可編程邏輯門陣列(Field-Programmable Gate Array)”的縮寫。它是一種PLD,用戶可通過改變配置信息對其功能進(jìn)行定義,以滿足設(shè)計需求。與ASIC(Application-Specific Integrated Circuit)相比,F(xiàn)PGA具有更高的靈活性和可重構(gòu)性,因此在需要快速開發(fā)、驗證和修改數(shù)字電路的應(yīng)用中得到了廣泛應(yīng)用。

簡介

FPGA是可編程邏輯門陣列(Field-Programmable Gate Array)的縮寫,是一個含有可編輯元件的半導(dǎo)體設(shè)備,可供使用者現(xiàn)在程序化的邏輯門陣列元件。FPGA可以通過編程來實現(xiàn)各種數(shù)字電路,包括微處理器、DSP芯片、數(shù)字信號編解碼器等。FPGA最初是作為ASIC領(lǐng)域中的一種半定制電路而出現(xiàn)的。與定制電路相比,ASIC可以實現(xiàn)更高的性能和更低的功耗,但需要進(jìn)行物理設(shè)計和制造,并且成本較高,生產(chǎn)周期較長。而FPGA既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點。它可以通過編程實現(xiàn)不同的電路功能,具有更高的靈活性和可重構(gòu)性,同時還可以在較短的時間內(nèi)進(jìn)行開發(fā)和生產(chǎn)。因此,F(xiàn)PGA在數(shù)字電路設(shè)計和嵌入式系統(tǒng)開發(fā)中得到了廣泛應(yīng)用。FPGA還可以用于高性能計算圖像處理、通信網(wǎng)絡(luò)處理等領(lǐng)域。

發(fā)展歷史

FPGA的發(fā)展歷史可以追溯到20世紀(jì)80年代初,F(xiàn)PGA的發(fā)展主要分為四個階段,分別為發(fā)明階段、擴(kuò)展階段、積累階段和系統(tǒng)階段。(1)發(fā)明階段(1984-1992):1985年,賽靈思公司(Xilinx)推出的首款FPGA器件XC2064,其僅包含64個邏輯模塊,每個模塊含有兩個3輸入查找表和一個寄存器。雖然容量很小,但是該器件的晶片尺寸非常大,比當(dāng)時的微處理器還要大,而且采用的工藝技術(shù)也勉強(qiáng)能制造出這種器件。該器件只有64個觸發(fā)器,但由于晶片太大,成本高達(dá)數(shù)百美元。此外,該器件的產(chǎn)量對大晶片來說是超線性的,因此晶片尺寸增加5%就會讓成本翻一倍,同時也導(dǎo)致初期的賽靈思無產(chǎn)品可賣。(2)擴(kuò)展階段(1992-1999):FPGA 初創(chuàng)公司是無晶圓廠公司,無法獲得領(lǐng)先的芯片技術(shù)。到上世紀(jì) 90 年代后期,IC代工廠生產(chǎn)晶體管和電線,使得基于 sram 的 FPGA 可以制造。每一代新工藝的出現(xiàn)使晶體管數(shù)量增加一倍,使每功能成本減半,并將最大 FPGA 尺寸增大一倍。CMP 技術(shù)使代工廠在 IC 上堆疊更多金屬層,使 FPGA 廠商可以增加片上互聯(lián),以適應(yīng)更大的 LUT 容量。(3)積累階段(2000-2007):FPGA在新千年成為數(shù)字電路通用組件,容量和設(shè)計尺寸快速增加,并在數(shù)據(jù)通信領(lǐng)域占據(jù)市場。降低成本促使小型研發(fā)團(tuán)隊采用FPGA,而不是風(fēng)險較高的定制芯片。FPGA 廠商通過生產(chǎn)低成本 FPGA 和開發(fā)針對重要功能的軟邏輯庫,來應(yīng)對市場增長挑戰(zhàn)。其中軟邏輯功能包括存儲器控制器、通信協(xié)議模塊和軟微處理器。設(shè)計特點在 2000 年代發(fā)生了改變,設(shè)計者需要考慮系統(tǒng)標(biāo)準(zhǔn)要求并處理通信標(biāo)準(zhǔn),使 FPGA 在計算密集型應(yīng)用中發(fā)揮重要作用。FPGA 已不僅是門陣列,而是集成可編程邏輯的復(fù)雜功能集,成為一個系統(tǒng)。(4)系統(tǒng)時代(2008-至今):FPGA 整合了系統(tǒng)模塊和控制功能,Zynq All-Programmable 器件是很好的例子。同時,工具也在不斷發(fā)展,系統(tǒng) FPGA 需要高效的系統(tǒng)編程語言,如 OpenCL 和 C 語言編程。

基本結(jié)構(gòu)

FPGA的基本結(jié)構(gòu)由可編程邏輯單元(Configurable Logic Block,CLB)、輸入輸出塊(Input/Output Block,IOB)、塊隨機(jī)訪問存儲器模塊(Block Random Access Memory,BRAM)和時鐘管理模塊(Clock Management Module,CMM)等組成。其中,CLB是FPGA中最基本的邏輯單元,由查找表(Look-Up Table,LUT)和觸發(fā)器(Flip-Flop)組成,用于FPGA 中處理數(shù)據(jù)的有序流程,按照電路信號編碼程序的規(guī)則對門電路進(jìn)行優(yōu)化編程。IOB用于連接FPGA芯片和外部電路,負(fù)責(zé)了 FPGA 數(shù)據(jù)信 號收錄、傳輸?shù)淖鳂I(yè)要求。BRAM專用集成電路是服務(wù)于各個行業(yè)控制的應(yīng)用型電路,可以存儲大量的數(shù)據(jù)并支持高速讀寫,針對數(shù)據(jù)端口傳輸?shù)奈恢谩⒋鎯Y(jié)構(gòu)、元件功能等要素,提供一個最穩(wěn)定的邏輯存儲方式。CMM用于管理FPGA芯片內(nèi)部的時鐘信號,可以提高時鐘頻率和減少時鐘抖動。

工作原理

FPGA的最基本邏輯單元是可編程邏輯單元(Configurable Logic Block,CLB),它由查找表(Look-Up Table,LUT)和觸發(fā)器(Flip-Flop)組成,可以實現(xiàn)任意的邏輯功能。LUT可以實現(xiàn)與、或、非、異或等邏輯運(yùn)算。觸發(fā)器用于存儲邏輯電路中的狀態(tài)信息,如寄存器計數(shù)器等。FPGA中的邏輯單元(如CLB)通過可編程的連線(Programmable Interconnect)連接起來,形成任意的數(shù)字電路。FPGA還具有可編程的輸入輸出塊(IOB),用于連接FPGA芯片和外部電路,實現(xiàn)輸入輸出功能。FPGA還具有時鐘管理模塊(Clock Management 模組,CMM),用于管理FPGA芯片內(nèi)部的時鐘信號,包括時鐘分頻、時鐘延遲、時鐘緩沖等功能,以提高時鐘頻率和減少時鐘抖動。FPGA的編程和配置是通過將設(shè)計好的硬件描述語言(Hardware Description Language,HDL)代碼綜合、映射到FPGA芯片中來實現(xiàn)的。設(shè)計者需要使用HDL語言如Verilogvhdl等來描述邏輯電路,并將其綜合、映射到FPGA芯片中。在編程和配置過程中,需要進(jìn)行時序分析、布局布線等操作,最終生成可加載到FPGA芯片中的配置文件。FPGA的編程和配置可以通過不同的方式實現(xiàn),如JTAG接口、USB接口、SD卡等。FPGA還支持在線配置,即在FPGA芯片運(yùn)行時,通過重新配置FPGA芯片中的邏輯單元和連線,實現(xiàn)不同的數(shù)字電路功能。這種在線配置的方式可以大大提高FPGA芯片的靈活性和可重構(gòu)性,適用于需要頻繁修改和更新數(shù)字電路的應(yīng)用。

優(yōu)缺點

優(yōu)點

靈活性高

FPGA具有極高的靈活性,可以根據(jù)需要實現(xiàn)各種數(shù)字電路,包括邏輯電路、存儲器、處理器等,相比于ASIC(應(yīng)用特定集成電路),F(xiàn)PGA不需要進(jìn)行定制化設(shè)計和制造,可以節(jié)省時間和成本。。

可重構(gòu)性強(qiáng)

FPGA可以在運(yùn)行時重新編程,可以通過更改FPGA芯片上的比特流文件實現(xiàn)不同的電路功能。此外,F(xiàn)PAG還具有可編程的連線和輸入輸出塊,這些可編程元素可以根據(jù)需要進(jìn)行重新配置,從而實現(xiàn)不同的邏輯。這種可重構(gòu)性使得FPGA在應(yīng)用中更加靈活,可以適應(yīng)不同的應(yīng)用場景。

高性能

FPGA具有高性能的特點,可以實現(xiàn)高速數(shù)據(jù)處理和復(fù)雜算法運(yùn)算。同時,其硬件結(jié)構(gòu)可以同時處理多個任務(wù),從而提高處理效率。相比于傳統(tǒng)的軟件實現(xiàn),F(xiàn)PGA可以實現(xiàn)更高的并行度和更低的延遲。

低功耗

FPGA可以實現(xiàn)較低的功耗,因為它只實現(xiàn)所需的邏輯電路,而不需要像通用處理器那樣實現(xiàn)不必要的功能。在一些需要低功耗的應(yīng)用場景中,F(xiàn)PGA可以比傳統(tǒng)處理器更加節(jié)能。

缺點

設(shè)計復(fù)雜度高

相對于傳統(tǒng)的軟件開發(fā),F(xiàn)PGA的開發(fā)需要具備硬件設(shè)計和FPGA編程技能,這增加了開發(fā)難度和學(xué)習(xí)成本。此外,由于FPGA硬件是可重構(gòu)的,設(shè)計人員需要對硬件資源的優(yōu)化和利用有更深入的理解,在開發(fā)過程中需要考慮電路的時序、布線等問題,因此設(shè)計過程可能較為繁瑣。

可編程性差

一旦FPGA硬件電路被編程,它們就不能被更改。如果需要修改,只能重新設(shè)計電路并重新編程,這會增加維護(hù)的復(fù)雜度。相比于軟件編程,F(xiàn)PGA 的編程難度較大,需要掌握硬件描述語言(HDL)等專業(yè)知識。

資源有限

盡管FPGA可定制性高,但是相較于專門的處理器,它的資源是有限的。在一些需要大量計算和存儲資源的應(yīng)用中,F(xiàn)PGA的資源可能會不足,例如LUT(查找表)和寄存器數(shù)量等,這可能會限制設(shè)計的復(fù)雜度和性能。

設(shè)計語言

FPAG 的設(shè)計語言通常是硬件描述語言(Hardware Description Language,簡稱HDL),是一種用于描述數(shù)字電路行為和結(jié)構(gòu)的語言。常見的硬件描述語言包括vhdlVerilog。VHDL和Verilog都是基于事件驅(qū)動模型的,可以描述電路的行為和結(jié)構(gòu),并且可以進(jìn)行仿真、綜合、布局和布線等操作,生成最終的FPGA配置文件。這些語言允許設(shè)計者描述模擬電路的行為和性能,從而生成可編程的電路模塊。FPAG 的設(shè)計語言相對于傳統(tǒng)的模擬電路設(shè)計語言而言更加靈活和可擴(kuò)展,因為它們允許設(shè)計者在設(shè)計過程中對電路進(jìn)行快速的原型開發(fā)和測試,并且可以進(jìn)行在線的調(diào)整和優(yōu)化。除了vhdlVerilog以外,其他硬件描述語言如SystemVerilog、SystemC等也在逐漸流行,而且近年來,一些開源的高層次綜合工具也逐漸崛起,如Chisel等,它們提供了一種更為靈活、高效的FPGA設(shè)計方式。

應(yīng)用領(lǐng)域

通信領(lǐng)域

PGA廣泛應(yīng)用于通信領(lǐng)域,如數(shù)字信號處理、協(xié)議轉(zhuǎn)換、解調(diào)、編碼、解碼、信道仿真等。FPGA的靈活性和可重構(gòu)性使得它們在通信系統(tǒng)的設(shè)計和優(yōu)化中具有優(yōu)勢。

嵌入式系統(tǒng)

FPGA可以用于嵌入式系統(tǒng)的設(shè)計和開發(fā),如控制器、數(shù)據(jù)采集器、機(jī)器人控制器、智能家居等。FPGA的低功耗和高性能使得它們在嵌入式系統(tǒng)中具有優(yōu)勢。

高性能計算

FPGA可以用于高性能計算,如加速器、并行處理器、DSP芯片、圖像處理器等。FPGA的高性能和可重構(gòu)性使得它們在高性能計算中具有優(yōu)勢。

人工智能

FPGA可以用于人工智能領(lǐng)域,如卷積神經(jīng)網(wǎng)絡(luò)循環(huán)神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)等。FPGA的高性能和低功耗使得它們在人工智能領(lǐng)域中具有優(yōu)勢。

航空航天

FPGA可以用于航空航天領(lǐng)域,如衛(wèi)星通信、導(dǎo)航、遙感、飛行控制等。FPGA的高可靠性和可重構(gòu)性使得它們在航空航天領(lǐng)域中具有優(yōu)勢。

醫(yī)療設(shè)備

FPGA可以用于醫(yī)療設(shè)備,如醫(yī)療成像、生命監(jiān)測、醫(yī)療診斷等。FPGA的高性能和低功耗使得它們在醫(yī)療設(shè)備中具有優(yōu)勢。

參考資料 >

..2023-04-02

..2023-04-02

..2023-04-02

..2023-05-04

..2023-05-04

..2023-05-04

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-03

..2023-04-19

..2023-04-18

..2023-04-18

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-20

..2023-04-20

..2023-04-19

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-03

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-02

..2023-04-03

..2023-04-02

..2023-04-02

..2023-04-03

生活家百科家居網(wǎng)