- 相關(guān)推薦
10G以太網(wǎng)系統(tǒng)中的并行CRC編解碼器的設(shè)計
摘要:為了解決10G以太網(wǎng)接入系統(tǒng)中大規(guī)模并行CRC編碼器的設(shè)計問題,提出了矩陣法、代入法、流水線法等三種設(shè)計方法。以此為基礎(chǔ),給出了10G以太網(wǎng)接入系統(tǒng)CHC編碼器的實現(xiàn)方案。具體計算表明,在10G以太網(wǎng)接入系統(tǒng)采用直接并行的CRC編碼器是可行的。直接并行設(shè)計CRC編碼器已經(jīng)通過了EDA模擬,并成功地應(yīng)用于10G以太網(wǎng)接入系統(tǒng)中。關(guān)鍵詞:10G 以太網(wǎng) CRC 并行
通信系統(tǒng)不可避免地要受到各種干擾的影響,使接收端收到的信息與發(fā)送端發(fā)出的信息不一致,即接收端收到的信息產(chǎn)生了誤碼。為了降低數(shù)據(jù)通信線路傳輸?shù)恼`碼率,通常有改善數(shù)據(jù)通信線路傳輸質(zhì)量和差錯檢測控制兩種方法。差錯檢測控制的方法很多,本文討論在10G以太網(wǎng)接人系統(tǒng)中并行實現(xiàn)CRC-32編解碼的方法、并行CRC算法的Unfolding算法可以實現(xiàn)并行CRC的計算,但是并行電路所用的資源增加到了原來的J倍。8位并行CRC算法、并行CRC-16的編碼邏輯、USB技術(shù)中并行CRC算法給出的并行算法都建立在公式遞推的基礎(chǔ)上。當并行深度較小時,遞推算法比較適用。而當并行深度很大的情況下(10G以太網(wǎng)接人系統(tǒng)使用64比特并行數(shù)據(jù)通路),遞推過程就顯得過于煩瑣而缺乏實用性。為此,本文提出了矩陣法、代入法和流水線法等三種算法,解決了深度并行情況下CRC算法的實現(xiàn)問題。利用本文提出的算法,可以得出64比特并行CRC計算的邏輯表達式,并用于10G以太網(wǎng)接入系統(tǒng)的設(shè)計。設(shè)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,轉(zhuǎn)換成16進制碼為g=0x104C01DB7H。用m除以g(模2除法),所得余數(shù)0x3738F30BH就是0x9595H的CRC-32碼。實現(xiàn)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
[1] [2] [3] [4] [5]
【10G以太網(wǎng)系統(tǒng)中的并行CRC編解碼器的設(shè)計】相關(guān)文章:
遠程監(jiān)控系統(tǒng)中的CAN總線與以太網(wǎng)互聯(lián)設(shè)計04-29
工業(yè)以太網(wǎng)在軌道交通電力監(jiān)控系統(tǒng)中的應(yīng)用05-01
利用協(xié)同優(yōu)化方法實現(xiàn)復(fù)雜系統(tǒng)分解并行設(shè)計優(yōu)化04-26
基于并行子系統(tǒng)的飛行器多學(xué)科穩(wěn)健優(yōu)化設(shè)計04-27
淺談醫(yī)院配電設(shè)計中的IT系統(tǒng)04-27
TDCS系統(tǒng)中VLAN的設(shè)計與實現(xiàn)05-02
并行工程運行的組織平臺設(shè)計04-30
基于工業(yè)以太網(wǎng)的隧道本地控制系統(tǒng)05-01
基于CAN總線與以太網(wǎng)互聯(lián)的實時溫度和濕度監(jiān)控系統(tǒng)的研究與設(shè)計04-27