JP2001251194A - Crc演算装置 - Google Patents

Crc演算装置

Info

Publication number
JP2001251194A
JP2001251194A JP2000060330A JP2000060330A JP2001251194A JP 2001251194 A JP2001251194 A JP 2001251194A JP 2000060330 A JP2000060330 A JP 2000060330A JP 2000060330 A JP2000060330 A JP 2000060330A JP 2001251194 A JP2001251194 A JP 2001251194A
Authority
JP
Japan
Prior art keywords
data
circuit
bit
signal bit
significant
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
Application number
JP2000060330A
Other languages
English (en)
Other versions
JP2001251194A5 (ja
JP4371520B2 (ja
Inventor
Masahiko Ishiwaki
昌彦 石脇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000060330A priority Critical patent/JP4371520B2/ja
Priority to US09/769,413 priority patent/US6725415B2/en
Publication of JP2001251194A publication Critical patent/JP2001251194A/ja
Publication of JP2001251194A5 publication Critical patent/JP2001251194A5/ja
Application granted granted Critical
Publication of JP4371520B2 publication Critical patent/JP4371520B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • H03M13/091Parallel or block-wise CRC computation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/65Purpose and implementation aspects
    • H03M13/6575Implementations based on combinatorial logic, e.g. Boolean circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

(57)【要約】 【課題】 CRC(冗長巡回検査)演算を高速に行なう
ことができるCRC演算装置を提供する。 【解決手段】 入力IN3〜IN0から4ビットを一括
して受ける演算回路36〜42によって処理した結果を
保持回路2によって保持する。従来は1ビットずつ処理
していた入力データ列を4ビットずつ一括処理するので
CRC演算の高速化が図れる。より好ましくは、演算回
路36〜42に設定する設定データを変更すれば、生成
多項式の変更にも柔軟に対応できる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、データ列を通信
する際に用いられる、CRC(Cyclic Redundancy Chec
k:巡回冗長検査)方式によるデータ伝送誤り検出のた
めのCRC演算装置に関する。
【0002】
【従来の技術】データ列を通信する際に、伝送したい情
報ビットに誤りを検出する検査のための検査ビットを付
加して伝送し、受信時に所定の演算を行ない伝送された
データ列に異常がないかどうかを判定する方法がある。
誤りを検出する単純な方式としては、パリティビットに
よる方法がよく知られている。この方法は、送信するデ
ータ列ごとに含まれている“1”の数が偶数であるか奇
数であるかによって1ビットのパリティビットを付加す
るものである。
【0003】さらに、検出能力が強化された方法とし
て、巡回冗長検査(以下CRCと称する)による方法が
ある。CRCでは、伝送したい情報ビットに対し、生成
多項式による演算を行なう。
【0004】簡単にCRC符号の作り方を説明する。ま
ず、情報ビットに対応する送りたい情報データ列をP
(X)、生成多項式をG(X)、送出データ列をF
(X)、検査ビットに対応する剰余多項式をR(X)と
する。これらは符号多項式で表現されている。符号多項
式では、2進数は多項式で表現される。たとえば、P
(X)=“100 1011 0100 1011”
は、P(X)=X14+X11+X9+X8+X6+X3+X1
+1のように表現される。
【0005】生成多項式がG(X)=X8+X7+X6
4+X2+1であるとき、以下の(1)〜(3)式によ
り送出データ列F(X)を求める。
【0006】まず、生成多項式G(X)の最高次の項で
あるX8を情報データ列P(X)に乗算してP’(X)
を求める。
【0007】 P’(X)=P(X)×X8 … (1) 次に、P’(X)を生成多項式G(X)で後に説明する
mod2除算をして剰余多項式R(X)を求める。ここ
で、“/”は、後に説明するmod2除算を表わすもの
とする。
【0008】 R(X)=P’(X)/G(X) … (2) そして、求めた剰余多項式R(X)とP’(X)を加算
して送出データ列F(X)を求める。
【0009】 F(X)=P’(X)+R(X) … (3) 図15は、情報ビットと生成多項式から検査ビットを求
めるmod2除算を説明するための図である。
【0010】図15を参照して、生成多項式G(X)=
8+X7+X6+X4+X2+1のとき情報ビットから検
査ビットを求める演算を説明する。生成多項式に対応す
るのは、“1 1100 1001”であり、情報ビッ
トは“100 1011 0100 1011”であ
る。
【0011】まず、情報ビットの下位に生成多項式のビ
ット数−1の個数の0を付加する。この処理が(2)式
で示した演算に相当する。
【0012】そして、上位ビット側から生成多項式の各
ビットとmod2演算を行なう。ただし、mod2演算
は、通常の除算とは異なり桁上がりや桁下がりは発生し
ない。すなわち、情報ビットの各ビットと生成多項式の
各ビットの排他的論理和をとった値が順次計算されてい
る。最上位の演算結果は必ず“0”となるため、生成多
項式のビット数に一致するように、演算結果の下位に少
なくとも1ビット分の情報ビットを補う。図15の中間
演算結果Aが、ここまでの結果を示す。
【0013】以降同様にmod2演算が繰返され、最後
に演算結果が生成多項式のビット数より少なくなった時
点で演算は終了する。そして、最後に求められた剰余
“00110001”が求める検査ビットである。この
ように、mod2演算を繰返して、剰余を求めること
を、本明細書中では、mod2除算ということとする。
【0014】このように検査ビットが求められると、送
出データ列を送信するときに、情報ビットに続いて検査
ビットが送出される。そして、受信側では、伝送された
情報ビットと検査ビットとに基づいて伝送誤りが発生し
ていないかどうかの確認が行なわれる。
【0015】図16は、伝送誤りが発生していないかど
うかの確認を行なうための演算の説明をするための図で
ある。
【0016】図16を参照して、情報ビット“100
1011 0100 1011”の下位側に検査ビット
“0011 0001”が付加され伝送されたこれらの
送出データ列に対して生成多項式“1 1101 01
01”によるmod2除算が行なわれる。mod2除算
については、図15で説明しているので説明は繰返さな
い。このときに、正しく伝送がなされていれば、剰余が
0となり伝送誤りがないことが確認できる。
【0017】図17は、図15、図16で示した除算を
行なう従来のCRC演算装置100の構成を示す概念図
である。
【0018】図17を参照して、CRC演算装置100
は、排他的論理和を演算して出力するXOR回路102
〜110と、図示しないクロック信号によって駆動され
データを取込み保持するレジスタ112〜126とを含
む。
【0019】XOR回路102は、CRC演算装置10
0に入力されるデータ列とレジスタ126の保持する値
の排他的論理和を演算して出力する。レジスタ112
は、XOR回路102の出力を受けて1クロックの間保
持する。レジスタ114は、レジスタ112の出力を受
けて1クロックの間保持する。XOR回路104は、レ
ジスタ114,126の出力の排他的論理和を演算して
出力する。レジスタ116は、XOR回路104の出力
を受けて1クロックの間保持する。レジスタ118は、
レジスタ116の出力を受けて1クロックの間保持す
る。
【0020】XOR回路106は、レジスタ118,1
26の出力の排他的論理和を演算して出力する。レジス
タ120は、XOR回路106の出力を受けて1クロッ
ク間保持する。レジスタ122は、レジスタ120の出
力を受けて1クロック間保持する。XOR回路108
は、レジスタ122,126の出力の排他的論理和を演
算して出力する。レジスタ124は、XOR回路108
の出力を受けて1クロック間保持する。XOR回路11
0は、レジスタ124,126の出力の排他的論理和を
出力する。レジスタ126は、XOR回路110の出力
を受けて1クロック間保持する。
【0021】図18〜図25は、図17に示したCRC
演算装置が、演算を行なう経過を示した図である。な
お、図15で示したmod2除算の途中までの経過をこ
れらの図を用いて説明する。
【0022】図15、図18を参照して、CRC演算装
置100には、生成多項式の“1”のビットが存在する
位置に対応してXOR回路が設けられている。すなわ
ち、CRC演算装置100の構成は、生成多項式“1
1101 0101”に対応している。
【0023】まず、当初、すべてのレジスタに “0”
が保持されているとする。図示しないが、すべてのレジ
スタがリセット信号に応じて保持値が“0”に初期化さ
れるのが一般的である。レジスタ126に“0”が保持
されている間は、XOR回路102〜110は、前段か
ら入力されたデータをそのまま後段に出力する。つま
り、CRC演算装置100は、レジスタ126にデータ
“1”が到達するまでには単純なシフトレジスタとして
働く。
【0024】所定の時間経過すると、レジスタ112〜
126には、“1001 0110”が保持される。そ
して、CRC演算回路の入力には、 “1”が入力され
る。
【0025】図19を参照して、1クロック期間が経過
し次の状態においては、XOR回路102〜110によ
って演算されていた結果がレジスタ112〜126によ
って保持される。そして、CRC演算回路の入力には、
さらに次のビット“0”が入力される。この状態は、図
15のAの中間の演算結果を示している。
【0026】続いて、図20において、次のクロックサ
イクルにおける状態が示される。このとき、レジスタ1
12〜126には、“0010 0101”が保持され
る。
【0027】続いて、図21において、次のクロックサ
イクルの状態が示される。このときレジスタ126の保
持した値は“0”であるので、全体が1ビット上位側に
シフトする。したがってレジスタ112〜126の保持
する値は、“0100 1010”となる。
【0028】続いて、図22において、次のクロックサ
イクルの状態が示される。図21のレジスタ126が保
持した値も“0”であったため、CRC演算装置100
が保持する保持値は、1ビット上位側にシフトし、“1
001 0101”になっている。そして、新たに、C
RC演算装置100の入力には“0”が入力される。こ
の状態が、図15の中間演算結果Bに対応する。
【0029】次のクロックサイクルでは、図23に示す
ようにレジスタの保持値は“1111 1111”とな
る。そして、新たに、CRC演算装置100の入力には
“1”が入力される。この状態が図15の中間演算結果
Cに対応する。そして、次のクロックサイクルにおいて
シフトレジスタの保持値は、図24に示すように“00
10 1010”となる。
【0030】続いて次のクロックサイクルにおいて、図
25に示すようにシフトレジスタの保持値は“0101
0101”となる。そして、次のクロックサイクルに
おいて、図15のDに示すような中間処理結果がレジス
タ112〜126に保持されることになる。
【0031】
【発明が解決しようとする課題】CRC演算には、複数
の方式が存在し、それぞれ、生成多項式が異なる。以上
説明した従来のCRC演算装置では、使用する生成多項
式を変更する場合には、XOR回路を挿入する位置を変
更せねばならず、生成多項式を一旦決定してしまうと変
更が難しいという問題点があった。
【0032】また、1クロックサイクルに1ビットの入
力しか扱うことができず、演算時間が長いという問題点
もあった。
【0033】この発明の目的は、生成多項式の変更に容
易に対応でき、かつ高速に演算することが可能なCRC
演算装置を提供することである。
【0034】
【課題を解決するための手段】請求項1に記載のCRC
演算装置は、対象データに対して生成多項式に基づいて
巡回冗長検査方式の誤り検出を行なうためのCRC演算
装置であって、対象データに含まれる信号ビットを複数
ビットずつに分割した複数の分割データを順次受けて、
生成多項式に応じた演算処理を行なう主演算回路を備
え、主演算回路は、複数の分割データのうちの第1のデ
ータと第1のデータを受けるまでに既に受領済みである
対象データの部分について演算処理を行なった結果得ら
れた第2のデータとに対して演算処理を行ない第3のデ
ータを生成する。CRC演算装置は、第2のデータを保
持して主演算回路に与え、かつ、第3のデータを保持す
る保持回路をさらに備える。
【0035】請求項2に記載のCRC演算装置は、請求
項1に記載のCRC演算装置の構成に加えて、主演算回
路は、第2のデータの最下位の信号ビット側に第1のデ
ータの最上位の信号ビットを付加した第4のデータを受
け、第4のデータの最上位の信号ビットが第1の論理符
号である場合は第4のデータの最上位から2番目の信号
ビット〜最下位の信号ビットを第5のデータとして出力
し、第4のデータの最上位の信号ビットが第1の論理符
号と異なる第2の論理符号である場合は第4のデータの
最上位から2番目の信号ビット〜最下位の信号ビットと
生成多項式に応じた第6のデータの対応する信号ビット
同士のそれぞれの排他的論理和を第5のデータとして出
力する第1の副演算回路と、第5のデータの最下位の信
号ビット側に第1のデータの最上位の信号ビットから2
番目のビットを付加した第7のデータを受け、第7のデ
ータの最上位の信号ビットが第1の論理符号である場合
は第7のデータの最上位から2番目の信号ビット〜最下
位の信号ビットを第8のデータとして出力し、第7のデ
ータの最上位の信号ビットが第2の論理符号である場合
は第7のデータの最上位から2番目の信号ビット〜最下
位の信号ビットと第6のデータの対応するビット同士の
排他的論理和を第8のデータとして出力する第2の副演
算回路とを含み、主演算回路は、第8のデータに応じて
第3のデータを発生する。
【0036】請求項3に記載のCRC演算装置は、請求
項2に記載のCRC演算装置の構成に加えて、第1の副
演算回路は、第6のデータが含んでいる第2の論理符号
と一致する信号ビットに対応する位置の第4のデータの
信号ビットと第4のデータの最上位の信号ビットとを受
けて排他的論理和を出力するゲート回路を含む。
【0037】請求項4に記載のCRC演算装置は、請求
項3に記載のCRC演算装置の構成に加えて、第1の副
演算回路は、第6のデータが含んでいる第1の論理符号
と一致する信号ビットに対応する位置の第4のデータの
信号ビットをそのままの値で出力するゲート回路をさら
に含む。
【0038】請求項5に記載のCRC演算装置は、請求
項2に記載のCRC演算装置の構成に加えて、第1の副
演算回路は、第4のデータの最上位から2番目の信号ビ
ット〜最下位の信号ビットにそれぞれ対応して設けられ
る複数のゲート回路を含み、各ゲート回路は、第6のデ
ータの対応する信号ビットを一方の入力に受け、第4の
データの最上位の信号ビットを他方の入力に受けるAN
D回路と、第4のデータの対応する信号ビットとAND
回路の出力とを受けて排他的論理和を出力するXOR回
路とを有する。
【0039】請求項6に記載のCRC演算装置は、請求
項2に記載のCRC演算装置の構成に加えて、第1の副
演算回路は、第4のデータの最下位から2番目の信号ビ
ット〜第4のデータの最上位から2番目の信号ビットに
それぞれ対応して設けられる複数のゲート回路を含み、
各ゲート回路は、第6のデータの対応する信号ビットを
一方の入力に受け、第4のデータの最上位の信号ビット
を他方の入力に受けるAND回路と、第4のデータの対
応する信号ビットと第4のデータの最下位の信号ビット
とを受けていずれかを選択的に出力する切換回路と、切
換回路の出力とAND回路の出力とを受けて排他的論理
和を出力するXOR回路とを有する。
【0040】請求項7に記載のCRC演算装置は、請求
項2に記載のCRC演算装置の構成に加えて、第1のデ
ータは、4つの信号ビットを含み、主演算回路は、第8
のデータの最下位の信号ビット側に第1のデータの最上
位から3番目の信号ビットを付加した第9のデータを受
け、第9のデータの最上位の信号ビットが第1の論理符
号である場合は第9のデータの最上位から2番目の信号
ビット〜最下位の信号ビットを第10のデータとして出
力し、第9のデータの最上位の信号ビットが第2の論理
符号である場合は第9のデータの最上位から2番目の信
号ビット〜最下位の信号ビットと第6のデータの対応す
る信号ビット同士のそれぞれの排他的論理和を第10の
データとして出力する第3の副演算回路と、第10のデ
ータの最下位の信号ビット側に第1のデータの最下位の
ビットを付加した第11のデータを受け、第11のデー
タの最上位の信号ビットが第1の論理符号である場合は
第11のデータの最上位から2番目の信号ビット〜最下
位の信号ビットを第3のデータとして出力し、第11の
データの最上位の信号ビットが第2の論理符号である場
合は第11のデータの最上位から2番目の信号ビット〜
最下位の信号ビットと第6のデータの対応するビット同
士の排他的論理和を第3のデータとして出力する第4の
副演算回路とをさらに含む。
【0041】請求項8に記載のCRC演算装置は、請求
項7に記載のCRC演算装置の構成において、主演算装
置は、対象データの信号ビット数を4で割ると余りが生
ずるときは、4から余りを引いた数の第1の論理符号を
対象データの最上位信号ビット側に補って、上位ビット
から4ビットずつ処理を行なう。
【0042】請求項9に記載のCRC演算装置は、請求
項1に記載のCRC演算装置の構成に加えて、保持回路
は、 第3のデータに含まれる複数の信号ビットをそれ
ぞれ入力に受けて、クロック信号に応じて保持する複数
のレジスタを含む。
【0043】
【発明の実施の形態】以下において、本発明の実施の形
態について図面を参照して詳しく説明する。なお、図中
同一符号は同一または相当部分を示す。
【0044】[実施の形態1]図1は、本発明の実施の
形態1のCRC演算装置1の構成を示す概略ブロック図
である。
【0045】図1を参照して、CRC演算装置1は、ク
ロック信号CLKに応じてデータX41〜X48を取込む
保持回路2と、保持回路2の保持しているデータX01
〜X08と入力IN0〜IN3から入力されるデータX
0〜X00とを受けてデータX40〜X47を出力する演
算回路4とを含む。
【0046】演算回路4は、データX00〜X08を受け
てデータX11〜X18を出力する演算回路6と、データ
X10〜X18を受けてデータX21〜X28を出力する演
算回路8と、データX20〜X28を受けてデータX31
〜X38を出力する演算回路10と、データX30〜X3
8を受けてデータX41〜X48を出力する演算回路12
とを含む。
【0047】図2は、図1に示した保持回路2の構成を
示す回路図である。図2を参照して、保持回路2は、デ
ータX41を受けてクロック信号CLKに応じて取込
み、そしてデータX01を出力するレジスタ2♯0と、
データX42を受けてクロック信号CLKに応じて取込
み、そしてデータX02を出力するレジスタ2♯1と、
データX43を受けてクロック信号CLKに応じて取込
み、そしてデータX03を出力するレジスタ2♯2と、
データX44を受けてクロック信号CLKに応じて取込
み、そしてデータX04を出力するレジスタ2♯3とを
含む。
【0048】保持回路2は、さらに、データX45を受
けてクロック信号CLKに応じて取込み、そしてデータ
X05を出力するレジスタ2♯4と、データX46を受け
てクロック信号CLKに応じて取込み、そしてデータX
6を出力するレジスタ2♯5と、データX47を受けて
クロック信号CLKに応じて取込み、そしてデータX0
7を出力するレジスタ2♯6と、データX48を受けてク
ロック信号CLKに応じて取込み、そしてデータX08
を出力するレジスタ2♯7とを含む。
【0049】図3は、図1における演算回路6の構成を
示す回路図である。図3を参照して、演算回路6は、デ
ータXn0とデータXn8とを受けてデータXn+11
出力するゲート回路6♯0と、データXn1とデータX
8とを受けてデータXn+12を出力するゲート回路6
♯1と、データXn2とデータXn8とを受けてデータX
n+13を出力するゲート回路6♯2と、データXn3
データXn8とを受けてデータXn+14を出力するゲー
ト回路6♯3とを含む。
【0050】演算回路6は、さらに、データXn4とデ
ータXn8とを受けてデータXn+1 5を出力するゲート
回路6♯4と、データXn5とデータXn8とを受けてデ
ータXn+16を出力するゲート回路6♯5と、データ
Xn6とデータXn8とを受けてデータXn+17を出力
するゲート回路6♯6と、データXn7とデータXn8
を受けてデータXn+18を出力するゲート回路6♯7
とを含む。
【0051】ゲート回路は、生成多項式に対応する位置
にXOR回路が配置されており、他の位置はデータXn
kを受けてデータXn+1k+1にそのまま出力するように
なっている(kは0〜7の整数)。図3では、そのまま
出力するゲート回路の例として、単に配線で接続した場
合を示しているが、バッファ回路等のデータの極性を変
えない回路を配置してもよい。
【0052】図1における演算回路8,10,12は、
演算回路6と同様な構成を有している。すなわち、図3
において、n=0のときに演算回路6の構成が示され、
n=1のときに演算回路8の構成が示され、n=2のと
きに演算回路10の構成が示され、n=3のときに演算
回路12の構成が示される。したがって、説明は繰返さ
ない。
【0053】図4は、図1に示したCRC演算装置1の
動作を説明するための動作波形図である。
【0054】図4を参照して、クロックサイクルT1に
おいて、入力IN0〜IN3にはデータ列の上位4ビッ
トであるデータD12〜D15が入力される。
【0055】続いてクロックサイクルT2において、入
力IN0〜IN3には、データD8〜D11が入力され
る。クロックサイクルT1,T2においては、保持回路
の中にデータが満たされていないため、保持回路のデー
タは4ビットずつシフトする。そして、クロックサイク
ルT3において入力IN0〜IN3にデータD4〜D7
が入力されると、演算が開始され、クロックサイクルT
4においてデータD0〜D3が入力IN0〜IN3に入
力されると、応じてデータX40〜X47に剰余が出力さ
れる。
【0056】以下、図18〜図25で説明した従来回路
の演算動作の場合と同じデータを受けて演算を行なう場
合について説明する。
【0057】図5は、図4のクロックサイクルT1にお
けるCRC演算装置1の演算を説明するための図であ
る。
【0058】なお、図5において図面の簡単のため構成
要素の記号を簡略化している。すなわち、レジスタ14
は、図2のレジスタ2♯0に対応し、XOR回路16
は、図3におけるゲート回路6♯0に対応する。
【0059】図4、図5を参照して、クロックサイクル
T1において入力IN3,IN2,IN1,IN0から
は、データD15,D14,D13,D12としてそれ
ぞれ“0”,“1”,“0”,“0”が入力される。こ
のときに、当初、保持回路2にはデータ“0000 0
000”が保持されているものとする。図示しないが、
たとえば、保持回路2が含むすべてのレジスタがリセッ
ト信号に応じて保持値が“0”に初期化されるのが一般
的である。
【0060】このとき、演算回路6には、データX08
〜X00として“0 0000 0000”が入力され
る。応じて、演算回路6は、データX18〜X11として
“0000 0000”を出力する。
【0061】演算回路6の出力と入力IN2から入力さ
れた“1”とに応じて演算回路8は、データX28〜X
1として“0000 0001”を出力する。演算回
路8の出力と入力IN1から入力された“0”とに応じ
て、演算回路10は、データX38〜X31として“00
00 0010”を出力する。
【0062】演算回路10の出力と入力IN0から入力
された“0”とに応じて、演算回路12は、データX4
8〜X41として“0000 0100”を出力する。こ
のデータX48〜X41は、次のクロックサイクルT2に
おいて保持回路2に取込まれる。
【0063】図6は、図4におけるクロックサイクルT
2におけるCRC演算装置1の演算を説明するための図
である。
【0064】図4、図6を参照して、データD11,D
10,D9,D8としてそれぞれ“1”,“0”,
“1”,“1”が与えられる。
【0065】保持回路2は、クロックサイクルT1にお
いて演算回路12から出力されていたデータ“0000
0100”を取込んで保持している。
【0066】保持回路2の出力と入力IN3から入力さ
れた“1”とに応じて、演算回路6はデータ“0000
1001”を出力する。演算回路6の出力と入力IN
2から入力された“0”とに応じて、演算回路8はデー
タ“0001 0010”を出力する。
【0067】演算回路8の出力と入力IN1から与えら
れた“1”とに応じて、演算回路10は、データ“00
10 0101”を出力する。演算回路10の出力と入
力IN0から入力された“1”とに応じて、演算回路1
2は、データ“0100 1011”を出力する。
【0068】クロックサイクルT1,T2においては、
保持回路2は、データX08〜X05として“0000”
を出力しているため、入力IN0〜IN3から入力され
るデータが保持回路2の中を4ビットずつシフトしてい
くことがわかる。
【0069】図7は、図4におけるクロックサイクルT
3におけるCRC演算装置1の動作を説明するための図
である。
【0070】図4、図7を参照して、保持回路2は、ク
ロックサイクルT2で演算回路12が出力していたデー
タ“0100 1011”を取込む。保持回路2の出力
と入力IN3から与えられる“0”とに応じて、演算回
路6は、データ“10010110”を出力する。演算
回路6の出力と入力IN2から与えられた“1”とに応
じて、演算回路8は、データ“1111 1000”を
出力する。
【0071】演算回路8の出力と入力IN1から与えら
れた“0”とに応じて、演算回路10は、データ“00
10 0101”を出力する。演算回路10の出力と入
力IN0から与えられた“0”に応じて、演算回路12
は、データ“0100 1010”を出力する。
【0072】図8は、図4におけるクロックサイクルT
4でのCRC演算装置1の動作を説明するための図であ
る。
【0073】図4、図8を参照して、保持回路2は、ク
ロックサイクルT3において演算回路12が出力したデ
ータ“0100 1010”を取込む。演算回路6は、
保持回路2の保持値と入力IN3から入力される“1”
とに応じてデータ“10010101”を出力する。演
算回路8は、演算回路6の出力と入力IN2から入力さ
れる“0”とに応じて、データ“1111 1111”
を出力する。
【0074】演算回路10は、演算回路8の出力と入力
IN1から入力された“1” とに応じて、データ“0
010 1010”を出力する。演算回路12は、演算
回路10の出力と入力IN0から入力された“1” と
に応じて、データ“01010101”を出力する。こ
の演算回路12の出力を剰余として出力すれば、図18
〜図25で示した従来回路の除算と同様な除算がクロッ
クサイクルT1〜T4の4クロックサイクルで実現した
ことになる。
【0075】以上説明したように、実施の形態1に示し
たCRC演算装置1によれば、1クロックサイクルにお
いて一度に多ビットを処理することができ、高速にCR
C演算をすることができる。
【0076】なお、図1では、一度に4ビットずつ入力
を受けて処理する場合を例として示したが、複数ビット
ずつ処理すれば1ビットずつ処理していた従来のCRC
演算装置よりも処理速度は速くなるので、ビット数は2
ビット以上なら適宜必要なスピードに応じて増減させて
もよい。
【0077】また、処理したいデータ列の数が一括処理
するビット数である4で割り切れない場合には、上位側
に“0”を補い4の約数となる個数のデータ列に区切っ
て処理すればよい。たとえば、入力が“abcdefg
hij”の順に入力される場合には、“00ab”,
“cdef”,“ghij”のように入力することで処
理が可能である。
【0078】[実施の形態2]CRCには、幾種類かの
方式があり、用いられる生成多項式が異なる場合があ
る。このような場合に、図3に示したような演算装置で
は、XOR回路を配置する位置を、生成多項式に対応し
て変更せねばならない。ハードウェアの変更は、集積化
が進んだ半導体装置等においては、変更することは容易
でない。
【0079】図9は、生成多項式が変更された場合に容
易に対応することができるCRC演算装置20の構成を
示した回路図である。
【0080】図9を参照して、CRC演算装置20は、
AND回路22♯0〜22♯7と、XOR回路24♯0
〜24♯7と、レジスタ26♯0〜26♯7とを含む。
【0081】AND回路22♯0は、レジスタ26♯7
の出力と設定データS0として入力される設定値“1”
とを受ける。XOR回路24♯0は、AND回路22♯
0の出力と入力INから入力されるデータとを受ける。
レジスタ26♯0は、図示しないクロック信号に応じて
XOR回路24♯0の出力を取込む。
【0082】AND回路22♯1は、レジスタ26♯7
の出力と設定データS1として入力される設定値“0”
とを受ける。XOR回路24♯1は、レジスタ26♯0
の出力とAND回路22♯1の出力とを受ける。レジス
タ26♯1は、図示しないクロック信号に応じてXOR
回路24♯1の出力を取込み保持する。
【0083】AND回路22♯2は、レジスタ26♯7
の出力と設定データS2として入力される設定値“1”
とを受ける。XOR回路24♯2は、レジスタ26♯1
の出力とAND回路22♯2の出力とを受ける。レジス
タ26♯2は、図示しないクロック信号に応じてXOR
回路24♯2の出力を取込み保持する。
【0084】AND回路22♯3は、レジスタ26♯7
の出力と設定データS3として入力される設定値“0”
とを受ける。XOR回路24♯3は、AND回路22♯
3の出力とレジスタ26♯2の出力とを受ける。レジス
タ26♯3は、図示しないクロック信号に応じてXOR
回路24♯3の出力を取込み保持する。
【0085】AND回路22♯4は、レジスタ26♯7
の出力と設定データS4として入力される設定値“1”
とを受ける。XOR回路24♯4は、AND回路22♯
4の出力とレジスタ26♯3の出力とを受ける。レジス
タ26♯4は、図示しないクロック信号に応じてXOR
回路24♯4の出力を取込み保持する。
【0086】AND回路22♯5は、レジスタ26♯7
の出力と設定データS5として入力される設定値“0”
とを受ける。XOR回路24♯5は、AND回路22♯
5の出力とレジスタ26♯4の出力とを受ける。レジス
タ26♯5は、図示しないクロック信号に応じてXOR
回路24♯5の出力を取込み保持する。
【0087】AND回路22♯6は、レジスタ26♯7
の出力と設定データS6として入力される設定値“1”
とを受ける。XOR回路24♯6は、AND回路22♯
6の出力とレジスタ26♯5の出力とを受ける。レジス
タ26♯6は、図示しないクロック信号に応じてXOR
回路24♯6の出力を取込み保持する。
【0088】AND回路22♯7は、レジスタ26♯7
の出力と設定データS7として入力される設定値“1”
とを受ける。XOR回路24♯7は、AND回路22♯
7の出力とレジスタ26♯4の出力とを受ける。レジス
タ26♯7は、図示しないクロック信号に応じてXOR
回路24♯7の出力を取込み保持する。
【0089】このような構成にすることにより、設定デ
ータS0〜S7として与える設定値を変更すれば、生成多
項式の変更に対応が可能である。
【0090】すなわち、設定データS0〜S7に設定値
“1101 0101”を与えれば、このとき生成多項
式は、P(X)=X8+X7+X6+X4+X2+1とな
る。したがって、図17に示した従来のCRC演算装置
100と同様な演算を行なわせることができる。
【0091】このように生成多項式の変更に容易に対応
でき、かつ多ビットを一括処理可能なCRC演算装置を
検討する。
【0092】図10は、本発明の実施の形態2のCRC
演算装置30の構成を示す概略ブロック図である。
【0093】図10を参照して、CRC演算装置30
は、図1に示したCRC演算装置の構成において、演算
回路4に代えて演算回路34を含む。
【0094】演算回路34は、図1に示した演算回路4
の構成において、演算回路6,8,10,12に代えて
それぞれ演算回路36,38,40,42を含む。演算
回路36,38,40,42は設定データS0〜S7とし
て入力される設定値に応じて、生成多項式の変更に対応
できるような構成を有している。他の接続関係は図1に
示したCRC演算装置1の場合と同様であるので説明は
繰返さない。
【0095】図11は、図10における演算回路36の
構成を示した回路図である。図11を参照して、演算回
路36は、データXn0,Xn8および設定データS 0
受けてデータXn+11を出力するゲート回路36♯0
と、データXn1,Xn8および設定データS1を受けて
データXn+12を出力するゲート回路36♯1と、デ
ータXn2,Xn8および設定データS2を受けてデータ
Xn+13を出力するゲート回路36♯2と、データX
3,Xn8および設定データS3を受けてデータXn+
4を出力するゲート回路36♯3とを含む。
【0096】演算回路36は、さらに、データXn4
Xn8および設定データS4を受けてデータXn+15
出力するゲート回路36♯4と、データXn5,Xn8
よび設定データS5を受けてデータXn+16を出力する
ゲート回路36♯5と、データXn6,Xn8および設定
データS6を受けてデータXn+17を出力するゲート回
路36♯6と、データXn7,Xn8および設定データS
7を受けてデータXn+18を出力するゲート回路36♯
7とを含む。
【0097】ゲート回路36♯0は、データXn8と設
定データS0とを受けるAND回路52♯0と、AND
回路52♯0の出力とデータXn0とを受けてデータX
n+11を出力するXOR回路54♯0とを含む。
【0098】ゲート回路36♯1は、データXn8と設
定データS1とを受けるAND回路52♯1と、AND
回路52♯1の出力とデータXn1とを受けてデータX
n+12を出力するXOR回路54♯1とを含む。
【0099】ゲート回路36♯2は、データXn8と設
定データS2とを受けるAND回路52♯2と、AND
回路52♯2の出力とデータXn2とを受けてデータX
n+13を出力するXOR回路54♯2とを含む。
【0100】ゲート回路36♯3は、データXn8と設
定データS3とを受けるAND回路52♯3と、AND
回路52♯3の出力とデータXn3とを受けてデータX
n+14を出力するXOR回路54♯3とを含む。
【0101】ゲート回路36♯4は、データXn8と設
定データS4とを受けるAND回路52♯4と、AND
回路52♯4の出力とデータXn4とを受けてデータX
n+15を出力するXOR回路54♯4とを含む。
【0102】ゲート回路36♯5は、データXn8と設
定データS5とを受けるAND回路52♯5と、AND
回路52♯5の出力とデータXn5とを受けてデータX
n+16を出力するXOR回路54♯5とを含む。
【0103】ゲート回路36♯6は、データXn8と設
定データS6とを受けるAND回路52♯6と、AND
回路52♯6の出力とデータXn6とを受けてデータX
n+17を出力するXOR回路54♯6とを含む。
【0104】ゲート回路36♯7は、データXn8と設
定データS7とを受けるAND回路52♯7と、AND
回路52♯7の出力とデータXn7とを受けてデータX
n+18を出力するXOR回路54♯7とを含む。
【0105】図10における演算回路38,40,42
は、演算回路36と同様な構成を有している。すなわ
ち、図11において、n=0のときに演算回路36の構
成が示され、n=1のときに演算回路38の構成が示さ
れ、n=2のときに演算回路40の構成が示され、n=
3のときに演算回路42の構成が示される。したがっ
て、説明は繰返さない。
【0106】図12は、CRC演算装置30の設定デー
タS7〜S0を設定した状態を示した図である。
【0107】図12を参照して、設定データS7〜S0
して設定値“1101 0101”が与えられている。
このような構成において、設定データS7〜S0に設定値
“1101 0101”を設定した結果、CRC演算装
置30は図1〜図8で説明した実施の形態1のCRC演
算装置1と等価な回路となり、同様な演算を行なうこと
ができる。また、設定データS7〜S0を適宜変更するこ
とによって生成多項式の変更に柔軟に対応することがで
きる。
【0108】[実施の形態3]実施の形態2では生成多
項式の最高次数がX8の場合において生成多項式を種々
に変更する場合に対応可能とするものであった。実施の
形態3では、生成多項式の次数を変更することが可能な
CRC演算装置を検討する。
【0109】図13は、図9に示したCRC演算装置2
0を生成多項式の次数を変更可能にしたCRC演算装置
60の構成を示す回路図である。
【0110】図13を参照して、CRC演算装置60
は、図9に示したCRC演算装置20の構成において、
切換回路62♯0〜62♯6をさらに含む。
【0111】切換回路62♯0は、レジスタ26♯0の
出力と入力INから入力されるデータのいずれか一方を
XOR回路24♯1に対して与える。切換回路62♯1
は、レジスタ26♯1の出力と入力INから入力される
データのいずれか一方をXOR回路24♯2に対して与
える。切換回路62♯2は、レジスタ26♯2の出力と
入力INから入力されるデータのいずれか一方をXOR
回路24♯3に対して与える。切換回路62♯3は、レ
ジスタ26♯3の出力と入力INから入力されるデータ
のいずれか一方をXOR回路24♯4に対して与える。
【0112】切換回路62♯4は、レジスタ26♯4の
出力と入力INから入力されるデータのいずれか一方を
XOR回路24♯5に対して与える。切換回路62♯5
は、レジスタ26♯5の出力と入力INから入力される
データのいずれか一方をXOR回路24♯6に対して与
える。切換回路62♯6は、レジスタ26♯6の出力と
入力INから入力されるデータのいずれか一方をXOR
回路24♯7に対して与える。
【0113】図13では、切換回路62♯0、62♯1
は、入力INを選択して次段のXOR回路に与えてい
る。切換回路62♯2〜62♯6は、レジスタ26♯2
〜26♯6の出力をそれぞれ選択しており、これを次段
のXOR回路に与えている。このようにすることで、生
成多項式の最高次数をX6にすることができる。そし
て、設定データS7〜S0を“11010100”に設定
すれば、生成多項式は、 P(X)=X6+X5+X4+X2+X0 となる。このとき設定データS0、S1は“0”でなくて
も“1”でもよい。
【0114】次に、多ビットを一括処理する場合におい
て、次数の変更が可能になる本発明の実施の形態3のC
RC演算装置の説明をする。
【0115】図14は、実施の形態3のCRC演算装置
において用いられる演算回路66の構成を示す回路図で
ある。
【0116】図14を参照して、演算回路66は、図1
1に示した演算回路36の構成において、ゲート回路3
6♯1〜36♯7に代えてゲート回路68♯1〜68♯
7を含む。
【0117】ゲート回路68♯1は、図11に示したゲ
ート回路36♯1の構成において、データXn1とデー
タXn0のいずれかをXOR回路54♯1に与える切換
回路70♯1をさらに含む点がゲート回路36♯1の構
成と異なる。ゲート回路68♯2は、図11に示したゲ
ート回路36♯2の構成において、データXn2とデー
タXn0のいずれかをXOR回路54♯2に与える切換
回路70♯1をさらに含む点がゲート回路36♯2の構
成と異なる。
【0118】ゲート回路68♯3は、図11に示したゲ
ート回路36♯3の構成において、データXn3とデー
タXn0のいずれかをXOR回路54♯3に与える切換
回路70♯1をさらに含む点がゲート回路36♯3の構
成と異なる。ゲート回路68♯4は、図11に示したゲ
ート回路36♯4の構成において、データXn4とデー
タXn0のいずれかをXOR回路54♯4に与える切換
回路70♯1をさらに含む点がゲート回路36♯4の構
成と異なる。
【0119】ゲート回路68♯5は、図11に示したゲ
ート回路36♯5の構成において、データXn5とデー
タXn0のいずれかをXOR回路54♯5に与える切換
回路70♯1をさらに含む点がゲート回路36♯5の構
成と異なる。ゲート回路68♯6は、図11に示したゲ
ート回路36♯6の構成において、データXn6とデー
タXn0のいずれかをXOR回路54♯6に与える切換
回路70♯1をさらに含む点がゲート回路36♯1の構
成と異なる。
【0120】ゲート回路68♯7は、図11に示したゲ
ート回路36♯7の構成において、データXn7とデー
タXn0のいずれかをXOR回路54♯7に与える切換
回路70♯1をさらに含む点がゲート回路36♯7の構
成と異なる。
【0121】ゲート回路68♯1〜68♯7の他の構成
は、ゲート回路36♯1〜36♯7とそれぞれ同様であ
るので説明は繰返さない。
【0122】切換回路70♯1,70♯2は、図14に
示した例では、データXn0を選択してXOR回路54
♯1,54♯2に出力している。切換回路70♯3〜7
0♯7は、それぞれデータXn3〜Xn7を選択してXO
R回路54♯3〜54♯7に出力している。
【0123】図10に示した演算回路36〜42に代え
て図14で示した演算回路66を用いれば、切換回路7
0♯1〜70♯7の設定を変更することにより、生成多
項式の次数を変更することが可能となる。また、設定デ
ータS7〜S0の設定を変更することにより、生成多項式
の変更が可能である。
【0124】なお、切換回路70♯1〜70♯7の切換
は、配線のつなぎ替えによって行なってもよいが、たと
えば、選択信号によって2入力のうちのいずれかを選択
するようなゲート回路を用いてもよい。
【0125】以上説明したように、実施の形態3のCR
C演算装置によれば、多ビットを一括処理でき高速化が
図られるとともに、生成多項式の変更および生成多項式
の次数の変更が可能であるので、さまざまなシステムに
柔軟に用いることができる。
【0126】今回開示された実施の形態はすべての点で
例示であって制限的なものではないと考えられるべきで
ある。本発明の範囲は上記した説明ではなくて特許請求
の範囲によって示され、特許請求の範囲と均等の意味お
よび範囲内でのすべての変更が含まれることが意図され
る。
【0127】
【発明の効果】請求項1〜4に記載のCRC演算装置
は、1クロックサイクルにおいて一度に多ビットを一括
して処理することができ、高速にCRC演算をすること
ができる。
【0128】請求項5に記載のCRC演算装置は、請求
項2に記載のCRC演算装置の奏する効果に加えて、設
定データS7〜S0を適宜変更することによって生成多項
式の変更に柔軟に対応することができる。
【0129】請求項6に記載のCRC演算装置は、請求
項2に記載のCRC演算装置の奏する効果に加えて、生
成多項式の変更および生成多項式の次数の変更が可能で
あるので、さまざまなシステムに柔軟に用いることがで
きる。
【0130】請求項7〜8に記載のCRC演算装置は、
請求項2に記載のCRC演算装置の奏する効果に加え
て、対象データを4ビットずつ一括して処理することが
できる。
【0131】請求項9に記載のCRC演算装置は、1ク
ロックサイクルにおいて一度に多ビットを一括して処理
することができ、高速にCRC演算をすることができ
る。
【図面の簡単な説明】
【図1】 本発明の実施の形態1のCRC演算装置1の
構成を示す概略ブロック図である。
【図2】 図1に示した保持回路2の構成を示す回路図
である。
【図3】 図1における演算回路6の構成を示す回路図
である。
【図4】 図1に示したCRC演算装置1の動作を説明
するための動作波形図である。
【図5】 図4のクロックサイクルT1におけるCRC
演算装置1の演算を説明するための図である。
【図6】 図4におけるクロックサイクルT2における
CRC演算装置1の演算を説明するための図である。
【図7】 図4におけるクロックサイクルT3における
CRC演算装置1の動作を説明するための図である。
【図8】 図4におけるクロックサイクルT4でのCR
C演算装置1の動作を説明するための図である。
【図9】 生成多項式が変更された場合に容易に対応す
ることができるCRC演算装置20の構成を示した回路
図である。
【図10】 本発明の実施の形態2のCRC演算装置3
0の構成を示す概略ブロック図である。
【図11】 図10における演算回路36の構成を示し
た回路図である。
【図12】 CRC演算装置30の設定データS7〜S0
を設定した状態を示した図である。
【図13】 図9に示したCRC演算装置20を生成多
項式の次数を変更可能にしたCRC演算装置60の構成
を示す回路図である。
【図14】 実施の形態3のCRC演算装置において用
いられる演算回路66の構成を示す回路図である。
【図15】 情報ビットと生成多項式から検査ビットを
求めるmod2除算を説明するための図である。
【図16】 伝送誤りが発生していないかどうかの確認
を行なうための演算の説明をするための図である。
【図17】 図15、図16で示した除算を行なう従来
のCRC演算装置100の構成を示す概念図である。
【図18】 図17に示したCRC演算装置が、演算を
行なう経過を示した第1の図である。
【図19】 図17に示したCRC演算装置が、演算を
行なう経過を示した第2の図である。
【図20】 図17に示したCRC演算装置が、演算を
行なう経過を示した第3の図である。
【図21】 図17に示したCRC演算装置が、演算を
行なう経過を示した第4の図である。
【図22】 図17に示したCRC演算装置が、演算を
行なう経過を示した第5の図である。
【図23】 図17に示したCRC演算装置が、演算を
行なう経過を示した第6の図である。
【図24】 図17に示したCRC演算装置が、演算を
行なう経過を示した第7の図である。
【図25】 図17に示したCRC演算装置が、演算を
行なう経過を示した第8の図である。
【符号の説明】
1,20,30,60 CRC演算装置、2 保持回
路、2♯0〜2♯7,14,26 レジスタ、4,6,
8,10,12,34,36,38,40,42,66
演算回路、6♯0〜6♯7,36♯0〜36♯7,6
8♯1〜68♯7ゲート回路、16,24♯0〜24♯
7,54♯0〜54♯7 XOR回路、22♯0〜22
♯7,52♯0〜52♯7 AND回路、62♯0〜6
2♯6,70♯1〜70♯7 切換回路。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 対象データに対して生成多項式に基づい
    て巡回冗長検査方式の誤り検出を行なうためのCRC演
    算装置であって、 前記対象データに含まれる信号ビットを複数ビットずつ
    に分割した複数の分割データを順次受けて、前記生成多
    項式に応じた演算処理を行なう主演算回路を備え、 前記主演算回路は、前記複数の分割データのうちの第1
    のデータと前記第1のデータを受けるまでに既に受領済
    みである前記対象データの部分について前記演算処理を
    行なった結果得られた第2のデータとに対して前記演算
    処理を行ない第3のデータを生成し、 前記第2のデータを保持して前記主演算回路に与え、か
    つ、前記第3のデータを保持する保持回路をさらに備え
    る、CRC演算装置。
  2. 【請求項2】 前記主演算回路は、 前記第2のデータの最下位の信号ビット側に前記第1の
    データの最上位の信号ビットを付加した第4のデータを
    受け、前記第4のデータの最上位の信号ビットが第1の
    論理符号である場合は前記第4のデータの最上位から2
    番目の信号ビット〜最下位の信号ビットを第5のデータ
    として出力し、前記第4のデータの最上位の信号ビット
    が前記第1の論理符号と異なる第2の論理符号である場
    合は前記第4のデータの最上位から2番目の信号ビット
    〜最下位の信号ビットと生成多項式に応じた第6のデー
    タの対応する信号ビット同士のそれぞれの排他的論理和
    を前記第5のデータとして出力する第1の副演算回路
    と、 前記第5のデータの最下位の信号ビット側に前記第1の
    データの最上位の信号ビットから2番目のビットを付加
    した第7のデータを受け、前記第7のデータの最上位の
    信号ビットが前記第1の論理符号である場合は前記第7
    のデータの最上位から2番目の信号ビット〜最下位の信
    号ビットを第8のデータとして出力し、前記第7のデー
    タの最上位の信号ビットが前記第2の論理符号である場
    合は前記第7のデータの最上位から2番目の信号ビット
    〜最下位の信号ビットと前記第6のデータの対応するビ
    ット同士の排他的論理和を第8のデータとして出力する
    第2の副演算回路とを含み、 前記主演算回路は、前記第8のデータに応じて前記第3
    のデータを発生する、請求項1に記載のCRC演算装
    置。
  3. 【請求項3】 前記第1の副演算回路は、 前記第6のデータが含んでいる前記第2の論理符号と一
    致する信号ビットに対応する位置の前記第4のデータの
    信号ビットと前記第4のデータの最上位の信号ビットと
    を受けて排他的論理和を出力するゲート回路を含む、請
    求項2に記載のCRC演算装置。
  4. 【請求項4】 前記第1の副演算回路は、 前記第6のデータが含んでいる前記第1の論理符号と一
    致する信号ビットに対応する位置の前記第4のデータの
    信号ビットをそのままの値で出力するゲート回路をさら
    に含む、請求項3に記載のCRC演算装置。
  5. 【請求項5】 前記第1の副演算回路は、 前記第4のデータの最上位から2番目の信号ビット〜最
    下位の信号ビットにそれぞれ対応して設けられる複数の
    ゲート回路を含み、 各前記ゲート回路は、 前記第6のデータの対応する信号ビットを一方の入力に
    受け、前記第4のデータの最上位の信号ビットを他方の
    入力に受けるAND回路と、 前記第4のデータの対応する信号ビットと前記AND回
    路の出力とを受けて排他的論理和を出力するXOR回路
    とを有する、請求項2に記載のCRC演算装置。
  6. 【請求項6】 前記第1の副演算回路は、 前記第4のデータの最下位から2番目の信号ビット〜前
    記第4のデータの最上位から2番目の信号ビットにそれ
    ぞれ対応して設けられる複数のゲート回路を含み、 各前記ゲート回路は、 前記第6のデータの対応する信号ビットを一方の入力に
    受け、前記第4のデータの最上位の信号ビットを他方の
    入力に受けるAND回路と、 前記第4のデータの対応する信号ビットと前記第4のデ
    ータの最下位の信号ビットとを受けていずれかを選択的
    に出力する切換回路と、 前記切換回路の出力と前記AND回路の出力とを受けて
    排他的論理和を出力するXOR回路とを有する、請求項
    2に記載のCRC演算装置。
  7. 【請求項7】 前記第1のデータは、 4つの信号ビットを含み、 前記主演算回路は、 前記第8のデータの最下位の信号ビット側に前記第1の
    データの最上位から3番目の信号ビットを付加した第9
    のデータを受け、前記第9のデータの最上位の信号ビッ
    トが前記第1の論理符号である場合は前記第9のデータ
    の最上位から2番目の信号ビット〜最下位の信号ビット
    を第10のデータとして出力し、前記第9のデータの最
    上位の信号ビットが前記第2の論理符号である場合は前
    記第9のデータの最上位から2番目の信号ビット〜最下
    位の信号ビットと前記第6のデータの対応する信号ビッ
    ト同士のそれぞれの排他的論理和を前記第10のデータ
    として出力する第3の副演算回路と、 前記第10のデータの最下位の信号ビット側に前記第1
    のデータの最下位のビットを付加した第11のデータを
    受け、前記第11のデータの最上位の信号ビットが前記
    第1の論理符号である場合は前記第11のデータの最上
    位から2番目の信号ビット〜最下位の信号ビットを前記
    第3のデータとして出力し、前記第11のデータの最上
    位の信号ビットが前記第2の論理符号である場合は前記
    第11のデータの最上位から2番目の信号ビット〜最下
    位の信号ビットと前記第6のデータの対応するビット同
    士の排他的論理和を前記第3のデータとして出力する第
    4の副演算回路とをさらに含む、請求項2に記載のCR
    C演算装置。
  8. 【請求項8】 前記主演算装置は、前記対象データの信
    号ビット数を4で割ると余りが生ずるときは、4から前
    記余りを引いた数の前記第1の論理符号を前記対象デー
    タの最上位信号ビット側に補って、上位ビットから4ビ
    ットずつ処理を行なう、請求項7に記載のCRC演算装
    置。
  9. 【請求項9】 前記保持回路は、 前記第3のデータに含まれる複数の信号ビットをそれぞ
    れ入力に受けて、前記クロック信号に応じて保持する複
    数のレジスタを含む、請求項1に記載のCRC演算装
    置。
JP2000060330A 2000-03-06 2000-03-06 Crc演算装置 Expired - Lifetime JP4371520B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000060330A JP4371520B2 (ja) 2000-03-06 2000-03-06 Crc演算装置
US09/769,413 US6725415B2 (en) 2000-03-06 2001-01-26 Arithmetic unit performing cyclic redundancy check at high speed

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000060330A JP4371520B2 (ja) 2000-03-06 2000-03-06 Crc演算装置

Publications (3)

Publication Number Publication Date
JP2001251194A true JP2001251194A (ja) 2001-09-14
JP2001251194A5 JP2001251194A5 (ja) 2007-03-29
JP4371520B2 JP4371520B2 (ja) 2009-11-25

Family

ID=18580663

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000060330A Expired - Lifetime JP4371520B2 (ja) 2000-03-06 2000-03-06 Crc演算装置

Country Status (2)

Country Link
US (1) US6725415B2 (ja)
JP (1) JP4371520B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004500765A (ja) * 2000-01-10 2004-01-08 クゥアルコム・インコーポレイテッド Cdma通信システムにおいて適応マルチレート(amr)データをサポートする方法および装置
JP2012238952A (ja) * 2011-05-10 2012-12-06 Fujitsu Ltd Crc演算回路及びプロセッサ

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4515651B2 (ja) * 2001-03-05 2010-08-04 ルネサスエレクトロニクス株式会社 巡回冗長検査演算方法及び巡回冗長検査演算回路
US20140055290A1 (en) 2003-09-09 2014-02-27 Peter Lablans Methods and Apparatus in Alternate Finite Field Based Coders and Decoders
US7865806B2 (en) * 2006-03-03 2011-01-04 Peter Lablans Methods and apparatus in finite field polynomial implementations
US7103832B2 (en) * 2003-12-04 2006-09-05 International Business Machines Corporation Scalable cyclic redundancy check circuit
US7266760B1 (en) * 2004-09-30 2007-09-04 Altera Corporation Method and apparatus for calculating cyclic redundancy checks for variable length packets
KR100731985B1 (ko) * 2005-12-29 2007-06-25 전자부품연구원 파이프라인 구조 병렬 순환 중복 검사 장치 및 방법
KR101286238B1 (ko) * 2007-08-01 2013-07-15 삼성전자주식회사 데이터 병렬화 수신기
JP5407589B2 (ja) * 2009-06-29 2014-02-05 富士通株式会社 演算回路および演算処理装置ならびに演算処理方法
US8630779B2 (en) 2010-04-09 2014-01-14 Navteq B.V. Method and system for vehicle ESC system using map data

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63128819A (ja) 1986-11-18 1988-06-01 Nec Corp Crc生成回路
JP2600681B2 (ja) * 1987-06-22 1997-04-16 ソニー株式会社 リード・ソロモン符号の復号方法
US5321743A (en) 1992-02-24 1994-06-14 At&T Bell Laboratories Shared-tenant services arrangement providing numbering-plan independence and cross-plan access to tenant groups
KR950015182B1 (ko) * 1993-11-20 1995-12-23 엘지전자주식회사 갈로아 필드 곱셈회로
US5768168A (en) * 1996-05-30 1998-06-16 Lg Semicon Co., Ltd. Universal galois field multiplier

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004500765A (ja) * 2000-01-10 2004-01-08 クゥアルコム・インコーポレイテッド Cdma通信システムにおいて適応マルチレート(amr)データをサポートする方法および装置
JP2012238952A (ja) * 2011-05-10 2012-12-06 Fujitsu Ltd Crc演算回路及びプロセッサ

Also Published As

Publication number Publication date
US20010020288A1 (en) 2001-09-06
US6725415B2 (en) 2004-04-20
JP4371520B2 (ja) 2009-11-25

Similar Documents

Publication Publication Date Title
US8468439B2 (en) Speed-optimized computation of cyclic redundancy check codes
JP2005102213A (ja) メッセージのcrcを計算するための方法
JP2001251194A (ja) Crc演算装置
WO2003084078A1 (en) Separable cyclic redundancy check
US7539918B2 (en) System and method for generating cyclic codes for error control in digital communications
JP2000266815A (ja) 自己診断機能付き電子システム及び電子システムのシミュレーション装置
US20110154159A1 (en) Cyclic redundancy check code generating circuit and cyclic redundancy check code generating method
US20040054703A1 (en) Method and device for generating a pseudo-random sequence using a discrete logarithm
JP2005086683A (ja) 誤り復号回路、データバス制御方法、及びデータバスシステム
US20080140740A1 (en) Systems and methods for processing data sets in parallel
JP3248098B2 (ja) シンドローム計算装置
JP3283403B2 (ja) 周期冗長検査方式の誤り検出符号生成装置及び誤り検出装置
JPH0795096A (ja) プログラマブル並列crc生成装置
JP2000244332A (ja) データ誤り訂正装置
EP0431416A2 (en) Apparatus and method for accessing a cyclic redundancy error check code generated in parallel
JPH10215187A (ja) 誤り検出符号化復号装置および方法
JP2009117883A (ja) 演算処理装置
JP3231713B2 (ja) 巡回冗長検査計算方法および装置
JPS61277230A (ja) 誤り検出訂正符号発生方式
JP2004120419A (ja) リードソロモン符号化回路およびリードソロモン復号化回路
CN106603085A (zh) 生成多项式的生成方法、其装置、编码器、控制器及电子设备
JP4313555B2 (ja) ガロア体掛け算器及び通信装置
JP2644389B2 (ja) 命令列生成装置
JPH03119835A (ja) 誤り訂正回路
JPH10294720A (ja) 信号伝送回路及び信号伝送方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070214

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090731

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: 20090825

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090901

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4371520

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130911

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term