Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JPH0831802B2 - Crcビット計算装置およびcrcビット計算方法 - Google Patents
[go: Go Back, main page]

JPH0831802B2 - Crcビット計算装置およびcrcビット計算方法 - Google Patents

Crcビット計算装置およびcrcビット計算方法

Info

Publication number
JPH0831802B2
JPH0831802B2 JP61286556A JP28655686A JPH0831802B2 JP H0831802 B2 JPH0831802 B2 JP H0831802B2 JP 61286556 A JP61286556 A JP 61286556A JP 28655686 A JP28655686 A JP 28655686A JP H0831802 B2 JPH0831802 B2 JP H0831802B2
Authority
JP
Japan
Prior art keywords
input
data
crc
bit
coupled
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 - Lifetime
Application number
JP61286556A
Other languages
English (en)
Other versions
JPS62133825A (ja
Inventor
スニル・ピー・ジョシ
ベンカトラマン・イェール
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.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JPS62133825A publication Critical patent/JPS62133825A/ja
Publication of JPH0831802B2 publication Critical patent/JPH0831802B2/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
  • Heat Sensitive Colour Forming Recording (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【発明の詳細な説明】 [産業上の利用分野] この発明は通信リンクを介してパケット形式で伝送さ
れる直列データの伝送時のエラーを検出するための周期
冗長コード計算回路の分野に関する。
[従来の技術] コードおよびチェックビットを用いるエラー検出およ
び修正は回路網上の装置またはディスクあるいは主要メ
モリのようなコンピュータシステム内の装置と中央処理
装置の間のデータ伝送の信頼性を改良するために長い間
用いられてきた。最も一般的な機構はパリティチェック
である。この機構では、パリティチェックビットは情報
ビットに加えられ、バイトの中の論理「1」であるビッ
トの合計数を既知の数に等しくさせる。しかしながらこ
の機構は情報ビットの数が高くなると、必要とされるチ
ェックビットで冗長のレベルが過度に高くなるといった
周知の欠点を有する。
別のチェック機構には、多項式または周期的コーディ
ングと呼ばれるものが存在する。この機構はより高い効
率で、すなわちパリティチェック機構より少ない冗長で
行なわれるように設計され得る。これらの機構の高い効
率は設計者がそれらをより頻繁に用いることを引き起こ
す。
周期コーディング機構の一般の概念は、いくつかの精
神的な助けを用いると最も簡単に理解される。Kビット
からなる直列フォーマット内のデータのビットの流れを
考える便利は方式は、それをK項を持ったダミー変数X
の多項式として考えることである。メッセージのビット
は多項式の係数である。こうして、もし100100011011が
ビットの流れのメッセージならば、多項式は以下のよう
に書かれる: (1) N(x)=1.x11+0.x10+0.x9+1.x8+0.x7
0.x6+0.x5+1.x4+1.x3+0.x2+1.x1+1.x または N(x)=x11+x8+x4+x3+x+1 メッセージで周期コードチェックビット(これより後
CRCビット)を計算するために、生成多項式(generatin
g polynamial)と呼ばれる別の多項式P(x)が選択さ
れる。この多項式の次数、すなわちその最も高い指数値
は0より大きいが、M(x)の次数よりも小さい。生成
多項式(generator polynomial)はx0項に0でない係数
を有する。所与の長さのメッセージでは、1つより多い
生成多項式が特定され得る。いくつかの一般に受入れら
れた標準の生成多項式が存在する。標準の32ビット生成
多項式は自動ディジタルネットワーク(Autodin)II及
びエサーネット(Ethernettm基準で規定される。この生
成多項式は1984年6月1日の最新のFDDI媒体アクセス制
御(Media Access Control)X3T9.5/83-16のためのアメ
リカ国家規格(American National Standard)に提案さ
れた草案に見られる。この標準の生成器多項式は (2) P(x)=x32+x26+x23+x22+x16+x12+x
11+x10+x8+x7+x5+x4+x2+x+1である。
周期チェックすなわちCRCビット計算はメッセージ多
項式を生成多項式で除算し、商の多項式と図面において
残余の多項式として示される剰余多項式を発生すること
を含む。商の多項式は捨てられ、そして剰余多項式の係
数がCRCチェックビットとしてメッセージ多項式に付加
される。
組合わせたメッセージおよびチェックビットはそれか
ら通信リンク上に伝達され、そして伝達の間にエラーが
発生したかどうかに依存して修正されたりまたは修正さ
れないでレシーバに到着する。一般に、受取り装置はチ
ェックビットを含む受取られた全メッセージをリンクの
送信機端部でチェックビットを発生するために用いられ
たのと同じ生成多項式で除算する。この除算の結果は、
もし伝達の間にエラーが起こらないならば残余が0の多
項式である。残余が0でない場合はエラーの存在を示
す。
上で説明された計算を直列フォーマット入力データで
行なうために用いられる装置の型は第1図に示される。
第1図はCRCチェックビット計算器のブロック図であ
る。CRC検査合計レジスタ30はCRCチェックビットをスト
アする複数個のメモリセルからなる。これらのメモリセ
ルの出力はシフトリンクのアレイ32の出力に結合され、
これらのいくつかは第2図に最良に見られる排他的ORゲ
ートである。
第2図は第1図のブロック図の詳細な回路図である。
検査合計レジスタ30からの最上位出力ビットはメッセー
ジ多項式の入ってくる直列データの流れとともに入力ゲ
ート34によって排他的にOR処理され、そしてこの機能を
行なう排他的ORゲート34の出力はアレイの他のすべての
排他的ORゲートの出力に結合される。排他的ORゲートで
ないアレイシフトリンクは簡単な導体であって、これは
単に入来データを最上位ビット位置を左にすなわちそれ
に向かって1ビット位置シフトするだけである。アレイ
のシフトリンクの出力はバス36によって検査合計レジス
タ30のデータ入力に戻って結合される。アレイ32の排他
的ORゲートおよび貫通導体はそれらの出力が、検査合計
レジスタからの各シフトリンクで入力ビット位置のビッ
ト位置に関して次の最上位ビット位置の検査合計レジス
タの入力に結合される。ライン38のビットクロック信号
はメッセージ多項式の生直列フォーマット入力を入力ゲ
ート34へとクロック動作させ、そして検査合計レジスタ
がデータをバス36からそのメモリセルにロードすること
を引き起こす。メッセージの生入力データビットのすべ
てがクロック動作された後、検査合計レジスタ30の内容
物はメッセージビットがそのように処理されたCRCチェ
ックビットである。
第3図はチェックビットの計算後伝送される合成のデ
ータパケットのフォーマットを例示する。セグメント40
はそれでCRCビットが計算されたメッセージ多項式であ
る。これらのメッセージ多項式ビットは、ビットがゲー
ト34の入力である度にそれが同時に伝送されるという点
で、CRCビットの計算と同時に伝送される。セグメント4
2はセグメント40のすべてのビットが処理された後に検
査合計レジスタ30にストアされるCRCビットの補数であ
る。セグメント42は補数のCRCビットからなり、そのた
めCRCビットが組合わされたセグメント40および42の受
取り側で計算されるとき、余りは0となるであろう。い
くつかのプロトコールでは、検査合計レジスタはCRC計
算が始まる前にすべて論理「1」にプリセットされる。
そのような場合、CRCチェックビットがセグメント40お
よび42からなる組合わされたパケットで計算されると
き、余りはすべて0ではないが、標準の剰余多項式を表
わすであろう。この剰余多項式はCRCチェックビットが
組合わされたセグメント40および42でメッセージ多項式
40のビットパターンに関係なく計算されるとき、常に結
果として生じるであろう。
セグメント40に続いて、セグメント42のCRCチェック
ビットはライン47上の直列データ入力ライン46の選択を
解除しかつインバータ50の出力ライン48を選択する選択
信号によりマルチプレクサ44を切換えることによって送
られる。インバータ50の入力は検査合計レジスタの最上
位ビット位置のメモリセルの出力に結合される。インバ
ータ50は、チェックビットがライン38のビットクロック
信号によって直列様式でクロック動作されるとそれらを
反転する。CRCチェックビット42が次に続くセグメント4
0からなる合成のパケットは直列出力ライン52上に現わ
れる。
生入力データを入力ゲート34にクロック動作させるた
めのビットクロック信号が得られない第1図のアーキテ
クチャでは問題が生じる。いくつかのシステムはバイト
指向で、そして単に各8ビットで1バイトのクロック信
号を与えるだけである。そのようなシステムは1度に生
入力データの1バイトを受取りかつ同時に生入力データ
バイドの各ビットの影響を考慮してCRCビットを計算す
ることによって、CRCビットを計算することができなく
てはならない。この並列のCRC計算を達成するためのア
ーキテクチャが第4図に示される。
第4図では、シフトリンクのアレイは各行が生入力デ
ータバイドのビットの1つを処理するために割当てられ
た、シフトリンクの複数個の行からなる。生入力データ
バイトは左の入力ゲートに結合されたビットD7ないしD0
として示される。これらの入力データビットの各々は入
力排他的ORゲート66、68、70、72、74、76、78および80
の1つの入力に結合される。これらの入力ゲートの各々
はその出力がその行の各排他的ORゲートの入力に結合さ
れ、そして次の行の最下位のビット位置のシフトリンク
の入力に結合される。こうして、アレイ56の各行はその
出力が次の行の入力に結合されることを除いて、第1図
のシフトリンクの行32のような働きをする。第1の行は
その入力が検査合計レジスタ30の出力に結合され、そし
てその最後の行はその出力が検査合計レジスタの入力に
結合される。各行はその入力ゲートの1つの入力が検査
合計レジスタの最も高いオーダバイトのビットの1つの
出力に結合され、第1の行は最も高いオーダビットに結
合され、そして第2の行は2番目の最上位ビットに接続
され、以下すべての行で同様である。各行の各シフトリ
ンクはその入力ビットを1ビット位置検査合計レジスタ
の最上位ビット位置に向かってシフトする。それゆえ第
4図のアーキテクチャは1度に生入力データの8ビット
を処理することによってCRCビットを計算する。
(i) 発明の解決すべき課題1 もし第4図のアーキテクチャが集積されるなら、第1
図のアーキテクチャではなされ得ないチップ面積を節約
し、かつアーキテクチャがいくつかの機能を行なうこと
の可能にするいくつかの改良がなされ得る。たとえば、
CRCビットを第1図または第4図のアーキテクチャの並
列フォーマットで検査合計レジスタ30から得るために
は、導体が検査合計レジスタ30の各出力に接続されるこ
とが必要である。32ビット検査合計レジスタでは、これ
は出力バス導体によって非常に広いチップ面積が浪費さ
れてしまうことが必要となるであろう。もしCRC出力の
最高位のオーダバイトのみが出力バスに接続され、CRC
データの他のバイトが出力で最高位のオーダバイトにシ
フトされさえすれば、有用であろう。これは出力バスの
導体の数を32から8に切りつめ、それによってチップ面
積を非常に節約する。
(ii) 発明が解決すべき課題2 いくつかのシステムは、第1のデータパケットで第1
の組のCRCビットを、そして第2のデータパケットで第
2の組のCRCビットを第1のデータパケットに直ちに引
き続いて、または第1のデータパケットで計算されたCR
Cチェックビットの伝送に直ちに引き続いて計算するこ
とが必要である。多くのCRC計算器ではCRC計算が始まる
直前にすべての論理「1」に検査合計レジスタの内容物
をプリセットすることが慣例である。これは、論理
「0」の長いストリングを有する入力データストリング
は検査合計レジスタの内容物に以前として影響を及ぼ
し、そのためもし検査合計レジスタまたは検査アレイに
機能不全があるとその機能不全が直ちに検出されるとい
う点で、CRC計算器の性能を改良する。もし検査合計レ
ジスタがすべて「1」にプリセットされなかったなら、
検査合計レジスタまたは検査アレイの欠陥はそのような
環境では検出されないかもしれない。
別々のCRCチェックビットが2つのパケットで計算さ
れるべきとき、第1および第2のパケットの間にクロツ
クサイクルはなく、その間検査合計レジスタはすべて論
理「1」をメモリセルに入力することによってプリセッ
トされ得る。第1のパケットと第2のパケットの間にス
ペアのクロツクサイクルがない場合には第2のデータパ
ケットでCRC計算機をプリセットする方法を提供するこ
とが有益であろう。
(iii) 発明が解決すべき課題3 ヘッダビットを有するデータパケットを形成すること
がコンピュータの回路網で一般的であり、これは回路網
およびその回路網の特定のノードを規定し、それに対し
てヘッダビットに付加されたデータメッセージがアドレ
スされる。そのような状況では、2つの方法のいずれか
でCRCビットの計算をすることができることが望まし
い。第1の方法は、ヘッダCRCをヘッダビットで計算す
ることであり、そしてそれからデータCRCをデータメッ
セージで計算することである。第2の方法は、ヘッダCR
Cをヘッダビットで計算し、そしてそれからデータCRCを
ヘッダビット、ヘッダCRCチェックビットおよびデータ
メッセージを含む全体のバケットで計算することであ
る。これらの2つの方法のいずれかを用いてCRCチェッ
クビットを計算できるCRC計算器を提供することが有益
であろう。
(iv) 発明が解決しようとする課題4 回路網のすべてのノードが単一のケーブルによってリ
ング上に相互接続される。トークンリングコンピュータ
回路網環境では、第1のバイトが回路網のいかなるノー
ドによって出力時に変化できる或る最初のビットを有す
る回路網に沿って送られるマルチバイトメッセージを有
することが一般的である。CRC計算でエラーではない予
期できない変化を受けるこれらの最初のビットを含むこ
とは所望されない。そのような変化は、もし伝達と受取
りノードの間のノードを通過する間にこれらのビットの
1つで変化が発生したなら、CRCチェックビットの中で
エラーとして現われるであろう。1バイトのクロックし
か用いずにデータバケットでCRCを計算できて、そして
さらにCRC計算から第1のバイトのメッセージの最初の
ビットのいかなる数も除外することができる、CRC計算
器を提供することが有益であろう。
[発明の概要] この発明は、CRCチェックビットをヘッダパケットお
よびデータパケット両方に対し別々に計算することがで
きるCRC計算機に対する需要を満たすことのできるCRCビ
ット計算装置およびCRCビット計算方法を提供すること
である。この発明においては、データパケットのための
CRCチェックビットは、データパケットのみでかまた
は、データパケットに、ヘッダパケットを加えたもの
に、ヘッダパケットのためのCRCビットを加えたもので
計算される。この発明は、検査合計レジスタとシフトリ
ンクのアレイからなる。好ましい実施例では、シフトリ
ンクのアレイは各入力バイトの各ビットで1行である、
複数個の行である。検査合計レジスタのメモリセルのク
ロック入力は、検査合計レジスタの入力でデータを周期
的にロードすることを引き起こす、バイドクロック信号
に結合される。検査合計レジスタの入力は、入力マルチ
プレクサを介してシフトリンクのアレイの最後の行の出
力に結合される。検査合計レジスタの出力は、シフトリ
ンクの第1の行のデータ入力に結合される。各行は検査
合計レジスタの各ビットで1列またはシフトリンクを有
する。シフトリンクのいくつかは、一方の入力が入力ゲ
ートの出力に結合される排他的ORゲートである。各排他
的ORゲートのシフトリンクの他方の入力は、その特定の
ゲートの列で検査合計レジスタの出力ビットに結合され
る。各行の入力ゲートは、一方の入力が生入力データの
1ビットに結合され、1つの入力が最上位バイトの検査
合計レジスタの1つの出力に結合される。第1の行の入
力ゲートは、もしデータが直列のフォーマットで入力さ
れるならば第1に到着するであろう生入力データビット
に1つの入力が結合される。第1の行の入力ゲートの別
の入力は、検査合計レジスタの最上位ビット位置のメモ
リセルの出力に結合される。第2の行の入力ゲートは、
もしデータが直列フォーマットで入力されたなら第2に
到着するであろう生入力データビットに1つの入力が結
合される。第2の行の入力ゲートの別の入力は検査合計
レジスタの第2の最上位ビット位置のメモリセルの出力
に結合される。このパターンは、アレイの各行で繰返さ
れる。各入力ゲートは、生入力データバイトの1つのビ
ットと検査合計レジスタにストアされる最上位バイトの
1つのビットとの間で排他的OR機能を果たす。
各排他的ORゲートのシフトリンクの出力は、次の最上
位ビット位置の次の行のシフトリンクの入力に結合され
る。排他的ORゲードではないシフトリンクは、次の最上
位ビット位置の次の行のシフトリンクの入力に、それら
の入力のビットを伝える、すなわちそれらは単に1ビッ
トのシフト機能を果たしそれ以外は何もしない。
好ましい実施例は、その出力が検査合計レジスタのデ
ータ入力に結合され、3つの入力を有する入力マルチプ
レクサを用いる。1つの入力はアレイの最後の行のシフ
トリンクの出力に結合される。別の入力は検査合計レジ
スタのデータ出力に結合される。第3の入力は予め定め
られたビットパターンに結合される。このビットパター
ンは、いずれかのデータパケットに対してすべて論理
「1」にプリセットされた検査合計レジスタから始まる
データパケットで以前に計算されたCRC検査ビットを、
加えたものでCRC計算が行なわれるとき、結果として生
じるCRCチェックビットパターンを示す。入力マルチプ
レクサは、どの入力がマルチプレクサの出力に結合する
ために特定の時間で選択されるかを制御する信号を受取
るための制御入力を有する。マルチプレクサの制御入力
を適切に操作することによって、機械は、孤立している
ヘッダおよびデータパケットでCRCビットを計算するこ
とを引き起こされてもよく、またはデータパケットに対
してヘッダを加えたものでCRCビットを、およびヘッダC
RCビットを計算することを制御されてもよい。この後者
の機能を行なうために、残余のビットパターンに接続さ
れた入力マルチプレクサの入力は、ヘッダでCRCビット
が計算され、そしてこれらのCRCビットがシフトされて
しまった後、およびデータパケットがアレイに入力され
る合間の第1のクロックサイクルの直前に、選択され
る。
他の実施例では、スナップショットレジスタはアレイ
の最後の行の出力と、アレイの最後の行のデータ出力に
通常、結合されるマルチプレクサのデータ入力との間に
結合される。スナップショットレジスタは、それらが計
算された後ヘッダで計算されるCRCビットのコピーをす
るために、クロック動作される。データパケットでCRC
ビットを計算するための所望の方法に依存して、ヘッダ
のためのCRCビットは、それから出力されるか、または
生入力データかまたはスナップショットレジスタからの
データのいずれかを、アレイのデータ入力にチャンネル
づけするマルチプレクサを介してアレイのデータ入力に
戻るようにマルチプレクサされる。
上の実施例のいずれにおいても、アレイはシフトリン
クの単一の行であってもよい。生入力データはそれから
直列様式で1度に1ビット入力される。
この発明のこれらおよびその他の局面はこの発明の以
下の詳細な説明および簡単な説明が以下に続いている添
付の図面を検討することでよりよく理解されるであろ
う。
[好ましい実施例の詳細な説明] [バイト幅の出力バス] 第5図および第7図に移ると、複数のCRCバイトを計
算しそしてそれらを単一バイト幅の出力バス上に出力す
るためのCRC機械の好ましい実施例のそれぞれブロック
図と論理図が示されている。第5図の実施例は複数個の
メモリセルからなる検査合計レジスタ30を用い、そのメ
モリセルの各々はデータ入力とデータ出力とバイトクロ
ック信号を受取るためのクロック入力とを有する。バイ
トクロック信号を受取ると、メモリセルの入力のいかな
るデータもセルにラッチされ、セルのデータ出力に反映
される。各メモリセルはその左と右の調節セルから独立
して動作する。検査合計レジスタは第5図のバイト0な
いし3で示されるCRCデータの複数個のバイトに論理的
にセグメント化される。好ましい実施例では、バイト3
が最上位バイトである検査合計レジスタには1バイトに
つき8ビットあり、合計で32ビットとなる。第5図で
は、バイト3はメモリセリセル24ないし31からなる。
検査合計レジスタのデータ出力は第7図に示されるシ
フトリンク60のアレイの入力に結合される。シフトリン
クのこのアレイは、左側でアレイに入るデータビットD0
ないしD7からなる生入力データバイトの各ビットで、シ
フトリンクの1行からなる。これらの生入力データビッ
トはそれに関してCRC計算が所望されるメッセージのデ
ータバイトである。各生入力データビットは入力ゲート
の1つの入力に結合される。各行ごとに指定される1つ
の入力ゲートがあり、そしてそれにはその行とその入力
ゲートに対し指定される生入力データビットがある。第
1の行では、示される生入力データビットはD7であり、
指定される入力ゲートは排他的ORゲート62である。第2
の行では、指定される生入力データビットはD6で指定さ
れる入力ゲートは排他的ORゲート64である。同様な状況
が各行および生入力データバイトのすべてのビットで存
在する。もしデータビットが第1に最上位ビットの直列
フォーマットで到着し(任意の仮定)、そしてD7が最上
位ビットで指定されるなら(別の任意の仮定)、第1の
行で指定される生入力データビットが各ビットの最上位
ビットとなるかまたは、もしビットが逐次的に到着した
なら第1の到着ビットとなるであろう。第2の行で指定
されるビットは、もしそのビットが直列フォマットで到
着したなら、第2の最上位ビットまたは到着すべき第2
のビットとなるであろう。第3の行はその指定されるビ
ットとして、第3の最上位ビットまたは時間的に第3番
目に到着するビットを有し、これはすべての行で同様で
ある。
各入力ゲートは別の入力が最上位CRCバイトのビット
の1つデータ出力の一方に結合される。第1の行で入力
ゲートであるゲート62はその他方の入力が最上位CRCビ
ットのビット31のデータ出力に結合される。第2の行の
入力ゲートはその他方の入力が第2の最上位CRCビット
のビット30に結合され、以下すべての行で同様である。
シフトリンクの各行は、複数個の直貫通導体からな
り、これらは次の最上位ビット位置のシフトリンクの次
の行の入力に接続される出力にそれらの入力のビットを
シフトする以外は何もしない。これらの直貫通導体はそ
れらの入力ビットを1ビット位置左にシフトする以外は
何もしない。各行のシフトリンクのバランスは排他的OR
ゲートであり、これらのゲートは検査合計レジスタまた
は先行の行からのCRCビットのビット入力として一方の
入力を有し、かつ他方の入力がその行で示される入力ゲ
ートの出力に結合される。この後者の入力は直接には入
力ゲートの出力に結合されないが、特定の行で指定され
るANDゲートの出力に結合される。このANDゲートの一つ
の入力は排他的ORゲートの出力に結合され、別の入力は
図において上にバーが付されたSHIFTで示されるSHIFT否
定信号の受取りのためであって、この目的は以下に説明
されるであろう。各行でANDゲートの出力はまた、次の
行の最下位のシフトリンクの入力に結合される。各行で
1つの示されるANDゲートがあり、たとえばゲート66は
第1の行に、そしてゲート68は第2の行にある。
各排他的ORゲートシフトリンクの出力は次の行の次の
最上位ビット位置のシフトリンクの入力に結合され、す
なわち各排他的ORゲートはその上で排他的OR動作を行な
った後にその出力ビットを1ビット位置左にシフトす
る。
排他的ORゲートシフトリンクの相対的な位置は、用い
られる特定の生成多項式に依存する。上の公式(2)で
与えられた自動ディジタルネットワークIIおよびエサー
ネット基準の生成多項式では排他的ORゲートはそれらの
入力が検査合計レジスタ30のビット0、1、3、4、
6、7、9、10、11、15、21、22、25および31に結合さ
れるように位置決めされなくてはならない。この理由は
CRC計算の当業者には周知であり、簡潔さのためにここ
では説明されない。各行は同じビット位置にその排他的
ORゲートを有する。第1の行の入力はそれが先行する行
であるかのように検査合計レジスタの出力に結合され、
そして最後の行の出力はそれが次の行であるかのように
検査合計レジスタの入力に結合される。
CRCレジスタの最上位バイトのデータ出力は、CRC出力
バス70の個々の導体にもまた結合される。好ましくは、
各メモリセルは補の出力を有し、そして最上位バイトの
これらの出力が出力バス70に結合される。その代わり
に、伝送に先立ってCRCビットを反転するためにインバ
ータが各ラインに用いられ得る。
ANDゲートのおよびSHIFT否定信号の目的は、シフトリ
ンクのアレイが検査合計レジスタの出力でのデータが変
化されないでアレイを通過し、そして処理の中で1バイ
トだけ左にシフトされ、そして検査合計レジスタに再入
力するように透明にされることを可能にする。SHIFT否
定信号が、すなわち論理「0」を断定(アサート)され
るなら、ゲート66および68のようなすべてのANDゲート
は論理「0」出力を有する。ライン301ないし308の論理
「0」はシフトリンクの行の排他的OTゲートを透明に
し、そのためそれらは先行する行からのそれらの入力デ
ータを、次の行に結合されるそれらの出力に変化なく送
る。各行はその入力データを1ビット左にシフトするの
で、そしてそこには8行があるので、結果はSHIFT否定
信号が断定されると、検査合計レジスタのデータはバイ
トクロック信号の各サイクルで1バイトだけ左にシフト
される。これはCRCデータのすべてのバイトが単一のバ
イト幅の出力バス70を介してアクセスされることを可能
にする。
第5図の実施例はまた、いくつかの修正をした直列の
フォーマットで用いられてもよい。もしシフトリンク84
のアレイがシフトリンクの単一の行であるなら、第7図
のANDゲートは各バイトクロック信号で単一のバイトの
左のシフトを引き起こすように働かないであろう。直列
データ入力環境では、アレイ84への生データ入力はビッ
トクロック信号と同期に直列フォーマットで1度に1ビ
ットであろう。生入力データビットがすべて処理された
後、メッセージのCRCチェックビットが検査合計レジス
タ30に属する。最上位バイトは出力バス70上で即座に読
出され得る。残余のバイトは各CRCビットデータ出力を
次に最上位CRCビット入力の入力、すなわち左に隣接し
ているセルの入力に付加的に結合されることによって、
1度に1ビット左にシフトされるであろう。この結合は
一方の入力がバス36に結合され、そして他方の入力が右
側のCRCビットデータ出力に結合されているマルチプレ
クサを各ビットで通るであろう。マルチプレクサの出力
は左隣りのデータ入力に接続されるであろう。CRCバイ
ト2、1および0を出力するとき、これらのマルチプレ
クサは各セルの右隣りに結合する入力を選択するように
セットされるであろう。付加の論理回路はそれから検査
合計レジスタの各セルのクロック入力に接続されるビッ
トクロック信号の8サイクルの間出力バス70を不能化
し、そしてバイト2がバイト3すなわち最上位バイト位
置にシフトされたときそれを可能化する。同様の処理が
すべてのバイトが読出されるまで各バイトで行なわれ
る。
第6図を参照すると、CRC計算器の出力バス構造の別
の実施例が示される。この実施例は4つの入力を有する
マルチプレクサを用い、それの各々は1バイト幅のバス
によってCRCデータの1バイトをストアするメモリセル
の1グループの補のデータ出力に結合される。バス74上
のCRC否定バイト選択信号は4つの入力のどれが8ビッ
ト出力バス70に結合するかを選択する。CRC計算は上で
説明されたように行なわれ、そしてCRCデータを出力す
ることに関して、シフトリンク84のアレイが直列アレイ
であるかまたは並列アレイであるか、またはビットクロ
ックかまたはバイトクロック信号がアレイおよびクロッ
ク信号の型が一貫していなければならないことを除いて
データをクロックするのに用いられかどうかは重要では
ない。
[プリセット実施例] 上で述べられたように、検査合計レジスタをCRCチェ
ックビットの計算の開始の前にすべて論理「1」にプリ
セットすることが一般に受入れられた実務である。第8
図ないし第12図は2つの異なる方法でおよび直列および
並列の両方の計算環境でプリセット機能を果たすための
種々の実施例を例示する。第8図は少なくとも1クロッ
クサイクルCRC計算の第1のクロックサイクルより前に
駆動されなくてはならないプリセット装置を用いるCRC
計算器の実施例を示す。CRC装置はそのデータ出力が上
に説明された実施例でのように排他的ORおよびシフトア
レイ84のデータ入力に結合される検査合計レジスタ30か
らなる。アレイ84は第1図および第2図のアレイ32のよ
うに直列または第4図または第7図のアレイ60のように
並列であり得る。実際これらのアレイのどれも、これか
ら後に説明されるシフトリンクの他のいかなるアレイも
そうであるように発生のこの局面を実施する目的のため
には十分である。上の説明された実施例のように、アレ
イの最後の行はマルチプレクサ86を介して検査合計レジ
スタ30のデータ入力に、32ビット幅であるデータバス36
によって結合される。
マルチプレクサ86はA、BおよびCと記される3つの
32ビット幅の入力と、前記検査合計レジスタのデータ入
力に結合される32ビット幅の出力バス88を有する。マル
チプレクサは入力選択信号を受取るための3つの選択入
力を有する。どの特定の時間でも活動状態にある特定の
選択信号は、入力AないしCに対応するものが出力バス
88に結合されることを引き起こす。Aの入力は32の論理
「1」で、そしてBの入力は一括してバス90と呼ばれる
検査合計レジスタの32のデータ出力である。Cの入力の
アレイ84の最後の行からデータ出力を運んでくる32ビッ
トのバス36である。
入力選択信号PRESET SELECTはCRC計算の第1のクロッ
クサイクルの1つまたは2つ以上のクロックサイクル前
に活性化される。これは入力バスAからの32の論理
「1」がバス88に結合され、そして検査合計レジスタ30
のセルにロードされることを引き起こす。次に、COMPUT
E CELECT入力が断定されて、C入力すなわちバス36をバ
ス88に結合させる。この状態が存在する一方で、CRC計
算は、そのためにチェックビットが発生されるメッセー
ジのデータが、アレイ84にクロック動作されると進む。
もしいかなるときでもCRC計算を停止することが所望で
あるなら、HOLD SELECT入力が断定されてもよく、それ
によって検査合計レジスタの出力はバス90および88を介
して入力に戻って接続される。
第9図ないし第12図は、プリセット装置がプリセット
論理「1」がCRC計算の第1のクロックサイクルの間ロ
ードされることを可能にするCRC計算器の種々の実施例
を例示する。第17図のバス130のようなフィードバック
バスを用いないこれらの実施例の各々およびここで説明
される他の実施例のすべてはクロックラインにANDゲー
ト100を用いる。これらのANDゲートはクロック信号と、
CRCチェックビットを計算することが所望であるとき論
理「1」として断定されるCOMPUTE信号の間で論理的AND
動作を行なう。COMPUTEが論理「1」であるとき、CRC計
算は進むことができる。COMPUTEが論理「0」であると
き、CRC計算は発生せず、そして検査合計レジスタの内
容物は一定である。
第9図および第10図はプリセット機能を実施するため
にORゲートを用いた、それぞれ直列のアレイと並列のア
レイの実施例を示す。第11図および第12図はプリセット
機能を実施するためにマルチプレクサを用いてそれぞれ
直列および並列のアレイの実施例を示す。これらの実施
例の中で第10図が好ましい実施例である。これらの実施
例のすべては、要素と種々の要素の動作およびCRC計算
の形がすべての実施例で同じであるので、プリセット装
置に関して同時に論じられるであろう。これらの要素は
上で論じられた発明の他の局面の直列および並列のアレ
イの実施例と同じ態様で動作する。さらに、アレイは発
明のこの局面の動作に逆に影響することなしにCRC計算
の第1のクロックサイクルの間のプリセットに関して、
発明の局面を実施する目的でここで説明された直列また
は並列アレイのいかなるものでもあり得る。
第9図ないし第12図の実施例の各々での重要な要素
は、検査合計レジスタのデータ出力を回路を通ってシフ
トリンクのアレイのデータ入力に結合させることで、こ
れはシフトリンクのアレイのデータ入力のすべてをCRC
計算が開始されるのと同じクロックサイクルの間、論理
「1」状態に強制的にする。第9図および第10図の実施
例は所望の時間で論理「1」に強制するこの機能を実施
するためにORゲートを用い、一方第11図および第12図の
実施例はマルチプレクサを用いる。第9図および第10図
では4つのORゲート87、89、92および93の各々は8個の
ORゲートを表わし、そして各々は検査合計レジスタ30に
ストアされたCRCデータの1つのバイトのビット上でOR
論理機能を行なう。ゲート87、89、92および93の各々に
よって示される8個のORゲートの各々は、対応するORゲ
ート87、89、92および93に結合される検査合計レジスタ
の特定のグリップのセルのメモリセルのデータ出力の1
つに入力が結合される。各ORゲートの出力はアレイの第
1の行のシフトリンクの1つの入力に結合される。各OR
ゲートは別に入力がNEW PRESET信号に結合される。この
信号が論理「1」として断定されるとき、すべてのORゲ
ートの出力は「1」の値をとり、これによってCRC計算
の第1のクロックサイクルの間、シフトリンクのアレイ
の入力で論理「1」を強制する。この状況は、もし検査
合計レジスタ30が以前のクロックサイクルで論理「1」
をロードされ、そしてこれらの論理「1」がCRC計算の
第1のクロックサイクルでシフトリンクのアレイの第1
の行の入力に伝達されるならば存在するであろう状況と
等しい。
CRC計算の第1のクロックサイクルの後、NEW PRESET
信号は論理「0」状態に戻り、それによってORゲートを
透明にする。その後、検査合計レジスタのいかなるデー
タもORゲート87、89、92および93を通って変化せず伝送
され、そしてCRC計算は通常通りに進む。
第11図および第12図はマルチプレクサ94ないし97を用
いてシフトリンクのアレイの第1の行の入力に同様に論
理「1」を強制し、アレイ32または60のシフトリンクの
第1の行の入力を32個の論理「1」のソースに向け直
す。マルチプレクサ94ないし97は2つの32ビット入力を
有する1つのマルチプレクサとして示され得る。一方の
入力は検査合計レジスタ30のセルの32個のデータ出力の
各々に接続され、そして他方の入力は入力の導体の各々
に結合される電圧源のような32個の論理「1」のソース
に結合されるためのものであろう。マルチプレクサの出
力はアレイのシフトリンクの第1の行のデータ入力に結
合される32ビットバスであろう。マルチプレクサはNEW
PRESET SELECT信号を受取るための入力を有するであろ
う。この信号はCRC計算の第1のクロック計算の間に断
定され、そしてマルチプレクサが論理「1」のソースに
結合される入力を選択し、かつこれらの論理「1」をア
レイのシフトリンクの第1の行の入力に結合させること
を引き起こす。CRC計算の第1のクロックサイクルの
後、NEW PRESET SELECT信号は、マルチプレクサが検査
合計レジスタ30のデータ出力をアレイのデータ入力に結
合する状態に戻す。その後CRC計算は通常通り進む。
第13図は第8図ないし第12図の実施例のクロック信号
とすべての制御信号の関係を示すタイミング図を示す。
この図はCRC計算の第1クロックサイクルに対するプリ
セット信号の関係が上の論議で与えられているので自明
である。
[ヘッダCRC計算] 直列データの伝送のための多くの応用では、ヘッダパ
ケットが用いられる。これらのヘッダパケットはアドレ
スされたノードを規定するビットであり、そのためにヘ
ッダパケットに取付けられるデータパケットが意図され
る。そのようなメッセージ機構はコンピュータ、端末お
よび周辺装置の回路網を作る際に一般に用いられる。第
14A図はCRCH101がヘッダビット100で計算されたCRCチェ
ックビットの集まりで、そしてCRCD103はデータメッセ
ージ102で計算されたCRCチェックビットの集まりである
典型的なメッセージ編成の記号の図である。
CRCDチェックビットを計算する2つの異なる方法が一
般に用いられている。第1の方法はCRCDチェックビット
がデータメッセージ102だけで計算される第14A図に示さ
れている。第2の方法はCRCDチェックビットがヘッダ10
0、CRCDチェックビット101およびデータビット102を含
む全体のパケットで計算される第14B図に示される。2
つの方法のいずれかで別々のCRCHおよびCRCDチェックビ
ットパケットを計算することができるCRC計算器を有す
ることが有用である。
フィードバックバス36にゲートを有し、または検査合
計レジスタ30の出力からその出力へと入力マルチプレク
サ86を介したバス90のような保持バスを有する、上に説
明されたかまたはこれから説明する実施例にいずれも第
14A図の方法に従ってCRCHおよびCRCDチェックビットパ
ケットを計算することができる。これは以下のようにし
て行なわれ、すなわち、ヘッダパケットが処理された後
にCRC計算を停止し、検査合計レジスタ30の存在してい
る内容物をCRCHパケットとして出力し、それから検査合
計レジスタをプリセットし、CRC計算がデータメッセー
ジ102が到着し始めるとき再び始まることを可能にする
ことによって行なわれる。
第15図の実施例は、シフトリンクの直列フォーマット
アレイ32を用いて第14B図の方法に従って別々のCRCHお
よびCRCDチェックビットパケットを計算することができ
るCRC計算器の1つの実施例である。第16図の実施例は
シフトリンクの並列フォーマットアレイ32を用いて第14
B図の方法に従って別々のCRCHおよびCRCDチェックビッ
トパケットを計算することができるCRC計算器の1つの
実施例である。これらの実施例の両方は第14B図の方法
を実現するために別々のスナップショットレジスタ106
およびマルチプレクサ108を用いる。これらの実施例の
共通部分は、シフトリンクの直列または並列のアレイの
どちらが用いられるかといった間に区別なく以下に説明
されるであろうが、これはこれが発明のこの局面の動作
と無関係であるからである。
構造、動作および目的が他の実施例で上に説明された
検査合計レジスタと同一である検査合計レジスタ30はそ
のデータ入力が32ビット幅のバス88によって入力マルチ
プレクサ86のデータ出力に結合される。マルチプレクサ
86は3つの入力を有し、これらは同じ入力でそして上で
論じられた第8図のマルチプレクサ86のための入力の目
的と同じ役割を果たす。
検査合計レジスタ30の出力は第15図のように直接にま
たは第16図に示されるようにプリセット手段109を介し
てシフトリンクのアレイの入力に結合される。第15図の
実施例は論理「1」がCRC計算が開始される前のクロッ
クサイクルの間検査合計レジスタ30にロードされるプリ
セット方法を用いる。これは、検査合計レジスタ30に32
の論理「1」をロードするためにCRC計算の始まる前の
クロックサイクルの間、マルチプレクサ86の入力Cを選
択するようにINPUT SELECT信号を断定することによって
なされる。第16図の実施例は、第9図ないし第12図と関
連して上に説明されたCRC計算方法の第1のクロックサ
イクルの間、シフトリンクのアレイの入力に論理「1」
を強制するプリセット方法を用いる。プリセット手段10
9は第9図および第10図のORゲート87,89,92および93の
ようなORゲートかまたは、第11図および第12図に示され
るマルチプレクサ94ないし97のようなマルチプレクサの
どちらでもあり得る。いずれかのプリセット方法および
装置は第15図または第16図の実施例のどちらにでも用い
られてもよい。
シフトリンク32または60のアレイはここに説明される
シフトリンクのアレイのいずれであってもよい。アレイ
32または60が直列のフォーマットデータメッセージかま
たは並列のフォーマットデータメッセージのどちらを処
理するかに関係なく、アレイの出力はCRCHチェックビッ
トのコピーのための記憶ロケーションとしての役割を果
たすスナップショットレジスタ106の32のデータ入力に
結合される。スナップショットレジスタは検査合計レジ
スタで用られたもののような複数個のメモリセルからな
るが、当業者は他の型のメモリセルが用いられてもよい
ことを認めるであろう。スナップショットレジスタ106
のメモリセルのクロック入力は、END OF HEADERクロッ
ク信号に結合するためのものであり、この信号はすべて
のヘッダビットが処理された後にシフトリンク32または
60のアレイの出力をスナップショットレジスタ106にロ
ードするように働き、そしてバス36上のアレイ出力はCR
CHビットからなる。これらのCRCHビットは第6図のマル
チプレクサ72のようなマルチプレクサを用いるか、また
は当業者にとって明らかであろう他の方法でバイト単位
でCRCH出力バス110上に出力され得る。
第14B図のCRCD計算方法を実現するために、CRCビット
がCRCHビットについても計算されることができるよう
に、CRCHビットは生入力としてシフトリンクのアレイに
ブィードバックされなくてはならない。これがマルチプ
レクサ108およびそれに接続される回路の目的である。
この回路の構造はここで簡単に説明され、それに続いて
第14A図の方法を実現する際の、および第14B図の方法を
実現する際のその動作の説明がなされる。
第15図の実施例では、スナップショットレジスタ106
はシフトレジスタとして接続され、そのためCRCHビット
はライン112上で直列様式でマルチプレクサ108の1つの
入力にシフトされる。マルチプレクサ108の他方の入力
は直列生入力データのソースに結合される。ライン114
の選択信号はマルチプレクサ108がライン116のメッセー
ジの生データかまたはライン112のCRCHデータのいずれ
かをアレイ32生データ入力118に結合することを引き起
こす。
スナップショットレジスタ106がマルチプレクサ116の
4つの入力ポートに結合される4つの1バイト幅の出力
バス118ないし121を有することを除いて、同様の状況が
第16図の実施例で存在する。並列フォーマット入力デー
タビットD7ないしD0はバス122によってマルチプレクサ1
16の入力ポートに結合され、そしてライン124上のBYTE
SELECT信号はマルチプレクサ116の入力のどれがシフト
リンクのアレイの生データ入力126に結合されるべきか
を制御する。
第15図および第16図の実施例は第14A図の態様でCRCD
チェックビットを計算するのに用いられ得る。まず、プ
リセット動作がなされなくてはならない。第15図の実施
例に関して具体的に、入力Cを選択するためにINPUT SE
LECT信号を断定することによって、32個の論理「1」は
CRC計算の準備のために検査合計レジスタ30にロードさ
れるであろう。もし入力マルチプレクサ86が第15図に入
力を有するように第16図で修正されるなら、第16図の実
施例は同じ態様でプリセットを行なうことができ、そし
てプリセット動作は同じ態様で行なわれるであろう。第
15図または第16図のいずれの実施例は、以前に説明され
た態様でライン126上にNEW PRESET信号を断定すること
によって新しいプリセット手段109を用いてプリセット
され得る。次に、A入力を選択するためにINPUT SELECT
信号を断定することによってCRC計算は始めされ得る。
入力Aはヘッダビット100についてのCRC計算の間選択さ
れるであろう。
ヘッダビットの処理の後、もし第14A図の方法がCRCD
チェックビットを計算するために用いられるべきなら、
入力BはCRCHビットが検査合計レジスタ30から出力され
るクロックサイクルの間選択されるであろう。CRCHを出
力するためのこの出力処理は、スナップショットレジス
タに結合される出力バス構造の型に依存して直列または
並列のシフトアレイのための上で説明された方法のいず
れによってでも可能である。
CRCHビットが出力された後、検査合計レジスタは、図
15に示す構造においてマルチプレクサ86へ1にプリセッ
トされた入力が存在する構成を用いて第14A図の方法が
行なわれるなら再びすべて「1」のプリセットされる。
データメッセージ102の生入力データはそれからアレイ3
2または60に入力され、そしてCRCDチェックビットを計
算するために処理される。
第14B図の方法がもし行なわれるべきなら、プリセッ
ト段階および計算段階はCRCHを計算するための上記のも
のと同じである。しかしながら、CRCHチェックビットの
計算を完了すると、それらはスナップショットレジスタ
106にコピーされなくてはならず、そのためそれらは出
力される一方、同時にシフトリンクのアレイの生データ
入力に供給され戻される。これを行なうために、END OF
HEADERクロック信号が断定され、これはCRCHビットが
スナップショットレジスタ106にロードされることを引
き起こす。END OF HEADERクロック信号は検査合計レジ
スタに供給されるクロック信号、すなわちBIT CLOCK信
号であり得、これはヘッダの端部が検出されるときそれ
を通過させることを可能にするだけのゲートを介してゲ
ートされる。これはCRCHビットのコピーがスナップショ
ットレジスタ106でなされ、そしてハス112上で1度に1
ビット外にシフトされることを引き起こす。CRCHビット
の別のコピーはヘッダの端部でバス36およびマルチプレ
クサ86を介して検査合計レジスタ30に入力されるであろ
う。第15図の実施例の場合、マルチプレクサ108はライ
ン114上のSELECT信号によってライン112上の直列データ
の流れを生データ入力118に結合するようにされる。こ
うして、CRCHチェックビットはアレイに入力され、そし
て以前に説明された様式で処理される。すべてのCRCHチ
ェックビットが処理されが後、マルチプレクサ108はSEL
ECT信号によってその出力118をライン117上のデータメ
ッセージビット102に切換え戻すようにされる。メッセ
ージ102のデータビットのすべてが処理された後、CRCD
チェックビットは検査合計レジスタ30に属し、上に説明
されたいずれかの態様で出力され得る。
CRCHおよびCRCDチェックビット計算を行なうための好
ましい実施例は、直列のアレイフォーマットで第17図に
そして並列のアレイフォーマットで第18図に示されてい
る。各実施例はそのデータ出力がバス88によって検査合
計レジスタ32のデータ入力に結合されている入力マルチ
プレクサ86を用いる。各マルチプレクサ86はA入力がシ
フトリンク32または60のアレイの出力に結合されてい
る。各マルチプレクサはまた入力Cがバス130によって
検査合計レジスタ30のデータ出力に結合されている。最
後に、各マルチプレクサ86はB入力が剰余多項式のビッ
トパターンに結合される。このビットパターンはCRCチ
ェックビットがデータメッセージについて計算され、そ
してそのチェックビットがすべて論理「1」のプリセッ
ト状態から始まるとき、結果として生じる標準の剰余多
項式の係数を表わす。
シフトリンクのアレイはここで説明されるアレイの構
造のいかなるものでもあり得る。シフトリンクのアレイ
の出力は入力マルチプレクサ86を介してフィードバック
バス36によって検査合計レジスタ30の入力に結合され
る。アレイ32または60の入力は以前に説明されたプリセ
ット手段と同じ構造、動作および目的を有するプリセッ
ト手段109を通って検査合計レジスタ30のデータ出力に
結合される。検査合計レジスタ30のデータ出力はまた出
力バス132に結合され、これはいずれの構造も有するこ
とができ、CRCデータを検査合計レジスタから出力する
ために上に述べられたいずれの態様でも用いられ得る。
第17図および第18図の実施例がCRCHチェックビットを
計算し、そしてCRCDチェックビットを計算するように働
く態様は第19図のタイミング図を参照することによって
最良に理解される。
[第14A図の方法] 第14A図の態様でCRCHおよびCRCDを計算するために、
第17図および第18図の実施例のシフトリンクのアレイは
同じクロックサイクルの間NEW PRESET信号を断定するこ
とによってすべて論理「1」にプリセットされ、ヘッダ
パケットの第1のビットまたはバイトは第19図の時間ラ
イン2で示されるように到着する。それに代わる型のプ
リセット装置を用いる他の実施例では、入力選択信号OL
D PRESETは32の論理「1」のソースに結合されり入力マ
ルチプレクサの入力を選択するように断定される。
次に、COMPUTE入力選択信号は入力Aが選択されるこ
とを引き起こすように主張され、そしてCRCHチェックビ
ットがヘッダビットについて計算される。ヘッダパケッ
ト100のすべてのビットが処理された後、CRCHチェック
ビットは検査合計レジスタに属し、そして第17図の実施
例の場合CRC出力バス132にシフトして出されてもよく、
またはここで初期に説明された装置を用いて1度に1バ
イト出力されてもよい。この処理は第19図の時間ライン
4上の信号MUXはたはSHIFTを断定することによって記号
化される。その代わりの実施例では、すべての32ビット
のCRCHチェックビットは並列に出力されてもよい。CRCH
ビットが出力されている間、入力マルチプレクサ86は時
間ライン6で例示されるHOLD信号の断定によって検査合
計レジスタ入力に結合するための入力Cを選択すること
を引き起こされる。これはCRCHビットが第14A図の方法
を実現するために出力される時間の間、検査合計レジス
タの内容物を一定に維持する。
CRCHビットの出力が完了すると、検査合計レジスタ
は、第19図の時間ライン7に示されるNEW PRESET信号を
断定するかまたは第19図の時間ライン8に示されるデー
タメッセージが始まる前のクロックサイクルの間、OLD
PRESET信号を断定することによってすべて「1」で再び
プリセットされる。その後、入力マルチプレクサはCOMP
UTE信号の断定によって検査合計レジスタ30の入力に結
合するためのA入力を再び選択することを引き起こされ
る。これはCRC計算が生データ入力123および126に到着
するデータメッセージ102の生入力データビットについ
て再び始まることを引き起こす。メッセーッジ102のす
べてのデータビットが処理された後、CRCDチェックビッ
トは検査合計レジスタ30で提示されるであろう。それは
第14A図の方法につきCRCHおよびCRCDチェックビットの
計算方法を終える。
[第14B図の方法] 第14B図の方法に従ってCRCHおよびCRCDチェックビッ
トを計算するために、第17図および第18図の実施例が以
下のように動作される。NEW PRESET信号は以前のように
そして第19図の時間ライン2で示されるようにヘッダの
第1のクロックサイクルの間断定される。COMPUTE入力
選択信号は第19図の時間ライン1で示されるように同時
に断定される。これはCRC検査合計レジスタの入力に結
合するための入力マルチプレクサの入力バスAを選択す
る。CRCH計算はそれから以前に説明されたように進む。
CRCHチェックビットはすべてのヘッダビットが処理され
た後に検査合計レジスタに与えられるであろう。
以前のように、これらのCRCHチェックビットは、それ
らが出力される間検査合計レジスタ30で一定に保持され
なくてはならない。しかしながら、それらのコピーを保
持するためのスナップショットレジスタがないので、入
力マルチプレクサ86がHOLD信号の断定によって入力Cを
選択することを強制されなくてはならず、そのため検査
合計レジスタ30のCRCHビットはそれらがすべて出力され
るまで変化なく再び循環される。CRCHバイトのための出
力処理は以前に説明された処理と同一であり、そして第
19図の時間ライン4に示される信号の断定によって記号
化される。
いくつかのクロックサイクルは、CRCHビットでのいか
なるCRCDチェックビット計算もなされることなしに、CR
CHビットを出力するこの処理の間通過しているだろう。
第14B図の方法を実現するために、CRCDチェックビット
は、ヘッダ100、CRCHビット101およびデータパケット10
2を含む全体のパケットで計算されなくてはならない。
これを達成するために、入力マルチプレクサはメッセー
ジ99のデータ部分102の入力の第1のクロックサイクル
の直前のクロックサイクルの間、すべてのCRCHビットを
出力する最後で入力Bを選択するように強制される。こ
れは第19図の時間ライン5で例示されるINITIATE REMAI
NDR信号の断定によってなされる。これは、そのビット
パターンがもしCRCDデータビットの計算がヘッダの第1
のビット以来はずっと持続していたなら、検査合計レジ
スタ内にやはり存在しているであろう時と全く同じ時に
検査合計レジスタ30に剰余多項式ビットパターンをロー
ドする。言い換えれば、もし入力Cがそれの出力の間、
検査合計レジスタ内のCRCHビットを一定に保持するため
にヘッダの端部で選択されなかったならば、すべてのCR
CHチェックビットが処理されてしまうまでに検査合計レ
ジスタ内に結果として生じたであろうビットは、剰余多
項式ビットパターンのビットであろう。このビットパタ
ーンは正確に予測可能であることが周知であり、なぜな
ら、メッセージのみで計算されるCRCビットを加えたCRC
計算がデータメッセージで行なわれるときはいつでも、
結果として生じるCRCビットは自動ディジタルネットワ
ークIIおよびエサーネット基準のための生成多項式を規
定する、ここで引用により援用された基準で公表される
周知の多項式を示すからである。
いかなるプリセットもこの方法でデータパケット102
のビットを処理する前に行なわれない。データパケット
102のすべてのビットが処理された後、CRCDチェックビ
ットは検査合計レジスタ内に属し、そしてここで説明さ
れたいずれかの態様で出力され得る。
[可変ビット境界CRC計算] 多数のバイトメッセージを回路網の他のノードに送る
ことがコンピュータ回路網で一般的であり、そこでは第
1のバイトの第1のいくつかのビットがシステムの種々
のノードによって出力時変化を受ける。これは特にトー
クンリング回路網で一般的である。これらのビットは出
力時変化を受けるので、それらは間違ってエラーである
と仮定されないようにCRC計算に含まれてはならない。
データメッセージの第1のバイトの可変の数のビット
でCRCチェックビットを計算するための1つの並列フォ
ーマット実施例は、シフトリンクの第1のいくつかの行
を透明にするべきであろう。これは検査合計レジスタを
すべて論理「1」にプリセットした後に行なわれるであ
ろう。論理「1」は、CRC計算に含まれるべき生入力デ
ータの第1のビットに結合されるシフトリンクの第1の
活動している行に送られる。しかしながら、シフトリン
クの透明な行のシフト作用は、この実施例を用いるため
には不能化されなくてはならず、そのため透明な行の最
下位ビットは、論理「1」が透明な行の左にシフトさ
れ、論理「0」では満されない。この実施例は次に説明
される実施例より実現するのは難しい。
この発明の1つの重要な局面は、融通性のある手段を
提供することであり、それによって、それでCRCビット
の計算が所望されるメッセージの第1のバイトの1つま
たは2つ以上のビットが無視されてもよい。いくつかの
初期のビットが無視されるべきバイトクロックを用いた
並列のフォーマット計算での問題は、シフトリンクの適
当な行をすべて「1」にプリセットすることである。適
当な行とは(第7図のゲート62のような)その入力ゲー
トの入力として、メッセージの第1のバイトの生入力デ
ータの第1のデータビットを有する行であり、これはCR
C計算に含められるべきである。第20図はこの発明の他
の重要な機能を実現する装置とともにこの機構を達成す
るための装置を例示する。
可変ビット境界機能はORゲート110ないし125によって
実現される。これらのORゲートがビットに結合されるシ
フトリンクの行が無視されて透明になることを引き起こ
す態様が具体例によって最良に例示されている。読者は
同時に第21図を参照すべきで、この図は可変ビット境界
機能を実現するのに必要な制御信号のタイミング図であ
る。第20図に例示される他の装置を制御し、第20図の実
施例が実施できるこの発明の他の機能を達成するために
必要な制御信号が以前のようにここで説明される。
プリセット論理「1」を次の行に送るように排他的OR
ゲートの行を透明にするために、論理「0」は影響を受
けた行、すなわち無地されるべきビットに結合される行
のこれらの排他的ORゲートの入力の1つに与えられなく
てはならない。これはORゲート110ないし117およびこれ
らのORゲートの各々に結合されるIGNORE信号の機能であ
る。第1の3つのデータビットD7ないしD5はCRC計算で
無視されるべきであると仮定する。CRC計算の第1のク
ロックサイクルは第21図の時間t0とt1の間にあると任意
に仮定される。第21図の時間ライン1に例示されるBYTE
CLOCK信号の遷移131で始まるCRC計算の第1のクロック
サイクルの間、入力マルチプレクサ86のためのCALCULAT
E制御信号は入力Aを選択するために断定され、CRC計算
が時間ライン3で例示されるように始まることを可能に
する。第1のクロックサイクルの間ではまた、時間ライ
ン2で例示されるNEW PRESET信号が断定され、すべての
論理「1」を入力ゲート62を介して入力データビットD7
に結合されるシフトリンクの第1の行のデータ入力に強
制する。CRC計算の第1のクロックサイクルの間もま
た、第1のクロックサイクルの間のみであるが、IGNORE
7、IGNORE6およびIGNORE5信号が断定される。データビ
ットD7、D6およびD5の論理状態に関係なく、論理「1」
はライン132、134および136で存在するであろう。こう
して入力ゲート200、202および204はそれらの入力で2
つの論理「1」を受取る。なぜならばプリセットゲート
138、140および142がそれらの出力をNEW PRESET信号の
論理「1」の状態によって論理「1」に強制するからで
ある。これはこのときの検査合計レジスタ30の内容物に
関係なく正しい。それゆえ、排他的ORゲート200、202お
よび204の出力ラインはCRC計算の第1のクロックサイク
ルの間、論理「0」であろう。プリセットゲート109
は、ゲート109に結合されるシフトリンクの第1の行の
すべてのデータ入力を論理「1」状態に強制的に設定す
る。これらの論理「1」は、それらの共通の入力ライン
301の論理「0」により逆転をせずに、ワイヤであるす
べてのシフトリンクによって第2の行に直接に送られ、
そして排他的ORゲートであるすべてのシフトリンクに送
られる。この共通の入力ラインは、第21図の時間ライン
4で示されるすべてのCRC計算の間、論理「1」状態で
あるSHIFT否定信号でAND処理された後の入力ゲート200
からの出力信号を保持する。
第1の行の共通の入力ライン301はまた、第2の行の
最下位のビット位置のシフトリンクのための入力データ
ビットを保持する。このビットもまた適切に働くための
配置では論理「1」でなくてなならないので、別のORゲ
ート118は共通のライン301と第2の行の最下位ビットの
位置のシフトリンクのデータ入力との間に置かれる。こ
のORゲート118は一方の入力が共通の入力ライン301に結
合され、そして別の入力はIGNORE7信号を所持するライ
ンに結合される。このORゲートの出力はシフトリンクの
第2の行の最下位ビット位置のシフトリンクの入力に結
合される。IGNORE7信号はCRC計算の第1のクロックサイ
クルの間論理「1」であるので、第2の行の最下位ビッ
ト位置のシフトリンクの入力に「1」が強制されるであ
ろう。
アレイのシフトリンクの各行はゲート118のようなOR
ゲートを有する。すべてのこれらのORゲート、すなわち
ゲート119ないし125の出力は、次の行の最下位ビット位
置のシフトリンクの入力に結合され、そして各ゲートは
一方の入力がその行でIGNORE信号に結合され、そして別
の入力はその行で共通の入力ラインに結合される。こう
して、いかなる数の行もその行でIGNORE信号を断定する
ことによって、それらの最下位ビット位置のシフトリン
クに論理「1」を強制することができる。同様に、いか
なる数の行も、透明にされるべき行で、それらの出力が
入力ゲートの入力に結合されているORゲート110ないし1
17に結合されるIGNORE信号を断定することによって、透
明にされ得る。
手元の特定の具体例では、IGNORE7ないしIGNORE5信号
は第21図の時間ライン5ないし7で示されるCRC計算の
第1のクロックサイクルの間に断定される。これは、ア
レイ60の第1の3つの行が透明になり、そしてすべての
論理「1」をシフトリンクの第4の行のデータ入力に送
ることを引き起こす。こうして、CRC計算の第1のクロ
ックサイクルの間、CRCチェックビットはデータビットD
7ないしD5を除いて第1の入力バイトD7ないしD0のすべ
てのビットで計算されるであろう。これが発生するのは
プリセット「1」がデータビットD7ないしD5に結合され
るシフトリンクの行を介して直接に伝送されるからで、
そしてそのためデータビットD4に結合されるシフトリン
クの行はそれがアレイの最初の行のように作用する。CR
C計算の第1のクロックサククルが終了すると、IGNORE7
ないしIGNORE5信号は不活性化され、そしてCRC計算は通
常通りに進行する。
この発明は好ましい実施例について説明されてきた
が、当業者はこの発明の精神および範囲から逸脱するこ
となく発明を実施するように働くであろう修正またはそ
れに代わるものを認めてもよい。そのようなすべての修
正および代用となるものはここに添付の特許請求の範囲
の範囲内に含まれることが意図される。
【図面の簡単な説明】
第1図はビットクロックを用いる直列フォーマットCRC
計算機のブロック図である。 第2図は第1図の機械の論理図である。 第3図はそのCRCビットが付加された典型的なデータメ
ッセージのためのデータフォーマットの図である。 第4A図および第4B図はバイトクロックを用いた並列フォ
ーマットCRC機械のための論理図である。 第5図はCRCバイトの出力するためにバイト幅の出力バ
スを用いたCRC計算器の好ましい実施例のブロック図で
ある。 第6図はマルチプレクサを通ってCRCデータの各バイト
に接続される1バイト幅の出力バスを用いたCRC計算器
の別の実施例のブロック図である。 第7A図および第7B図は、より低いオーダのCRCバイトを
出力のために最上位バイト位置にシフトすることを引き
起こすためにシフトリンクのアレイで用いられるANDゲ
ートを示す第5図の実施例の論理の論理図である。 第8図は、入力マルチプレクサを用いてすべて「1」で
検査合計レジスタをプリセットし、そしてCRC計算の第
1のクロックサイクルの前のクロックサイクルでプリセ
ットするためのこの発明の実施例のブロック図である。 第9図は、ORゲートを用いてすべて「1」で検査合計レ
ジスタをプリセットし、そしてCRC計算の第1のクロッ
クサイクルでプリセットするためのこの発明の直列入力
データフォーマットの実施例のブロック図である。 第10図は、ORゲートを用いてすべて「1」で検査合計レ
ジスタをプリセットし、そしてCRC計算の第1のクロッ
クサイクルでプリセットするためのこの発明の並列入力
データフォーマットの実施例のブロック図である。 第11図は、マルチプレクサを用いてすべて「1」で検査
合計レジスタをプリセットし、そしてCRC計算の第1の
クロックサイクルでプリセットするためのこの発明の直
列入力データフォーマット実施例のブロック図である。 第12図は、マルチプレクサを用いてすべて「1」で検査
合計レジスタをプリセットし、そしてCRC計算の第1の
クロックサイクルでプリセットするためのこの発明の並
列入力データフォーマット実施例のブロック図である。 第13図は、直列または並列のフォーマット入力データフ
ォーマットで第8図ないし第12図の実施例と、プリセッ
トがCRC計算の第1のクロックサイクルに先行するクロ
ックサイクルでなされるか、またはCRC計算の第1のク
ロックサイクルの間になされる実施例とのプリセット機
能を制御する制御信号のタイミング図である。 第14A図および第14B図は、典型的な回路網メッセージの
データパケットフォーマットを例示し、そしてヘッダで
CRCHチェックビットを、そして全体のメッセージかまた
はデータパケットのみでCRCDチェックビットを計算する
2つの異なる方法を例示する。 第15図は、第14図に例示される方法のいずれかに従って
CRCHおよびCRCDチェックビットを計算するための1つの
直列フォーマット入力データ実施例を例示する。 第16図は、第14図に例示される方法のいずれかに従って
CRCHおよびCRCDチェックビットを計算するための1つの
並列フォーマット入力データ実施例を例示する。 第17図は、第14図に例示される方法のいずれかに従って
CRCHおよびCRCDチェックビットを計算するための好まし
い直列のフォーマット入力データ実施例を例示する。 第18図は、第14図に例示される方法のいずれかに従って
CRCHおよびCRCDチェックビットを計算するための好まし
い並列フォーマット入力データ実施例を例示する。 第19図は、第14図に例示される方法に従ってCRCHおよび
CRCDチェックビットを計算する際の第17図および第18図
の実施例を制御する制御信号のためのタイミングを例示
する。 第20A図および第20B図は、この発明の可変ビット境界特
徴およびこの発明のいくつかの他の特徴を含んだものを
例示する。 第21図は、この発明の可変ビット境界機能の動作を例示
する第20図の実施例のためのタイミング図である。 図において、30は検査合計レジスタ、32はアレイ、36は
バス、40および42はセグメント、44はマルチプレクサ、
50はインバータ、56はアレイ、60はシフトリンク、62、
64、65、110、111、112、113、114、115、116、117、11
8、119、120、121、122、123、124および125は排他的OR
ゲート、66および68はANDゲート、70は1バイト幅の出
力バス、74はバス、84は排他的ORおよびシフトアレイ、
86はマルチプレクサ、88は32ビット幅の出力バス、90は
バス、90、91、92および93はORゲート、94、95、96およ
び97はマルチプレクサ、99はメッセージ、100はANDゲー
ト、100はヘッダ、101はCRCHビット、102はデータパケ
ット、103はCRCD、106はスナップショットレジスタ、10
8はマルチプレクサ、109はプリセット手段、110はCRCH
出力バス、118、119、120および121は1バイト幅の出力
バス、116はマルチプレクサ、126は生データ入力、130
および132はバス、138、140および142はプリセットゲー
トである。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭58−206254(JP,A) 特開 昭60−206227(JP,A) 特開 昭62−132432(JP,A) 特開 昭62−132433(JP,A) 特公 昭54−25764(JP,B2) 特公 昭54−37460(JP,B2)

Claims (35)

    【特許請求の範囲】
  1. 【請求項1】複数個のCRCビットをストアするための、
    各CRCビットを受けるデータ入力と、各ストアされたCRC
    ビットに対するデータ出力とを有するCRC検査合計レジ
    スタと、 前記CRC検査合計レジスタの前記データ入力に結合され
    るデータ出力と、前記CRC検査合計レジスタの前記デー
    タ出力に結合されるデータ入力と、生データ入力とを有
    し、前記CRC検査合計レジスタからの入力データと前記
    生データ入力に与えられた生入力データとを受け、前記
    生入力データを予め定められた2進数で除算して該除算
    の余りを前記CRC検査合計レジスタに前記CRCビットとし
    てストアするための計算手段と、 END OF HEADERクロック信号を受ける入力を有し、前記
    計算手段のデータ出力に結合される複数個の入力と、前
    記CRCビットのためのデータ出力とを有し、前記END OF
    HEADERクロック信号を受けると前記検査合計レジスタの
    データ入力に与えられたCRCビットをストアするための
    スナップショットレジスタと、 前記スナップショットレジスタの前記データ出力に結合
    される第1の入力と、前記生入力データのソースに結合
    される第2の入力と、前記生データ入力に結合されるデ
    ータ出力と、前記第1および第2の入力のいずれを前記
    計算手段の前記生データ入力に結合させるべきかを制御
    する制御信号を受ける制御入力とを有し、前記第1およ
    び第2の入力へ与えられたデータを前記制御信号に従っ
    て選択的に該データ出力に伝達するマルチプレクサとを
    含む、CRCビット計算装置。
  2. 【請求項2】前記CRC検査合計レジスタの前記データ入
    力に結合される出力と、前記計算手段の前記データ出力
    に結合される第1の入力と、前記CRC検査合計レジスタ
    の前記データ出力に結合される第2の入力と、前記第1
    および第2の入力のいずれを前記CRC検査合計レジスタ
    の前記データ入力に結合させるかを制御する信号を受け
    る制御入力とを有し、該制御入力に与えられた制御信号
    に従って前記第1および第2の入力へ与えられるデータ
    ビットを選択的に該出力へ伝達する入力マルチプレクサ
    をさらに含む、特許請求の範囲第1項記載のCRCビット
    計算装置。
  3. 【請求項3】前記CRC検査合計レジスタのデータ出力に
    結合される入力と、前記計算手段のデータ入力に結合さ
    れる出力とを有し、NEW PRESET信号が与えられる論理
    「1」を前記計算手段の各前記データ入力に強制的に設
    定するプリセット手段をさらに含む、特許請求の範囲第
    2項記載のCRCビット計算装置。
  4. 【請求項4】前記入力マルチプレクサは、各前記CRCビ
    ットに対して論理「1」を与える複数個の論理「1」の
    ソースに結合される第3の入力を有し、前記制御信号
    は、前記第1、第2および前記第3の入力のいずれが前
    記CRC検査合計レジスタの前記データ入力に結合される
    かを制御する、特許請求の範囲第2項記載のCRCビット
    計算装置。
  5. 【請求項5】前記計算手段は、各々が入力と出力とを有
    する複数個のシフトリンクの行を含み、前記生入力デー
    タは並立フォーマットで与えられ、前記計算手段は各入
    力データビットに対して1つの前記行を有し、前記CRC
    検査合計レジスタの前記データ出力にシフトリンクの先
    行行として結合される第1の行と、この第1の行を除く
    各行における入力が先行の行の最上位のシフトリンクの
    出力に結合される最下位のシフトリンクを除いた各行の
    シフトリンクは、その入力が先行の行の隣接する下位の
    シフトリンクの出力に結合され、前記シフトリンクの最
    終行は、そのデータ出力が前記CRC検査合計レジスタの
    前記データ入力に結合され、かつ予め定められたシフト
    リンクは与えられたビットと予め定められた信号の間で
    排他的OR論理演算を行なうゲードである、特許請求の範
    囲第1項記載のCRCビット計算装置。
  6. 【請求項6】前記シフトリンクの各前記行に対し予め定
    められた信号が与えられ、各前記予め定められた信号
    は、前記CRCビットの予め定められたビットと前記入力
    データビットのデータビットとの間で所定の論理演算を
    行なう、各行に配置される入力ゲートにより発生され
    る、特許請求の範囲第5項記載のCRCビット計算装置。
  7. 【請求項7】前記シフトリンクの第1の行に対応する入
    力ゲートは前記CRC検査合計レジスタにストアされる最
    上位CRCビットと前記生入力データが直列態様で入力さ
    れるときに最初に到達する第1のデータビットとの間で
    排他的OR論理演算を行なうゲートであり、前記シフトリ
    ンクの第2の行に対応する入力ゲートは前記CRC検査合
    計レジスタにストアされる次の最上位CRCビットと前記
    生入力データが直列態様で入力されるときに2番目に到
    達する第2のビットとの間で排他的OR演算を行なうゲー
    トであり、前記シフトリンクの第i行に対応して配置さ
    れる入力ゲートは、前記CRC検査合計レジスタの第i番
    目の上位のCRCビットと前記生入力データが直列形式で
    入力されるときに第i番目に到達するビットとの間で排
    他的OR演算を行なうゲートである、特許請求の範囲第6
    項記載のCRCビット計算装置。
  8. 【請求項8】前記計算手段は、各々が入力および出力を
    有するシフトリンクの複数の行を含み、前記生入力デー
    タは並立フォーマットで前記計算手段へ与えられ、前記
    計算手段は各入力ビットに対応して1つのシフトリンク
    の行が配置され、各行においてその入力が先行の行の最
    上位シフトリンクの出力に結合される最下位のシフトリ
    ンクと、その入力が前記CRC検査合計レジスタの前記デ
    ータ出力にシフトリンクの先行する行として結合される
    第1の行とを除いて、各シフトリンクの行はその入力は
    先行の隣接下位シフトリンクの出力に結合され、かつ前
    記シフトリンクの最終行は、そのデータ出力が前記CRC
    検査合計レジスタの前記データ入力に結合され、かつ予
    め定められたシフトリンクはその入力に与えられたビッ
    トと予め定められた信号の間で排他的OR論理演算を行な
    うゲートである、特許請求の範囲第2項記載のCRCビッ
    ト計算装置。
  9. 【請求項9】前記シフトリンクの各行に対して予め定め
    られた信号が与えられ、各前記予め定められた信号は、
    各シフトリンクの行に対応して配置されて各対応の行の
    CRCビットの予め定められたビットと前記入力データビ
    ットからのデータビットとの間で予め定められた論理演
    算を行なう入力ゲートにより発生される、特許請求の範
    囲第8項記載のCRCビット計算装置。
  10. 【請求項10】前記入力ゲートの第i行のシフトリンク
    に対応して配置される入力ゲートは、前記CRC検査合計
    レジスタにストアされた第i番目の上位のCRCビットと
    前記生入力データが直列態様で入力される場合に第i番
    目に到達するデータビットとの間で排他的OR論理演算を
    行なうゲートで構成される、特許請求の範囲第9項記載
    のCRCビット計算装置。
  11. 【請求項11】前記スナップショットレジスタは、各々
    が前記スナップショットレジスタにストアされたCRCデ
    ータの1バイトに結合される複数個の出力を有し、前記
    スナップショットレジスタの複数個の出力は前記マルチ
    プレクサの別の入力バスに結合され、かつ前記制御入力
    は前記マルチプレクサの前記第1および第2の入力のい
    ずれかを選択して前記計算手段への生入力データとして
    結合する手段に結合される、特許請求の範囲第5項記載
    のCRCビット計算装置。
  12. 【請求項12】前記計算手段は、入力が前記CRC検査合
    計レジスタの前記出力に結合され、出力が前記CRC検査
    合計レジスタの前記データ入力に最上位CRCビット方向
    に1ビット位置シフトされて結合されるシフトリンクの
    行で構成され、前記計算手段のシフトリンクのいくつか
    は第1の入力が前記CRC検査合計レジスタのデータ出力
    に結合される排他的ORゲートであり、前記CRC検査合計
    レジスタの最上位CRCビットデータ出力は、データ入力
    排他的ORゲートの入力に結合され、前記データ入力排他
    的ORゲートは前記入力データの直列ストリームに結合さ
    れる別の入力と、前記シフトリンクの対応の行の排他的
    ORゲートの第2の入力に結合される出力とを有する、特
    許請求の範囲第1項記載のCRCビット計算装置。
  13. 【請求項13】前記第1および第2の入力は直列データ
    入力であり、前記マルチプレクサの前記出力は直列デー
    タ出力であり、前記スナップショットレジスタの前記デ
    ータ出力は直列データ出力である、特許請求の範囲第12
    項記載のCRCビット計算装置。
  14. 【請求項14】前記計算手段は、前記検査合計レジスタ
    の前記データ出力に結合される入力と、前記CRC検査合
    計レジスタの前記データ入力に最上位CRCビット方向に
    1ビット位置シフトされて結合される出力とを有するシ
    フトリンクの行からなり、前記シフトリンクのいくつか
    は、第1の入力が前記CRC検査合計レジスタのデータ出
    力に結合され、前記CRC検査合計レジスタの最上位CRCビ
    ットデータ出力はデータ入力排他的ORゲートの一方入力
    に結合され、前記データ入力排他的ORゲートは入力デー
    タの直列ストリームに結合される別の入力と、前記シフ
    トリンクの行の各前記排他的ORゲートの第2の入力に結
    合される出力とを有する、特許請求の範囲第2項のCRC
    ビット計算装置。
  15. 【請求項15】前記第1および第2のデータ入力は直列
    データ入力であり、前記マルチプレクサの前記出力デー
    タは直列データ出力であり、かつ前記スナップショット
    レジスタの前記データ出力は直列のデータ出力である、
    特許請求の範囲第14項記載のCRCビット計算装置。
  16. 【請求項16】バイトクロック入力にバイトクロック信
    号を受けると複数個の入力に存在する複数個のビットの
    データをストアし、かつ複数個のデータ出力に該ストア
    されたデータを与える第1の手段と、 前記データ出力のデータを受け、NEW PRESET信号が前記
    データ出力を論理「1」状態に強制的に設定する予め定
    められた論理状態にある場合を除いて、該与えられたデ
    ータを複数のデータ出力にそれぞれ通過させるための第
    2の手段と、 前記第2の手段からのデータビットと、生データ入力の
    生入力データビットとを受け、予め定められた信号に従
    った予め定められたシフトの間予め定められたビットの
    間で排他的OR演算を行ないかつ予め定められたビットを
    予め定められた態様でシフトして、該シフトおよび演算
    結果を前記CRC検査合計レジスタのデータ入力に結合さ
    れる複数個のデータ出力に与えるための計算手段と、 END OF HEADERクロック信号を受けるクロック入力と、
    前記計算手段の前記データ出力に結合される複数個の入
    力と、データ出力とを有し、前記END OF HEADERクロッ
    ク信号を受けると前記検査合計レジスタ手段のデータ入
    力に与えられた第1のCRCビットをストアするためのス
    ナップショットレジスタと、 前記スナップショットレジスタの前記データ出力に結合
    される第1の入力と、生入力データのソースに結合され
    る第2の入力と、前記計算手段の前記生データ入力に結
    合されるデータ出力と、前記第1および第2の入力のい
    ずれを前記計算手段の前記生データ入力に結合するべき
    かを制御する信号を受ける制御入力とを有し、該制御入
    力に与えられた制御信号に従って、前記第1および第2
    の入力に与えられたデータを選択的に該データ出力に伝
    達するマルチプレクサとを含み、 前記計算手段は第2の複数個のCRCビットを計算し、 前記第1の手段の前記データ入力の結合される出力と、
    前記計算手段の前記データ出力に結合される第1の入力
    と、前記第1の手段の前記データ出力に結合される第2
    の入力と、前記第1および第2の入力のいずれを前記第
    1の手段の前記データ入力に結合するかを制御する制御
    信号を受ける制御入力とを有し、該制御入力に与えられ
    た制御信号に従って前記第1および第2の入力に与えら
    れたデータの一方を選択的に該データ出力部へ通過させ
    る入力マルチプレクサとを含み、これによりヘッダパケ
    ットのための第1の複数個のCRCビットとこの第1の複
    数個のCRCビットと異なる第2の複数個のCRCビットを計
    算する、CRCビット計算装置。
  17. 【請求項17】複数個のCRCビットをストアするため
    の、各CRCビットを受けるためのデータ入力と、各スト
    アされたCRCビットに対するデータ出力と、クロック信
    号を受けるクロック入力とを有するCRC検査合計レジス
    タと、 前記CRC検査合計レジスタの前記データ出力に結合され
    るデータ入力と、生データ入力と、データ出力とを有
    し、CRC計算が行なわれるべき前記生データ入力へ与え
    られた生入力データを受けて予め定められた2進数で除
    算し、該除算の余りを前記CRC検査合計レジスタに前記C
    RCビットとしてストアする計算手段と、 前記計算手段の前記データ出力に結合される第1の入力
    と、予め定められたビットパターンに結合される第2の
    入力と、前記CRC検査合計レジスタの前記データ入力に
    結合されるデータ出力と、前記第1および第2の入力の
    いずれを前記マルチプレクサのデータ出力に結合するべ
    きかを示すための制御信号を受ける制御入力とを有し、
    該制御入力に与えられた制御信号に従って前記第1およ
    び第2の入力の一方を前記マルチプレクサのデータ出力
    に選択的に結合する入力マルチプレクサとを含む、CRC
    ビット計算装置。
  18. 【請求項18】前記所定のビットパターンは、データブ
    ロックと前記データブロックについて先に計算されたCR
    Cビットの和についてCRCビットが計算されるときにもた
    らされる多項式を表現する標準の剰余2進数を表わす、
    特許請求の範囲第17項記載のCRCビット計算装置。
  19. 【請求項19】前記CRC検査合計レジスタのデータ出力
    に結合される入力と、前記計算手段のデータ入力に結合
    される出力とを有し、NEW PRESET信号を受けると論理
    「1」を前記計算手段の各前記データ入力へ強制的に設
    定するプリセット手段をさらに備える、特許請求の範囲
    第18項記載のCRCビット計算装置。
  20. 【請求項20】前記CRC検査合計レジスタのCRCビットの
    最上位バイトのデータ出力にのみ結合されるCRC出力バ
    スをさらに含む、特許請求の範囲第19項記載のCRCビッ
    ト計算装置。
  21. 【請求項21】前記計算手段は、複数のシフトリンクの
    行を含み、各前記シフトリンクは入力および出力を有
    し、前記生入力データは前記計算手段に対し並列フォー
    マットで与えられる複数個のデータビットで構成され、
    前記計算手段は各前記生入力データビットに対し1つの
    前記行を有し、各シフトリンクの行において、先行の行
    の最上位シフトリンクの出力に結合される入力を有する
    最下位シフトリンクと、前記CRC検査合計レジスタの前
    記データ出力にシフトリンクの先行行として結合される
    入力を有する第1行のシフトリンクとを除いて、各シフ
    トリンクはその入力が先行の行の隣接下位のシフトリン
    クの出力に結合され、前記シフトリンクの最終行はその
    データ出力が前記CRC検査合計レジスタの前記データ入
    力に結合され、予め定められたシフトリンクはその入力
    ビットと予め定められた信号の間で排他的OR論理演算を
    行なうゲートで構成される、特許請求の範囲第18項記載
    のCRCビット計算装置。
  22. 【請求項22】前記シフトリンクの各前記行に対し前記
    予め定められた信号が与えられ、各前記予め定められた
    信号は、各シフトリンクの行に対応して配置されかつ前
    記CRCビットの予め定められたビットと前記入力データ
    ビットの対応のデータビットの間で予め定められた論理
    演算を行なう入力ゲートによって発生される、特許請求
    の範囲第21項記載のCRCビット計算装置。
  23. 【請求項23】前記入力ゲートは、前記CRC検査合計レ
    ジスタの第i番目の上位ビットと、前記生入力データが
    直列態様で与えられるときに第i番目に与えられる入力
    データビットの間で排他的OR論理演算を行なう入力ゲー
    トが第i番目のシフトリンクの行に対応して配置される
    ように配置される、特許請求の範囲第22項記載のCRCビ
    ット計算装置。
  24. 【請求項24】前記CRC検査合計レジスタの前記クロッ
    ク入力がバイトクロック信号を受け、かつさらに、前記
    CRC検査合計レジスタに結合され、前記バイトクロック
    信号と同期して1度に1バイト前記CRCビットを前記CRC
    検査合計レジスタの最上位バイト位置にシフトすること
    により1度に1バイトの割合で前記CRC出力バスへCRCデ
    ータバイトを出力するためのシフト手段を含む、特許請
    求の範囲第23項記載のCRCビット計算装置。
  25. 【請求項25】前記シフト手段は、前記シフトリンクの
    各行にそれぞれ対応して配置される複数のANDゲートを
    備え、各前記ANDゲートは、一方入力が対応の行に配置
    された入力ゲートの出力に結合され、その出力が対応の
    行のシフトリンクの排他的ORゲートの入力に結合され、
    かつ前記ANDゲートの各々は、CRC計算が禁止されかつ前
    記検査合計レジスタのCRCビットのシフトのみが行なわ
    れるべきときを示すSHIFT否定信号のソースに結合され
    る別の入力を有し、前記シフト手段によるシフトは前記
    CRC検査合計レジスタの最上位バイト方向に向かって1
    バイトだけシフトする、特許請求の範囲第24項記載のCR
    Cビット計算装置。
  26. 【請求項26】前記計算手段は、複数行のシフトリンク
    を含み、各シフトリンクは入力および出力を有し、前記
    生入力データは並列フォーマットで前記計算手段に与え
    られる複数のデータビットで構成され、前記計算手段
    は、各入力データビットに対し1つの前記行を有し、か
    つ各行における先行の行の最上位シフトリンクの出力に
    結合される最下位シフトリンクと、シフトリンクの先行
    行として前記CRC検査合計レジスタの前記データ出力に
    結合される入力を有する第1の行のシフトリンクとを除
    いて、各シフトリンクの行は、その入力が先行行の隣接
    下位シフトリンクの出力に結合され、かつシフトリンク
    の最終行は、そのデータ出力が前記CRC検査合計レジス
    タの前記データ入力に結合され、かつさらに予め定めら
    れたシフトリンクは、その入力ビットと予め定められた
    信号の間で排他的論理OR演算を行なうゲートである、特
    許請求の範囲第20項記載のCRCビット計算装置。
  27. 【請求項27】各前記シフトリンクの行に対して前記予
    め定められた信号が与えられ、各前記予め定められた信
    号は、各シフトリンクの行に対応して配置され、多入力
    データビットの対応のデータビットと前記CRC検査合計
    レジスタの出力するCRCビットの予め定められた対応の
    ビットとの間で予め定められた論理演算を行なう入力ゲ
    ートにより発生される、特許請求の範囲第26項記載のCR
    Cビット計算装置。
  28. 【請求項28】各前記入力ゲートは、第i行のシフトリ
    ンクの行に対応して配置される入力ゲートが前記検査合
    計レジスタの第i番目の上位ビットのデータ出力と、前
    記生入力データが直列態様で与えられるときに第i番目
    に到達するデータビットとの間で排他的OR論理演算を行
    なうように配置される、特許請求の範囲第27項記載のCR
    Cビット計算装置。
  29. 【請求項29】前記CRC検査合計レジスタのクロック入
    力はバイトクロック信号を受け、かつさらに、前記CRC
    検査合計レジスタに結合され、前記バイトクロック信号
    と同期して1度に1バイトの割合で前記CRCバイトを前
    記CRC検査合計レジスタの最上位位置のバイト位置にシ
    フトすることにより1度に1バイトの割合で前記CRC出
    力バスへCRCデータバイトを出力するためのシフト手段
    をさらに含む、特許請求の範囲第28項記載のCRCビット
    計算装置。
  30. 【請求項30】前記シフト手段は、前記シフトリンクの
    各行それぞれに1つが対応して配置される複数のANDゲ
    ートを備え、各前記ANDゲートは1つの入力が対応の行
    の入力ゲートの出力に結合され、かつその出力が対応の
    行のシフトリンクの行の排他的ORゲートの入力の1つに
    結合され、各前記ANDゲートは、いかなるCRC計算も行な
    われるべきでなくかつ前記CRC検査合計レジスタの前記C
    RCビットのシフトのみが行なわれるときを示すSHIFT否
    定信号のソースに結合する別の入力をさらに有し、前記
    シフト動作時においては、前記計算手段内において前記
    CRC検査合計レジスタの最上位バイト方向に1バイトだ
    けシフト動作が行なわれる、特許請求の範囲第29項記載
    のCRCビット計算装置。
  31. 【請求項31】前記計算手段は、前記CRC検査合計レジ
    スタの前記データ出力に結合される入力と、前記CRC検
    査合計レジスタの前記データ入力に最上位CRCビット方
    向に1ビット位置シフトされて結合される出力を有する
    シフトリンクの行で構成され、前記シフトリンクのいく
    つかは第1の入力が前記CRC検査合計レジスタのデータ
    出力に結合される排他的ORゲートであり、前記CRC検査
    合計レジスタの最上位のCRCビットデータ出力は、デー
    タ入力排他的ORゲートの1つの入力に結合され、前記デ
    ータ入力排他的ORゲートは前記生入力データの直列スト
    リームに結合するための別の入力を有し、かつその出力
    が前記シフトリンクの行の各前記排他的ORゲートの第2
    の入力に結合される、特許請求の範囲第18項記載のCRC
    ビット計算装置。
  32. 【請求項32】前記計算手段は、前記CRC検査合計レジ
    スタの前記データ出力に結合される入力と、前記CRC検
    査合計レジスタの前記データ入力に最上位CRCビット方
    向に1ビット位置シフトされて結合される出力とを有す
    るシフトリンクの行からなり、前記シフトリンクのいく
    つかは、第1の入力が前記CRC検査合計レジスタのデー
    タ出力に結合される排他的ORゲートであり、前記CRC検
    査合計レジスタの最上位のCRCビットデータ出力はデー
    タ入力排他的ORゲートの1つの入力に結合され、前記デ
    ータ入力排他的ORゲートは、前記生入力データの直列ス
    トリームに結合するための別の入力と、前記シフトリン
    クの行の各前記排他的ORゲートの第2の入力に結合され
    る出力とを有する、特許請求の範囲第20項記載のCRCビ
    ット計算装置。
  33. 【請求項33】ヘッダパケットおよびデータパケットか
    らなるパケットに対し、ヘッダパケットについておよび
    ヘッダパケットに対してさらにヘッダパケットで計算さ
    れたCRCビットを加えたものについてそれぞれ別々にCRC
    ビットを計算する方法であって、 検査合計レジスタと、入力データビットと前記検査合計
    レジスタからのビットとを受けるシフトリンクアレイと
    を用いて前記入力データビットとしての前記ヘッダパケ
    ットについてCRCビットを計算するステップを含み、前
    記シフトリンクのいくつかは前記検査合計レジスタから
    のビットをシフトし、かつ所定の信号に従った所定のシ
    フトのときに検査合計レジスタからの所定のビットと前
    記入力データビットとの間で所定の排他的OR演算を行な
    う排他的ORゲートで構成され、 前記ヘッダパケットのビットのすべてについての処理が
    行なわれた後計算されたCRCビットを出力するステップ
    と、 前記検査合計レジスタにストアされたビットを、データ
    パケットとこのデータパケットについて計算されたCRC
    ビットの和についてCRCビットが計算されたときにもた
    らされる標準の剰余多項式のビットパターンに強制的に
    設定するステップと、 前記検査合計レジスタに強制的に設定されたビットから
    始まって前記データパケットについてCRCビット計算を
    続行するステップと、 前記データパケットのビットすべてが処理された後計算
    されたCRCビットを出力するステップとを備える、CRCビ
    ット計算方法。
  34. 【請求項34】ヘッダパケットとデータパケットとから
    なるパケットに対し、前記ヘッダパケットについておよ
    び前記ヘッダパケットについて計算されたCRCビットと
    前記ヘッダパケットとの和についてそれぞれ別々にCRC
    ビットを計算する方法であって、 入力データビットとしての前記ヘッダパケットについ
    て、検査合計レジスタと、この検査合計レジスタからの
    ビットと前記入力データビットとを受けるシフトリンク
    アレイとを用いてCRCビットを計算するステップを備
    え、前記シフトリンクのいくつかは、前記検査合計レジ
    スタのビットをシフトさせかつ所定の信号に従った所定
    のシフトの間に前記検査合計レジスタからの所定のビッ
    トと前記入力データビットとの間で排他的OR演算を行な
    う排他的ORゲートであり、 前記ヘッダパケットのビットすべてについて処理が完了
    した後、計算されたCRCビットをスナップショットレジ
    スタへコピーして格納するステップと、 前記スナップショットレジスタにストアされたCRCビッ
    トを出力するステップと、 前記スナップショットレジスタにストアされたCRCビッ
    トを前記入力データとして前記計算手段へ入力するステ
    ップと、 前記検査合計レジスタにストアされたビットと前記スナ
    ップショットレジスタにストアされたCRCビットとを用
    いて、前記スナップショットレジスタにストアされたCR
    Cビットがすべて処理されるまで、前記計算するステッ
    プを続行するステップと、 前記スナップショットレジスタにおける前記CRCビット
    のすべてが処理された後、前記データパケットのデータ
    ビットを受けるように前記シフトリンクアレイに対する
    入力データを切換えるステップと、 前記データパケットのビットのすべてが処理されるまで
    前記計算するステップを続行するステップと、 前記データパケットのビットすべてが処理された後、計
    算されたCRCビットを出力するステップとを備える、CRC
    ビット計算方法。
  35. 【請求項35】ヘッダパケットとデータパケットを有す
    るデータのパケットに対し、前記ヘッダパケットと前記
    データパケットそれぞれ別々にCRCビットを計算する方
    法であって、 検査合計レジスタと、入力データビットと前記検査合計
    レジスタからのビットとを受けるシフトリンクのアレイ
    を用いて、前記入力データビットとしての前記ヘッダパ
    ケットについてCRCビットを計算をするステップを備
    え、前記シフトリンクのいくつかは前記検査合計レジス
    タのビットをシフトしかつ所定の信号に従った所定のシ
    フトのときに前記検査合計レジスタからの所定のビット
    と前記入力データビットとの間で排他的OR演算を行なう
    排他的ORゲートであり、 前記ヘッダパケットのビットをすべてが処理された後、
    計算されたCRCビットを出力するステップと、 新しいCRCビットについての計算を不能動化し、かつ前
    記ヘッダパケットについて計算されたCRCビットを出力
    するステップと、 前記ヘッダパケットについてのCRCビットのすべてが出
    力された後CRCビットについての計算を再び能動化し
    て、前記データパケットのビットについてCRCビットを
    計算するステップと、 前記データパケットのビットのすべてが処理された後、
    計算されたCRCビットを出力するステップとを備える、C
    RCビット計算方法。
JP61286556A 1985-12-02 1986-12-01 Crcビット計算装置およびcrcビット計算方法 Expired - Lifetime JPH0831802B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US803367 1985-12-02
US06/803,367 US4712215A (en) 1985-12-02 1985-12-02 CRC calculation machine for separate calculation of checkbits for the header packet and data packet

Publications (2)

Publication Number Publication Date
JPS62133825A JPS62133825A (ja) 1987-06-17
JPH0831802B2 true JPH0831802B2 (ja) 1996-03-27

Family

ID=25186354

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61286556A Expired - Lifetime JPH0831802B2 (ja) 1985-12-02 1986-12-01 Crcビット計算装置およびcrcビット計算方法

Country Status (6)

Country Link
US (1) US4712215A (ja)
EP (1) EP0230730B1 (ja)
JP (1) JPH0831802B2 (ja)
AT (1) ATE97276T1 (ja)
DE (1) DE3689285T2 (ja)
ES (1) ES2046172T3 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682148A (en) * 1985-11-27 1997-10-28 Seiko Corporation Paging system with message numbering prior to transmission
US4897835A (en) * 1985-11-27 1990-01-30 At&E Corporation High capacity protocol with multistation capability
US4901316A (en) * 1986-05-27 1990-02-13 Nohmi Bosai Kogyo Co., Ltd. Disaster prevention monitoring and control facility
JPH0193933A (ja) * 1987-10-06 1989-04-12 Sony Corp エラー訂正符号化装置
WO1989004517A1 (en) * 1987-11-10 1989-05-18 Echelon Systems Protocol for network having a plurality of intelligent cells
US4947484A (en) * 1987-11-10 1990-08-07 Echelon Systems Corporation Protocol for network having a plurality of intelligent cells
US4996690A (en) * 1988-08-26 1991-02-26 Stac Electronics Write operation with gating capability
JPH03505035A (ja) * 1989-02-16 1991-10-31 グラマン エアロスペース コーポレーション 超高速エラー検出ネットワーク
GB2242104B (en) * 1990-02-06 1994-04-13 Digital Equipment Int Method and apparatus for generating a frame check sequence
US5121397A (en) * 1990-02-14 1992-06-09 Hewlett-Packard Company Method and apparatus for producing order independent signatures for error detection
US5321704A (en) * 1991-01-16 1994-06-14 Xilinx, Inc. Error detection structure and method using partial polynomial check
ES2099789T3 (es) * 1992-07-14 1997-06-01 Alcatel Bell Nv Dispositivo divisor para dividir un primer polinomio por un segundo polinomio.
ES2100269T3 (es) * 1992-07-14 1997-06-16 Alcatel Bell Nv Dispositivo de deteccion y correccion de error.
GB9314479D0 (en) * 1992-11-06 1993-08-25 Hewlett Packard Co Encoding data
US5390196A (en) * 1992-11-12 1995-02-14 Bull Hn Information Systems Inc. Byte-wise determination of a checksum from a CRC-32 polynomial
SE470544B (sv) * 1992-11-24 1994-07-25 Ellemtel Utvecklings Ab För en bitfelsövervakning i en väljarutrustning avsedd anordning
JPH07504312A (ja) * 1992-12-29 1995-05-11 コーデックス・コーポレイション 効率的なcrc剰余係数発生および検査装置および方法
EP0614294A1 (en) * 1993-03-03 1994-09-07 International Business Machines Corporation Method for generating a frame check sequence
JP2814918B2 (ja) 1994-07-07 1998-10-27 株式会社デンソー マイクロコンピュータ
US5592498A (en) * 1994-09-16 1997-01-07 Cirrus Logic, Inc. CRC/EDC checker system
FR2759796B1 (fr) * 1997-02-19 2001-12-07 Bull Sa Dispositif et procede de detection d'erreurs sur un circuit integre comportant un port parallele serie
US5951707A (en) * 1997-06-27 1999-09-14 International Business Machines Corporation Method of partitioning CRC calculation for a low-cost ATM adapter
US6075774A (en) * 1997-11-18 2000-06-13 3Com Corporation Method and device for generating a frame check sequence
US6681203B1 (en) * 1999-02-26 2004-01-20 Lucent Technologies Inc. Coupled error code protection for multi-mode vocoders
US6320501B1 (en) 1999-05-25 2001-11-20 Pittway Corporation Multiple sensor system for alarm determination with device-to-device communications
US6681364B1 (en) 1999-09-24 2004-01-20 International Business Machines Corporation Cyclic redundancy check for partitioned frames
US6530061B1 (en) * 1999-12-23 2003-03-04 Intel Corporation Method and apparatus for offloading checksum
US6848072B1 (en) * 2000-09-19 2005-01-25 Bbn Solutions Llc Network processor having cyclic redundancy check implemented in hardware
US6643821B2 (en) * 2000-11-30 2003-11-04 Stmicroelectronics, Inc. Method and device for computing incremental checksums
US20040015771A1 (en) * 2002-07-16 2004-01-22 Menahem Lasser Error correction for non-volatile memory
US7607070B2 (en) * 2004-09-13 2009-10-20 National Instruments Corporation System and method for in-line consistency checking of packetized data
US20060253768A1 (en) * 2005-05-03 2006-11-09 Intel Corporation Techniques to speculatively determine network protocol unit integrity
DE102005029515A1 (de) * 2005-06-25 2006-12-28 Bosch Rexroth Aktiengesellschaft Verfahren zur Berechnung von CRC-Prüfwerten und Logikschaltung
KR101224591B1 (ko) * 2006-02-23 2013-01-22 삼성전자주식회사 네트워크 중계 장치 및 그 방법
GB0607976D0 (en) * 2006-04-22 2006-05-31 Univ Belfast Apparatus and method for computing an error detection code
US7823043B2 (en) * 2006-05-10 2010-10-26 Sandisk Il Ltd. Corruption-resistant data porting with multiple error correction schemes
US8234539B2 (en) * 2007-12-06 2012-07-31 Sandisk Il Ltd. Correction of errors in a memory array
US9891985B1 (en) * 2014-11-01 2018-02-13 Netronome Systems, Inc. 256-bit parallel parser and checksum circuit with 1-hot state information bus
TWI698750B (zh) * 2018-03-20 2020-07-11 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TWI658364B (zh) * 2018-03-20 2019-05-01 慧榮科技股份有限公司 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
CN113300716B (zh) * 2020-07-14 2025-02-21 阿里巴巴集团控股有限公司 循环冗余校验码的生成方法、设备以及计算机可读介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3703705A (en) * 1970-12-31 1972-11-21 Ibm Multi-channel shift register
US3798597A (en) * 1972-06-26 1974-03-19 Honeywell Inf Systems System and method for effecting cyclic redundancy checking
FR2225890B1 (ja) * 1973-04-13 1976-09-10 Honeywell Bull Soc Ind
DE2347317A1 (de) * 1973-09-20 1975-04-03 Licentia Gmbh Schaltungsanordnung zur erzeugung von pruefstellen in anlagen zur gesicherten datenuebertragung
US3872430A (en) * 1973-11-23 1975-03-18 Paul Emile Boudreau Method and apparatus of error detection for variable length words using a polynomial code
JPS5437460A (en) * 1977-07-28 1979-03-19 Chino Works Ltd Integral ad converter
JPS5425764A (en) * 1977-07-28 1979-02-26 Daifuku Machinery Works Device for simultaneous measurement of volume and weight
US4282551A (en) * 1979-04-11 1981-08-04 Hitachi, Ltd. PCM Recording and reproducing apparatus
SE417760B (sv) * 1979-05-15 1981-04-06 Ellemtel Utvecklings Ab Sett att vid dataoverforing mellan en sendande dator och en mottagande dator overvaka fel och anordning for genomforande av settet
US4410989A (en) * 1980-12-11 1983-10-18 Cyclotomics, Inc. Bit serial encoder
US4380029A (en) * 1981-03-13 1983-04-12 Bti Computer Systems Data recording format and method and apparatus for producing same
DE3122381A1 (de) * 1981-06-05 1982-12-23 Ibm Deutschland Gmbh, 7000 Stuttgart Verfahren und einrichtung zur erzeugung von pruefbits zur sicherung eines datenwortes
JPS58206254A (ja) * 1982-05-27 1983-12-01 Nec Corp 誤り検出符号生成/検査方式
US4498174A (en) * 1982-08-25 1985-02-05 Ael Microtel Limited Parallel cyclic redundancy checking circuit
US4454600A (en) * 1982-08-25 1984-06-12 Ael Microtel Limited Parallel cyclic redundancy checking circuit
US4593393A (en) * 1984-02-06 1986-06-03 Motorola, Inc. Quasi parallel cyclic redundancy checker
JPS60206227A (ja) * 1984-03-30 1985-10-17 Oki Electric Ind Co Ltd 誤り訂正復号回路

Also Published As

Publication number Publication date
EP0230730A2 (en) 1987-08-05
JPS62133825A (ja) 1987-06-17
US4712215A (en) 1987-12-08
DE3689285D1 (de) 1993-12-16
EP0230730B1 (en) 1993-11-10
DE3689285T2 (de) 1994-05-11
ATE97276T1 (de) 1993-11-15
ES2046172T3 (es) 1994-02-01
EP0230730A3 (en) 1990-03-14

Similar Documents

Publication Publication Date Title
EP0230730B1 (en) CRC calculation machines
US4723243A (en) CRC calculation machine with variable bit boundary
EP0226353B1 (en) Crc calculation apparatus
JP2512666B2 (ja) 誤り検査/訂正機能を有するコンピュ―タ・システム
US4720831A (en) CRC calculation machine with concurrent preset and CRC calculation function
US7613991B1 (en) Method and apparatus for concurrent calculation of cyclic redundancy checks
US7103830B1 (en) DC balanced error correction coding
US6530057B1 (en) High speed generation and checking of cyclic redundancy check values
EP0430569B1 (en) Fault tolerant interconnection networks
KR20050110646A (ko) 가변 폭의 병렬 순환 중복 검사 (crc) 연산을 위한 반복회로 및 방법
EP0280013A1 (en) Device for verifying proper operation of a checking code generator
US4979173A (en) Burst mode error detection and definition
EP1725941B1 (en) Data communication module providing fault tolerance and increased stability
US5140595A (en) Burst mode error detection and definition
US4498178A (en) Data error correction circuit
JPH03219725A (ja) 誤り検査コード生成装置および伝送誤り検出装置
EP0723342A2 (en) Error correction apparatus
JP3454962B2 (ja) 誤り訂正符号の符号器及び復号器
EP0431416A2 (en) Apparatus and method for accessing a cyclic redundancy error check code generated in parallel
US7024618B2 (en) Transmission error checking in result forwarding
RU2107953C1 (ru) Устройство для записи-воспроизведения многоканальной цифровой информации
US7138930B1 (en) Multiple byte data path encoding/decoding device and method
JP2591113B2 (ja) ハミング符号化器
US8095848B1 (en) Multi-byte cyclic redundancy check calculation circuit and method of operating the same
JP2619412B2 (ja) 符号装置および復号装置