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