? ? FPGA由可配置邏輯塊(CLB)與可編程互連相結合的網格構成。制造完成后,FPGA還可以重新編程,以滿足特定的功能或應用需求。這一特性使FPGA有別于專用集成電路(ASIC)。后者是明確地為給定的目標而制定的,以后無法更改。雖然一次性可編程(OTP)FPGA是一種選擇,但基于靜態隨機存取存儲器(SRAM)的型號是最常見的,并且允許隨著設計的變化而重新編程。
輸入/輸出焊盤、可重新編程的互連和可編程邏輯模塊組成了一個現場可編程門陣列。觸發器或存儲器模塊可用作現場可編程門陣列邏輯模塊中的存儲器組件。邏輯塊可以執行簡單到復雜的計算操作。
現場可編程門陣列和可編程只讀存儲器芯片有許多相似之處。FPGA可以容納數千個門陣列,這與可編程只讀存儲器芯片不同,可編程只讀存儲器芯片僅限于幾百個門陣列。現場可編程門陣列是可重新編程的,而不是ASIC,ASIC是為專業作業而開發的。
計算機用戶可以使用現場可編程門陣列自定義微處理器的功能,以滿足特定的個性化需求。工程師使用FPGA來創建專用集成電路。晶圓功能的缺乏使得現場可編程門陣列的生命周期更具可預測性。其他優勢包括潛在的重制、比其他解決方案更快的上市時間以及簡單的設計周期。
FPGA用于許多行業和市場,包括無線通信、數據中心、汽車、醫療和航空航天。
FPGA中的芯片是完全可編程的,這是一個相當大的好處。通過這種方式,它可以變成一個相當大的邏輯電路,一個遵循設計的設置,但用戶也可以根據需要進行更新以進行調整。換句話說,如果創建了一個電路卡或電路板,并且FPGA是電路的一個組件,則FPGA在創建過程中被編程,但隨后可以重新編程以反映任何修改。
雖然第一批FPGA是在1980年代初推出的,但直到20世紀90年代末才開始流行起來。除了Altera、賽靈思和德州儀器等少數幾家企業之外,他們并不為人所知。
ASIC(專用集成電路)用于創建對于常規CPU或GPU來說過于復雜的系統,作為ASIC(專用集成電路)的替代方案。
由于它們使用戶能夠以更低的成本和更低的功耗生產產品,因此FPGA仍然是當今技術中的一個突出主題。在網絡和網絡安全等其他應用中,它們也很有幫助。將其與傳統微控制器進行比較,傳統微控制器無法容納更大的設計,這是一項相當大的進步。
例如,8051微控制器采用了哈佛設計和CISC指令集。FPGA沒有這些內置指令集,這給了設計人員更多的自由度。盡管FPGA經常與高端計算相關聯,但消費電子行業的使用也在增加。
現場可編程門陣列芯片已經在頂級顯卡中包含許多功能。然而,它們比傳統的視頻卡更便宜,更耗電。它們還支持許多同步流,并且具有明顯更快的吞吐量。因此,基于FPGA的圖形卡在游戲機中越來越頻繁地使用。
Verilog和VHDL只是FPGA使用的眾多不同編程語言中的兩種。1984年,硬件描述語言Verilog被創建。它可用于構建系統所需的任何類型的電路,并且是FPGA的設計標準。
另一種基于狀態機對FPGA進行編程的常用語言是VHDL。它與Verilog不同,因為它包含更多功能,如數據類型和信號名稱,這使得創建復雜電路和提高效率變得更加簡單。定義了FPGA編程的語法和語法。
FPGA如何工作?
每個FPGA制造商都有其獨特的架構規范。關鍵組件、原則和功能包括:
1.可配置的邏輯塊
現場可編程門陣列的基本構建模塊是CLB。它是一個邏輯單元,可以設置或編程以執行特定任務。連接塊將連接到這些構建基塊。這些組件包括攜帶和控制邏輯、晶體管對和查找表(LUT)。它們執行設計所需的邏輯操作。
可以使用基于邏輯的多路復用器或LUT來創建CLB。基于LUT的邏輯中的模塊由D觸發器,查找表和2:1多路復用器組成。多路復用器選擇正確的輸出。
2.可編程互連
位于不同邏輯塊中的邏輯單元之間的所有獨特連接都存在于現場可編程門陣列的這一區域中。包含多個基本半導體開關的開關盒通常用于實現互連。這些電氣可編程鏈路為這些可編程邏輯模塊提供了路徑。
不同長度的線段可以沿著布線路徑找到,并由電氣可編程開關連接。FPGA密度由用于布線路徑的器件數量決定。FPGA的單元或輸入焊盤的輸出可以連接到電路中的任何其他單元或焊盤,利用對每個現場可編程門陣列至關重要的可編程互連點。
3.可編程路由
可編程路由至關重要,因為它通常占結構表面的百分之五十以上以及應用程序的關鍵路由延遲。可編程布線由預制線段和預配置的開關組成。通過配置正確的開關組合,功能塊的任何輸出都可以鏈接到任何輸入。現場可編程門陣列路由架構有兩種基本類型。
設計本質上是分層的,高級組件實例化較低級別的模塊并鏈接其中的信號,從而為可編程門陣列提供了動力。可編程門陣列可以使用連接芯片離散部分的短線來構建這些連接,因為在設計層次結構中靠近在一起的模塊之間更頻繁地進行通信。FPGA的密度和性能受到路由設計的影響。
4.可編程I/O模塊
接口引腳用于將邏輯模塊與外部組件連接起來。現場可編程門陣列和外部電路之間的接口是IOB(輸入輸出模塊),這是一種可編程輸入和輸出器件,用于滿足各種電氣特性下輸入/輸出信號的驅動和匹配需求。I/O塊將路由體系結構和CLB連接到外部元素。
在封裝引腳和器件的底層電路之間,輸入/輸出模塊提供可編程的單向或雙向連接。實現應用需要從頭開始構建電路,因為以前的現場可編程門陣列缺乏運行任何軟件的處理器。因此,FPGA可能被編程為像OR門一樣簡單,或者像多核處理器一樣復雜。
5.片上存儲器
集成在FPGA邏輯塊中的FFS是FPGA系統中片上存儲元件的一種形式。盡管如此,隨著現場可編程門陣列邏輯容量的提高,它被用于更廣泛的系統中,這些系統幾乎總是需要存儲器來緩沖和重用芯片上的數據。由于構建由寄存器和LUT組成的大型RAM的密度比SRAM塊低100倍左右,因此還需要具有更密集的片上存儲。
此外,在現場可編程門陣列上實現的應用程序的RAM要求差異大不相同。
在運輸鏈之前,商業現場可編程門陣列系統中使用的專用算術電路是加法器。
由于需要在利用LUT和攜帶鏈的軟邏輯中加入乘法器,因此產生了嚴重的面積和延遲損失。由于用于現場可編程門陣列的高乘法器密度信號處理和通信應用具有相當大的市場份額,設計人員開發了新穎的實現來解決軟邏輯乘法器實現效率低下的問題,這稱為數字信號處理或DSP。
無乘法分布式算術技術是使用基于LUT的現場可編程門陣列創建高效有限脈沖響應(FIR)濾波器設計的一種方法。乘法器是FPGA系統中作為專用電路進行強化的主要候選者,因為它們在關鍵應用領域的現場可編程門陣列設計中普遍存在,并且在軟邏輯中實現時尺寸、延遲和功耗都降低了。
7.系統級互連
DDR內存和以太網的興起只是FPGA容量和帶寬穩步增長的幾個原因。管理這些高頻端口和不斷增長的結構之間的數據流量是一項挑戰。這種系統級鏈路過去是通過設置特定的FPGA邏輯和路由元件來形成軟總線來建立的,這些總線在必要的端點之間完成流水線,多路復用和布線。
更寬總線是匹配這些外部接口帶寬的唯一方法,因為它們以比現場可編程門陣列結構更高的頻率運行。由于大量和物理上很長的總線的組合,定時閉合具有挑戰性,并且通常需要對總線進行相當大的流水線處理,從而增加了資源消耗。
現場可編程門陣列的應用
FPGA在各行各業都有廣泛的應用,特別是在工業物聯網(IoT)領域。它的一些關鍵應用領域:
1.能源行業案例研究
太陽能和風能等可再生能源越來越受歡迎。它們在智能電網中是可靠的,其中法規仍在建立中。輸配電(T&D)變電站尤其需要高效的電力網絡來實現智能電網的最佳運行。自動化需要持續監控、調節和保護電網的技術,以實現更有效的峰值需求負載管理。FPGA可以提高智能電網的性能和可擴展性,同時保持低功耗。
2.使用FPGA設計集成電路
必須首先創建此類電路的體系結構。然后,使用FPGA構建和測試原型,由于這種方法,錯誤是可以糾正的。一旦原型按預期執行,就會開發一個ASIC項目。這能夠節省時間,因為創建集成電路可能是一項勞動密集型和復雜的操作。
此外,它還可以節省資金,因為可以使用單個FPGA來創建同一項目的大量修訂版。值得注意的是,當前的張量處理單元(TPU)或加密貨幣礦工最初是作為FPGA開發的,直到那時它們才被生產出來。
3.汽車體驗的改善
使用汽車芯片和IP實現車載信息娛樂、舒適性和便利性的解決方案。借助MicrosemiFPGA,車載原始設備制造商(OEM)和供應商可以開發創新的安全應用,如巡航控制、盲點警告和防撞。
FPGA供應商提供網絡安全功能,包括信息保證、防篡改和硬件安全,以及糾錯內存和低靜態功耗等可靠性功能。由于其最小的泄漏和在低功耗環境中工作的能力,基于FPGA的存儲可以提供低靜態功耗。
4.支持實時系統
在實時系統中,當響應時間至關重要時,會使用FPGA。傳統CPU的響應時間是不可預測的,因此無法準確估計一旦觸發器觸發,您將何時收到回復。采用實時操作系統將反應時間保持在預定范圍內。
在需要快速響應時間的情況下,這是不夠的。系統必須在FPGA中實現所需的方法,利用組合或順序電路來解決這個問題并保證恒定的響應時間。一旦準備就緒,就可以使用FPGA更改這樣的實時系統并將其投入生產。
5.航空航天和國防使用案例
為了滿足惡劣環境的性能、可靠性和壽命要求,同時提供比傳統ASIC實現更大的靈活性,工業制造公司提供了抗輻射可重構的FPGA,這些FPGA通常是空間級的。抗輻射可重構FPGA適用于處理密集型空間系統。
6.在通信和軟件定義網絡(SDN)中的應用
軟件定義網絡(SDN)和其他算法(如快速傅里葉變換(FFT))必須放入FPGA中,以便在復雜的實時環境中使用。無線電的標準組件包括用于接收和傳輸信號的天線,以及用于通過過濾、更改信號頻率等來處理信號的網絡硬件。
這種硬件無法從根本上改變它所要實現的功能。如今,此功能的很大一部分被轉移到電子設備中,這通常是FPGA。模擬器件通常僅限于天線、ADC和DAC轉換器。
7.數據中心和云中的FPGA
物聯網(IoT)和大數據正在產生獲取和處理的數據的指數級增長。這與通過 并行的多個操作的深度學習技術進行計算分析相結合,導致對低延遲,靈活和安全的計算能力的高需求。由于空間成本不斷增加,無法通過添加更多服務器來解決。
由于FPGA能夠加速處理,設計靈活性以及硬件對軟件的安全性,數據中心世界的大門正在在很大程度上向他們敞開。
8.計算機視覺系統
在現代世界中,計算機視覺系統存在于許多小工具中。視頻監控攝像機,機器人和其他設備就是這方面的例子。許多這些小工具通常需要基于FPGA的系統,以便它們能夠根據人的位置,周圍環境和面部識別功能,以有意義的方式與人進行行動和交互。要使用此功能,必須處理許多照片,其中大多數操作都是實時完成的,以檢測物體,識別人臉等。
編輯:黃飛
評論
查看更多