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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA和IP Core的定制緩沖管理的實現(xiàn)

          基于FPGA和IP Core的定制緩沖管理的實現(xiàn)

          作者: 時間:2010-11-05 來源:網(wǎng)絡(luò) 收藏

          隨著通信協(xié)議的發(fā)展及多樣化,協(xié)議處理部分PE在硬件轉(zhuǎn)發(fā)實現(xiàn)方面,普遍采用現(xiàn)有的商用芯片NP(Network Processor,網(wǎng)絡(luò)處理器)來完成,流量管理部分需要根據(jù)系統(tǒng)的需要進(jìn)行或采用商用芯片來完成。在很多情況下NP芯片、TM芯片、交換網(wǎng)芯片無法選用同一家廠商的芯片,這時TM成為了成本最低、系統(tǒng)最優(yōu)化的方案,一般采用來實現(xiàn),TM的常規(guī)結(jié)構(gòu)如圖1所示。

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

          圖1.jpg
          圖1 TM的常規(guī)結(jié)構(gòu)圖

            目前主流的TM接口均為SPI4-P2接口形式,SPI4-P2接口信號速率高,TCCS(Chan nel-to-channel skew,數(shù)據(jù)通道的抖動,包含時鐘的抖動)難以控制,在常規(guī)情況下很難做到很高的速率。SPI4-P2接口為達(dá)到高速率同時避免TCCS問題在很多情況下都對接收端提出了DPA(動態(tài)相位調(diào)整)的要求。對于SPI4-P2接口形式可直接采用Altera公司的IP 實現(xiàn)。Altera的主流均實現(xiàn)了硬件DPA功能,以Stratix II器件為例,在使能DPA的情況下使用SPI4-P2 IP 可實現(xiàn)16Gb/s的接口數(shù)據(jù)速率。

            SEG模塊為數(shù)據(jù)切分塊,根據(jù)交換網(wǎng)的數(shù)據(jù)結(jié)構(gòu)要求,在上交換網(wǎng)的方向上負(fù)責(zé)把IP包或數(shù)據(jù)包切分為固定大小的數(shù)據(jù)塊,方便后期的存儲調(diào)度以及交換網(wǎng)的操作處理,SEG模塊可配合使用SPI4-P2 IP 來實現(xiàn)。與SEG模塊對應(yīng)的是RSM模塊,RSM模塊將從交換網(wǎng)下來的數(shù)據(jù)塊重新組合成完整的IP包或數(shù)據(jù)包。

            BM(Buffer Management)模塊為緩沖管理模塊,管理TM的緩沖單元,完成DRAM的存取操作。外部DRAM的控制部分可使用使用DDR SDRAM IP Core實現(xiàn)。

            QM模塊為隊列管理模塊,負(fù)責(zé)完成端口的數(shù)據(jù)隊列管理功能,接收BM模塊讀寫DRAM時的數(shù)據(jù)入隊、出隊請求,TM所能支持的數(shù)據(jù)流的數(shù)目、業(yè)務(wù)類型數(shù)目、端口的數(shù)目等性能指標(biāo)在QM模塊處體現(xiàn)出來。

            Scheduler模塊為調(diào)度模塊,根據(jù)數(shù)據(jù)包類型及優(yōu)先級和端口分配的帶寬進(jìn)行調(diào)度,TM流量整形、QOS等功能通過調(diào)度模塊實現(xiàn)。

            CELL_EDIT模塊完成輸出數(shù)據(jù)的封裝,把由DRAM中讀出的數(shù)據(jù)封裝后發(fā)送出去。

            在TM中需要基于數(shù)據(jù)服務(wù)策略對于不同服務(wù)等級的數(shù)據(jù)包進(jìn)行不同的管理策略,同時要保證流媒體的數(shù)據(jù)包不能亂序,數(shù)據(jù)包有大有小,經(jīng)過SEG模塊所分割成的數(shù)據(jù)塊的數(shù)目也有多有少,這樣就必須有一套行之有效的數(shù)據(jù)結(jié)構(gòu)基于鏈表的方法管理這些數(shù)據(jù)。QM模塊基于業(yè)務(wù)、數(shù)據(jù)流的方式管理隊列,包的管理便由BM模塊完成。

            BM模塊中基于包的數(shù)據(jù)結(jié)構(gòu)方面由兩部分構(gòu)成:BRAM和PRAM。BRAM為數(shù)據(jù)緩沖區(qū),對應(yīng)片外的DRAM。BRAM負(fù)責(zé)存儲數(shù)據(jù)單元,相對于SEG模塊切分的數(shù)據(jù)單元,BRAM內(nèi)有相應(yīng)大小的存儲單元BCELL與之對應(yīng),BCELL在BRAM內(nèi)以地址空間劃分,每個BCELL相同大小,BCELL為BRAM的最小存取單元。在實際系統(tǒng)中基于SEG模塊切分的數(shù)據(jù)單元大小,BCELL一般為64~512B。

            PRAM為指針緩沖區(qū),PRAM對應(yīng)片外的SSRAM。PRAM內(nèi)部同樣以地址空間分為PCELL,PCELL與BCELL一一對應(yīng),每一個PCELL對應(yīng)于一個BCELL,對應(yīng)的PCELL與BCELL地址相同。

            PCELL的地址對應(yīng)的代表相應(yīng)單元的BCELL的地址,PCELL中的基本信息是下一跳指針。PRAM與BRAM關(guān)系如圖2所示。

          圖2.jpg


          圖2 PRAM與BRAM關(guān)系圖


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: FPGA Core 定制

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();