FPGA技術(shù)的發(fā)展歷史和動(dòng)向
1.2 FPGA的典型應(yīng)用領(lǐng)域
1.2.1 數(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接口來(lái)與MCU或者DSP通信。但是,高速的A/D和D/A轉(zhuǎn)換芯片,比如視頻Decoder或者Encoder,不能與通用的MCU或者DSP直接接口。在這種場(chǎng)合下,FPGA可以完成數(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ì)中往往需要專(zhuān)用的接口芯片,比如PCI接口芯片。如果需要的接口比較多,就需要較多的外圍芯片,體積、功耗都比較大。采用FPGA的方案后,接口邏輯都可以在FPGA內(nèi)部來(lái)實(shí)現(xiàn)了,大大簡(jiǎn)化了外圍電路的設(shè)計(jì)。
在現(xiàn)代電子產(chǎn)品設(shè)計(jì)中,存儲(chǔ)器得到了廣泛的應(yīng)用,例如SDRAM、SRAM、Flash等。這些存儲(chǔ)器都有各自的特點(diǎn)和用途,合理地選擇儲(chǔ)存器類(lèi)型可以實(shí)現(xiàn)產(chǎn)品的最佳性?xún)r(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支持多電平共存的特性,可以大大簡(jiǎn)化設(shè)計(jì)方案,降低設(shè)計(jì)風(fēng)險(xiǎn)。
1.2.2 高性能數(shù)字信號(hào)處理領(lǐng)域
無(wú)線通信、軟件無(wú)線電、高清影像編輯和處理等領(lǐng)域,對(duì)信號(hào)處理所需要的計(jì)算量提出了極高的要求。傳統(tǒng)的解決方案一般是采用多片DSP并聯(lián)構(gòu)成多處理器系統(tǒng)來(lái)滿足需求。
但是多處理器系統(tǒng)帶來(lái)的主要問(wèn)題是設(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ì)。
1.2.3 其他應(yīng)用領(lǐng)域
除了上面一些應(yīng)用領(lǐng)域外,F(xiàn)PGA在其他領(lǐng)域同樣具有廣泛的應(yīng)用。
(1)汽車(chē)電子領(lǐng)域,如網(wǎng)關(guān)控制器/車(chē)用PC機(jī)、遠(yuǎn)程信息處理系統(tǒng)。
(2)軍事領(lǐng)域,如安全通信、雷達(dá)和聲納、電子戰(zhàn)。
(3)測(cè)試和測(cè)量領(lǐng)域,如通信測(cè)試和監(jiān)測(cè)、半導(dǎo)體自動(dòng)測(cè)試設(shè)備、通用儀表。
(4)消費(fèi)產(chǎn)品領(lǐng)域,如顯示器、投影儀、數(shù)字電視和機(jī)頂盒、家庭網(wǎng)絡(luò)。
(5)醫(yī)療領(lǐng)域,如軟件無(wú)線電、電療、生命科學(xué)。
1.3 FPGA的工藝結(jié)構(gòu)
隨著FPGA的生產(chǎn)工藝不斷提高,各種新技術(shù)被廣泛應(yīng)用到FPGA芯片的設(shè)計(jì)生產(chǎn)的各個(gè)環(huán)境。其中,生產(chǎn)工藝結(jié)構(gòu)決定了FPGA芯片的特性和應(yīng)用場(chǎng)合。
如圖1.2所示是FPGA的主要幾種生產(chǎn)工藝及典型產(chǎn)品。
圖1.2 FPGA生產(chǎn)工藝及典型產(chǎn)品
1.3.1 基于SRAM結(jié)構(gòu)的FPGA
目前最大的兩個(gè)FPGA廠家Xilinx和Altera的所有FPGA產(chǎn)品都是基于SRAM工藝來(lái)實(shí)現(xiàn)的。這種工藝的優(yōu)點(diǎn)是可以用較低的成本來(lái)實(shí)現(xiàn)較高的密度和較高的性能;缺點(diǎn)是掉電后SRAM會(huì)失去所有配置,導(dǎo)致每次上電都需要重新加載。
重新加載需要外部的器件來(lái)實(shí)現(xiàn),不僅增加了整個(gè)系統(tǒng)的成本,而且引入了不穩(wěn)定的因素。加載的過(guò)程容易受到外界干擾而導(dǎo)致加載失敗,也容易受到“監(jiān)聽(tīng)”而破解加載文件的比特流。
雖然基于SRAM結(jié)構(gòu)的FPGA存在這些缺點(diǎn),但是由于其實(shí)現(xiàn)成本低,還是得到了廣泛的應(yīng)用,特別是民用產(chǎn)品方面。
1.3.2 基于反融絲結(jié)構(gòu)的FPGA
Actel公司擅長(zhǎng)出品反融絲結(jié)構(gòu)的FPGA。這種結(jié)構(gòu)的FPGA只能編程一次,編程后和ASIC一樣成為了固定邏輯器件。Quick Logic公司也有類(lèi)似的FPGA器件,主要面向軍品級(jí)應(yīng)用市場(chǎng)。
這樣的FPGA失去了反復(fù)可編程的靈活性,但是大大提高了系統(tǒng)的穩(wěn)定性。這種結(jié)構(gòu)的FPGA比較適合應(yīng)用在環(huán)境苛刻的場(chǎng)合,比如高振動(dòng),強(qiáng)電磁輻射等航空航天領(lǐng)域。同時(shí),系統(tǒng)的保密性也得到了提高。
這類(lèi)FPGA因?yàn)樯想姾蟛恍枰獜耐獠考虞d配置,所以上電后可以很快進(jìn)入工作狀態(tài),即 “瞬間上電”技術(shù)。這個(gè)特性可以滿足一些對(duì)上電時(shí)間要求苛刻的系統(tǒng)。由于是固定邏輯,這種器件的功耗和體積也要低于SRAM結(jié)構(gòu)的FPGA。
1.3.3 基于Flash結(jié)構(gòu)的FPGA
Flash具備了反復(fù)擦寫(xiě)和掉電后內(nèi)容非易失特性,因而基于Flash結(jié)構(gòu)的FPGA同時(shí)具備了SRAM結(jié)構(gòu)的靈活性和反融絲結(jié)構(gòu)的可靠性。這種技術(shù)是最近幾年發(fā)展起來(lái)的新型FPGA實(shí)現(xiàn)工藝,目前實(shí)現(xiàn)的成本還偏高,沒(méi)有得到大規(guī)模的應(yīng)用。
系統(tǒng)安全的角度來(lái)看,基于Flash的FPGA具有更高的安全性,硬件出錯(cuò)的幾率更小,并能夠通過(guò)公共網(wǎng)絡(luò)實(shí)現(xiàn)安全性遠(yuǎn)程升級(jí),經(jīng)過(guò)現(xiàn)場(chǎng)處理即可實(shí)現(xiàn)產(chǎn)品的升級(jí)換代。這種性能減少了現(xiàn)場(chǎng)解決問(wèn)題所需的昂貴開(kāi)銷(xiāo)。
在Flash器件中集成小型的NVM(Non Volatile Memory,非易失性存儲(chǔ)器)模塊可以在某些消費(fèi)電子和汽車(chē)電子應(yīng)用中實(shí)現(xiàn)授權(quán)技術(shù)。這種NVM可以存儲(chǔ)安全通信所需的密鑰,或者針對(duì)基于廣播的系統(tǒng)實(shí)現(xiàn)機(jī)頂盒設(shè)備的串行化。
可重編程的NVM在編程時(shí)需要一定的電壓,因此SRAM用戶(hù)必須從外部提供這種電壓?;贔lash的FPGA采用內(nèi)部電荷泵進(jìn)行編程,不需要集成NVM模塊,而基于SRAM的FPGA通常缺乏這種功能。
Flash器件的工作頻率可達(dá)350MHz,利用率超過(guò)95%,而SRAM FPGA一般能夠達(dá)到的利用率僅為70~75%。Flash FPGA在加電時(shí)沒(méi)有像SRAM FPGA那樣大的瞬間高峰電流,并且SRAM FPGA通常具有較高的靜態(tài)功耗和動(dòng)態(tài)功耗。
例如,一塊40萬(wàn)門(mén)的基于Flash的FPGA需要20mA的靜態(tài)電流,然而同等規(guī)模的基于SRAM的FPGA所需的電流達(dá)100mA。SRAM FPGA的功耗問(wèn)題往往迫使系統(tǒng)設(shè)計(jì)者不得不增大系統(tǒng)供電電流,并使得整個(gè)設(shè)計(jì)變得更加復(fù)雜。
評(píng)論