新聞中心

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

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

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

  PQ List將尾指針n更新為新寫(xiě)入的地址a,同時(shí)更新PRAM中n地址的內(nèi)容,將a作為下一跳添入n地址?;诠?jié)省操作周期,NULL的內(nèi)容保留原值,不再更新。這樣,一次BRAM的寫(xiě)入操作需要一次PRAM的讀取操作及一次PRAM的寫(xiě)入操作。

  QM模塊接收調(diào)度模塊的出隊(duì)信息,將出隊(duì)的PQ鏈表信息傳送給BM模塊進(jìn)行讀取操作。

圖4.jpg


圖4 BM模塊的寫(xiě)入操作

圖5.jpg


圖5 讀出操作的Free List堆棧結(jié)構(gòu)

  BM模塊的讀取操作由Read Control模塊發(fā)起完成,當(dāng)有數(shù)據(jù)單元需要讀出,相應(yīng)的數(shù)據(jù)單元地址則需要回收進(jìn)入空閑地址隊(duì)列Free List。對(duì)于不同的系統(tǒng)需求,空閑地址隊(duì)列Free List有不同的形式。比較簡(jiǎn)單的操作是將Free List作為堆棧形式使用。

  Read Control模塊由PQ List的首地址0讀出相應(yīng)的BRAM中的內(nèi)容,同時(shí)讀出PRAM中對(duì)應(yīng)的下一跳地址1,更新地址1為新的首地址。Free List將首指針a更新為剛釋放的地址0,同時(shí)地址0中寫(xiě)入下一跳指針a。這樣一次BRAM的讀出操作需要一次PRAM的讀取操作及一次PRAM的寫(xiě)入操作。

  作為堆棧形式的空閑地址隊(duì)列在實(shí)際操作中會(huì)把一部分空閑地址隊(duì)列放入片內(nèi)緩沖中。這樣在讀BRAM釋放地址進(jìn)入空閑地址隊(duì)列時(shí)可以節(jié)省PRAM的一次寫(xiě)入操作,在寫(xiě)B(tài)RAM時(shí)申請(qǐng)空閑地址時(shí)可以節(jié)省PRAM的一拍讀取操作。PRAM堆棧結(jié)構(gòu)下內(nèi)置空閑地址隊(duì)列表如圖6所示。

圖6.jpg


圖6 PRAM堆棧結(jié)構(gòu)下內(nèi)置空閑地址隊(duì)列表



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

評(píng)論


相關(guān)推薦

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

關(guān)閉