FPGA簡介
FPGA(Field Programmable Gate Array)于1985年由xilinx創(chuàng)始人之一Ross Freeman發(fā)明,雖然有其他公司宣稱自己最先發(fā)明可編程邏輯器件PLD,但是真正意義上的第一顆FPGA芯片XC2064為xilinx所發(fā)明,這個(gè)時(shí)間差不多比摩爾老先生提出著名的摩爾定律晚20年左右,但是FPGA一經(jīng)發(fā)明,后續(xù)的發(fā)展速度之快,超出大多數(shù)人的想象,近些年的FPGA,始終引領(lǐng)先進(jìn)的工藝。
fpga的優(yōu)勢(shì)
1)通信高速接口設(shè)計(jì)。FPGA可以用來做高速信號(hào)處理,一般如果AD采樣率高,數(shù)據(jù)速率高,這時(shí)就需要FPGA對(duì)數(shù)據(jù)進(jìn)行處理,比如對(duì)數(shù)據(jù)進(jìn)行抽取濾波,降低數(shù)據(jù)速率,使信號(hào)容易處理,傳輸,存儲(chǔ)。
2)數(shù)字信號(hào)處理。包括圖像處理,雷達(dá)信號(hào)處理,醫(yī)學(xué)信號(hào)處理等。優(yōu)勢(shì)是實(shí)時(shí)性好,用面積換速度,比CPU快的多。
3)更大的并行度。這個(gè)主要是通過并發(fā)和流水兩種技術(shù)實(shí)現(xiàn)。并發(fā)是指重復(fù)分配計(jì)算資源,使得多個(gè)模塊之間可以同時(shí)獨(dú)立進(jìn)行計(jì)算。
FPGA的基本特點(diǎn)
1)采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。
2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。
3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。
4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。
5) FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容。
可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。那么fpga的應(yīng)用領(lǐng)域有哪些呢?主要的方向又是什么呢?具體的跟隨小編來了解一下。
fpga應(yīng)用的三個(gè)主要方向
第一個(gè)方向,也是傳統(tǒng)方向主要用于通信設(shè)備的高速接口電路設(shè)計(jì),這一方向主要是用FPGA處理高速接口的協(xié)議,并完成高速的數(shù)據(jù)收發(fā)和交換。這類應(yīng)用通常要求采用具備高速收發(fā)接口的FPGA,同時(shí)要求設(shè)計(jì)者懂得高速接口電路設(shè)計(jì)和高速數(shù)字電路板級(jí)設(shè)計(jì),具備EMC/EMI設(shè)計(jì)知識(shí),以及較好的模擬電路基礎(chǔ),需要解決在高速收發(fā)過程中產(chǎn)生的信號(hào)完整性問題。FPGA最初以及到目前最廣的應(yīng)用就是在通信領(lǐng)域,一方面通信領(lǐng)域需要高速的通信協(xié)議處理方式,另一方面通信協(xié)議隨時(shí)在修改,非常不適合做成專門的芯片。因此能夠靈活改變功能的FPGA就成為首選。到目前為止FPGA的一半以上的應(yīng)用也是在通信行業(yè)。
第二個(gè)方向,可以稱為數(shù)字信號(hào)處理方向或者數(shù)學(xué)計(jì)算方向,因?yàn)楹艽蟪潭壬线@一方向已經(jīng)大大超出了信號(hào)處理的范疇。例如早就在2006年就聽說老美將FPGA用于金融數(shù)據(jù)分析,后來又見到有將FPGA用于醫(yī)學(xué)數(shù)據(jù)分析的案例。在這一方向要求FPGA設(shè)計(jì)者有一定的數(shù)學(xué)功底,能夠理解并改進(jìn)較為復(fù)雜的數(shù)學(xué)算法,并利用FPGA內(nèi)部的各種資源使之能夠變?yōu)閷?shí)際的運(yùn)算電路。目前真正投入實(shí)用的還是在通信領(lǐng)域的無線信號(hào)處理、信道編解碼以及圖像信號(hào)處理等領(lǐng)域,其它領(lǐng)域的研究正在開展中,之所以沒有大量實(shí)用的主要原因還是因?yàn)閷W(xué)金融的、學(xué)醫(yī)學(xué)的不了解這玩意。不過最近發(fā)現(xiàn)歐美有很多電子工程、計(jì)算機(jī)類的博士轉(zhuǎn)入到金融行業(yè),開展金融信號(hào)處理,相信隨著轉(zhuǎn)入的人增加,F(xiàn)PGA在其它領(lǐng)域的數(shù)學(xué)計(jì)算功能會(huì)更好的發(fā)揮出來,而我也有意做一些這些方面的研究。不過國內(nèi)學(xué)金融的、學(xué)醫(yī)的恐怕連數(shù)學(xué)都很少用到,就不用說用FPGA來幫助他們完成數(shù)學(xué)_運(yùn)算了,這個(gè)問題只有再議了。
第三個(gè)方向就是所謂的SOPC方向,其實(shí)嚴(yán)格意義上來說這個(gè)已經(jīng)在FPGA設(shè)計(jì)的范疇之內(nèi),只不過是利用FPGA這個(gè)平臺(tái)搭建的一個(gè)嵌入式系統(tǒng)的底層硬件環(huán)境,然后設(shè)計(jì)者主要是在上面進(jìn)行嵌入式軟件開發(fā)而已。設(shè)計(jì)對(duì)于FPGA本身的設(shè)計(jì)時(shí)相當(dāng)少的。但如果涉及到需要在FPGA做專門的算法加速,實(shí)際上需要用到第二個(gè)方向的知識(shí),而如果需要設(shè)計(jì)專用的接口電路則需要用到第一個(gè)方向的知識(shí)。
就目前SOPC方向發(fā)展其實(shí)遠(yuǎn)不如第一和第二個(gè)方向,其主要原因是因?yàn)镾OPC以FPGA為主,或者是在FPGA內(nèi)部的資源實(shí)現(xiàn)一個(gè)“軟”的處理器,或者是在FPGA內(nèi)部嵌入一個(gè)處理器核。但大多數(shù)的嵌入式設(shè)計(jì)卻是以軟件為核心,以現(xiàn)有的硬件發(fā)展情況來看,多數(shù)情況下的接口都已經(jīng)標(biāo)準(zhǔn)化,并不需要那么大的FPGA邏輯資源去設(shè)計(jì)太過復(fù)雜的接口。而且就目前看來SOPC相關(guān)的開發(fā)工具還非常的不完善,以ARM為代表的各類嵌入式處理器開發(fā)工具卻早已深入人心,大多數(shù)以ARM為核心的SOC芯片提供了大多數(shù)標(biāo)準(zhǔn)的接口,大量成系列的單片機(jī)/嵌入式處理器提供了相關(guān)行業(yè)所需要的硬件加速電路,需要專門定制硬件場(chǎng)合確實(shí)很少。通常是在一些特種行業(yè)才會(huì)在這方面有非常迫切的需求。目前Xilinx已經(jīng)將ARMcortex- A9的硬核嵌入到FPGA里面,未來對(duì)嵌入式的發(fā)展有很大推動(dòng),不過,不要忘了很多老掉牙的8位單片機(jī)還在嵌入式領(lǐng)域混呢,嵌入式主要不是靠硬件的差異而更多的是靠軟件的差異來體現(xiàn)價(jià)值的。
fpga的應(yīng)用領(lǐng)域
一、數(shù)據(jù)采集和接口邏輯領(lǐng)域
1、FPGA在數(shù)據(jù)采集領(lǐng)域的應(yīng)用
由于自然界的信號(hào)大部分是模擬信號(hào),因此一般的信號(hào)處理系統(tǒng)中都要包括數(shù)據(jù)的采集功能。通常的實(shí)現(xiàn)方法是利用A/D轉(zhuǎn)換器將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)后,送給處理器,比如利用單片機(jī)(MCU)或者數(shù)字信號(hào)處理器(DSP)進(jìn)行運(yùn)算和處理。
對(duì)于低速的A/D和D/A轉(zhuǎn)換器,可以采用標(biāo)準(zhǔn)的SPI接口來與MCU或者DSP通信。但是,高速的A/D和D/A轉(zhuǎn)換芯片,比如視頻Decoder或者Encoder,不能與通用的MCU或者DSP直接接口。在這種場(chǎng)合下,F(xiàn)PGA可以完成數(shù)據(jù)采集的粘合邏輯功能。
2、FPGA在邏輯接口領(lǐng)域的應(yīng)用
在實(shí)際的產(chǎn)品設(shè)計(jì)中,很多情況下需要與PC機(jī)進(jìn)行數(shù)據(jù)通信。比如,將采集到的數(shù)據(jù)送給PC機(jī)處理,或者將處理后的結(jié)果傳給PC機(jī)進(jìn)行顯示等。PC機(jī)與外部系統(tǒng)通信的接口比較豐富,如ISA、PCI、PCI Express、PS/2、USB等。
傳統(tǒng)的設(shè)計(jì)中往往需要專用的接口芯片,比如PCI接口芯片。如果需要的接口比較多,就需要較多的外圍芯片,體積、功耗都比較大。采用FPGA的方案后,接口邏輯都可以在FPGA內(nèi)部來實(shí)現(xiàn)了,大大簡化了外圍電路的設(shè)計(jì)。
在現(xiàn)代電子產(chǎn)品設(shè)計(jì)中,存儲(chǔ)器得到了廣泛的應(yīng)用,例如SDRAM、SRAM、Flash等。這些存儲(chǔ)器都有各自的特點(diǎn)和用途,合理地選擇儲(chǔ)存器類型可以實(shí)現(xiàn)產(chǎn)品的最佳性價(jià)比。由于FPGA的功能可以完全自己設(shè)計(jì),因此可以實(shí)現(xiàn)各種存儲(chǔ)接口的控制器。
3、FPGA在電平接口領(lǐng)域的應(yīng)用
除了TTL、COMS接口電平之外,LVDS、HSTL、GTL/GTL+、SSTL等新的電平標(biāo)準(zhǔn)逐漸被很多電子產(chǎn)品采用。比如,液晶屏驅(qū)動(dòng)接口一般都是LVDS接口,數(shù)字I/O一般是LVTTL電平,DDR SDRAM電平一般是HSTL的。
在這樣的混合電平環(huán)境里面,如果用傳統(tǒng)的電平轉(zhuǎn)換器件實(shí)現(xiàn)接口會(huì)導(dǎo)致電路復(fù)雜性提高。利用FPGA支持多電平共存的特性,可以大大簡化設(shè)計(jì)方案,降低設(shè)計(jì)風(fēng)險(xiǎn)。
二、高性能數(shù)字信號(hào)處理領(lǐng)域
無線通信、軟件無線電、高清影像編輯和處理等領(lǐng)域,對(duì)信號(hào)處理所需要的計(jì)算量提出了極高的要求。傳統(tǒng)的解決方案一般是采用多片DSP并聯(lián)構(gòu)成多處理器系統(tǒng)來滿足需求。
但是多處理器系統(tǒng)帶來的主要問題是設(shè)計(jì)復(fù)雜度和系統(tǒng)功耗都大幅度提升,系統(tǒng)穩(wěn)定性受到影響。FPGA支持并行計(jì)算,而且密度和性能都在不斷提高,已經(jīng)可以在很多領(lǐng)域替代傳統(tǒng)的多DSP解決方案。
例如,實(shí)現(xiàn)高清視頻編碼算法H.264。采用TI公司1GHz主頻的DSP芯片需要4顆芯片,而采用Altera的StratixII EP2S130芯片只需要一顆就可以完成相同的任務(wù)。FPGA的實(shí)現(xiàn)流程和ASIC芯片的前端設(shè)計(jì)相似,有利于導(dǎo)入芯片的后端設(shè)計(jì)。
三、其他應(yīng)用領(lǐng)域
除了上面一些應(yīng)用領(lǐng)域外,F(xiàn)PGA在其他領(lǐng)域同樣具有廣泛的應(yīng)用。
(1)汽車電子領(lǐng)域,如網(wǎng)關(guān)控制器/車用PC機(jī)、遠(yuǎn)程信息處理系統(tǒng)。
(2)軍事領(lǐng)域,如安全通信、雷達(dá)和聲納、電子戰(zhàn)。
?。?)測(cè)試和測(cè)量領(lǐng)域,如通信測(cè)試和監(jiān)測(cè)、半導(dǎo)體自動(dòng)測(cè)試設(shè)備、通用儀表。
?。?)消費(fèi)產(chǎn)品領(lǐng)域,如顯示器|、投影儀、數(shù)字電視和機(jī)頂盒、家庭網(wǎng)絡(luò)。
?。?)醫(yī)療領(lǐng)域,如軟件無線電、電療|、生命科學(xué)。
評(píng)論