欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種面向128位并行輸入的crc-32校驗(yàn)電路的制作方法

文檔序號:9330185閱讀:1214來源:國知局
一種面向128位并行輸入的crc-32校驗(yàn)電路的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明專利涉及容錯技術(shù)領(lǐng)域,具體為一種面向128位并行輸入的CRC-32校驗(yàn)電 路。
【背景技術(shù)】
[0002] 循環(huán)冗余校驗(yàn)CRC(Cyclic Redundancy Check)以較優(yōu)的誤碼檢錯能力和易于硬 件實(shí)現(xiàn)的優(yōu)點(diǎn),廣泛應(yīng)用于各種通信協(xié)議中。
[0003] 傳統(tǒng)的CRC編解碼電路基于串行數(shù)據(jù)輸入方式,其實(shí)現(xiàn)方式簡單,資源占用小,但 是其只能處理串行輸入的數(shù)據(jù),難以實(shí)現(xiàn)當(dāng)前高速并行網(wǎng)絡(luò)的數(shù)據(jù)校驗(yàn)。當(dāng)前,實(shí)現(xiàn)并行數(shù) 據(jù)的校驗(yàn)電路多樣,主要有:(1)公式法,根據(jù)串行移位電路推導(dǎo)得出當(dāng)前CRC值與前一級 CRC值和當(dāng)前并行數(shù)據(jù)輸入的關(guān)系。隨著位寬的提高,公式法推導(dǎo)關(guān)系變得極為復(fù)雜,難以 實(shí)現(xiàn)。(2)查表法,根據(jù)輸入數(shù)據(jù)從CRC碼表中查找出相應(yīng)的值進(jìn)行處理。由于查表法需要 大容量的存儲單元,其硬件消耗巨大,隨著位寬的提高,其代價更高,不利于實(shí)現(xiàn)高位寬的 實(shí)時校驗(yàn)處理。

【發(fā)明內(nèi)容】

[0004] 針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明提供一種硬件成本低,實(shí)時處理速度快,數(shù)據(jù) 傳輸效率高的面向128位并行輸入的CRC-32校驗(yàn)電路。
[0005] 本發(fā)明是通過以下技術(shù)方案來實(shí)現(xiàn):
[0006] -種面向128位并行輸入的CRC-32校驗(yàn)電路,包括整數(shù)字節(jié)編碼模塊,反相器,比 較器,分別以字節(jié)有效信號be為數(shù)據(jù)選擇輸出信號的CRC選擇模塊,NEXT_CRC選擇模塊, CRC寄存器和數(shù)據(jù)選擇模塊;以及用于對8*N位并行數(shù)據(jù)從高位到低位均分為四組后的輸 入數(shù)據(jù)對應(yīng)進(jìn)行預(yù)處理編碼的四個D2C編碼模塊,其中,N= 1,2……16;用于對CRC寄存 器中的CRC值進(jìn)行四級編碼的四級C2C編碼模塊;用于將四組預(yù)處理結(jié)果和各級編碼結(jié)果 對應(yīng)進(jìn)行異或運(yùn)算的四級Xor模塊;CRC選擇模塊用于對CRC寄存器中的CRC值和前三級 Xor模塊的輸出進(jìn)行選擇輸出,作為整數(shù)字節(jié)編碼模塊的初始CRC值;數(shù)據(jù)選擇模塊用于對 四組輸入數(shù)據(jù)進(jìn)行選擇輸出32位并行數(shù)據(jù),作為整數(shù)字節(jié)編碼模塊的輸入值;整數(shù)字節(jié)編 碼模塊用于將初始CRC值對輸入值進(jìn)行校驗(yàn),然后輸出三個分別關(guān)于高8位、高16位和高 24位的CRC校驗(yàn)結(jié)果;NEXT_CRC選擇模塊采用多路選擇器,輸入端分別連接整數(shù)字節(jié)編碼 模塊的三路校驗(yàn)結(jié)果和四級Xor模塊的異或運(yùn)算結(jié)果,輸出端輸出選擇后得到的CRC校驗(yàn) 結(jié)果,并連接至CRC寄存器的輸入端;反相器用于將CRC寄存器中的CRC值按位取反輸出所 需的CRC編碼;比較器用于將CRC寄存器中的CRC值與魔數(shù)相比,并將校驗(yàn)成功或失敗的結(jié) 果輸出。
[0007] 優(yōu)選的,四個D2C編碼模塊包括D2C_1編碼模塊,D2C_2編碼模塊,D2C_3編碼模塊 和D2C_4編碼模塊;四級C2C編碼模塊包括C2C_0編碼模塊,C2C_1編碼模塊,C2C_2編碼模 塊和C2C_3編碼模塊;四級Xor模塊包括Xor_l模塊,Xor_2模塊,Xor_3模塊和Xor_4模 塊;四個D2C編碼模塊的輸出端和四級C2C編碼模塊的輸出端分別連接四級Xor模塊的輸 入端;Xor_l模塊的輸出端連接C2C_1編碼模塊的輸入端,Xor_2模塊的輸出端連接C2C_2 編碼模塊的輸入端,X〇r_3模塊的輸出端連接C2C_3編碼模塊的輸入端。
[0008] 優(yōu)選的,CRC寄存器連接有CRC時鐘信號elk和CRC復(fù)位信號rst。
[0009] 優(yōu)選的,當(dāng)N < 16時,將并行數(shù)據(jù)低位補(bǔ)0達(dá)到128位后均分為4組數(shù)據(jù)再分別 進(jìn)行預(yù)處理。
[0010] 優(yōu)選的,C2C編碼模塊,將輸入的32位并行數(shù)據(jù)按以下編碼方式進(jìn)行編碼,其中,+ 表不二進(jìn)制異或運(yùn)算;
[0011]
[0012] 優(yōu)選的,D2C編碼模塊將輸入的32位并行數(shù)據(jù)按以下編碼方式進(jìn)行編碼,其中,+ 表不二進(jìn)制異或運(yùn)算;
[0013]
[0014] 優(yōu)選的,整數(shù)字節(jié)編碼模塊將輸入初始CRC值對輸入值按以下編碼方式進(jìn)行編 碼,其中,+表不二進(jìn)制異或運(yùn)算;
[0015]
[0016] 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益的技術(shù)效果:
[0017] 本發(fā)明提供的面向128位并行輸入的CRC-32校驗(yàn)電路,通過基于預(yù)處理矩陣的硬 件電路對4組32位并行數(shù)據(jù)分別進(jìn)行編碼,對CRC寄存器中的CRC值進(jìn)行多級編碼操作。 將得到的各級編碼結(jié)果分別與4組并行數(shù)據(jù)的預(yù)處理結(jié)果進(jìn)行異或運(yùn)算,在整數(shù)字節(jié)編碼 模塊中對數(shù)據(jù)和各級CRC值編碼結(jié)果進(jìn)行進(jìn)一步編碼運(yùn)算得到非整字的編碼結(jié)果,最終通 過ne Xt_crc選擇模塊選擇出最終的編碼結(jié)果,通過反相器得到CRC值,通過比較器得到校 驗(yàn)結(jié)果。與現(xiàn)有的128位并行數(shù)據(jù)校驗(yàn)電路相比,在基本不增加硬件成本、不降低整體系統(tǒng) 性能的基礎(chǔ)上,提供了一種高效率的CRC編解碼電路,大大提高了實(shí)時處理數(shù)據(jù)的速度,提 高了數(shù)據(jù)的傳輸效率。能夠?qū)崿F(xiàn)對8*N位(如8位、16位、24位、32位…96位、128位)并 行數(shù)據(jù)的CRC編碼校驗(yàn)。
【附圖說明】
[0018] 圖1為本發(fā)明的編碼校驗(yàn)電路示意圖。
[0019] 圖2為基于本發(fā)明編碼校驗(yàn)電路的編碼時序圖。
[0020] 圖3為基于本發(fā)明編碼校驗(yàn)電路的解碼時序圖。
[0021] 圖4為基于synopsys公司的8位并行數(shù)據(jù)校驗(yàn)電路的功能時序圖。
【具體實(shí)施方式】
[0022] 下面結(jié)合附圖對本發(fā)明做進(jìn)一步的詳細(xì)說明,所述是對本發(fā)明的解釋而不是限 定。
[0023] 本發(fā)明提出了一種面向128位并行輸入的CRC-32校驗(yàn)電路,該電路將并行的128 位數(shù)據(jù)分為4組32位并行數(shù)據(jù),通過基于預(yù)處理矩陣的硬件電路對4組32位并行數(shù)據(jù)分別 進(jìn)行編碼。與此同時,該電路對CRC寄存器中的CRC值進(jìn)行多級編碼操作,將得到的各級編 碼結(jié)果分別與4組并行數(shù)據(jù)的預(yù)處理結(jié)果進(jìn)行異或運(yùn)算,分別得到關(guān)于并行32、64、94、128 位數(shù)據(jù)的校驗(yàn)結(jié)果。之后,以CRC寄存器中的CRC值和并行32、64、96位數(shù)據(jù)的校驗(yàn)結(jié)果作 為CRC選擇模塊的輸入,根據(jù)字節(jié)有效信號的高兩位進(jìn)行選擇;同時將4組32位并行數(shù)據(jù) 作為數(shù)據(jù)選擇模塊的輸入,根據(jù)字節(jié)有效信號的高兩位進(jìn)行選擇,選擇出一組32位并行數(shù) 據(jù)。將CRC選擇模塊的選擇結(jié)果作為整數(shù)字節(jié)編碼模塊的初始CRC值,將數(shù)據(jù)選擇模塊的 選擇結(jié)果作為整數(shù)字節(jié)編碼模塊的數(shù)據(jù)輸入,分別對32位并行數(shù)據(jù)的高8位、高16位、高 24位數(shù)據(jù)輸入進(jìn)行編碼得到三個分別關(guān)于高8位、高16位、高24位(所述高8、16、24位是 針對整數(shù)字節(jié)編碼模塊的32位輸入)的CRC校驗(yàn)結(jié)果。最終根據(jù)字節(jié)有效信號選擇出最 終的CRC校驗(yàn)結(jié)果。
[0024] 本發(fā)明專利是通過以下技術(shù)方案來實(shí)現(xiàn):
[0025] -種面向128位并行輸入的CRC-32校驗(yàn)電路,該電路主要包括:
[0026] CRC寄存器,寄存32位CRC值,輸入來自Next_crc多路選擇器,CRC時鐘信號clk, CRC復(fù)位信號rst,字節(jié)有效信號be [3:0],輸出為寄存器所寄存的CRC值。其中字節(jié)有效信 號be[3:0]跟數(shù)據(jù)輸入信號data[127:0]相關(guān),具體關(guān)系為 :be[3:0] = 4' bOOOO,表示數(shù) 據(jù)輸入 data[127:120]有效;be [3:0] = 4' b0001,表示數(shù)據(jù)輸入 data[127:112]有效;… be[3:0] = 4' 1111,表示數(shù)據(jù)輸入 data[127:0]有效。
[0027] C2C_0編碼模塊,將來自CRC寄存器中的32位CRC值,按照以下編碼方式進(jìn)行編 碼(+表不二進(jìn)制異或運(yùn)算)
[0028]
[0029] 并將32位結(jié)果輸出至Xor_l模塊。
[0030] D2C_1編碼模塊,將來自外部128位并行數(shù)據(jù)data [127:0]中的高32位 (data[127:96])按照以下編碼方式進(jìn)行編碼(+表示二進(jìn)制異或運(yùn)算)。
[0031]
[0032] 將得到的32位預(yù)處理結(jié)果輸出至Xor_l模塊。
[0033] D2C_2編碼模塊,其編碼方式同D2C_1編碼模塊,將來自外部128位并行數(shù)據(jù)中的 95至64位數(shù)據(jù)(data [95:64])進(jìn)行編碼,并將得到的32位預(yù)處理結(jié)果輸出至Xor_2模塊。
[0034] D2C_3編碼模塊,其編碼方式同D2C_1編碼模塊,將來自外部128位并行數(shù)據(jù)中的 63至32位數(shù)據(jù)(data [63:32])進(jìn)行編碼,并將得到的32位預(yù)處理結(jié)果輸出至Xor_3模塊。
[0035] D2C_4編碼模塊,其編碼方式同D2C_1編碼模塊,將來自外部128位并行數(shù)據(jù)中的 低32位數(shù)據(jù)(即data [31:0])進(jìn)行編碼,并將得到的32位預(yù)處理結(jié)果輸出至Xor_4模塊。
[0036] Xor_l模塊,其輸入分別來自C2C_0編碼模塊和D2C_1級編碼模塊,將兩組32位 數(shù)據(jù)按位進(jìn)行異或,得到結(jié)果c_l [31:0],c_l [31:0]為并行32位數(shù)據(jù)(即并行高32位 data[127:96])的CRC校驗(yàn)值。其輸出至CRC選擇模塊、C2C_1編碼模塊和next_crc選擇 模塊。
[0037] C2C_1編碼模塊,編碼方式同C2C_0編碼模塊,輸入來自Xor_l模塊,將數(shù)據(jù)按規(guī)則 進(jìn)行編碼,得到的結(jié)果輸出至X〇r_2模塊。
[0038] Xor_2模塊,其輸入分別來自C2C_1編碼模塊和D2C_2編碼模塊,得到結(jié)果 c_2[31:0],c_2[31:0]為并行64位數(shù)據(jù)(即并行高64位data[127:64])的CRC校驗(yàn)值,輸 出至CRC選擇模塊、C2C_2級編碼模塊和next_crc選擇模塊。
[0039] C2C_2編碼模塊,編碼方式同C2C_0編碼模塊,輸入來自Xor_2模塊,將數(shù)據(jù)按規(guī)則 進(jìn)行編碼,得到的結(jié)果輸出至X〇r_
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
镇原县| 临武县| 马山县| 合川市| 昌图县| 东海县| 浮山县| 岫岩| 东乌珠穆沁旗| 加查县| 开阳县| 昂仁县| 阿尔山市| 蕲春县| 双流县| 离岛区| 浮梁县| 郑州市| 黑河市| 宜君县| 苏尼特左旗| 阳东县| 沐川县| 公主岭市| 台东县| 大庆市| 巴东县| 襄城县| 华蓥市| 南溪县| 南昌市| 甘南县| 镇巴县| 盐源县| 双流县| 兰州市| 彰化市| 依安县| 漠河县| 武川县| 西吉县|