JP2556495B2 - Code processor - Google Patents

Code processor

Info

Publication number
JP2556495B2
JP2556495B2 JP61310836A JP31083686A JP2556495B2 JP 2556495 B2 JP2556495 B2 JP 2556495B2 JP 61310836 A JP61310836 A JP 61310836A JP 31083686 A JP31083686 A JP 31083686A JP 2556495 B2 JP2556495 B2 JP 2556495B2
Authority
JP
Japan
Prior art keywords
polynomial
input
processing
register
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
JP61310836A
Other languages
Japanese (ja)
Other versions
JPS63164629A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP61310836A priority Critical patent/JP2556495B2/en
Publication of JPS63164629A publication Critical patent/JPS63164629A/en
Priority to US07/982,062 priority patent/US5325373A/en
Application granted granted Critical
Publication of JP2556495B2 publication Critical patent/JP2556495B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、誤り訂正の分野に関し、また、通信路を対
称とする信号処理において、並列処理を行う技術に関す
る。
The present invention relates to the field of error correction, and also relates to a technique for performing parallel processing in signal processing with a symmetrical communication path.

本発明は、BCH符号の符号化復号において、シンドロ
ーム生成、GCD(最大公約数)生成、誤り訂正及び消失
誤り訂正を行うための方法に関する。
The present invention relates to a method for performing syndrome generation, GCD (greatest common divisor) generation, error correction and erasure error correction in BCH code encoding and decoding.

特に、次の演算を行うための方法に関する。 In particular, it relates to a method for performing the following operations.

1) y=rn-1・xn-1+rn-2・xn-2+……+r1・x+r0 2) y=GCD(A,B) ただし、yは多項式A,Bの最大公約多項式 3) y=A・B ただし、 A=an・xn+an-1・xn-1+a1・x+a0 B=bn・xn+bn-1・xn-1+b1・x+b0 4) y=A mod B 〔従来技術とその問題点〕 近年、メモリーシステムを始めとする、各種デイジタ
ルシステムの信頼性向上の対策として誤り検出・誤り訂
正符号(以下、単に誤り訂正符号という)の適用が浸透
してきている。
1) y = r n-1 · x n-1 + r n-2 · x n-2 + …… + r 1 · x + r 0 2) y = GCD (A, B) where y is the maximum of polynomials A and B Promise polynomial 3) y = A · B where A = a n · x n + a n-1 · x n-1 + a 1 · x + a 0 B = b n · x n + b n-1 · x n-1 + b 1 X + b 0 4) y = A mod B [Prior art and its problems] In recent years, as a measure for improving the reliability of various digital systems such as memory systems, error detection / error correction codes (hereinafter simply referred to as error correction codes) Application) is spreading.

この誤り訂正符号には、対象とするシステムに応じた
種々の物があるが、最も代表的なものは巡回符号と呼ば
れる線形符号の1クラスである。これには、ランダム誤
り訂正に適したBCH符号、バースト誤り訂正に適したフ
アイヤー符号、更にBCH符号の1種であり、バイト誤り
訂正に適したReed−Solomon符号(以下、RS符号)等が
含まれる。なかでも、RS符号は、同一の符号長と訂正能
力を持つ線形符号の中で、最も冗長度を低く出来るとい
う特徴を持つ、実用上非常に重要な符号であり、衛生通
信,磁気デイスク,コンパクトデイスク(以下、CDと呼
ぶ)等に広く利用されている。
There are various kinds of error correction codes according to the target system, but the most typical one is one class of linear codes called cyclic codes. This includes a BCH code suitable for random error correction, a fire code suitable for burst error correction, and a Reed-Solomon code (hereinafter, RS code), which is one type of BCH code and suitable for byte error correction. Be done. Among them, the RS code is a practically very important code that has the feature that the redundancy can be the lowest among the linear codes that have the same code length and correction capability, and is a sanitary communication, magnetic disk, compact. It is widely used for discs (hereinafter called CDs).

このRS符号の復号法には種々の物があり、2ないし3
程度の小さな訂正能力に対する復号器の装置化は比較的
容易である。しかし、高信頼性を得る為には、訂正能力
を大きくする必要がある。その場合、装置の規模及び制
御が非常に被雑になり、復号処理に掛かる計算時間も大
きくなると言った問題が生じる。この為、現在CDではCI
RCと呼ばれる一種の2重符号化を用いているが、より高
信頼性または高速性が要求されるシステムでは問題があ
る。また、高信頼性を得るために光磁気デイスクなどで
はLong Distance Code(以下、LDC)と呼ばれる多重誤
り訂正符号が提案されているが、高速性の実現が問題で
ある。衛星通信では、高信頼性と高速性の2つが要求さ
れているが、装置化を考えた場合、以上の2つの条件を
満足させることは非常に困難であった。
There are various decoding methods for this RS code, and there are 2 to 3
It is relatively easy to implement a decoder for a small correction capability. However, in order to obtain high reliability, it is necessary to increase the correction capability. In that case, there arises a problem that the scale and control of the apparatus become very complicated, and the calculation time required for the decoding process becomes long. Therefore, the current CD is CI
A type of double coding called RC is used, but there is a problem in a system that requires higher reliability or higher speed. In order to obtain high reliability, a multi-error correction code called Long Distance Code (LDC) has been proposed for magneto-optical disks and the like, but realization of high speed is a problem. In satellite communication, high reliability and high speed are required, but it has been extremely difficult to satisfy the above two conditions when considering deviceization.

そこで本出願人が先に出願した「BCH符号化復号方
式」(昭和61年12月22日出願)ではVLSIアーキテクチヤ
の特徴を生かし、次のことを実現した。
Therefore, the “BCH encoding / decoding method” (filed on December 22, 1986), which the applicant of the present invention filed earlier, realized the following by taking advantage of the characteristics of the VLSI architecture.

1)高信頼性(大能力) 2)高速性 3)内部構造の規則性 4)大集積化 これによって、10−20Mwps=80−160Mbps以上の処理
速度を持つRS符号化復号器が実現出来ることを示した。
また、訂正能力に対して同じ構成のPEを1次関数的に増
やしていくことによって任意の高信頼性を得られる構成
にした。これは衛生通信等、高信頼性と高速性が求めら
れているシステムには非常に有効である。また、復号処
理の中心である誤り位置多項式と誤り数値多項式を求め
る処理を10−20Mlps(codelength/sec)で行うことも出
来るので高速処理には非常に有効な方法である。
1) High reliability (high capacity) 2) High speed 3) Regularity of internal structure 4) Large integration This makes it possible to realize an RS encoder / decoder having a processing speed of 10-20 Mwps = 80-160 Mbps or more. showed that.
Also, by increasing the PEs of the same configuration with respect to the correction capability in a linear function, it is possible to obtain arbitrary high reliability. This is very effective for systems requiring high reliability and high speed such as sanitary communication. Further, since the process of obtaining the error locator polynomial and the error value polynomial, which is the center of the decoding process, can be performed at 10-20 Mlps (codelength / sec), this is a very effective method for high-speed processing.

しかし、CDまたは磁気デイスクなどで用いられている
データの転送レートは10Mbps以下であることが多く、ハ
ード容量の小型化が求められており、その点については
なお問題があった。
However, the transfer rate of data used in CDs or magnetic disks is often 10 Mbps or less, and there is a demand for miniaturization of hardware capacity, which is still a problem.

〔問題点を解決するための手段〕[Means for solving problems]

以上の点に鑑み本発明は、本出願人が先に出願した上
記「BCH符号化復号方式」に示したRS符号化復号器のア
ーキテクチヤの特徴を生かしたながら2)の高速性の条
件を犠牲にすることによって4)の条件を小型化で達成
出来るアーキテクチヤを提案する。
In view of the above points, the present invention provides the high speed condition of 2) while making the best use of the characteristics of the architecture of the RS coding / decoding system shown in the above “BCH coding / decoding system” filed by the applicant. We propose an architecture that can achieve the condition 4) by miniaturization by sacrificing it.

〔実施例〕〔Example〕

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

前述したRS符号化復号器のアーキテクチヤはシストリ
ツク・アーキテクチヤの考え方を適用したものである。
シストリツク・アーキテクチヤの特徴は、1つの処理が
同一のPEの同一のネツトワークによって処理されること
である。これは全てのプロセツシング・エレメント(P
E)で行われる処理が同一であり、その入出力関係も同
一であることを示している。従って1度の処理を1つの
PEで行った後、次のPEに処理結果を送らずにメモリ(レ
ジスタ)部に蓄えておき自分自身にフイードバツクする
ことによって、PEの数を増やさずに処理することが出来
る。そこで、今回の基本となるPEを第1図のように定め
る。第1図において、1−4は第36図と同じであるが、
5−7のレジスタがm段のレジスタ列またはメモリ部と
なっている。回路規模はGF(28)を考えた場合、1のセ
レクタを第37図の構成で約50ゲート、2,3の乗算器を第3
8図の構成で1つを約300ゲート、4の加算器を第39図の
構成で約50ゲート、5−7のレジスタ1つを約50ゲート
で計算する。
The RS coding / decoding architecture described above is based on the concept of the systolic architecture.
A feature of the Cystoarchitecture is that one process is processed by the same network of the same PE. This is all processing elements (P
The processing performed in E) is the same, and the input / output relationship is the same. Therefore, one process
After performing at PE, the processing result is not sent to the next PE but is stored in the memory (register) part and is fed back to itself, so that processing can be performed without increasing the number of PEs. Therefore, the basic PE this time is set as shown in Fig. 1. In FIG. 1, 1-4 are the same as in FIG. 36,
The registers 5-7 are m-stage register trains or memory units. Considering GF (2 8 ), the circuit scale of 1 selector is about 50 gates and the multiplier of 2 and 3 is 3rd.
In the configuration shown in FIG. 8, one is about 300 gates, four adders are about 50 gates in the configuration shown in FIG. 39, and one register of 5-7 is about 50 gates.

また1つのPEに注目した場合、前アーキテクチヤでは
1度の処理を行い処理結果を出力した後、そのPEは次の
入力を受け取ることが出来るので1PEの処理速度を最大
に生かした高速処理が可能であるが、処理結果を次のPE
に送らず自分自身にフイードバツクする場合、次の入力
を受け取ることが出来ないので外部的にみた場合1つの
PEへのデータの転送レートは遅くなる。但し、PE自体の
処理速度は1−4からなるPEの演算部で決定され、その
構成は変わらないので10−20Mhzである。ここでは、後
の都合のために1PEの処理速度は16Mhzとする。
In addition, when paying attention to one PE, in the previous architecture, after processing once and outputting the processing result, that PE can receive the next input, so high-speed processing that maximizes the processing speed of 1PE is possible. It is possible, but the processing result is
If you feed back to yourself without sending it to the
The data transfer rate to PE is slow. However, the processing speed of the PE itself is 10-20 Mhz because it is determined by the processing unit of the PE consisting of 1-4 and its configuration does not change. Here, the processing speed of 1PE is 16 Mhz for convenience of later.

以下、このPEを基本型としてステツプ1−4の処理を
実現するが、小型化を目的とするために各々の処理にお
いて不必要な部品は削り、各々の処理においてPEを最適
化していく。
In the following, the processing of steps 1-4 is realized by using this PE as a basic model, but unnecessary parts are removed in each processing for the purpose of downsizing, and the PE is optimized in each processing.

RS符号の原理 まず、RS符号の原理について述べる。RS符号は、同一
の符号長と訂正能力を持つ線形符号の中で、最も冗長度
を低くできるという特徴を持つ、実用上非常に重要な符
号である。
Principle of RS code First, the principle of RS code will be described. The RS code is a practically very important code that has the characteristic that the redundancy can be the lowest among the linear codes that have the same code length and correction capability.

RS符号は、非二元BCH符号(Bose−Chavdhuri−Hocque
nghen code)の特別な場合であり、有限体(以下、GFと
略す。)GE(q)の元で構成される。ここでは、qはGF
(q)の元の数である。このqを用いると、RS符号を特
徴づける各種パラメータが以下のように定義される。
The RS code is a non-binary BCH code (Bose-Chavdhuri-Hocque
nghen code), which is a special case of finite field (hereinafter abbreviated as GF) GE (q). Where q is GF
It is the original number of (q). Using this q, various parameters that characterize the RS code are defined as follows.

・符号長:n(一符号中のシンボル数) n≦q−1 (2−1) ・情報シンボル性:k(一符号中の情報シンボル数) ・検査シンボル数:n−k(一符号中の検査シンボル数) n−k=dmin−1 (2−2) ・訂正能力:t(一符号中の訂正できるシンボ数) ([x]ガウス記号..xを越えない最大の整数) ここではdminは最小距離(ハミング距離)と呼ばれる
ものである。
・ Code length: n (number of symbols in one code) n ≦ q-1 (2-1) ・ Information symbol property: k (number of information symbols in one code) ・ Number of check symbols: n−k (in one code) No. of check symbols) n−k = dmin−1 (2-2) Correction capability: t (number of symbos that can be corrected in one code) ([X] Gaussian symbol .. The maximum integer that does not exceed x.) Here, dmin is called the minimum distance (Hamming distance).

符号化 ここで符号語等の多項式表現について説明する。Encoding Here, a polynomial expression of a code word or the like will be described.

例えば、符号化したいk個の情報シンボルを I=(i0,i1,…,ik-1) (2−10) とする時、これは次のように多項式で表現される。For example, when the number of k information symbols to be encoded is I = (i 0 , i 1 , ..., I k-1 ) (2-10), this is expressed by a polynomial as follows.

I(x)=i0+i1x+i1x2+…+ik-2xk-2+ik-1x
k-1 (2−11) 同様に付加される(n−k)個の検査シンボル C=(c0,c1,…,cn-k-1) (2−12) は、 C(x)=c0+c1x+c2x2+…cn-k-1・xn-k-1 (2−1
3) 更に、これらをまとめた符号語F F=(f0,f1,f2,…fn-1) (2−14) =(c0,c1…cn-k-1,i0,i1,i2,…ik-1) (2−15) は、 F(x)=f0+f1x+f2x2+…fn-2xn-2+fn-1xn-1(2
−16) と多項式表現される。
I (x) = i 0 + i 1 x + i 1 x 2 + ... + i k-2 x k-2 + i k-1 x
k−1 (2-11) (n−k) check symbols C = (c 0 , c 1 , ..., C nk−1 ) (2-12) similarly added are C (x) = c 0 + c 1 x + c 2 x 2 + ... c nk-1 · x nk-1 (2-1
3) Further, a code word F F = (f 0 , f 1 , f 2 , ..., f n-1 ) (2-14) = (c 0 , c 1 ... c nk-1 , i 0 , i 1 , i 2 , ... i k-1 ) (2-15) is F (x) = f 0 + f 1 x + f 2 x 2 + ... f n-2 x n-2 + f n-1 x n-1 (2
−16) is expressed as a polynomial.

ところで符号語多項式F(x)はそれを生成した生成
多項式G(x)で割り切る事ができる。ところが、(2
−17)式(次頁参照)の生成多項式は、α,α2,…α
n-kという根を持つから、符号語多項式F(x)はこの
根を代入すると、次式が成立する。
By the way, the code word polynomial F (x) can be divided by the generator polynomial G (x) that generated it. However, (2
The generator polynomial of the −17) formula (see the next page) is α, α 2 , ... α
Since the code word polynomial F (x) has a root of nk , the following expression holds when this root is substituted.

F(α)=0(i=1,2,…・,n−k) (2−21) この(2−21)式を行列表現すると次のようになる
(FTはFの転置行列)。
F (α i ) = 0 (i = 1,2, ..., n−k) (2-21) When this (2-21) expression is expressed in matrix, it becomes as follows (F T is the transposed matrix of F ).

ここで、左辺の行列Hは、検査行列と呼ばれ復号にお
いても重要な意味を持つ。
Here, the matrix H on the left side is called a check matrix and has an important meaning in decoding.

復号法 既に述べたように、RS符号はBCH符号の一種であるか
ら、一般的なBCH符号の復号アルゴリズムを利用して復
号を行う事ができる。但しその場合復号処理における加
算,乗算等のシンボルの取扱いは、そのRS符号が定義さ
れる有限体GF(q)の上で行われなければいけない。
Decoding Method Since the RS code is a kind of BCH code as described above, decoding can be performed using a general BCH code decoding algorithm. However, in that case, handling of symbols such as addition and multiplication in the decoding process must be performed on the finite field GF (q) in which the RS code is defined.

GF(2m)(m:正整数)上で定義された符号長n=2m
1のRS符号について考えると、シンボルはmビット2進
数で表わされ、演算はGF(2m)上で行われる。また生成
多項式には(2−17)式を用い、符号の最小距離は簡単
の為dmin=2t+1と置く事にする。
Code length n = 2 m − defined on GF (2 m ) (m: positive integer)
Considering the RS code of 1, the symbol is represented by an m-bit binary number, and the operation is performed on GF (2 m ). The equation (2-17) is used for the generator polynomial, and the minimum distance of the code is set as dmin = 2t + 1 for simplicity.

g(x)=(x−α)(x−α)…(x−αn-k
(2−17) ただし、αは有限体GF(2m)上の原始元 さて、このようなRS符号の復号手順は、一般的なBCH
符号の場合と同様、次のような4つのステツプに分けら
れる。
g (x) = (x−α) (x−α 2 ) ... (x−α nk ).
(2-17) However, α is a primitive element on the finite field GF (2 m ).
Similar to the case of the code, it is divided into the following four steps.

ステツプ1) シンドローム計算。Step 1) Syndrome calculation.

ステツプ2) 誤り位置多項式と誤り評価多項式の算
出。
Step 2) Calculation of error locator polynomial and error evaluation polynomial.

ステツプ3) 誤り位置と誤りの値の推定。Step 3) Estimate error position and error value.

ステツプ4) 誤り訂正の実行。Step 4) Perform error correction.

ステツプ1) シンドローム計算 まず、 送信された符号語をF:F=(f0,f1,…fn-1) 生じた誤りをE :E=(e0,e1,…en-1) 受信された受信語をR:R=(r0,r1,…rn-1) =F+E =(f0+e0,f1+e1,…fn-1+en-1) とすると、受信語の多項式表現R(x)は次のようにな
る。
Step 1) Syndrome calculation First, the transmitted code word is F: F = (f 0 , f 1 , ... f n-1 ) and the error caused is E: E = (e 0 , e 1 , ... e n-1 ) If the received word received is R: R = (r 0 , r 1 , ... r n-1 ) = F + E = (f 0 + e 0 , f 1 + e 1 , ... f n-1 + e n-1 ) , The polynomial expression R (x) of the received word is as follows.

R(x)=F(x)+E(x) =(f0+e0)+(f1+e1)x+…・ +(fn-1+en-1)xn-1 (2−23) ところが、符号多項式F(x)に生成多項式G(x)
((2−17)式)の根α(i=1,…,n−k)を代入す
ると(F(α)=0)が成立するから、受信語多項式
R(x)に同様にαi(i=1,…,n−k)を代入すると R(α)=F(α)+E(α)=0+E(α) =E(α) (2−24) のように、誤りEだけで決まる値が求まる。
R (x) = F (x ) + E (x) = (f 0 + e 0) + (f 1 + e 1) x + ... · + (f n-1 + e n-1) x n-1 (2-23) However, the generator polynomial G (x) is added to the code polynomial F (x).
(F (α 1 ) = 0) holds when the root α i (i = 1, ..., n−k) of (Equation (2-17)) is substituted, so that the received word polynomial R (x) is also obtained. Substituting α i (i = 1, ..., N−k), R (α i ) = F (α i ) + E (α i ) = 0 + E (α i ) = E (α i ) (2-24) Then, a value determined only by the error E is obtained.

これをシンドロームと呼び、改めて S=(s0,s1,…,sn-k-1) (2−25) siR(αi+1)=E(αi+1)(i=0,1,…,n-k-1) (2
−26) と定義する。このシンドロームは誤りに関するすべての
情報(誤りの位置と大きさ)を含んでいる。
This is called a syndrome, and S = (s 0 , s 1 , ..., s nk-1 ) (2-25) siR (α i + 1 ) = E (α i + 1 ) (i = 0,1, …, Nk-1 ) (2
−26). This syndrome contains all information about the error (error location and magnitude).

(シンドロームは誤りがなければ0であるので、誤りの
有無を検出できる。)シンドローム((2−25),(2
−26)式を行列表現すると次のようになる。
(Since the syndrome is 0 if there is no error, the presence or absence of the error can be detected.) Syndrome ((2-25), (2
The matrix expression of −26) is as follows.

S=H・RT(RT:Rの転置行列) (2−28) ステツプ2) 誤り位置多項式と誤り評価多項式の算出 ステツプ2では、ステツプ1の計算結果のシンドロー
ムを利用して誤り位置多項式と誤り評価多項式の算出を
行う。まず、ここでは誤りE=(e0,e1…en-1)の非零
の元の数、すなわち誤りの個数をl(l≦t)とおく。
また、誤りの生じている位置をju(u=1,2…l)(ju
=0,1…n−1)とし、位置juにおける誤りをejuとす
る。更に(2−2),(2−3)式を n−k=dmin−1=2t (2−30) とおく。すると、(2−26)式のシンドローム及びシン
ドローム多項式は、次のように表わされる。
S = H ・RT ( RT : transpose of R) (2-28) Step 2) Calculation of error locator polynomial and error evaluator polynomial In step 2, an error locator polynomial and an error evaluator polynomial are calculated using the syndrome of the calculation result of step 1. First, here, the number of non-zero elements of the error E = (e 0 , e 1 ... E n-1 ), that is, the number of errors is set as l (l ≦ t).
In addition, the position where the error occurs is ju (u = 1,2 ... l) (ju
= 0, 1 ... N-1), and the error at the position ju is e ju . Further, the expressions (2-2) and (2-3) are set as nk = dmin-1 = 2t (2-30). Then, the syndrome and the syndrome polynomial of the expression (2-26) are expressed as follows.

また、新たに とおくと、次式が得られる。 Also newly Then, the following equation is obtained.

S(x)=[S(x)]mod x2t (2−35) さて、ここで誤り位置多項式σ(x)を次のように定
義する。この多項式は、受信語中の誤り位置ju(u=1,
2,……,l)(ju=0,1……n−1)に対応するGF(2m
の元α-juを根とする多項式である。
S (x) = [S (x)] mod x 2t (2-35) Now, the error locator polynomial σ (x) is defined as follows. This polynomial is the error position ju (u = 1, 1 in the received word
GF (2 m ) corresponding to 2, ……, l) (ju = 0,1 …… n-1)
It is a polynomial whose root is the element α -ju of.

次に、以上述べたσ(x)、S(x)に対し誤り評
価多項式ω(x)を次のように定義する。
Next, the error evaluation polynomial ω (x) is defined as follows for σ (x) and S (x) described above.

すると、(2−34),(2−35),(2−37)式よ
り、次式が成立する。
Then, from the equations (2-34), (2-35), and (2-37), the following equation is established.

σ(x)・S(x)=[ω(x)]modx2t (2−38) 従って適当な多項式A(x)を用いてσ(x),S
(x),ω(x)の関係が次のように表わされる。
σ (x) · S (x) = [ω (x)] modx 2t (2-38) Therefore, using an appropriate polynomial A (x), σ (x), S
The relationship between (x) and ω (x) is expressed as follows.

A(x)・x2t+σ(x)・S(x)=ω(x)(2−3
9) ところで、誤りの個数lは(l≦t)としているか
ら、ω(x)とσ(x)は degω(x)<degσ(x)≦t (2−40) を満たす。さらにω(x)とσ(x)は互いに素(最大
公約(GCD)多項式が定数)であるから(2−39),
(2−40)式を満たすω(x)とσ(x)は定係数の違
いを除いて一意的に定まる。以上よりω(x)とσ
(x)はx2tとS(x)の最大公約(GCD)多項式を求め
るユークリツドの互除法の過程で求め得る。ここで、ユ
ークリツドの互除法を利用した最大公約(GCD)多項式
の算出方法について簡単に述べる。まず、2つの多項式
AとBの最大公約多項式をGCD[A,B]と表わすことにす
る。又、このAとBに対し次のような多項式と ・degA≧dagBの場合 =A−[A・B-1]・B (2−41) =B (2−42) ・degA≧dagBの場合 =A (2−43) =B−[B・A-1]・A (2−44) ([X・Y-1]:多項式Xを多項式Yで割った商) を定義すると、GCD[A・B]とGCD[,]は、次式
を満たす。
A (x) ・ x 2t + σ (x) ・ S (x) = ω (x) (2-3
9) By the way, since the number l of errors is (l ≦ t), ω (x) and σ (x) satisfy degω (x) <degσ (x) ≦ t (2-40). Furthermore, since ω (x) and σ (x) are relatively prime (GCD polynomial is a constant) (2-39),
Ω (x) and σ (x) satisfying the equation (2-40) are uniquely determined except for the difference in constant coefficient. From the above, ω (x) and σ
(X) can be obtained in the process of Euclid's mutual division method for obtaining the greatest common divisor (GCD) polynomial of x 2t and S (x). Here, we briefly describe the method for calculating the GCD polynomial using the Euclidean algorithm. First, the greatest common divisor polynomial of two polynomials A and B will be expressed as GCD [A, B]. Also, the following polynomials for A and B: ・ When degA ≧ dagB = A- [A ・ B -1 ] ・ B (2-41) = B (2-42) ・ degA ≧ dagB = A (2-43) = B- [B · A −1 ] · A (2-44) ([X · Y −1 ]: quotient obtained by dividing polynomial X by polynomial Y), GCD [A -B] and GCD [,] satisfy the following equation.

GCD[A,B]=GCD[,] (2−45) 従って、上述のととを改めてA,Bとおき、各々の
次数degA,degBの大小関係に応じて(2−41),(2−4
2)式もしくは(2−43),(2−44)式の変換を行う
といった操作を繰返し実行して、AとBのどちらが零多
項式になった時、もう一方の非零多項式がAとBの最大
公約多項式として得られる。なお、多項式AとBの最大
公約多項式を求める事は、次のような多項式CとDを求
める事と変りない。なお、degは次数のことである。
GCD [A, B] = GCD [,] (2-45) Therefore, the above and are replaced by A and B, and (2-41) and (2) according to the magnitude relation of the respective degrees degA and degB. −4
2) or the conversion of (2-43) and (2-44) is repeatedly executed, and when either A or B becomes a zero polynomial, the other non-zero polynomial becomes A or B. Obtained as the greatest common polynomial of. Note that obtaining the greatest common divisor polynomial of the polynomials A and B is no different from obtaining the following polynomials C and D. Note that deg is the order.

GCD[A,B]=C・A+D・B (2−46) すると、上記繰り返しステツプを実行して、次数がi
=degA≧degBと表わされる多項式AとBの最大公約多項
式を求める過程で、次式を満足する多項式C,D,Wを求め
る事ができる。
GCD [A, B] = C • A + D • B (2-46) Then, the above repeating step is executed and the order is i
In the process of finding the greatest common divisor polynomial of polynomials A and B expressed as = degA ≧ degB, polynomials C, D, W satisfying the following equations can be found.

この様な多項式を求める問題を拡張GCD問題と呼ぶ。
従って、誤り位置多項式σ(x)と誤り評価多項式ω
(x)は、(2−47)式において、多項式Aをx2t、多
項式BをS(x)とおいた場合の拡張GCD問題を解く事
により求まる。
The problem of finding such a polynomial is called the extended GCD problem.
Therefore, the error locator polynomial σ (x) and the error evaluation polynomial ω
(X) is obtained by solving the extended GCD problem when the polynomial A is x 2t and the polynomial B is S (x) in the equation (2-47).

基本アルゴリズム まず前述したように、σ(x)とω(x)の導出アル
ゴリズムは拡張GCD問題に帰着できる。すなわち、x2t
多項式A0、シンドローム多項式S(x)((2−32)
式)を多項式B0とおいた時(degA0=2t,degB0=2t−
1)、GCD[A0,B0]を求める途中で を満たす多項式D,Wが求まれば、Dが誤り位置多項式σ
(x)、Wが誤り評価多項式ω(x)を各々表わしてい
る。このようなσ(x)とω(x)は、定係数の違いを
除いて一意的に定まることがわかっている。従って、A0
とB0に対して次のような 多項式A,B,U,V,L,Mを定義し その初期値を U=M=1;L=V=0;(A=A0,B=B0)とおいて第40
図の繰返しステツプを実行していき、degA(degB)<t
となった時にA(B)がω(x)、L(M)がσ(x)
として各々求まる。
Basic Algorithm First, as described above, the derivation algorithm of σ (x) and ω (x) can be reduced to the extended GCD problem. That is, x 2t is a polynomial A 0 , and a syndrome polynomial S (x) ((2-32)
(Equation) as polynomial B 0 (degA 0 = 2t, degB 0 = 2t−
1), in the process of obtaining GCD [A 0 , B 0 ] If polynomials D and W satisfying are obtained, D is an error locator polynomial σ
(X) and W represent the error evaluation polynomial ω (x), respectively. It is known that such σ (x) and ω (x) are uniquely determined except for the difference in constant coefficient. Therefore, A 0
And B 0 define the polynomials A, B, U, V, L, M as The initial value is U = M = 1; L = V = 0; (A = A 0 , B = B 0 )
Repeated steps shown in the figure are executed and degA (degB) <t
Then A (B) is ω (x) and L (M) is σ (x).
Each is obtained as.

なお、第40図の方法では、多項式Bの最高次係数αと
多項式Aの最高次係数βを各々A,Bにたがいちがいに乗
ずる事により、繰返しステツプおけるGF上の除算を省略
している。((2−41),(2−43)式参照)このよう
にしても、σ(x)とω(x)の値に本質的な問題は生
じない。
In the method of FIG. 40, the highest-order coefficient α of the polynomial B and the highest-order coefficient β of the polynomial A are multiplied by A and B, respectively, so that division on GF in the iterative step is omitted. (Refer to formulas (2-41) and (2-43)) Even if it does in this way, an essential problem does not arise in the value of (sigma) (x) and (omega) (x).

第40図について説明する。まず、ステツプ1において
U=M=1,L=V=0,A=A0,B=B0とおいて、初期値を設
定する。ステツプ2においてdegAdegBの判定を行い、
ステツプ3において多項式A,Bの最高次係数β,αを各
々A,Bにたがいちがいに乗じ、式(2−41),(2−4
3)の繰返しステツプにおけるGF上の除算を省略してい
る。
40 will be described. First, in step 1, U = M = 1, L = V = 0, A = A 0 , B = B 0, and initial values are set. In step 2, degA degB is judged,
In step 3, the highest coefficients β and α of the polynomials A and B are multiplied by A and B, respectively, to obtain equations (2-41) and (2-4
The division on GF in the repeating step of 3) is omitted.

ステツプ4においてdegA,degBが所定の次数より小さ
くなった場合、ステツプ5,6に進み、ω(x)=A,σ
(x)=L,ω(x)=B,σ(x)=Mを算出する。
When degA and degB are smaller than the predetermined orders in step 4, the process proceeds to steps 5 and 6, where ω (x) = A, σ
Calculate (x) = L, ω (x) = B, σ (x) = M.

なお、第40図の繰返しステツプを実行するには、Aと
Bの次数に応じた3つの実行モードが必要であり、それ
らを以後次のように呼ぶ事にする。
In order to execute the repetitive step shown in FIG. 40, three execution modes corresponding to the orders of A and B are required, and they will be called as follows.

i) degA,degB≧tかつdegA≧degB…“reduceA" ii) degA,degB≧tかつdegA≧degB…“reduceB" iii) degA<tもしくはdegB<t…“nop" ステツプ3)誤り位置と誤りの値の推定 ステツプ3では、ステツプ2で得らた誤り位置多項式
σ(x)と誤り評価多項式ω(x)から、誤り位置と誤
り値の推定を行う。まず、受信語R=(r0,r1,…rn-i
中のシンボルの位置i=0,1……n−1に応じたGF
(2m)の元α-iを誤り位置多項式σ(x)に逐次代入す
る。この時、(2−36)式よりσ(a-i)=0が成立す
るならば、iが誤り位置juに対し、α-i=α-i=α-ju
が成立している事がわかる。(ju=0,1…n−1,u=1,2
…1,1≦t)また、そのようなα-i=α-juに対する誤り
評価多項式ω(x)の値は次のようになる。
i) degA, degB ≧ t and degA ≧ degB… “reduceA” ii) degA, degB ≧ t and degA ≧ degB… “reduceB” iii) degA <t or degB <t… “nop” step 3) Error position and error In step 3, the error position and the error value are estimated from the error locator polynomial σ (x) and the error evaluator polynomial ω (x) obtained in step 2. First, the received word R = (r 0 , r 1 , ... r ni )
GF according to the position i = 0,1 ... n-1 of the inside symbol
The element α -i of (2 m ) is successively substituted into the error locator polynomial σ (x). At this time, if σ (a −i ) = 0 holds from the equation (2-36), i is α −i = α −i = α −ju with respect to the error position ju.
You can see that is established. (Ju = 0,1 ... n-1, u = 1,2
, 1, 1 ≤ t) Further, the value of the error evaluation polynomial ω (x) for such α -i = α -ju is as follows.

更に、σ′(x)をσ(x)の微分とすると、 が成立する。従って(2−48)式と(2−49)式より誤
り位置juにおける誤りの位置ejuは次式より求められ
る。
Furthermore, if σ ′ (x) is the derivative of σ (x), Is established. Therefore, from the equations (2-48) and (2-49), the error position e ju at the error position ju can be obtained from the following equation.

前述したように、復号のステツプ3)では、ステツプ
2)で得られた誤り位置多項式σ(x),誤り評価多項
式ω(x)ならびにσ(x)の微分σ′(x)という3
つの多項式に、そのRS符号が定義されるGF(2m)の元α
-j(j=n−1,…2,1,0)を逐次代入してその値を求め
る計算が必要となる。(ここでは受信シンボルが受信語
多項式の高次の項から入力される。すなわちrjがj=n
−1,…,2,1,0の順で入力されるとする。従って、ステツ
プ3)についての説明では、α-j(j=n−1,…,2,1,
0)の代入の順が逆となる事に注意しなければならな
い。)ここで具体的に必要な計算は単に多項式に変数を
代入し、その値を求めるだけであるから第40図と同様の
アルゴリズムを利用できる。例えば、t次多項式f
(x)の計算は次のように展開される。
As described above, in the decoding step 3), the error locator polynomial σ (x), the error evaluation polynomial ω (x), and the derivative σ ′ (x) of σ (x) obtained in step 2) are referred to as 3 ′.
Element α of GF (2 m ) whose RS code is defined in two polynomials
It is necessary to successively substitute -j (j = n-1, ... 2,1,0) to obtain its value. (Here, the received symbols are input from the higher order terms of the received word polynomial. That is, rj is j = n.
It is assumed that the input is -1, ..., 2,1,0 in that order. Therefore, in the explanation of step 3), α -j (j = n−1, ..., 2,1,
It should be noted that the order of assignment of (0) is reversed. ) Here, the calculation specifically required is to simply substitute a variable in a polynomial and obtain its value, so the same algorithm as in Fig. 40 can be used. For example, a polynomial f of degree t
The calculation of (x) is developed as follows.

f(x)=ftxt+ft−1xt-1+…+f1x+f0 ={…〔(ftx+ft−1)x +ft−2〕x+…+f1}x+f0 但し、シンドローム計算では各セルが代入すべきxを
あらかじめ持っている。
f (x) = ftx t + ft-1x t-1 + ... + f 1 x + f 0 = {... [(ftx + ft-1) x + ft-2 ] x + ... + f 1} x + f 0 where to assign each cell in syndrome calculation Have a power x in advance.

ステツプ4) 誤り訂正の実行 (2−9)式より、誤りの生じている位置juにおける
受信シンボルrjuは、本来の符号語のシンボルfjuとの誤
りの大きさejuから次のように表わされる。
Step 4) Execution of error correction From the expression (2-9), the received symbol r ju at the position ju in which an error has occurred is as follows from the error size e ju with the symbol f ju of the original codeword. Represented.

fju=rju−eju (2−51) 従ってステツプ4では、ステツプ3の実行結果σ(α
-i)=0が成立した位置i(i=0,1,…n−1)におい
て、受信シンボルriから を引く(GF(2m)上) fi=ri=ei (2−53) 事により、位置iにおける誤り訂正を実行する。
f ju = r ju −e ju (2-51) Therefore, in step 4, the execution result σ (α
-i ) = 0 at the position i (i = 0,1, ... n-1) where the received symbol r i By subtracting (on GF (2 m )) f i = r i = e i (2-53), the error correction at the position i is executed.

(シンドローム生成部) 次に、本発明の実施例に係るBCH符号化復号器の構成
及び作用について構成単位毎に詳述する。
(Syndrome Generating Unit) Next, the configuration and operation of the BCH encoding / decoding device according to the embodiment of the present invention will be described in detail for each configuration unit.

ステツプ1ではシリアルに送られてくる受信系列R=
(rn-1,rn-2…,r1,r0)からのステツプ2で必要なシン
ドローム多項式の係数(S2t-1,S2t-2…,S1,S0)をシリ
アルに出力させる必要がある。具体的なシンドローム多
項式の係数の計算は、次の繰り返しアルゴリズムを用い
る。
In step 1, the reception sequence R = serially transmitted
Serialize the coefficients (S 2t-1 , S 2t-2 …, S 1 , S 0 ) of the syndrome polynomial required in step 2 from (r n-1 , r n-2 …, r 1 , r 0 ). Need to output. The following iterative algorithm is used for specific calculation of the coefficient of the syndrome polynomial.

Sj-1=(…((rn-1 α+rn-2α +rn-3α+…+r1α+r0 また、上式を次のように分解する。S j-1 = (... ((r n-1 * α j + r n-2 ) * α j + r n-3 ) * α j + ... + r 1 ) * α j + r 0 Disassemble into.

Z0=0 Zi=Zi-1 α+rn-i (i=1,…,n) Sj-1=Zn 回路を小型化するために、第41図のPEにおいて意味の
ない3の乗算器と5のレジスタを削る。これによって、
PEの演算部は400ゲートとなる。ここで、第42図の受信
シンボルの動きに注目すると、1つの受信シンボルrn-i
は値を変えることなく#1のPEから#2tのPEまで送ら
れ、加算されるZi-1*αの項が変化するだけである。
そこで前章ではシンドローム生成部のPEをα(j=1,
…,2t)毎に割り付けたが、ここではα入力からα
(j−1,…,2t)の値が順次入力され、j=1からm迄
を1周期として周期的にα(j=1,…,m)の入力が繰
り返されるようにする。そして受信系列の入力であるri
は1つの受信シンボルの値が1周期の間保持されながら
受信シンボルrn-i(i=1,…,n)が入力されるようにす
る。これによって、レジスタ7も削ることが出来、ri
力を直接加算器に入力する。但し、レジスタ6はZiの演
算結果を#1のPEから#mのPEの分まで1周期分保存さ
せる必要があるので、m段必要である。m=2tの場合の
信号の流れを第3図に示す。
Z 0 = 0 Z i = Z i-1 * α j + r ni (i = 1, ..., n) S j-1 = Z n In order to downsize the circuit, there is no meaning in the PE of FIG. 41. Delete the multiplier and the register of 5. by this,
The PE calculation unit has 400 gates. Here, paying attention to the movement of the received symbol in FIG. 42, one received symbol r ni
Is sent from the PE of # 1 to the PE of # 2t without changing the value, and the term of Z i-1 * α j to be added only changes.
Therefore, in the previous chapter, the PE of the syndrome generator is set to α j (j = 1,
,, 2t), but here, from α j input to α j
The values of (j−1, ..., 2t) are sequentially input, and the input of α j (j = 1, ..., m) is periodically repeated with j = 1 to m as one cycle. And the input of the received sequence is r i
Causes the received symbol r ni (i = 1, ..., N) to be input while the value of one received symbol is held for one cycle. By this, the register 7 can also be deleted, and the r i input is directly input to the adder. However, since the register 6 needs to store the calculation result of Z i for one cycle from the PE of # 1 to the PE of #m, m stages are required. The signal flow when m = 2t is shown in FIG.

最初(i=1)、セレクタの選択信号S1,2はrn-1が入
力されているときのみS1,2=10となり、X出力からはC
入力である0が出力されi=1のときの演算結果である
Z1=rn-iが2t段のレジスタに順次入力される。それ以後
(i=2,…,n)、S1,2=00とすることによってセレクタ
のX出力はA入力を選択し、前演算の結果であるZi-1
順次X出力から出力され基本クロツクCKに毎α(j=
1,…,2t)と乗算され、rn-iと加算されることによってZ
i=Zi-1*α+rn-i(j=1,…,2t)が演算され、順位
レジスタに入力される。従って、2t段のレジスタはSi-1
(j=1,…,2t)の演算の途中結果を一時保存して再び
フイードバツクさせるためのメモリ部となっている。こ
れによって、2t個のPEの処理を1つのPEで実現できる
が、レジスタ段数分だけ入力rn-iを保持する必要がある
ので、処理速度は(16/2t)Mwpsとなる。
At the beginning (i = 1), the selection signal S1,2 of the selector becomes S1,2 = 10 only when r n-1 is input, and C from the X output.
This is the calculation result when the input 0 is output and i = 1.
Z 1 = r ni is sequentially input to the 2t stage register. After that (i = 2, ..., n), by setting S1,2 = 00, the A output is selected as the X output of the selector, and Z i-1 which is the result of the previous operation is sequentially output from the X output. Every black CK α j (j =
1, ..., 2t) and added to r ni to give Z
i = Z i-1 * α j + r ni (j = 1, ..., 2t) is calculated and input to the rank register. Therefore, the 2t stage register is S i-1
It is a memory unit for temporarily storing the intermediate result of the calculation of (j = 1, ..., 2t) and feeding back again. With this, the processing of 2t PEs can be realized by one PE, but the processing speed becomes (16 / 2t) Mwps because it is necessary to hold the input r ni for the number of register stages.

ここでは、回路の小型化のために乗算器3は削り、5
と7のレジスタ列も省いている。従って、第2図のPEの
回路規模は(400+m*50)ゲートとなり、処理速度は
(16/m)Mwpsとなる。mはレジスタの段数であるが、全
処理を1PEで行わせる場合m=2tとなる。1例として、
訂正能力t=8とした場合1PEの回路規模は120ゲートと
なり、処理速度は1Mhz=8Mbpsとなる。
Here, the multiplier 3 is removed to reduce the size of the circuit.
The register row of 7 and 7 is also omitted. Therefore, the PE circuit scale in Fig. 2 is (400 + m * 50) gates, and the processing speed is (16 / m) Mwps. m is the number of stages of the register, but when all processing is performed in 1 PE, m = 2t. As an example,
When the correction capability t = 8, the circuit scale of 1PE is 120 gates, and the processing speed is 1Mhz = 8Mbps.

また、全処理を1PEで構成せず、複数のPEに分けて構
成する場合、第2図のPEを第4図のように接続する。こ
のとき、受信シンボルを1PE毎に1周期単位で遅らせる
ためにCK2(1周期毎のクロツク)で制御されるレジス
タが必要である。PEの数をkとすると全体の処理は(2t
/k)に分散されるので、1PEに必要なレジスタの段数は
m=(2t/k)となる。従って、第4図の回路規模は(2t
/m)*(400k+m*50)ゲートとなる。第5図に2つの
PEで構成した場合の信号の流れを示す。この場合α
割付けは、#1のPEがα(j=1,…,t)、#2のPEが
α(j=t+1,…,2t)となる。この場合、レジスタ
段数m=tであるので処理速度は2Mhz=16Mbpsとなり、
回路規模は800*2=1600ゲートとなる。
Further, when the whole processing is not configured with one PE but is configured with a plurality of PEs, the PEs in FIG. 2 are connected as shown in FIG. At this time, a register controlled by CK2 (clock for each cycle) is required to delay the received symbol by one cycle for each PE. If the number of PEs is k, the whole process is (2t
/ k), the number of register stages required for 1PE is m = (2t / k). Therefore, the circuit scale of Fig. 4 is (2t
/ m) * (400k + m * 50) Gate. Two in FIG.
The signal flow when configured with PE is shown. In this case, the allocation of α j is that the PE of # 1 is α j (j = 1, ..., T) and the PE of # 2 is α j (j = t + 1, ..., 2t). In this case, since the number of register stages is m = t, the processing speed is 2Mhz = 16Mbps,
The circuit scale is 800 * 2 = 1600 gates.

m=1としたとき必要なPEの数はk=2tととなり、CK
2=CKとなるのでCK2で制御されるレジスタはレジスタ7
と等価になり、処理速度も16Mwpsとなる。従って、これ
は第42図の無駄な回路を省いた構成になっている。ま
た、セレクタのB入力が空いていることを利用して、前
PEのS(x)出力を入力することによって最後のPEから
シンドローム多項式の係数(S2t-1,S2t-2,…,S1,S0)を
S′(x)としてシリアルに出力することができる。
When m = 1, the required number of PEs is k = 2t, and CK
Since 2 = CK, the register controlled by CK2 is register 7.
Is equivalent to, and the processing speed is 16Mwps. Therefore, this is a configuration in which the useless circuit of FIG. 42 is omitted. Also, using the fact that the B input of the selector is empty,
By inputting the S (x) output of the PE, the coefficients (S 2t-1 , S 2t-2 , ..., S 1 , S 0 ) of the syndrome polynomial are serially output as S ′ (x) from the last PE. be able to.

(GCD生成部(誤り位置多項式及び誤り数値多項式生
成)) ステツプ2の誤り位置多項式σ(x)と誤り数値多項
式ω(x)の導出アルゴリズムは、拡張GCD問題に帰着
できる。第43図の回路に於いて、各々のPEは1度のProc
ess処理が終るとその出力を次のPEに渡し、自らは次の
入力を受け取り2t回のProcess処理を行った。その2t回
のProcess処理結果を次のPEに出力せず、自らのレジス
タに蓄えシンドローム多項式S(x)とx2tの1連の入
力が終った後、レジスタに蓄えた結果をフイードバツク
して、1つのPEで全処理を行うことを考える。
(GCD Generator (Error Location Polynomial and Error Value Polynomial Generation)) The derivation algorithm of the error location polynomial σ (x) and the error value polynomial ω (x) in Step 2 can be reduced to the extended GCD problem. In the circuit of Figure 43, each PE is a Proc
When the ess processing was completed, the output was passed to the next PE, and the processing itself was performed 2t times after receiving the next input. The process processing result of 2t times is not output to the next PE, is stored in its own register, and after the series of inputs of the syndrome polynomial S (x) and x 2t is finished, the result stored in the register is fed back, Consider that all processing is performed by one PE.

そのときのPEの構成を第6図に示す。第43図と同様に
Stateを設定する回路とα,βを保持するためのCK2とCL
で制御されるレジスタと、ai-1,bi-1を実現するために
レジスタ列5,7の後にもう1段レジスタを挿入する必要
がある。従って、PE内のレジスタ段数をmとしたとき、
1PEにおいて必要な回路規模(State設定の回路はコント
ロール部であるので除く)は、(700+(3m+4)*5
0)ゲートとなる。(700は演算部の回路規模であり、
(3m+4)はレジスタの総数である) 1つのPEで全処理を行う場合には、m=2t(処理結果
の多項式の次数は2t以上にならないため)となり、第40
図に示す例についてA(B)を求める場合の信号の流れ
の初めの部分を第7図に示し、L(M)を求める場合の
信号の流れの初めの部分を第8図に示す。セレクタ選択
信号の切り替え、及びCK2の制御は挿入したレジスタも
考慮にいれて、基本クロツクCKが(m+1)毎に行うこ
とによって第44図,第45図の動作が逐次的に1つのPEで
行われることが分かる。
The structure of PE at that time is shown in FIG. Similar to Figure 43
Circuit to set State and CK2 and CL to hold α and β
It is necessary to insert another stage register after the registers controlled by and the register rows 5 and 7 in order to realize a i-1 and b i-1 . Therefore, when the number of register stages in PE is m,
The circuit scale required for 1PE (excluding the state setting circuit is the control unit) is (700+ (3m + 4) * 5
0) It becomes a gate. (700 is the circuit scale of the arithmetic unit,
(3m + 4) is the total number of registers) When all processing is performed by one PE, m = 2t (because the order of the polynomial of the processing result does not exceed 2t)
FIG. 7 shows the first part of the signal flow when obtaining A (B) in the example shown in the figure, and FIG. 8 shows the first part of the signal flow when obtaining L (M). Switching of the selector selection signal and control of CK2 are performed by the basic clock CK every (m + 1), taking into account the inserted register, so that the operations in Fig. 44 and Fig. 45 are performed sequentially by one PE. I understand that

なお、A(B)を求めるときとL(M)を求めるとき
でProcess部を独立に2つ持つか、1つを2回用いなけ
ればならない。以下、1つのProcess処理について評価
を行うが、1つのProcess部を2回用いる場合は処理速
度を半分にし、2つのProcess部を独立に持つ場合には
必要なPEの数を2倍にすればよい。
It should be noted that two process parts must be independently provided or one must be used twice for obtaining A (B) and L (M). Below, we will evaluate one Process process. If one Process part is used twice, the processing speed will be halved, and if two Process parts are independently provided, the number of PEs required will be doubled. Good.

ここでは、シンドローム多項式S(x)(またはM=
1)、及びx2t(またはL=0)の入力時のみセレクタ
選択信号S1,2=11としてX,Y出力にD,E入力が出力される
セレクタを用いる。(表にセレクタ出力の組合せを示
す)また、A(B)とL(M)を1つのProcess部で処
理する場合、第9図に示すPEを用いて、第10図のように
S1..4を制御することによりA=x2t,B=S(x),L=0,
M=1の入力を行うことも出来る。(セレクタ選択信号
の組合せを表に示す)但し、第43図の#2t+2のPEはセ
レクタによる信号選択のみ意味があるので、第9図のPE
のW出力を利用しPEによる処理回数を2t+1回とする。
(また第6図のPEでは別にセレクタを設けることによっ
て処理回路を2t+1回に減らす。また、#2t+2の信号
選択はdegB<tの場合S4=1とすることによってB入力
がWから出力される。) 従って、ここでの処理速度は第43図の処理をレジスタ
段数m毎に行うので(16/2t/m)Mlpsとなる。1例とし
て、t=8としてm=2tとしたときの回路規模は3300ゲ
ート、処理速度は1/16Mlps=n/16Mwpsとなる。
Here, the syndrome polynomial S (x) (or M =
1) and x 2t (or L = 0) only when the selector selection signal S1,2 = 11, the selector that outputs the D and E inputs to the X and Y outputs is used. (Shown in the table are the combinations of selector outputs.) When processing A (B) and L (M) in one Process section, use PE shown in FIG.
By controlling S1..4, A = x 2t , B = S (x), L = 0,
You can also input M = 1. (The combinations of selector selection signals are shown in the table.) However, the PE of # 2t + 2 in FIG. 43 is meaningful only for the signal selection by the selector, so the PE of FIG. 9 is used.
The number of processing by PE is 2t + 1 times by using the W output of
(Also, in the PE of FIG. 6, the processing circuit is reduced to 2t + 1 times by providing a separate selector. Also, the signal input of # 2t + 2 is output from W by setting S4 = 1 when degB <t. Therefore, the processing speed here is (16 / 2t / m) Mlps because the processing of FIG. 43 is performed for every m number of register stages. As an example, when t = 8 and m = 2t, the circuit scale is 3300 gates and the processing speed is 1 / 16Mlps = n / 16Mwps.

また全処理を1PEで構成せず、複数のPEに分けて構成
する場合、第6図のPEを第11図のように接続する。この
とき、係数データを各PEで循環させながら動作させるた
めに、最後のPEの出力を最初にPEにフイードバツクさせ
る必要がある。PEの数をkとすると全体の処理は(2t/
k)に分散されるので、1PEに必要なレジスタの段数はm
=(2t/k)となる。従って、第11図の回路規模は(2t/
m)*(700+(3m+4)*50)のゲートとなる。
Further, when the whole processing is not configured with one PE but is configured with a plurality of PEs, the PEs in FIG. 6 are connected as shown in FIG. At this time, in order to operate while circulating coefficient data in each PE, it is necessary to feed back the output of the last PE to the PE first. If the number of PEs is k, the total processing is (2t /
k), the number of register stages required for 1PE is m
= (2t / k). Therefore, the circuit scale of Fig. 11 is (2t /
m) * (700+ (3m + 4) * 50)

第12図に2つのPEで構成した場合の信号の流れを示
す。この場合、レジスタの段数m=tであるので処理速
度は2/16Mlpsとなり、回路規模は1950*2=3900ゲート
となる。
FIG. 12 shows the signal flow when it is configured with two PEs. In this case, since the number of register stages is m = t, the processing speed is 2/16 Mlps, and the circuit scale is 1950 * 2 = 3900 gates.

m=1としたとき必要なPEの数はk=2tとなり、処理
速度は16Mlpsとなる。この構成では最後のPEから最初の
PEへフイードバツクを行うので、2t+1回の処理回数に
対してPEの数は2tで済む。シストリツクな接続にするた
めにPEの数を処理回数に対応させて2t+1とすると、信
号をフイードバツクする必要がなくなるので第43図とし
て同じ構成になる。(この場合#2t+2のPEはセレクタ
となる) (誤り位置、及び誤り数値生成部) ステツプ3もステツプ1と同様に次の繰り返しアルゴ
リズム、及び分解式を用いることが出来る。
When m = 1, the number of PEs required is k = 2t, and the processing speed is 16 Mlps. In this configuration the last PE to the first
Since the feed back is performed to the PE, the number of PEs is 2t for 2t + 1 times of processing. If the number of PEs is set to 2t + 1 corresponding to the number of times of processing for a systolic connection, the signal does not need to be feedback-backed, and the same configuration as shown in FIG. 43 is obtained. (In this case, the PE of # 2t + 2 serves as a selector.) (Error position and error value generation unit) Step 3 can also use the following iterative algorithm and decomposition formula as in Step 1.

f=(x)=ft-1*xt-1+ft-2*xt-2…+f1*x+f0 =(…((ft-1*x+ft-2)*x+ft-3)* x+…+f1)*x+f0) Z0=0 Zi=Zi-1*x+ft-i(j=1,…,t) f(x)=Zt また、回路を小型化するためにステツプ1と同様に乗
算器3とレジスタ5を削る。また第46図の回路において
α-1(i=n−1,…,0)の入力はステツプ1と同様に#
1のPEから#tのPEまで値を変えること無く送られるだ
けである。そこでj=1からmまでを1周期としてα-1
の1つの値が保持されるようにα-1(i=n−1,…,0)
を入力する。
f = (x) = f t-1 * x t-1 + f t-2 * x t-2 ... + f 1 * x + f 0 = (... ((f t-1 * x + f t-2 ) * x + f t-3 ) * X + ... + f 1 ) * x + f 0 ) Z 0 = 0 Z i = Z i-1 * x + f ti (j = 1, ..., t) f (x) = Z t In addition, in order to miniaturize the circuit. As in step 1, the multiplier 3 and the register 5 are deleted. Further, in the circuit of FIG. 46, the input of α -1 (i = n-1, ..., 0) is the same as in step 1 #
It is only sent from the PE of 1 to the PE of #t without changing the value. Therefore, j −1 to m is one cycle and α −1
Α −1 (i = n−1, ..., 0) so that one value of
Enter

またft−iの係数はステツプ1と同様に1周期毎にf
t-i(j=1,…,m)の入力が繰り返さなければならな
い。ステツプ2のGCD生成部からの出力を考えた場合、
係数ft-i(j=1,…,t)は1度出力されるが、周期的に
繰り返し出力されない。そこで、選択信号S1,2によって
表のような組合せで出力されるセレクタとm段のレジス
タ列7を用いて、第13図のようにPEを構成し、第14図の
ように信号を送る。GCD生成部から係数t-i(j=1,…,
t)が出力されているときはセレクタ選択信号をS1,2=1
1(ft-1が入力されているときのみ)からS1,2=01とす
ることによって、Y出力から係数ft-i(j=1,…,t)が
順次出力され、レジスタ列7に入力される。
In addition, the coefficient of ft-i is f
The input of ti (j = 1, ..., m) must be repeated. Considering the output from the GCD generator of step 2,
The coefficient f ti (j = 1, ..., T) is output once, but is not repeatedly output periodically. Therefore, a PE is constructed as shown in FIG. 13 by using the selectors and the m-stage register array 7 which are output by the selection signals S1, 2 in a combination as shown in the table, and signals are sent as shown in FIG. From the GCD generator, the coefficient ti (j = 1, ...,
t) is output, the selector selection signal is S1,2 = 1
By setting S1,2 = 01 from 1 (only when f t-1 is input), the coefficients f ti (j = 1, ..., t) are sequentially output from the Y output and input to the register row 7. To be done.

その出力をB入力フイードバツクしてセレクタ選択信
号をS1,2=10(ft-1が入力されているときのみ)からS
1,1=00とすることによって、再びY出力から係数ft-i
(j=1,…,t)が出力され、レジスタ列7に入力され
る。以後その動作を繰り返すことによって係数ft-i(j
=1,…,t)の周期的な入力が実現される。これによって
ステツプ1と同様にm個のPEの処理を1つのPEで実現で
きるが、レジスタ段数分だけ入力α-1を保持する必要が
あるので、処理速度は(16/m)Mwpsとなる。(mはレジ
スタ段数) また1PEに必要な回路規模は(400+(m+1)*50)
ゲートとなる。
The output is B input feedback and the selector selection signal is changed from S1,2 = 10 (only when ft -1 is input) to S.
By setting 1,1 = 00, the coefficient f ti is again calculated from the Y output.
(J = 1, ..., T) is output and input to the register train 7. After that, by repeating the operation, the coefficient f ti (j
= 1, ..., t) periodic input is realized. As a result, the processing of m PEs can be realized by one PE as in step 1, but the processing speed is (16 / m) Mwps because it is necessary to hold the input α -1 for the number of register stages. (M is the number of register stages) Also, the circuit scale required for 1PE is (400 + (m + 1) * 50)
Become a gate.

mはレジスタ段数であるが、全処理を1PEで行わせる
場合m=tとなる。但し、ω(x),σ(x),σ′
(x)の処理のためにPEは3セツト必要である。1例と
して、訂正能力t=8とした場合回路規模は3*850=2
550ゲートとなり、処理速度は2Mwpsとなる。
Although m is the number of register stages, when all processing is performed in 1 PE, m = t. However, ω (x), σ (x), σ ′
3 sets of PE are required for the treatment of (x). As an example, when the correction capability t = 8, the circuit scale is 3 * 850 = 2.
It has 550 gates and the processing speed is 2Mwps.

また全処理を1PEで構成せず、複数のPEに分けて構成
する場合、第13図のPEを第15図のように接続する。この
とき、α-1を1PE毎に1周期単位で遅らせるためにCK2
(1周期毎のクロツク)で制御されるレジスタが必要で
ある。
Further, when the whole processing is not configured by one PE but is configured by being divided into a plurality of PEs, the PEs of FIG. 13 are connected as shown in FIG. At this time, in order to delay α -1 in 1 cycle units per 1 PE, CK2
A register controlled by (clock for each cycle) is required.

PEの数をkとすると全体の処理は(t/k)に分散され
るので、1PEに必要なレジスタ段数はm=(t/k)とな
る。従って、第15図の回路規模は(t/m)*(400+(m
+1)*50)ゲートとなる。第16図に2つのPEで構成し
た場合の信号の流れを示す。この場合、t=8であるの
でm=(t/2)=4として回路規模は3*2*650=3900
ゲートとなり、処理速度は4Mwpsとなる。
When the number of PEs is k, the entire processing is distributed to (t / k), so the number of register stages required for one PE is m = (t / k). Therefore, the circuit scale in Figure 15 is (t / m) * (400+ (m
+1) * 50) It becomes a gate. Fig. 16 shows the signal flow when it is configured with two PEs. In this case, since t = 8, m = (t / 2) = 4 and the circuit scale is 3 * 2 * 650 = 3900.
It becomes a gate and the processing speed becomes 4Mwps.

m=1としたとき必要なPEの数はk=tとなり、CK2
=CKとなるのでCK2で制御されるレジスタはレジスタ5
と等価になり、ft-iの割り付け部をのぞいて第46図と同
じ構成になり、処理速度も16Mwpsとなる。
When m = 1, the required number of PEs is k = t, and CK2
= CK, so the register controlled by CK2 is register 5
It becomes the same as, and except the allocation part of f ti , it has the same configuration as in Fig. 46, and the processing speed is 16 Mwps.

また、第17図にσ(x),とσ′(x)を1つのPEで
処理する場合PEを示し、第18図に信号の流れを示す。ス
テツプ3は1周期がtであるので1PEを2度用いること
が出来、またσ′(x)の係数がσ(x)の係数を用い
ることを利用する。これによって、ステツプ3が2セツ
トのPEで実現でき、第18図に示すようにσ(x),σ′
(x)の動作は2t毎となり、ω(x)の出力も第19図の
ようにすることによって2t毎に動作させることが出来
る。ここでは出力の組合せが表のようになるセレクタを
用いてY出力が0となるときだけセレクタ選択信号をS
1..3=001とすればよい。この場合、処理速度は2Mwps/2
=1Mwpsとなり、必要なPEのセツトも2セツトとなるの
で回路規模は2*850=1700ゲートとなる。
Further, FIG. 17 shows a PE when σ (x) and σ ′ (x) are processed by one PE, and FIG. 18 shows a signal flow. In Step 3, since one cycle is t, 1PE can be used twice, and the coefficient of σ ′ (x) uses the coefficient of σ (x). As a result, step 3 can be realized with a 2-set PE, and as shown in FIG. 18, σ (x), σ '
The operation of (x) is every 2t, and the output of ω (x) can also be operated every 2t by making it as shown in FIG. Here, the selector selection signal is set to S only when the Y output becomes 0 by using the selector whose output combination is as shown in the table.
1..3 = 001 should be set. In this case, the processing speed is 2Mwps / 2
= 1Mwps, and the required PE set is also 2 sets, so the circuit scale is 2 * 850 = 1700 gates.

(消失位置多項式生成部) ここでは、ステツプ1からのシンドローム多項式の係
数出力S(x)を受けて消失訂正を行うために必要なS
(x)*λ(x)を生成する。
(Erasure Position Polynomial Generation Unit) Here, S necessary for receiving the coefficient output S (x) of the syndrome polynomial from step 1 and performing erasure correction.
Generate (x) * λ (x).

まず、消失位置多項式λ(x)を生成することを考え
る。
First, consider generating the erasure position polynomial λ (x).

λ(x)=(1−Y1*x)*(1−Y2*x)…(1−Y5
*x) であり、前章と同様にλ(x)を次のように分解する。
λ (x) = (1- Y 1 * x) * (1-Y 2 * x) ... (1-Y 5
* X), and decompose λ (x) as follows, as in the previous chapter.

Z0=1 Zi=(1−Yi*x)*Zi-1 =Yi*Zi-1*x+Zi-1(i=1,…,s) λ(x)=Z5 まず、回路を小型化するために乗算器3及びレジスタ
6を削る。ここでは処理クロツク数またはレジスタ段数
に対応させる。またZi-1入力を1クロツク遅らせるため
のレジスタを1つ用意する。従って、PEの構成は第22図
のようになり、1PEに必要な回路規模は(400+(m+
1)*50)のゲートとなる。(mはレジスタ段数)第23
図に信号の流れを示す。
Z 0 = 1 Z i = (1-Y i * x) * Z i-1 = Y i * Z i-1 * x + Z i-1 (i = 1, ..., s) λ (x) = Z 5 First , The multiplier 3 and the register 6 are removed in order to miniaturize the circuit. Here, it corresponds to the number of processing clocks or the number of register stages. Also, prepare one register to delay the Z i-1 input by one clock. Therefore, the PE configuration is as shown in Fig. 22, and the circuit scale required for 1PE is (400+ (m +
1) * It becomes the gate of 50). (M is the number of register stages) 23rd
The signal flow is shown in the figure.

1PE内のレジスタ段数m(ここではm=2tとする)を
1周期としてYiの1つの値が保持されるようにYi(i=
1,…,s)を入力する。最初、(Y1入力時)セレクタ選択
信号をS1,2=11としXにD入力Z0=1、YにC入力0を
入力し演算結果のY1を次のクロツクでレジスタ列6に入
力する。以降、S1,2=10としてXにC入力0、YにZ0
1クロツク遅らせたA入力を出力し、演算結果Z0=1を
次のクロツクでレジスタ列6に入力する。その次のクロ
ツク以降は演算結果が0であるので0がレジスタ列6に
入力される。1周期後、(Y2入力時)レジスタ列6から
前演算結果Z1=Y1*x+1(次数xは信号の順序を表
す)が出力されるので、S1,2=01としXに前演算結果の
最高次係数Y1をA入力から、YにC入力の0を出力し演
算結果のY1*Y2をクロツクでレジスタ列6に入力する。
以降、S1,2=00としてXにZ1の次の係数1をA入力か
ら、Yに1クロツク遅らせたZ1の最高次係数Y1をB入力
から選択し、演算結果Y1+Y2を次のクロツクでレジスタ
列6に入力する。このときXからは0、YからはZ1の次
の係数1が出力され、次のクロツクで演算結果1がレジ
スタ列6に入力され、以降演算結果が0であるので0が
入力される。Y2入力時の動作をY3入力以降も繰り返すこ
とによってY5入力後にレジスタ列6からλ(x)が高次
の係数から出力される。
The number of register stages in one PE is m (here, m = 2t), and one cycle of Y i is held so that Y i (i =
Enter 1,…, s). First (when Y 1 is input), the selector selection signal is set to S1, 2 = 11 and the D input Z 0 = 1 is input to X, the C input 0 is input to Y, and the operation result Y 1 is input to the register row 6 at the next clock. To do. After that, S1,2 = 10 is set, C input 0 is input to X, A input is output by delaying Z 0 by 1 clock to Y, and the operation result Z 0 = 1 is input to the register train 6 at the next clock. Since the operation result is 0 after the next clock, 0 is input to the register sequence 6. One cycle later (when Y 2 is input), the pre-computation result Z 1 = Y 1 * x + 1 (where order x represents the order of signals) is output from the register string 6, so S1, 2 = 01 and pre-computation is performed on X. results of the highest order coefficient Y1 from the a input, and inputs the Y 1 * Y 2 outputs calculated results 0 C input to the register train 6 with clock in Y.
After that, S1,2 = 00 is selected, the coefficient 1 next to Z 1 is input to X from A input, the highest coefficient Y 1 of Z 1 delayed by 1 clock to Y is selected from B input, and the calculation result Y 1 + Y 2 is selected. Input to the register string 6 at the next clock. At this time, 0 is output from X, the coefficient 1 next to Z 1 is output from Y, the operation result 1 is input to the register sequence 6 at the next clock, and 0 is input since the operation result is 0 thereafter. By repeating the operation at the time of Y 2 input after Y 3 input, λ (x) is output from the higher order coefficient from the register array 6 after Y 5 input.

s≦2tであるので、Yi=0(i=s+1,…,2t)を入
力すればよい。
Since s ≦ 2t, Y i = 0 (i = s + 1, ..., 2t) may be input.

従って、処理速度は(16/2t/m)Mlpsとなる。1例と
して、t=8として全処理を1PEで行わせる場合、回路
規模は1250ゲートとなり、処理速度は1/16Mlpsとなる。
Therefore, the processing speed is (16 / 2t / m) Mlps. As an example, if t = 8 and all processing is performed with 1 PE, the circuit scale is 1250 gates and the processing speed is 1/16 Mlps.

また、全処理を1PEで構成せず、複数のPEに分けて構
成する場合、第22図のPEを第24図のように接続する。こ
のときYiの値を2tクロツクの間保持するために各PE毎に
Yiを設定するレジスタが必要である。PEの数をkとする
と全体の処理は(2t/k)に分散されるので、1PEに必要
なレジスタ段数はm=(2t/k)となる。従って、第24図
の回路規模は(2t/m)*(400+(m+1)*50)ゲー
トとなる。第25図に2つのPEで構成した場合の信号の流
れを示す。このとき回路規模は850*2=1700ゲートと
なり、処理速度は2/16Mlpsとなる。
Further, when the entire processing is not configured by one PE but is configured by being divided into a plurality of PEs, the PEs of FIG. 22 are connected as shown in FIG. At this time, in order to hold the value of Y i for 2t clock, for each PE
You need a register to set Y i . If the number of PEs is k, the entire processing is distributed to (2t / k), so the number of register stages required for one PE is m = (2t / k). Therefore, the circuit scale of FIG. 24 is (2t / m) * (400+ (m + 1) * 50) gates. Fig. 25 shows the signal flow when it is composed of two PEs. At this time, the circuit scale is 850 * 2 = 1700 gates, and the processing speed is 2/16 Mlps.

m=1としたとき必要なPEの数はk=2tとなり、処理
速度も(16/2t)Mlpsとなり、第47図の構成と等価にな
る。
When m = 1, the required number of PEs is k = 2t, and the processing speed is (16 / 2t) Mlps, which is equivalent to the configuration of FIG.

次に、乗算回路S(x)*λ(x)を考える。乗算C
(x)=A(x)*B(x)の計算を前章と同様に次の
ように分解する。
Next, consider the multiplication circuit S (x) * λ (x). Multiplication C
The calculation of (x) = A (x) * B (x) is decomposed as follows as in the previous section.

A(x)=am-1*xm-1+am-2*xm-2+…+a1*x+a0
したとき C(x)=am-1*B(x)*xm-1 +am-2*B(x)*xm-2 +…+a1*B(x)*x+a0B(x) となるので Z0=0 Zi=Zi-1*x+B(x)*am-i(j=1,…,m) C(x)=Zm 従って、B(x)が入力されている間am-iを保持しZi
=Zi-1*x+8(x)*am-iを演算した後レジスタ列6
に挿入し、1周期後その演算結果をZi-1としてフイード
バツクすればよい。しかし、入力S(x)及びλ(x)
はステツプ1のシンドローム生成部、及び前述の誤り位
置多項式生成部から1度基本クロツクCKの転送レートで
入力されるだけである。そこで、レジスタ列5,7を用い
て繰り返し入力を実現し、CK2で制御されるレジスタを
用いて設定値を保持する。また、レジスタ列7からのB
(x)出力はレジスタ列6からのZi-1出力より1クロツ
ク遅れてフイードバツクされる必要があるのでPEの構成
は第26図のようになる。B(x)=S(x),am-i=λ
2t-i(i=0,…,2t)とした場合の信号の流れを第27図
に示す。(1PE内のレジスタ段数m−1=2t−1とす
る) 先ず、セレクタ選択信号S1,2=01としてλ(x)をF
入力からW出力を通してレジスタ列5に入力する。その
ときλ(x)の最高次係数λ2tをCK2によって制御され
るレジスタに蓄え、乗算器3の入力に設定する。またS
(x)をλ(x)より1クロツク遅らせてEに入力し、
Yに出力させレジスタ列7に入力する。その間XはC入
力0を出力する。これによってλ2t*S(x)が演算さ
れ、レジスタ列6に入力される。このときλ(x)*S
(x)の最高次係数λ2t*S2t-1は演算されているのでC
KDによってラツチされ出力される。1周期をm(ここで
はm=2t)として、1周期後セレクタ選択信号S1,2=00
とする。Bからはm段のレジスタ列7によってフイード
バツクされたS(x)が入力され、再びYからレジスタ
列7に入力される。Dからはm段のレジスタ列5によっ
て最高次係数がずれたλ(x)がフイードバツクされW
に出力される。従って、CK2ではλ(x)の次の係数λ
2t-1が蓄えられ乗算器3に設定される。Aからはm−1
段のレジスタ列6によって全演算結果の最高次係数がず
れたものがフイードバツクされB(x)=S(x)に対
し1次係数がずれた形で入力される。これによって、Zi
=Zi-1*x+B(x)*am-iが演算されたレジスタ列6
に入力される。以降CK2にλが入力され演算が終了す
るまで同様に演算が行われる。但し、答えとなる演算結
果は入力にフイードバツクするときずれてしまうので、
演算される度にCKDによって出力される。またλ(x)
の係数も入力にフイードバツクするときずれてしまうの
で1次づつ係数が減ってしまう。ずらされた係数は必要
ないのでフイードバツクされるときセレクタ選択信号を
S1,2=10とすることによってX,Wに0を出力する。
When A (x) = a m-1 * x m-1 + a m-2 * x m-2 + ... + a 1 * x + a 0 C (x) = a m-1 * B (x) * x m -1 + a m-2 * B (x) * x m-2 + ... + a 1 * B (x) * x + a 0 B (x), so Z 0 = 0 Z i = Z i-1 * x + B (x ) * A mi (j = 1, ..., m) C (x) = Z m Therefore, while a (x) is input, hold a mi and keep Z i
= Z i-1 * x + 8 (x) * a mi is calculated and then register sequence 6
Then, after one cycle, the calculation result may be set as Z i−1 and feedback may be performed. However, the inputs S (x) and λ (x)
Is only input at the transfer rate of once the basic clock CK from the syndrome generator of step 1 and the above-mentioned error locator polynomial generator. Therefore, repetitive input is realized by using the register rows 5 and 7, and the set value is held by using the register controlled by CK2. In addition, B from register row 7
Since the (x) output needs to be fed back one clock later than the Z i-1 output from the register train 6, the PE configuration is as shown in FIG. B (x) = S (x), a mi = λ
FIG. 27 shows the signal flow in the case of 2t-i (i = 0, ..., 2t). (The number of register stages in one PE is m-1 = 2t-1) First, λ (x) is set to F as the selector selection signal S1,2 = 01.
Input from the input to the register array 5 through the W output. At that time, the highest-order coefficient λ 2t of λ (x) is stored in the register controlled by CK2 and set to the input of the multiplier 3. Also S
Input (x) to E with one clock delay from λ (x),
It is output to Y and input to the register train 7. Meanwhile, X outputs C input 0. As a result, λ 2t * S (x) is calculated and input to the register train 6. At this time λ (x) * S
Since the highest-order coefficient λ 2t * S 2t-1 of (x) has been calculated, C
It is latched and output by KD. One cycle is m (here, m = 2t), and one cycle later the selector selection signal S1,2 = 00
And From B, S (x) fed back by the m-stage register train 7 is input, and again input from Y to the register train 7. From D, λ (x) with the highest-order coefficient deviated by the m-stage register train 5 is fed back and W
Is output to Therefore, in CK2, the coefficient λ next to λ (x) is
2t-1 is stored and set in the multiplier 3. M-1 from A
The highest order coefficient of all the calculation results is shifted by the register row 6 of the stages and is fed back and is input in the form where the first order coefficient is shifted with respect to B (x) = S (x). This gives Z i
= Z i-1 * x + B (x) * a mi is the register sequence 6
Is input to Thereafter, the same calculation is performed until λ 0 is input to CK2 and the calculation is completed. However, the result of the calculation, which is the answer, will be misaligned when the input is fed back, so
It is output by CKD each time it is calculated. Also λ (x)
Since the coefficient of is also shifted when the input is fed back, the coefficient is decreased by each primary. Since the shifted coefficient is not necessary, the selector selection signal should be set when feeding back.
By setting S1,2 = 10, 0 is output to X and W.

また演算終了後レジスタ列6には答えの演算結果が残
っているので同様の動作を繰り返すことによりレジスタ
列6の結果が1係数づつずらされてCKDから出力され
る。
Further, since the answer operation result remains in the register array 6 after completion of the operation, by repeating the same operation, the result in the register array 6 is shifted by one coefficient and output from CKD.

1PEに必要な回路規模はPE内のレジスタ段数をm−1
とした場合(400+3m*50)ゲート)となる。また、処
理速度は演算終了から出力終了まで考える必要があるの
で(16/4t/m)/2となる。全処理を1PEで行う場合PE内の
レジスタ段数m=2tとなり、1例として訂正能力t=8
とした場合、回路規模は2800ゲートとなり、、処理速度
は(1/32)Mlpsとなる。
The circuit scale required for 1PE is the number of register stages in PE is m-1
(400 + 3m * 50) gate). Moreover, the processing speed is (16 / 4t / m) / 2 because it is necessary to consider from the end of calculation to the end of output. When all processing is performed in 1 PE, the number of register stages in PE is m = 2t, and correction capacity t = 8 as an example.
In this case, the circuit scale is 2800 gates and the processing speed is (1/32) Mlps.

また、全処理を1PEで構成せず、複数のPEに分けて構
成する場合、第26図のPEを第28図のように接続する。こ
のときam-iの値を2tクロツクの間保持するために各PE毎
にam-iを設定するレジスタが必要である。PEの数をkと
すると全体の処理は(2t/k)に分散されるので、1PEに
必要なレジスタ段数はm=(2t/k)となる。従って、第
28図の回路規模は(2t/m)*(400+3m*50)ゲートと
なる。第29図に2つのPEの構成した場合の信号の流れを
示す。このとき回路規模1600*2=3200ゲートとなり、
処理速度は(1/16)Mlpsとなる。
Further, when the whole process is not configured by one PE but divided into a plurality of PEs, the PEs of FIG. 26 are connected as shown in FIG. 28. At this time, in order to hold the value of a mi for 2t clock, a register for setting a mi is required for each PE. If the number of PEs is k, the entire processing is distributed to (2t / k), so the number of register stages required for one PE is m = (2t / k). Therefore,
The circuit scale in Fig. 28 is (2t / m) * (400 + 3m * 50) gates. FIG. 29 shows a signal flow when two PEs are configured. At this time, the circuit scale is 1600 * 2 = 3200 gates,
The processing speed is (1/16) Mlps.

m=1としたとき必要なPEの数はk=2tとなり、処理
速度も(1/2)Mlpsとなる。
When m = 1, the number of PEs required is k = 2t, and the processing speed is (1/2) Mlps.

(符号器) 符号化は情報I(x)=(Ik-1,IK-2,…,I0)からパ
リテイP(x)=(P2t,P2t-1,…,P1)を生成する。符
号化とは生成多項式を g(x) =gm*xm+gm-1*xm-1+gm-2*xm-2…+g1*x+g0 とすると P(x)=I(x)*m mod g(x) を求めることであり、 g′(x)=gm-1*xm-1+gm-2*xm-2…+g1*x+g0 とすると この式は次のように分解される。
(Encoder) Encoding is performed from information I (x) = (I k-1 , I K-2 , ..., I 0 ) to parity P (x) = (P 2 t, P 2t-1 , ..., P 1). ) Is generated. Encoding means that the generator polynomial is g (x) = g m * x m + g m-1 * x m-1 + g m-2 * x m-2 … + g 1 * x + g 0 P (x) = I ( x) * m mod g (x), and g '(x) = g m-1 * x m-1 + g m-2 * x m-2 ... + g 1 * x + g 0 It is decomposed as follows.

Z0=I(x) Zi=gm*Z′i-1+Zm*g′(x) (i=1,…,k) P(x)=Zk ここでZmは多項式Zi-1の最高次係数とし、Z′i-1はZ
i-1から最高次係数を除いた多項式とする。Zmをg′
(x)入力中保持し、Zm*g′(x)の演算を行う。こ
こでは、gm=1とし、第30図のようにPEを構成する。
Z 0 = I (x) Z i = g m * Z ′ i−1 + Z m * g ′ (x) (i = 1, ..., k) P (x) = Z k where Z m is a polynomial Z i -1 is the highest coefficient and Z'i-1 is Z
It is a polynomial in which the highest-order coefficient is removed from i-1 . Z m is g ′
(X) Hold during input and calculate Zm * g '(x). Here, PE is configured as shown in FIG. 30 with g m = 1.

giからg′(x)の係数gm-1からg0がmを1周期とし
て周期的に乗算器2に入力される。またCK2(1周期毎
のクロツク)とCLによって制御されるレジスタによって
Zmを保持し、Aに入力する。Z′i-1は前演算結果Zi-1
を周期に対して1クロツク早く出力することによって実
現する。従ってレジスタ列6の段数をm−1とし、B入
力にフイードバツクする。情報I(x)はCから入力さ
れ1周期の間1つの値が保持されるように入力する。
The coefficients g m-1 to g 0 of g i to g '(x) are periodically input to the multiplier 2 with m as one cycle. Also, by the register controlled by CK2 (clock for each cycle) and CL
Hold Z m and input to A. Z ′ i-1 is the previous calculation result Z i-1
Is output by 1 clock earlier than the cycle. Therefore, the number of stages of the register array 6 is set to m-1, and feedback is applied to the B input. The information I (x) is input from C so that one value is held for one cycle.

第31図に符号化の様子を示す。先ずi=1のときを考
える。初期状態としてCK2で制御されるレジスタに情報
シンボルIk-1が保持され、C入力からは情報Ik-m-1が入
力され、レジスタ列6に情報シンボルがIk-2からIk-m
蓄えられている場合を考える。演算部ではA入力からの
Ik-1にg′(x)を乗じて、B入力からのIk-2〜Ik-m
及びC入力からのIk-m-1と加算して、レジスタ別6に入
力する。(Y出力に対するB,C入力の切り替えはセレク
タ選択信号S1,2によって行われ、B入力の時S1,2=00、
C入力の時S1,2=01とする) その演算結果をZ1の高次の項からI′k-1=Ik-1*g
m-i+Ik-i-1とする。(j=1,…,m)i=2以降もI′
k-iに対しての同様の処理をi=kまで行うことにより
符号化が行われる。
FIG. 31 shows the state of encoding. First, consider the case of i = 1. In the initial state, the information symbol I k-1 is held in the register controlled by CK2, the information I km-1 is input from the C input, and the information symbols I k-2 to I km are stored in the register sequence 6. Think of if. In the calculation section, from the A input
Multiplying I k-1 by g '(x), I k-2 to I km from the B input,
And I km-1 from C input, and input to each register 6. (Switching of the B and C inputs to the Y output is performed by the selector selection signals S1,2, and when the B input is S1,2 = 00,
When C input, S1,2 = 01) The calculation result is calculated from the higher-order terms of Z 1 as I ′ k-1 = I k-1 * g
mi + I ki-1 (J = 1, ..., m) After i = 2, I ′
Encoding is performed by performing the same processing for ki up to i = k.

また、初期状態を実現するために第32図(m=4の場
合)のようにする。情報入力はIk-1〜I0迄1周期の間値
が保持されるように入力する。先ずセレクタ選択信号S
1,2=01とし、最初の受信シンボルIk-1をCから入力し
Yに出力する。A入力へはCK2で制御されるレジスタのC
Lによって0を入力し、Xに出力させる。PE内のレジス
タ段数がm−1であるので、B入力には周期の1クロツ
ク前にIk-1がフイードバツクされる。そのときS1,2=00
とし1クロツク分だけB入力をYに出力しS1,2の設定を
元に戻す。このときCからは次の受信シンボルIk-2が入
力されるのでレジスタ列6にはIk-1を1クロツク分入力
した後、Ik-2を入力することになる。Ik-2入力中、レジ
スタ列6からのフイードバツク入力とのずれは2クロツ
ク分になるので、それに合わせてセレクタ選択信号をS
1,2=00とする。そのとき、Ik-1の後にIk-2が1クロツ
ク選択される。以上の動作をIk-m迄行うことによってレ
ジスタ列6にIk-1〜Ik-mが蓄えられていく。Ik-m-1を入
力するとき、Ik-1はレジスタ列6からはみ出すがCK2で
制御されるレジスタにラッチされることによって初期状
態が実現される。
Further, in order to realize the initial state, the process is performed as shown in FIG. 32 (when m = 4). Information is input so that the value is held for one cycle from I k-1 to I 0 . First, the selector selection signal S
With 1,2 = 01, the first received symbol I k-1 is input from C and output to Y. C of register controlled by CK2 to A input
Input 0 by L and output X. Since the number of register stages in PE is m-1, I k-1 is fed back to the B input one clock cycle before. Then S1,2 = 00
Then, the B input is output to Y for only one clock, and the settings of S1 and S2 are restored. At this time, the next received symbol I k-2 is input from C, so that I k-1 is input to the register sequence 6 for one clock and then I k-2 is input. During I k-2 input, the deviation from the feed back input from the register train 6 is 2 clocks, so the selector selection signal S
1,2 = 00. At that time, I k- 2 is selected one clock after I k-1 . By performing the above operation up to I km , Ik-1 to I km are accumulated in the register train 6. When I km-1 is input, I k-1 overflows from the register row 6 but is latched in the register controlled by CK2, thereby realizing the initial state.

また、演算終了後の情報I(x)とパリテイP(x)
の切り替えもセレクタのZ出力を利用して第33図のよう
にして行う。上述の符号化演算中、Zは1周期毎の情報
シンボルの入力であるC入力を出力する。演算終了後パ
リテイ出力をレジスタ列6を通して循環させるが、PE内
のレジスタ段数がm−1であるのでCK2制御されるレジ
スタはパリテイの1循環毎に1次ずれたパリテイを出力
しA入力にフイードバツクする。そのときZはA入力を
選択しパリテイ1周期毎に出力する。
In addition, the information I (x) and the parity P (x) after the calculation is completed.
Switching is also performed using the Z output of the selector as shown in FIG. During the encoding operation described above, Z outputs the C input which is the input of the information symbol for each cycle. After completion of the calculation, the parity output is circulated through the register train 6. However, since the number of register stages in PE is m-1, the register controlled by CK2 outputs the parity deviated by one degree for each cycle of parity and feed back to the A input. To do. At that time, Z selects the A input and outputs it every one cycle of parity.

従って、このときの回路規模、及び処理速度は(400
+m*50)ゲート、及び(16/m)Mwpsである。全処理を
1PEで構成する場合、m=2tとなる。1例として訂正能
力t=8とした場合、1PEの回路規模は1200ゲートとな
り、処理速度は1Mwps=8Mbpsとなる。
Therefore, the circuit scale and processing speed at this time are (400
+ M * 50) gate, and (16 / m) Mwps. The whole process
When configured with 1 PE, m = 2t. As an example, when the correction capability t = 8, the circuit scale of 1PE is 1200 gates, and the processing speed is 1Mwps = 8Mbps.

また、全処理を1PEで構成せず、複数のPEに分けて構
成する場合、第30図のPEを第34図のように接続する。PE
の数をkとすると全体の処理は(2t/k)に分散されるの
で、1PEに必要なレジスタの段数は、m=(2t/k)とな
る。従って、第34図の回路規模は(2t/m)*(400+m
*50)ゲートとなる。第35図に2つのPEで構成した場合
の信号の流れを示す。この場合、レジスタ段数はm=t
であるので処理速度は2Mwps=16Mbpsとなり、回路規模
は800*2=1600ゲートとなる。
Further, when the entire processing is not configured with one PE but is configured with a plurality of PEs, the PEs in FIG. 30 are connected as shown in FIG. 34. PE
Since the total processing is distributed to (2t / k) where k is the number of, the number of register stages required for 1PE is m = (2t / k). Therefore, the circuit scale of Fig. 34 is (2t / m) * (400 + m
* 50) It becomes a gate. FIG. 35 shows the signal flow in the case of being configured with two PEs. In this case, the number of register stages is m = t
Therefore, the processing speed is 2Mwps = 16Mbps and the circuit scale is 800 * 2 = 1600 gates.

m=1としたとき必要なPEの数はk=2tとなるが、#
kのPEから#1のPEへのフイードバツク、及びI(x)
の同時入力は変わらないので、このアーキテクチヤにお
いても符号器はやはりシストリツクな構成にならない。
When m = 1, the required number of PEs is k = 2t, but #
Feed back from PE of k to PE of # 1, and I (x)
In this architecture, the encoder does not have a systolic configuration either, since the simultaneous inputs of the same are not changed.

(誤り訂正実行部、及びシステム) ステツプ3のf(α-i)出力は第17図のPEを用いた場
合2t毎に1CK分だけ出力されるが、σ′(α-i)とσ
(α-i),ω(α-i)ではタイミングが半周期ずれるの
でσ′(α-i)はCK2(2t毎のクロツク)で制御される
レジスタでラツチさせ、σ(σ-i),ω(α-i)はCK
2′(CK2を半周期ずらしたクロツク)でラツチし、更に
CK2で制御されるレジスタでラツチすることによって第4
8図と同様なステツプ4の誤り訂正が実現される。(タ
イミングは第21図に示す。但し、GCD生成部においては
A(B),L(M)の処理を1つのProcess部を2回用い
ている場合は、ω(x)の係数が先に送られてくるので
バツフアを介する必要がある)ステツプ4の誤り訂正の
実行部を最適化すると第20図のようになる。ω
(α-i),σ(α-i,σ′(α-i)の出力のタイミング
を合わせた後の動作は前章と同じである。従って、ステ
ツプ4に於いて必要な回路規模はバツフアと逆数生成用
ROMを除いて、450+5*50=700ゲートとなる。ステツ
プ4の誤り訂正実行部はシストリツクな構造を持たない
ので、レジスタ段数を増加しても回路の小型化を行うこ
とは出来ない。従って、その状況に応じて最適な回路の
簡単化を行えばよい。またα-i(i=n−1,…,0)発生
回路も同様である。
(Error correction execution unit and system) The f (α -i ) output of step 3 is output by 1 CK every 2t when PE in FIG. 17 is used, but σ '(α -i ) and σ
-i ), ω (α -i ) the timing is shifted by half a period, so σ '(α -i ) is latched by the register controlled by CK2 (clocks every 2t), and σ (σ -i ), ω (α -i ) is CK
Latch with 2 '(clock that is a half cycle of CK2), and
4th by latching with the register controlled by CK2
The error correction of step 4 similar to that of FIG. 8 is realized. (The timing is shown in Fig. 21. However, in the case where the process of A (B) and L (M) is used twice in the GCD generation unit, the coefficient of ω (x) comes first. Since it is sent, it is necessary to go through the buffer.) When the execution unit of the error correction of Step 4 is optimized, it becomes as shown in FIG. ω
The operation after the output timings of (α -i ) and σ (α -i , σ '(α -i ) are adjusted is the same as in the previous chapter.) Therefore, the circuit scale required in step 4 is buffer. For reciprocal generation
Excluding ROM, 450 + 5 * 50 = 700 gates. Since the error correction execution unit of Step 4 does not have a systolic structure, the circuit cannot be downsized even if the number of register stages is increased. Therefore, the optimum circuit may be simplified according to the situation. The same applies to the α -i (i = n−1, ..., 0) generation circuit.

以上述べてきたように、RS符号の各復号ステツプは高
速性と引き替えに回路を小型化できる。第49図の復号器
に於いて1例として次の組合せにすることによって、各
PEの制御をセレクタ選択信号とCK2のみで全体のシステ
ムを動かすことが出来る。
As described above, each decoding step of the RS code can reduce the circuit size at the cost of high speed. In the decoder of FIG. 49, as an example,
The control of PE can operate the whole system only by the selector selection signal and CK2.

ステツプ1)SYNDROME:第2図 ステツプ2)GCD:第6図 ステツプ3)EVALUATE:第13図 ステツプ4)CORRECT:第20図 符号化復号器をシステムとして考えた場合、第50図の
消失誤り訂正のための復号器を1例として、次の組合せ
にすることによって小型化された符号化復号器として実
現できる。
Step 1) SYNDROME: Fig. 2 Step 2) GCD: Fig. 6 Step 3) EVALUATE: Fig. 13 Step 4) CORRECT: Fig. 20 Erasure error correction of Fig. 50 when the encoder / decoder is considered as a system. For example, the following combination can be used to realize a miniaturized coding / decoding decoder.

1)SYNDROME:第2図 2)GCD:第6図 3)EVALUATE:第13図 4)CORRECT:第20図 5)ERASURE I:第22図 6)ERASURE II:第26図 これはステツプ4で示した復号器にERASURE IとERA
SURE IIを加えたものである。また、ステツプ4で示し
た復号器に第30図の符号器を加えて符号化復号器とする
ことも出来る。(符号化と復号を同時に行わない場合に
は、PEの接続、及びPEの制御を符号化と復号で可変にす
ることによって第49図の回路で回路規模を変えることな
く符号変化復号器を実現できる) 各々の処理における回路規模(ゲート単位)、及び処
理速度(Mwps単位)は前述したように次の通りである。
(wps=word/sec) 1) (2t/m)*(400+m*50),16/m 2) (2t/m)*(700+(3m+4)*50),n*(16/2t
/m) 3) 2*(2t/m)*(400+(m+1)*50),16/m 4) 700 5) (2t/m)*(400+(m+1)*50),n*(16/2t
/m) 6) (2t/m)*(400*(3m+2)*50),n*(16/4
t)/m) 7)ENCODE:第30図;(2t/m)*(400+m*50),16/m 1例としてRS復号器がt=8としたとき次のような回
路規模、及び処理速度で実現できる。(符号長n≧4tで
あり、また1PEで実現するためにm=2tとする) 1200+3300+2500+700=7700gate 1Mwps=8Mbps またt=2の場合は 600+1500+1300+700+3100gate 4Mwps=32Mbps となる。
1) SYNDROME: Figure 2 2) GCD: Figure 6 3) EVALUATE: Figure 13 4) CORRECT: Figure 20 5) ERASURE I: Figure 22 6) ERASURE II: Figure 26 This is shown in Step 4 ERASURE I and ERA to the decoder
SURE II is added. Further, the encoder shown in FIG. 30 may be added to the decoder shown in step 4 to form a coding / decoding device. (When encoding and decoding are not performed at the same time, the code change decoder is realized without changing the circuit scale in the circuit of FIG. 49 by making the PE connection and PE control variable by encoding and decoding. Yes) The circuit scale (gate unit) and processing speed (Mwps unit) in each process are as follows, as described above.
(Wps = word / sec) 1) (2t / m) * (400 + m * 50), 16 / m 2) (2t / m) * (700+ (3m + 4) * 50), n * (16 / 2t)
/ m) 3) 2 * (2t / m) * (400+ (m + 1) * 50), 16 / m 4) 700 5) (2t / m) * (400+ (m + 1) * 50), n * (16 / 2t
/ m) 6) (2t / m) * (400 * (3m + 2) * 50), n * (16/4
t) / m) 7) ENCODE: Fig. 30; (2t / m) * (400 + m * 50), 16 / m As an example, when the RS decoder has t = 8, the circuit scale and processing are as follows. Can be achieved at speed. (Code length n ≧ 4t, and m = 2t to realize with 1PE) 1200 + 3300 + 2500 + 700 = 7700gate 1Mwps = 8Mbps When t = 2, 600 + 1500 + 1300 + 700 + 3100gate 4Mwps = 32Mbps.

図1において、PEの基本構成を示したが、GF(2m)の
回路規模をMゲートとすると、GF(22m)の回路規模は
約4Mゲートとなる。しかし、1ワードの構成がmビツト
から2mビツトとなることを考えると、1PE当りの処理速
度は10〜20Mwps(ワード/秒)であるのでm・(10〜2
0)Mbpsから2m・(10〜20)Mbpsとなり、2倍になる。
そこで実質的な処理速度をbpsとすると、同一処理速度
によるPEの構成は図1のPEのレジスタ段数を2段とすれ
ばよい。すると、必要なPEの数は、k=(2t/m)、m=
2であるのでt個となる。従って、ガロア体の構成をGF
(2M)からGF(22M)とした場合、、同一処理速度での
回路規模の増加は2倍となる。一般的にガロア体の構成
をGF(2m)からGF(2a-m)とした時、回路規模の増加
は、a倍となる。
Although the basic configuration of PE is shown in FIG. 1, if the circuit scale of GF (2 m ) is M gates, the circuit scale of GF (2 2 m ) is about 4 M gates. However, considering that the structure of 1 word changes from m bits to 2 m bits, the processing speed per PE is 10 to 20 MWps (words / second), so m · (10 to 2
It will be doubled from 0) Mbps to 2m · (10 to 20) Mbps.
Therefore, assuming that the actual processing speed is bps, the PE having the same processing speed may have two PE register stages in FIG. Then, the required number of PEs is k = (2t / m), m =
Since it is 2, there are t pieces. Therefore, the Galois field composition is GF
When (2 M ) is changed to GF (2 2 M ), the increase in circuit size at the same processing speed doubles. Generally, when the Galois field structure is changed from GF (2 m ) to GF (2 am ), the increase in circuit scale is a times.

〔発明の効果〕〔The invention's effect〕

以上説明したように、本発明によれば、有限体上で定
義された誤り訂正符号を処理する符号処理装置に、外部
よりの複数の入力の一部を入力し、選択信号に応じて少
なくとも2つを選択して出力するセレクタと、該セレク
タの出力の1つと、前記複数の入力の1つとを乗ずる1
つ以上の乗算器と、1つの該乗算の出力と、他の1つの
前記乗算器または前記セレクタの出力、あるいは前記複
数の入力の1つとを加算する加算器と、該加算器の出
力、または前記セレクタの1つ以上の出力を、一旦保持
した後、外部へ出力する複数段のレジスタとを具え、該
レジスタの出力を前記外部よりの入力の1つとしてフィ
ードバック入力する処理要素を1つ、または直列に接続
して複数有する処理回路を複数具備し、前記処理回路の
1つに、受信語及び前記有限体の原始元のべきを入力し
て、シンドローム多項式を生成し、前記処理回路の他の
1つに前記シンドローム多項式を入力して、誤り位置多
項式及び誤り評価多項式を生成し、前記処理回路の他の
1つに、前記誤り位置多項式及び該多項式を微分した多
項式、前記誤り評価多項式のいずれかと、前記原始元の
べきとを入力して、各多項式に前記原始元のべきを代入
する演算を実行し、該演算の結果に基づいて、前記受信
語の誤りの位置及び値を推定して訂正するようにし、各
処理回路中の各処理要素に、複数段のレジスタを設け、
出力をフィードバック入力して処理することにより、処
理要素の数を減らし、回路規模を小さくすることができ
るという効果がある。また、必要に応じて、処理要素を
直列に接続して処理を高速化し、処理速度と回路規模の
バランスを考慮して、適切な装置を実現することができ
る。
As described above, according to the present invention, a part of a plurality of inputs from the outside is input to a code processing device that processes an error correction code defined on a finite field, and at least 2 is input according to a selection signal. A selector for selecting and outputting one and multiplying one of the outputs of the selector and one of the plurality of inputs 1
An adder for adding one or more multipliers, an output of the one multiplication, and an output of another one of the multipliers or the selectors, or one of the plurality of inputs; and an output of the adder, or A plurality of stages of registers for holding one or more outputs of the selector and then outputting the outputs to the outside, and one processing element for feedback-inputting the output of the registers as one of the inputs from the outside, Alternatively, a plurality of processing circuits connected in series may be provided, and a received word and a power of a primitive element of the finite field may be input to one of the processing circuits to generate a syndrome polynomial. To one of the processing circuits to generate the error locator polynomial and the error evaluator polynomial, and to the other one of the processing circuits, the error locator polynomial and a polynomial obtained by differentiating the polynomial, and the error evaluator. Input any one of the expressions and the power of the primitive element, execute the operation of substituting the power of the primitive element into each polynomial, and based on the result of the operation, the position and value of the error in the received word. So that each of the processing elements in each processing circuit is provided with a plurality of stages of registers,
By feeding back the output and processing it, the number of processing elements can be reduced, and the circuit scale can be reduced. If necessary, processing elements can be connected in series to speed up the processing, and an appropriate device can be realized in consideration of the balance between the processing speed and the circuit scale.

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

第1図は本発明による小型化プロセツシング・エレメン
ト(PE)の構成図 第2図は本発明による第1図のPEを最適化したシンドロ
ーム生成回路の説明図 第3図は本発明による第2図のPEのタイミング図 第4図は本発明による第2図のPEの接続図 第5図は本発明による第2図のPEを2つ用いたシンドロ
ーム生成回路のタイミング図 第6図は本発明による第1図のPEを用いたGCD生成回路
の説明図 第7図は本発明による第1図のPEを用いたGCD生成回路
のタイミング図 第8図は本発明による第1図のPEを用いたGCD生成回路
のタイミング図 第9図は本発明による第1図のPEを用いたGCD生成回路
の説明図 第10図は第9図の入力タイミング図 第11図は本発明による第1図のPEを最適化したGCD生成
回路の説明図 第12図は本発明による第11図のPEを2つ用いたGCD生成
回路のタイミング図 第13図は本発明による第1図のPEを最適化した誤り評価
回路の説明図 第14図は本発明による第13図のPEのタイミング図 第15図は本発明による第13図のPEの接続図 第16図は本発明による第13図のPEを2つ用いた場合のタ
イミング図 第17図は本発明による第13図のPEを最適化した誤り評価
回路の説明図 第18図は本発明による第17図のタイミング図 第19図は本発明による第17図のタイミング図 第20図は本発明による最適化された誤り訂正実行部 第21図は本発明による第20図のタイミング図 第22図は本発明による第1図のPEを最適化した消失位置
多項式生成回路の説明図 第23図は本発明による第22図のPEのタイミング図 第24図は本発明による第22図のPEの接続図 第25図は本発明による第22図のPEを2つ用いた場合のタ
イミング図 第26図は本発明による第1図のPEを最適化した乗算回路
の説明図 第27図は本発明による第26図のPEのタイミング図 第28図は本発明による第26図のPEの接続図 第29図は本発明による第26図のPEを2つ用いた場合のタ
イミング図 第30図は本発明による第1図のPEを最適化した符号器の
説明図 第31図は本発明による第30図のPEのタイミング図(処理
中) 第32図は本発明による第30図のPEのタイミング図(初期
入力時) 第33図は本発明による第30図のPEのタイミング図(数値
出力時) 第34図は本発明による第30図のPEの接続図 第35図は本発明によるPEを2つ用いた場合のタイミング
図 第36図は従来のプロセツシング・エレメント(PE)の構
成図 第37図は従来のプロセツシング・エレメント(PE)のセ
レクタの構成図 第38図は従来のプロセツシング・エレメント(PE)の乗
算器の構成図 第39図は従来のプロセツシング・エレメント(PE)の加
算器の構成図 第40図はGCDを求めるためのアルゴリズムを説明するた
めの図 第41図は従来のシンドローム生成用PEを説明するための
図 第42図は従来のシンドローム生成用PEの接続図 第43図は従来のGCD生成用PEの接続図 第44図は従来のGCD生成用PEの動作のタイミングを示す
図 第45図は従来のGCD生成用PEの動作タイミングを示す図 第46図は従来の誤り評価用PEの接続図 第47図は従来の消失位置多項式生成用PEの接続図 第48図は従来の誤り訂正実行用PEを説明するための図 第49図は従来の誤り訂正復号器をシステムを構成図 第50図は消失誤り訂正復号器の例を示す図 ……加算器
FIG. 1 is a block diagram of a miniaturized processing element (PE) according to the present invention. FIG. 2 is an explanatory diagram of a syndrome generation circuit in which the PE of FIG. 1 is optimized according to the present invention. PE timing diagram of FIG. 4 is a connection diagram of PE of FIG. 2 according to the present invention. FIG. 5 is a timing diagram of a syndrome generation circuit using two PEs of FIG. 2 according to the present invention. FIG. 7 is an explanatory diagram of a GCD generation circuit using the PE of FIG. 7. FIG. 7 is a timing diagram of a GCD generation circuit using the PE of FIG. 1 according to the present invention. FIG. 8 is the PE of FIG. 1 according to the present invention. Timing diagram of GCD generation circuit FIG. 9 is an explanatory diagram of a GCD generation circuit using the PE of FIG. 1 according to the present invention. FIG. 10 is an input timing diagram of FIG. 9. FIG. 11 is a PE of FIG. 1 according to the present invention. FIG. 12 is an explanatory view of a GCD generation circuit with optimized GCD generation circuit using two PEs shown in FIG. 11 according to the present invention. Circuit Timing Diagram FIG. 13 is an explanatory diagram of an error evaluation circuit that optimizes the PE shown in FIG. 1 according to the present invention. FIG. 14 is a timing diagram of the PE shown in FIG. 13 according to the present invention. PE connection diagram of FIG. 16 is a timing diagram when two PEs of FIG. 13 according to the present invention are used. FIG. 17 is an explanatory diagram of an error evaluation circuit in which the PE of FIG. 13 is optimized according to the present invention. FIG. 18 is a timing chart of FIG. 17 according to the present invention. FIG. 19 is a timing chart of FIG. 17 according to the present invention. FIG. 20 is an optimized error correction execution unit according to the present invention. FIG. 21 is FIG. 20 according to the present invention. FIG. 22 is an explanatory diagram of an erasure position polynomial generating circuit that optimizes the PE of FIG. 1 according to the present invention. FIG. 23 is a timing diagram of PE of FIG. 22 according to the present invention. FIG. Fig. 22 PE connection diagram Fig. 25 is a timing diagram when two PEs of Fig. 22 are used according to the present invention. Fig. 26 is present invention. FIG. 27 is an explanatory diagram of a multiplier circuit that optimizes the PE shown in FIG. 1. FIG. 27 is a timing diagram of the PE shown in FIG. 26 according to the present invention. FIG. 28 is a connection diagram of the PE shown in FIG. 26 according to the present invention. Timing diagram when two PEs of FIG. 26 according to the invention are used. FIG. 30 is an explanatory diagram of an encoder in which the PE of FIG. 1 is optimized according to the present invention. FIG. 31 is of the PE of FIG. 30 according to the present invention. Timing diagram (in process) FIG. 32 is a timing diagram of PE of FIG. 30 according to the present invention (at initial input) FIG. 33 is a timing diagram of PE of FIG. 30 according to the present invention (at the time of numerical output) FIG. FIG. 30 is a connection diagram of PE according to the present invention. FIG. 35 is a timing diagram when two PEs according to the present invention are used. FIG. 36 is a configuration diagram of a conventional processing element (PE). FIG. 37 is a conventional processing.・ Element (PE) selector configuration diagram Figure 38 shows the configuration of a conventional processing element (PE) multiplier FIG. 39 is a block diagram of a conventional processing element (PE) adder. FIG. 40 is a diagram for explaining an algorithm for obtaining a GCD. FIG. 41 is a diagram for explaining a conventional PE for syndrome generation. Fig. 42 is a connection diagram of a conventional PE for syndrome generation. Fig. 43 is a connection diagram of a conventional PE for GCD generation. Fig. 44 is a diagram showing the operation timing of a conventional PE for GCD generation. Fig. 45 is a conventional GCD. Fig. 46 shows the operation timing of the PE for generation. Fig. 46 is a connection diagram of the conventional PE for error evaluation. Fig. 47 is a connection diagram of the PE for conventional erasure position polynomial generation. Fig. 48 is a description of the conventional PE for error correction execution. Fig. 49 is a block diagram of a conventional error correction decoder system. Fig. 50 is a diagram showing an example of an erasure error correction decoder. ...... Adder

───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−157525(JP,A) 特開 昭63−164624(JP,A) 特開 昭63−156430(JP,A) 電子通信学会技術研究報告,信学技報 Vol.86,No.301,P.15−22 (IT86−102,IT86−103) ─────────────────────────────────────────────────── ─── Continuation of the front page (56) References JP 63-157525 (JP, A) JP 63-164624 (JP, A) JP 63-156430 (JP, A) IEICE technical research Report, Technical Report Vol. 86, no. 301, P. 15-22 (IT86-102, IT86-103)

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】有限体上で定義された誤り訂正符号を処理
する符号処理装置であって、 外部よりの複数の入力の一部を入力し、選択信号に応じ
て少なくとも2つを選択して出力するセレクタと、 該セレクタの出力の1つと、前記複数の入力の1つとを
乗ずる1つ以上の乗算器と、 1つの該乗算器の出力と、他の1つの前記乗算器または
前記セレクタの出力、あるいは前記複数の入力の1つと
を加算する加算器と、 該加算器の出力、または前記セレクタの1つ以上の出力
を、一旦保持した後、外部へ出力する複数段のレジスタ
とを具え、該レジスタの出力を前記外部よりの入力の1
つとしてフィードバック入力する処理要素を1つ、また
は直列に接続して複数有する処理回路を複数具備し、 前記処理回路の1つに、受信語及び前記有限体の原始元
のべきを入力して、シンドローム多項式を生成し、前記
処理回路の他の1つに前記シンドローム多項式を入力し
て、誤り位置多項式及び誤り評価多項式を生成し、前記
処理回路の他の1つに、前記誤り位置多項式及び該多項
式を微分した多項式、前記誤り評価多項式のいずれか
と、前記原始元のべきとを入力して、各多項式に前記原
始元のべきを代入する演算を実行し、該演算の結果に基
づいて、前記受信語の誤りの位置及び値を推定して訂正
することを特徴とする符号処理装置。
1. A code processing device for processing an error correction code defined on a finite field, wherein a part of a plurality of inputs from the outside is input and at least two are selected according to a selection signal. A selector for outputting, one or more multipliers multiplying one of the outputs of the selector and one of the plurality of inputs, an output of the one multiplier, and another one of the multipliers or the selector An adder for adding an output or one of the plurality of inputs; and a plurality of stages of registers for holding the output of the adder or one or more outputs of the selector once and then outputting the output to the outside. , The output of the register is 1 of the input from the outside.
One processing element for feedback input as one, or a plurality of processing circuits having a plurality of serially connected processing elements, wherein one of the processing circuits inputs a received word and a power of a primitive element of the finite field, A syndrome polynomial is generated and the syndrome polynomial is input to another one of the processing circuits to generate an error locator polynomial and an error evaluation polynomial. A polynomial obtained by differentiating a polynomial, one of the error evaluation polynomials, and a power of the primitive element are input, an operation of substituting the power of the primitive element into each polynomial is performed, and based on the result of the operation, A code processing device which estimates and corrects the position and value of an error in a received word.
【請求項2】前記処理回路の1つに、受信語を入力し
て、消失位置多項式を生成し、前記処理回路の他の1つ
に、前記消失位置多項式と前記シンドローム多項式とを
入力し、積多項式を生成して、消失訂正を行うことを特
徴とする特許請求の範囲第1項記載の符号処理装置。
2. A received word is input to one of the processing circuits to generate a vanishing position polynomial, and the other vanishing position polynomial and the syndrome polynomial are input to another one of the processing circuits. The code processing device according to claim 1, wherein a product polynomial is generated and erasure correction is performed.
【請求項3】前記処理回路の1つに、情報と生成多項式
を入力して、パリティを生成し、前記情報を符号化する
ことを特徴とする特許請求の範囲第1項記載の符号処理
装置。
3. A code processing apparatus according to claim 1, wherein information and a generator polynomial are input to one of the processing circuits to generate a parity and the information is encoded. .
JP61310836A 1986-12-22 1986-12-26 Code processor Expired - Fee Related JP2556495B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP61310836A JP2556495B2 (en) 1986-12-26 1986-12-26 Code processor
US07/982,062 US5325373A (en) 1986-12-22 1992-11-25 Apparatus for encoding and decoding reed-solomon code

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61310836A JP2556495B2 (en) 1986-12-26 1986-12-26 Code processor

Publications (2)

Publication Number Publication Date
JPS63164629A JPS63164629A (en) 1988-07-08
JP2556495B2 true JP2556495B2 (en) 1996-11-20

Family

ID=18009975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61310836A Expired - Fee Related JP2556495B2 (en) 1986-12-22 1986-12-26 Code processor

Country Status (1)

Country Link
JP (1) JP2556495B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2603244B2 (en) * 1987-03-20 1997-04-23 キヤノン株式会社 Error correction device
JP2603243B2 (en) * 1987-03-20 1997-04-23 キヤノン株式会社 Error correction device
US5473620A (en) * 1993-09-21 1995-12-05 Cirrus Logic, Inc. Programmable redundancy/syndrome generator

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH077920B2 (en) * 1986-12-19 1995-01-30 富士通株式会社 Mutual division operation method
JP2562110B2 (en) * 1993-06-17 1996-12-11 ヤマウチ株式会社 Torque limiter

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
電子通信学会技術研究報告,信学技報Vol.86,No.301,P.15−22(IT86−102,IT86−103)

Also Published As

Publication number Publication date
JPS63164629A (en) 1988-07-08

Similar Documents

Publication Publication Date Title
US10693502B2 (en) Transmission apparatus and method, and reception apparatus and method
KR101529360B1 (en) Encoder, decoder, and encoding method
US8176396B2 (en) System and method for implementing a Reed Solomon multiplication section from exclusive-OR logic
CN102342025B (en) Encoder, decoder, and encoding method
US7502989B2 (en) Even-load software Reed-Solomon decoder
JP6568281B2 (en) Transmitting apparatus and transmitting method
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
EP1102406A2 (en) Apparatus and method for decoding digital data
JP2556495B2 (en) Code processor
JP2005506794A (en) Method and decoder for decoding Reed-Solomon codes
JP5391253B2 (en) Transmitting apparatus and transmitting method
Ji An optimized processor for fast Reed-Solomon encoding and decoding
JP5500357B2 (en) Encoding device and encoding method
Lin et al. A long block length BCH decoder for DVB-S2 application
JPS63164626A (en) Circuit for generating error location and value of error
JPS63164624A (en) Syndrome generating circuit
JPS63164627A (en) Missing location polynomial generating circuit
JPS63164628A (en) Encoder
JPS63157530A (en) Bch coding decoding system
JPS63164625A (en) Gcd generating circuit
JPS63157527A (en) Greatest common divisor polynomial generation circuit
RU2340089C2 (en) Syndrome decoding method of decoding unsystematical convolutional code (versions)
EP2309649A1 (en) A systematic encoder with arbitrary parity positions
JPS63157526A (en) Syndrome generation circuit
JP2006041745A (en) Error location detecting method and apparatus

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees