[發明專利]一種多項式可配的CRC數字電路的實現方法及系統在審
| 申請號: | 202011335136.X | 申請日: | 2020-11-24 |
| 公開(公告)號: | CN112350735A | 公開(公告)日: | 2021-02-09 |
| 發明(設計)人: | 王銳;張良臣;莫軍;李建軍;王亞波 | 申請(專利權)人: | 廣芯微電子(廣州)股份有限公司 |
| 主分類號: | H03M13/09 | 分類號: | H03M13/09;H04L1/00 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 陳旭紅;呂金金 |
| 地址: | 510000 廣東省廣州市黃埔區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 多項式 crc 數字電路 實現 方法 系統 | ||
1.一種多項式可配的CRC數字電路的實現方法,其特征在于,包括:
根據軟件配置初始設置寄存器的初始值和多項式設置寄存器的值,其中,將所述多項式設置寄存器的值輸入CRC運算寄存器中,以滿足CRC多項式運算;
輸入寄存器將待計算數據輸入所述CRC運算寄存器進行運算,其中,所述CRC運算寄存器包括N個CrcCal運算單元,N個所述CrcCal運算單元通過Tap信號依次做迭代運算,所述Tap信號為所述CrcCal運算單元的運算結果;
若所述輸入寄存器輸入第一個字節用于所述CRC運算寄存器進行運算,輸入選擇器選擇將所述初始設置寄存器配置的初始值輸入第一個所述CrcCal運算單元,若所述輸入寄存器輸入非第一個字節用于所述CRC運算寄存器進行運算,輸入選擇器選擇將第N個Tap信號輸入至第一個所述CrcCal運算單元。
2.根據權利要求1所述的多項式可配的CRC數字電路的實現方法,其特征在于,輸入寄存器將待計算數據輸入所述CRC運算寄存器進行運算,其中,所述CRC運算寄存器包括N個CrcCal運算單元,N個所述CrcCal運算單元通過Tap信號依次做迭代運算,所述Tap信號為所述CrcCal運算單元的運算結果,包括:
所述待計算數據包括以字節輸入的數據,N個所述CrcCal運算單元得到以下迭代公式:
Tap0=CrcCal(Poly,Cal0_Data,Data_in[0])
Tap1=CrcCal(Poly,Tap0,Data_in[1])
…
TapN-1=CrcCal(Poly,TapN-2,Data_in[N-1]);
式中,Poly為所述CRC運算寄存器進行運算的CRC運算的多項式,TapN-2為每個所述CrcCal運算單元的運算結果,Data_in[N-1]為所述待進行計算數據的數據位,每次輸入的一個字節數據,Cal0_Data為所述初始設置寄存器配置的初始值,其中,所述CrcCal函數由以下公式表示:
CRC32new={CRC32old[30:0],1'b0}∧({32{(CRC32old[31]∧Data_in)}}Poly);
式中,CRC32new為待計算數據輸入后計算出的CRC的校驗值,CRC32old為待計算數據輸入前保存的CRC校驗值。
3.根據權利要求2所述的多項式可配的CRC數字電路的實現方法,其特征在于,所述若所述輸入寄存器輸入第一個字節用于所述CRC運算寄存器進行運算,輸入選擇器選擇將所述初始設置寄存器配置的初始值輸入第一個所述CrcCal運算單元,若所述輸入寄存器輸入非第一個字節用于所述CRC運算寄存器進行運算,輸入選擇器選擇將第N個Tap信號輸入至第一個所述CrcCal運算單元,包括:
TapN-1和CRC計算初值經所述輸入選擇寄存器獲得Cal0_Data,在第一個字節輸入時,Cal0_Data為CRC多項式的所述初始值,當輸入非第一個字節時,Cal0_Data為所述第N個CrcCal運算單元的運算結果TapN-1,將所述運算結果TapN-1輸入第一個所述CrcCal運算單元,如下:
CrcCal(Poly,TapN-2,Data_in[N-1])={TapN-2[30:0],1'b0}∧({32{(TapN-2[31]∧Data_in[N-1])}}Poly)。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣芯微電子(廣州)股份有限公司,未經廣芯微電子(廣州)股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011335136.X/1.html,轉載請聲明來源鉆瓜專利網。
- 同類專利
- 專利分類





