FPGA簡介
FPGA(Field Programmable Gate Array)于1985年由xilinx創始人之一Ross Freeman發明,雖然有其他公司宣稱自己最先發明可編程邏輯器件PLD,但是真正意義上的第一顆FPGA芯片XC2064為xilinx所發明,這個時間差不多比摩爾老先生提出著名的摩爾定律晚20年左右,但是FPGA一經發明,后續的發展速度之快,超出大多數人的想象,近些年的FPGA,始終引領先進的工藝,
FPGA的基本特點
相較于傳統的集成芯片,FPGA具有如下特點:
1)重構性:
- 采用FPGA設計ASIC電路,用戶不需要投片生產,就能得到合用的芯片,
2)高集成性:
- FPGA內部有豐富的觸發器和I/O引腳,
3)高兼容性:
- FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容,
FPGA的優勢
FPGA目前在各領域的優勢主要體現在其運算方面:
1)高速信號處理:
- 一般如果AD采樣率高,資料速率高,這時就需要FPGA對資料進行處理,比如對資料進行抽取濾波,降低資料速率,使信號容易處理,傳輸,存盤,
2)實時信號處理:
- FPGA用面積換速度,帶有FPGA的異構計算,運算速度遠超GPU或者ASIC,例如實時影像處理,雷達信號處理,醫學信號處理等,
3)高并行度:
- 通過并發和流水兩種技術實作,并發是指重復分配計算資源,流水是指沒有資料依賴的多個模塊可以以較短時延同步運行,使得多個模塊之間可以同時獨立進行計算,
FPGA應用的三個主要方向
第一個方向,也是傳統方向,主要用于通信設備的高速介面電路設計,這一方向主要是用FPGA處理高速介面的協議,并完成高速的資料收發和交換,這類應用通常要求采用具備高速收發介面的FPGA,同時要求設計者懂得高速介面電路設計和高速數字電路板級設計,具備EMC/EMI設計知識,以及較好的模擬電路基礎,需要解決在高速收發程序中產生的信號完整性問題,FPGA最初以及到目前最廣的應用就是在通信領域,一方面通信領域需要高速的通信協議處理方式,另一方面通信協議隨時在修改,非常不適合做成專門的芯片,因此能夠靈活改變功能的FPGA就成為首選,到目前為止FPGA的一半以上的應用也是在通信行業,
第二個方向,可以稱為數字信號處理方向或者數學計算方向,因為很大程度上這一方向已經大大超出了信號處理的范疇,例如將FPGA用于金融資料分析,亦或用于醫學資料分析,在這一方向要求FPGA設計者有一定的數學功底,能夠理解并改進較為復雜的數學演算法,并利用FPGA內部的各種資源使之能夠變為實際的運算電路,目前真正投入實用的還是在通信領域的無線信號處理、信道編解碼以及影像信號處理等領域,其它領域的研究正在開展中,
第三個方向就是所謂的SOPC(可編程片上系統)方向,其實嚴格意義上來說這個已經不在FPGA設計的范疇之內,只不過是利用FPGA這個平臺搭建的一個嵌入式系統的底層硬體環境,然后設計者主要是在上面進行嵌入式軟體開發而已,設計對于FPGA本身的設計是相當少的,但如果涉及到需要在FPGA做專門的演算法加速,實際上需要用到第二個方向的知識,而如果需要設計專用的介面電路則需要用到第一個方向的知識,
就目前SOPC方向發展其實遠不如第一和第二個方向,其主要原因是因為SOPC以FPGA為主,或者是在FPGA內部的資源實作一個“軟”的處理器,或者是在FPGA內部嵌入一個處理器核,但大多數的嵌入式設計卻是以軟體為核心,以現有的硬體發展情況來看,多數情況下的介面都已經標準化,并不需要那么大的FPGA邏輯資源去設計太過復雜的介面,而且就目前看來SOPC相關的開發工具還非常的不完善,以ARM為代表的各類嵌入式處理器開發工具卻早已深入人心,大多數以ARM為核心的SOC芯片提供了大多數標準的介面,大量成系列的單片機/嵌入式處理器提供了相關行業所需要的硬體加速電路,需要專門定制硬體場合確實很少,通常是在一些特種行業才會在這方面有非常迫切的需求,目前Xilinx已經將ARMcortex- A9的硬核嵌入到FPGA里面,未來會對嵌入式的發展有很大推動,
FPGA的應用領域
一、資料采集和介面邏輯領域
1、FPGA在資料采集領域的應用
由于自然界的信號大部分是模擬信號,因此一般的信號處理系統中都要包括資料的采集功能,通常的實作方法是利用A/D轉換器將模擬信號轉換為數字信號后,送給處理器,比如利用單片機(MCU)或者數字信號處理器(DSP)進行運算和處理,
對于低速的A/D和D/A轉換器,可以采用標準的SPI介面來與MCU或者DSP通信,但是,高速的A/D和D/A轉換芯片,比如視頻Decoder或者Encoder,不能與通用的MCU或者DSP直接介面,在這種場合下,FPGA可以完成資料采集的粘合邏輯功能,
2、FPGA在邏輯介面領域的應用
在實際的產品設計中,很多情況下需要與PC機進行資料通信,比如,將采集到的資料送給PC機處理,或者將處理后的結果傳給PC機進行顯示等,PC機與外部系統通信的介面比較豐富,如ISA、PCI、PCI Express、PS/2、USB等,
傳統的設計中往往需要專用的介面芯片,比如PCI介面芯片,如果需要的介面比較多,就需要較多的外圍芯片,體積、功耗都比較大,采用FPGA的方案后,介面邏輯都可以在FPGA內部來實作了,大大簡化了外圍電路的設計,
在現代電子產品設計中,存盤器得到了廣泛的應用,例如SDRAM、SRAM、Flash等,這些存盤器都有各自的特點和用途,合理地選擇儲存器型別可以實作產品的最佳性價比,由于FPGA的功能可以完全自己設計,因此可以實作各種存盤介面的控制器,
3、FPGA在電平介面領域的應用
除了TTL、COMS介面電平之外,LVDS、HSTL、GTL/GTL+、SSTL等新的電平標準逐漸被很多電子產品采用,比如,液晶屏驅動介面一般都是LVDS介面,數字I/O一般是LVTTL電平,DDR SDRAM電平一般是HSTL的,
在這樣的混合電平環境里面,如果用傳統的電平轉換器件實作介面會導致電路復雜性提高,利用FPGA支持多電平共存的特性,可以大大簡化設計方案,降低設計風險,
二、高性能數字信號處理領域
無線通信、軟體無線電、高清影像編輯和處理等領域,對信號處理所需要的計算量提出了極高的要求,傳統的解決方案一般是采用多片DSP并聯構成多處理器系統來滿足需求,
但是多處理器系統帶來的主要問題是設計復雜度和系統功耗都大幅度提升,系統穩定性受到影響,FPGA支持并行計算,而且密度和性能都在不斷提高,已經可以在很多領域替代傳統的多DSP解決方案,
例如,實作高清視頻編碼演算法H.264,采用TI公司1GHz主頻的DTISP芯片需要4顆芯片,而采用Altera的StraTIxII EPT2S130芯片只需要一顆就可以完成相同的任務,FPGA的實作流程和ASIC芯片的前端設計相似,有利于匯入芯片的后端設計,
三、其他應用領域
除了上面一些應用領域外,FPGA在其他領域同樣具有廣泛的應用,
(1)汽車電子領域,如網關控制器/車用PC機、遠程資訊處理系統,
(2)軍事領域,如安全通信、雷達和聲納、電子戰,
(3)測驗和測量領域,如通信測驗和監測、半導體自動測驗設備、通用儀表,
(4)醫療領域,如醫用電子儀器,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/82208.html
標籤:其他
上一篇:5G和WiFi6的故事
下一篇:手寫jQuery原始碼
