JPS5872253A - 巡回符号演算方式 - Google Patents

巡回符号演算方式

Info

Publication number
JPS5872253A
JPS5872253A JP56171046A JP17104681A JPS5872253A JP S5872253 A JPS5872253 A JP S5872253A JP 56171046 A JP56171046 A JP 56171046A JP 17104681 A JP17104681 A JP 17104681A JP S5872253 A JPS5872253 A JP S5872253A
Authority
JP
Japan
Prior art keywords
parallel
bit
circuit
fractional
cyclic code
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
Application number
JP56171046A
Other languages
English (en)
Inventor
Kazuo Imai
和雄 今井
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP56171046A priority Critical patent/JPS5872253A/ja
Publication of JPS5872253A publication Critical patent/JPS5872253A/ja
Pending 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 本発明は、データ伝送等におけるデータビット列に対し
伝送誤り検出のために付加する巡回符号(CRC)の生
成演算方式に関するものである。
従来、CRC演算方式には、到来する情報ビット単位に
データを入力し、シフトレジスタ(フリップフロップ)
を用いて直列に検査データの生成演算を行なう直列CR
C演算方式と、複数ビット、例えば8ビットキャラクタ
単位にデータを入力し、並列に検査データの生成演算を
行なう並列CfLC演算方式がある。ところが、直列C
几C演算方式では演算速度が遅く、多数のデータ伝送回
線を共通に制御する多重通信制御装置や交換機信号制御
装置においては処理能力が不足するという欠点がある。
一方、従来の並列CRC演算方式では、演算の高速化は
図れるもの\、情報ピット列のピット数が並列演算する
ピット数の整数倍でない場合は正しい検査データが生成
できず、任意ビット長の情報ピット列;:対して適用で
きないという欠点があった。
本発明は上記従来の並列CRC演算方式の欠点を解決す
べくなされたもので、並列演算回路として、最大並列演
算単位(n)以下のすべてのビット長(1,2・・・n
)に対する並列演算回路を備えることにより、任意のビ
ット長を持つ情報ピット列に対して高速の並列演算を可
能とすることを特徴とするものである。
まず、n =8ピット単位に演算を行なう既存の並列演
算回路について簡単に述べる。この場合は情報ビット列
no = (10000000)、llh = (01
000000)、1)2= (00100000)、1
)3= (00010000)J)4 = (0000
1000)、1)5=(00000100)、16= 
(00000010)、勤7=(o。
000001)in対する多項式(例えば])2に対し
てはf(x) =x5)を生成多項式G (X)で割算
し、その剰余をそれぞれR7+ ”6・・・ROとすれ
ば、”7 + FL6・・・Roの組合せにより任意の
8ビツトキヤラクタp= (do dt =17) =
’o・I)o+d1−I)i +−+d7・I)7 (
di = O/ 1、*=o、 1.・・・7)の剰余
(検査ピット)をdo−R7+d1・R6+・・・十d
7・ROとして求めることができる。
生成多項式として標準的に用いられているG (X>=
x16−1−x12+x5+1(7)場合の具体的なR
,、(i=0、1.2.・・・7)の値を求めた表を第
1図に示す。
例えばR7(1)oに対する剰余)は几7=x+x−l
−x8−)−x7−)−X3テあり、対応するX15.
X12゜x8 e x7 w x3の各xiの位置に1
#が記されている。
第2図は第1図の表を用いた8ピット単位の並列CRC
演算回路の構成を示したものである。第2図において、
1は記憶回路、2は8単位並列割算回路であり、8単位
並列割算回路2は第1図の表よりDo15=DI7■D
 ■3 + D O14” D ■6■DI2゜DO1
3=DI50DIt+ −+ DOo = DI4■D
Ioとなる論理で構成すればよい。
次に本発明の詳細な説明する。第3図は並列演算単位n
を8とした場合の本発明の一実施例である。第3図にお
いて、1は記憶回路、3はn;8ビツト以下のすべての
ビット長に対する並列割算回路、4はパラレルシック、
5は端数ビット数検出回路である。並列割算回路3はf
t0M (リードオンリーメモリ)を用いたメモリ変換
論理により構成できる。本実施例の場合は2KW X 
16 bit構成のROMが必要である。第4図に並列
割算回路3としてR,OMを用いた場合の入力信号とア
ドレス(AOe ’1 +・・・* Ato )との関
係を示す。第4図中、K2KIKOは8ピット入力信号
中の端数ビット数を表わす2進数であり、例えば(K2
KIKO)=(011)の場合は、端数ピットが3個で
あり、D(old)          (Old)■
5〒D2■R13・DI6=D、■R14・D(old
) IT”Do■R15が有効入力となる。アドレス入力は
A2 = DIs t A、=DI6 、 A□ =D
I7で、A7〜A3は無効(×印で表わす)となる。従
って、RQ1M内(二はA7〜/V3のすべての値に対
し、同一の内容が書かれる。他の(K2 Kt Ko 
)に対しても同様である。
第5図は並列割算回路(ROM)3の出力を示した表で
あり、入力される端数ビット数IK ((K2KIKo
)の10進表現)の値に対応して、その場合の出力が入
力信号D■」(J=0,1.・・・7)の組合せで表現
されている。例えばに−6の場合、出力D013にはD
I70DI3が出力される。すなわち、有効入力DI2
・・・D■7のうち、DI7かDI3のどちらかが11
#の場合、DQ13 =1となる。
第6図は端数ビット数検出回路5の構成を示したもので
あって、51はCRC演算を行なうための並列入力デー
タを一時保持する記憶回路、52は51から読出した前
回の並列データ(D7 D6・・・ Dt )と今回の
入力データ(PD7 PD6・・・P Do)とから入
力情報ビット列の終了を示すフラグ(01111110
)を検出し、(D7・・・Do )の中の端数ビット数
を出力する回路である。該回路の論理は第7図の入出力
論理で決定される。第7図中、ββ・・・は情報ピット
列であり、フラグ以外のピットノ(タンを示している。
また、情報ピット列中にフラグと同一バタンかあった場
合は1図中には示さないが、その旨が周知のフレーム受
信回路或いはプロセッサ等から知らされ、本来の終了フ
ラグとの区別はつくものとする。α、βは10”、@I
I′の任意のピットをとる。
以下、第3図の実施例の動作を説明する。いま入力情報
ビット列をdOdl ”’ dm−1dm (1m+1
 am+2とする。こ\にm = 3・n(n:整数)
とし、dyylam+1 am+2が8単位並列演算に
対する端数ピットである。(do d1=”7)t  
(ds ・”15) −(dm−sdm−1)と各々8
ビット単位を区切りとして並列にデータが入力されると
、端数ビット数検出回路5からに=Oが出力され、並列
割算回路3では8ビット並列入力に対する論理(第5図
IK=o参照)が選ばれ、第2図の場合と同様の出力が
得られる。
また、パラレルシフタ4では、記憶回路1がら読出しだ
前8ピツト入力に対する演算結果Ro(01d)(ol
d)     (oId) 几1   ・・・几、5  のうち、第2図の場合と同
様(old)     (old) に、下位8ピツ)(Ro    ・・・几7   )を
並列割算回路3の出力DO8・・・D015と排他論理
和をとるようにシフトする。また、それ以外のパラレル
シフタ4の出力は10″とする。これらの動作により、
(dm−s・・・dm−t )までは第2図と同様に剰
余(new)      (ne’り R0・・・R15が求められ、それが記憶口、路1に記
憶され、順次剰余が更新されていく。
最終8ビツトは(dm dm+1dm+201111 
)であり、01111は終了フラグの一部を示している
とする。該データが到来し、端数ピット数検出回路5の
記憶回路51に記憶され、次に(110ααααα)が
入力されると、端数ピット数検出回路5は終了フラグを
検出し、IK=3および(dm dm+t dm+z0
1111)を出力する。端数ビットdm (1m+1 
dm+2は記憶回路1の出力B15(old)   (
oJd)   (old)・”14   + FL13 と排他論理和がとられ、並列割算回路3への入力となる
(第4図参照)。従って、並列割算回路3の出力は第5
・図のに=3に対応する値である。これに対し、パラレ
ルシフタ4の出力はo15 ” ” 12”1d’+0
14 ” R11(01d)r 013 ” ”10”
 1d)t o12 ” ”9 (01d)s(old
)        (old)011 = R8・ 0
10  “ Rフ     ・ () 9 =  B 
6(oId)08= R5(old)、 07= R4
(”d) 、 06’=: H,3(old)。
o5” R2”1d)+ 04 ””1    * o
3= ”O(0”)(old) o2=o、ol=oとなり、これと並列割算回路3の出
力との排他論理和が最終的な剰余(検査ビット)として
出力される1ことになる。
なお、パラレルシフタ4は例えば周知のマルチプレクサ
回路を用いることにより容易に実現でき、1度のクロッ
ク入力によりパラレル出力を得ることができるため、演
算時間は極めて短かくできる。
また、記憶回路1および51をICメモリとし、各ワー
ドを多重入力回線に対応して割付けることにより、時分
割多重並列入力情報列に対して適用することかできる。
本実施例では、8ビット単位の並列演算を基本とする場
合について述べたが、同様の考え方により、一般のnビ
ット単位の並列演算に対し、端数ビットが生じる場合も
容易に実現できる。
また、生成多項式〇 (x)の形式についても、並列割
算回路3の論理(ROM論理)を変更することで、任意
の形式をとることが可能である。
また、本実施例では、端数ピット数検出回路5を用いた
場合を示したが、フレーム受信回路やプロセッサからあ
らかじめ端数ビット数を通知することができる場合は、
端数ピット数検出回路5が不要となることは言うまでも
ない。
以上説明したように、本発明によれば、並列演算による
高速性を保持しつつ、任意ピット長の情報ピット列に対
するCRC演算を可能とする利点があり、例えば基本的
に任意長であるF(DLCフレームの送受信回路で高速
の多重処理が必要な場合等に極めて有効である。
また、本発明はnビット以下のすべてのビット数単位の
並列CRC演算回路を実現しているので、入力並列ビッ
ト数(m (: n )をプリセットすれば、n以下の
並列CIFC演算回路(この場合データ長はmの倍数)
としても利用することができる。したがって、本発明は
ビットシリアルを含むnビット単位以下の並列高速CR
C演算を、端数ビットを発生する場合も合わせて実現し
ており、高機能なCRC演算回路としてLSI化にも適
している。
【図面の簡単な説明】
第1図は8単位データに対する剰余を表わす図、第2図
は従来の8単位データに対する並列CRC演算回路を示
す図、第3図は本発明の一実施例を示す図、第4図は第
3図の並列割算回路への六方信号を表わす図、第5図は
第3図の並列割算回路の出力信号を表わす図、第6図は
第3図の端数ピット数検出回路の構成図、第7図は第6
図の端数ピット数検出回路I:おけるフラグ位置検出部
の入出力論理を示す図である。 1・・・記憶回路、2・・・8単位並列割算回路、3・
・・並列割算回路、4・・・パラレルシック、5・・・
端数ビット数検出回路、51・・・記憶回路、52・・
・フラグ位置検出回路。 ・  入 代理人 弁理士 鈴 木   誠(、−1擾゛1゛−5
;、1”1.:+’

Claims (1)

    【特許請求の範囲】
  1. 1、 データビット列に対し、誤り検出のため付加する
    巡回符号(以下CRCと称す)を、到来する並列複数ビ
    ット単位の演算により生成する巡回符号演算方式におい
    て、前記複数ビット単位(n)以下のすべてのピット数
    に対する並列割算回路を設け、データビット長がnの倍
    数でなく端数が生じる場合も、該端数ビットに対する並
    列CRC演算を行ない、任意長のデータビット列に対す
    るCRCの生成を行なうことを特徴とする巡回符号演算
    方式。
JP56171046A 1981-10-26 1981-10-26 巡回符号演算方式 Pending JPS5872253A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP56171046A JPS5872253A (ja) 1981-10-26 1981-10-26 巡回符号演算方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56171046A JPS5872253A (ja) 1981-10-26 1981-10-26 巡回符号演算方式

Publications (1)

Publication Number Publication Date
JPS5872253A true JPS5872253A (ja) 1983-04-30

Family

ID=15916076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56171046A Pending JPS5872253A (ja) 1981-10-26 1981-10-26 巡回符号演算方式

Country Status (1)

Country Link
JP (1) JPS5872253A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01150940A (ja) * 1987-12-08 1989-06-13 Hitachi Ltd Crc演算方式
JP2009055407A (ja) * 2007-08-28 2009-03-12 Nec Corp 並列巡回符号生成装置および並列巡回符号検査装置
US8402353B2 (en) 2008-09-12 2013-03-19 Nec Corporation Cyclic code processing circuit, network interface card, and cyclic code processing method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51132048A (en) * 1975-05-13 1976-11-16 Mitsubishi Electric Corp Computing circuit of cyclic code

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS51132048A (en) * 1975-05-13 1976-11-16 Mitsubishi Electric Corp Computing circuit of cyclic code

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01150940A (ja) * 1987-12-08 1989-06-13 Hitachi Ltd Crc演算方式
JP2009055407A (ja) * 2007-08-28 2009-03-12 Nec Corp 並列巡回符号生成装置および並列巡回符号検査装置
US8402353B2 (en) 2008-09-12 2013-03-19 Nec Corporation Cyclic code processing circuit, network interface card, and cyclic code processing method

Similar Documents

Publication Publication Date Title
US5883907A (en) Asymmetrical digital subscriber line (ADSL) block encoder circuit and method of operation
JPH04211547A (ja) 同期回路
JP2007166031A (ja) Crc値の算出装置
JPH077492A (ja) Atmセルヘッダにおけるエラー検出および補正方法および装置
JPH03175528A (ja) 対話式セルラアレイを用いる非同期先行ゼロカウンタ
EP0366331B1 (en) System and method for error detection in the result of an arithmetic operation
US6370667B1 (en) CRC operating calculating method and CRC operational calculation circuit
JPS5890251A (ja) パリテイ検査装置
WO1999066423A1 (fr) Dispositif pour calcul de donnees
KR20000000772A (ko) 길쌈부호 생성기 및 이를 내장한 디지털 신호프로세서
JPS5872253A (ja) 巡回符号演算方式
US5671238A (en) Method and circuitry for generating r-bit parallel CRC code for an l-bit data source
JPH08149017A (ja) Crc符号生成方法
EP0936537B1 (en) Cyclic redundancy check in a computer system
JP3269415B2 (ja) Crc演算回路
JPH0345020A (ja) 巡回符号処理回路
JPS6217256B2 (ja)
JPS62122333A (ja) シンドロ−ム回路
JP2003515212A (ja) 演算数の先行ゼロ判定を行う装置及び方法
JP2803788B2 (ja) パリテイ予測およびストリング制御を有する高速パイプライン・シフタ要素
JP3052848B2 (ja) フレーム同期保護回路
US20020184412A1 (en) System and method for locating and aligning to framing bits
JP2008112522A (ja) 誤り検出装置および誤り検出方法
JPS5847462Y2 (ja) 乗算回路
JPS59197936A (ja) デイジタル信号処理方式