色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

通過FPGA內部編程實現輪詢調度的設計

電子設計 ? 作者:電子設計 ? 2018-11-28 07:54 ? 次閱讀

1、 引言

4X2.5G線路接口卡是T比特路由器的一種重要接口,屬于高密度線路接口,這種接口是當前路由器設計中的一個重點和難點。所謂高密度,指的是在一塊繞路接口卡上提供多個接口。之所以出現高密度線路接口的需求,是因為互聯網的規模不斷的擴大,對路由器的接入能力提出了日益增大的需求,如果還沿用單板單接口的設計方法將導致路由器的物理規模不斷的擴大,不符合現代設備發展的趨勢。在4X2.5G線路接口卡的設計中,采用單片多路的SDH處理芯片S19202集中完成物理層的處理,然后根據整體設計方案在其后端進行數據的技術處理。

針對多路報文在送往轉發單元時的公平性和穩定性需求,以及SDH芯片S19202的特點,提出了輸入報文合路采用分片輪詢(Cell Round Robin Scheduling;CRR)和改進的欠賬式輪詢調度(Defect Round Robin Scheduling;DRR)相結合的調度策略。這種調度策略保證了4路POS接口之間的公平性和整包處理的穩定性,并且在工程上易于實現。本文第2節詳細闡述了該調度策略的設計與實現過程,第3節對全文進行了總結。

2、 輪詢調度的設計與實現

在4X2.5G線路接口卡的設計中,采用了AMCC公司的SDH處理芯片S19202進行鏈路層數據處理,該芯片的特點是4個接口共享同一組接收總線和同一組發送總線,另外提供通道選擇信號來指示當前工作的線路接口號,其輸入端每個接口的緩存大小最大只有1k字節,根本不足以緩存一個長的整包(最長包可達到1500字節)。

針對這個特點,設計中使用了在S19202后端的FPGA進行分片輪詢和整包接收的處理,保證了4個接口的公平性和穩定性;針對4個接口的報文共享一條到轉發的通路時,由于各接口的報文長度差異,可能造成的不公平和不穩定,提出了一種改進式欠賬輪詢的調度策略。通過分片輪詢和改進式欠賬輪詢的結合使用,保證了4個接口合路的公平性和穩定性。

通過FPGA內部編程實現輪詢調度的設計

圖1 輸入合路模塊中的輪詢調度策略

輸入合路模塊中聯合調度策略的原理如圖1所示,對SDH芯片S19202送出的4路數據進行分片逐個輪詢,并緩存進相應通道的整包接收FIFO,相應通道若沒有數據則輪空,轉入下一通道;整包輪詢合路調度則逐個輪詢4個整包FIFO,若該FIFO有整包,則在每一輪詢周期發送一個整包,否則輪空。

在該聯合調度策略中,分片輪詢調度比較容易實現,僅需在FPGA實現的最前端設計一個輪詢機,利用SDH芯片S19202提供的通道指示信號(在FPGA設計用SRX_CHANNEL表示)對每個通道進行固定的輪詢訪問,有數據則存入相應的通道整包接收FIFO即可。而整包調度是使每個通道得到服務的公平性和穩定性的關鍵,它直接決定著接收服務的通道所得到的服務帶寬、時延以及時延抖動等性能指標,因此本文把研究重點放在了整包調度的設計與實現上。

目前,在整包調度上,主要的調度算法有先到先服務(FCFS)、逐包調度(PRR)、公平排隊、虛時鐘、加權循環服務(WRR)等多種策略。由于多數調度方式在包長不定的IP網絡中實現時遇到了困難,為此,M.Sheedhar等提出了適用于IP網絡的欠帳式循環調度(DRR),該算法由于其較低的實現復雜度、良好的公平性及穩定性而被經常采用。

但是,DDR算法直接用于高密度線卡設計中會有一定的問題。首先,DRR算法是針對集成服務網絡中不同業務需求而提出的,在一般應用中由于隊列數較多,所以需要減小隊列數,而在我們的設計中只有4個隊列,所以不需要減小隊列數;其次,在線卡設計中合路報文的包長無法直接給出,如果一定要加上包長則需用多加一級緩存,這就增大了設計復雜度也提高了成本;同樣由于經典DDR算法嚴格要求儲蓄計數器值大于隊頭包長才輸出,這種不允許帶寬透支只允許盈余的要求會導致出現有包但是無法輸出的現象。

根據4X2.5G線路接口的實際情況和DDR算法的思想,我們可以給出如下適合高密度POS接口使用的改進式欠賬式循環調度策略:

1) 逐包輪詢;

通過FPGA內部編程實現輪詢調度的設計

采用這種改進的DRR算法下,可以保證在變長包的情況下,各個接口的整包緩存隊列在報文合路時公平的帶寬,確保合路調度的穩定運行。

DRR整包輪詢合路的基本工作過程為:輪詢4個整包緩存隊列,每讀取一個整包都判斷該包是否是協議包,如果是協議包,則按照上交CPU報文格式送協議FIFO,如果是需要轉發的報文,則按照轉發報文格式送數據報文FIFO。

調度機輪詢到某個隊列時,為該隊列的儲蓄計數器加上40;然后判斷該隊列是否為空,如果為空,則馬上轉向下一個隊列;如果非空,則判斷當前該隊列是否有整包,如果當前該隊列無整包,則轉到下一個隊列;否則,如果該隊列目前有整包則輸出該隊列的隊頭包到合路隊列,同時該路的儲蓄計數器的值要減去輸出報文的長度;然后重復上述過程,直到該隊列無整包或者隊列的儲蓄計數器的值小于40時跳轉到下一隊列服務,其詳細工作流程如圖2 所示:

通過FPGA內部編程實現輪詢調度的設計

圖2 改進的DRR合路調度流程圖

DRR合路調度單元已在ALTERA公司的quartusII4.1環境下用VHDL編程實現,其仿真波形如圖3所示:

通過FPGA內部編程實現輪詢調度的設計

圖3 DRR合路調度單元仿真波形圖

仿真結果顯示這種采用分片輪詢和欠賬輪詢的結合的合路調度策略設計可以達到性能需求,確保變長分組合路調度的公平性和穩定性。

3、 結束語

根據SDH芯片的S19202的特點和性能要求,通過在FPGA內部編程實現分片輪詢和改進式欠賬輪詢結合的調度策略,保證了4X2.5G線路接口卡輸入端各個接口合路的公平性和穩定性。經測試該設計性能穩定,整個工作流程簡單實用,符合設計要求。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21786

    瀏覽量

    605071
  • 芯片
    +關注

    關注

    456

    文章

    51121

    瀏覽量

    426083
  • 計數器
    +關注

    關注

    32

    文章

    2259

    瀏覽量

    94868
收藏 人收藏

    評論

    相關推薦

    IC設計:Verilog是如何實現RR輪詢調度的?

    在設計中,我們經常會用到RR(Round-Robin,RR)輪詢調度,用于保證在一個時間段內的多個請求信號都能得到公平響應。
    的頭像 發表于 12-13 16:14 ?1897次閱讀

    FPGA實現原理

    FPGA(Field-Programmable Gate Array,現場可編程門陣列)是一種特殊的集成電路,其內部結構由大量的可配置邏輯塊和互連線組成。FPGA可以
    發表于 01-26 10:03

    請問FreeRTOS是如何實現調度的?

    了stm32的官方例程,原理上的東西大致懂了,可在程序中是如何實現的呢,C語言障礙,沒看懂。首先是調度函數,函數函數是如何執行的呢?如下圖,新建任務后執行調度函數,為什么沒用循環,調度
    發表于 07-30 07:40

    Microchip單片機固定時間片輪詢調度匯編代碼 精選資料分享

    這是一個能在PIC16F877A開發板上運行的固定時間片輪詢調度編程序代碼。為什么要用時間片輪詢調度?假如我們要寫一個單片機程序,程序的目
    發表于 07-13 08:53

    Microchip單片機固定時間片輪詢調度匯編代碼 精選資料推薦

    這是一個能在PIC16F877A開發板上運行的固定時間片輪詢調度編程序代碼。為什么要用時間片輪詢調度?假如我們要寫一個單片機程序,程序的目
    發表于 07-13 08:14

    基于PIC16F877A開發板的固定時間片輪詢調度編程序干了啥

    為什么要用時間片輪詢調度?基于PIC16F877A開發板的固定時間片輪詢調度編程序干了啥?
    發表于 08-02 07:36

    通過對stm32內部的flash的讀寫可以實現對stm32的編程操作

    一、Flash簡介  通過對stm32內部的flash的讀寫可以實現對stm32的編程操作。  stm32的內置可編程Flash在許多場合具
    發表于 08-05 07:56

    什么是FPGAFPGA功能實現

    通過編程來改變內部結構的芯片。FPGA 功能實現:需要通過
    發表于 01-25 06:45

    調度器的原理及其任務調度代碼實現

    一、介紹調度器是常用的一種編程框架,也是操作系統的拆分多任務的核心,比如單片機的裸機程序框架,網絡協議棧的框架如can網關、485網關等等,使用場合比較多,是做穩定產品比較常用的編程技術二、原理1
    發表于 02-17 07:07

    基于FPGA輪詢合路的設計和實現

    針對高密度接口設計中基于字節處理和整包處理的轉換問題,本文提出了分片輪詢調度和改進式欠賬輪詢調度相結合的調度策略,該策略在很大程度上保證了公
    發表于 08-09 15:30 ?21次下載

    如何使用OpenCL輕松實現FPGA應用編程

    實現這一編程思想的轉變,是因為 FPGA 借助 OpenCL 實現編程,程序員只需要通過 C/
    發表于 07-16 17:58 ?6626次閱讀
    如何使用OpenCL輕松<b class='flag-5'>實現</b><b class='flag-5'>FPGA</b>應用<b class='flag-5'>編程</b>

    PYNQ就是通過Python語言直接對FPGA進行編程

    PYNQ框架的設計初衷是通過高層次的封裝,將底層硬件FPGA實現細節與上層應用層的使用脫耦,對軟件開發者來說,PYNQ框架已經提供了完整的訪問FPGA資源的library,讓上層應用開
    的頭像 發表于 02-08 10:59 ?4747次閱讀

    基于完全服務輪詢機制MAC協議的FPGA設計

    基于完全服務輪詢機制MAC協議的FPGA設計(通信電源技術雜志訂閱)-該文檔為基于完全服務輪詢機制MAC協議的FPGA設計講解文檔,是一份還算不錯的參考文檔,感興趣的可以下載看看,,,
    發表于 09-27 15:15 ?2次下載
    基于完全服務<b class='flag-5'>輪詢</b>機制MAC協議的<b class='flag-5'>FPGA</b>設計

    RR輪詢調度?Verilog是如何實現RR輪詢調度的?

    在設計中,我們經常會用到RR(Round-Robin,RR)輪詢調度,用于保證在一個時間段內的多個請求信號都能得到公平響應。
    的頭像 發表于 09-28 09:55 ?4051次閱讀
    RR<b class='flag-5'>輪詢</b><b class='flag-5'>調度</b>?Verilog是如何<b class='flag-5'>實現</b>RR<b class='flag-5'>輪詢</b><b class='flag-5'>調度</b>的?

    fpga是什么 fpga用什么編程語言

    更高的靈活性和可重構性。在FPGA中,用戶可以通過編程來配置硬件單元之間的連接關系,從而實現所需的電路功能。接下來,我們將詳細介紹FPGA
    的頭像 發表于 02-04 15:26 ?1815次閱讀
    主站蜘蛛池模板: 国产香蕉视频在线观看| 天天槽任我槽免费| lesbabes性欧美| 一品道门在线视频| 小小水蜜桃视频高清在线观看免费| 琪琪色原网20岁以下热热色原网站| 久久综合给合久久狠狠狠…| 精品久久免费视频| 近亲乱中文字幕| 久久久黄色片| 久久亚洲网站| 欧美激情精品久久久久久不卡| 美女议员被泄裸照| 女人色极品影院| 三级貂蝉艳史 在线观看| 日韩欧美一区二区三区在线视频| 日韩午夜中文字幕电影| 伊人国产在线播放| 国产精品女上位在线观看| 国产精品免费视频能看| 免费在线亚洲视频| 谁有成人网站地址| 亚洲无人区码二码三码区别图| 在教室伦流澡到高潮HNP视频 | 国产色婷婷精品人妻蜜桃成熟| 国产又爽又黄又不遮挡视频| 九九热久久只有精品2| 久久视频这有精品63在线国产| 乡村教师电影完整版在线观看| 超碰在线97av视频免费| 国产日韩欧美三级| 少妇厨房愉情理9伦片视频| 亚洲一二三产品区别在哪里| 大地影院在线播放| 韩国黄色影院| 男人网站在线观看| 无套暴躁白丝秘书| 97视频免费观看| 国产精品v片在线观看不卡| 久久精品热99看二| 野花日本免费完整版高清版动漫|