JPH10177497A - リードソロモンデコーダのためのガロア域乗算器 - Google Patents

リードソロモンデコーダのためのガロア域乗算器

Info

Publication number
JPH10177497A
JPH10177497A JP9325121A JP32512197A JPH10177497A JP H10177497 A JPH10177497 A JP H10177497A JP 9325121 A JP9325121 A JP 9325121A JP 32512197 A JP32512197 A JP 32512197A JP H10177497 A JPH10177497 A JP H10177497A
Authority
JP
Japan
Prior art keywords
multiplier
decoder
circuit
multipliers
constant coefficient
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
JP9325121A
Other languages
English (en)
Inventor
Thomas Foxcroft
フォックスクラフト トーマス
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.)
Discovision Associates
Original Assignee
Discovision Associates
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 Discovision Associates filed Critical Discovision Associates
Publication of JPH10177497A publication Critical patent/JPH10177497A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • 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
    • 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

Landscapes

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

Abstract

(57)【要約】 リードソロモンデコーダは、最適化されたガロア体乗算
回路を備える。その回路は、線形連鎖に接続された複数
の乗算器を有し、第1の乗算器の第1の被乗数は大きさ
Aであり、第2の被乗数は定数である。その回路はαj
まで合計されるアルファ値の線形結合を演算し、連鎖中
の各乗算器は後続のアルファ値を生成する。複数のセレ
クタが、大きさαjに従って乗算器の出力をイネーブル
する。好適には排他的論理和ゲートの論理回路網により
実現される加算回路が、乗算器のイネーブルされた出力
を加算して最終的な積を生成するセレクタに接続され
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、前進型誤訂正コー
ドのデコーダに関する。より詳細には、本発明はリード
ソロモン復号化中のガロア体算術において乗法演算を行
うための構造に関する。
【0002】
【従来の技術】リードソロモン符号化は、現在では、デ
ィジタル技術による画像及び音声データの近代的送信に
おいて送信データを保護するための誤り訂正コードとし
て確立されている。様々の実行についての開示がなされ
ている。例えば、我々の出願、EP 96301869.2は、ディ
ジタル受信機内のリードソロモンデコーダの超大規模集
積回路(VLSI)による実行を記載する。
【0003】
【発明が解決しようとする課題】リードソロモン符号化
の近代的な応用は、欧州電気通信規格(European Telec
ommunications Standard)DRAFT pr ETS 300744(May 1
996)で提案され、それは符号化直交周波数分割多重("
COFDM")を使用する。その規格は、フレーミング構造、
チャンネル符号化、及びディジタル地上テレビジョンの
ための変調を明記する。それは、ディジタル地上テレビ
ジョンをアナログ送信のための既存のスペクトル割当て
に適応させるために作られ、さらに高いレベルの相互チ
ャンネル干渉及び近接チャンネル干渉に対する十分な保
護を提供する。上述した規格は、内部破壊重畳コードと
連結される外部リードソロモンコードを要求する。これ
は、MPEG-2トランスポートストリームフォーマットのビ
ットに関するシンボルインターリービングと組み合わさ
れる。RS(204,188,t=8)コードは外部コードとし
て特定され、以下のコード生成多項式を有する:
【0004】
【数1】 ここで、λ=02HEXである。ガロア体生成多項式は:
【0005】
【数2】 である。
【0006】既知のリードソロモンデコーダにおけるガ
ロア体乗算器のハードウェア実行は、非常に多くの資源
を必要とし、生産環境における新規なテクノロジー又は
新規な応用に容易に適合することができなかった。
【0007】本発明の第1の目的は、ディジタルデータ
の大量の乗法演算を実行する、改良された誤り検出訂正
及び訂正回路を提供することにある。
【0008】本発明の他の目的は、ハードウェア資源を
減少させることにより、VLSIの実行における改良さ
れたガロア体乗算器を提供することにある。
【0009】本発明のさらに他の目的は、電気通信及び
これに類似する目的に使用する様々のVLSI回路に容
易に適合可能なリードソロモンデコーダを提供すること
にある。
【0010】
【課題を解決するための手段】本発明のこれら及び他の
目的は、BCHコードに従って符号化された電磁信号の
デコーダにより達成され、そのコードは生成多項式g
(x)により特定され、原始元αを有する。デコーダは
項Xiαjを演算し、それはガロア体乗算により生成され
る。デコーダは、積A★Bを生成するためのガロア体乗
算回路を有し、"★"はガロア体乗算演算子である。各ガ
ロア体乗算回路は複数の乗算器を有し、第1の被乗数は
大きさAであり、第2の被乗数は定数αkである。乗算
器は、好ましくは線形連鎖に相互接続され、一つの乗算
器の出力は他の乗算器の第1の入力に接続される。複数
のセレクタが乗算器の出力をイネーブルする。セレクタ
は、大きさBの表示に従って設定されるセレクタライン
を有する。好ましくは排他的論理和ゲートの論理回路網
として実現される加算回路がセレクタに接続され、乗算
器のイネーブルされた出力を加算して最終的な積A★B
を生成する。加算は、加算回路によりキャリー無しで実
行される。
【0011】本発明の一つの観点によれば、乗算器は定
係数乗算器を有する。
【0012】本発明の他の観点によれば、セレクトライ
ンに接続された複数のラインが存在し、それらは大きさ
Bの表示に従って設定される。
【0013】本発明は、生成多項式g(x)により特定
され、且つ原始元αを有するBCHコードに従って符号
化された電磁気信号のデコーダを提供し、そのデコーダ
は項xiαjを演算するタイプのデコーダであり、ガロア
体乗算器を備え、その改良は、複数の定係数乗算器を備
える。各定係数乗算器の入力は第1の被乗数であり、定
係数乗算器の第2の被乗数は定数αkであり、定係数乗
算器の出力は後続の定係数乗算器の入力に接続される。
複数のビットラインは、複数のスイッチを制御する大き
さBの2進数表示を運び、各スイッチは個々の一つの定
係数乗算器の出力に接続される。
【0014】モジュロ2加算を実行する加算回路が定係
数乗算器の出力を合計するためのスイッチに接続され、
大きさA★Bの2進数表示として合計出力が出力され
る。
【0015】本発明はリードソロモン復号化方法を提供
し、ここでαはリードソロモンコード中の原始元であ
る。それはリードソロモンデコーダを含むVLSI回路
を提供することにより実行され、その回路でガロア体乗
算を実行して、以下の工程により積xiαjを得る:
(1)αjに等しい和を有する値αnの線形結合を識別す
る工程であって、各値anについてnは整数である工
程、(2)αnにαn-kを乗算することにより各値αn
生成する工程であって、kは整数である工程、(3)各
値αnにxiを乗算して積αniを得る工程、及び、
(4)積αniを合計して値xiαjを得る工程。
【0016】本発明のこれら及び他の目的のより良い理
解のために、例としての本発明の詳細な説明が参照さ
れ、それは添付の図面とともに読まれるべきである。
【0017】
【発明の実施の形態】最初に、リードソロモン復号化へ
のアプローチを図1及び2を参照して説明する。本発明
はこのデコーダ、及びガロア体算術を使用する他のリー
ドソロモンデコーダにより実施することができる。20
8バイトのパケットR(x)2がFIFO4へ入力さ
れ、そのFIFO4は448バイトを記憶可能なRAM
により実現される。FIFO4は、単純に復号化が行わ
れる間のディレイとして機能する。188の情報バイト
のみを記憶することが要求される。20のパリティバイ
トは、それらはシンドロームS(x)6の計算後には使
用されないので、捨てることができる。デコーダ8はパ
ケットR(x)2中のデインターリーブされたデータを
受け取る。VALIDフラグ10は、パケットR(x)2の
現在のバイトが現在のパケット中の有効なバイトである
ことを示す。VALIDフラグ10が、パケットの最後のバ
イトが受け取られたことを示すと同時に、エンドオブパ
ケットフラグEOP12が上昇する。エラーフラグOS
14は、パケットがデインターリーブ器により早い時期
に終了させられた時に上昇する。これは、デコーダ全体
のリセット動作を生じさせる。バスCORRECT16は訂正
されたデータを含む。ラインRS_VALID18は、データが
バスCORRECT16上にあることを示す。このラインは、
データバイトがライン上にある時にのみ上昇する。ライ
ンRS_EOP20は、パケットの最後が検出されたことを示
すラインである。ラインPACK_ERR22は、ラインRS_EOP
20が上昇した時にハイとなる。それは、デコーダ8が
先に解放されたパケットを訂正できなかったことを示
す。ラインRS_OS24は、パケット内で重大な誤り状態
が発生したことを示す。この信号はシステムを通じて伝
わり、現在のブロックはこれ以上有効なデータを提供し
ないことを示す。
【0018】図4を参照すると、パケットR(x)2の
最初の188バイトがFIFO4のラインWD26上に
現れ、カウンタ30の状態に従ってRAM28のアドレ
スへ書き込まれる。同様に、パケットR(x)2の遅延
バージョンが、カウンタ34の状態により選択されたア
ドレスからラインRD32上に読み取られる。
【0019】シンドローム計算ブロック36(図1)内
で、以下の式に従ってシンドロームが計算される。
【0020】
【数3】 ここで、Sjはj番目のシンドローム;nは、パケット
中のバイト数;m0は、任意の整数(零に等しい);r
iは、パケット中のi番目のバイト;αxは、ガロア体
中のx番目のα、である。
【0021】いま、図1−7を参照すると、シンドロー
ムは、並列に動作する3個のユニット38、40、41
(図5)のバンクにより生成される。ガロア体のエント
リーαiは、タップを有するフィードバックシフトレジ
スタ42(図3)により発生され、そのフィードバック
シフトレジスタ42は加算器46を有する複数のフリッ
プフロップ44を有し、それら加算器の位置は上記の生
成多項式により決定される。便宜上24のシンドローム
が決定されるが、実際にはS0−S19のみがデコーダ8
の残りの部分により使用される。
【0022】ブロック48(図1)で実行されるバーレ
カンプアルゴリズムは既知の方法であり、ロケーター多
項式Λ(x)50及びエヴァリュエーター多項式Ω
(x)52を導くために使用される。その流れ図が図6
に示される。以下の記号が使用される:R1は、先のシ
ンドロームブロックにより生成されるシンドロームバイ
トを含むシフトレジスタ;R2は、ロケーター多項式Λ
(x)を含み、Λ0=1である;R3は、Dの多項式を
含む;R4は、エヴァリュエーター多項式Ω(x)を含
み、Ω10=0である;R5は、Aの多項式の一時的記憶
である;dnは、デルタである;(は、R1における多項
式の順序である;nはカウンタである。
【0023】ストップ54で、(はアルゴリズムで発見
された誤りの数を示し、レジスタ56(図7)内に維持
される。ブロック58では、アルゴリズムのその後の反
復のために、レジスタR2 60の内容をレジスタR3
62の内容と繰返し交換することが必要である。
【0024】値dnは、以下の式により計算される:
【0025】
【数4】
【0026】図7に示す装置内で実行される処理は、図
6のアルゴリズムと異なる。レジスタR2 60の内容
をレジスタR3 61の内容と交換し、レジスタR4
64の内容をレジスタR5 66の内容と交換する代り
に、トグルスイッチを使用して、どのレジスタが個々の
多項式を含んでいるかを記憶する。一時的な記憶が不要
であるので、このアプローチは経済的である。コントロ
ールブロック68は5ビット状態のマシンであり、各状
態からの復号化により、(a)次の状態、(b)各シフトレジ
スタ60−66及び70のイネーブル、(c)ブロック5
8のR1−R5に対応する、レジスタ60−66及びレ
ジスタ70への入力を選択するための乗算器72、7
4、76、78の乗算器選択;(d)各状態がアクティブ
となる期間の制御;(e)必要に応じての変数n及び(の再
計算;(f)どのレジスタがΛ(x)及びΩ(x)を含む
かの表示の維持、を決定する。
【0027】チェン(Chien)サーチブロック80(図
1)は、全ての可能な位置を網羅的に評価して、それが
Λ(x)の根であるか否かを決定する。一つの位置での
評価は、以下の式に従って達成される。
【0028】
【数5】
【0029】208個のみの位置が受け取られるが、2
55個の全ての可能な位置についてチェックが行われ、
x=α254から始まり;例えば、
【0030】
【数6】
【0031】チェンサーチブロック80(図1)を、図
8に特に詳細に示す。Λ(x)の項は、2つの並列ユニ
ットを使用して計算される。乗算器88に接続される一
組のシフトレジスタ84、86を有するトップユニット
82は、後に議論される係数α1−α5に関係する。他の
ユニット90、92及び94は同様に動作する。図8の
2つのトップユニット82、90はΛ(x)を計算する
ために使用される。
【0032】各反復において、積は回転演算の対象とな
り、それによりそれらはシフトレジスタを通じて再循環
する。従って、6番目の反復中に次の位置が評価され、
シフトレジスタの最も右のセルは積Λ5(α5)を含む。
積Λ5(α10)が直ちに要求され、ここにおいて第1の
反復の積にα5を乗ずることのみが必要となる。
【0033】発見された誤り位置の数をカウントするた
め、カウンタ96はΛ(x)=0となるたびにインクリ
メントされる。受け取ったパケットが、最大10より多
くの誤りバイトを含んでいたかを決定するために実行さ
れる2つのチェックがある。まず、カウンタ96の値が
レジスタ56(図7)内の値と比較される。これらの2
値間の差は、10を超える誤りを有するパケットを示
す。第2に、チェンサーチにおいて発見された254−
208バイトの誤りがブロックを無効とする。これらは
受け取られず、チェンサーチブロック80を単純化する
ためだけに使用されるバイトである。
【0034】誤りの大きさを計算するために使用される
式を以下に示す。
【0035】
【数7】
【0036】その位置でのΛ(x)の評価が零に等しい
ならば、この結果は受け取ったバイトに加算されるのみ
である。Ω(x)及びΛ’(x)の評価は、下部の2つ
のユニット92、94を使用してΛ(x)と同様に行わ
れる。ユニット94はΛ’(x)を生成し、その逆数は
ROM(図示せず)内のルックアップテーブルにより得
られる。
【0037】当業者は、ガロア体算術において、以下の
式が成立することを理解するであろう。
【0038】
【数8】
【0039】αa+bの実際の値は、ガロア体の生成多項
式、例えば式(2)の生成多項式により決定することが
できる。さらに、分配法則に従って、もし、
【0040】
【数9】 ならば、
【0041】
【数10】 である。
【0042】乗算器の関数は、以下の式を参照すること
により理解することができる:
【0043】
【数11】 それから、
【0044】
【数12】 ここで、"★"はガロア体乗算を示す。
【0045】
【数13】
【0046】式(2)と同一のp(x)と共に、
【数14】 など。
【0047】上記の乗算の直接的実行は、ハードウェハ
内の一般的な乗算器により行われてきた。幾つかの例で
は、一般的な乗算器は、関連するα発生器から入力を得
ている。しかし、一般的な乗算器は集積回路上に相当な
面積を必要とする。被乗数の一つが既知であるので、一
般的な乗算器を複数の定係数乗算器に置き換えることに
よりかなりの空間的節約が達成できる。シンドロームS
j(式(3))の生成に含まれるような乗算において、
図9に示す乗算器構造98により、典型的な項rx
iα3、rxiα4、rxiα5を作るための後続のサイクル
中の乗算を実行することができる。次に起こる議論で
は、rは単に定数であり、パケットデータ中のi番目の
バイトには必ずしも関連しない。この例では、表示の明
確のため、3つの項のみの発生が示され、実際には、よ
り多数の項を計算できることが理解される。乗算器構造
98への入力は第1の被乗数rxi 100であり、定
係数乗算器102内でそれにアルファ係数α3 104
が掛けられる。積rxiα3がノード106に現れ、それ
は後続の定係数乗算器108への入力項となる。ノード
110での積rxiα4の生成において、定係数乗算器1
08は以下の関係を利用する。
【0048】
【数15】
【0049】積はマルチプレクサ112で多重され、典
型的には加算器114により更なる処理のために他の値
に加算される。定係数乗算器108は3個程度の少数の
排他的論理和("XOR")ゲートにより実行できることが
当業者には理解できるであろう。
【0050】本発明は、式(12)に示された分配法則
及びアルファ値を他のアルファ値の線形結合として表現
できることを利用して、経済的で、より便利に構成で
き、且つより実際的なガロア体乗算器を実行できること
を発見した。表1に、幾つかの代表的なアルファ値を2
進数として示す。
【0051】
【表1】
【0052】アルファ値は、キャリービットを生成する
ことなく、モジュロ2加算により加算できることを付言
しておく。従って、例えば
【数16】 である。
【0053】"★"がガロア体算術の乗算演算子を示すと
して、乗算の分配法則を利用して、第2の被乗数α8
入力することにより、積α8★rxiを生成することがで
きる。
【0054】
【数17】
【0055】図10は、ガロア体乗算器の好適な実施形
態を示し、それは一般的に116で示される。8個の定
係数乗算器118のアレイが図9に示すのと同様の方法
で配置される。8ビットのデータパスが示される;しか
し、回路は他のバス幅で構成することができる。n=
0、α0、である特別な場合では、第1の定係数乗算器
120への入力は単位元であることを述べておく。その
ような応用では、定係数乗算器120を除去することが
できる。定係数乗算器118のアレイの他の全ての乗算
器では、αjが乗算され、図9の例ではj=1である。
定係数乗算器118のアレイにより生成される積は、8
個のセレクタ124の第1入力までバス122上を通っ
て伝わる。セレクタ124の第2入力は、バス128上
に現れる第2の被乗数Bの個々のビットライン126で
ある。セレクタ124は複数のアンドゲートにより実現
することができ、各バス122のビットラインは、個々
のビットライン126に従って共通にイネーブルされ
る。この例では、バス128のビット0、2、3、4が
セットされ、バス130上のセレクタ124の出力はシ
ーケンス{0、0、0、A[4]、A[3]、A[2]、
0、A[0]}として示すことができる。このシーケン
スの要素は加算器ブロック132で合計され、その合計
は出力バス134上に現れる。キャリーが発生しないの
で、各8個の要素の加算は、排他的論理和ゲート138
のツリーとして構成される論理回路網136内で単純に
モジュロ2加算で実行される。図11は加算器ブロック
132内で使用される8個の同一の回路網の一つを示
し、各バス130の最下位ビットに論理が適用される。
他の既知の加算回路も加算器ブロック132に適当であ
る。
【0056】本実施例の初期のハードウェア実行は、式
(13)−(20)に従う乗算の直接的な実行と比較し
て、ゲート総数の20%の減少を生む。上記の実施形態
はリードソロモン復号化に関して議論してきたが、それ
は他の(N,K)コードにも等しく適用可能であり、一
般的に“ボース、レイ−チャウドゥリ、ホックエングヘ
ム(Bose, Ray-Chaudhuri, Hocquenghem)”(“BC
H”)コードに、並びにガロア体乗算が実行される他の
装置に適用可能である。
【0057】ガロア体乗算器116は、チェンサーチブ
ロック80(図8)内で、一般的なガロア体乗算器14
0として、且つデコーダ8(図2)内のいたるところに
効果的に使用することができる。
【0058】好適な実施形態では、デコーダ8及びガロ
ア体乗算器116はVLSI回路内で実行される。
【0059】 この例では、IEEE規格1364−1995に準拠し
た標準的ハードウェア記述言語を使用してハードウェハ
の実行を記述している。
【0060】まず、以下の記述により、従来の一般的な
ガロア体乗算器を作る。
【0061】
【表2】
【0062】次に、ガロア体乗算器116(図10)を
以下に記述する。
【0063】
【表3】
【0064】上記のモジュールは統合プログラム、Comp
ass ASICSyn(商標)により処理され、それは、従来の
一般的ガロア体乗算器及びガロア体乗算器116それぞ
れについて以下のエリアレポートを作成した。
【0065】
【表4】
【0066】本発明をここに開示した構造を参照して説
明してきたが、それは記載された詳細に制限されるもの
ではなく、本明細書は以下の請求の範囲の視野内に含ま
れるあらゆる修正及び変更をカバーすることを意図して
いる。
【図面の簡単な説明】
【図1】リードソロモンデコーダの機能ブロック図であ
る。
【図2】図1のブロック図に従って動作するリードソロ
モンデコーダの他のブロック図である。
【図3】ガロア体のエントリーの生成を示す概略図であ
る。
【図4】図1に示すデコーダに含まれるFIFOのブロ
ック図である。
【図5】図1に示すデコーダのシンドロームを発生す
る、タップを有するフィードバックシフトレジスタを示
す図である。
【図6】従来のリードソロモンデコーダで使用されるバ
ーレカンプアルゴリズムの流れ図である。
【図7】図1に示すデコーダで使用されるバーレカンプ
アルゴリズムを実行するために使用される装置のブロッ
ク図である。
【図8】図1に示すデコーダのチェンサーチを達成する
ための構成のブロック図である。
【図9】本発明によるガロア体乗算器の好適な実施形態
の概略図である。
【図10】本発明によるガロア体乗算器の他の好適な実
施形態の概略図である。
【図11】図9及び図10の実施形態に見られる加算回
路のより詳細な概略図である。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 BCHコードにより符号化される電磁気
    信号のデコーダであって、前記コードは、生成多項式g
    (x)により特定され、且つ原始元αを有し、前記デコ
    ーダは項xiαjを演算するタイプのデコーダであり、前
    記デコーダは、"★"をガロア体乗算演算子とした場合に
    積A★Bを生成する回路を備え、前記回路は、 複数の乗算器であって、前記乗算器の第1の入力は第1
    の被乗数Aを規定し、前記乗算器の第2の入力は第2の
    被乗数を規定し、前記第2の被乗数は定数αkであり、
    前記乗算器の出力は他の前記乗算器の第1の入力に接続
    される複数の乗算器と、 前記乗算器の出力をイネーブルする複数のセレクタであ
    って、前記セレクタは大きさBの表示に従ってセットさ
    れるセレクトラインを有する複数のセレクタと、 前記セレクタに接続され、前記乗算器のイネーブルされ
    た出力を加算する加算回路と、を備えるデコーダ。
  2. 【請求項2】 前記乗算器は、定係数乗算器を有する請
    求項1に記載のデコーダ。
  3. 【請求項3】 前記セレクトラインに接続された複数の
    ラインをさらに備え、前記ラインは前記大きさBの表示
    に従って設定される請求項1に記載のデコーダ。
  4. 【請求項4】 前記加算回路は、キャリーを有しない加
    算を実行する請求項1に記載のデコーダ。
  5. 【請求項5】 前記加算回路は、排他的論理和ゲートの
    論理回路網を有する請求項4に記載のデコーダ。
  6. 【請求項6】 集積回路内の、BCHコードにより符号
    化される電磁気信号のデコーダであって、前記コード
    は、生成多項式g(x)により特定され、且つ原始元α
    を有し、前記デコーダは項xiαjを演算するタイプのデ
    コーダであり、前記デコーダは、"★"をガロア体乗算演
    算子とした場合に積A★Bを生成する回路を備え、前記
    回路は、 複数の定係数乗算器であって、第1の前記乗算器の第1
    の入力は第1の被乗数Aを規定し、前記乗算器の第2の
    入力は第2の被乗数を規定し、前記第2の被乗数は定数
    αkであり、前記第1の乗算器の出力は第2の前記乗算
    器の第1の入力に接続される複数の定係数乗算器と、 大きさBの表示に従って前記乗算器の選択出力をイネー
    ブルする選択回路と、を備えるデコーダ。
  7. 【請求項7】 生成多項式g(x)により特定され、且
    つ原始元αを有するBCHコードに従って符号化された
    電磁気信号のデコーダにおいて、前記デコーダは項xi
    αjを演算するタイプのデコーダであり、ガロア体乗算
    器を備え、前記デコーダは、 複数の定係数乗算器であって、前記複数のうちの一つの
    前記定係数乗算器の入力は第1の被乗数Aを規定し、前
    記定係数乗算器の第2の被乗数は定数αkであり、前記
    定係数乗算器の出力は後続の定係数乗算器の入力に接続
    される複数の定係数乗算器と、 大きさBの2進数表示を生成する状態を有する複数のビ
    ットラインと、 複数のスイッチであって、前記各スイッチは前記定係数
    乗算器の個々の一つの出力に接続され、前記ビットライ
    ンの個々の一つに接続された制御ラインを有する複数の
    スイッチと、 前記スイッチに接続され、定係数乗算器の出力を合計す
    るためにモジュロ2加算を実行する加算回路であっ
    て、"★"をガロア体乗算演算子とした場合に、大きさA
    ★Bの2進数表示として前記合計出力を出力する加算回
    路と、を備えるデコーダ。
  8. 【請求項8】 前記加算回路は、論理回路網を有する請
    求項7に記載のデコーダ。
  9. 【請求項9】 生成多項式g(x)により特定され、且
    つ原始元αを有するリードソロモンコードに従って符号
    化された電磁気信号のデコーダにおいて、前記デコーダ
    は項xiαjを演算するタイプのデコーダであり、前記デ
    コーダは、"★"をガロア体乗算演算子とした場合に積A
    ★Bを生成する回路を備え、前記回路は、 定係数乗算器の線形連鎖であって、前記連鎖中の第1の
    前記乗算器の入力は第1の被乗数Aを規定し、前記乗算
    器の第2の被乗数は定数αkであり、前記乗算器の出力
    は後続の乗算器の入力に接続される定係数乗算器の線形
    連鎖と、 前記乗算器の出力をイネーブルするために、前記乗算器
    の出力に接続された第1の入力を有する複数のアンドゲ
    ートであって、前記各ゲートはバスに接続された第2の
    入力を有し、大きさBの2進数表示が前記バス上に現れ
    る複数のアンドゲートと、 前記セレクタに接続され、前記乗算器の前記イネーブル
    された出力を合計する加算回路と、を備えるデコーダ。
  10. 【請求項10】 前記加算回路は、モジュロ2加算を実
    行するためのツリーとして構成される排他的論理和ゲー
    トの論理回路網を有する請求項9に記載のデコーダ。
  11. 【請求項11】 リードソロモン復号化方法であって、
    αはリードソロモンコード中の原始元であり、前記方法
    は、 リードソロモンデコーダを含むVLSI回路を提供する
    工程と、 前記回路でガロア体乗算を実行して、以下の工程により
    積xiαjを得る工程と、を備える方法:αjに等しい和
    を有する値αnの線形結合を識別する工程であって、各
    値anについてnは整数である工程、 αnにαn-kを乗算することにより各値αnを生成する工
    程であって、kは整数である工程、 各値αnにxiを乗算して積αniを得る工程、及び積α
    niを合計する工程。
JP9325121A 1996-10-30 1997-10-21 リードソロモンデコーダのためのガロア域乗算器 Pending JPH10177497A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9622539.6 1996-10-30
GBGB9622539.6A GB9622539D0 (en) 1996-10-30 1996-10-30 Galois field multiplier for reed-solomon decoder

Publications (1)

Publication Number Publication Date
JPH10177497A true JPH10177497A (ja) 1998-06-30

Family

ID=10802135

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9325121A Pending JPH10177497A (ja) 1996-10-30 1997-10-21 リードソロモンデコーダのためのガロア域乗算器

Country Status (13)

Country Link
US (1) US5818855A (ja)
EP (1) EP0840461A3 (ja)
JP (1) JPH10177497A (ja)
KR (1) KR19980033277A (ja)
CN (1) CN1181664A (ja)
AR (1) AR008905A1 (ja)
AU (1) AU699253B2 (ja)
CA (1) CA2199114A1 (ja)
GB (1) GB9622539D0 (ja)
ID (1) ID18695A (ja)
IL (1) IL122018A0 (ja)
SG (1) SG65026A1 (ja)
TW (1) TW375853B (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3233860B2 (ja) * 1996-10-25 2001-12-04 松下電器産業株式会社 リードソロモン復号器
US5905664A (en) * 1997-04-04 1999-05-18 National Semiconductor Corp. Circuit for determining, in parallel, the terms of a remainder that results from dividing two binary polynomials
US6044390A (en) * 1998-04-16 2000-03-28 V L S I Technology, Inc. Recursive lookahead-based 2n -bit serial multipliers over Galois Field GF (2m)
US6378105B1 (en) 1999-05-24 2002-04-23 Oak Technology, Inc. Reed-Solomon multiplication method
US6446233B1 (en) 1999-09-10 2002-09-03 Lsi Logic Corporation Forward error correction apparatus and methods
US6760742B1 (en) 2000-02-18 2004-07-06 Texas Instruments Incorporated Multi-dimensional galois field multiplier
US6996133B2 (en) * 2000-04-18 2006-02-07 Zenith Electronics Corporation Digital communication system for transmitting and receiving robustly encoded data
US6701478B1 (en) * 2000-12-22 2004-03-02 Nortel Networks Limited System and method to generate a CRC (cyclic redundancy check) value using a plurality of CRC generators operating in parallel
US7187698B2 (en) * 2001-03-13 2007-03-06 Zenith Electronics Corporation Robust digital communication system
US7447982B1 (en) 2001-03-30 2008-11-04 Cisco Technology, Inc. BCH forward error correction decoder
US7124064B1 (en) * 2001-03-30 2006-10-17 Cisco Technology, Inc. Automatic generation of hardware description language code for complex polynomial functions
US6983414B1 (en) 2001-03-30 2006-01-03 Cisco Technology, Inc. Error insertion circuit for SONET forward error correction
US7003715B1 (en) 2001-03-30 2006-02-21 Cisco Technology, Inc. Galois field multiply accumulator
FR2854747A1 (fr) * 2003-05-09 2004-11-12 St Microelectronics Sa Dispositif et procede d'addition-comparaison-selection- ajustement dans un decodeur
US7995667B2 (en) * 2004-02-13 2011-08-09 Broadcom Corporation Reduced latency concatenated reed solomon-convolutional coding for MIMO wireless LAN
US7228490B2 (en) * 2004-02-19 2007-06-05 Quantum Corporation Error correction decoder using cells with partial syndrome generation
CN1561005B (zh) * 2004-02-20 2010-12-08 汇智系统股份有限公司 快速纠双错bch码译码器
US7209070B2 (en) * 2004-10-07 2007-04-24 Honeywell International, Inc. System and method for enhanced situational awareness of terrain in a vertical situation display
US7366969B2 (en) * 2004-10-07 2008-04-29 Cisco Technology, Inc. System and method for implementing a Reed Solomon multiplication section from exclusive-OR logic
CN100440738C (zh) * 2005-12-16 2008-12-03 北京中星微电子有限公司 BCH编码中Galois扩域运算的快速实现方法
CN101567696B (zh) * 2009-05-22 2013-01-23 北京大学 一种参数可变的bch码编码器及译码器
CN103138770B (zh) * 2010-01-12 2016-09-28 北京忆恒创源科技有限公司 有限域平方计算电路
EP2434650A1 (en) * 2010-09-23 2012-03-28 Panasonic Corporation Reed-Solomon encoder with simplified Galois field multipliers
CN103345379B (zh) * 2013-06-09 2016-09-07 暨南大学 一种复数乘法器及其实现方法
US9954553B1 (en) 2015-06-05 2018-04-24 Altera Corporation Circuitry and methods for continuous parallel decoder operation
US11012094B2 (en) 2018-12-13 2021-05-18 Ati Technologies Ulc Encoder with mask based galois multipliers

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US4162480A (en) * 1977-01-28 1979-07-24 Cyclotomics, Inc. Galois field computer
US4559625A (en) * 1983-07-28 1985-12-17 Cyclotomics, Inc. Interleavers for digital communications
US4633470A (en) * 1983-09-27 1986-12-30 Cyclotomics, Inc. Error correction for algebraic block codes
JPS60186942A (ja) * 1984-02-24 1985-09-24 Victor Co Of Japan Ltd デイジタル乗算回路
US4797848A (en) * 1986-04-18 1989-01-10 Hughes Aircraft Company Pipelined bit-serial Galois Field multiplier
US4833678A (en) * 1987-07-22 1989-05-23 Cyclotomics, Inc. Hard-wired serial Galois field decoder
US4847801A (en) * 1987-10-26 1989-07-11 Cyclotomics, Inc. Compact galois field multiplier
US4928280A (en) * 1988-04-29 1990-05-22 International Business Machines Corporation Fast processor for multi-bit error correction codes
SE466822B (sv) * 1990-06-15 1992-04-06 Mastrovito Edoardo Anordning foer multiplikation av tvaa element i en galoiskropp
GB9301704D0 (en) * 1993-01-28 1993-03-17 Signal Processors Ltd New digital modem design techniques
US5465261A (en) * 1993-08-03 1995-11-07 National Semiconductor Corporation RAM based architecture for ECC circuits
US5692020A (en) * 1995-06-07 1997-11-25 Discovision Associates Signal processing apparatus and method

Also Published As

Publication number Publication date
AU3991897A (en) 1998-05-07
KR19980033277A (ko) 1998-07-25
AR008905A1 (es) 2000-02-23
EP0840461A3 (en) 2000-03-08
IL122018A0 (en) 1998-03-10
GB9622539D0 (en) 1997-01-08
ID18695A (id) 1998-04-30
SG65026A1 (en) 1999-05-25
TW375853B (en) 1999-12-01
AU699253B2 (en) 1998-11-26
CA2199114A1 (en) 1998-04-30
CN1181664A (zh) 1998-05-13
EP0840461A2 (en) 1998-05-06
US5818855A (en) 1998-10-06

Similar Documents

Publication Publication Date Title
JPH10177497A (ja) リードソロモンデコーダのためのガロア域乗算器
US7512647B2 (en) Condensed Galois field computing system
US7313583B2 (en) Galois field arithmetic unit for use within a processor
EP0114938B1 (en) On-the-fly multibyte error correction
US4873688A (en) High-speed real-time Reed-Solomon decoder
US6694476B1 (en) Reed-solomon encoder and decoder
US6760742B1 (en) Multi-dimensional galois field multiplier
US7343472B2 (en) Processor having a finite field arithmetic unit utilizing an array of multipliers and adders
US6904558B2 (en) Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages
US20080155382A1 (en) System and method for implementing a reed solomon multiplication section from exclusive-or logic
US7403964B2 (en) Galois field multiplier array for use within a finite field arithmetic unit
JP2001502153A (ja) 大規模データ・ブロックのためのハードウェア最適化リード・ソロモン・デコーダ
EP2831999B1 (en) Parallel encoding for non-binary linear block code
US6701336B1 (en) Shared galois field multiplier
KR100192795B1 (ko) 리드 솔로몬 복호기의 에러 위치 다항식 계산 장치
Lee Modified Euclidean algorithm block for high-speed Reed-Solomon decoder
US6263471B1 (en) Method and apparatus for decoding an error correction code
US5964826A (en) Division circuits based on power-sum circuit for finite field GF(2m)
US7281196B2 (en) Single error Reed-Solomon decoder
JP3241851B2 (ja) 誤り訂正復号装置
US20070011592A1 (en) Decoder architecture for Reed Solomon codes
Flocke et al. Implementation and modeling of parametrizable high-speed Reed Solomon decoders on FPGAs
JP2907138B2 (ja) 誤り訂正の演算処理方法及び処理回路
KR100335482B1 (ko) 에러정정시스템
KR100265949B1 (ko) 리드-솔로몬 디코더의 N+α개 피포 설계 방법