0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

關于可編程邏輯器件的性能分析和應用

貿(mào)澤電子 ? 來源:djl ? 作者: Barry Manz, Mouser E ? 2019-08-27 17:53 ? 次閱讀

如今,不僅是高性能FPGA還有其它邏輯器件都正在變得越來越強大了,它們正整合著傳統(tǒng)上由其它類型的邏輯器件完成的功能,比如CPU、GPU還有DSP等。它們可謂是瑞士軍刀的半導體版本。

1969年,成千上萬人(包括作者本人)聚在烏茲托克音樂節(jié),協(xié)和號飛機進行了第一次試飛,尼克松上任,此外還有一件重大的事情在那年發(fā)生:帶有12個門和30個輸入/輸出引腳的XC157掩模編程門陣列出現(xiàn)在了1968版古老的摩托羅拉半導體數(shù)據(jù)手冊上(圖1)。

用老生常談的話說就是,接下來的事大家都知道了——由許許多多廠家制造的不同邏輯器件讓眾多類型的嵌入式系統(tǒng)成為現(xiàn)實。

根據(jù)復雜度的相對級別,紛繁復雜的邏輯器件可大致分為三類(表1)。位于表中頂層的是現(xiàn)場可編程器件的霸主——FPGA以及它們的變體——自從1985年David W.Page和LuVerne Peterson發(fā)起這個概念后,它們已經(jīng)有很長的一段歷史了。FPGA和它們最相近的兄弟復雜可編程邏輯器件(CPLD)的區(qū)別在于它們能夠完成復雜功能的能力,它們就像一個“空白的畫布”,它們的功能在之后被描繪在畫布上,而不是由廠家預先特定地賦予。

關于可編程邏輯器件的性能分析和應用

圖1:如1968版摩托羅拉半導體數(shù)據(jù)書冊上描述的摩托羅拉XC157”多門陣列”感謝:Jason Scott,所有者,textfiles.com

FPGA真可謂是大顯神通,因為它們無需外設就可以進行計算、信號處理、高速通信還有其它功能。在一個FPGA上去定義數(shù)量龐大的連接和器件邏輯功能從來都不是意見容易的事,也沒有必要那樣做,F(xiàn)PGA廠商和軟件開發(fā)商已經(jīng)開發(fā)出來軟件工具可以讓開發(fā)的過程變得輕松。為了加速編程開發(fā)過程,也可以使用預先設計的和驗證了的知識產(chǎn)權(IP)功能模塊。

FPGA這個概念的提出始于19世紀80年代末,它是美國海軍水面作戰(zhàn)部一個計劃的成果,當時業(yè)內(nèi)人士開發(fā)出了一個實現(xiàn)了600,000個可編程門的計算機。那不久之后,第一款商業(yè)FPGA(XC2064)由賽靈思創(chuàng)始人Ross Freeman和Bernard Vonderschmiitt在1985年推出。該FPGA是個8x8可配置邏輯模塊(CLB)格(64個CLB),帶有兩個3輸入查找表(LUT)。

很快到了現(xiàn)在,發(fā)展的速度讓人吃驚。如今集成ARM Cortex內(nèi)核或其它處理內(nèi)核的FPGA能夠給DSP、集成ADC每秒執(zhí)行超過1萬億次的浮點型運算,總吞吐率(所有串行收發(fā)通道)達3Tb/s,有超過5千萬個邏輯元件,超高速內(nèi)存(容量很大),還有128位加密。所有的這些甚至還會有更多都包含在這個單一器件上,并且功耗很低,前所未有的低延遲,還有更多讓人印象深刻的屬性。如今FPGA能夠實現(xiàn)這么多不同類型的功能以至于它們現(xiàn)在不僅僅是一個片上系統(tǒng),同時也是一個更靈活、復雜的系統(tǒng)。例如,以前通訊系統(tǒng)中用到一組ASIC電路來實現(xiàn)前端的接收機功能,如今利用一片F(xiàn)PGA就能搞定。不像ASIC電路那樣在制造過程中功能就固定了,F(xiàn)PGA可被再編程,而硬件上沒有大體的改變。

FPGA的下一個前沿

下一步FPGA主要應用在可配置計算當中,連同軟件一起,它們提供一臺計算機的所有功能,利用一個通用處理器作為控制。這并不是一個新概念,它已經(jīng)在19世紀60年代被人們描述出來了,并于1991年由Algotronix公司的Tom Kean、John Gray博士和David Rees博士在CHS2X4平臺上展示出來了。此平臺基于該公司的CAL1024 FPGA,有1024個1.5-μm雙金屬CMOS工藝的可編程器件,并且是第一款能對控制內(nèi)存提供隨機訪問的FPGA,也是第一款能夠給要構建的設備使能陣列提供輸入/輸出信號共享的FPGA。這一成就和技術使得賽靈思在1993年收購了Algotronix公司。

在一些特定高性能系統(tǒng)中已經(jīng)使用FPGA來進行可重新配置計算了,包括加密領域。一個有趣的例子是密碼破譯機器即成本優(yōu)化并行代碼斷路器(COPACOBANA),專門為如數(shù)據(jù)加密標準(DES)及其它并行計算問題設計。在任何意義上這并不是一個通用用途,因為它的通信受限于速度和帶寬,相比基于CPU的電腦,時鐘速率也較慢。盡管如此,對于那些適合使用FPGA的應用,成本能夠大大降低,并且有很強的性能。通過僅僅使用FPGA還有其它現(xiàn)成的部件,能夠使成本僅僅是電子前沿基金的DeepCrack那樣基于CPU的加密計算機成本的幾分之一。

COPACOBANA(圖2)使用了120個FPGA(根據(jù)具體設計增減),適配19英尺槽的三個單元。它每秒進行480億此DES解密,功耗僅為600W,只需要運行Windows或Linux系統(tǒng)的PC機控制就行。在加密硬件和嵌入式系統(tǒng)2006(CHES2006)工作坊的秘鑰挑戰(zhàn)中,COPACABANA花費了21小時26分鐘29秒,以每秒431.852億值得吞吐率使用了128個處理器中的108個。在搜索了4.7%的秘鑰空間后,它找到了秘鑰。這種類型的硬件用在常規(guī)硬件攻擊中通過迭代猜測秘鑰或密碼來解鎖加密的傳輸。

圖2:COPACABANA:基于FPGA的廉價代碼破譯機。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 可編程邏輯
    +關注

    關注

    7

    文章

    514

    瀏覽量

    44010
收藏 人收藏

    評論

    相關推薦

    可編程邏輯器件

    可編程邏輯器件到底是干什么用的呢,簡單的說,就是通過重新寫程序,重新注入到這個器件中達到實現(xiàn)其它的功能。最常見的當屬電腦了。電腦本身除了加法,減法和簡單的邏輯運算四種。比如要是想實現(xiàn)一個功能讓電腦
    發(fā)表于 04-15 10:02

    可編程邏輯器件是如何發(fā)展的?

    可編程邏輯器件是如何發(fā)展的?
    發(fā)表于 04-29 06:23

    PLD可編程邏輯器件

    PLD可編程邏輯器件 英文全稱為:programmable logic device 即 PLD。PLD是做為一種通用集成電路產(chǎn)生的,他的邏輯功能按照用戶對器件編程來確定。一般的PLD
    發(fā)表于 07-22 09:05

    可編程邏輯器件設計

    可編程邏輯器件設計 (264頁,nlc格式)
    發(fā)表于 03-25 16:41 ?66次下載

    可編程邏輯器件基礎及應用實驗指導書

    可編程邏輯器件基礎及應用實驗指導書 《可編程邏輯器件基礎及應用》是一門側重掌握可編程邏輯器件的基本結構和原理的課程。重點是使學生掌握基于可編程
    發(fā)表于 03-24 14:22 ?29次下載

    什么是PLD(可編程邏輯器件)

    什么是PLD(可編程邏輯器件) PLD是可編程邏輯器件(Programable Logic Device)的簡稱,F(xiàn)PGA是現(xiàn)場可編程門陣列(Field Programable Gate Array)
    發(fā)表于 06-20 10:32 ?2.3w次閱讀
    什么是PLD(<b class='flag-5'>可編程邏輯器件</b>)

    EDA技術與應用(可編程邏輯器件)

    7.1 可編程邏輯器件的基本原理 7.2 可編程邏輯器件的設計技術 7.3 可編程邏輯器件編程與配置
    發(fā)表于 05-23 10:46 ?142次下載
    EDA技術與應用(<b class='flag-5'>可編程邏輯器件</b>)

    可編程邏輯器件FPGA/CPLD結構與應用

    可編程邏輯器件FPGA/CPLD結構與應用
    發(fā)表于 12-11 23:38 ?0次下載

    可編程邏輯器件(書皮)

    可編程邏輯器件(書皮)
    發(fā)表于 07-10 14:34 ?0次下載

    可編程邏輯器件原理、開發(fā)與應用

    可編程邏輯器件原理、開發(fā)與應用
    發(fā)表于 09-19 16:04 ?19次下載
    <b class='flag-5'>可編程邏輯器件</b>原理、開發(fā)與應用

    可編程邏輯器件PLD課件下載

    可編程邏輯器件PLD課件下載
    發(fā)表于 08-13 10:58 ?31次下載

    可編程邏輯器件EPLD是如何設計的

    可編程邏輯器件(Electrically Programmable Logic Device,EPLD)是指采用電信號的可擦可編程邏輯器件
    發(fā)表于 08-22 18:12 ?1236次閱讀

    可編程邏輯器件的結構

    常見的可編程邏輯器件分為FPGA、EPLD(CPLD)。下面簡單介紹兩類器件的結構和區(qū)別。
    的頭像 發(fā)表于 03-24 14:18 ?1034次閱讀
    <b class='flag-5'>可編程邏輯器件</b>的結構

    可編程邏輯器件測試

    可編程邏輯器件 (Programmable Loeie Device,PLD)是一種用戶編程實現(xiàn)某種邏輯功能的邏輯器件,主要由
    發(fā)表于 06-06 15:37 ?594次閱讀
    <b class='flag-5'>可編程邏輯器件</b>測試

    什么叫可編程邏輯器件 可編程邏輯器件有哪些特征和優(yōu)勢?

    可編程邏輯器件(Programmable Logic Device,PLD)是一類集成電路器件,可以根據(jù)用戶的需求進行編程和配置,以實現(xiàn)特定的邏輯功能。它們具有
    發(fā)表于 09-14 15:25 ?2293次閱讀