JPS61216044A - Signal processor - Google Patents

Signal processor

Info

Publication number
JPS61216044A
JPS61216044A JP60057051A JP5705185A JPS61216044A JP S61216044 A JPS61216044 A JP S61216044A JP 60057051 A JP60057051 A JP 60057051A JP 5705185 A JP5705185 A JP 5705185A JP S61216044 A JPS61216044 A JP S61216044A
Authority
JP
Japan
Prior art keywords
cell
polynomial
code
error
syndrome
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP60057051A
Other languages
Japanese (ja)
Inventor
Keiichi Iwamura
恵市 岩村
Hideki Imai
秀樹 今井
Yasutaka Doi
土肥 康孝
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 JP60057051A priority Critical patent/JPS61216044A/en
Priority to US06/841,771 priority patent/US4747103A/en
Publication of JPS61216044A publication Critical patent/JPS61216044A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials

Landscapes

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

Abstract

PURPOSE:To attain a highly efficient error correction by encoding information so as to transmit it through a communications line, calculating a syndrome of encoded data, introducing an error position and an evaluating polynominal, evaluating the error position and its size and decoding information through correction. CONSTITUTION:A histogram cell 107 is a perfect parallel processor generating a histogram and a vector converting cell 108 makes data from the cell 107 into blocks and converts them into a vector. An RS encoding cell 109 generates a reed solomon code. And cells 107-109 comprise an encoding part. An evaluating cell 110, the greatest common measure cell 111 and a syndrome cell 112 comprise a decoding part pipeline processor. An expanding cell 105 expands data compressed by the cells 107 and 108. Thus, in the signal processing tergeting the communications line, the processing employing a parallel processor can be possible, and necessary cells are arrayed in one-dimension in accordance with the ability of the code, whereby decoding processing can be made into a pipeline.

Description

【発明の詳細な説明】 〔技術分野〕 本発明は、誤り訂正の分野に関し、又、通信路を対象と
する信号処理において、並列処理を行なう技術に関する
DETAILED DESCRIPTION OF THE INVENTION [Technical Field] The present invention relates to the field of error correction, and also relates to a technique for performing parallel processing in signal processing for communication channels.

本発明は、BCH符号の復号において、シンドローム生
成、GCD (最大公約数)生成、誤りを行なう技術に
関する。
The present invention relates to a technique for performing syndrome generation, GCD (greatest common divisor) generation, and error in decoding BCH codes.

本発明は、BCH符号の復号において、シンドローム生
成、誤り位置多項式、誤り評価多項式の導出、誤り位置
、誤りの大きさの評価及び訂正の実行の各ステップを実
行する3種類のセルを有し、それらのセルを符号の能力
に応じて。
The present invention has three types of cells that perform the steps of generating a syndrome, deriving an error locator polynomial, an error evaluation polynomial, evaluating the error location and error magnitude, and performing correction in decoding a BCH code, Depending on their ability to sign cells.

必要個数だけ1次元状に並べた信号処理技術に関する。This invention relates to a signal processing technique in which a necessary number of signals are arranged in one dimension.

〔従来技術〕[Prior art]

近年、メモリーシステムをはじめとする、各種ディジタ
ル・システムの信頼性向上の対策として誤り検出/誤り
訂正符号(以下、単に誤り訂正符号という、)の適用が
浸透してきている。
In recent years, the application of error detection/error correction codes (hereinafter simply referred to as error correction codes) has become widespread as a measure to improve the reliability of various digital systems including memory systems.

この誤り訂正符号には、対象とするシステムに応じた種
々のものがあるが、最も代表的なのは巡回符号と呼ばれ
る線形符号の1クラスである。これには、ランダム誤り
訂正に適したBCH符号、バースト誤り訂正に適したフ
ァイア符号、更にBCH符号の一種であり、バイト誤り
訂正に適したR S  (Reed−solomon)
符号等が含まれる。なかでも、RS符号は、同一符号長
と訂正能力を持つ線形符号の中で、最も冗長度を低ぐで
きるという特徴を持つ、実用上非常に重要な符号であり
、衛生通信、磁気ディスク、コンパクトディスク(以下
CDと呼ぶ、)等に広く利用されているに のRS符号の復号法には種々のものがあり2なし3程度
の小さな訂正能力の符号に対する復号器の装置化は比較
的容易である。しかし。
There are various types of error correction codes depending on the target system, but the most typical one is a class of linear codes called cyclic codes. These include BCH code suitable for random error correction, fire code suitable for burst error correction, and R S (Reed-solomon) code, which is a type of BCH code and suitable for byte error correction.
Includes symbols, etc. Among them, the RS code is a code that is extremely important in practical use because it has the characteristic of being able to reduce redundancy the most among linear codes with the same code length and correction ability. There are various decoding methods for RS codes that are widely used for discs (hereinafter referred to as CDs), etc., and it is relatively easy to implement a decoder for codes with a small correction ability of about 2 or 3. be. but.

高信頼性を得る為には、訂正能力や符号長を大きくする
必要がある。その場合、装置の規模及び制御が非常に複
雑になり、復号処理にかかる計算時間も大きくなるとい
った問題が生じる。
In order to obtain high reliability, it is necessary to increase the correction ability and code length. In that case, problems arise in that the size and control of the device become extremely complex, and the calculation time required for decoding processing also increases.

この為、現在CDでは、CIRCと呼ばれる。For this reason, CDs are currently called CIRC.

一種の2重符号化を用いているが、より高速性が要求さ
れるシステムで用いるには問題がある。
Although it uses a type of double encoding, there are problems in using it in systems that require higher speeds.

誤り訂正符号のBCH符号の復号方式には。For the decoding method of the BCH code, which is an error correction code.

ピーターソンの方式とバーレカンプマツセイの方式があ
り、従来、BCH符号の復号には訂正能力が低い場合、
ハードウェアの簡単さからピーターソンの方式が用いら
れている。一方、バーレカンプマツセイの方式はハード
ウェハで実現する場合、構成、制御が非常に複雑となり
There are two methods: Peterson's method and Berlekamp Matsusei's method. Conventionally, when decoding BCH codes, the correction ability is low,
Peterson's method is used because of the simplicity of the hardware. On the other hand, if Berlekamp Matsusei's method were to be implemented using hardware, the configuration and control would be extremely complex.

実現化されていないのが現状である。The current situation is that this has not been realized.

又、同様に通信路に対する信号処理に関して、情報理論
に基づく複雑な処理が必要であり、通信路によっては、
高速性が、必要であるのでハードウェア的に実現するの
は非常に困難であった。
Similarly, signal processing for communication channels requires complex processing based on information theory, and depending on the communication channel,
Since high speed is necessary, it has been extremely difficult to achieve it in terms of hardware.

その為に、ハード化の簡単な方式の採用、又は。For this purpose, a simple method of hardening is adopted, or.

能力を制限することによって実現されていた。This was achieved by limiting their abilities.

例えば通信路符号化においては、R3(リードソロモン
)符号の2重訂正までが、実現できるかどうかという段
階であった。又従来のプロセスでは、上述の処理をソフ
トウェア的に実現するのは、処理時間がかかりすぎ、適
用できないという問題点もあった。
For example, in channel coding, it was still at the stage of being able to realize double correction of R3 (Reed-Solomon) codes. Furthermore, in the conventional process, there is a problem that implementing the above-mentioned processing using software takes too much processing time and is not applicable.

又、並列処理には完全並列処理、局所並列処理、パイプ
ライン処理等があるが、従来のシリアル処理部に単に並
列処理器を適用することは不可能であり、符号化処理で
あれば符号化効率を犠牲にしてハード化の容易な範囲で
抑えているという問題があった。
In addition, parallel processing includes fully parallel processing, local parallel processing, pipeline processing, etc., but it is impossible to simply apply a parallel processor to a conventional serial processing section. The problem was that efficiency was sacrificed to keep it within a range that was easy to implement.

以上の様に種々の問題から、訂正能力や符号長の大きい
高信頼性を有したR3復号法の実現が困難であるという
問題があった。
Due to the various problems described above, it has been difficult to realize a highly reliable R3 decoding method with large correction capability and code length.

〔目的〕〔the purpose〕

以上の点に鑑み、本願発明は、従来の通信路における信
号処理のアルゴリズムを並列処理に適したアルゴリズム
に変形し、並列処理器を用いることにより、従来の欠点
を除去・することを目的としている。
In view of the above points, the present invention aims to eliminate the drawbacks of the conventional communication channel by transforming the signal processing algorithm in the conventional communication channel into an algorithm suitable for parallel processing and using a parallel processor. .

以上の点に鑑み1本願発明は、バーレカンプマツセイの
方式にシストリックアルゴリズムの考え方を応用し、実
際にBCH符号の復号器或いは、GCD (最大公約数
)部、或いはシンドローム生成部に適用するための具体
的アルゴリズムを検討し、特に誤り評価・訂正部につい
て、それをハードウェア的に実現する専用セルの設計を
行うことを目的としている。
In view of the above points, the present invention applies the idea of a systolic algorithm to the Berlekamp-Matsusay method and actually applies it to a BCH code decoder, a GCD (greatest common divisor) unit, or a syndrome generator. The purpose of this study is to study a specific algorithm for this purpose, and to design a dedicated cell that implements it in terms of hardware, especially for the error evaluation/correction section.

〔実施例〕〔Example〕

影止且1豆IJ まず、R3符号の原理について述べる。R3符号は、同
一の符号長と訂正能力を持つ線形符号の中で、最も冗長
度を低くできるという特徴を持つ、実用上非常に重要な
符号である。
Shadow Stop and 1 Bean IJ First, the principle of the R3 code will be described. The R3 code is a code of great practical importance, having the characteristic of having the lowest redundancy among linear codes having the same code length and correction ability.

R5符号は、非二元BCH符号(Bose −Chav
dhurt−Hocquenghen code)の特
別な場合であり、有限体(以下、GFと略す、 ) G
F(q)の元で構成される。ここでは、qはGF (q
)の元の数である。このqを用いる゛と、RS符号を特
徴づける各種パラメータが以下のように定義される。
The R5 code is a non-dual BCH code (Bose-Chav
This is a special case of the finite field (hereinafter abbreviated as GF) G
It is composed of elements of F(q). Here, q is GF (q
) is the original number of Using this q, various parameters characterizing the RS code are defined as follows.

・符号長  :n(−符号中のシンボル拐n≦q −1
(2−1) ・情報シンボル数二k(−符号中の情報シンボル釦・検
査シンボルa:n−k(−符号中の検査シンボル釦n−
に=dmi n−1(2−2) ・訂正能力  :t(−符号中の訂正できるシンボルω
([X]ニガウス記号 ・・ Xを越えない最大の整数
)ここではdminは最小距離(ハミング距離)と呼ば
れるものである。これは、例えば、2つの(n、k)R
5符号語(符号長n、検査シンボル数にのRS符号語)
FとGが存在した時に、F= (f o 、 f 1 
、−−=−−−−−−f n−1)       (2
−4)G= CgO、g 1、−−−−−−−−g n
−1)       (2−5)(各シンボルは、符号
が定義されるGF (q)の−DFとGの対応する位置
のシンボルが、互いに最低dmi n個は異っている事
を意味する。
・Code length: n (- symbol length in code n≦q −1
(2-1) ・Number of information symbols 2 k (-Information symbol button in code ・Test symbol a: n-k (-Test symbol button in code n-
= dmin-1 (2-2) - Correction ability: t (- Correctable symbol ω in the code
([X] Nygauss symbol . . . the largest integer not exceeding X) Here, dmin is called the minimum distance (Hamming distance). This means, for example, that two (n,k)R
5 code words (code length n, RS code word for the number of check symbols)
When F and G exist, F= (f o , f 1
, −−=−−−−−−f n−1) (2
-4) G = CgO, g 1, --------g n
-1) (2-5) (Each symbol means that the symbols at the corresponding positions of -DF and G of GF (q) for which the code is defined are different from each other by at least dmin times.

又、符号語Fに誤りEが重なり受信語Rとなった時、E
= (eo * e i 、−”   e n−1) 
       (2−8)Rw(ro、rl、−−−−
−−−−−rn−t)        (2−7)=F
十E                       
 (2−8)= (fo+eo、f1+et、−−−−
−、fn−ten−t)(2−9)Eの非零の元の数、
すなわち生じた誤りの数がt個以下であれば、後述する
復号法によりRを訂正し、正しい符号語Fを得る事がで
きる。
Also, when error E overlaps with code word F and it becomes received word R, E
= (eo * e i , -” e n-1)
(2-8) Rw(ro, rl, -----
-------rn-t) (2-7)=F
10E
(2-8) = (fo+eo, f1+et, -----
−, fn-ten-t) (2-9) Number of non-zero elements of E,
That is, if the number of errors that have occurred is t or less, R can be corrected by the decoding method described later and a correct code word F can be obtained.

但し 可能性がある。however there is a possibility.

例)dmi n=5 (t=2)(7)R3符号中に生
じた誤りの個数を1とすると 1=1の場合二車−誤り訂正可 1=2の場合:2重誤り訂正可 l≧3の場合:誤り検出可(但し2重誤りと見なされる
可能性あり、)l≧4の場合:誤り検出可(但し単−誤
りと見なされる可能性あり、)1≧5堝合:誤り検出可
(但し誤りなしと見なされる可能性あり、)従って、符
号の設計を行う際には、システムにどの程度のエラーレ
ート改善率が要求されるのか、そして、符号の誤り訂正
能力内でどこまでの誤り訂正を行うのか、といった事を
考慮にいれたうえで設計を行わなければいけない。
Example) dmin = 5 (t = 2) (7) If the number of errors occurring in the R3 code is 1, then if 1 = 1, two wheels - error correction is possible. 1 = 2: double error correction is possible. If ≧3: error detection possible (however, it may be considered a double error) If ≧4: error detection possible (however, it may be considered a single error) 1≧5 cases: error Detectable (but may be considered error-free) Therefore, when designing a code, consider how much error rate improvement is required for the system, and how far within the code's error correction ability. The design must take into account whether or not error correction will be performed.

まず、ここで符号語等の多項式表現について説明する。First, polynomial expressions such as code words will be explained here.

例えば、符号化したいに個の情報シンボルをI= (i
 o 、 f 1、−=−、i K−t)      
  (2−10)とする時、これは次のように多項式表
現される。
For example, we want to encode the number of information symbols I= (i
o, f 1, -=-, i K-t)
(2-10), this is expressed as a polynomial as follows.

I (x) =10+11x+i 1x2+−−−−+
1g−2xK−2+iK−1x1cm1    (2−
11)同様に付加される(n−k)個の検査シンボルC
= (co 、 CI 、==C11−に−1)   
     (2−t2)は、c (X)=CO−1−C
IX+C2X2+−−−−−−Cn−に−1”X”−’
−’    (2−13)更に、これらをまとめた符号
語F F= (fO、f 1 、 f2、−=−−−−f n
−t)      (2−14)=CO,C1,−−−
−Cn−に−1,fo、tl、j2゜−−==−iに−
1)             (2−15)は、F 
(x)=f□+f1x+f2x2+−=−+fn−2x
”−2+f、1−1x”−1(2−18)と多項式表現
される。
I (x) =10+11x+i 1x2+----+
1g-2xK-2+iK-1x1cm1 (2-
11) (n-k) check symbols C added in the same way
= (co, CI, ==C11-to-1)
(2-t2) is c (X)=CO-1-C
IX+C2X2+----Cn-to-1"X"-'
-' (2-13) Furthermore, the code word FF= (fO, f 1 , f2, -=----f n
-t) (2-14)=CO, C1, ---
-Cn- to -1, fo, tl, j2゜--==-i to-
1) (2-15) is F
(x)=f□+f1x+f2x2+-=-+fn-2x
It is expressed as a polynomial "-2+f, 1-1x"-1(2-18).

次に、R3符号は最初に述べたように巡回符号の一種で
あるが、巡回符号を特徴づけるものに、符号化/復号の
際に用いられる生成多項式〇 (x)がある、この生成
多項式は、符号の検査シンボル空(n−k)に等しい次
数を持ち、かつ(Xfi−1)を割り切るものでなけれ
ばならないが。
Next, as mentioned at the beginning, the R3 code is a type of cyclic code, but what characterizes the cyclic code is the generator polynomial 〇 (x) used during encoding/decoding. , the check symbols of the code must have a degree equal to the sky (n-k) and be divisible by (Xfi-1).

R3符号では、次の、ような式を用いる。The R3 code uses the following formula.

G (x) (x−(X)(X−(R2)−−−(X−
a”−”)     (2−1?)(G (X) =(
X−1)(X−a)−−−(x−a”−”−りでも可)
  (2−18)ここでは、αは符号が定義される有限
体GF (Q)の原始元である。
G (x) (x-(X)(X-(R2)---(X-
a”-”) (2-1?)(G (X) = (
X-1) (X-a) --- (x-a"-"- is also acceptable)
(2-18) Here, α is a primitive element of the finite field GF (Q) whose sign is defined.

この(n−k)次の生成多項式を用いて、(n、k)R
3符号を得るには、以下のような手順をふむ。
Using this (n-k) order generator polynomial, (n, k)R
To obtain 3 codes, follow the steps below.

i)情報シンボル多項式I (x) ((2−11)0
  にzn″″ゞを乗じる。
i) Information symbol polynomial I (x) ((2-11)0
Multiply by zn″″ゞ.

u)  I (X) *zn−K  を生成多項式G 
(X) ’t’割った剰余多項式をR(x)とする。
u) I (X) *zn-K is generated by the polynomial G
(X) Let R(x) be the remainder polynomial divided by 't'.

I(x)−x”−’=Q(x)−G(x)+R(x) 
 (2−19)iii)  このR(x)を検査シンボ
ル多項式〇 (x)におきかえ、 I (x)・x f
i −ICに付加したものを符号語多項式F (x) 
 とする。
I(x)-x''-'=Q(x)-G(x)+R(x)
(2-19) iii) Replace this R(x) with the test symbol polynomial 〇 (x), I (x)・x f
The codeword polynomial F (x) is added to i-IC
shall be.

F(り =I (x) ・x”−” −C(り =Q(
冨) ・G(x)  (2−20)(2−20)式を見
てもわかるように、符号語多項式F (x)はそれを生
成した生成多項式〇 (x)で割り切る事ができる。と
ころが、(2−17)式の生成多項式は、α、α2..
fi−K という根を持つから、符号語多項式F (x
)はこの根を代入すると、次式が成立する。
F(ri = I (x) ・x”-” −C(ri = Q(
G(x) (2-20) As can be seen from equation (2-20), the codeword polynomial F (x) can be divided by the generator polynomial 〇 (x) that generated it. However, the generating polynomial of equation (2-17) is α, α2. ..
Since it has the root fi−K, the codeword polynomial F (x
) by substituting this root, the following equation holds.

F (α’) =0 (i=1 、2 、+  、 n
−K)     (2−21)この(2−21)式を行
列表現すると次のようになる (FTはFの転置行列) ここで、左辺の行列Hは、検査行列と呼ばれ、復号にお
いても重要な意味を持つ。
F (α') = 0 (i=1, 2, +, n
-K) (2-21) Expression (2-21) can be expressed as a matrix as follows (FT is the transposed matrix of F) Here, the matrix H on the left side is called the parity check matrix, and is also used in decoding. have important meaning.

叉豆羞 既に述べたように、R3符号はBCH符号の一種である
から、一般的なりCH符号の復号アルゴリズムを利用し
て復号を行う事ができる。但しその場合復号処理におけ
る加算。
As already mentioned, since the R3 code is a type of BCH code, it can be decoded using a general RCH code decoding algorithm. However, in that case, addition is required in the decoding process.

乗算等のシンボルの取扱いは、そのR3符号が定義され
る有限体GF (q)の上で行わなければいけない。
Symbol handling such as multiplication must be performed on the finite field GF (q) in which the R3 code is defined.

GF (2m)(m:正整数)上で定義された、符号長
n=2m−1のR3は符号について考えると、シンボル
はmビット2進数で表わされ、演算はGF(2m)上で
行われる。
Considering the code of R3 with code length n = 2m-1 defined on GF (2m) (m: positive integer), the symbol is represented by an m-bit binary number, and the operation is performed on GF (2m). It will be done.

また、生成多項式には(2−17)式を用い、符号の最
小距離は簡単の為d m i n = 2 t + 1
と置く事にする。
In addition, formula (2-17) is used for the generator polynomial, and the minimum distance between codes is d min = 2 t + 1 for simplicity.
I will put it as.

さて、このようなR3符号の復号手順は、一般的なりC
H符号の場合と同様、次のような4つのステップに分け
られる。
Now, the decoding procedure for such an R3 code is the general
As with the H code, it is divided into the following four steps.

ステラ7’l)  シンドローム計算。Stella 7'l) Syndrome calculation.

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

ステップ3) 誤り位置と誤りの値の推定。Step 3) Estimation of error location and error value.

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

この中で、ステップlのシンドローム計算でCよ、後述
するが単に受信語多項式に生成多項式の根を代入し、そ
の値を求めるといった操作だけが行われる。これに対し
、ステップ2,3はR3符号の復号において最も複雑な
ステップであり、その為のアルゴリズムには、主にlく
−レカンブΦマツシーの方法とビーターソンの方法の2
通りがある。
Among these, in the syndrome calculation in step 1, C. As will be described later, only the operation of simply substituting the root of the generator polynomial into the received word polynomial and finding its value is performed. On the other hand, steps 2 and 3 are the most complicated steps in decoding the R3 code, and there are two main algorithms for this: Lecambe Φ Matussy's method and Beaterson's method.
There is a street.

本発明では、各ステップにシストリックアルゴリズムの
考え方を応用し、各ステップを実行する基本的な3種類
のセルを各々5tapl)シンドロームセル、5tep
2)GCDセル。
In the present invention, the idea of systolic algorithm is applied to each step, and three basic types of cells that execute each step are: syndrome cell, 5tapl each)
2) GCD cell.

5tep3,4)EVALセルとして実現する。5step 3, 4) Realize as an EVAL cell.

ステップl シンドロームそ まず、 (2−4) 、 (2−6)〜(2−9)と同
様に、送信された符号語をF:F= (fo、fl、−
一−fn−1)生じた誤りをE    :E=(eo、
et、−−−en−1)受信された受信語をR:R= 
(r□、rl 、−rn−t)=F+E = (fo+eo 、 f1+el 、−−f、−t+
en−1)とすると、受信語の多項式表現R(x)は次
のようになる。
Step l Syndrome First, similarly to (2-4), (2-6) to (2-9), the transmitted codeword is F:F= (fo, fl, -
-fn-1) The error that occurred is E :E=(eo,
et, ---en-1) the received word is R:R=
(r□, rl, -rn-t) = F+E = (fo+eo, f1+el, --f, -t+
en-1), the polynomial representation R(x) of the received word is as follows.

R(x) =F (x) +E (x)= (f □+
e□) + (f 1 +e 1) x+−−+ (f
n−1+efi−t) xfl−1(2−23)ところ
が、2.2に示したように符号多項式F (x)に生成
多項式G (x)((2−17)式)の根α1(i=1
.−一−9n−k)を代入すると(2−21)式(F(
α1)=O)が成立するから、受信語多項式R(x)に
同様にα1(i= 1 、−+、 n−k)  を代入
するとR(αk)諺F (αk)+E(α1)−0+E
  (αk)−E(αk)     (2−24)のよ
うに、誤りEだけで決まる値が求まる。
R(x) =F(x)+E(x)=(f □+
e□) + (f 1 +e 1) x+−−+ (f
n-1+efi-t) xfl-1(2-23) However, as shown in 2.2, the root α1(i =1
.. -1-9n-k), equation (2-21) (F(
α1)=O) holds, so if we similarly substitute α1(i=1,-+,n-k) into the received word polynomial R(x), we get R(αk) F (αk)+E(α1)- 0+E
A value determined only by the error E is found, such as (αk)−E(αk) (2-24).

これをシンドロームと呼び、改めて S = (So 、 s t 、++++、 5fl−
に−t)       (2−25)S1=R((E’
十〇=E(Qi+す(i =0.1.−−−+ n −
K −1)と定義する。このシンドロームは誤りに関す
るすべての情報(誤りの位置と大きさ)を含んでいる。
This is called a syndrome, and once again S = (So, s t, +++++, 5fl-
-t) (2-25) S1=R((E'
10=E(Qi+su(i=0.1.−−−+n −
K −1). This syndrome contains all the information about the error (location and size of the error).

(シンドロームは誤りがなければ0であるので、誤りの
有無を検出できる。)又、その多項式表現は、次のよう
になる。
(Since the syndrome is 0 if there is no error, it is possible to detect the presence or absence of an error.) Moreover, its polynomial expression is as follows.

5(x)=so+slx+−−+56−g−1x”−”
−1(2−27)更に、(2−22)式の場合と同様に
、シンドローム((2−25)、(2−26)式を行列
表現すると、次のようになる。
5(x)=so+slx+--+56-g-1x"-"
-1 (2-27) Furthermore, similarly to the case of equation (2-22), the syndrome ((2-25) and equation (2-26) can be expressed as a matrix as follows.

S−H・8丁(RT:Hの転置行用         
   (2−28)次に前出の第4図、第5図、第6図
、第7図及び後述の第8図について更に説明する。第4
図のステップ1においてcommand  tn  (
コマンドイン)や係数データr L fl *・計算結
果ylnを入力する。
S-H・8 guns (RT: for H transposition row)
(2-28) Next, FIG. 4, FIG. 5, FIG. 6, FIG. 7 mentioned above, and FIG. 8 described later will be further explained. Fourth
In step 1 of the diagram, command tn (
command input), coefficient data r L fl *, and calculation result yln.

ステップ2においてcommand Inが s t、
 a r t”か否かを判定する。Yesの場合はステ
ップ3において第5図に示す様に、係数データ入7J(
S”rtn)、データ出力(yout=7)。
In step 2 command In is s t,
If yes, in step 3, as shown in FIG. 5, enter coefficient data 7J (
S”rtn), data output (yout=7).

次のデータを取りこみ(y=ysn)を行う。Import the next data (y=ysn).

又1ステツプ2.4においてcommand  1n)
C“5tart”ではなく“calc”であった場合、
ステップ5に進み、!!=511X+1”ifiを計算
しく5−10式参照)・ yout雪714=inを行
いデータをそのまま出力、或いは入力する。
Also, in step 2.4 command 1n)
C If it is “calc” instead of “5tart”,
Proceed to step 5! ! = 511

又、ステップ4でNoの場合、command  Hは
“end”であるので、ステップ6においてs=s・X
+rifiを行い、Yout=Sにより、シンドローム
ノ値を出力L (w45[i1$ (2t −1) ノ
セルからの出力)、次の入力V = V i nを行う
Also, if No in step 4, command H is "end", so in step 6 s=s・X
+rifi, output the syndrome value L (w45 [i1$ (2t -1) output from no cell) by Yout=S, and perform the next input V = V in.

ステップ7では、データをそのまま出力(r  out
=r  in) L、コマンド(c omma n d
)  もそのまま出力(コマンドアウト    (co
mmand  out)=command  rn)す
る、更にステップ8においてに出力する。
In step 7, the data is output as is (r out
= r in) L, command (command)
) is also output as is (command out (co
mmand out)=command rn), and further outputs in step 8.

ハードでは第6図においてrin■、rout@。On the hardware, rin■, rout@ in Figure 6.

ROM15は係数αを選択するためのテーブル。ROM 15 is a table for selecting the coefficient α.

(セルアレイマルチプライヤ)Cellular  A
rrayMultiplierOが第4図におけるシン
ドロームの計算を行う部分である。
(Cell array multiplier) Cellular A
rrayMultiplierO is the part that calculates the syndrome in FIG.

rout、yout、cOmmand Outを実際に
最終的に出力する。
rout, yout, cOmmand Out are actually finally output.

ハードでは第6図においてrin■、rout@。On the hardware, rin■, rout@ in Figure 6.

command  in■、command out■
、yfn■。
command in■, command out■
,yfn■.

yout■が第5図の入出力に対応する。また。yout■ corresponds to the input/output in FIG. Also.

ROM15は係数αを選択するためのテーブル。ROM 15 is a table for selecting the coefficient α.

(セルアレイマルチプライヤ)Cellular Ar
rayMultiplierOが第4図におけるシンド
ロームの計算を行う部分である。
(Cell Array Multiplier) Cellular Ar
rayMultiplierO is the part that calculates the syndrome in FIG.

スーツブ2   &       &雪    のステ
ップ2では1、ステップlの計算結果のシンドロームを
利用して、誤り位置多項式と誤り評価多項式の算出を行
う、まず、ここでは誤りE= (e O、e 1−−−
−e n −t)の非零の尤の数、すなわち誤りの個数
を1(1≦t)とおく。
In step 2 of 1. Step 1, the error locator polynomial and error evaluation polynomial are calculated using the syndrome of the calculation result of step 1. First, here, the error E = (e O, e 1-- −
-e n -t), the number of non-zero likelihoods, that is, the number of errors, is set to 1 (1≦t).

また、誤りの生じている位置をju(u=1゜2−一−
−1)  (j u=o 、1−−−−−−n−1) 
とし。
Also, the position where the error occurs is determined by ju(u=1゜2-1-
-1) (j u=o , 1-------n-1)
year.

位置juにおける誤りをejuとする。更に、(2−2
)、(2−3)式を n−k =dmi n−1=2t          
 (2−30)とおく、すると、(2−26)、(2−
27)式のシンドローム及びシンドローム多項式は、次
のように表わされる。
Let the error at position ju be eju. Furthermore, (2-2
), (2-3) equation as n-k = dmi n-1 = 2t
(2-30), then (2-26), (2-
The syndrome and syndrome polynomial in equation 27) are expressed as follows.

51=E(αに十〇=Σe j u ((X ’ + 
l) j u(i!0,1.−−−−.2t−1)U虐
1 また、新たにS。(x)をSoo (X) =Σs i
x 1(2−33)1冨0 とおくと、次式が得られる。
51 = E (10 for α = Σe j u ((X' +
l) j u (i!0, 1.----.2t-1) U abuse 1 Also, a new S. (x) Soo (X) =Σs i
By setting x 1 (2-33) 1 depth 0, the following equation is obtained.

S  (x)  −[Soo (x) コ mo d 
  x2 t              (2−35
)さて、ここで誤り位置多項式σ(X)を次のように定
義する。この多項式は、受信語中の誤り位21ju (
u=1.2.−−−−.1)(ju=o。
S (x) − [Soo (x) co mod
x2 t (2-35
) Now, the error locator polynomial σ(X) is defined as follows. This polynomial has an error order of 21ju (
u=1.2. -----. 1) (ju=o.

1 、−−−−n −1)に対応する、GF (2m)
 の元α−juを根とする多項式である。
1, ----n -1), GF (2m)
is a polynomial whose root is the element α-ju.

cr (x) = (1−aj l x) (1−aj
 2x) −−−(1−aJ ux)=■(1−aj 
uX)           (2−38)U冨1 次に、以上述べたσ(x)、Sco (x)に対し誤り
評価多項式ω(X)を次のように定義する。
cr (x) = (1-aj l x) (1-aj
2x) ---(1-aJ ux)=■(1-aj
uX) (2-38) U-to 1 Next, the error evaluation polynomial ω(X) is defined as follows for σ(x) and Sco(x) described above.

ω(x) = σ(X) ・5ctz (X) =Σe
juαjuU厘1 すると、(2−34)、(2−35)、(2−37)式
より、次式が成立する。
ω(x) = σ(X) ・5ctz (X) = Σe
juαjuU厘1 Then, from equations (2-34), (2-35), and (2-37), the following equation holds true.

cr (x) @S (x) = [(+> (X) 
] mo dx2 t(2−38)従って適当な多項式
A (X)を用いてσ(X)。
cr (x) @S (x) = [(+> (X)
] mod dx2 t(2-38) Therefore, using an appropriate polynomial A (X), σ(X).

S (x)  、ω(X)の関係が次のように表わされ
る。
The relationship between S (x) and ω(X) is expressed as follows.

A (x) −x2 t+cr (x) ・S (x)
 =(1) (x)       (2−39)ところ
で、誤りの個数1は(1≦t)としているから、ω(X
)とcr (x)は d e gω(x) <d e gcr (x)≦t 
         (2−40)を満たす、更にω(X
)とσ(X)は互いに素(最大公約(GCD)多項式が
定数)であるから(2−39)、(2−40)式を満た
すω(x)とσ(x)は定係数の違いを除いて一意的に
定まる0以上よりω(x)とcr (x)はx2tと5
(X)の最大公約(GCD)多項式を求めるユークリッ
ドの互除法の過程で求め得る。ここで、ユークリッドの
互除法を利用した最大公約(GCD)多項式の算出方法
について簡単に述べる。まず、2つの多項式AとBの最
大公約多項式をGCD[A、Bl と表わすことにする
A (x) −x2 t+cr (x) ・S (x)
= (1) (x) (2-39) By the way, since the number of errors 1 is (1≦t), ω(X
) and cr (x) are de gω(x) < de gcr (x)≦t
(2-40), and further ω(X
) and σ(X) are relatively prime (the greatest common difference (GCD) polynomial is a constant), (2-39), so ω(x) and σ(x) that satisfy equation (2-40) have constant coefficients. Since 0 or more is uniquely determined except for ω(x) and cr (x) are x2t and 5
It can be obtained through the process of Euclid's algorithm for finding the greatest common denominator (GCD) polynomial of (X). Here, a method for calculating the greatest common difference (GCD) polynomial using Euclid's algorithm will be briefly described. First, let us express the greatest common denominator polynomial of two polynomials A and B as GCD[A, Bl.

又、このAとBに対し次のような多項前と百*degA
≧degBの場合 A=A −IA4 B−IJ ・B
    (2−41)■= B        (2−
42)*degA≧degBの場合 X=A     
        (2−43)■二B−LB・A−14
ΦA   (2−44)(i、X−Y−IJ  : 5
円を氏Xt多円す曵Yで割ったM)を定義すると、GC
D[A、Bl  とGCD [χ、百] は、次式を満
たす。
Also, for A and B, the following polynomial and 10*degA
In the case of ≧degB A=A −IA4 B−IJ ・B
(2-41) ■= B (2-
42) When *degA≧degB, X=A
(2-43)■2B-LB・A-14
ΦA (2-44) (i, X-Y-IJ: 5
If we define M), which is the circle divided by Mr.
D[A, Bl and GCD [χ, 100] satisfy the following formula.

GCD [A 、 Bl =GCD [A 、U]  
       (2−45)従って、上述のAとBとを
新ためてA、Bとおき、各々の次数degA、degB
の大小関係に応じて(2−41)、(2−42)式もし
くは(2−43)、(2−44)式の変換を行うといっ
た操作を繰返し実行して、Aと日のどちらかが零多項式
になった時、もう一方の非零多項式がAとBの最大公約
多項式として得られる。
GCD [A, Bl = GCD [A, U]
(2-45) Therefore, the above A and B are rewritten as A and B, and the respective orders degA and degB are
Depending on the magnitude of When it becomes a zero polynomial, the other non-zero polynomial is obtained as the greatest common polynomial of A and B.

なお、多項式AとBの最大公約多項式を求める事は、次
のような多項式CとDを求める事と変りない、なお、d
egは次数のことである。
Note that finding the greatest common polynomial of polynomials A and B is no different from finding the following polynomials C and D.
eg is the order.

GCD [A 、 Bl =C−A+D −B    
     (2−48)すると、上記繰返しステップを
実行して、次数がi=degA≧degBと表わされる
多項式AとBの最大公約多項式を求める過程で、次式を
満足する多項式C,D、Wを求める事ができる。
GCD [A, Bl = C-A+D-B
(2-48) Then, in the process of executing the above iterative step and finding the greatest common polynomial of polynomials A and B whose degree is expressed as i=degA≧degB, polynomials C, D, and W that satisfy the following equation are obtained. You can ask for it.

この様な多項式を求める問題を拡張GCD問題と呼ぶ、
従って、誤り位置多項式σ(X)と誤り評価多項式ω(
X)は、(2−47)式において、多項式Aを)(2t
、多項式Bt−3(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 ω(
In equation (2-47), X) is the polynomial A)(2t
, extended GCD when polynomial Bt-3(x)
Determined by solving problems.

ステップ3   番    しの ステップ3では、ステップ2で得られた誤り位置多項式
σ(X)と誤り評価多項式ω(x)から、誤り位置と誤
りの値の推定を行う、まず、受信語R= (ro 、r
 1+−−−−、rfi−t)中のシンボルの位置i=
o、1−−−−1−1に応じたGF (2m)の元α−
iを誤り位置多項式σ(X)に逐次代入する。この時、
(2−36)式よりσ(α″″L)=Oが成立するなら
ば、iが誤り位置juに対し、α−1=α−juが成立
している事がわかる。(ju=o、1−−一−n−1、
u=1 、2−−−−1 、 l≦t)また、そのよう
なα−1=α−juに対する誤り評価多項式ω(X)の
値は次のようになる。
Step 3 In step 3, the error location and error value are estimated from the error location polynomial σ(X) and error evaluation polynomial ω(x) obtained in step 2. First, the received word R= ( ro, r
1+---, rfi-t), the symbol position i=
element α- of GF (2m) according to o, 1----1-1
Iteratively assigns i to the error locator polynomial σ(X). At this time,
From equation (2-36), if σ(α″″L)=O holds true, it can be seen that α−1=α−ju holds true for i at the error position ju. (ju=o, 1--1-n-1,
(u=1, 2--1, l≦t) Further, the value of the error evaluation polynomial ω(X) for such α-1=α-ju is as follows.

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

(2−9)式より、誤りの生じている位置juにおける
受信シン−ポルrjuは、本来の符号語のシンボルfj
uと誤りの大きさejuから次のように表わされる。
From equation (2-9), the received symbol rju at the position ju where the error occurs is the symbol fj of the original code word.
It is expressed as follows from u and the error size eju.

f J u= rju−eju           
  (2−51)従ってステップ4では、ステップ3の
実行結果σ(α−i)、、、Qが成立した位it i(
t =O1l + −−−−n  1)において、受信
シンボルriから を引< (GF (2m) J:)f t = r t
 −e t     (2−53)事により、位置iに
おける誤り訂正を実行する。
f J u= rju−eju
(2-51) Therefore, in step 4, it i(
t = O1l + ----n 1), subtract from the received symbol ri < (GF (2m) J:) f t = r t
-e t (2-53) Perform error correction at position i.

第1図に符号化通信システムのモデルを示す。Figure 1 shows a model of a coded communication system.

100は情報源、lot 、102は、情報源。100 is an information source, lot, 102 is an information source.

通信路の符号化を行う部分で、103は通信路である。This is a part that encodes a communication channel, and 103 is a communication channel.

104,105は、情報源9通信路の復号化部分である
。106が通信先のあて先である。
104 and 105 are decoding parts of the information source 9 communication path. 106 is the destination of communication.

第2図に本発明適用の並列処理器による並列処理を行う
ブロック図を示す、第1図と同一部分は同一符号を付す
、107はヒストグラムセルで、例えば1画像データの
濃度情報に関するヒストグラムを作成する完全並列処理
器である。
FIG. 2 shows a block diagram for performing parallel processing by a parallel processor to which the present invention is applied. The same parts as in FIG. It is a fully parallel processor.

108はベクトル変換セルで、ヒストグラムセル107
からのデータ例えば“1,2,3,4゜5.6″をそれ
ぞれa、bというようにブロック化してベクトル変換す
るものである。又、109は前述したR5符号を作成す
るセルである。そして、ヒストグラムセル107、ベク
トル変換セル108、R3符号化セル109が、第1図
の符号化部に対応する。又、110.ill、112は
、それぞれ前述のEva lセル、GCDセル。
108 is a vector conversion cell, and a histogram cell 107
For example, data from "1, 2, 3, 4° 5.6" is converted into blocks such as a and b, respectively, and vector-converted. Further, 109 is a cell for creating the above-mentioned R5 code. The histogram cell 107, vector conversion cell 108, and R3 encoding cell 109 correspond to the encoding section in FIG. Also, 110. ill and 112 are the aforementioned Eva l cell and GCD cell, respectively.

シンドロームセルで第1図の復号部に対応するパイプラ
イン処理器である。105は伸長セルで、ヒストグラム
セル107、ベクトル変換セル108によって、圧縮さ
れたデータを伸長させるセルである。これにより通信路
を対象とする信号処理において並列処理器を用いた処理
が可能となりセルを符号の能力に応じて必要個数だけ1
次元状に並べ、復号処理をパイプライン化する事ができ
る。
This is a syndrome cell and a pipeline processor corresponding to the decoding section of FIG. Reference numeral 105 denotes an expansion cell, which expands data compressed by the histogram cell 107 and vector conversion cell 108. This makes it possible to use a parallel processor in signal processing for communication channels, and only the necessary number of cells can be used depending on the code capacity.
By arranging them dimensionally, the decoding process can be pipelined.

シンドロームセル 次に前出のステップ1でシンドロームを計算t6ための
シンドロームセルについての説明を行う。
Syndrome Cell Next, the syndrome cell for calculating the syndrome t6 in step 1 above will be explained.

シンドローム計算の説明において示したように、復号の
ステップ1では受信系列R(rn−1−−−−r 1.
 r o)からステップ2で使用スるシンドローム多項
式の係数(s 2 t −1−−−−5t 。
As shown in the explanation of syndrome calculation, in step 1 of decoding, the received sequence R(rn-1---r 1 .
r o) to the coefficients of the syndrome polynomial used in step 2 (s 2 t −1−−−5t ).

SO)を(2−29)式に基づき導出する。これを実現
するシンドロームセルの7レイに要求される機能は、入
力データである( r n −1−−−一rl、ro)
から、S2t −1−−−−sl 、sQをこの順でG
CDセル側に受は渡す事である。
SO) is derived based on equation (2-29). The function required for the 7 rays of the syndrome cell to realize this is input data (r n -1---1 rl, ro)
From, S2t −1−−−−sl , sQ are G in this order.
The answer is to pass it on to the CD cell side.

ところで、具体的なシンドローム多項式の係数の計算は
、(2−29)式からもわかるように、代入すべき変数
Xの値(s L (t =0+ t 、−−−−+2 
t、 −1)に対応するαλ+1)がわかっている多項
式(受信多項式R(x) )に係数(受信シンボルrn
−1、−−−一、r1.ro)を与え、七の値を次式の
ような繰返しアルゴリズムで解く氷におきかえられる。
By the way, as can be seen from equation (2-29), the specific calculation of the coefficients of the syndrome polynomial is based on the value of the variable
The coefficients (received symbol rn
-1, ---1, r1. ro), and the value of 7 can be replaced with ice, which is solved by an iterative algorithm as shown in the following equation.

si= f・4rn−1mαi + I +rn−2)
 aα”’+rn−3]−αi + r+−−−−−−
+r1) mat ” l+r□      (5−1
0)このアルゴリズムは、DFT(ディスクリートフー
リエ変換)を解く為のシストリック・アルゴリズムと同
じ形だが、予め係数がわかっていないので、そのまま応
用することはできない。
si= f・4rn-1mαi + I +rn-2)
aα"'+rn-3]-αi + r+---
+r1) mat ” l+r□ (5-1
0) This algorithm has the same form as the systolic algorithm for solving DFT (Discrete Fourier Transform), but since the coefficients are not known in advance, it cannot be applied as is.

従って、このアルゴリズムを解く為には、第3図のよう
なセル1つにシンドローム多項式の係数s 1(i=0
 、 l 、−−−−、2t−1)の計算1つを割当て
なければいけない。
Therefore, in order to solve this algorithm, the coefficient s 1 (i=0
, l , ----, 2t-1) must be assigned.

この第3図において、XはSiに対応はするαi+1 
(多項式に代入すべき値)、sけ計算の中間結果Cs 
s)を貯えておくレジスタを表わし、yは計算結果を転
送する際に必要なディレィである。また、rtn”ou
tは係数データ  (r  n−1、++++、   
r  t   、   ro)   の ! / 0ボ
ート、Y i n r Outは計算結果のI10ボー
トを表わし、さらにCOm m & m d in・o
utはセルにデータの始めと終りを知らせる為のコマン
ドのI10ボートを表わしている。
In this Figure 3, X corresponds to Si, αi+1
(value to be substituted into the polynomial), intermediate result of s calculation Cs
s), and y is the delay required when transferring the calculation results. Also, rtn”ou
t is coefficient data (r n-1, +++++,
rt, ro) of! / 0 boat, Y in r Out represents the I10 boat of the calculation result, and COm m & m d in・o
ut represents the I10 port of the command for informing the cell of the start and end of data.

ここで、各セルはデータrn−t 、−−−−9ri。Here, each cell has data rn-t, ----9ri.

rQを逐次受取って(5−10)式の積和計算を繰返し
、n回の繰返しの後に計算結果を出力する。なお、co
mmand”は3種類のものが考えられる。まず“5t
art”は入力データの始まりを表わし、セルはこれを
受取ると″S″レジスタを初期化する。又“calc”
では積和計算が1回行われ、“end″では積和計算を
行った後計算結果を出力する。この機能を図に示すと第
4図のようになる。ななお詳細は後述する。
It receives rQ one after another and repeats the product-sum calculation of formula (5-10), and outputs the calculation result after n repetitions. In addition, co
Three types of "mmand" can be considered. First, "5t
"art" represents the beginning of input data, and upon receiving this, the cell initializes the "S" register. Also, "calc"
Then, the product-sum calculation is performed once, and at "end", the product-sum calculation is performed and the calculation result is output. This function is illustrated in FIG. 4. The details will be described later.

シンドロームセル 以上に示したシンドロームセル1つに、シンドローム多
項式の係数s i(i =O、t 、−一−−12t 
−Hの計算1つを割当てるわけであるから、全体で必要
なシンドロームの数は2t([1である。また、GCD
セルアレイとのインターフェースを考えると、各Siは
高次の項から出力しなければいけないから、シンドロー
ムセル第5図に示すように低次(#O)の項を計算する
セルから一次元状に接続しなければいけない。
Syndrome cell Each syndrome cell shown above has the coefficients s i (i = O, t , -1--12t) of the syndrome polynomial.
Since one calculation of -H is assigned, the total number of required syndromes is 2t ([1. Also, GCD
Considering the interface with the cell array, each Si must output from the high-order term, so the syndrome cell is connected in one dimension from the cell that calculates the low-order (#O) term as shown in Figure 5. I have to.

この時、左端のセルにrn−1が入り始めて。At this time, rn-1 begins to enter the leftmost cell.

右端のセルから計算結果(s2t−t、   。Calculation result from the rightmost cell (s2t-t,

511SO)が出力され始めるまでには   2t)シ
ンボルサイクルの遅延がある。  ■シンボルサイクル
: rj  (j=n−1、−−−−,1、O)の入力
サイクル) なお、出力は最終的に#2t−1のcellかも出力さ
れればよく、最初の入力は所定の値でヨく左端のシンド
ロームセル(so)のytnにはMO”を入力しつづけ
なければいけない。
There is a delay of 2t) symbol cycles before the 511SO) starts to be output. ■Symbol cycle: rj (input cycle of j = n-1, ----, 1, O)) Note that the output only needs to be output from cell #2t-1 in the end, and the first input is You must continue to input "MO" in ytn of the leftmost syndrome cell (so) with the value of .

また、(5−10)式の形かられかるように。Also, as can be seen from the form of equation (5-10).

シンドロームセルアレイに対し受信シンボルrj(j=
n−1、−−−一、 t 、 o)は、受信語多項式の
高次の項から入力しなければいけない。
For the syndrome cell array, the received symbol rj (j=
n-1, ---1, t, o) must be input from the higher-order terms of the received word polynomial.

シンドロームセル     − ここでは、以上で述べたシンドロームセルの機能をハー
ドウェア的に実現する専用セルの設計についての説明を
行う、このシンドロームセルの機能は後述のGCDセル
に比べて非常に簡単であり、基本的にはレジスタとGF
上の乗加算器のみで構成されるが、同期用の制御部分な
らびに出力転送用のレジスタ等も必要となる。
Syndrome cell - Here, we will explain the design of a dedicated cell that implements the functions of the syndrome cell described above in hardware.The function of this syndrome cell is very simple compared to the GCD cell described later. Basically register and GF
Although it consists only of the above multiplier/adder, it also requires a control section for synchronization, a register for output transfer, etc.

以上を考慮にいれて、GF(21m)上のR3符号を扱
うシンドロームセルの具体的設計を行ったものが第6図
である。また、GCDセルの場合と同様に1シンボルサ
イクル内におけるセルの動作を考えると、その処理の流
れは第7図のようなタイミングチャートで表わされる。
Taking the above into consideration, FIG. 6 shows a concrete design of a syndrome cell that handles the R3 code on GF (21m). Further, when considering the operation of the cell within one symbol cycle as in the case of the GCD cell, the flow of processing is represented by a timing chart as shown in FIG.

(ここでもlシンボルサイクルを16の内部サイクルに
分割している。)又、GF上の乗算器には、GCDセル
の場合と同様に“Cellular−Arraymul
tiplier”を用いる事を想定している。その規模
としては、 程度となり、Iloのpin数も48pinであるので
十分LSI化が可能である。
(Also, the l symbol cycle is divided into 16 internal cycles.) Also, the multiplier on the GF has a “Cellular-Arraymul” as in the case of the GCD cell.
It is assumed that the scale will be approximately as follows, and the number of pins of Ilo is 48 pins, so it can be easily implemented as an LSI.

次に、このシンドロームセルの特徴をまとめると以下の
ようになる。
Next, the characteristics of this syndrome cell can be summarized as follows.

−1つのセルを任意の51iの計算に利用できるように
、定数αi+1はROM テーブルを外部からの“se 1ect”によって参照
する。
-The constant αi+1 refers to the ROM table by "se 1ect" from the outside so that one cell can be used for calculation of any 51i.

−“command″ 以外のデータはGF(28) 
 上のベクトル表現されたシンボル(8ビツ トパラレル)として扱う。
-Data other than “command” is GF (28)
It is handled as the above vector-expressed symbol (8-bit parallel).

・各セルは、″同期信号“5YNC”と基準のクロック
″CLOCK” (内部サイクルに相当)のみによって
制御される。
- Each cell is controlled only by the ``synchronization signal 5YNC'' and the reference clock ``CLOCK'' (corresponding to an internal cycle).

なお、第6図における“C0NTR0LL″部分は水平
マイクロプログラムROMで実現すればよい。
Note that the "C0NTR0LL" portion in FIG. 6 may be realized by a horizontal microprogram ROM.

又、■はクロックの16ビツトをカウントするカウンタ
、■はコマンド等の入力により所定の制御信号を出力す
る制御部、■はラッチである。0はレジスタで計算途中
のデータが格納されており、MUX@は、シンドローム
SiOを出力          − するかどうかを切換えるマルチプレクサである。
Also, ``■'' is a counter that counts 16 bits of a clock, ``2'' is a control section that outputs a predetermined control signal in response to input of commands, etc., and ``2'' is a latch. 0 is a register in which data during calculation is stored, and MUX@ is a multiplexer that switches whether or not to output the syndrome SiO.

又[株]、■は係数付加及びOの計算処理を行うための
ゲート部分である。
Also, [stock] and ■ are gate parts for performing coefficient addition and O calculation processing.

上述した様にcommandlnには5tart″。As mentioned above, commandln has 5tart''.

“calc″、“encf” があるが、そのタイミン
グは、例えば第8図のように示される。  1,2.3
−−−nはシンボルサイクル数を示す、#Q、#l、−
−−は第5図のセルを示す、#Oのセルを中心に説明す
る。
There are "calc" and "encf", and their timings are shown, for example, as shown in FIG. 1,2.3
---n indicates the number of symbol cycles, #Q, #l, -
-- indicates the cell in FIG. 5, and the explanation will be centered on the cell #O.

今シンボルサイクルlにおいてコマンドの“5tart
″が入力されると1サイクル遅れてoutから次の#l
のセルにコマンド“5tart″が出力される。更に同
様にして1サイクル遅れてセル#1から上記コマンド“
5tart”が出力される。又“5tart″に同期し
て、データrn−1−−−が入力される。又、前述した
様にYLIIが入力されている0次に2シンボルサイク
ルで“ca、tc”のコマンドが入力されると前述のシ
ンドロームの計算が行われ、n−1シンボルサイクルま
で続く、モしてnシンボルサイクルで“end”のコマ
ンドが入力され1つのシンドロームが計算される。又、
” OL fl * ” 00 u t* ” 10 
u Lは夫々1シンボルサイクル遅れて処理が進む、最
後にセルが#1で終了の場合、最終的に・出力をする場
合は“end″のコマンドで31を出力し、その後s□
を出力する。
Now in symbol cycle l, the command “5tart”
” is input, there is a delay of one cycle and the next #l is input from out.
The command “5tart” is output to the cell. Furthermore, in the same way, the above command “
5tart" is output. Also, in synchronization with "5tart", data rn-1--- is inputted. Also, as mentioned above, in the 0th and 2nd symbol cycle where YLII is inputted, "ca, When the ``tc'' command is input, the above-mentioned syndrome calculation is performed, and continues until n-1 symbol cycles.Finally, in n symbol cycles, the ``end'' command is input and one syndrome is calculated. ,
” OL fl * ” 00 ut * ” 10
Processing progresses with a delay of one symbol cycle for each uL.Finally, if the cell ends with #1, if you want to finally output, output 31 with the "end" command, and then s□
Output.

第7rMは#81Nで示したタイミングチャートの1シ
ンボルサイクル内の詳細説明図である。
The 7th rM is a detailed explanatory diagram within one symbol cycle of the timing chart shown by #81N.

この16カウントは第6図のカウンタ■が行っている。This 16 count is performed by the counter ① in FIG.

     ′    ” コマントの入出力は0.1のクロックの畦、レジスタ■
に入力され、14.15のクロックの詩レジスタ11に
渡さhる。
''' Command input/output is a 0.1 clock line, register■
and is passed to the clock register 11 at 14.15.

又、出力のyは第7図において、2.3クロツクの時゛
にyinレジスタ■に入力し、1415クロツクの時に
yレジスタ0に格納される。ただし、コマンド’end
’の時には、MUX16(7)制御によりyoutレジ
スタ■にはSiレジスタ■の値が渡される。又、SEX
+rinの計算は2.3クロツク目に行われ、4.5ク
ロツクでSiをレジスタ■にセットする。
Also, in FIG. 7, the output y is input to the yin register 2 at the 2.3 clock, and stored in the y register 0 at the 1415 clock. However, the command 'end'
', the value of the Si register (2) is passed to the yout register (2) under the control of the MUX 16 (7). Also, SEX
+rin is calculated at the 2.3rd clock, and Si is set in the register (2) at the 4.5th clock.

Q旦り 次に、ステップ2)において示した誤り位置多項式と誤
り評価多項式の算出について説明する。
Next, calculation of the error locator polynomial and error evaluation polynomial shown in step 2) will be explained.

GCDセルの RS符号の復号にシストリック・アルゴリズムを応用し
ていく際に、最も問題となるのは復号のステップ2)す
なわち誤り位置多項式σ(x)と誤り評価多項式ω(X
)の導出である。
When applying the systolic algorithm to decoding the RS code of a GCD cell, the biggest problem is the decoding step 2), that is, the error locator polynomial σ(x) and the error evaluation polynomial ω(X
) is derived.

ここでは、この復号のステップ2の為のアルゴリズム及
びそれをハードウェア的に実現する専用セル(以下GC
Dセルと呼ぶ、)の設計について説明を行う。
Here, we will discuss the algorithm for step 2 of this decoding and the dedicated cell (hereinafter referred to as GC) that implements it in hardware.
The design of the cell (referred to as D cell) will be explained below.

本アルゴリズム まず、前述した様に、σ(X)とω(X)の導出アルゴ
リズムは拡張GCD問題に帰着できる。すなわち )(
2tを多項式AO,シンドローム多項式S (X)((
2−32)式)を多項式BQとおいた時(degAO=
2t 、 degBo=2t−1) 。
This Algorithm First, as mentioned above, the algorithm for deriving σ(X) and ω(X) can be reduced to an extended GCD problem. i.e. )(
2t as polynomial AO, syndrome polynomial S (X)((
2-32)) as a polynomial BQ, (degAO=
2t, degBo=2t-1).

GCD [AO、Bolを求める途中でを満たす多項式
〇、Wが求まれば、Dが誤り位置多項式σ(x)、Wが
誤り評価多項式ω(x)を各々表わしている。このよう
なσ(X)とω(X)は、定係数の違いを除いて一意的
に定まる車がわかっている。従って、AQとBOに対し
て次のような多項式A、B、U、V、L。
GCD [If polynomials 〇 and W that satisfy AO and Bol are found, D represents the error locator polynomial σ(x) and W represents the error evaluation polynomial ω(x), respectively. It is known that there are vehicles in which σ(X) and ω(X) are uniquely determined except for the difference in constant coefficients. Therefore, the following polynomials A, B, U, V, L for AQ and BO.

Mを定義し その初期値を U=M= l ; L=V= 0 ; (A=AO、B
=Bo)とおいて第9図の繰返しステップを実行してい
き、degA (degB)<tとなった時にA(B)
がω(x)、L (M)がσ(x)として各々求まる。
Define M and set its initial value as U=M=l; L=V=0; (A=AO, B
= Bo) and repeat the steps in Figure 9, and when degA (degB) < t, A(B)
is found as ω(x), and L (M) is found as σ(x), respectively.

なお、第9図の方法では、多項式Bの最高次係数αと多
項式Aの最高次係数βを各々A、Hにたがいちがいに乗
する事により、繰返しステップにおけるGF上の除算を
省略している。((2−41)、(2−43)式参照)
このようにしても、σ(X)とω(X)の値に木質的な
問題は生じない。
In addition, in the method shown in FIG. 9, the division on GF in the iterative step is omitted by multiplying A and H by the highest degree coefficient α of polynomial B and the highest degree coefficient β of polynomial A, respectively. . (See formulas (2-41) and (2-43))
Even in this case, no woody problem occurs in the values of σ(X) and ω(X).

第9図について説明する。まず、ステップ1においてU
=M= l 、L=V=O、A=A□ 。
FIG. 9 will be explained. First, in step 1, U
=M=l, L=V=O, A=A□.

B=BQとおいて、初期値を設定する。ステップ2にお
いてdegA≧degBの判定を行い、ステップ3にお
いて多項式A、Hの最高次係数β、αを各々A、Bにた
がいちがいに乗じ、式(2−41)、(2−43)の繰
返しステップにおけるGF上の除算を省略している。
Set the initial value by setting B=BQ. In step 2, determine whether degA≧degB, and in step 3, multiply A and B by the highest order coefficients β and α of polynomials A and H, respectively, and repeat equations (2-41) and (2-43). Division on GF in the step is omitted.

ステップ4においてdegA、degBが所定の次数よ
り小さくなった場合、ステップ5.6に進み、ω(x)
 =A、 cr (x) =L、(1) (x) =B
、 cr (x) =Mを算出する。
If degA and degB become smaller than the predetermined order in step 4, proceed to step 5.6, and ω(x)
=A, cr (x) =L, (1) (x) =B
, cr (x) =M is calculated.

次に、第9図の繰返しステップにシストリッの考え方を
適用し、1つのGCDセルで繰返ステップ1回を処理さ
せる場合、そのセルの金的モデルは第10図のようにな
る。
Next, when applying the Sistry concept to the repetition step in FIG. 9 and having one GCD cell process one repetition step, the financial model of that cell becomes as shown in FIG. 10.

10図においては、セルの左側から多項式・入力され、
A、Hの次数に応じた処理のなされた多項式が右側より
出力される。ここで、λ。
In Figure 10, the polynomial is input from the left side of the cell,
Polynomials processed according to the orders of A and H are output from the right side. Here, λ.

目、T:、sは各々入力多項式A、B、L、Mに対する
出力多項式を表している。
, T:, s represent output polynomials for input polynomials A, B, L, M, respectively.

(多項式UとV t* RS符号の復号には直接必要な
いので以後扱わない、) なお、第10図に示したように第9図の繰返しステップ
を実行するGCDセルには、AとBの次数に応じた3つ
の実行モードが必要であり、それらを以後法のように呼
ぶ事にする。
(Polynomials U and V t* are not directly necessary for decoding the RS code, so they will not be discussed hereafter.) As shown in FIG. 10, the GCD cell that executes the iterative steps in FIG. Three execution modes are required depending on the order, and these will be referred to as modalities from now on.

i)degA、degB≧tかつdegA≧degB−
−一“reduceA”ii)degA、degB≧t
かつdegA≧degB−−−“reduceB”ii
i)degA<tもしくはdegB<t      −
=−nopGCDセル  モール 第10図に示したようなセルを一次元状に並べたセルア
レイを構成し、第10図の繰返しステップを実行させれ
ば、σ(X)とω(X)の導出がパイプライン化される
。しかし、ここで問題となるのは処理の途中で多項式の
長さが変化する事である0例えば、1つのセルに注目し
た場合、 ・セルのモードが“rectuceA″の場合:そのセ
ルにより、Aの次数(Aの長さ)が減少し、Lの次数(
Lの長さ)が増加する。
i) degA, degB≧t and degA≧degB-
-1 “reduceA” ii) degA, degB≧t
and degA≧degB---“reduceB”ii
i) degA<t or degB<t −
=-nopGCD Cell Moll If we construct a cell array in which cells are arranged one-dimensionally as shown in Figure 10 and repeat the steps in Figure 10, we can derive σ(X) and ω(X). pipelined. However, the problem here is that the length of the polynomial changes during the process. The order of (the length of A) decreases, and the order of L (the length of A) decreases, and the order of L (
L length) increases.

・セルのモードが“reduceB″の場合:そのセル
により、Bの次数(Bの長さ)が減少し、Mの次数(M
の長さ)が増加する。
・If the cell mode is “reduceB”: The cell reduces the order of B (length of B) and increases the order of M (M
length) increases.

このような、入力多項式の長さの変化にセルの機能を対
応させようとすると、各セルに非常に゛  複雑な処理
が要求される。またその場合、セルアレイ中の個々のセ
ルの計算量が不均等になり効率が悪い、この問題を解決
する為に、“KungNらの拡張GCD問題を解くシス
トリック・アルゴリズムでは、各セルへの多項式の入力
を個々の係数データとA、Bの次数差に分けているが、
R3符号の復号に実際に応用する為には上記3つのモー
ドを区別する為に、個々の多項式の具体的な次数データ
が必要となる。(L、Mの次数も誤り位置多項式の次数
として必要である。)さらに、各セルへは係数データを
側々の多項式の次数に相当する項を互いにそろえて、高
次から順に入力し、係数データの処理と各次数の処理を
別に行う必要がある。その際、傭々のセルの計算量を均
等にする為に、1つのセルにおけるAもしくはBの次数
の変化を高々1次にとどめなければいけない、このよう
にすると、A、BのdegA、degB次の項が比例と
は限らなくなるが。
In order to make the functions of cells correspond to such changes in the length of the input polynomial, extremely complicated processing is required for each cell. In that case, the amount of calculation for each cell in the cell array becomes uneven, resulting in inefficiency.In order to solve this problem, the systolic algorithm for solving the extended GCD problem of KungN et al. The input is divided into individual coefficient data and the order difference of A and B, but
In order to actually apply the method to decoding the R3 code, specific degree data of each polynomial is required in order to distinguish between the above three modes. (The degrees of L and M are also required as the degrees of the error locator polynomial.) Furthermore, the coefficient data is input into each cell in order from the highest degree by aligning the terms corresponding to the degrees of the polynomials on the sides. Data processing and each order processing must be performed separately. At that time, in order to equalize the amount of calculation for each cell, the change in the degree of A or B in one cell must be kept to at most the first order.In this way, degA, degB of A and B However, the next term is not necessarily proportional.

“rectuceA″(“reduceB″)においテ
A (B)のdegA(degB)次の項が零であれば
、Aを単に高位にシフトしてやるといった操作を行えば
問題ない。
If the term next to degA (degB) of TeA (B) in "reduceA"("reduceB") is zero, there is no problem if you simply shift A to a higher position.

また、これらの係数データと次数データとともに、デー
タの先頭を表わすデータ“5tart″が必要となる。
In addition to these coefficient data and order data, data "5tart" representing the beginning of the data is required.

この時、各セルは“5tart=1”を受取るとデータ
の始まりを認識し、AとBの次数degA、degBと
各々のdegA、degB次の項から処理の種類(st
ate)を設定するとともに、次のセルに送る為に係数
データを処理し、新たな次数を計算する。また、各セル
は次に“5tartxl”を受取るまで5tateに応
じて同じ処理を繰返す。
At this time, when each cell receives "5tart=1", it recognizes the start of the data, and the type of processing (st
ate) and processes the coefficient data to calculate a new order for sending to the next cell. Further, each cell repeats the same process according to 5tate until it receives "5tartxl" next time.

なお、前述の多項式の長さの変化に対処する為には、各
セルにバッファ用のディレィを設けて以下のような処理
を行えばよい。
Note that in order to deal with the change in the length of the polynomial described above, a buffer delay may be provided in each cell and the following processing may be performed.

と同じ速さで転送し、色はλより1つ速く。, and the color is one color faster than λ.

Lはiより1つ遅く転送する。L transfers one step later than i.

の場合(α”bJ+β=a%) →λを色より1つ速ぐ転送。In the case of (α”bJ+β=a%) → Transfer λ one faster than color.

この例かられかるように、実際のデータ処理ににおいて
xdegA−66g8等を乗する計算は不要である。
As can be seen from this example, calculations such as multiplying xdegA-66g8 are not necessary in actual data processing.

以上を実現するGCDEセルの基本モデJしを考えると
第11図のようになる。
Considering the basic model of the GCDE cell that realizes the above, it becomes as shown in FIG.

この第11図において・ain・Out+bin+Ou
t+l i n、Out 、mi nt outはA、
B、L、M各多項式の係数データのI10ポートを表わ
している。
In this Figure 11, ・ain・Out+bin+Ou
t+l in, Out, min out is A,
It represents the I10 port of coefficient data of each of the B, L, and M polynomials.

また、S t & r t i fl + Ou tは
データの先頭を表わす“5tart″のI10ポートを
、deg A L fL * Ou t 。
Further, S t & r t i fl + Out sets the I10 port of “5tart” representing the beginning of data as deg A L fL * Out .

de gBl n −Out −degLl n 、O
ut 、degMt n Ioutは各多項式の次数デ
ータのI10ポートを表わしティる。なお、セル中に示
したa 、 b * 11+ 12 + m 1 +m
2.degA、degB、degL、degMは各々、
バ’777用のディレィを表わしている。また、α、β
は第9図に示した繰返しステップを実行する際に必要な
定数を貯えておくレジスタ、5tateは繰返しステッ
プの途中での各セルのモードを貯えておくレジスタであ
る。
de gBl n -Out -degLl n , O
ut, degMtnIout represents the I10 port of the degree data of each polynomial. In addition, a, b * 11+ 12 + m 1 + m shown in the cell
2. degA, degB, degL, degM are each
This shows the delay for the '777. Also, α, β
5tate is a register that stores constants necessary when executing the iterative step shown in FIG. 9, and 5tate is a register that stores the mode of each cell during the iterative step.

次に、この第11図のGCDセル基本モデルは、第12
図に示すような処理フローをある時点での“5tart
=1″の入力から、次の“5tart=1”の入力まで
繰返す事により、第9図の繰返しステップ1回に相当す
る処理を行う。この第12図において“st art=
1”の場合に、セルはデータの始まりを認識して“5t
ate”、α、β等を設定する為のモード“set  
5tate”を実行する。また、“5tart≠1”の
場合には“5tate”に応じた処理を行う°“caf
e”モードを実行する。各々のモードにおける詳細な処
理フローは第13図、第14図に示す。
Next, this basic GCD cell model in FIG.
The processing flow as shown in the figure is
By repeating from the input of "=1" to the next input of "5start=1", the process corresponding to one repetition step in FIG. 9 is performed. In this FIG.
1”, the cell recognizes the beginning of the data and reads “5t
Mode “set” for setting “ate”, α, β, etc.
5tate". Also, if "5tart≠1", perform the process according to "5tate" ° "caf
e" mode is executed. Detailed processing flows in each mode are shown in FIGS. 13 and 14.

以上で注意しなければいけないのは、データの先頭に付
加される“St art”と各多項式の次数degA、
degB、degL、degMが1つのセルを通過する
場合に、必ず1回ディレィを通過する事である。この為
、1つのセルをデータが通過するのに2シンボルサイク
ル(lシンボルサイクルはデータの入力サイクル)かか
る事になる。これに対し、各多項式の係数データは長さ
の変化に対応して先頭をそろえる為に、データの転送の
際に用いるディレィの数が処理の種類に応じて変る。第
11図に示したように、AとBの為1つ、LとMの為に
2つのディレィが容易されている。)ここで、そのディ
レィの用いられ方を明確にする為に、“’5tart”
がセルアレイを通過する速度を基準にして、各“5ta
te”における多項式の係数データの通過速度を第1表
にまとめる。なお、第1表における各速度(1゜2.3
)は次のよう−な意味を持つ。
What you need to be careful about above is "Start" added to the beginning of the data, the degree degA of each polynomial,
When degB, degL, and degM pass through one cell, they always pass through a delay once. Therefore, it takes two symbol cycles (l symbol cycle is a data input cycle) for data to pass through one cell. On the other hand, in order to align the beginnings of the coefficient data of each polynomial in response to changes in length, the number of delays used when transferring data changes depending on the type of processing. As shown in FIG. 11, one delay for A and B and two delays for L and M are facilitated. ) Here, in order to clarify how the delay is used, "'5tart"
Based on the speed at which the cell array passes through the cell array,
Table 1 summarizes the passing speeds of coefficient data of polynomials at
) has the following meaning.

GCDセル 実際に複合のステップ2)を実行し、AQ=X2t。GCD cell Actually execute the compound step 2) and AQ=X2t.

B□=S(x)からcr (x) 、ω(x)を得るに
は、前述したようにGCDセルを一次元状に接続したセ
ルアレイを構成する必要がある。この時、各セルはAま
たはBの次数を高々1つ減らすだ(すだが、σ(X)、
ω(x)を求める為には、初期値A=AO(degA=
2t) 、B=BO(degB=2t−1) +7)ど
ちらかの次数を(t −i)にするまで第9図の繰返し
ステップを実行しなければいけない、従って。
In order to obtain cr (x) and ω(x) from B□=S(x), it is necessary to configure a cell array in which GCD cells are connected in a one-dimensional manner as described above. At this time, each cell reduces the degree of A or B by at most one (but σ(X),
In order to find ω(x), initial value A=AO(degA=
2t) , B=BO(degB=2t-1) +7) The iterative steps of FIG. 9 must be performed until either order becomes (t-i), thus.

最大(2t + 1)個のセルが必要となる。これを図
に示すと第15図(#0〜#2t)のようになる、ここ
で、セルアレイの左端に入力されるのが、次のような初
期値である。
A maximum of (2t + 1) cells are required. This is illustrated in FIG. 15 (#0 to #2t). Here, the following initial values are input to the left end of the cell array.

また、前述したように1つのセルをデータが通過するの
に2シンボルサイクルかかる。従って、セルアレイの左
端に入力が開始されてから、右端に結果が出力されはじ
めるまでの遅延は2の (2t + 1)シンボルサイ
クルである。なお、第151iijの接続にすると右端
のセルから出力される結果は必ずdegA=t’−1(
degB=t−1)となっており、A (B)の係数デ
ータは(t −1)次の項(非零とは限らない、)から
出力される。
Furthermore, as described above, it takes two symbol cycles for data to pass through one cell. Therefore, the delay from the start of input to the left end of the cell array until the start of output of the result to the right end is 2 (2t + 1) symbol cycles. Note that when the 151iij connection is used, the result output from the rightmost cell is always degA=t'-1(
degB=t-1), and the coefficient data of A (B) is output from the next term (t-1) (not necessarily non-zero).

しかし、 L (M) (7)次数degL(degM
)は、受信語中の誤りの個数1(1≦tとする)になっ
ており、係数データの出力も1次の項(非零)から始ま
る為、誤りの個数によって可変である。
However, L (M) (7) order degL(degM
), the number of errors in the received word is 1 (1≦t), and the output of coefficient data also starts from a linear term (non-zero), so it is variable depending on the number of errors.

さらに、右端のセル出力がdegA=t−1であるかd
 e gB= t −1であるかによって、複合のステ
ップ3)に渡すデータが異なるから、GCDセルアレイ
とステップ3)を実行するセルアレイの間には、若干の
インターフェースが必要となる。
Furthermore, whether the rightmost cell output is degA=t-1 or d
Since the data to be passed to step 3) of the combination differs depending on whether e gB=t -1, some interface is required between the GCD cell array and the cell array that executes step 3).

(degAzt−1+σ(x) =L、(1) (x)
 =A:degB=t−1+cr (X)、=M、(1
) (X) =B)GCDセル    °モ ここでは、以上で述べたGCDセルの機能をハードウェ
ア的に実現する専用セルの設計を行っていく、まず、前
述のGCDセル基本モデルは、クン(kung)らが拡
張GCD問題を解く為に提案したモデルを実際にR3符
号の復号に適用する為に改良したものである。このモデ
ルは、ソフトウェア的に実現する場合には十分であるが
、それをそのままハードウェア化し、1つのセルを1チ
ツプ化しようとするとI10数が多すぎて非現実的であ
る。
(degAzt-1+σ(x) =L, (1) (x)
=A:degB=t-1+cr (X), =M, (1
)( This model is an improved version of the model proposed by Kung et al. for solving the extended GCD problem in order to actually apply it to the decoding of R3 codes. This model is sufficient when implemented in software, but if it is implemented directly in hardware and one cell is made into one chip, the number of I10s is too large, making it unrealistic.

ここで注目すべき点は、多項式A、B、Mの係数データ
と次数データは、必ずしも同時に入出力しなくともよい
という点である。従って。
What should be noted here is that the coefficient data and order data of polynomials A, B, and M do not necessarily have to be input and output at the same time. Therefore.

各多項式の係数データを“war”、次数データを“d
eg”として時分割して入出力してやる事により、1つ
のセルに必要なI10ビン数を大幅に削減できる。また
、係数データの処理に必要となるGF上の・乗算器が1
つのセル内で占める面積を考えると、その数は1つです
む事が望ま、しい。
The coefficient data of each polynomial is “war”, and the degree data is “d”.
By time-sharing input/output as "eg", the number of I10 bins required for one cell can be significantly reduced.Also, the number of multipliers on the GF required for processing coefficient data is reduced to one.
Considering the area occupied within one cell, it is desirable that the number be only one.

なお、このGF上の上算器の構成は種や、考えられるが
、速度と占有面、積、及び構成の規爾性ヲ考慮に入れた
うえで、GF (28)上のR5符号を扱うGCDセル
の具体的設計を行ったものが図である。また、GCDセ
ル基本モデルの動作を表す第12.13.14図に対応
させて第16図のセル構成に必要な動作を考えると、そ
の1シンボルサイクル(Starttnの入力サイクル
)間の処理の流れが、第17図のようなタイミイグチャ
ートで表される。ここで、lシンボルサイクルは16の
内部サイクルに分割されている。なお。
Note that the configuration of the adder on this GF can be considered as a species, but the R5 code on the GF (28) can be handled by taking into account the velocity, occupied surface, product, and specificity of the configuration. The figure shows a specific design of a GCD cell. Also, considering the operations necessary for the cell configuration in Figure 16 in correspondence with Figures 12, 13, and 14 representing the operations of the GCD cell basic model, the flow of processing during one symbol cycle (Startn input cycle) is expressed in a timing chart as shown in FIG. Here, the l symbol cycle is divided into 16 internal cycles. In addition.

図中に示したPreset”、、“deg compu
te”は、“5tartil=ビの場合にのみ行hh、
  ”      am ti゛@ 11、−β・bi
n″の計算は“5tartln#l″の場合にのみ行わ
れる。
Preset”, “deg compu” shown in the figure
te” is the line hh only if “5tartil=bi,”
” am ti゛@ 11, -β・bi
The calculation of "n" is performed only in the case of "5tartln#l".

次に、このセル構成の特徴をまとめると以下のようにな
る。
Next, the characteristics of this cell configuration can be summarized as follows.

+1第11図における係数の入出力データ(lL目hO
ut、btn、Out、fin、Outlminlou
t>を V&r目hVlr011t、次数の入出力デー
タ   (degALn、Out−degBln、Ou
t 、degLtn、out 、deKNb、 n、、
 out)  をdeg i n 、 aegoutと
して入出力を多重化し、1つのセルに必要なI10ビン
数を削減している。゛ ・係数データは、GF(213)上のベクトル表現され
たシンボル(8ビツトパラレル)として扱い1次数デー
タは8ビツト2進数で表わされた’119(8ビツトパ
ラレル)として扱う。
+1 Coefficient input/output data in Figure 11 (lLth hO
ut, btn, Out, fin, Outlminlou
t>, V & rth hVlr011t, order input/output data (degALn, Out-degBln, Ou
t , degLtn, out , deKNb, n, ,
The input/output is multiplexed using deg in and aegout to reduce the number of I10 bins required for one cell. - Coefficient data is treated as a vector-expressed symbol (8-bit parallel) on GF (213), and first-order data is treated as '119 (8-bit parallel) expressed in 8-bit binary.

・第11図に示した、セル内部に必要なディレィをFI
FOで置換えるとともに、入出力の多重化に合せて内部
のデータ処理をパイプライン化している0例、えば、係
数データの処理に必要な“α”atn−β”bitl″
−“α@1tn−β@m%n”といった計算は、GF上
の乗算器1つを利用して効率良く行える。また、次数デ
ータの処理において必要となるdegAsn−1″′ 
、“degBt n−” 、“degLtn+degg
in−degAtn”、 ”d e gMl B+de
 gA i n−d e g13tn″といった整数演
算はALUlつを用いて効率良く行える。
・The delay required inside the cell as shown in Figure 11 is set to FI.
An example of replacing with FO and pipelining internal data processing in accordance with input/output multiplexing, for example, "α" atn - β"bitl" required for processing coefficient data.
- Calculations such as "α@1tn-β@m%n" can be efficiently performed using one multiplier on the GF. In addition, degAsn-1″′, which is necessary in processing order data,
, “degBt n-”, “degLtn+degg
in-degAtn”, “d e gMl B+de
Integer operations such as gA in-de g13tn'' can be performed efficiently using one ALU.

・GF(28)上の任意のRS符号の複合に利用できる
ように、“5tate”を設定するのに必要な、誤り訂
正能力の大きさtを外部からの“5elect”により
入力できる。
- The size t of the error correction capability required to set "5tate" can be input by "5select" from the outside so that it can be used for combining any RS code on GF (28).

・各セルは、同期信号“5YNC”と基準のクロック“
CLOCK” (内部サイクルに相当)のみで制御され
る。
・Each cell has a synchronization signal “5YNC” and a reference clock “
CLOCK" (corresponding to an internal cycle).

9各FIFOバッファへのデータのセットの手順は、各
セルノ“at at e”と“st art −、n”
の値によって第12.13.14と同様にして決まる。
9. The procedure for setting data into each FIFO buffer is as follows:
It is determined in the same way as No. 12, 13, and 14 depending on the value of .

なお、第16図中の“C0NTR0LL”部分は水平マ
イクロプログラムROMで実現すればよい、又、”5t
ate  generate”部分は、atn。
Note that the "C0NTR0LL" part in FIG. 16 may be realized by a horizontal microprogram ROM, and
ate generate” portion is atn.

b i n、deffAi n、 degB、 n、と
“se 1ect″を入力とする比較器からなる組合せ
回路で構成すればよい。
It may be configured with a combinational circuit consisting of a comparator whose inputs are bin, defAin, degB, n, and "se 1ect".

次に、第16図、第17図を中心に第11図〜第17図
に示したハード及び、フローチャートについて詳細に説
明する。
Next, the hardware and flowcharts shown in FIGS. 11 to 17 will be explained in detail, focusing on FIGS. 16 and 17.

第6図、第7図で説明したように、まず1ノンポルサイ
クルにおいて、5tartFIFo■がセットされると
同時にデータA、B、L、M、degA、B。
As explained in FIGS. 6 and 7, first, in one non-pol cycle, 5tartFIFo■ is set and at the same time data A, B, L, M, degA, B are set.

L9Mの先頭aL 、b J I I K l mK 
l l 、J + k + 1が入力される。更に詳し
く説明すると5tarttnレジスタOにスタート信号
がセットされ、C0NTそして、その4ビツトの出力は
コントロール部O(ROM)のアドレスに入力される。
First aL of L9M, b J I I K l mK
l l , J + k + 1 are input. To explain in more detail, a start signal is set in the 5tarttn register O, C0NT, and its 4-bit output is input to the address of the control unit O (ROM).

該コントロール部0の出力33ビットはクロック毎にラ
ッチ■し、各部に送ることによって16内部サイクルの
制御がなされる。
The 33 bits output from the control section 0 are latched every clock and sent to each section to control 16 internal cycles.

第12図においてはステップ3で5tart=1の場合
、ステップ4でset 5tateとなり、α、β等を
設定する為のモードを実行する。なお、ステップ1,2
.5は、データを入力或いは出力するステップである。
In FIG. 12, if 5tart=1 in step 3, set 5tate is entered in step 4, and a mode for setting α, β, etc. is executed. In addition, steps 1 and 2
.. 5 is a step of inputting or outputting data.

第13rl!Jは第12図ノステップ4+7)set 
 5tateのフローチャートである。ステップlでd
egAHor degBtn<tかどうか判定し、ye
sノ場合はステート(state)=“nop”となり
、リターンとなる。又、ステップ1でnoの場合は、ス
テップM L n + d e g A s n + 
deg Bx nを算出し、ステップ5においてdeg
L又はd e gMを求める。
13th rl! J is step 4+7) set in Figure 12
5tate flowchart. d in step l
Determine whether egAHor degBtn<t, ye
In the case of no, the state becomes "nop" and the process returns. Also, if no in step 1, step ML n + d e g A s n +
deg Bx n is calculated, and in step 5 deg
Find L or de gM.

第14図は、第12図のステップ6で示した”calc
”モードについて説明する。
Figure 14 shows the "calc" shown in step 6 of Figure 12.
”Explain the mode.

ステップ1において第12図のフローにおける前回の5
tateが“nap″であるか否かを判定し、yesで
あれば5tep2に進む、又noの場合は、ステップ3
に進み5tate=“reduceA”か否かを判定し
、それぞれステップ4に進む。
In step 1, the previous step 5 in the flow of Figure 12
Determine whether or not tate is “nap”. If yes, proceed to step 5, or if no, proceed to step 3.
It is determined whether 5tate="reduceA" or not, and the process advances to step 4.

又、第12図、第13図、第14図に示したステート 
(state)のジェネレート(generate)(
Celluar  Array  Multiplie
r  )  @において行われている。0〜0はそれぞ
れFIFOバッファである。0は遅延レジスタである。
Also, the states shown in Figures 12, 13, and 14
(state) generate (
Cellular Array Multiply
r) It is carried out at @. 0 to 0 are FIFO buffers, respectively. 0 is a delay register.

が行われ(st art=1) 、 2〜9クロックま
でa、b。
is performed (start=1), and a, b from 2 to 9 clocks.

1、mの値が入力される。又、クロック及びりr:1ツ
92におイテ12.m2をvar2FIFO31にセッ
トする。最初は12=m2=0である0次に11、ml
をvarFIFO30にセットする。
1, the value of m is input. Also, the clock and r: 1 92 and 12. Set m2 to var2FIFO31. Initially 12=m2=0 0 then 11, ml
Set in varFIFO30.

degA11=t、degB1n=j、degL1B=
に、degM4noなので、  degA□ut=o、
degB□ut=0.degLOut=0.degMO
u1=0である。また、 VarolltFIFOse
t  32  もaout 、bout 、1out 
+mOut=0となる。
degA11=t, degB1n=j, degL1B=
Since degM4no, degA□ut=o,
degB□ut=0. degLOut=0. degMO
u1=0. Also, VaroltFIFOse
t 32 also aout, bout, 1out
+mOut=0.

次に、 Ce1luar  Array  Multi
plierからa拳al、β・bJを算出し、Drag
@)によりα’l&i−βbjを算出し、Tempre
gQをセ’/トする。
Next, Ce1luar Array Multi
Calculate a fist al, β・bJ from plier, and Drag
@) to calculate α'l&i-βbj, and Tempre
Set gQ.

そしてLatch (a) 、 (b) 、 (c)及
びその後に接続されているMUX、ALU、Laむah
(d) 、Latch (e)によりd e g L 
i n、d e gM t n + & b F I 
FO@をsetし、a=al、b寓bjとする。
And Latch (a), (b), (c) and the MUX, ALU, Lamah connected after that
(d) , Latch (e) de g L
i n, de gM t n + & b F I
Set FO@, and let a=al, b and bj.

次に第2シンボルサイクルについて説明すると、var
 2FIFOQ、5tartF工FoQ、war I 
F I FOQ、var inF I F oQ、de
g 1npxFoQのsetが同様に行なわれた。ただ
し、12=a*l  k−β *mh、  012  
=Inl  +=Q 、s tart=o、  i、 
 xjlk、  ml  =mh、ain=  ai−
1、b in=  by−1、JLin−JLk−1、
minxmh−1、deg AgaBIL=LIL=N
IL=0である。
Next, to explain the second symbol cycle, var
2 FIFOQ, 5tartF engineering FoQ, war I
F I FOQ, var inF I F oQ, de
g 1npxFoQ set was performed in the same way. However, 12=a*l k-β*mh, 012
=Inl +=Q, start=o, i,
xjlk, ml = mh, ain = ai-
1, bin=by-1, JLin-JLk-1,
minxmh-1, deg AgaBIL=LIL=N
IL=0.

次に、5tartOであるので、 calcのモードに
入す、第1シンボル・サイクルでのS t a t e
 ニ応じて計算が行なわれた。ここでは、5tate=
reduceにを考えているので、セル・アレイ・マル
チプライヤでα・ai−1,β・b j−1を算出し、
D ragにより、α*ai−1−β−bj−1を算出
し、7smpreg(Dにセットする。また同様の手法
にTempregQにaajLk−1sβ・mh−1を
セットする。そして、deg out F I FOQ
、  var  out  F  I  F OQに、
deg  Aaut  =deg A 、 d@g B
 out s deg R、deg Lout=deg
 L 、 deg Mout wdeg m、  aa
ut = a −at−1s  β −b j−1、b
out  =  b  7.  JLout  !cz
*lh−β*mh 、 mout =0をセットする。
Next, since it is 5tartO, enter the calc mode and perform the STATE in the first symbol cycle.
Calculations were made accordingly. Here, 5tate=
Since we are thinking about reduce, we calculate α・ai−1,β・bj−1 using cell array multiplier,
Calculate α*ai-1-β-bj-1 using D rag and set it to 7smpreg (D. Also, use the same method to set aajLk-1sβ・mh-1 to TempregQ. Then, deg out F I F.O.Q.
, var out F I F OQ,
deg Aout = deg A, d@g B
out s deg R, deg Lout=deg
L, deg Mout wdeg m, aa
ut = a −at−1s β −b j−1, b
out = b7. JLout! cz
Set *lh-β*mh, mout=0.

5tart=0であるので、第7図よりdegCosp
uteは行なわれた最後のahpzFoQをa x &
 i−1、b = b j−1にセットする。
Since 5tart=0, from Figure 7 degCosp
The ute is the last ahpzFoQ performed a x &
Set i-1, b = b j-1.

なお、deg F I F oQ、 var 2 F 
I F oOlvarout F I FOQヘセット
する値はMUXによって判断されている。
In addition, deg F I F oQ, var 2 F
The value to be set to IF oOlvarout FI FOQ is determined by the MUX.

同様に、第3シンボルサイクルでdegAut、deg
Bout、deglout、de  mout 、ao
ut 、bout 、l0ut 、nJutが出力され
、結局2シンボルサイクルのW[となる。
Similarly, in the third symbol cycle, degOut, deg
Bout, degrout, de mout, ao
ut, bout, 10ut, and nJut are output, resulting in 2 symbol cycles of W[.

Evaluation  ’    セル次に復号のス
テップ3)、4)のEVALセルについて説明する。
Evaluation' Cell Next, the EVAL cell in steps 3) and 4) of decoding will be explained.

GCDセルとのインターフェースを考慮にいれたうえで
、復号のステップ3)、4)の誤り位置と誤りの値の推
定を実行するシストリック会アルゴリズムについて説明
する。また、そのアルゴリズムをハードウェア的に実行
する専用セル(以下Evaluationセルと呼ぶ)
の設計について説明する。
The systolic algorithm for estimating the error position and error value in steps 3) and 4) of decoding will be described, taking into consideration the interface with the GCD cell. In addition, a dedicated cell (hereinafter referred to as an evaluation cell) that executes the algorithm in hardware
We will explain the design of

アルゴリズム 前述したように、復号のステップ3)では、ステップ2
)で得られた誤り位置多項式σ(X)。
AlgorithmAs mentioned above, in step 3) of decoding, step 2
) is the error locator polynomial σ(X).

誤り評価多項式ω(X)、ならびにσ(X)の微分σ′
(X)という3つの多項式に、そのR3符号が定義され
るGF (2″l)の元α−j (j=n−1、−−−
−、2、l 、 0)を逐次代入してその値を求める計
算が必要となる。(ここでは受信シンボルが受信語多項
式の高次の項から入力される。
Error evaluation polynomial ω(X) and differential σ′ of σ(X)
Element α-j (j=n-1, ---
-, 2, l, 0) must be sequentially substituted to obtain the values. (Here, the received symbols are input from higher-order terms of the received word polynomial.

すなわちrjがj=n−1,−−−−,2,1、Oの順
で入力されるとする。従って、ステップ3)についての
説明では、α−j(j = n −1、−−−−。
That is, it is assumed that rj is input in the order of j=n-1, ---, 2, 1, O. Therefore, in the explanation for step 3), α-j(j = n-1, -----.

2.1.0)の代入の順が逆となる事に注意しなければ
ならない、)従って、これを実現するEvaluat 
i onセルのアレイに要求される機能は、GCDセル
アレイ側から渡されるσ(X)、ω(x)、(σ”(x
))の各多項式の係数を高次から順に受取り、それにα
−j (j=n−1、−−−−2、1、0)を逐次代入
してその値を出力する事である。ここで、具体的に必要
な計算は単に多項式に変数を代入し、その値を求めるだ
けであるから(5−10)式と同様の繰返しアルゴリズ
ムを利用できる0例えば、を次多項式f (x)の計算
は次のように展開される。
It must be noted that the order of assignment in 2.1.0) is reversed. Therefore, the Evaluat that realizes this
The functions required for the i on cell array are σ(X), ω(x), (σ”(x
)) in order from the highest order, and α
-j (j=n-1, ---2, 1, 0) is sequentially substituted and the value is output. Here, the concrete calculation required is simply substituting a variable into a polynomial and finding its value, so an iterative algorithm similar to equation (5-10) can be used.For example, if the degree polynomial f (x) is The calculation of is developed as follows.

f (x) =f t xt+ft−1x″−1+ −
−−−+ f 、 x + f 0(5−11)= [
−−−−[(f t X+ ft−1)X+ ft−2
]X+ −−一−+ f 1 ) x + f o  
 (5−12)但し、シンドローム計算では各セルが代
入すべきXを予め持っており、各セルに係数を与えてい
ったが、ここでは係数が予めわかっているので、DFT
を解く為のシストリック・アルゴリズムをそのまま利用
できる。ところが、GCDセルアレイ側から渡されるσ
(X)、ω(X)。
f (x) = f t xt+ft-1x″-1+ −
−−−+ f , x + f 0 (5-11) = [
-----[(f t X+ ft-1)X+ ft-2
]X+ −−1−+ f 1 ) x + f o
(5-12) However, in the syndrome calculation, each cell has X to be substituted in advance, and a coefficient is given to each cell, but here the coefficient is known in advance, so the DFT
The systolic algorithm for solving can be used as is. However, σ passed from the GCD cell array side
(X), ω(X).

(σ’(X))の各多項式の係数は高次の項から与えら
れる。この問題に対処する為には、(5−11)、(5
−12)式のかわりに次式を解くようにすればよい。
The coefficients of each polynomial of (σ'(X)) are given from higher-order terms. To deal with this problem, (5-11), (5
-12) Instead of the equation, the following equation may be solved.

f (x) x  = f t + ft−1x−’+
−−−−−會1) +f、 x   +f、 x   (5−13)=  
 (−−−−[(f  o  x−’+  f  、 
  )   x  −1+ f 2] x” +−−−
−+ f t−1)x−’+ f t        
  (5−14)これは、  f (x)の各係数を逆
転した多項式f (x) f (x) =f、 X  +f、 x  +−−−−
+ft−1x+ f 5           (5−
15)にx−1を代入していく事に相当する。このよう
な形でσ(X)、ω(x)、(σ’(X))を解いても
、ステップ3)の説明の項において述べた誤り位置の推
定ならびに(2−50)式の計算に木質的な問題は生じ
ない。
f (x) x = f t + ft-1x-'+
------Meeting 1) +f, x +f, x (5-13)=
(-----[(f ox-'+ f ,
) x −1+ f 2] x” +−−−
-+ f t-1)x-'+ f t
(5-14) This is a polynomial f (x) in which each coefficient of f (x) is inverted.
+ft-1x+ f5 (5-
This corresponds to substituting x-1 into 15). Even if σ(X), ω(x), and (σ'(X)) are solved in this way, the estimation of the error position and the calculation of equation (2-50) described in the explanation section of step 3) will not work. There are no wood problems.

なお、この場合σ(X)の次数を必ずt、ω(X)の次
数を(t−Bとおいていく、(零の項は、零としてその
まま扱う、また、σ°(X)の次数も(1−1)次とお
いておく、)以上のアルゴリズムを解く為には、第18
図のようなセル1つに、(5−14)式の繰返し演算1
回の積和計算を割当てなければいけない。
In this case, the order of σ(X) is always t, the order of ω(X) is (t-B), (the zero term is treated as zero, and the order of σ°(X) is also (1-1) Let's keep it as follows.) In order to solve the above algorithm, the 18th
Repeat operation 1 of formula (5-14) in one cell as shown in the figure.
You must allocate the product sum calculation times.

この第18図において、flは多項式f (x)のi次
の係数を貯えておくレジスタを表わす、また、xin、
outは多項式に入力するGF上のデータのI10ポー
トを表わし、f in、 outは1回の積和計算の結
果を転送する為のI10ポートを表わす、さらに、コマ
ンド(command)in。
In FIG. 18, fl represents a register that stores the i-th coefficient of the polynomial f (x), and xin,
out represents the I10 port for data on the GF that is input to the polynomial, f in and out represent the I10 port for transferring the results of one product-sum calculation, and command in.

outは、セルに与えるコマンドのI10ボートを表わ
す、ここで、”command″には2種類のものが考
えられる。
out represents the I10 port of the command given to the cell, where there are two possible types of "command".

・まず、この評価(Evaluation)セルの7レ
イは計算を開始する前に、多項式f (x)の係数を各
セルにロードしなければいけないから“1oad”なる
コマンドが必要トなる。なお、この“1oad″には、
どのセルにデータをロードするかを知らせる為に、ロー
ドするセルの番号が含まれる必要がある。さらに、デー
タのロードが終了するとともにセルは積和計算を開始で
きるから、その為のコマンド“calc”が必要である
0次に、第18図のセルに必要な機能を示すと第19図
のようになる。
- First, before starting calculation, the coefficients of the polynomial f (x) must be loaded into each cell of the 7 rays of the evaluation cell, so a command "1oad" is required. In addition, this “1oad” includes:
The number of the cell to load must be included to tell which cell to load the data into. Furthermore, since the cell can start the sum-of-products calculation as soon as the data loading is finished, the command "calc" for that purpose is necessary. It becomes like this.

・ここで、各セルはコマンドがl oad”の時には、
必要な係数データをロードし、“calc″の場合には
、Xin、fin及びf。
・Here, when the command is "load" for each cell,
Load the necessary coefficient data, and in the case of "calc", Xin, fin and f.

から(5−14)式の1回の積和計算“fin・x i
n+ f 1”を実行し、結果を転送する。
One-time product-sum calculation of equation (5-14) from “fin・x i
n+f 1” and transfer the result.

Evaluationセル 以上に示したEvaluationセル1つに、(5−
14)式の1回の積和計算を実行させるわけであるから
、を次のf (x)を解く為には、このセルを個を第2
0図のように一次元状に接続しなければいけない、ここ
で、を債の各セルにf t#f、をロードするのにtシ
ンボルサイクル(1シンボルサイクルはデータの入力サ
イクル)、データのロードが終了してα’(j=n−1
、++++、 2 、1 、0)の入力が開始されてか
ら、最初の結果f(α−1)@(αJ) が出力され始
めるまでにtシンボルサイクルの遅延がある。なお、係
数データをロードしている間のxinは意味がない、ま
た、ロード終了後、最初の結果が出力されるまでのtシ
ンボルサイクル間にセルアレイの右端から出力される値
は、意味がない。
In one Evaluation cell shown above, (5-
14) Since we are performing one product-sum calculation of the formula, in order to solve the following f (x), we need to divide this cell into the second
They must be connected in a one-dimensional manner as shown in figure 0.Here, it takes t symbol cycles (one symbol cycle is a data input cycle) to load f t#f into each cell of the bond. After the loading is completed, α'(j=n-1
, +++++, 2, 1, 0) is started and the first result f(α-1)@(αJ) starts to be output. There is a delay of t symbol cycles. Note that xin has no meaning while loading coefficient data, and the value output from the right end of the cell array during the t symbol cycles after loading is completed until the first result is output is meaningless. .

従って、xin−α’  (j= n−1*−−−−*
 2 ml、0)は、ロード終了後から有効な値を入力
する。また、繰返し計算実行中に左端のf inには、
常にfOが入力されつづけなければいけない。
Therefore, xin-α' (j= n-1*----*
2 ml, 0), enter the valid value after loading is completed. Also, during repeated calculations, the leftmost f in
fO must always be input.

又、セルが複数であるので、セルにより1シンボルサイ
クル程ずれて“l oad″が行われる。
Furthermore, since there are a plurality of cells, "load" is performed with a shift of about one symbol cycle depending on the cell.

Evaluationセル ここでは、以上で述べたEvaluationセルの機
能をハードウェア的に実現する専用セルの設計を行う、
この時注意しなければいけないのは、前述したように、
σ(X)(零の項も含めてt次)、ω(X)(零の項も
含めて(1−1)次)、σ’(x)(零の項も含めて(
1−1)次)の計算が全て同じアルゴリズムで解けると
いう事である。従って、第18図の評価(Evalua
tion)セル基本モデルを具体的に設計し、各々の多
項式の為のセルアレイを構成してもかまわない、しかし
、このEvaluationセルの機能は非常に簡単で
あるから、GCDセルの場合と同様にデータの入出力を
時分割で多重化し、σ(X)、ω(X)。
Evaluation cell Here, we will design a dedicated cell that implements the functions of the evaluation cell described above in terms of hardware.
As mentioned above, you need to be careful at this time.
σ(X) (t order including zero term), ω(X) ((1-1) order including zero term), σ'(x) (including zero term (
1-1) The following calculations can all be solved using the same algorithm. Therefore, the evaluation in Figure 18 (Evalua
tion) It is possible to specifically design a cell basic model and configure a cell array for each polynomial. However, since the function of this Evaluation cell is very simple, data The input and output of σ(X) and ω(X) are multiplexed in a time division manner.

σ°(X)の同一次数における積和計算を1つのセルで
実行できた方が望ましい、なお、こ□のEvaluat
 i onセルは、基本的には係数データを貯えておく
レジスタとGF上の乗加算器のみで構成できるが、さら
に同期用の制御部分と計算結果転送用のレジスタが必要
である0以上を考慮にいれて、GF(28)上のR3符
号を扱うEvaluationセルの具体的設計を行っ
たものが第21図である。また、GCDセルやシンドロ
ームセルの場合と同様に1シンボルサイクル(lシンボ
ルサイクルはコマンドの入力サイクル)内におけるセル
の動作を考えると、その処理の流れが第22図のような
タイミングチャートで表わされる。(ここでも1シンボ
ルサイクルを16の内部サイクルに分割している。)な
お、GF上の乗算器にはGCDセルの場合と同様に“C
e l l u l ar−Arraymultipl
ier”を用いる事を想定している。
It is desirable to be able to perform sum-of-products calculations for the same order of σ°(X) in one cell.
An i on cell can basically consist of only a register for storing coefficient data and a multiplier/adder on the GF, but it also requires a control part for synchronization and a register for transferring calculation results. FIG. 21 shows a concrete design of the evaluation cell that handles the R3 code on GF(28). Also, as in the case of GCD cells and syndrome cells, if we consider the operation of a cell within one symbol cycle (l symbol cycle is a command input cycle), the flow of processing can be expressed in a timing chart as shown in Figure 22. . (Here, too, one symbol cycle is divided into 16 internal cycles.) Note that the multiplier on the GF has “C” as in the case of the GCD cell.
e l l u l ar-Arraymultipl
ier" is assumed to be used.

・σ(X)、ω(X)、σ°(X)の同一次数における
積和計算を同一のセルで実行させる為に、第18図にお
けるf in 、 outを3つの多項式の係数データ
の為に共有させている。
・In order to perform product-sum calculations of the same order of σ(X), ω(X), and σ°(X) in the same cell, change f in and out in Figure 18 to the coefficient data of the three polynomials. I am sharing it with you.

(各々cr (x) in、 out 、 (1) (
X) in、 out 。
(respectively cr (x) in, out, (1) (
X) in, out.

σ’(x) in、 out s ) ・“commana”以外のデータは、CF(28)上
のベクトル表現されたシンボル(8ビツトパラレル)ど
して扱う・ ・第18図に示した、係数データflを貯えておくレジ
スタを3つの多項式の係数データの為に、3つ用意して
いる。(各々σi・ωi・σ“i) ・入出力の多重化にあわせて、入出力データを貯えてお
くレジスタをFIFOで構成し、各多項式の為の積和計
算を1つGF上の乗算器で効率良く行う。
σ'(x) in, out s ) ・Data other than “commana” is handled as vector-expressed symbols (8-bit parallel) on CF (28) ・Coefficient data shown in Figure 18 Three registers for storing fl are prepared for the coefficient data of the three polynomials. (Respectively σi, ωi, σ“i) ・In line with input/output multiplexing, registers for storing input/output data are configured with FIFO, and one multiplier on the GF performs product-sum calculation for each polynomial. Do it efficiently.

・GF(2B)上の任意のR3符号の復号に利用できる
ように、そのセルが割当てられる次数を外部からの“5
elect”で入力できる。
・In order to use it for decoding any R3 code on GF(2B), the degree to which the cell is assigned is set to “5” from outside.
You can input with "elect".

・各セルは、同期信号“5YNC″と基準のクロック″
CLOCK” (内部サイクルに相当)のみによって制
御される。
・Each cell has a synchronization signal “5YNC” and a reference clock”
CLOCK” (corresponds to an internal cycle).

なお、第21図における“C0NTR0LL”部分はマ
イクロプログラムROMで実現すればよい、また、具体
的な“c o m m a n d”はセルの扱う次数
で十分であり、これは比較器を用いて判定できる。−(
二command=0″→“calc” 、”comm
and#0”→“ l  o  ad  (Ce  l
  1#)第19図について説明する。ステップlにお
い“1oad”の場合は、”1oad”信号の次に来る
セレクト信号から所定ナンバのセルを選択(ステップ2
)し、ステップ3においてfi=finとしステップ4
で出力する。
Note that the "C0NTR0LL" part in FIG. 21 can be realized by a microprogram ROM, and the specific "command" can be realized by the order handled by the cell, which can be realized by using a comparator. It can be determined by −(
2command=0"→"calc","comm
and#0"→" lo ad (Ce l
1#) Fig. 19 will be explained. In the case of "1 oad" in step l, a cell with a predetermined number is selected from the select signal that comes after the "1 oad" signal (step 2
), set fi=fin in step 3, and step 4
Output with .

ステップlでnoの場合、つまりコマンドが計算(c 
a l c)の場合、ステップ5でfout=fin@
xin+fiを行い、ステップ6に進み出力する。
If no in step l, that is, the command calculates (c
a l c), in step 5 fout=fin@
Perform xin+fi and proceed to step 6 to output.

なおステップ5の演算は第21図のセルラーアレイマル
チプライアにおいて行われる。なお、第22図は上述し
たように、lシンボルサイクルを16クロツクに分割し
た詳細説明図である。
Note that the calculation in step 5 is performed in the cellular array multiplier shown in FIG. As mentioned above, FIG. 22 is a detailed explanatory diagram in which the l symbol cycle is divided into 16 clocks.

乞」LL3」1處 以上テ、R3(リードソロモン)符号の復号の3ステツ
プを実行する為のシストリック・アルゴリズムを検討し
、各々をハードウェア的に実現する専mセル“GCDセ
ル”、“シンドロームセル”、“Evaluation
セル”を設計したが、これらを用いて実際に復号器シス
テムを構成すると第23図のような一次元セルアレイと
なる。
We have studied the systolic algorithm for executing the three steps of decoding the R3 (Reed-Solomon) code in more than one place, and developed a dedicated m-cell ``GCD cell'' that implements each step in hardware. Syndrome Cell”, “Evaluation”
When a decoder system is actually constructed using these cells, it becomes a one-dimensional cell array as shown in FIG.

(GF (28)上で定義された。符号長n=28−1
、誤り訂正能力t(任意)の符号を扱い、受信シンボル
rn−1、−−−、TI 、roは、この順で入力され
るとする。) ここで、Evaluat 1on−t=ニル(t −1
)の出力f outが、エラーパターン計算とゲート機
能を実現する為の回路“ErrorPatern  g
enerate  &GATE”に入力されている。(
この部分は、個別のTTL等で構成する。)これは、σ
(X)の計算にはt個のEvaIuationセルが必
要であるのに対し、σ’(X)、ω(x)の計算には(
t−1)個だけのEvaluatiOnセルが必要で、
#tのEvaluat ionセルがcr (x) ノ
を次の積和計算を行っている間に、この回路で(2−5
0)式の計算“−ω(X)・σ’(X)−’”を行えば
よい車を意味する。
(Defined on GF (28). Code length n = 28-1
, error correction capability t (arbitrary), and the received symbols rn-1, ---, TI, ro are input in this order. ) Here, Evaluat 1on-t=nil(t-1
) output is the circuit “ErrorPattern g” for realizing error pattern calculation and gate function.
"enerate &GATE" is input. (
This part is composed of individual TTL and the like. ) This is σ
Calculation of (X) requires t EvaIuation cells, while calculation of σ'(X) and ω(x) requires (
Only t-1) EvaluationOn cells are required,
While #t's Evaluation cell is performing the next product-sum calculation for cr (x), this circuit calculates (2-5
0) means a car that only needs to be calculated by the formula "-ω(X)・σ'(X)-'".

なお、シンドロームセルアレイの左端に入力される受信
シンボル(rn−11−−−1r I  + r6 )
は、同時にこの順でバッファ・メモリーに貯えられる。
Note that the received symbol (rn-11--1r I + r6) input to the left end of the syndrome cell array
are simultaneously stored in the buffer memory in this order.

また、これらはEvaluat i onセル#tから
σ(6号)・(α’)(j=n−1゜−−−,1,0)
が出力され始めると、この順で逐次出力される。この時
、“σ(α−i)・ (αj)t=0”であれば、復号
法の項で説明したように、よりrjに誤り −(ω(α−j)・ (αj)t−+)  ・ (σ°
(α〜J)・(αj )t−+ )  −r =−ω(α−j)・σ°(α−j) ’      (
5−18)が生じている事になるから、ゲートを開いて
rjにこの計算値を加えてやれば訂正が行える。
Also, these are σ(No. 6)・(α')(j=n-1゜---,1,0) from Evaluation cell #t
When it starts to be output, it will be output one after another in this order. At this time, if “σ(α−i)・(αj)t=0”, as explained in the section of the decoding method, there is more error in rj−(ω(α−j)・(αj)t− +) ・ (σ°
(α~J)・(αj)t−+) −r=−ω(α−j)・σ°(α−j)' (
5-18) has occurred, so the correction can be made by opening the gate and adding this calculated value to rj.

次にこのシステムの特徴は、各セルが内部16サイクル
からなるlシンボルサイクルで同期して動作し、復号処
理が全てパイプライン化できるという点である。ここで
、各セルアレイの間に若干のインターフェース(個別の
TTL等で構成する)が必要であるが、全体の制御は、
基本的には各セルを制御する“5YNC”と“CLOC
K”だけで制御可能である。また、インターフェースの
構成によって復号処理にかかる遅延時間(シンドローム
セルアレイの左端にrn−1が入力されてから、Eva
luat f on (評価)セル#tからσ(α−j
)・(αj)t(j=n−1)が出力され、rn−1の
訂正が可能となるまでの時間)が変化するが、セルアレ
イ自体での遅延は、N+2t+2 (2t+1)+2t
=N+8t+2(シンボルサイクル)        
   (5−17)である、なお、各インターフェース
に必要な機能を簡単に述べると以下のようになる。
Another feature of this system is that each cell operates synchronously in l symbol cycles consisting of 16 internal cycles, and all decoding processing can be pipelined. Here, some interfaces (consisting of individual TTLs, etc.) are required between each cell array, but the overall control is as follows:
Basically, “5YNC” and “CLOC” control each cell.
In addition, depending on the interface configuration, the delay time required for the decoding process (after rn-1 is input to the left end of the syndrome cell array,
luat f on (evaluation) From cell #t σ(α−j
)・(αj)t(j=n-1) is output and the time from when rn-1 can be corrected) changes, but the delay in the cell array itself is N+2t+2 (2t+1)+2t
=N+8t+2 (symbol cycle)
(5-17).The functions required for each interface are briefly described below.

争シンドローム→GCD;#(2t−1)のシンドロー
ムセルからの出力”commandout”からシンド
ロームの始めと終りを判断し、“y out”からの出
力をもとに#OのGCDセルへ渡すデータ“S t a
 r t in”。
Conflict syndrome → GCD; Determine the beginning and end of the syndrome from the output "commandout" from the syndrome cell #(2t-1), and pass the data to the GCD cell #O based on the output from "y out". Sta
r t in”.

“varin”、d e g in″を時分割で生成す
る。
“varin” and de g in” are generated in a time-sharing manner.

eGcD+Evaluat 1onH#2tのG CD
 セJl/からの出力“s t a r t out 
”から、ω(X)の出力開始を判断し、“degout
”からσ(X)、ω(x)の選択を行って、#OのEv
aluat i′on (評価)セルへ渡すデータ“c
ommandin”。
eGcD+Evaluat 1onH#2t G CD
output from
”, the start of output of ω(X) is determined, and “degout
”, select σ(X) and ω(x), and calculate the Ev of #O.
aluat i'on (evaluation) Data to be passed to the cell "c"
ommandin”.

“fin”を時分割で生成する。また同時に、GF  
data  TABLE (テーブル)(ROM)にx
inを要求する。
“fin” is generated in a time-division manner. At the same time, GF
x in data TABLE (ROM)
Request in.

なお、連続した復号処理を行う為には、Evaluat
ion(評価)セルでの無駄なシンボルサイクル(係数
データのロードが終了してから、最初のσ(α−j)・
(αj)”(jan−1、−−−)の出力が開始される
までのtシンボルサイクル)における訂正処理を無視す
ればよい。
In addition, in order to perform continuous decoding processing, Evaluat
ion (evaluation) cell (the first σ(α−j)
(αj)” (t symbol cycles until the output of jan-1, ---) starts) can be ignored.

又、シンドロームセルの構成の項で述べたように、ここ
では受信シンボル力r n−1、−−−。
Also, as described in the section on the configuration of the syndrome cell, here the received symbol power r n-1, ---.

rl+roの順でシンドロームセルに入力され、訂正も
この順で行うから、最後のrt−1、−−−。
Since rl+ro are input to the syndrome cell in this order, and corrections are made in this order, the last rt-1, ---.

rl+roの訂正処理が無視される事になるが、この部
分は符号化の項にお諭て′示したように検査シンボル部
分であるから間、題ない、)ここでは、以上で述べた各
種シストリックアルゴリズムとセル、ならびにそれらを
用いて構成するR3符号の復号器システムに対する評価
を行う。
The correction processing of rl+ro will be ignored, but this part is a check symbol part as explained in the encoding section, so there is no problem here. We evaluate trick algorithms, cells, and an R3 code decoder system constructed using them.

まず、前節までに示したCF(2”)上のR3符号を扱
う3つのセル”GCDセル”、′シンドel −ム−t
’ AI”、”Evaluationセル”の実現性を
評価する為に、各々の構成に必要なゲート数や制御用の
水平マイクロプログラムROMの容量、I10ピン数等
を第2表にまとめてみる。
First, the three cells "GCD cell" that handle the R3 code on CF (2") shown in the previous section, 'sindoel-mu-t
In order to evaluate the feasibility of 'AI' and 'Evaluation Cell', the number of gates required for each configuration, the capacity of the horizontal microprogram ROM for control, the number of I10 pins, etc. are summarized in Table 2.

臘W處蝮 □ これらは、いずれも十分lチップのLSI化が可能な規
模である。このよ1うに、各セルの規模が比較的簡単に
なったのは、GF上のシンボルをベクトル表現された8
ビツトパラレルのデータとして扱い、乗算器に“Ce1
lular−Array  multiplier”を
用いるとともに、各セルの内部処理をパイプライン化し
ている為である。(加算はビット毎の排他的論理和で実
現)な、お、各々の具体的構成を示した第16図、第6
図、第21図には表わさなかったが、動作の、開始時に
同期回路やFIFO初期設定回路が実際には必要となる
。第2表にはこれらの分も含まれている。
臘W處蝮□ All of these are large enough to be made into an LSI of 1 chip. The reason why the scale of each cell has become relatively simple in this way is that the symbols on the GF are expressed as vectors.
It is treated as bit-parallel data, and the multiplier is
This is because the internal processing of each cell is pipelined and the internal processing of each cell is pipelined. (Addition is realized by bit-wise exclusive OR). Figure 16, 6th
Although not shown in FIG. 21, a synchronization circuit and a FIFO initialization circuit are actually required at the start of operation. Table 2 also includes these items.

次に、処理速度の面から評価を行う、各セルは、各々内
部16サイクルからなる1シンボルサイクルで同期して
動作すると考えた(第17図、第7図、第22図参照)
が、それらの中で最も処理時間が大きいのは、“GCD
セル”であると思われる。この処理時間は、実際のセル
の作成の仕方により変化するが、例えば5(Shott
ky)タイプのTTI、相当のセルを構成したとすると
、その内部1サイクルは最高“50(ns)程度”にな
ると思われる。
Next, we evaluated the processing speed by considering that each cell operates synchronously in one symbol cycle, each consisting of 16 internal cycles (see Figures 17, 7, and 22).
However, among them, the one with the longest processing time is “GCD
This processing time varies depending on how the cell is actually created, but for example, 5 (Shot
ky) type TTI, one internal cycle would be approximately 50 (ns) at most.

(ROMはバイポーラROMを想定)その場合、lシン
ボルサイクルが“800(ns)”となるから第23図
の復号器システムにおけるデータ転送速度(冗長データ
も含める)が“IOMBPS(Mega  Bi t 
 Per  5econd)”になる。
(The ROM is assumed to be a bipolar ROM.) In that case, the l symbol cycle is "800 (ns)", so the data transfer rate (including redundant data) in the decoder system shown in Fig. 23 is "IOMBPS (Mega Bit ROM)".
Per 5econd)".

なお、第23図の復号器システムは、GF(2日)土の
符号長n=28−1.誤り訂正能力t(任意)のR3符
号を扱うが、その特徴は、復号処理が簡単な制御だけで
パイプライン化され、またそのシステムの構成に必要な
セルの数が、誤り訂正能力tのみによって決まる事であ
った。
Note that the decoder system in FIG. 23 has a code length n=28-1. It deals with R3 codes with an error correction capacity t (arbitrary), but its characteristics are that the decoding process is pipelined with simple control, and that the number of cells required for the system configuration is reduced only by the error correction capacity t. It was decided.

しかし、処理速度があまり問題とならない場合には、こ
れらのセル(GCD:2t+1個、シンドo−ム:2を
個、Evaluat fan: を個)を全部使用する
必要はなく、バッファ・メモリー等を利用するなどして
同じセルを繰返し使用してやれば、少ないセルすなわち
低価格で復号器システムを構成できる。また今回設計し
た各セルは、GF (28)上のR5符号であれば短縮
された符号に対してもそのまま利用できる。(必要なセ
ルの個数がtのみによって決まる為)さらに、システム
構成の説明では連続した復号を行う場合に、検査シンボ
ル部分(符号化の項参照)の訂正を無視すればよいとし
たが、#0のEvaluationセルに入力する為の
Xinを”GF  data  TABLE(ROM)
”に要求する順を変えれば、受信語中の任意のシンボル
の訂正を行える。
However, if processing speed is not so much of an issue, it is not necessary to use all of these cells (GCD: 2t+1, syndrome: 2, Evaluat fan: 2), and the buffer memory etc. If the same cells are used repeatedly, it is possible to construct a decoder system with fewer cells and therefore at a lower cost. Furthermore, each cell designed this time can be used as is for a shortened code as long as it is an R5 code on GF (28). (Because the number of required cells is determined only by t) Furthermore, in the explanation of the system configuration, when performing continuous decoding, correction of the check symbol part (see the section on encoding) can be ignored, but # Xin to be input into the Evaluation cell of 0 is “GF data TABLE (ROM)”
” by changing the order in which they are requested, it is possible to correct any symbol in the received word.

本発明では、R3符号の復号器の構成とその為のアルゴ
リズムについて、2つのアプローチから検討を加えた。
In the present invention, the configuration of the R3 code decoder and the algorithm therefor were studied from two approaches.

まず、第1のアプローチでは1通常のTTDとROMで
実現できる高速でなるべく簡単な構成の復号器として、
光磁気ディスク用の復号器の設計、製作を行った。その
際、簡単なGF(2’)上の拡大R3符号を2つ組合せ
た積符号構成を採用し、各段の復号器を簡単なものとす
ると同時に消失訂正を含めた各段の復号に対して直接復
号法を拡張し、応用できた結果高速な復号が可能になっ
た。この復号器の、冗長なデータを含めたデータ転送速
度はIOMBPSに相当する。
First, in the first approach, a decoder with a high speed and as simple configuration as possible that can be realized with a normal TTD and ROM is used.
We designed and manufactured a decoder for magneto-optical disks. At that time, we adopted a product code configuration that combines two extended R3 codes on a simple GF(2') to simplify the decoder at each stage, and at the same time to simplify the decoding at each stage including erasure correction. As a result of extending and applying the direct decoding method, high-speed decoding became possible. The data transfer rate of this decoder including redundant data corresponds to IOM BPS.

また、1段目(C2)の復号において2重誤り訂正、2
段目(C2)の復号においては単−誤り訂正の他に、2
重、3重消失訂正まで行う事により、10−3程度のピ
ットエラーレートをIQ−12程度まで改善する、高い
誤り訂正能力を実現できた。なお、この復号器はLSタ
イプのTTLとバイポーラROM、スタティックRAM
を用いて実現した十分実用的なものである。(このアプ
ローチにおける今後の問題としては、消失訂正に対して
直接復号法を応用した復号器を実現する際に、ROM数
の削減方法を検討して復号器システムのLSI化を可能
にすることがあげられる。)次に第2のアプローチでは
将来のVLS I化を想定し、VLS Iの特質を生か
した復号器構成として、シストリック・アルゴリズムの
応用を考えた。その際、拡張GCD問題やDFTを解く
為に提案されていたアルゴリズムを実際にRS符号の復
号器に適用する為に改良し、シンドローム計算、誤り位
置多項式と誤り評価多項式の導出、誤り位置と値の推定
といった復号の3ステツプを実行するシストリック・ア
ルゴリズムを検討した。また、GF (28)上の任意
のRS符号(短縮符号でも可)を扱うことを想定して、
各々のシストリックΦアルゴリズムをハードウェア的に
実現する専用セルの設計を行ったが、その設計に際して
内部処理をパイプライン化することにより、各セルの構
成を簡単なものにすることができ、それらのセルのゲー
ト数、I10ビン数が、十分lチップLSI化可能な規
模であることを確かめられた。さらに、それらのセルを
一次元状に並べたセルアレイとして復号器システムを構
成してデータを一方向に送ると、簡単な制御だけで復号
処理を全てパイプライン化できることを示した。なお、
その際に必要となるセルの数は、扱う符号の誤り訂正能
力の大きさによって任意に決まるが、処理速度が問題と
ならない場合には、バッファ・メモリーを利用して少数
のセルを繰返し使用すれば、経済的な復号器システムの
構成を期待できる。なお、ある程度の汎用性を持たせて
GF (28)上のR5符号以外にも適用できるように
する為に、セル構成の一部をソフトウェア化するなどし
て柔、軟なシステム構成にしても良いことは言うまでも
ない。
In addition, in the first stage (C2) decoding, double error correction,
In the decoding stage (C2), in addition to single error correction, two
By performing double and triple erasure correction, it was possible to achieve a high error correction ability that improved the pit error rate from about 10-3 to about IQ-12. This decoder uses LS type TTL, bipolar ROM, and static RAM.
This is a sufficiently practical design that was realized using . (A future problem with this approach is that when realizing a decoder that applies the direct decoding method to erasure correction, it will be possible to consider ways to reduce the number of ROMs and make it possible to implement the decoder system into an LSI.) ) Next, in the second approach, we considered the application of the systolic algorithm as a decoder configuration that takes advantage of the characteristics of VLSI, assuming the future introduction of VLSI. At that time, we improved the algorithms proposed for solving the extended GCD problem and DFT in order to actually apply them to RS code decoders, and performed syndrome calculations, derivation of error locator polynomials and error evaluation polynomials, error locators and values. We considered a systolic algorithm that performs three steps of decoding, such as estimating . Also, assuming that any RS code (shortened code is also possible) on GF (28) is handled,
We designed a dedicated cell to implement each systolic Φ algorithm in hardware, but by pipelining the internal processing, we were able to simplify the configuration of each cell. It was confirmed that the number of cell gates and the number of I10 bins were large enough to be integrated into a 1-chip LSI. Furthermore, we showed that by configuring a decoder system as a one-dimensional cell array and sending data in one direction, the entire decoding process can be pipelined with simple control. In addition,
The number of cells required in this case is determined arbitrarily depending on the error correction ability of the code being handled, but if processing speed is not an issue, a small number of cells can be used repeatedly using a buffer memory. For example, an economical decoder system configuration can be expected. In addition, in order to have a certain degree of versatility and be able to apply it to codes other than R5 on GF (28), it is possible to create a flexible system configuration by converting part of the cell configuration into software. Needless to say, it's a good thing.

なお、前述の第2図における完全並列処理(ヒストグラ
ムセル107)は、単純な構成の要素プロセッサ(PE
)を行列状に配列したもので、完全並列処理によるヒス
トグラム計算は、公知であるが、その手法によって画情
のとストダラムを求め、次にそのヒストグラムから所要
の信号空間にROM等によって変換する過程においてベ
クトル変換がなされる。なお1本願発明で説明したシス
トリック・アルゴリズムとは目的とする結果に対して同
一動作の繰り返しによって、その結果が得られるように
したアルゴリズムのことである。
Note that the fully parallel processing (histogram cell 107) in FIG.
) are arranged in a matrix, and histogram calculation using fully parallel processing is well known, but it is a process in which the image density and the density are determined using this method, and then the histogram is converted into the required signal space using a ROM, etc. A vector transformation is performed at . The systolic algorithm described in the present invention is an algorithm in which a desired result is obtained by repeating the same operation.

〔効 果〕〔effect〕

以上、詳述したように本願発明により従来の通信路にお
ける信号対・理のアルゴリズムを並列処理に適したアル
ゴリズムに変形し、並列馬連器を用いることにより、゛
従来の欠点を除去し、高能率の誤り打手が可能な信号処
理装置を提供することが以上説明したように、バールカ
ンプ・マッセイの方式にシストリック−アルゴリズムの
考え方を応用し、シンドローム生成部を専用セル化した
復号器を構成する場合、シンドロームセルを符号の能力
に応じて必要個数だけ一次元状に並べてやることにより
、シンドローム生成の処理を全てパイプライン化する事
ができる。また、セルの制御は基準のクロックと同期信
号のみで済むという効果がある。
As described in detail above, the present invention transforms the conventional algorithm for signal pairing and logic in communication channels into an algorithm suitable for parallel processing, and uses a parallel parallel processor to eliminate the drawbacks of the conventional system and achieve high efficiency. As explained above, it is possible to provide a signal processing device that is capable of making errors, when applying the idea of the systolic algorithm to the Bahrkamp-Massey method and configuring a decoder in which the syndrome generation section is made into a dedicated cell. By arranging the necessary number of syndrome cells in a one-dimensional manner according to the code capability, the entire syndrome generation process can be pipelined. Another advantage is that cell control requires only a reference clock and a synchronization signal.

このよ与に復号処理をパイプライン化することにより;
各ステップを実行するセルアレイ間に若干のインターフ
ェースが必要ではあるが、全体の制御は基準クロックと
同期信号のみで済むという効果がある。
By pipelining the decoding process in this way;
Although some interfaces are required between the cell arrays that execute each step, the overall control has the advantage of requiring only a reference clock and synchronization signals.

また、全てのセルが同じシンボルサイクルで同期して動
作しlシンボルサイクルは最高800nsが可能である
ので、CF (2r)上の符号を考えた場合、データ転
送速度は104BPSが可能である。
Furthermore, all the cells operate synchronously in the same symbol cycle, and the l symbol cycle can be up to 800 ns, so when considering the code on CF (2r), the data transfer rate can be 104 BPS.

また、各ステップは同一セルによって構成されているの
で、LSI化に適している。
Furthermore, since each step is composed of the same cell, it is suitable for LSI implementation.

また、同一セルの個数を増やすだけで訂正能力が増大す
るので、多量誤り訂正に適しているという効果がある。
Furthermore, since the correction capability increases simply by increasing the number of identical cells, it has the effect of being suitable for mass error correction.

以上説明したように、バーレカンプ・マッセイの方5式
にシストリック・アルゴリズムの考え方を応用し、00
0部を専用セル化した復号器を構成する場合、GCDセ
ルを符号の能力に応じて必要個数だけ一次元状に並べて
やることにより、誤り位置多項式、誤り評価多項式の導
出処理を全てパイプライン化する事ができる。また、セ
ルの制御は基準のクロックと同期信号のみで済むという
効果がある。
As explained above, by applying the idea of the systolic algorithm to the Berlekamp-Massey formula 5,
When configuring a decoder in which the 0 part is made into a dedicated cell, by arranging the necessary number of GCD cells in one dimension according to the code capability, the process for deriving the error locator polynomial and error evaluation polynomial can all be pipelined. I can do that. Another advantage is that cell control requires only a reference clock and a synchronization signal.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は符号化通信システムのモデルを示すブロック図
、 第2図は並列処理器による並列処理を行うブロック図、 第3図はシンドロームセルの1つを示すブロック図、 第4図はコマンドのcafe’ を説明するフローチャ
ート、 第5図は複数のシンドロームセルの接続を示すブロック
図、 第6図はシンドロームセルの構成を示すブロック図、 第7図はシンドロームセル(S+ )のタイミングチャ
ート、 第8図は各シンドロームセルのモードのタイミングを示
す図、 第9図は拡張GCD問題によるσ(寡)とω(X)の導
出のフローチャート、 第10図はGCDセルの概念モデルを示す図、第11図
はGCDセルの基本モデルを示す図、第12図はGCD
セルの基本モデル全体の処理フローチャート、 第13図はGCDセルの基本モデルのセットステートモ
ード処理フローチャート、 第14図はGCDセルの計算(cafe)モードの処理
フローチャート、 第15図はGCDの具体的設計を行った場合のブロック
図。 第16図はGCDセルの具体的構成を示す詳細ブロック
図。 第17図はGCDセルの1シンボルサイクル内のタイミ
ングチャート、 第18図は評価セルの基本モデルを示すブロック図、 第19図は評価セルの基本モデルの機能処理を示すフロ
ーチャート。 第20図は評価セルを接続した場合のブロック図、 第21図は評価セルの構成を示すブロック図、第22図
は評価セルのタイミングチャート、第23図はシストリ
ックアルゴリズムに基づくRS符号の復号器システムの
構成を示す図。 OlOはセルラーアレイマルチプライアOはステートジ
ェネレート OlOはコントロール 103は通信路 112はシンドロームセル 111はGCDセル
Figure 1 is a block diagram showing a model of a coded communication system, Figure 2 is a block diagram showing parallel processing by a parallel processor, Figure 3 is a block diagram showing one of the syndrome cells, and Figure 4 is a block diagram of a command. FIG. 5 is a block diagram showing the connection of multiple syndrome cells. FIG. 6 is a block diagram showing the configuration of the syndrome cell. FIG. 7 is a timing chart of the syndrome cell (S+). Figure 9 shows the mode timing of each syndrome cell, Figure 9 is a flowchart for deriving σ (lack) and ω (X) by the extended GCD problem, Figure 10 shows the conceptual model of the GCD cell, Figure 11 The figure shows the basic model of the GCD cell, and Figure 12 shows the GCD cell.
Figure 13 is the set state mode processing flowchart of the basic model of the GCD cell. Figure 14 is the processing flowchart of the GCD cell calculation (cafe) mode. Figure 15 is the specific design of the GCD. Block diagram when performing. FIG. 16 is a detailed block diagram showing the specific configuration of the GCD cell. FIG. 17 is a timing chart within one symbol cycle of a GCD cell, FIG. 18 is a block diagram showing a basic model of an evaluation cell, and FIG. 19 is a flowchart showing functional processing of the basic model of an evaluation cell. Fig. 20 is a block diagram when evaluation cells are connected, Fig. 21 is a block diagram showing the configuration of the evaluation cell, Fig. 22 is a timing chart of the evaluation cell, and Fig. 23 is RS code decoding based on the systolic algorithm. FIG. OlO is a cellular array multiplier O is a state generator OlO is a control 103 is a communication path 112 is a syndrome cell 111 is a GCD cell

Claims (1)

【特許請求の範囲】 情報源からの情報を符号化する符号化手段、上記符号化
手段によって、符号化されたデータを伝送するための通
信路、 上記通信路によって伝送された上記符号化データを復号
化するための復号化手段を有し、上記復号化手段は(1
)シンドロームの計算、(2)誤り位置多項式、誤り評
価多項式の導出、(3)誤り位置、誤りの大きさの評価
及び訂正の実行の3つのステップにより復号化を行うこ
とを特徴とする信号処理装置。
[Claims] Encoding means for encoding information from an information source; a communication channel for transmitting encoded data by the encoding means; and a communication channel for transmitting the encoded data transmitted by the communication channel. It has a decoding means for decoding, and the decoding means has (1
) Syndrome calculation, (2) Derivation of error position polynomial and error evaluation polynomial, (3) Evaluation of error position and error magnitude, and execution of correction. Device.
JP60057051A 1985-03-21 1985-03-21 Signal processor Pending JPS61216044A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP60057051A JPS61216044A (en) 1985-03-21 1985-03-21 Signal processor
US06/841,771 US4747103A (en) 1985-03-21 1986-03-20 Signal processing apparatus for correcting decoding errors

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60057051A JPS61216044A (en) 1985-03-21 1985-03-21 Signal processor

Publications (1)

Publication Number Publication Date
JPS61216044A true JPS61216044A (en) 1986-09-25

Family

ID=13044645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60057051A Pending JPS61216044A (en) 1985-03-21 1985-03-21 Signal processor

Country Status (1)

Country Link
JP (1) JPS61216044A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63317837A (en) * 1987-10-09 1988-12-26 Sanyo Electric Co Ltd Data processor
JPS63318819A (en) * 1987-06-22 1988-12-27 Sony Corp Decoding device for reed-solomon code
JPS641332A (en) * 1987-06-23 1989-01-05 Sony Corp Method for decoding reed-solomon code
JPH02500319A (en) * 1987-05-15 1990-02-01 クウォンタム コーポレイション Data correction method and device
JPH0637646A (en) * 1992-02-17 1994-02-10 Mitsubishi Electric Corp Error correction system and decoder using the same

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02500319A (en) * 1987-05-15 1990-02-01 クウォンタム コーポレイション Data correction method and device
JPS63318819A (en) * 1987-06-22 1988-12-27 Sony Corp Decoding device for reed-solomon code
JPS641332A (en) * 1987-06-23 1989-01-05 Sony Corp Method for decoding reed-solomon code
JPS63317837A (en) * 1987-10-09 1988-12-26 Sanyo Electric Co Ltd Data processor
JPH0637646A (en) * 1992-02-17 1994-02-10 Mitsubishi Electric Corp Error correction system and decoder using the same

Similar Documents

Publication Publication Date Title
US4747103A (en) Signal processing apparatus for correcting decoding errors
US4649541A (en) Reed-Solomon decoder
Lee High-speed VLSI architecture for parallel Reed-Solomon decoder
US5517509A (en) Decoder for decoding ECC using Euclid&#39;s algorithm
KR20110010771A (en) Implementation of arbitrary galois field arithmetic on a programmable processor
JP5978382B2 (en) Parallel encoding of non-binary linear block codes
JPH0452556B2 (en)
WO2004001701A1 (en) Code calculating device
JPH07202715A (en) Time domain algebra encoder / decoder
KR100322739B1 (en) Finite Field Computation Method and Its Apparatus
EP2309650B1 (en) A systematic encoder with arbitrary parity positions
US6263471B1 (en) Method and apparatus for decoding an error correction code
JPS61277231A (en) Transmission of information for correction of error burst and encoder/decoder using this method
JPS61216044A (en) Signal processor
EP1102406A2 (en) Apparatus and method for decoding digital data
Zhang et al. Ultra-compressed three-error-correcting BCH decoder
JPS61216041A (en) Signal processor
WO2006120691A1 (en) Galois field arithmetic unit for error detection and correction in processors
JPH0476540B2 (en)
KR100893695B1 (en) Architecture of fast-serial finite field multiplier
WO1991020028A1 (en) Universal galois field multiplier
Lee et al. Algebraic decoding of the (73, 37, 13) quadratic residue code
JPS61216045A (en) Signal processor
JPS61216042A (en) Signal processor
JP2963018B2 (en) Reed-Solomon error correction code decoding circuit