JPS60250725A - サイクリツク冗長チエツク演算方法 - Google Patents

サイクリツク冗長チエツク演算方法

Info

Publication number
JPS60250725A
JPS60250725A JP59105658A JP10565884A JPS60250725A JP S60250725 A JPS60250725 A JP S60250725A JP 59105658 A JP59105658 A JP 59105658A JP 10565884 A JP10565884 A JP 10565884A JP S60250725 A JPS60250725 A JP S60250725A
Authority
JP
Japan
Prior art keywords
data
crc
bit
redundancy check
cyclic redundancy
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
JP59105658A
Other languages
English (en)
Other versions
JPH0224417B2 (ja
Inventor
Yoshio Nishiyama
西山 好雄
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP59105658A priority Critical patent/JPS60250725A/ja
Publication of JPS60250725A publication Critical patent/JPS60250725A/ja
Publication of JPH0224417B2 publication Critical patent/JPH0224417B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

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

Description

【発明の詳細な説明】 発明の技術分野 本発明はサイクリック冗長チェック演算方法に関する。
技術の背景 サイクリック冗長チェック演算方法(以下、CRC演算
方法とも称す)は、データエ2−の検出手法の1つとし
て広く利用されている。他の検出手法の1つであるパリ
ティ−Jfsツク方法に比べ、エラーを発見し易く特に
長ビツト列のデータに対するエラーチェックに有効であ
る。このCRCにおいてはいわゆる生成多項式が導入さ
れ、この生成多項式とデータの各ビットとの間で排他的
論理。
和(EOR)演算を行い、その結果をデータの末尾に冗
長ビットとして付加し受信側へ送出する。
一方、受信側では送信されて来たデータに対し同様のB
OR演算を行い、その結果と、送信側から送信された結
果との一致をみる。一致していればデータエラーは含ま
れていないことになる。
ところで近年はCRCのかけ方が複雑になシつつある。
つまり、データのビット列に対し単純にシリアルにBO
几演算を施すことのみならず、あるビット列だけを特定
してCRCをかけたいとか。
、逆にあるビット列だけはCRCをかけたくない等のシ
ステム運用上の諸要求に応える必要が生じている。本発
明は、このような諸要求に対処し易いCRC演算方法に
ついて言及する。
従来技術と問題点 複雑なCRC演算を行うにはハードウェアのみによる処
理のみでは対処し切れず、CPU(中央処理装置)によ
るソフトウェア処理の助けを借シなければならない。従
来のソフトウェアによるCRC演算は、基本的には一般
的なハードウェアによる処理をそのままプログラム処理
に置き換えたものである。すなわち、CRC演算の対象
となるデータを1ビツトずつシフトしながら、生成多項
式との間でEOR演算を行うというものである。
然しなから、この従来のCRC演算方法では上記のよう
にCB、C演算対象のデータを1ビツトずつシフトしな
ければならないことから、必然的にC几C演算にかなシ
の時間を要し、高速のデータ処理が行えないという問題
がある。
発明の目的 従って本発明は上記問題点に鑑み、演算時間の短縮を図
ることのできるC RC演算方法を提供することを目的
とするものである。
発明の構成 上記目的を達成するために本発明は、CRC演算の対象
となるデータを複数ビット単位で一時的に保持するデー
タ格納バッファと、複数ビットのビットパターン別に割
当てられたCRC生成多項式テーブルとを設け、前記複
数ビット単位のデータとこれに対応する該CRC生成多
項式テーブル内のCRC生成多項式との間でFOR演算
を行うようにしたことを特徴とするものである。
発明の実施例 第1Aおよび1B図は本発明に基づ(CRC演算方法の
手順の一例を示すフローチャート、第2図は本発明にお
いて用いるCRC演算対象データ格納バッファの一例を
示す図、第3図は本発明において用いるメモリ内の作業
エリアを示す図、第4図は本発明において用いるCRC
生成多項式テーブルを示す図である。第1Aおよび1B
図は8ビツトのマイクロプロセッサを周込て、生成多項
式X16+X15F−X2+1によるCRC演算を行う
場合のフローチャートである。本フローチャートのステ
ップ1で、CRC演算すべき対象と表るデータの先頭3
バイトを抽出する。このCRC演算の対象となるデータ
は、CRC演算対象格納バッファ20(第2図)に一時
的に保持されている。この保持は各データを複数ビット
単位、列えばバイト単位に区分して行う。第2図では、
4バイトのCRC演算対象デー、JDATA十〇−DA
TA+3の例を示す。各バイトは8ビツトからなり、左
端がMOB(Most 51gn1ficant Bi
t)、右端がLSB(Least 51gn1fica
nt Bit)でちる。
ステップ2では、先頭バイトのデータD A T A+
0においてMSBから見て最初の論理″1”が何ビット
目に現われるか調べる。第2図の例では、データDAT
A十〇の第3ビツト目に、MOBよシ見て看初の′1”
がある。
ステップ3では、ステップ2の結果が第nビット目(n
=3)であるから、テーブルTABLH・nを選択する
。このテーブルは第4図のcRc生成多項式テーブル4
0のことであシ、例えば 。
RAM(几andom AccessΔiemo r 
y )からなシ、8ビツトに対応させて8つのテーブル
群TABLE・1〜TABLE・8からなる。上記の例
ではtテーブルTABLE・3が選択される。
ステップ4では、先頭3バイトのデータDATA十〇〜
DAT人+2(第2図)と対応するテーブルTABLE
I+6内のTABLE・3+o〜’rABLE・3+2
との間で、バイト対応でFOR演算を行い、その演算結
果を作業エリアに格納する。この作業エリアは第3図に
示すメモリ30であシ%RAM4るいはレジスタにて構
成される。
第3図の(a)に示す作業エリアWORK+0〜WOR
K+2は、CRC演算の実施前であるからエンプティー
(all ”0” )である。今、ステップ4に則pz
on演算を実行したので、その演算結果(第1回目)が
第6図(b)に示す如く、作業エリアに格納される。
第1B図のフ四−チヤードにおけるステップ5では、第
6図(b)の先頭バイトの作業エリアWORK十〇がa
ll 0”か否か調べる。a11″0′でなければ(N
o)、ステップ6に至る。
ステップ6では、第3図(b)の作業エリアWORK十
〇のM2Rから見て最初に論理″′1”が現われるのは
第何ビット目か調べる。第5図(ロ)の例では第2ビツ
ト目である。
ステップ7では、その第2ビツト目の2に対応するテー
ブルTABLFI・2(第4図)を選択し、第3図(b
)の3バイトの作業エリアWO几に+o〜WORK+2
と6バイトのテーブル’TABLE−2+D〜TABI
、E・2+2との間で、バイト対応でEOR演算を行い
、その演算結果で作業エリアWORK+0−’vVOR
K+2(第5図(7)(C) ) tD内容を書き洟え
る。すなわち、第5図(C)の内容は、第2回目の演算
結果である。以下、ステップ5→6→7→5→6→を繰
シ返す。ステップ5の結果がall”Q″となったとき
’YEiS)、ステップ8に至る。
ステップ8では%C几C演算すべき3バイト分のデータ
のEO几処理が終了したが否が監視する。
終了していない場合は(No)、ステップ9に至る。
ステップ9では、第2図に示した2バイトの演算結果W
OIRK+1およびWORK+2と新たなバイトのデー
タDATA+3とからなる3バイトのデータを対象とし
て、上述と同様のステップ2〜7を実行する。
ステップ10では、全データの処理が終了したときの作
業エリアにおけるWORK+1およびWORK+2の内
容(第6図(C))をもって請求めるCRC演算結果を
得る。
上述の説明から明らかなように本発明ではCRC演算の
対象となるデータを1ビツトずつシフトして処理するの
ではなく、CRC生成多項式のビットパターンを1ビツ
トずつシフトしてなる複数のテーブルを予め用意してお
き、対応する1つのテーブルを選択して、その選択され
たテーブルとデータの間で、複数ビット単位で(バイト
単位で)、一括してFliORをとるようにしたもので
ある。従って、少なくとも1ピツト毎に同様の処理を繰
シ返し行う従来の方法に比べれば、処理時間はかなシ短
縮される。
第5Aおよび5B図は従来のCRC演算方法の手順の一
例を示すフローチャートであり、第6図は従来法で用い
るCRC演算結果格納エリアを示す図である。第5Aお
よび5B図の70−チャー−トにおいて、ステップ1で
は%CRC演算結果格納エリアをエンプティー(all
″′0″にクリア)にする(第6図(a))。ステップ
2ではビットポインタを先頭ビットにセットする。ここ
に先頭ビットとはデータ(第2図のDATAに同じ)の
M2Rのことでちる。又、ビットポイントは、1ビツト
ずつのデータシフトを行う際に各ビットの指定を行う。
要するに、従来の手法ではステップ2〜5を、データの
全ビットに亘りそれぞれ繰シ返さなければならず、相当
の時間を費やすことは明白である。
第7図は本発゛明のC几C演算方法を実施するためのハ
ードウェアの一例を示すブロック図である。
本図において%Lsxy1t、1入カデータDinを取
り込みことで直列/並列変換する。例えば8ビツトの並
列データはバス72に乗せられる。バス72には8ビツ
トのマイクロプロセッサ(MPU)73が接続し4MP
U73はR,0M74に格納されたCRC演算用プログ
ラムに従って動作する。
RAM75は第2図〜第4図に示す各メモリエリアを含
む。Doutは、CR,C演算結果を末尾に有する出力
データである。
発明の詳細 な説明したように本発明によれば、従来に比して一層高
速にCRC演算を行うことができる。
【図面の簡単な説明】
第1人および1B図は本発明に基づ<CRC演算方法の
手順の一例を示すフローチャート、第2図は本発明にお
いて用いるCRC演算対象データ格納バッファの一例を
示す図、第3図は本発明において用いるメモリ内の作業
エリアを示す図、第4図は本発明において用いるCRC
生成多項式テーブルを示す図% ’Jl S Aおよび
5B図は従来のCRC演算方法の手順の一例を示すフロ
ーチャート、第6図は従来法で用いるCRC演算結果格
納エリアを示寸I留 笛7図は本発明のCB、C演算方
法を笑施するためのハードウェアの一例を示すブロック
図である。 20・・・CRC演算対象格納バッファ、3o・・・メ
モリ、 4o・・・CRC生成多項式テーブル。 特許出願人 富士通株式会社 特許出願代理人 弁理士 背 木 朗 弁理士西舘和之 弁理士内田幸男 弁理士 山 口 昭 之 + I πl 第2図 及 第3図 (a) 第4図 却 第5A図 第5B図 矢1 第6図 (CI) 第7図 3 手続補正書 昭和60年 9月 q日 特許庁長官 志 賀 学 殿 1、事件の表示 昭和59年 特許願 第105658号2、発明の名称 サイクリック冗長チェック演算方法 3、補正をする者 事件との関係 特許出願人 名称 (522)富士通株式会社 4、代理人 (外3 名) 5、補正の対象 明細書の「発明の詳細な説明」の欄 6、補正の内容 明細書の「発明の詳細な説明」の欄を次のとおり補正し
ます。 [71第5頁第12行目〜13行目 「”1″が」と「何ビット目」の間にrLSB側から数
えてjを挿入しま丁。 イ1 第7頁第2行目〜3行目

Claims (1)

    【特許請求の範囲】
  1. 1、 サイクリック冗長チェック生成多項式に相当する
    ビットパターンを相互に1ビツトずつシフトしてなる複
    数のビットパターンの群をテーブルとして予め準備して
    おき、各々が複数ビット単位で構成される、サイクリッ
    ク冗長チェック演算すべきデータを順次域シ出し、取シ
    出された該データと当該データに対応する1の前記テー
    ブル内のビットパターンとの間で排他的論理和演算を実
    行することを特徴とするサイクリック冗長チェック演算
    方法。
JP59105658A 1984-05-26 1984-05-26 サイクリツク冗長チエツク演算方法 Granted JPS60250725A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP59105658A JPS60250725A (ja) 1984-05-26 1984-05-26 サイクリツク冗長チエツク演算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP59105658A JPS60250725A (ja) 1984-05-26 1984-05-26 サイクリツク冗長チエツク演算方法

Publications (2)

Publication Number Publication Date
JPS60250725A true JPS60250725A (ja) 1985-12-11
JPH0224417B2 JPH0224417B2 (ja) 1990-05-29

Family

ID=14413538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP59105658A Granted JPS60250725A (ja) 1984-05-26 1984-05-26 サイクリツク冗長チエツク演算方法

Country Status (1)

Country Link
JP (1) JPS60250725A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6340416A (ja) * 1986-07-21 1988-02-20 ジ−メンス・アクチエンゲゼルシヤフト 巡回2進符号を用いてのデ−タブロツクガ−ド情報の形成による、直列デ−タビツト列伝送におけるデ−タガ−ド方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58137053A (ja) * 1982-02-08 1983-08-15 Nec Corp 符号化回路
JPS58206254A (ja) * 1982-05-27 1983-12-01 Nec Corp 誤り検出符号生成/検査方式

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58137053A (ja) * 1982-02-08 1983-08-15 Nec Corp 符号化回路
JPS58206254A (ja) * 1982-05-27 1983-12-01 Nec Corp 誤り検出符号生成/検査方式

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6340416A (ja) * 1986-07-21 1988-02-20 ジ−メンス・アクチエンゲゼルシヤフト 巡回2進符号を用いてのデ−タブロツクガ−ド情報の形成による、直列デ−タビツト列伝送におけるデ−タガ−ド方法
JPH043134B2 (ja) * 1986-07-21 1992-01-22

Also Published As

Publication number Publication date
JPH0224417B2 (ja) 1990-05-29

Similar Documents

Publication Publication Date Title
JP3672242B2 (ja) パターン検索方法、パターン検索装置、コンピュータプログラム及び記憶媒体
JP3244506B2 (ja) 小型乗算器
US4623982A (en) Conditional carry techniques for digital processors
EP0142912A2 (en) Code determination using half-adder based operand comparator
GB1598382A (en) Data processing system and information scan out employing checksums
Avizienis Arithmetic algorithms for error-coded operands
US3825895A (en) Operand comparator
JPS6037833A (ja) 符号語の複号装置及び読み取り装置
JPH02190928A (ja) 除算器
US5944776A (en) Fast carry-sum form booth encoder
US4598359A (en) Apparatus for forward or reverse reading of multiple variable length operands
US5047976A (en) Logic circuit having carry select adders
JPS60250725A (ja) サイクリツク冗長チエツク演算方法
JPS61109141A (ja) 2進増分器
EP0936537B1 (en) Cyclic redundancy check in a computer system
JPS6142031A (ja) ソ−ト処理装置
US4276608A (en) Fibonacci p-code parallel adder
EP0534760A2 (en) High speed multiplier device
Abbaszadeh et al. VLSI implementation of a maximum-likelihood decoder for the Golay (24, 12) code
JPS5957343A (ja) 加算回路
JPS6077244A (ja) Crc回路
JPH0315772B2 (ja)
US6484288B1 (en) Statistics signature generation and analysis
JPS6019811B2 (ja) アドレス変換装置
JPS635433A (ja) ブランチ制御方式