JP3281938B2 - Error correction device - Google Patents

Error correction device

Info

Publication number
JP3281938B2
JP3281938B2 JP10261993A JP10261993A JP3281938B2 JP 3281938 B2 JP3281938 B2 JP 3281938B2 JP 10261993 A JP10261993 A JP 10261993A JP 10261993 A JP10261993 A JP 10261993A JP 3281938 B2 JP3281938 B2 JP 3281938B2
Authority
JP
Japan
Prior art keywords
polynomial
circuit
error
error correction
output
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 - Fee Related
Application number
JP10261993A
Other languages
Japanese (ja)
Other versions
JPH0677844A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP10261993A priority Critical patent/JP3281938B2/en
Publication of JPH0677844A publication Critical patent/JPH0677844A/en
Application granted granted Critical
Publication of JP3281938B2 publication Critical patent/JP3281938B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

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

【0001】[0001]

【産業上の利用分野】本発明は誤り訂正符号によって符
号化された情報中に発生する誤りを訂正する誤り訂正装
置に関し、特に、コンパクトディスクプレーヤ(以下、
CDと記す)、ディジタルオーディオプレーヤ(以下、
DATと記す)、ディジタル映像信号記録再生装置(以
下、ディジタルVTRと記す)などで、再生または受信
ディジタル信号中に発生する誤りを高速で訂正処理する
誤り訂正装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an error correction device for correcting an error occurring in information encoded by an error correction code, and more particularly to a compact disk player (hereinafter referred to as a compact disk player).
CD), digital audio player (hereinafter, referred to as CD)
DAT), a digital video signal recording / reproducing apparatus (hereinafter, referred to as a digital VTR), and the like, and an error correcting apparatus for correcting an error occurring in a reproduced or received digital signal at a high speed.

【0002】[0002]

【従来の技術及び発明が解決しようとする課題】CD,
DAT,ディジタルVTRなどに代表されるPCM(Pu
lse Code Modulation )記録及び再生には誤り訂正符号
を用いた誤り訂正処理が用いられる。以下、上記CD、
DAT及びディジタルVTRに実際に用いられている誤
り訂正符号としてGF(q)上で定義されるリード・ソ
ロモン符号を用いて誤り訂正処理を行なう誤り訂正装置
について述べる。
2. Description of the Related Art CDs,
PCM (Pu) represented by DAT, digital VTR, etc.
lse Code Modulation) An error correction process using an error correction code is used for recording and reproduction. Hereinafter, the above CD,
An error correction device that performs an error correction process using a Reed-Solomon code defined on GF (q) as an error correction code actually used for a DAT and a digital VTR will be described.

【0003】リード・ソロモン符号を用いて多数ワード
の誤り訂正を行なうには、受信データよりシンドローム
を生成して誤り位置多項式と誤り数値多項式との係数を
求める必要がある。このような多項式の係数を求める一
手法として、ユークリッドアルゴリズムまたはバーレカ
ンプアルゴリズム等が知られている。例えば、上述のユ
ークリッドアルゴリズムは与えられた2つの多項式の最
大公約多項式を求めるためのアルゴリズムであって、ガ
ロアフィールドGF(q)の元を係数とする多項式同士
の除算を行ない、誤り位置多項式と誤り数値多項式とを
求める。なお、ユークリッドアルゴリズムについての詳
しい説明は後述する。
In order to perform error correction of a large number of words using a Reed-Solomon code, it is necessary to generate a syndrome from received data and obtain coefficients of an error position polynomial and an error numerical polynomial. As one method for obtaining such a polynomial coefficient, a Euclidean algorithm, a Berlekamp algorithm, or the like is known. For example, the above-mentioned Euclidean algorithm is an algorithm for finding the greatest common divisor of two given polynomials, and performs division between polynomials whose coefficients are elements of the Galois field GF (q) to obtain an error locator polynomial and an error. Find a numerical polynomial. A detailed description of the Euclidean algorithm will be described later.

【0004】以下、リード・ソロモン符号による多数ワ
ードの誤り訂正の復号手順を示す。一般に、リード・ソ
ロモン符号の復号手順は次のようになる。 (1)受信データからシンドロームSi を求める。(シ
ンドローム生成) (2)求めたシンドロームSi から誤り位置多項式σ
(z)及び誤り数値多項式ω(z)を求める。(ユーク
リッドまたはバーレカンプアルゴリズム等) (3)誤り位置多項式σ(z)より誤り位置を求める。
(チェンサーチ) (4)この誤り位置及び誤り数値多項式ω(z)より誤
り数値を求める。 (5)誤り位置と誤り数値とから受信データの誤りを訂
正する。(誤り訂正)
[0004] A decoding procedure for error correction of a large number of words using Reed-Solomon codes will be described below. In general, the procedure for decoding a Reed-Solomon code is as follows. (1) obtaining the syndromes S i from the received data. (Generation of Syndrome) (2) Error locator polynomial σ from the found syndrome Si
(Z) and the error numerical polynomial ω (z) are obtained. (Euclidean or Berlekamp algorithm, etc.) (3) The error position is obtained from the error position polynomial σ (z).
(Chen search) (4) An error value is obtained from the error position and the error value polynomial ω (z). (5) The error of the received data is corrected from the error position and the error value. (Error correction)

【0005】以下、ガロアフィールドGF(28 )で定
義されるリード・ソロモン符号の復号方法について説明
する。
A method for decoding a Reed-Solomon code defined by Galois field GF (2 8 ) will be described below.

【0006】シンドロームSi は次式で与えられる。受
信多項式をX(z)、生成多項式をG(z)とすると、 S(z)=X(z)mod G(z) =S0 +S1 ×z+・・・+Sk ×zk となる。なお、本従来例では符号長nのリード・ソロモ
ン符号を復号する場合について説明する。
The syndrome Si is given by the following equation. The reception polynomial X (z), the generator polynomial and G (z), the S (z) = X (z ) mod G (z) = S 0 + S 1 × z + ··· + S k × z k. In this conventional example, a case where a Reed-Solomon code having a code length n is decoded will be described.

【0007】次に、シンドロームSi (S(z))より
誤り位置多項式σ(z)及び誤り数値多項式ω(z)を
求める。以下、ユークリッドアルゴリズムを用いた誤り
位置多項式及び誤り数値多項式の算出方法を簡単に説明
する。ユークリッドアルゴリズムとは、ガロア体上で定
義される多項式同士の除算の繰り返しであり、次のよう
に示される。すなわち、ユークリッドアルゴリズムと
は、ガロア体上で定義される2つの多項式をA(z),
B(z)とすると A(z) /B(z) =Q0 (z)(商)・・・R0
(z)(余り) B(z) /R0 (z)=Q1 (z)(商)・・・R1
(z)(余り) R0 (z)/R1 (z)=Q2 (z)(商)・・・R2
(z)(余り) というガロア体上で定義される多項式同士の除算をある
一定の条件を満たすまで繰り返すものである。
Next, an error position polynomial σ (z) and an error numerical polynomial ω (z) are obtained from the syndrome S i (S (z)). Hereinafter, a method of calculating the error locator polynomial and the error numerical polynomial using the Euclidean algorithm will be briefly described. The Euclidean algorithm is a repetition of division between polynomials defined on a Galois field, and is represented as follows. That is, the Euclidean algorithm is defined as two polynomials defined on the Galois field as A (z),
Assuming B (z), A (z) / B (z) = Q 0 (z) (quotient)... R 0
(Z) (remainder) B (z) / R 0 (z) = Q 1 (z) ( quotient) ··· R 1
(Z) (remainder) R 0 (z) / R 1 (z) = Q 2 (z) (quotient)... R 2
(Z) (Remainder) The division between polynomials defined on the Galois field is repeated until a certain condition is satisfied.

【0008】例えば、光ディスクに採用されている誤り
訂正符号の場合は最小ハミング距離が17のリード・ソロ
モン符号が採用されているので A(z)=z16 B(z)=S(z) =S0 +S1 ×z+・・・+S15×z15 と表わされ、上記割り算は余りの多項式の次数が7以下
になるまで繰り返される。(なお、本例では消失(イレ
ージャ)は考慮していない。)
For example, in the case of an error correction code used for an optical disk, a Reed-Solomon code having a minimum Hamming distance of 17 is used, so that A (z) = z 16 B (z) = S (z) = expressed as S 0 + S 1 × z + ··· + S 15 × z 15, the order of the division is less of a polynomial is repeated until the 7 or less. (In this example, erasure is not considered.)

【0009】図25にユークリッドアルゴリズムによる基
本方程式の解(誤り位置多項式及び誤り数値多項式)を
求めるフローチャートを示す。まず始めにS1で各値の
初期値の設定を行なう。S2,S3で図示した演算を実
行し、S4でNOの場合は各多項式をS5に図示したよ
うに設定し再びS2へ戻る。S4でYESの場合は、S
6で誤り位置多項式σ(z)及び誤り数値多項式ω
(z)を求める。なお、図中< >はガウス記号を示
す。
FIG. 25 shows a flowchart for obtaining the solution of the basic equation (error locator polynomial and error numerical polynomial) by the Euclidean algorithm. First, initial values are set in S1. The calculations shown in S2 and S3 are executed, and if NO in S4, each polynomial is set as shown in S5, and the process returns to S2 again. If YES in S4, S
6, the error locator polynomial σ (z) and the error numerical polynomial ω
Find (z). In the figures, <> indicates a Gaussian symbol.

【0010】従って、ユークリッドアルゴリズムによる
誤り位置多項式σ(z)及び誤り数値多項式ω(z)の
算出は最小ハミング距離が17のリード・ソロモン符号の
場合、ガロア体上の多項式同士の除算を最大8回行なえ
ば良いことになる。
Therefore, the calculation of the error locator polynomial σ (z) and the error numerical polynomial ω (z) by the Euclidean algorithm is performed in the case of a Reed-Solomon code having a minimum Hamming distance of 17 by dividing the polynomials on the Galois field by a maximum of eight. It will be good if you go around.

【0011】ユークリッドアルゴリズムによって求めら
れた誤り位置多項式σ(z)により誤り位置を求める。
これは、一般にチェンサーチという方法が用いられる。
この方法は、誤り位置多項式σ(z)にα(αはガロア
体GF(28 )上の元)のべき乗であるαi (i=0,
1,2,・・・,n−1)を逐次代入して、σ(αi
が0となるσ(z)の根αi (誤り位置に相当する)を
求める。ただし、nは符号長である。
An error position is obtained from an error position polynomial σ (z) obtained by the Euclidean algorithm.
For this, a method called Chien search is generally used.
In this method, the error locator polynomial σ (z) is a power of α (α is an element on the Galois field GF (2 8 )) α i (i = 0,
1, 2,..., N−1) are successively substituted to obtain σ (α i )
Is found to be the root α i (corresponding to an error position) of σ (z) at which is zero. Here, n is the code length.

【0012】上述の方法によると、誤り位置を演算する
ためには符号長に相当するGF(28 )上のn個の元
(α0 〜αn-1 )を逐次誤り位置多項式σ(z)に代入
してσ(z)=0となるαi (誤り位置に相当する)を
計算することになるので、演算のステップ数はn(符号
長)ステップとなる。
According to the above-described method, in order to calculate an error position, n elements (α 0 to α n-1 ) on GF (2 8 ) corresponding to the code length are sequentially converted to an error position polynomial σ (z ) To calculate α i (corresponding to an error position) where σ (z) = 0, so that the number of operation steps is n (code length) steps.

【0013】以下、従来の誤り訂正装置について説明す
る。図26は従来のリード・ソロモン符号を復号する誤り
訂正装置の概略構成を示すブロック図である。図におい
て、1は誤り訂正の対象となるデータが格納されている
RAM、2は受信語よりシンドロームを生成するシンド
ローム生成回路、3はシンドローム生成回路2より出力
される受信シンドロームをもとに誤り訂正を行なう誤り
訂正演算回路、4は誤り訂正装置全体の制御を行なう誤
り訂正装置制御回路である。
Hereinafter, a conventional error correction device will be described. FIG. 26 is a block diagram showing a schematic configuration of a conventional error correction device for decoding a Reed-Solomon code. In the figure, 1 is a RAM in which data to be corrected is stored, 2 is a syndrome generation circuit that generates a syndrome from a received word, and 3 is an error correction based on the reception syndrome output from the syndrome generation circuit 2. Is an error correction device control circuit for controlling the entire error correction device.

【0014】図27にはシンドローム生成回路2の具体的
な回路構成図を示す。10は入力されたデータを一旦蓄え
るレジスタ、11はリード・ソロモン符号の生成多項式の
各係数を乗数とする乗算回路、12は加算回路である。以
上レジスタ10,乗算回路11及び加算回路12でシンドロー
ム生成回路2は構成されている。
FIG. 27 shows a specific circuit configuration diagram of the syndrome generation circuit 2. Reference numeral 10 denotes a register for temporarily storing input data, reference numeral 11 denotes a multiplication circuit using each coefficient of a Reed-Solomon code generator polynomial as a multiplier, and reference numeral 12 denotes an addition circuit. As described above, the syndrome generation circuit 2 includes the register 10, the multiplication circuit 11, and the addition circuit 12.

【0015】図28に誤り訂正演算回路3の具体的な回路
構成例を示す。20は図25に示すユークリッドアルゴリズ
ムにしたがって誤り位置多項式σ(z)及び誤り数値多
項式ω(z)を算出するユークリッド演算回路、21はユ
ークリッド演算回路20より出力される誤り位置多項式σ
(z)の係数データより誤り位置を算出するチェンサー
チ回路、22はユークリッド演算回路20より出力される誤
り数値多項式ω(z)の係数データ及びチェンサーチ回
路21より出力される誤り位置情報に基づき誤り数値を算
出するとともに、誤り訂正を行なう誤り訂正回路であ
る。以上、ユークリッド演算回路20,チェンサーチ回路
21及び誤り訂正回路22で誤り訂正演算回路3は構成され
ている。
FIG. 28 shows a specific circuit configuration example of the error correction operation circuit 3. Reference numeral 20 denotes a Euclidean arithmetic circuit that calculates an error locator polynomial σ (z) and an error numerical polynomial ω (z) according to the Euclidean algorithm shown in FIG. 25, and 21 denotes an error locator polynomial σ output from the Euclidean arithmetic circuit 20
A Chien search circuit 22 for calculating an error position from the coefficient data of (z), based on the coefficient data of the error numerical polynomial ω (z) output from the Euclidean arithmetic circuit 20 and the error position information output from the Chien search circuit 21 An error correction circuit that calculates an error value and performs error correction. Above, Euclidean arithmetic circuit 20, Chien search circuit
The error correction operation circuit 3 is composed of the error correction circuit 21 and the error correction circuit 22.

【0016】図29に、ユークリッド演算回路20の上記ガ
ロア体上の多項式の除算を行なう除算回路部分のブロッ
ク構成図を示す。50,51は入力端子、52a, 52bは除数,
被除数多項式の係数データを記憶しておくレジスタ、53
はセレクタ、54は乗算回路、55は加算回路である。以
上、レジスタ52a, 52b、セレクタ53、乗算回路54及び加
算回路55でユークリッド演算回路20のガロア体上の多項
式の除算回路部分は構成されている。
FIG. 29 is a block diagram showing a division circuit portion of the Euclidean arithmetic circuit 20 for dividing a polynomial on the Galois field. 50 and 51 are input terminals, 52a and 52b are divisors,
A register for storing the coefficient data of the dividend polynomial, 53
Is a selector, 54 is a multiplication circuit, and 55 is an addition circuit. As described above, the registers 52a and 52b, the selector 53, the multiplication circuit 54, and the addition circuit 55 constitute a polynomial division circuit portion on the Galois field of the Euclidean operation circuit 20.

【0017】図30にチェンサーチ回路21の具体的な回路
構成例を示す。31はチェンサーチ開始時に誤り位置多項
式σ(z)の係数データをセットし、その後は逐次乗算
回路32の出力をセットする帰還レジスタ、32は乗算回
路、33は加算回路、34は加算回路33の出力が0であるか
を判定する判定回路、35は帰還レジスタ31の帰還回数を
カウントする係数カウンタ、36は判定回路34より出力さ
れる0判定結果に基づき係数カウンタ35のカウント値を
記憶するレジスタである。以上、帰還レジスタ31, 乗算
回路32, 加算回路33, 判定回路34, 係数カウンタ35及び
レジスタ36で、チェンサーチ回路21は構成されている。
FIG. 30 shows a specific circuit configuration example of the Chien search circuit 21. 31 is a feedback register for setting the coefficient data of the error locator polynomial σ (z) at the start of the Chien search, and thereafter setting the output of the successive multiplication circuit 32; 32, a multiplication circuit; 33, an addition circuit; A judgment circuit for judging whether the output is 0, 35 is a coefficient counter for counting the number of feedbacks of the feedback register 31, and 36 is a register for storing the count value of the coefficient counter 35 based on the 0 judgment result output from the judgment circuit 34. It is. As described above, the Chien search circuit 21 includes the feedback register 31, the multiplication circuit 32, the addition circuit 33, the determination circuit 34, the coefficient counter 35, and the register 36.

【0018】次に、図26, 図27, 図28, 図29及び図30を
用いて誤り訂正装置の動作について説明する。RAM1
に格納されている受信または再生時に発生した誤りを含
む受信または再生データは、誤り訂正処理が開始される
とシンドローム生成回路2でシンドロームを生成するた
めにRAM1より読みだされる。シンドローム生成回路
2ではRAM1より読み出されたデータ(受信多項式形
式)を生成多項式で除算しシンドロームを生成する。な
お、RAM1から再生データを読み出すための読み出し
アドレス、及び読み出し制御信号は誤り訂正装置制御回
路4より出力される。
Next, the operation of the error correction device will be described with reference to FIGS. 26, 27, 28, 29 and 30. RAM1
The received or reproduced data including an error generated during reception or reproduction stored in the RAM 1 is read from the RAM 1 to generate a syndrome in the syndrome generation circuit 2 when the error correction processing is started. The syndrome generation circuit 2 divides the data (reception polynomial format) read from the RAM 1 by a generation polynomial to generate a syndrome. Note that a read address for reading the reproduction data from the RAM 1 and a read control signal are output from the error correction device control circuit 4.

【0019】図27に回路構成を示すシンドローム生成回
路2はシフトレジスタ形式に配置されたレジスタ10と、
入力データ(帰還データ)に生成多項式の各項に対応す
る係数データを乗算する乗算回路11と、加算回路12とで
構成されている。シンドローム生成回路2では入力され
たデータを上記演算回路で逐次演算しながらシフトして
行くことによってガロア体上の多項式の除算を実行す
る。従って、演算を実行するに当たっては符号長分のス
テップ数(nステップ)を要する。なお、シンドローム
生成回路2の詳細は、今井秀樹著「符号理論」, 出版電
子情報通信学会,pp.115〜118 に記載されている。
The syndrome generation circuit 2 whose circuit configuration is shown in FIG. 27 includes a register 10 arranged in a shift register format,
It comprises a multiplying circuit 11 for multiplying input data (feedback data) by coefficient data corresponding to each term of the generator polynomial, and an adding circuit 12. The syndrome generation circuit 2 performs division of a polynomial on a Galois field by shifting the input data while sequentially calculating the data in the operation circuit. Therefore, the number of steps corresponding to the code length (n steps) is required to execute the operation. The details of the syndrome generation circuit 2 are described in “Code Theory” by Hideki Imai, published by the Institute of Electronics, Information and Communication Engineers, pp. 115-118.

【0020】上記の要領で、シンドローム生成回路2で
生成されたシンドロームは、シンドローム生成終了信号
とともに、誤り訂正演算回路3及び誤り訂正装置制御回
路4へ出力される。誤り訂正装置制御回路4では、シン
ドローム生成終了信号をもとに誤り訂正演算回路3へユ
ークリッド演算開始信号を出力する。誤り訂正演算回路
3では、ユークリッド演算開始信号が入力されると、シ
ンドローム生成回路2より出力されたシンドロームをも
とに、ユークリッド演算回路20で誤り位置多項式σ
(z)及び誤り数値多項式ω(z)を算出する。
In the manner described above, the syndrome generated by the syndrome generation circuit 2 is output to the error correction operation circuit 3 and the error correction device control circuit 4 together with the syndrome generation end signal. The error correction device control circuit 4 outputs a Euclidean operation start signal to the error correction operation circuit 3 based on the syndrome generation end signal. When the Euclidean operation start signal is input to the error correction operation circuit 3, the Euclidean operation circuit 20 uses the error position polynomial σ based on the syndrome output from the syndrome generation circuit 2.
(Z) and the error numerical polynomial ω (z) are calculated.

【0021】以下、図29に示すユークリッド演算回路20
の除算部分の回路動作を説明する。シンドローム生成終
了信号が入力されると各レジスタ52には初期値がセット
される。具体的には上側のレジスタ52a 群にはZ2tがセ
ットされ、下側のレジスタ52b 群にはシンドローム生成
回路2により算出されたシンドローム多項式の係数がセ
ットされる。セットされたデータは被除数側(最初はZ
2tのデータがセットされた上側のレジスタ52a 群)のデ
ータをシフトしていくことによりガロア体上の多項式の
除算を実行する。除算は被除数側の多項式の次数が除数
側の多項式の次数より小さくなるまで繰り返す。図29に
おいて、被除数側のレジスタ52群に接続されているセレ
クタ53は加算回路55の出力を選択するように接続され、
除数側のレジスタ52群に接続されているセレクタ53はレ
ジスタ52の出力を選択するように構成する。この結果被
除数側のレジスタ52内のデータはシフトされ除算が実行
されることになる。
The Euclidean operation circuit 20 shown in FIG.
The circuit operation of the division part will be described. When the syndrome generation end signal is input, each register 52 is set to an initial value. Specifically, Z 2t is set in the upper group of registers 52a, and the coefficients of the syndrome polynomial calculated by the syndrome generation circuit 2 are set in the lower group of registers 52b. The data set is the dividend side (Z
The polynomial division on the Galois field is executed by shifting the data of the upper register 52a group in which 2t data is set. The division is repeated until the degree of the polynomial on the dividend side becomes smaller than the degree of the polynomial on the divisor side. In FIG. 29, a selector 53 connected to a group of registers 52 on the dividend side is connected to select an output of the adder circuit 55,
The selector 53 connected to the group of registers 52 on the divisor side is configured to select the output of the register 52. As a result, the data in the register 52 on the dividend side is shifted and division is executed.

【0022】除算の結果、被除数側のレジスタ群には上
記除算の余りが格納されることになる。次に除数レジス
タ群に格納されている多項式を被除数として、また上記
除算結果の余りを除数として除算を行なう。これは、セ
レクタ53の出力を切り換えることにより除数、被除数の
切り換えを実行する。この動作を図25に示すアルゴリズ
ムの終了条件が満たされるまで繰り返す。上記条件が満
たされると、ユークリッド演算回路20では誤り位置多項
式、及び誤り数値多項式の係数データを算出し、ユーク
リッド演算終了信号とともにチェンサーチ回路21、及び
誤り訂正制御回路4へ出力する。なお、ユークリッド演
算回路20の除算回路部分の説明は特開平1-276825号公報
に記載されている。
As a result of the division, the remainder of the division is stored in the register group on the dividend side. Next, division is performed using the polynomial stored in the divisor register group as a dividend and the remainder of the division result as a divisor. This switches the divisor and the dividend by switching the output of the selector 53. This operation is repeated until the end condition of the algorithm shown in FIG. 25 is satisfied. When the above condition is satisfied, the Euclidean arithmetic circuit 20 calculates the error position polynomial and the coefficient data of the error numerical polynomial, and outputs them to the Chien search circuit 21 and the error correction control circuit 4 together with the Euclidean arithmetic end signal. The description of the division circuit portion of the Euclidean arithmetic circuit 20 is described in Japanese Patent Application Laid-Open No. 1-276825.

【0023】誤り訂正装置制御回路4では、ユークリッ
ド演算回路20より出力されるユークリッド演算終了信号
をもとにチェンサーチ回路21の動作を開始させるチェン
サーチ開始信号を出力する。チェンサーチ回路21では、
チェンサーチ開始信号が入力されるとユークリッド演算
回路20で算出された誤り位置多項式σ(z)の各係数を
もとに誤り位置を算出する。図30を用いてチェンサーチ
回路21の具体的な動作を説明する。チェンサーチ回路21
ではチェンサーチ開始信号が入力されると係数カウンタ
35に0がセットされるとともに、帰還レジスタ31内にユ
ークリッド演算回路20で演算された誤り位置多項式σ
(z)の各係数データがセットされる。そして、帰還レ
ジスタ31の出力は乗算回路32にあらかじめセットされて
いる乗数と乗算され、再び帰還レジスタ31でラッチされ
る。
The error correction device control circuit 4 outputs a Chien search start signal for starting the operation of the Chien search circuit 21 based on the Euclidean arithmetic end signal output from the Euclidean arithmetic circuit 20. In the chain search circuit 21,
When a Chien search start signal is input, an error position is calculated based on each coefficient of the error position polynomial σ (z) calculated by the Euclidean arithmetic circuit 20. The specific operation of the Chien search circuit 21 will be described with reference to FIG. Chain search circuit 21
When the chain search start signal is input, the coefficient counter
35 is set to 0, and the error locator polynomial σ calculated by the Euclidean arithmetic circuit 20 is stored in the feedback register 31.
Each coefficient data of (z) is set. Then, the output of the feedback register 31 is multiplied by a multiplier set in the multiplication circuit 32 in advance, and latched by the feedback register 31 again.

【0024】加算回路33では、各帰還レジスタ31の出力
を加算する。判定回路34では、前記加算結果が0である
かを判定し、0であった場合係数カウンタ35のカウント
値をレジスタ36へ書き込む。(このカウント値が誤り位
置に対応する。)チェンサーチ終了にあたってはnステ
ップ要することになる。なお、チェンサーチ回路21の詳
細は前述の「符号理論」, pp.165〜166 に記載されてい
る。
The addition circuit 33 adds the outputs of the feedback registers 31. The determination circuit 34 determines whether the result of the addition is 0, and if it is 0, writes the count value of the coefficient counter 35 to the register 36. (This count value corresponds to the error position.) It takes n steps to end the chain search. The details of the Chien search circuit 21 are described in the aforementioned “Code Theory”, pp. 165 to 166.

【0025】誤り訂正回路22では、まずはじめにチェン
サーチ回路21より出力される誤り位置情報をもとにRA
M1内に格納されている誤ったデータを読みだす。それ
と同時に誤り訂正回路22内では、ユークリッド演算回路
20より出力される誤り数値多項式ω(z)、及びチェン
サーチ回路21より出力される誤り位置情報により誤り数
値を求める。RAM1より読みだされた誤ったデータ
は、前述の誤り数値と加算され誤り訂正が施される。誤
り訂正が施されたデータはRAM1内の誤ったデータと
書き換えられる。
In the error correction circuit 22, first, based on the error position information output from the Chien search circuit 21, RA
The erroneous data stored in M1 is read out. At the same time, the Euclidean arithmetic circuit
An error value is obtained from the error value polynomial ω (z) output from 20 and the error position information output from the Chien search circuit 21. The erroneous data read from the RAM 1 is added to the above-mentioned error numerical value and subjected to error correction. The error-corrected data is rewritten as erroneous data in the RAM 1.

【0026】上述のような誤り訂正装置を例えばディジ
タルVTRに適用した場合の誤り訂正装置の符号、及び
復号の簡単なフローを図31に示す。図31において誤り訂
正装置に入力されたデータは複数個の単位情報ブロック
に分割される。一般に誤り訂正符号は2重符号化される
ことが多く、その場合、上記複数個に分割された単位情
報ブロックが複数個集められ図32に示すように2次元に
配置される。そして、誤り訂正符号化装置により、垂直
方向の誤り訂正符号(C2符号)が付加された後、記録
方向の誤り訂正符号(C1符号)が付加される。なお、
図32に示す符号構成は文献 ”AN EXPERIMENTAL HOME-US
E VCR WITH THREE DIMENSIONAL DCT ANDSUPERIMPOSED C
ORRECTION CODING”IEEE TRANSACTIONS ON CONSUMER EL
ECTRONICS AUG.1991 VOL.37 NUMBER3 に記載されている
家庭用ディジタルVTRに用いられる誤り訂正符号の1
構成例である。また、図33には図32に示す記録方向の1
ラインの符号構成を示す。誤り訂正符号の付加されたデ
ータは、ディジタルVTRの場合は記録媒体に記録さ
れ、通信の場合は通信路上へ送出される。記録媒体より
再生されたデータは、再生過程で発生する誤りを訂正す
るために誤り訂正処理が施される。誤り訂正処理過程で
は再生データ中に含まれる誤りを訂正、または検出す
る。誤り訂正が施された再生データは次のステップへ出
力される。
FIG. 31 shows a simple flow of coding and decoding of the error correction device when the above-described error correction device is applied to, for example, a digital VTR. In FIG. 31, the data input to the error correction device is divided into a plurality of unit information blocks. Generally, the error correction code is often double-coded. In this case, a plurality of unit information blocks divided into a plurality of pieces are collected and arranged two-dimensionally as shown in FIG. Then, after the error correction coding apparatus adds the vertical error correction code (C2 code), the recording direction error correction code (C1 code) is added. In addition,
The code configuration shown in FIG. 32 is based on the document "AN EXPERIMENTAL HOME-US
E VCR WITH THREE DIMENSIONAL DCT ANDSUPERIMPOSED C
ORRECTION CODING ”IEEE TRANSACTIONS ON CONSUMER EL
ECTRONICS AUG.1991 VOL.37 NUMBER3 is one of the error correction codes used for home digital VTR.
It is a structural example. FIG. 33 shows one of the recording directions shown in FIG.
The code configuration of the line is shown. The data to which the error correction code is added is recorded on a recording medium in the case of a digital VTR, and is sent out on a communication path in the case of communication. The data reproduced from the recording medium is subjected to an error correction process in order to correct an error occurring during the reproduction process. In the error correction process, errors included in the reproduced data are corrected or detected. The error-corrected reproduction data is output to the next step.

【0027】次に、従来の誤り訂正装置で図33に示す1
ラインのデータを復号する場合の各部の信号処理タイミ
ングを図34に示すタイミングチャートを用いて説明す
る。図34には誤り訂正装置制御回路4より出力される各
種制御信号(シンドローム生成開始信号、ユークリッド
演算開始信号、チェンサーチ開始信号、及び誤り訂正開
始信号)、各回路の動作タイミング(シンドローム生成
回路2のシンドローム生成タイミング、ユークリッド演
算回路20の演算タイミング、チェンサーチ回路21の演算
タイミング、及び誤り訂正回路22の誤り訂正タイミン
グ)、及びRAM1のデータアクセス状態を示す。誤り
訂正装置制御回路4では誤り訂正が開始されるとシンド
ローム生成回路2へシンドローム生成開始信号を出力す
るとともにRAM1に格納されている再生時に発生した
誤りを含む再生データを読みだすための読みだしアドレ
ス、及び制御信号を出力する。シンドローム生成回路2
ではシンドローム生成開始信号にもとづきレジスタ10内
の値を0にセットするとともにRAM1より読みだされ
たデータに対して所定の演算(除算)処理を行う。な
お、上述のようにシンドローム生成にあたっては演算終
了まで符号長に相当する241 ステップを要する。この演
算時間を図34中のSY部に示す。
Next, FIG.
The signal processing timing of each unit when decoding line data will be described with reference to the timing chart shown in FIG. FIG. 34 shows various control signals (a syndrome generation start signal, a Euclidean operation start signal, a Chien search start signal, and an error correction start signal) output from the error correction device control circuit 4, and the operation timing of each circuit (the syndrome generation circuit 2). , The operation timing of the Euclidean operation circuit 20, the operation timing of the Chien search circuit 21, and the error correction timing of the error correction circuit 22, and the data access state of the RAM 1. When error correction is started, the error correction device control circuit 4 outputs a syndrome generation start signal to the syndrome generation circuit 2 and a read address for reading reproduction data stored in the RAM 1 and containing an error generated during reproduction. , And a control signal. Syndrome generation circuit 2
Then, the value in the register 10 is set to 0 based on the syndrome generation start signal, and a predetermined operation (division) is performed on the data read from the RAM 1. As described above, the generation of the syndrome requires 241 steps corresponding to the code length until the operation is completed. This calculation time is shown in the SY section of FIG.

【0028】シンドローム生成が終了すると、シンドロ
ーム生成回路2よりシンドローム生成終了信号が出力さ
れる。誤り訂正装置制御回路4ではこのシンドローム生
成終了信号にもとづきユークリッド演算開始信号を出力
する。ユークリッド演算回路20ではユークリッド演算開
始信号にもとづき上述の要領でGF(28 )上の多項式
の除算を行い、誤り位置多項式σ(z)及び誤り数値多
項式ω(z)を算出する。なお、ユークリッドアルゴリ
ズムを用いて、本従来例で示す最小距離17のリード・ソ
ロモン符号を復号(誤り位置多項式、及び誤り数値多項
式の算出)する場合、上述の多項式同士の除算を最大8
回繰り返すことにより算出できる。この演算時間を図34
中のEU部に示す。この際のステップ数はユークリッド
演算回路20の全体の回路構成にもよるが、図33に示す最
小距離17のリード・ソロモン符号をユークリッドアルゴ
リズムを用いて誤り位置多項式σ(z)、及び誤り数値
多項式ω(z)を算出するために必要なステップ数は12
0 ステップ程度で実現できる。回路の詳細動作の説明は
省略するが、上記除算回路での除算動作と、データのセ
ット、制御信号の発生、誤り位置多項式σ(z)及び誤
り数値多項式ω(z)の算出、または本従来例では省略
したがイレージャがあった場合の修正シンドロームの算
出などにより約120 ステップ程度ユークリッド演算回路
20での復号時間が必要になる。
When the syndrome generation ends, the syndrome generation circuit 2 outputs a syndrome generation end signal. The error correction device control circuit 4 outputs a Euclidean operation start signal based on the syndrome generation end signal. The Euclidean arithmetic circuit 20 divides the polynomial on GF (2 8 ) based on the Euclidean arithmetic start signal in the manner described above, and calculates an error position polynomial σ (z) and an error numerical polynomial ω (z). When decoding the Reed-Solomon code of the minimum distance 17 shown in the conventional example (calculation of the error locator polynomial and the error numerical polynomial) using the Euclidean algorithm, the above-described division between the polynomials is performed at a maximum of eight.
It can be calculated by repeating it twice. This calculation time is shown in FIG.
It is shown in the EU section in the middle. The number of steps at this time depends on the entire circuit configuration of the Euclidean arithmetic circuit 20, but the Reed-Solomon code of the minimum distance 17 shown in FIG. 33 is converted to an error position polynomial σ (z) and an error numerical polynomial using the Euclidean algorithm. The number of steps required to calculate ω (z) is 12
It can be realized in about 0 steps. Although the description of the detailed operation of the circuit is omitted, the division operation in the above-mentioned division circuit, data setting, generation of a control signal, calculation of error position polynomial σ (z) and error value polynomial ω (z), or Approximately 120 steps of the Euclidean arithmetic circuit for calculating the correction syndrome when an erasure occurs, but omitted in the example
20 decoding time is required.

【0029】ユークリッド演算が終了するとユークリッ
ド演算回路20よりユークリッド演算終了信号が出力され
る。誤り訂正装置制御回路4ではこのユークリッド終了
信号にもとづきチェンサーチ開始信号を出力する。チェ
ンサーチ回路21ではチェンサーチ開始信号に基づき係数
カウンタ35に0がセットされるとともに、ユークリッド
演算回路20で算出された誤り位置多項式の各係数データ
が各帰還レジスタ31にセットされる。そして帰還レジス
タ31の出力は乗算回路32にあらかじめセットされている
乗数と乗算され、再び帰還レジスタ31でラッチされる。
係数カウンタ35は帰還カウンタ31の帰還数をカウントす
る。加算回路33では各帰還レジスタ31の出力を加算す
る。判定回路34では前記加算結果が0であるかを判定
し、0であった場合には係数カウンタ35のカウント値を
レジスタ36へ書き込む。なお、上述のようにチェンサー
チ回路21では誤り位置を算出するために最大、符号長分
のステップ数すなわち241 ステップを必要とする。この
演算時間を図34中のCH部に示す。
When the Euclidean operation is completed, the Euclidean operation circuit 20 outputs a Euclidean operation end signal. The error correction device control circuit 4 outputs a Chien search start signal based on the Euclidean end signal. In the Chien search circuit 21, 0 is set in the coefficient counter 35 based on the Chien search start signal, and each coefficient data of the error locator polynomial calculated in the Euclidean arithmetic circuit 20 is set in each feedback register 31. Then, the output of the feedback register 31 is multiplied by a multiplier set in the multiplication circuit 32 in advance, and latched by the feedback register 31 again.
The coefficient counter 35 counts the number of feedbacks of the feedback counter 31. The addition circuit 33 adds the outputs of the feedback registers 31. The determination circuit 34 determines whether the addition result is 0, and if it is 0, writes the count value of the coefficient counter 35 to the register 36. As described above, the Chien search circuit 21 requires a maximum number of steps of the code length, that is, 241 steps, to calculate the error position. This calculation time is shown in the CH section in FIG.

【0030】チェンサーチが終了するとチェンサーチ回
路21よりチェンサーチ終了信号が出力される。誤り訂正
装置制御回路4ではこのチェンサーチ終了信号にもとづ
き誤り訂正開始信号を出力する。誤り訂正回路22の詳細
なタイミングチャートを図35に示す。誤り訂正回路22で
は誤り訂開始信号に基づき誤り数値多項式ω(z)、及
びチェンサーチ回路21より出力される誤り位置情報を用
いて誤り数値を算出する。一方、誤り訂正装置制御回路
4では、上述の誤り位置情報にもとづきRAM1より誤
ったデータを読みだす。RAM1より読みだされた誤っ
たデータは、次のクロックのタイミングで誤り数値と加
算され誤り訂正が施される。誤り訂正が施されたデータ
は次のクロックで再びRAM1へ書き込まれる。従っ
て、誤り訂正回路22で1シンボルの誤り訂正を実行する
ためには3クロックの期間を最低要することになる。よ
って、8シンボルの誤り訂正を行うためには最低24ステ
ップを必要とすることになる。
When the chain search ends, a chain search end signal is output from the chain search circuit 21. The error correction device control circuit 4 outputs an error correction start signal based on the Chien search end signal. FIG. 35 shows a detailed timing chart of the error correction circuit 22. The error correction circuit 22 calculates an error value using the error value polynomial ω (z) based on the error correction start signal and the error position information output from the Chien search circuit 21. On the other hand, the error correction device control circuit 4 reads erroneous data from the RAM 1 based on the above-described error position information. The erroneous data read from the RAM 1 is added to the error value at the timing of the next clock, and error correction is performed. The error-corrected data is written to the RAM 1 again at the next clock. Therefore, in order to execute the error correction of one symbol in the error correction circuit 22, a period of three clocks is required at a minimum. Therefore, at least 24 steps are required to perform error correction of 8 symbols.

【0031】誤り訂正装置は、CD, DATまたはディ
ジタルVTR等において再生、または受信信号中に発生
する誤りを訂正するためには無くてはならない装置では
あるが従来の誤り訂正装置は以下の問題点を有する。問
題点の1つは、従来の誤り訂正装置は1ラインの誤り訂
正を行う際に必要とする復号時間が、図34に示すように
非常に長くなってしまうという点にある。本従来例の場
合、ユークリッド演算回路20の除算回路部分で高速演算
のための回路アーキテクチャーを採用し高速化を図った
にも係わらず図33に示す1ラインのC1ブロックを復号
するのに626 ステップ(241+120+241+24=626)の復号時
間を要する。図29に示すような、ユークリッド演算回路
20の高速化のための回路アーキテクチャはいくつか公開
特許公報等で紹介されている。しかしながら、ユークリ
ッド演算回路20での演算時間が短縮されても、シンドロ
ーム生成またはチェンサーチ等の処理時間が短縮され
ず、ディジタルVTRのようにリアルタイムでかつ、高
速信号処理を要求される場合には必要な処理速度が維持
できない場合が生じる。
The error correction device is an indispensable device for reproducing errors in a CD, DAT, digital VTR, or the like, or correcting an error occurring in a received signal, but the conventional error correction device has the following problems. Having. One of the problems is that the conventional error correction apparatus requires a very long decoding time to perform one-line error correction, as shown in FIG. In the case of the conventional example, although the circuit architecture for high-speed operation is adopted in the division circuit portion of the Euclidean arithmetic circuit 20 to increase the speed, it is difficult to decode the one-line C1 block shown in FIG. The decoding time of step (241 + 120 + 241 + 24 = 626) is required. A Euclidean arithmetic circuit as shown in FIG.
Several circuit architectures for increasing the speed of 20 are introduced in published patent publications and the like. However, even if the operation time in the Euclidean operation circuit 20 is shortened, the processing time such as syndrome generation or Chien search is not shortened. In some cases, a high processing speed cannot be maintained.

【0032】誤り訂正装置の高速化に関する回路構成が
特開平3-63973 号公報で紹介されている。これは、図28
に示すシンドローム生成回路2及び誤り訂正演算回路3
を並行動作させるものである。図36に示すタイミングチ
ャートを用いてこの誤り訂正装置の回路動作を説明す
る。並行動作開始信号をもとにシンドローム生成回路2
はシンドローム生成を開始する。それと同時に誤り訂正
演算回路3中のユークリッド演算回路20が上述の要領で
ユークリッドアルゴリズムにしたがい誤り位置多項式σ
(z)及び誤り数値多項式ω(z)を算出する。ユーク
リッド演算回路20での演算が終了すると誤り位置多項式
の係数データをもとにチェンサーチ回路21で誤り位置の
算出が行なわれる。チェンサーチ回路21で誤り位置が算
出されると誤り訂正回路22で誤り訂正が施される。な
お、シンドローム生成回路2、ユークリッド演算回路2
0、チェンサーチ回路21、及び誤り訂正回路22の動作は
上記従来例と同一であるので詳細動作は説明は省略す
る。図36に各回路での演算ステップ数を示す。なお、図
36には上記従来例と同様に誤り訂正装置制御回路4より
出力される各種制御信号の出力タイミング、各回路の動
作タイミング、及びRAM1のデータアクセス状態を示
す。シンドローム生成回路2、及び誤り訂正演算回路3
を並行動作させることにより、図33に示す1ラインのC
1ブロックの誤り訂正を行なうために必要なステップ数
は最低385 ステップ必要になる。
A circuit configuration relating to speeding up of the error correction device is introduced in Japanese Patent Laid-Open Publication No. Hei 3-63973. This is shown in Figure 28
Syndrome generation circuit 2 and error correction operation circuit 3 shown in FIG.
Are operated in parallel. The circuit operation of this error correction device will be described with reference to the timing chart shown in FIG. Syndrome generation circuit 2 based on the parallel operation start signal
Starts syndrome generation. At the same time, the Euclidean operation circuit 20 in the error correction operation circuit 3 executes the error locator polynomial σ according to the Euclidean algorithm in the manner described above.
(Z) and the error numerical polynomial ω (z) are calculated. When the operation in the Euclidean operation circuit 20 is completed, the error position is calculated in the Chien search circuit 21 based on the coefficient data of the error position polynomial. When the Chien search circuit 21 calculates the error position, the error correction circuit 22 corrects the error. Note that the syndrome generation circuit 2 and the Euclidean arithmetic circuit 2
0, the operations of the Chien search circuit 21 and the error correction circuit 22 are the same as those of the above-described conventional example, and the detailed operation is omitted. FIG. 36 shows the number of operation steps in each circuit. The figure
Reference numeral 36 shows the output timing of various control signals output from the error correction device control circuit 4, the operation timing of each circuit, and the data access state of the RAM 1 as in the conventional example. Syndrome generation circuit 2 and error correction operation circuit 3
Are operated in parallel, so that C in one line shown in FIG.
The number of steps required to perform error correction for one block requires at least 385 steps.

【0033】しかしながら、この従来例でも図32に示す
ような積符号形式のリード・ソロモン符号を復号するに
あたってはC1符号による誤り訂正終了後に、C2符号
による誤り訂正を施すため復号ステップ数が非常に大き
くなってしまいリアルタイムで復号できない。また、C
2復号はC1復号が施されたデータに対して行なわれる
ため再度同一のRAMからデータを読み出さなければな
らない。その結果、誤り訂正装置を並列に配置し並行処
理を行うなどの対策を講じなければならず回路規模が増
大してしまう等の問題点があった。
However, even in this conventional example, when decoding the product code type Reed-Solomon code as shown in FIG. 32, the error correction by the C2 code is performed after the error correction by the C1 code is completed, so that the number of decoding steps is very large. It becomes so large that it cannot be decoded in real time. Also, C
Since 2 decoding is performed on the data subjected to C1 decoding, data must be read from the same RAM again. As a result, it is necessary to take measures such as arranging the error correction devices in parallel and performing parallel processing.

【0034】また、図27,図30に示すように、シンドロ
ーム生成回路2及びチェンサーチ回路21はレジスタの出
力にガロア体上の定数値との乗算回路と、加算回路とが
直列または並列に配置されている。この際、ハードウェ
ア上では最大で4段のEX−ORゲートを通ることにな
る。それに対してユークリッド演算回路20上ではハード
ウェア構成にもよるが、EX−ORゲートを7段程度
と、数個のセレクタを通るため高速化がシンドローム生
成回路2及びチェンサーチ回路21に比べて困難であると
いう問題点があった。また、図29に示すユークリッド演
算回路20の回路規模が必要以上に大きいという問題点が
あった。また、誤り訂正回路22での1シンボルの誤り訂
正を行うためには最低3ステップを必要とし高速化にお
いて問題があった。
As shown in FIG. 27 and FIG. 30, the syndrome generation circuit 2 and the Chien search circuit 21 are provided with a multiplication circuit for multiplying a register output by a constant value on a Galois field and an addition circuit in series or parallel. Have been. At this time, it passes through a maximum of four stages of EX-OR gates on hardware. On the other hand, on the Euclidean arithmetic circuit 20, although depending on the hardware configuration, the number of EX-OR gates is about seven, and it is difficult to increase the speed as compared with the syndrome generation circuit 2 and the Chien search circuit 21 because it passes through several selectors. There was a problem that it is. Further, there is a problem that the circuit scale of the Euclidean arithmetic circuit 20 shown in FIG. 29 is unnecessarily large. In addition, at least three steps are required for error correction of one symbol in the error correction circuit 22, and there is a problem in speeding up.

【0035】最近になりディジタルVTRの開発が各社
で進められており、誤り訂正装置の高速化が重要な課題
となってきた。図37に特開平3-172027号公報に記載され
ている、従来のユークリッド演算を行なう際のガロア体
上で定義される多項式同士の除算回路部(以下、コア回
路と記す)のブロック構成図を示す。なお、以下に説明
する加算回路, 乗算回路及び除算回路はガロア体上の加
算, 乗算及び除算演算を実行するものとして説明を続け
る。
Recently, the development of digital VTRs has been promoted by various companies, and increasing the speed of the error correction device has become an important issue. FIG. 37 shows a block configuration diagram of a division circuit unit (hereinafter, referred to as a core circuit) between polynomials defined on a Galois field when performing a conventional Euclidean operation described in JP-A-3-72027. Show. The description of the addition circuit, the multiplication circuit, and the division circuit described below is based on the assumption that they perform addition, multiplication, and division operations on a Galois field.

【0036】図において、81a, 81bは被除多項式, 除多
項式の係数データを記憶するレジスタ、82, 83はレジス
タ81a とレジスタ81b とのどちらかの出力を選択するセ
レクタ、84は除算回路、85は乗算回路、86は加算回路、
95は入力端子、87, 88は次数検出回路でレジスタ81a, 8
1bに記憶されている多項式の次数を検出する。89は全体
の動作の制御を行うユークリッド演算制御回路であり、
セレクタ82, 83の制御を行うとともに次数検出回路87,
88より出力される次数判定結果によりユークリッドアル
ゴリズムの終了条件の判定等を行う。以上、レジスタ81
a, 81b、セレクタ82, 83、除算回路84、乗算回路85、加
算回路86、次数検出回路87, 88、及びユークリッド演算
制御回路89で上記ユークリッド演算回路中のガロア体上
の多項式同士の除算回路部(コア回路)は構成されてい
る。なお、本従来例では右側に配置されているレジスタ
に各多項式の高次の係数を記憶するように構成されてい
る。
In the figure, reference numerals 81a and 81b denote registers for storing coefficient data of the polynomial to be divided and divisor polynomials, reference numerals 82 and 83 denote selectors for selecting one of the outputs of the registers 81a and 81b, reference numeral 84 denotes a division circuit, and reference numeral 85 denotes a division circuit. Is a multiplication circuit, 86 is an addition circuit,
95 is an input terminal, 87 and 88 are order detection circuits, registers 81a and 8
Detect the degree of the polynomial stored in 1b. 89 is a Euclidean arithmetic control circuit for controlling the entire operation,
Controls the selectors 82 and 83, and the order detection circuit 87,
The end condition of the Euclidean algorithm is determined based on the order determination result output from 88. Register 81
a, 81b, selectors 82, 83, division circuit 84, multiplication circuit 85, addition circuit 86, degree detection circuits 87, 88, and Euclidean operation control circuit 89, for dividing the polynomials on the Galois field in the Euclidean operation circuit. The unit (core circuit) is configured. In the conventional example, the register arranged on the right side is configured to store higher-order coefficients of each polynomial.

【0037】次に、上記回路構成で除算を実行する際の
除算回路の動作原理を簡単に説明する。いま、被除多項
式及び除多項式をそれぞれ 被除多項式:M1(Z)=An n +An-1 n-1 +・
・・+A1 1 +A0 除多項式:M2(Z)=Bm m +Bm-1 m-1 +・・
・+B1 1 +B0 とする。なお、n>mとする。以下、筆算により上記除
算を行った場合の計算手順を数1に示す。
Next, the principle of operation of the division circuit when performing division with the above circuit configuration will be briefly described. Now, the dividend polynomial, respectively the dividend polynomial and divisor polynomial: M1 (Z) = A n Z n + A n-1 Z n-1 + ·
.. + A 1 Z 1 + A 0 division polynomial: M2 (Z) = B m Z m + B m-1 Z m-1 + ··
・ Set to + B 1 Z 1 + B 0 . Note that n> m. Hereinafter, the calculation procedure when the above division is performed by handwriting is shown in Equation 1.

【0038】[0038]

【数1】 (Equation 1)

【0039】数1に示すように計算は被除多項式の剰余
の次数が除多項式の次数よりも小さくなるまで繰り返
す。なお、数1では最終の剰余多項式の各係数データを
i (i=0, 1, 2, ・・・・, m−1)で表わす。
As shown in Equation 1, the calculation is repeated until the degree of the remainder of the polynomial to be reduced becomes smaller than the degree of the polynomial. In Equation 1, each coefficient data of the final remainder polynomial is represented by C i (i = 0, 1, 2,..., M−1).

【0040】図25に示すユークリッドアルゴリズムに従
うと剰余多項式: R(Z)=Cm-1 m-1 +Cm-2 m-2 +・・・+C1
Z+C0 の次数が予め定められた条件を満たしていない場合は上
記除多項式M2(Z)を被除多項式とし、また上記剰余
多項式R(Z)を除多項式として、除算を繰り返す。そ
の際、詳細は後述するが図37に示す除算回路ではセレク
タ82, 83を切り換えて除多項式と被除多項式との交換を
行う。
According to the Euclidean algorithm shown in FIG. 25, a remainder polynomial: R (Z) = C m-1 Z m-1 + C m-2 Z m-2 +... + C 1
When the order of Z + C 0 does not satisfy the predetermined condition, the division is repeated by setting the divisor polynomial M2 (Z) as the polynomial to be divided and the remainder polynomial R (Z) as the divisor polynomial. At this time, the details will be described later, but in the division circuit shown in FIG. 37, the selectors 82 and 83 are switched to exchange the divisor polynomial and the polynomial to be deleted.

【0041】同様に、数2にM2(Z)をR(Z)で除
算した場合の計算手順を示す。
Similarly, a calculation procedure in the case where M2 (Z) is divided by R (Z) in Equation 2 is shown.

【0042】[0042]

【数2】 (Equation 2)

【0043】なお、本筆算では便宜上、上記剰余多項式
R(Z)の最大次数Cm-1 は0でないものとする。(一
般に、0であった場合は図37に示す次数検出回路87, 88
で上記被除多項式、及び除多項式の次数を判定して被除
多項式、及び除多項式の最大次数が0でなくなるまで被
除多項式、及び除多項式の係数データをシフトした後、
除算を実行する。また、除算演算中の剰余多項式の最大
次数が0に成った場合も同様に剰余多項式の最大次数が
0でなくなるまで剰余多項式の係数データをシフトした
後に、除算動作を行なう。)数1と同様に被除多項式の
剰余の係数が除多項式の次数よりも小さくなるまで除算
動作を繰り返す。
In this calculation, for convenience, it is assumed that the maximum degree C m-1 of the remainder polynomial R (Z) is not zero. (Generally, when it is 0, the order detection circuits 87, 88 shown in FIG. 37
In the above-mentioned dividend polynomial, and after determining the order of the divisor polynomial, and shifting the coefficient data of the dividend polynomial, and the divisor polynomial until the maximum order of the divisor polynomial and the divisor polynomial is not 0,
Performs division. Also, when the maximum degree of the remainder polynomial during the division operation becomes 0, the division operation is similarly performed after shifting the coefficient data of the remainder polynomial until the maximum degree of the remainder polynomial does not become 0. 1) Similar to Equation 1, the division operation is repeated until the coefficient of the remainder of the polynomial to be divided is smaller than the degree of the polynomial.

【0044】その結果の剰余多項式(R’(Z)とす
る)の各係数データをDi (i=0、1,2,・・・,
m−2)で表わす。そして、R’(Z)の次数が図25に
示した条件を満たしていない場合上記R(Z)を被除多
項式として、R’(Z)を除多項式として除算を繰り返
す。その際、図37の除算回路では先ほどと同様にセレク
タ82, 83を切り換えて除多項式と被除多項式の交換を行
う。そして、この動作をユークリッドアルゴリズムの終
了条件を満たすまで実行する。
[0044] As a result of the remainder polynomial of the coefficient data (R '(Z) and to) D i (i = 0,1,2, ···,
m-2). When the degree of R '(Z) does not satisfy the condition shown in FIG. 25, the division is repeated with R (Z) as a polynomial to be divided and R' (Z) as a polynomial. At this time, the division circuit of FIG. 37 switches the selectors 82 and 83 in the same manner as described above to exchange the divisor polynomial and the polynomial to be deleted. Then, this operation is executed until the end condition of the Euclidean algorithm is satisfied.

【0045】また、図38, 39には従来例のガロア体上の
多項式同士の除算回路動作を説明するための原理図を示
す。図38, 39において90は被除多項式の係数データを記
憶するレジスタ、91は除多項式の係数データを記憶する
レジスタ、92は除算回路、93は乗算回路、94は加算回
路、95は入力端子である。以上、レジスタ90, 91、除算
回路92、乗算回路93、及び加算回路94でガロア体上の多
項式同士の除算回路は構成されている。なお、図38, 39
はガロア体上の多項式同士の除算の動作を説明するため
の図であるため、ユークリッドアルゴリズムによる交換
手段などは省略している。また、説明を簡単にするため
次数検出回路は省略してある。
FIGS. 38 and 39 are principle diagrams for explaining the operation of a conventional circuit for dividing a polynomial between Galois fields. In FIGS. 38 and 39, 90 is a register for storing coefficient data of a polynomial to be deleted, 91 is a register for storing coefficient data of a polynomial, 92 is a division circuit, 93 is a multiplication circuit, 94 is an addition circuit, and 95 is an input terminal. is there. As described above, the registers 90 and 91, the division circuit 92, the multiplication circuit 93, and the addition circuit 94 constitute a division circuit between polynomials on the Galois field. Figures 38 and 39
Is a diagram for explaining the operation of division between polynomials on a Galois field, so that exchange means and the like by the Euclidean algorithm are omitted. In addition, the order detection circuit is omitted for the sake of simplicity.

【0046】以下、図38, 39に示すシフトレジスタ構成
でガロア体上の多項式同士の除算を行なう場合の回路動
作を説明する。図38, 39に示す除算回路の構成で、 被除多項式:A(Z)=Z8 +Z7 +Z5 +Z2 +1 除多項式:B(Z)=Z6 +Z3 +Z2 +1 の割り算を行なう場合について説明する。
The circuit operation in the case of performing division between polynomials on a Galois field with the shift register configuration shown in FIGS. 38 and 39 will be described below. In construction of the divider circuit shown in FIG. 38, 39, the dividend polynomial: A (Z) = Z 8 + Z 7 + Z 5 + Z 2 +1 divisor polynomial: B (Z) = Z 6 + Z 3 + if Z 2 performs a +1 division Will be described.

【0047】本従来例では、被除多項式A(Z)の各係
数がレジスタ90に、除多項式B(Z)の各係数データが
レジスタ91にセットされる。ガロア体上の多項式同士の
除算は被除多項式A(Z)の各係数データが記憶されて
いるシフトレジスタ状に配置されたレジスタ90の内容を
逐次右側にシフトしながら演算する事により実行する。
図38, 39には上記被除多項式A(Z)を除多項式B
(Z)で除算する場合の各レジスタ内の係数データの内
容を示す。
In this conventional example, each coefficient of the polynomial A (Z) to be removed is set in the register 90, and each coefficient data of the polynomial B (Z) is set in the register 91. The division between the polynomials in the Galois field is executed by sequentially shifting the contents of a register 90, which is arranged in a shift register and storing the coefficient data of the polynomial A (Z) to be divided, to the right side.
FIGS. 38 and 39 show the above polynomial A (Z) and the polynomial B
The contents of coefficient data in each register when dividing by (Z) are shown.

【0048】まず始めに、図38(a) に示すようにレジス
タ10に被除多項式A(Z)の係数がセットされ、レジス
タ91に除多項式B(Z)の各係数データがセットされ
る。なお、本従来例では右端のレジスタより高次の項の
係数がセットされているものとする。図中レジスタ内に
記した数字は、各レジスタにセットされた係数データを
示す。図38(a) に示す状態より除算回路92, 乗算回路93
及び加算回路94で演算を各係数毎に行ないながら、被除
多項式の係数を右へ1つだけシフトすると結果は14(b)
に示すようになる。なお、除算回路92は被除多項式側の
最高次数の係数を除多項式側の最高次数の係数で除算す
るように構成されている。
First, as shown in FIG. 38 (a), the coefficient of the polynomial A (Z) is set in the register 10, and the coefficient data of the polynomial B (Z) is set in the register 91. In this conventional example, it is assumed that the coefficient of a higher-order term is set from the rightmost register. In the figure, the numbers written in the registers indicate the coefficient data set in each register. From the state shown in FIG. 38 (a), the division circuit 92 and the multiplication circuit 93
When the coefficient of the polynomial to be shifted is shifted right by one while performing the operation for each coefficient by the adder circuit 94, the result is 14 (b).
It becomes as shown in. The division circuit 92 is configured to divide the highest-order coefficient on the polynomial side by the highest-order coefficient on the polynomial side.

【0049】各係数の状態をレジスタ内の数字で示す。
すなわち、被除多項式の各係数データを記憶するレジス
タ90には被除多項式を除多項式で除算を行ない被除多項
式の次数を1次減らした時の剰余が自動的にセットされ
ることになり、これが次回の除算で被除多項式となる。
同様にして2回目の除算を行なうと、図39(a) に示すよ
うに剰余がレジスタ90にセットされる。同様に3回目の
除算を行なった結果を図39(b) に示す。この除算動作は
被除多項式の次数が除多項式の次数より小さくなるまで
繰り返される。本従来例では被除多項式A(Z)と除多
項式B(Z)との次数差が2次であるので、上記除算動
作を3回繰り返せばよい。
The state of each coefficient is indicated by a number in the register.
That is, the remainder when the degree of the dividend polynomial is reduced by one by performing the division of the dividend polynomial by the divisor polynomial is automatically set in the register 90 for storing each coefficient data of the dividend polynomial, This becomes the dividend polynomial in the next division.
Similarly, when the second division is performed, the remainder is set in the register 90 as shown in FIG. Similarly, the result of the third division is shown in FIG. 39 (b). This division operation is repeated until the degree of the dividend polynomial becomes smaller than the degree of the division polynomial. In this conventional example, since the order difference between the polynomial A (Z) and the polynomial B (Z) is quadratic, the above division operation may be repeated three times.

【0050】以上の処理を筆算により確認する。数3に
筆算でガロア体上の多項式同士の除算(上記A(Z)/
B(Z))を行なった場合の計算過程を示す。
The above processing is confirmed by hand calculation. The division of polynomials on Galois field by writing to Equation 3 (A (Z) /
(B (Z)) is shown.

【0051】[0051]

【数3】 (Equation 3)

【0052】各段階の剰余は数3に示すように図38(a),
(b),図39(a),(b) の状態に対応したものとなっている。
このとき、レジスタ90に格納されているデータは被除多
項式を除多項式で除算した時の剰余多項式の係数データ
が記憶されている。よって、図38, 39に示すようなシフ
トレジスタ構成の除算回路を用いることによりガロア体
上の多項式同士の除算を1多項式毎に行えることにな
る。
The remainder at each stage is shown in FIG.
(b), which corresponds to the state of FIGS. 39 (a) and (b).
At this time, the data stored in the register 90 stores the coefficient data of the remainder polynomial obtained by dividing the polynomial to be divided by the polynomial. Therefore, the division between the polynomials on the Galois field can be performed for each polynomial by using a division circuit having a shift register configuration as shown in FIGS.

【0053】以下、図25に示すユークリッドアルゴリズ
ムに従い、リード・ソロモン符号を復号する誤り訂正装
置のユークリッド演算の除算回路部の動作を図37を用い
て説明する。本従来例では、光ディスク等に採用されて
いる最小ハミング距離が17のリード・ソロモン符号を復
号する場合について説明する。いま、再生信号より生成
したシンドローム多項式S(Z)を S(Z)=S1515+S1414+S1313+・・・S1
Z+S0 とする。
The operation of the Euclidean operation division circuit of the error correction apparatus for decoding a Reed-Solomon code in accordance with the Euclidean algorithm shown in FIG. 25 will be described below with reference to FIG. In this conventional example, a case will be described in which a Reed-Solomon code with a minimum Hamming distance of 17 used for an optical disk or the like is decoded. Now, the syndrome polynomial S generated from the reproduction signal (Z) S (Z) = S 15 Z 15 + S 14 Z 14 + S 13 Z 13 + ··· S 1
And Z + S 0.

【0054】ユークリッド演算が開始されるとまず始
め、ユークリッド演算制御回路89より出力されるユーク
リッド演算開始信号をもとにレジスタ81a に初期値であ
る被除多項式Z2t(本従来例では最小距離が17の符号で
あるのでZ16)の係数が記憶されるとともに、レジスタ
81b に除多項式であるシンドローム多項式S(Z)の係
数データが記憶される。また、次数検出回路87, 88のカ
ウンタにはそれぞれ次数の初期値である16と15とがセッ
トされる。次数検出回路87, 88内のカウンタは被除多項
式の係数データを記憶しているレジスタ81a, 81bが1回
シフトされるたびにカウント値が1つ下がるように構成
されている。
First, when the Euclidean operation is started, first, based on the Euclidean operation start signal output from the Euclidean operation control circuit 89, the register 81a stores the initial value of the subject polynomial Z 2t (in this conventional example, the minimum distance is Since the code is 17, the coefficient of Z 16 ) is stored and the register
81b stores coefficient data of a syndrome polynomial S (Z), which is a divisor polynomial. In addition, the counters of the order detection circuits 87 and 88 are set to 16 and 15, which are the initial values of the orders, respectively. The counters in the order detection circuits 87 and 88 are configured such that the count value decreases by one each time the registers 81a and 81b storing the coefficient data of the polynomial to be deleted are shifted once.

【0055】なお、本従来例では右側に配置されている
レジスタに高次の次数の係数データが記憶される。それ
と同時に、除多項式であるシンドローム多項式は次数検
出回路88で最高次数の係数データが0であるか判定され
る。ユークリッド演算制御回路89では、次数検出回路88
で検出された除多項式(シンドローム多項式)の最大次
数の係数データの値が0の場合、除多項式の係数データ
が記憶されているレジスタ81b の内容をシフトし最大次
数のデータが0でなくなるまでシフト動作を繰り返す。
その際、次数検出回路88内の次数カウンタのカウント値
が減らされていく。この動作が終了すると、セレクタ82
はレジスタ81a の出力を選択するように制御され、セレ
クタ83はレジスタ81b の出力を選択するように制御す
る。
In the conventional example, higher-order coefficient data is stored in a register arranged on the right side. At the same time, a syndrome polynomial, which is a divisor polynomial, is determined by the order detection circuit 88 to determine whether the coefficient data of the highest order is zero. In the Euclidean arithmetic control circuit 89, the order detection circuit 88
If the value of the coefficient data of the maximum order of the divisor polynomial (syndrome polynomial) detected in step is 0, the contents of the register 81b storing the coefficient data of the divisor polynomial are shifted until the data of the maximum order is no longer 0. Repeat the operation.
At that time, the count value of the order counter in the order detection circuit 88 is reduced. When this operation ends, the selector 82
Is controlled to select the output of the register 81a, and the selector 83 is controlled to select the output of the register 81b.

【0056】また、被除多項式の係数データが記憶され
ているレジスタ81a はクロックが入力されると加算回路
86の出力がラッチされるように構成されており、除多項
式の係数データが記憶されているレジスタ81b は係数デ
ータが保持されるように構成されている。図37には、具
体的な制御回路は省略したが、上記レジスタ81a, 81bに
入力されるクロック1, 2を除数側の係数データが記憶
されているレジスタについてのみ供給しないという方法
で除多項式の係数データをレジスタ内に保持する構成を
取っている。または、レジスタ81a, 81bの前段にセレク
タを設け、被除数側の係数の記憶されているレジスタに
ついては加算回路86の出力を選択するように、また除数
側の係数が記憶されているレジスタについては自分自身
の出力をラッチするように構成することにより実現する
こともできる。なお、図中に記した各演算回路(除算回
路84, 乗算回路85及び加算回路86)はガロア体上で定義
された各演算を行うものとする。
The register 81a storing the coefficient data of the polynomial to be removed is added to the adder circuit when a clock is input.
The output of the register 86 is latched, and the register 81b storing the coefficient data of the divisor polynomial is configured to hold the coefficient data. Although a specific control circuit is omitted in FIG. 37, the clocks 1 and 2 input to the registers 81a and 81b are not supplied only to the registers in which the coefficient data on the divisor side is stored. The configuration is such that coefficient data is held in a register. Alternatively, a selector may be provided before the registers 81a and 81b so that the output of the adder circuit 86 is selected for the register in which the dividend coefficient is stored, and the selector is provided for the register in which the divisor coefficient is stored. It can also be realized by a configuration that latches its own output. Note that each operation circuit (the division circuit 84, the multiplication circuit 85, and the addition circuit 86) shown in the figure performs each operation defined on the Galois field.

【0057】以下、図40, 41を用いて上記従来のユーク
リッド演算回路中の除算回路の回路動作を説明する。図
40(a) にレジスタ81a に被除多項式として初期値である
16がセットされ、レジスタ81b に除多項式としてシン
ドローム多項式S(Z)がセットされた状態を示す。な
お、レジスタ中に記した数字及び記号はレジスタに格納
されている係数データを示すものとする。本従来例では
説明を簡単にするためシンドローム多項式の最高次の係
数は0でないものとする。また、レジスタに記憶される
各多項式の高次の次数の係数データは右端に配置される
ものとする。そして、この図においては動作の説明をす
るため、各々のレジスタ81a, 81bの出力はセレクタ82,
83が選択している除算回路84, 乗算回路85及び加算回路
86に直接接続してある。
The circuit operation of the division circuit in the conventional Euclidean operation circuit will be described below with reference to FIGS. Figure
This shows a state in which the initial value Z 16 is set in the register 81a as the polynomial to be removed in 40 (a), and the syndrome polynomial S (Z) is set in the register 81b as the polynomial to be removed. The numbers and symbols described in the registers indicate coefficient data stored in the registers. In this conventional example, it is assumed that the highest order coefficient of the syndrome polynomial is not 0 for the sake of simplicity. Also, the coefficient data of the higher order of each polynomial stored in the register is arranged at the right end. In this figure, to explain the operation, the output of each register 81a, 81b is connected to a selector 82,
Division circuit 84, multiplication circuit 85 and addition circuit selected by 83
Connected directly to 86.

【0058】図40, 41に示す除算回路は図38, 39で示し
た除算回路と同一の構成をとっており、被除多項式の剰
余の次数が、除多項式の次数より小さくなるところまで
シフト動作を繰り返すことにより除算を実行する。除算
の終了判定は次数検出回路87, 88より出力される次数情
報をもとにユークリッド演算制御回路89で行う。図40
(b) に上記除算が終了した際に、各レジスタ81a, 81bに
記憶されている係数データの状態を示す。なお、レジス
タ81a に記憶されているH14〜H0 は剰余多項式の係数
データである。
The division circuits shown in FIGS. 40 and 41 have the same configuration as the division circuits shown in FIGS. 38 and 39, and shift operation is performed until the order of the remainder of the polynomial to be divided becomes smaller than the order of the polynomial. Is performed by repeating. The end of division is determined by the Euclidean arithmetic control circuit 89 based on the order information output from the order detection circuits 87 and 88. Figure 40
(b) shows the state of the coefficient data stored in each of the registers 81a and 81b when the above division is completed. Incidentally, H 14 to H 0 stored in the register 81a is a coefficient data of the remainder polynomial.

【0059】次に、ユークリッド演算制御回路89では、
次数検出回路87(または88)より出力される上記剰余多
項式の次数をもとに、剰余の次数がユークリッド演算の
終了条件(本従来例では次数が7以下)を満たしていれ
ばユークリッド演算を終了し、終了条件を満たしていな
ければ前回の演算で除多項式であった多項式を被除多項
式として、また上記剰余多項式を除多項式として演算を
実行する。その際、図37に示すユークリッド演算回路中
の除算部回路(コア回路)では、除多項式(剰余多項
式)の最大次数が0であるかを判定し0であった場合は
除多項式(剰余多項式)の最大次数が0でなくなるまで
レジスタ81a の内容をシフトした後、セレクタ82, 83の
選択出力を切り換えてセレクタ82はレジスタ81b の出力
を選択し、セレクタ83はレジスタ81a の出力を選択する
ように制御信号を出力する。
Next, in the Euclidean arithmetic control circuit 89,
Based on the degree of the remainder polynomial output from the degree detection circuit 87 (or 88), the Euclidean operation is terminated if the order of the remainder satisfies the Euclidean operation termination condition (the order is 7 or less in the conventional example). If the termination condition is not satisfied, the calculation is executed with the polynomial that was the divisor polynomial in the previous operation as the polynomial to be removed and the remainder polynomial as the divisor polynomial. At this time, the division unit circuit (core circuit) in the Euclidean arithmetic circuit shown in FIG. 37 determines whether the maximum degree of the divisor polynomial (remainder polynomial) is 0, and if it is 0, the divisor polynomial (remainder polynomial). After the contents of the register 81a are shifted until the maximum order of the register 81 is no longer 0, the selection outputs of the selectors 82 and 83 are switched so that the selector 82 selects the output of the register 81b and the selector 83 selects the output of the register 81a. Outputs control signal.

【0060】図41(a) に上記の接続状態を示す。図に示
すようにセレクタ82, 83で各演算回路への接続を切り換
えることにより被除多項式と除多項式の交換が実行され
ている。(なお、回路構成は図38, 39に示す除算回路と
同一の構成となっている。)除算は、上記例と同様に被
除多項式の剰余の次数が除多項式の次数より小さくなる
まで被除多項式の係数データを記憶しているレジスタの
内容を演算しながらシフト動作を繰り返すことにより除
算を実行する。図41(b) に上記除算が終了した際に、各
レジスタ81a, 81bに記憶されている係数データの状態を
示す。なお、レジスタ81b に記憶されているI13〜I0
は剰余多項式の係数データである。
FIG. 41A shows the above connection state. As shown in the figure, the selectors 82 and 83 switch the connection to each arithmetic circuit, thereby exchanging the polynomial to be deleted and the polynomial. (Note that the circuit configuration is the same as that of the division circuits shown in FIGS. 38 and 39.) The division is performed until the degree of the remainder of the polynomial is smaller than the degree of the polynomial, as in the above example. The division is performed by repeating the shift operation while calculating the contents of the register storing the polynomial coefficient data. FIG. 41B shows the state of the coefficient data stored in each of the registers 81a and 81b when the above division is completed. Note that I 13 to I 0 stored in the register 81b are used.
Is the coefficient data of the remainder polynomial.

【0061】そして、上記剰余多項式の次数を判定し所
定の条件を満たしていなければセレクタ82, 83の接続を
切り換えてユークリッドアルゴリズムに基づく除算動作
を再び行う。この除算動作を剰余多項式の次数が7次以
下になるまで繰り返す。これにより、リード・ソロモン
符号を復号する際に、ユークリッドアルゴリズムに基づ
くガロア体上の多項式同士の除算を1多項式毎に行うこ
とができ、誤り訂正処理速度を向上させることが出来
る。
Then, the degree of the remainder polynomial is determined, and if the predetermined condition is not satisfied, the connections of the selectors 82 and 83 are switched to perform the division operation based on the Euclidean algorithm again. This division operation is repeated until the degree of the remainder polynomial becomes 7 or less. Thus, when decoding a Reed-Solomon code, division between polynomials on a Galois field based on the Euclidean algorithm can be performed for each polynomial, and the error correction processing speed can be improved.

【0062】従来の誤り訂正装置のユークリッド演算回
路中のガロア体上の多項式同士の除算部回路(コア回
路)はユークリッド演算を高速化するため上記のように
構成されているが、ユークリッド演算を行う時、多項式
同士の交換を行うために各レジスタの出力がセレクタに
接続されており、例えば上記従来例に示す光ディスクの
誤り訂正符号として採用されている最小ハミング距離が
17の符号を復号する際はセレクタが各レジスタ毎に必要
となり、セレクタの制御も必要となる。このため、回路
規模が必要以上に大きくなってしまい、また、これらの
セレクタを制御するためセレクタ制御回路、及び制御信
号用バスが必要となってくる。すなわち、特開平3-1720
27号公報で紹介されているユークリッド演算過程におけ
るガロア体上の多項式の除算部回路(コア回路)は、上
記多項式の除算を高速に行うことが出来るが不必要に回
路規模が大きくなり、また制御も複雑になるという問題
点があった。
The division unit circuit (core circuit) between the polynomials on the Galois field in the Euclidean operation circuit of the conventional error correction device is configured as described above to speed up the Euclidean operation, but performs the Euclidean operation. In order to exchange polynomials, the output of each register is connected to a selector. For example, the minimum Hamming distance employed as an error correction code of an optical disc shown in the above-described conventional example is
When decoding 17 codes, a selector is required for each register, and control of the selector is also required. For this reason, the circuit scale becomes unnecessarily large, and a selector control circuit and a control signal bus are required to control these selectors. That is, JP-A-3-720
The division circuit (core circuit) of the polynomial on the Galois field in the Euclidean operation process introduced in Japanese Patent Publication No. 27 can perform the division of the above polynomial at high speed, but the circuit scale becomes unnecessarily large, and There was a problem that also became complicated.

【0063】本発明は斯かる事情に鑑みてなされたもの
であり、本発明の1つの目的は、高速動作が可能である
誤り訂正装置を提供することにある。
The present invention has been made in view of such circumstances, and one object of the present invention is to provide an error correction device capable of operating at high speed.

【0064】本発明の他の目的は、回路規模を大きくす
ることなく高速動作を可能とした誤り訂正装置を提供す
ることにある。
Another object of the present invention is to provide an error correction device capable of high-speed operation without increasing the circuit scale.

【0065】本発明の更に他の目的は、不必要な制御を
必要としない誤り訂正装置を提供することにある。
It is still another object of the present invention to provide an error correction device that does not require unnecessary control.

【0066】[0066]

【課題を解決するための手段】本願の第1発明に係る誤
り訂正装置は、入力信号に付加されている線形符号であ
る誤り訂正符号を用いて誤り訂正を行なう誤り訂正装置
であって、入力信号からシンドロームを生成するための
シンドローム生成手段と、生成されたシンドロームをも
とに誤り位置多項式σ(z)及び誤り数値多項式ω
(z)を算出する誤り位置・数値多項式演算手段と、算
出された誤り位置多項式σ(z)を基に誤り位置を算出
する誤り位置算出手段と、算出された誤り数値多項式ω
(z)及び誤り位置情報を基にRAM内に格納されてい
る誤ったデータの誤り訂正を行う誤り訂正手段とを有
し、誤り訂正時に、少なくともシンドローム生成手段,
誤り位置・数値多項式演算手段及び誤り位置算出手段の
3つの処理動作を並行して行うように構成したものであ
る。
An error correction apparatus according to a first aspect of the present invention is an error correction apparatus for performing error correction using an error correction code that is a linear code added to an input signal, the error correction apparatus comprising: A syndrome generating means for generating a syndrome from a signal, and an error location polynomial σ (z) and an error numerical polynomial ω based on the generated syndrome.
Error position / numerical polynomial calculating means for calculating (z), error position calculating means for calculating an error position based on the calculated error position polynomial σ (z), and calculated error numerical polynomial ω
(Z) and error correction means for performing error correction of erroneous data stored in the RAM based on the error position information.
The three processing operations of the error position / numerical polynomial calculation means and the error position calculation means are performed in parallel.

【0067】本願の第2発明に係る誤り訂正装置は、第
1発明にあって、シンドローム生成手段及び誤り位置算
出手段を駆動するクロックを、誤り位置・数値多項式演
算手段を駆動するクロックより高い周波数のクロックと
するように構成する。
The error correction device according to the second invention of the present application is the error correction device according to the first invention, wherein the clock for driving the syndrome generation means and the error position calculation means has a higher frequency than the clock for driving the error position / numerical polynomial calculation means. Clock.

【0068】本願の第3発明に係る誤り訂正装置は、第
1発明にあって、回路規模が復号時のステップ数でほぼ
決定する誤り位置・数値多項式演算手段の復号ステップ
数をシンドローム生成手段及び誤り位置算出手段の復号
ステップ数とほぼ等しくなるように増加させるように構
成する。
The error correction device according to the third invention of the present application is the error correction device according to the first invention, wherein the number of decoding steps of the error position / numerical polynomial arithmetic means whose circuit scale is substantially determined by the number of steps at the time of decoding is determined by the syndrome generation means and The number of decoding steps of the error position calculating means is increased so as to be substantially equal to the number of decoding steps.

【0069】本願の第4発明に係る誤り訂正装置は、誤
り訂正手段によりRAM内のデータに誤り訂正を施す際
に誤り位置算出手段より出力される誤り位置情報に基づ
く誤ったデータを少なくとも2つ以上を連続してRAM
より読み出した後に、誤り訂正を施したデータを逐次R
AM内の誤ったデータとに書き換え、この動作を誤り位
置検出されたデータがすべて訂正されるまで繰り返すよ
うに構成する。
The error correction device according to the fourth invention of the present application
When error correction is performed on the data in the RAM by the error correction means, at least two or more erroneous data based on the error position information output from the error position calculation means are continuously read from the RAM.
And then read the error-corrected data
The data is rewritten with erroneous data in the AM, and this operation is repeated until all the data whose error positions have been detected are corrected.

【0070】本願の第5発明に係る誤り訂正装置は、所
定の被除多項式を除多項式で除算し、さらにその剰余を
除多項式として、また除多項式を被除多項式として除算
して剰余の多項式の次数がある条件を満たすまで上記動
作を繰り返すユークリッド互除の処理過程を含んでリー
ド・ソロモン符号による誤り訂正処理を行う誤り訂正装
置であって、被除多項式及び除多項式の各係数データを
記憶しておくレジスタをシフトレジスタ状に配置し、そ
して、この2つの多項式の最大次数の係数同士を除算す
る除算回路と、除算回路の除数側に設定された多項式の
係数データと除算回路の出力とを乗算する乗算回路と、
乗算回路の出力と除算回路の被除数側に設定された多項
式の係数データとを加算する加算回路とを配置し、ガロ
ア体上の除算を実行する際に被除多項式の係数データが
記憶されているレジスタの内容を逐次シフトすることに
よりユークリッド互除過程に基づく除算を実行するよう
に構成する。
The error correcting apparatus according to the fifth invention of the present application divides a predetermined polynomial to be divided by a polynomial, further divides the remainder as a polynomial, and divides the polynomial as a polynomial to be divided to obtain a polynomial of the remainder. An error correction device that performs an error correction process using a Reed-Solomon code including a process of Euclidean mutual repetition that repeats the above operation until an order satisfies a certain condition, and stores each coefficient data of a polynomial to be deleted and a polynomial to be deleted. The registers are arranged in the form of a shift register, and a division circuit that divides the coefficients of the maximum degree of the two polynomials with each other, and multiplies the coefficient data of the polynomial set on the divisor side of the division circuit by the output of the division circuit Multiplying circuit,
An addition circuit for adding the output of the multiplication circuit and the coefficient data of the polynomial set on the dividend side of the division circuit is arranged, and the coefficient data of the dividend polynomial is stored when performing the division on the Galois field. By sequentially shifting the contents of the register, division based on the Euclidean mutual division process is performed.

【0071】本願の第6発明に係る誤り訂正装置は、第
5発明において、乗算回路をユークリッド互除過程にお
ける初期値Z2tをセットするレジスタ群に配置するよう
に構成する。
The error correction device according to the sixth invention of the present application is configured such that, in the fifth invention, the multiplication circuit is arranged in a group of registers for setting an initial value Z 2t in the Euclidean mutual division process.

【0072】本願の第7発明に係る誤り訂正装置は、第
5または第6発明において、除算回路において、除数と
して入力される多項式の最大次数の係数が0であった場
合、除算回路の出力を1として出力するように構成す
る。
The error correction device according to the seventh aspect of the present invention is the error correction device according to the fifth or sixth aspect, wherein in the division circuit, when the coefficient of the maximum degree of the polynomial input as the divisor is 0, the output of the division circuit is output. It is configured to output as 1.

【0073】本願の第8発明に係る誤り訂正装置は、第
5または第6または第7発明において、除算回路より出
力される除算結果を用いて誤り位置多項式σ(Z)を算
出する際、除算回路に入力される被除多項式の最大次数
の係数データが除数として扱われる場合と被除数として
扱われる場合とで算出方法を切り換えるように構成す
る。
The error correction device according to the eighth invention of the present application is the error correction device according to the fifth, sixth, or seventh invention, which calculates the error position polynomial σ (Z) using the division result output from the division circuit. The calculation method is switched between a case where coefficient data of the highest degree of the dividend polynomial input to the circuit is treated as a divisor and a case where the coefficient data is treated as a dividend.

【0074】本願の第9発明に係る誤り訂正装置は、第
5または第7または第8発明において、除算回路の出力
と誤り位置情報とを選択する第1の選択手段と、除算回
路の除数側の多項式の係数を記憶しておく記憶手段の出
力と、除算回路の被除数側の多項式の係数データを記憶
しておく記憶手段の出力とを選択する第2の選択手段
と、除算回路の除数側の多項式の係数とそれより1次次
数が高い除算回路の除数側の多項式の係数とを選択する
第3の選択手段と、第1の選択手段の出力と第3の選択
手段の出力とを乗算する乗算手段と、この乗算手段の出
力と第2の選択手段の出力とを加算する加算手段とを有
し、消失訂正時に修正シンドローム多項式を演算する
際、第1,第2及び第3の選択手段でそれぞれ誤り位置
情報,除算回路の除数側の多項式の係数データ及び1次
次数が高い多項式の係数を選択するように構成する。
The error correction device according to the ninth invention of the present application is the error correction device according to the fifth, seventh, or eighth invention, wherein the first selection means selects the output of the division circuit and the error position information; A second selecting means for selecting an output of the storage means for storing the coefficient of the polynomial of the division circuit and an output of the storage means for storing coefficient data of the polynomial on the dividend side of the division circuit; Selecting means for selecting the coefficient of the polynomial of the formula (1) and the coefficient of the polynomial on the divisor side of the divider circuit having a higher first order, and multiplying the output of the first selecting means and the output of the third selecting means. Multiplying means, and adding means for adding the output of the multiplying means and the output of the second selecting means. When calculating the modified syndrome polynomial at the time of erasure correction, the first, second and third selections are made. Error position information and divisor of division circuit by means Constructed as coefficient data and 1 Tsugiji polynomial selects the coefficients of the high polynomial.

【0075】[0075]

【作用】第1発明の誤り訂正装置は、再生または受信信
号中の誤りを訂正する際、シンドローム生成手段,誤り
位置・数値多項式演算手段及び誤り位置算出手段の3つ
の処理手段を並行して動作するように構成したので、図
33に示す1誤り訂正ブロックに誤り訂正を行なう際の復
号時間を半分以下にすることができる。また、復号時に
高速化のネックとなる誤り訂正装置とRAMとのデータ
のアクセスを常に行なうように構成したので、最も短い
復号時間で復号できる誤り訂正装置を得ることができ
る。(これは、先ほども述べたように図32に示すような
積符号形式の誤り訂正符号の復号を行なう場合、まずは
じめに受信データをRAM内に書き込み、C1及びC2
符号による誤り訂正を施す。このときRAMではシンド
ローム生成のためのデータの読み出し、誤り訂正を行な
うための誤りが検出されたデータの読み出し及び誤り訂
正が施されたデータの書き込みを行なう必要がある。誤
り訂正装置の高速化を考える際、RAMと誤り訂正装置
とのデータアクセスが非常に問題となっていた。)
The error correcting apparatus according to the first aspect of the present invention operates, when correcting an error in a reproduced or received signal, three processing means, a syndrome generating means, an error position / numerical polynomial calculating means, and an error position calculating means in parallel. Figure
The decoding time when performing error correction on one error correction block shown in 33 can be reduced to half or less. In addition, since the data is always accessed between the error correction device and the RAM, which is a bottleneck for speeding up during decoding, an error correction device capable of decoding in the shortest decoding time can be obtained. (This is because, as described above, when decoding an error correction code in the product code format as shown in FIG. 32, first, the received data is written in the RAM, and C1 and C2
Error correction using codes is performed. At this time, in the RAM, it is necessary to read data for generating a syndrome, to read data in which an error has been detected for error correction, and to write data having been subjected to error correction. When considering the speed-up of the error correction device, data access between the RAM and the error correction device has become a serious problem. )

【0076】第2発明の誤り訂正装置は、比較的高速化
が図れるシンドローム生成手段と誤り位置算出手段との
クロック周波数を誤り位置・数値多項式演算手段のクロ
ックの周波数に比べて高くすることにより、1誤り訂正
ブロックを復号するのに要する復号時間を短縮すること
ができ処理速度を上げることが可能となる。
The error correction device according to the second aspect of the present invention increases the clock frequency of the syndrome generation means and the error position calculation means, which can achieve relatively high speed, as compared with the clock frequency of the error position / numerical polynomial operation means. The decoding time required to decode one error correction block can be reduced, and the processing speed can be increased.

【0077】第3発明の誤り訂正装置は、誤り位置・数
値多項式演算手段の復号ステップ数をシンドローム生成
手段または誤り位置算出手段の復号ステップ数と誤り訂
正回路の復号ステップ数とほぼ等しくなるように増加さ
せることにより、誤り位置・数値多項式演算手段の回路
規模を小さくするので、誤り位置・数値多項式演算手段
の復号ステップ数は増加するものの誤り訂正装置の復号
ステップ数は変化しないので誤り訂正装置の高速化を実
現することができる。
The error correction device according to the third invention is arranged such that the number of decoding steps of the error position / numerical polynomial operation means is substantially equal to the number of decoding steps of the syndrome generation means or error position calculation means and the number of decoding steps of the error correction circuit. By increasing, the circuit size of the error position / numerical polynomial operation means is reduced, and the number of decoding steps of the error position / numerical polynomial operation means increases, but the number of decoding steps of the error correction device does not change. Higher speed can be realized.

【0078】第4発明の誤り訂正装置は、誤り訂正回路
の処理動作を誤り位置情報に基づきRAM内の誤ったデ
ータを逐次読み出した後に、誤り訂正が施されたデータ
をRAMに書き込むので、通常1シンボルの誤り訂正を
行う際、RAMからのデータの読み出し、誤り訂正、R
AMへのデータの書き込みと最低3ステップかかってい
た動作を、RAMよりのデータの読み出し、誤り訂正及
びRAMへのデータの書き込みを平行動作させるので2
ステップで行うことが可能となり、誤り訂正装置の高速
化が図れる。特にRAMとのアクセス時間が問題となる
場合にRAMとのアクセス時間が減少するので高速化が
図れる。
The error correction device according to the fourth aspect of the present invention controls the processing operation of the error correction circuit by sequentially reading erroneous data in the RAM based on the error position information and then writing the error-corrected data to the RAM. When performing error correction for one symbol, data reading from the RAM, error correction, R
The operation of writing data to the AM and taking at least three steps is replaced by the operation of reading data from the RAM, correcting errors, and writing data to the RAM in parallel.
This can be performed in steps, and the speed of the error correction device can be increased. In particular, when the access time to the RAM becomes a problem, the access time to the RAM is reduced, so that the speed can be increased.

【0079】第5発明の誤り訂正装置は、ユークリッド
互除過程におけるガロア体上の多項式同士の除算を実行
する際、各多項式の係数データを交換するためのセレク
タをもたずにユークリッド互除過程中の除算を実行する
ので、回路規模の縮小を図れるとともにセレクタ制御が
不必要になり回路の簡素化が図れる。
The error correcting apparatus according to the fifth aspect of the present invention does not have a selector for exchanging coefficient data of each polynomial when performing division between polynomials on the Galois field in the Euclidean mutual division process. By performing the division, the circuit scale can be reduced, and the selector control is not required, thereby simplifying the circuit.

【0080】第6発明の誤り訂正装置は、乗算回路をユ
ークリッド互除過程における初期値Z2tをセットするレ
ジスタ群に配置して除算動作を行うので、除算動作を行
うため乗算回路の数を1つ削減して回路規模の縮小を図
れる。
In the error correction device according to the sixth aspect of the present invention, the multiplication circuit is arranged in a group of registers for setting the initial value Z 2t in the Euclidean mutual division process to perform the division operation. It is possible to reduce the circuit scale by reducing the number.

【0081】第7発明の誤り訂正装置は、ユークリッド
演算を行う際の除算回路中に配置されている除算回路の
出力を、除数として入力される多項式の最大次数の係数
が0であった場合、1とするように構成されているの
で、ユークリッド演算制御回路で被除多項式または除多
項式の最大次数が0であった場合でも、回路規模を増大
させることなくユークリッドアルゴリズムにおけるガロ
ア体上の多項式同士の演算を実行できる。
The error correction device according to the seventh aspect of the present invention is configured such that when a coefficient of the maximum degree of a polynomial input as a divisor is 0, the output of the division circuit arranged in the division circuit when performing the Euclidean operation is 0. Therefore, even if the maximum degree of the polynomial to be divided or the polynomial in the Euclidean arithmetic control circuit is 0, the polynomials on the Galois field in the Euclidean algorithm are not increased without increasing the circuit scale. Perform operations.

【0082】第8発明の誤り訂正装置は、除算回路の出
力を用いて誤り位置多項式σ(Z)を算出する際、除算
回路に入力される被除多項式の最大次数の係数データが
除数として扱われる場合と被除数として扱われる場合と
で算出方法を切り換えるので、誤り位置多項式が正確に
算出されるとともに、復号ステップ数を削減できる。
When calculating the error locator polynomial σ (Z) using the output of the division circuit, the error correction device of the eighth invention treats the coefficient data of the maximum degree of the dividend polynomial input to the division circuit as a divisor. Since the calculation method is switched between the case where it is used and the case where it is treated as the dividend, the error locator polynomial is accurately calculated and the number of decoding steps can be reduced.

【0083】第9発明の誤り訂正装置は、イレージャ訂
正を行う際に算出する修正シンドローム多項式の算出を
セレクタ回路を付加するだけで構成できるので、回路規
模の増大を極力抑えてイレージャ訂正にも対応できる。
The error correction apparatus according to the ninth aspect of the present invention can be configured by simply adding a selector circuit to calculate the corrected syndrome polynomial to be calculated at the time of performing erasure correction. it can.

【0084】[0084]

【実施例】以下、本発明をその実施例を示す図面に基づ
いて詳述する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS The present invention will be described below in detail with reference to the drawings showing the embodiments.

【0085】第1実施例.図1に本発明の第1実施例で
ある誤り訂正装置のブロック構成図を示す。図において
1, 2及び20〜22は図26及び図28に示したものと同一で
あるので説明は省略する。40はユークリッド演算回路20
より出力される誤り位置多項式及び誤り数値多項式の各
係数データを記憶するレジスタ、41はシンドローム生成
回路2,ユークリッド演算回路20,レジスタ40,チェン
サーチ回路21及び誤り訂正回路22を制御するとともに、
RAM1の書き込み及び読み出し制御も行う誤り訂正装
置制御回路である。なお、シンドローム生成回路2、ユ
ークリッド演算回路20のガロア体上の多項式の除算回路
部分、及びチェンサーチ回路21の回路構成は図27,図29
及び図30に示すものと同一の構成であるので説明は省略
する。
First Embodiment FIG. 1 shows a block diagram of an error correction apparatus according to a first embodiment of the present invention. In the figure, 1, 2, and 20 to 22 are the same as those shown in FIGS. 40 is Euclidean arithmetic circuit 20
A register 41 stores the coefficient data of the error locator polynomial and the error numerical polynomial output from the controller 41. The register 41 controls the syndrome generation circuit 2, the Euclidean operation circuit 20, the register 40, the Chien search circuit 21, and the error correction circuit 22,
An error correction device control circuit that also performs write and read control of the RAM 1. The circuit configuration of the syndrome generation circuit 2, the polynomial division circuit on the Galois field of the Euclidean arithmetic circuit 20, and the circuit configuration of the Chien search circuit 21 are shown in FIGS.
The configuration is the same as that shown in FIG. 30 and the description is omitted.

【0086】次に、本発明の第1実施例である誤り訂正
装置の動作を説明する。なお、本実施例では従来例と同
様に図33に示す最小距離17の記録方向のC1符号を復号
する場合について説明する。RAM1に格納されている
再生または受信時に発生した誤りを含む再生または受信
データは、誤り訂正処理が開始されるとC1ブロック
(単位情報ブロック)を単位にRAM1より読みだされ
る。なお、RAM1からの再生データの読みだしは、誤
り訂正装置制御回路41より出力されるシステムスタート
信号に同期して発生する読みだしアドレス、及び読みだ
し制御信号に基づき行われる。RAM1より読みだされ
たデータはシンドローム生成回路2へ出力される。シン
ドローム生成回路2では誤り訂正装置制御回路41より出
力されるシステムスタート信号に基づきシフトレジスタ
形式に配置された各レジスタ10に0をセットする。そし
て、RAM1より読みだされたデータを従来例と同様に
逐次演算を行いながらシフトすることにより除算動作を
実行する。シンドローム生成に当たっては従来例と同様
に符号長分の241 ステップを必要とする。シンドローム
生成回路2で生成されたシンドロームはシンドローム生
成終了信号とともにユークリッド演算回路20に出力され
る。シンドローム生成終了信号は誤り訂正装置制御回路
41へも出力される。ユークリッド演算回路20ではシンド
ローム生成回路2より出力されるシンドローム生成終了
信号に基づきユークリッド演算回路20での演算処理の初
期値をセットする。なお、ユークリッド演算回路20の演
算動作が終了していない場合にはユークリッド演算が終
了と同時に演算処理の初期値をセットする。
Next, the operation of the error correction device according to the first embodiment of the present invention will be described. In this embodiment, a case where the C1 code in the recording direction at the minimum distance 17 shown in FIG. 33 is decoded as in the conventional example will be described. When error correction processing is started, reproduced or received data stored in the RAM 1 including an error generated during reproduction or reception is read from the RAM 1 in units of C1 blocks (unit information blocks). Reading of the reproduction data from the RAM 1 is performed based on a reading address generated in synchronization with a system start signal output from the error correction device control circuit 41 and a reading control signal. The data read from the RAM 1 is output to the syndrome generation circuit 2. The syndrome generation circuit 2 sets 0 to each register 10 arranged in a shift register format based on the system start signal output from the error correction device control circuit 41. Then, the data read from the RAM 1 is shifted while performing the sequential operation in the same manner as in the conventional example, thereby executing the division operation. Syndrome generation requires 241 steps equivalent to the code length as in the conventional example. The syndrome generated by the syndrome generation circuit 2 is output to the Euclidean arithmetic circuit 20 together with a syndrome generation end signal. Syndrome generation end signal is an error correction device control circuit
Also output to 41. The Euclidean arithmetic circuit 20 sets an initial value of the arithmetic processing in the Euclidean arithmetic circuit 20 based on the syndrome generation end signal output from the syndrome generation circuit 2. If the operation of the Euclidean operation circuit 20 is not completed, the initial value of the operation process is set at the same time when the Euclidean operation is completed.

【0087】一方、ユークリッド演算回路20では、誤り
訂正装置制御回路41より出力されるシステムスタート信
号に基づきシンドローム生成終了時にあらかじめセット
された初期値を元にユークリッド演算を開始する。ユー
クリッド演算回路20は、従来例と同様に図25に示すアル
ゴリズムに従いガロア体上の多項式の除算を繰り返し行
うことにより、誤り位置多項式σ(z)及び誤り数値多
項式ω(z)の算出を行う。図29を用いてユークリッド
演算回路20の回路動作を説明する。シンドローム生成終
了信号が入力されると各レジスタ52a, 52bには初期値が
セットされる。具体的には上側のレジスタ52a 群にはZ
2tがセットされ、下側のレジスタ52b 群には上記シンド
ローム生成回路2により算出されたシンドローム多項式
の係数データがセットされる。セットされたデータはシ
ステムスタート信号に基づき被除数側(最初はZ2tのデ
ータがセットされた上側のレジスタ52a 群)のデータを
シフトしていくことによりガロア体上の多項式の除算を
実行する。除算は被除数側の多項式の次数が除数側の多
項式の次数より小さくなるまで繰り返す。除算動作を具
体的に示すと次のようになる。図29において、被除数側
のレジスタ52群に接続されているセレクタ53は加算器55
の出力を選択するように接続され、除数側のレジスタ52
群に接続されているセレクタ53はレジスタ52の出力を選
択するように構成する。この結果、除数側のデータはレ
ジスタ52内に維持され、被除数側のレジスタ52内のデー
タはシフトされ除算が実行されることになる。
On the other hand, the Euclidean arithmetic circuit 20 starts Euclidean arithmetic based on an initial value set in advance at the end of syndrome generation based on a system start signal output from the error correction device control circuit 41. The Euclidean arithmetic circuit 20 calculates the error position polynomial σ (z) and the error numerical polynomial ω (z) by repeatedly performing the division of the polynomial on the Galois field in accordance with the algorithm shown in FIG. The circuit operation of the Euclidean arithmetic circuit 20 will be described with reference to FIG. When the syndrome generation end signal is input, an initial value is set in each of the registers 52a and 52b. Specifically, Z in the upper register group 52a
2t is set, and the coefficient data of the syndrome polynomial calculated by the syndrome generation circuit 2 is set in the lower register group 52b. The set data shifts the data on the dividend side (the first group of upper registers 52a in which the data of Z2t is set) based on the system start signal, thereby executing the polynomial division on the Galois field. The division is repeated until the degree of the polynomial on the dividend side becomes smaller than the degree of the polynomial on the divisor side. The division operation is specifically described as follows. In FIG. 29, a selector 53 connected to a group of registers 52 on the dividend side includes an adder 55.
Is connected to select the output of the divisor side register 52
The selector 53 connected to the group is configured to select the output of the register 52. As a result, the data on the divisor side is maintained in the register 52, and the data in the register 52 on the dividend side is shifted and division is executed.

【0088】除算の結果、被除数側のレジスタ群には上
記除算の余りが格納されることになる。次に除数レジス
タ群に格納されている多項式を被除数として、また上記
除算結果の余りを除数として除算を行なう。これは、セ
レクタ53の出力を切り換えることにより除数、被除数の
切り換えを実行する。この動作を図25に示すユークリッ
ドアルゴリズムの終了条件が満たされるまで繰り返す。
上記、条件が満たされるとユークリッド演算回路20では
誤り位置多項式及び誤り数値多項式の各係数データを算
出する。算出された各係数データは一旦レジスタ40に格
納される。なお、ユークリッド演算回路20は、ユークリ
ッド演算が終了すると誤り訂正装置制御回路41へユーク
リッド演算終了信号を出力する。
As a result of the division, the remainder of the division is stored in the register group on the dividend side. Next, division is performed using the polynomial stored in the divisor register group as a dividend and the remainder of the division result as a divisor. This switches the divisor and the dividend by switching the output of the selector 53. This operation is repeated until the end condition of the Euclidean algorithm shown in FIG. 25 is satisfied.
When the above condition is satisfied, the Euclidean arithmetic circuit 20 calculates each coefficient data of the error locator polynomial and the error numerical polynomial. Each calculated coefficient data is temporarily stored in the register 40. Note that the Euclidean operation circuit 20 outputs a Euclidean operation end signal to the error correction device control circuit 41 when the Euclidean operation is completed.

【0089】同様にチェンサーチ回路21では誤り訂正装
置制御回路41より出力されたシステムスタート信号を基
準にしてレジスタ40に記憶されている誤り位置多項式の
係数データを帰還レジスタ31にセットするとともに、係
数カウンタ35のカウント値を0にセットする。そして、
従来例と同様に帰還レジスタ31の出力は乗算器32にあら
かじめセットされている乗数と乗算され、再び帰還レジ
スタ31でラッチされる。また、係数カウンタ35は帰還レ
ジスタ31の帰還回数をカウントする。
Similarly, the Chien search circuit 21 sets the coefficient data of the error locator polynomial stored in the register 40 in the feedback register 31 based on the system start signal output from the error correction device control circuit 41, The count value of the counter 35 is set to 0. And
As in the conventional example, the output of the feedback register 31 is multiplied by a multiplier preset in the multiplier 32 and latched by the feedback register 31 again. The coefficient counter 35 counts the number of times of feedback of the feedback register 31.

【0090】帰還レジスタ31の出力は加算回路33で加算
される。判定回路34では、前記加算結果が0であるかを
判定し、0であった場合係数カウンタ35の値をレジスタ
36へ書き込む。従来例と同様にこのカウント値が誤り位
置に対応する。チェンサーチは符号長に相当する241 回
帰還レジスタ31を動作させ誤り位置を算出する。チェン
サーチが終了するとチェンサーチ終了信号が誤り訂正装
置制御回路41へ出力される。誤り訂正装置制御回路41で
はチェンサーチ終了信号,ユークリッド演算終了信号及
びシンドローム生成終了信号にもとづき誤り訂正開始信
号を誤り訂正回路22に出力する。
The output of the feedback register 31 is added by the adding circuit 33. The determination circuit 34 determines whether the addition result is 0. If the addition result is 0, the value of the coefficient counter 35 is stored in a register.
Write to 36. This count value corresponds to the error position as in the conventional example. In the Chien search, the feedback register 31 is operated 241 times corresponding to the code length to calculate an error position. When the chain search ends, a chain search end signal is output to the error correction device control circuit 41. The error correction device control circuit 41 outputs an error correction start signal to the error correction circuit 22 based on the Chien search end signal, the Euclidean operation end signal, and the syndrome generation end signal.

【0091】誤り訂正装置制御回路41では、誤り訂正開
始信号を出力すると同時に、チェンサーチ回路21より出
力される誤り位置情報をもとにRAM1内に格納されて
いる誤ったデータを逐次読みだすための読み出しアドレ
ス及び読み出し制御信号を出力する。例えば、8誤り訂
正の場合8個の誤り位置情報に相当する8個の誤った情
報をRAM1より読み出す。一方、誤り訂正回路22で
は、入力された誤り訂正開始信号を基準にして誤り訂正
を開始する。まず始めに、誤り訂正回路22内では、ユー
クリッド演算回路20より出力される誤り数値多項式ω
(z)、及びチェンサーチ回路21より出力される誤り位
置情報により誤り数値を求める。RAM1より読みださ
れた誤ったデータは、誤り数値と加算され誤り訂正が逐
次施される。RAM1からの誤った情報の読みだしが終
了すると、上記誤り訂正が施されたデータがRAM1内
の誤ったデータと逐次書き換えられる。図9に誤り訂正
回路22のタイミングチャートを示す。
The error correction device control circuit 41 outputs an error correction start signal and simultaneously reads out erroneous data stored in the RAM 1 based on error position information output from the Chien search circuit 21. And outputs a read address and a read control signal. For example, in the case of eight error correction, eight pieces of erroneous information corresponding to eight pieces of error position information are read from the RAM 1. On the other hand, the error correction circuit 22 starts error correction based on the input error correction start signal. First, in the error correction circuit 22, the error numerical polynomial ω output from the Euclidean arithmetic circuit 20
(Z) and an error value is obtained from the error position information output from the Chien search circuit 21. The erroneous data read from the RAM 1 is added to an error value and error correction is sequentially performed. When the reading of the erroneous information from the RAM 1 ends, the error-corrected data is sequentially rewritten with the erroneous data in the RAM 1. FIG. 9 shows a timing chart of the error correction circuit 22.

【0092】次に、第1実施例を用いて誤り訂正を施す
場合の、各回路部の信号処理タイミングを図2を用いて
説明する。図2には、誤り訂正装置制御回路41より出力
される各種制御信号の出力タイミング,各回路の動作タ
イミング及びRAM1のデータアクセス状態を示す。誤
り訂正装置制御回路41では誤り訂正が開始されるとシス
テムスタート信号をシンドローム生成回路2、ユークリ
ッド演算回路20、及びチェンサーチ回路21へ出力すると
ともにRAM1に格納されている再生データを読みだす
ための読みだしアドレス、及び制御信号を出力する。
Next, the signal processing timing of each circuit unit when error correction is performed using the first embodiment will be described with reference to FIG. FIG. 2 shows the output timing of various control signals output from the error correction device control circuit 41, the operation timing of each circuit, and the data access state of the RAM 1. When the error correction is started, the error correction device control circuit 41 outputs a system start signal to the syndrome generation circuit 2, the Euclidean operation circuit 20, and the Chien search circuit 21 and reads the reproduction data stored in the RAM 1. It outputs a read address and a control signal.

【0093】シンドローム生成回路2ではシステムスタ
ート信号にもとづきレジスタ10内の値を0にセットする
とともにRAM1より読みだされたデータに対して所定
の演算(除算)処理を行う。なお、上述のようにシンド
ローム生成にあたっては演算終了まで符号長に相当する
241 ステップを要する。この演算時間を図2中のSY部
に示す。
The syndrome generation circuit 2 sets the value in the register 10 to 0 based on the system start signal and performs a predetermined operation (division) on the data read from the RAM 1. Note that, as described above, when generating a syndrome, the code length is equivalent to the code length until the operation is completed.
It takes 241 steps. This calculation time is shown in the SY section in FIG.

【0094】シンドローム生成が終了すると、シンドロ
ーム生成回路2より生成されたシンドロームデータとと
もにシンドローム生成終了信号が出力される。ユークリ
ッド演算回路20では、シンドローム生成終了信号に基づ
きユークリッド演算のための初期値をセットする。な
お、ユークリッド演算回路20の演算が終了していない場
合は、ユークリッド演算が終了しだい初期値をセットす
る。
When the syndrome generation ends, a syndrome generation end signal is output together with the syndrome data generated by the syndrome generation circuit 2. The Euclidean operation circuit 20 sets an initial value for the Euclidean operation based on the syndrome generation end signal. If the operation of the Euclidean arithmetic circuit 20 is not completed, an initial value is set as soon as the Euclidean arithmetic is completed.

【0095】ユークリッド演算回路20ではシステムスタ
ート信号にもとづき上述の要領でGF(28 )上の多項
式の除算を行い、誤り位置多項式σ(z)及び誤り数値
多項式ω(z)を算出する。なお、ユークリッド演算回
路20で図33に示す最小距離17のリード・ソロモン符号を
復号する場合、従来例と同様に約120 ステップ程度必要
とする。この演算時間を図2中のEU部に示す。
The Euclidean arithmetic circuit 20 divides the polynomial on GF (2 8 ) based on the system start signal in the above-described manner, and calculates an error position polynomial σ (z) and an error numerical polynomial ω (z). When the Euclidean arithmetic circuit 20 decodes the Reed-Solomon code of the minimum distance 17 shown in FIG. 33, about 120 steps are required as in the conventional example. This calculation time is shown in the EU section in FIG.

【0096】ユークリッド演算回路20によって算出され
た誤り位置多項式σ(z)及び誤り数値多項式ω(z)
の各係数データはレジスタ40に一旦記憶される。なお、
ユークリッド演算が終了するとユークリッド演算回路20
よりユークリッド演算終了信号が出力される。
The error locator polynomial σ (z) and the error numerical polynomial ω (z) calculated by the Euclidean arithmetic circuit 20
Are temporarily stored in the register 40. In addition,
When the Euclidean operation is completed, the Euclidean operation circuit 20
Thus, a Euclidean operation end signal is output.

【0097】チェンサーチ回路21ではシステムスタート
信号に基づき係数カウンタ35に0がセットされるととも
に、ユークリッド演算回路20で算出された誤り位置多項
式の各係数データが各帰還レジスタ31にセットされる。
そして帰還レジスタ31の出力は乗算回路32にあらかじめ
セットされている乗数と乗算され、再び帰還レジスタ31
でラッチされる。係数カウンタ35は帰還カウンタ31の帰
還数をカウントする。加算回路33では各帰還レジスタ31
の出力を加算する。判定回路34では前記加算結果が0で
あるかを判定し、0であった場合には係数カウンタ35の
カウント値をレジスタ36へ書き込む。なお、上述のよう
にチェンサーチ回路21では誤り位置を算出するために最
大、符号長分のステップ数すなわち241 ステップを必要
とする。この演算時間を図2中のCH部に示す。
In the chain search circuit 21, 0 is set in the coefficient counter 35 based on the system start signal, and each coefficient data of the error locator polynomial calculated by the Euclidean arithmetic circuit 20 is set in each feedback register 31.
Then, the output of the feedback register 31 is multiplied by a multiplier preset in the multiplication circuit 32, and again the feedback register 31
Latched. The coefficient counter 35 counts the number of feedbacks of the feedback counter 31. In the adder circuit 33, each feedback register 31
Add the outputs of The determination circuit 34 determines whether the addition result is 0, and if it is 0, writes the count value of the coefficient counter 35 to the register 36. As described above, the Chien search circuit 21 requires a maximum number of steps of the code length, that is, 241 steps, to calculate the error position. This calculation time is shown in the CH section in FIG.

【0098】チェンサーチが終了するとチェンサーチ回
路21よりチェンサーチ終了信号が出力される。誤り訂正
装置制御回路41ではチェンサーチ終了信号,ユークリッ
ド演算終了信号及びシンドローム生成終了信号にもとづ
き誤り訂正開始信号を出力する。誤り訂正回路22では誤
り訂正開始信号に基づき誤り数値多項式ω(z)、及び
チェンサーチ回路21より出力される誤り位置情報を用い
て誤り数値を算出する。そして、RAM1より読み出さ
れた誤り位置を算出されたデータに誤り数値を加算する
ことにより誤り訂正を施す。誤り訂正が施されたデータ
は、RAM1からの誤ったデータの読み出しが終了する
と同時にRAM1へ書き込まれる。図9に誤り訂正回路
22のタイミングチャートを示す。本実施例では8シンボ
ルの誤りを訂正するために16ステップを要する。なお、
図9に示す誤り訂正回路のタイミングチャートについて
の詳しい説明は後述する。
When the chain search ends, a chain search end signal is output from the chain search circuit 21. The error correction device control circuit 41 outputs an error correction start signal based on the Chien search end signal, the Euclidean operation end signal, and the syndrome generation end signal. The error correction circuit 22 calculates an error value using the error value polynomial ω (z) based on the error correction start signal and the error position information output from the Chien search circuit 21. Then, error correction is performed by adding an error value to the data calculated for the error position read from the RAM 1. The error-corrected data is written to the RAM 1 at the same time when the reading of the erroneous data from the RAM 1 ends. Figure 9 shows the error correction circuit
22 shows a timing chart. In this embodiment, 16 steps are required to correct an error of 8 symbols. In addition,
A detailed description of the timing chart of the error correction circuit shown in FIG. 9 will be described later.

【0099】誤り訂正装置制御回路41では、RAM1,
シンドローム生成回路2,ユークリッド演算回路20,レ
ジスタ40,チェンサーチ回路21及び誤り訂正回路22の上
記動作を制御する。その際、シンドローム生成回路2,
ユークリッド演算回路20及びチェンサーチ回路21の3つ
の回路の並行動作を管理するため、誤り訂正装置制御回
路41では、システムスタート信号で各々の回路の動作フ
ラグをセットし、各々の回路より出力される演算終了信
号に基づき上記動作フラグをリセットする動作フラグ生
成回路を内部に持っており、このフラグの状態により各
回路を制御する。具体的には、この動作フラグの状態に
より、RAM1のアドレス制御、各々の回路で算出され
たデータの転送、または各々の回路の初期値のセット等
の制御を行うための信号を各回路へ出力する。また、こ
の動作フラグは各回路へも出力される。
In the error correction device control circuit 41, RAM1,
The above operations of the syndrome generation circuit 2, the Euclidean operation circuit 20, the register 40, the Chien search circuit 21, and the error correction circuit 22 are controlled. At that time, the syndrome generation circuit 2
In order to manage the parallel operation of the three circuits of the Euclidean arithmetic circuit 20 and the Chien search circuit 21, the error correction device control circuit 41 sets an operation flag of each circuit by a system start signal, and outputs the operation flag from each circuit. An operation flag generation circuit for resetting the operation flag based on the operation end signal is provided therein, and each circuit is controlled by the state of the flag. Specifically, a signal for controlling the address of the RAM 1, transferring the data calculated by each circuit, or setting the initial value of each circuit is output to each circuit according to the state of the operation flag. I do. This operation flag is also output to each circuit.

【0100】誤り訂正開始信号はシンドローム生成回路
2とRAM1とのアクセス、及びチェンサーチ回路21で
の誤り位置の計算が終了すると同時に出力される。それ
と同時にチェンサーチ回路21で算出された誤り位置情報
を基に、RAM1より誤ったデータを読み出すための読
みだしアドレス及び読みだし制御信号を発生する。
The error correction start signal is output at the same time when the access between the syndrome generation circuit 2 and the RAM 1 and the calculation of the error position in the Chien search circuit 21 are completed. At the same time, based on the error position information calculated by the chain search circuit 21, a read address and a read control signal for reading erroneous data from the RAM 1 are generated.

【0101】本実施例に示すように誤り訂正装置におい
て、シンドローム生成回路2,ユークリッド演算回路20
及びチェンサーチ回路21の3つの回路を並行動作するこ
とにより、図2に示すように1誤り訂正ブロックを復号
するステップ数を257 ステップとすることができ、従来
の誤り訂正装置に比べて約2.4 倍(626 /257)に復号速
度を上げることが可能である。また、シンドローム生成
回路2と誤り訂正演算回路3とを並行に動作せる場合に
比べても1.5 倍(386 /257)に復号速度を上げることが
可能である。よって、誤り訂正装置を並列に配置するこ
となく回路の高速化をはかることができ、並列に誤り訂
正装置を配置した場合に比べて回路規模の大幅な縮小を
図れる。
As shown in this embodiment, in the error correction device, the syndrome generation circuit 2, the Euclidean operation circuit 20
By operating the three circuits of the chain search circuit 21 in parallel, the number of steps for decoding one error correction block can be 257 steps as shown in FIG. It is possible to increase the decoding speed by a factor of (626/257). Also, the decoding speed can be increased to 1.5 times (386/257) as compared with the case where the syndrome generation circuit 2 and the error correction operation circuit 3 are operated in parallel. Therefore, the speed of the circuit can be increased without arranging the error correction devices in parallel, and the circuit scale can be significantly reduced as compared with the case where the error correction devices are arranged in parallel.

【0102】また、本実施例のように並行処理を行う誤
り訂正装置においては、RAM1のデータアクセス時間
が誤り訂正装置の動作速度を決定する。特に図32に示す
積符号形式の誤り訂正符号を復号する際は、再生された
誤りを含むデータを一旦RAM1内にデータを格納した
後に誤り訂正を施す。一般に、積符号形式の誤り訂正符
号の復号はC1符号により記録方向の誤り訂正を行なっ
た後にC2符号により垂直方向の誤り訂正を行ない、C
1符号により誤りを訂正できなかったデータに対してC
2符号により誤り訂正を行なう。(記録方向に付加され
たC1符号による誤り訂正を行なう場合は、RAM1内
にデータを一旦格納せずに、再生データより直接シンド
ロームを生成して誤り訂正を施してもよいが、C2符号
による誤り訂正を行なう際は図32に示す誤り訂正ブロッ
クのデータを垂直方向に読み出す必要がある。よって、
C2符号による再生データの誤り訂正はRAM1内に一
旦蓄えられたデータに対して誤り訂正が施される。)
In the error correction device that performs parallel processing as in this embodiment, the data access time of the RAM 1 determines the operation speed of the error correction device. In particular, when decoding the error correction code in the product code format shown in FIG. 32, the data including the reproduced error is temporarily stored in the RAM 1 and then subjected to error correction. Generally, decoding of an error correction code in a product code format is performed by correcting an error in a recording direction by a C1 code and then correcting an error in a vertical direction by a C2 code.
For data for which an error could not be corrected by one code,
Error correction is performed using two codes. (In the case of performing error correction using the C1 code added in the recording direction, it is possible to generate a syndrome directly from reproduced data and perform error correction without temporarily storing data in the RAM 1, When performing the correction, it is necessary to read out the data of the error correction block shown in Fig. 32 in the vertical direction.
The error correction of the reproduced data by the C2 code is performed on the data once stored in the RAM 1. )

【0103】RAM1内に一旦格納された再生データ
は、誤り訂正符号による誤り訂正を行なうためRAM1
より読み出される。RAM1より読み出されたデータは
上述のように誤り訂正装置でシンドローム生成、誤り位
置の算出、及び誤り数値の算出が行なわれる。そして、
算出された誤り位置に相当するアドレスのデータがRA
M1より読み出され、誤り数値と加算され誤り訂正が施
される。誤り訂正が施されたデータはRAM1内の誤り
位置に相当するアドレスへ書き込まれる。
The reproduced data once stored in the RAM 1 is stored in the RAM 1 for error correction using an error correction code.
Is read out. The data read from the RAM 1 is subjected to syndrome generation, error position calculation, and error value calculation by the error correction device as described above. And
The data at the address corresponding to the calculated error position is RA
It is read from M1, added to the error value, and subjected to error correction. The error-corrected data is written to the RAM 1 at an address corresponding to the error position.

【0104】この際使用されるRAM1は高速にデータ
をランダムにアクセスできるSRAM、またはDRAM
などが用いられる。一般に前述のようなRAMはデータ
の入出力I/Oポート、及び書き込み及び読み出しのア
ドレスポートは別々には設けられていない。従って、誤
り訂正装置において最高速度の処理を実現するためには
RAM1とのデータのアクセスがあるシンドローム生成
回路2及び誤り訂正回路22をそれぞれ独立に動作させ、
RAM1とのアクセスがないユークリッド演算回路20及
びチェンサーチ回路21をシンドローム生成回路2と並行
動作させればよい。すなわち、シンドローム生成回路2
及び誤り訂正回路22が動作している間に、ユークリッド
演算回路20及びチェンサーチ回路21の演算を終了するよ
うに誤り訂正装置を動作させればよいことになる。この
ように誤り訂正装置を動作させればRAM1は、誤り訂
正動作が開始されると常にシンドローム生成回路2また
は誤り訂正回路22とアクセス状態にあり、最小の復号時
間で誤り訂正を施すことができる。なお、本実施例にお
けるRAM1の動作状態を示すRAMアクセス信号を図
2に示す。従って、第1実施例の構成をとる誤り訂正装
置(すなわち、シンドローム生成回路2,ユークリッド
演算回路20及びチェンサーチ回路21の3つの回路を並行
動作させる構成)が最高速の復号速度を有することにな
る。
The RAM 1 used at this time is an SRAM or DRAM which can randomly access data at high speed.
Are used. Generally, in the above-described RAM, a data input / output I / O port and a write / read address port are not provided separately. Therefore, in order to realize the highest speed processing in the error correction device, the syndrome generation circuit 2 and the error correction circuit 22 having data access to the RAM 1 are operated independently of each other,
The Euclidean operation circuit 20 and the Chien search circuit 21 that do not have access to the RAM 1 may be operated in parallel with the syndrome generation circuit 2. That is, the syndrome generation circuit 2
In addition, while the error correction circuit 22 is operating, the error correction device may be operated so that the operations of the Euclidean operation circuit 20 and the Chien search circuit 21 are completed. By operating the error correction device in this manner, the RAM 1 is always in an access state with the syndrome generation circuit 2 or the error correction circuit 22 when the error correction operation is started, and can perform error correction with a minimum decoding time. . FIG. 2 shows a RAM access signal indicating the operation state of the RAM 1 in this embodiment. Therefore, the error correction device having the configuration of the first embodiment (that is, the configuration in which the three circuits of the syndrome generation circuit 2, the Euclidean operation circuit 20, and the Chien search circuit 21 are operated in parallel) has the highest decoding speed. Become.

【0105】第2実施例.次に、本発明の第2実施例に
ついて説明する。図3は第2実施例である誤り訂正装置
のブロック構成図である。図において1, 2, 20〜22,
40, 41は第1実施例に示したものと同一のものであるの
で説明は省略する。本実施例では、図に示すようにシン
ドローム生成回路2,チェンサーチ回路21及び誤り訂正
回路22はクロック1で駆動するように構成されている。
また、ユークリッド演算回路20は上記クロック1と異な
る周波数のクロック2で駆動するように構成されてい
る。なお、誤り訂正装置制御回路41はクロック1及びク
ロック2をもとにRAM1,シンドローム生成回路2,
ユークリッド演算回路20,レジスタ40,チェンサーチ回
路21及び誤り訂正回路22を制御する。また、シンドロー
ム生成回路2、ユークリッド演算回路20のガロア体上の
多項式の除算回路、及びチェンサーチ回路21の回路構成
は図27, 図29及び図30に示すものと同一の構成であるの
で説明は省略する。
Second Embodiment Next, a second embodiment of the present invention will be described. FIG. 3 is a block diagram of an error correction device according to a second embodiment. In the figure, 1, 2, 20-22,
Reference numerals 40 and 41 are the same as those shown in the first embodiment, and a description thereof will be omitted. In the present embodiment, as shown in the figure, the syndrome generation circuit 2, Chien search circuit 21, and error correction circuit 22 are configured to be driven by the clock 1.
Further, the Euclidean arithmetic circuit 20 is configured to be driven by a clock 2 having a frequency different from the clock 1. The error correction device control circuit 41 uses the clock 1 and the clock 2 to store the RAM 1, the syndrome generation circuit 2,
It controls the Euclidean operation circuit 20, the register 40, the Chien search circuit 21, and the error correction circuit 22. Also, the circuit configuration of the syndrome generation circuit 2, the polynomial division circuit on the Galois field of the Euclidean operation circuit 20, and the circuit configuration of the Chien search circuit 21 are the same as those shown in FIGS. Omitted.

【0106】次に、本発明の第2実施例である誤り訂正
装置の動作を説明する。本実施例ではクロック1の周波
数をクロック2の周波数の2倍の周波数で制御した場合
について説明する。これは、図27及び図30に示すよう
に、シンドローム生成回路2及びチェンサーチ回路21は
レジスタの出力にガロア体上の定数値との乗算回路と、
加算回路が直列または並列に配置されている。この際、
ハードウェア上ではレジスタ間で最大で4段のEX−O
Rゲートを通ることになる。それに対してユークリッド
演算回路20上ではハードウェア構成にもよるが、変数ど
うしの乗算回路と加算器で構成されているのでEX−O
Rゲートを7段程度と、数個のセレクタを通って次のレ
ジスタにデータがラッチされる。従って、このシンドロ
ーム生成回路2及びチェンサーチ回路21はユークリッド
演算回路20に比べて高速化が比較的容易である。なお、
説明をわかりやすくするためクロック2の周波数は上記
第1実施例で回路を駆動したクロックと同一の周波数で
あるとする。また、本実施例では第1実施例と同様に図
33に示す最小距離17の記録方向のC1符号を復号する場
合について説明する。
Next, the operation of the error correction device according to the second embodiment of the present invention will be described. In this embodiment, a case where the frequency of the clock 1 is controlled at twice the frequency of the clock 2 will be described. This is because, as shown in FIG. 27 and FIG. 30, the syndrome generation circuit 2 and the Chien search circuit 21 multiply the output of the register by a constant value on the Galois field,
Adder circuits are arranged in series or in parallel. On this occasion,
Up to 4 stages of EX-O between registers on hardware
It will pass through the R gate. On the other hand, on the Euclidean arithmetic circuit 20, although it depends on the hardware configuration, since it is composed of a multiplication circuit of variables and an adder, the EX-O
With about seven stages of R gates, data is latched in the next register through several selectors. Therefore, it is relatively easy to increase the speed of the syndrome generation circuit 2 and the Chien search circuit 21 as compared with the Euclidean arithmetic circuit 20. In addition,
Clock 2 frequency is above for clarity
It is assumed that the frequency is the same as the clock that drives the circuit in the first embodiment . Also, in the present embodiment, as in the first embodiment, FIG.
The case of decoding the C1 code in the recording direction at the minimum distance 17 shown in 33 will be described.

【0107】RAM1に格納されている再生、または受
信データは誤り訂正処理が開始されるとC1ブロック
(単位情報ブロック)を単位にRAM1より読みだされ
る。なお、RAM1からのデータの読みだしは、誤り訂
正装置制御回路41より出力されるシステムスタート信号
に基準にしてシンドローム生成回路2を駆動するクロッ
ク1に同期して発生する読みだしアドレス及び読みだし
制御信号に基づき行われる。RAM1より読みだされた
データはシンドローム生成回路2へ出力される。
When the error correction processing is started, the reproduced or received data stored in the RAM 1 is read from the RAM 1 in units of C1 blocks (unit information blocks). The reading of data from the RAM 1 is performed based on a system start signal output from the error correction device control circuit 41 and a read address generated in synchronization with a clock 1 for driving the syndrome generation circuit 2 and a read control. This is performed based on a signal. The data read from the RAM 1 is output to the syndrome generation circuit 2.

【0108】シンドローム生成回路2では、第1実施例
と同様に、シンドロームが生成されるが、この時の動作
は第1実施例と同じであるので説明は省略する。シンド
ローム生成に当たっては第1実施例と同様に符号長分の
241 ステップを必要とするが、シンドローム生成回路2
を駆動するクロックは第1実施例に比べて2倍の周波数
のクロックで駆動しているので、第1実施例の半分の時
間でシンドロームの生成は終了する。ユークリッド演算
回路20では、誤り訂正装置制御回路41より出力されるシ
ステムスタート信号に基づきシンドローム演算終了時に
あらかじめセットされた初期値を元にクロック2に同期
してユークリッド演算を開始する。ユークリッド演算回
路20の動作は、第1実施例と同様であり、その説明は省
略する。その後、第1実施例と同様に、チェンサーチ回
路21において誤り位置が算出される。なお、チェンサー
チ回路21を駆動するクロックは上述のように、第1実施
例に比べて2倍の周波数のクロックで駆動しているの
で、第1実施例の半分の時間で誤り位置の算出が終了す
る。その後、第1実施例と同様に、誤り訂正回路22で誤
り数値が求められ、誤り訂正が逐次施され、誤り訂正が
施されたデータがRAM1内の誤ったデータと逐次書き
換えられる。
The syndrome generation circuit 2 generates a syndrome in the same manner as in the first embodiment, but the operation at this time is the same as in the first embodiment, and a description thereof will be omitted. In generating the syndrome, the same as the first embodiment,
241 steps are required, but the syndrome generation circuit 2
Is driven by a clock having a frequency twice as high as that of the first embodiment, so that the generation of the syndrome is completed in half the time of the first embodiment. The Euclidean operation circuit 20 starts the Euclidean operation in synchronization with the clock 2 based on an initial value set in advance at the end of the syndrome operation based on the system start signal output from the error correction device control circuit 41. The operation of the Euclidean arithmetic circuit 20 is the same as in the first embodiment, and a description thereof will be omitted. Thereafter, as in the first embodiment, the Chien search circuit 21 calculates an error position. Since the clock for driving the Chien search circuit 21 is driven by a clock having a frequency twice as high as that of the first embodiment, the calculation of the error position can be performed in half the time of the first embodiment. finish. Thereafter, similarly to the first embodiment, an error value is obtained by the error correction circuit 22, error correction is sequentially performed, and the error-corrected data is sequentially rewritten with erroneous data in the RAM 1.

【0109】次に、第2実施例を用いて図33に示す1ラ
インのデータを復号する場合の各回路部の信号処理タイ
ミングを図4に示す。図4において、図2と同一部分に
は同一符号を付している。
Next, FIG. 4 shows the signal processing timing of each circuit unit when decoding one line of data shown in FIG. 33 using the second embodiment. 4, the same parts as those in FIG. 2 are denoted by the same reference numerals.

【0110】シンドローム生成にあたっては演算終了ま
で符号長に相当する241 ステップを要するが、シンドロ
ーム生成にあたってはクロック1の周波数が第1実施例
の場合と比べて2倍になっているのでシンドローム生成
にかかる時間(図4中のSY部)は半分となる(241/2
ステップ程度)。なお、ユークリッド演算部分のクロッ
ク周波数は第1実施例と同じであるので、その演算時間
(図4中のEU部)は第1実施例と同じである(120 ス
テップ程度)。一方、チェンサーチ回路21を駆動するク
ロックの周波数はシンドローム生成の場合と同様に第1
実施例の場合の2倍であるので、チェンサーチ回路21で
の演算時間(図4中のCH部)は第1実施例に比べて半
分の時間となる(241/2ステップ程度)。また、第2実
施例では誤り訂正回路22をクロック1で駆動しているの
で、処理時間は第1実施例に比べて半分の処理時間で動
作は完了する(8ステップ程度)。
In generating the syndrome, 241 steps corresponding to the code length are required until the operation is completed. However, in the generation of the syndrome, the frequency of the clock 1 is twice as large as that in the first embodiment. Time (SY part in FIG. 4) is halved (241/2)
Steps). Since the clock frequency of the Euclidean operation part is the same as that of the first embodiment, the operation time (EU part in FIG. 4) is the same as that of the first embodiment (about 120 steps). On the other hand, the frequency of the clock for driving the Chien search circuit 21 is the first as in the case of the syndrome generation.
Since the time is twice as long as that of the first embodiment, the operation time (CH part in FIG. 4) in the Chien search circuit 21 is half of the time of the first embodiment (about 241/2 steps). In the second embodiment, since the error correction circuit 22 is driven by the clock 1, the operation is completed in about half the processing time of the first embodiment (about eight steps).

【0111】第2実施例では、シンドローム生成回路
2,ユークリッド演算回路20及びチェンサーチ回路21の
3つの回路の並行動作を、クロック1及びクロック2の
2系統で制御することとし、かつシンドローム生成回路
2及びチェンサーチ回路21を駆動するクロックの周波数
をユークリッド演算回路20を駆動するクロックの周波数
に対して2倍の周波数に設定する。従って、図4に示す
ように1誤り訂正ブロックを復号するステップ数を128.
5 ステップとすることができ、従来の誤り訂正装置に比
べて約4.8 倍(626 /128.5)に上げることが可能であ
る。また、シンドローム生成回路2と誤り訂正演算回路
3とを並行に動作せる場合に比べても約3倍(386 /12
8.5)に復号速度を上げることが可能である。よって、
誤り訂正装置を並列に配置することなく回路の高速化を
はかることができ、並列に誤り訂正装置を配置した場合
に比べて回路規模の大幅な縮小を図れる。
In the second embodiment, the parallel operation of the three circuits of the syndrome generation circuit 2, the Euclidean operation circuit 20 and the Chien search circuit 21 is controlled by two systems of the clock 1 and the clock 2, and the syndrome generation circuit 2 and the frequency of the clock driving the Chien search circuit 21 is set to twice the frequency of the clock driving the Euclidean arithmetic circuit 20. Therefore, as shown in FIG. 4, the number of steps for decoding one error correction block is 128.
The number of steps can be increased to 5 steps, which is about 4.8 times (626 / 128.5) compared to the conventional error correction device. In addition, it is about three times (386/12) that the syndrome generation circuit 2 and the error correction operation circuit 3 are operated in parallel.
8.5) It is possible to increase the decoding speed. Therefore,
The speed of the circuit can be increased without arranging the error correction devices in parallel, and the circuit scale can be significantly reduced as compared with the case where the error correction devices are arranged in parallel.

【0112】また、第1実施例と同様、本実施例でも、
RAM1とのデータのアクセスがないユークリッド演算
回路20及びチェンサーチ回路21を、シンドローム生成回
路2と並行動作させ、シンドローム生成回路2及び誤り
訂正回路22が動作している間に、ユークリッド演算回路
20及びチェンサーチ回路21の演算が終了するように動作
させているので、最小の復号時間で誤り訂正を施すこと
ができる。更に、本実施例の誤り訂正装置では、比較的
高速化が可能なシンドローム生成回路2及びチェンサー
チ回路21を駆動するクロックを第1実施例に比べて2倍
の周波数のクロックにしたため、第1実施例に比べてお
よそ半分の復号時間で1ブロック当たりの誤り訂正動作
を行うことが可能となる。
Also, as in the first embodiment, in this embodiment,
The Euclidean arithmetic circuit 20 and the Chien search circuit 21 that do not have data access to the RAM 1 are operated in parallel with the syndrome generation circuit 2, and the Euclidean arithmetic circuit is operated while the syndrome generation circuit 2 and the error correction circuit 22 are operating.
Since operation is performed such that the operations of 20 and the Chien search circuit 21 are completed, error correction can be performed with a minimum decoding time. Further, in the error correction device of the present embodiment, the clock for driving the syndrome generation circuit 2 and the Chien search circuit 21 which can be relatively operated at a high frequency is twice as high as that of the first embodiment. The error correction operation per block can be performed in about half the decoding time as compared with the embodiment.

【0113】なお、第2実施例では、クロック1の周波
数をクロック2の周波数の2倍の周波数に設定したが、
これに限るものではなく例えば3倍,4倍等の整数倍、
または1.5 倍,3.2 倍等の非整数倍に選んでも同様の効
果を奏する。また、シンドローム生成回路2及びチェン
サーチ回路21を同一周波数のクロックで駆動したがこれ
に限るものではなく、ユークリッド演算回路20を駆動す
るクロックの周波数より高いクロックで駆動すれば、シ
ンドローム生成回路2を駆動するクロックとチェンサー
チ回路21を駆動するクロックの周波数が異なってもよ
い。更に、誤り訂正回路22を駆動するクロックとしてク
ロック1を用いたがこれに限るものではなくクロック2
または他の周波数のクロックを用いてもよい。
In the second embodiment, the frequency of clock 1 is set to twice the frequency of clock 2;
However, the present invention is not limited to this, and is, for example, an integral multiple such as three times or four times,
The same effect can be obtained by selecting a non-integer multiple such as 1.5 times or 3.2 times. Further, the syndrome generation circuit 2 and the Chien search circuit 21 are driven by a clock having the same frequency. However, the present invention is not limited thereto. The frequency of the clock for driving and the frequency of the clock for driving the Chien search circuit 21 may be different. Further, the clock 1 is used as a clock for driving the error correction circuit 22.
Alternatively, a clock of another frequency may be used.

【0114】第3実施例.次に、第3実施例について説
明する。なお、本発明の第3実施例である誤り訂正装置
のブロック構成は第1実施例(図1)と同様である。図
5に第3実施例におけるユークリッド演算回路20のガロ
ア体上の多項式の除算を実行する除算回路部分のブロッ
ク構成図を示す。
Third embodiment. Next, a third embodiment will be described. The block configuration of the error correction device according to the third embodiment of the present invention is the same as that of the first embodiment (FIG. 1). FIG. 5 is a block diagram of a division circuit for performing division of a polynomial on a Galois field of the Euclidean arithmetic circuit 20 in the third embodiment.

【0115】図5において、50及び51は図29に示すもの
と同一であるので説明は省略する。60,65及び66はレジ
スタ、61及び62はセレクタ、64は加算器、63は乗算回路
である。以上、レジスタ60,65及び66、セレクタ61及び
62、加算器64、及び乗算回路63でユークリッド演算回路
20は構成されている。なお、本実施例では、図29に示す
従来のユークリッド演算回路20の除算回路に比べて図5
に示すユークリッド演算回路20の除算回路は各レジスタ
毎に接続されていた乗算回路がレジスタ2個毎に1個接
続されており、回路規模の削減を図っている。具体的に
はセレクタ62及びレジスタ66は増えているが、例えば本
実施例のように最小距離17のリード・ソロモン符号を復
号する場合、乗算回路が16個(400×16=6400ゲート) が
省略でき、増加するレジスタ66は8個(8×56=448 ゲ
ート) 、及びセレクタ62が16個(24×16=384 ゲート)
となり約5500ゲートの回路規模の縮小が図れる。
In FIG. 5, reference numerals 50 and 51 are the same as those shown in FIG. Reference numerals 60, 65 and 66 denote registers, reference numerals 61 and 62 denote selectors, reference numeral 64 denotes an adder, and reference numeral 63 denotes a multiplication circuit. As described above, the registers 60, 65 and 66, the selector 61 and
Euclidean operation circuit with 62, adder 64, and multiplication circuit 63
20 are made up. It should be noted that the present embodiment is different from the conventional Euclidean operation circuit 20 shown in FIG.
In the division circuit of the Euclidean arithmetic circuit 20 shown in (1), one multiplication circuit connected to each register is connected to every two registers, thereby reducing the circuit scale. More specifically, although the number of selectors 62 and registers 66 is increased, for example, when decoding a Reed-Solomon code with a minimum distance of 17 as in the present embodiment, 16 multiplication circuits (400 × 16 = 6400 gates) are omitted. The number of registers 66 can be increased by 8 (8 × 56 = 448 gates) and 16 selectors 62 (24 × 16 = 384 gates)
The circuit scale of about 5500 gates can be reduced.

【0116】次に、第3実施例である誤り訂正装置の動
作を説明する。本実施例では第1実施例と同様に図33に
示す最小距離17の記録方向のC1符号を復号する場合に
ついて説明する。なお、第3実施例におけるシンドロー
ム生成回路2,チェンサーチ回路21及び誤り訂正回路22
の動作は第1実施例と同様であるのでその説明は省略
し、本実施例の特徴部分であるユークリッド演算回路20
の動作についてのみ図5を用いて詳述する。
Next, the operation of the error correction device according to the third embodiment will be described. In the present embodiment, the case of decoding the C1 code in the recording direction at the minimum distance 17 shown in FIG. 33 as in the first embodiment will be described. In the third embodiment, the syndrome generation circuit 2, the Chien search circuit 21, and the error correction circuit 22
The operation of this embodiment is the same as that of the first embodiment, and the description thereof is omitted.
Only the operation of will be described in detail with reference to FIG.

【0117】シンドローム生成終了信号が入力されると
各レジスタ60, 65には初期値がセットされる。具体的に
は図5に示す上側2列のレジスタ群60a, 60bにはZ2t
セットされ、下側2列のレジスタ群65a, 65bにはシンド
ローム生成回路2により算出されたシンドローム多項式
の係数がセットされる。セットされたデータはシステム
スタート信号に基づき被除数側(最初はZ2tのデータが
セットされた上側2列のレジスタ群60)のデータをシフ
トしていくことによりガロア体上の多項式の除算を実行
する。除算は被除数側の多項式の次数が除数側の多項式
の次数より小さくなるまで繰り返す。
When the syndrome generation end signal is input, initial values are set in the registers 60 and 65. Specifically, Z 2t is set in the upper two columns of register groups 60a and 60b shown in FIG. 5, and the coefficients of the syndrome polynomial calculated by the syndrome generation circuit 2 are set in the lower two columns of register groups 65a and 65b. Set. Based on the system start signal, the set data shifts the data on the dividend side (the first two upper rows of registers 60 in which the data of Z 2t is set) to execute the division of the polynomial on the Galois field. . The division is repeated until the degree of the polynomial on the dividend side becomes smaller than the degree of the polynomial on the divisor side.

【0118】除算動作を具体的に示すと次のようにな
る。図5において、被除数側のレジスタ60群に接続され
ているセレクタ61はレジスタ66の出力を選択するように
接続され、除数側のレジスタ65群に接続されているセレ
クタ61はレジスタ65の出力を選択するように構成する。
この結果、除数側のデータはレジスタ65内に維持され、
被除数側のレジスタ60内のデータはシフトされ除算が実
行されることになる。
The division operation is specifically described as follows. In FIG. 5, a selector 61 connected to a group of registers 60 on the dividend side is connected so as to select an output of the register 66, and a selector 61 connected to a group of registers 65 on the divisor side selects the output of the register 65. It is constituted so that.
As a result, the data on the divisor side is maintained in the register 65,
The data in the register 60 on the dividend side is shifted and division is performed.

【0119】この際、本実施例に示すユークリッド演算
回路20の除算回路は図に示すように乗算回路63がレジス
タ2個に1つ配置されているためセレクタ62を逐次切り
換えていくことにより除算を実行する。具体的には、被
除数側の一方のレジスタのデータが除算を行なっている
間、他方のレジスタはデータを保持するようにセレクタ
61を制御する。図6に被除数側の各レジスタ60, 除数側
の各レジスタ65, レジスタ66及び乗算回路63の動作を示
すタイミングチャートを示す。なお、本タイミングチャ
ートはレジスタ60に被除数が、レジスタ65に除数が記憶
されている場合のものである。なお、除数、被除数が入
れ替わっても制御のタイミング(演算順序、またはステ
ップ数)は変わらない。各レジスタ、及びセレクタの制
御は図6に示すタイミングチャートにしたがって実行さ
れる。図に示すように、ガロア体上の除算を実行するに
当たっては4ステップで被除数の次数を2次減らすよう
に構成されている。(従来例では2ステップで被除数の
次数を2次減らすように構成されている。)従って、本
実施例ではユークリッド演算回路20での復号ステップ数
は約240 ステップ程度になる。
At this time, the division circuit of the Euclidean arithmetic circuit 20 shown in the present embodiment performs the division by sequentially switching the selector 62 because one multiplication circuit 63 is arranged in two registers as shown in FIG. Execute. Specifically, while the data of one register on the dividend side is performing division, the other register holds the data so as to hold the data.
Control 61. FIG. 6 is a timing chart showing the operation of each register 60 on the dividend side, each register 65, register 66 on the divisor side, and the operation of the multiplication circuit 63. This timing chart is for the case where the dividend is stored in the register 60 and the divisor is stored in the register 65. Note that even if the divisor and the dividend are exchanged, the control timing (the calculation order or the number of steps) does not change. Control of each register and selector is executed according to the timing chart shown in FIG. As shown in the figure, in performing the division on the Galois field, the order of the dividend is reduced by two in four steps. (In the conventional example, the order of the dividend is reduced by two in two steps.) Therefore, in this embodiment, the number of decoding steps in the Euclidean arithmetic circuit 20 is about 240 steps.

【0120】除算の結果、被除数側のレジスタ群には上
記除算の余りが格納されることになる。次に除数レジス
タ群に格納されている多項式を被除数として、また上記
除算結果の余りを除数として除算を行なう。これは、セ
レクタ群61の制御を切り換えることにより除数、被除数
の切り換えを実行する。この動作を図25に示すユークリ
ッドアルゴリズムの終了条件が満たされるまで繰り返
す。上記、条件が満たされるとユークリッド演算回路20
では誤り位置多項式、及び誤り数値多項式の各係数デー
タを算出する。算出された各係数データは一旦レジスタ
40に格納される。なお、ユークリッド演算回路20は、ユ
ークリッド演算が終了すると誤り訂正装置制御回路41へ
ユークリッド演算終了信号を出力する。
As a result of the division, the remainder of the division is stored in the register group on the dividend side. Next, division is performed using the polynomial stored in the divisor register group as a dividend and the remainder of the division result as a divisor. This switches the divisor and the dividend by switching the control of the selector group 61. This operation is repeated until the end condition of the Euclidean algorithm shown in FIG. 25 is satisfied. When the above conditions are satisfied, the Euclidean arithmetic circuit 20
Calculates the error position polynomial and the coefficient data of the error numerical polynomial. Each calculated coefficient data is temporarily stored in a register.
Stored in 40. Note that the Euclidean operation circuit 20 outputs a Euclidean operation end signal to the error correction device control circuit 41 when the Euclidean operation is completed.

【0121】次に、第3実施例を用いて図33に示す1ラ
インのデータを復号する場合の各回路部の信号処理タイ
ミングを図7に示す。図7において、図2と同一部分に
は同一符号を付している。本実施例では、ユークリッド
アルゴリズムを用いて、図33に示す最小距離17のリード
・ソロモン符号を復号する場合、ユークリッド演算回路
20における演算時間(図7中のEU部)に約240 ステッ
プ程度必要とする。他の部分は第1実施例と同一であ
る。
Next, FIG. 7 shows the signal processing timing of each circuit unit when decoding one line of data shown in FIG. 33 using the third embodiment. 7, the same parts as those in FIG. 2 are denoted by the same reference numerals. In the present embodiment, when decoding the Reed-Solomon code of the minimum distance 17 shown in FIG.
Approximately 240 steps are required for the calculation time at 20 (EU part in FIG. 7). Other parts are the same as in the first embodiment.

【0122】本実施例では、第1実施例と同様に、従来
例に比べて復号速度を上げることができる。また、ユー
クリッド演算回路20の復号ステップ数をシンドローム生
成回路2及び誤り訂正回路22を動作させる際に必要なス
テップ数程度に増加させる(この際、シンドローム生
成、及び誤り訂正に必要となるステップ数とほぼ等しく
なるようにステップ数を決定する)ことにより、誤り訂
正装置の復号時間を遅くすることなく回路規模の削減が
図れる。本実施例では従来例に比べて約5500ゲートの回
路規模の縮小が図れる。よって、誤り訂正装置を並列に
配置することなく回路の高速化を図ることができ、並列
に誤り訂正装置を配置した場合に比べて回路規模の大幅
な縮小が図れる。
In this embodiment, as in the first embodiment, the decoding speed can be increased as compared with the conventional example. In addition, the number of decoding steps of the Euclidean arithmetic circuit 20 is increased to about the number of steps necessary for operating the syndrome generation circuit 2 and the error correction circuit 22 (at this time, the number of steps required for syndrome generation and error correction is reduced). By determining the number of steps so that they are substantially equal), the circuit size can be reduced without delaying the decoding time of the error correction device. In this embodiment, the circuit scale of about 5500 gates can be reduced as compared with the conventional example. Therefore, the speed of the circuit can be increased without arranging the error correction devices in parallel, and the circuit scale can be significantly reduced as compared with the case where the error correction devices are arranged in parallel.

【0123】なお、本実施例ではユークリッド演算回路
20の回路規模を、最大復号ステップ数がほぼチェンーサ
ーチ、またはシンドローム生成とほぼ等しくなるように
決定したが、これに限るものではなく、復号時間に余裕
があればその分を更なる回路規模の削減に用いても良い
ことは言うまでもない。また、RAM1とのデータのア
クセスがないユークリッド演算回路20及びチェンサーチ
回路21を、シンドローム生成回路2と並行動作させるこ
とにより、最小の復号時間で誤り訂正を施すことができ
る点は、第1,第2実施例と同様である。
In this embodiment, the Euclidean arithmetic circuit
The circuit size of 20 was determined so that the maximum number of decoding steps was almost the same as the chain search or syndrome generation, but this is not a limitation.If there is enough decoding time, the circuit size can be further reduced. Needless to say, it may be used for In addition, by operating the Euclidean arithmetic circuit 20 and the Chien search circuit 21 that do not access data with the RAM 1 in parallel with the syndrome generation circuit 2, error correction can be performed with a minimum decoding time. This is the same as the second embodiment.

【0124】第4実施例.次に、第4実施例について説
明する。なお、第4実施例は上記第3実施例である誤り
訂正装置中のユークリッド演算回路20のガロア体上の多
項式の除算を実行する除算回路の変形例に関するもので
ある。図8に第4実施例によるユークリッド演算回路20
の除算回路部分のブロック構成図を示す。なお、本実施
例の基本構成は図37に示すものである。
Fourth Embodiment Next, a fourth embodiment will be described. The fourth embodiment relates to a modification of the division circuit for performing the polynomial division on the Galois field of the Euclidean operation circuit 20 in the error correction device according to the third embodiment. FIG. 8 shows a Euclidean arithmetic circuit 20 according to the fourth embodiment.
FIG. 2 is a block diagram showing a division circuit portion of FIG. The basic configuration of the present embodiment is as shown in FIG.

【0125】図8において、50及び51は図29に示すもの
と同一であるので説明は省略する。70及び71はレジス
タ、72,73及び74はセレクタ、75は乗算回路、76は加算
器、77はレジスタ、78は除算回路である。以上、レジス
タ70, 71、セレクタ72,73, 74、乗算回路75、加算器7
6、レジスタ77、及び除算回路78でユークリッド演算回
路20のガロア体上の多項式の除算回路は構成されてい
る。なお、本実施例では、被除数の最大次数の係数を、
除数の最大次数の係数で除算した結果を各除数の係数に
乗算することにより割り算を実行する。図8に示すユー
クリッド演算回路20の除算回路はセレクタ74で被除数、
及び除数を選択した後、除数側の各係数データに上記除
算回路78の出力を乗算し被除数側の各係数データを加算
することによりガロア体上の多項式の除算を実行する。
In FIG. 8, reference numerals 50 and 51 are the same as those shown in FIG. 70 and 71 are registers, 72, 73 and 74 are selectors, 75 is a multiplication circuit, 76 is an adder, 77 is a register, and 78 is a division circuit. As described above, the registers 70 and 71, the selectors 72, 73 and 74, the multiplication circuit 75, and the adder 7
6, the register 77, and the division circuit 78 constitute a polynomial division circuit on the Galois field of the Euclidean operation circuit 20. In this embodiment, the coefficient of the maximum order of the dividend is
The division is performed by multiplying the result of the division by the coefficient of the maximum order of the divisor by the coefficient of each divisor. The divider circuit of the Euclidean arithmetic circuit 20 shown in FIG.
After selecting the divisor and the divisor, multiplication of the polynomial on the Galois field is performed by multiplying each coefficient data on the divisor side by the output of the above-described division circuit 78 and adding each coefficient data on the dividend side.

【0126】よって、第4実施例では、被除数側に接続
されていた乗算回路をすべて削除するとともに、除数側
のレジスタに接続されている乗算回路をレジスタ2個毎
に1個接続することにより第3実施例と同様に回路規模
の削減を図っている。具体的には第3実施例に比べて、
セレクタ74及び除算回路78が増えているが、最小距離17
のリード・ソロモン符号を復号する場合、乗算回路が7
個(400×7=2800ゲート) が省略でき、増加するセレク
タ74は16個(24×16=384 ゲート)、及び除算回路78が
1個(2000ゲート程度) となり約400 ゲート程度の回路
規模の縮小が図れる。
Therefore, in the fourth embodiment, all the multiplier circuits connected to the dividend side are deleted, and one multiplier circuit connected to the register on the divisor side is connected for every two registers. As with the third embodiment, the circuit scale is reduced. Specifically, compared to the third embodiment,
Although the number of selectors 74 and division circuits 78 are increased, the minimum distance 17
When decoding the Reed-Solomon code of
(400 × 7 = 2800 gates) can be omitted, and the number of selectors 74 to be increased is 16 (24 × 16 = 384 gates) and the division circuit 78 is one (about 2000 gates), and the circuit scale is about 400 gates. Reduction can be achieved.

【0127】次に、本発明の第4実施例である誤り訂正
装置の動作を説明する。本実施例では第1実施例と同様
に図33に示す最小距離17の記録方向のC1符号を復号す
る場合について説明する。なお、第4実施例におけるシ
ンドローム生成回路2,チェンサーチ回路21及び誤り訂
正回路22の動作は第1実施例と同様であるのでその説明
は省略し、本実施例の特徴部分であるユークリッド演算
回路20の動作についてのみ図8を用いて詳述する。
Next, the operation of the error correction device according to the fourth embodiment of the present invention will be described. In the present embodiment, the case of decoding the C1 code in the recording direction at the minimum distance 17 shown in FIG. 33 as in the first embodiment will be described. The operations of the syndrome generation circuit 2, the Chien search circuit 21, and the error correction circuit 22 in the fourth embodiment are the same as those in the first embodiment, and therefore the description thereof will be omitted, and the Euclidean arithmetic circuit which is a feature of this embodiment will be described. Only the operation 20 will be described in detail with reference to FIG.

【0128】シンドローム生成終了信号が入力されると
各レジスタ70, 71には初期値がセットされる。具体的に
は図8に示す上側2列のレジスタ群70a, 70bにはZ2t
セットされ、下側2列のレジスタ群71a, 71bにはシンド
ローム生成回路2により算出されたシンドローム多項式
の係数がセットされる。セットされたデータはシステム
スタート信号に基づき被除数側(最初はZ2tのデータが
セットされた上側2列のレジスタ群70)のデータをシフ
トしていくことによりガロア体上の多項式の除算を実行
する。除算は被除数側の多項式の次数が除数側の多項式
の次数より小さくなるまで繰り返す。
When the syndrome generation end signal is input, the initial values are set in the registers 70 and 71. Specifically, Z 2t is set in the register groups 70a and 70b in the upper two columns shown in FIG. 8, and the coefficients of the syndrome polynomial calculated by the syndrome generation circuit 2 are set in the register groups 71a and 71b in the lower two columns. Set. Set data is dividend side based on the system start signal (first Z register group 70 of the upper two rows of data is a set of 2t) performing polynomial division over a Galois field by shifts the data of the . The division is repeated until the degree of the polynomial on the dividend side becomes smaller than the degree of the polynomial on the divisor side.

【0129】除算動作を具体的に示すと次のようにな
る。図8において、被除数側のレジスタ70群に接続され
ているセレクタ72a はレジスタ77の出力を選択するよう
に接続され、除数側のレジスタ71群に接続されているセ
レクタ72b はレジスタ71の出力を選択するように構成す
る。この結果、除数側のデータはレジスタ71内に維持さ
れ、被除数側のレジスタ70内のデータは逐次シフトされ
除算が実行されることになる。
The division operation is specifically described as follows. In FIG. 8, the selector 72a connected to the group of registers 70 on the dividend side is connected to select the output of the register 77, and the selector 72b connected to the group of registers 71 on the divisor side selects the output of the register 71. It is constituted so that. As a result, the data on the divisor side is maintained in the register 71, the data in the register 70 on the dividend side is sequentially shifted, and the division is executed.

【0130】この際、本実施例に示すユークリッド演算
回路20の除算回路は、除数の各係数に除算回路78の出力
データを乗算するが、図に示すように乗算回路75はレジ
スタ2個に1つ配置されているためセレクタ73を逐次切
り換えていくことにより除算を実行する。具体的には、
被除数側の一方のレジスタのデータが除算を行なってい
る間、他方のレジスタはデータを保持するようにセレク
タ72を制御する。回路全体の制御は第3実施例と同様に
なされる(図6参照)。なお、本タイミングチャートは
レジスタ70に被除数が、レジスタ71に除数が記憶されて
いる場合のものである。
At this time, the division circuit of the Euclidean arithmetic circuit 20 shown in this embodiment multiplies each coefficient of the divisor by the output data of the division circuit 78. As shown in the figure, the multiplication circuit 75 has one register for every two registers. The division is performed by sequentially switching the selectors 73 since the two are arranged. In particular,
While the data of one register on the dividend side is performing division, the other register controls the selector 72 so as to hold the data. The control of the entire circuit is performed in the same manner as in the third embodiment (see FIG. 6). This timing chart is for the case where the dividend is stored in the register 70 and the divisor is stored in the register 71.

【0131】なお、第4実施例では誤り訂正装置の復号
時間を遅くすることなく回路規模の削減が図れるなど、
本実施例における他の動作,効果などは、前述の第3実
施例と同じであるので、その説明は省略する。
In the fourth embodiment, the circuit scale can be reduced without delaying the decoding time of the error correction device.
Other operations, effects, and the like in this embodiment are the same as those in the third embodiment described above, and a description thereof will be omitted.

【0132】なお、第3実施例(第4実施例)ではレジ
スタ60, 65(70,71)内のデータを保持するためにレジ
スタ60, 65(70,71)の全段にセレクタ61(72)を設け
たがこれに限るものではなく、例えばデータを保持する
レジスタ60, 65(70,71)に入力されるクロックを止め
るなどの処理を施しても同様の効果を奏する。また、入
力端子50の出力に接続されている1段目の乗算回路63
(75)及びレジスタ66(77)は入力端子50より入力され
るデータが0であるので省略することができることはい
うまでもない。また、ユークリッド演算回路20のガロア
体上の多項式の復号ステップ数を2倍にした場合の回路
構成について述べたがこれに限るものではなく、シンド
ローム生成回路2及び誤り訂正回路22を動作させる際に
必要なステップ数とほぼ等しくなるような復号ステップ
数であれば3倍または4倍等のステップ数で復号できる
回路を用いてもよい。更に、ユークリッド演算回路20の
復号ステップ数をシンドローム生成回路2、及び誤り訂
正回路22を動作させる際に必要なステップ数とほぼ等し
くなるように設定したが、復号時間に余裕があればこれ
に限るものではなくもっと復号ステップ数を増やしても
同様の効果を奏する。
In the third embodiment (fourth embodiment), selectors 61 (72) are provided in all stages of registers 60, 65 (70, 71) in order to hold the data in registers 60, 65 (70, 71). ) Is provided, but the present invention is not limited to this. For example, the same effect can be obtained by performing processing such as stopping the clock input to the registers 60, 65 (70, 71) for holding data. Further, a first-stage multiplication circuit 63 connected to the output of the input terminal 50
It is needless to say that (75) and the register 66 (77) can be omitted because the data input from the input terminal 50 is 0. In addition, the circuit configuration in the case where the number of decoding steps of the polynomial on the Galois field of the Euclidean arithmetic circuit 20 is doubled has been described. However, the present invention is not limited to this, and when operating the syndrome generation circuit 2 and the error correction circuit 22, As long as the number of decoding steps is substantially equal to the required number of steps, a circuit capable of decoding with three or four times the number of steps may be used. Further, the number of decoding steps of the Euclidean arithmetic circuit 20 is set to be substantially equal to the number of steps required for operating the syndrome generation circuit 2 and the error correction circuit 22. However, the number of decoding steps is limited to this if there is enough decoding time. The same effect can be obtained even if the number of decoding steps is increased more than the above.

【0133】次に、上述の各実施例に共通である誤り訂
正回路22の回路動作について、図9及び図10を用いて説
明する。誤り訂正回路22では、上述のようにチェンサー
チ回路21より出力される誤り位置情報と、ユークリッド
演算回路20で算出された誤り数値多項式とをもとにRA
M1内の誤り位置が算出されたデータに誤り訂正を施
す。図9に示すタイミングチャートをもとに誤り訂正回
路22の回路動作を説明する。チェンサーチ回路21より出
力された誤り位置情報に基づき誤り訂正装置制御回路41
はRAM1内の誤り位置の算出されたデータを読み出す
ための読みだしアドレス及び制御信号を出力する。この
際、RAM1内の誤ったデータは図9に示すように逐次
8個連続して読み出される。
Next, the circuit operation of the error correction circuit 22, which is common to the above embodiments, will be described with reference to FIGS. The error correction circuit 22 calculates RA based on the error position information output from the Chien search circuit 21 and the error numerical polynomial calculated by the Euclidean arithmetic circuit 20 as described above.
Error correction is performed on the data in which the error position in M1 is calculated. The circuit operation of the error correction circuit 22 will be described based on the timing chart shown in FIG. Error correction device control circuit 41 based on error position information output from Chien search circuit 21
Outputs a read address and a control signal for reading the data at the error position calculated in the RAM 1. At this time, erroneous data in the RAM 1 is sequentially read out eight times as shown in FIG.

【0134】RAM1より連続して読み出された誤った
データは、誤り訂正回路22で計算された誤り数値と図9
に示す誤り訂正タイミングで逐次加算される。誤り訂正
が施されたデータは、RAM1からの誤り位置に算出さ
れたすべてのデータの読み出しが終了すると同時に誤っ
たデータが記憶されているアドレスへ逐次書き込まれ
る。8誤り訂正の場合、誤り訂正回路22の回路動作のス
テップ数は16となり従来最低24ステップ必要であったの
に対し8クロック分高速化が可能となる。
The erroneous data continuously read from the RAM 1 is obtained by combining the error value calculated by the error correction circuit 22 with the error data shown in FIG.
Are sequentially added at the error correction timing shown in FIG. The error-corrected data is sequentially written to the address where the erroneous data is stored at the same time when reading of all data calculated from the RAM 1 at the error position is completed. In the case of eight error corrections, the number of steps of the circuit operation of the error correction circuit 22 is 16, and the operation can be speeded up by eight clocks, which is conventionally required at least 24 steps.

【0135】同様に図10のタイミングチャートを用いて
誤り訂正回路22の他の動作を説明する。この例では、チ
ェンサーチ回路21より出力された誤り位置情報に基づき
誤り訂正装置制御回路41はRAM1内の誤り位置の算出
されたデータを読み出すための読みだしアドレス、及び
制御信号を出力する。この際、RAM1内の誤ったデー
タは図10に示すように2つ連続して読み出される。
Similarly, another operation of the error correction circuit 22 will be described with reference to the timing chart of FIG. In this example, based on the error position information output from the Chien search circuit 21, the error correction device control circuit 41 outputs a read address and a control signal for reading data in the RAM 1 in which the error position is calculated. At this time, two erroneous data in the RAM 1 are continuously read as shown in FIG.

【0136】RAM1より2つ連続して読み出された誤
ったデータは、誤り訂正回路22で計算された誤り数値と
図10に示す誤り訂正タイミングで逐次加算される。誤り
訂正が施されたデータは、図10に示すタイミングで2つ
連続して誤り位置が算出されたデータが記憶されている
アドレスへ書き込まれる。以下、この動作を誤りを訂正
するデータの数だけ繰り返して誤り訂正を行う。図10に
示すような8誤り訂正の場合、誤り訂正回路22の回路動
作のステップ数は16となり従来最低24ステップ必要であ
ったのに対し8クロック分高速化が可能となる。
The erroneous data two consecutively read from the RAM 1 are sequentially added to the error value calculated by the error correction circuit 22 at the error correction timing shown in FIG. The error-corrected data is written to the address where the data for which the error position has been calculated two consecutive times is stored at the timing shown in FIG. Hereinafter, error correction is performed by repeating this operation for the number of data for which errors are to be corrected. In the case of eight error corrections as shown in FIG. 10, the number of steps of the circuit operation of the error correction circuit 22 is 16, and the speed can be increased by eight clocks as compared with the conventional case requiring at least 24 steps.

【0137】一般に誤り訂正装置の高速化を実現する
際、上記実施例でも述べたようにRAM1とのデータの
アクセス時間がいちばんネックとなる。これは、他の部
分は上記実施例に示すように各々の回路動作を並行化す
ることにより復号時間の短縮が図れるが、RAM1との
データのアクセスは並行処理が出来ないため、高速化を
実現する際RAM1とのアクセスがあるシンドローム生
成回路2及び誤り訂正回路22の計算ステップ数を如何に
減らすかがキーワードとなってくる。本実施例に示す誤
り訂正回路22を採用した場合、図33に示す最小距離17の
C1符号を誤り訂正する最低際に必要なステップ数は(2
41+16) ステップ程度となる。なお、本実施例では8シ
ンボルの誤りを訂正する際の動作について説明したがこ
れに限るものではない。また、RAM1より誤ったデー
タを、すべてまたは2つ連続して読み出したがこれに限
るものではなく、RAM1より誤ったデータ3つを連続
して読み出した後に誤り訂正が施されたデータをRAM
1へ書き込む等、連続して読み出すデータの数が2以上
であれば同様の効果を奏することはいうまでもない。
In general, when speeding up the error correction apparatus, the data access time to the RAM 1 becomes the most bottleneck as described in the above embodiment. This is because the decoding time can be shortened by parallelizing the operation of each circuit in the other parts as shown in the above embodiment, but the data access to the RAM 1 cannot be performed in parallel, so that the speeding up is realized. At this time, the keyword is how to reduce the number of calculation steps of the syndrome generation circuit 2 and the error correction circuit 22 that have access to the RAM 1. When the error correction circuit 22 shown in this embodiment is employed, the minimum number of steps required to correct the error of the C1 code having the minimum distance 17 shown in FIG.
41 + 16) It is about steps. In the present embodiment, the operation for correcting an error of eight symbols has been described, but the present invention is not limited to this. Further, all or two of the erroneous data are continuously read from the RAM 1, but the present invention is not limited to this.
Needless to say, the same effect can be obtained if the number of data to be continuously read, such as writing to 1, is two or more.

【0138】なお、上記第1〜第4実施例では、シンド
ローム生成回路2で求められたシンドロームより誤り位
置多項式及び誤り数値多項式を求める方法としてユーク
リッドアルゴリズムを用いた場合について説明したがこ
れに限るものではなく、バーレカンプアルゴリズムのよ
うな他の方法により誤り位置多項式、及び誤り数値多項
式を求めても、シンドローム生成回路2,ユークリッド
演算回路20及びチェンサーチ回路21を並行動作させるこ
とにより高速に誤り訂正符号を復号できることはいうま
でもない。
In the first to fourth embodiments, the case where the Euclidean algorithm is used as a method for obtaining an error position polynomial and an error numerical polynomial from the syndrome obtained by the syndrome generation circuit 2 has been described. Instead, even if the error locator polynomial and the error numerical polynomial are obtained by another method such as the Berlekamp algorithm, the error correction can be performed at high speed by operating the syndrome generation circuit 2, the Euclidean operation circuit 20 and the Chien search circuit 21 in parallel. It goes without saying that the code can be decoded.

【0139】また、誤り訂正符号としてリード・ソロモ
ン符号を用いたがこれに限るものではなく、BCH符号
などの他の線形誤り訂正符号を復号する誤り訂正装置に
用いてもよい。
Although the Reed-Solomon code is used as the error correction code, the present invention is not limited to this, and may be used in an error correction device that decodes another linear error correction code such as a BCH code.

【0140】また、図33に示すC1符号の復号について
説明したがこれに限るものではなくC2符号の復号にも
同様の回路構成で復号すれば同様の効果を奏することは
いうまでもない。誤り訂正符号の構成は図32及び図33に
示すものに限るものではなく、また2重以上の積符号形
式の誤り訂正符号を復号する場合も同様の効果を奏す
る。また、積符号形式の誤り訂正符号としてリード・ソ
ロモン符号とBCH符号とを組み合わせた符号などでも
上記構成で復号回路の高速化が図れる。
Although the decoding of the C1 code shown in FIG. 33 has been described, the present invention is not limited to this, and it goes without saying that the same effect can be obtained by decoding the C2 code with a similar circuit configuration. The configuration of the error correction code is not limited to those shown in FIGS. 32 and 33, and the same effect can be obtained when decoding an error correction code of a double or more product code format. Further, even with a code combining Reed-Solomon code and BCH code as an error correction code of the product code format, the speed of the decoding circuit can be increased by the above configuration.

【0141】また、シンドローム生成回路2,ユークリ
ッド演算回路20及びチェンサーチ回路21の3つの回路を
システムスタート信号に基づき同時に動作させるように
制御したが、並行動作を行うタイミングはこれに限るも
のではなく、例えばシンドローム生成後すぐにユークリ
ッド演算回路20の初期値をセットしユークリッド演算回
路20を動作させてもよい。また、チェンサーチ回路21を
ユークリッド演算終了後すぐに動作させてもよい。シン
ドローム生成回路2より出力されるシンドロームデータ
の出力タイミング、ユークリッド演算回路20での初期値
セットタイミング、レジスタ41への誤り位置多項式及び
誤り数値多項式の係数データの出力タイミング、チェン
サーチ回路21の初期値セットタイミング、誤り訂正回路
22での制御タイミングは前述したタイミングに限るもの
ではなく、シンドローム生成回路2,ユークリッド演算
回路20及びチェンサーチ回路21の3つの回路を並行動作
させることにより同様の効果を奏する。
In addition, although the three circuits of the syndrome generation circuit 2, the Euclidean operation circuit 20 and the Chien search circuit 21 are controlled to operate simultaneously based on the system start signal, the timing for performing the parallel operation is not limited to this. For example, the initial value of the Euclidean arithmetic circuit 20 may be set immediately after the syndrome is generated, and the Euclidean arithmetic circuit 20 may be operated. Alternatively, the Chien search circuit 21 may be operated immediately after the Euclidean operation is completed. The output timing of the syndrome data output from the syndrome generation circuit 2, the initial value set timing in the Euclidean arithmetic circuit 20, the output timing of the coefficient data of the error position polynomial and the error numerical polynomial to the register 41, and the initial value of the Chien search circuit 21 Set timing, error correction circuit
The control timing at 22 is not limited to the timing described above, and the same effect can be obtained by operating the three circuits of the syndrome generation circuit 2, the Euclidean operation circuit 20, and the Chien search circuit 21 in parallel.

【0142】また、シンドローム生成回路2,ユークリ
ッド演算回路20のガロア体上の除算回路及びチェンサー
チ回路21の回路構成を図27,図29及び図30に示したがこ
れに限るものではなく、例えば演算回路部分をマイコン
等の演算処理回路等で、または大容量のROM等で構成
してもよい。
The circuit configurations of the syndrome generation circuit 2, the division circuit on the Galois field of the Euclidean arithmetic circuit 20, and the Chien search circuit 21 are shown in FIGS. 27, 29 and 30, but are not limited thereto. The arithmetic circuit portion may be configured with an arithmetic processing circuit such as a microcomputer or a large-capacity ROM.

【0143】また、シンドローム生成回路2,ユークリ
ッド演算回路20及びチェンサーチ回路21の3つの回路を
並行動作させたがこれに限るものではなく、例えばこれ
らの3つの回路以外に誤り訂正回路22を含むて4つの回
路を並行動作させても同様の効果を奏する。
The three circuits of the syndrome generation circuit 2, the Euclidean operation circuit 20 and the Chien search circuit 21 are operated in parallel. However, the present invention is not limited to this. For example, an error correction circuit 22 is included in addition to these three circuits. The same effect can be obtained by operating the four circuits in parallel.

【0144】また、誤り訂正回路22の回路動作はこれに
限るものではなく、例えば、復号時間に余裕があれば従
来例に示すようにチェンサーチ回路21で検出された誤り
位置に基づく誤ったデータをRAM1より読みだし誤り
訂正を行い、再びRAM1へ書き込むといった動作を繰
り返してもよい。
The circuit operation of the error correction circuit 22 is not limited to this. For example, if there is a margin in the decoding time, erroneous data based on the error position detected by the Chien search circuit 21 as shown in the conventional example. May be read out from the RAM 1, error correction is performed, and writing to the RAM 1 is repeated.

【0145】また、ユークリッド演算回路20の出力を一
旦レジスタ40に蓄えたが誤り位置多項式、誤り数値多項
式の係数を蓄えるレジスタは必ずしも必要がなく、制御
方法によっては省略してもよい。
Although the output of the Euclidean arithmetic circuit 20 is temporarily stored in the register 40, the register for storing the coefficients of the error locator polynomial and the error numerical polynomial is not necessarily required, and may be omitted depending on the control method.

【0146】また、シンドローム生成回路2,ユークリ
ッド演算回路20及びチェンサーチ回路21の回路動作の開
始を同時に行っていたがこれに限るものではなく、開始
タイミングは上記3つの回路がバラバラであっても同様
の効果を奏する。
The circuit operations of the syndrome generation circuit 2, the Euclidean operation circuit 20 and the Chien search circuit 21 have been started simultaneously. However, the present invention is not limited to this, and the start timing may be different even if the above three circuits are different. A similar effect is achieved.

【0147】次に、ガロア体上で定義される多項式同士
の除算回路部の構成に特徴がある本発明の他の実施例
(第5〜第9実施例)について説明する。
Next, other embodiments (fifth to ninth embodiments) of the present invention, which are characterized by the configuration of the division circuit between polynomials defined on the Galois field, will be described.

【0148】第5実施例.図11に本発明の第5実施例で
ある誤り訂正装置のガロア体上で定義される多項式同士
の除算回路部のブロック構成図を示す。図において81a,
81b, 85〜88及び95は図37に示すものと同一であるので
説明は省略する。100 はレジスタ81a の出力を被除数と
して、またレジスタ81b の出力を除数として除算を行う
除算回路、101 はユークリッド演算の除算回路部の制御
を行うユークリッド演算制御回路である。
Fifth embodiment. FIG. 11 is a block diagram of a division circuit for dividing polynomials defined on a Galois field of an error correction apparatus according to a fifth embodiment of the present invention. In the figure, 81a,
81b, 85 to 88 and 95 are the same as those shown in FIG. Reference numeral 100 denotes a division circuit that performs division by using the output of the register 81a as a dividend and the output of the register 81b as a divisor, and 101 denotes a Euclidean operation control circuit that controls a division circuit unit of the Euclidean operation.

【0149】次に、図11に示す回路構成で除算を実行す
る際の除算回路の動作原理を簡単に説明する。いま、被
除多項式、及び除多項式を従来例と同様にそれぞれ 被除多項式:M1(Z)=An n +An-1 n-1 +・
・・A1 Z +A0 除多項式:M2(Z)=Bm m +Bm-1 m-1 +・・
・B1 Z +B0 とする。なお、n>mとする。以下、筆算により上記除
算を行った場合の計算手順を数4に示す。なお、本実施
例では初期値として、被除多項式の各係数データがレジ
スタ81a に、また除多項式の各係数データがレジスタ81
b に記憶されているものとする。数4に示すようにまず
始めは除多項式の各係数データに除算回路100 より出力
される除算結果を掛け合わせることにより除多項式の最
大次数の係数データを被除多項式の最大次数の係数デー
タと同一にして除算(被除多項式の次数を1次減らす動
作)を行う。この除算を従来例と同様に被除多項式の剰
余の次数が除多項式の次数よりも小さくなるまで繰り返
す。なお、数4では最終の剰余多項式の各係数データを
i (i=0, 1, 2, ・・・・, m−1)で表わす。
Next, the principle of operation of the division circuit when performing division with the circuit configuration shown in FIG. 11 will be briefly described. Now, the dividend polynomial, respectively as in the example the dividend polynomial, and a divisor polynomial conventional: M1 (Z) = A n Z n + A n-1 Z n-1 + ·
·· A 1 Z + A 0 dividend polynomial: M2 (Z) = B m Z m + B m-1 Z m-1 + ··
・ Set to B 1 Z + B 0 . Note that n> m. Hereinafter, the calculation procedure when the above division is performed by handwriting is shown in Equation 4. In this embodiment, as initial values, each coefficient data of the polynomial to be removed is stored in the register 81a, and each coefficient data of the polynomial is stored in the register 81a.
It shall be stored in b. First, as shown in Equation 4, the coefficient data of the maximum degree of the divisor polynomial is the same as the coefficient data of the maximum degree of the polynomial to be divided by multiplying each coefficient data of the divisor polynomial by the division result output from the division circuit 100. (The operation of reducing the order of the polynomial to be reduced by one order). This division is repeated until the degree of the remainder of the dividend polynomial becomes smaller than the degree of the division polynomial, as in the conventional example. In Equation 4, each coefficient data of the final remainder polynomial is represented by C i (i = 0, 1, 2,..., M−1).

【0150】[0150]

【数4】 (Equation 4)

【0151】図25に示すユークリッドアルゴリズムに従
うと上記剰余多項式 剰余多項式:R(Z)=Cm-1 m-1 +Cm-2 m-2
・・・+C1 Z+C0 の次数が予め定められた条件を満たしていない場合は上
記除多項式M2(Z)を被除多項式として、また上記剰
余多項式R(Z)を除多項式として除算を繰り返す。
According to the Euclidean algorithm shown in FIG. 25, the above-mentioned remainder polynomial: R (Z) = C m−1 Z m−1 + C m−2 Z m−2 +
... If the degree of + C 1 Z + C 0 does not satisfy the predetermined condition, the division is repeated with the divisor polynomial M2 (Z) as the polynomial to be divided and the remainder polynomial R (Z) as the divisor polynomial.

【0152】数5にM2(Z)をR(Z)で除算した場
合の計算手順を示す。なお、本筆算では便宜上、上記剰
余多項式R(Z)の最大次数Cm-1 は0でないものとす
る。一般に、0であった場合は従来例と同様に図11に示
す次数検出回路87,88で上記被除多項式及び除多項式の
次数を判定して被除多項式の最大次数が0でなくなるま
で被除多項式の係数データをシフトして除算を実行す
る。また、除算演算中の剰余多項式の最大次数が0にな
った場合も同様に剰余多項式の最大次数が0でなくなる
まで剰余多項式の係数データをシフトして除算を行う。
Equation 5 shows a calculation procedure when M2 (Z) is divided by R (Z). In this calculation, for convenience, it is assumed that the maximum degree C m-1 of the remainder polynomial R (Z) is not zero. In general, when it is 0, the order polynomials and divisor polynomials are determined by the order detection circuits 87 and 88 shown in FIG. Performs division by shifting coefficient data of a polynomial. Also, when the maximum degree of the remainder polynomial during the division operation becomes zero, the division is performed by shifting the coefficient data of the remainder polynomial until the maximum degree of the remainder polynomial no longer becomes zero.

【0153】[0153]

【数5】 (Equation 5)

【0154】なお、これらの制御はユークリッド演算制
御回路101 で行う。図11に示す本実施例では、従来例で
示したような被除多項式の係数データと除多項式の係数
データとを交換するためのセレクタが配置されていな
い。従って、除算を実行する際は、数5に示すように被
除多項式の各係数データに除算回路100 より出力される
乗数を掛け合わせることにより被除多項式の最大次数の
係数データを除多項式の最大次数の係数データと同一に
して除算(被除多項式の次数を1次減らす動作)を行
う。この除算を従来例と同様に被除多項式の剰余の次数
が除多項式の次数よりも小さくなるまで繰り返す。その
結果、剰余多項式(R”(Z)とする)の各係数データ
をEi (i=0, 1, 2, ・・・, m−2)で表わす。
Note that these controls are performed by the Euclidean arithmetic control circuit 101. In the present embodiment shown in FIG. 11, a selector for exchanging coefficient data of a polynomial to be removed and coefficient data of a divisor polynomial as shown in the conventional example is not provided. Therefore, when performing the division, the coefficient data of the maximum degree of the polynomial to be divided is multiplied by the coefficient data of the polynomial to be divided to the maximum value of the polynomial by multiplying each coefficient data of the polynomial by the multiplier as shown in Expression 5. Division (operation of reducing the order of the polynomial to be reduced by one) is performed in the same manner as the coefficient data of the order. This division is repeated until the degree of the remainder of the dividend polynomial becomes smaller than the degree of the division polynomial, as in the conventional example. As a result, each coefficient data of the remainder polynomial (referred to as R ″ (Z)) is represented by E i (i = 0, 1, 2,..., M−2).

【0155】そして、剰余多項式R”(Z)(R”
(Z)=Em-2 m-2 +Em-3 m-3 +・・・+E1
+E0 )の次数が図25に示した条件を満たしていない場
合上記R(Z)を被除多項式として、R”(Z)を除多
項式として除算を繰り返す。数6に筆算手順を示す。な
お、この場合も説明を簡単にするため剰余多項式の最大
次数の係数であるEm-2 は0でないものとする。先ほど
述べたように被除多項式と除多項式の係数データの交換
を行うためのセレクタが配置されていない。
Then, the remainder polynomial R ″ (Z) (R ″
(Z) = E m-2 Z m-2 + E m-3 Z m-3 + ··· + E 1 Z
When the order of + E 0 ) does not satisfy the condition shown in FIG. 25, the division is repeated with the above R (Z) as the polynomial to be divided and R ″ (Z) as the polynomial. The writing procedure is shown in Equation 6. In this case, too, for the sake of simplicity, it is assumed that the coefficient of the maximum degree of the remainder polynomial, E m−2, is not 0. As described above, it is necessary to exchange the coefficient data of the subject polynomial and the division polynomial. No selector is placed.

【0156】[0156]

【数6】 (Equation 6)

【0157】従って、数4と同様に除算を実行する際
は、除多項式の各係数データに除算回路100 より出力さ
れる乗数を掛け合わせることにより除多項式の最大次数
の係数データを被除多項式の最大次数の係数データと同
一にして除算(被除多項式の次数を1次減らす動作)を
行う。
Therefore, when performing division in the same manner as in Equation 4, the coefficient data of the maximum order of the divisor polynomial is multiplied by the coefficient data of the divisor polynomial by multiplying each coefficient data of the divisor polynomial by the multiplier output from the division circuit 100. The division (operation of reducing the order of the polynomial to be divided by 1) is performed in the same manner as the coefficient data of the maximum order.

【0158】この除算を従来例と同様に被除多項式の剰
余の次数が除多項式の次数よりも小さくなるまで繰り返
す。その結果、剰余多項式(R■■■(Z)とする)の
各係数データをFi (i=0,1,2,・・・,m−
3)で表わす。そして、この動作をユークリッドアルゴ
リズムの終了条件を満たすまで実行する。なお、この動
作の繰り返しで誤り数値多項式ω(Z)と誤り位置多項
式σ(Z)とが算出される理由は、誤り位置または誤り
数値を算出する際、上記多項式を各々の多項式の最大次
数で正規化するためである。(詳しくは前述した「符号
理論」,pp.169〜175 を参照)
This division is repeated until the degree of the remainder of the dividend polynomial becomes smaller than the degree of the divisor polynomial as in the conventional example. As a result, each coefficient data of the remainder polynomial (R ■■■ (Z)) is replaced by F i (i = 0, 1, 2,..., M−
Expressed in 3). Then, this operation is executed until the end condition of the Euclidean algorithm is satisfied. The reason why the error numerical value polynomial ω (Z) and the error position polynomial σ (Z) are calculated by repeating this operation is that when calculating the error position or the error numerical value, the above polynomial is expressed by the maximum degree of each polynomial. This is for normalization. (For details, see “Coding Theory”, pp.169-175)

【0159】以下、図25に示すユークリッドアルゴリズ
ムに従い、リード・ソロモン符号を復号する誤り訂正装
置のユークリッド演算の除算回路部の動作を図11を用い
て説明する。本実施例では、従来例と同様に光ディスク
等に採用されている最小ハミング距離が17のリード・ソ
ロモン符号を復号する場合について説明する。いま、再
生信号より生成したシンドローム多項式S(Z)を S(Z)=S1515+S1414+S1313+・・・+S
1 Z+S0 とする。
The operation of the Euclidean operation division circuit of the error correction device for decoding a Reed-Solomon code according to the Euclidean algorithm shown in FIG. 25 will be described below with reference to FIG. In this embodiment, a case will be described in which a Reed-Solomon code having a minimum Hamming distance of 17 employed in an optical disc or the like is decoded in the same manner as in the conventional example. Now, the syndrome polynomial S generated from the reproduction signal (Z) S (Z) = S 15 Z 15 + S 14 Z 14 + S 13 Z 13 + ··· + S
And 1 Z + S 0.

【0160】ユークリッド演算が開始されるとまず始
め、ユークリッド演算制御回路101 より出力されるユー
クリッド演算開始信号をもとにレジスタ81a に初期値で
ある被除多項式Z2tの係数が記憶されるとともに、レジ
スタ81b に除多項式であるシンドローム多項式S(Z)
の各係数データが記憶される。また、次数検出回路87,8
8のカウンタにはそれぞれ次数の初期値である16と15と
がセットされる。次数検出回路87, 88内のカウンタは被
除多項式の係数データを記憶しているレジスタ81が1
回シフトされるたびにカウント値が1つ下がるように構
成されている。なお、本実施例では従来例と同様に右側
に配置されているレジスタに高次の次数の係数データが
記憶される。
First, when the Euclidean operation is started, based on the Euclidean operation start signal output from the Euclidean operation control circuit 101, the coefficient of the polynomial Z 2t to be initialized is stored in the register 81a. Register 81b has a syndrome polynomial S (Z) which is a divisor polynomial.
Are stored. In addition, the order detection circuits 87 and 8
The counters of 8 are set with the initial values of the orders 16 and 15, respectively. The counters in the order detection circuits 87 and 88 store 1 in the register 81 which stores the coefficient data of the polynomial to be removed.
Each time the shift is performed, the count value is decreased by one. In this embodiment, similarly to the conventional example, higher-order coefficient data is stored in the register arranged on the right side.

【0161】それと同時に、除多項式であるシンドロー
ム多項式は次数検出回路88で最高次数の係数データが
0であるか判定する。ユークリッド演算制御回路101 で
は、次数検出回路88で検出された除多項式(シンドロー
ム多項式)の最大次数の係数が0の場合、除多項式の係
数データが記憶されているレジスタ81b の内容をシフト
し(なお、この際加算回路86での加算動作を行わずレジ
スタ81b の内容をそのままシフトする構成に成ってい
る。)最大次数のデータが0でなくなるまでシフト動作
を繰り返す。その際、次数検出回路88中のカウンタはカ
ウント値をシフト動作が行われるたびに1づつ減らされ
る。
At the same time, for the syndrome polynomial, which is a divisor polynomial, the order detection circuit 88 determines whether the coefficient data of the highest order is zero. When the coefficient of the maximum degree of the divisor polynomial (syndrome polynomial) detected by the degree detector 88 is 0, the Euclidean arithmetic control circuit 101 shifts the contents of the register 81b storing the coefficient data of the divisor polynomial (note that In this case, the contents of the register 81b are shifted as they are without performing the adding operation in the adding circuit 86.) The shifting operation is repeated until the data of the maximum order is no longer 0. At this time, the counter in the order detection circuit 88 is decremented by one every time the shift operation is performed.

【0162】また、被除多項式の係数データが記憶され
ているレジスタ81a はクロックが入力されると加算回路
86の出力がラッチされるように構成されており、除多項
式の係数データが記憶されているレジスタ81b は係数デ
ータが保持されるように構成されている。(図11には、
具体的な制御回路は省略したが、レジスタ81a, 81bに入
力されるクロック(クロック1及びクロック2)を除数
側の係数データが記憶されているレジスタについては供
給しないという方法で除多項式の係数データをレジスタ
内に保持する構成を取っている。)なお、図中に記した
各演算回路(除算回路100,乗算回路85及び加算回路86)
はガロア体上で定義された各演算を行うものとする。
The register 81a storing the coefficient data of the polynomial to be removed is added to an adder circuit when a clock is input.
The output of the register 86 is latched, and the register 81b storing the coefficient data of the divisor polynomial is configured to hold the coefficient data. (In Figure 11,
Although the specific control circuit is omitted, the clocks (clock 1 and clock 2) input to the registers 81a and 81b are not supplied to the registers storing the divisor-side coefficient data, so that the coefficient data of the divisor polynomial is not supplied. Is held in a register. Note that each operation circuit (division circuit 100, multiplication circuit 85, and addition circuit 86) shown in the figure
Performs each operation defined on the Galois field.

【0163】以下、図12, 13を用いて本実施例のユーク
リッド演算回路中の除算回路の回路動作を説明する。図
12(a) にレジスタ81a に被除多項式として初期値である
16がセットされ、81b に除多項式としてシンドローム
多項式S(Z)がセットされた状態を示す。なお、レジ
スタ中に記した数字、及び記号はレジスタに格納されて
いる係数データを示すものとする。本実施例では説明を
簡単にするためシンドローム多項式の最高次の係数は0
でないものとする。また、レジスタに記憶される各多項
式の高次の次数の係数データは右端に配置されるものと
する。除算回路100 はレジスタ81a の出力を被除数、レ
ジスタ81b の出力を除数として除算しその結果を出力す
る。このとき、被除数側の係数データが記憶されている
レジスタ81a 側にクロック1が供給される。
The circuit operation of the division circuit in the Euclidean operation circuit of this embodiment will be described below with reference to FIGS. Figure
12 (a) shows a state in which an initial value Z 16 is set as a polynomial to be removed in a register 81a, and a syndrome polynomial S (Z) is set as a polynomial in 81b. Note that the numbers and symbols described in the registers indicate coefficient data stored in the registers. In this embodiment, for the sake of simplicity, the highest order coefficient of the syndrome polynomial is 0.
Not. Also, the coefficient data of the higher order of each polynomial stored in the register is arranged at the right end. The division circuit 100 divides the output of the register 81a as a dividend and the output of the register 81b as a divisor, and outputs the result. At this time, the clock 1 is supplied to the register 81a in which the coefficient data of the dividend is stored.

【0164】図12, 13に示す除算回路は図38, 39で説明
した除算回路と同一の構成をとっており、被除多項式の
剰余の次数が、除多項式の次数より小さくなるところま
でシフト動作を繰り返すことにより除算を実行する。除
算の終了判定は次数検出回路87, 88より出力される次数
情報をもとにユークリッド演算制御回路101 で判定を行
う。なお、除算演算実行中に剰余多項式の最大次数が次
数検出回路87(または88)により0と検出されるとユー
クリッド演算制御回路101 では剰余多項式の係数データ
が記憶されているレジスタ81a (または81b )の内容を
そのまま1つシフトするように構成されている。その
際、次数検出回路87(または88)中のカウンタのカウン
ト値が1つ減らされる。
The division circuits shown in FIGS. 12 and 13 have the same configuration as the division circuit described in FIGS. 38 and 39, and shift operation is performed until the degree of the remainder of the dividend polynomial becomes smaller than the degree of the division polynomial. Is performed by repeating. The end of division is determined by the Euclidean arithmetic control circuit 101 based on the order information output from the order detection circuits 87 and 88. When the maximum degree of the remainder polynomial is detected as 0 by the degree detection circuit 87 (or 88) during the division operation, the Euclidean arithmetic control circuit 101 stores the coefficient data of the remainder polynomial in the register 81a (or 81b). Is shifted by one as it is. At this time, the count value of the counter in the order detection circuit 87 (or 88) is reduced by one.

【0165】図12(b) に上記除算が終了した際に、各レ
ジスタ81に記憶されている係数データの状態を示す。な
お、レジスタ81a に記憶されているH14〜H0 は上記除
算を行った際の剰余多項式の係数データである。除算演
算が終了すると、次数検出回路87(または88)では剰余
多項式の最大次数を検出し最大次数が0であったなら、
ユークリッド演算制御回路101 より出力される制御信号
をもとに、剰余多項式の係数をそのまま1つシフトす
る。この動作を剰余多項式の最大次数の係数データが0
でなくなるまで繰り返す。その際、上述のように、次数
検出回路87(または88)中のカウンタのカウント値が1
つづつ減らされる。
FIG. 12B shows the state of the coefficient data stored in each register 81 when the division is completed. Incidentally, H 14 to H 0 stored in the register 81a is a coefficient data of the remainder polynomial when performing the division. When the division operation is completed, the order detection circuit 87 (or 88) detects the maximum order of the remainder polynomial, and if the maximum order is 0,
Based on the control signal output from the Euclidean arithmetic control circuit 101, the coefficient of the remainder polynomial is shifted by one. This operation is performed when the coefficient data of the maximum order of the remainder polynomial is 0.
Repeat until no more. At this time, as described above, the count value of the counter in the order detection circuit 87 (or 88) is 1
It is reduced one by one.

【0166】ユークリッド演算制御回路101 では、次数
検出回路87(または88)より出力される上記剰余多項式
の次数をもとに、剰余の次数がユークリッド演算の終了
条件(本実施例では次数が7以下)を満たしていればユ
ークリッド演算を終了し、終了条件を満たしていなけれ
ば前回の演算で除多項式であった多項式を被除多項式と
して、また上記剰余多項式を除多項式として演算を実行
する。その際、レジスタ81に格納されている係数データ
を図13(a) に示す。従来例のように交換手段を有してい
ないので回路の接続状態は変わらないが、レジスタ81a
に供給されていたクロック1が止められて、反対にレジ
スタ81b にクロック2が供給される。よって、レジスタ
81a の内容が保持され、レジスタ81b に剰余多項式の係
数が逐次記憶される。
In the Euclidean arithmetic operation control circuit 101, the order of the remainder is determined based on the order of the remainder polynomial output from the order detection circuit 87 (or 88). ) Is satisfied, the Euclidean operation is terminated, and if the termination condition is not satisfied, the operation is executed with the polynomial that was the divisor polynomial in the previous operation as the polynomial to be deleted and the remainder polynomial as the divisor polynomial. At this time, the coefficient data stored in the register 81 is shown in FIG. Since there is no exchange means as in the conventional example, the connection state of the circuit does not change, but the register 81a
Is stopped, and the clock 2 is supplied to the register 81b. Therefore, register
The contents of 81a are held, and the coefficients of the remainder polynomial are sequentially stored in the register 81b.

【0167】その際、ユークリッド演算回路中の除算回
路では、次数検出回路88により被除多項式(剰余多項
式)の最大次数が0であるかを判定し、0であった場合
レジスタ81b に記憶されている被除多項式(剰余多項
式)の内容をそのまま1つシフトするように制御信号を
出力する。これは、除算回路100 へ出力される除数と被
除数を格納するレジスタが決まっており被除多項式の係
数データが除数として用いられる場合、被除多項式の最
大次数の係数が0となってしまうと被除数(除多項式の
最大係数)を0で割ることになり、解(出力)が不定と
成ってしまう場合が生じるためである。
At this time, in the division circuit in the Euclidean arithmetic circuit, the order detection circuit 88 determines whether the maximum degree of the dividend polynomial (remainder polynomial) is 0, and if it is 0, the result is stored in the register 81b. A control signal is output so that the contents of the polynomial to be deleted (remainder polynomial) are shifted by one. This is because when the register for storing the divisor and the dividend to be output to the division circuit 100 is determined and the coefficient data of the dividend polynomial is used as the divisor, the dividend when the coefficient of the highest degree of the dividend polynomial becomes zero is used. This is because (the maximum coefficient of the divisor polynomial) is divided by 0, and the solution (output) may become indefinite.

【0168】除算は、上記例と同様に被除多項式の剰余
の次数が除多項式の次数より小さくなるまで被除多項式
の係数データを記憶しているレジスタの内容を演算しな
がらシフト動作を繰り返すことにより除算を実行する。
図13(b) に上記除算が終了した際に、各レジスタ81a, 8
1bに記憶されている係数データの状態を示した。なお、
レジスタ81b に記憶されているJ13〜J0 は剰余多項式
の係数データである。
The division is performed by repeating the shift operation while calculating the contents of the register storing the coefficient data of the polynomial to be divided until the degree of the remainder of the polynomial to be divided becomes smaller than the degree of the polynomial to be divided, as in the above example. Performs division by.
FIG. 13 (b) shows that each of the registers 81a and 81
The state of the coefficient data stored in 1b is shown. In addition,
J 13 to J 0 stored in the register 81b are coefficient data of the remainder polynomial.

【0169】そして、上記剰余多項式の次数を判定し所
定の条件を満たしていなければレジスタ81a, 81bに供給
するクロックを切り換えてユークリッドアルゴリズムに
基づく除算動作を再び行う。この除算動作を剰余多項式
の次数が7次以下になるまで繰り返す。これにより、リ
ード・ソロモン符号を復号する際に、ユークリッドアル
ゴリズムに基づくガロア体上の多項式同士の除算を1多
項式毎に行うことができ、誤り訂正処理速度を向上させ
ることが出来るとともに交換手段(セレクタ)を持たな
いため回路規模の縮小が図れ、またセレクタ制御も必要
なくなる。
The order of the remainder polynomial is determined, and if the predetermined condition is not satisfied, the clock supplied to the registers 81a and 81b is switched and the division operation based on the Euclidean algorithm is performed again. This division operation is repeated until the degree of the remainder polynomial becomes 7 or less. Thus, when decoding a Reed-Solomon code, division between polynomials on a Galois field based on the Euclidean algorithm can be performed for each polynomial, so that the error correction processing speed can be improved and the switching means (selector) can be improved. ), The circuit scale can be reduced, and selector control is not required.

【0170】第6実施例.図14に本発明の第6実施例を
示す。図14において回路構成は第5実施例(図11)と同
様であるので詳細な説明は省略する。なお、第6実施例
ではレジスタに接続されている乗算回路85の位置が第5
実施例とは異なる。ユークリッド演算開始時に初期値で
あるZ2tがセットされるレジスタ側に乗算回路85を接続
した点が第5実施例とは異なる。この構成により、第5
実施例に比べて乗算回路85を1つ省略でき回路規模の縮
小(約 400ゲート程度の縮小)が図れる。
Sixth embodiment. FIG. 14 shows a sixth embodiment of the present invention. In FIG. 14, the circuit configuration is the same as that of the fifth embodiment (FIG. 11), and a detailed description thereof will be omitted. In the sixth embodiment, the position of the multiplication circuit 85 connected to the register is set to the fifth position.
Different from the embodiment. The difference from the fifth embodiment is that the multiplier 85 is connected to the register where the initial value Z 2t is set at the start of the Euclidean operation. With this configuration, the fifth
As compared with the embodiment, one multiplication circuit 85 can be omitted, and the circuit scale can be reduced (about 400 gates can be reduced).

【0171】以下、第5実施例と同様に図25に示すユー
クリッドアルゴリズムに従い、リード・ソロモン符号を
復号する誤り訂正装置のユークリッド演算の除算回路部
の動作を図14を用いて説明する。第6実施例では、第5
実施例と同様に光ディスク等に採用されている最小ハミ
ング距離が17のリード・ソロモン符号を復号する場合に
ついて説明する。いま、再生信号より生成したシンドロ
ーム多項式S(Z)を S(Z)=S1515+S1414+S1313+・・・+S
1 Z+S0 とする。
The operation of the Euclidean division circuit of the error correction device for decoding a Reed-Solomon code according to the Euclidean algorithm shown in FIG. 25 will be described below with reference to FIG. 14, similarly to the fifth embodiment. In the sixth embodiment, the fifth
A case of decoding a Reed-Solomon code having a minimum Hamming distance of 17 employed in an optical disk or the like as in the embodiment will be described. Now, the syndrome polynomial S generated from the reproduction signal (Z) S (Z) = S 15 Z 15 + S 14 Z 14 + S 13 Z 13 + ··· + S
And 1 Z + S 0.

【0172】ユークリッド演算が開始されるとまず始
め、ユークリッド演算制御回路101 より出力されるユー
クリッド演算開始信号をもとにレジスタ81a に初期値で
ある被除多項式Z2tの係数が記憶されるとともに、レジ
スタ81b に除多項式であるシンドローム多項式S(Z)
の各係数データが記憶される。また、次数検出回路87,8
8のカウンタにはそれぞれ次数の初期値である15と16と
がセットされる。次数検出回路87, 88内のカウンタは被
除多項式の係数データを記憶しているレジスタ81a, 81b
が1回シフトされるたびにカウント値が1つ下がるよう
に構成されている。
First, when the Euclidean arithmetic operation is started, based on the Euclidean arithmetic operation start signal output from the Euclidean arithmetic operation control circuit 101, the initial value of the coefficient of the polynomial Z 2t to be removed is stored in the register 81a. Register 81b has a syndrome polynomial S (Z) which is a divisor polynomial.
Are stored. In addition, the order detection circuits 87 and 8
In the counters 8, the initial values of the orders 15 and 16 are set, respectively. Counters in the order detection circuits 87 and 88 are registers 81a and 81b storing coefficient data of the polynomial to be removed.
Each time is shifted once, the count value is decreased by one.

【0173】それと同時に、除多項式であるシンドロー
ム多項式は次数検出回路88で最高次数の係数データが0
であるか判定する。ユークリッド演算制御回路101 で
は、次数検出回路88で検出された除多項式(シンドロー
ム多項式)の最大次数の係数データが0の場合、除多項
式の係数データが記憶されているレジスタ81b の内容を
シフトし(なお、この際加算回路86での加算動作を行わ
ずレジスタ81b の内容をそのままシフトする構成になっ
ている。)最大次数のデータが0でなくなるまでシフト
動作を繰り返す。その際、次数検出回路88中のカウンタ
はカウント値を1づつ減らされる。
At the same time, the syndrome polynomial, which is a divisor polynomial, has a coefficient data of the highest order of 0 in the order detection circuit 88.
Is determined. When the coefficient data of the maximum degree of the divisor polynomial (syndrome polynomial) detected by the degree detector 88 is 0, the Euclidean arithmetic control circuit 101 shifts the contents of the register 81b storing the coefficient data of the divisor polynomial ( At this time, the content of the register 81b is shifted as it is without performing the adding operation in the adding circuit 86.) The shifting operation is repeated until the data of the maximum order is no longer 0. At this time, the counter in the order detection circuit 88 decreases the count value by one.

【0174】また、被除多項式の係数データが記憶され
ているレジスタ81a はクロックが入力されると加算回路
86の出力がラッチされるように構成されており、除多項
式の係数データが記憶されているレジスタ81b は係数デ
ータが保持されるように構成されている。図14では、具
体的な制御回路は省略したが、第5実施例と同様にレジ
スタ81a, 81bに入力されるクロック1, 2をコントロー
ルすることにより除多項式の係数データをレジスタ内に
保持する構成を取っている。なお、図中に記した各演算
回路はガロア体上で定義された各演算を行うものとす
る。
The register 81a storing the coefficient data of the polynomial to be removed is added to the adder circuit when a clock is input.
The output of the register 86 is latched, and the register 81b storing the coefficient data of the divisor polynomial is configured to hold the coefficient data. Although a specific control circuit is omitted in FIG. 14, a configuration in which clock data 1 and 2 input to the registers 81a and 81b are controlled to hold coefficient data of a polynomial in the registers as in the fifth embodiment. Is taking. It is assumed that each operation circuit shown in the figure performs each operation defined on the Galois field.

【0175】以下、図15,16,17を用いて本実施例のユー
クリッド演算回路中の除算回路の回路動作を説明する。
図15(a) にレジスタ81a に被除多項式として初期値であ
るZ16がセットされ、レジスタ81b に除多項式としてシ
ンドローム多項式S(Z)がセットされた状態を示す。
なお、レジスタ中に記した数字、及び記号はレジスタに
格納されている係数データを示すものとする。本実施例
では説明を簡単にするためシンドローム多項式の最高次
の係数は0でないものとする。また、レジスタに記憶さ
れる各多項式の高次の次数の係数データは右端に配置さ
れるものとする。除算回路100 はレジスタ81a の出力を
除数、レジスタ81b の出力を被除数として除算しその結
果を出力する。このとき、除数側の係数データが記憶さ
れているレジスタ81a 側にクロック1が供給される。
The circuit operation of the division circuit in the Euclidean operation circuit of the present embodiment will be described below with reference to FIGS.
FIG. 15A shows a state in which the initial value Z 16 is set in the register 81a as a polynomial to be removed, and the syndrome polynomial S (Z) is set in the register 81b as a polynomial to be removed.
Note that the numbers and symbols described in the registers indicate coefficient data stored in the registers. In this embodiment, it is assumed that the highest order coefficient of the syndrome polynomial is not 0 for the sake of simplicity. Also, the coefficient data of the higher order of each polynomial stored in the register is arranged at the right end. The division circuit 100 divides the output of the register 81a as a divisor and the output of the register 81b as a dividend, and outputs the result. At this time, the clock 1 is supplied to the register 81a in which the coefficient data of the divisor is stored.

【0176】図15(b) に図15(a) に示す状態より1回レ
ジスタ81a 側をシフトした状態を示した。被除数側の初
期値が図25に示すユークリッドアルゴリズムに示すよう
にZ16であるので被除多項式の最小次数の係数が0とな
る。よって、図14に示す回路構成の場合、1回目の除算
によって求められる被除多項式側の剰余多項式の最小次
数の係数データは S0 +0×S15=S0 となり、乗算回路85を省略できる事がわかる。図15(b)
に上記1回目の除算後のレジスタ81a, 81bに記憶されて
いる各係数データを示す。図中に記したK14〜K1 及び
0 は剰余多項式の各係数データである。
FIG. 15 (b) shows a state where the register 81a is shifted once from the state shown in FIG. 15 (a). Since the initial value on the dividend side is Z 16 as shown in the Euclidean algorithm shown in FIG. 25, the coefficient of the minimum degree of the dividend polynomial becomes 0. Therefore, in the case of the circuit configuration shown in FIG. 14, the coefficient data of the minimum degree of the remainder polynomial on the dividend polynomial side obtained by the first division is S 0 + 0 × S 15 = S 0 , and the multiplication circuit 85 can be omitted. I understand. Fig. 15 (b)
Shows each coefficient data stored in the registers 81a and 81b after the first division. K 14 to K 1 and S 0 shown in the figure are each coefficient data of the remainder polynomial.

【0177】第5実施例同様、被除多項式の剰余の次数
が、除多項式の次数より小さくなるところまでシフト動
作を繰り返すことにより除算を実行する。除算の終了判
定は次数検出回路87, 88より出力される次数情報をもと
にユークリッド演算制御回路101 で判定を行う。なお、
除算演算実行中に剰余多項式の最大次数が次数検出回路
87(または88)により0と検出されるとユークリッド演
算制御回路101 では剰余多項式の係数データが記憶され
ているレジスタ81a (または81b )の内容をそのまま1
つシフトするように構成されている。その際、次数検出
回路87(または88)中の次数カウンタのカウント値が1
つ減らされる。これは、除算回路100 へ出力される除数
と被除数を格納するレジスタが決まっており被除多項式
の係数データが除数として用いられる場合、被除多項式
の最大次数の係数が0となってしまうと被除数(除多項
式の最大係数)を0で割ることになり、解(出力)が不
定と成ってしまう場合が生じるためである。
As in the fifth embodiment, division is performed by repeating the shift operation until the degree of the remainder of the polynomial to be reduced becomes smaller than the degree of the polynomial. The end of division is determined by the Euclidean arithmetic control circuit 101 based on the order information output from the order detection circuits 87 and 88. In addition,
The maximum degree of the remainder polynomial during execution of the division operation is the degree detection circuit.
When 0 is detected by 87 (or 88), the Euclidean arithmetic control circuit 101 changes the contents of the register 81a (or 81b) storing the coefficient data of the remainder polynomial to 1 as it is.
Is configured to shift by one. At this time, the count value of the order counter in the order detection circuit 87 (or 88) is 1
Reduced. This is because when the register for storing the divisor and the dividend to be output to the division circuit 100 is determined and the coefficient data of the dividend polynomial is used as the divisor, the dividend when the coefficient of the highest degree of the dividend polynomial becomes zero is used. This is because (the maximum coefficient of the divisor polynomial) is divided by 0, and the solution (output) may become indefinite.

【0178】図16(a) に上記除算が終了した際に、各レ
ジスタ81a, 81bに記憶されている係数データの状態を示
す。なお、レジスタ81a に記憶されているL14〜L0
上記除算を行った際の剰余多項式の係数データである。
なお、本実施例ではL0 =S0 である。除算演算が終了
すると、次数検出回路87(または88)では剰余多項式の
最大次数を検出し最大次数が0であったなら、ユークリ
ッド演算制御回路101より出力される制御信号をもと
に、剰余多項式の係数をそのまま1つシフトする。この
動作を剰余多項式の最大次数の係数データが0でなくな
るまで繰り返す。その際、上述のように、次数検出回路
87(または88)中の次数カウンタのカウント値が1つづ
つ減らされる。
FIG. 16A shows the state of the coefficient data stored in each of the registers 81a and 81b when the above division is completed. Note that L 14 to L 0 stored in the register 81a are coefficient data of the remainder polynomial when the above division is performed.
In the present embodiment, L 0 = S 0 . When the division operation is completed, the order detection circuit 87 (or 88) detects the maximum order of the remainder polynomial, and if the maximum order is 0, based on the control signal output from the Euclidean arithmetic control circuit 101, the remainder polynomial Is shifted by one as it is. This operation is repeated until the coefficient data of the maximum order of the remainder polynomial is no longer 0. At this time, as described above, the order detection circuit
The count value of the order counter in 87 (or 88) is decremented by one.

【0179】ユークリッド演算制御回路101 では、次数
検出回路87(または88)より出力される上記剰余多項式
の次数をもとに、剰余の次数がユークリッド演算の終了
条件(本実施例では次数が7以下)を満たしていればユ
ークリッド演算を終了し、終了条件を満たしていなけれ
ば前回の演算で除多項式であった多項式を被除多項式と
して、また上記剰余多項式を除多項式として演算を実行
する。その際、レジスタ81a, 81bに格納されている係数
データを図16(b) に示す。第5実施例と同様に交換手段
を有していないので回路の接続状態は変わらないが、レ
ジスタ81a に供給されていたクロック1が止められて、
反対にレジスタ81b にクロック2が供給される。よっ
て、レジスタ81a の内容が保持され、レジスタ81b に剰
余多項式の係数が逐次記憶される。
In the Euclidean arithmetic control circuit 101, based on the degree of the remainder polynomial output from the degree detection circuit 87 (or 88), the order of the remainder is changed to the end condition of the Euclidean operation (in this embodiment, the order is 7 or less). ) Is satisfied, the Euclidean operation is terminated, and if the termination condition is not satisfied, the operation is executed with the polynomial that was the divisor polynomial in the previous operation as the polynomial to be deleted and the remainder polynomial as the divisor polynomial. At this time, the coefficient data stored in the registers 81a and 81b is shown in FIG. As in the fifth embodiment, since there is no exchange means, the connection state of the circuit does not change, but the clock 1 supplied to the register 81a is stopped.
Conversely, clock 2 is supplied to register 81b. Therefore, the contents of the register 81a are held, and the coefficients of the remainder polynomial are sequentially stored in the register 81b.

【0180】その際、ユークリッド演算回路中の除算回
路では, 次数検出回路88により被除多項式(剰余多項
式)の最大次数が0であるかを判定し、0であった場合
レジスタ81b に記憶されている被除多項式(剰余多項
式)の内容をそのまま1つシフトするように制御信号を
出力する。
At this time, in the division circuit in the Euclidean arithmetic circuit, the degree detection circuit 88 determines whether the maximum degree of the dividend polynomial (remainder polynomial) is 0, and if it is 0, the result is stored in the register 81b. A control signal is output so that the contents of the polynomial to be deleted (remainder polynomial) are shifted by one.

【0181】除算は、第5実施例と同様に被除多項式の
剰余の次数が除多項式の次数より小さくなるまで被除多
項式の係数データを記憶しているレジスタの内容を演算
しながらシフト動作を繰り返すことにより除算を実行す
る。図17に上記除算が終了した際に、各レジスタ81a, 8
1bに記憶されている係数データの状態を示す。なお、レ
ジスタ81b に記憶されているM13〜M0 は剰余多項式の
係数データである。
In the division, the shift operation is performed while calculating the contents of the register storing the coefficient data of the dividend polynomial until the degree of the remainder of the dividend polynomial becomes smaller than the degree of the divisor polynomial, as in the fifth embodiment. Perform division by repeating. In FIG. 17, when the above division is completed, each register 81a, 8a
This shows the state of the coefficient data stored in 1b. Incidentally, M 13 ~M 0 stored in the register 81b is the coefficient data of the remainder polynomial.

【0182】そして、上記剰余多項式の次数を判定し所
定の条件を満たしていなければレジスタ81a, 81bに供給
するクロックを切り換えてユークリッドアルゴリズムに
基づく除算動作を再び行う。この除算動作を剰余多項式
の次数が7次以下になるまで繰り返す。これにより、リ
ード・ソロモン符号を復号する際に、ユークリッドアル
ゴリズムに基づくガロア体上の多項式同士の除算を1多
項式毎に行うことができ、誤り訂正処理速度を向上させ
ることが出来るとともに交換手段(セレクタ)を持たな
いため回路規模の縮小が図れ、またセレクタ制御も必要
なくなる。また、第5実施例に比べて乗算回路85を1つ
省略でき回路規模の縮小を図れる。
Then, the order of the remainder polynomial is determined, and if the predetermined condition is not satisfied, the clock supplied to the registers 81a and 81b is switched and the division operation based on the Euclidean algorithm is performed again. This division operation is repeated until the degree of the remainder polynomial becomes 7 or less. Thus, when decoding a Reed-Solomon code, division between polynomials on a Galois field based on the Euclidean algorithm can be performed for each polynomial, so that the error correction processing speed can be improved and the switching means (selector) can be improved. ), The circuit scale can be reduced, and selector control is not required. Further, compared with the fifth embodiment, one multiplication circuit 85 can be omitted, and the circuit scale can be reduced.

【0183】第7実施例.本発明の第7実施例は、第
5,第6実施例で用いられた加算回路86及び除算回路10
0 の構成とユークリッド演算回路101 の制御方法とが異
なる。よって、第7実施例は図11に示すユークリッド演
算の除算回路を用いて説明する。図18に除算回路100 の
具体的な構成図を示す。110 は入力された係数の逆数を
出力する逆元ROM、111 は乗算回路、112 はORゲー
トである。逆元ROM110 は入力されたガロア体上の元
の逆数を出力するように構成されている。図19には加算
回路86の構成を示す。図において、113 はANDゲー
ト、114 はEXORゲートである。表1に本実施例の逆
元ROM110 の内容を示す。なお、表中に記したαは原
始多項式G(Z)のガロア体上の元である。表に示すよ
うに本実施例における逆元ROM110 は0が入力される
と0が出力される構成になっている。また、表1に記し
たαはGF(28 )で定義されるガロア体上の元であ
る。
Seventh embodiment. The seventh embodiment of the present invention is based on the adder 86 and the divider 10 used in the fifth and sixth embodiments.
The configuration of 0 is different from the control method of the Euclidean arithmetic circuit 101. Therefore, the seventh embodiment will be described using the Euclidean division circuit shown in FIG. FIG. 18 shows a specific configuration diagram of the division circuit 100. 110 is an inverse ROM for outputting the reciprocal of the input coefficient, 111 is a multiplication circuit, and 112 is an OR gate. The inverse element ROM 110 is configured to output the reciprocal of the original element on the Galois field. FIG. 19 shows the configuration of the adder 86. In the figure, 113 is an AND gate, and 114 is an EXOR gate. Table 1 shows the contents of the inverse ROM 110 of this embodiment. Note that α described in the table is an element on the Galois field of the primitive polynomial G (Z). As shown in the table, the inverse ROM 110 in this embodiment is configured to output 0 when 0 is input. Further, α described in Table 1 is an element on the Galois field defined by GF (2 8 ).

【0184】[0184]

【表1】 [Table 1]

【0185】以下、図11を用いて第7実施例の回路動作
を説明する。第5実施例と同様、再生信号より生成した
シンドローム多項式S(Z)を S(Z)=S1515+S1414+S1313+・・・+S
1 Z+S0 とする。
The operation of the circuit according to the seventh embodiment will be described below with reference to FIG. Similar to the fifth embodiment, the syndrome polynomial S generated from the reproduction signal (Z) S (Z) = S 15 Z 15 + S 14 Z 14 + S 13 Z 13 + ··· + S
And 1 Z + S 0.

【0186】ユークリッド演算が開始されるとまず始
め、ユークリッド演算制御回路101 より出力されるユー
クリッド演算開始信号をもとにレジスタ81a に初期値で
ある被除多項式Z2tの係数が記憶されるとともに、レジ
スタ81b に除多項式であるシンドローム多項式S(Z)
の係数データが記憶される。また、次数検出回路87, 88
のカウンタにはそれぞれ次数の初期値である16と15とが
セットされる。
First, when the Euclidean operation is started, based on the Euclidean operation start signal output from the Euclidean operation control circuit 101, the initial value of the coefficient of the polynomial Z 2t to be removed is stored in the register 81a. Register 81b has a syndrome polynomial S (Z) which is a divisor polynomial.
Is stored. Also, the order detection circuits 87, 88
Are set to the initial values of the orders, 16 and 15, respectively.

【0187】それと同時に、除多項式であるシンドロー
ム多項式は次数検出回路88で最高次数の係数データが検
出される。ユークリッド演算制御回路101 では、次数検
出回路88で検出された除多項式(シンドローム多項式)
の最大次の係数データが0の場合、除多項式の係数デー
タが記憶されているレジスタ81b の内容をシフトし最大
次数のデータが0でなくなるまでシフト動作を繰り返
す。その際、次数検出回路88中の次数カウンタのカウン
ト値は1づつ減らされる。
At the same time, the highest order coefficient data of the syndrome polynomial, which is the divisor polynomial, is detected by the order detection circuit 88. In the Euclidean arithmetic control circuit 101, the divisor polynomial (syndrome polynomial) detected by the order detector 88
If the coefficient data of the maximum order is 0 , the contents of the register 81b storing the coefficient data of the divisor polynomial are shifted, and the shift operation is repeated until the data of the maximum order is no longer 0. At this time, the count value of the order counter in the order detection circuit 88 is reduced by one.

【0188】この時、除算回路100 では除数側のデータ
として0が入力される。逆元ROM110 では表1に示す
ように0が入力されると0が出力される構成になってい
る。逆元ROM110 により出力されたデータは乗算回路
111 で被除数と乗算され出力される。この場合、逆元R
OM110 からの出力データが0であるので乗算回路111
の出力は0となる。ORゲート112 は乗算回路111 より
出力されるLSBデータとユークリッド演算制御回路10
1 より出力される制御信号との論理和をとる。ユークリ
ッド演算制御回路101 では次数検出回路88で検出された
多項式の最大次数の係数データが0である場合に”H”
を出力する構成になっている。よって、除算回路100 か
らは1が出力されることになる。
At this time, the division circuit 100 inputs 0 as the data on the divisor side. In the inverse element ROM 110, as shown in Table 1, when 0 is input, 0 is output. The data output by the inverse ROM 110 is a multiplication circuit
The dividend is multiplied by 111 and output. In this case, the inverse R
Since the output data from the OM 110 is 0, the multiplication circuit 111
Is 0. The OR gate 112 receives the LSB data output from the multiplication circuit 111 and the Euclidean operation control circuit 10
The logical sum with the control signal output from 1 is calculated. The Euclidean arithmetic control circuit 101 sets “H” when the coefficient data of the maximum order of the polynomial detected by the order detection circuit 88 is 0.
Is output. Therefore, 1 is output from the division circuit 100.

【0189】また、加算回路86中のANDゲート113 の
一方の入力端子には、除算回路100の被除数側の係数デ
ータが格納されているレジスタ81a より出力される係数
データの各ビットが入力されるように構成されており、
他方の入力には、ユークリッド演算制御回路101 より出
力される制御信号が入力される。この制御信号は、除算
回路100 の除数側の係数データが次数検出回路88で0と
検出された場合”L”を出力するように構成されてい
る。この構成により、除算回路100 へ入力される除数側
(レジスタ81b 側)の係数データは 1×Sj +0=Sj (j=0,1,・・・, 1
5) の演算が行われシフト動作が繰り返されることになる。
除数多項式の最大次数の係数データが0でなくなるまで
シフト動作を繰り返す。これにより、上記係数データを
シフトする際ユークリッド演算制御回路101 では特別な
制御を必要とせず、係数シフトを行うレジスタさえ意識
していればよいことになる。
Each bit of the coefficient data output from the register 81a of the divider circuit 100 in which the dividend coefficient data is stored is input to one input terminal of the AND gate 113 in the adder circuit 86. It is configured as
A control signal output from the Euclidean arithmetic control circuit 101 is input to the other input. This control signal is configured to output “L” when the coefficient data on the divisor side of the division circuit 100 is detected as 0 by the degree detection circuit 88. With this configuration, the coefficient data on the divisor side (register 81b side) input to the division circuit 100 is 1 × S j + 0 = S j (j = 0, 1,..., 1
5) is performed and the shift operation is repeated.
The shift operation is repeated until the coefficient data of the maximum order of the divisor polynomial is not 0. Thus, when shifting the coefficient data, the Euclidean arithmetic control circuit 101 does not need any special control, and only needs to be aware of the register for performing the coefficient shift.

【0190】シンドローム多項式の最大次数が検出され
るとユークリッドアルゴリズムに基づく除算が開始され
る。第5実施例と同様に、被除多項式の係数データが記
憶されているレジスタ81a はクロックが入力されると加
算回路86の出力がラッチされるように構成されており、
除多項式の係数データが記憶されているレジスタ81bは
係数データが保持されるように構成されている。
When the maximum degree of the syndrome polynomial is detected, division based on the Euclidean algorithm is started. Similarly to the fifth embodiment, the register 81a storing the coefficient data of the polynomial to be deleted is configured so that the output of the adder 86 is latched when a clock is input.
The register 81b storing the coefficient data of the divisor polynomial is configured to hold the coefficient data.

【0191】除算動作は、被除多項式の剰余の次数が、
除多項式の次数より小さくなるまで繰り返される。除算
の終了判定は次数検出回路87, 88より出力される次数情
報をもとにユークリッド演算制御回路101 で判定を行
う。なお、除算演算実行中に剰余多項式の最大次数が次
数検出回路87により0と検出された場合でも除算回路10
0 より0が出力されるので乗算回路85及び加算回路86で
は 0×Si +Xi =Xi の計算が行われレジスタ81a にはXi (Xi はレジスタ
81a に記憶されている係数データ)がそのままシフトさ
れ記憶されることになる。従って、ユークリッド演算制
御回路101 では特に制御を変えることなくシフト動作を
繰り返せばよい。
In the division operation, the degree of the remainder of the polynomial to be divided is
The process is repeated until the order of the divisor polynomial becomes smaller. The end of division is determined by the Euclidean arithmetic control circuit 101 based on the order information output from the order detection circuits 87 and 88. Note that even when the maximum degree of the remainder polynomial is detected as 0 by the degree detection circuit 87 during the execution of the division operation, the division circuit 10
Since 0 is output from 0, the multiplication circuit 85 and the addition circuit 86 calculate 0 × S i + X i = X i , and the register 81a stores X i (X i is a register
The coefficient data stored in 81a is shifted and stored as it is. Therefore, the Euclidean arithmetic control circuit 101 may repeat the shift operation without changing the control.

【0192】除算演算が終了すると、次数検出回路87
(または88)では剰余多項式の最大次数を検出し最大次
数が0であったなら、レジスタ81a の内容をそのままシ
フトする。その際、上述のように、次数検出回路87(ま
たは88)中のカウンタのカウント値が1つづつ減らされ
る。
When the division operation is completed, the order detection circuit 87
In (or 88), the maximum degree of the remainder polynomial is detected, and if the maximum degree is 0, the contents of the register 81a are shifted as it is. At this time, as described above, the count value of the counter in the order detection circuit 87 (or 88) is reduced by one.

【0193】ユークリッド演算制御回路101 では、次数
検出回路87(または88)より出力される上記剰余多項式
の次数をもとに、剰余の次数がユークリッド演算の終了
条件(本実施例では次数が7以下)を満たしていればユ
ークリッド演算を終了し、終了条件を満たしていなけれ
ば前回の演算で除多項式であった多項式を被除多項式と
して、また上記剰余多項式を除多項式として演算を実行
する。その際、従来例のように交換手段を有していない
ので回路の接続状態は変わらないが、レジスタ81a に供
給されていたクロック1が止められて、反対にレジスタ
81b にクロック2が供給される。よって、レジスタ81a
の内容が保持され、レジスタ81b に剰余多項式の係数が
逐次記憶される。
In the Euclidean arithmetic control circuit 101, based on the degree of the remainder polynomial output from the degree detection circuit 87 (or 88), the order of the remainder is changed to the end condition of the Euclidean operation (in this embodiment, the order is 7 or less). ) Is satisfied, the Euclidean operation is terminated, and if the termination condition is not satisfied, the operation is executed with the polynomial that was the divisor polynomial in the previous operation as the polynomial to be deleted and the remainder polynomial as the divisor polynomial. At this time, the connection state of the circuit does not change because there is no exchange means as in the conventional example, but the clock 1 supplied to the register 81a is stopped, and
Clock 2 is supplied to 81b. Therefore, register 81a
Are held, and the coefficients of the remainder polynomial are sequentially stored in the register 81b.

【0194】この時、ユークリッド演算回路中の除算回
路では、次数検出回路88により被除多項式(剰余多項
式)の最大次数(レジスタ81b の出力)が0であった場
合でも上述で述べた通りユークリッド演算制御回路101
では各加算回路86及び除算回路100 にそれぞれ”L”及
び”H”の制御信号を出力するだけでレジスタ81b の内
容がシフトされる構成になっており、0を意識した制御
を行わなくてもよい。すなわち、次数検出回路88により
レジスタ81b に記憶されている多項式の最大次の係数デ
ータが0と判断されると除算回路100 からは除算結果と
して1が出力される。一方、加算回路86ではユークリッ
ド演算制御回路101 より出力される制御信号によりAN
Dゲート113 の出力が”L”となる。(すなわち、加算
回路86に0が入力されることになる。)従って、乗算回
路85及び加算回路86では 1×Yi +0=Yi の演算が実行される。よって、レジスタ81b にはY
i (Yi はレジスタ81b に記憶されている係数データ)
がそのままシフトされ記憶されることになる。
At this time, in the division circuit in the Euclidean operation circuit, even when the maximum order (output of the register 81b) of the dividend polynomial (remainder polynomial) is 0 by the order detection circuit 88, as described above, the Euclidean operation is performed. Control circuit 101
In this configuration, the contents of the register 81b are shifted only by outputting "L" and "H" control signals to each of the adding circuits 86 and the dividing circuits 100, respectively. Good. That is, when the order detection circuit 88 determines that the maximum order coefficient data of the polynomial stored in the register 81b is 0, the division circuit 100 outputs 1 as the division result. On the other hand, in the adder circuit 86, the control signal output from the Euclidean arithmetic control circuit 101
The output of the D gate 113 becomes "L". (That is, 0 is input to the addition circuit 86.) Therefore, the multiplication circuit 85 and the addition circuit 86 execute the operation of 1 × Y i + 0 = Y i . Therefore, Y is stored in the register 81b.
i (Y i is the coefficient data stored in the register 81b)
Is shifted and stored as it is.

【0195】除算は、上記例と同様に被除多項式の剰余
の次数が除多項式の次数より小さくなるまで被除多項式
の係数データを記憶しているレジスタの内容を演算しな
がらシフト動作を繰り返すことにより除算を実行する。
そして、上記剰余多項式の次数を判定し所定の条件を満
たしていなければレジスタ81a, 81bに供給するクロック
を切り換えてユークリッドアルゴリズムに基づく除算動
作を再び行う。この除算動作を剰余多項式の次数が7次
以下になるまで繰り返す。これにより、リード・ソロモ
ン符号を復号する際に、ユークリッドアルゴリズムに基
づくガロア体上の多項式同士の除算を1多項式毎に行う
ことができ、誤り訂正処理速度を向上させることが出来
るとともにユークリッド演算制御回路101 での制御も非
常に簡単になり回路規模の削減を図れる。
In the division, as in the above example, the shift operation is repeated while calculating the contents of the register storing the coefficient data of the polynomial to be divided until the degree of the remainder of the polynomial to be divided becomes smaller than the degree of the polynomial to be divided. Performs division by.
Then, the order of the remainder polynomial is determined, and if the predetermined condition is not satisfied, the clock supplied to the registers 81a and 81b is switched and the division operation based on the Euclidean algorithm is performed again. This division operation is repeated until the degree of the remainder polynomial becomes 7 or less. Thus, when decoding a Reed-Solomon code, division between polynomials on a Galois field based on the Euclidean algorithm can be performed for each polynomial, so that the error correction processing speed can be improved and the Euclidean operation control circuit can be improved. The control in 101 is also very simple, and the circuit scale can be reduced.

【0196】なお、第7実施例では除算回路100 を逆元
ROM110 及び乗算回路111 で構成したがこれに限るも
のではなく、入力された除数が0である場合除算回路10
0 の出力を1と出力するように除算回路100 を構成すれ
ばロジックゲート、またはマイクロコンピュータ等で構
成しても同様の効果を奏する。また、第7実施例では入
力されたデータの逆元を求める際、ROMを使用したが
RAMでもよく、またロジックゲートで逆元を求めるよ
うに構成してもよいことはいうまでもない。また、加算
回路86の構成は図19に示す構成に限るものではなく、ユ
ークリッド演算回路101 より出力される制御信号に基づ
きレジスタ81b の出力をそのまま出力するように構成す
れば同様の効果を奏する。また、GF(28 )で定義さ
れる場合について述べたがこれに限るものではない。G
F(q)(qは素数、または素数のべき表現)で定義さ
れるガロア体上の演算なら同様の効果を奏する。更に、
図11に示す除算回路の場合について述べたが図14に示す
回路構成でも同様の効果を奏する。また、第7実施例は
従来例に示す除算回路84及び加算回路86に適用しても同
様にユークリッド演算制御回路89の制御を簡略化できる
ことは言うまでもない。初期値を設定した際、シンドロ
ーム多項式の最大次の係数データが0であった場合、レ
ジスタ81b 内のデータを最大次の係数データが0でなく
なるまでシフトする時の回路構成及び制御を簡略化でき
る。
In the seventh embodiment, the division circuit 100 is composed of the inverse ROM 110 and the multiplication circuit 111. However, the present invention is not limited to this. If the input divisor is 0, the division circuit 100
If the division circuit 100 is configured so that the output of 0 is output as 1, the same effect can be obtained even if it is configured by a logic gate or a microcomputer. In the seventh embodiment, a ROM is used to determine the inverse of the input data. However, it is needless to say that a RAM may be used, and the inverse may be determined by a logic gate. Further, the configuration of the adder circuit 86 is not limited to the configuration shown in FIG. 19, and the same effect can be obtained if the output of the register 81b is directly output based on the control signal output from the Euclidean arithmetic circuit 101. In addition, the case where it is defined by GF (2 8 ) has been described, but the present invention is not limited to this. G
An operation on a Galois field defined by F (q) (q is a prime number or an exponent of a prime number) has the same effect. Furthermore,
Although the case of the division circuit shown in FIG. 11 has been described, a similar effect can be obtained with the circuit configuration shown in FIG. Also, it goes without saying that the control of the Euclidean operation control circuit 89 can be simplified similarly when the seventh embodiment is applied to the division circuit 84 and the addition circuit 86 shown in the conventional example. If the maximum order coefficient data of the syndrome polynomial is 0 when the initial value is set, the circuit configuration and control when shifting the data in the register 81b until the maximum order coefficient data is not 0 can be simplified. .

【0197】第8実施例.以下、本発明の第8実施例に
ついて説明する。本実施例では、図11に示す誤り訂正装
置で除算回路100 の構成を図18に示す構成のものを用い
た場合について説明する。図20は除算回路100 及びユー
クリッド演算制御回路101 より出力される除算結果、及
び制御信号を用いて誤り位置多項式を算出する誤り位置
算出回路の一部を示す。図において120 は逆元ROM、
121 は乗算回路、122 はセレクタである。なお、第8実
施例では説明を簡単にするためガロア体上の除算を実行
する際、被除多項式と除多項式の次数差が1次の場合に
ついて説明する。
Eighth embodiment. Hereinafter, an eighth embodiment of the present invention will be described. In the present embodiment, a case will be described in which the error correction device shown in FIG. 11 uses the configuration of the division circuit 100 having the configuration shown in FIG. FIG. 20 shows a part of an error position calculation circuit that calculates an error position polynomial using the division results output from the division circuit 100 and the Euclidean operation control circuit 101 and a control signal. In the figure, 120 is an inverse ROM,
121 is a multiplication circuit, and 122 is a selector. In the eighth embodiment, for the sake of simplicity, a description will be given of a case where the degree difference between the polynomial to be divided and the polynomial is 1 when performing division on a Galois field.

【0198】図11に示す誤り訂正装置で多項式同士の除
算を行った場合、商として除算回路100 より出力される
データは次の2通りのパターンがある。一方は、被除多
項式の係数データがレジスタ81a に記憶されている場
合、もう一方は、被除多項式の係数データがレジスタ81
b に記憶されている場合である。今、被除多項式及び除
多項式をそれぞれ、 被除多項式:M1(Z)=An n +An-1 n-1 +・
・・+A1 Z+A0 除多項式:M2(Z)=Bn-1 n-1 +Bn-2 n-2
・・・+B1 Z+B0 とする。数7に被除多項式の係数データがレジスタ81a
に記憶されている場合の除算結果を、数8に被除多項式
の係数データがレジスタ81b に記憶されている場合の除
算結果を示す。
When division between polynomials is performed by the error correction device shown in FIG. 11, data output from the division circuit 100 as a quotient has the following two patterns. One is when the coefficient data of the polynomial to be deleted is stored in the register 81a, and the other is when the coefficient data of the polynomial to be deleted is stored in the register 81a.
b. Now, each of the the dividend polynomial and divisor polynomial, the dividend polynomial: M1 (Z) = A n Z n + A n-1 Z n-1 + ·
.. + A 1 Z + A 0 divisor polynomial: M2 (Z) = B n-1 Z n-1 + B n-2 Z n-2 +
.. + B 1 Z + B 0 . In Equation 7, the coefficient data of the polynomial to be removed is stored in the register 81a
Equation 8 shows the division result when the coefficient data of the polynomial to be divided is stored in the register 81b.

【0199】[0199]

【数7】 (Equation 7)

【0200】[0200]

【数8】 (Equation 8)

【0201】被除多項式の係数データがレジスタ81a に
記憶されている場合、除算は数7に示すように実行さ
れ、誤り位置多項式の係数データを算出する際は0次の
項を正規化(正規化して1にする)した後、図25に示す
アルゴリズムに従い誤り位置多項式の係数データを求め
る。この場合、除算回路100 より出力される除算結果は
そのまま商多項式の係数データに一致する。その結果を
正規化した場合の商多項式を数7の一番下の式に示す。
同様に、被除多項式の係数データがレジスタ81bに記憶
されている場合について数8を用いて説明する。数8に
は各ステップにおける演算過程を示す。右側には各々の
ステップにおける除算回路100 の出力を示す。この場
合、除算回路100 より出力される係数データは商多項式
の係数データとは一致しない。しかしながら、数8に示
す計算方法の場合、誤り位置多項式の係数データを算出
する際の正規化した式を求める場合商多項式が1次の多
項式の場合はステップ2の除算回路100 の出力がそのま
ま商多項式の1次の係数になっていることが数7と比較
するとわかる。これをもとに図20に示す回路の動作を説
明する。
When the coefficient data of the polynomial to be deleted is stored in the register 81a, the division is performed as shown in Expression 7, and when calculating the coefficient data of the error locator polynomial, the zero-order term is normalized (normalized). After that, coefficient data of the error locator polynomial is obtained according to the algorithm shown in FIG. In this case, the division result output from the division circuit 100 matches the coefficient data of the quotient polynomial as it is. The quotient polynomial in the case where the result is normalized is shown in the lowermost expression of Expression 7.
Similarly, a case where coefficient data of a polynomial to be deleted is stored in the register 81b will be described using Expression 8. Equation 8 shows the calculation process in each step. The right side shows the output of the division circuit 100 in each step. In this case, the coefficient data output from the division circuit 100 does not match the coefficient data of the quotient polynomial. However, in the case of the calculation method shown in Equation 8, when a normalized expression for calculating the coefficient data of the error locator polynomial is obtained, when the quotient polynomial is a first-order polynomial, the output of the division circuit 100 in Step 2 is used as it is. It can be seen from the comparison with Equation 7 that the coefficient is a first-order coefficient of the polynomial. The operation of the circuit shown in FIG. 20 will be described based on this.

【0202】図20において、逆元ROM120 には、図11
に示す除算回路100 より出力される0次の商多項式の係
数が入力される。また、乗算回路121 の一方の入力には
逆元ROM121 の出力が、もう一方の入力には除算回路
100 より出力される1次の商多項式の係数が入力され
る。セレクタ122 では、ユークリッド演算制御回路101
より出力される制御信号に基づき、被除多項式の係数が
レジスタ81a に記憶されている場合は乗算回路121 の出
力を選択し、被除多項式の係数データがレジスタ81b に
記憶されている場合は0次の商多項式の係数データが出
力されるように構成されている。
Referring to FIG. 20, the inverse ROM 120 stores FIG.
The coefficient of the zero-order quotient polynomial output from the division circuit 100 shown in FIG. One input of the multiplication circuit 121 is provided with the output of the inverse ROM 121, and the other input is provided with a division circuit.
The coefficient of the first-order quotient polynomial output from 100 is input. In the selector 122, the Euclidean arithmetic control circuit 101
Based on the output control signal, the output of the multiplier 121 is selected when the coefficient of the polynomial to be stored is stored in the register 81a, and 0 when the coefficient data of the polynomial to be stored is stored in the register 81b. It is configured to output coefficient data of the following quotient polynomial.

【0203】この構成によると、レジスタ81a に被除多
項式の係数データが記憶されている場合(数7に相当す
る)は除算結果が、誤り位置多項式を算出する際に用い
られる商多項式の1次の係数となり、レジスタ81b に被
除多項式の係数データが記憶されている場合(数8に相
当する)は、除算回路100 より出力される0次の係数デ
ータが上記商多項式の1次の係数データとして出力され
る。これにより、商多項式が正規化され、誤り位置多項
式を算出する際、セレクタ122 を追加するのみの簡単な
回路構成で誤り位置多項式を算出できる。また、数8に
示すように、レジスタ81b に被除多項式の係数データが
記憶されている場合は、除算演算を行う事なく係数デー
タが算出されるので復号ステップ数の削減が図れる。
According to this configuration, when the register 81a stores the coefficient data of the polynomial to be divided (corresponding to equation 7), the result of the division is the first order of the quotient polynomial used in calculating the error locator polynomial. When the coefficient data of the polynomial to be divided is stored in the register 81b (corresponding to Equation 8), the 0th-order coefficient data output from the division circuit 100 is the first-order coefficient data of the quotient polynomial. Is output as As a result, the quotient polynomial is normalized, and when calculating the error locator polynomial, the error locator polynomial can be calculated with a simple circuit configuration only by adding the selector 122. Further, as shown in Equation 8, when coefficient data of the polynomial to be deleted is stored in the register 81b, the coefficient data is calculated without performing the division operation, so that the number of decoding steps can be reduced.

【0204】なお、本実施例では商多項式として1次の
ものについて扱ったが、2次または3次等の場合につい
ても回路構成は少し複雑になるが、簡単な回路構成で実
現できる。以下、2次以上の場合について簡単に説明す
る。表2に被除多項式及び除多項式をそれぞれ、 被除多項式:M1(Z)=An n +An-1 n-1 +・
・・+A1 Z+A0 除多項式:M2(Z)=Bn-2 n-2 +Bn-3 n-3
・・・+B1 Z+B0 とした場合に、被除多項式の係数データがレジスタ81a
に記憶されている場合(除多項式の最大次数の係数デー
タが除算回路100 において除数として扱われている場
合、従来例に示す通常の除算の場合)の除算結果と、被
除多項式の係数データがレジスタ81b に記憶されている
場合(除多項式の最大次数の係数データが除算回路100
において被除数として扱われている場合)の計算結果を
示す。なお、本実施例においてもユークリッド演算を行
なう際の除算回路部の構成は図11に示す回路構成を採用
するものとする。
Although the first embodiment deals with the first-order quotient polynomial in the present embodiment, the circuit configuration is slightly complicated in the case of the second-order or third-order, but can be realized with a simple circuit configuration. Hereinafter, the case of second order or higher will be briefly described. Respectively Hijo polynomial and divisor polynomial in Table 2, the dividend polynomial: M1 (Z) = A n Z n + A n-1 Z n-1 + ·
.. + A 1 Z + A 0 division polynomial: M2 (Z) = B n−2 Z n−2 + B n−3 Z n−3 +
.. + B 1 Z + B 0 , the coefficient data of the polynomial to be deleted is stored in the register 81a.
(The coefficient data of the maximum degree of the divisor polynomial is treated as a divisor in the division circuit 100, the normal division shown in the conventional example) and the coefficient data of the polynomial to be divided are stored. When the data is stored in the register 81b (the coefficient data of the maximum degree of the divisor polynomial is
Here, the calculation result is shown. Note that, also in the present embodiment, the configuration of the division circuit unit when performing the Euclidean operation adopts the circuit configuration shown in FIG.

【0205】[0205]

【表2】 [Table 2]

【0206】数9には上記通常の除算を行った商多項式
を正規化した場合の係数データを示す。これより、被除
多項式の係数データがレジスタ81b に記憶されている場
合(除多項式の最大次数の係数データが除算回路100 に
おいて被除数として扱われている場合)に、上記正規化
した商多項式を求める際は、除算回路100 より出力され
る商データをPi (i=0,1,・・・,k;kは商多
項式の次数)とし、商多項式の係数データをQi (i=
0,1,・・・,k;kは商多項式の次数)とすると、 Q0 =1 Q1 =Q0 ×P02 =Q1 ×P1 ・ ・ Qk =Qk-1 ×Pk-1 となる。数10に、商多項式が2次の場合の最大次数のデ
ータを計算した結果を示す。(除多項式の最大次数の係
数データが除算回路100 において被除数として扱われて
いる場合)
Equation 9 shows coefficient data obtained by normalizing the quotient polynomial that has been subjected to the ordinary division. Thus, when the coefficient data of the dividend polynomial is stored in the register 81b (when the coefficient data of the maximum order of the divisor polynomial is treated as the dividend in the division circuit 100), the normalized quotient polynomial is obtained. In this case, the quotient data output from the division circuit 100 is P i (i = 0, 1,..., K; k is the order of the quotient polynomial), and the coefficient data of the quotient polynomial is Q i (i =
0, 1,..., K; k is the order of the quotient polynomial), and Q 0 = 1 Q 1 = Q 0 × P 0 Q 2 = Q 1 × P 1 ··· Q k = Q k−1 × P k−1 . Equation 10 shows the result of calculating the data of the maximum order when the quotient polynomial is quadratic. (When the coefficient data of the maximum degree of the divisor polynomial is treated as the dividend in the division circuit 100)

【0207】[0207]

【数9】 (Equation 9)

【0208】[0208]

【数10】 (Equation 10)

【0209】図21に上記商多項式が2次以上の場合につ
いても考慮した、誤り位置多項式を算出する誤り位置算
出回路の一部を示す。120 〜122 は図20に示すものと同
一であるので詳細は省略する。123 はシフトレジスタで
除算回路100 より出力される商多項式の各係数データ
(除算結果)が次数の低い順に記憶される。124 はセレ
クタ、125 はレジスタである。逆元ROM120 、乗算回
路121 、セレクタ122, 124、シフトレジスタ123 及びレ
ジスタ125 で誤り位置算出回路の一部は構成されてい
る。
FIG. 21 shows a part of an error position calculation circuit for calculating an error position polynomial in which the case where the quotient polynomial is quadratic or higher is considered. 20 to 122 are the same as those shown in FIG. Reference numeral 123 denotes a shift register in which coefficient data (division results) of the quotient polynomial output from the division circuit 100 are stored in ascending order. 124 is a selector, and 125 is a register. The inverse ROM 120, the multiplication circuit 121, the selectors 122 and 124, the shift register 123, and the register 125 constitute a part of the error position calculation circuit.

【0210】次に、動作について説明する。図21におい
て、逆元ROM120 には、図11に示す除算回路100 より
出力される0次の商多項式の係数が入力される。また、
シフトレジスタ123 には図11に示す除算回路100 より出
力される1次以上の商多項式の係数データが次数の低い
順に逐次記憶される。セレクタ124 は逆元ROM120の
出力とレジスタ125 の出力をユークリッド演算回路101
より出力される制御信号に基づき切り換える。乗算回路
121 ではシフトレジスタ123 の出力とセレクタ124 の出
力を乗算する。なお、シフトレジスタ123 は乗算回路12
1 で乗算が実施されるたびにデータを逐次シフトする構
成になっている。
Next, the operation will be described. In FIG. 21, a coefficient of a zero-order quotient polynomial output from the division circuit 100 shown in FIG. Also,
In the shift register 123, coefficient data of the first-order or higher-order quotient polynomial output from the division circuit 100 shown in FIG. 11 is sequentially stored in ascending order. The selector 124 outputs the output of the inverse ROM 120 and the output of the register 125 to the Euclidean arithmetic circuit 101.
The switching is performed based on the control signal output from the controller. Multiplication circuit
At 121, the output of the shift register 123 and the output of the selector 124 are multiplied. Note that the shift register 123 is
Each time multiplication is performed by 1, data is sequentially shifted.

【0211】セレクタ122 では、ユークリッド演算回路
100 より出力される制御信号に基づき、被除多項式の係
数がレジスタ81a に記憶されている場合は乗算回路121
の出力を選択し、被除多項式の係数データがレジスタ81
b に記憶されている場合は、まづ初め0次の商多項式の
係数データがそのまま出力され、商多項式の2次以降の
係数を算出する際は乗算回路121 の出力を選択するよう
に制御するように構成されている。セレクタ122 の出力
はレジスタ125 に記憶される。セレクタ124 は図11に示
すレジスタ81a が被除多項式として扱われている場合は
逆元ROM120の出力を選択し、レジスタ81b が被除多
項式として扱われている場合はレジスタ125 の出力を選
択するように構成されている。
In the selector 122, the Euclidean arithmetic circuit
If the coefficient of the polynomial to be removed is stored in the register 81a based on the control signal output from the multiplication circuit 121,
Is selected and the coefficient data of the polynomial to be
If the coefficient is stored in b, the coefficient data of the zero-order quotient polynomial is output as it is, and control is performed so as to select the output of the multiplication circuit 121 when calculating the second and subsequent coefficients of the quotient polynomial. It is configured as follows. The output of the selector 122 is stored in the register 125. The selector 124 selects the output of the inverse ROM 120 when the register 81a shown in FIG. 11 is treated as a polynomial to be removed, and selects the output of the register 125 when the register 81b is treated as a polynomial to be removed. Is configured.

【0212】この構成によると、レジスタ81a に被除多
項式の係数データが記憶されている場合は除算回路100
より出力される各商多項式の係数データを0次の係数デ
ータで正規化された除算結果が、誤り位置多項式を算出
する際に用いられる商多項式の係数データとなり、レジ
スタ81b に被除多項式の係数データが記憶されている場
合は、セレクタ122, 124を上述のように制御することに
より上述の演算を実行し商多項式の係数データを算出す
ることが可能となる。よって、セレクタ122, 124を追加
するのみの簡単な回路構成で誤り位置多項式を算出でき
る。
According to this configuration, when the register 81a stores the coefficient data of the polynomial to be divided, the division circuit 100
The division result obtained by normalizing the coefficient data of each quotient polynomial output by the coefficient data of the 0th order is the coefficient data of the quotient polynomial used when calculating the error locator polynomial, and the coefficient of the polynomial to be deleted is stored in the register 81b. When the data is stored, the above-described calculation is executed by controlling the selectors 122 and 124 as described above, so that the coefficient data of the quotient polynomial can be calculated. Therefore, the error locator polynomial can be calculated with a simple circuit configuration in which only the selectors 122 and 124 are added.

【0213】なお、上記実施例では商多項式として2次
または3次等の場合について述べたが、この場合商多項
式の各係数データに0が含まれている場合がある。この
ような場合も少し説明は複雑になるが、簡単な回路構成
で実現できる。以下、2次の商多項式中1次の項が0で
あった場合について簡単に説明する。表3に被除多項
式、及び除多項式をそれぞれ、 被除多項式:M1(Z)=An n +An-1 n-1 +・
・・+A1 Z+A0 除多項式:M2(Z)=Bn-2 n-2 +Bn-3 n-3
・・・+B1 Z+B0 とした場合に、被除多項式の係数データがレジスタ81a
に記憶されている場合(除多項式の最大次数の係数デー
タが除算回路100 において除数として扱われている場
合、従来例に示す通常の除算の場合)の除算結果と、被
除多項式の係数データがレジスタ81b に記憶されている
場合(除多項式の最大次数の係数データが除算回路100
において被除数として扱われている場合)の計算結果と
を示す。なお、本実施例においてもユークリッド演算を
行なう際の除算回路部の構成を図11に示す回路構成を採
用するものとする。また、本実施例を説明するため、商
多項式の1次の項を0とする。
In the above embodiment, the case where the quotient polynomial is quadratic or tertiary is described, but in this case, 0 may be included in each coefficient data of the quotient polynomial. Although the description is slightly complicated in such a case, it can be realized with a simple circuit configuration. Hereinafter, the case where the first-order term in the second-order quotient polynomial is 0 will be briefly described. Hijo polynomial Table 3, and the divisor polynomial, respectively, the dividend polynomial: M1 (Z) = A n Z n + A n-1 Z n-1 + ·
.. + A 1 Z + A 0 division polynomial: M2 (Z) = B n−2 Z n−2 + B n−3 Z n−3 +
.. + B 1 Z + B 0 , the coefficient data of the polynomial to be deleted is stored in the register 81a.
(The coefficient data of the maximum degree of the divisor polynomial is treated as a divisor in the division circuit 100, the normal division shown in the conventional example) and the coefficient data of the polynomial to be divided are stored. When the data is stored in the register 81b (the coefficient data of the maximum degree of the divisor polynomial is
In the case where the dividend is treated as a dividend). In the present embodiment, the circuit configuration shown in FIG. 11 is adopted as the configuration of the division circuit unit when performing the Euclidean operation. In order to explain the present embodiment, the first-order term of the quotient polynomial is set to 0.

【0214】[0214]

【表3】 [Table 3]

【0215】数11には上記通常の除算を行った商多項式
を正規化した場合の係数データを示す。
Equation 11 shows coefficient data obtained by normalizing the quotient polynomial subjected to the ordinary division.

【0216】[0216]

【数11】 [Equation 11]

【0217】これより、被除多項式の係数データがレジ
スタ81b に記憶されている場合(除多項式の最大次数の
係数データが除算回路100 において被除数として扱われ
ている場合)に、上記正規化した商多項式を求める際
は、除算回路100 より出力される商データをPi (i=
0,1,・・・,k;kは商多項式の次数)とし、商多
項式の係数データをQi (i=0,1,・・・,k;k
は商多項式の次数)とし、またPj 〜Pm (0<j≦m
<k)のデータを0とすると、 Q0 =1 Q1 =Q0 ×P0 Q2 =Q1 ×P1 ・ ・ Qj =0 ・ ・ Qm+1 =Qj-1 ×Pj-1 ・ ・ Qk =Qk-1 ×Pk-1 となる。
Thus, when the coefficient data of the dividend polynomial is stored in the register 81b (when the coefficient data of the maximum degree of the divisor polynomial is treated as the dividend in the division circuit 100), the normalized quotient is calculated. When obtaining the polynomial, the quotient data output from the division circuit 100 is represented by P i (i =
, K; k is the degree of the quotient polynomial, and the coefficient data of the quotient polynomial is Q i (i = 0, 1,..., K; k).
Is the degree of the quotient polynomial), and P j to P m (0 <j ≦ m
Assuming that the data of <k) is 0, Q 0 = 1 Q 1 = Q 0 × P 0 Q 2 = Q 1 × P 1 ··· Q j = 0 ··· Q m + 1 = Q j−1 × P j −1 ·· Q k = Q k−1 × P k−1

【0218】図22に上記商多項式の係数中に0が存在し
た場合にも対応できる誤り位置多項式を算出する誤り位
置算出回路の一部の回路構成を示す。120 〜125 は図21
に示すものと同一であるので詳細は省略する。126 はレ
ジスタ81b に記憶されている係数データが被除多項式の
時に、次数検出回路88で検出された最大次の係数データ
が0であるかを識別するフラグデータを記憶するシフト
レジスタ、128 はシフトレジスタ126 の出力をラッチし
てデータとのタイミングを合わせるレジスタ、127 はレ
ジスタ128 より出力される信号をもとにレジスタ125 の
出力と0とを選択するセレクタである。逆元ROM120
、乗算回路121 、セレクタ122,124,127、シフトレジス
タ123, 126及びレジスタ125, 128で誤り位置算出回路の
一部は構成されている。なお、本実施例で説明に用いる
図11に示す除算回路100 の構成は図18に示す構成を取っ
ているものとする。すなわち、除算回路100 の除数側の
データに0が入力された場合除算回路100 からは1が出
力されるものとする。
FIG. 22 shows a circuit configuration of a part of an error position calculating circuit that calculates an error position polynomial that can cope with the case where 0 exists in the coefficients of the quotient polynomial. Fig. 21 for 120 to 125
Are omitted since they are the same as those shown in FIG. 126 is a shift register for storing flag data for identifying whether the maximum order coefficient data detected by the degree detection circuit 88 is 0 when the coefficient data stored in the register 81b is a polynomial to be removed, and 128 is a shift register. A register for latching the output of the register 126 to match the timing with the data, and a selector 127 for selecting the output of the register 125 and 0 based on the signal output from the register 128. Inverse ROM 120
, The multiplying circuit 121, the selectors 122, 124, 127, the shift registers 123, 126, and the registers 125, 128 constitute a part of the error position calculating circuit. Note that the configuration of the division circuit 100 shown in FIG. 11 used in the description of the present embodiment has the configuration shown in FIG. That is, when 0 is input to the data on the divisor side of the division circuit 100, 1 is output from the division circuit 100.

【0219】次に、動作について説明する。図22におい
て、逆元ROM120 には、図11に示す除算回路100 より
出力される0次の商多項式の係数が入力される。また、
シフトレジスタ123 には図11に示す除算回路100 より出
力される1次以上の商多項式の係数データが次数の低い
順に逐次記憶される。なお、それと同時にシフトレジス
タ126 にレジスタ81b が被除多項式として扱われる際、
次数検出回路88で検出された0検出フラグ(本実施例で
は、0を検出すると”H”となるものとする)が記憶さ
れる。なお、0検出フラグデータはレジスタ81b に記憶
されている係数データが被除多項式として用いられてい
る場合、被除多項式の最大次数の係数が0であった場合
出力される。セレクタ124 は逆元ROM120 の出力とレ
ジスタ125 の出力とをユークリッド演算制御回路101 よ
り出力される制御信号に基づき切り換える。乗算回路12
1 ではシフトレジスタ123 の出力とセレクタ124 の出力
とを乗算する。
Next, the operation will be described. In FIG. 22, a coefficient of a zero-order quotient polynomial output from the division circuit 100 shown in FIG. Also,
In the shift register 123, coefficient data of the first-order or higher-order quotient polynomial output from the division circuit 100 shown in FIG. 11 is sequentially stored in ascending order. At the same time, when the register 81b is treated as a polynomial in the shift register 126,
The 0 detection flag detected by the order detection circuit 88 (in this embodiment, it is set to “H” when 0 is detected) is stored. Note that the 0 detection flag data is output when the coefficient data stored in the register 81b is used as a polynomial to be deleted or when the coefficient of the maximum degree of the polynomial to be deleted is 0. The selector 124 switches between the output of the inverse ROM 120 and the output of the register 125 based on the control signal output from the Euclidean arithmetic control circuit 101. Multiplication circuit 12
At 1, the output of the shift register 123 and the output of the selector 124 are multiplied.

【0220】なお、シフトレジスタ123, 126は乗算回路
121 で乗算が実施されるたびにデータを逐次シフトする
構成になっている。セレクタ122 では、ユークリッド演
算制御回路101 より出力される制御信号に基づき、被除
多項式の係数データがレジスタ81a に記憶されている場
合は乗算回路121 の出力を選択し、被除多項式の係数デ
ータがレジスタ81b に記憶されている場合は、まず初め
0次の商多項式の係数データがそのまま出力され、商多
項式の2次以降の係数を算出する際は乗算回路121 の出
力を選択するように制御するように構成されている。セ
レクタ122 の出力はレジスタ125 に記憶される。セレク
タ124 は図11に示すレジスタ81a が被除多項式として扱
われている場合は逆元ROM120 の出力を選択し、レジ
スタ81bが被除多項式として扱われている場合はレジス
タ125 の出力を選択するように構成されている。また、
シフトレジスタ126 より出力された0フラグデータはレ
ジスタ128 で商多項式の係数データとタイミングが合わ
されて出力される。
The shift registers 123 and 126 are multiplication circuits.
Each time the multiplication is performed at 121, the data is sequentially shifted. The selector 122 selects the output of the multiplication circuit 121 based on the control signal output from the Euclidean arithmetic control circuit 101 when the coefficient data of the polynomial to be deleted is stored in the register 81a. In the case of being stored in the register 81b, first, the coefficient data of the zero-order quotient polynomial is output as it is, and when calculating the second and subsequent coefficients of the quotient polynomial, control is performed so that the output of the multiplication circuit 121 is selected. It is configured as follows. The output of the selector 122 is stored in the register 125. The selector 124 selects the output of the inverse ROM 120 when the register 81a shown in FIG. 11 is treated as a polynomial to be removed, and selects the output of the register 125 when the register 81b is treated as a polynomial to be removed. Is configured. Also,
The 0 flag data output from the shift register 126 is output by the register 128 in synchronization with the coefficient data of the quotient polynomial.

【0221】いま、被除多項式の係数データがレジスタ
81a に記憶されている場合について説明する。除算回路
100 より出力された商データが0次のものは逆元ROM
120及びセレクタ122 へ入力され1次以上の商データは
シフトレジスタ123 へ記憶される。なお、シフトレジス
タ126 へは”L”が記憶されるものとする。また、逆元
ROM120 に入力されたデータが0の場合は本実施例で
は誤り検出として扱うように制御するものとする。(な
お、上述の実施例でも同様に扱うものとする。)セレク
タ124 は逆元ROM120 の出力を、セレクタ122 は乗算
回路121 の出力を、セレクタ127 はレジスタ125 の出力
を選択するように構成されている。この場合、商多項式
の係数データに0が記憶されている場合でも、0/(逆
元ROM120 の出力)が実行され特に何も操作せずに正
規化が実行される。これによりレジスタ81a に被除多項
式の係数データが記憶されている場合の商多項式の正規
化は実行される。
Now, the coefficient data of the polynomial to be deleted is stored in the register.
The case stored in 81a will be described. Division circuit
If the quotient data output from 100 is 0th order, the inverse ROM
The quotient data of the first order or higher inputted to the selector 120 and the selector 122 is stored in the shift register 123. It is assumed that "L" is stored in the shift register 126. If the data input to the inverse ROM 120 is 0, control is performed in this embodiment to treat the data as error detection. (Note that the same applies to the above embodiment.) The selector 124 is configured to select the output of the inverse ROM 120, the selector 122 selects the output of the multiplier 121, and the selector 127 selects the output of the register 125. ing. In this case, even when 0 is stored in the coefficient data of the quotient polynomial, 0 / (output of the inverse element ROM 120) is executed, and normalization is executed without any particular operation. As a result, normalization of the quotient polynomial when the coefficient data of the polynomial to be deleted is stored in the register 81a is executed.

【0222】同様に、被除多項式の係数データがレジス
タ81b に記憶されている場合について説明する。除算回
路100 より出力された商データが0次のものは逆元RO
M120 及びセレクタ122 へ入力され、1次以上の商デー
タはシフトレジスタ123 へ記憶される。その際、シフト
レジスタ126 には次数検出回路88で検出された0フラグ
データが記憶される。なお、本実施例ではレジスタ81b
に記憶されている被除多項式の最大次数の係数データが
0の場合”H”を出力する構成になっている。また、商
多項式の0次の係数データが0の場合、本実施例では誤
り検出として扱うように誤り訂正装置を制御するものと
する。セレクタ124 はレジスタ125 の出力を選択するよ
うに制御される。セレクタ122 では、ユークリッド演算
制御回路101 より出力される制御信号に基づき、まず初
めは0次の商多項式の係数データがそのま出力され、そ
れ以降の商多項式の係数を算出する際は乗算回路121 の
出力を選択するように制御するように構成されている。
セレクタ122 の出力はレジスタ125 に記憶される。これ
により、初期値として商多項式の1次の係数データがセ
レクタ122 より出力された後、逐次乗算回路121 により
i ×Pi が実行され商多項式がもとめられる。
Similarly, a case where the coefficient data of the polynomial to be deleted is stored in the register 81b will be described. If the quotient data output from the division circuit 100 is 0th order, the inverse RO
M120 and the quotient data of the first or higher order inputted to the selector 122 are stored in the shift register 123. At this time, the shift register 126 stores the 0 flag data detected by the order detection circuit 88. In this embodiment, the register 81b
Is output when the coefficient data of the maximum degree of the polynomial of the stored polynomial is 0. When the coefficient data of the 0th order of the quotient polynomial is 0, the error correction device is controlled so as to be treated as error detection in this embodiment. The selector 124 is controlled to select the output of the register 125. In the selector 122, based on the control signal output from the Euclidean arithmetic control circuit 101, first, coefficient data of the zero-order quotient polynomial is output as it is, and when calculating the coefficients of the quotient polynomial thereafter, the multiplication circuit 121 is used. Is controlled so as to select the output.
The output of the selector 122 is stored in the register 125. Thus, after the primary coefficient data of the quotient polynomial is output from the selector 122 as an initial value, Q i × P i is executed by the successive multiplication circuit 121 to obtain a quotient polynomial.

【0223】一方、商多項式の係数データが0の場合
(すなわち除算回路100 に除数として入力される被除多
項式の係数データが0の場合)、除算回路100 では先ほ
ども述べたように除算出力として1が出力され、それと
同時に次数検出回路88より0検出フラグが出力される。
よって、商多項式の係数データを求める際は、乗算回路
121 ではQi ×1が実行されレジスタ125 にはQi が記
憶されることになる。なお、シフトレジスタ126 より出
力された0フラグデータはレジスタ128 で商多項式の係
数データとタイミングが合わされてセレクタ127 に出力
される。また、シフトレジスタ126 からは0フラグデー
タが出力され、セレクタ127 で0が選択される。そし
て、次の商多項式を算出する際はQi ×Pi+1 が実行さ
れる。
On the other hand, when the coefficient data of the quotient polynomial is 0 (that is, when the coefficient data of the dividend polynomial input as a divisor to the division circuit 100 is 0), the division circuit 100 calculates the division calculation power as described above. 1 is output, and at the same time, the 0 detection flag is output from the order detection circuit 88.
Therefore, when obtaining coefficient data of the quotient polynomial,
At 121, Q i × 1 is executed, and Q i is stored in the register 125. The 0 flag data output from the shift register 126 is output to the selector 127 by the register 128 at the same timing as the coefficient data of the quotient polynomial. The shift register 126 outputs 0 flag data, and the selector 127 selects 0. Then, when calculating the next quotient polynomial, Q i × P i + 1 is executed.

【0224】この構成によると、0フラグを記憶するシ
フトレジスタ126 とセレクタ122,124,127 とを上述のよ
うに制御することにより上述の演算を実行し商多項式の
係数データを算出することが可能となる。よって、シフ
トレジスタ126 とセレクタ122,124,127 とを追加するの
みの簡単な回路構成で誤り位置多項式を算出できる。
According to this configuration, by controlling the shift register 126 for storing the 0 flag and the selectors 122, 124 and 127 as described above, it is possible to execute the above-described calculation and calculate coefficient data of the quotient polynomial. Therefore, the error locator polynomial can be calculated with a simple circuit configuration in which only the shift register 126 and the selectors 122, 124, 127 are added.

【0225】なお、第8実施例では、誤り位置多項式を
算出する際の誤り位置多項式算出回路の商多項式を正規
化する回路の構成を図20〜22に示したが、逆元ROM12
0 及び乗算回路121 部分を図20に示す除算回路100 と兼
用し回路規模の縮小を図ってもよい。また、シフトレジ
スタ123 をレジスタ81a, 81bと兼用して回路規模の縮小
を図ってもよい。
In the eighth embodiment, the configuration of the circuit for normalizing the quotient polynomial of the error locator polynomial calculation circuit when calculating the error locator polynomial is shown in FIGS.
The 0 and the multiplication circuit 121 may also be used as the division circuit 100 shown in FIG. 20 to reduce the circuit scale. Further, the shift register 123 may be used also as the registers 81a and 81b to reduce the circuit scale.

【0226】また、第8実施例では、誤り位置多項式を
算出する際の誤り位置多項式算出回路の回路構成を図20
〜22に示す構成をとってきたがこの構成に限るものでは
なく、図11または図14に示す回路構成をとる誤り訂正装
置において、除算回路100 へ被除数として入力される多
項式が、除多項式であった場合と被除多項式であった場
合とで誤り位置多項式を算出する誤り位置算出回路での
演算方法を切り換えるように構成すれば同様の効果を奏
する。例えば、本実施例では商多項式の0次の係数デー
タを1に正規化したが、商多項式の最大次数の係数を1
に正規化する場合においても、商多項式の求め方の詳細
は省略するが上述のように誤り位置算出手段中の商多項
式を求める演算方法を切り換えれば同様に求められる。
In the eighth embodiment, the circuit configuration of the error locator polynomial calculation circuit for calculating the error locator polynomial is shown in FIG.
Although the configurations shown in FIGS. 22 to 22 have been taken, the present invention is not limited to this configuration.In an error correction device having the circuit configuration shown in FIG. 11 or FIG. 14, the polynomial input to the division circuit 100 as the dividend is a divisor polynomial. The same effect can be obtained by a configuration in which the calculation method in the error position calculation circuit for calculating the error position polynomial is switched between the case where the error polynomial is used and the case where the error polynomial is used. For example, in the present embodiment, the coefficient data of the 0th order of the quotient polynomial is normalized to 1, but the coefficient of the maximum order of the quotient polynomial is set to 1
In the case of normalization to, the details of how to obtain the quotient polynomial are omitted, but the same can be obtained by switching the calculation method for obtaining the quotient polynomial in the error position calculating means as described above.

【0227】また、第8実施例では、商多項式が2次の
場合または除算回路100 より出力される除算結果が0の
場合についても、図21または図22に示す回路構成により
商多項式を算出したが、商多項式がある次数以上の場合
または除算回路100 より出力された係数データに0の係
数データが含まれていた場合、商多項式を算出せず誤り
検出として処理し制御の簡略化及び回路規模の縮小を図
ってもよい。
In the eighth embodiment, even when the quotient polynomial is quadratic or when the division result output from the division circuit 100 is 0, the quotient polynomial is calculated by the circuit configuration shown in FIG. 21 or FIG. However, if the quotient polynomial is of a certain order or higher, or if the coefficient data output from the division circuit 100 includes coefficient data of 0, the quotient polynomial is not calculated but is processed as error detection, thereby simplifying control and circuit scale. May be reduced.

【0228】第9実施例.以下、本発明の第9実施例に
ついて説明する。本実施例では図11に示す誤り訂正装置
を用いた場合について説明する。図23に第9実施例のブ
ロック構成図を示す。本実施例では図11に示す誤り訂正
装置のコア回路の構成にイレージャ訂正を行う際に必要
となる修正シンドロームを算出するためのセレクタを追
加した構成になっている。図において81a, 81b, 85〜8
8,95,100 及び101 は図11と同一であるので説明は省
略する。130,131,132 はセレクタ、133 はイレージャ位
置を入力する入力端子である。なお、イレージャ訂正を
行う際は、上記被除多項式及び除多項式を記憶するレジ
スタ81a, 81bの数は、修正シンドロームの各係数データ
を記憶するため、(修正シンドロームの最大次数+1)
個のレジスタが被除数及び除数各々に必要となる。
Ninth embodiment. Hereinafter, a ninth embodiment of the present invention will be described. In this embodiment, the case where the error correction device shown in FIG. 11 is used will be described. FIG. 23 shows a block diagram of the ninth embodiment. This embodiment has a configuration in which a selector for calculating a correction syndrome required for performing erasure correction is added to the configuration of the core circuit of the error correction device shown in FIG. In the figure, 81a, 81b, 85-8
8, 95, 100 and 101 are the same as in FIG. 130, 131 and 132 are selectors, and 133 is an input terminal for inputting an erasure position. When the erasure correction is performed, the number of registers 81a and 81b for storing the above-described polynomial to be deleted and the polynomial to be divided is (maximum degree of the corrected syndrome + 1) because each coefficient data of the corrected syndrome is stored.
Registers are required for each dividend and divisor.

【0229】イレージャ訂正とは誤りの位置はわかって
いるが誤り数値がわからないといった場合の誤り訂正に
用いられる方法で、簡単に述べると、誤り位置情報より
修正シンドロームを計算し、この修正シンドロームをも
とに図25に示すユークリッドアルゴリズムを実行し誤り
訂正を行う。その際、ユークリッドアルゴリズムにおい
ては終了条件を変えて、シンドローム多項式を修正シン
ドローム多項式に置き換えるだけで他は変わらない。
(イレージャがある場合のユークリッドアルゴリズムの
詳しい説明は前述の「符号理論」のpp.173〜175 を参
照)
The erasure correction is a method used for error correction when the error position is known but the error value is not known. In short, the correction syndrome is calculated from the error position information, and this correction syndrome is also calculated. At this time, the Euclidean algorithm shown in FIG. 25 is executed to perform error correction. At that time, in the Euclidean algorithm, only the end condition is changed and the syndrome polynomial is replaced with the modified syndrome polynomial, and the others remain unchanged.
(For a detailed description of the Euclidean algorithm when there is an erasure, refer to pp.173-175 of "Coding Theory" above)

【0230】上記修正シンドロームの算出方法を以下に
簡単に説明する。いま、再生または受信データより算出
されたシンドローム多項式S(Z)を S(Z)=S1515+S1414+S1313+・・・S1
Z+S0 とし、またイレージャの位置をα0 ・・・αk とする。
この際、修正シンドロームS(z)’は S(z)’=S(z)×{(Z+α0 )×(Z+α1
×・・・×(Z+αk )} で算出される。
[0230] A method of calculating the above-mentioned modified syndrome will be briefly described below. Now, it was calculated from reproduced or received data syndrome polynomial S a (Z) S (Z) = S 15 Z 15 + S 14 Z 14 + S 13 Z 13 + ··· S 1
Z + S 0, and the position of the erasure is α 0 ... Α k .
At this time, the modified syndrome S (z) ′ is given by S (z) ′ = S (z) × {(Z + α 0 ) × (Z + α 1 )
× ... × (Z + α k )}

【0231】以下、図23を用いて修正シンドロームS
(Z)’を求める際の回路動作を説明する。シンドロー
ム生成が終了するとユークリッド演算のコア回路ではレ
ジスタ81b にシンドローム多項式の各係数データがセッ
トされる。その際、イレージャ数によりシンドローム多
項式の最大次数の係数が記憶されるレジスタ位置が変わ
る。レジスタ81b にシンドローム多項式の係数データが
セットされるとユークリッド演算制御回路101 より出力
される制御信号によりセレクタ130 は誤り位置情報を、
セレクタ131 はレジスタ81b の出力を、セレクタ132 は
レジスタ81b に記憶されている1次次数が高いシンドロ
ーム多項式の係数データを選択するように制御される。
そして、レジスタ81b の内容を右側にシフトすることに
より S(Z)×Z+S(Z)×α0 を実行する。(なお、α0 はイレージャの位置情報を示
す。)数12に、具体的な筆算結果を示す。
The modified syndrome S will be described below with reference to FIG.
The circuit operation for obtaining (Z) ′ will be described. When the syndrome generation is completed, each coefficient data of the syndrome polynomial is set in the register 81b in the core circuit of the Euclidean operation. At this time, the register position at which the coefficient of the maximum degree of the syndrome polynomial is stored changes depending on the number of erasures. When the coefficient data of the syndrome polynomial is set in the register 81b, the selector 130 outputs error position information by a control signal output from the Euclidean arithmetic control circuit 101.
The selector 131 is controlled so as to select the output of the register 81b, and the selector 132 is controlled so as to select the coefficient data of the syndrome polynomial having a high first order stored in the register 81b.
Then, by shifting the contents of the register 81b to the right, S (Z) × Z + S (Z) × α 0 is executed. (Note that α 0 indicates the position information of the erasure.) Equation 12 shows a specific handwriting result.

【0232】[0232]

【数12】 (Equation 12)

【0233】なお、最大次数S15については演算が行わ
れても変わらないため係数をそのままシフトするように
構成するものとする。また、0次の係数はS0 ×α0
みを実行するように構成する。そして、この動作を、逐
次行うことにより修正シンドロームを算出する。図24に
修正シンドロームを算出する際のセレクタ131, 132の接
続状態を示す。なお、この図は図23に示す回路の1部の
接続状態を示したものである。図に示すように本実施例
では修正シンドロームを算出する際はレジスタ81a は動
作しない。
[0233] Note that the maximum degree S 15 is assumed to be configured to directly shift the coefficients for unchanged even if operation is performed. Also, the zero-order coefficient is configured to execute only S 0 × α 0 . Then, the correction syndrome is calculated by sequentially performing this operation. FIG. 24 shows the connection state of the selectors 131 and 132 when calculating the correction syndrome. This diagram shows a connection state of a part of the circuit shown in FIG. As shown in the figure, in the present embodiment, the register 81a does not operate when calculating the correction syndrome.

【0234】修正シンドロームの算出が終了すると図23
に示す誤り訂正装置のコア回路はセレクタ130 を除算回
路100 の出力を、セレクタ131 はレジスタ81a の出力を
選択するように切り換えられる。また、セレクタ132 は
同次数のレジスタ81b の出力を選択するように切り換え
られ、各構成要素の接続が図11に示すものと同一の構成
になる。一方、ユークリッド演算制御回路101 では、修
正シンドロームを求める際、イレージャ数により図25に
示す終了条件uを u=t から u=(2×t+k)/2 と設定する。なお、kはイレージャ訂正を行なうシンボ
ルの数である。
When the calculation of the modified syndrome is completed, FIG.
The selector 130 switches the selector 130 to select the output of the divider circuit 100 and the selector 131 to select the output of the register 81a. Further, the selector 132 is switched so as to select the output of the register 81b of the same order, and the connection of each component becomes the same as that shown in FIG. On the other hand, the Euclidean arithmetic control circuit 101 sets the end condition u shown in FIG. 25 from u = t to u = (2 × t + k) / 2 based on the number of erasures when obtaining the correction syndrome. Here, k is the number of symbols to be subjected to erasure correction.

【0235】ユークリッド演算が開始されるとまず始
め、ユークリッド演算制御回路101 より出力されるユー
クリッド演算開始信号をもとにレジスタ81a に初期値で
ある被除多項式Z2tの係数が記憶されるとともに、レジ
スタ81b に除多項式である修正シンドローム多項式S
(Z)’の各係数データが記憶される。また、次数検出
回路87, 88のカウンタにはそれぞれ次数の初期値である
16と15とがセットされる。次数検出回路87, 88内のカウ
ンタは被除多項式の係数データを記憶しているレジスタ
81が1回シフトされるたびにカウント値が1つ下がるよ
うに構成されている。それと同時に、除多項式である修
正シンドローム多項式は次数検出回路88で最高次数の係
数データが0であるか判定する。ユークリッド演算制御
回路101 では、次数検出回路88で検出された除多項式
(修正シンドローム多項式)の最大次数の係数が0の場
合、除多項式の係数データが記憶されているレジスタ81
b の内容をシフトし(なお、この際加算回路86での加算
動作を行わずレジスタ81b の内容をそのままシフトする
構成になっている)最大次数のデータが0でなくなるま
でシフト動作を繰り返す。その際、次数検出回路88中の
カウンタはカウント値をシフト動作が行われるたびに1
づつ減らされる。
First, when the Euclidean operation is started, based on the Euclidean operation start signal output from the Euclidean operation control circuit 101, the initial value of the coefficient of the polynomial Z 2t to be removed is stored in the register 81a. The modified syndrome polynomial S, which is a divisor polynomial, is stored in the register 81b.
Each coefficient data of (Z) ′ is stored. In addition, the counters of the order detection circuits 87 and 88 each have the initial value of the order.
16 and 15 are set. The counters in the order detection circuits 87 and 88 are registers that store the coefficient data of the polynomial to be removed.
Each time the value 81 is shifted once, the count value is decreased by one. At the same time, the modified syndrome polynomial, which is a divisor polynomial, is determined by the order detection circuit 88 to determine whether the coefficient data of the highest order is zero. In the Euclidean arithmetic control circuit 101, when the coefficient of the maximum degree of the divisor polynomial (corrected syndrome polynomial) detected by the degree detector 88 is 0, a register 81 storing coefficient data of the divisor polynomial is stored.
The content of b is shifted (in this case, the content of the register 81b is shifted as it is without performing the addition operation in the addition circuit 86). The shift operation is repeated until the data of the maximum order is not 0. At this time, the counter in the order detection circuit 88 changes the count value by one each time the shift operation is performed.
It is reduced one by one.

【0236】また、第5実施例と同様に、被除多項式の
係数データが記憶されているレジスタ81a はクロックが
入力されると加算回路86の出力がラッチされるように構
成されており、除多項式の係数データが記憶されている
レジスタ81b は係数データが保持されるように構成され
ている。この動作を、被除多項式の次数が除多項式の次
数より小さくなるまで繰り返す。
Similarly to the fifth embodiment, the register 81a storing the coefficient data of the polynomial to be deleted is configured so that the output of the adder circuit 86 is latched when a clock is input. The register 81b in which the polynomial coefficient data is stored is configured to hold the coefficient data. This operation is repeated until the degree of the dividend polynomial becomes smaller than the degree of the divisor polynomial.

【0237】ユークリッド演算制御回路101 では、次数
検出回路87(または88)より出力される上記剰余多項式
の次数をもとに、剰余の次数が上記イレージャ訂正を行
なう際に新たに設定されたユークリッド演算の終了条件
を満たしていればユークリッド演算を終了し、終了条件
を満たしていなければ前回の演算で除多項式であった多
項式を被除多項式として、また上記剰余多項式を除多項
式として演算を実行する。従来例のように交換手段を有
していないので回路の接続状態は変わらないが、レジス
タ81a に供給されていたクロック1が止められて、反対
にレジスタ81bにクロック2が供給される。よって、レ
ジスタ81a の内容が保持され、レジスタ81b に剰余多項
式の係数が逐次記憶される。
In the Euclidean arithmetic control circuit 101, based on the degree of the remainder polynomial output from the degree detection circuit 87 (or 88), the degree of the remainder is newly set when performing the erasure correction. If the end condition is not satisfied, the Euclidean operation is ended. If the end condition is not satisfied, the operation is executed with the polynomial that was the divisor polynomial in the previous operation as the polynomial to be removed and the remainder polynomial as the divisor. Since there is no switching means as in the conventional example, the connection state of the circuit does not change, but the clock 1 supplied to the register 81a is stopped and the clock 2 is supplied to the register 81b. Therefore, the contents of the register 81a are held, and the coefficients of the remainder polynomial are sequentially stored in the register 81b.

【0238】その際、ユークリッド演算回路中の除算回
路では、次数検出回路88により被除多項式(剰余多項
式)の最大次数が0であるかを判定し、0であった場合
レジスタ81b に記憶されている被除多項式(剰余多項
式)の内容をそのまま1つシフトするように制御信号を
出力する。これは、除算回路100 へ出力される除数と被
除数を格納するレジスタが決まっており被除多項式の係
数データが除数として用いられる場合、被除多項式の最
大次数の係数が0と成ってしまうと被除数(除多項式の
最大係数)を0で割ることになり、解(出力)が不定と
なってしまう場合が生じるためである。なお、本実施例
では除算回路100 の構成を図18に示す構成としているの
で最大次数の係数データが0の場合もあまり気にせず除
算動作を行える。
At this time, in the division circuit in the Euclidean arithmetic circuit, the order detection circuit 88 determines whether the maximum degree of the dividend polynomial (remainder polynomial) is 0, and if it is 0, the result is stored in the register 81b. A control signal is output so that the contents of the polynomial to be deleted (remainder polynomial) are shifted by one. This is because when the register for storing the divisor and the dividend to be output to the division circuit 100 is determined and the coefficient data of the dividend polynomial is used as the divisor, if the coefficient of the maximum degree of the dividend polynomial becomes 0, the dividend This is because (the largest coefficient of the divisor polynomial) is divided by 0, and the solution (output) may become indefinite. In this embodiment, since the configuration of the division circuit 100 is the configuration shown in FIG. 18, even when the coefficient data of the maximum order is 0, the division operation can be performed without much concern.

【0239】上記例と同様に、被除多項式の剰余の次数
が除多項式次数より小さくなるまで被除多項式の係数デ
ータを記憶しているレジスタの内容を演算しながらシフ
ト動作を繰り返すことにより除算を実行する。そして、
上記剰余多項式の次数を判定し所定の条件を満たしてい
なければレジスタ81a, 81bに供給するクロックを切り換
えてユークリッドアルゴリズムに基づく除算動作を再び
行う。これにより、リード・ソロモン符号を復号する際
に、イレージャ訂正をも考慮したユークリッドアルゴリ
ズムに基づくガロア体上の多項式同士の除算を1多項式
毎に行うことができ、誤り訂正処理速度を向上させるこ
とが出来るとともに交換手段(セレクタ)を持たないた
め回路規模の縮小が図れ、またセレクタ制御も必要なく
なる。
Similarly to the above example, the division is performed by repeating the shift operation while calculating the contents of the register storing the coefficient data of the polynomial to be divided until the degree of the remainder of the polynomial to be divided is smaller than the degree of the polynomial. Execute. And
The order of the remainder polynomial is determined, and if the predetermined condition is not satisfied, the clock supplied to the registers 81a and 81b is switched to perform the division operation based on the Euclidean algorithm again. Thus, when decoding a Reed-Solomon code, division between polynomials on a Galois field based on the Euclidean algorithm that also considers erasure correction can be performed for each polynomial, thereby improving the error correction processing speed. As much as possible, since there is no exchange means (selector), the circuit scale can be reduced, and selector control is not required.

【0240】上記第5〜第9実施例では光ディスク等に
採用されている最小ハミング距離17のリード・ソロモン
符号について述べたがこれに限るものではなく最小ハミ
ング距離が17以外の符号でも同様の効果を奏する。ま
た、上記実施例に示す回路構成にて、最小ハミング距離
が異なる2種類以上のリード・ソロモン符号も復号でき
る。例えば、積符号形式のリード・ソロモン符号の復号
も同一の回路でユークリッドアルゴリズムの初期値及び
終了条件をかえるだけで復号することができる。
In the fifth to ninth embodiments , the Reed-Solomon code having a minimum Hamming distance of 17 used for an optical disk or the like has been described. However, the present invention is not limited to this. To play. Further, with the circuit configuration shown in the above embodiment, two or more kinds of Reed-Solomon codes having different minimum Hamming distances can be decoded. For example, the Reed-Solomon code of the product code format can be decoded by changing the initial value and the end condition of the Euclidean algorithm with the same circuit.

【0241】また、各実施例では誤り訂正符号としてリ
ード・ソロモン符号を用いた場合について説明したがB
CH符号などの他の線形誤り訂正符号の復号に上記除算
回路を用いて復号しても同様の効果を奏する。
In each embodiment, the case where the Reed-Solomon code is used as the error correction code has been described.
Similar effects can be obtained by decoding other linear error correction codes such as a CH code using the above-described division circuit.

【0242】また、各実施例では除算演算時、レジスタ
81a, 81bのシフト、及びデータの保持をクロック1, 2
を制御することにより実行したがこれに限るものではな
く、例えばレジスタ81a, 81bの入力にセレクタを設け、
セレクタにより除多項式側のレジスタは自分自身の出力
をラッチし、被除多項式側のレジスタは加算回路86の出
力をラッチする様に制御してもよい。
In each of the embodiments, when performing the division operation, the register
Clocks 1 and 2 are used for shifting 81a and 81b and holding data.
However, the present invention is not limited to this. For example, a selector is provided at the input of the registers 81a and 81b,
The selector may control the register on the polynomial side to latch its own output and the register on the polynomial side to latch the output of the adder 86.

【0243】また、被除多項式と除多項式との交換判定
は次数検出回路87,88より出力される各多項式の次数差
を検出する方法に限るものではない。例えば、被除多項
式の次数と除多項式の次数との差を除算を始める前に予
め求めておき、この情報をもとに一義的に除算回路のシ
フト回数を決定し次数差を検出せず除算を行うなどの方
法を用いてもよい。
In addition, the exchange decision between the polynomial to be divided and the polynomial to be divided is not limited to the method of detecting the degree difference between the polynomials output from the degree detection circuits 87 and 88. For example, before starting the division, the difference between the degree of the dividend polynomial and the degree of the divisor polynomial is determined in advance, and based on this information, the number of shifts of the division circuit is uniquely determined, and division is performed without detecting the degree difference. May be used.

【0244】また、各実施例では、シンドローム多項
式, 剰余多項式等の次数を検出する際、レジスタ81a, 8
1bにおける最大次数の係数が記憶されているレジスタの
みに次数検出回路87, 88を接続し検出していたが、これ
に限るものではなく、例えば、各係数データを記憶する
レジスタ81に係数判定回路(係数データが0であるか否
かを判定する回路)を設けて次数判定を行ってもよい。
In each embodiment, when the order of a syndrome polynomial, a remainder polynomial, or the like is detected, the registers 81a, 8
Although the order detection circuits 87 and 88 are connected and detected only to the register in which the coefficient of the maximum order in 1b is stored, the present invention is not limited to this. For example, the coefficient determination circuit is stored in the register 81 that stores each coefficient data. (A circuit for determining whether or not the coefficient data is 0) may be provided to perform the order determination.

【0245】更に、詳細は省略するがユークリッドアル
ゴリズム以外、例えば剰余復号等にも上記回路構成を適
用できることは言うまでもない。
Although the details are omitted, it goes without saying that the above circuit configuration can also be applied to, for example, remainder decoding and the like other than the Euclidean algorithm.

【0246】[0246]

【発明の効果】以上のように第1発明の誤り訂正装置
は、入力信号にあらかじめ付加されている線形符号であ
る誤り訂正符号によって符号化された信号中に発生する
誤りを訂正するための誤り訂正装置にあって、誤り訂正
符号が付加された単位情報ブロックより再生または受信
信号中に含まれる誤りにのみ依存するシンドロームを生
成するためのシンドローム生成手段と、生成されたシン
ドロームを基に誤り位置多項式σ(z)及び誤り数値多
項式ω(z)を算出する誤り位置・数値多項式演算手段
と、算出された誤り位置多項式σ(z)を基に誤り位置
を算出する誤り位置算出手段と、上記算出された誤り数
値多項式ω(z)及び誤り位置情報を基に誤り訂正を行
う誤り訂正手段とを有し、誤り訂正時に、少なくともシ
ンドローム生成手段、誤り位置・数値多項式演算手段及
び誤り位置算出手段の3つの処理動作を並行して動作す
るように構成されているので、例えば図33に示す1誤り
訂正ブロックに復号処理を施す際2倍以上のスピードで
処理を完了することが可能となる。
As described above, the error correction apparatus according to the first aspect of the present invention provides an error correction apparatus for correcting an error occurring in a signal encoded by an error correction code which is a linear code added to an input signal in advance. A syndrome generating means for generating a syndrome dependent only on an error contained in a reproduced or received signal from a unit information block to which an error correction code is added, and an error position based on the generated syndrome. Error position / numerical polynomial calculating means for calculating a polynomial σ (z) and an error numerical polynomial ω (z); error position calculating means for calculating an error position based on the calculated error position polynomial σ (z); Error correction means for performing error correction on the basis of the calculated error numerical polynomial ω (z) and error position information, wherein at least error correction means for error correction; Since the three processing operations of the position / numerical polynomial calculation means and the error position calculation means are operated in parallel, for example, when decoding processing is performed on one error correction block shown in FIG. Processing can be completed at a speed.

【0247】また第2発明の誤り訂正装置は、比較的高
速化が図れるシンドローム生成手段及び誤り位置算出手
段を駆動するクロックを、誤り位置・数値多項式演算手
段を駆動するクロックより高い周波数のクロックで駆動
するように構成したので、1誤り訂正ブロックを復号す
るのに要する復号時間を短縮することができ、処理速度
を上げることが可能となる。
In the error correction device of the second invention, the clock for driving the syndrome generating means and the error position calculating means, which can achieve relatively high speed, is a clock having a higher frequency than the clock for driving the error position / numerical polynomial calculating means. Since it is configured to be driven, the decoding time required to decode one error correction block can be reduced, and the processing speed can be increased.

【0248】また第3発明の誤り訂正装置は、比較的計
算にステップ数を要するシンドローム生成手段及び誤り
位置算出手段のステップ数にあわせて誤り位置・数値多
項式演算手段のステップ数を増やすことにより回路規模
を図ったので、誤り訂正装置全体の復号速度を損ねるこ
となく回路規模の削減を図れる。
The error correcting apparatus according to the third aspect of the present invention increases the number of steps of the error position / numerical polynomial calculation means in accordance with the number of steps of the syndrome generation means and the error position calculation means which require a relatively large number of steps for calculation. Since the scale is increased, the circuit scale can be reduced without impairing the decoding speed of the entire error correction device.

【0249】また第4発明の誤り訂正装置は、誤り訂正
手段によりRAM内のデータに誤り訂正を施す際に誤り
位置算出手段より出力される誤り位置情報に基づく誤っ
たデータを逐次読み出した後に、誤り訂正を施したデー
タを逐次RAMに書き込むように構成したので、通常1
シンボルの誤り訂正を行う際、RAMからのデータの読
み出し、誤り訂正、RAMへのデータの書き込みと最低
3ステップかかっていた動作を2ステップで行うことが
可能となり、誤り訂正装置の高速化が図れる。よって、
高速化のネックとなるRAMのデータのアクセスを常に
行うように構成されているので、回路規模の増大を極力
控えて最高速の誤り訂正装置を構成することが可能とな
る。
Further, the error correction device according to the fourth invention reads out erroneous data based on the error position information output from the error position calculation means when the error correction means corrects the data in the RAM. Since the error-corrected data is configured to be sequentially written into the RAM, the
When performing error correction of a symbol, data reading from the RAM, error correction, and data writing to the RAM can be performed in at least three steps in two steps, thereby increasing the speed of the error correction device. . Therefore,
Since the configuration is such that data access to the RAM, which is a bottleneck in speeding up, is always performed, it is possible to configure the highest-speed error correction device while minimizing an increase in circuit scale.

【0250】また第5発明の誤り訂正装置は、所定の被
除多項式を除多項式で除算し、さらにその剰余を除多項
式として、また前記除多項式を被除多項式として除算し
て剰余の多項式の次数がある条件を満たすまで上記動作
を繰り返すユークリッド互除の処理過程を含んでリード
・ソロモン符号による誤り訂正処理を行う誤り訂正装置
において、上記被除多項式及び除多項式の各係数データ
を記憶しておくレジスタをシフトレジスタ状に配置し、
そして、上記2つの多項式の最大次数の係数同士を除算
する除算回路と、除算回路の除数側に設定された多項式
の係数データと除算回路の出力を乗算する乗算回路と乗
算回路の出力と除算回路の被除数側に設定された多項式
の係数データを加算する加算回路とを配置し、ガロア体
上の除算を実行する際に被除多項式の係数データが記憶
されているレジスタの内容を逐次シフトすることにより
ユークリッド互除過程に基づく除算を実行するように構
成しているので、ユークリッド互除過程におけるガロア
体上の多項式同士の除算を実行する際、各多項式の係数
データを交換するためのセレクタをもたずにユークリッ
ド互除過程中の除算を実行するため、回路規模の縮小を
図れるとともにセレクタ制御が不必要になり回路の簡素
化が図れる。
The error correcting apparatus according to a fifth aspect of the present invention divides a given polynomial by a polynomial, further divides the remainder as a polynomial, and divides the polynomial as a polynomial to obtain the degree of the polynomial of the remainder. A register for storing each coefficient data of the polynomial and the polynomial in an error correction device that performs an error correction process using a Reed-Solomon code including a process of Euclidean mutual repetition that repeats the above operation until a certain condition is satisfied. Are arranged in the form of a shift register,
A division circuit for dividing the coefficients of the maximum degree of the two polynomials with each other; a multiplication circuit for multiplying the output of the division circuit by the polynomial coefficient data set on the divisor side of the division circuit; an output of the multiplication circuit and a division circuit And an adder circuit for adding coefficient data of the polynomial set on the dividend side, and sequentially shifting the contents of the register storing the coefficient data of the dividend polynomial when performing division on the Galois field. Is configured to execute division based on the Euclidean mutual division process, so when performing division between polynomials on the Galois field in the Euclidean mutual division process, there is no selector for exchanging coefficient data of each polynomial. In addition, since the division is performed during the Euclidean mutual division process, the circuit scale can be reduced, and the selector control becomes unnecessary, so that the circuit can be simplified.

【0251】また第6発明の誤り訂正装置は、乗算回路
をユークリッド互除過程における初期値Z2tをセットす
るレジスタ群に配置し乗算回路の数を削減するように構
成したので、除算動作を行うため乗算回路の数を1つ減
らすことができ、前述したように約 400ゲート程度の回
路規模の縮小が図れる。
In the error correction device according to the sixth invention, the multiplication circuit is arranged in a group of registers for setting the initial value Z 2t in the Euclidean mutual division process so as to reduce the number of multiplication circuits. The number of multiplication circuits can be reduced by one, and the circuit scale can be reduced to about 400 gates as described above.

【0252】また第7発明の誤り訂正装置は、除算回路
において、除数として入力される多項式の最大次数の係
数が0であった場合、除算回路の出力を1として出力す
るように構成したので、ユークリッド演算制御回路で被
除多項式または除多項式の最大次数が0であった場合で
も、特別な制御を加えることなくユークリッドアルゴリ
ズムにおけるガロア体上の多項式同士の演算を実行で
き、制御回路の簡素化が図れる。
Further, the error correction device according to the seventh aspect of the present invention is configured such that when the coefficient of the maximum degree of the polynomial input as the divisor is 0, the output of the division circuit is output as 1 in the division circuit. Even when the maximum degree of a polynomial to be divided or a divisor polynomial is 0 in the Euclidean arithmetic control circuit, it is possible to execute an arithmetic operation between polynomials on a Galois field in the Euclidean algorithm without adding special control, thereby simplifying the control circuit. I can do it.

【0253】また第8発明の誤り訂正装置は、除算回路
の出力を用いて誤り位置多項式σ(Z)を算出する際、
除算回路に入力される被除多項式の最大次数の係数デー
タが除数として扱われる場合と被除数として扱われる場
合とで算出方法を切り換えるように構成されているの
で、誤り位置多項式が正確に算出されるとともに、復号
ステップ数を削減できる。
The error correcting apparatus according to the eighth invention calculates the error locator polynomial σ (Z) using the output of the division circuit.
Since the calculation method is switched between a case where coefficient data of the highest degree of the dividend polynomial input to the division circuit is treated as a divisor and a case where the coefficient data is treated as a dividend, an error locator polynomial is accurately calculated. At the same time, the number of decoding steps can be reduced.

【0254】また第9発明の誤り訂正装置は、除算手段
の出力と誤り位置情報を選択する第1の選択手段と、除
算手段の除数側の多項式の係数を記憶しておく記憶手段
の出力と、除算手段の被除数側の多項式の係数データを
記憶しておく記憶手段の出力とを選択する第2の選択手
段と、除算手段の除数側の多項式の係数とそれより1次
次数が高い除算手段の除数側の多項式の係数とを選択す
る第3の選択手段と、第1の選択手段の出力と第3の選
択手段の出力とを乗算する乗算手段と、乗算手段の出力
と第2の選択手段の出力とを加算する加算手段とを有
し、消失訂正時に修正シンドローム多項式を演算する
際、第1,第2及び第3の選択手段でそれぞれ誤り位置
情報,上記除算手段の除数側の多項式の係数データ及び
1次次数が高い多項式の係数を選択するように構成して
いるので、イレージャ訂正を行う際に算出する修正シン
ドローム多項式の算出をセレクタ回路を付加するだけで
行うことができ、回路規模の増大を極力抑えてイレージ
ャ訂正にも対応できる。
The error correcting apparatus according to the ninth aspect of the present invention is characterized in that the output of the dividing means and the first selecting means for selecting the error position information, and the output of the storing means for storing the coefficients of the polynomial on the divisor side of the dividing means. A second selecting means for selecting an output of a storage means for storing coefficient data of a polynomial on the dividend side of the dividing means, and a dividing means having a higher order degree than the coefficient of the polynomial on the divisor side of the dividing means. Selecting means for selecting a coefficient of a polynomial on the divisor side, multiplying means for multiplying an output of the first selecting means and an output of the third selecting means, an output of the multiplying means and a second selecting means Adding means for adding the output of the dividing means to the corrected syndrome polynomial at the time of erasure correction, wherein the first, second and third selecting means respectively provide error position information and a polynomial on the divisor side of the dividing means. Coefficient data and polynomial with high first order Since the configuration is such that the coefficients are selected, the correction syndrome polynomial to be calculated when performing erasure correction can be calculated simply by adding a selector circuit. Can respond.

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

【図1】本発明の誤り訂正装置のブロック構成図であ
る。
FIG. 1 is a block diagram of an error correction device according to the present invention.

【図2】図1に示す誤り訂正装置の回路動作を説明する
ためのタイミングチャートである。
FIG. 2 is a timing chart for explaining a circuit operation of the error correction device shown in FIG.

【図3】本発明の他の誤り訂正装置のブロック構成図で
ある。
FIG. 3 is a block diagram of another error correction device of the present invention.

【図4】図3に示す誤り訂正装置の回路動作を説明する
ためのタイミングチャートである。
FIG. 4 is a timing chart for explaining a circuit operation of the error correction device shown in FIG. 3;

【図5】ユークリッド演算回路のガロア体上の多項式の
除算回路のブロック構成図である。
FIG. 5 is a block diagram of a polynomial division circuit on a Galois field of the Euclidean operation circuit.

【図6】図5に示す除算回路の回路動作を説明するため
のタイミングチャートである。
6 is a timing chart for explaining a circuit operation of the division circuit shown in FIG.

【図7】誤り訂正装置全体の動作を説明するためのタイ
ミングチャートである。
FIG. 7 is a timing chart for explaining the operation of the entire error correction device.

【図8】ユークリッド演算回路のガロア体上の多項式の
他の除算回路のブロック構成図である。
FIG. 8 is a block diagram of another division circuit of the polynomial on the Galois field of the Euclidean operation circuit.

【図9】誤り訂正回路の回路動作を説明するためのタイ
ミングチャートである。
FIG. 9 is a timing chart for explaining a circuit operation of the error correction circuit.

【図10】誤り訂正回路の回路動作を説明するための他
のタイミングチャートである。
FIG. 10 is another timing chart for explaining the circuit operation of the error correction circuit.

【図11】本発明の誤り訂正装置のユークリッド演算を
行う際のガロア体上の多項式同士の除算を行う他の除算
回路のブロック構成図である。
FIG. 11 is a block diagram of another division circuit that divides polynomials on a Galois field when performing Euclidean operation of the error correction device of the present invention.

【図12】図11に示す除算回路の回路動作を説明する
ための図である。
12 is a diagram for explaining a circuit operation of the division circuit shown in FIG.

【図13】図11に示す除算回路の回路動作を説明する
ための図である。
13 is a diagram for describing a circuit operation of the division circuit shown in FIG.

【図14】本発明の誤り訂正装置のユークリッド演算を
行う際のガロア体上の多項式同士の除算を行う他の除算
回路のブロック構成図である。
FIG. 14 is a block diagram of another division circuit that divides polynomials on a Galois field when performing the Euclidean operation of the error correction device of the present invention.

【図15】図14に示す除算回路の回路動作を説明する
ための図である。
15 is a diagram for explaining a circuit operation of the division circuit shown in FIG.

【図16】図14に示す除算回路の回路動作を説明する
ための図である。
16 is a diagram for explaining a circuit operation of the division circuit shown in FIG.

【図17】図14に示す除算回路の回路動作を説明する
ための図である。
17 is a diagram for explaining a circuit operation of the division circuit shown in FIG.

【図18】本発明の誤り訂正装置における除算回路のブ
ロック構成図である。
FIG. 18 is a block diagram of a division circuit in the error correction device of the present invention.

【図19】本発明の誤り訂正装置における加算回路のブ
ロック構成図である。
FIG. 19 is a block diagram of an adder circuit in the error correction device of the present invention.

【図20】本発明の誤り訂正装置における誤り位置算出
手段の回路構成図である。
FIG. 20 is a circuit configuration diagram of an error position calculation unit in the error correction device of the present invention.

【図21】本発明の誤り訂正装置における他の誤り位置
算出手段の回路構成図である。
FIG. 21 is a circuit configuration diagram of another error position calculating means in the error correction device of the present invention.

【図22】本発明の誤り訂正装置における更に他の誤り
位置算出手段の回路構成図である。
FIG. 22 is a circuit configuration diagram of still another error position calculating means in the error correction device of the present invention.

【図23】イレージャ訂正を考慮した本発明の誤り訂正
装置のユークリッド演算を行う際のガロア体上の多項式
同士の除算を行う除算回路のブロック構成図である。
FIG. 23 is a block diagram of a division circuit that divides polynomials on a Galois field when performing an Euclidean operation of the error correction device of the present invention in consideration of erasure correction.

【図24】本発明の誤り訂正装置の回路動作を説明する
ための回路接続図である。
FIG. 24 is a circuit connection diagram for explaining a circuit operation of the error correction device of the present invention.

【図25】ユークリッドアルゴリズムの動作を説明する
フローチャートである。
FIG. 25 is a flowchart illustrating the operation of the Euclidean algorithm.

【図26】従来の誤り訂正装置のブロック構成図であ
る。
FIG. 26 is a block diagram of a conventional error correction device.

【図27】シンドローム生成回路のブロック構成図であ
る。
FIG. 27 is a block diagram of a syndrome generation circuit.

【図28】従来の誤り訂正演算回路のブロック構成図で
ある。
FIG. 28 is a block diagram of a conventional error correction operation circuit.

【図29】従来のユークリッド演算回路のガロア体上の
多項式の除算回路のブロック構成図である。
FIG. 29 is a block diagram of a polynomial division circuit on a Galois field of a conventional Euclidean operation circuit.

【図30】チェンサーチ回路のブロック構成図である。FIG. 30 is a block diagram of a Chien search circuit.

【図31】誤り訂正符号による符号化及び復号化の手順
を示すフローチャートである。
FIG. 31 is a flowchart showing a procedure of encoding and decoding using an error correction code.

【図32】家庭用ディジタルVTRに採用されている誤
り訂正符号の構成図である。
FIG. 32 is a configuration diagram of an error correction code employed in a home digital VTR.

【図33】図32に示す誤り訂正符号の記録方向の1ラ
インの構成図である。
FIG. 33 is a configuration diagram of one line in a recording direction of the error correction code illustrated in FIG. 32;

【図34】従来の誤り訂正装置の動作を説明するための
タイミングチャートである。
FIG. 34 is a timing chart for explaining the operation of the conventional error correction device.

【図35】従来の誤り訂正装置の回路動作を説明するた
めのタイミングチャートである。
FIG. 35 is a timing chart for explaining a circuit operation of a conventional error correction device.

【図36】従来の誤り訂正装置の動作を説明するための
タイミングチャートである。
FIG. 36 is a timing chart for explaining the operation of the conventional error correction device .

【図37】従来の誤り訂正装置のユークリッド演算を行
う際のガロア体上の多項式同士の除算を行う除算回路の
ブロック構成図である。
FIG. 37 is a block diagram of a division circuit that divides polynomials on a Galois field when performing a Euclidean operation in a conventional error correction device.

【図38】従来のガロア体上の多項式同士の除算を行な
うための除算回路動作を説明するための図である。
FIG. 38 is a diagram for explaining the operation of a conventional division circuit for performing division between polynomials on a Galois field.

【図39】従来のガロア体上の多項式同士の除算を行な
うための除算回路動作を説明するための図である。
FIG. 39 is a diagram for explaining the operation of a conventional division circuit for performing division between polynomials on a Galois field.

【図40】従来の誤り訂正装置のユークリッド演算を行
う際のガロア体上の多項式同士の除算を行う除算回路動
作を説明するための図である。
FIG. 40 is a diagram for explaining the operation of a division circuit for performing division between polynomials on a Galois field when performing a Euclidean operation in a conventional error correction device.

【図41】従来の誤り訂正装置のユークリッド演算を行
う際のガロア体上の多項式同士の除算を行う除算回路動
作を説明するための図である。
FIG. 41 is a diagram for explaining the operation of a division circuit for performing division between polynomials on a Galois field when performing a Euclidean operation in a conventional error correction device.

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

1 RAM 2 シンドローム生成回路 20 ユークリッド演算回路 21 チェンサーチ回路 22 誤り訂正回路 41 誤り訂正装置制御回路 81a, 81b レジスタ 85 乗算回路 86 加算回路 100 除算回路 101 ユークリッド演算制御回路 130 セレクタ 131 セレクタ 132 セレクタ 1 RAM 2 syndrome generation circuit 20 Euclidean operation circuit 21 Chien search circuit 22 error correction circuit 41 error correction device control circuit 81a, 81b register 85 multiplication circuit 86 addition circuit 100 division circuit 101 Euclidean operation control circuit 130 selector 131 selector 132 selector

フロントページの続き (72)発明者 石本 順子 京都府長岡京市馬場図所1番地 三菱電 機株式会社 電子商品開発研究所内 (56)参考文献 特開 平1−236735(JP,A) 特開 平1−293013(JP,A) 特開 平3−63973(JP,A) 特開 平3−121627(JP,A) 特開 平3−166826(JP,A) 特公 昭63−16929(JP,B1) (58)調査した分野(Int.Cl.7,DB名) H03M 13/00 G11B 20/00 H04L 1/00 Continuation of the front page (72) Inventor Junko Ishimoto 1 Baba Zoshosho, Nagaokakyo City, Kyoto Prefecture Mitsubishi Electric Corporation Electronic Product Development Laboratory (56) References JP-A-1-236735 (JP, A) JP-A-1 Japanese Patent Application Laid-Open No. 63-16929 (JP, A1) JP-A-3-163973 (JP, A) JP-A-3-121627 (JP, A) JP-A-3-166826 (JP, A) (58) Fields investigated (Int. Cl. 7 , DB name) H03M 13/00 G11B 20/00 H04L 1/00

Claims (7)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 入力データに付加されている線形符号で
ある誤り訂正符号を用いて誤り訂正を行う誤り訂正装置
において、前記入力データを記憶する記憶手段と、該記
憶手段より読み出された入力データからシンドロームを
生成するシンドローム生成手段と、該シンドローム生成
手段の出力に基づき誤り位置多項式と誤り数値多項式と
を演算する演算手段と、該演算手段より導出された誤り
位置多項式より誤り位置を算出する誤り位置算出手段
と、該誤り位置算出手段より出力される誤り位置情報と
前記演算手段より出力される誤り数値多項式とを用いて
誤り数値を導出して、入力データ中の誤り位置が検出さ
れた誤ったデータに誤り訂正を施す誤り訂正手段と、前
記記憶手段へのデータ書き込み及びデータ読み出し、並
びに、前記シンドローム生成手段、前記演算手段、前記
誤り位置算出手段及び前記誤り訂正手段の動作を制御す
る制御手段とを備え、入力データ中に誤りが発生した場合に前記演算手段にて
誤り位置多項式と誤り数値多項式とを演算するために必
要な時間が、前記シンドローム生成手段にてシンドロー
ムを生成するために必要な時間と前記誤り訂正手段にて
入力データ中の誤ったデータに誤り訂正を施すために必
要な時間との和以下となるように、前記演算手段を構成
すべくなしており、 前記記憶手段に記憶された入力デー
タに誤り訂正を施す際に、前記制御手段は、前記シンド
ローム生成手段、前記演算手段及び前記誤り位置算出手
段の動作の終了を検出し、その検出結果に基づいて少な
くとも前記シンドローム生成手段、前記演算手段及び前
記誤り位置算出手段をほぼ同時に開始するように制御す
べくなしてあることを特徴とする誤り訂正装置。
1. An error correction device for performing error correction using an error correction code which is a linear code added to input data, a storage means for storing the input data, and an input read from the storage means. Syndrome generating means for generating a syndrome from the data, calculating means for calculating an error locator polynomial and an error numerical polynomial based on the output of the syndrome generating means, and calculating an error position from the error locating polynomial derived from the calculating means An error value is derived using an error position calculating means, an error position information output from the error position calculating means, and an error numerical polynomial output from the calculating means, and an error position in the input data is detected. Error correction means for performing error correction on erroneous data; data writing and data reading to the storage means; Control means for controlling the operations of the error generating means, the error position calculating means and the error correcting means, and when an error occurs in the input data, the calculating means
Necessary for calculating the error locator polynomial and the error numerical polynomial.
The required time is calculated by the syndrome generation means.
The time required to generate the system and the error correction means
Necessary for performing error correction on erroneous data in input data.
The arithmetic means is configured so that the sum is equal to or less than the required time.
When performing error correction on the input data stored in the storage means, the control means detects the end of the operations of the syndrome generation means, the calculation means, and the error position calculation means, An error correction device, wherein at least the syndrome generation means, the calculation means, and the error position calculation means are controlled to start at substantially the same time based on the detection result.
【請求項2】 入力データに付加されている線形符号で
ある誤り訂正符号を用いて誤り訂正を行う誤り訂正装置
において、前記入力データを記憶する記憶手段と、該記
憶手段より読み出された入力データからシンドロームを
生成するシンドローム生成手段と、該シンドローム生成
手段の出力に基づき誤り位置多項式と誤り数値多項式と
を演算する演算手段と、該演算手段より導出された誤り
位置多項式より誤り位置を算出する誤り位置算出手段
と、該誤り位置算出手段より出力される誤り位置情報と
前記演算手段より出力される誤り数値多項式とを用いて
誤り数値を導出して、入力データ中の誤り位置が検出さ
れた誤ったデータに誤り訂 正を施す誤り訂正手段と、該
誤り訂正手段が入力データに対して誤り訂正を施す際、
前記誤り位置情報に基づく誤った入力データを全て前記
記憶手段から読み出した後に、誤り訂正が施されたデー
タを前記誤り位置情報に基づく誤った入力データと逐次
書き換えるように前記誤り訂正手段を制御する制御手段
とを備えることを特徴とする誤り訂正装置。
2. A linear code added to input data.
An error correction device that performs error correction using a certain error correction code
A storage means for storing the input data;
Syndrome from input data read from storage
Syndrome generation means for generating the syndrome
Error position polynomial and error numerical polynomial based on the output of the means
And an error derived from the arithmetic means
Error position calculating means for calculating an error position from a position polynomial
And error position information output from the error position calculation means.
Using the error numerical value polynomial output from the arithmetic means
Deriving the error value and detecting the error position in the input data
And error correcting means for performing error corrections to incorrect data, the
When the error correction means performs error correction on the input data,
All erroneous input data based on the error location information is
After the data has been read from the storage means,
Data with erroneous input data based on the error location information
Control means for controlling the error correction means to rewrite
DOO erroneous Ri correction device you comprising: a.
【請求項3】 所定の被除多項式を入力データより生成
されたシンドローム多項式を除多項式として除算し、そ
の後その剰余を除多項式とし前記除算を行なった際の除
多項式を被除多項式として除算する動作を、剰余の多項
式の次数がある条件を満たすまで繰り返すユークリッド
互除の処理過程を用いてシンドローム多項式より誤り位
置多項式及び誤り数値多項式の各係数を算出し、算出さ
れた各多項式の係数を用いて入力データ中の誤り訂正を
行なう誤り訂正装置において、所定の被除多項式の係数
を高次の次数より順番に記憶する第1の記憶手段と、入
力データより生成されたシンドローム多項式の係数を高
次の次数より順番に記憶する第2の記憶手段と、前記第
1の記憶手段に記憶されている多項式の最大次数の係数
を前記第2の記憶手段に記憶されている多項式の最大次
数の係数でガロア体上で除算する除算手段と、該除算手
段の出力と最大次数を除く前記第2の記憶手段の出力と
をガロア体上で乗算する乗算手段と、最大次数を除く各
係数が記憶されている前記第1の記憶手段の出力と最大
次数を除く前記第2の記憶手段の出力とに接続された前
記乗算手段を前記第1,第2の記憶手段に記憶されてい
る高次の係数よりペアリングを行い各々ペアリングされ
た前記第1の記憶手段の出力と前記乗算手段の出力とを
ガロア体上で加算する加算手段とを備え、 前記第1の記憶手段及び前記第2の記憶手段に記憶され
ている多項式同士のガロア体上での除算を実行する際、
被除多項式の各係数が記憶されている前記第1の記憶手
段側の記憶内容として1次低い係数が記憶されていた前
記第1の記憶手段の出力が接続されている前記加算手段
の出力を記憶するように制御すべくなしてある ことを特
徴とする誤り訂正装置。
3. Generating a predetermined dividend polynomial from input data
The calculated syndrome polynomial is divided as a polynomial, and
After the remainder as a polynomial,
The operation of dividing a polynomial as a dividend polynomial is called the remainder polynomial.
Euclidean to repeat until degree of expression satisfies certain conditions
Error locations from syndrome polynomials using an algorithmic process
Calculate and calculate the coefficients of the set polynomial and the error numerical polynomial.
Error correction in the input data using the coefficients of each polynomial
In the error correction device, the coefficients of the predetermined polynomial
First storage means for storing in order from a higher order,
Increase the coefficient of the syndrome polynomial generated from the force data.
A second storage means for storing in order from the next order;
Coefficient of the maximum degree of the polynomial stored in the storage means of No. 1
Is the maximum order of the polynomial stored in the second storage means.
Division means for performing a division on a Galois field by a coefficient of a number;
The output of the stage and the output of said second storage means except for the maximum order;
Multiplication on the Galois field by
The output of the first storage means in which the coefficient is stored and the maximum
Before being connected to the output of said second storage means except for the order
The multiplication means is stored in the first and second storage means.
Pairing from higher order coefficients
The output of the first storage means and the output of the multiplication means
Adding means for adding on the Galois field, wherein the adding means is provided in the first storage means and the second storage means.
When performing division on the Galois field between polynomials
The first storage means in which each coefficient of the dividend polynomial is stored
Before the first-order lower coefficient is stored as the storage content on the column side
The adding means connected to the output of the first storage means;
Mis Ri correction device it said that you have no to control so as to store the output of.
【請求項4】 前記乗算手段が、ユークリッド互除法に
より多項式同士の除算を行なう際、初期値としてZ 2t
セットされる前記第1の記憶手段側に配置されることを
特徴とする請求項3記載の誤り訂正装置。
4. The method according to claim 1, wherein said multiplying means uses an Euclidean algorithm.
When performing division between polynomials, Z 2t is used as an initial value.
4. The error correction device according to claim 3, wherein the error correction device is arranged on the first storage means side to be set .
【請求項5】 前記除算手段において、除数として入力
される多項式の最大次数の係数が0であった場合、前記
除算手段の出力を1とすることを特徴とする請求項3ま
たは4記載の誤り訂正装置。
5. The division means inputs as a divisor.
If the coefficient of the maximum degree of the polynomial is 0,
Claim, characterized in that one output of the dividing means 3 or
Or the error correction device according to 4 .
【請求項6】 前記除算手段の出力より誤り位置多項式
を算出する際、前記除算手段に入力される被除多項式の
係数が除数として扱われる場合と被除数として扱われる
場合とで演算方法を切り換えることを特徴とする請求項
3,4または5記載の誤り訂正装置。
6. An error locator polynomial from an output of said division means.
When calculating, the polynomial of the dividend input to the division means
Coefficients treated as divisors and dividends
Claims characterized in that the operation method is switched depending on the case.
The error correction device according to 3, 4 or 5.
【請求項7】 前記除算手段の出力と誤り位置情報とを
選択する第1の選択手段と、前記第1の記憶手段の出力
と前記第2の記憶手段の出力とを高次の次数よりペアリ
ングを行い選択する第2の選択手段と、前記第2の記憶
手段に記憶されている多項式の係数とそれより1次次数
が高い前記第2の記憶手段に記憶されている多項式の係
数とを選択する第3の選択手段と、前記第1の選択手段
の出力と前記第3の選択手段の出力とを乗算する乗算手
段と、該乗算手段の出力と前記第2の選択手段の出力と
を加算する加算手段とを更に備え、消失訂正時に修正シ
ンドローム多項式を演算する際、前記第1,第2及び第
3の選択手段は、それぞれ誤り位置情報、前記第2の記
憶手段の出力及び1次次数が高い多項式の係数を選択す
るように構成したことを特徴とする請求項3,5または
6記載の誤り訂正装置。
7. An output of said division means and error location information are
First selecting means for selecting and an output of the first storage means
And the output of the second storage means are paired from the higher order.
Second selection means for performing selection by performing
Polynomial coefficients stored in the means and their first order
Of the polynomial stored in the second storage means, where
Third selecting means for selecting a number, and the first selecting means
Multiplying means for multiplying the output of the third selecting means by the output of
A stage, an output of the multiplying means and an output of the second selecting means.
And addition means for adding
When calculating the syndrome polynomial, the first, second and
3 are respectively selected from the error position information and the second
Select the output of the storage means and the coefficients of the polynomial with a high first order
7. The error correction device according to claim 3, wherein the error correction device is configured to be configured as follows .
JP10261993A 1992-04-28 1993-04-28 Error correction device Expired - Fee Related JP3281938B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10261993A JP3281938B2 (en) 1992-04-28 1993-04-28 Error correction device

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP10940292 1992-04-28
JP18374292 1992-07-10
JP4-109402 1992-07-10
JP4-183742 1992-07-10
JP10261993A JP3281938B2 (en) 1992-04-28 1993-04-28 Error correction device

Publications (2)

Publication Number Publication Date
JPH0677844A JPH0677844A (en) 1994-03-18
JP3281938B2 true JP3281938B2 (en) 2002-05-13

Family

ID=27309750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10261993A Expired - Fee Related JP3281938B2 (en) 1992-04-28 1993-04-28 Error correction device

Country Status (1)

Country Link
JP (1) JP3281938B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176393B2 (en) 2006-09-12 2012-05-08 Tamagawa K-12 & University Encoding device for error correction, encoding method for error correction and encoding program for error correction

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1150435A1 (en) * 1996-06-27 2001-10-31 Matsushita Electric Industrial Co., Ltd. Apparatus for performing Euclid's algorithm depending on the coefficients of the syndrome polynomial
TW506194B (en) 2000-03-27 2002-10-11 Sanyo Electric Co Error detection and correction circuit
JP3923743B2 (en) * 2000-03-29 2007-06-06 株式会社東芝 Decoding device and decoding method
US8365053B2 (en) 2009-05-27 2013-01-29 International Business Machines Corporation Encoding and decoding data using store and exclusive or operations

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8176393B2 (en) 2006-09-12 2012-05-08 Tamagawa K-12 & University Encoding device for error correction, encoding method for error correction and encoding program for error correction
US8365052B2 (en) 2006-09-12 2013-01-29 Tamagawa K-12 & University Encoding device for error correction, encoding method for error correction and encoding program for error correction

Also Published As

Publication number Publication date
JPH0677844A (en) 1994-03-18

Similar Documents

Publication Publication Date Title
US5504758A (en) Error-correcting apparatus
US8635513B1 (en) Architecture and control of Reed-Solomon list decoding
US6047395A (en) Error correction processor for correcting a multi-dimensional code by generating an erasure polynomial over one dimension for correcting multiple codewords in another dimension
US6141786A (en) Method and apparatus for performing arithmetic operations on Galois fields and their extensions
US5020060A (en) Error code correction device having a galois arithmetic unit
KR930001071B1 (en) Error correction circuit
US5715262A (en) Errors and erasures correcting reed-solomon decoder
US5642367A (en) Finite field polynomial processing module for error control coding
US6725416B2 (en) Forward error correction apparatus and methods
US6772385B2 (en) Error-correcting device and decoder enabling fast error correction with reduced circuit scale
CN101814922A (en) Multi-bit error correcting method and device based on BCH (Broadcast Channel) code and memory system
US5490154A (en) Method of and circuit arrangement for decoding RS-coded data signals
WO1999009694A2 (en) Reed-solomon decoder and vlsi implementation thereof
EP0105499A2 (en) Method capable of simultaneously decoding two reproduced sequences
US7467346B2 (en) Decoding error correction codes using a modular single recursion implementation
US5107506A (en) Error trapping decoding method and apparatus
US5974583A (en) Error correcting method and device
JP3281938B2 (en) Error correction device
US5471485A (en) Reed-solomon decoder using discrete time delay in power sum computation
JP3502583B2 (en) Error correction method and error correction device
US20080140740A1 (en) Systems and methods for processing data sets in parallel
KR19990026630A (en) Reed-Solomon decoder and its decoding method
US7743311B2 (en) Combined encoder/syndrome generator with reduced delay
WO2003036798A2 (en) Decoding method and decoder for reed solomon code
KR100747487B1 (en) Reed-Solomon decoder and circuits of the modified Euclid&#39;s algorithm

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080301

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090301

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100301

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100301

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110301

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110301

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees