KR100192790B1 - Device for calculating coefficient of error-evaluator polynominal in a rs decoder - Google Patents
Device for calculating coefficient of error-evaluator polynominal in a rs decoder Download PDFInfo
- Publication number
- KR100192790B1 KR100192790B1 KR1019960005444A KR19960005444A KR100192790B1 KR 100192790 B1 KR100192790 B1 KR 100192790B1 KR 1019960005444 A KR1019960005444 A KR 1019960005444A KR 19960005444 A KR19960005444 A KR 19960005444A KR 100192790 B1 KR100192790 B1 KR 100192790B1
- Authority
- KR
- South Korea
- Prior art keywords
- coefficient
- polynomial
- input
- error
- clk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000011156 evaluation Methods 0.000 claims abstract description 50
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 27
- 238000004364 calculation method Methods 0.000 claims abstract description 17
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000000034 method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 101150018075 sel-2 gene Proteins 0.000 description 5
- 125000004122 cyclic group Chemical group 0.000 description 4
- 230000009897 systematic effect Effects 0.000 description 2
- 235000014676 Phragmites communis Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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
- H03M13/1545—Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6502—Reduction of hardware complexity or efficient processing
Landscapes
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Algebra (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
본 발명은 리드 솔로몬 복호기에서의 에러 평가 다항식의 계수 계산장치에 관한 것으로, 외부로부터 입력된 신드롬 다항식의 계수(Si)와 에러 위치 다항식의 계수(σi)를 곱하여 출력하는 갈로아체 곱셈기(10)와; 상기 갈로아체 곱셈기(10)에서 출력된 값과 중간값을 더하여 출력하는 갈로아체 덧셈기(20); 상기 갈로아체 덧셈기(20)에서 출력된 값 또는 외부로부터 입력된 에러 위치 다항식의 계수(σi)를 선택적으로 출력하는 다중화기(30) 및; 상기 다중화기(30)에서 출력된 값을 시프트시켜 중간값으로서 상기 갈로아체 덧셈기(20)에 입력함과 더불어 에러 평가 다항식의 계수(Ωi)로서 출력하는 시프트 레지스터부(40)를 포함하여 구성되어, 에러 평가 다항식의 계수 계산장치가 다중화기 및 역다중화기를 사용하지 않고 구현됨에 따라 로컬 루틴(local routing)으로 구현되므로 초 대규모 집적회로(VLSI)로 구현하기 용이한 것이다.The invention leads to about the error evaluation coefficient calculation of the polynomial apparatus in Solomon decoder, Galois field multiplier for the output by multiplying the coefficients (σ i) of the coefficients of the syndrome polynomial from the outside (S i) and the error locator polynomial (10 )Wow; A galloise adder 20 for adding and outputting a value output from the galloise multiplier 10 and an intermediate value; A multiplexer (30) for selectively outputting a value output from the galloise adder (20) or a coefficient (σ i ) of an error position polynomial input from the outside; And a shift register section 40 for shifting the value output from the multiplexer 30, inputting it to the galloche adder 20 as an intermediate value, and outputting as a coefficient Ω i of an error evaluation polynomial. Therefore, since the coefficient estimator of the error evaluation polynomial is implemented without using a multiplexer and a demultiplexer, it is easy to implement as a very large integrated circuit (VLSI) because it is implemented by local routing.
Description
제1도는 종래의 에러 평가 다항식의 계수 계산장치의 회로도.1 is a circuit diagram of a coefficient calculating device of a conventional error evaluation polynomial.
제2도는 종래의 에러 평가 다항식의 계수 계산장치의 타이밍도.2 is a timing diagram of a coefficient calculating device of a conventional error evaluation polynomial.
제3도는 본 발명에 따른 에러 평가 다항식의 계수 계산장치의 회로도.3 is a circuit diagram of a coefficient calculation device of an error evaluation polynomial according to the present invention.
제4도는 본 발명에 따른 에러 평가 다항식의 계수 계산장치의 타이밍도이다.4 is a timing diagram of an apparatus for calculating coefficients of an error evaluation polynomial according to the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
10 : 갈로아체 곱셈기 20 : 갈로아체 덧셈기10: Galoache multiplier 20: Galoache adder
30 : 다중화기 40 : 시프트 레지스터부30: multiplexer 40: shift register section
40-1∼40-8 : 레이스터40-1 to 40-8: raster
본 발명은 리드 솔로몬 부호기(Reed solomon encoder : RS encoder)에 의해 에러 정정 부호화(error correcting coding, error control coding : 이하 ECC라 칭함)된 디지털 데이터를 에러 정정 복호화하는 리드 솔로몬 복호기에 관한 것으로, 특히 에러 평가 다항식의 계수를 계산하는 에러 평가 다항식의 계수 계산장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a Reed Solomon decoder that error corrects and decodes digital data subjected to error correcting coding (ECC) by a Reed solomon encoder (RS encoder). An apparatus for calculating coefficients of error polynomials for calculating coefficients of an evaluation polynomial.
일반적으로, 에러 정정 부호화(ECC)는 디지털 데이터를 통신 채널을 통행 전송하거나 저장 매체에 저장시에 발생되는 에러를 검출 정정하기 위해 디지털 데이터를 부호화하는 것으로, 에러를 검출하거나 정정하는데 사용되는 데이터를 부가함으로써, 데이터의 신뢰도를 높이게 되는 것이다.In general, Error Correction Coding (ECC) encodes digital data to detect and correct an error occurring when the digital data is transmitted through a communication channel or stored in a storage medium, and the data used to detect or correct an error may be added. This increases the reliability of the data.
이러한 에러 정정 코드(ECC)의 역사는 1948년 Claude Shannon에서 부터 시작되었다. Claude Shannon은 1948년 모든 통신 채널은 C(bps)라고 하는 고유의 전송 용량을 갖고 있으며 그 용량을 초과하지 않는 전송 속도 R(bps)로 데이터를 전송하는 통신 시스템을 구축하는 것은 에러 정정 부호를 이용하면 어떤 채널이고 가능하다는 것을 증명하였다.The history of this error correction code (ECC) began in 1948 with Claude Shannon. Claude Shannon stated in 1948 that every communication channel had a unique transmission capacity called C (bps), and that an error correction code was used to construct a communication system that transmits data at a transmission rate R (bps) that does not exceed that capacity. Proved to be a channel and possible.
즉, 아주 좋은 성능의 채널을 구현하는 것 보다 다소 성능이 떨어지는 기존 채널을 사용하면서 에러 정정 부호를 사용하는 것이 더 경제적이라는 것이다.In other words, it is more economical to use an error correction code while using an existing channel that is somewhat poorer than implementing a very good channel.
그러나, Claude Shannon은 단지 에러 정정 코드가 존재한다는 것만을 증명하였을 뿐이며 에러 정정 코드를 찾는 방법에 대해서는 언급하지 않았다.However, Claude Shannon only proved that there was an error correction code and did not mention how to find the error correction code.
이에 따라, 에러 정정 코드를 찾기 위한 노력이 현재까지 꾸준히 진행되고 있으며, 이러한 에러 정정 코드는 크게 블록 코드(block code)와 논블록 코드(nonblock code)로 나누어진다.Accordingly, efforts to find an error correction code have been steadily progressed up to now, and the error correction code is largely divided into a block code and a nonblock code.
상기 블록 코드는 정보 시퀀스를 k개의 비트로 이루어진 블록으로 분리한 다음 블록 단위로 에러 정정 부호하며, 상기 논블록 코드는 정보 시퀀스에 전체에 대해 에러 정정 부호화한다.The block code divides the information sequence into blocks of k bits and then error corrects the code in block units. The non-block code encodes the entire information into the information sequence.
상기와 같은 블록 코드의 대표적인 예로는 BCH 코드(Bose and Ray-Chaudhuri and Hocquenghem code)와 리드 솔로몬 코드(RS code)를 들 수 있고, 논블록 코드의 대표적인 예로는 길쌈 부호(convolutional code)를 들 수 있다.Representative examples of such block codes include BCH codes (Bose and Ray-Chaudhuri and Hocquenghem code) and Reed Solomon codes (RS code), and representative examples of non-block codes include convolutional codes. have.
상기 BCH 코드는 사이클릭 코드(cyclic code)로서 갈로아체 GF(2m) 상에서 동작된다.The BCH code is operated on Galoache GF (2 m ) as a cyclic code.
사이클릭 코드란 선형 코드(liner code)의 어떤 선형 벡터를 사이클릭 시프트시키더라도 사이클릭 시프트된 선형 벡터가 상기 선형 코드의 선형 벡터인 선형 코드를 말한다.A cyclic code refers to a linear code in which a cyclic shifted linear vector is a linear vector of the linear code, regardless of cyclic shift of any linear vector of the linear code.
따라서, BCH 코드는 하기 제 1 식과 같이 코드 발생 다항식 g(x)이 정해지면 피드백 시프트 레지스터를 이용하여 코드를 부호화할 수 있다.Therefore, the BCH code can be coded using the feedback shift register when the code generation polynomial g (x) is determined as in the following first equation.
이때, 상기 BCH 코드는 코드 발생 다항식 g(x)이 연속하는 2t개의 근을 가진다면 t개 까지의 에러를 정정할 수 있는 능력을 가진다.In this case, the BCH code has the ability to correct up to t errors if the code generation polynomial g (x) has two consecutive roots of t.
한편, 리드 솔로몬 코드는 상기 BCH 코드의 최적 코드로서 코드 발생 다항식이 상기 제 1 식과 같이 정해지면 t개의 에러를 정정할 수 있다.On the other hand, the Reed Solomon code is an optimal code of the BCH code and can correct t errors if the code generation polynomial is determined as in the first equation.
따라서, 현재 리드 솔로몬 코드는 통신 및 컴퓨터 기억 시스템 등에 폭 넓게 사용될 뿐만 아니라 재밍(jamming)에 대항하기 위한 한 방법으로서 비밀 통신 시스템에서 사용되기도 한다.Thus, Reed Solomon codes are currently used not only widely in communication and computer storage systems, but also in secret communication systems as a way to combat jamming.
이와 같은 상기 리드 솔로몬 코드는 상기 BCH 코드와 마찬가지로 갈로아체 GF(2m) 상에서 동작된다.This Reed Solomon code is operated on Galoache GF (2 m ) like the BCH code.
즉, 상기 갈로아체 GF(2m)는 2m개의 원소를 갖는 수체계(number system)로서, 이러한 수체계를 하드웨어로 구현하게 되면 각 원소들이 모두 m개의 바이너리 디지트(digit)로 표현될 수 있으므로 디지털 구조에 효과적일 뿐만 아니라 오버 플로우(over flow)가 발생하지 않게 되는 것이다.That is, the Galoache GF (2 m ) is a number system having 2 m elements. When the hardware system is implemented in hardware, each element may be represented by m binary digits. Not only is it effective for the digital structure, but no overflow occurs.
상기와 같이 갈로아체 GF(2m) 상의 코드를 가지는 리드 솔로몬 코드는 정보와 패리티(parity)가 섞이지 않는 계통적 코드(systematic code)와 정보와 패리티(parity)가 섞이는 비계통적 코드(nonsystematic code)로 분류된다.Reed Solomon code having a code on Galoache GF (2 m ) as described above is a systematic code that does not mix information and parity, and a nonsystematic code that mixes information and parity. Are classified.
상기 계통적 코드는 정보와 패리티가 섞이지 않도록 우선 정보를 상위 바이트로 이동시킨 다음 에러 정정용 코드를 구하여 더한 것으로, 하기 제 2 식으로부터 구해진다.The systematic code is obtained by first moving the information to an upper byte so as not to mix information and parity, and then obtaining an error correcting code, which is obtained from the following equation.
상기 제 2 식에 있어서, 상기 c(x)는 코드워드 다항식이고, i(x)는 정보 다항식이며, t(x)는 에러 정정용 패리티의 다항식이다.In the second equation, c (x) is a codeword polynomial, i (x) is an information polynomial, and t (x) is a polynomial of error correction parity.
즉, 정보와 패리티를 섞이지 않게 정보 i(x)를차 만큼 상위 바이트로 이동시킨 다음를 만족하는 패리티 t(x)를 구한다.In other words, the information i (x) Shift to the higher byte by the difference Find the parity t (x) that satisfies.
그리고,을 만족하는 패리티 t(x)를 하기 제 3 식으로부터 구할 수 있다.And, The parity t (x) satisfying? Can be obtained from the following equation.
상기에 있어서는 코드워드 다항식 c(x)를 코드 발생 다항식 g(x)로 나눈 나머지 값을 의미한다.In the above Denotes the remainder of the codeword polynomial c (x) divided by the code generation polynomial g (x).
즉, 상기 패리티 t(x)를 구하기 위해서는를 코드 발생 다항식 g(x)로 나누는 과정을 수행하여야 하며 이러한 과정은 시프트레지스터를 코드 발생 다항식 g(x)에 따라 연결하여 구현할 수 있다.That is, to obtain the parity t (x) Is divided by the code generation polynomial g (x), which can be implemented by concatenating the shift registers according to the code generation polynomial g (x).
그리고, 상기 비계통적 코드는 하기 제 4 식과 같이 단순히 정보에 코드 발생 다항식 g(x)을 곱해 줌에 따라 정보와 패리티가 섞이게 된다.In the non-system code, as shown in Equation 4 below, information and parity are mixed as the information is multiplied by the code generation polynomial g (x).
상기 제 1 식에서 c(x)는 n-1 차의 코드워드 다항식이고, i(x)는 k-1 차의 정보 다항식, g(x)는 n-k 차의 코드 발생 다항식이다.In the first equation, c (x) is an n-1 order codeword polynomial, i (x) is an k-1 order information polynomial, and g (x) is an n-k order code generation polynomial.
상기 코드 발생 다항식 g(x)은 코드워드 다항식 c(x)를 만들어 내기 위해 정보 다항식 i(x)에 곱해지는 것으로, 이러한 코드 발생 다항식 g(x)을 하기 제 5 식과 같이 연속적인 2t개의 근을 가지도록 정하면 t개의 에러를 정정할 수 있다.The code generation polynomial g (x) is multiplied by the information polynomial i (x) to produce the codeword polynomial c (x). The code generation polynomial g (x) is multiplied by 2t consecutive roots as shown in Equation 5 below. If we set to have t errors, we can correct t errors.
상기와 같은 방법으로 리드 솔로몬 부호화된 디지털 데이터를 리드 솔로몬 복호화하는 방법은 크게 주파수 영역 복호화와 시간 영역 복호화로 나누어지며, 상기 시간 영역에서 리드 솔로몬 복호화하는 과정은 다음과 같이 크게 4 단계로 이루어진다.Reed-Solomon decoding of Reed-Solomon-coded digital data as described above is largely divided into frequency-domain decoding and time-domain decoding, and the process of Reed-Solomon decoding in the time domain consists of four steps as follows.
1) 신드롬 계산1) syndrome calculation
수신된 데이터 r(x)는 하기 제 6 식과 같이 코드워드 다항식 c(x)과 전송중에 발생된 에러 다항식 e(x)를 더한 값으로 표현될 수 있다.The received data r (x) may be expressed as a sum of a codeword polynomial c (x) and an error polynomial e (x) generated during transmission, as shown in Equation 6 below.
따라서, 하기 제 7 식과 같이 수신된 데이터 r(x) 코드 발생 다항식 g(x)의 근 αo∼α2t-1을 차례대로 대입함으로써 전송중에 에러가 발생되었는지를 알 수 있는 것이다.Therefore, it is possible to know whether an error has occurred during transmission by substituting the root α o ˜ α 2t-1 of the received data r (x) code generation polynomial g (x) in sequence as in the following seventh equation.
즉, 수신된 데이터 r(x)에 코드 발생 다항식 g(x)의 근을 α1을 대입하여 수신된 데이터 r(x)가 0이 되면 전송중에 에러가 발생되지 않았다는 것을 의미하여, 수신된 데이터 r(x)에 코드 발생 다항식의 근 α1을 대입하여 수신된 데이터 r(x)가 0이 되지 않으면 i번째 위치 또는 i차에 에러가 발생하였다는 것을 의미한다.That is, when the received data r (x) becomes 0 by substituting the root of the code generating polynomial g (x) with α 1 to the received data r (x), it means that no error occurred during transmission. Substituting the root α 1 of the code generation polynomial into r (x), if the received data r (x) does not become 0, it means that an error occurred in the i-th position or the i-th order.
2) 에러 위치 다항식 계산(finding error location)2) Finding error location polynomial
Berlekamp-Massey 알고리즘 또는 Euclid 알고리즘으로부터 에러 위치 다항식의 계수를 계산한다.Compute the coefficients of the error location polynomials from the Berlekamp-Massey algorithm or the Euclid algorithm.
상기 알고리즘에 의해 구해진 에러 위치 다항식을 σ(x)라 하면 에러 정정 능력이 t인 리드 솔로몬 코드에서는 하기 제 8 식과 같이 최고 t차 이하의 다항식이 얻어진다.If the error position polynomial obtained by the above algorithm is sigma (x), a polynomial of less than or equal to t is obtained in the Reed Solomon code having an error correction capability of t as shown in Equation 8 below.
3) 에러값 계산3) Error value calculation
상기 에러 위치 다항식 σ(X)에 α-t을 대입하면 에러의 위치를 찾는다.Substituting α- t into the error position polynomial σ (X) finds the position of the error.
즉, 에러 위치 다항식 σ(X)에 α-t을 대입하여 에러 위치 다항식 σ(X)이 0이 되면 i번째 위치 또는 i차에 에러가 발생된 것이다.That is, when the error position polynomial σ (X) becomes 0 by substituting α -t into the error position polynomial σ (X), an error occurs at the i th position or the i th order.
그리고, 에러 평가 다항식 Ω(X)은 하기 제 9 식으로부터 구할 수 있다.The error evaluation polynomial? (X) can be obtained from the ninth expression below.
상기 제 9 식에서 S(X)는 신드롬 다항식이다.In the ninth formula, S (X) is a syndrome polynomial.
이와 같이 에러 평가 다항식 Ω(X)을 구한 다음 하기 제 10 식으로부터 에러값 ei을 계산한다.In this way, the error evaluation polynomial? (X) is obtained, and the error value e i is calculated from the following Equation 10.
상기 제 10 식에서 σ'(X)는 에러 위치 다항식 σ(X)을 미분한 값이다.In the tenth equation, σ '(X) is a derivative of the error position polynomial σ (X).
4) 에러 정정4) Error correction
상기와 같이 에러값을 구한 다음 하기 제 11 식을 이용하여 원래의 코드워드 다항식 c(x)를 구하는 것이다.After the error value is obtained as described above, the original codeword polynomial c (x) is obtained using the following Equation 11.
이때, 갈로아체 특성상 같은 값을 더하면 0이 되므로 e(x) + e(x) = 0 이 되는 것이다.At this time, if the same value is added to the properties of galloche becomes 0, e (x) + e (x) = 0.
한편, 상기 제 3 단계의 에러값 계산과정을 세분하면 다음과 같다.Meanwhile, the error value calculation process of the third step is subdivided as follows.
(1) 에러 평가 다항식 Ω(X)의 계수를 하기 제 9 식을 이용하여 계산한다.(1) Error Evaluation The coefficient of the polynomial? (X) is calculated using the ninth equation below.
상기 제 9 식에 있어서, σ(X)는 에러 위치 다항식이고, S(X)는 신드롬 다항식이다.In the ninth expression, sigma (X) is an error position polynomial, and S (X) is a syndrome polynomial.
(2) 평가 진행(evaluation procedure)(2) evaluation procedure
GF(2m)의 αo,α1,‥‥, αN-1을 상기 에러 평가 다항식 Ω(X), 에러 위치 다항식 σ(X), 에러 위치 다항식 σ(X)을 미분한 다항식 σ'(X)에 각각 대입하여 그 값을 구한다.The polynomial σ 'which differentiates α o , α 1 , ..., α N-1 of GF ( 2m ) from the error evaluation polynomial Ω (X), the error position polynomial σ (X), and the error position polynomial σ (X). Substitute each of (X) and find the value.
(3). 에러값 ei을 하기 제 10 식을 이용하여 계산한다.(3). The error value e i is calculated using the following tenth equation.
상기와 같은 과정으로 이루어진 리드 솔로몬 복호화 방법에 있어서, 에러 평가 다항식의 계수를 계산하는 과정을 하드웨어로 구현한 종래의 리드 솔로몬 복호기에서의 에러 평가 다항식의 계수 계산장치는, 제1도에 도시된 바와 같이 외부로부터 입력된 신드롬 다항식의 계수(Si)와 에러 위치 다항식의 계수(σi)를 곱하여 출력하는 갈로아체 곱셈기(1)와; 상기 갈로아체 곱셈기(1)에서 출력된 값과 중간값(intermediate Value)을 더하여 출력하는 갈로아체 덧셈기(3); 외부로부터 입력된 제 1 선택신호(sel1)에 따라 상기 갈로아체 덧셈기(3)에서 출력된 값 또는 외부로부터 입력된 에러 위치 다항식의 계수(σi)를 선택적으로 출력하는 제 1 다중화기(5); 상기 제 1 다중화기(5)에서 출력된 값을 외부로부터 입력된 제 2 선택신호(sel2)에 따라 역다중화시켜 출력하는 역다중화기(7); 상기 역다중화기(7)를 통해 각각 출력된 값을 래치시켜 출력하는 래치부(9) 및; 외부로부터 입력된 제 3 선택신호(sel3)에 따라 상기 래치부(9)를 통해 출력된 값을 중간값으로서 상기 갈로아체 덧셈기(3)에 입력함과 더불어 에러 평가 다항식의 계수(Ωi)로서 출력하는 제 2 다중화기(11)를 포함하여 구성되어 있다.In the Reed Solomon decoding method having the above process, the coefficient calculation device of the error evaluation polynomial in the conventional Reed Solomon decoder which implements the process of calculating the coefficient of the error evaluation polynomial in hardware, as shown in FIG. A galloise multiplier 1 for multiplying the coefficient S i of the syndrome polynomial input from the outside by the coefficient σ i of the error position polynomial; A galloise adder (3) which adds and outputs an intermediate value to a value output from the galloise multiplier (1); A first multiplexer 5 for selectively outputting a value output from the galloise adder 3 or a coefficient σ i of an error position polynomial input from the outside according to a first selection signal sel1 input from the outside ; A demultiplexer (7) for demultiplexing and outputting a value output from the first multiplexer (5) according to a second selection signal (sel2) input from the outside; A latch unit (9) for latching and outputting values output through the demultiplexer (7); According to the third selection signal sel3 input from the outside, the value output through the latch unit 9 is input as the intermediate value to the galloach adder 3 and as the coefficient Ω i of the error evaluation polynomial. It is comprised including the 2nd multiplexer 11 which outputs.
그리고, 상기 래치부(9)는 상기 역중화기(7)를 통해 입력된 값을 심볼 클럭(sym_clk)에 따라 래치시켜 출력하는 다수개의 레지스터(9-1∼9-8)로 이루어져 있다.The latch unit 9 includes a plurality of registers 9-1 to 9-8 for latching and outputting a value input through the de-neutralizer 7 according to a symbol clock sym_clk.
한편, 제2도는 상기 제1도에 따른 에러 평가 다항식의 계수 계산장치의 타이밍도로서, 외부로부터 입력되는 에러 위치 다항식의 계수(σi)는, 초기 8 심볼 클럭(sym_clk) 기간 동안에 에러 위치 다항식의 8차 계수(σ8)부터 에러 위치 다항식의 1차 계수(σ1)까지 차례대로 입력되는 한편, 그 다음 8 심볼 클럭(sym_clk) 기간 동안에는 1의 값을 가지는 에러 위치 다항식의 0차 계수(σ0)가 입력되고, 그 다음 7 심볼 클럭(sym_cly) 기간 동안에는 에러 위치 다항식의 1차 계수(σ1)가 입력되며, 그 다음 6 심볼 클럭(sym_cly) 기간 동안에는 에러 위치 다항식의 2차 계수(σ2)가 입력되고, 그 다음 5 심볼 클럭(sym_cly) 기간 동안에는 에러 위치 다항식의 3차 계수(σ3)가 입력되며, 그 다음 4 심볼 클럭(sym_cly) 기간 동안에는 에러 위치 다항식의 4차 계수(σ4)가 입력되고, 그 다음 3 심볼 클럭(sym_cly) 기간 동안에는 에러 위치 다항식의 5차 계수(σ5)가 입력되며, 그 다음 2 심볼 클럭(sym_cly) 기간 동안에는 에러 위치 다항식의 6차 계수(σ6)가 입력되고, 그 다음 1 심볼 클럭(sym_cly) 기간 동안에는 에러 위치 다항식의 7차 계수(σ7)가 입력된다.2 is a timing diagram of the coefficient calculation device of the error evaluation polynomial according to FIG. 1, wherein the coefficient σ i of the error position polynomial input from the outside is an error position polynomial during an initial 8 symbol clock (sym_clk) period. Is input in order from the 8th order coefficient of σ 8 to the 1st order coefficient of the error position polynomial (σ 1 ), while the 0th order coefficient of the error position polynomial having a value of 1 during the next 8 symbol clock (sym_clk) period ( σ 0 ) is input, and the first order coefficient of the error position polynomial (σ 1 ) is input during the next 7 symbol clock (sym_cly) period, and the second order coefficient of the error position polynomial ( σ 2 ) is input, and the third order coefficient of the error position polynomial (σ 3 ) is input during the next five symbol clock (sym_cly) period, and the fourth order coefficient of the error position polynomial ( σ 4) is input, that is 3 the symbol clock while (sym_cly) period, and the fifth order coefficient (σ 5) in the error locator polynomial type, the next two symbol clock (sym_cly) 6-th order coefficient (σ 6) of the error locator polynomial during the period is input, and then During the one symbol clock period sym_cly, the seventh order coefficient σ 7 of the error position polynomial is input.
그리고, 외부로부터 입력되는 신드롬 다항식의 계수(Si)는, 초기 8 심볼 클럭(sym_clk) 기간이 지난후에 신드롬 다항식의 1차 계수(S1)부터 8차 계수(S8)까지 심볼 클럭(sym_clk)에 동기되어 입력되고, 그 다음 신드롬 다항식의 1차 계수(S1)부터 7차 계수(S7)까지 심볼 클럭(sym_clk)에 동기되어 입력되며, 그 다음 신드롬 다항식의 1차 계수(S1)부터 6차 계수(S6)까지 심볼 클럭(sym_clk)에 동기되어 입력되고, 그 다음 신드롬 다항식의 1차 계수(S1)부터 5차 계수(S5)까지 심볼 클럭(sym_clk)에 동기되어 입력되며, 그 다음 신드롬 다항식의 1차 계수(S1)부터 4차 계수(S4)까지 심볼 클럭(sym_clk)에 동기되어 입력되고, 그 다음 신드롬 다항식의 1차 계수(S1)부터 3차 계수(S3)까지 심볼 클럭(sym_clk)에 동기되어 입력되며, 그 다음 신드롬 다항식의 1차 계수(S1)부터 2차 계수(S2)까지 심볼 클럭(sym_clk)에 동기되어 입력되고, 그 다음 신드롬 다항식의 1차 계수(S1)가 심볼 클럭(sym_clk)에 동기되어 입력된다.The coefficient S i of the syndrome polynomial input from the outside is the symbol clock sym_clk from the first coefficient S 1 of the syndrome polynomial S 8 to the eighth order S 8 after the initial eight symbol clock sym_clk period has passed. ) Is input in synchronization with the first order coefficient (S 1 ) of the syndrome polynomial (S 1 ) to the seventh order (S 7 ) in synchronization with the symbol clock (sym_clk), and then the first coefficient (S 1 ) of the syndrome polynomial. ) Is inputted in synchronization with the symbol clock (sym_clk) from the sixth order (S 6 ), and then synchronized with the symbol clock (sym_clk) from the first order (S 1 ) to the fifth order (S 5 ) of the syndrome polynomial. Input from the first coefficient (S 1 ) of the syndrome polynomial to the fourth order (S 4 ) in synchronization with the symbol clock (sym_clk), and then from the first coefficient (S 1 ) of the syndrome polynomial Up to the coefficient S 3 is input in synchronization with the symbol clock sym_clk, and then from the first coefficient S 1 of the syndrome polynomial to the secondary system. Up to the number S 2 is input in synchronization with the symbol clock sym_clk, and then the first order coefficient S 1 of the syndrome polynomial is input in synchronization with the symbol clock sym_clk.
그리고 상기 제 1 다중화기(5)로 입력되는 제 1 선택신호(sel1)는, 초기 8 심볼 클럭(sys_clk) 기간 동안에 1이 되어 초기 8 심볼 클럭(sym_clk) 동안에 입력된 에러 위치 다항식의 계수(σ8∼σ1)를 선택하여 출력하고, 초기 8 심볼 클럭(sym_clk) 기간이 지난 후에는 상기 갈로아체 덧셈기(3)에서 출력된 값을 선택하여 출력하도록 되어있다.The first selection signal sel1 input to the first multiplexer 5 becomes 1 during the initial 8 symbol clock sys_clk period, and the coefficient σ of the error position polynomial input during the initial 8 symbol clock sym_clk. 8 to sigma 1 ) are selected and output, and after the initial eight symbol clock (sym_clk) period has elapsed, the value output from the galloise adder 3 is selected and output.
그리고 상기 역다중화기(7)로 입력되는 제 2 선택신호(sel2)는, 초기 8 심볼 클럭(sys_clk) 기간 동안에 입력된 에러 위치 다항식의 계수(σ8∼σ1)를 래치부(9)의 각 레지스터(9-8∼9-1)에 각각 입력하도록 선택하고, 그 다음 1 심볼 클럭(sym_clk)가 지난 후 8 심볼 클럭(sym_clk) 기간 동안에는 상기 갈로아체 덧셈기(3)에서 입력된 값을 래치부(9)의 각 레지스터(9-1∼9-8)에 각각 입력하도록 선택하고, 그 다음 7 심볼 클럭(sym_clk) 기간 동안에는 상기 갈로아체 덧셈기(3)에서 입력된 값을 래치부(9)의 각 레지스터(9-2∼9-8)에 각각 입력하도록 선택하며, 그 다음 6 심볼 클럭(sym_clk) 기간 동안에는 상기 갈로아체 덧셈기(3)에서 입력된 값을 래치부(9)의 각 레지스터(9-3∼9-8)에 각각 입력하도록 선택하고, 그 다음 5 심볼 클럭(sym_clk) 기간 동안에는 상기 갈로아체 덧셈기(3)에서 입력된 값을 래치부(9)의 각 레지스터(9-4∼9-8)에 각각 입력하도록 선택하며, 그 다음 4 심볼 클럭(sym_clk) 기간 동안에는 상기 갈로아체 덧셈기(3)에서 입력된 값을 래치부(9)의 각 레지스터(9-5∼9-8)에 각각 입력하도록 선택하고, 그 다음 3 심볼 클럭(sym_clk) 기간 동안에는 상기 갈로아체 덧셈기(3)에서 입력된 값을 래치부(9)의 각 레지스터(9-6∼9-8)에 각각 입력하도록 선택하며, 그 다음 2 심볼 클럭(sym_clk) 기간 동안에는 상기 갈로아체 덧셈기(3)에서 입력된 값을 래치부(9)의 각 레지스터(9-7, 9-8)에 각각 입력하도록 선택하고, 그 다음 1 심볼 클럭(sym_clk) 기간 동안에는 상기 갈로아체 덧셈기(3)에서 입력된 값을 래치부(9)의 각 레지스터(9-8)에 각각 입력하도록 선택한다.The second selection signal sel2 input to the demultiplexer 7 includes the coefficients σ 8 to σ 1 of the error position polynomial input during the initial eight-symbol clock sys_clk period. Each of the registers 9-8 to 9-1 is selected to be inputted, and the latched value is inputted by the galloche adder 3 during the eight symbol clock sym_clk after one symbol clock sym_clk has passed. Each register 9-1 to 9-8 of (9) is selected to be input, and during the next 7 symbol clock (sym_clk) period, the value input from the galloche adder 3 is inputted to the latch unit 9. Each register 9-2 to 9-8 is selected to be input, and during the next 6 symbol clock sym_clk period, the value input from the galloche adder 3 is inputted to each register 9 of the latch unit 9. -3 to 9-8, respectively, and during the next five symbol clock (sym_clk) periods, the galloise adder (3) The input value is selected to be input to each of the registers 9-4 to 9-8 of the latch section 9, and the value input from the galloche adder 3 is latched for the next four symbol clocks (sym_clk). The registers 9 are selected to be input to the registers 9-5 to 9-8 of the unit 9, and the latch unit 9 stores the value input from the galloche adder 3 during the next three symbol clock periods (sym_clk). Are selected to be input to the respective registers 9-6 to 9-8, and during the next two symbol clocks (sym_clk), the values inputted from the galloche adder 3 are inputted to the respective registers of the latch unit 9 ( 9-7 and 9-8, respectively, and during the next symbol clock (sym_clk) period, the value input from the galloese adder 3 is inputted to each register 9-8 of the latch unit 9; Choose to enter each one.
이때, 초기 8 심볼 클럭(sym_clk) 기간 동안에 입력된 에러 위치 다항식의 계수(σ8∼σ1)를 래치부(9)의 각 레지스터(9-8∼9-1)에 각각 입력하도록 선택한 다음 1 심볼 클럭(sym_clk)을 지연시키는 이유는 상기 갈로아체 곱셈기(1)에서 에러 위치 다항식의 계수와 신드롬 다항식의 계수를 곱하고, 상기 갈로아체 덧셈기(1)에서 상기 갈로아체 덧셈기(1)에서 출력된 값과 제 2 다중화기(11)를 통해 출력된 값을 더하는 시간을 감안하여 1 심볼 클럭(sym_clk)을 지연시키는 것이다.In this case, the coefficients σ 8 to σ 1 of the error position polynomial inputted during the initial 8 symbol clock sym_clk period are selected to be input to the registers 9-8 to 9-1 of the latch unit 9, respectively. The reason for delaying the symbol clock sym_clk is to multiply the coefficient of the error position polynomial by the coefficient of the polynomial of the polynomial in the galloise multiplier (1), and to output the value of the galloise adder (1) by the galloise adder (1). The delay of one symbol clock sym_clk in consideration of the time to add the value output through the second multiplexer 11 and the second multiplexer 11.
그리고 상기 2 다중화기(11)로 입력되는 제 3 선택신호(sel3)는, 초기 8 심볼 클럭(sym_clk) 기간이 지난 후에 8 심볼 클럭(sym_clk) 기간 동안에는 상기 래치부(9)의 각 레지스터(9-1∼9-8)에 각각 저장된 값을 차례대로 출력하도록 선택하고, 그 다음 7 심볼 클럭(sym_clk) 기간 동안에는 상기 래치부(9)의 각 레지스터(9-2∼9-8)에 각각 저장된 값을 차례대로 출력하도록 선택하며, 그 다음 6 심볼 클럭(sym_clk) 기간 동안에는 상기 래치부(9)의 각 레지스터(9-3∼9-8)에 각각 저장된 값을 차례대로 출력하도록 선택하고, 그 다음 5 심볼 클럭(sym_clk) 기간 동안에는 상기 래치부(9)의 각 레지스터(9-4∼9-8)에 각각 저장된 값을 차례대로 출력하도록 선택하며, 그 다음 4 심볼 클럭(sym_clk) 기간 동안에는 상기 래치부(9)의 각 레지스터(9-5∼9-8)에 각각 저장된 값을 차례대로 출력하도록 선택하고, 그 다음 3 심볼 클럭(sym_clk) 기간 동안에는 상기 래치부(9)의 각 레지스터(9-6∼9-8)에 각각 저장된 값을 차례대로 출력하도록 선택하며, 그 다음 2 심볼 클럭(sym_clk) 기간 동안에는 상기 래치부(9)의 각 레지스터(9-7, 9-8)에 각각 저장된 값을 차례대로 출력하도록 선택하고, 그 다음 1 심볼 클럭(sym_clk) 기간 동안에는 상기 래치부(9)의 각 레지스터(9-8)에 저장된 값을 출력하도록 선택한다.The third select signal sel3 input to the multiplexer 11 is configured to register each of the registers 9 of the latch unit 9 during the eight symbol clock sym_clk period after the initial eight symbol clock sym_clk period has passed. Selects to output the values stored in -1 to 9-8 in order, and is stored in each of the registers 9-2 to 9-8 of the latch unit 9 during the next 7 symbol clock (sym_clk) period. Selects to output the values in order, and then outputs the values stored in the registers 9-3 to 9-8 of the latch unit 9 in order during the next 6 symbol clocks (sym_clk) period, During the next five symbol clock (sym_clk) periods, the respective stored values of the registers 9-4 to 9-8 of the latch unit 9 are sequentially output. In the next four symbol clock (sym_clk) periods, the values are stored. Lines for outputting the values stored in the registers 9-5 to 9-8 of the latch section 9 in order, respectively. Selects and outputs the values stored in the registers 9-6 to 9-8 of the latch unit 9 in order during the next three symbol clocks (sym_clk), and then the two symbol clocks (sym_clk). ), And outputs the values stored in the registers 9-7 and 9-8 of the latch unit 9 in order, and then, during the next one symbol clock (sym_clk) period, the latch unit 9 Select to output the value stored in each register (9-8).
상기와 같이 구성된 종래의 리드 솔로몬 복호기에서의 에러 평가 다항식의 계수 계산장치에 있어서, 초기 8 심볼 클럭(sym_clk) 기간 동안에는 제 1 다중화기(6)로 입력되는 제 1 선택신호(sel1)가 1이므로, 외부로부터 입력된 에러 위치 다항식의 계수(σ8∼σ1)가 상기 제 1 다중화기(6)를 통해 역다중화기(7)로 입력되고, 상기 역다중화기(7)는 제 2 선택신호(sel2)에 따라 에러 위치 다항식의 계수(σ8∼σ1)를 래치부(9)의 각 레지스터(9-8∼9-1)에 차례대로 입력한다.In the coefficient estimation apparatus of the error evaluation polynomial in the conventional Reed Solomon decoder configured as described above, since the first selection signal sel1 input to the first multiplexer 6 is 1 during the initial eight-symbol clock (sym_clk) period. The coefficients σ 8 to σ 1 of the error position polynomial input from the outside are input to the demultiplexer 7 through the first multiplexer 6, and the demultiplexer 7 receives the second selection signal sel2. ), The coefficients σ 8 to σ 1 of the error position polynomial are sequentially input to the registers 9-8 to 9-1 of the latch unit 9.
즉, 래치부(9)의 각 레지스터(9-8∼9-1)를 에러 위치 다항식의 계수(σ8∼σ1)로 초기화하는 것이다.That is, the registers 9-8 to 9-1 of the latch unit 9 are initialized to the coefficients σ 8 to σ 1 of the error position polynomial.
한편, 초기 8 심볼 클럭(sym_clk) 기간이 지난 후 8 심볼 클럭(sym_clk) 기간 동안에는 갈로아체 곱셈기(1)가 외부로부터 입력된 신드롬 다항식의 각 계수(S1∼S8)와 1값을 가지는 에러 평가 다항식의 0차 계수(σ0)를 각각 곱하여 갈로아체 덧셈기(3)로 출력한다.On the other hand, during the 8-symbol (sym_clk) period after the initial 8-symbol clock (sym_clk) period, the galoche multiplier (1) has an error having each coefficient (S 1 to S 8 ) and 1 value of the syndrome polynomial input from the outside. The 0th order coefficients (σ 0 ) of the evaluation polynomial are respectively multiplied and output to the galloise adder (3).
그리고, 갈로아체 덧셈기(3)는 상기 갈로아체 곱셈기(1)에서 출력된 값(S1∼S8)과 래치부(9)의 각 레지스터(9-1∼9-8)에서 출력된 값(σ1∼σ8)을 더하여 S1+σ1, S2+σ2‥‥‥을 차례대로 출력한다.In addition, the galloise adder 3 outputs the values S 1 to S 8 output from the galloise multiplier 1 and the values output from the registers 9-1 to 9-8 of the latch unit 9 ( sigma 1 to sigma 8 ) are added to output S 1 + σ 1 and S 2 + σ 2 .
따라서, 상기와 같이 갈로아체 덧셈기(3)에서 출력된 값은 제 1 다중화기(5)로 입력된다. 이때, 상기 제 1 다중화기(5)로 입력되는 제 1 선택(sel1)가 0이므로, 상기 갈로아체 덧셈기(3)에서 출력된 값이 역다중화기(7)로 입력되고, 상기 역다중화기(7)는 제 2 선택신호(sel2)에 따라 상기 갈로아체 덧셈기(3)에서 출력된 값을 래치부(9)의 각 레지스터(9-1∼9-8)에 차례대로 입력하는 것이다.Accordingly, the value output from the galloche adder 3 is input to the first multiplexer 5 as described above. In this case, since the first selection sel1 input to the first multiplexer 5 is 0, the value output from the galloche adder 3 is input to the demultiplexer 7 and the demultiplexer 7. Is sequentially inputted to the registers 9-1 to 9-8 of the latch unit 9 in accordance with the second selection signal sel2.
따라서, 상기 래치부(9)의 각 레지스터(9-1∼9-8)에 저장된 값은 S1+σ1,‥‥‥S8+σ8이 되는 것이다.Thus, the value stored in each register (9-1~9-8) of the latch portion 9 becomes an S 1 + σ 1, ‥‥‥ S 8 + σ 8.
그 다음 7 심볼 클럭(sym_clk) 기간 동안에는, 갈로아체 곱셈기(1)가 외부로부터 입력된 신드롬 다항식의 각 계수(S1∼S7)와 에러 평가 다항식의 1차 계수(σ1)를 각각 곱하여 갈로아체 덧셈기(3)로 출력한다.During the next seven symbol clocks (sym_clk), the galloise multiplier 1 multiplies each coefficient (S 1 to S 7 ) of the syndrome polynomial input from the outside by the first coefficient (σ 1 ) of the error evaluation polynomial, respectively. Output to Aceh Adder (3).
즉, 상기 갈로아체 곱셈기(1)에서 출력된 값은 S1σ1,‥‥‥S7σ1이 된다.That is, the value output from the galloise multiplier 1 is S 1 sigma 1 , ..... S 7 sigma 1 .
그리고, 갈로아체 덧셈기(3)는 상기 갈로아체 곱셈기(1)에서 출력된 값(S1σ1∼S7σ1)과 래치부(9)의 각 래지스터(9-2∼9-8)에 출력된 값(S2+σ2, ‥‥‥, S8+σ8)을 더하여 S2+σ2+S1σ1, ‥‥‥, S8+σ8+S7σ1을 차례대로 출력한다.The galloche adder 3 includes the values S 1 σ 1 to S 7 σ 1 and the registers 9-2 to 9-8 of the latch unit 9 outputted from the galloche multiplier 1. S 2 + σ 2 + S 1 σ 1 , ‥‥‥, S 8 + σ 8 + S 7 σ 1 in addition to the values (S 2 + σ 2 , ‥‥‥, S 8 + σ 8 ) Output as is.
즉, 제 2 다중화기(11)로 입력되는 제 3 선택신호(sel3)는 래치부(9)의 7개 래지스터(9-2∼9-8)에 저장된 값만을 선택하여 출력하므로, 상기 갈로아체 덧셈기(3)로 입력되는 값은 S2+σ2,‥‥‥, S8+σ8이 되는 것이다.That is, the third selection signal sel3 input to the second multiplexer 11 selects and outputs only the values stored in the seven registers 9-2 to 9-8 of the latch unit 9. Values input to the Aceh adder 3 are S 2 + σ 2 ,..., S 8 + σ 8 .
그리고, 상기와 같이 갈로아체 덧셈기(3)에서 출력된 값은 S2+σ2+S1σ1, ‥‥‥, S8+σ8+S7σ1은 다시 제 1 다중화기(5)를 통해 역중화기(7)로 입력되고, 상기 역다중화기(7)는 제 2 선택신호(sel2)에 따라 다중화 되어 래치부(9)의 각 래지스터(9-2∼9-8)에 차례대로 입력하는 것이다.As described above, the values output from the galloche adder 3 are S 2 + σ 2 + S 1 sigma 1 , .................., S 8 + σ 8 + S 7 sigma 1 is again the first multiplexer 5. The demultiplexer 7 is multiplexed in accordance with the second selection signal sel2 and sequentially applied to the registers 9-2 to 9-8 of the latch unit 9 through the demultiplexer 7. To enter.
따라서, 상기 래치부(9)의 각 레지스터(9-2∼9-8)에 저장된 값은 S2+σ2+S1σ1, ‥‥‥, S8+σ8+S7σ1이 되는 것이다.Therefore, the values stored in the registers 9-2 to 9-8 of the latch unit 9 are S 2 + σ 2 + S 1 σ 1 , .................., S 8 + σ 8 + S 7 σ 1 Will be.
이와 같은 과정을 반복하면 최종적으로 래치부(9)의 각 레지스터(9-1∼9-8)에 에러 평가 다항식의 각 계수값(σ1∼σ8)이 차례대로 저장되는 것이다.When such a process is repeated, finally, the respective coefficient values σ 1 to σ 8 of the error evaluation polynomial are sequentially stored in the registers 9-1 to 9-8 of the latch unit 9.
그러나, 상기와 같은 종래의 리드 솔로몬 복호기에서의 에러 평가 다항식의 계수 계산 장치는, 각 레지스터(9-1∼9-8)와 제 2 다중화기(11) 사이의 라우팅(routing), 역다중화기(7)와 각 레지스터(9-1∼9-8) 사이의 라우팅(routing)이 글로벌 라우팅(global routing)이므로, 라우팅(routing) 자체가 큰 면적을 차치하게 되어 초 대규모 집적회로(VLSI)로 구현하기 어려운 문제점이 있었다.However, in the conventional Reed-Solomon decoder as described above, the coefficient calculation device of the error evaluation polynomial is a routing and demultiplexer between the registers 9-1 to 9-8 and the second multiplexer 11. Since routing between 7) and each register 9-1 to 9-8 is global routing, the routing itself takes up a large area and is realized as a very large integrated circuit (VLSI). There was a problem that was difficult to do.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해소하기 위한 것으로, 다중화기 및 역다중화기를 사용하지 않고 에러평가 다항식의 계수 계산장치를 구현함으로써 로컬 라우팅(local routing)으로 구현되는 리드 솔로몬 복호기에서의 에러 평가 다항식의 계수 계산장치를 제공하는데 그 목적이 있다.Accordingly, the present invention is to solve the conventional problems as described above, in the Reed Solomon decoder implemented by local routing by implementing a coefficient calculation device of the error evaluation polynomial without using a multiplexer and a demultiplexer. It is an object of the present invention to provide a coefficient calculating device of an error evaluation polynomial.
이러한 목적을 달성하기 위한 본 발명에 따른 리드 솔로몬 복호기에서는 에러 평가 다항식의 계수 계산장치는, 외부로부터 입력된 신드롬 다항식의 계수와 에러 위치 다항식의 게수를 곱하여 출력하는 갈로아체 곱셈기와; 상기 갈로아체 곱셈기에서 출력된 값과 중간값을 더하여 출력하는 갈로아체 덧셈기; 상기 갈로아체 덧셈기에서 출력된 값 또는 외부로부터 입력된 에러 위치 다항식의 계수를 선택적으로 출력하는 다중화기 및; 상기 다중화기에서 출력된 값을 시프트시켜 중간값으로서 상기 갈로아체 덧셈기에 입력함과 더불어 에러 평가 다항식의 계수로서 출력하는 시프트 레지스터부를 포함하여 구성된 것을 특징으로 한다.In the Reed-Solomon decoder according to the present invention for achieving this object, the coefficient calculation device of the error evaluation polynomial includes: a Galloche multiplier for multiplying the coefficient of the syndrome polynomial and the number of the error position polynomial; A galloise adder for adding and outputting a value output from the galloise multiplier and an intermediate value; A multiplexer for selectively outputting a value output from the galloise adder or a coefficient of an error position polynomial input from the outside; And a shift register portion for shifting the value output from the multiplexer, inputting it to the Galois adder as an intermediate value, and outputting as a coefficient of an error evaluation polynomial.
따라서, 에러 평가 다항식의 계수 계산장치를 다중화기 및 역다중화기를 사용하지 않고 구현함에 따라 로컬 루틴(local routing)으로 구현하는 것이 가능한 것이다.Therefore, it is possible to implement a local routine by implementing the coefficient calculating device of the error evaluation polynomial without using the multiplexer and the demultiplexer.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention;
리드솔로몬 복호기에 있어서, 에러 평가 다항식 Ω(X)의 계수는 하기 제 9 식을 이용하여 계산한다.In the Reed Solomon decoder, the coefficient of the error evaluation polynomial? (X) is calculated using the following ninth equation.
상기 제 9 식에 있어서, σ(X)는 에러 위치 다항식이고, S(X)는 신드롬 다항식이다.In the ninth expression, sigma (X) is an error position polynomial, and S (X) is a syndrome polynomial.
상기 제 9 식의 에러 평가 다항식 Ω(X)에 있어서, 이레이저(erasure)가 없고 8차(t=8)인 경우의 에러 평가 다항식 Ω(X)은 하기 제 12 식과 같이 표현될 수 있다.In the error evaluation polynomial Ω (X) of the ninth equation, the error evaluation polynomial Ω (X) when there is no erasure and the eighth order (t = 8) can be expressed as in the following twelfth equation.
이때, 에러 평가 다항식 Ω(X)의 0차 계수인 Ω0는 1이므로 계산할 필요가 없고, 나머지 8개의 계수만 구하면 된다.At this time, Ω 0, which is the 0th order coefficient of the error evaluation polynomial Ω (X), is 1, so it is not necessary to calculate it, and only the remaining eight coefficients need to be obtained.
따라서, 하기 제 13식과 같은 과정을 통행 각 계수를 구할 수 있는 것이다.Therefore, the passage angle coefficient can be calculated | required through the process similar to following formula (13).
즉 계산 시간을 8 심볼 클럭으로 고정시켜 계산함과 더불어 불필요한 심볼 클럭에는 신드롬 다항식의 계수를 0으로 입력하는 것이다.That is, the calculation time is fixed to 8 symbol clocks, and the coefficient of the syndrome polynomial is input to 0 for unnecessary symbol clocks.
상기와 같은 계산 과정을 하드웨어적으로 구현한 본 발명에 따른 에러 평가 다항식의 계수 계산장치는 제3도와 같이 구현된다.The coefficient calculation device of the error evaluation polynomial according to the present invention, which implements the above-described calculation process in hardware, is implemented as shown in FIG.
제3도는 본발명에 따른 에러 평가 다항식의 계수 계산장치의 회로도로서, 본 발명에 따른 에러 평가 다항식의 계수 계산장치는, 외부로부터 입력된 신드롬 다항식의 계수(Si)와 에러 위치 다항식의 계수(σi)를 곱하여 출력하는 갈로아체 곱셈기(10)와; 상기 갈로아체 곱셈기(10)에서 출력된 값과 중간값을 더하여 출력하는 갈로아체 덧셈기(20); 외부로부터 입력된 선택신호(sel)에 따라 상기 갈로아체 덧셈기(20)에서 출력된 값 또는 외부로부터 입력된 에러 위치 다항식의 계수(σi)를 선택적으로 출력하는 다중화기(30) 및; 상기 다중화기(30)에서 출력된 값을 시프트시켜 중간값으로서 상기 갈로아체 덧셈기(20)에 입력함과 더불어 에러 평가 다항식의 계수(Ωi)로서 출력하는 시프트 레지스터부(40)를 포함하여 구성되어 있다.The third turning coefficient of the error evaluation as a function circuit diagram of a calculation apparatus of the polynomial coefficient calculation unit of the error evaluation polynomial in accordance with the present invention, the coefficients of the syndrome polynomial from the outside (S i) and the error locator polynomial in accordance with the present invention ( a galloise multiplier 10 for multiplying and outputting σ i ); A galloise adder 20 for adding and outputting a value output from the galloise multiplier 10 and an intermediate value; A multiplexer (30) for selectively outputting a value output from the galloise adder (20) or a coefficient (σ i ) of an error position polynomial input from the outside according to a selection signal (sel) input from the outside; And a shift register section 40 for shifting the value output from the multiplexer 30, inputting it to the galloche adder 20 as an intermediate value, and outputting as a coefficient Ω i of an error evaluation polynomial. It is.
그리고, 상기 시프트 레지스터부(40)는 다수개의 레지스터(40-1∼40-8)가 직렬로 연결되어, 상기 다중화기(30)를 통해 입력된 값을 심볼 클럭(sym-clk)에 따라 시프트시켜 출력하도록 되어 있다.In the shift register unit 40, a plurality of registers 40-1 to 40-8 are connected in series to shift the value input through the multiplexer 30 according to a symbol clock sym-clk. To make it appear.
한편, 제4도는 본 발명에 따른 리드 솔로몬 복호기에서의 에러 평가 다항식의 계수 계산장치의 타이밍도로서, 외부로부터 입력되는 에러 평가 다항식의 계수(σi)는, 초기 8 심볼 클럭(sym_clk) 기간 동안에 에러 위치 다항식의 1차 계수(σ1)부터 에러 위치 다항식의 8차 계수(σ8)까지 심볼 클럭(sym_clk)에 동기되어 차례로 입력되는 한편, 그 다음에는 8 심볼(sym_clk)을 주기로 에러 위치 다항식의 0차 계수(σ0)부터 에러 위치 다항식의 8차 계수(σ8)까지 차례로 입력된다.4 is a timing diagram of an error evaluation polynomial coefficient calculating device in the Reed Solomon decoder according to the present invention, wherein the coefficient σ i of the error evaluation polynomial input from the outside is received during an initial 8 symbol clock (sym_clk) period. The first order coefficient of the error position polynomial (σ 1 ) to the eighth order coefficient of the error position polynomial (σ 8 ) are input in sequence in synchronization with the symbol clock (sym_clk), followed by the error position polynomial at intervals of eight symbols (sym_clk). the zeroth order coefficient is input in order to 8-th order coefficient of the error locator polynomial from (σ 0) (σ 8) .
그리고 외부로부터 입력되는 신드롬 다항식의 계수(Si)는 초기 8 심볼 클럭(sym_clk) 기간이 지난 후에 신드롬 다항식의 1차 계수(S1)부터 신드롬 다항식의 8차 계수(S8)까지 심볼 클럭(sym_clk)에 동기되어 차례로 입력되는 한편, 0, S1, S2, S3, S4, S5, S6, S7,이 심볼 클럭(sym_clk)에 동기되어 차례대로 입력되고, 그 다음에는 0, 0, S1, S2, S3, S4, S5, S6,이 심볼 클럭(sym_clk)에 동기되어 차례대로 입력되며, 그 다음에는 0, 0, 0, S1, S2, S3, S4, S5이 심볼 클럭(sym_clk)에 동기되어 차례대로 입력되고, 그 다음에는 0, 0, 0, 0, S1, S2, S3, S4이 심볼 클럭(sym_clk)에 동기되어 차례대로 입력되며, 그 다음에는 0, 0, 0, 0, 0, S1, S2, S3이 심볼 클럭(sym_clk)에 동기되어 차례대로 입력되고, 그 다음에는 0, 0, 0, 0, 0, 0, S1, S2이 심볼 클럭(sym_clk)에 동기되어 차례대로 입력되며, 그 다음에는 0, 0, 0, 0, 0, 0, 0, S1이 심볼 클럭(sym_clk)에 동기되어 차례대로 입력된다.The coefficient S i of the syndrome polynomial input from the outside is a symbol clock (S i ) from the first coefficient S 1 of the syndrome polynomial to the eighth order S 8 of the syndrome polynomial after the initial eight symbol clock period (sym_clk) has passed. in synchronization with the sym_clk) is input in turn the other hand, 0, in synchronization with the S 1, S 2, S 3 , S 4, S 5, S 6, S 7, the symbol clock (sym_clk) are inputted in sequence, then to 0, 0, S 1 , S 2 , S 3 , S 4 , S 5 , S 6 , are entered in sequence in synchronization with the symbol clock (sym_clk), followed by 0, 0, 0, S 1 , S 2 , S 3 , S 4 , S 5 are input in sequence in synchronization with the symbol clock (sym_clk), followed by 0, 0, 0, 0, S 1 , S 2 , S 3 , S 4 is the symbol clock (sym_clk). ), And then 0, 0, 0, 0, 0, S 1 , S 2 , and S 3 are input in sequence in synchronization with the symbol clock (sym_clk), followed by 0 and 0. , 0, 0, 0, 0, S 1 , S 2 are synchronized to the symbol clock (sym_clk) Next, 0, 0, 0, 0, 0, 0, 0, and S 1 are sequentially input in synchronization with the symbol clock sym_clk.
그리고, 상기 다중화기(30)로 입력되는 선택신호(sel)는, 초기 8 심볼 클럭(sym_clk) 기간 동안에 1이 되어 초기 8 심볼 클럭(sym_clk) 동안에 입력된 에러 위치 다항식의 계수(σ1∼σ8)를 선택하여 상기 시프트 레지스터부(40)로 입력하고, 초기 8 심볼 클럭(sym_clk) 기간이 지난 후에는 0이 되어 상기 갈로아체 덧셈기(20)에서 출력된 값을 선택하여 상기 시프트 레지스터부(40)로 입력한다.The selection signal sel input to the multiplexer 30 becomes 1 during the initial 8 symbol clock sym_clk period, and the coefficients σ 1 to σ of the error position polynomial input during the initial 8 symbol clock sym_clk. 8 ) is selected and input to the shift register unit 40, and after the initial 8 symbol clock (sym_clk) period has elapsed, the value becomes 0 and selects the value output from the galloche adder 20. Enter 40).
상기와 같이 구성된 본 발명에 따른 리드 솔로몬 복호기의 에러 평가 다항식의 계수 계산장치의 작용 및 효과를 상세히 설명하면 다음과 같다.The operation and effects of the coefficient calculation device of the error evaluation polynomial of the Reed Solomon decoder according to the present invention configured as described above will be described in detail.
초기 8 심볼 클럭(sym_clk) 기간 동안에는 다중화기(30)로 입력되는 선택신호(sel)가 1이므로, 다중화기(30)는 외부로부터 입력된 에러 위치 다항식의 계수(σ1∼σ8)를 시프트 레지스터부(40)로 입력하고, 상기 시프트 레지스터부(40)는 상기 다중화기(30)를 통해 입력된 에러 위치 다항식의 계수(σ1∼σ8)를 시프트 시켜 갈로아체 덧셈기(20)로 입력된다.Since the selection signal sel input to the multiplexer 30 is 1 during the initial 8 symbol clock sym_clk period, the multiplexer 30 shifts the coefficients σ 1 to σ 8 of the error position polynomial input from the outside. The register 40 is input to the register 40, and the shift register 40 is inputted to the galoche adder 20 by shifting the coefficients σ 1 to σ 8 of the error position polynomial input through the multiplexer 30. do.
그리고, 초기 8 심볼 클럭(sym_clk) 기간이 지난 후에 8 심볼 클럭(sym_clk) 기간 동안에는 갈로아체 곱셈기(10)가 외부로부터 입력된 신드롬 다항식의 각 계수(S1∼S8)와 1값을 가지는 에러 평가 다항식의 0차 계수(σ0)를 각각 곱하여 갈로아체 덧셈기(20)로 출력한다.After the initial eight-symbol clock period (sym_clk) has passed, during the eight-symbol clock (sym_clk) period, the galoche multiplier 10 has an error having each coefficient (S 1 to S 8 ) and one value of the syndrome polynomial input from the outside. The zero-order coefficients (σ 0 ) of the evaluation polynomial are respectively multiplied and output to the galloise adder 20.
즉, 갈로아체 곱셈기(10)에서 출력되는 값은 S1, S2, S3, S4, S5, S6, S7, S8이 된다.That is, the values output from the galloise multiplier 10 are S 1 , S 2 , S 3 , S 4 , S 5 , S 6 , S 7 , and S 8 .
그리고, 갈로아체 덧셈기(20)는 상기 갈로아체 곱셈기(10)에서 출력된 값(S1, S2, S3, S4, S5, S6, S7, S8)과 시프트 레지스터부(40)를 통해 시프트되어 출력된 값(σ1∼σ8)을 더하여 S1+σ1, S2+σ2‥‥을 차례대로 출력한다.In addition, the Galoache adder 20 includes a value S 1 , S 2 , S 3 , S 4 , S 5 , S 6 , S 7 , and S 8 outputted from the Galoache multiplier 10 and a shift register unit ( S 1 + σ 1 and S 2 + σ 2 ... Are then outputted by adding the values (σ 1 to σ 8 ) shifted through 40).
상기와 같이 갈로아체 덧셈기(20)에서 출력된 값(S1+σ1, S2+σ2‥‥)은 다중화기(30)로 입력된다. 이때, 상기 다중화기(30)로 입력되는 선택신호(sel)는 0이므로, 상기 갈로아체 덧셈기(20)에서 출력된 값이 시프트 레지스터부(40)로 입력되고, 상기 시프트 레지스터부(40)는 상기 갈로아체 덧셈기(20)에서 출력된 값을 시프트시트 다시 갈로아체 덧셈기(20)로 입력한다.As described above, the values S 1 + σ 1 and S 2 + σ 2 ... Output from the galloise adder 20 are input to the multiplexer 30. In this case, since the selection signal sel input to the multiplexer 30 is 0, a value output from the gallo-adder 20 is input to the shift register unit 40, and the shift register unit 40 The value output from the galloche adder 20 is input to the galloche adder 20 again.
따라서, 상기 시프트 레지스터부(40)를 통해 출력되는 값은 S1+σ1, ‥‥, S8+σ8이 되는 것이다.Therefore, the value output through the shift register section 40 is S 1 + σ 1 ,..., S 8 + σ 8 .
그 다음 8 심볼 클럭(sym_clk) 기간 동안에는, 갈로아체 곱셈기(1)가 외부로부터 입력된 신드롬 다항식의 계수(0, S1∼S7)와 에러 평가 다항식의 1차 계수(σ1)를 각각 곱하여 갈로아체 덧셈기(20)로 출력한다.During the next 8 symbol clock period (sym_clk), the Galloche multiplier 1 multiplies the externally input coefficients (0, S 1 to S 7 ) of the syndrome polynomial by the first order coefficient (σ 1 ) of the error evaluation polynomial, respectively. Output to the galloche adder (20).
즉, 상기 갈로아체 곱셈기(10)에서 출력된 값은 0, S1σ1, ‥‥, S7σ1이 된다.That is, the value output from the galloise multiplier 10 is 0, S 1 σ 1 ,..., S 7 σ 1 .
그리고, 갈로아체 덧셈기(20)는 상기 갈로아체 곱셈기(10)에서 출력된 값(0, S1σ1,‥‥, S7σ1)과 상기 시프트 레지스터(40)에서 출력된 값(S1σ1, ‥‥, S8σ8)을 더하여 S1+σ1, S2+σ2+S1σ1,‥‥, S8+σ8+S7σ1을 차례대로 출력한다.In addition, the galloise adder 20 outputs the value (0, S 1 σ 1 , ..., S 7 σ 1 ) output from the galloise multiplier 10 and the value S 1 output from the shift register 40. in addition to σ 1, ‥‥, S 8 σ 8) and outputs the S 1 + σ 1, S 2 + σ 2 + S 1 σ 1, ‥‥, S 8 + σ 8 + S 7 σ 1 one after the other.
그리고, 상기와 같이 갈로아체 덧셈기(20)에서 출력된 S1+σ1, S2+σ2+S1σ1,‥‥,S8+σ8+S7σ1은 다시 다중화기(30)를 통해 시프트 레지스터 부(40)로 입력된다.As described above, S 1 + σ 1 and S 2 + σ 2 + S 1 σ 1 , ‥‥, S 8 + σ 8 + S 7 σ 1 output from the galloche adder 20 are again multiplexed (30). Is input to the shift register section 40 through.
이와 같은 과정을 반복하면 최종적으로 시프트 레지스터부(40)를 통해 에러 평가 다항식의 각 계수값(σ1∼σ8)이 차례대로 출력되는 것이다.When the above process is repeated, the coefficient values σ 1 to σ 8 of the error evaluation polynomial are finally output through the shift register 40.
이상에서 살펴본 바와 같이 본 발명에 따르면, 다중화기 및 역다중화기를 사용하지 않고 에러 평가 다항식의 계수 계산장치를 구현함으로써 로컬 라우팅(local routing)으로 구현되어, 초 대규모 집적회로(VLSI)로 구현하기 용이한 것이다.As described above, according to the present invention, it is implemented by local routing by implementing a coefficient calculating device of an error evaluation polynomial without using a multiplexer and a demultiplexer, and is easily implemented in an ultra-large scale integrated circuit (VLSI). It is.
이러한 본 발명은 이레이저(erasure)가 없고 에러 평가 다항식이 8차(t=8)의 경우를 예로 들어 설명한 것이며, 이에 한정되지 않는다.The present invention has been described by taking an example where there is no erasure and the error evaluation polynomial is 8th order (t = 8), but is not limited thereto.
Claims (5)
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960005444A KR100192790B1 (en) | 1996-02-29 | 1996-02-29 | Device for calculating coefficient of error-evaluator polynominal in a rs decoder |
DE69700283T DE69700283D1 (en) | 1996-02-28 | 1997-02-28 | Device for determining the error value polynomial for use in a Reed-Solomon decoder |
EP97103367A EP0793352B1 (en) | 1996-02-28 | 1997-02-28 | Apparatus for determining the error evaluator polynomial for use in a Reed-Solomon decoder |
JP04609597A JP3812983B2 (en) | 1996-02-28 | 1997-02-28 | Error evaluation polynomial coefficient calculator |
CN97109998A CN1123980C (en) | 1996-02-28 | 1997-02-28 | Apparatus for determining error evaluator polynomial for use in Reed-Solomon decoder |
US08/810,502 US5787100A (en) | 1996-02-28 | 1997-02-28 | Apparatus for determining error evaluator polynomial for use in a Reed-Solomon decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960005444A KR100192790B1 (en) | 1996-02-29 | 1996-02-29 | Device for calculating coefficient of error-evaluator polynominal in a rs decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970063967A KR970063967A (en) | 1997-09-12 |
KR100192790B1 true KR100192790B1 (en) | 1999-06-15 |
Family
ID=19452302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960005444A Expired - Fee Related KR100192790B1 (en) | 1996-02-28 | 1996-02-29 | Device for calculating coefficient of error-evaluator polynominal in a rs decoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100192790B1 (en) |
-
1996
- 1996-02-29 KR KR1019960005444A patent/KR100192790B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
KR970063967A (en) | 1997-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100192795B1 (en) | Error Position Polynomial Computation Device for Reed Solomon Decoder | |
KR100659265B1 (en) | C.R.C. with parity bits added in reverse order Error detection device and method of code | |
US5805617A (en) | Apparatus for computing error correction syndromes | |
JPH07202723A (en) | Decoder, error detection sequence generator that is used for it and decoding method | |
US4488302A (en) | Burst error correction using cyclic block codes | |
US5822337A (en) | Programmable redundancy/syndrome generator | |
KR100192804B1 (en) | Polynomial Evaluation Apparatus in Reed Solomon Decoder | |
KR100192790B1 (en) | Device for calculating coefficient of error-evaluator polynominal in a rs decoder | |
KR100192788B1 (en) | Device for calculating coefficient of error-evaluator polynominal in a rs decoder | |
KR100212825B1 (en) | Syndrome calculating apparatus of reed solomon decoder | |
KR100195749B1 (en) | Reed solomon decoder | |
JP3241851B2 (en) | Error correction decoding device | |
KR100212830B1 (en) | Syndrome Calculator of Reed Solomon Decoder | |
JP3812983B2 (en) | Error evaluation polynomial coefficient calculator | |
KR100212828B1 (en) | Syndrome calculating apparatus of reed solomon decoder | |
KR100195739B1 (en) | Error Position Polynomial Evaluation Device of Reed Solomon Decoder | |
KR100212829B1 (en) | Syndrome Calculator of Reed Solomon Decoder | |
US20050033791A1 (en) | Single error Reed-Solomon decoder | |
KR100212826B1 (en) | Syndrome calculating apparatus of reed solomon decoder | |
KR100202945B1 (en) | An apparatus for measuring bit error rate in a reed-solomon decoder | |
KR100191248B1 (en) | Reed solomon coder | |
KR100192792B1 (en) | Polynomial evaluator of rs decoder | |
KR100192802B1 (en) | Error value calculation and correction device of Reed Solomon decoder | |
KR100202949B1 (en) | Error corrector of reed-solomon decoder | |
KR100192793B1 (en) | Reed Solomon Decoder Error Corrector |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19960229 |
|
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 19960229 Comment text: Request for Examination of Application |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 19981030 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 19990129 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 19990130 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20011227 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20030107 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20031230 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20041224 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20051226 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20070103 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20080103 Start annual number: 10 End annual number: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20090106 Start annual number: 11 End annual number: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20100104 Start annual number: 12 End annual number: 12 |
|
PR1001 | Payment of annual fee |
Payment date: 20110103 Start annual number: 13 End annual number: 13 |
|
PR1001 | Payment of annual fee |
Payment date: 20120117 Start annual number: 14 End annual number: 14 |
|
FPAY | Annual fee payment |
Payment date: 20130107 Year of fee payment: 15 |
|
PR1001 | Payment of annual fee |
Payment date: 20130107 Start annual number: 15 End annual number: 15 |
|
FPAY | Annual fee payment |
Payment date: 20140106 Year of fee payment: 16 |
|
PR1001 | Payment of annual fee |
Payment date: 20140106 Start annual number: 16 End annual number: 16 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20151209 |