《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 萬兆以太網MAC的流量控制電路設計與實現
萬兆以太網MAC的流量控制電路設計與實現
2016年微型機與應用第13期
楊瑩1,張琴1,楊燦美2,林福江1
(1.中國科學技術大學 信息科學技術學院,安徽 合肥 230027;2.中國科學技術大學 先進技術研究院,安徽 合肥 230027)
摘要: 深入研究以太網組幀、傳輸的方式以及流量控制的原理,結合萬兆以太網介質訪問控制(XGMAC)64 bit數據并行處理的特點,針對PAUSE幀響應周期長、占用硬件資源多的問題,設計了一種精簡的基于PAUSE幀的流量控制電路,在ISE中邏輯綜合與仿真。驗證結果表明,該電路可滿足萬兆以太網流量控制的要求。
Abstract:
Key words :

  楊瑩1,張琴1,楊燦美2,林福江1

  (1.中國科學技術大學 信息科學技術學院,安徽 合肥 230027;2.中國科學技術大學 先進技術研究院,安徽 合肥 230027)

  摘要:深入研究以太網組幀、傳輸的方式以及流量控制的原理,結合萬兆以太網介質訪問控制(XGMAC)64 bit數據并行處理的特點,針對PAUSE幀響應周期長、占用硬件資源多的問題,設計了一種精簡的基于PAUSE幀的流量控制電路,在ISE中邏輯綜合與仿真。驗證結果表明,該電路可滿足萬兆以太網流量控制的要求。

  關鍵詞:萬兆以太網;流量控制;XGMAC;PAUSE幀

0引言

  自2002年萬兆以太網標準IEEE802.3ae[1]提出以來,萬兆以太網技術得到迅速發展與廣泛應用,近年來逐步取代千兆以太網成為新一代的城域骨干網絡。相對于千兆以太網MAC層的125 MHz時鐘頻率與8 bit數據處理位寬,萬兆以太網介質訪問控制(10 Gigabit Ethernet Media Access Controller, XGMAC)層采用156.25 MHz時鐘頻率與64 bit數據處理位寬。時鐘頻率的提高、數據位寬的增大給MAC層流控制電路的設計帶來新的挑戰[2]。本文針對XGMAC層的特點提出一種高效、低功耗的流控制電路設計方案,旨在減少流控制機制對系統造成的額外延時并以此提高發送和接收以太網幀的效率。

1基于PAUSE幀流控制的原理

  為了提高傳輸效率,XGMAC層采用PAUSE幀進行流量控制。PAUSE幀為符合IEEE802.3協議的一種控制幀,遵從以太網最小幀長度64 B的限制[3]。

001.jpg

  流量控制原理如圖1所示,當local_XGMAC 接收模塊中接收緩存快滿(快空)時,local發送模塊根據圖1XGMAC流量控制示意圖

  流量控制模塊指示的信號發送時間參數為0xFFFF(0x0000)的PAUSE幀。remote_XGMAC接收模塊接收到PAUSE幀并確認有效后,提取時間參數用于流量控制模塊的暫停發送計數器賦值,并以此控制發送模塊暫停(恢復)發送數據幀。

2流量控制電路的結構

  如圖2所示,XGMAC流量控制模塊分為發送和接收兩個部分。

  

002.jpg

  2.1PAUSE幀發送電路設計

  千兆以太網中,因其8 bit的數據處理位寬限制,PAUSE幀通常使用邏輯狀態機,按照幀格式通過狀態轉換填充至發送緩存,邏輯略顯繁瑣。

  本文經過對比分析后發現,對于暫停發送與恢復發送這兩種功能的幀,數據中有且只有時間參數與CRC校驗碼不同,考慮到XGMAC內部數據為64 bit并行處理,設計時可將幀中固定部分(即目的地址到操作碼)與控制字節直接固化于72 bit位寬的PAUSE ROM空間內,時間參數根據幀的功能對應賦值即可。發送電路的結構如圖2上半部分所示。實際工作中,由發送PAUSE控制器根據接收緩存邏輯判斷結果選擇PAUSE ROM或發送緩存FIFO作為數據源,按照XGMAC數據格式送至預存數據FIFO即可。

  本文設計的PAUSE發送控制器流程如圖3所示。

  

003.jpg

  計數器于發送PAUSE幀后啟動,用于保證兩次PAUSE幀發送的間隔時間;local XGMAC處于暫停接收狀態時,檢測到接收緩存快空時,即進入發送PAUSE幀狀態,設置時間參數0x0000,通知remote XGMAC可以繼續發送數據。PAUSE幀所需的CRC32校驗、填充及組幀可共用XGMAC本身的數據處理模塊。

  使用Verilog HDL[4]語言對PAUSE發送控制器進行描述,部分關鍵代碼如下:

  always@(posedge clk_tx or negedge reset_tx_n) begin

  if(!reset_tx_n) pauserom_sel <= 1′b0;

  else if(local_busy&pause_tmzero&(tx_empty|tx_eop)) pauserom_sel <= 1′b1;

  else if(pause_eop) pauserom_sel <= 1′b0;

  end

  assign txl_rdat= pauserom_sel? pauserom _rdat : tx_rdat;

  assign txl_eop = pauserom_sel? pauserom_eop : tx_eop;

  assign txl_sop = pauserom_sel? pauserom_sop : tx_sop;

  assign txl_empty = pauserom_sel? pause_rempty : (tx_empty | pause_state);

  assign pauserom_ren = pauserom _sel? txl_ren : 1′b0;

  assign tx_ren =pauserom _sel? 1′b0 : txlfifo_ren;

  其中,local_busy表示接收緩存FIFO快滿;pause_tmzero表示計數器計時結束;pause_state表示當前處于暫停發送狀態。

  2.2PAUSE幀接收電路設計

  本文設計的接收電路結構如圖2下半部分所示,接收PAUSE幀控制器是本設計的重點。與千兆以太網的8 bit數據處理位寬不同,64 bit并行識別PAUSE幀與定位參數的方式可大幅提高處理速度。XGMAC采用Deficit Idle Count(DIC)算法保證數據32 bit對齊;在本設計中利用移位寄存器,實現了數據幀的64 bit對齊,方便XGMAC的后續處理。實際工作中,3個時鐘周期可完成PAUSE識別。

  PAUSE接收控制流程如圖4所示。檢測到幀頭后進行判斷:若為PAUSE幀,設置暫停發送或者恢復發送的狀態;若是數據幀,則根據當前接收FIFO狀態保存數據,遞交上層協議。部分關鍵代碼為:

004.jpg


  if (curr_cnt == 11′d0 && rx_aligndat[47:0] == ′PAUSE_FRAME) begin

  next_pause_addr = 1′b1;

  end

  if (curr_cnt == 11′d8) begin

  next_pause_addr = 1′b0;

  if( pause_addr && rx_aligndat [47:32] == ′PAUSE_TYPE &&

  rx_aligndat [63:48] == ′PAUSE_OPERATE) begin

  next_pause_opera = 1′b1;

  end

  end

  if (curr_cnt == 11′d16 && pause_opera == 1′b1) begin

  next_pause_opera = 1′b0;

  next_pause_time = rx_aligndat [15:0];

  next_pause_frame = 1′b1;

  end

  其中,第一個時鐘沿完成組播目的地址的檢測;第二個時鐘沿結合地址檢測結果并行檢測幀的類型與操作碼;第三個時鐘根據前兩個檢測結果獲取時間參數并用于發送計數器。

3仿真及驗證

  電路選用Virtex5系列 XC5VSX50T型FPGA芯片,按以下流程使用ISIM進行仿真驗證:(1)模擬以太網數據幀發送過程中插入PAUSE幀;(2)模擬以太網數據幀接收過程中檢測PAUSE幀;(3)將發送部分與接收部分相連進行環回測試,檢測PAUSE幀發送與接收整個過程。環回測試截取仿真時間140 ns~550 ns的波形如圖5所示。圖5回環測試結果A處表示正常狀態下發送PAUSE控制器選擇讀取發送緩存 FIFO;B處監測到接收緩存FIFO快滿,進入監測數據幀發送狀態階段;C處表示當前數據幀讀取完畢;結合B處狀態,D處發送PAUSE控制器切換讀取PAUSE ROM并發送,若持續檢測到接收緩存FIFO快滿,則于計數器計數完成后再次進入D狀態,計數過程中正常發送數據幀;E處pause_frame_ok信號指示PAUSE幀環回后被正常接收識別。

005.jpg

  在ISE中對關鍵路徑進行約束,綜合后得到最高運行頻率達181.23 MHz,頻率設計余量約16%,滿足XGMAC設計要求。

4結論

  針對萬兆以太網MAC層64 bit并行數據的特殊性,本文通過在發送緩存鏈路中插入控制電路,利用小容量ROM配合簡易邏輯的方式,實現了發送端的流量控制。相對于純狀態邏輯的實現途徑,此方式更容易凸顯電路的簡潔,從而提升電路的高速性能;接收鏈路中,將接收數據64 bit對齊后,并行檢測特征參數以識別PAUSE幀,并提取時間參數反饋至發送端,有效地提升了處理速度。經過仿真,驗證了該方案可行。本文的思路對其他高速通信的流量控制電路設計具有一定借鑒意義。

參考文獻

  [1] IEEE Std 802.3ae2002, Media Access Control (MAC) Parameters, Physical Layers, and Management Parameters for 10 Gb/s Operation[S].2002 .

  [2] 張友亮, 劉志軍, 馬成海,等. 萬兆以太網MAC層控制器的FPGA設計與實現[J/OL]. 計算機工程與應用,(20110224).http://www.cnki.net/kcms/detail/11.2127.TP.20110224.1050.005.html.

  [3] 張立明,章建雄,王玉艷. 千兆以太網 MAC 的流量控制策略[J]. 計算機工程,2011,37(15):256258.

  [4] 夏宇聞.Verilog數字系統設計(第二版)[M].北京:北京航空航天大學出版社,2008.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品视频在线观看网站| 亚洲男女自偷自拍| 国产精品福利片| 欧美日韩国产系列| 欧美成人午夜激情在线| 久久综合久色欧美综合狠狠| 久久精品91| 久久aⅴ国产紧身牛仔裤| 香蕉免费一区二区三区在线观看 | 亚洲国产欧美日韩精品| 久久爱另类一区二区小说| 午夜影院日韩| 午夜亚洲精品| 欧美www视频| 欧美大片18| 久久久久久久久久久久久9999| 欧美亚洲视频在线看网址| 欧美亚洲一区二区在线观看| 欧美一级电影久久| 久久gogo国模裸体人体| 久久精品亚洲一区| 久久亚洲高清| 欧美国产大片| 欧美日韩国产综合网| 欧美三级午夜理伦三级中文幕| 欧美日韩一区二区在线观看视频| 欧美视频国产精品| 国产精品青草综合久久久久99| 国产农村妇女精品一区二区| 国产视频在线观看一区二区| 国产午夜精品久久久久久免费视| 国产午夜精品麻豆| 在线观看91精品国产麻豆| 亚洲国产另类久久久精品极度| 亚洲乱码国产乱码精品精天堂 | 日韩亚洲在线| 亚洲一区自拍| 久久精品夜色噜噜亚洲a∨| 久久免费黄色| 欧美精品日韩三级| 国产精品福利网站| 国产有码在线一区二区视频| 影音先锋另类| 日韩视频免费在线| 亚洲欧美日韩一区二区| 久久激五月天综合精品| 亚洲精选视频免费看| 亚洲一级在线| 久久久xxx| 欧美剧在线观看| 国产精品美女一区二区在线观看| 国产一区二区在线观看免费| 亚洲国产精品欧美一二99| 一区二区三区 在线观看视| 午夜精品在线视频| 亚洲精品小视频在线观看| 亚洲在线不卡| 久热精品视频在线观看| 欧美日韩国产成人精品| 国产色综合天天综合网| 一区二区三区毛片| 国产亚洲一区二区在线观看| 亚洲午夜一区二区| 久久国产视频网| 最近看过的日韩成人| 亚洲深夜影院| 久久久午夜精品| 欧美日韩理论| 国内精品视频666| 一区二区三区精品在线| 久久精品理论片| 亚洲男同1069视频| 蜜桃av噜噜一区| 国产精品日韩在线观看| 亚洲激情国产| 午夜在线视频一区二区区别| 亚洲精选一区| 久久久精品国产免费观看同学| 欧美另类综合| 黄色精品在线看| 亚洲视频自拍偷拍| 亚洲国产一二三| 欧美中文字幕在线播放| 欧美久久久久久| 一区在线免费观看| 亚洲制服av| 一区二区三区精品视频| 久久一区精品| 国产欧美一区二区精品忘忧草 | 国产主播喷水一区二区| 99精品视频网| 亚洲精品乱码久久久久久黑人| 欧美与欧洲交xxxx免费观看| 欧美精品福利视频| 精品1区2区3区4区| 午夜在线播放视频欧美| 亚洲欧美电影在线观看| 欧美精品偷拍| 亚洲国产精品一区制服丝袜| 久久国产欧美精品| 久久精品水蜜桃av综合天堂| 国产精品视频| 亚洲视频图片小说| 一本色道久久综合亚洲精品不卡 | 亚洲一区日本| 欧美日韩国产成人在线91| 在线观看欧美精品| 欧美日韩在线播放三区| 亚洲精品日韩一| 欧美一级在线亚洲天堂| 亚洲欧美在线免费观看| 欧美日韩精品一区视频| 亚洲精品黄色| 一本色道久久88综合亚洲精品ⅰ| 免费欧美在线视频| 伊人色综合久久天天五月婷| 性欧美8khd高清极品| 久久福利影视| 国产亚洲精品成人av久久ww| 亚洲欧美久久| 欧美一区二区三区在线视频| 国产精品久久久久久影视| 一本一本a久久| 亚洲一区二区三区四区视频| 欧美日韩国产欧| 日韩系列在线| 亚洲永久在线观看| 国产精品国产a| 亚洲一区二区在| 小黄鸭精品aⅴ导航网站入口| 国产精品久久久久久久久久三级| 一区二区三区视频观看| 亚洲一区欧美二区| 国产精品三级视频| 先锋影音久久| 久久亚洲一区二区| 亚洲国产高清在线| 日韩视频在线免费| 欧美日韩在线一区二区三区| 一区二区久久久久久| 亚洲欧美韩国| 国产亚洲一区在线| 亚洲经典一区| 欧美日韩国产成人| 亚洲一区二区三区成人在线视频精品| 欧美一区1区三区3区公司| 国产亚洲精品久久久久久| 久久精品国产成人| 欧美大片第1页| av成人免费观看| 亚洲老板91色精品久久| 欧美中文在线观看| 国产在线视频欧美| 亚洲精品色婷婷福利天堂| 欧美日韩伦理在线| 午夜在线观看免费一区| 欧美aaa级| 一区二区三区四区五区精品视频 | 亚洲一区二区精品在线| 国产精品videosex极品| 亚洲一区二区三区四区视频| 久久精品视频在线看| 亚洲大胆人体视频| 国产精品99久久久久久久女警| 国产精品视频区| 久久精品国内一区二区三区| 欧美高清在线一区| 亚洲香蕉成视频在线观看| 久久成人久久爱| 亚洲国产精品www| 亚洲免费视频网站| 精品福利免费观看| 国产精品99久久99久久久二8| 国产模特精品视频久久久久| 亚洲黄色视屏| 国产精品videosex极品| 亚洲电影免费观看高清完整版在线观看| 欧美另类变人与禽xxxxx| 亚洲在线电影| 久久亚洲二区| 国产精品99久久久久久久女警| 久久久欧美精品| 亚洲激情偷拍| 欧美主播一区二区三区美女 久久精品人| 尤物精品国产第一福利三区| 亚洲在线网站| 99热这里只有精品8| 国产精品日本欧美一区二区三区| 午夜免费久久久久| 欧美日韩精品免费观看视频| 欧美亚洲在线| 欧美视频日韩| 亚洲国产精品精华液网站| 国产精品对白刺激久久久| 亚洲国产欧美一区二区三区久久 | 欧美国产91| 欧美在线视频一区| 国产精品极品美女粉嫩高清在线| 亚洲国产日韩精品| 国产日韩欧美在线看|