CN109656745A - 一种适用于专用asic的crc校验方法 - Google Patents
一种适用于专用asic的crc校验方法 Download PDFInfo
- Publication number
- CN109656745A CN109656745A CN201811282117.8A CN201811282117A CN109656745A CN 109656745 A CN109656745 A CN 109656745A CN 201811282117 A CN201811282117 A CN 201811282117A CN 109656745 A CN109656745 A CN 109656745A
- Authority
- CN
- China
- Prior art keywords
- shift register
- asic
- crc check
- sixteen bit
- generator polynomial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
本发明涉及一种适用于专用ASIC的CRC校验方法,其技术特点在于:包括以下具体步骤:步骤1、构建十六位移位寄存器,模2除用异或门实现,从而生成多项式反转,即将生成多项式的简记式16’h1024进行反转为16’h8048;步骤2、设定十六位移位寄存器校验初始值为全0,计算得到当前周期移位寄存器的状态与当前输入和移位寄存器前一状态的关系表达式;步骤3、将校验结果进行按位取反输出。本发明攻破了进口专用ASIC中CRC校验算法的具体变形规则,使得国产化同步通信型ASIC能够与进口ASIC兼容通信。
Description
技术领域
本发明属于CRC校验技术领域,涉及改进型CRC校验方法,尤其是一种适用于专用ASIC的CRC校验方法。
背景技术
随着人们对数据量的需求越来越大,现代数据通信对信息的可靠性要求也越来越高,然而数据信号在实际信道中传输不可避免的受到噪声干扰,为了提高链路传输的可靠性,一些高级数据链路控制规程会对用户数据进行差错编码,其中,循环冗余校验码(CRC)由于其检错纠错能力强等特点,在数据通信领域有着广泛的应用。
基本的CRC校验方法原理并不复杂,但是国外先进ASIC厂商在将CRC校验方法集成到专用ASIC中的时候会进行改进变形,这种改进型的CRC校验算法作为厂商的核心技术不被公开。然而,随着芯片国产化上升到国家战略,越来越多的国产芯片将会取代国外芯片,国内进口芯片巨大的保有量决定着芯片国产化是一个道阻且长的过程,为了使得自主化芯片能够与国外芯片兼容通信,必须达到校验方法的兼容,故这种改进型的CRC校验算法成为高级数据链路规程研究者必须要攻破的技术难题。
发明内容
本发明的目的在于克服现有技术的不足,提出一种适用于专用ASIC的CRC校验方法,使得国产化同步通信型ASIC能够与进口ASIC兼容通信。
本发明解决其现实问题是采取以下技术方案实现的:
一种适用于专用ASIC的CRC校验方法,包括以下具体步骤:
步骤1、构建十六位移位寄存器,模2除用异或门实现,从而生成多项式反转,即将生成多项式的简记式16’h1024进行反转为16’h8048;
步骤2、设定十六位移位寄存器校验初始值为全0,计算得到当前周期移位寄存器的状态与当前输入和移位寄存器前一状态的关系表达式;
步骤3、将校验结果进行按位取反输出。
本发明的优点和有益效果:
1、国外芯片厂商对基本CRC校验算法进行变形,是因为基本CRC算法在实际ASIC的工作环境中存在一种无法校验出的错误情况,即数据流开头添加若干个0并不影响校验结果,但是会造成解码端的解码错误。本发明通过生成多项式的反转、初始值设置为全0和结果按位取反操作可以避免上述缺陷。
2、本发明攻破了进口专用ASIC中CRC校验算法的具体变形规则,使得国产化同步通信型ASIC能够与进口ASIC兼容通信。
附图说明
图1为本发明的串行校验码生成原理图。
具体实施方式
以下结合附图对本发明实施例作进一步详述:
帧校验算法原型采用的是CCITT-16标准,其生成多项式G为x16+x12+x5+1,对应的简记式为16’h1021。CRC校验的基本原理是在一个k位的二进制序列D后加一个r位的帧校验序列R,生成新的二进制序列M,其中R为D被G整除的余数,其生成过程如公式(1)所示:
其中xrD(x)表示将D(x)左移r位,低位补r个0,Re表示取余操作。
在接收端,则直接对序列M进行除法运算,除数必须是生成多项式G,若余数R为0,则表示校验正确。其检验过程如式(2)所示:
以上为CRC校验的基本原理,但在专用ASIC中的合格判据不再是余数R为0,而是R为16’hF0B8。推导出CRC算法经过怎样的变形会使得合格判据为16’hF0B8是解决问题的关键所在。
经研究,一种适用于专用ASIC的CRC校验方法,包括以下具体步骤:
步骤1、构建十六位移位寄存器,模2除用异或门实现,从而生成多项式反转,即将生成多项式的简记式16’h1024进行反转为16’h8048;
步骤2、设定十六位移位寄存器校验初始值为全0,计算得到当前周期移位寄存器的状态与当前输入和移位寄存器前一状态的关系表达式;
步骤3、将校验结果进行按位取反输出。
经过上述三点变形,经验证,接收端合格判据为16’hF0B8。
只有符合上述三个条件,自主研制的专用通信ASIC才能与国外芯片成功对接。
该设计的原理框图如图1所示,F0-F15为十六位移位寄存器,模2除用异或门实现,该框图为串行CRC校验码生成原理图,设计者可以根据上述框图进行代入推导,即可得出每次并行计算后移位寄存器的状态与当前输入和前一状态的关系表达式,进而得出8位并行校验算法。
假设输入数据为8位并行数据,由高位到低位分别表示为D7-D0,其并行CRC校验码生成过程如表1所示:
表1并行CRC校验码生成过程表
根据表1所示,便得到当前周期移位寄存器的状态与当前输入和移位寄存器前一状态的关系表达式,即:
F15<=D3^D7^F7^F3;
F14<=D2^D6^F6^F2;
F13<=D1^D5^F5^F1;
F12<=D0^D4^F4^F0;
F11<=D3^F3;
F10<=D2^D3^D7^F7^F3^F2;
F9<=D1^D2^D6^F6^F2^F1;
F8<=D0^D1^D5^F5^F1^F0;
F7<=D0^D4^F15^F4^F0;
F6<=D3^F14^F3;
F5<=D2^F13^F2;
F4<=D1^F12^F1;
F3<=D0^D3^D7^F11^F7^F3^F0;
F2<=D2^D6^F10^F6^F2;
F1<=D1^D5^F9^F5^F1;
F0<=D0^D4^F8^F4^F0;
最后,注意将所得校验码进行按位取反输出。
本发明攻破了进口专用ASIC中CRC校验算法的具体变形规则,使得国产化同步通信型ASIC能够与进口ASIC兼容通信。且给出了基于此方法的具体实现方案。
需要强调的是,本发明所述实施例是说明性的,而不是限定性的,因此本发明包括并不限于具体实施方式中所述实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。
Claims (1)
1.一种适用于专用ASIC的CRC校验方法,其特征在于:包括以下具体步骤:
步骤1、构建十六位移位寄存器,模2除用异或门实现,从而生成多项式反转,即将生成多项式的简记式16’h1024进行反转为16’h8048;
步骤2、设定十六位移位寄存器校验初始值为全0,计算得到当前周期移位寄存器的状态与当前输入和移位寄存器前一状态的关系表达式;
步骤3、将校验结果进行按位取反输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811282117.8A CN109656745A (zh) | 2018-10-31 | 2018-10-31 | 一种适用于专用asic的crc校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811282117.8A CN109656745A (zh) | 2018-10-31 | 2018-10-31 | 一种适用于专用asic的crc校验方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109656745A true CN109656745A (zh) | 2019-04-19 |
Family
ID=66110477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811282117.8A Pending CN109656745A (zh) | 2018-10-31 | 2018-10-31 | 一种适用于专用asic的crc校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109656745A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5321704A (en) * | 1991-01-16 | 1994-06-14 | Xilinx, Inc. | Error detection structure and method using partial polynomial check |
US20040172582A1 (en) * | 2003-01-31 | 2004-09-02 | Italtel S.P.A. | Automated method for generating the cyclic redundancy check, or CRC, particularly for the transmission of multi-protocol packets in packet-switching networks |
CN103269255A (zh) * | 2013-04-16 | 2013-08-28 | 青岛中星微电子有限公司 | 一种并行crc电路的生成方法和装置 |
CN105389283A (zh) * | 2015-12-11 | 2016-03-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于CoreConnect总线的电子盘控制器电路及控制方法 |
CN107231213A (zh) * | 2017-08-20 | 2017-10-03 | 安徽大学 | Crc‑32算法在usb3.0数据包中的实现方法 |
-
2018
- 2018-10-31 CN CN201811282117.8A patent/CN109656745A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5321704A (en) * | 1991-01-16 | 1994-06-14 | Xilinx, Inc. | Error detection structure and method using partial polynomial check |
US20040172582A1 (en) * | 2003-01-31 | 2004-09-02 | Italtel S.P.A. | Automated method for generating the cyclic redundancy check, or CRC, particularly for the transmission of multi-protocol packets in packet-switching networks |
CN103269255A (zh) * | 2013-04-16 | 2013-08-28 | 青岛中星微电子有限公司 | 一种并行crc电路的生成方法和装置 |
CN105389283A (zh) * | 2015-12-11 | 2016-03-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于CoreConnect总线的电子盘控制器电路及控制方法 |
CN107231213A (zh) * | 2017-08-20 | 2017-10-03 | 安徽大学 | Crc‑32算法在usb3.0数据包中的实现方法 |
Non-Patent Citations (1)
Title |
---|
于智春等: "基于C++的循环冗余校验协议算法实现", 《硅谷》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101527615A (zh) | 一种循环冗余校验crc码的实现方法和装置 | |
CN106685434B (zh) | 一种部分极化的polar码的构造方法 | |
CN107689801A (zh) | Ldpc码admm迭代译码的早停止方法 | |
CN103023518A (zh) | 一种基于并行编码译码的循环汉明码的纠错方法 | |
CN102820892B (zh) | 一种用于并行bch编码的电路、编码器及方法 | |
CN103220083A (zh) | 一种对上行控制信息进行编码的方法和装置 | |
CN102857239B (zh) | 基于查找表的cmmb中ldpc串行编码器和编码方法 | |
CN109656745A (zh) | 一种适用于专用asic的crc校验方法 | |
CN110635809B (zh) | 一种基于公式语言的并行极化码bp译码器的设计方法 | |
CN102916706B (zh) | 高度并行的cmmb中qc-ldpc编码器和编码方法 | |
CN104158549A (zh) | 一种极性码译码方法及译码装置 | |
WO2019137231A1 (zh) | 一种译码方法及装置 | |
CN108173624A (zh) | 一种部分译码的极化码串行抵消译码电路及其方法 | |
CN102195743A (zh) | 动态实时喷泉码编码方案 | |
CN204347817U (zh) | 集成crc校验电路的伪随机数发生器 | |
CN104468022A (zh) | 一种传输格式组合的译码方法及装置 | |
CN103763064A (zh) | 适用于超高速通讯系统的循环冗余校验码生成方法与电路 | |
CN101436864B (zh) | 一种低密度奇偶校验码的译码方法及装置 | |
CN102118225B (zh) | 基于多索引表的任意位多项式除法类型编码的编解码方法 | |
CN102054089B (zh) | 对带有透明锁存器的数字集成电路进行优化的速度分级的方法 | |
CN104022786B (zh) | 乘积码译码方法 | |
CN104199635B (zh) | 集成crc校验电路的伪随机数发生器 | |
CN112953475B (zh) | 一种多位数据跨时钟域同步电路 | |
CN109462458A (zh) | 一种多级流水电路实现并行crc的方法 | |
Petersen et al. | The Euler adic dynamical system and path counts in the Euler graph |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190419 |
|
RJ01 | Rejection of invention patent application after publication |