JPH07504312A - 効率的なcrc剰余係数発生および検査装置および方法 - Google Patents

効率的なcrc剰余係数発生および検査装置および方法

Info

Publication number
JPH07504312A
JPH07504312A JP6515186A JP51518693A JPH07504312A JP H07504312 A JPH07504312 A JP H07504312A JP 6515186 A JP6515186 A JP 6515186A JP 51518693 A JP51518693 A JP 51518693A JP H07504312 A JPH07504312 A JP H07504312A
Authority
JP
Japan
Prior art keywords
coefficients
crc
remainder
circuit
exclusive
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
JP6515186A
Other languages
English (en)
Inventor
リー・シッピング
パスコ−アンダーソン・ジェームズ エイ
Original Assignee
コーデックス・コーポレイション
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 コーデックス・コーポレイション filed Critical コーデックス・コーポレイション
Publication of JPH07504312A publication Critical patent/JPH07504312A/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/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)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Alarm Systems (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

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

Description

【発明の詳細な説明】 効率的なCRC剰余係数発生および 検査装置および方法 発明の分野 この発明は一般的にはデジタル通信のエラー検出に関し、かつ、より特定的には 、デジタルデータ通信システムにおけるエラー検出のための巡回冗長検査(CR C)装置および方法に関する。
発明の背景 デジタルデータ通信システムにおいては、受信機は送信されたエラーを含むデー タ信号を受信することがある。信号の減衰、伝送ラインの損失、磁界の変化、お よびノイズのような、数多くの要因がそのようなエラーを生じさせ得る。受信さ れたデジタルデータをエラーについて調べるため種々のエラー検出方法が開発さ れている。一般に巡回冗長(cyclic redundancy:CRC)符 号として知られている、リニアシステマティック巡回符号が一般に近代のデータ 通信ネットワークの種々のネットワーク層(n、etwork 1ayers) におけるエラー検出の可能性を与えるめたに使用されている。
CR,C剰余係数発生および検査装置はハードウェアおよびソフトウェアの双方 で実現される。典型的なハードウェアの構成はシリアルシフトレジスタ機構を使 用し、この場合フィードバックシフトレジスタが多項式の長い除算を一度に1ビ ツトずつ行なう。スループットを改善するため、一度に1つの8ビツトのバイト を取り扱うオクテツトアルゴリズム(octet algorithms)が開 発されている。これらのオクテツトアルゴリズムはハードウェアおよびソフトウ ェアの双方で実現される。しかしながら、CRC計算を使用するエラー処理は高 度の計算機的な複雑さを有し、かつしたがってデジタルデータ通信システムの性 能またはコストに対し大きな影響を与え得る。例えば、1つの応用例では、DS P56156型プロセッサから得られる処理の1/3がCRC計算によって消費 される。したがって、デジタルデータ通信システムにおいてCRC計算に対する 複雑さおよび処理の要件を低減する効率的なCRC計算装置および方法に対する 必要性が存在する。
発明の概要 (n+m)ビットのフレームに対する複数のCRC剰余係数を発生するためのC RC回路における、巡回冗長検査(CR,C)剰余係数発生器、および該発生器 を使用する方法が説明され、前記CRC剰余係数発生器は(n+m)ビットのフ レームの最後のmビットを表わす複数のm個の係数に対する第1の入力データ( n、 mは正の整数、mal ;にはCRC生成多項式の次数である)、および 前記フレームの最初のnビットの複数のKの前もって計算されたCRC剰余係数 に対する第2の入力データを使用する。前記発生器は少なくとも1つのCRC回 路組合せユニットおよびCRC回路変換ユニットを含む。前記CRC回路組合せ ユニットは前記第1の入力データの予め選択された部分および前記第2の入力デ ータの予め選択された部分を受信するよう動作可能に結合され、かつ実質的に前 記第1の入力データの前記予め選択された部分と前記第2の入力データの前記予 め選択された部分とのビットワイズなモジュロ2の加算イ行ない調整された係数 を提供する。前記CRC回路変換ユニットは少なくとも前記CRC回路組合せユ ニットに動作可能に結合され、かつ複数の(1つより多くの)ルックアップテー ブルおよび実質的に少なくとも第1の排他的OR回路を具備し、少なくとも前記 複数の調整された係数を使用して前記(n+m)ビットのフレームに対する複数 のCRC剰余係数を提供する。
本発明の前記方法は上に述べたような発生器を実現する、すなわち、少なくとも 前記CRC回路組合せユニットおよび前記CRC回路変換ユニットを使用し、前 記(n+m)ビットのフレームに対する複数のCRC剰余係数を提供する。
図面の簡単な説明 図1は、本発明に係わるCRC回路における巡回冗長検査(CRC)剰余係数発 生器のブロック図である。
図2は、本発明に係わるCRC回路における巡回冗長検査(CRC)剰余係数発 生器の第1の実施例のブロック図であり、この場合にはCRCの長さである。
図3は、本発明に係わるCRC回路における巡回冗長検査(CRC)剰余係数発 生器の第2の実施例のブロック図であり、この場合m=にである。
図4は、本発明に係わる剰余変換ユニッ) (RCU)の一実施例のブロック図 であり、この場合m=bjでありかつbおよびjは正の整数である。
図5は、本発明に係わるCRC回路における巡回冗長検査(CRC)剰余係数発 生器の第4の実施例のブロック図であり、この場合m=に=32. j =4. そしてb=8である。
図6は、本発明に係わるCRC回路における巡回冗長検査(CRC)剰余係数発 生器の第5の実施例のブロック図であり、この場合に=32.m=16.j=2 .そしてb−8である。
図7は、本発明に係わるCRC回路における巡回冗長検査(CRC)剰余係数発 生器の第7の実施例のブロック図であり、この場合m=に=16.j=2.そし てb=8である。
図8は、本発明に係わるCRC回路における巡回冗長検査(CRC)剰余係数発 生器を使用したポイント−ポイント通信ネットワークシステムのブロックである 。
図9は、本発明に係わるCRC回路における巡回冗長検査(CRC)剰余係数発 生器を使用したマルチポイント通信ネットワークシステムのブロック図である。
図10は、本発明に係わるCRC回路における巡回冗長検査(CRC)剰余係数 発生器を使用した混合型通信ネットワークシステムのブロック図である。
図11は、本発明の方法の第1の実施例に係わる各ステップを説明するフローチ ャートである。
図12は、本発明の方法の第2の実施例に係わる各ステップを説明するフローチ ャートである。
図13は、本発明に係わるCRC回路における巡回冗長検査(CRC)剰余係数 発生器の一実施例のブロック図であり、この場合m > Kである。
好ましい実施例の詳細な説明 以下に本発明が、その一般的なデジタル伝送システムへの応用の説明と共に、説 明される。したがって、特別の場合が説明されている。フレームはデジタルデー タシステムにおいて送信されあるいは受信されるデータのブロックである。
巡回符号エラー検出方法は一般に多項式d (x)としてのデータメツセージを 所定の生成多項式g (x)で除算して商(quotient)多項式q (x )および剰余(rema j nde r)多項式r (x)を提供し、したが って、d (x) −q (x) *g (x) +r (x)となる。この剰 余r (x)は巡回冗長検査(CRC)(符号)でありかつ、例えば、長さが1 6ビツト(8ビツトのバイトが2個)とすることができる。前記CRCは送信さ れるべきデータのブロックに付加され、かつ受信装置は同じ予め規定された生成 多項式を使用して前記受信メツセージブロックに基づきそれ自身の内部的に生成 したCRCを発生し、それが発生したCRCを前記送信されたCRCと比較する 。もし送信の間にエラーが発生すれば、前記内部的に発生したCRCは送信され たCRCと整合しない。
本発明のCRC剰余係数発生器は、典型的には予め選択した前もって計算された CRC剰余係数を有する複数のルックアップテーブルを含むシステムを使用する ことにより、送信されるべきフレームに対するフレーム検査シーケンスの効率的 な発生のためのおよびデジタル通信システムにおける受信デジタル信号フレーム に対する効率的な巡回冗長検査(CRC)エラー検出のためのCRC剰余係数を 提供する。これはCRCエラー検査の間の実際の計算時間を最小にし、それによ って、本発明が効率的な符号化(encoding)と組合わされた場合に、C RC計算のために使用される時間量がソフトウェアの構成に対してほぼ半分はど 低減される。ハードウェアによる構成によってもかなりの節約が達成できる。
本発明は任意のフレーム長を有する任意のにビットのCRCに適用できるが、特 に8nビツト(nは正の整数)のフレーム長を有する16ビツトおよび32ビツ トのCRCに対して効率的である。
本発明はCCITT(International Telegraph an d Te1ephone Con5ultative Comm1ttee)X 、25勧告で特定された16ビツトのCRCをサポートするよう構成できる。さ らに、本発明はANS I/I EEE (Ame riean Nation al 5tandards In5tttute/In5titute of  Electrical & Electronjcs Engineers、I nc、)802.X標準において特定された32ビツトのCRCをサポートする 。
第1に、前記32ビツトのCRCに関しては、前記AN31/IEEE標準80 2.Xはフレーム検査シーケンス(F CS)は剰余の1の補数であることを決 めている。
r (x) この場合、 g (X) = X32+X26+x23+x22+x16+x12+X11+x10+X8+x 7+X5+x4+X2+x+1は生成多項式であり、 1 (x)=x31+x30+・・・+x+1は初期剰余多項式を表わし、1は フレームのビットの数であり(前記FC8を含まない)、モして5((X)は前 記フレームの内容によって形成された多項式である。
前記ANSI/IEEE802.5標準はフレームの各々のオクテツト(oct et)が最上位ビットが最初に送信され、かつ前記FC3は最も高い次数の項の 係数で始まって送信されることを規定している。最も高い次数の項の係数は前記 フレームの最初のオクテツトの最上位ビ・ソトである。
本発明の基本的原理は次のように理解できる。
g (x)が度数にの任意のCRC生成多項式であり、5(X)はフレームの最 初のnビットで形成される(n−1)次の多項式であるとし、そしてI (x) は初期剰余によって形成される(K−1)次の多項式であるものとする。この発 明の説明にわたり、m、nおよびKは正の整数であるものと規定される。フレー ムの最初のnビットを処理する際に、該nビットに対する剰余多項式は次のよう になる。
r (x) =Remg(x) (x I (x) +xKs (x) )この 場合rk−1,K−2’ ”” ’1”Oは剰余係数である。O<m≦にとした とき、フレームの最初の(n+m)ビットに対する剰余r’ (x)を検出する ため、前記最初の(n+m)ビットによって形成される多項式S′(X)は次の ように書くことができる。
s’ (x)=s (x)x +d (x)この場合、 d (x) = はその係数が前記フレームのm個の付加的なビットからのものである多項式であ る。したがって、前記新しい剰余r′ (X)は次式で与えられる。
r’ (x) =Remg(x) (x I (x) +xKs’ (x) )n+m +xK[s (x) x +d (x) ] )=Remg(x)(x、[x  I (x)+xKs (x)コ+xKd (x) ) この場合、 r (x)=Remg(x)(x I (x) +xKs (x))であるから 、これは X T (x) +xKs (x) =q (x) g (x) +r (x) を意味し、q (x)は前記向の多項式であり、上の式は次のように書き替えで きる。
r’ (x) =Remg(x) (x [q (x) g (x) +r (x) ]+xK d (x) ) =Remg(x) (x q (x) g (x) +x r (x)+xKd  (x) ) =Re m g (x ) (x q (X) g (” ) )+Remg( x) (x r (x) +xKd (X) )=Remg(x) (x r  (x) +xKd (x) )したがって、0<m≦Kに対する上の関係を利用 することにより、本発明は前記最初のnビットに対する前の剰余係数から前記最 初の(n+m)ビットに対する新しい剰余係数を次のようにして得ることを可能 にする。
1)mの新しいビットを前記前の剰余多項式のmの最も高い次数の項のm個の係 数にビットワイズでモジュロ2加算を行ない(すなわち、rK−1+dm−1:  K−2+dm−2・”” rK−m+dO” 2)中間剰余の係数を決定し、 3)前の剰余r 1(rn I X K’ 1+□” + r I X + r 中間剰余の(K−m)の最も高い次数の項の係数に加算することにより新しい剰 余係数を得る。
m>Kに対しては、r’ (x)は、 r’ (x) =Remg(x) (x r (x) +xKd (x) )となる。したがっ て、m>Kの場合には、前記始めの(n+m)ビットに対する新しい剰余は前記 mの付加的なビットおよび前記始めのnビットの前の(previous)剰余 から次のようにして得ることができる。
1、 Kビットの前の剰余をd (x)の前記にの最も高い次数の項のKの係数 にビットワイズに加算(モジュロ2)し、すなわち、r’ +d K−1m−2’ K−2+dm − 2、・・・、r o + d m −にとし、そして、2、前記新しい剰余r’  (x)はしたがって次のようになる。
図1の、参照数字100は、本発明に係わるCRC回路における巡回冗長検査( CRC)剰余係数発生器のブロック図である。本発明は2つの要素、すなわち、 CRC回路組合せユニット(CRCcircuit combining un it)(102)およびCRC回路変換ユニット(CRCcircuit co nversionunit)(104)、を具備する。CRC回路組合せユニッ ト(102)は第1の入力のデータ、すなわち(n+m)ビットのフレームの最 後のmの係数の子め選択された部分、を前記(n+m)ビットのフレームの始め のnビットの予め計算されたCRC剰余係数の子め選択された部分を表わす第2 の入力データの予め選択された部分と組合せて複数の調整された係数を提供する 。前記CRC回路組合せユニット(102)は典型的には前記入力に対しビット ワイズのモジュロ2 (modu I o−two)の加算を行なう排他的OR 回路(図2の208を参照)である。前記CRC回路変換ユニット(104)は 少なくとも前記CRC回路組合せユニット(102)に動作可能に結合され、か つ、A)第1のルックアップテーブル、およびB)複数の(1より多くの)ルッ クアップテーブルと実質的に少なくとも第1の排他的OR回路、の内の少なくと も1つを具備し、少なくとも前記複数の調整された係数を利用して前記(n十m )ビットのフレームに対する複数のCRC剰余係数を提供する。排他的OR経路 はビットワイズのモジュロ2加算を行なう。本発明の選択された実施例を以下に 説明する。
例えば、図2の参照数字200は、本発明に係わるCRC回路における巡回冗長 検査(CRC)剰余係数発生器の第1の実施例のブロック図であり、この場合に はCRCの長さである。ここで、D =[d m t 、6m2. ”、。
dl、do] (202)は(n+m)ビットのフレームのm個の係数を表わし くすなわち、前記最初のnビットの後m] (204)は前記(n+m)ビット のフレームのnビットの前もって計算されたCRC剰余係数の子め選択された部 分を表わしくここで、mは前記第2の入力データのmの最も高い次数の剰余係数 であり、mはゼロより大きくかつKより小さいかまたは等しい)、モしてRL( K−m)=[rK−m−1’ K−m−2”・・、ro] (206)は前記( n+m)ビットのフレームのnビットの前もって計算されたCRC剰余係数の第 2の予め選択された部分を表わす(この場合、前記第2の入力データの(K−m )の最も低い次数の剰余係数)。この実施例では、CRC回路組合せユニット( 102)は排他的OR回路(208)を含み、該排他的OR回路(208)はD  (202)およびRMm(204)のビットワイズなモジュロ2加算を行ない (前の剰余多項式のmの最も高い次数の係数、この場合1<m≦K)(出力の) 調整された係数を提供する。この実施例におけるCRC変換ユニット(104) は剰余変換ユニット1(210)を含み、該剰余変換ユニット1(210)は典 型的には以下のA−Bのうちの1つを含む。
A)前記CRC回路組合せユニット(102)に動作可能に結合され、以下のA 1−A2のうちの1つを出力するために調整された係数を利用する大きさが2m XKの1つのメモリルックアップテーブル。
Al)前記(n+m)ビットのフレームに対するCRC中間剰余の全ての係数( 図3(310))、この場合各々の係数は予め計算されかつ前記メモリルックア ップテーブルに格納されているもの、および A2)前記CRC中間剰余のに−mの最も高い次数の係数(212)および前記 (n+m)ビットのフレームに対するCRC剰余のmの最も低い次数の係数であ る前記CRC中間剰余のmの最も低い次数の係数(214)を具備するCRC中 間剰余(212,214)のKの係数(212,214)。
B)前記CRC回路組合せユニット(102)に動作可能に結合され、前記(n 十m)ビットのフレームに対するCRC中間剰余の全ての係数(212,214 )を出力するために前記調整された係数を利用する大きさが25×K(この場合 、J b =m)のjのメモリルックアップテーブル(1<j<m;jは正の整 数)であって、前記各々の係数は予め計算されかつ前記jのメモリルックアップ テーブルの1つに格納されているもの。
前記剰余変換ユニット(Rema 1nde r Converston Un it)1 (210)は中間剰余係数を提供するために調整された係数を利用す る(TM(K−m)、前記中間剰余(212)の(K−m)の最も高い次数の係 数;R′ 、前記中間剰余(214)のmの最も低いm 次数の係数)。前記調整された係数は前記剰余項XK+m−1m−1]・[rK −2m−2]・”’ [rK+d −1−d −□+do]である。前記CRC変換ユニット(104)はさらに排他的OR回 路(216)を含み、該排他的OR回路(216)はTM (1(m)(212 )(前記中間剰余の最も高い次数の係数)およびRL (K m) (214) (前の剰余(nビットに対する)rk rn tXK ’+ブトワイズなモジュ ロ2の加算を行ない、典型的にはメモリレジスタに、R’ m(K m)(21 8)(前記(n+m)ビットのフレームに対するCRC剰余の最も高い次数の係 数)を提供する。前記剰余変換ユニット1(210)はまたR’ (220)( 前記(n+m)ビットノフレm −ムに対するCRC剰余の最も低い次数の係数)を典型的にはメモリレジスタに 提供する。これらの2つの出力、R’ M(K m) (218)およびR’  Lm (220) 、は前記(n+m)ビットのフレームに対するCRC剰余の 全ての係数を表わす。選択された場合には、前記(n十m)のフレームに対する CRC剰余係数は1組のビットとしてメモリレジスタに格納できる。
図3の、参照数字300は、本発明に係わるCRC回路における巡回冗長検査( CRC)剰余係数発生器の第2の実施例のブロック図であり、この場合m=にで ある。ここでは、(n+m)ビットのフレームに対する剰余、但しm=に、は一 度ににビット計算され、CRC剰余発生時間を大幅に節約する。この実施例では 、Dm=DK=[dK−l’ K−2,”’ dl、d□] (302)は(n 、+m)ビットのフレームのm = Kの係数(すなわち、前記始めのnビット の後のmビット)を表わし、RK=[rI(−1゜r K 2. ・・□2r  O] (304)は前記(n十m)ビットのフレームのnビットの前もって計算 されたCRC剰余係数の全てまたは、等しくは、前記第2の入力データの剰余係 数の全て、を表わす。この構成では、CRC回路組合せユニット(102)は排 他的OR回路(306)を含み、該排他的OR回路(306)はD (302) およびRK(304)のビットワイズなモジュロ2加算を行なって調整された係 数を前記CRC変換ユニット(104)に提供する。この構成におけるCRC変 換ユニット(104)は剰余変換ユニット2(308)を含み、該剰余変換ユニ ッ)2 (308)は典型的には以下のうちの1つを含む。すなわち、 前記CRC回路組合せユニット(102)に動作可能に結合され、前記(n + m)ビットのフレームに対するCRC中間剰余の全ての係数(R’ 310)を 出力するたに’ めに前記調整された係数を利用するための2KxKの大きさの1つのメモリルッ クアップテーブルであって、前記各々の係数は予め計算されかつ前記メモリルッ クアップテーブルに格納されているもの、そして 前記CRC回路組合せユニット(102)に動作可能に結合され、前記(n十m )ビットのフレームに対するCRC中間剰余の全ての係数(R’ 310)を出 力するたK・ めに前記調整された係数を利用する大きさが25XK(ここで、jb=K)のj のメモリルックアップテーブル(j<K;jは正の整数)であって、前記各々の 係数は予め計算されかつ前記jのメモリルックアップテーブルの1つに格納され ているもの。
前記第2の構成の特別の場合においては、CRC中間剰余の係数は単に(n+K )ビットのフレームに対する前記CRC剰余の係数である。したがって、剰余変 換ユニット2(308)は前記(n+I()ビットのフレームに対するCRC剰 余に対する全ての係数を表わす中間剰余係数R′K”[rK、−1+dK−1]  = [rK−2K、−2コ ′+d ・・・、[r o + d o ]を提供する。この構成は前記第1の構成にお いて使用されたような、第2の排他的OR回路を必要とせず、したがって回路の 複雑さまたは計算時間を節約できることに注意を要する。
したがって、前記剰余変換ユニット(RCtJ)は数多くの方法で実施できるこ とが明らかである。前記剰余変換ユニットが予め計算された中間剰余係数を記憶 するために2mXKの大きさの1つのメモリルックアップテーブルのみを使用す る場合は、最も高速度の構成が達成される。しかしながら、mが大きい(例えば 、m=K)場合は、そのようなルックアップテーブルは大きなメモリ空間の消費 を要求する。他の極端な例では、RCUはlxKの大きさのmの予め計算された テーブルを使用することにより実施でき、これは(rn−1)の付加的なにビッ トの排他的OR演算を必要とし、RCUの変換速度をかなり低下させる。一般に 、図4に示されているように、jb=mとし、大きさが2b×にのj個のメモリ ルックアップテーブルを使用する構成においてメモリ空間の消費といくらかの速 度とのトレードオフが可能である。
図4の、参照数字400は、本発明に係わる剰余変換ユニット(RCU)の一実 施例のブロック図であり、この場合m=bjであり、かつbは正の整数であり、 典型的には8であり、かつjは正の整数である。この構成では、RCUは前記C RC回路組合せユニット(102)に動作可能に結合された2bxKの大きさの jのメモリルックアップテーブル(テーブルに1ルツクアツプ(410) 、テ ーブルに2ルツクアツプ(412) 、・・・、テーブルKjルックアップ(4 14)’)、および前記メモリルックアップテーブルに動作可能に結合された排 他的OR回路(422)を含む。CRC回路組合せユニット(102)からの調 整された係数は前記jのメモリルックアップテーブル(テーブルに1ルツクアツ プ(410) 、テーブルに2ルツクアツプ(412) 、・・・、テーブルに 、ルックアップ(414))によって使用されて、典型的にはメモリレジスタへ 、予め計算された中間剰余係数の、各々にビットを有する、j個の組TK1(4 16)、TK”’ (418)、・・・ T Kj(420)を出力し、これら はいっしょに(j−1)回ピッ−・ワイズにモジュロ2加算され(排他的OR演 算され)前記(n+m)ビットのフレームに対するCRC中間剰余の全ての係数 であり、前記各々の係数は予め計算されかつ前記jのメモリルックアップテーブ ルの1つに格納される。
したがって、図4のRCU構成において、中間CRC剰余は次のように書き替え ることができる(すなわち、前記係数のテーブルを発生するための公式)。
+Remg(X) K−b−1m−b−1]< [r +d ([r +Remg(X) K−(j−1)b−1+したがって、一般に、上の式のjの 項の各々はbの最も高い次数の項を除く全てがゼロである次数(d e g r  e e)[K+m −(j−1) b−11の多項式の剰余を計算する。
したがって、m=jbである場合、前記mビットは各々bビットのj個のセグメ ントA1b(408)、A2b(406)、・・・、(404)、Aj、(40 2)へと区分され、かつ各々のセグメントは係数のメモリルックアップテーブル のためのアドレスとして使用される。各々の係数のテーブルは予め計算されかつ 前記jの中間剰余項の各々に対して予め格納され、各々のテーブルは2bのエン トリを含み、かつ各々のエントリはbの最も高い次数の係数項の特定の組合せを 有する(全ての他の項は定義によりゼロでなければならない)次数[K+m − (j−1) b−1]のそのような多項式の中間剰余のKの係数からなる。
ワード長がKより短い用途については、前記テーブルの各々のエントリは1つよ り多くのメモリロケーションを占有する。例えば、32ビツトのCRC決定に対 しては、もし装置のワード長が16であれば、各々のテーブルエントリは2つの メモリロケーションを必要とし、かつ各々のルックアップテーブルに対し2b+ 1のメモリワードを必要とする。装置のアーキテクチャ−およびアドレシングモ ードに応じて、各々のルックアップテーブルは2bのエントリとして編成するこ とができ、各々のエントリは2つの連続する16ビツトのワードを占有すること になる。あるいは、各々のルックアップテーブルは2つの半部(halves) として編成することができ、上半部(upperha l f)のテーブルはそ れぞれのエントリの2bの上部ワードを含み、かつ下半部(lowe r ha  l f)のテーブルはそれぞれのテーブルエントリの2bの下部ワードを含む 。
この構成においては、CRC回路組合せユニット(102)はjのメモリレジス タ(416,418,・・・、420)の出力を受けるよう動作可能に結合され 、全てのjのルックアップテーブルの係数TK1(416)、TK2(41加算 を行ない前記中間剰余の係数の全て(TK、424)を提供する排他的OR回路 (422)を含む。
図5の、参照数字500は、本発明に係わるCRC回路における巡回冗長検査( CR,C)剰余係数発生器の第4の実施例のブロック図であり、この場合m=に =32.j=4、そしてb=8である。この構成は32ビツトの装置によく適し ている。ここで、D32=[d31.d30’ ””dl、do] (502) が(n+32)ビットのフレームの32の係数(すなわち、始めのnビットの後 の32ビツト)を表し、R32” [r31. K−2,”’、 rO’(50 4)はnビットのフレームの32ビツトの前もって計算されたCRC剰余係数の 子め選択された部分を表わす(この場合は、前記第2の入力データの32の最も 高い次数の剰余係数(すなわち、全て))。この構成では、CRC回路組合fj −ニット(102) liD a 2 (502>およびR32(504)のビ ットワイズなモジュロ2加算を行ない(出力の)調整された係数を提供する排他 的OR回路(506)を含み、前記調整された係数は、この構成では、各々8ビ ツトの4つのセグメントAI、B (514)、A2、 8(512)、A ( 510)、A (503、84,8 8)へと区分され、かつ各々のセグメントはCRC回路変換ユニット(104) の係数のメモリルックアップテーブルのためのアドレスとして使用され、それぞ れ、テーブル321ルツクアツプ(516) 、テーブル322ルツクアツプ( 518) 、テーブル323ルツクアツプ(520)。
およびテーブル324ルツクアツプ(522)である。各々の係数のテーブルは 予め計算されかつ4つの中間剰余項の各々に対し予め記憶され、各々のテーブル は28のエントリを含み、かつ各々のエントリは8つの最も高い次数の係数項の ある特定の組合せ(全ての他の項は定義によりゼロでなければならない)を有す る次数[K+m −(j−1)b−1]のそのような多項式の中間剰余の32の 調整された係数からなる。前記RCU(104)の各々のルックアップテーブル (テーブル321ルツクアツプ(516) 。
テーブル322ルツクアツプ(518)、テーブル323ルツクアツプ(520 )、およびテーブル324ルックア4、(530))(102)に結合されて該 メモ;T32 リレジスタに前記エントリを格納する。
前記CRC変換ユニット(104)はさらに、T3213(528); 2(526);T32 (524);T32 4(530)のビットワイズなモジュロ2加算を行ない、R’ (534)、す なわち前記(n+m)ピットのフレームに対するCRC剰余の全ての係数を提供 する排他的OR回路(532)を含む。選択された場合には、前記(n+m)の フレームに対するCRC剰余係数はメモリレジスタに1組のビットとして記憶さ せることができる。
図6の、参照数字600は、本発明に係わるCRC回路における巡回冗長検査( CRC)剰余係数発生器の第5の実施例のブロック図を示し、この場合に=32 .m=16゜j=2.およびb=8である。この構成は16ビ・ノドの処理装置 によく適合する。この場合、Dm=D16=[dl5、 dl4.−、 dl、  do] (602)は(n+16)ビットのフレームの16の係数(すなわち 、最初のnビ・ントの後の16ビツト)を表わし、RM16” [T31”30 ’・・・、r16] (604)は(n+16)ビットのフレームのnビットの 前もって計算されたCRC剰余係数の子め選択された部分(ここでは、前記第2 の入力データの16の最も高い次数の剰余係数)を表わし、そしてRLls−[ rKl 5.r 14.−1r □] (606)は(n+16)ビットのフレ ームのnビットの前もって計算されたCRC剰余係数のうちの第2の予め選択さ れた部分(ここでは、前記第2の入力データの(16)の最も低い次数の剰余係 数)を表わす。
この構成では、CRC回路組合せユニット(102)は排他的OR回路(608 )を含み、該排他的OR回路(608)はD (602)およびR(604)の ビ16 Ml6 ツトワイズなモジュロ2の加算を行ない(出力の)調整された係数を提供し、こ れらの係数は、この構成では、各々8ビツトの2つのセグメント、A (612 )および1.8 A2.8 (610)に区分され、かつ各々のセグメントは前記CRC回路変換 ユニット(104)の係数のメモリルックアップテーブルのためのアドレスとし て使用され、それぞれテーブル321ルツクアツプ(614)およびテーブル3 22ルツクアツプ(616)である。係数の各々のテーブル(それらのうち2つ がある)が予め計算されかつ2つの中間剰余項の各々に対し予め記憶され、各々 のテーブルは28のエントリを含み、各々のエントリは前記中間剰余の32の調 整された係数からなる。各々のテーブル(テーブル321ルツクアツプ(614 )およびテーブル322ルツクアツプ(616))は別個の中間剰余に対し32 ビツトの中間剰余係数を提供し、この場合各々のテーブルからの係数は2つのセ グメントに区分され、すなわちび16の最も低い次数の剰余係数(T1、□6( 618); T2 (622))を有する他方のセグメントである。
したがって、RCU (104)の各々のルックアップテーブル(テーブル32 1ルツクアツプ(614)およびテーブル322ルツクアツプ(616))はメ モリレジスタに動作可能に結合され、該メモリレジスタは該メモリレジスタに前 記エントリを記憶するために2つの16ビツトの工ントリ (T (61,8) およびT (620)L12 Ml6 、そしてT t、 16(622)およびT2Ml 6 (624) )を提供するよう区分けされる。
図6において、前記CRC変換ユニット(104)は第1 (626)および第 2(628)の中間排他的OR回路を含む第2の排他的OR回路を含み、前記第 1(626)のちのはT1 2 L、16(618)およびT (622)のためのメモリレジスタに動作可能に 結合され、かつ前記MJ6(620)およびT2 第2のもの(628)はTI Ml、 5 (624)のためのメモリレジスタに動作可能にそれぞれ係合され 、これらの排他的OR回路はそれぞれ(TI2 L16(618)およびT (622))の、かつ(T12 Ml6(620)、T (624))のビツトワイズなモジュロ2加算をそれぞ れ行ないメモリレジスタユニット((R’ (634) ;R’ (6L16  Ml6 30))に対し2つの16ビツトの係数(最も高次のもの(630)および最も 低次のもの(634))を提供する。
第3の中間排他的OR回路(632)は、前記第2の排他的OR回路の16の最 も高い次数の係数(630)を有するメモリレジスタにかつR(606)のため のメモリレジスタに動作可能に結合され、R’ (630)およびR(606) に対しビットワイズなモジュロ2の加算を行ないR’ (634)(より低次の 係数)と共に前記(n+m)ビットのフレームに対するCRC剰余係数を表わす 係数R′ (636)(より高次の係M1.6 数)を提供する。選択された場合には、前記(n +m)のフレームに対するC RC剰余係数はメモリレジスタに格納することができる。
前記ANSI/IEEE 802.3/Ethernetの規定によれば、フレ ーム検査シーケンスはIEEE/ANS1 802.5のものと同じCRC生成 多項式に基づいているが、送信順序およびビット配列が異なっている。
しかしながら、同様の導出を用いることにより、ANSI/IEEE 802. 3/EthernetのCRCに対しても、もしmが8.16.24または32 に限定されれば図1〜図6は同じで良いことは明らかであり、この場合D =  [d7. d6.−、 do]D16” [dl”6’ ”” dO”15”1 4= ”’=ds] D24”” [d7= d6= ”” dO”15= d14= ”’・d8・ d23・d22パ°°・d16]D −[d d ・・・、do、dl5.dl 4.・・・。
32− 7・ 61 d d 、d 、・・・、d 、d 8’ 23 22 16 31゜ d30パ゛・d24] R=[r r ・・’、r□、 r15’ r 14’ ++・。
327’6″ 8′ 23° r22”“° r16・ 31・r30・“°・ r24] ” 24] この場合1≦j≦4であり、かつ前記d=、r、、r’+ r X + r ( ) X の係数であり、そしてao、al、・・・、a7は1および0の任意の組合せで ある。
図7の、参照数字700は、本発明に係わるCRC回路における巡回冗長検査( CRC)剰余係数発生器の第7の実施例のブロック図を示し、この場合m=に= 16. j =2、およびb=8である。この構成は図5のものと同じである。
ビットの順序はANSI/IEEE 802.3/Ethernetのものと同 様である。この場合、D =D16=[dl・d6・°゛・dl・dO・dl5 ・dl4・”’、dsコ (702)、 R16= [r7. ro、 ・・・ 、 ro。
r15. r14.・・・、r ] (704)+ およびR′16=〔r′r ′ ・・・、r’ r’ 1″′7・ 6’ 0’ 15° 14” ・、T’ ] (722)である。すなわち、D 、R6、およびR′ の2つ のオクテツト(o c t e t s)が交換されている。実際に、16ビツ トのワードのユニットとして編成されたメモリに対しては、X、25のフレーム はD16によって与えられるのと全く同じ順序で格納される。ビットの順序付け の反転は次の式を使用して2つのルックアップテーブル、テーブル161(71 2)およびテーブル162(71,4)を発生することにより解決される。
+t1.oX15 +d ) x + (r s + d 6) x +・・・tl(x)はテーブ ル16.(712)の係数を発生するために使用されており、t2(x)はテー ブル162(714)の係数を発生するために使用されており、そして該係数は 次の順序で格納される。
・・・、t コ および 14° 1,8 したがって、実時間の剰余計算において、付加的な時間が必要とされない。
奇数の整数のオクテツトを含むフレームに対しては、該フレームの最後のオクテ ツトはもしフレームの残りが一度に16ビツト処理される場合はCRC剰余発生 に対して異なる処理を行なわなければならない。CRC剰余を一度に8ビツトず つ計算することは知られた技術であり、かつ本発明と共にフレームが奇数のバイ トを有するフレームの最後のバイトを処理するために実施できる。しかしながら 、説明を完全にするため、以下に示しておく。m=8およびd (x) =d  +d x+−+rox とすると次のようになる。
この構成においては、CRC回路組合せユニット(102)は排他的OR回路( 706)を含み、該排他的OR回路(706)はD (702)およびR(70 4)のビットワイズなモジュロ2加算を行ない(出力の)調整された係数を提供 し、該係数は、この構成では、各々8ビツトの2つのセグメント、A (71, 0)およびA2゜1.8 8(708)、に区分され、かつ各々のセグメントは前記CRC回路変換ユニッ ト(104)の係数のメモリルックアップテーブルのためのアドレスとして使用 され、すなわち、それぞれ、テーブル161ルツクアツプ(712)およびテー ブル162ルツクアツプ(714)である。各々の係数のテーブル(そのうち2 つがある)は予め計算されかつ前記2つの中間剰余項の各々に対し予め記憶され 、各テーブルは28のエントリを含み、各エントリは前記中間剰余の16の調整 された係数からなる。各々のテーブル(テーブル161ルツクアツプ(712) およびテーブル162ルツクアツプ(714))は別個の中間剰余に対し16ビ ツトの中間剰余係数(T (716)およびTiC 16(718))を提供する。CRC回路変換ユニット(104)の各々のルッ クアップテーブル(テーブル161ルツクアツプ(712)およびテーブル16 2ルツクアツプ(718) )はメモリレジスタに動作可能に結合され、6、( 716)およびT 、(718))を提供するよう区分され該メモリレジスタに 前記エントリを記憶する。
図7において、CRC回路変換ユニット(104)はさらに排他的OR回路(7 20)を含み、該排他的OR回路(720)はT (716)およびT (71 8)のビットワイズなモジュロ2加算を行ない16ビツトの組の係数R’ (7 22)を提供し、これらの係数はいつしょになって(n+16)ビットのフレー ムに対するCRC剰余係数を表わす。選択された場合には、前記(n+16)の フレームに対するCRC剰余係数はメモリレジスタに格納することができる。
したがって、図7は、合理的な量のメモリ (2つの256×16のルックアッ プテーブルに対し)を使用しながら、16ビツトの装置において16ビツトのC RCに基づきフレームのFe2の非常に高速度の発生が可能なことを示している 。同様に、図6は、合理的な量のメモリ(2つの256X32のルックアップテ ーブルに対して)によって16ビツトの装置において32ビツトのCRCに対す るフレームの非常に高速度のFe2の発生の可能性を示している。
もちろん、32ビツトのCRC剰余を発生するだめの最も高速度の方法は図5に 示した構成によって1024X32ビツトのメモリを有する32ビットの装置を 使用することである。
図8の、参照数字800は、本発明に係わるCRC回路における巡回冗長検査( CRC)剰余係数発生器を使用したポイント−ポイント通信ネットワークシステ ムのブロック図である。該ポイント−ポイント通信ネットワークシステムは選択 されたモデム(804,・・・)に動作可能に結合されたコンピュータ(802 )を含み、この場合少なくとも1つのモデムはさらに、ターミナル(812)に 結合された、他のモデムに結合され、かつ少なくとも1つのモデムは(電話機の ような)音響袋fl(808)に結合された交換ネットワーク(806)に接続 されている。前記音響装置はさらに他のターミナルに接続された音響カプラ(8 10)に結合されている。このシステムにおける、コンピュータ(802)、モ デム(804,・・・)、交換ネットワーク(806)、およびターミナル(8 12,・・・)のいずれかが本発明の巡回冗長検査剰余係数発生器(100)を 含むよう選択できる。本発明を含まない、ポイント−ポイント通信ネットワーク システムは技術的に知られているから、ここではこれ以上説明しない。
図9の、参照数字900は、本発明に係わるCRC回路における巡回冗長検査( CRC)剰余係数発生器を使用したマルチポイント通信ネットワークシステムの ブロック図である。該マルチポイント通信ネットワークシステムは選択されたモ デム(904,・・・)に動作可能に結合されたコンピュータ(902)を含み 、この場合少な(とも1つのモデムはさらに複数の他のモデムに接続され、各々 の他のモデムはさらにターミナル(906)に結合されている。
このシステムにおけるコンピュータ(902)、モデム(904,・・・)、お よびターミナル(912,・・・)のうちの任意のものが本発明の巡回冗長検査 剰余係数発生器(100)を含むよう選択できる。本発明を含まない、マルチポ イント通信ネットワークシステムは技術的に知られているから、ここではこれ以 上説明しない。
図10の、参照数字1000は、本発明に係わるCRC回路における巡回冗長検 査(CRC)剰余係数発生器を使用した混合型(mixed)通信ネットワーク システムのブロック図である。該混合型(すなわち、ポイント−ポイントおよび マルチポイントを含む)通信ネットワークシステムは選択されたモデム(100 4,・・・)に動作可能に結合されたコンピュータ(1002)を含み、この場 合少なくとも1つのモデムはさらにターミナル(1006)に結合された他のモ デムに結合され、少なくとも1つのモデムはさらに複数の他のモデムに接続され 、各々の他のモデムはさらにターミナル(1006)に結合され、かつ少なくと も1つのモデムは交換ネットワーク(1008)に結合され、該交換ネットワー ク(1008)は(電話機のような)音響装置(1010)に結合されている。
該音響装置はさらに他のターミナルに結合された音響カプラ(1o12)に接続 されている。このシステムにおけるコンピュータ(1002)、モデム(100 4,・・・)、交換ネットワーク(1008Lおよびターミナル(1006,・ ・・)のうちの任意のものが本発明の巡回冗長検査剰余係数発生器(100)を 含むよう選択できる。本発明を含まない、混合型通信ネットワークシステムは技 術的に知られているから、ここではこれ以上説明しない。
図11の、参照数字1100は、本発明の方法の第1の実施例に係わるステップ を示すフローチャートであり、CRC回路における巡回冗長検査(CRC)剰余 係数を発生する該方法は(n+m)ビットのフレームのmビットを表わす複数の m個の係数に対する第1の入力データ(ここで、n、mは正の整数、m>1;に はCRC生成多項式の次数を表す正の整数である)、および前記フレームのnビ ットの複数のKの前もって計算されたCRC剰余係数に対する第2の入力データ を使用する。該方法は、(1)CRC回路組合せユニットにおいて、実質的に前 記第1の入力データの予め選択された部分および前記第2の入力データの予め選 択された部分のビットワイズなモジュロ2加算を行ない複数の調整された係数を 提供する段階(1102)、および(2)CRC回路変換ユニットにおいて、少 なくとも前記複数の調整された係数を使用して前記(n+m)ビットのフレーム に対する複数のCRC剰余係数を提供する段階(1104)を含む。
図11に示された方法においては、CRC回路組合せユニットは前に述べたよう に少なくとも1一つの排他的OR回路を含むよう選択できる。前記第1の入力デ ータの予め選択された部分は、(1)m=にの場合は、前記第1の入力データの 全ての剰余係数、および(2)m>Kの場合は、前記第1の入力データのKの最 も高い次数の剰余係数、のうちの1つを具備する。また、前記第2の入力データ の予め選択された部分は典型的には、(1)m≧にの場合は、前記第2の入力デ ータの全ての剰余係数、および(2)1< m < Kの場合は前記第2の入力 データのmの最も高い次数の剰余係数、のうちの1つを具備する。前記CRC回 路変換ユニットは一般に少なくとも剰余変換ユニットを含み、該剰余変換ユニッ トは、(1)前記CRC回路組合せ手段に動作可能に結合され、前記(n+m) ビットのフレームに対するCRC中間剰余の全ての係数を出力するために前記複 数の調整された係数を使用するための大きさが2 ×にの1つのメモリルックア ップテーブルであって、前記各々の係数は予め計算されかつ前記メモリルックア ップテーブルに格納されているもの、および(2)前記CRC回路組合せ手段に 動作可能に結合され、前記(n +m)ビットのフレームに対するCRC中間剰 余の全ての係数を出力するために前記複数の調整された係数を使用するための大 きさが2bXK (ここでj b=M ; 1<b<m)のjのメモリルックア ップテーブル(1<j<m)であって、この場合前記各々の係数は予め計算され かつ前記jのメモリルックアップテーブルの1つに格納され、選択された場合に は、前記(n+m)ビットのフレームに対するCRC中間剰余の係数は排他的O R回路への出力のためにメモリレジスタに格納されるもの、のうちの1つを含む 。
さらに、図11に示された方法においては、CRC回路変換ユニットは、 (1)(前述の)含まれたテーブルの組(単数または複数)によって出力される 係数を受信しかつ記憶するための少なくとも第1のメモリレジスタユニット、お よび前記(n+m)ビットのフレームに対するCRC中間剰余の最も高い次数の 項に対するに−mの係数および前記第2の入力の最も低い次数の剰余項のに−m の係数に対しビットワイズなモジュロ2の加算を行ない(n+m)ビットのフレ ームに対するに−mの最も高い次数の項の係数に対するに−mのCRC剰余係数 を提供し、そして前記含まれたテーブルの組(単数または複数)によって出力さ れるmの最も低い次数の剰余係数と共にに−mの最も高い次数の剰余係数を出力 して前記(n+m)ビットのフレームに対するCRC剰余係数を提供するための 第2の排他的OR回路、(2)m=b jである場合には、各々前記含まれたテ ーブルの組(単数または複数)によって出力されるKの係数を受信しかつ記憶す るためのjのメモリレジスタユニット、および前記jのメモリレジスタユニット のKの係数にビットワイズなモジュロ2の加算を行なって前記(n+m)ビット のフレームに対するCRC剰余係数を提供するための第2の排他的OR回路、そ して (3)K=32.m=16.j=2.およびb=8であり、かつ2つの32ビツ トのルックアップテーブルが使用される場合には、さらに、(3a)前記2つの 32ビツトのルックアップテーブルの各々から最も高い次数の項に対する16の 係数を受信しかつビットワイズなモジュロ2加算によって処理し前記(n+m) ビットのフレームに対するCRC剰余係数に対する1、6の最も高い次数の剰余 係数を提供するために使用される前記第2の排他的OR回路、そして(3b)前 記2つの32ビツトのルックアップテーブルの各々から最も低い次数の項に対す る16の係数を受信しかつビットワイズなモジュロ2加算によって処理して前記 (n、+m)ビットのフレームに対するCRC剰余係数に対する16の最も低い 次数の剰余係数を提供し、それによって前記複数の(32)CRC剰余係数が前 記(n+m)ビットのフレームに対して提供されるようにするために使用される 第3の排他的OR回路、 の各項目(1)〜(3)のうちの1つを含むよう選択できる。
同様に、K=32.m=8.j=1.およびb=8の場合は、図11に示された 方法は典型的には、(1)前記第2の入力データのあらかじめ選択された剰余係 数は前記第2の入力データの最も高い次数の項に対する8つの係数であり、 (2)前記CRC回路組合わせユニットは少なくとも前記あらかじめ選択された 剰余係数および前記第1の入力データを受信しかつビットワイズなモジュロ2の 加算を行なって8の中間係数を提供するための第1の排他的OR回路を含み、そ して (3)前記CRC回路変換ユニットは、(3a)前記8の中間係数を使用して前 記(n+m)ビットのフレームに対する中間の32ビツトのCRC剰余の32の 係数を出力する32ビツトのメモリルックアップテーブルであって、前記各々の 係数はあらかじめ計算されかつ前記メモリルックアップテーブルに格納されてい るもの、(3b)第1の格納用レジスタ(第1のSR)ユニットであって該第1 のSR小出力ために、前記中間の32ビツトのCRC剰余の32の係数を受信し かつ格納するためのもの、 (3c)前記第2の入力データの最も低い次数の項に対する24の係数を受信し かつ8ビツト左にシフトしくかつ最も低い次数の項の係数として8つのゼロを挿 入し)、シフトユニット出力を提供するためのシフトユニット、(3d)第2の 格納用レジスタ(第2のSR)ユニットであって、第2のSR小出力ために、前 記シフトユニットの出力(32の係数のためのデータ)を受信しかつ格納する前 記第2のSRユニット、そして (3e)前記第1のSR小出力よび前記第2のSR小出力受信し、前記第1のS R小出力よび前記第2のSR小出力対しビットワイズなモジュロ2の加算を行な って前記(n+m)ビットのフレームに対する前記複数(32)のCRC剰余係 数を提供するための第2の排他的OR回路、を含む。
図12の、参照数字1200は、本発明の方法、すなわちCRC回路における巡 回冗長検査(CRC)剰余係数の発生方法、の第2の実施例に係わる各ステップ を示すフローチャートである。該方法は、 (1)(n、+m)ビットのフレームの内のmビットを表す複数のmの係数(n 、 mは正の整数、l<m=に;にはCRC生成多項式の次数を表す正の整数) に対するデータを第1のメモリレジスタユニットに格納する段階(1202)、 (2)前記フレームの内のnビットの残りの部分の複数のKのあらかじめ計算さ れた巡回除算多項式剰余係数に対するデータを第2のメモリレジスタユニットに 格納する段階(1204)、 (3)CRC回路組合わせユニットにおいて、前記第1のメモリレジスタ格納ユ ニットからのデータおよび前記第2のメモリレジスタユニットからのデータのあ らかじめ選択された部分に対しビットワイズなモジュロ2の加算を実質的に行な って複数の調整された係数を提供する段階(1206)、そして (4)CRC回路変換ユニットにおいて、前記(n+m)ビットのフレームに対 する複数のCRC剰余係数を提供するために少なくとも前記複数の調整された係 数を使用する段階(1208)であって、前記CRC回路はモデム内にあるもの 、 を含む。
この実施例はまた図11について上に述べた付加的な要素を含むことができる。
したがって、図12の方法に対し更なる説明はここでは反復しない。
例えば、本発明はLAN (ローカルエリアネットワーク)、WAN (広域ネ ットワーク)またはMAN (大都市エリアネットワーク)において実施できる ことは明らかである。
明らかに、1<m=にの場合の構成は、図13に示されるように、m>Kの場合 に拡張することができ、この場合DMK=[dm−1”m−2’ ”・・・’、 d ] 、 Dr。
−K (m−K) ” [dm−に−1’ 叫”、d o] 、およびRK” [rK −1”K−2’ ””””O]である。これはRKがDMKとのみXOR演算さ れることを除き、m=にの特別の場合と非常に類似していることに注意を要する 。このケースは同期転送モードのセルのためのヘッダの検査の場合のような、プ ロセッサ/装置のワード長に対してKが小さい場合に有用である。
図13の、参照数字1300は、本発明に係わるCRC回路における巡回冗長検 査(CRC’)剰余係数発生器の一実施例のブロック図であり、この場合m>K である。ここで、RKはにビットの前もって計算されたCRC剰余[r。’ ] 、’ K−1コ (1302)を表し、DMK(1304)は前記mのデータビ ットの内のKの最上位ビットを表し、そしてり、(m K)(1306)は前記 mのデータビットの最下位部分の(m−K)ビットを表す。
この構成では、CRC回路組合わせユニット(102)は排他的OR回路(13 08)を含み、該排他的OR回路(1308)はRK(1302)およびDMK (1304)のビットワイズなモジュロ2加算を行ない、中間結果のKの最上位 係数を表すKの調整された係数(AMK)(1310)を典型的には前記CRC 回路変換ユニット(104)のレジスタ(1310)に出力する。前記mのデー タビットの最下位部分の前記(m−K)ビット(DL (m−K)(1306) )は、例えば、レジスタ(1312)の(m−K)の最下位ビット部分を使用し かつAMK(1310)および(D、(m 、(1306))を剰余変換ユニッ ト(1314)に入力することにより実現できる。したがって、この構成におけ るCRC回路変換ユニット(104)は、前記CRC剰余の全ての係数を表す、 Kビットの剰余R’ K(1316)を出力する剰余変換ユニット2(308) に対して上に述べたように実現される、剰余変換ユニット(1314)を含む。
選択された場合には、前記(n+m)のフレームに対するCRC剰余係数は一組 のビットとしてメモリレジスタに格納することができる。当業者には、1つの構 成として、レジスタ1304./1306はレジスタ1310./’1312と 同じレジスタとすることができることが明らかである。
16ビツトのCRCは、m=16.j=2およびb=8として、例えばDSP5 6156型プロセッサのような、16ビツトのDSPプロセッサにおいて前記方 法(700)を使用して実現でき、それによってm=8.j=1およびb=8を 使用する最も高速度の従来技術の方法に対してプロセッサの負荷を43%低減す る。32ビツトのCRCはm=16. j =2.およびb=8として16ビツ トのDSPプロセッサにおいて前記方法(600)を使用して実現することがで き、それによってm=8.j=1.およびb=8を使用する最も高速度の従来技 術の方法と比較してプロセッサの負荷を41%低減する。新しい方法をハードウ ェアによって実現することによってもスループットおよび回路面積に関し同様の 利点が与えられる。
以上例示的な実施例が説明されたが、当業者には本発明から離れることなく数多 くの変更および修正をなすことが可能なことは明らかである。したがって、全て のそのような変更および修正は添付の請求の範囲に規定される本発明の精神およ び範囲内に含まれるものと考える。
FIC:、3 調 FIC,5 Flに!、6 鏝 FIC’、 (5’ 、/”IC:、9 鏝 FIC!、12

Claims (1)

  1. 【特許請求の範囲】 1.(n+m)ビットのフレームの内の少なくともmビットを表す複数のmの係 数に対する第1の入力データ(n,mは正の整数,m>1;KはCRC生成多項 式の次数を表す正の整数)、および前記フレームの最初のnビットの複数のKの 前もって計算されたCRC剰余係数に対する第2の入力データを有するCRC回 路における巡回冗長検査(CRC)剰余係数発生器であって、 1A)前記第1の入力データのあらかじめ選択された部分および前記第2の入力 データのあらかじめ選択された部分を受信するよう動作可能に結合され、実質的 に前記第1の入力データの前記あらかじめ選択された部分および前記第2の入力 データの前記あらかじめ選択された部分のビットワイズなモジュロ2加算を行な い複数の調整された係数を提供するためのCRC回路組合わせ手段、そして1B )少なくとも前記CRC回路組合わせ手段に動作可能に結合され、複数の(1よ り多くの)ルックアップテーブルおよび実質的に少なくとも第1の排他的OR回 路を具備し、少なくとも前記複数の調整された係数を使用して前記(n+m)ビ ットのフレームに対する複数のCRC剰余係数を提供するためのCRC回路変換 手段、を具備する巡回冗長検査(CRC)剰余係数発生器。 2.前記CRC回路組合わせユニットは少なくとも排他的OR回路を含み、かつ 、選択された場合には、2A)前記排他的OR回路が受信するよう結合された第 1の入力データの前記あらかじめ選択された部分は、2A1)m>Kである場合 は、 mの第1の入力データのKの最上位係数、そして2A2)1<m≦Kである場合 は、 前記第1の入力データの全ての係数、 である2A1〜2A2の内の1つからなること、そして2B)前記排他的OR回 路が受信するよう結合された第2の入力データの前記あらかじめ選択された部分 は、2B1)m≧Kである場合は、 前記第2の入力データの全ての剰余係数、そして2B2)1<m<Kである場合 は、 前記第2の入力データのmの最も高い次数の剰余係数、 である2B1〜2B2の内の1つからなること、である2A〜2Bの内の1つに 該当する請求項1に記載の発生器。 3.前記CRC回路変換手段は前記CRC回路組合わせ手段に動作可能に結合さ れ、前記(n+m)ビットのフレームに対するCRC中間剰余の全ての係数を出 力するために少なくとも前記複数の調整された係数を使用する大きさ2b×K( この場合、jb=m;1<b<m)のjのメモリルックアップテーブル(1<j <m)を含む剰余変換ユニットを少なくとも含み、この場合前記各々の係数はあ らかじめ計算されかつ前記jのメモリルックアップテーブルの1つに格納され、 選択された場合には、前記(n+m)ビットのフレームに対するCRC中間剰余 の係数は排他的OR回路への出力のためにメモリレジスタに格納され、かつ、選 択された場合には、 3A)b=8およびb=16の内の1つ、3B)前記CRC回路変換手段はさら に第2の排他的OR回路を含み、該第2の排他的OR回路はjのレジスタ手段に 動作可能に結合され、該レジスタ手段の各々は前記jのメモリルックアップテー ブルの別個の1つに動作可能に結合されて前記回路がCRC中間剰余に対するj 組のKの係数を受信し、前記第2の排他的OR回路は前記係数に対しビットワイ ズなモジュロ2の加算(j−1回)を行なって前記(n+m)ビットのフレーム に対するCRC剰余係数を提供し、かつ選択された場合には。K=32,m=1 6,j=2,およびb=8であり、かつ2つの32ビットのルックアップテーブ ルが使用され、前記第2の排他的OR回路は、 3B1)前記2つの32ビットのルックアップテーブルの各々から最も低い次数 の項に対する16の係数を受信しかつビットワイズなモジュロ2加算によって処 理するよう動作可能に結合された、第1の中間排他的OR回路、3B2)前記2 つの32ビットのルックアップテーブルの各々から最も高い次数の項に対する1 6の係数を受信しかつビットワイズなモジュロ2加算によって処理するよう動作 可能に結合された、第2の中間排他的OR回路、3B3)前記第1の中間排他的 OR回路にかつ前記第2の中間排他的OR回路に動作可能に結合され、前記(n +m)ビットのフレームに対する中間剰余の最も高い次数の項に対する16の係 数およびCRC剰余の最も低い次数の係数に対する16の係数を格納するための 剰余手段、そして 3B4)前記第2の排他的OR回路に動作可能に結合されかつnビットの前記複 数のKの前もって計算されたCRC剰余係数に対する前記第2の入力データの1 6の最も低い次数の係数を受信するよう動作可能に結合され、前記中間剰余の最 も高い次数の項に対する前記16の係数および前記第2の入力データの16の最 も低い次数の係数に対しビットワイズなモジュロ2の加算を行ない16の最も高 い次数の項の係数を提供し、該16の最も高い次数の項の係数は前記(n+m) ビットのフレームに対するCRC剰余係数の前記16の最も低い次数の係数(前 記剰余手段からの)とともに、前記(n+m)ビットのフレームに対する全ての (32)CRC剰余係数を表す第3の中間排他的OR回路、 である3B1〜3B4の内の1つを含むもの、である3A〜3Bの内の1つに該 当する請求項1に記載の発生器。 4.前記発生器は少なくともコンピュータ、複数のモデム、および複数のターミ ナル、および、選択された場合には、交換ネットワーク、を具備する通信ネット ワークシステムの構成要素である、請求項1に記載の巡回冗長検査(CRC)剰 余係数発生器。 5.通信ネットワークシステムにおける巡回冗長検査(CRC)剰余係数発生器 であって、 5A)(n+m)ビットのフレームの最後のmビットを表す複数のmの係数に対 するデータを格納するための第1の格納手段(n,mは正の整数,m>1;Kは CRC生成多項式の次数を表す正の整数)、 5B)前記フレームの始めのnビットに対するあらかじめ計算されたCRC剰余 の複数の前もって計算されたCRC剰余係数に対するデータを格納するための第 2の格納手段、 5C)前記第1の格納手段および前記第2の格納手段に動作可能に結合され、前 記第1の格納手段のデータのあらかじめ選択された部分および前記第2の格納手 段のデータのあらかじめ選択された部分に対しビットワイズなモジュロ2の加算 を実質的に行ない複数の調整された係数を提供するための排他的OR回路、 5D)少なくとも前記排他的OR回路に動作可能に結合され、複数の(1より多 くの)ルックアップテーブルおよび実質的に少なくとも第1の排他的OR回路を 具備し、少なくとも前記複数の調整された係数を使用して前記(n+m)ビット のフレームに対する複数のCRC剰余係数を提供するためのCRC回路変換手段 、 を具備する通信ネットワークシステムにおける巡回冗長検査(CRC)剰余係数 発生器。 6.さらに、 6A)前記CRC回路組合わせ手段は少なくとも排他的OR回路を含み、かつ、 選択された場合には、6A1)前記排他的OR回路が受信するよう結合された第 1の入力データの前記あらかじめ選択された部分は、6A1a)m>Kである場 合は、 mの第1の入力データのKの最上位係数、および 6A1b)1<m≦Kである場合は、 前記第1の入力データの全ての係数、 である6A1a〜6A1bの内の1つを有するもの、6A2)前記排他的OR回 路が受信するよう結合された第2の格納手段のデータの前記あらかじめ選択され た部分は、 6A2a)m≧Kである場合は、 前記第2の入力データの全ての剰余係数、そして 6A2b)1<m<Kである場合は、 前記第2の入力データのmの最も高い次数の剰余係数、 である6A2a〜6A2bの内の1つを有するもの、そして 6A3)前記CRC回路変換手段は前記CRC回路組合わせ手段に動作可能に結 合され、少なくとも前記複数の調整された係数を使用して前記(n+m)ビット のフレームに対するCRC中間剰余の全ての係数を出力するための大きさが2b ×K(ここでjb=m;1<b<m)のjのメモリルックアップテーブル(1< j<m)を含む剰余変換ユニットを少なくとも含み、前記各々の係数はあらかじ め計算されかつ前記jのメモリルックアップテーブルの1つに格納されており、 選択された場合には、前記(n+m)ビットのフレームに対するCRC中間剰余 の係数は前記排他的OR回路への出力のためにメモリレジスタに格納され、かつ 、選択された場合には、 6A3a)b=8およびb=16の内の1つ、および 6A3b)前記CRC回路変換ユニットはさらに、jのレジスタ手段に動作可能 に結合された第2の排他的OR回路を含み、前記レジスタ手段の各々は前記jの メモリルックアップテーブルの別個の1つに動作可能に結合されて前記回路がC RC中間剰余のためのj組のKの係数を受信し、前記第2の排他的OR回路は前 記係数に対しビットワイズなモジュロ2の加算(j−1回)を行ない前記(n+ m)ビットのフレームに対するCRC剰余係数を提供し、かつ、選択された場合 には、K=32,m=16,j=2,およびb=8であり、2つの32ビットの ルックアップテーブルが使用され、前記第2の排他的OR回路は、6A3b1) 前記2つの32ビットのルックアップテーブルの各々からの最も低い次数の剰余 項に対する16の係数を、受信しかつビットワイズなモジュロ2加算によって処 理するよう動作可能に結合された、第1の中間排他的OR回路、 6A3b2)前記2つの32ビットのルックアップテーブルの各々からの最も高 い次数の剰余項に対する16の係数を、受信しかつビットワイズなモジュロ2加 算によって処理するよう動作可能に結合された、第2の中間排他的OR回路、 6A3b3)前記第1の中間排他的OR回路にかつ前記第2の中間排他的OR回 路に動作可能に結合され、中間剰余の最も高い次数の項に対する16の係数およ び前記(n+m)ビットのフレームに対するCRC剰余の16の最も低い次数の 係数を格納するための剰余手段、そして 6A3b4)前記第2の排他的OR回路に動作可能に結合されかつnビットの前 記複数のKの前もって計算されたCRC剰余係数に対する前記第2の入力データ の16の最も低い次数の係数を受信するよう動作可能に結合され、中間剰余の前 記16の最も高い次数の係数および前記第2の入力データの16の最も低い次数 の係数に対しビットワイズなモジュロ2加算を行ない、前記(n+m)ビットの フレームに対するCRC剰余係数の前記16の最も低い次数の係数(前記剰余手 段からの)とともに、前記(n+m)ビットのフレームに対する全ての(32) CRC剰余係数を表す16の最も高い次数の係数を提供するための第3の中間排 他的OR回路、 である6A3b1〜6A3b4を含むもの、である6A3a〜6A3bの1つを 含むもの、である前記6A1〜6A3の1つを含むこと、そして6B)前記通信 ネットワークシステムは少なくともコンピュータ、複数のモデム、および複数の ターミナル、および、選択された場合には、交換ネットワークを具備すること、 である6A〜6Bの内の少なくとも1つに該当する請求項5に記載の発生器。 7.(n+m)ビットのフレームの最後のmビットを表す複数のmの係数に対す る第1の入力データ(n,mは正の整数、m>1;KはCRC生成多項式の次数 を表す正の整数)および前記フレームの始めのnビットの複数のKの前もって計 算されたCRC剰余係数に対する第2の入力データを有するCRC回路における 巡回冗長検査(CRC)剰余係数を発生する方法であって、 7A)CRC回路組合わせユニットにおいて、前記第1の入力データの内のあら かじめ選択された部分および前記第2の入力データのあらかじめ選択された部分 のビットワイズなモジュロ2加算を実質的に行ない複数の調整された係数を提供 する段階、そして 7B)複数の(1より多くの)ルックアップテーブルおよび実質的に少なくとも 第1の排他的OR回路を具備するCRC回路変換ユニットにおいて、前記複数の 調整された係数を使用して前記(n+m)ビットのフレームに対する複数のCR C剰余係数を提供する段階、を具備するCRC回路における巡回冗長検査(CR C)剰余係数の発生方法。 8.前記CRC回路組合わせユニットは少なくとも排他的OR回路を含み、かつ 選択された場合には、8A)前記排他的OR回路が受信するよう結合された第1 の入力データの前記あらかじめ選択された部分は、8A1)m>Kの場合は、 mの第1の入力データのKの最上位係数、および8A2)1<m≦Kである場合 は、 前記第1の入力データの全ての係数、 である8A1〜8A2の内の1つからなるもの、8B)前記第2の入力データの あらかじめ選択された部分は、 8B1)m≧Kである場合は、 前記第2の入力データの全ての剰余係数、および8B2)1<m<Kである場合 は、 前記第2の入力データのmの最も高い次数の剰余係数、 である8B1〜8B2の内の1つからなるもの、8C)前記CRC回路変換ユニ ットは、前記CRC回路組合わせ手段に動作可能に結合され、少なくとも前記複 数の調整された係数を使用し前記(n+m)ビットのフレームに対する前記CR C中間剰余の全ての係数を出力するたb めの大きさが2×K(ここで、jb=m;1<b<m)のjのメモリルックアッ プテーブル(1<j<m)を含む少なくとも剰余変換ユニットを含み、前記各々 の係数はあらかじめ計算されかつ前記jのメモリルックアップテーブルの1つに 格納され、選択された場合には、前記(n+m)ビットのフレームに対するCR C中間剰余の係数は排他的OR回路への出力のためにメモリレジスタに格納され 、そして、選択された場合には、 8C1)b=8およびb=16の内の1つ、および8C2)前記CRC回路変換 手段はさらに、jのレジスタ手段に動作可能に結合された、第2の排他的OR回 路を含み、前記レジスタ手段の各々は前記jのメモリルックアップテーブルの別 個の1つに動作可能に結合されて前記回路がCRC中間剰余のjの組のKの係数 を受信し、前記第2の排他的OR回路は前記(n+m)ビットのフレームに対す る前記CRC剰余係数を提供するために前記係数に対しビットワイズなモジュロ 2加算(j−1回)を行ない、かつ選択された場合には、 K=32,m=16,j=2,b=8であり、かつ2つの32ビットのルックア ップテーブルが使用され、前記第2の排他的OR回路は、 8C2a)前記2つの32ビットのルックアップテーブルの各々からの最も低い 次数の剰余項に対する16の係数を受信しかつビットワイズなモジュロ2加算に よって処理するよう動作可能に結合された、第1の中間排他的OR回路、 8C2b)前記2つの32ビットのルックアップテーブルの各々からの最も高い 次数の剰余項に対する16の係数を受信しかつビットワイズなモジュロ2加算に よって処理するよう動作可能に結合された、第2の中間排他的OR回路、 8C2c)前記第1の中間排他的OR回路にかつ前記第2の中間排他的OR回路 に動作可能に結合され、中間剰余の最も高い次数の剰余項に対する16の係数お よび前記(n+m)ビットのフレームに対するCRC剰余の16の最も低い次数 の係数を格納するための剰余手段、そして 8C2d)前記第2の排他的OR回路に動作可能に結合されかつnビットの前記 複数のKの前もって計算されたCRC剰余係数に対する第2の入力データの16 の最も低い次数の係数を受信するよう動作可能に結合され、中間剰余の最も高い 次数の項に対する前記16の係数および前記第2の入力データの前記16の最も 低い次数の係数に対しビットワイズなモジュロ2加算を行なって、前記(n+m )ビットのフレームに対するCRC剰余係数の(前記剰余手段からの)16の最 も低い次数の係数とともに、前記(n+m)ビットのフレームに対する全ての( 32)CRC剰余係数を表す16の最も高い次数の係数を提供するための第3の 中間排他的OR回路、である8C2a〜8C2dを含む前記8C2、である8C 1〜8C2の1つに該当する前記8C、である8A〜8Cの内の少なくとも1つ に該当する請求項7に記載の方法。 9.通信ネットワークシステムにおけるCRC回路における巡回冗長検査(CR C)剰余係数の発生方法であって、9A)(n+m)ビットのフレームの最後の mビットを表す複数のmの係数に対するデータ(n,mは正の整数,m>1;K はCRC生成多項式の次数を表す正の整数)を第1のメモリレジスタユニットに 格納する段階、9B)前記フレームの始めのnビットの残りの部分の複数のKの 前もって計算された巡回除算多項式の剰余係数に対するデータを第2のメモリレ ジスタユニットに格納する段階、 9C)CRC回路組合わせユニットにおいて、前記第1のメモリレジスタ記憶ユ ニットのあらかじめ選択された部分からのデータおよび前記第2のメモリレジス タユニットからのデータのあらかじめ選択された部分に対し実質的にビットワイ ズなモジュロ2加算を行ない複数の調整された係数を提供する段階、 9D)複数の(1より多くの)ルックアップテーブルおよび実質的に少なくとも 第1の排他的OR回路を具備するCRC回路変換ユニットにおいて、前記複数の 調整された係数を使用して前記(n+m)ビットのフレームに対する複数のCR C剰余係数を提供する段階、を具備する通信ネットワークシステムにおけるCR C回路における巡回冗長検査(CRC)剰余係数の発生方法。 10.さらに、 10A)前記CRC回路組合わせユニットは少なくとも排他的OR回路を含み、 かつ選択された場合には、10A1)前記排他的OR回路が受信するよう結合さ れた前記第1の入力データのあらかじめ選択された部分は、 10A1a)m>Kである場合は、 mの第1の入力データのKの最上位係数、そして 10A1b)1<m≦Kである場合は、前記第1の入力データの全ての係数、 である10A1a〜10A1bの内の1つからなるもの、10A2)前記排他的 OR回路が受信するよう結合された前記第2のメモリレジスタユニットからのデ ータの前記あらかじめ選択された部分は、 10A2a)m≧Kである場合は、 前記第2の入力データの全ての剰余係数、そして 10A2b)1<m<Kである場合は、前記第2の入力データのmの最も高い次 数の剰余係数、 である10A2a〜10A2bの内の1つを含むもの、10A3)前記CRC回 路変換ユニットは、前記CRC回路組合わせ手段に動作可能に結合され、少なく とも前記複数の調整された係数を使用して前記(n+m)ビットのフレームに対 するCRC中間剰余の全ての係数を出力b するための大きさが2×K(ここで、jb=m;1<b<m)のjのメモリルッ クアップテーブル(1<j<m)を含む少なくとも剰余変換ユニットを含み、か つ前記各々の係数はあらかじめ計算されかつ前記jのメモリルックアップテーブ ルの1つに記憶され、選択された場合には、前記(n+m)ビットのフレームに 対するCRC中間剰余の係数は排他的OR回路への出力のためにメモリレジスタ に格納され、かつ選択された場合には、 10A3a)b=8およびb=16の内の1つ、そして 10A3b)前記CRC回路変換手段はさらに、jのレジスタ手段に動作可能に 結合された、第2の排他的OR回路を含み、前記レジスタ手段の各々は前記jの メモリルックアップテーブルの別個の1つに動作可能に結合されて前記回路がC RC中間剰余のj組のKの係数を受信し、前記第2の排他的OR回路は前記係数 に対しビットワイズなモジュロ2加算(j−1回)を行ない前記(n+m)ビッ トのフレームに対するCRC剰余係数を提供し、かつ選択された場合には、 K=32,m=16,j=2,およびb=8であり、かつ2つの32ビットのル ックアップテーブルが使用され、前記第2の排他的OR回路は、 103b1)前記2つの32ビットのルックアップテーブルの各々からの最も低 い次数の剰余項に対する16の係数を受信しかつビットワイズなモジュロ2加算 によって処理するよう動作可能に結合された、第1の中間排他的OR回路、 103b2)前記2つの32ビットのルックアップテーブルの各々からの最も高 い次数の剰余項に対する16の係数を受信しかつビットワイズなモジュロ2加算 によって処理するよう動作可能に結合された、第2の中間排他的OR回路、 103b3)前記第1の中間排他的OR回路におよび前記第2の中間排他的OR 回路に動作可能に結合され、中間剰余の最も高い次数の剰余項に対する16の係 数および前記(n+m)ビットのフレームに対するCRC剰余の16の最も低い 次数の係数を格納するための剰余手段、そして 103b4)前記第2の排他的OR回路に動作可能に結合されかつnビットの前 記複数のKの前もって計算されたCRC剰余係数に対する第2の入力データの1 6の最も低い次数の係数を受信するよう動作可能に結合され、中間剰余の最も高 い次数の剰余項に対する16の係数および前記第2の入力データの16の最も低 い次数の係数に対しビットワイズなモジュロ2加算を行ない、前記(n+m)ビ ットのフレームに対するCRC剰余係数の16の最も低い次数の係数(前記剰余 手段からの)とともに、前記(n+m)ビットのフレームに対する全ての(32 )CRC剰余係数を表す16の最も高い次数の係数を提供するための第3の中間 排他的OR回路、 である103b1〜103b4を含む前記10A3b、である10A3a〜10 A3bの内の少なくとも1つに該当する10A3、 である10A1〜10A3の内の少なくとも1つに該当する前記10A、 10B)前記通信ネットワークシステムは少なくともコンピュータ、複数のモデ ム、および複数のターミナルを具備し、かつ、選択された場合には、交換ネット ワークを具備し、かつ選択された場合には、 前記通信ネットワークシステムは、 10B1)ポイントーポイント通信ネットワークライン構造システム、 10B2)マルチポイント通信ネットワークライン構造システム、そして 10B3)混合型通信ネットワークライン構造システム、 である10B1〜10B3の内の1つであり、そして10C)前記CRC回路に おける前記巡回冗長検査(CRC)剰余係数の発生方法の各段階はデジタル信号 プロセッサによって実現されるもの、 である10A〜10Cの内の少なくとも1つに該当する請求項9に記載の方法。
JP6515186A 1992-12-29 1993-12-06 効率的なcrc剰余係数発生および検査装置および方法 Pending JPH07504312A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US99819392A 1992-12-29 1992-12-29
US998,193 1992-12-29
PCT/US1993/011790 WO1994015407A1 (en) 1992-12-29 1993-12-06 Efficient crc remainder coefficient generation and checking device and method

Publications (1)

Publication Number Publication Date
JPH07504312A true JPH07504312A (ja) 1995-05-11

Family

ID=25544903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6515186A Pending JPH07504312A (ja) 1992-12-29 1993-12-06 効率的なcrc剰余係数発生および検査装置および方法

Country Status (6)

Country Link
US (1) US5619516A (ja)
EP (1) EP0631703A4 (ja)
JP (1) JPH07504312A (ja)
AU (1) AU659971B2 (ja)
CA (1) CA2129236C (ja)
WO (1) WO1994015407A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005102213A (ja) * 2003-09-22 2005-04-14 Agilent Technol Inc メッセージのcrcを計算するための方法
JP2008160663A (ja) * 2006-12-26 2008-07-10 Fujitsu Ltd 情報ビット列の除算方法及びその装置

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL9302266A (nl) * 1993-12-27 1995-07-17 Nederland Ptt Inrichting voor het vaststellen van grenzen in een bitstroom, en converteermiddelen voor toepassing in de inrichting.
EP0735711A1 (en) * 1995-03-31 1996-10-02 International Business Machines Corporation Method and apparatus for modifying a frame check sequence (FCS)
US5878057A (en) * 1995-10-06 1999-03-02 Tektronix, Inc. Highly parallel cyclic redundancy code generator
US5942002A (en) * 1996-03-08 1999-08-24 Neo-Lore Method and apparatus for generating a transform
GB2322526A (en) * 1997-02-22 1998-08-26 The Technology Partnership Plc Encoding and decoding data
US6075774A (en) * 1997-11-18 2000-06-13 3Com Corporation Method and device for generating a frame check sequence
US6195780B1 (en) * 1997-12-10 2001-02-27 Lucent Technologies Inc. Method and apparatus for generating cyclical redundancy code
US6029186A (en) * 1998-01-20 2000-02-22 3Com Corporation High speed calculation of cyclical redundancy check sums
US6223320B1 (en) * 1998-02-10 2001-04-24 International Business Machines Corporation Efficient CRC generation utilizing parallel table lookup operations
US6167400A (en) * 1998-07-31 2000-12-26 Neo-Core Method of performing a sliding window search
US6128760A (en) * 1998-10-13 2000-10-03 Lsi Logic Corporation Method and apparatus for calculating a CRC remainder
US6530057B1 (en) * 1999-05-27 2003-03-04 3Com Corporation High speed generation and checking of cyclic redundancy check values
EP1065595A1 (en) * 1999-06-30 2001-01-03 Texas Instruments Incorporated Statistics signature generation and analysis
TW508907B (en) * 1999-09-27 2002-11-01 Texas Instruments Inc Method and apparatus for efficient calculation of cyclic redundancy check
US6484288B1 (en) 1999-12-17 2002-11-19 Texas Instruments Incorporated Statistics signature generation and analysis
US6519737B1 (en) 2000-03-07 2003-02-11 International Business Machines Corporation Computing the CRC bits at a time for data whose length in bits is not a multiple of M
US6763492B1 (en) * 2000-09-26 2004-07-13 Qualcomm Incorporated Method and apparatus for encoding of linear block codes
US6934730B2 (en) * 2000-10-13 2005-08-23 Xpriori, Llc Method and system for generating a transform
US6701479B2 (en) 2001-05-15 2004-03-02 Network Elements, Inc. Fast cyclic redundancy check (CRC) generation
GB2378102B (en) * 2001-07-24 2003-09-24 3Com Corp Cyclic redundancy code generator
US6928608B2 (en) * 2001-08-14 2005-08-09 Optix Networks Ltd. Apparatus and method for accelerating cyclic redundancy check calculations
US7681013B1 (en) * 2001-12-31 2010-03-16 Apple Inc. Method for variable length decoding using multiple configurable look-up tables
US7174498B2 (en) * 2002-02-15 2007-02-06 Intel Corporation Obtaining cyclic redundancy code
US7613980B2 (en) * 2003-06-06 2009-11-03 Avago Technologies General Ip (Singapore) Pte. Ltd. System for computing a CRC value by processing a data message a word at a time
US7103832B2 (en) * 2003-12-04 2006-09-05 International Business Machines Corporation Scalable cyclic redundancy check circuit
US7434150B1 (en) 2004-03-03 2008-10-07 Marvell Israel (M.I.S.L.) Ltd. Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations
US7360142B1 (en) * 2004-03-03 2008-04-15 Marvell Semiconductor Israel Ltd. Methods, architectures, circuits, software and systems for CRC determination
US7328396B2 (en) * 2004-05-28 2008-02-05 International Business Machines Corporation Cyclic redundancy check generating circuit
US7293206B2 (en) * 2004-09-13 2007-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Test data pattern for testing a CRC algorithm
US7266760B1 (en) * 2004-09-30 2007-09-04 Altera Corporation Method and apparatus for calculating cyclic redundancy checks for variable length packets
US7707483B2 (en) * 2005-05-25 2010-04-27 Intel Corporation Technique for performing cyclic redundancy code error detection
US20080201689A1 (en) * 2005-06-30 2008-08-21 Freescale Semiconductor, Inc. Vector Crc Computatuion on Dsp
JP2008011025A (ja) * 2006-06-28 2008-01-17 Fujitsu Ltd 巡回冗長検査のための剰余計算装置
US7627802B2 (en) * 2006-08-15 2009-12-01 Samsung Electronics Co., Ltd. Efficient parallel cyclic redundancy check calculation using modulo-2 multiplications
FR2917864B1 (fr) * 2007-06-19 2009-09-25 Thales Sa Procede de calcul d'un code de redondance cyclique
US8689078B2 (en) * 2007-07-13 2014-04-01 Intel Corporation Determining a message residue
US9003259B2 (en) * 2008-11-26 2015-04-07 Red Hat, Inc. Interleaved parallel redundancy check calculation for memory devices
US20120173952A1 (en) * 2010-12-29 2012-07-05 Kumar K Venkat Praveen Parallel crc computation with data enables
US9891985B1 (en) * 2014-11-01 2018-02-13 Netronome Systems, Inc. 256-bit parallel parser and checksum circuit with 1-hot state information bus
CN106817192B (zh) * 2015-11-30 2020-08-14 华为技术有限公司 一种错误估计的方法、基站及终端
US12088411B2 (en) * 2022-08-25 2024-09-10 Semiconductor Components Industries, Llc Cyclic redundancy check (CRC) generation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5725046A (en) * 1980-07-22 1982-02-09 Toshiba Corp Cyclic redundancy check operating circuit
DE3130504A1 (de) * 1981-08-01 1983-02-10 Brown, Boveri & Cie Ag, 6800 Mannheim Anordnung zur erzeugung von zyklisch-codierten informationen
US4473902A (en) * 1982-04-22 1984-09-25 Sperrt Corporation Error correcting code processing system
US4712215A (en) * 1985-12-02 1987-12-08 Advanced Micro Devices, Inc. CRC calculation machine for separate calculation of checkbits for the header packet and data packet
JPS6461124A (en) * 1987-08-31 1989-03-08 Nec Corp Crc circuit
EP0431416A3 (en) * 1989-12-04 1992-04-29 National Semiconductor Corporation Apparatus and method for accessing a cyclic redundancy error check code generated in parallel
EP0470451A3 (en) * 1990-08-07 1993-01-20 National Semiconductor Corporation Implementation of the high-level data link control cyclic redundancy check (hdlc crc) calculation
JPH04365156A (ja) * 1991-06-13 1992-12-17 Toshiba Corp データ伝送エラー検出回路

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005102213A (ja) * 2003-09-22 2005-04-14 Agilent Technol Inc メッセージのcrcを計算するための方法
JP4643957B2 (ja) * 2003-09-22 2011-03-02 アバゴ・テクノロジーズ・ジェネラル・アイピー(シンガポール)プライベート・リミテッド メッセージのcrcを計算するための方法
JP2008160663A (ja) * 2006-12-26 2008-07-10 Fujitsu Ltd 情報ビット列の除算方法及びその装置

Also Published As

Publication number Publication date
EP0631703A1 (en) 1995-01-04
US5619516A (en) 1997-04-08
CA2129236A1 (en) 1994-07-07
CA2129236C (en) 1998-12-22
AU659971B2 (en) 1995-06-01
AU5846394A (en) 1994-07-19
EP0631703A4 (en) 1996-03-20
WO1994015407A1 (en) 1994-07-07

Similar Documents

Publication Publication Date Title
JPH07504312A (ja) 効率的なcrc剰余係数発生および検査装置および方法
US7827471B2 (en) Determining message residue using a set of polynomials
EP0767539B1 (en) Highly parallel cyclic redundancy code generator
US5428629A (en) Error check code recomputation method time independent of message length
US6466959B2 (en) Apparatus and method for efficient arithmetic in finite fields through alternative representation
US7219293B2 (en) High performance CRC calculation method and system with a matrix transformation strategy
US7502988B2 (en) Decoding and error correction for algebraic geometric codes
JP4643957B2 (ja) メッセージのcrcを計算するための方法
US8176396B2 (en) System and method for implementing a Reed Solomon multiplication section from exclusive-OR logic
JPH0856165A (ja) 誤り検査符号及び訂正符号の計算方法および装置
JP4777258B2 (ja) ガロア体乗算のためのルックアップテーブルを使用するリード・ソロモン符号の符号化および復号化
CN101814922A (zh) 基于bch码的多位错纠错方法和装置以及存储系统
US7461329B2 (en) Channel encoding adapted to error bursts
EP0735711A1 (en) Method and apparatus for modifying a frame check sequence (FCS)
Mathukiya et al. A Novel Approach for Parallel CRC generation for high speed application
US8352829B1 (en) Regeneration of a packet CRC
US8132078B2 (en) Decoding method for algebraic geometric codes and associated device
JP2001196938A (ja) デジタルデータをデコーディングする装置及び方法
JP2694792B2 (ja) 誤り位置多項式演算回路
US7181671B2 (en) Parallelized CRC calculation method and system
Nguyen Error-detection codes: algorithms and fast implementation
US5774480A (en) Cyclic code check bits generation and error correction using sum of remainders
JPH0351008B2 (ja)
JP2004120419A (ja) リードソロモン符号化回路およびリードソロモン復号化回路
Mathukiya et al. Proposed architecture of LOW memory LUT for LUT base parallel CRC generation