<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于FPGA和IP Core的定制緩沖管理的實(shí)現

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

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

本文引用地址:http://dyxdggzs.com/article/191494.htm

圖1.jpg
圖1 TM的常規結構圖

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

  SEG模塊為數據切分塊,根據交換網(wǎng)的數據結構要求,在上交換網(wǎng)的方向上負責把IP包或數據包切分為固定大小的數據塊,方便后期的存儲調度以及交換網(wǎng)的操作處理,SEG模塊可配合使用SPI4-P2 IP 來(lái)實(shí)現。與SEG模塊對應的是RSM模塊,RSM模塊將從交換網(wǎng)下來(lái)的數據塊重新組合成完整的IP包或數據包。

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

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

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

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

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

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

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

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

圖2.jpg


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


上一頁(yè) 1 2 3 4 下一頁(yè)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>