今天,每個(gè)設(shè)計(jì)師都在擔(dān)心3件事:尺寸、能耗和成本;對(duì)于便攜產(chǎn)品設(shè)計(jì)師來(lái)說(shuō),這3個(gè)問(wèn)題都可能成為噩夢(mèng)。作為消費(fèi)者,我們想要所有的功能,只要它能裝進(jìn)MP3播放器、GPS模塊或者智能手機(jī)里。當(dāng)然,我們還希望這些產(chǎn)品少花錢,最后還要足夠小,可以混在周圍環(huán)境中毫不顯眼。并且,我們還希望它永遠(yuǎn)也不需要充電!但是,讓系統(tǒng)設(shè)計(jì)師沮喪的是,增加任何一種功能都會(huì)增加尺寸、成本和能耗。而幸運(yùn)的是,一種新的小型、低能耗同時(shí)又比較便宜的現(xiàn)場(chǎng)可編程門陣列(FPGA)將能充當(dāng)系統(tǒng)設(shè)計(jì)師的救命武器。
歷史上,傳統(tǒng)FPGA器件的高能耗讓它們與便攜式產(chǎn)品市場(chǎng)絕緣。而復(fù)雜可編程邏輯器件(CPLD)──這種不太貴、不太復(fù)雜也小巧一些的FPGA的表親)被便攜式設(shè)備采用,用于提供基本的編程能力,并執(zhí)行一些基本操作,諸如電壓切換和端口增強(qiáng)。但是,最新出現(xiàn)的超低能耗FPGA以其高邏輯容量開(kāi)始在便攜系統(tǒng)設(shè)計(jì)師面前展現(xiàn)出一定的可能性,比如SiliconBlue科技的iCE65 FPGA。結(jié)果,傳統(tǒng)上只能使用更大更耗能的器件、并且要配有精心設(shè)計(jì)的散熱系統(tǒng)的FPGA應(yīng)用,現(xiàn)在也可以從容地進(jìn)入手持設(shè)備中了,并且不會(huì)燒傷手。
這種應(yīng)用中的一類是將FPGA用作“協(xié)處理器”──可以替代主應(yīng)用處理器處理一些操作的第二處理器。在傳統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)中,F(xiàn)PGA協(xié)處理器的目的是要加速某些形式的代碼,這主要是通過(guò)找出計(jì)算密集的算法并將其放到FPGA硬件中來(lái)實(shí)現(xiàn)的。但是,在低能耗的消費(fèi)產(chǎn)品應(yīng)用中,F(xiàn)PGA協(xié)處理器的主要目標(biāo)是節(jié)能,主要方式是從應(yīng)用處理器上轉(zhuǎn)移出來(lái)一些計(jì)算任務(wù)。這種任務(wù)之一就是簡(jiǎn)單的每半秒閃一下藍(lán)牙LED指示燈。很明顯,系統(tǒng)中用的ARM處理器絕對(duì)可以處理這個(gè)問(wèn)題;但是,用ARM來(lái)處理就像是用18輪大卡車來(lái)送信到郵局。更好的方案就是讓系統(tǒng)處理器保持深度睡眠模式,而把LED閃動(dòng)功能轉(zhuǎn)移到一個(gè)小型低能耗的FPGA上去。
更復(fù)雜的例子是MP3。通常,應(yīng)用處理器被用于對(duì)MP3進(jìn)行解碼并將音頻數(shù)據(jù)送往DAC或者是藍(lán)牙模塊。這就意味著能耗較大的應(yīng)用處理器必須在MP3播放的全程都要保持工作。較好的方法是應(yīng)用處理器把MP3文件放到一個(gè)緩沖器中,而讓FPGA來(lái)對(duì)MP3進(jìn)行解碼,并將數(shù)據(jù)流送往DAC,這時(shí)應(yīng)用處理器就可以進(jìn)入關(guān)斷狀態(tài)。
但是,用FPGA來(lái)實(shí)現(xiàn)節(jié)能型MP3協(xié)處理器只是眾多這類應(yīng)用中的一個(gè)。今天,便攜式產(chǎn)品世界的主流趨勢(shì)是聚合──手機(jī)不再只是一個(gè)電話;它同樣也可以是一個(gè)音頻或視頻播放器,一個(gè)照相機(jī)和一臺(tái)GPS。這些新的多功能產(chǎn)品給設(shè)計(jì)師帶來(lái)了新的能耗挑戰(zhàn):一個(gè)產(chǎn)品只用作手機(jī)時(shí)可能有很長(zhǎng)的電池壽命,但它播放視頻時(shí)可能很快就會(huì)把電池用光。
繼續(xù)考慮MP3的例子,全速運(yùn)行的應(yīng)用處理器,還要同視頻編解碼器以及媒體FIFO協(xié)同工作,這個(gè)系統(tǒng)難以獲得最佳能耗表現(xiàn)。這是又一個(gè)FPGA協(xié)處理器可以發(fā)揮作用的地方。它可以配置來(lái)執(zhí)行編解碼器和FIFO的功能,同時(shí)只使用比應(yīng)用處理器低很多的能耗,這樣就能延長(zhǎng)電池使用時(shí)間。智能手機(jī)還要使用一個(gè)LCD時(shí)序控制器,它把CPU和顯示屏聯(lián)系到一塊。這也是一個(gè)FPGA協(xié)處理器可以用來(lái)降低負(fù)載的地方。每當(dāng)?shù)湍芎牡腇PGA將負(fù)載從應(yīng)用處理器上轉(zhuǎn)移出來(lái)的時(shí)候,我們都可以獲得節(jié)省能耗的效果。
那么,為什么不只用一塊ASIC呢?FPGA協(xié)處理器對(duì)ASIC或ASSP系統(tǒng)芯片的最大益處就是它可重復(fù)編程的能力。就是指為了讓一部智能手機(jī)能支持更新的視頻功能,工程師就需要在現(xiàn)有的應(yīng)用處理器中把視頻功能升級(jí)到MPEG4這種情況。使用ASIC或ASSP很容易就會(huì)用上數(shù)月時(shí)間,并且還會(huì)有制造成本的問(wèn)題。與之相比,F(xiàn)PGA方案可以在一周內(nèi)完成,并且沒(méi)有額外生產(chǎn)成本。
隨著新型小巧、超低能耗的FPGA的問(wèn)世,以往只有插電設(shè)備享受到的FPGA的成本、靈活性以有上市時(shí)間等優(yōu)勢(shì)也完全可以應(yīng)用到能耗和尺寸受限的手持設(shè)備了。明智地使用FPGA可以明顯地處長(zhǎng)電池使用時(shí)間,并且可以帶來(lái)新的市場(chǎng)營(yíng)銷亮點(diǎn),諸如“10小時(shí)MP3播放時(shí)間”、“6小時(shí)GPS使用”等,這些功能都不像它們看起來(lái)那樣遙不可及了。