10G以太網系統中的并行CRC編解碼器的設計

    時間:2024-10-16 21:00:48 理工畢業論文 我要投稿
    • 相關推薦

    10G以太網系統中的并行CRC編解碼器的設計

    摘要:為了解決10G以太網接入系統中大規模并行CRC編碼器的設計問題,提出了矩陣法、代入法、流水線法等三種設計方法。以此為基礎,給出了10G以太網接入系統CHC編碼器的實現方案。具體計算表明,在10G以太網接入系統采用直接并行的CRC編碼器是可行的。直接并行設計CRC編碼器已經通過了EDA模擬,并成功地應用于10G以太網接入系統中。

    通信系統不可避免地要受到各種干擾的影響,使接收端收到的信息與發送端發出的信息不一致,即接收端收到的信息產生了誤碼。為了降低數據通信線路傳輸的誤碼率,通常有改善數據通信線路傳輸質量和差錯檢測控制兩種方法。差錯檢測控制的方法很多,本文討論在10G以太網接人系統中并行實現CRC-32編解碼的方法、并行CRC算法的Unfolding算法可以實現并行CRC的計算,但是并行電路所用的資源增加到了原來的J倍。8位并行CRC算法、并行CRC-16的編碼邏輯、USB技術中并行CRC算法給出的并行算法都建立在公式遞推的基礎上。當并行深度較小時,遞推算法比較適用。而當并行深度很大的情況下(10G以太網接人系統使用64比特并行數據通路),遞推過程就顯得過于煩瑣而缺乏實用性。為此,本文提出了矩陣法、代入法和流水線法等三種算法,解決了深度并行情況下CRC算法的實現問題。利用本文提出的算法,可以得出64比特并行CRC計算的邏輯表達式,并用于10G以太網接入系統的設計。設M/(x)為信息多項式,G(x)為生成多項式。一般的CRC編碼方法是:先將信息碼多項式左移r位,即M(x)·xr,然后作模2除法

    (M(x)· x r)/G(x)=Q(x) R(x)/G(x) (1)

    所得到的月(x)就是CRC校驗碼。以二進制碼0x9595H的CRC-32編碼為例:

    · 將信息碼左移32比特變成0x959500000000H,記為m。

    ·CRC-32G的生成多項G(x)=x32 x26 x23 x22 x16 x12 xll x10 x8 x7 x5 x4 x2 x 1,轉換成16進制碼為g=0x104C01DB7H。用m除以g(模2除法),所得余數0x3738F30BH就是0x9595H的CRC-32碼。實現0x9595H的基本CRC-32編碼的Matlab程序如下:

    g(33:-1:1)=[1,0 0 0 0 0 1 0 0,1 1 0 0 0 0 0 1,0 0 0 1 1 1 0 1,1 0 1 1 0 1 1 1];

    a(48:-1:1)=[1 0 0 1 0 1 0 1,1 0 0 1 0 1 0 1,0 0 0 0 0 0 0 0,0 0 0 0 0 0 0 0,0 0 0 0 0 0 0 0,0 0 0 0 0 0 0 0];

    for i=48:-1:33,

    if a(i)= =1

    a(i:-1:i-32)=xor(a(i:-1:i-32),i(33:-1:1));

    end

    end

    crc=a(32:-1:1)

    如果想用以上CRC-32程序計算其他長為L的序列的基本CRC-32碼,只需將數組α的上界和for循環中i的初始值改為32 L,并用該序列代替數組。開始的序列"1001010110010101"即可。用數字電路實現的串行CRC編碼器如圖1所示。圖1中每個矩形表示D觸發器。gi的取值范圍是1或者0。取1時表示通路,取0時表示斷路。進行基本CRC-32編碼時,每個D觸發器初始狀態為0,從數據端串行輸入二進制的信息碼。信息碼輸入結束后,D觸發器中鎖存的數值就是信息碼的基本CRC-32編碼。此電路適用于信息碼長為任意值的情況。在某些信息系統中以基本CRC產生算法為基礎附加了新的規定。例如IEEE802.3協議規定,以太網的FES(幀校驗序列)域以CRC-32為基礎,并且在編碼時首先將信息碼的最初4個字節取反碼,對目的地址、源地址、長度/類型域、數據域、PAD域求出基本CRC-32碼之后再將結果取反,最后的結果才是FCS。同上述過程等價的另一種實現方法是將圖1中所有D觸發器的初值置1,這樣結果不必取反。為使電路設計者驗證其FCS編碼正確,IEEE802.3還給出了一個樣本,即:將序列0xBED723476B8FB3145EFB3559H重復126次,最后得到的FCS值應該為0x94D254ACH。10G以太網是IEEE802.3ae工作組提出的建議。它保持了以前以太網的幀結構,但是線速度達到了10Gbps的量級。為了降低10G以太網接入系統的功耗并達到芯片加工工藝的要求,必須采用并行數據通路。為計算FCS需要研究并行CRC算法。所設計的10G以太網接入系統采用64比特并行數據通路,因此本文主要討論64比特并行CRC-32的實現方法。本文共介紹三種實現方法,其中矩陣法和代入法是基于組合邏輯的直接實現方法,第三種方法是基于流水線的實現方法。

    1 矩陣法

    記圖1中的32個D觸發器的輸出從右至左依次為d31,d30,…,d0。信息碼元的輸入端為i。令D=[d0d1…d31]T表示編碼器當前所處的狀態,I=[i63i62…i0]表示第1至第64個時鐘的信息碼元輸入,向量Dˊ=[d0ˊd1ˊ,…d31ˊ] T表示編碼器的下一個狀態,D(64)表示64個時鐘之后CRC編碼器所處的狀態。則設計64位并行CRC邏輯編碼器,就是找出函數關系D(64)=f(D,I)。

    do'=d31 i63

    d1'=d0 d31 i63

    d2'=d1 d31 i63

    d3'=d2

    d31'=d30

    寫成行列式,有D'=TD Si63

    【10G以太網系統中的并行CRC編解碼器的設計】相關文章:

    異地并行設計中WEB數據庫設計*03-18

    視頻并行處理系統分析與設計03-21

    TM1300 DSP系統以太網接口的設計03-18

    CPLD在DSP系統中的應用設計03-18

    嵌入式系統中的線性Flash文件系統設計03-21

    基于FPGA的快速并行FFT及其在空間太陽望遠鏡圖像鎖定系統中的應03-18

    擴頻系統中卷積編碼的Verilog設計與仿真03-07

    VHDL在高速圖像采集系統中的應用設計03-18

    UML 在嵌入式系統設計中的應用03-18

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      亚洲欧美中文日韩v在线中文字幕 | 制服丝袜亚洲中文欧美在线 | 日本免费不卡高清网站视频 | 午夜福利观看视频1色小妹 天天躁久久躁中文字字幕 亚洲一级高清在线观看 | 亚洲开心五月在线 | 亚洲欧洲卡通动漫精品 |