JP2963018B2 - Reed-Solomon error correction code decoding circuit - Google Patents

Reed-Solomon error correction code decoding circuit

Info

Publication number
JP2963018B2
JP2963018B2 JP6273526A JP27352694A JP2963018B2 JP 2963018 B2 JP2963018 B2 JP 2963018B2 JP 6273526 A JP6273526 A JP 6273526A JP 27352694 A JP27352694 A JP 27352694A JP 2963018 B2 JP2963018 B2 JP 2963018B2
Authority
JP
Japan
Prior art keywords
polynomial
error
cell
register
error value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP6273526A
Other languages
Japanese (ja)
Other versions
JPH08139612A (en
Inventor
史郎 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asahi Kasei Microsystems Co Ltd
Original Assignee
Asahi Kasei Microsystems Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Asahi Kasei Microsystems Co Ltd filed Critical Asahi Kasei Microsystems Co Ltd
Priority to JP6273526A priority Critical patent/JP2963018B2/en
Publication of JPH08139612A publication Critical patent/JPH08139612A/en
Application granted granted Critical
Publication of JP2963018B2 publication Critical patent/JP2963018B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明はランダム誤りを訂正する
ために使用されるリード・ソロモン符号の誤り訂正復号
・符号化に関するものである。本発明は、そのうちで特
に誤りの訂正能力にすぐれる高次のリード・ソロモン符
号の高速復号に使用する高速演算回路に関するものであ
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to error correction decoding and encoding of Reed-Solomon codes used for correcting random errors. The present invention relates to a high-speed operation circuit used for high-speed decoding of a high-order Reed-Solomon code, which is particularly excellent in error correction capability.

【0002】[0002]

【従来の技術】リード・ソロモン符号の符号化、復号に
必要な代数的処理について記述する。
2. Description of the Related Art Algebraic processing required for encoding and decoding Reed-Solomon codes will be described.

【0003】なお、リード・ソロモン符号自体の理論に
ついては、今井の「符号理論」(電気情報通信学会)、
Richard E. Blahut の"Theory and practice of error
control codes" (Addison-Wesley)、G.Clark and J.Cain
の"Error-Correction Codingof Digital Communication
s"(Plenum Press) に詳しいので省略する。
The theory of the Reed-Solomon code itself is described in Imai's "Code Theory" (IEICE),
Richard E. Blahut's "Theory and practice of error
control codes "(Addison-Wesley), G. Clark and J. Cain
"Error-Correction Coding of Digital Communication
s "(Plenum Press).

【0004】リード・ソロモン符号の符号化は以下の演
算にて行なわれる。
The Reed-Solomon code is encoded by the following operation.

【0005】[0005]

【数1】 (Equation 1)

【0006】で定義される。G(x)は符号の生成多項
式であり、以下のように定義される。
[0006] G (x) is a code generator polynomial and is defined as follows.

【0007】[0007]

【数2】 (Equation 2)

【0008】ただし、αはガロア体の原始根の一つであ
る。すなわち情報列を多項式と見立てて、これを生成多
項式で割った剰余のK次の多項式の係数をパリテイと考
え、元のデータ列の後に付加することで実現される。な
お、ここで多項式の剰余を求める演算は係数の四則演算
がガロア体上の演算として行うこと以外は、通常の多項
式演算と全く同じである。
Here, α is one of the primitive roots of the Galois field. That is, it is realized by treating the information sequence as a polynomial, and considering the coefficient of the remainder K-th order polynomial obtained by dividing the information sequence by the generator polynomial as parity, and adding it after the original data sequence. The operation for obtaining the remainder of the polynomial is exactly the same as the ordinary polynomial operation except that the four arithmetic operations on the coefficients are performed as operations on the Galois field.

【0009】一般にリード・ソロモン符号の復号化は以
下の手順にて行うことができる。
Generally, decoding of a Reed-Solomon code can be performed in the following procedure.

【0010】(I)シンドローム多項式S(x)の算出 (II)消失多項式Γ(x)・変成シンドローム多項式T
(x)の算出 (III)誤り値多項式Ω(x)および誤り位置多項式Λ
(x)の算出 (IV)誤り値多項式Ω(x)および誤り位置多項式Λ
(x)の評価 シンドローム多項式S(x)は(3)のαを用いて以下
のように定義される。
(I) Calculation of syndrome polynomial S (x) (II) Erasure polynomial Γ (x) / transformed syndrome polynomial T
Calculation of (x) (III) Error value polynomial Ω (x) and error location polynomial Λ
Calculation of (x) (IV) Error value polynomial Ω (x) and error location polynomial Λ
Evaluation of (x) The syndrome polynomial S (x) is defined as follows using α in (3).

【0011】[0011]

【数3】 (Equation 3)

【0012】R(x)は受信語の情報多項式である。シ
ンドローム多項式S(x)の全係数がゼロならば、誤り
がないと判定される。シンドローム多項式S(x)が非
ゼロならば、以下の手順により誤りの訂正が試みられ
る。
R (x) is a received word information polynomial. If all the coefficients of the syndrome polynomial S (x) are zero, it is determined that there is no error. If the syndrome polynomial S (x) is non-zero, error correction is attempted according to the following procedure.

【0013】消失多項式Γ(x)および変成シンドロー
ム多項式T(x)の算出は誤り位置の推定がなんらかの
手段で推定可能で消失訂正を行うことが可能な場合に行
う。消失がバイトのi0からIE−1の場所で起こった
としたとき消失多項式Γ(x)、変成シンドローム多項
式T(x)は以下のように定義される。
Calculation of the erasure polynomial Γ (x) and the modified syndrome polynomial T (x) is performed when the error position can be estimated by some means and erasure correction can be performed. Assuming that the erasure has occurred at the location from byte i0 to IE-1, the erasure polynomial Γ (x) and the modified syndrome polynomial T (x) are defined as follows.

【0014】[0014]

【数4】 Γ(x) = (αi0x −1) (αi1x −1)… (αiE-1x −1) (5) T(x)=S(x)Γ(x)mod x2t (6) 消失訂正を行わないときは、 Γ(x) =1 (7) T(x)=S(x) (8) である。4 (x) = (α i0 x −1) (α i1 x −1)… (α iE−1 x −1) (5) T (x) = S (x) Γ (x) mod x 2t (6) When erasure correction is not performed, Γ (x) = 1 (7) T (x) = S (x) (8)

【0015】誤り値多項式Ω(x)および誤り位置多項
式Λ(x)の算出はユークリッド・アルゴリズムにより
行うことができる。すなわち、
The calculation of the error value polynomial Ω (x) and the error location polynomial Λ (x) can be performed by the Euclidean algorithm. That is,

【0016】[0016]

【数5】 Ωi(x)=qi(x) Ωi-1(x)+Ωi-2(x) (9) Λi(x)=qi(x) Λi-1(x)+Λi-2(x) (10) Qi(x) =Ωi(x)/ Ωi-1(x) (11) なる漸化式を、以下の初期条件の元でΩ i (x) = q i (x) Ω i-1 (x) + Ω i-2 (x) (9) Λ i (x) = q i (x) Λ i-1 (x) + Λ i-2 (x) (10) Q i (x) = Ω i (x) / Ω i-1 (x) (11)

【0017】[0017]

【数6】 Ω-1(x) =x2t Ω0(x)=T(x) Λ-1(x) =0 Λ0(x)=Γ(x) (12) 誤り値多項式Ω(x)の次数が2t−E以下になるまで
繰り返し計算する。これにより得た誤り値多項式および
誤り位置多項式を以下のように解くことにより誤りバイ
トの位置、値を知ることが可能となる。
Ω −1 (x) = x 2t Ω 0 (x) = T (x) Λ −1 (x) = 0 0 (x) = Γ (x) (12) Error value polynomial Ω (x ) Is repeatedly calculated until the order of 2) becomes 2t-E or less. By solving the obtained error value polynomial and error position polynomial as follows, the position and value of the error byte can be known.

【0018】誤り値多項式Ω(x)および誤り位置多項
式Λ(x)から誤りは以下のように算出可能である。
From the error value polynomial Ω (x) and the error locator polynomial Λ (x), the error can be calculated as follows.

【0019】[0019]

【数7】 (Equation 7)

【0020】すなわち、Λ(x)にα-iを代入した結果
が0ならば、i乗の位置のバイトに誤りがありei がそ
の値がである。
That is, if the result of substituting α- i for Λ (x) is 0, there is an error in the byte at the i-th power and e i is the value.

【0021】さて、従来の技術において、リード・ソロ
モン誤り訂正符号のユークリッド互除法処理はマイクロ
プログラミングによる処理が多用化されてきた。しかし
リード・ソロモン誤り訂正符号の訂正能力をtとしたと
き、ガロア体上の積和演算を(2t)2 回要するために
tが増大すると共に処理時間が増大するため、高速処理
の実現を妨げてきた。
In the prior art, the Euclidean mutual division processing of the Reed-Solomon error correction code has often been performed by microprogramming. But when the correction capability of the Reed-Solomon error correction code and t, the processing time increases with t increases to require a product-sum operation in a Galois field (2t) 2 times, interfere with the realization of high-speed processing Have been.

【0022】この問題を解決するために並列処理の試み
も近年見られる。例えば、今井らは(特開昭63−16
4629号公報)、2tのセルを使用することにより高
速処理が可能なことを示している。しかしこの方法では
各セルの状態が違うために各セルへの制御線が別々に必
要であると共に、コントローラが2tの状態を持つ必要
がありハードウエア量が増大する。
In order to solve this problem, parallel processing has been attempted in recent years. For example, Imai et al. (JP-A-63-16)
No. 4629) shows that high-speed processing is possible by using 2t cells. However, in this method, since the state of each cell is different, a control line to each cell is separately required, and the controller needs to have a state of 2t, which increases the amount of hardware.

【0023】また、Cameron らは米国特許明細書第5,
170,399号でユークリッドスタックと呼ばれる2
t個のセルを用いた構造を2つ並列におくことにより、
高速処理を実現している。これは最大2t+1個のガロ
ア体上の乗算器を並列に動かすことにより、1クロック
サイクルで多項式同士の除算を行うことが可能であるこ
とを実証したものである。また、この米国特許明細書に
記載された技術は、特開昭63−164629号公報に
記載されたものとはとは異なり、各基本セルに対する制
御入力はすべて共通でありLSI上にて集積するのに有
利であり、コントローラも簡単化しやすい。また誤り値
多項式Ω(x)と誤り位置多項式Λ(x)の形成過程、
変成シンドローム多項式T(x)と消失多項式Γ(x)
の形成過程が同じであるため、ユークリッドスタックを
2つ置く構成とした場合、それぞれのスタックへの制御
が同じであるという特徴がある。
Also, Cameron et al. In US Pat.
170,399 called Euclid stack 2
By arranging two structures using t cells in parallel,
High-speed processing is realized. This demonstrates that it is possible to perform division between polynomials in one clock cycle by moving up to 2t + 1 multipliers on the Galois field in parallel. Also, the technique described in this US patent specification is different from that described in Japanese Patent Application Laid-Open No. 63-164629, in that all control inputs to each basic cell are common and integrated on an LSI. And the controller is easy to simplify. Also, the process of forming the error value polynomial Ω (x) and the error location polynomial Λ (x),
Metamorphic syndrome polynomial T (x) and vanishing polynomial Γ (x)
Are formed in the same manner, so that when two Euclidean stacks are provided, the control of each stack is the same.

【0024】しかし、米国特許明細書第5,170,3
99号に示されている図2(A)の構成は、結局基本セ
ルを4t個使用するものでありハードウエア量が大き
い。また同図2(B)の構成は基本セルを2t個使用す
るのみであるが、誤り値多項式Ω(X)、誤り位置多項
式Λ(X)と順に演算するため、先に算出した誤り値多
項式Ω(X)を保存するためのレジスタメモリ(図2
(B)の46)を必要とする。また誤り位置多項式Λ
(X)の算出に当たって誤り値多項式Ω(X)の算出の
サイクル種別と同じシーケンスを実現する必要とするた
めに誤り値多項式Ω(X)の算出のサイクル種別の履歴
をレジスタメモリないしコントロールブロックに蓄積す
る必要がある。またコントロールブロック自体はこのた
め誤り値多項式Ω(X)、誤り位置多項式Λ(X)のサ
イクルでは違った処理を強いられ、誤り値多項式Ω
(x)、誤り位置多項式Λ(x)を形成するコントロー
ルシーケンスが同一であることを生かし切れていない問
題があった。
However, US Patent No. 5,170,3
The structure shown in FIG. 2A shown in Japanese Patent No. 99 eventually uses 4t basic cells and requires a large amount of hardware. 2B uses only 2t basic cells. However, since the error value polynomial Ω (X) and the error position polynomial Λ (X) are sequentially calculated, the error value polynomial previously calculated is used. Register memory for storing Ω (X) (FIG. 2
(B) 46) is required. The error locator polynomial Λ
In calculating (X), it is necessary to realize the same sequence as the cycle type for calculating the error value polynomial Ω (X). Therefore, the history of the cycle type for calculating the error value polynomial Ω (X) is stored in the register memory or the control block. Need to accumulate. Also, the control block itself is forced to perform different processing in the cycle of the error value polynomial Ω (X) and the error position polynomial Λ (X),
(X), there is a problem that the control sequences forming the error locator polynomial Λ (x) cannot be fully utilized.

【0025】また、米国特許明細書第5,170,39
9号に記載のものは、ユークリッドスタック以外にシン
ドローム発生部、誤り値・誤り位置多項式の評価処理部
を別に置くことを前提にしており、これらの処理も最大
2t+1個の並列乗算を必要とする演算であるにも関わ
らず、これの処理も行うことが可能なユークリッドスタ
ックの可能性について言及していない。
Also, see US Pat. No. 5,170,39.
No. 9 is based on the premise that a syndrome generator and an error value / error locator polynomial evaluation processor are separately provided in addition to the Euclidean stack, and these processes also require a maximum of 2t + 1 parallel multiplications. It does not mention the possibility of a Euclidean stack that can perform this processing even though it is an operation.

【0026】[0026]

【発明が解決しようとする課題】したがって、本願発明
の目的は、リード・ソロモン誤り訂正符号を、構成が簡
単でしかも少ないハードウェア量の回路を用いて高速に
誤り訂正復号化する演算回路の提供である。
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide an arithmetic circuit for performing high-speed error correction decoding of a Reed-Solomon error correction code using a circuit having a simple structure and a small amount of hardware. It is.

【0027】[0027]

【課題を解決するための手段】上記目的を達成するため
に、請求項1の記載の発明は、誤り値多項式Ω(x)、
誤り位置多項式Λ(x)を形成するための複数の基本セ
ルと1個のTERMセルとコントロール回路とを少なく
ても有するリード・ソロモン誤り訂正符号復号化回路回
路において、前記各基本セルは、2組の多項式を演算す
るための2組のレジスタと、レジスタを選択するマルチ
プレクサと、演算を制御するマルチプレクサと、ガロア
体上の演算を行う演算器を少なくても有し、前記TER
Mセルは、ガロア体上の割算器と、レジスタを少なくて
も有し、前記コントロール回路は、レジスタの選択以外
の基本セルへの制御は同一のまま、誤り値多項式Ω
(x)の演算サイクルと誤り位置多項式Λ(x)演算サ
イクルの2サイクルを行い、直前の誤り値多項式Ω
(x)の演算サイクルの割り算結果を前記TERMセル
内の前記レジスタに記憶し、直後の誤り位置多項式Λ
(x)の演算サイクルにおいて使用することを繰り返す
ように制御することにより、誤り値多項式Ω(x)、誤
り位置多項式Λ(x)を形成することを特徴とする。
In order to achieve the above-mentioned object, according to the first aspect of the present invention, an error value polynomial Ω (x),
In a Reed-Solomon error correction code decoding circuit having at least a plurality of basic cells for forming the error locator polynomial Λ (x), one TERM cell and a control circuit, each of the basic cells is 2 The TER includes two sets of registers for operating a set of polynomials, a multiplexer for selecting the registers, a multiplexer for controlling the operations, and at least an operation unit for performing an operation on the Galois field.
The M cell has a divider on the Galois field and at least a register, and the control circuit controls the error value polynomial Ω while maintaining the same control on the basic cell except for the selection of the register.
(X) operation cycle and error location polynomial Λ (x) operation cycle are performed, and the immediately preceding error value polynomial Ω
The division result of the operation cycle of (x) is stored in the register in the TERM cell, and the immediately following error locator polynomial {
It is characterized in that an error value polynomial Ω (x) and an error location polynomial Λ (x) are formed by performing control in such a manner as to be repeated in the operation cycle of (x).

【0028】請求項2に記載の発明は、前記基本セル
は、変成シンドローム多項式T(x)、消失多項式Γ
(x)の演算も可能であり、前記TERMセルは、消失
箇所に対応するデータを発生する手段を有し、前記コン
トロール回路は、レジスタの選択以外の基本セルへの制
御は同一のまま、変成シンドローム多項式T(x)の演
算サイクルと消失多項式Γ(x)の演算サイクルの2サ
イクルを繰り返す制御を行い、変成シンドローム多項式
T(x)、消失多項式Γ(x)を形成することを特徴と
する。
According to a second aspect of the present invention, the basic cell includes a modified syndrome polynomial T (x) and an erasure polynomial Γ
The operation of (x) is also possible, wherein the TERM cell has means for generating data corresponding to a lost portion, and the control circuit performs the conversion while maintaining the same control on the basic cells other than the selection of the register. It is characterized by performing control to repeat two cycles of an operation cycle of a syndrome polynomial T (x) and an operation cycle of an erasure polynomial Γ (x) to form a modified syndrome polynomial T (x) and an erasure polynomial Γ (x). .

【0029】請求項3に記載の発明は、前記基本セルお
よび前記TERMセルは、誤り値多項式Ω(x)、誤り
位置多項式Λ(x)の評価演算も可能であり、前記コン
トロール回路は、誤り値多項式Ω(x)の評価演算サイ
クルと誤り位置多項式Λ(x)評価演算サイクルの2サ
イクルを行い、先のサイクルの演算結果をTERMセル
内のレジスタに記憶し後のサイクルで誤り値の算出に使
用することを繰り返す制御を行うことにより、誤り値多
項式Ω(x)、誤り位置多項式Λ(x)を評価すること
を特徴とする。
According to a third aspect of the present invention, the basic cell and the TERM cell can perform an evaluation operation of an error value polynomial Ω (x) and an error location polynomial Λ (x). Performs two cycles of an evaluation operation cycle of the value polynomial Ω (x) and an error operation polynomial Λ (x) evaluation operation cycle, stores the operation result of the previous cycle in a register in the TERM cell, and calculates an error value in a later cycle , By evaluating the error value polynomial Ω (x) and the error location polynomial Λ (x).

【0030】請求項4に記載の発明は、前記基本セルお
よびTERMセルは、シンドローム算出演算も行うこと
が可能なことを特徴とする。
The invention according to a fourth aspect is characterized in that the basic cell and the TERM cell can also perform a syndrome calculation operation.

【0031】請求項5に記載の発明は、一方の入力がセ
レクタの出力に接続し、もう一方の入力が共通のバスに
接続するガロア体上の乗算器と、前記乗算器の出力を少
なくとも一方の入力に持つガロア体上の加算器と、前記
加算器の出力を入力に持つ2つのMレジスタと、前記乗
算器の入力および前記加算器の出力にマルチプレクサを
介して接続する2つのNレジスタと、前記2つのMレジ
スタと、前記2つのMレジスタのそれぞれの出力に接続
する2つのマルチプレクサとを有する前記基本セルを用
いて構成されたことを特徴とする。
According to a fifth aspect of the present invention, there is provided a multiplier on a Galois field in which one input is connected to an output of a selector and the other input is connected to a common bus, and at least one of the outputs of the multiplier is connected to a common bus. An adder on a Galois field at the input of the two, two M registers having the output of the adder at the input, and two N registers connected to the input of the multiplier and the output of the adder via a multiplexer; , And the two M registers and two multiplexers connected to respective outputs of the two M registers.

【0032】[0032]

【作用】本発明は、上記の構成で、誤り値多項式・誤り
位置多項式の処理がほぼ同型であることを利用して、交
互に行うことによりハードウエアの共有を有効に行って
いる。本発明はまた、シンドローム発生、誤り値・誤り
位置多項式の評価も最大2t+1の並列演算であること
を利用して、時分割により、同じハードウエアを用いる
ことにより、ハードウェアの共有・最小化を行ってい
る。
The present invention utilizes the fact that the processing of the error value polynomial / error locator polynomial is of substantially the same type in the above-described configuration, thereby effectively sharing hardware by performing the processing alternately. The present invention also takes advantage of the fact that the occurrence of syndromes and the evaluation of error values / error locator polynomials is a parallel operation with a maximum of 2t + 1, and the same hardware is used by time division, thereby sharing and minimizing hardware. Is going.

【0033】[0033]

【実施例】以下に、本発明の実施例について図面を用い
て説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0034】(実施例の構成)本発明の実施例おける基
本セルの構成示すブロック図を図1に示す。基本セル2
t個と組み合わせて使用するTERMセルの構成を示す
ブロック図を図2に示す。また基本セル2t個とTER
Mセル組み合わせてユークリッド互除法処理を行うこと
により、リード・ソロモン誤り訂正符号の復号化する本
願発明の実施例である演算回路の全体構成を図3に示
す。
(Configuration of Embodiment) FIG. 1 is a block diagram showing the configuration of a basic cell in an embodiment of the present invention. Basic cell 2
FIG. 2 is a block diagram showing the configuration of a TERM cell used in combination with t cells. Also, 2t basic cells and TER
FIG. 3 shows an overall configuration of an arithmetic circuit according to an embodiment of the present invention for decoding a Reed-Solomon error correction code by performing Euclidean mutual division processing by combining M cells.

【0035】図1において、101がガロア体上の乗算
器である。102がガロア体上の加算器である。10
1,102は単一の乗加算器で置き換え可能である。1
03,104はマルチプレクサであり、各々乗算器、加
算器の入力を切り替えている。マルチプレクサ103,
104の切り替え制御線がおのおのs0,s1である。
105,106がMレジスタと呼ぶレジスタ群である。
107,108がNレジスタと呼ぶレジスタ群である。
各レジスタ105,106,107,108の書き込み
制御線がそれぞれwm0,wm1,wn0,wn1であ
る。レジスタ105,106の出力はマルチプレクサ1
09で選択されている。同様にレジスタ107,108
の出力はマルチプレクサ110で選択されている。マル
チプレクサ109,110はともに制御線s3で制御さ
れている。Qbusが共通バスであり、乗算器101の
入力になっている。Mi-1 は入力であり、図3の示すよ
うに、前段の基本セルのMi 出力に接続される。Mi
出力であり、図3に示すように後段の基本セルの入力M
i-1 に接続される。
In FIG. 1, reference numeral 101 denotes a multiplier on a Galois field. 102 is an adder on the Galois field. 10
1, 102 can be replaced by a single multiplier / adder. 1
Reference numerals 03 and 104 denote multiplexers, which switch inputs of a multiplier and an adder, respectively. Multiplexer 103,
The switching control lines 104 are s0 and s1, respectively.
105 and 106 are register groups called M registers.
107 and 108 are register groups called N registers.
The write control lines of the registers 105, 106, 107, and 108 are wm0, wm1, wn0, and wn1, respectively. The output of the registers 105 and 106 is the multiplexer 1
09 is selected. Similarly, registers 107 and 108
Are selected by the multiplexer 110. The multiplexers 109 and 110 are both controlled by the control line s3. Qbus is a common bus, and is an input of the multiplier 101. M i-1 is an input and is connected to the M i output of the preceding basic cell as shown in FIG. M i is an output, and as shown in FIG.
Connected to i-1 .

【0036】TERMセルを示す図2において、201
はレジスタでありwfがその書き込み制御線である。2
02はガロア体上の逆関数演算回路であり、203はガ
ロア体上の乗算器である。202,203は単一の割算
器に置き換え可能である。204,205,206はマ
ルチプレクサであり、si1,si2,si3はその制
御信号である。207はゼロ検出回路である。mzer
oはその出力である。208はラッチであり、lk1はそ
の制御信号である。
In FIG. 2 showing a TERM cell, 201
Is a register and wf is its write control line. 2
02 is an inverse function operation circuit on the Galois field, and 203 is a multiplier on the Galois field. 202 and 203 can be replaced by a single divider. 204, 205, and 206 are multiplexers, and si1, si2, and si3 are control signals thereof. 207 is a zero detection circuit. mzer
o is its output. 208 is a latch, and l k1 is its control signal.

【0037】図3において、図1に示した基本セル2t
個と図2に示したTERMセルの相互接続を示す。30
2〜305は図1に示した基本セルBU0,BU1,・
・BU2t−1である。301はマルチプレクサであ
り、slはその制御線である。307はコントロール回
路である。s0−s3,wd0−we1の信号線はすべ
ての基本セルに共通の入力であり、コントロール回路か
ら出力される。なお、図2のmzero出力はコントロ
ール回路への入力となる。また図2の信号線wf,si
1,si2,si3への信号はコントロール回路から出
力されている。各基本セルのMi出力は次段のMi-1
力に接続する。TERMセル306への入力M2t-1は、
2t−1番目の基本セル305の出力Mi に接続され
る。
In FIG. 3, the basic cell 2t shown in FIG.
FIG. 3 shows the interconnection of the TERM cells shown in FIG. 30
2 to 305 are the basic cells BU0, BU1,.
BU2t-1. Reference numeral 301 denotes a multiplexer, and sl denotes its control line. 307 is a control circuit. The signal lines s0-s3 and wd0-we1 are inputs common to all basic cells, and are output from the control circuit. Note that the mzero output in FIG. 2 is an input to the control circuit. Also, the signal lines wf, si in FIG.
Signals to 1, 1 and 2 are output from the control circuit. The Mi output of each basic cell is connected to the next stage Mi -1 input. The input M 2t-1 to the TERM cell 306 is
It is connected to the output M i of 2t-1 th basic cell 305.

【0038】(他の実施例の構成)図4は、別の実施例
の基本セルのブロック図である。図4において、401
がガロア体上の乗算器である。402がガロア体上の加
算器である。401,402は単一の乗加算器で置き換
え可能である。403,404のマルチプレクサであ
り、各々乗算器、加算器の入力を切り替えている。マル
チプレクサ403,404の切り替え制御線がおのおの
s0,s1である。405,406がMレジスタと呼ぶ
レジスタ群である。407,408がNレジスタと呼ぶ
レジスタ群である。各レジスタ405,406,40
7,408の書き込み制御線がそれぞれwm0,wm
1,wn0,wn1である。レジスタ405,406の
出力はマルチプレクサ409で選択されている。同様に
レジスタ407,408の出力はマルチプレクサ410
で選択されている。マルチプレクサ409,410はと
もに制御線s3で制御されている。Qbusが共通バス
であり、乗算器401の入力になっている。Mi-1 は入
力であり、前段の基本セルのMi 出力に接続される。M
i は出力であり、後段の基本セルの入力Mi-1 に接続さ
れる。
(Configuration of Another Embodiment) FIG. 4 is a block diagram of a basic cell of another embodiment. In FIG.
Is a multiplier on the Galois field. 402 is an adder on the Galois field. 401 and 402 can be replaced by a single multiplier / adder. Multiplexers 403 and 404 switch the inputs of the multiplier and the adder, respectively. The switching control lines of the multiplexers 403 and 404 are s0 and s1, respectively. Reference numerals 405 and 406 denote register groups called M registers. Reference numerals 407 and 408 denote register groups called N registers. Each register 405, 406, 40
7 and 408 are wm0 and wm, respectively.
1, wn0, wn1. The outputs of the registers 405 and 406 are selected by the multiplexer 409. Similarly, the outputs of the registers 407 and 408 are
Has been selected. The multiplexers 409 and 410 are both controlled by the control line s3. Qbus is a common bus, and is an input of the multiplier 401. M i-1 is an input and is connected to the M i output of the preceding basic cell. M
i is an output, which is connected to the input M i-1 of the subsequent basic cell.

【0039】図4は、図1に示した基本セルにおいてマ
ルチプレクサ103への入力を追加し、マルチプレクサ
109の出力に接続した構成となっている。
FIG. 4 shows a configuration in which an input to the multiplexer 103 is added to the basic cell shown in FIG.

【0040】図5は他の実施例のTERMセルの構成を
示すブロック図である。
FIG. 5 is a block diagram showing the configuration of a TERM cell according to another embodiment.

【0041】図5において、501はレジスタでありw
fがその書き込み制御線である。502はガロア体上の
逆関数演算回路であり、503はガロア体上の乗算器で
ある。504,505,506はマルチプレクサであ
り、si1,si2,si3はその制御信号である。5
07はゼロ検出回路である。mzeroはその出力であ
る。508はラッチであり、lk1はその制御信号であ
る。509はガロア体シーケンサ、510は深さ2tの
FIFOである。
In FIG. 5, 501 is a register and w
f is the write control line. Reference numeral 502 denotes an inverse function operation circuit on the Galois field, and reference numeral 503 denotes a multiplier on the Galois field. Reference numerals 504, 505, and 506 are multiplexers, and si1, si2, and si3 are control signals thereof. 5
07 is a zero detection circuit. mzero is its output. 508 is a latch, and l k1 is its control signal. 509 is a Galois field sequencer, and 510 is a 2 t deep FIFO.

【0042】図5に示されたTERMセルは、図2に示
されたTERMセルにおいて、ガロア体シーケンサ50
9と深さ2tのFIFO510を追加したものである。
各セルの接続は図3に同じである。
The TERM cell shown in FIG. 5 is different from the TERM cell shown in FIG. 2 in that the Galois field sequencer 50 is used.
9 and a 2 t deep FIFO 510.
The connection of each cell is the same as in FIG.

【0043】図4の基本セルと図5のTERMセルは、
図3の接続と同様の接続で、消失多項式;変成シンドロ
ーム生成およびユークリッド互除法処理を行う演算回路
を構成する。
The basic cell of FIG. 4 and the TERM cell of FIG.
An arithmetic circuit for performing the erasure polynomial; modified syndrome generation and the Euclidean mutual division method is formed by the same connection as the connection in FIG.

【0044】(第3の実施例の構成)図6,図7は第3
の実施例の構成を示す図である。図5は図4に示した基
本セルを拡張したものである。
FIGS. 6 and 7 show a third embodiment.
FIG. 3 is a diagram illustrating a configuration of an example of FIG. FIG. 5 is an extension of the basic cell shown in FIG.

【0045】図6において、601がガロア体上の乗算
器である。602がガロア体上の加算器である。60
1,602は単一の乗加算器で置き換え可能である。6
03,604はマルチプレクサであり、各々乗算器60
1、加算器602の入力を切り替えている。マルチプレ
クサ603,604の切り替え制御線がおのおのs0,
s1である。605,606がMレジスタと呼ぶレジス
タ群である。607,608がNレジスタと呼ぶレジス
タ群である。各レジスタ605,606,607,60
8の書き込み制御線がそれぞれwm0,wm1,wn
0,wn1である。レジスタ605,606の出力はマ
ルチプレクサ609で選択されている。同様にレジスタ
607,608の出力はマルチプレクサ610で選択さ
れている。マルチプレクサ609,610はともに制御
線s3で制御されている。Qbusが共通バスであり、
乗算器601の入力になっている。Mi-1 は入力であ
り、前段の基本セルのMi 出力に接続される。Mi は出
力であり、後段の基本セルの入力Mi-1 に接続される。
611,612が追加されたマルチプレクサである。s
2、s4がその制御線である。603のマルチプレクサ
の入力としてシンドローム多項式の算出のための定数入
力、誤り位置多項式の評価のための定数入力、誤り値多
項式の評価のための定数入力が、図4の基本セルの構成
と比較して追加されている。
In FIG. 6, reference numeral 601 denotes a multiplier on a Galois field. 602 is an adder on the Galois field. 60
1,602 can be replaced by a single multiply-adder. 6
Numerals 03 and 604 denote multiplexers.
1. The input of the adder 602 is switched. The switching control lines of the multiplexers 603 and 604 are s0,
s1. Reference numerals 605 and 606 denote register groups called M registers. Reference numerals 607 and 608 denote register groups called N registers. Each register 605,606,607,60
8 write control lines are respectively wm0, wm1, wn
0, wn1. The outputs of the registers 605 and 606 are selected by the multiplexer 609. Similarly, the outputs of the registers 607 and 608 are selected by the multiplexer 610. The multiplexers 609 and 610 are both controlled by the control line s3. Qbus is a common bus,
This is an input of the multiplier 601. M i-1 is an input and is connected to the M i output of the preceding basic cell. M i is an output and is connected to the input M i-1 of the succeeding basic cell.
Reference numerals 611 and 612 represent additional multiplexers. s
2, s4 is the control line. The constant input for calculating the syndrome polynomial, the constant input for evaluating the error locator polynomial, and the constant input for evaluating the error value polynomial as inputs to the multiplexer 603 are compared with the basic cell configuration of FIG. Has been added.

【0046】図7は図5のTERMセルの構成を拡張し
たものである。
FIG. 7 is an extension of the configuration of the TERM cell of FIG.

【0047】図7において、701はレジスタでありw
fがその書き込み制御線である。702はガロア体上の
逆関数演算回路であり、703はガロア体上の乗算器で
ある。704,705,706はマルチプレクサであ
り、si1,si2,si3はその制御信号である。7
07はゼロ検出回路である。mzero はその出力である。
708はラッチであり、lkはその制御信号である。7
09はガロア体シーケンサ、710は深さ2tのFIF
Oである。
In FIG. 7, reference numeral 701 denotes a register w
f is the write control line. 702 is an inverse function operation circuit on the Galois field, and 703 is a multiplier on the Galois field. Reference numerals 704, 705, and 706 are multiplexers, and si1, si2, and si3 are control signals thereof. 7
07 is a zero detection circuit. mzero is its output.
708 is a latch, and lk is its control signal. 7
09 is a Galois field sequencer, 710 is a 2t deep FIF
O.

【0048】以上の構成は、図5のTERMセルと同様
な構成である。そして、図5の構成と比較すると、端子
として、Decode data 入力、Encode data 入力、Encode
data 出力、SUModd ,SUMevenが追加されてい
る。713はゼロ検出回路であり、sumzero はその出力
である。712はガロア体上の加算器であり、SUM
odd ,SUMevenを入力としてSUMを出力する。71
1はラッチであり、lk2はその制御線である。704
の入力に711の出力が追加されている。705の入力
にSUMが追加されている。
The above configuration is similar to that of the TERM cell in FIG. Then, as compared with the configuration of FIG. 5, as terminals, Decode data input, Encode data input, Encode
The data output, SUM odd and SUM even are added. 713 is a zero detection circuit, and sumzero is its output. 712 is an adder on the Galois field, and SUM
The odd and SUM even are input and the SUM is output. 71
1 is a latch, and lk2 is its control line. 704
The output of 711 is added to the input of. SUM is added to the input of 705.

【0049】図8は図6の基本セル、図7のTERMセ
ルを組み合わせたときの全体の接続図である。s0−s
5,wd0−1,we0−1の制御線は省略されている
が、図3と同様にすべての基本セルに対する共通入力と
して必要である。0番目、1番目の基本セル802と8
03のSUMi-1 入力には0を入力する。2i番の基本
セルのSUMi-1 入力は2i−2番の基本セルのSUM
i 出力に接続する。2i+1番の基本セルのSUMi-1
入力は2i−1番の基本セルのSUMi 出力に接続す
る。TERMセル806のSUModd 入力は2t−1番
の基本セル805のSUMi 出力に接続し、SUMeven
入力は2t−2番の基本セルのSUMi 出力に接続す
る。
FIG. 8 is an overall connection diagram when the basic cell of FIG. 6 and the TERM cell of FIG. 7 are combined. s0-s
Although the control lines 5, wd0-1 and we0-1 are omitted, they are required as common inputs to all basic cells as in FIG. 0th and 1st basic cells 802 and 8
03 is input to the SUM i-1 input. The SUM i-1 input of the 2i-th basic cell is the SUM of the 2i-2-th basic cell
Connect to i output. SUM i-1 of 2i + 1th basic cell
The input is connected to the SUM i output of the 2i-1 elementary cell. The SUM odd input of the TERM cell 806 is connected to the SUM i output of the 2t-1st basic cell 805, and SUM even
The input is connected to the SUM i output of the 2t-2 basic cell.

【0050】(実施例の動作)上記した本発明の実施例
の構成によるリード・ソロモン符号の復号化を、構成に
おける動作を詳細に追うことで説明する。
(Operation of Embodiment) Decoding of the Reed-Solomon code according to the above-described embodiment of the present invention will be described by following the operation in the configuration in detail.

【0051】初期状態において、図3の各基本セルおよ
びTERMセルのレジスタを図9のとおりに初期化す
る。つまり、基本セルの各レジスタ105には誤り値多
項式Ω0 x)の初期値多項式の各係数を設定する。同様
にレジスタ107に誤り値多項式Ω-1(x)を格納す
る。基本セルの各レジスタ106には誤り位置多項式Λ
(x)の初期値多項式の各係数を設定する。同様にレ
ジスタ108に誤り位置多項式Λ−1(x)を格納す
る。設定する各初期値に関しては、上記式(12)を参
照されたい。
In the initial state, the registers of each basic cell and TERM cell in FIG. 3 are initialized as shown in FIG. That is, each coefficient of the initial value polynomial of the error value polynomial Ω 0 x) is set in each register 105 of the basic cell. Similarly, the error value polynomial Ω −1 (x) is stored in the register 107. Each register 106 of the basic cell has an error locator polynomial Λ
Each coefficient of the initial value polynomial of 0 (x) is set. Similarly, the error locator polynomial Λ −1 (x) is stored in the register 108. Refer to the above equation (12) for each initial value to be set.

【0052】なお、誤り位置多項式Λ(x)は便宜上誤
り値多項式Ω(x)と一つ次数をずらした形で格納され
る。つまり初期状態において基本セルのn番目にはn+
1次の項が格納される。0次の項は基本セル0の一つ手
前の仮想的なレジスタに置いている。この仮想的なレジ
スタは初期の状態に1という値をもつ以外は常にゼロで
あるので(一回目の除算処理でΛ(x)の最下位の桁は
必ずBU0(基本セル302)のレジスタに移る)回路
的には基本セル302のMi-1 端子の入力に対して0x
01を入力するセレクタとして実現される(図3のマル
チプレクサ301がそれに該当する)。
The error locator polynomial Λ (x) is stored in a form shifted from the error value polynomial Ω (x) by one degree for convenience. That is, in the initial state, n +
The first term is stored. The zero-order term is placed in a virtual register immediately before the basic cell 0. This virtual register is always zero except that it has an initial value of 1 (the least significant digit of Λ (x) always moves to the register of BU0 (basic cell 302) in the first division process). In terms of the circuit, 0x is applied to the input of the Mi -1 terminal of the basic cell 302.
It is realized as a selector for inputting 01 (the multiplexer 301 in FIG. 3 corresponds thereto).

【0053】初期化の処理自体は、後述するように拡張
した構成を使用しシンドローム多項式を求める処理を同
一回路にて行うように拡張すれば不要となるが、シンド
ローム多項式の生成を別回路にて行う場合は図3のIn
it入力端子からシフトインすることにより可能であ
る。あるいは、外部よりシリアルにシフトインするよう
にしてもよい。
The initialization processing itself becomes unnecessary if the processing for obtaining the syndrome polynomial is performed by the same circuit using the expanded configuration described later, but the generation of the syndrome polynomial is performed by another circuit. To do this, use In as shown in FIG.
It is possible by shifting in from the it input terminal. Alternatively, the shift-in may be performed serially from outside.

【0054】初期化した後の1回のユークリッド互除法
収束計算は以下の手順で行うことができる。この実施例
では、誤り値多項式Ω(x)および誤り位置多項式Λ
(x)に関する演算を交互に行うが、以下便宜のため、
誤り値多項式Ω(x)多項式にのみ注目して説明を行
い、その後誤り位置多項式Λ(x)の演算について記述
する。
One Euclidean algorithm convergence calculation after initialization can be performed by the following procedure. In this embodiment, the error value polynomial Ω (x) and the error location polynomial Λ
The calculation relating to (x) is performed alternately.
The following description focuses on the error value polynomial Ω (x) polynomial, and then describes the operation of the error location polynomial Λ (x).

【0055】多項式の除算により剰余多項式をもとめる
演算は、以下のように書くことができる。誤り値多項式
Ωi-1 (x)を誤り値多項式Ωi-2 (x)で割った剰余
を求めることを考えたとき、以下に示すように繰り返し
演算により剰余多項式W(x)(つまりΩi (x))を
求める。すなわち
An operation for obtaining a remainder polynomial by dividing a polynomial can be written as follows. When considering the remainder obtained by dividing the error value polynomial Ω i-1 (x) by the error value polynomial Ω i-2 (x), the remainder polynomial W (x) (that is, Ω i (x)). Ie

【0056】[0056]

【数8】 (Equation 8)

【0057】これは多項式の割り算の手順に当てはめれ
ば理解は容易である。割り算の手順については、後で詳
しく説明する。
This can be easily understood if it is applied to the procedure of polynomial division. The procedure of the division will be described later in detail.

【0058】なお(18)式のThe expression (18)

【0059】[0059]

【外1】 [Outside 1]

【0060】の項はΩi-2 (x)をΩi-1 (X)で割っ
た商に対応する。すなわち、(18)はΩi-2 (x)を
Ωi-1 (X)で割った商をQ(x)とすると、その係数
i を用いて以下のように書くことも可能である。
The term corresponds to the quotient obtained by dividing Ω i-2 (x) by Ω i-1 (X). That is, assuming that a quotient obtained by dividing Ω i-2 (x) by Ω i-1 (X) is Q (x), (18) can be written as follows using the coefficient q i. .

【0061】[0061]

【数9】 Wk+1(x) =Wk(x) +Ωi-1(x)qi-j-kxi-j-k (19) 多項式の割り算の筆算によって処理したものを図10に
示す。図11が図10に対応した本発明の実施例の構成
を用いた一回の多項式の除算演算の手順を示す。
W k + 1 (x) = W k (x) + Ω i-1 (x) q ijk x ijk (19) FIG. 10 shows the result of the polynomial division calculation. FIG. 11 shows a procedure of a single polynomial division operation using the configuration of the embodiment of the present invention corresponding to FIG.

【0062】さて、図10において、Now, in FIG.

【0063】[0063]

【数10】 A(x)=a33 +a22 +a1 x+a0 (A) B(x)=b22 +bx+b0 (B) とし、(A)式を(B)式で割ると、商の式Q(x)と
剰余の式W(x)を用いて次式(C)が成立する。
A (x) = a 3 x 3 + a 2 x 2 + a 1 x + a 0 (A) B (x) = b 2 x 2 + bx + b 0 (B), and equation (A) is represented by equation (B). When divided, the following equation (C) is established using the quotient equation Q (x) and the remainder equation W (x).

【0064】[0064]

【数11】 A(x)=Q(x)B(x)+W(x) (C) ただし、Q(x)=q1 x+q0 ; W(x)=a″1
x+a″0 図10で、演算1では、q1 xが求まり、q1 =a3
2 となる。演算1で導出されるA′(x)は、
A (x) = Q (x) B (x) + W (x) (C) where Q (x) = q 1 x + q 0 ; W (x) = a ″ 1
x + a ″ 0 In FIG. 10, in operation 1, q 1 x is obtained, and q 1 = a 3 /
a b 2. A ′ (x) derived in operation 1 is

【0065】[0065]

【数12】 A′(x)=a′22 +a′1 x+a′0 (D) ただし、a′2 =a2 −q11 ,a′1 =a1 −q1
0 演算0では、q0 が求まり、q0 =a′2 /b2 とな
り、剰余W(x)が求まる。
A ′ (x) = a ′ 2 x 2 + a ′ 1 x + a ′ 0 (D) where a ′ 2 = a 2 −q 1 b 1 , a ′ 1 = a 1 −q 1
In b 0 operation 0, Motomari is q 0, q 0 = a ' 2 / b 2 , and the remainder W (x) is obtained.

【0066】この筆算を、本発明の実施例の図3に示し
た構成で行ったものが図11である。
FIG. 11 shows the result of this calculation performed with the configuration shown in FIG. 3 of the embodiment of the present invention.

【0067】上記の演算1は、、サイクルがTからT+
1となったとき、全基本セルで次に示す演算を行うこと
で実行される。ここで、Mi ,Ni は、i番目の基本セ
ルMレジスタ,Nレジスタの内容を示している。
In the above operation 1, the cycle is from T to T +
When it becomes 1, it is executed by performing the following operation in all the basic cells. Here, M i, N i is, i-th basic cell M register shows the contents of the N register.

【0068】[0068]

【数13】 Mi,T+1 =Q×Mi-1,T +Ni,T (E) Ni,T+1 =Mi-1,T Q=N2t,T/M2t-1,T 上記のQは、TERMセルで計算され、Qbusを介し
て各基本セルに送られる。また、Mレジスタの内容をN
レジスタに移している。次に演算0をサイクルがT+1
からT+2となったとき、全基本セルにおいて、次に示
す演算を行うことで実行される。
M i, T + 1 = Q × M i−1, T + N i, T (E) N i, T + 1 = M i−1, T Q = N 2t, T / M 2t−1 , T The above Q is calculated in the TERM cell and sent to each basic cell via Qbus. Also, the contents of the M register are set to N
Moved to register. Next, the cycle of operation 0 is T + 1
When it becomes T + 2 from all the basic cells, it is executed by performing the following operation.

【0069】[0069]

【数14】 Mi,T+2 =Q×Ni,T+1 +Mi-1,T+1 (F) Ni,T+2 =Ni,T+1 Q=M2t-1,T+1/N2t,T+1 上記と同様に、QはTERMセルで求めて、Qbusを
介して各基本セルに送られる。剰余は、Mレジスタに求
められる。
M i, T + 2 = Q × N i, T + 1 + M i-1, T + 1 (F) N i, T + 2 = N i, T + 1 Q = M 2t−1 T + 1 / N 2t, T + 1 As above, Q is obtained in the TERM cell and sent to each basic cell via Qbus. The remainder is found in the M register.

【0070】演算1のときの基本セル、TERMセルの
制御線の切り替えを図12、図13、演算0のときの制
御を図14、図15に示す。
FIGS. 12 and 13 show the switching of the control lines of the basic cell and the TERM cell at the time of the operation 1, and FIGS. 14 and 15 show the control at the time of the operation 0.

【0071】図12は、演算1のときの基本セルにおい
て、上記式(E)における
FIG. 12 shows the basic cell at the time of operation 1 in the above equation (E).

【0072】[0072]

【数15】Mi,T =Q×Mi-1,T-1 +Ni,T-1i,T+1 =Mi−1,T の演算を行う接続を示している。図13は、演算1のと
きのTERMセルにおいて、上記式(E)における
## EQU15 ## The connection for performing the calculation of Mi , T = Q.times.Mi -1, T-1 + Ni, T- 1Ni, T + 1 = Mi -1, T is shown. FIG. 13 shows the TERM cell at the time of operation 1 in the above equation (E).

【0073】[0073]

【数16】Q=N2t/M2t-1 の演算を行う接続を示している。## EQU16 ## A connection for performing an operation of Q = N 2t / M 2t-1 is shown.

【0074】また、図14は、演算0における基本セル
において、上記式(F)における
FIG. 14 shows the basic cell in operation 0 and the above equation (F).

【0075】[0075]

【数17】Mi,T =Q×Ni,T-1 +Mi-1,T-1 の演算を行う接続を示している。図15は、演算0にお
けるTERMセルにおいて、上記式(F)における
[Mathematical formula - see original document] The connection for performing the operation of Mi , T = Q * Ni, T-1 + Mi -1, T-1 is shown. FIG. 15 is a graph showing the TERM cell in operation 0 in the above equation (F).

【0076】[0076]

【数18】Q=M2t-1/N2t の演算を行う接続を示している。## EQU18 ## The connection for performing the operation of Q = M 2t-1 / N 2t is shown.

【0077】このような演算を、(14)〜(19)の
多項式の割り算に対して用いる。演算1で(14)〜
(19)の手順におけるW1 (x)を求めるとともに、
Mレジスタ中にあったΩi-2 (x)をΩi-1 (x)を格
納していたNレジスタに移す。W1 (x)はΩi-2
(x)を格納していたMレジスタに上書きする。その
後、演算0でW2 (x)を求める。
Such an operation is used for the division of the polynomials (14) to (19). In operation 1, (14) ~
While obtaining W 1 (x) in the procedure of (19),
Ω i-2 (x) in the M register is transferred to the N register storing Ω i-1 (x). W 1 (x) is Ω i-2
(X) is overwritten on the stored M register. After that, W 2 (x) is obtained by calculation 0.

【0078】本発明の制御の手順を擬似コードで説明し
たものを図16に示す。なお、図16においてPOWE
R,REDUCEは各々tまでカウントできるカウンタ
である。また、図16の演算2は各基本セルのMレジス
タの内容をシフトアップする動作である。この演算2に
おいて、基本セルの制御は演算0と同一で、TERMセ
ルのsi3の選択信号によりQbusに0を出力する制
御を行うことにより実現される。図16の制御手順は、
図3において、コントロール回路307を用いて行われ
る。
FIG. 16 illustrates the control procedure of the present invention in pseudo code. In FIG. 16, POWER
R and REDUCE are counters each capable of counting up to t. Operation 2 in FIG. 16 is an operation of shifting up the contents of the M register of each basic cell. In this operation 2, the control of the basic cell is the same as the operation 0, and is realized by performing control to output 0 to Qbus by the selection signal of si3 of the TERM cell. The control procedure of FIG.
In FIG. 3, the control is performed using a control circuit 307.

【0079】上記では誤り値多項式Ω(x)の演算につ
いて説明した。この誤り値多項式Ω(x)の演算と平行
して行われる誤り位置多項式Λ(x)の演算は式(1
0)に定義した通りである。この式(10)と式(1
9)に注目すれば、誤り値多項式Ω(x)の計算におい
て求めたqI-J-k を使用して、誤り位置多項式Λi-2
(x)、Λi-1 (x)に対して誤り値多項式Ωi-2
(x)、Ωi-1 (x)にほどこしたのと全く同じ演算を
すればよいことがわかる。
The calculation of the error value polynomial Ω (x) has been described above. The calculation of the error locator polynomial Λ (x), which is performed in parallel with the calculation of the error value polynomial Ω (x), is represented by the equation (1)
0). This equation (10) and equation (1)
Focusing on 9), using the q IJk obtained in the calculation of the error value polynomial Ω (x), the error location polynomial Λ i−2
Error value polynomial Ω i-2 for (x), Λ i-1 (x)
It can be seen that it is sufficient to perform exactly the same operation as that performed for (x) and Ω i-1 (x).

【0080】本発明の実施例では、図17のタイムチャ
ートに示すように、誤り値多項式Ω(x)の演算および
Qバスの値のラッチのサイクル、誤り位置多項式Λ
(x)の演算のサイクルを交互に行う。誤り値多項式Ω
i-1 、Ωi-2 の係数は、各基本セルのレジスタ105,
107に格納されるに対して、誤り位置多項式Λi-1
Λi-2 の係数は各基本セルのレジスタ106,108に
格納される。誤り位置多項式Λ(x)の演算は誤り値多
項式Ω(x)の演算で求めたQバスの値を図2のTER
Mセルのラッチ208で保存し、基本セルのs0,s1
の制御線の値を保持したままで、次のサイクルにおいて
レジスタの選択信号ωmo,ωm1,ωno,ωm1,
s3を切り替えて、レジスタ105,107の代わりに
レジスタ106,108を選択するように制御すること
により実現している。
In the embodiment of the present invention, as shown in the time chart of FIG. 17, the cycle of the operation of the error value polynomial Ω (x) and the latch of the value of the Q bus, the error position polynomial Λ
The operation cycle of (x) is performed alternately. Error value polynomial Ω
The coefficients of i-1 and Ω i-2 are determined by the registers 105,
107, the error locator polynomial Λ i-1 ,
The coefficient of Λ i−2 is stored in registers 106 and 108 of each basic cell. The operation of the error locator polynomial を (x) is performed by using the value of the Q bus obtained by the operation of the error value polynomial Ω (x) as TER in FIG.
The data is stored in the latch 208 of the M cell, and s0 and s1
In the next cycle, while holding the value of the control line, the selection signals ωmo, ωm1, ωno, ωm1,
This is realized by switching s3 and controlling to select the registers 106 and 108 instead of the registers 105 and 107.

【0081】図18にt=2の符号における処理例を示
す。図18は
FIG. 18 shows an example of processing for the code of t = 2. FIG.

【0082】[0082]

【数19】 Gp(x) =x8+x5+x3+x2+1 (20) で定義されるガロア体上で、M0 =120、t=2のリ
ード・ソロモン符号を例として使用している。係数がす
べて0なる符号語のX16の項に大きさxl0なる誤り
を加えた例である。T=0が初期状態であり、各基本セ
ルのレジスタ105に、シンドローム多項式の係数が格
納されている。また各レジスタ107,106,108
は式(12)に従ってΩ-1(x)、Λ0 (x)、Λ
-1(x)の係数に初期化されている。M2t-1が非ゼロな
ので図16に従ってstepBが実行され各基本セル内
のレジスタの内容は図18のT=2の状態に変化する。
(Tは2づつ増加しているが、誤り値多項式を演算する
Ωサイクル・誤り位置多項式を演算するΛの各サイクル
が必要なため2サイクル必要である。)以下図16のア
ルゴリズムに従って処理をし、T=8のときに最終的な
誤り値多項式Ω(x)、誤り位置多項式Λ(x)の係数
が各基本セルのレジスタ105,106に求まる。
## EQU19 ## On a Galois field defined by G p (x) = x 8 + x 5 + x 3 + x 2 +1 (20), a Reed-Solomon code of M 0 = 120 and t = 2 is used as an example. I have. This is an example in which an error having a size of x10 is added to a term of X16 of a codeword having all zero coefficients. T = 0 is the initial state, and the coefficients of the syndrome polynomial are stored in the register 105 of each basic cell. Each of the registers 107, 106, 108
Are Ω −1 (x), Λ 0 (x), Λ according to equation (12).
Initialized to a coefficient of -1 (x). Since M2t -1 is non-zero, stepB is executed according to FIG. 16, and the contents of the register in each basic cell change to the state of T = 2 in FIG.
(T increases by two, but two cycles are required because each cycle of Ω cycle for calculating an error value polynomial and Λ for calculating an error locator polynomial is required.) The process according to the algorithm of FIG. , T = 8, the coefficients of the final error value polynomial Ω (x) and error location polynomial Λ (x) are obtained in the registers 105 and 106 of each basic cell.

【0083】多項式の次数が一つ減じられる度に演算
0、演算1、演算2を行えばよいので訂正能力tのリー
ド・ソロモン符号の誤り値多項式Ω(x)の算出には高
々演算は2t回必要である。本発明では演算0・演算1
・演算2を各々1サイクルにて行うので、位置多項式Λ
(x)及び誤り値多項式Ω(x)の算出には高々2t×
2サイクルあればよいことになる。
The operation 0, the operation 1 and the operation 2 have only to be performed each time the degree of the polynomial is reduced by one. Therefore, the calculation of the error value polynomial Ω (x) of the Reed-Solomon code with the correction capability t requires 2t at most. Times needed. In the present invention, operation 0 and operation 1
・ Since operation 2 is performed in one cycle, the position polynomial Λ
(X) and the error value polynomial Ω (x) are calculated at most 2t ×
Only two cycles are required.

【0084】以上によって、本発明の実施例を用いるこ
とによりリード・ソロモン符号のユークリッド互除法演
算が高速に処理可能であることを示した。
As described above, it has been shown that the Euclidean algorithm of the Reed-Solomon code can be processed at high speed by using the embodiment of the present invention.

【0085】(他の実施例の動作)以下では図1・図2
を拡張した図4・図5の回路で誤り値多項式Ω(x)、
誤り位置多項式Λ(x)の算出のみならず、変成シンド
ローム多項式T(x)、消失多項式Γ(x)の導出が可
能であることを示す。
(Operation of Another Embodiment) In the following, FIG. 1 and FIG.
4 and 5 in which the error value polynomial Ω (x),
This shows that not only the calculation of the error locator polynomial Λ (x) but also the derivation of the modified syndrome polynomial T (x) and the erasure polynomial Γ (x) are possible.

【0086】データ入力終了時にTERMセルのFIF
O510には消失箇所に対応するα0 ,α1 …αiE-1
蓄えられている。基本セルの初期化は誤り値多項式Ω
(X)、誤り位置多項式Λ(x)の場合と同じである。
(5),(6)式は以下のような漸化式として書くこと
ができるので、
At the end of data input, the TERM cell FIF
Alpha 0 corresponding to erasures in O510, α 1 ... α iE- 1 is stored. Initialization of basic cell is error value polynomial Ω
(X), the same as in the case of the error locator polynomial Λ (x).
Equations (5) and (6) can be written as the following recurrence equations.

【0087】[0087]

【数20】 Γj+1(x)= (αj −1)Γj(x) (21) Tj+1(x) = (αj −1)Tj(x) (22) 各基本セルは結局、各係数毎に同様のj + 1 (x) = (α j −1) Γ j (x) (21) T j + 1 (x) = (α j −1) T j (x) (22) The cell will eventually have a similar

【0088】[0088]

【数21】 γi,T+1 =αi,T γi-1,T +γi,T (23) なる演算を実現すればよい。[Mathematical formula-see original document] The operation of γi , T + 1 = αi , Tγi -1, T + γi , T (23) may be realized.

【0089】図19に変成シンドローム多項式T(x)
算出時の基本セルの接続を示す。この接続で基本セル
は、
FIG. 19 shows the modified syndrome polynomial T (x)
The connection of the basic cells at the time of calculation is shown. In this connection, the basic cell is

【0090】[0090]

【数22】Mi,T+1 =Q×Mi-1,T +Mi,T の演算をおこなう。これは、上記式(23)の形と同様
である。
[Mathematical formula-see original document] An operation of M i, T + 1 = Q × M i−1, T + M i, T is performed. This is similar to the form of the above equation (23).

【0091】また、TERMセルはマルチプレクサ50
6を通してFIFO510の値を出力する。消失多項式
Γ(x)算出時にはwm0,wm1,s3を切り替えて
同じ演算を行う。図20にタイミングチャートを示す。
FIFO510が空になった時点で消失多項式Γ
(x)、変成シンドローム多項式T(x)算出は終了す
る。この時変成シンドローム多項式T(x)の係数は各
基本セルのレジスタ405に、消失多項式Γ(x)の係
数は各基本セルのレジスタ406に格納されている。こ
れはそのまま消失訂正時の誤り値多項式Ω(x)、誤り
位置多項式Λ(x)の算出のための初期状態と一致する
ため、コントローラは引き続き誤り値多項式Ω(x)、
誤り位置多項式Λ(x)算出演算に移ることができる。
消失訂正時の誤り値多項式Ω(x)、誤り位置多項式Λ
(x)の算出のための手順は、図15に示されている手
順の代わりに図21に示される手順を使用する。図21
に示されている手順に従って図3に示したコントロール
回路が基本セル及びTERMセルを制御する。
The TERM cell is connected to the multiplexer 50.
6 to output the value of the FIFO 510. At the time of calculating the erasure polynomial 1 , (x), the same operation is performed by switching wm0, wm1, and s3. FIG. 20 shows a timing chart.
Erasure polynomial when FIFO 510 is empty
(X), the metamorphic syndrome polynomial T (x) calculation ends. At this time, the coefficient of the metamorphic syndrome polynomial T (x) is stored in the register 405 of each basic cell, and the coefficient of the erasure polynomial Γ (x) is stored in the register 406 of each basic cell. Since this matches the initial state for calculating the error value polynomial Ω (x) and the error position polynomial Λ (x) at the time of erasure correction, the controller continues the error value polynomial Ω (x),
It is possible to shift to the calculation of the error locator polynomial Λ (x).
Error value polynomial Ω (x) at the time of erasure correction, error position polynomial Λ
The procedure for calculating (x) uses the procedure shown in FIG. 21 instead of the procedure shown in FIG. FIG.
The control circuit shown in FIG. 3 controls the basic cell and the TERM cell according to the procedure shown in FIG.

【0092】(第3の実施例の動作)以降では本発明を
拡張することによりリード・ソロモン符号に必要な演算
をすべて行うことが可能であることを示す。以下図6・
図7の回路で、復号に必要なシンドローム算出演算・誤
り値多項式/誤り位置多項式の評価演算が実行可能であ
ることを示す。
(Operation of Third Embodiment) Hereinafter, it will be shown that by extending the present invention, it is possible to perform all the operations necessary for the Reed-Solomon code. Figure 6 below
7 shows that the circuit shown in FIG. 7 can execute a syndrome calculation operation / error value polynomial / error position polynomial evaluation operation required for decoding.

【0093】シンドロームを求める演算については
(4)を書き換えると、
For the calculation for finding the syndrome, rewriting (4),

【0094】[0094]

【数23】 R(αm0+1) =((…((rNαm0+i+rN-1) αmo+i+rN-2) …+r1) αm0+i+αm0+i) (24) となるので、各基本セルにおいて、データ入力毎にR (α m0 + 1 ) = ((... ((r N α m0 + i + r N-1 ) α mo + i + r N-2 ) ... + r 1 ) α m0 + i + α m0 + i ) (24) Therefore, in each basic cell,

【0095】[0095]

【数24】 si,T+1= si,T αm0+i+rT (25) なる演算を実行できればよい。S i, T + 1 = s i, T α m0 + i + r T (25) It suffices if the operation can be executed.

【0096】図22がシンドローム算出演算の図6に示
す拡張基本セルの接続である。図22のsyndrome const
ant CS はすなわちαmo+iである。TERMセルはDeco
de Data Input より受信語をsi3のマルチプレクサを
通してQbusに出力している。したがって、図22で
は、
FIG. 22 shows the connection of the extended basic cells shown in FIG. 6 in the syndrome calculation operation. Syndrome const in FIG.
ant C S is α mo + i . TERM cell is Deco
The received word is output to Qbus from the de Data Input through the si3 multiplexer. Therefore, in FIG.

【0097】[0097]

【数25】Mn,T =CS ×Mn,T +rt (ただし、rt は受信語のt番目)が演算される。Equation 25] M n, T = C S × M n, T + r t ( However, r t is t-th received word) is calculated.

【0098】シンドローム演算に先立ってレジスタ60
5,606はゼロに初期化する。これは、例えばマルチ
プレクサ604,611を共にQbusを選択した状態
で、TERMセルのマルチプレクサ706により、Qb
usにゼロを出力することで可能である。その後、シン
ドローム演算が行われるが、受信語1バイトに1サイク
ルで処理が可能である。符号語入力後に各基本セルのM
レジスタ内にシンドローム多項式が残る。これは、引き
続き消失多項式Γ(x)、変成シンドローム多項式T
(x)の導出を行うのに都合がよい。またΩ-1(X)に
相当するレジスタ607の初期化の動作は基本セルに格
納される2t−1から、0次の項はマルチプレクサ61
1により0を入力することで行う。2t次の項はTER
Mセル内の701のレジスタに相当するが、本実施例で
はその初期化は行わず、かわりに初めてΩ-1(X)を使
用するときに、マルチプレクサ705により0を出力す
ることにより対処している。また誤り位置多項式Λ
(x)に関するΛ-1(x)の初期化は、レジスタ608
に関してはマルチプレクサ612により0を入力するこ
とで可能である。
Prior to the syndrome operation, the register 60
5,606 is initialized to zero. This is because, for example, when Qbus is selected for both the multiplexers 604 and 611, the Qb
This is possible by outputting zero to us. Thereafter, a syndrome operation is performed, but processing can be performed for one byte of the received word in one cycle. M of each basic cell after codeword input
The syndrome polynomial remains in the register. This continues with the vanishing polynomial Γ (x) and the modified syndrome polynomial T
It is convenient to derive (x). The operation of initializing the register 607 corresponding to Ω −1 (X) is from 2t−1 stored in the basic cell, and the zero-order term is the multiplexer 61
This is performed by inputting 0 with 1. 2t next term is TER
Although this corresponds to the register 701 in the M cell, the initialization is not performed in the present embodiment. Instead, when Ω -1 (X) is used for the first time, the multiplexer 705 outputs 0 to deal with it. I have. The error locator polynomial Λ
The initialization of Λ −1 (x) for (x) is performed by register 608
Is possible by inputting 0 by the multiplexer 612.

【0099】消失多項式Γ(x)と変成シンドローム多
項式T(x)の導出及び誤り値多項式Ω(x)と誤り位
置多項式Λ(x)の算出はすでに述べたのと同様であ
る。誤り値多項式/誤り位置多項式Λ(x)の算出を終
了した時点では誤り値多項式Ω(x)は各レジスタ60
5に、誤り位置多項式Λ(x)は各レジスタ606にあ
る。以下誤り値多項式/誤り位置多項式Λ(x)の評価
演算について説明する。
The derivation of the erasure polynomial Γ (x) and the modified syndrome polynomial T (x) and the calculation of the error value polynomial Ω (x) and the error location polynomial Λ (x) are the same as described above. When the calculation of the error value polynomial / error position polynomial Λ (x) is completed, the error value polynomial Ω (x) is stored in each register 60.
5, the error locator polynomial Λ (x) is in each register 606. The evaluation operation of the error value polynomial / error locator polynomial Λ (x) will be described below.

【0100】図23・図24は誤り値多項式Ω(x)及
び誤り位置多項式Λ(x)の評価演算のため図6に示し
た拡張基本セルの接続である。TERMセルはsi3によ
りQbusにゼロを出力するとともに、ゼロ検出回路7
13により誤り位置多項式Λ(x)のゼロを検出する。
拡張基本セルは、誤り位置多項式Λ(x)の評価サイク
ル(図24)と誤り値多項式Ω(x)の評価サイクル
(図23)の演算を交互に繰り返す。lamda constantは
α-iであり、omega constantはα-mo-i+1 である。
FIGS. 23 and 24 show the connection of the extended basic cells shown in FIG. 6 for the evaluation operation of the error value polynomial Ω (x) and the error locator polynomial Λ (x). The TERM cell outputs zero to Qbus by si3 and the zero detection circuit 7
13, zero of the error locator polynomial Λ (x) is detected.
The extended basic cell alternately repeats the operation of the evaluation cycle of the error locator polynomial Λ (x) (FIG. 24) and the evaluation cycle of the error value polynomial Ω (x) (FIG. 23). The lamda constant is α -i and the omega constant is α -mo-i + 1 .

【0101】したがって、図23に示す接続をした拡張
基本セルにおいては、
Therefore, in the extended basic cell connected as shown in FIG.

【0102】[0102]

【数26】 (Equation 26)

【0103】の演算が行われ、図24に示す接続をした
拡張基本セルにおいては、
In the extended basic cell connected as shown in FIG.

【0104】[0104]

【数27】Mi,T+1 =CΛ×Mi,T の演算が行われる。The calculation of M i, T + 1 = CΛ × M i, T is performed.

【0105】すなわち、各拡張基本セルにおいて、That is, in each extended basic cell,

【0106】[0106]

【数28】 ωi,T+1 =ωi,T α-mo-i+1[=ωi,0 α(-m0-i+1)T] λi,T+1 =λi,T α-i [=λi,0 α-iT] (26) なる演算を実行する。誤り値多項式Ω(x)と誤り位置
多項式Λ(x)の算出の結果、誤り値多項式Ω(x)、
誤り位置多項式Λ(x)はその最上位の係数が2t−1
のセルにある。誤り位置多項式Λ(x)の次数をE次と
仮定すると、誤り値多項式Ω(x)の次数はE−1次で
ある。これを考慮すれば、(26)は以下のような演算
を実現しているとみることができる。なおSUMは加算
器712の出力である。
Ω i, T + 1 = ω i, T α -mo-i + 1 [= ω i, 0 α (-m0-i + 1) T ] λ i, T + 1 = λ i, T α -i [= λ i, 0 α -iT ] (26) As a result of calculating the error value polynomial Ω (x) and the error position polynomial Λ (x), the error value polynomial Ω (x),
The most significant coefficient of the error locator polynomial Λ (x) is 2t−1
Cell. Assuming that the order of the error locator polynomial Λ (x) is E, the order of the error value polynomial Ω (x) is E−1. Considering this, it can be seen that (26) realizes the following operation. SUM is the output of the adder 712.

【0107】[0107]

【数29】 (Equation 29)

【0108】したがって、誤り位置多項式Λ(x)の評
価サイクル中にゼロ検出回路713によってゼロが検出
されたならば誤りを検出したことがわかる。
Therefore, if a zero is detected by the zero detection circuit 713 during the evaluation cycle of the error locator polynomial Λ (x), it indicates that an error has been detected.

【0109】さらにガロア体においては一般に2a=a
+a=0であるため、
Further, in a Galois field, generally 2a = a
Since + a = 0,

【0110】[0110]

【数30】 [Equation 30]

【0111】が成立するために、In order to satisfy

【0112】[0112]

【数31】 (Equation 31)

【0113】である。したがって、(27)を(30)
で除算することにより(10)を得る。これを実現する
ためには、本発明ではΛのサイクル中にゼロ検出回路7
13によってゼロが検出されたならばラッチ711にS
UModd をラッチするとともに、次のΩサイクルにおい
て図25に示す拡張TERMセルの接続により、Correc
tion Output にエラー値を出力している。
Is as follows. Therefore, (27) is replaced by (30)
(10) is obtained by dividing by. In order to realize this, in the present invention, the zero detection circuit 7 is provided during the cycle (1).
13 if a zero is detected by L
In addition to latching UModd, in the next Ω cycle, connection of the extended TERM cell shown in FIG.
Error value is output to the Option Output.

【0114】上記のような制御は、図8に示したコント
ロール回路807により、拡張基本セル、拡張TERM
セルを制御することで行われる。
The above control is performed by the control circuit 807 shown in FIG.
This is done by controlling the cells.

【0115】以上に示したようにリード・ソロモン符号
の符号化、復号の処理を2t個の基本ユニットのみで実
現できる。かつその復号の処理は符号長をNとしたと
き、消失訂正を行わないとして、シンドローム演算にN
サイクル、ユークリッド演算に2t×2サイクル、誤り
値多項式Ω(x)・誤り位置多項式Λ(x)の評価に2
Nサイクルを要する。したがってサイクルレートを20
Mhz、t=8、N=255と仮定した場合、データレ
ート6.3MByte/secの処理が可能である。ま
た消失訂正を行う場合、消失多項式・変成シンドローム
多項式を求めるにはさらに最大2t×2サイクルを要す
るのみなので、データレート6.1MByte/sec
の処理が可能である。
As described above, the encoding and decoding processes of the Reed-Solomon code can be realized with only 2t basic units. When the code length is set to N, the erasure correction is not performed, and N is applied to the syndrome operation.
Cycle, 2t × 2 cycles for Euclidean operation, 2 for evaluation of error value polynomial Ω (x) / error location polynomial Λ (x)
It takes N cycles. Therefore, a cycle rate of 20
Assuming that Mhz, t = 8, and N = 255, processing at a data rate of 6.3 MByte / sec is possible. Further, when performing erasure correction, it takes only a maximum of 2t × 2 cycles to obtain the erasure polynomial / altered syndrome polynomial, so the data rate is 6.1 MByte / sec.
Is possible.

【0116】[0116]

【発明の効果】以上のように本発明によれば、従来技術
と比較してより簡単な制御回路でしかも少ない回路要素
で、高速な誤り値多項式及び誤り位置多項式Λの算出が
可能である。また各基本セルの構造は同一なのでLSI
上で集積するに適している。本発明はそれに留まらず、
リード・ソロモン符号の他の演算も時分割処理すること
により効率的なハードウエア構成が可能であることを示
している。各基本セルは定数入力を除いて同一なのでL
SI上で集積するに都合の良いという利点は失われな
い。かつ処理速度も6.3MByte/sec達成可能
である。
As described above, according to the present invention, it is possible to calculate an error value polynomial and an error locator polynomial な at high speed with a simpler control circuit and fewer circuit elements compared to the prior art. Since the structure of each basic cell is the same, LSI
Suitable for stacking on. The present invention does not stop there,
This shows that other hardware operations of the Reed-Solomon code can be efficiently hardware-structured by time-division processing. Since each basic cell is the same except for constant input, L
The advantage of being convenient to integrate on SI is not lost. In addition, a processing speed of 6.3 MByte / sec can be achieved.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の基本セルの実施例の構成を示すブロッ
ク図である。
FIG. 1 is a block diagram showing a configuration of an embodiment of a basic cell of the present invention.

【図2】本発明のTERMセルの実施例の構成を示すブ
ロック図である。
FIG. 2 is a block diagram showing a configuration of an embodiment of a TERM cell of the present invention.

【図3】基本セルとTERMセルとを組み合わせたリー
ド・ソロモン復号化回路のブロック図である。
FIG. 3 is a block diagram of a Reed-Solomon decoding circuit combining a basic cell and a TERM cell.

【図4】本発明の基本セルの他の実施例の構成を示すブ
ロック図である。
FIG. 4 is a block diagram showing a configuration of another embodiment of the basic cell of the present invention.

【図5】本発明のTERMセルの他の実施例の構成を示
すブロック図である。
FIG. 5 is a block diagram showing a configuration of another embodiment of the TERM cell of the present invention.

【図6】本発明の拡張された基本セルの実施例の構成を
示すブロック図である。
FIG. 6 is a block diagram showing a configuration of an embodiment of an extended basic cell according to the present invention.

【図7】本発明の拡張されたTERMセルの実施例の構
成を示すブロック図である。
FIG. 7 is a block diagram showing a configuration of an embodiment of an extended TERM cell of the present invention.

【図8】図6の基本セルと図7のTERMセルとを組み
合わせたリード・ソロモンの復号回路のブロック図であ
る。
8 is a block diagram of a Reed-Solomon decoding circuit obtained by combining the basic cell in FIG. 6 and the TERM cell in FIG. 7;

【図9】図3のリード・ソロモン復号化回路の初期状態
を説明する図である。
9 is a diagram illustrating an initial state of the Reed-Solomon decoding circuit in FIG. 3;

【図10】多項式の割り算を説明する図である。FIG. 10 is a diagram illustrating division of a polynomial.

【図11】図3のリード・ソロモン復号化回路の動作を
説明する図である。
FIG. 11 is a diagram illustrating the operation of the Reed-Solomon decoding circuit of FIG. 3;

【図12】図1の基本セルの演算1の動作を説明する図
である。
FIG. 12 is a diagram for explaining the operation of operation 1 of the basic cell in FIG. 1;

【図13】図2のTERMセルの演算1の動作を説明す
る図である。
FIG. 13 is a diagram for explaining the operation of Operation 1 of the TERM cell in FIG. 2;

【図14】図1の基本セルの演算0の動作を説明する図
である。
FIG. 14 is a diagram illustrating the operation of operation 0 of the basic cell in FIG. 1;

【図15】図2のTERMセルの演算0の動作を説明す
る図である。
FIG. 15 is a diagram illustrating the operation of operation 0 of the TERM cell in FIG. 2;

【図16】図3のリード・ソロモン復号化回路の演算の
動作手順を説明する図である。
16 is a diagram illustrating an operation procedure of an operation of the Reed-Solomon decoding circuit in FIG. 3;

【図17】図3のリード・ソロモン復号化回路の演算の
タイムチャートである。
FIG. 17 is a time chart of the operation of the Reed-Solomon decoding circuit in FIG. 3;

【図18】図3のリード・ソロモン復号化回路のt=2
の符号における処理を説明する図である。
FIG. 18 shows the Reed-Solomon decoding circuit shown in FIG.
FIG. 3 is a diagram for explaining processing at the reference numeral.

【図19】図4の基本セルの変成シンドローム多項式T
(x)の導出の動作を説明する図である。
19 is a modified syndrome polynomial T of the basic cell of FIG.
It is a figure explaining operation | movement of derivation of (x).

【図20】消失多項式Γ(x)と変成シンドローム多項
式T(x)の導出動作のタイムチャートである。
FIG. 20 is a time chart of an operation for deriving an erasure polynomial Γ (x) and a modified syndrome polynomial T (x).

【図21】消失多項式Γ(x)と変成シンドローム多項
式T(x)の導出手順を説明する図である。
FIG. 21 is a diagram illustrating a procedure for deriving an erasure polynomial Γ (x) and a modified syndrome polynomial T (x).

【図22】図6の拡張された基本セルのシンドローム演
算の動作を説明する図である。
FIG. 22 is a diagram illustrating an operation of a syndrome operation of the extended basic cell in FIG. 6;

【図23】図6の拡張された基本セルの誤り値の評価演
算の動作を説明する図である。
FIG. 23 is a diagram illustrating an operation of an evaluation calculation of an error value of the extended basic cell in FIG. 6;

【図24】図6の拡張された基本セルの誤り位置の評価
演算の動作を説明する図である。
24 is a diagram illustrating an operation of an evaluation calculation of an error position of the extended basic cell in FIG. 6;

【図25】図7の拡張されたTERMセルのエラー値の
演算動作を説明する図である。
FIG. 25 is a diagram illustrating an operation of calculating an error value of the extended TERM cell of FIG. 7;

【符号の説明】[Explanation of symbols]

101 ガロア体上の乗算器 102 ガロア体上の加算器 103,104 マルチプレクサ 105,106 Mレジスタ 107,108 Nレジスタ 109 マルチプレクサ 201 レジスタ 202 ガロア体上の逆関数演算回路 203 ガロア体上の乗算器 204,205,206 マルチプレクサ 207 ゼロ検出回路 208 ラッチ 301 マルチプレクサ 302〜305 基本セル 306 TERMセル 307 コントロール回路 401 ガロア体上の乗算器 402 ガロア体上の加算器 403,404 マルチプレクサ 405,406 Mレジスタ 407,408 Nレジスタ 409,410 マルチプレクサ 501 レジスタ 502 ガロア体上の逆関数演算回路 503 ガロア体上の乗算器 504,505,506 マルチプレクサ 507 ゼロ検出回路 508 ラッチ 509 ガロア体シーケンサ 510 深さ2tのFIFO 601 ガロア体上の乗算器 602 ガロア体上の加算器 603,604 マルチプレクサ 605,606 Mレジスタ 607,608 Nレジスタ 609,610,611,612 マルチプレクサ 701 レジスタ 702 ガロア体上の逆関数演算回路 703 ガロア体上の乗算器 704,705,706 マルチプレクサ 707,713 ゼロ検出回路 708 ラッチ 709 ガロア体シーケンサ 710 FIFO 712 ガロア体上の加算器 711 ラッチ 801 マルチプレクサ 802〜305 基本セル 806 TERMセル 807 コントロール回路 101 Multiplier on Galois Field 102 Adder on Galois Field 103, 104 Multiplexer 105, 106 M Register 107, 108 N Register 109 Multiplexer 201 Register 202 Inverse Function Operation Circuit on Galois Field 203 Multiplier on Galois Field 204, 205,206 Multiplexer 207 Zero detection circuit 208 Latch 301 Multiplexer 302-305 Basic cell 306 TERM cell 307 Control circuit 401 Multiplier on Galois field 402 Adder on Galois field 403,404 Multiplexer 405,406 M Register 407,408 N Register 409, 410 Multiplexer 501 Register 502 Inverse function operation circuit on Galois field 503 Multiplier on Galois field 504, 505, 506 Multiplexer 507 Zero Output circuit 508 Latch 509 Galois field sequencer 510 FIFO of 2t depth 601 Multiplier on Galois field 602 Adder on Galois field 603,604 Mux 605,606 M register 607,608 N register 609,610,611,612 Mux 701 Register 702 Inverse function operation circuit on Galois field 703 Multiplier on Galois field 704, 705, 706 Multiplexer 707, 713 Zero detection circuit 708 Latch 709 Galois field sequencer 710 FIFO 712 Adder on Galois field 711 Latch 801 Multiplexer 802 305 Basic cell 806 TERM cell 807 Control circuit

Claims (5)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 誤り値多項式Ω(x)、誤り位置多項式
Λ(x)を形成するための複数の基本セルと1個のTE
RMセルとコントロール回路とを少なくても有するリー
ド・ソロモン誤り訂正符号復号化回路回路において、 前記各基本セルは、2組の多項式を演算するための2組
のレジスタと、レジスタを選択するマルチプレクサと、
演算を制御するマルチプレクサと、ガロア体上の演算を
行う演算器を少なくても有し、 前記TERMセルは、ガロア体上の割算器と、レジスタ
を少なくても有し、 前記コントロール回路は、レジスタの選択以外の基本セ
ルへの制御は同一のまま、誤り値多項式Ω(x)の演算
サイクルと誤り位置多項式Λ(x)演算サイクルの2サ
イクルを行い、直前の誤り値多項式Ω(x)の演算サイ
クルの割り算結果を前記TERMセル内の前記レジスタ
に記憶し、直後の誤り位置多項式Λ(x)の演算サイク
ルにおいて使用することを繰り返すように制御すること
により、誤り値多項式Ω(x)、誤り位置多項式Λ
(x)を形成することを特徴とするリード・ソロモン誤
り訂正符号復号化回路。
1. A plurality of basic cells and one TE for forming an error value polynomial Ω (x) and an error locator polynomial Λ (x).
In a Reed-Solomon error correction code decoding circuit having at least an RM cell and a control circuit, each of the basic cells includes two sets of registers for calculating two sets of polynomials, and a multiplexer for selecting the registers. ,
A multiplexer that controls the operation, and at least an arithmetic unit that performs an operation on the Galois field; the TERM cell has at least a divider on the Galois field and at least a register; While the control on the basic cell other than the selection of the register remains the same, two cycles of the operation cycle of the error value polynomial Ω (x) and the error position polynomial Λ (x) are performed, and the immediately preceding error value polynomial Ω (x) Is stored in the register in the TERM cell, and control is performed so as to repeatedly use the error cycle polynomial Λ (x) in the arithmetic cycle to obtain the error value polynomial Ω (x). , The error locator polynomial Λ
A Reed-Solomon error correction code decoding circuit, wherein (x) is formed.
【請求項2】 前記基本セルは、変成シンドローム多項
式T(x)、消失多項式Γ(x)の演算も可能であり、 前記TERMセルは、消失箇所に対応するデータを発生
する手段を有し、 前記コントロール回路は、レジスタの選択以外の基本セ
ルへの制御は同一のまま、変成シンドローム多項式T
(x)の演算サイクルと消失多項式Γ(x)の演算サイ
クルの2サイクルを繰り返す制御を行い、 変成シンドローム多項式T(x)、消失多項式Γ(x)
を形成することを特徴とする請求項1記載のリード・ソ
ロモン誤り訂正符号復号化回路。
2. The basic cell is capable of calculating a modified syndrome polynomial T (x) and an erasure polynomial Γ (x), and the TERM cell has means for generating data corresponding to an erasure location, The control circuit controls the modified syndrome polynomial T while maintaining the same control on the basic cells except for the selection of the register.
(X) and a cycle of erasure polynomial Γ (x) are repeated. The modified syndrome polynomial T (x) and the erasure polynomial Γ (x)
2. The Reed-Solomon error correction code decoding circuit according to claim 1, wherein
【請求項3】 前記基本セルおよび前記TERMセル
は、誤り値多項式Ω(x)、誤り位置多項式Λ(x)の
評価演算も可能であり、 前記コントロール回路は、誤り値多項式Ω(x)の評価
演算サイクルと誤り位置多項式Λ(x)評価演算サイク
ルの2サイクルを行い、先のサイクルの演算結果をTE
RMセル内のレジスタに記憶し後のサイクルで誤り値の
算出に使用することを繰り返す制御を行うことにより、 誤り値多項式Ω(x)、誤り位置多項式Λ(x)を評価
することを特徴とする請求項1または2記載のリード・
ソロモン誤り訂正符号復号化回路。
3. The basic cell and the TERM cell can also perform an evaluation operation of an error value polynomial Ω (x) and an error location polynomial Λ (x). Two cycles of an evaluation operation cycle and an error locator polynomial Λ (x) evaluation operation cycle are performed.
Evaluating the error value polynomial Ω (x) and the error locator polynomial Λ (x) by repeating the control of storing the data in the register in the RM cell and using it in the calculation of the error value in a later cycle. The lead according to claim 1 or 2,
Solomon error correction code decoding circuit.
【請求項4】 前記基本セルおよびTERMセルは、シ
ンドローム算出演算も行うことが可能なことを特徴とす
る請求項1〜3のいずれか1項記載のリード・ソロモン
誤り訂正符号復号化回路。
4. The Reed-Solomon error correction code decoding circuit according to claim 1, wherein the basic cell and the TERM cell can also perform a syndrome calculation operation.
【請求項5】 一方の入力がセレクタの出力に接続し、
もう一方の入力が共通のバスに接続するガロア体上の乗
算器と、 前記乗算器の出力を少なくとも一方の入力に持つガロア
体上の加算器と、 前記加算器の出力を入力に持つ2つのMレジスタと、 前記乗算器の入力および前記加算器の出力にマルチプレ
クサを介して接続する2つのNレジスタと、 前記2つのMレジスタと、前記2つのMレジスタのそれ
ぞれの出力に接続する2つのマルチプレクサとを有する
前記基本セルを用いて構成されたことを特徴とする請求
項1〜4のいずれか1項記載のリード・ソロモン誤り訂
正符号復号化回路。
5. One of the inputs is connected to the output of the selector,
A multiplier on a Galois field whose other input is connected to a common bus, an adder on a Galois field having at least one output of the multiplier, and two multipliers having an output of the adder as inputs An M register; two N registers connected to an input of the multiplier and an output of the adder via a multiplexer; two M registers; and two multiplexers connected to respective outputs of the two M registers The Reed-Solomon error correction code decoding circuit according to any one of claims 1 to 4, wherein the circuit is configured using the basic cell having:
JP6273526A 1994-11-08 1994-11-08 Reed-Solomon error correction code decoding circuit Expired - Lifetime JP2963018B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6273526A JP2963018B2 (en) 1994-11-08 1994-11-08 Reed-Solomon error correction code decoding circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6273526A JP2963018B2 (en) 1994-11-08 1994-11-08 Reed-Solomon error correction code decoding circuit

Publications (2)

Publication Number Publication Date
JPH08139612A JPH08139612A (en) 1996-05-31
JP2963018B2 true JP2963018B2 (en) 1999-10-12

Family

ID=17529086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6273526A Expired - Lifetime JP2963018B2 (en) 1994-11-08 1994-11-08 Reed-Solomon error correction code decoding circuit

Country Status (1)

Country Link
JP (1) JP2963018B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3233860B2 (en) * 1996-10-25 2001-12-04 松下電器産業株式会社 Reed-Solomon decoder
US7177891B2 (en) * 2002-10-09 2007-02-13 Analog Devices, Inc. Compact Galois field multiplier engine
US7228490B2 (en) * 2004-02-19 2007-06-05 Quantum Corporation Error correction decoder using cells with partial syndrome generation
KR101226439B1 (en) * 2011-12-27 2013-01-25 한국과학기술원 Rs decoder, memory system having the same and decoding method

Also Published As

Publication number Publication date
JPH08139612A (en) 1996-05-31

Similar Documents

Publication Publication Date Title
EP0114938B1 (en) On-the-fly multibyte error correction
US5170399A (en) Reed-Solomon Euclid algorithm decoder having a process configurable Euclid stack
US6374383B1 (en) Determining error locations using error correction codes
US4649541A (en) Reed-Solomon decoder
EP0620654B1 (en) Circuit for performing the Euclidian algorithm in decoding of arithmetical codes
EP0337985B1 (en) Computational method and apparatus for finite field multiplication
WO1995012850A1 (en) Reed-solomon decoder
US6571368B1 (en) Systolic Reed-Solomon decoder
JPH0831803B2 (en) Method and apparatus for error correction
US6467063B1 (en) Reed Solomon coding apparatus and Reed Solomon coding method
JP4125500B2 (en) CRC code error detection apparatus with parity bits added in reverse order and method thereof
JP2000124813A (en) Device and method for reed solomon encoding and decoding
EP0836285A2 (en) Reed-Solomon decoder with general-purpose processing unit and dedicated circuits
KR100322739B1 (en) Finite Field Computation Method and Its Apparatus
JP3250736B2 (en) Multipurpose error correction calculation circuit
US6263471B1 (en) Method and apparatus for decoding an error correction code
JP2963018B2 (en) Reed-Solomon error correction code decoding circuit
JP3343857B2 (en) Decoding device, arithmetic device, and methods thereof
JPH0865175A (en) Error position detecting circuit of reed-solomon decoder
JPH11136136A (en) Reed solomon coding device and method
JP3239522B2 (en) Data loss correction method and circuit
JP3614978B2 (en) Galois field division method and division apparatus
EP0806839A1 (en) Device and method for error correcting coding, and device and method for error correcting decoding
EP0793352B1 (en) Apparatus for determining the error evaluator polynomial for use in a Reed-Solomon decoder
JP3233502B2 (en) Decryption device

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19990702

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 9

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 10

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 10

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100806

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120806

Year of fee payment: 13

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 14

EXPY Cancellation because of completion of term