JP6648412B2 - Crc符号演算回路、及びその方法並びに半導体装置 - Google Patents
Crc符号演算回路、及びその方法並びに半導体装置 Download PDFInfo
- Publication number
- JP6648412B2 JP6648412B2 JP2015082592A JP2015082592A JP6648412B2 JP 6648412 B2 JP6648412 B2 JP 6648412B2 JP 2015082592 A JP2015082592 A JP 2015082592A JP 2015082592 A JP2015082592 A JP 2015082592A JP 6648412 B2 JP6648412 B2 JP 6648412B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- packet
- crc code
- bit
- target packet
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
Description
図1(a)は、CRC符号演算回路が搭載される半導体装置を含むシステムの一例を示す図である。図1(b)は図1(a)に示すシステムで伝送されるシリアル信号の一例を示す図であり、図1(c)は図1(a)に示す半導体装置で変換されたパラレル信号の一例を示す図である。図1(d)は、図1(a)に示すシステムで伝送されるパケットフォーマットの一例を示す図である。
x32 +x26 +x23 +x22 +x16 +x12 +x11 +x10 +x8 +x7 +x5 +x4 +x2 +x +1 (1)
図6は、第1実施形態に係るCRC符号演算回路が搭載される半導体装置を含むシステムの一例を示す図である。
F(x)/G(x) = Q(x) + R(x) (2)
で示される。
A = b × 2n + d (3)
となり、EoR回路30は、演算対象パケットbと相違するデータを演算して、演算対象パケットbを演算したときと相違するCRC符号を生成する。式(3)を変形して得られる式(4)の処理を実施することにより、EoR回路30は、図10(b)に示す例に示される演算対象パケットbから誤りなくCRC符号を生成できる。
b = (A − d)/2n (4)
EoR回路30は、演算対象パケットbを2nで除算し且つ演算対象パケットbの先頭のビットのMSB側に位置するmビットのデータdをEoR回路30の演算範囲Aから減算したパケットを演算して、誤りなくCRC符号を生成できる。言い換えると、EoR回路30は、演算対象パケットbをLSB側にnビットシフトし且つシフトされた演算対象パケットbの先頭のビットのMSB側を「0」にした256ビットのシフトデータを演算してCRC符号を生成する。これにより、図10(c)に示すように、演算対象パケットbの最終のビットをEoR回路30の演算範囲AのLSBに位置させ且つ演算対象パケットbの先頭のビットのMSB側を「0」にしたものをEoR回路30の演算範囲Aにする。EoR回路30は、図10(c)に示すように演算範囲Aを規定することにより、演算対象パケットbを誤りなくCRC符号を生成することが可能になる。
(第1実施形態に係るCRC符号演算回路の作用効果)
第1実施形態に係るCRC符号演算回路は、FPGA及び特定用途向けIC(application specific integrated circuit、ASIC)等の半導体装置において、可変長のパケットを主信号フレームでカプセル化している場合等で使用される。第1実施形態に係るCRC符号演算回路は、演算対象パケットからCRC符号を生成する演算のためのCRC符号演算回路の回路規模を小さくすることを可能とする。
図12は、第1実施形態に係るCRC符号演算回路1の代わりに半導体装置101に搭載可能な第2実施形態に係るCRC符号演算回路の回路ブロック図である。
第2実施形態に係るCRC符号演算回路は、初期値テーブルに記憶されたシフト回路初期値及びレジスタ初期値を使用してCRC符号を生成できるので、全てが「1」である初期値を使用して生成されたCRC符号に対応するCRC符号が演算可能である。全てが「0」である初期値を使用してCRC符号を生成すると、式(2)を使用して演算したCRC符号が「0」になり、生成されたCRC符号が正しいか否かの判断が容易でない場合がある。第2実施形態に係るCRC符号演算回路は、全てが「1」である初期値を使用して生成されたCRC符号に対応するCRC符号が演算可能であるので、生成されたCRC符号が正しいか否かの判断が容易であるCRC符号を生成可能である。
第1実施形態及び第2実施形態に係るCRC符号演算回路ではEoR回路30はCRC32を演算したが、実施形態に係るCRC符号演算回路では、FCSに埋め込まれたCRC符号に応じてCRC16等の他の演算でCRC符号を生成してもよい。また、実施形態に係るCRC符号演算回路が搭載される半導体装置101の一例は、FPGAであるが、実施形態に係るCRC符号演算回路は、ASIC等の他の半導体装置に搭載されてもよい。
10 抽出回路
11 オーバヘッド位置検出回路
12 パケットプリアンブル検出回路
13 パケットレングス値抽出回路
14 シフト段数演算回路
15 パケット抽出回路
20、50 シフト回路
30 EoR回路(演算回路)
40、60 レジスタ
70 初期値設定回路
71 初期値テーブル
101 半導体装置
111、112 通信回路
113、114 CRC回路
Claims (5)
- 第1ビット長のパラレル信号として入力される信号フレームから、CRC演算の対象となる演算対象パケットを抽出する抽出回路と、
前記演算対象パケットのビット長が前記第1ビット長の整数倍と一致しないときに、前記演算対象パケットの最終のビットが最下位ビットに位置するように前記演算対象パケットをシフトし、シフトされた前記演算対象パケットの先頭のビットの最上位ビット側に「0」を付加してビット長が前記第1ビット長の整数倍であるデータAを生成するシフト回路と、
レジスタと、
前記レジスタに記憶される初期値「0」を元に、前記データAをCRC演算してCRC符号を生成する演算回路と、を有し、
前記レジスタは、前記演算回路が前記CRC符号を生成する前に前記初期値「0」を記憶し、前記演算回路が前記CRC符号を生成した後に前記CRC符号を記憶し、
前記抽出回路は、前記信号フレームのオーバヘッドの位置を示す信号フレームオーバヘッド位置情報、前記演算対象パケットのパケット長を示すパケットレングス情報及び前記信号フレームにおける前記演算対象パケットの先頭のビットの位置を示す先頭位置情報を使用して前記演算対象パケットをシフトするシフト量を決定するシフト量決定回路を有する、CRC符号演算回路。 - 第1ビット長のパラレル信号として入力される信号フレームから、演算の対象となる演算対象パケットを抽出する抽出回路と、
前記演算対象パケットのビット長が前記第1ビット長の整数倍と一致しないときに、前記演算対象パケットの最終のビットが最下位ビットに位置するように前記演算対象パケットをシフトし、シフトされた前記演算対象パケットの先頭のビットの最上位ビット側にシフト回路初期値を付加してビット長が前記第1ビット長の整数倍であるデータAを生成するシフト回路と、
レジスタと、
前記レジスタが記憶するレジスタ初期値を元に、前記データAをCRC演算してCRC符号を生成する演算回路と、
前記レジスタ初期値と、前記シフト回路初期値と記憶する初期値設定回路と、を有し、
前記レジスタは、前記演算回路が前記CRC符号を生成する前に前記レジスタ初期値を記憶し、前記演算回路が前記CRC符号を生成した後に前記CRC符号を記憶し、
前記レジスタ初期値及び前記シフト回路初期値は、前記演算回路が前記レジスタ初期値を使用してシフトデータから生成したCRC符号が、CRC初期値を元に、前記演算対象パケットをCRC演算して生成されるCRC符号と同一になるように規定され、
前記CRC初期値は、前記CRC符号を生成する演算で使用する初期値であり、
前記レジスタ初期値は、第2ビット長のデータであり、
前記CRC初期値は、全てが「1」である第2ビット長のデータであり、
前記抽出回路は、前記信号フレームのオーバヘッドの位置を示す信号フレームオーバヘッド位置情報、前記演算対象パケットのパケット長を示すパケットレングス情報及び前記信号フレームにおける前記演算対象パケットの先頭のビットの位置を示す先頭位置情報を使用して前記演算対象パケットをシフトするシフト量を決定するシフト量決定回路を有する、CRC符号演算回路。 - 前記抽出回路は、前記信号フレームオーバヘッド位置情報、前記パケットレングス情報及び前記先頭位置情報を使用して前記信号フレームから前記演算対象パケットを抽出するパケット抽出回路を更に有する、請求項1または2に記載のCRC符号演算回路。
- シリアル伝送された信号フレームを第1ビット長のパラレル信号に変換する通信回路と、
パラレル信号に変換された前記信号フレームが前記通信回路から入力され、
入力された前記信号フレームから、CRC演算の対象となる演算対象パケットを抽出する抽出回路と、
前記演算対象パケットのビット長が前記第1ビット長の整数倍と一致しないときに、前記演算対象パケットの最終のビットが最下位ビットに位置するように前記演算対象パケットをシフトし、シフトされた前記演算対象パケットの先頭のビットの最上位ビット側に「0」を付加してビット長が前記第1ビット長の整数倍であるデータAを生成するシフト回路と、
レジスタと、
前記レジスタが記憶する初期値「0」を元に、前記データAをCRC演算してCRC符号を生成する演算回路と、を有し、
前記レジスタは、前記演算回路が前記CRC符号を生成する前に前記初期値「0」を記憶し、前記演算回路が前記CRC符号を生成した後に前記CRC符号を記憶し、
前記抽出回路は、前記信号フレームのオーバヘッドの位置を示す信号フレームオーバヘッド位置情報、前記演算対象パケットのパケット長を示すパケットレングス情報及び前記信号フレームにおける前記演算対象パケットの先頭のビットの位置を示す先頭位置情報を使用して前記演算対象パケットをシフトするシフト量を決定するシフト量決定回路を有する、CRC符号演算回路と、
を有する半導体装置。 - 第1ビット長のパラレル信号として入力された信号フレームから、CRC演算の対象となる演算対象パケットを抽出し、
前記演算対象パケットのビット長が前記第1ビット長の整数倍と一致しないときに、前記演算対象パケットの最終のビットが最下位ビットに位置するように前記演算対象パケットをシフトし、シフトされた前記演算対象パケットの先頭のビットの最上位ビット側に「0」を付加してビット長が前記第1ビット長の整数倍であるデータAを生成し、
レジスタに記憶される初期値「0」を元に、前記データAを演算してCRC符号を生成し、
前記信号フレームのオーバヘッドの位置を示す信号フレームオーバヘッド位置情報、前記演算対象パケットのパケット長を示すパケットレングス情報及び前記信号フレームにおける前記演算対象パケットの先頭のビットの位置を示す先頭位置情報を使用して前記演算対象パケットをシフトするシフト量を決定し、
前記CRC符号を出力する、
ことを有するCRC符号演算方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015082592A JP6648412B2 (ja) | 2015-04-14 | 2015-04-14 | Crc符号演算回路、及びその方法並びに半導体装置 |
US15/071,804 US9748978B2 (en) | 2015-04-14 | 2016-03-16 | CRC code calculation circuit and method thereof, and semiconductor device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015082592A JP6648412B2 (ja) | 2015-04-14 | 2015-04-14 | Crc符号演算回路、及びその方法並びに半導体装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016201770A JP2016201770A (ja) | 2016-12-01 |
JP6648412B2 true JP6648412B2 (ja) | 2020-02-14 |
Family
ID=57129888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015082592A Expired - Fee Related JP6648412B2 (ja) | 2015-04-14 | 2015-04-14 | Crc符号演算回路、及びその方法並びに半導体装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9748978B2 (ja) |
JP (1) | JP6648412B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10503582B2 (en) * | 2017-03-06 | 2019-12-10 | Tttech Auto Ag | Method and computer system for fault tolerant data integrity verification of safety-related data |
CN109861788B (zh) * | 2019-01-11 | 2021-12-10 | 中电海康集团有限公司 | 一种并行crc计算的实现方法及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6192498B1 (en) * | 1997-10-01 | 2001-02-20 | Globepan, Inc. | System and method for generating error checking data in a communications system |
JP3512175B2 (ja) | 2000-04-14 | 2004-03-29 | 松下電器産業株式会社 | Crc演算装置、およびcrc演算方法 |
JP3297668B2 (ja) | 2000-04-26 | 2002-07-02 | 松下電器産業株式会社 | 符号/復号化装置及び符号/復号化方法 |
JP3795743B2 (ja) * | 2000-11-17 | 2006-07-12 | 株式会社エヌ・ティ・ティ・ドコモ | データ伝送方法、データ伝送システム、送信装置および受信装置 |
JP3546959B2 (ja) * | 2001-05-31 | 2004-07-28 | 日本電気株式会社 | Crc演算装置 |
JP3554715B2 (ja) * | 2001-07-31 | 2004-08-18 | アンリツ株式会社 | 誤り検出装置 |
JP4831018B2 (ja) | 2007-08-28 | 2011-12-07 | 日本電気株式会社 | 並列巡回符号生成装置および並列巡回符号検査装置 |
US8726124B2 (en) * | 2012-07-19 | 2014-05-13 | Nvidia Corporation | Cyclic redundancy check generation via distributed time multiplexed linear feedback shift registers |
SG11201703914WA (en) * | 2014-11-20 | 2017-06-29 | Aviat Networks Inc | Managing integrity of framed payloads using redundant signals |
-
2015
- 2015-04-14 JP JP2015082592A patent/JP6648412B2/ja not_active Expired - Fee Related
-
2016
- 2016-03-16 US US15/071,804 patent/US9748978B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9748978B2 (en) | 2017-08-29 |
JP2016201770A (ja) | 2016-12-01 |
US20160306692A1 (en) | 2016-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6382569B2 (ja) | 通信システム内での誤り検出の方法および装置 | |
KR102693826B1 (ko) | Srv6 네트워크에서의 세그먼트 목록 생성 방법, 패킷 포워딩 방법, 장치 및 시스템 | |
US8468439B2 (en) | Speed-optimized computation of cyclic redundancy check codes | |
JP4764973B2 (ja) | Crc値の算出装置 | |
JP2013510514A5 (ja) | ||
JP4831018B2 (ja) | 並列巡回符号生成装置および並列巡回符号検査装置 | |
JP6657690B2 (ja) | 復号化装置、プログラム、及び情報伝送システム | |
JP6648412B2 (ja) | Crc符号演算回路、及びその方法並びに半導体装置 | |
CN101207467B (zh) | 循环冗余校验码的生成和数据序列发送、校验方法及装置 | |
KR101110625B1 (ko) | 전송 데이터의 무결성 검사 방법 및 수단 | |
JP2009094605A (ja) | 符号誤り検出装置および誤り検出符号生成装置 | |
Babaie et al. | Double bits error correction using CRC method | |
KR20030036148A (ko) | 복호장치 및 복호방법 | |
US11804855B2 (en) | Pipelined forward error correction for vector signaling code channel | |
JP4515651B2 (ja) | 巡回冗長検査演算方法及び巡回冗長検査演算回路 | |
JP3554715B2 (ja) | 誤り検出装置 | |
JP5550413B2 (ja) | Crc演算回路 | |
EP2285003B1 (en) | Correction of errors in a codeword | |
JP4057876B2 (ja) | ガロア体掛け算器の制御方法 | |
JP5724877B2 (ja) | パリティ制御システム及び方法、並びに通信システム及び方法 | |
JP4747085B2 (ja) | 誤り訂正符号回路 | |
JP4708291B2 (ja) | 通信システム | |
JP2017168917A (ja) | シリアル通信装置 | |
JP2016181756A (ja) | 半導体装置及びデータの送受信方法 | |
Navimipour et al. | Double Bits Error Correction for ComputationalGrid with CRC |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180206 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190205 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190312 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190903 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190925 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191217 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191230 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6648412 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |