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

EDA技術(shù)與應(yīng)用(可編程邏輯器件)

可編程邏輯器件FPGA/CPLD結(jié)構(gòu)與應(yīng)用
FPGA CPLD可編程邏輯器件的在系統(tǒng)配置方法

評論