FPGA的技術介紹及FPGA應用領域
FPGA的技術介紹及FPGA應用領域
FPGA簡介
FPGA(Field rogrammable Gate Array)于1985年由xilinx創始人之一Ross Freeman發明,雖然有其他公司宣稱自己最先發明可編程邏輯器件PLD,但是真正意義上的第一顆FPGA芯片XC2064為xilinx所發明,這個時間差不多比摩爾老先生提出著名的摩爾定律晚20年左右,但是FPGA一經發明,后續的發展速度之快,超出大多數人的想象,近些年的FPGA,始終引領先進的工藝。
FPGA的優勢
1)通信高速接口設計。FPGA可以用來做高速信號處理,一般如果AD采樣率高,數據速率高,這時就需要FPGA對數據進行處理,比如對數據進行抽取濾波,降低數據速率,使信號容易處理,傳輸,存儲。
2)數字信號處理。包括圖像處理,雷達信號處理,醫學信號處理等。優勢是實時性好,用面積換速度,比CPU快的多。
3)更大的并行度。這個主要是通過并發和流水兩種技術實現。并發是指重復分配計算資源,使得多個模塊之間可以同時獨立進行計算。
FPGA的基本特點
1)采用FPGA設計ASIC電路,用戶不需要投片生產,就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。
3)FPGA內部有豐富的觸發器和I/O引腳。
4)FPGA是ASIC電路中設計周期最短、開發費用最低、風險最小的器件之一。
5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,FPGA芯片是小批量系統提高系統集成度、可靠性的最佳選擇之一。那么fpga的應用領域有哪些呢?主要的方向又是什么呢?具體的跟隨小編來了解一下。
FPGA 應用的三個主要方向
第一個方向,也是傳統方向主要用于通信設備的高速接口電路設計,這一方向主要是用FPGA處理高速接口的協議,并完成高速的數據收發和交換。這類應用通常要求采用具備高速收發接口的FPGA,同時要求設計者懂得高速接口電路設計和高速數字電路板級設計,具備EMC/EMI設計知識,以及較好的模擬電路基礎,需要解決在高速收發過程中產生的信號完整性問題。FPGA最初以及到目前最廣的應用就是在通信領域,一方面通信領域需要高速的通信協議處理方式,另一方面通信協議隨時在修改,非常不適合做成專門的芯片。因此能夠靈活改變功能的FPGA就成為首選。到目前為止FPGA的一半以上的應用也是在通信行業。
第二個方向,可以稱為數字信號處理方向或者數學計算方向,因為很大程度上這一方向已經大大超出了信號處理的范疇。例如早就在2006年就聽說老美將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里面,未來對嵌入式的發展有很大推動,不過,不要忘了很多老掉牙的8位單片機還在嵌入式領域混呢,嵌入式主要不是靠硬件的差異而更多的是靠軟件的差異來體現價值的。
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主頻的DSP芯片需要4顆芯片,而采用Altera的StraTIxII EP2S130芯片只需要一顆就可以完成相同的任務。FPGA的實現流程和ASIC芯片的前端設計相似,有利于導入芯片的后端設計。
三、其他應用領域
除了上面一些應用領域外,FPGA在其他領域同樣具有廣泛的應用。
(1)汽車電子領域,如網關控制器/車用PC機、遠程信息處理系統。
(2)軍事領域,如安全通信、雷達和聲納、電子戰。
(3)測試和測量領域,如通信測試和監測、半導體自動測試設備、通用儀表。
(4)消費產品領域,如顯示器|、投影儀、數字電視和機頂盒、家庭網絡。
(5)醫療領域,如軟件無線電、電療|、生命科學。
本文地址:http://m.xznet110.com:8002/apply/d_1o25r23slr741_1.html
拷貝地址版權聲明:版權歸中國自動化網所有,轉載請注明出處!