JPH08149017A - Crc符号生成方法 - Google Patents
Crc符号生成方法Info
- Publication number
- JPH08149017A JPH08149017A JP6281955A JP28195594A JPH08149017A JP H08149017 A JPH08149017 A JP H08149017A JP 6281955 A JP6281955 A JP 6281955A JP 28195594 A JP28195594 A JP 28195594A JP H08149017 A JPH08149017 A JP H08149017A
- Authority
- JP
- Japan
- Prior art keywords
- bit
- crc code
- bits
- crc
- data
- 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.)
- Granted
Links
Landscapes
- Error Detection And Correction (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
(57)【要約】
【目的】 割算回路やROMを使わずに、予め計算され
たいくつかのCRC符号をもとに、論理回路を組み、必
要最小限の情報でCRC符号を生成することにより、無
駄な演算を省き、CRC演算の高速化を図る。 【構成】 予めCRC演算対象ビット列で、1つのビッ
トのみが”1”の場合のCRC符号を求めておく。これ
をもとに、入力に”1”が入ったビットのみの部分CR
C符号がデコードされビット毎に排他的論理和がとられ
るような回路を備える。これにより入力データが入った
時点で、全データに対するCRC符号が生成され、割算
回路やROMを使わない、無駄な演算を省いたCRCの
高速演算が可能になる。
たいくつかのCRC符号をもとに、論理回路を組み、必
要最小限の情報でCRC符号を生成することにより、無
駄な演算を省き、CRC演算の高速化を図る。 【構成】 予めCRC演算対象ビット列で、1つのビッ
トのみが”1”の場合のCRC符号を求めておく。これ
をもとに、入力に”1”が入ったビットのみの部分CR
C符号がデコードされビット毎に排他的論理和がとられ
るような回路を備える。これにより入力データが入った
時点で、全データに対するCRC符号が生成され、割算
回路やROMを使わない、無駄な演算を省いたCRCの
高速演算が可能になる。
Description
【0001】
【産業上の利用分野】本発明は、CRC符号生成回路に
関するものである。
関するものである。
【0002】
【従来の技術】近年、誤り制御方式は、無駄な計算を省
き高速演算可能な方向へと進んできている。
き高速演算可能な方向へと進んできている。
【0003】以下図面を見ながら、上記した従来の誤り
制御方式について説明する。図4は、従来の誤り制御方
式の概略図を示すものである。図4で41は、生成多項
式による割算回路を示し、42は布線論理回路を、43
はパラレル入力シリアル出力シフトレジスタ、さらに4
4はCRCビット挿入回路を示す。
制御方式について説明する。図4は、従来の誤り制御方
式の概略図を示すものである。図4で41は、生成多項
式による割算回路を示し、42は布線論理回路を、43
はパラレル入力シリアル出力シフトレジスタ、さらに4
4はCRCビット挿入回路を示す。
【0004】以上のように構成された誤り制御方式につ
いて、以下その動作について説明する。
いて、以下その動作について説明する。
【0005】まず、予め演算対象ビットにCRCビット
分の0を付加したデータより、すべての演算対象ビット
パターンに対するCRCビットを演算しておく。
分の0を付加したデータより、すべての演算対象ビット
パターンに対するCRCビットを演算しておく。
【0006】さらに、演算対象ビットのみを生成多項式
で割った余りより、前記予め求めておいたCRCビット
が生成できるように布線論理回路を組み、演算対象ビッ
トの最終ビットが、生成多項式による割算回路41に取
り込まれた時点で、布線論理回路42でCRCビットを
生成し、パラレル入力シリアル出力シフトレジスタ43
でシリアルに直して、挿入回路44で所定の位置に挿入
するものであった(特開平2−211722号公報)。
で割った余りより、前記予め求めておいたCRCビット
が生成できるように布線論理回路を組み、演算対象ビッ
トの最終ビットが、生成多項式による割算回路41に取
り込まれた時点で、布線論理回路42でCRCビットを
生成し、パラレル入力シリアル出力シフトレジスタ43
でシリアルに直して、挿入回路44で所定の位置に挿入
するものであった(特開平2−211722号公報)。
【0007】
【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、予め演算対象ビットのすべてのパターン
について、CRC符号を演算しておかなければならない
ほか、割算回路を使用して、演算対象ビットを割算した
余りよりCRCビットを生成するため、パラレル入力の
データについてはシリアルデータに変換する必要があ
り、また、必ず演算対象ビットの最終ビットまでデータ
を挿入しなければならなく、無駄な演算が多いという問
題を有していた。
うな構成では、予め演算対象ビットのすべてのパターン
について、CRC符号を演算しておかなければならない
ほか、割算回路を使用して、演算対象ビットを割算した
余りよりCRCビットを生成するため、パラレル入力の
データについてはシリアルデータに変換する必要があ
り、また、必ず演算対象ビットの最終ビットまでデータ
を挿入しなければならなく、無駄な演算が多いという問
題を有していた。
【0008】本発明は上記問題点に鑑み、予め演算して
おくCRC符号を少なくし、演算対象ビットそのものの
データにより、直接CRCビットを生成することで、固
定ビットを有した演算対象ビットでは、すべての演算対
象ビットを入力しなくても良い、割算回路を使用しな
い、無駄な演算を省いた、高速演算のCRC符号生成方
法を提供するものである。
おくCRC符号を少なくし、演算対象ビットそのものの
データにより、直接CRCビットを生成することで、固
定ビットを有した演算対象ビットでは、すべての演算対
象ビットを入力しなくても良い、割算回路を使用しな
い、無駄な演算を省いた、高速演算のCRC符号生成方
法を提供するものである。
【0009】
【課題を解決するための手段】上記問題点を解決するた
めに本発明のCRC符号生成方法は、演算対象ビットの
1つのビットのみが”1”の場合のデータで、それぞれ
のビットに対してCRC符号を求めておき、対応するデ
ータビットに”1”が入力された場合、それに対応する
前記CRC符号をビット毎に排他的論理和をとること
で、全データに対するCRC符号を瞬時に生成するもの
である。
めに本発明のCRC符号生成方法は、演算対象ビットの
1つのビットのみが”1”の場合のデータで、それぞれ
のビットに対してCRC符号を求めておき、対応するデ
ータビットに”1”が入力された場合、それに対応する
前記CRC符号をビット毎に排他的論理和をとること
で、全データに対するCRC符号を瞬時に生成するもの
である。
【0010】
【作用】本発明は上記した構成によって、予め計算され
るCRC符号も少なくてすみ、割算回路を使わず、必ず
しも演算対象ビットの全データを必要としないことで、
無駄な計算が大幅に省かれ、簡単な回路で、高速にCR
C符号が生成されることとなる。また、ウエハ検査時の
テスト回路用には最適である。
るCRC符号も少なくてすみ、割算回路を使わず、必ず
しも演算対象ビットの全データを必要としないことで、
無駄な計算が大幅に省かれ、簡単な回路で、高速にCR
C符号が生成されることとなる。また、ウエハ検査時の
テスト回路用には最適である。
【0011】
【実施例】以下本発明の一実施例のCRC符号生成方法
について、図面を参照しながら説明する。
について、図面を参照しながら説明する。
【0012】以下本実施例では、データビット6ビッ
ト、CRCの生成多項式、x3+x2+1の時の動作につ
いて説明する。
ト、CRCの生成多項式、x3+x2+1の時の動作につ
いて説明する。
【0013】図1は本発明の実施例におけるCRC符号
生成回路の概要を示すものである。図1において、11
は予め算出されるCRC符号演算手段で、12は算出さ
れた部分CRC符号をもとに、入力される演算対象ビッ
ト13が入ると、有効値”1”が立ったビットのCRC
符号を用いて、全演算対象ビットに対するCRC符号1
4を生成する、CRC符号生成回路を示している。
生成回路の概要を示すものである。図1において、11
は予め算出されるCRC符号演算手段で、12は算出さ
れた部分CRC符号をもとに、入力される演算対象ビッ
ト13が入ると、有効値”1”が立ったビットのCRC
符号を用いて、全演算対象ビットに対するCRC符号1
4を生成する、CRC符号生成回路を示している。
【0014】図2は、表1の予め計算されたCRC符号
をもとに、入力データビットに”1”が入力されたビッ
トのみの部分CRC符号をデコードし、ビット毎に排他
的論理和をとり、全入力データに対するCRC符号を生
成する回路である。
をもとに、入力データビットに”1”が入力されたビッ
トのみの部分CRC符号をデコードし、ビット毎に排他
的論理和をとり、全入力データに対するCRC符号を生
成する回路である。
【0015】図3は、6ビットの入力データが常に決ま
った値を含む場合の前記入力データに対するCRC符号
を生成する回路である。
った値を含む場合の前記入力データに対するCRC符号
を生成する回路である。
【0016】表1は、入力データのビット位置と、予め
計算されたそれぞれのビットに対応するCRC符号との
関係について示すものである。
計算されたそれぞれのビットに対応するCRC符号との
関係について示すものである。
【0017】
【表1】
【0018】表2は、6ビットの代表的ないくつかの入
力データと、それらから計算されるCRC符号との関係
を示すものである。
力データと、それらから計算されるCRC符号との関係
を示すものである。
【0019】
【表2】
【0020】以下、本発明の第1の実施例について表
1、表2および図1、図2を用いて具体的な手順と回路
の動作について説明する。
1、表2および図1、図2を用いて具体的な手順と回路
の動作について説明する。
【0021】まず、図1および表1に示すように、6ビ
ットのデータのうち1つのビットのみが”1”で、後の
5ビットは”0”であるデータに、CRCビット分の”
0”を付加したデータから、このCRCの誤り検出に用
いられる生成多項式x3+x2+1を用いて、図1におけ
る予め算出される部分CRC符号演算手段11により、
それぞれのビットに対応する部分CRC符号を求めてお
く。
ットのデータのうち1つのビットのみが”1”で、後の
5ビットは”0”であるデータに、CRCビット分の”
0”を付加したデータから、このCRCの誤り検出に用
いられる生成多項式x3+x2+1を用いて、図1におけ
る予め算出される部分CRC符号演算手段11により、
それぞれのビットに対応する部分CRC符号を求めてお
く。
【0022】これをもとに、図1に示す12を図2に示
すように、入力の6ビットに”1”が入ると前記予め計
算された部分CRC符号がデコードされ、ビット毎に排
他的論理和がとられる様に回路を組むと、6ビットのデ
ータを割算回路を通して得られる表2のようなCRC符
号と等しいCRC符号が、瞬時に得られる。
すように、入力の6ビットに”1”が入ると前記予め計
算された部分CRC符号がデコードされ、ビット毎に排
他的論理和がとられる様に回路を組むと、6ビットのデ
ータを割算回路を通して得られる表2のようなCRC符
号と等しいCRC符号が、瞬時に得られる。
【0023】以下本発明の第2の実施例について表1、
表2および図3を用いて説明する。いま、6ビットのデ
ータビットの中で下位3ビット(3、2、1)が常に決
まった値を有し、その値が”011”であったとする。
この時、上位3ビット(6、5、4)が可変ビットとな
る。
表2および図3を用いて説明する。いま、6ビットのデ
ータビットの中で下位3ビット(3、2、1)が常に決
まった値を有し、その値が”011”であったとする。
この時、上位3ビット(6、5、4)が可変ビットとな
る。
【0024】この時のCRC符号生成回路は、固定ビッ
ト以外を”0”とした時の部分CRC符号(前記表2の
D5)と、上位3ビットで、”1”が入力されたビット
のデコードされた部分CRC符号との、ビット毎の排他
的論理和をとるだけで、全6ビットデータに対するCR
C符号が生成されるものである。
ト以外を”0”とした時の部分CRC符号(前記表2の
D5)と、上位3ビットで、”1”が入力されたビット
のデコードされた部分CRC符号との、ビット毎の排他
的論理和をとるだけで、全6ビットデータに対するCR
C符号が生成されるものである。
【0025】図3のように実際の回路では、表2のD5
に対するCRC符号と、可変ビットである上位3ビット
の表3での6、5、4ビットに対応するCRC符号とを
もとに、論理回路が簡単に組むことができ、しかも全演
算対象ビットを入力しなくとも良く、無駄な計算をする
ことなく高速にCRC符号を生成することができる。
に対するCRC符号と、可変ビットである上位3ビット
の表3での6、5、4ビットに対応するCRC符号とを
もとに、論理回路が簡単に組むことができ、しかも全演
算対象ビットを入力しなくとも良く、無駄な計算をする
ことなく高速にCRC符号を生成することができる。
【0026】なお、第1の実施例および第2の実施例に
おいて、”1”と”0”が反転していてもよい。
おいて、”1”と”0”が反転していてもよい。
【0027】また、第2の実施例において、固定ビット
は任意の位置であってもよい。また、第2の実施例にお
いて、固定ビットは”011”としたが任意の値であっ
てもよい。
は任意の位置であってもよい。また、第2の実施例にお
いて、固定ビットは”011”としたが任意の値であっ
てもよい。
【0028】
【発明の効果】以上のように本発明は、予め計算された
いくつかのCRC符号を用いて論理回路を組むことで、
割算回路やROMを使わず、少ない情報で、無駄な計算
をすることなく、高速にCRC符号を生成することがで
き、クロックを使用しないことで低消費電力化にもつな
がる。また、ウエハ検査時のテスト回路には最適であ
る。
いくつかのCRC符号を用いて論理回路を組むことで、
割算回路やROMを使わず、少ない情報で、無駄な計算
をすることなく、高速にCRC符号を生成することがで
き、クロックを使用しないことで低消費電力化にもつな
がる。また、ウエハ検査時のテスト回路には最適であ
る。
【図1】本発明の実施例におけるCRC符号生成の概要
を示す図
を示す図
【図2】本発明の第1の実施例におけるCRC符号生成
回路図
回路図
【図3】本発明の第2の実施例におけるCRC符号生成
回路図
回路図
【図4】従来の技術の誤り制御方式の概略図
11 予め計算される部分CRC符号演算手段 12 CRC符号生成回路 13 入力される演算対象ビット列 14 生成されるCRC符号 D1〜6 代表的なデータ 41 生成多項式による割算回路 42 布線論理回路 43 パラレル入力シリアル出力シフトレジスタ 44 CRC演算ビット挿入回路
Claims (4)
- 【請求項1】 nビットの演算対象ビット列のそれぞれ
のビットに対応した、n個の部分CRC符号群を予め演
算する手順と、nビットの演算対象ビット列の各ビット
の有効値によって、前記部分CRC符号群の値を使っ
て、前記nビットの演算対象ビット列全体に対するCR
C符号を求める手順とを含むことを特徴とするCRC符
号生成方法。 - 【請求項2】 部分CRC符号群が、mビットのCRC
ビット分のビット長を含んだ(n+m)のビット長から
なり、nビットの演算対象ビット列の1ビットのみが、
有効値をもつ(n+m)のビット列を、使用されるCR
C演算のための生成多項式で割った余りの集まりである
ことを特徴とする請求項1記載のCRC符号生成方法。 - 【請求項3】 CRC符号を求める手順が、nビットの
演算対象ビット列の各ビットの有効値を、部分CRC符
号にデコードし、排他的論理和をとることで、前記nビ
ットの演算対象ビット列全体に対するCRC符号を求め
ることを特徴とする請求項2記載のCRC符号生成方
法。 - 【請求項4】 nビットの演算対象ビット列で、一部常
に変化しないp個の固定のビットを含んでいるもののC
RC符号を、前記p個の固定ビット以外の各ビットの有
効値に対応した、部分CRC符号をデコードしたもの
と、前記p個の固定ビットを固定しそれ以外のビット
は、無効値にした場合の部分CRC符号を、デコードし
たものとを排他的論理和をとることで求めることを特徴
とする請求項2記載のCRC符号生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28195594A JP3257298B2 (ja) | 1994-11-16 | 1994-11-16 | Crc符号生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28195594A JP3257298B2 (ja) | 1994-11-16 | 1994-11-16 | Crc符号生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08149017A true JPH08149017A (ja) | 1996-06-07 |
JP3257298B2 JP3257298B2 (ja) | 2002-02-18 |
Family
ID=17646239
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28195594A Expired - Fee Related JP3257298B2 (ja) | 1994-11-16 | 1994-11-16 | Crc符号生成方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3257298B2 (ja) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100322574B1 (ko) * | 1998-07-01 | 2002-03-08 | 윤종용 | 오류 검출 코드의 생성방법 |
JP2004504753A (ja) * | 2000-07-14 | 2004-02-12 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | プロトコル・ヘッダの圧縮 |
JP2007042234A (ja) * | 2005-08-04 | 2007-02-15 | Nec Electronics Corp | 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置 |
US7607074B2 (en) | 2004-12-01 | 2009-10-20 | Nec Electronics Corporation | Error detecting code addition circuit, error detection circuit and method, and disc apparatus |
US8433974B2 (en) | 2009-12-21 | 2013-04-30 | Fujitsu Limited | Cyclic redundancy check code generating circuit and cyclic redundancy check code generating method |
US8700971B2 (en) | 2006-08-22 | 2014-04-15 | Panasonic Corporation | Parallel residue arithmetic operation unit and parallel residue arithmetic operating method |
US9407289B2 (en) | 2012-10-04 | 2016-08-02 | Samsung Electronics Co., Ltd. | Method of operating cyclic redundancy check in memory system and memory controller using the same |
US10771095B2 (en) | 2016-06-07 | 2020-09-08 | Mitsubishi Electric Corporation | Data processing device, data processing method, and computer readable medium |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101775796B (zh) * | 2009-11-30 | 2011-03-16 | 北京中煤矿山工程有限公司 | 免拔除冻结器 |
-
1994
- 1994-11-16 JP JP28195594A patent/JP3257298B2/ja not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100322574B1 (ko) * | 1998-07-01 | 2002-03-08 | 윤종용 | 오류 검출 코드의 생성방법 |
JP2004504753A (ja) * | 2000-07-14 | 2004-02-12 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | プロトコル・ヘッダの圧縮 |
US7607074B2 (en) | 2004-12-01 | 2009-10-20 | Nec Electronics Corporation | Error detecting code addition circuit, error detection circuit and method, and disc apparatus |
JP2007042234A (ja) * | 2005-08-04 | 2007-02-15 | Nec Electronics Corp | 誤り検出符号算出回路、誤り検出符号算出方法及び記録装置 |
US8700971B2 (en) | 2006-08-22 | 2014-04-15 | Panasonic Corporation | Parallel residue arithmetic operation unit and parallel residue arithmetic operating method |
US8433974B2 (en) | 2009-12-21 | 2013-04-30 | Fujitsu Limited | Cyclic redundancy check code generating circuit and cyclic redundancy check code generating method |
US9407289B2 (en) | 2012-10-04 | 2016-08-02 | Samsung Electronics Co., Ltd. | Method of operating cyclic redundancy check in memory system and memory controller using the same |
US10771095B2 (en) | 2016-06-07 | 2020-09-08 | Mitsubishi Electric Corporation | Data processing device, data processing method, and computer readable medium |
Also Published As
Publication number | Publication date |
---|---|
JP3257298B2 (ja) | 2002-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100202206B1 (ko) | 유한체의 곱셈적역원을 계산하는 데이타 처리 장치 | |
KR970706655A (ko) | 다목적 에러 교정 시스템(versatile error correction system) | |
EP0480621B1 (en) | Apparatus and method for parallel generation of cyclic redundancy check (CRC) codes | |
JP3257298B2 (ja) | Crc符号生成方法 | |
US8433974B2 (en) | Cyclic redundancy check code generating circuit and cyclic redundancy check code generating method | |
KR0163464B1 (ko) | 허프만 부호 복호화 회로 | |
US6295626B1 (en) | Symbol based algorithm for hardware implementation of cyclic redundancy check | |
JPS632370B2 (ja) | ||
KR100188147B1 (ko) | 주기적 여유 코드를 이용한 오류검출회로 | |
JPH05227041A (ja) | Crc演算に基づく1ビット誤り訂正回路 | |
KR100281946B1 (ko) | 신드롬 계산 장치 | |
JP2810397B2 (ja) | 誤り訂正装置 | |
JPH0787090A (ja) | 巡回符号検出方法及び装置 | |
JPH06230991A (ja) | 有限体での任意元素の逆数算出方法及び装置 | |
JPH10209880A (ja) | Crc演算回路 | |
JP2591113B2 (ja) | ハミング符号化器 | |
JP2004173199A (ja) | 巡回符号を用いた誤り訂正回路 | |
EP0200124A2 (en) | Decoding method and encoder-decoder for cyclic codes | |
JP2960473B2 (ja) | 誤り訂正回路 | |
KR100505566B1 (ko) | 서브코드 q데이타의 병렬 순환 여유 검사 방법 | |
Rahman et al. | A Minimal Delay Decoder Design for Block Codes of Small Lengths | |
KR19980028168A (ko) | 순환리더던시검사(crc)회로 | |
JPS59201149A (ja) | パリテイ処理方式 | |
KR980004038A (ko) | 멀티 비트의 crc 연산 방법 | |
JPH03190327A (ja) | 誤り訂正回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |