如今,不僅是高性能FPGA還有其它邏輯器件都正在變得越來(lái)越強(qiáng)大了,它們正整合著傳統(tǒng)上由其它類型的邏輯器件完成的功能,比如CPU、GPU還有DSP等。它們可謂是瑞士軍刀的半導(dǎo)體版本。
1969年,成千上萬(wàn)人(包括作者本人)聚在烏茲托克音樂(lè)節(jié),協(xié)和號(hào)飛機(jī)進(jìn)行了第一次試飛,尼克松上任,此外還有一件重大的事情在那年發(fā)生:帶有12個(gè)門和30個(gè)輸入/輸出引腳的XC157掩模編程門陣列出現(xiàn)在了1968版古老的摩托羅拉半導(dǎo)體數(shù)據(jù)手冊(cè)上(圖1)。
用老生常談的話說(shuō)就是,接下來(lái)的事大家都知道了——由許許多多廠家制造的不同邏輯器件讓眾多類型的嵌入式系統(tǒng)成為現(xiàn)實(shí)。
根據(jù)復(fù)雜度的相對(duì)級(jí)別,紛繁復(fù)雜的邏輯器件可大致分為三類(表1)。位于表中頂層的是現(xiàn)場(chǎng)可編程器件的霸主——FPGA以及它們的變體——自從1985年David W.Page和LuVerne Peterson發(fā)起這個(gè)概念后,它們已經(jīng)有很長(zhǎng)的一段歷史了。FPGA和它們最相近的兄弟復(fù)雜可編程邏輯器件(CPLD)的區(qū)別在于它們能夠完成復(fù)雜功能的能力,它們就像一個(gè)“空白的畫布”,它們的功能在之后被描繪在畫布上,而不是由廠家預(yù)先特定地賦予。
圖1:如1968版摩托羅拉半導(dǎo)體數(shù)據(jù)書冊(cè)上描述的摩托羅拉XC157”多門陣列”感謝:Jason Scott,所有者,textfiles.com
FPGA真可謂是大顯神通,因?yàn)樗鼈儫o(wú)需外設(shè)就可以進(jìn)行計(jì)算、信號(hào)處理、高速通信還有其它功能。在一個(gè)FPGA上去定義數(shù)量龐大的連接和器件邏輯功能從來(lái)都不是意見容易的事,也沒(méi)有必要那樣做,F(xiàn)PGA廠商和軟件開發(fā)商已經(jīng)開發(fā)出來(lái)軟件工具可以讓開發(fā)的過(guò)程變得輕松。為了加速編程開發(fā)過(guò)程,也可以使用預(yù)先設(shè)計(jì)的和驗(yàn)證了的知識(shí)產(chǎn)權(quán)(IP)功能模塊。
FPGA這個(gè)概念的提出始于19世紀(jì)80年代末,它是美國(guó)海軍水面作戰(zhàn)部一個(gè)計(jì)劃的成果,當(dāng)時(shí)業(yè)內(nèi)人士開發(fā)出了一個(gè)實(shí)現(xiàn)了600,000個(gè)可編程門的計(jì)算機(jī)。那不久之后,第一款商業(yè)FPGA(XC2064)由賽靈思創(chuàng)始人Ross Freeman和Bernard Vonderschmiitt在1985年推出。該FPGA是個(gè)8x8可配置邏輯模塊(CLB)格(64個(gè)CLB),帶有兩個(gè)3輸入查找表(LUT)。
很快到了現(xiàn)在,發(fā)展的速度讓人吃驚。如今集成ARM Cortex內(nèi)核或其它處理內(nèi)核的FPGA能夠給DSP、集成ADC每秒執(zhí)行超過(guò)1萬(wàn)億次的浮點(diǎn)型運(yùn)算,總吞吐率(所有串行收發(fā)通道)達(dá)3Tb/s,有超過(guò)5千萬(wàn)個(gè)邏輯元件,超高速內(nèi)存(容量很大),還有128位加密。所有的這些甚至還會(huì)有更多都包含在這個(gè)單一器件上,并且功耗很低,前所未有的低延遲,還有更多讓人印象深刻的屬性。如今FPGA能夠?qū)崿F(xiàn)這么多不同類型的功能以至于它們現(xiàn)在不僅僅是一個(gè)片上系統(tǒng),同時(shí)也是一個(gè)更靈活、復(fù)雜的系統(tǒng)。例如,以前通訊系統(tǒng)中用到一組ASIC電路來(lái)實(shí)現(xiàn)前端的接收機(jī)功能,如今利用一片F(xiàn)PGA就能搞定。不像ASIC電路那樣在制造過(guò)程中功能就固定了,F(xiàn)PGA可被再編程,而硬件上沒(méi)有大體的改變。
FPGA的下一個(gè)前沿
下一步FPGA主要應(yīng)用在可配置計(jì)算當(dāng)中,連同軟件一起,它們提供一臺(tái)計(jì)算機(jī)的所有功能,利用一個(gè)通用處理器作為控制。這并不是一個(gè)新概念,它已經(jīng)在19世紀(jì)60年代被人們描述出來(lái)了,并于1991年由Algotronix公司的Tom Kean、John Gray博士和David Rees博士在CHS2X4平臺(tái)上展示出來(lái)了。此平臺(tái)基于該公司的CAL1024 FPGA,有1024個(gè)1.5-μm雙金屬CMOS工藝的可編程器件,并且是第一款能對(duì)控制內(nèi)存提供隨機(jī)訪問(wèn)的FPGA,也是第一款能夠給要構(gòu)建的設(shè)備使能陣列提供輸入/輸出信號(hào)共享的FPGA。這一成就和技術(shù)使得賽靈思在1993年收購(gòu)了Algotronix公司。
在一些特定高性能系統(tǒng)中已經(jīng)使用FPGA來(lái)進(jìn)行可重新配置計(jì)算了,包括加密領(lǐng)域。一個(gè)有趣的例子是密碼破譯機(jī)器即成本優(yōu)化并行代碼斷路器(COPACOBANA),專門為如數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)及其它并行計(jì)算問(wèn)題設(shè)計(jì)。在任何意義上這并不是一個(gè)通用用途,因?yàn)樗耐ㄐ攀芟抻谒俣群蛶?,相比基于CPU的電腦,時(shí)鐘速率也較慢。盡管如此,對(duì)于那些適合使用FPGA的應(yīng)用,成本能夠大大降低,并且有很強(qiáng)的性能。通過(guò)僅僅使用FPGA還有其它現(xiàn)成的部件,能夠使成本僅僅是電子前沿基金的DeepCrack那樣基于CPU的加密計(jì)算機(jī)成本的幾分之一。
COPACOBANA(圖2)使用了120個(gè)FPGA(根據(jù)具體設(shè)計(jì)增減),適配19英尺槽的三個(gè)單元。它每秒進(jìn)行480億此DES解密,功耗僅為600W,只需要運(yùn)行Windows或Linux系統(tǒng)的PC機(jī)控制就行。在加密硬件和嵌入式系統(tǒng)2006(CHES2006)工作坊的秘鑰挑戰(zhàn)中,COPACABANA花費(fèi)了21小時(shí)26分鐘29秒,以每秒431.852億值得吞吐率使用了128個(gè)處理器中的108個(gè)。在搜索了4.7%的秘鑰空間后,它找到了秘鑰。這種類型的硬件用在常規(guī)硬件攻擊中通過(guò)迭代猜測(cè)秘鑰或密碼來(lái)解鎖加密的傳輸。
圖2:COPACABANA:基于FPGA的廉價(jià)代碼破譯機(jī)。
-
可編程邏輯
+關(guān)注
關(guān)注
7文章
517瀏覽量
44133
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論