<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 第二代串行 RapidIO 和低成本、低功耗的 FPGA

          第二代串行 RapidIO 和低成本、低功耗的 FPGA

          作者: 時間:2011-05-02 來源:網(wǎng)絡 收藏

          隨著諸如無線、有線和醫(yī)療/圖像處理應用的帶寬需求不斷提高,設計師們必須依賴必要的工具集來獲得其所需的實時信號處理功能。在無線領域,例如現(xiàn)有的3G 網(wǎng)絡覆蓋,如HSPA+和EV-DO(即3G+)以及現(xiàn)在新興的4G部署,主要的關注焦點在于數(shù)據(jù)吞吐量和回傳的要求。它們要能夠支持迅速增長的用戶群,以及使用這些技術實現(xiàn)的無數(shù)視頻和數(shù)據(jù)應用。因此就需要高速處理能力,以及同樣重要的高度可靠、高吞吐量和低延遲的接口協(xié)議,來支持這些應用中所必需的各種DSP(DSP farm)、協(xié)同處理和橋接應用的需要。并且與大多數(shù)系統(tǒng)相同,成本和功耗也同樣非常重要。DSP和網(wǎng)絡處理單元(NPU)器件,加上支持第二代(SRIO)的低成本、,可以為滿足這些挑戰(zhàn)提供一個理想的平臺。

          本文引用地址:http://www.ex-cimer.com/article/191218.htm

          第二代SRIO
          規(guī)范是為各種終端定義的一種基于分組的技術,它最初是用于連接其他終端的數(shù)據(jù)包和交換的處理。如圖1所示,該協(xié)議棧是一個三層協(xié)議規(guī)范,分為物理層協(xié)議、數(shù)據(jù)包傳輸(路由)層協(xié)議,以及邏輯層中的多種傳輸類型。

          圖1 協(xié)議棧


          總體來看,第二代規(guī)范主要增加了對5/6Gb/s數(shù)據(jù)速率(SERDES)和用于高速通道的2x線路配置(與之前v1.3版本規(guī)范中僅支持1x/4x相比)的支持。正如前文所述,重點是在不犧牲設計的成本或功耗預算的情況下,提高性能,因此本文的重點在于介紹第二代規(guī)范的2x功能。這是一個關鍵的增強功能,因為在許多情況下,系統(tǒng)需要比一條3.125Gb/s線路提供更大的吞吐量,但是使用4x 線路配置又顯得多余了。這就是現(xiàn)在2x SERDES 線路配置可以提供的一個有效解決方案,讓設計人員選擇仍然使用一個低成本、解決方案,例如Lattice ECP3,并且還能支持大多數(shù)的應用高達4x的線路配置,速率高達3.125Gb/s。


          的可編程性和靈活性在邏輯層發(fā)揮了很大的作用,可以實現(xiàn)多種通信技術。如圖1所示,有4種數(shù)據(jù)傳輸協(xié)議。它們是直接I/O訪問、消息傳遞、GSM和數(shù)據(jù)流。邏輯層可以進行定制,這取決于系統(tǒng)架構/要求,以確定SRIO終端如何進行數(shù)據(jù)交換。圖1顯示了RapidIO規(guī)范表示的協(xié)議棧。


          圖2顯示了如何使用低成本的可編程平臺來實現(xiàn)協(xié)議棧。物理層和傳輸層使用標準的軟IP核實現(xiàn),但邏輯層還剩下許多可供用戶定制的特性,以滿足特定的設計要求。

          圖2 FPGA實現(xiàn)示例


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();