一種校驗(yàn)方法和裝置制造方法
【專利摘要】本發(fā)明實(shí)施例公開(kāi)一種校驗(yàn)方法和裝置,可減少對(duì)多個(gè)字節(jié)并行數(shù)據(jù)進(jìn)行CRC計(jì)算需要的硬件資源。方法可包括:通過(guò)芯片的數(shù)據(jù)總線獲取并行數(shù)據(jù),并行數(shù)據(jù)的報(bào)文長(zhǎng)度為L(zhǎng)個(gè)字節(jié),數(shù)據(jù)總線的位寬為N個(gè)字節(jié);判斷L除以N得到的余數(shù)是否等于0;若L除以N得到的余數(shù)不等于0,在并行數(shù)據(jù)的頭部添加P個(gè)字節(jié)的填充數(shù)據(jù),得到新的并行數(shù)據(jù),P等于N減去M,M為L(zhǎng)除以N得到的余數(shù)的取值;根據(jù)L除以N得到的余數(shù)計(jì)算與位寬為N相對(duì)應(yīng)的CRC電路的初始值,初始值使得用與位寬為N相對(duì)應(yīng)的CRC電路和與位寬為M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后輸出的結(jié)果相等;根據(jù)與位寬為N相對(duì)應(yīng)的CRC電路的初始值對(duì)新的并行數(shù)據(jù)進(jìn)行CRC計(jì)算。
【專利說(shuō)明】一種校驗(yàn)方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理【技術(shù)領(lǐng)域】,尤其涉及一種校驗(yàn)方法和裝置。
【背景技術(shù)】
[0002]目前,循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check, CRC)技術(shù)廣泛應(yīng)用于數(shù)據(jù)通信領(lǐng)域中的差錯(cuò)檢測(cè)中。CRC可以通過(guò)軟件查表或者硬件處理實(shí)現(xiàn),隨著高速網(wǎng)絡(luò)的發(fā)展,對(duì)10G、20G、40G等超大流量的數(shù)據(jù)進(jìn)行CRC處理已經(jīng)成為趨勢(shì),對(duì)高速數(shù)據(jù)進(jìn)行CRC處理一般通過(guò)硬件實(shí)現(xiàn)。
[0003]現(xiàn)有技術(shù)中,通過(guò)硬件對(duì)位寬為多個(gè)字節(jié)的并行數(shù)據(jù)進(jìn)行CRC處理時(shí),需要多個(gè)CRC電路來(lái)實(shí)現(xiàn)。舉例來(lái)說(shuō),對(duì)于位寬為4個(gè)字節(jié)的并行數(shù)據(jù)進(jìn)行CRC處理,則需要4種類型的CRC電路,分別是I個(gè)字節(jié)對(duì)應(yīng)的CRC電路、2個(gè)字節(jié)對(duì)應(yīng)的CRC電路、3個(gè)字節(jié)對(duì)應(yīng)的CRC電路以及4個(gè)字節(jié)對(duì)應(yīng)的CRC電路。
[0004]本發(fā)明的發(fā)明人對(duì)現(xiàn)有的校驗(yàn)方法進(jìn)行研究發(fā)現(xiàn),現(xiàn)有技術(shù)中當(dāng)并行數(shù)據(jù)的位寬越大時(shí)所需要CRC電路也會(huì)成倍增長(zhǎng),這對(duì)于位寬為多個(gè)字節(jié)的并行數(shù)據(jù)進(jìn)行CRC處理所需要的硬件資源較多。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了 一種校驗(yàn)方法和裝置,用于減少對(duì)多個(gè)字節(jié)的并行數(shù)據(jù)進(jìn)行CRC計(jì)算時(shí)所需要的硬件資源。
[0006]為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供以下技術(shù)方案:
[0007]第一方面,本發(fā)明實(shí)施例提供一種校驗(yàn)方法,包括:
[0008]通過(guò)芯片的數(shù)據(jù)總線獲取并行數(shù)據(jù),所述并行數(shù)據(jù)的報(bào)文長(zhǎng)度為L(zhǎng)個(gè)字節(jié),所述數(shù)據(jù)總線的位寬為N個(gè)字節(jié),所述L和所述N都為正整數(shù);
[0009]判斷所述L除以所述N得到的余數(shù)是否等于O ;
[0010]若所述L除以所述N得到的余數(shù)不等于O,在所述并行數(shù)據(jù)的頭部添加P個(gè)字節(jié)的填充數(shù)據(jù),得到新的并行數(shù)據(jù),所述P等于所述N減去M,所述M為所述L除以所述N得到的余數(shù)的取值;
[0011]根據(jù)所述L除以所述N得到的余數(shù)計(jì)算與位寬為所述N相對(duì)應(yīng)的循環(huán)冗余校驗(yàn)CRC電路的初始值,所述初始值使得用與位寬為所述N相對(duì)應(yīng)的CRC電路和與位寬為所述M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后輸出的結(jié)果相等;
[0012]根據(jù)所述與位寬為所述N相對(duì)應(yīng)的CRC電路的初始值對(duì)所述新的并行數(shù)據(jù)進(jìn)行CRC計(jì)算。
[0013]結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述通過(guò)芯片的數(shù)據(jù)總線獲取并行數(shù)據(jù)之后,還包括:
[0014]對(duì)所述并行數(shù)據(jù)的尾部和所述數(shù)據(jù)總線進(jìn)行對(duì)齊。
[0015]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述判斷所述L除以所述N得到的余數(shù)是否等于O之后,還包括:
[0016]若所述L除以所述N得到的余數(shù)等于0,根據(jù)與位寬為所述N相對(duì)應(yīng)的CRC電路的預(yù)置初始值對(duì)所述并行數(shù)據(jù)進(jìn)行CRC計(jì)算。
[0017]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,當(dāng)所述L除以所述N得到的余數(shù)等于O時(shí),對(duì)所述并行數(shù)據(jù)進(jìn)行CRC計(jì)算所使用的CRC電路的預(yù)置初始值為N個(gè)字節(jié)的I或N個(gè)字節(jié)的O。
[0018]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述P個(gè)字節(jié)的填充數(shù)據(jù)為P個(gè)字節(jié)的O。
[0019]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述L除以所述N得到的余數(shù)計(jì)算與位寬為所述N相對(duì)應(yīng)的循環(huán)冗余校驗(yàn)CRC電路的初始值,包括:
[0020]根據(jù)預(yù)置數(shù)據(jù)的每個(gè)比特信息和預(yù)置初始值獲取與位寬為所述M相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果;
[0021]根據(jù)所述預(yù)置數(shù)據(jù)的每個(gè)比特信息和待定初始值獲取與位寬為所述N相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果;
[0022]在與位寬為所述N相對(duì)應(yīng)的CRC電路和與位寬為所述M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后每個(gè)比特的輸出結(jié)果都相等的情況下,計(jì)算所述與位寬為所述M相對(duì)應(yīng)的CRC電路的預(yù)置初始 值、所述與位寬為所述N相對(duì)應(yīng)的CRC電路的待定初始值組成的方程組,求解出所述待定初始值,所述待定初始值即為所述與位寬為所述N相對(duì)應(yīng)的CRC電路的初始值。
[0023]結(jié)合第一方面的第五種可能的實(shí)現(xiàn)方式,在第一方面的第六種可能的實(shí)現(xiàn)方式中,所述根據(jù)預(yù)置數(shù)據(jù)的每個(gè)比特信息和預(yù)置初始值獲取與位寬為所述M相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果,包括:
[0024]通過(guò)如下方式計(jì)算與位寬為所述M相對(duì)應(yīng)的CRC電路的第X個(gè)比特的輸出結(jié)果next_crc_M[x]:
[0025]next_crc_M[x]=FdM x(d) Φ Fiw x(i),
[0026]其中,所述d為8乘以所述M個(gè)比特的所述預(yù)置數(shù)據(jù),所述i為8乘以T個(gè)比特的所述預(yù)置初始值,所述T為與位寬為所述M相對(duì)應(yīng)的CRC電路的生成多項(xiàng)式的階數(shù),所述F^x(Cl)為對(duì)所述d中的比特信息進(jìn)行異或的結(jié)果,所述FiM x(i)為對(duì)所述i中的比特信息進(jìn)行異或的結(jié)果,所述Φ為異或符號(hào),所述X為與位寬為所述M相對(duì)應(yīng)的CRC電路的任意一個(gè)比特;
[0027]所述根據(jù)預(yù)置數(shù)據(jù)的每個(gè)比特信息和待定初始值獲取與位寬為所述N相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果,包括:
[0028]通過(guò)如下方式計(jì)算與位寬為所述N相對(duì)應(yīng)的CRC電路的第X個(gè)比特的輸出結(jié)果next_crc_N[x]:
[0029]next_crc_N[x]=F(JN x(d) ? FcN x(c),
[0030]其中,所述d為8乘以所述M個(gè)比特的所述預(yù)置數(shù)據(jù),所述c為8乘以T個(gè)比特的所述待定初始值,所述T為與位寬為所述N相對(duì)應(yīng)的CRC電路的生成多項(xiàng)式的階數(shù),所述Ftffl x(d)為對(duì)所述d中的比特信息進(jìn)行異或的結(jié)果,所述Fcm x(C)為對(duì)所述c中的比特信息進(jìn)行異或的結(jié)果,所述Θ為異或符號(hào),所述X為與位寬為所述N相對(duì)應(yīng)的CRC電路的任意一個(gè)比特;
[0031]所述與位寬為所述N相對(duì)應(yīng)的CRC電路和與位寬為所述M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后每個(gè)比特的輸出結(jié)果都相等,通過(guò)如下方式實(shí)現(xiàn):
[0032]next_crc_M [x] =next_crc_N [x];
[0033]所述計(jì)算所述與位寬為所述M相對(duì)應(yīng)的CRC電路的預(yù)置初始值、所述與位寬為所述N相對(duì)應(yīng)的CRC電路的待定初始值組成的方程組,求解出所述待定初始值,包括:
[0034]通過(guò)對(duì)如下方程組的求解計(jì)算出待定初始值c:
[0035]FtJM x(d) ? FiM_x(i)= FdN x(d) ? Fc^ x(c);
[0036]Fdll x (d) -FdN—x (d)。
[0037]第二方面,本發(fā)明實(shí)施例還提供一種校驗(yàn)裝置,包括:
[0038]數(shù)據(jù)獲取模塊,用于通過(guò)芯片的數(shù)據(jù)總線獲取并行數(shù)據(jù),所述并行數(shù)據(jù)的報(bào)文長(zhǎng)度為L(zhǎng)個(gè)字節(jié),所述數(shù)據(jù)總線的位寬為N個(gè)字節(jié),所述L和所述N都為正整數(shù);
[0039]余數(shù)判斷模塊,用于判斷所述L除以所述N得到的余數(shù)是否等于O ;
[0040]數(shù)據(jù)添加模塊,用于當(dāng)所述L除以所述N得到的余數(shù)不等于O時(shí),在所述并行數(shù)據(jù)的頭部添加P個(gè)字節(jié)的填充數(shù)據(jù),得到新的并行數(shù)據(jù),所述P等于所述N減去M,所述M為所述L除以所述N得到的余數(shù)的`取值;
[0041]初始值計(jì)算模塊,用于根據(jù)所述L除以所述N得到的余數(shù)計(jì)算與位寬為所述N相對(duì)應(yīng)的循環(huán)冗余校驗(yàn)CRC電路的初始值,所述初始值使得用與位寬為所述N相對(duì)應(yīng)的CRC電路和與位寬為所述M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后輸出的結(jié)果相等;
[0042]CRC計(jì)算模塊,用于根據(jù)所述與位寬為所述N相對(duì)應(yīng)的CRC電路的初始值對(duì)所述新的并行數(shù)據(jù)進(jìn)行CRC計(jì)算。
[0043]結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述校驗(yàn)裝置,還包括:
[0044]對(duì)齊模塊,用于在所述數(shù)據(jù)獲取模塊通過(guò)芯片的數(shù)據(jù)總線獲取并行數(shù)據(jù)之后,對(duì)所述并行數(shù)據(jù)的尾部和所述數(shù)據(jù)總線進(jìn)行對(duì)齊。
[0045]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述CRC計(jì)算模塊,還用于當(dāng)所述余數(shù)判斷模塊判定所述判斷所述L除以所述N得到的余數(shù)等于O時(shí),根據(jù)與位寬為所述N相對(duì)應(yīng)的CRC電路的預(yù)置初始值對(duì)所述并行數(shù)據(jù)進(jìn)行CRC計(jì)算。
[0046]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,當(dāng)所述L除以所述N得到的余數(shù)等于O時(shí),所述CRC計(jì)算模塊對(duì)所述并行數(shù)據(jù)進(jìn)行CRC計(jì)算所使用的CRC電路的預(yù)置初始值為N個(gè)字節(jié)的I或N個(gè)字節(jié)的O。
[0047]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式中,所述數(shù)據(jù)添加模塊對(duì)所述并行數(shù)據(jù)添加的P個(gè)字節(jié)的填充數(shù)據(jù)為P個(gè)字節(jié)的
O0
[0048]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第五種可能的實(shí)現(xiàn)方式中,所述初始值計(jì)算模塊,包括:
[0049]第一結(jié)果獲取子模塊,用于根據(jù)預(yù)置數(shù)據(jù)的每個(gè)比特信息和預(yù)置初始值獲取與位寬為所述M相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果;
[0050]第二結(jié)果獲取子模塊,用于根據(jù)所述預(yù)置數(shù)據(jù)的每個(gè)比特信息和待定初始值獲取與位寬為所述N相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果;
[0051]初始值計(jì)算子模塊,用于在與位寬為所述N相對(duì)應(yīng)的CRC電路和與位寬為所述M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后每個(gè)比特的輸出結(jié)果都相等的情況下,計(jì)算所述與位寬為所述M相對(duì)應(yīng)的CRC電路的預(yù)置初始值、所述與位寬為所述N相對(duì)應(yīng)的CRC電路的待定初始值組成的方程組,求解出所述待定初始值,所述待定初始值即為與位寬為所述N相對(duì)應(yīng)的CRC電路的初始值。
[0052]結(jié)合第二方面的第五種可能的實(shí)現(xiàn)方式,在第二方面的第六種可能的實(shí)現(xiàn)方式中,所述第一結(jié)果獲取子模塊,具體用于通過(guò)如下方式計(jì)算與位寬為所述M相對(duì)應(yīng)的CRC電路的第X個(gè)比特的輸出結(jié)果next_crc_M[x]:
【權(quán)利要求】
1.一種校驗(yàn)方法,其特征在于,包括: 通過(guò)芯片的數(shù)據(jù)總線獲取并行數(shù)據(jù),所述并行數(shù)據(jù)的報(bào)文長(zhǎng)度為L(zhǎng)個(gè)字節(jié),所述數(shù)據(jù)總線的位寬為N個(gè)字節(jié),所述L和所述N都為正整數(shù); 判斷所述L除以所述N得到的余數(shù)是否等于O ; 若所述L除以所述N得到的余數(shù)不等于O,在所述并行數(shù)據(jù)的頭部添加P個(gè)字節(jié)的填充數(shù)據(jù),得到新的并行數(shù)據(jù),所述P等于所述N減去M,所述M為所述L除以所述N得到的余數(shù)的取值; 根據(jù)所述L除以所述N得到的余數(shù)計(jì)算與位寬為所述N相對(duì)應(yīng)的循環(huán)冗余校驗(yàn)CRC電路的初始值,所述初始值使得用與位寬為所述N相對(duì)應(yīng)的CRC電路和與位寬為所述M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后輸出的結(jié)果相等; 根據(jù)所述與位寬為所述N相對(duì)應(yīng)的CRC電路的初始值對(duì)所述新的并行數(shù)據(jù)進(jìn)行CRC計(jì)笪
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述通過(guò)芯片的數(shù)據(jù)總線獲取并行數(shù)據(jù)之后,還包括: 對(duì)所述并行數(shù)據(jù)的尾部和所述數(shù)據(jù)總線進(jìn)行對(duì)齊。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述判斷所述L除以所述N得到的余數(shù)是否等于O之后,還包括:` 若所述L除以所述N得到的余數(shù)等于O,根據(jù)與位寬為所述N相對(duì)應(yīng)的CRC電路的預(yù)置初始值對(duì)所述并行數(shù)據(jù)進(jìn)行CRC計(jì)算。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)所述L除以所述N得到的余數(shù)等于O時(shí),對(duì)所述并行數(shù)據(jù)進(jìn)行CRC計(jì)算所使用的CRC電路的預(yù)置初始值為N個(gè)字節(jié)的I或N個(gè)字節(jié)的O。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述P個(gè)字節(jié)的填充數(shù)據(jù)為P個(gè)字節(jié)的O。
6.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述根據(jù)所述L除以所述N得到的余數(shù)計(jì)算與位寬為所述N相對(duì)應(yīng)的循環(huán)冗余校驗(yàn)CRC電路的初始值,包括: 根據(jù)預(yù)置數(shù)據(jù)的每個(gè)比特信息和預(yù)置初始值獲取與位寬為所述M相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果; 根據(jù)所述預(yù)置數(shù)據(jù)的每個(gè)比特信息和待定初始值獲取與位寬為所述N相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果; 在與位寬為所述N相對(duì)應(yīng)的CRC電路和與位寬為所述M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后每個(gè)比特的輸出結(jié)果都相等的情況下,計(jì)算所述與位寬為所述M相對(duì)應(yīng)的CRC電路的預(yù)置初始值、所述與位寬為所述N相對(duì)應(yīng)的CRC電路的待定初始值組成的方程組,求解出所述待定初始值,所述待定初始值即為所述與位寬為所述N相對(duì)應(yīng)的CRC電路的初始值。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述根據(jù)預(yù)置數(shù)據(jù)的每個(gè)比特信息和預(yù)置初始值獲取與位寬為所述M相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果,包括: 通過(guò)如下方式計(jì)算與位寬為所述M相對(duì)應(yīng)的CRC電路的第X個(gè)比特的輸出結(jié)果next_crc_M[x]:next_crc_M[x]=FdM x(d) ? FiM x(i), 其中,所述d為8乘以所述M個(gè)比特的所述預(yù)置數(shù)據(jù),所述i為8乘以T個(gè)比特的所述預(yù)置初始值,所述T為與位寬為所述M相對(duì)應(yīng)的CRC電路的生成多項(xiàng)式的階數(shù),所述FdM x (d)為對(duì)所述d中的比特信息進(jìn)行異或的結(jié)果,所述FiM x(i)為對(duì)所述i中的比特信息進(jìn)行異或的結(jié)果,所述?為異或符號(hào),所述X為與位寬為所述M相對(duì)應(yīng)的CRC電路的任意一個(gè)比特;所述根據(jù)預(yù)置數(shù)據(jù)的每個(gè)比特信息和待定初始值獲取與位寬為所述N相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果,包括: 通過(guò)如下方式計(jì)算與位寬為所述N相對(duì)應(yīng)的CRC電路的第X個(gè)比特的輸出結(jié)果next_crc_N[x]:
next—crc—N[x]=FdN x(d) ? FcN x(c), 其中,所述d為8乘以所述M個(gè)比特的所述預(yù)置數(shù)據(jù),所述c為8乘以T個(gè)比特的所述待定初始值,所述T為與位寬為所述N相對(duì)應(yīng)的CRC電路的生成多項(xiàng)式的階數(shù),所述FdN x (d)為對(duì)所述d中的比特信息進(jìn)行異或的結(jié)果,所述FeN x (c)為對(duì)所述c中的比特信息進(jìn)行異或的結(jié)果,所述@為異或符號(hào),所述X為與位寬為所述N相對(duì)應(yīng)的CRC電路的任意一個(gè)比特;所述與位寬為所述N相對(duì)應(yīng)的CRC電路和與位寬為所述M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后每個(gè)比特的輸出結(jié)果都相等,通過(guò)如下方式實(shí)現(xiàn):next_crc_M[x]=next_crc_N[x]; 所述計(jì)算所述與位寬為所述M相對(duì)應(yīng)的CRC電路的預(yù)置初始值、所述與位寬為所述N相對(duì)應(yīng)的CRC電路的待定初始值組成的方程組,求解出所述待定初始值,包括: 通過(guò)對(duì)如下方程組的求解計(jì)算出待定初始值c:
FdM x(d) ? FiM—x(i)= FdN x(d) ? Fcn—X(C);
FdM—X (d) x (d)。
8.一種校驗(yàn)裝置,其特征在于,包括: 數(shù)據(jù)獲取模塊,用于通過(guò)芯片的數(shù)據(jù)總線獲取并行數(shù)據(jù),所述并行數(shù)據(jù)的報(bào)文長(zhǎng)度為L(zhǎng)個(gè)字節(jié),所述數(shù)據(jù)總線的位寬為N個(gè)字節(jié),所述L和所述N都為正整數(shù); 余數(shù)判斷模塊,用于判斷所述L除以所述N得到的余數(shù)是否等于O ; 數(shù)據(jù)添加模塊,用于當(dāng)所述L除以所述N得到的余數(shù)不等于O時(shí),在所述并行數(shù)據(jù)的頭部添加P個(gè)字節(jié)的填充數(shù)據(jù),得到新的并行數(shù)據(jù),所述P等于所述N減去M,所述M為所述L除以所述N得到的余數(shù)的取值; 初始值計(jì)算模塊,用于根據(jù)所述L除以所述N得到的余數(shù)計(jì)算與位寬為所述N相對(duì)應(yīng)的循環(huán)冗余校驗(yàn)CRC電路的初始值,所述初始值使得用與位寬為所述N相對(duì)應(yīng)的CRC電路和與位寬為所述M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后輸出的結(jié)果相等; CRC計(jì)算模塊,用于根據(jù)所述與位寬為所述N相對(duì)應(yīng)的CRC電路的初始值對(duì)所述新的并行數(shù)據(jù)進(jìn)行CRC計(jì)算。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述校驗(yàn)裝置,還包括: 對(duì)齊模塊,用于在所述數(shù)據(jù)獲取模塊通過(guò)芯片的數(shù)據(jù)總線獲取并行數(shù)據(jù)之后,對(duì)所述并行數(shù)據(jù)的尾部和所述數(shù)據(jù)總線 進(jìn)行對(duì)齊。
10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述CRC計(jì)算模塊,還用于當(dāng)所述余數(shù)判斷模塊判定所述判斷所述L除以所述N得到的余數(shù)等于O時(shí),根據(jù)與位寬為所述N相對(duì)應(yīng)的CRC電路的預(yù)置初始值對(duì)所述并行數(shù)據(jù)進(jìn)行CRC計(jì)算。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,當(dāng)所述L除以所述N得到的余數(shù)等于O時(shí),所述CRC計(jì)算模塊對(duì)所述并行數(shù)據(jù)進(jìn)行CRC計(jì)算所使用的CRC電路的預(yù)置初始值為N個(gè)字節(jié)的I或N個(gè)字節(jié)的O。
12.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述數(shù)據(jù)添加模塊對(duì)所述并行數(shù)據(jù)添加的P個(gè)字節(jié)的填充數(shù)據(jù)為P個(gè)字節(jié)的O。
13.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述初始值計(jì)算模塊,包括: 第一結(jié)果獲取子模塊,用于根據(jù)預(yù)置數(shù)據(jù)的每個(gè)比特信息和預(yù)置初始值獲取與位寬為所述M相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果; 第二結(jié)果獲取子模塊,用于根據(jù)所述預(yù)置數(shù)據(jù)的每個(gè)比特信息和待定初始值獲取與位寬為所述N相對(duì)應(yīng)的CRC電路的每個(gè)比特的輸出結(jié)果; 初始值計(jì)算子模塊,用于在與位寬為所述N相對(duì)應(yīng)的CRC電路和與位寬為所述M相對(duì)應(yīng)的CRC電路分別進(jìn)行CRC計(jì)算后每個(gè)比特的輸出結(jié)果都相等的情況下,計(jì)算所述與位寬為所述M相對(duì)應(yīng)的CRC電路的預(yù)置初始值、所述與位寬為所述N相對(duì)應(yīng)的CRC電路的待定初始值組成的方程組,求解出所述待定初始值,所述待定初始值即為與位寬為所述N相對(duì)應(yīng)的CRC電路的初始值。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述第一結(jié)果獲取子模塊,具體用于通過(guò)如下方式計(jì)算與位寬為所述M相對(duì)應(yīng)的CRC電路的第X個(gè)比特的輸出結(jié)果next_crc_M[x]:
【文檔編號(hào)】H04L1/00GK103701566SQ201310698647
【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2013年12月18日 優(yōu)先權(quán)日:2013年12月18日
【發(fā)明者】唐川, 陳宏
申請(qǐng)人:華為技術(shù)有限公司