JPH09507110A - 有限体反転 - Google Patents

有限体反転

Info

Publication number
JPH09507110A
JPH09507110A JP7513258A JP51325895A JPH09507110A JP H09507110 A JPH09507110 A JP H09507110A JP 7513258 A JP7513258 A JP 7513258A JP 51325895 A JP51325895 A JP 51325895A JP H09507110 A JPH09507110 A JP H09507110A
Authority
JP
Japan
Prior art keywords
circuit
value
convolution
bit
input
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.)
Ceased
Application number
JP7513258A
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 JPH09507110A publication Critical patent/JPH09507110A/ja
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • 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/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics

Abstract

(57)【要約】 反転回路(212)はmビット記号Bの逆元B-1を決定する。記号Bはデュアル基底表現で表される。反転回路(212)は、記号Bが供給されmビット値Aに対応する電気信号を生成し格納する反復畳み込み回路(124A、124B、124C)を含む。値Aは第1基底表現で表され、k<m−1のときAとαkBとの内積が0に等しくなるように畳み込み回路によって生成される。畳み込み回路がBのα倍数による畳込みを行うことができるようにフィードバック回路(128)が設けられている。乗算器回路(102)が畳み込み回路に接続され、Aとα-tとの積に対応する電気出力信号を生成する。乗算器からの電気出力信号はAα-t=B-1(すなわち、第1基底表現でのmビット記号Bの逆元)を表す。必要であれば、mビット値Aは、畳み込み回路をシフトレジスタとして操作するか、または値Aをシフトレジスタ(132)にロードすることによって、ビット位置が揃えられる。

Description

【発明の詳細な説明】 有限体反転 背景 関連出願への相互参照 本特許出願は、1993年11月4日に出願され現在は放棄された米国特許出願第08/ 147,758号の継続出願である。後者は本明細書において参考のため援用されてい る。本出願と同時に出願され本明細書において参考のため援用されている特許出 願(発明者:Christopher P.Zook)には、米国特許出願第08/325,717号、発明 の名称"CYCLIC REDUNDANCY CHECK METHOD AND APPARATUS";米国特許出願第08/3 25,850号、発明の名称"BURST ERROR CORRECTOR";米国特許出願第08/326,164号 、発明の名称"REED SOLOMON DECODER";および米国特許出願第08/326,126号、発 明の名称"ERROR CORRECTION METHOD AND APPARATUS"が含まれる。1993年11月4日 に出願された米国特許出願第08/147,758号と同時に出願された特許出願(すべて 本明細書において参考のため援用されている)には、米国特許出願第08/147,865 号、発明の名称"DUAL PURPOSE CYCLIC REDUNDANCY CHECK";現在は放棄された米 国特許出願第08/148,068号、発明の名称"BURST ERROR CORRECTOR";および現在 は放棄された米国特許出願第08/147,650号、発明の名称"REED SOLOMON DETECTOR "が含まれる。 1.発明の分野 本発明は、一般に、デジタルデータ通信システム、特に、有限体の演算に関す る。詳しくは、本発明は誤り訂正符号の復号に関する。 2.関連技術および他の考察 デジタルデータ通信システム(光学または磁気媒体への格納およびこれらから の読み出しを含む)では、情報の転送速度を高め同時に誤り率を任意に低くする ために、誤り制御システムを用いることが必要である。固定された信号対ノイズ 比および固定された帯域幅の場合、改良は誤り訂正符号を用いることによって行 い得る。 誤り訂正符号化により、伝送または格納されるデータは数学的に処理されて、 チェック記号または冗長記号と呼ばれる付加的なデータ記号が得られる。伝送ま たは読み出し後は、受け取られたデータおよびチェック記号は数学的に処理され て、誤りの位置および値についての情報が得られる。データ記号を、実数または 有理数というなじみの体ではなく有限体の要素として扱うのが最も効率的である ため、有限体演算が用いられる。 有限体演算で生じる1つの問題は、加算、減算、または乗算に比べて除算を行 うのが複雑であることである。除算は、要素の逆元をとりこれを乗算することに よって行うことができる。反転の簡単な方法は除算のための簡単な方法となる。 GF(2m)において反転を行うにはいくつかの方法がある。最も一般的なも のは、2m×m ROMに等しい、ルックアップテーブルを用いることである。こ の方法は最も速く、また最も多くの回路ゲートを必要とする。多くのアプリケー ションでは、回路サイズを小さくするために、mビット記号をシリアルに処理す るのが望ましい。このようなアプリケーションにおいては、mビット記号の加算 、乗算、および反転をmクロックサイクルで行うのが望ましい。このような方法 のいくつかを以下に述べる。 図1は、以下の方法を用いる回路を示す。もし、aがGF(2m)の1つの要 素であるならば、以下の式が成立する。 逆元は二乗および乗算を繰り返すことによって得られ得る。しかし、二乗およ び乗算機能は1クロックサイクルで行わなければならないため、回路サイズが大 きくなる。図1では、R1は「a」に初期化され、一度クロックされてa2を得 る。この時点でR2は1に初期化される。さらにm−1回のクロック後、R2は a-1を含む。 別の方法はユークリッドの互除法を用いるもので、Berlekampの"Algebraic Co ding Theory"、Aegean Park Press発行、1984改訂版、36-44頁に記載されている 。これは3m+4個のフリップフロップを用い、2m+2回のクロックサイクル を必要とする。 図2に示すさらに別の方法は、Whitingのカリフォルニア工科大学での博士論 文、"Bit-Serial Reed-Solomon Decoders in VLSI"、1984、58頁に記載されてい る。Whitingの手法では、Rは、デュアル基底表現で表される要素「a」に初期 化され(Whitingの39頁参照)、f(x)はa-1のためのデュアル基底表現のビ ット0を生成する論理関数である。aにα-1を繰り返し乗算することによって、 f(x)はa-1の残りのビットを生成することが可能となる。関数f(x)は、 2m×1 ROMによって実現され得る。逆元はmクロックでシリアルに生成され る。 しかし、これらの手法には、逆元を生成するために過剰な回路または過剰なク ロックサイクルを必要とするという制約を有している。従って、有限体反転のた めのサイズおよび時間の要件を低減するアプローチが必要とされている。 要旨 本発明の反転回路は、mビット有限体記号Bの逆元B-1を決定する。記号Bは デュアル基底表現で表される。反転回路は、記号Bが適用されmビット値Aに対 応する電気信号を生成および格納する反復畳み込み回路を含む。値Aは第1基底 表現で表され、k<m−1のときAとαkBとの内積が0に等しくなるように畳 み込み回路によって生成される。畳み込み回路がBのα倍数による畳込みを行う ことができるように、フィードバック回路が設けられる。乗算器回路が畳み込み 回路に接続され、値Aとα-tとの積に対応する電気出力信号を生成する。乗算器 からの電気出力信号はAα-t=B-1(すなわち、第1基底表現でのmビット記号 Bの逆元)を表す。必要であれば、mビット値Aは、畳み込み回路をシフトレジ スタとして動作させるか、または値Aをシフトレジスタにロードすることによっ て、ビット位置が揃えられる。 動作においては、反転回路が先ず初期化され、その後、mビット記号Bのビッ トBkが「B」レジスタにクロックされる。特定数のクロックサイクルの間、反 転回路は、従来のバイナリ指向のBerlekamp-Massey回路の畳み込み動作に類似し た動作を行う(例えば、現在の不一致(current discrepancy)dnを決定し、「A 」レジスタおよび中間レジスタの値を更新する)。mビット値Aは最後にはAレ ジスタに格納される。Aのmビット値は、(第1基底表現における)Aと(第2 基底表現における)αkBとの内積が、k<m−1のときゼロであるという制約 の下で展開される。 Aの生成は、数列{Sn}を用いる畳み込み反復によって起こる。mビット記 号Bに対しては、数列{Sn}の最初のm個の要素(例えば、So〜Sm-1)はB の最初のmビット(例えば、Bo〜Bm-1)である。従って、最初のm回のクロッ クサイクルの間、値Bo〜Bm-1がBレジスタにシリアルにクロックされる。数列 {Sn}の残りはフィードバック回路を用いて生成され、この回路はBのα倍数 のフィードバックを生成する。この方法で数列{Sn}の残りを生成することは 、数列{Sn}の定義、特に式Sj+k=(αkB)jから理解される。 数列{Sn}およびこの結果「A」レジスタのA値の生成は、(1)2m−2 クロックサイクルが実行されるか、または(2)m−1より長い長さが得られる (dn≠0の場合)まで続く。2m−2クロックサイクル前にm−1より長い長 さが得られる場合は、「A」レジスタの値は、サイクル2m−2に達するまで( クロックサイクル毎に1フリップフロップ)右側にシフトされる。このシフトは 左側の「A」レジスタにリーディングゼロを与え、これにより、「A」レジスタ のA値を実質的に右揃えさせる。 1つの実施態様では、「A」レジスタにおけるA値の揃えは、「A」レジスタ をシフトレジスタとして操作することによって実現される。各「A」レジスタは 関連するマルチプレクサを有し、低次の「A」レジスタのためのマルチプレクサ は畳み込み入力とレジスタシフト入力との間を選択するように作動する。畳み込 み回路によって行われる畳み込みにおける所定のクロックサイクルで、マルチプ レクサは、低次の「A」レジスタへの入力を畳み込み入力からレジスタシフト入 力に切り換えるように作動する。多項式の長さがm−1を超え、現在の不一致値 dnがゼロでないとき、所定のクロックサイクルが起こる。別の実施態様では、 mビット値Aを揃える手段は、「A」レジスタに接続されるシフトレジスタであ る。 本発明の反転回路はROMを使用せず、また主にパラレルではなくシリアルデ ータ転送を行う点で有利である。 図面の簡単な説明 本発明の上記のおよび他の目的、特徴、および利点は、添付の図面に示すよう な好適な実施態様についての下記のさらに詳しい説明によって明らかとなる。図 面において、同じ参照番号は同じ構成要素を示す。図面は一定の比例で縮小され ているとは限らず、本発明の原理を示す場合は強調されている。 図1は、従来の方法の概略ブロック図である。 図2は、別の従来の方法の概略ブロック図である。 図3は、β表現においてα乗算するための回路の概略図である。 図4は、本発明の基本的な反転回路の概略ブロック図である。 図4Aは、図4の反転回路の第1の実施例を示す概略ブロック図である。 図4Bは、図4の反転回路の第2の実施例を示す概略ブロック図である。 図4Cは、図4の反転回路の第3の実施例を示す概略ブロック図である。 図5は、図4Aの第1の実施例を詳細に示す概略図である。 図6は、改変フィードバック回路を示す概略図である。 図面の詳細な説明 GF(pm)において、各要素はm次元のベクトル空間におけるベクトルとし て見られ得る。基準の基底集合は、k=0,1,...,m−1に対して{αk }である。{αk}を、k=0,1,...,m−1に対してαk=αoαkである ような基底ベクトルの集合とする。この集合に対するいわゆるデュアル基底は{ βk}であり、ここで、βkは、kがjに等しいときはtr(αkβj)=αoであ り、kがjに等しくないときはtr(αkβj)=0であるように選択される。ト レース関数tr(x)は以下のように定義される。 Aを以下α表現と称される標準表現で表されるGF(pm)の1要素であると し、Bを以下β表現と称されるデュアル基底表現で表されるGF(pm)の1要 素であるとする。すなわち、 および、 とする。ここで、AkはベクトルAの成分であり、BkはベクトルBの成分である 。すると、以下の等式1が得られる。 CをABのβ表現であるとし、(αkB)jをβ表現におけるαkBの成分であ るとすると、等式1から以下の等式2が得られる。 すなわち、AとBとの積のβ表現のk番目の成分は、Aのα表現とαkBのβ 表現との内積である。 次に、等式1から以下の等式3が得られる。 等式3は、j+k=c+dならば、(αkB)j=(αdB)cであることを意味し 、またこれは以下の等式4を意味する。 等式3はまた以下の式を意味する。 G(x)=ΣgiiをGF(pm)体ジェネレータとする。一般性を失うこと なく、gm=1であると仮定することができる(gm=1でないならば、g(x) はgmで除算され、1に等しいリーディング係数を有する生成元を生成すること ができる)。定義により、G(α)=0、すなわち、 故に、 等式4および等式5は、β表現においてα乗算は、図3に示すようなフィード バックを伴うシフトに対応することを示す。等式3から以下の式が得られる。 上記の式および等式5は以下の等式6を意味する。 {Sn}を以下の方法で定義される数列とする。すなわち、Sj+k=(αkB)j とする。k=0は、n=0,1,...,m−1に対してSn=Bnであることを 意味することに留意されたい。次に、等式6から以下の式が得られる。 または、 等式2の(αkB)iをSi+kに置き換えると、以下の等式7が得られる。 次に、k<m−1のときCk=0とし、Cm-1=1、すなわちC=βm-1とする 。あるtに対してはC=αtである。Cに対するこの選択により、等式7の最初 のm−1個の等式は以下の漸化式の関係を形成する。 等式8を満たす線形フィードバックシフトレジスタ(LFSR)を生成するために、 Berlekamp-Masseyアルゴリズムが用いられ得る。S2m-2を生成するためには長さ mのLFSRを必要とし、実際にはそのタップはgiである。しかし、等式8は、 m−1以下の長さのLFSRは、k<2m−2のときSkを生成するために用いられ 得ることを示している。このアルゴリズムによって生成されるベクトルAは、A B=C=αtであるという特性を有する。故に、B-1=Aα-tである。数tは、 一方の基底表現から他方への線形変換も決定するαoの適切な選択によって任意 に選択され得る。αoは、通常は、変換に必要なロジックを最小限にし、またα- t 乗算を行うために選択される。変換が特定のアプリケーションのための考慮で ないならば、tは0となるようにされ得る。 構造 上述の数学的導出を考慮すれば、mビット記号Bの逆元(すなわちB-1)は積 Aα-tに等しいことが理解される。図4は、B-1の値に対応する電気信号を生成 する反転回路212を示す一般化されたブロック図である。上記の導出に従って、 図4の回路は、(Aのためのmビット値を決定する)回路100およびα-1乗算器1 02を示す。Bを形成するビットBkの入力値が、最初のmクロックの間、入力ラ イン104を介して回路100にシリアルに供給される。2m−2クロック後、(第1 すなわち基準基底表現における)値Aはmビットパラレルバス106を介してα-t 乗算器102に供給される。mビット出力バス108は、B-1(積Aα-t)を示す電気 信号を運ぶ。 下記にさらに詳しく示すように、Aの値に対応する電気信号を決定する回路10 0は様々な形態を取り得る。例えば、図4Aは、Aの値に対応する電気信号を決定 し、コントローラ120によって駆動される回路100Aを示す。図4Aに一般的に示す ように、回路100Aは、特に、シリアルライン122によって改変バイナリ指向Berle kamp-Massey回路124A(改変畳み込み回路としても知られる)に接続される第1 出力ピンを有するMUX404を含む。改変Berlekamp-Massey回路124Aは、mビットフ ィードバックバス126によってフィードバック回路128に、およびバス106によっ てα-t乗算器102に接続される。フィードバック回路128の出力は、MUX404の第2 入力にシリアルに供給される。MUX404の第1入力は、ビットBkの入力値を受け 取るように接続されている。コントローラ120は、クロック信号および制御信号 をライン120-1を介して改変Berlekamp-Massey回路124Aに、およびライン120-2 を介してフィードバック回路128に供給し、さらに、選択信号をライン120-3を介 してMUX404に供給する。コントローラ120は、回路124Aから信号dnを受け取る。 Aの値に対応する電気信号を決定する回路の第2の実施例が、回路100Bとして 図4Bに示される。図4Bの回路100Bは、主として、図4Aの改変バイナリ指向Berlek amp-Massey回路124が、より従来のバイナリ指向Berlekamp-Massey型回路124Bと シフトレジスタ132の組み合わせに置き換えられている点で、図4Aの回路100Aと は異なる。Berlekamp-Massey型回路124Bのいくつかのレジスタ(特に、σレジス タとして知られているものに対応する「A」レジスタ)は、mビットバス130に よってシフトレジスタ132のm個の入力ピンに接続される。シフトレジスタ132の 出力ピンはmビットバス106によってα-1乗算器102に接続される。 Aの値に対応する電気信号を決定する回路の第3の実施例が、回路100Cとして 図4Cに示される。図4Cの回路100Cは、主として、フィードバックバス126および フィードバック回路128が改変フィードバック回路140に置き換えられている点に おいて、図4Aの回路100Aとは異なる。改変フィードバック回路140は複数のレジ スタ1420〜142m-1を備え、レジスタ142m-1が、改変Berlekamp-Massey回路124Cの 供給と同時に、MUX404からシリアルに供給される。レジスタ1420〜142m-1はまた 、mクロックサイクルの間、値がレジスタ142m-1からレジスタ1420へと右側にシ フトされ得るようにシリアルに接続される。また、レジスタ1420〜142m-1の内容 もまた、それぞれのANDゲート1440〜144m-1の第1入力ピンにシリアルに接続さ れる。各ANDゲート144の第2入力ピンは「1」かまたは「0」の値のいずれかに 接続され、特定の体生成多項式に従ってフィードバック回路を形成する。ANDゲ ート1440および1441の出力ピンは、XORゲート1460の第1および第2ピンに接続 される。XORゲート1461〜146m-1は、対応する下付き番号を有するANDゲート144 の出力ピンに接続された第1入力ピン、および次に小さい下付き番号を有するXO Rゲート146の出力ピンに接続された第2入力ピンを有する。XORゲート146m-1の 出力ピンはMUX404の第2入力端子に接続される。 図5は、図示した体ジェネレータ(例えば、x8+x4+x3+x2+1)を実現するため の、図4Aの実施例の反転回路212の詳細を示す。反転回路212は、MUX404、フィー ドバック回路128、およびα-t乗算器回路102を含む。図5の残りの要素は、図4A の 改変バイナリ指向Berlekamp-Massey回路124Aに含まれる。 図5の改変Berlekamp-Massey回路124Aは、「B」レジスタ4000〜4007のバンク 、「A」レジスタ4010〜4017のバンク、および中間レジスタ4021〜4027のバンク を含む。回路124Aのバイナリ指向を考慮すれば、レジスタ400、401、および402 は1ビットフリップフロップであり、従って、本明細書ではフリップフロップと も呼ばれる。フリップフロップ400の出力ピンは、その内容が右側にシフトされ 得るように(例えば、フリップフロップ4007からフリップフロップ4006への出力 、フリップフロップ4006からフリップフロップ4005への出力など)接続される。 従来のBerlekamp-Massey回路と同様の方法で、フリップフロップ400および401の 対(同じ下付き番号)の出力ピンは(ANDゲート420で)ANDされる。ANDゲート42 0の出力ピンからの出力は、加算器4220〜4226(これらはGF(2)でXORゲートであ る)によって加算され、現在の不一致dn(加算器4220からの出力)に類似する ターム(term)を生成する。 従来のBerlekamp-Massey回路とは異なり、図5の改変Berlekamp-Massey回路12 4Aは、それぞれ対応するフリップフロップ4010〜4016への入力の選択を制御する 3入力MUX4240〜4246を含む。3入力MUX4240〜4246のそれぞれは、初期化値(「 0」)をロードする第1入力ピン、左側に隣接するフリップフロップ401からシ フトされた値を受け取る第2ピン、および隣接する中間レジスタ402の内容およ び不一致タームdnから導かれる更新値を受け取るために以下に述べる方法で接 続される第3ピンを含む。フリップフロップ4017は、値「0」または「1」のい ずれかを受け取る2入力MUX4247を有する。 図5の改変Berlekamp-Massey回路124Aはさらに、複数のANDゲート4260〜4266 を含み、各ANDゲート426は、関連する加算器428の第1入力に接続される出力ピ ンを有する(例えば、ANDゲート4260の出力ピンは加算器4280の第1入力ピンに 接続され、ANDゲート4261の出力ピンは加算器4281の第1入力ピンに接続される など)。各ANDゲート426の第2入力ピンは、加算器4220からの現在の不一致dn を受け取るように接続されている。各加算器428の第2入力ピンは、対応する( 同じ下付き番号の)フリップフロップ401の出力ピンに接続される。各加算器428 の出力ピンは、上述のように、対応する(同じ下付き番号の)3入力MUX424の第 3入力ピ ンに接続される。各ANDゲート426の第2入力ピンは、左側に隣接する中間フリッ プフロップ402の出力ピンに接続される。 各中間フリップフロップ402に対して3入力MUX430が設けられる。MUX4301〜43 06は、初期化値「0」を受け取るように接続される第1入力ピンを有する。MUX4 307は、それぞれ初期化値「1」および「0」を受け取るように接続される第1 および第2入力ピンを有する。MUX4301〜4306の第2入力ピンは、左側に隣接す る中間レジスタ402(下付き番号が1つ小さいレジスタ402)からの出力を受け取 るように接続される。MUX4301〜4307の第3入力ピンは、同じ下付き番号のAフ リップフロップ401からの出力を受け取るように接続される。 各Aフリップフロップ401は、(上述のような適切なMUX424の第2入力ピンを 介して)右側に隣接するフリップフロップ401に、(不一致dnの生成に用いるた めの)ANDゲート420に、(同じ下付き番号のMUX430を介して)同じ下付き番号の 中間フリップフロップ402に、および(リードインバス106を介して)α-t乗算器 回路102に接続される出力ピンを有する。 従って、図5の改変Berlekamp-Massey回路124Aは、Bレジスタ(フリップフロ ップ)400のバンクB400、Aレジスタ(フリップフロップ)401のバンクB401、お よび中間レジスタ(フリップフロップ)402のバンクB402を含む。本明細書にお いては、フリップフロップは1ビットレジスタであり、1ビットより大きい容量 を有するレジスタは、本発明の他の局面が実行される限り利用され得ることは理 解され得る。バンクB400およびB401のフリップフロップの数が「m」(図示した 実施例ではm=8)である場合、バンクB402のフリップフロップ数はm−1であ る。さらに、図5に示すように、少なくともm−1の低次の「A」フリップフロ ップ401は関連する3入力MUX424を有し、これにより、バンクB401が右側にシフ トするシフトレジスタとして働くことが可能になる。 図示した実施例で用いられる特定の体生成多項式を考慮すれば、図5のフィー ドバック回路128は、加算器4402、4403、および4404を備えている。加算器4402 の第1入力ピンはフリップフロップ4000の出力ピンに接続され、一方、加算器44 02の第2入力ピンはフリップフロップ4002の出力ピンに接続される。加算器4403 の第1入力ピンは加算器4402の出力ピンに接続され、一方、加算器4403の第2入 力 ピンはフリップフロップ4003の出力ピンに接続される。同様に、加算器4404の第 1入力ピンは加算器4403の出力ピンに接続され、一方、加算器4404の第2入力ピ ンはフリップフロップ4004の出力ピンに接続される。加算器4404の出力ピンはMU X404の第2入力に接続され、MUX404の第1入力ピンは、反転されるm記号のBの Bkビットを受け取るように接続される。 図5のα-t乗算器回路102は、バス106を伝送されるAの値にα-2を乗算するよ うに構成されている。さもなくば、数学的導出に関連して上述したように、「t 」の値は選択され得る。図5のα-t乗算器回路102は、特に、当業者には理解さ れ得るように、α2の乗算を提供するように特異的に接続された複数の加算器450 〜454を備えている。mビットパラレルバス108を介して供給されるα-t乗算器回 路102の出力は値Aα-t=B-1であり、これは反転回路212に入力されるmビット 記号Bの所望の逆元である。 図6は、図4Aまたは図4Bの回路128のために用いられ得る一般的なフィードバ ック回路を示す。図6の回路の構成および動作は、図4Cの改変フィードバック回 路140を参照すれば理解される。 動作 本明細書に記載されたすべての実施例の最終的な出力はmビット電気信号であ り、これは、mビット入力記号B(第2すなわちデュアル基底表現における)の 逆元を表す。特に、上述の数学的導出を考慮すれば、最終出力信号はB-1=Aα-t である。mビット値Aに対応する電気信号は、回路100(例えば、図4Aの回路1 00A、図4Bの回路100B、および図4Cの回路100C)によって生成され、バス106を介 してα-t乗算器回路102に出力される。α-t乗算器回路102からの最終出力はバス 108で得られ、Aとα-tとの積、すなわちB-1である。 図4Aおよび図5に示した実施例の動作について先ず述べる。これにより、図4B および図4Cの実施例の動作の説明に対する理解が得られ得る。 動作においては、図5の反転回路212が先ず初期化され、その後、mビット記 号BのビットBkがレジスタ400にクロックされる。特定数のクロックサイクルの 間、反転回路212は、従来のバイナリ指向Berlekamp-Massey回路の畳み込み動作 に類似した動作を行う(例えば、現在の不一致dnを決定し、レジスタ401および 402の値を更新する)。mビット値Aは最後にはレジスタ401に格納される。Aの mビット値は、(第1基底表現における)Aと(第2基底表現における)αkB との内積が、k<m−1のときゼロであるという制約の下で展開される。 上述のように、特に等式6〜8を参照して、例えば、Aの展開は、数列{Sn }を用いる畳み込み反復によって起こる。mビット記号Bに対しては、数列{Sn }の最初のm個の要素(例えば、So〜Sm-1)はBの最初のmビット(例えば 、Bo〜Bm-1)である。従って、最初のm回のクロックサイクルの間、値Bo〜 Bm-1がレジスタ400にシリアルにクロックされる。数列{Sn}の残りはフィー ドバック回路128を用いて生成され、この回路はBのα倍のフィードバックを生 成する。この方法で数列{Sn}の残りを生成することは、数列{Sn}の前述の 定義、特に式Sj+k=(αkB)jから理解される。 数列{Sn}およびこの結果レジスタ401のA値の生成は、(1)2m−2クロ ックサイクルが実行されるか、または(2)m−1より長い長さが得られる(dn ≠0の場合)まで続く。2m−2クロックサイクル前にm−1より長い長さが 得られる場合は、レジスタ(フリップフロップ)401の値は、サイクル2m−2 に達するまで右側にシフトされる(クロックサイクル毎に1フリップフロップ) 。このシフトは左レジスタ401にリーディングゼロを与え、これにより、レジス タ401のA値を実質的に右揃えさせる。 図5の反転回路212の動作をさらに詳しく述べる。コントローラ120はnおよび 長さ「L」を含む多くの値のトラック(track)を保持する。さらに、コントロー ラ120は現在の不一致値dn(加算器4220からの出力)を受け取るように接続され ている。コントローラ120はまた、MUX404、424、および430への選択信号の供給 を含む、改変Berlekamp-Massey畳み込み回路124Aの動作を順序化および時間調整 する。コントローラ120は、ステートマシーンまたはプログラマブルコンピュー タなどの配線による回路であり得る。いずれの場合でも、コントローラ120が本 明細書にて述べる動作およびパラメータを統括するようにコントローラ120を設 計/プログラムする方法は当業者には既知である。 先ず、コントローラ120はn=0を設定し、フリップフロップ4017および4027 が 「1」に初期化されるようにMUX4247および4307に選択信号を供給する。コント ローラ120は、フリップフロップ4016〜4010およびフリップフロップ4026〜4021 が「0」に初期化されるように、MUX4246〜4240およびMUX4306〜4300に選択信号 を供給する。コントローラ120はまた、反転されるmビット記号Bの入力ビット Bkがライン104からフリップフロップ4007にクロックされ得るように、MUX4047 に選択信号を供給する。 初期化後、最初のmクロックサイクルの間、ビットBk(数列{Sn}の構成要 素So〜Sm-1)はフリップフロップ4007〜4000にシリアルにクロックされる。す なわち、クロック0の間は、Berlekamp-Massey型(BK型)反復に対して、Bo がフリップフロップ4007にクロックされる。Berlekamp-Massey型(BK型)反復 は、最終的にはフリップフロップ4017および4027を含む「スライス」の他の要素 を含み、次の(例えば、右側に隣接する)スライスのフリップフロップ4016およ び4026の値を更新する。クロック1の間は、Boはフリップフロップ4006にシフ トされ、B1は、2つのスライスを含むBk型反復のためにフリップフロップ4007 にクロックされる。既にロードされたBkSのシフトおよび別のBkSのクロック インは、フリップフロップ4017〜4000がそれぞれビット値B7〜Boによりロード されるまで続く。 最初のmクロックサイクルの後、コントローラ120は、フィードバック回路128 からのα倍フィードバック信号がMUX404を介してフリップフロップ4007に供給さ れるように、MUX404への選択入力を変更する。MUX404へのこのような選択信号の 変更により、数列{Sn}の残り(すなわち、Sk、k>m−1)がBのα倍であ ることが可能になる。つまり、反復mの間はSm=(αB)m-1が生成され、反復 m+1の間はSm+1=(α2B)m-1が生成され、反復m+2の間はSm+2=(α3B )m-1が生成されるなどである。 フィードバック回路128の上述の動作は、数列{Sn}=Sj+k=(αkB)jの 前述の導出に関連して理解される。m回目のクロックサイクル後、jは一定に保 持され、kは後に続く各クロックのために増分される。 BK型反復は上述の方法で、(1)2m−2クロックサイクルが実行されるか 、または(2)m−1より長い長さが得られる(dn≠0の場合)まで続く。2 m −2クロックサイクル前にm−1より長い長さが得られる場合は、コントローラ 120はBK型反復を停止し、残りの2m−2クロックの間、一連のクロック化シ フトを行う。特に、コントローラ120は、値「0」がフリップフロップ4017にク ロックされるように、MUX4247に選択信号を供給する。コントローラ120は、後に 続く各クロック化シフトのために、フリップフロップ4047〜4011からの値がそれ ぞれフリップフロップ4016〜4010へと右側にシフトされるように、MUX4246〜4240 に選択信号を供給する。後に続く各クロック化シフトのために、フリップフロ ップ4017に「0」がロードされる。 クロック化シフトの結果、適切な数のリーディングゼロが導入され、またフリ ップフロップ401の値Aが右ビット位置が揃えられる。このような右揃えが起こ る場合は(すべての場合とは限らない)、シフトの開始前に、左からシフトイン される数と少なくとも同じ数のゼロが最右端のフリップフロップ401に存在する 場合である。従って、クロック化シフトは実質的にはゼロ充填動作を構成する。 2m−2クロックサイクルの終わりには、図5の反転回路212は、フリップフ ロップ401に(第1基底表現における)値Aを有する。フリップフロップ401の各 々の1ビット値は(バス106の各リードを介して)α-t乗算器102に供給される。 α-t乗算器102の8ビットパラレル出力はバス108に出力され、求められた値B-1 を提供する。 図4Bの実施例の動作は、到達長さL≧m(dnがゼロでない場合)において図4 Aおよび図5に示した実施例とは異なる。m−1を超える長さ変更があると、フ リップフロップ401のためのゼロ充填およびシフト動作を行う代わりに、フリッ プフロップ401の値は(パラレルバス130を介して)8ビットシフトレジスタ132 にクロックされる。次に、残りのクロックの間(クロック2m−2まで)、シフ トレジスタ132の最左端位置にゼロがロードされ、各ビットは右側にシフトされ る(クロックサイクル毎に1ビット位置)。2m−2クロックの終わりには、シ フトレジスタ132のmビット値は(バス106を介して)α-t乗算器102に供給され る。 図4Cの実施例の動作は、主に、数列{Sn}の生成、および特にk≧mのとき Skを生成することにおいて、図4Aおよび図5に示した実施例とは異なる。特に 、 最初のmクロックサイクルの間、フリップフロップ400にロードされるのとほと んど同じ方法および同じ時間に、Bo,...B7がレジスタ142にシリアルにロ ードされる。すなわち、クロック0の間に、Boはフリップフロップ4007とレジ スタ142m-1の両方にロードされ、クロック1の間に、Boはフリップフロップ4006 とレジスタ142m-2にシフトされ、B1はフリップフロップ4007とレジスタ142m-1 の両方にロードされるなどである。次に、mクロックを実行した後、回路140か ら改変Berlekamp-Massey畳み込み回路124Cへのαフィードバック値を乗算するこ とによって、Bのα倍が得られる。従って、図4Cの実施例では、改変Berlekamp- Massey畳み込み回路124Cはフィードバック回路を含まない。代わりに、フィード バック回路140が個別に設けられる。 コントローラ120の実行について、pが必ずしも2ではない場合のGF(pm) に対する一般的な場合について述べる以下の手順によってさらに述べる。 等式7の最後の等式により、上記の和が1であり、よってD(x)がdnで除 算されなければならないことが必要である。また、D(x)のための係数の順序 はAの成分の順序の反対である。従って、k=0,1,...,m−1に対して Ak=Dm-1-k/dnであり、これはB-1αtのためのα表現である。 α表現からβ表現への変換は等式1に基づく。式1では、Bは、j=0,1, ...,m−1に対してajであるように設定される。トレース関数を評価する ことにより、(αjk、すなわち、a基底集合であるαの最初のm乗のβ表現の 成分を生成する。Akがα表現の要素の成分であり、Bkがβ表現の同じ要素の成 分であるとき、以下の式が得られる。 n番目の成分に対しては1をおよびその他に対しては0を有するβnにBを設 定することにより、反転変換がこの式から得られ得る。これは、k=0,1,. ..,m−1のときAk、すなわち、(βnkによって示されるBnのa表現の成 分に対して解かれ得るm個の式を生成する。n=0,1,...,m−1に対し てこれらを得ると、以下の式が得られる。 図4Aおよび図5に示す回路は8ビット記号、すなわち、体がGF(28)の場 合のものである。体生成多項式は、G(X)=X8+X4+X3+X2+1であるよ うに選択される。αoはα-4であるように選択される。αtはα2であるように計 算される。バイナリの場合には、dmはいつでも1であり、最後のdnは1である 。従って、アルゴリズムの終わりにはAk=Dm-1-kである。コントローラ120の 動作は2つの変数、すなわちループカウントnおよび長さLに基づく。最初のク ロックサイクルでは、nは0に設定され、BoはMUX404を介してフリップフロッ プ4007にシフトされ、フリップフロップ4017および4027は1に設定され、残りの 401および402フリップフロップはそれぞれの入力MUXを介して0に設定される。 プロセスはさらに14回のクロックサイクルを要求する。各クロックでnが増分 される。また、n−L+1>L、n−L+1<8、およびdnが0でないとき、 Lはn−L+1に変更される。各クロックで、Lが変更されるとき、フリップフ ロップ402はそれぞれの入力MUXを介してフリップフロップ401からロードされる 。Lが変更されないとき、フリップフロップ402は右側にシフトされ、4027へは 0がシフトされる。各クロックで、n−L+1<8のとき、401フリップフロッ プへの入力MUXは、各401フリップフロップが、dnとANDされる対応する402フリ ップフロップの内容を付加することによって更新されるように切り換えられる。 n−L+1>7のとき、フリップフロップ401は右側にシフトされ、4017へは0 がシフトされる。 8クロック後、Bはフリップフロップ400にシフトされている。残りの7クロ ックに対しては、MUX404は、フリップフロップ4007がフィードバック信号を受け 取るように設定される。これにより、数列Skの残りの要素が生成され得る。 Bの逆元の完了後、図5に示すように、レジスタ401のバイトにα-2を掛ける ことによって、図5のOUTビットが得られる。 上述の構成および動作の説明から、本発明は、m≠8およびt≠2であり、ま た異なる体ジェネレータを有する実施態様を包含することが理解され得る。この ような他の実施態様のために本明細書で述べた回路を改変する方法は、当業者で あれば容易に理解され得る。例えば、特定のアプリケーションによれば、記号B のビット数を変動させることは、フリップフロップ400、401、および402の数を 変動させることを必ずしも包含しない。本明細書に述べた指針により、異なる体 生成多項式のための適切なフィードバック回路(回路128など)、および異なる tのための適切なα-t乗算器を構成する方法は当業者には既知である。 本発明を好適な実施態様に関連して特に図示および記述したが、本発明の精神 および範囲から離れることなく、形態および詳細において様々な変形がなされ得 ることは当業者であれば理解され得る。

Claims (1)

  1. 【特許請求の範囲】 排他的な特性または特権がクレームされる本発明の実施態様は、以下のように 定義される。 1.mビット記号Bの逆元を決定する反転回路であって、該記号Bはデュアル基 底表現で表され、該反転回路は、 該記号Bが供給され、mビット値Aに対応する電気信号を生成し格納する反復 畳み込み回路であって、該値Aは第1基底表現であり、該値Aに対する該電気信 号は、k<m−1のときAとαkBとの内積が0に等しくなるように該畳み込み 回路によって生成される、反復畳み込み回路と、 該畳み込み回路に接続され、該畳み込み回路に、Bで始まりBのα倍数をとる ことによって拡張される数列を用いて畳み込みを実行させるフィードバック回路 と、 該畳み込み回路に接続され、該値Aとα-tとの積に対応する電気出力信号を生 成する乗算器回路であって、αは体要素であり、tは整数であり、該乗算器回路 からの該電気出力信号は第1基底表現における該mビット記号Bの逆元を表す、 乗算器回路と を備えている反転回路。 2.前記畳み込み回路は、前記mビット値Aに対応する電気信号が格納されるメ モリを備え、前記反転回路は、該mビット値Aを揃える手段をさらに備えている 、請求項1に記載の反転回路。 3.前記mビット値Aを揃える手段は、前記畳み込み回路の前記メモリをシフト レジスタとして操作する、請求項2に記載の反転回路。 4.前記メモリはm個のレジスタを備え、前記mビット値Aを揃える手段は、該 m個のレジスタのそれぞれに対して関連するマルチプレクサを含み、複数のレジ スタに対して、該関連するマルチプレクサは、畳み込み入力とレジスタシフト入 力との間を選択するように作動する、請求項3に記載の反転回路。 5.前記畳み込み回路によって行われる畳み込みにおける所定のクロックサイク ルで、前記複数のレジスタに対して、前記関連するマルチプレクサは該レジスタ への入力を畳み込み入力からレジスタシフト入力へ切り換えるように作動する、 請求項4に記載の反復回路。 6.前記畳み込み回路は、多項式および現在の不一致値dnの係数を生成し、該 多項式の長さがm−1を超え、かつ、該現在の不一致値dnがゼロでない場合に 、前記所定のクロックサイクルが起こる、請求項5に記載の反転回路。 7.前記メモリがm個のレジスタを備え、また前記mビット値Aを揃える手段が 、該レジスタに接続されるシフトレジスタである、請求項2に記載の反転回路。 8.前記フィードバック回路の構成は、体生成多項式に依存する、請求項1に記 載の反転回路。 9.m=8である、請求項1に記載の反転回路。 10.入力されたmビット記号Bに対するmビット値Aを決定する回路であって 、該記号Bはデュアル基底表現で表され、該回路は、 該記号Bが供給され、該mビット値Aに対応する電気信号を生成する反復畳み 込み回路であって、該値Aは第1基底表現であり、該値Aに対する該電気信号は 、k<m−1のときAとαkBとの内積が0に等しくなるように該畳み込み回路 によって生成される、反復畳み込み回路と、 該畳み込み回路に接続され、該畳み込み回路に、Bで始まりBのα倍数をとる ことによって拡張される数列を用いて畳み込みを実行させるフィードバック回路 と、 該畳み込み回路によって生成される該値Aのビット位置を揃える手段と を備えている回路。 11.前記値Aのビット位置を揃える手段は、前記畳み込み回路のメモリをシフ トレジスタとして操作する、請求項10に記載の回路。 12.前記メモリはm個のレジスタを備え、前記値Aのビット位置を揃える手段 は、該m個のレジスタのそれぞれに対して関連するマルチプレクサを含み、複数 のレジスタに対して、該関連するマルチプレクサは、畳み込み入力とレジスタシ フト入力との間を選択するように作動する、請求項11に記載の回路。 13.前記畳み込み回路によって行われる畳み込みにおける所定のクロックサイ クルで、前記複数のレジスタのために、前記関連するマルチプレクサは、該レジ スタへの入力を、畳み込み入力からレジスタシフト入力に切り換えるように作動 する、請求項12に記載の回路。 14.前記畳み込み回路は、多項式および現在の不一致値dnの係数を生成し、 該多項式の長さがm−1を超え、かつ、該現在の不一致値dnがゼロでない場合 に、前記所定のクロックサイクルが起こる、請求項13に記載の回路。 15.前記メモリがm個のレジスタを備え、前記値Aのビット位置を揃える手段 が、前記メモリに接続されるシフトレジスタである、請求項11に記載の回路。 16.前記回路は、前記畳み込み回路に接続され、前記値Aとα-tとの積に対応 する電気出力信号を生成する乗算器回路をさらに備えており、αは体要素であり 、tは整数であり、該乗算器回路からの該電気出力信号は、第1基底表現におけ る前記mビット記号Bの逆元を表す、請求項10に記載の回路。 17.前記フィードバック回路の構成は、体生成多項式に依存する、請求項10 に記載の回路。 18.m=8である、請求項10に記載の回路。 19.入力されたmビット記号Bに対するmビット値Aを決定する回路であって 、該記号Bはデュアル基底表現で表され、該回路は、 該記号Bが供給され、該mビット値Aに対応する電気信号を生成し、畳み込み レジスタのバンクに格納する反復畳み込み回路であって、該値Aは第1基底表現 であり、該値Aに対する該電気信号は、k<m−1のときAとαkBとの内積が 0に等しくなるように該畳み込み回路によって生成される、反復畳み込み回路と 、 該畳み込み回路に接続され、該畳み込み回路に、Bで始まりBのα倍数をとる ことによって拡張される数列を用いて畳み込みを実行させるフィードバック回路 と、 該畳み込み回路の該畳み込みレジスタの該バンクをシフトレジスタに変換する 変換手段と を備えている回路。 20.前記メモリはm個のレジスタを備え、前記変換手段は、前記バンク内に含 まれる複数のレジスタに対して関連するマルチプレクサを含み、該複数のレジス タに対して、該関連するマルチプレクサは、畳み込み入力とレジスタシフト入力 との間を選択するように作動する、請求項19に記載の回路。 21.前記畳み込み回路によって行われる畳み込みにおける所定のクロックサイ クルで、前記複数のレジスタに対して、前記関連するマルチプレクサは、該レジ スタへの入力を畳み込み入力からレジスタシフト入力に切り換えるように作動す る、請求項20に記載の回路。 22.前記畳み込み回路は、多項式および現在の不一致値dnの係数を生成し、 該多項式の長さがm−1を超え、かつ、該現在の不一致値dnがゼロでない場合 に、前記所定のクロックサイクルが起こる、請求項21に記載の回路。 23.mビット記号Bの逆元を決定する方法であって、該記号Bはデュアル基底 表現で表され、該方法は、 該記号Bのビットに対応する電気信号を反復畳み込み回路に供給する工程と、 該畳み込み回路の反復を行ってmビット値Aに対応する電気信号を生成する工 程であって、該値Aは第1基底表現であり、該値Aに対する該電気信号は、k< m−1のときAとαkBとの内積が0に等しくなるように該畳み込み回路によっ て生成され、m回の反復より多い反復がBのα倍数を用いて行われる工程と、 該mビット値Aに対応する電気信号をメモリに格納する工程と、 該値Aとα-tとの積に対応する電気出力信号を生成する工程であって、αは体 要素であり、tは整数であり、該電気出力信号は該第1基底表現における該mビ ット記号Bの逆元を表す工程と を包含する方法。 24.前記メモリ内の前記mビット値Aを揃える工程をさらに包含する、請求項 23に記載の方法。 25.前記メモリは前記畳み込み回路の一部を形成し、前記mビット値Aを揃え る工程は、前記畳み込み回路の前記メモリのにおける前記値Aのビットをシフト する工程を包含する、請求項24に記載の方法。 26.前記メモリは複数のレジスタを備えており、前記方法は、複数の入力のう ちの1つを該複数のレジスタに多重伝送する工程をさらに包含し、該複数の入力 は、畳み込み入力およびレジスタシフト入力を含む、請求項25に記載の方法。 27.前記畳み込み回路によって行われる畳み込みにおける所定のクロックサイ クルで、前記レジスタシフト入力は前記複数のレジスタに多重伝送される、請求 項26に記載の方法。 28.前記畳み込み回路は、多項式および現在の不一致値dnの係数を生成し、 該多項式の長さがm−1を超え、かつ、該現在の不一致値dnがゼロでない場合 に、前記所定のクロックサイクルが起こる、請求項27に記載の方法。 29.前記mビット値Aを揃える工程は、該mビット値を前記メモリに接続され たシフトレジスタにロードする工程を包含する、請求項24に記載の方法。 30.m=8である、請求項23に記載の方法。 31.前記記号Bのビットに対応する前記電気信号は、前記反復畳み込み回路に シリアルに供給される、請求項23に記載の方法。 32.入力されたmビット記号Bに対するmビット値Aを決定する方法であって 、該記号Bはデュアル基底表現で表され、該方法は、 該記号Bのビットに対応する電気信号を反復畳み込み回路に供給する工程と、 該畳み込み回路の反復を行ってmビット値Aに対応する電気信号を生成する工 程であって、該値Aは第1基底表現であり、該値Aに対する該電気信号は、k< m−1のときAとαkBとの内積が0に等しくなるように該畳み込み回路によっ て生成され、m回の反復より多い反復がBのα倍数を用いて行われる工程と、 該mビット値Aに対応する電気信号をメモリに格納する工程と、 該畳み込み回路によって生成される該値Aのビット位置を揃える工程と を包含する方法。 33.前記メモリは前記畳み込み回路の一部を形成し、前記mビット値Aを揃え る工程は、前記畳み込み回路の前記メモリにおいて前記値Aのビットをシフトす る工程を包含する、請求項32に記載の方法。 34.前記メモリは複数のレジスタを備えており、前記方法は、複数の入力のう ちの1つを該複数のレジスタに多重伝送する工程をさらに包含し、該複数の入力 は、畳み込み入力およびレジスタシフト入力を含む、請求項33に記載の方法。 35.前記畳み込み回路によって行われる畳み込みにおける所定のクロックサイ クルで、前記レジスタシフト入力は前記複数のレジスタに多重伝送される、請求 項34に記載の方法。 36.前記畳み込み回路は、多項式および現在の不一致値dnの係数を生成し、 該多項式の長さがm−1を超え、かつ、該現在の不一致値dnがゼロでない場合 に、前記所定のクロックサイクルが起こる、請求項35に記載の方法。 37.前記mビット値Aを揃える工程は、前記mビット値を前記メモリに接続さ れたシフトレジスタにロードする工程を包含する、請求項32に記載の方法。 38.m=8である、請求項32に記載の方法。 39.前記記号Bのビットに対応する前記電気信号は、前記反復畳み込み回路に シリアルに供給される、請求項32に記載の方法。
JP7513258A 1993-11-04 1994-10-18 有限体反転 Ceased JPH09507110A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14775893A 1993-11-04 1993-11-04
US147,758 1993-11-04
PCT/US1994/012137 WO1995012845A1 (en) 1993-11-04 1994-10-18 Finite field inversion

Publications (1)

Publication Number Publication Date
JPH09507110A true JPH09507110A (ja) 1997-07-15

Family

ID=22522782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7513258A Ceased JPH09507110A (ja) 1993-11-04 1994-10-18 有限体反転

Country Status (5)

Country Link
US (1) US5467297A (ja)
EP (1) EP0727066A4 (ja)
JP (1) JPH09507110A (ja)
SG (1) SG50474A1 (ja)
WO (1) WO1995012845A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010513941A (ja) * 2006-12-14 2010-04-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 効率的なデータ完全性保護
JP2012503829A (ja) * 2008-09-23 2012-02-09 クゥアルコム・インコーポレイテッド リニアフィードバックシフト命令を実行するためのシステムおよび方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2723455B1 (fr) * 1994-08-05 1996-10-31 Sgs Thomson Microelectronics Circuit d'inversion d'elements d'un corps de galois
US6125469A (en) * 1994-10-18 2000-09-26 Cirrus Logic, Inc. Error correction method and apparatus
US5812438A (en) * 1995-10-12 1998-09-22 Adaptec, Inc. Arithmetic logic unit and method for numerical computations in galois fields
US5701314A (en) 1995-12-21 1997-12-23 Cirrus Logic, Inc. On-the-fly error correction using thermal asperity erasure pointers from a sampled amplitude read channel in a magnetic disk drive
EP0782070A1 (en) * 1995-12-28 1997-07-02 Daewoo Electronics Co., Ltd Finite field inverter
FR2754616B1 (fr) * 1996-10-11 1998-12-04 Sgs Thomson Microelectronics Procede et circuit de division d'elements d'un corps de galois
GB9707861D0 (en) 1997-04-18 1997-06-04 Certicom Corp Arithmetic processor
US6098192A (en) * 1997-09-17 2000-08-01 Cirrus Logic, Inc. Cost reduced finite field processor for error correction in computer storage devices
US6286022B1 (en) 1997-11-18 2001-09-04 Rsa Security Inc. Efficient finite field basis conversion involving a dual basis
US6009450A (en) * 1997-12-24 1999-12-28 Motorola, Inc. Finite field inverse circuit
US6044389A (en) * 1997-12-29 2000-03-28 Quantum Corporation System for computing the multiplicative inverse of a field element for galois fields without using tables
US6052704A (en) * 1998-01-12 2000-04-18 National Science Council Exponentiation circuit and inverter based on power-sum circuit for finite field GF(2m)
US5964826A (en) * 1998-01-13 1999-10-12 National Science Council Division circuits based on power-sum circuit for finite field GF(2m)
US6047395A (en) * 1998-01-30 2000-04-04 Cirrus Logic, Inc. Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension
KR100304193B1 (ko) * 1998-02-06 2001-11-22 윤종용 리드솔로몬복호기의역수구현회로
US6272659B1 (en) 1998-05-18 2001-08-07 Cirrus Logic, Inc. Error correction code processor employing adjustable correction power for miscorrection minimization
US6370671B1 (en) * 1998-06-18 2002-04-09 Globespan, Inc. Configurable decoder and method for decoding a reed-solomon codeword
US6199087B1 (en) * 1998-06-25 2001-03-06 Hewlett-Packard Company Apparatus and method for efficient arithmetic in finite fields through alternative representation
US6128760A (en) * 1998-10-13 2000-10-03 Lsi Logic Corporation Method and apparatus for calculating a CRC remainder
US7277540B1 (en) * 1999-01-20 2007-10-02 Kabushiki Kaisha Toshiba Arithmetic method and apparatus and crypto processing apparatus for performing multiple types of cryptography
US6662336B1 (en) * 1999-07-06 2003-12-09 Cirrus Logic, Inc. Error correction method and apparatus
IL135247A0 (en) * 2000-03-23 2003-06-24 Cipherit Ltd Method and apparatus for the calculation of modular multiplicative inverses
JP3659320B2 (ja) * 2000-06-21 2005-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 乗算モジュール、乗法逆元演算回路、乗法逆元演算制御方式、該乗法逆元演算を用いる装置、暗号装置、誤り訂正復号器
US6742158B2 (en) * 2001-05-30 2004-05-25 Telefonaktiebolaget Lm Ericsson(Publ) Low complexity convolutional decoder
US7089276B2 (en) * 2002-10-18 2006-08-08 Lockheed Martin Corp. Modular Galois-field subfield-power integrated inverter-multiplier circuit for Galois-field division over GF(256)
US7167886B2 (en) * 2003-05-06 2007-01-23 Lsi Logic Corporation Method for constructing logic circuits of small depth and complexity for operation of inversion in finite fields of characteristic 2
US7475329B2 (en) * 2005-02-16 2009-01-06 Hitachi Global Storage Technologies Netherlands B.V. Techniques for performing Galois field logarithms for detecting error locations that require less storage space
US8762818B1 (en) * 2009-03-05 2014-06-24 Marvell International Ltd. System and methods for performing decoding error detection in a storage device
JP5554357B2 (ja) * 2012-03-15 2014-07-23 株式会社東芝 演算装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0096165B1 (en) * 1982-06-15 1988-06-08 Kabushiki Kaisha Toshiba Apparatus for dividing the elements of a galois field
US4994995A (en) * 1990-03-14 1991-02-19 International Business Machines Corporation Bit-serial division method and apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010513941A (ja) * 2006-12-14 2010-04-30 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 効率的なデータ完全性保護
JP2012503829A (ja) * 2008-09-23 2012-02-09 クゥアルコム・インコーポレイテッド リニアフィードバックシフト命令を実行するためのシステムおよび方法

Also Published As

Publication number Publication date
US5467297A (en) 1995-11-14
EP0727066A1 (en) 1996-08-21
WO1995012845A1 (en) 1995-05-11
EP0727066A4 (en) 1997-01-15
SG50474A1 (en) 1998-07-20

Similar Documents

Publication Publication Date Title
JPH09507110A (ja) 有限体反転
US5107503A (en) High bandwidth reed-solomon encoding, decoding and error correcting circuit
US5446743A (en) Coefficient updating method and apparatus for Reed-Solomon decoder
EP0066618B1 (en) Bit serial encoder
US4649541A (en) Reed-Solomon decoder
US4873688A (en) High-speed real-time Reed-Solomon decoder
US5040179A (en) High data rate BCH encoder
JP4978625B2 (ja) 誤り訂正符号化方法及び装置
US6571368B1 (en) Systolic Reed-Solomon decoder
US4797848A (en) Pipelined bit-serial Galois Field multiplier
US6467063B1 (en) Reed Solomon coding apparatus and Reed Solomon coding method
US9218158B2 (en) N-valued shift registers with inverter reduced feedback logic functions
JPH07202715A (ja) 時間定義域代数エンコーダ/デコーダ
US20050166122A1 (en) System and method for generating cyclic codes for error control in digital communications
US7865806B2 (en) Methods and apparatus in finite field polynomial implementations
JP3834122B2 (ja) 誤り位置検出多項式計算装置
US5471485A (en) Reed-solomon decoder using discrete time delay in power sum computation
KR100322739B1 (ko) 유한체연산방법및그장치
JPH09505952A (ja) プログラム可能な冗長/シンドローム生成装置
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
US5471486A (en) Methods and devices for encoding data symbols in accordance with a BCH code to obtain a code word in which parity symbols are located in the middle of the code word
EP0584864B1 (en) A hardware-efficient method and device for encoding BCH codes and in particular Reed-Solomon codes
EP0793352B1 (en) Apparatus for determining the error evaluator polynomial for use in a Reed-Solomon decoder
Truong et al. The VLSI Design of a Reed-Solomon Encoder Using Berlekamp’s Bit-Serial Multiplier Algorithm
Fenn et al. The design of Reed-Solomon codecs over the, dual basis

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040413

A313 Final decision of rejection without a dissenting response from the applicant

Free format text: JAPANESE INTERMEDIATE CODE: A313

Effective date: 20040830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041005