KR100437845B1 - High speed processing methods and circuits of the modified Euclid's algorithm for a Reed-Solomon decoder - Google Patents

High speed processing methods and circuits of the modified Euclid's algorithm for a Reed-Solomon decoder Download PDF

Info

Publication number
KR100437845B1
KR100437845B1 KR10-2001-0047292A KR20010047292A KR100437845B1 KR 100437845 B1 KR100437845 B1 KR 100437845B1 KR 20010047292 A KR20010047292 A KR 20010047292A KR 100437845 B1 KR100437845 B1 KR 100437845B1
Authority
KR
South Korea
Prior art keywords
polynomial
input
cell
deviation
register
Prior art date
Application number
KR10-2001-0047292A
Other languages
Korean (ko)
Other versions
KR20030013013A (en
Inventor
선우명훈
황승중
강진용
Original Assignee
학교법인대우학원
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 학교법인대우학원 filed Critical 학교법인대우학원
Priority to KR10-2001-0047292A priority Critical patent/KR100437845B1/en
Publication of KR20030013013A publication Critical patent/KR20030013013A/en
Application granted granted Critical
Publication of KR100437845B1 publication Critical patent/KR100437845B1/en

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
    • H03M13/1525Determination and particular use of error location polynomials
    • H03M13/1535Determination and particular use of error location polynomials using the Euclid algorithm
    • 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/65Purpose and implementation aspects
    • H03M13/6502Reduction 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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 디지털 통신 및 디지털 데이터 저장 시스템의 채널에서 발생하는 오류 검출과 정정을 위해 널리 사용되고 있는 리드 솔로몬(Reed-Solomon) 복호기의 핵심 연산부인 수정 유클리드 알고리즘 연산 회로에 관한 것으로, 리드 솔로몬 복호기는 부호기에 비해 복잡한 알고리즘과 연산 회로가 필요하기 때문에 효율적인 복호를 위하여 성능이 우수하고 하드웨어 구현이 용이한 수정 유클리드 알고리즘의 고속 연산 방법 및 연산 회로를 제공한다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a modified Euclidean algorithm arithmetic circuit, which is a core operation unit of a Reed-Solomon decoder, which is widely used for error detection and correction in a channel of a digital communication and digital data storage system. Compared to this, complex algorithms and computational circuits are required, and a high-speed computation method and arithmetic circuit of a modified Euclidean algorithm with high performance and easy hardware implementation are provided for efficient decoding.

Description

리드-솔로몬 복호기의 고속 수정 유클리드 알고리즘 연산 방법 및 연산 회로{High speed processing methods and circuits of the modified Euclid's algorithm for a Reed-Solomon decoder}High speed processing methods and circuits of the modified Euclid's algorithm for a Reed-Solomon decoder

본 발명은 디지털 통신 및 디지털 데이터 저장 시스템의 채널에서 발생하는 오류 검출과 정정을 위해 널리 사용되고 있는 리드 솔로몬(Reed-Solomon, 이하 RS라 함) 복호기의 핵심 연산부인 수정 유클리드 알고리즘 연산 회로에 관한 것으로, 리드 솔로몬 복호기는 부호기에 비해 복잡한 알고리즘과 연산 회로가 필요하기 때문에 효율적인 복호를 위하여 성능이 우수하고 하드웨어 구현이 용이한 수정 유클리드 알고리즘의 고속 연산 방법 및 연산 회로를 제공한다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a modified Euclidean algorithm arithmetic circuit, which is a core operation unit of a Reed-Solomon (RS) decoder, which is widely used for error detection and correction in a channel of a digital communication and digital data storage system. Since Reed Solomon decoder requires more complicated algorithm and operation circuit than encoder, it provides high-speed algorithm and operation circuit of modified Euclid's algorithm with high performance and easy hardware implementation for efficient decoding.

상기 RS 복호기는 부호기에 비하여 복잡한 알고리즘과 연산회로가 필요하기 때문에 효율적인 복호를 위한 알고리즘과 구조들이 연구되어 왔다. 일반적으로 FEC(Forward Error Correction) 기법 중에서 연집 오류 정정에 우수한 성능을 보이는 RS 부호는 위성 통신, 이동 통신, ATM(Asynchronous Transfer Mode) 망, 디지털 저장 장치, HDTV 등 다양한 응용 분야에서 사용되고 있다. 또한 최근 신뢰성 있는고속 멀티미디어 데이터 전송을 위해 수백 Mbps 급의 전송 속도를 만족하는 RS 복호기의 필요성이 대두되었다. 따라서 고속 멀티미디어 데이터 전송이 가능하고 작은 면적으로 구현이 가능한 RS 복호기가 많이 발표되었다.Since the RS decoder requires more complicated algorithms and arithmetic circuits than the encoder, algorithms and structures for efficient decoding have been studied. In general, RS codes, which show excellent performance in concatenation error correction among forward error correction (FEC) techniques, are used in various applications such as satellite communication, mobile communication, ATM (Asynchronous Transfer Mode) network, digital storage device, and HDTV. In addition, the need for an RS decoder that satisfies a transmission rate of several hundred Mbps has recently emerged for reliable high-speed multimedia data transmission. Therefore, many RS decoders capable of high-speed multimedia data transmission and small footprints have been introduced.

상기 RS(n,k,t) 부호에서n은 부호 심볼 수,k는 정보 심볼 수,t는 오류 정정 가능 심볼 수를 나타내며t는 (n - k) / 2 이다. 일반적인 RS 부호의 복호 과정은 신드롬 다항식(syndrome polynomial) 계산, 오류 위치 다항식(error locator polynomial) 및 오류 크기 다항식(error magnitude polynomial) 계산, 오류 위치 및 오류 값 계산, 오류 정정의 다섯 단계로 구분할 수 있다. 이 중에서 오류 위치 다항식 및 오류 크기 다항식을 구하기 위한 키 방정식(key equation) 연산은 전체 연산 수행 시간 중 가장 많은 부분을 차지하며 하드웨어 복잡도가 가장 크다. 따라서 키 방정식 연산 구조는 RS 복호기의 성능을 결정하는 중요한 부분이다.In the RS ( n , k , t ) code, n is the number of code symbols, k is the number of information symbols, t is the number of error correctable symbols, and t is ( n-k ) / 2. The general RS code decoding process can be divided into five steps: calculation of syndrome polynomial, error locator polynomial and error magnitude polynomial, error location and error value calculation, and error correction. . Among them, the key equation operation for calculating the error position polynomial and the error magnitude polynomial occupies the largest part of the total computation time and has the largest hardware complexity. Therefore, the key equation calculation structure is an important part of determining the performance of the RS decoder.

키 방정식 연산을 위한 알고리즘으로 벨르캄프-메시(Berlekamp-Massey) 알고리즘, 유클리드 알고리즘, 수정 유클리드 알고리즘이 있다. 벨르캄프-메시 알고리즘은 유클리드 알고리즘보다 하드웨어 복잡도는 작으나 고속 구현이 어렵다. 유클리드 알고리즘은 두 정수 또는 두 다항식의 최대 공약수를 구하는 알고리즘으로 이를 이용하여 오류 위치 다항식 및 오류 크기 다항식을 빠르게 찾아낼 수 있다. 상기 유클리드 알고리즘은 유한체 연산의 역원이 사용되므로 이를 위한 LUT(Look Up Table)가 필요하다. 그러나 수정 유클리드 알고리즘은 LUT를 필요로 하지 않으므로 LUT 사용으로 발생하는 속도 지연을 줄일 수 있는 장점이 있다.Algorithms for computing key equations include the Berlekamp-Massey algorithm, the Euclidean algorithm, and the modified Euclidean algorithm. The Belkamp-Mesh algorithm has less hardware complexity than the Euclidean algorithm, but is difficult to implement at high speed. Euclid's algorithm finds the greatest common divisor of two integers or two polynomials and can quickly find the error location polynomial and the error magnitude polynomial. The Euclidean algorithm requires a look up table (LUT) for the inverse of the finite field operation. However, since the modified Euclidean algorithm does not require the LUT, it has the advantage of reducing the speed delay caused by using the LUT.

수정 유클리드 알고리즘은 최고차항을 소거하여 반복적으로 차수를 줄이는방식으로 오류 위치 및 오류 크기 다항식을 구하기 위해 수학식1과 같이 초기값을 정한다. S(x)는 신드롬 다항식이다.The modified Euclidean algorithm determines the initial value as shown in Equation 1 to obtain the error position and error magnitude polynomial by eliminating the highest order term and repeatedly decreasing the order. S (x) is a syndrome polynomial.

수학식2와 수학식3은 각각번 반복 연산이 수행될 경우 다항식,의 관계식이다.는 다항식,의 최고차항의 계수이며,는 다항식,의 차수에 따라 값이 결정된다.는 각각 다항식,의 차수(degree)를 나타낸다.Equations 2 and 3 are respectively Polynomials when one iteration is performed Wow , Wow Is a relational expression of. Wow Is a polynomial , Is the coefficient of the highest order term in, Wow Is a polynomial , The value is determined by the order of. Wow Are each polynomial , Represents the degree of.

가 되면 반복연산을 멈추게 되고 이 때의가 각각 오류 크기 다항식과 오류 위치 다항식이 된다. When it stops repeating operation Wow Are error magnitude polynomials and error location polynomials, respectively.

수정 유클리드 알고리즘 연산 회로의 ASIC 설계시 하드웨어 크기와 연산 수행 시간을 줄이기 위한 방법으로 시스톨릭 어레이(systolic array), 파이프라인 기법, 병렬 처리 구조 등이 제안되었다.In order to reduce hardware size and computation time in ASIC design of modified Euclidean algorithm computation circuits, systolic array, pipeline technique, parallel processing architecture, etc. have been proposed.

상기 수정 유클리드 알고리즘 연산 회로는 상기 수학식1 부터 수학식4의 다항식을 연산하기 위한 것으로, 수정 유클리드 알고리즘 기본 셀의 연산 흐름은 도1에 도시된 바와 같다.The modified Euclidean algorithm calculation circuit is for calculating the polynomials of Equations 1 to 4, and the operation flow of the modified Euclidean algorithm basic cell is shown in FIG.

또한, 도2는 종래의 수정 유클리드 알고리즘 연산 회로에서의 기본 셀의 한 실시예로서 기본 셀을 시스톨릭 어레이 형태로 배열하여 전체 알고리즘을 연산하는 구조로 되어 있으며, 알고리즘 연산을 위해 2t개의 셀이 사용된다. 상기 기본 셀은 2 개의 다항식 연산 유닛, 차수 계산 및 비교 회로, 멀티플렉서, 지연 버퍼로 구성되어 있다.In addition, Figure 2 is an embodiment of the basic cell in the conventional modified Euclidean algorithm arithmetic circuit has a structure for calculating the overall algorithm to arrange the basic cells in a systolic array pattern, the second t cells for algorithm operation Used. The base cell consists of two polynomial operation units, an order calculation and comparison circuit, a multiplexer, and a delay buffer.

또한, 도3a 및 도3b는 종래의 수정 유클리드 알고리즘 기본 셀과 그 기본 셀을 갖는 연산회로의 실시예로서 상기 도2와 동일한 구조를 지니고 있으며 여러 개의 셀을 시스톨릭 어레이 형태로 배열하지 않고 셀의 출력을 궤환시켜 반복적으로 이용하는 구조로 되어 있다. RS(n, k) 부호를 처리하는 경우 알고리즘 연산 수행을 위해 [(n - k)2/n]개의 셀을 사용하며n - k번 반복 연산을 수행한다. [x]는 x보다 작은 최대 정수이다. 각 반복 연산마다n - k클럭이 필요하므로 (n - k)2의 클럭 지연이 발생하여 고속 동작이 어렵다.3A and 3B show an embodiment of a conventional modified Euclidean algorithm base cell and an operation circuit having the base cell, which has the same structure as that of FIG. 2 and does not arrange a plurality of cells in a systolic array. The output is fed back and used repeatedly. When processing the RS ( n, k ) code, [( n-k ) 2 / n ] cells are used to perform the algorithm operation and n-k iterations are performed. [x] is the largest integer less than x. Since each n-k clock is required for each repetitive operation, a clock delay of ( n-k ) 2 occurs and high-speed operation is difficult.

또한 도4a 및 도4b는 종래의 수정 유클리드 알고리즘 연산 회로에 2t개의 기본 셀을 사용한 수정 유클리드 알고리즘 연산 회로의 기본 셀과 전체 구조를 나타낸 것이다. 기본 셀은 차수 계산 회로와 다항식 연산 회로로 구성되어 있으며 차수 계산 회로에서 생성한 제어 신호를 통하여 다항식 연산 회로를 제어한다.4A and 4B show the basic cell and overall structure of the modified Euclidean algorithm calculation circuit using 2 t basic cells in the conventional modified Euclidean algorithm calculation circuit. The basic cell consists of an order calculation circuit and a polynomial calculation circuit, and controls the polynomial calculation circuit through a control signal generated by the order calculation circuit.

상기 종래의 수정 유클리드 알고리즘 기본 셀은 기본적으로 도1의 연산 흐름도를 하드웨어로 구현한 것으로, 도2, 도3a, 3b 그리고 도4a, 4b의 경우에 기본 셀마다 차수 계산 회로가 필요하다. 다항식 차수 계산 회로는 알고리즘 연산에서 대부분의 연산 및 제어를 담당하고 있으며 하드웨어 복잡도 역시 큰 비중을 차지하고 있다.The conventional modified Euclidean algorithm basic cell basically implements the calculation flowchart of FIG. 1 in hardware. In the case of FIGS. 2, 3A, 3B, and 4A and 4B, an order calculation circuit is required for each basic cell. Polynomial order calculation circuits are responsible for most of the computation and control in algorithmic computation, and hardware complexity is also a big part.

종래 수정 유클리드 알고리즘 기본 셀의 동작은 도1의 흐름도를 기본으로 하고 있으며, 도1의 연산을 수행하기 위한 세부 구조들과 셀 배열 방식에 따라 조금씩 차이가 있을 뿐이다. 도1에서 이전 단계의 기본 셀로부터 다항식,,,,의 차수,가 입력된다. 먼저t와 비교한다.t보다 작을 경우를 다음 셀로 출력하며t보다 작을 경우를 다음 셀로 출력한다.모두t보다 클 경우는 두 개를 비교하여보다 클 경우 각각,,를 교환한다. 다항식 및 차수의 교환은 멀티플렉서를 사용하여 이루어진다.The operation of the conventional modified Euclidean algorithm basic cell is based on the flowchart of FIG. 1, and only slightly differs according to the detailed structures and the cell arrangement scheme for performing the operation of FIG. 1. Figure 1 polynomial from the base cell of the previous step , , , Wow , Degree of , Is input. first Wow Compare t with t . Is less than t Outputs to the next cell Is less than t Outputs to the next cell. Wow If both are greater than t , compare the two end Greater than Wow , Wow , Wow Replace it. The exchange of polynomials and orders is made using a multiplexer.

다항식의 교환 여부가 결정되면 입력되는의 첫 계수가 0인지를 판별한다. 만일 첫 계수가 0이면 실제의 계수는보다 하나 작으므로이 되고t보다 작은지 비교한다. 만일t보다 작다면가 되고 알고리즘 연산을 종료한다.의 첫 계수가 0이 아닐 경우이 되고t보다 작은지 비교한다.t보다 작을 경우,를 계산하고 알고리즘 연산을 종료한다. 이 때가 된다.t보다 클 경우에는,를 계산하고 연산을 계속 수행한다. 연산이 종료되면가 각각 오류 크기 다항식과 오류 위치 다항식이 된다.Entered when the polynomial is determined Determine if the first coefficient of is 0. If the first coefficient is zero then the actual The coefficient of One less than Become this Compare if this is less than t . if If this is less than t Ends the algorithm operation. If the first coefficient of is not zero Become this Compare if this is less than t . Is less than t , Calculate and terminate the algorithm operation. At this time Becomes If this is greater than t , Calculate and continue the operation. When the operation ends Wow Are error magnitude polynomials and error location polynomials, respectively.

도2의 수정 유클리드 알고리즘 연산 회로의 기본셀에서 '시작 신호'는 다항식의 시작을 의미하는 것으로 이 신호가 1일 때부터 다항식의 계수가 유효하다. 도2의 구조는 기본 셀마다 차수 계산 회로가 포함되어 있으므로 셀의 하드웨어 복잡도가 커지고 부가적인 클럭 지연이 발생하는 문제점이 있었다.In the basic cell of the modified Euclidean algorithm of FIG. 2, the "start signal" means the start of the polynomial, and the coefficient of the polynomial is valid when this signal is one. Since the structure of FIG. 2 includes an order calculation circuit for each basic cell, there is a problem that the hardware complexity of the cell increases and an additional clock delay occurs.

다음에 도3의 수정 유클리드 알고리즘 연산 회로의 기본 셀은 도2의 기본 셀과 동일한 구조로 되어 있으며 궤환 구조를 이용해 기본 셀을 반복적으로 사용하므로 수정 유클리드 알고리즘 연산을 수행할 때 기본 셀의 수를 줄일 수 있는 장점이 있다. 그러나 기본 셀이n - k번 반복 연산을 수행해야 하며 각 반복 연산마다n - k번의 클럭 지연이 발생하므로 총 (n - k)2의 클럭 지연이 발생하여 고속 동작이 어렵다는 문제점이 있다.Next, the basic cell of the modified Euclidean algorithm calculation circuit of FIG. 3 has the same structure as that of the basic cell of FIG. 2, and the basic cell is repeatedly used by the feedback structure, thereby reducing the number of basic cells when performing the modified Euclidean algorithm operation. There are advantages to it. However, the basic cell is n - there is a high-speed operation is difficult and the delay of the clock 2 - (k n) occurred the problem - the need to perform one iteration, each iteration k n for each k, so a single clock delay gun.

다음에 도4의 수정 유클리드 알고리즘 연산 회로는 2t개의 기본 셀로 이루어져 있다. 기본 셀은 도3의 기본 셀과 마찬가지로 다항식 연산 회로와 차수 계산 회로의 두 부분으로 구성된다. 다항식 연산 회로는 14 개의 레지스터, 12 개의 2-입력 멀티플렉서, 4 개의 유한체 곱셈기, 2 개의 유한체 덧셈기로 구성되어 있다. 차수 계산 회로는 8 개의 레지스터, 7 개의 2-입력 멀티플렉서, 2 개의 뺄셈기, 2 개의 비교기, 쉬프트 레지스터 등으로 구성되어 있다. 도4a의 차수 계산 회로는 두 가지 제어 신호를 생성하여 다항식 연산 회로를 제어한다. 입력단 멀티플렉서의 선택 신호인 '교환 신호' 는 수학식2와 수학식3의 다항식 연산을 위한 다항식 교환 여부를 제어한다. 차수 계산 블록에서 두 다항식의 차수를 비교하여 교환 조건을 판단한다.의 차수가의 차수보다 크면 교환 신호는 1로 되고 입력단 멀티플렉서 출력은 다항식, 다항식의 위치가 서로 교환되어 출력된다.Next, the modified Euclidean algorithm arithmetic circuit of FIG. 4 is composed of 2 t basic cells. The basic cell, like the basic cell of FIG. 3, is composed of two parts: a polynomial operation circuit and an order calculation circuit. The polynomial arithmetic circuit consists of 14 registers, 12 two-input multiplexers, four finite field multipliers, and two finite field adders. The order calculation circuit consists of eight registers, seven two-input multiplexers, two subtractors, two comparators, a shift register, and so on. The order calculation circuit of FIG. 4A generates two control signals to control the polynomial arithmetic circuit. The 'exchange signal', which is a selection signal of the input multiplexer, controls whether the polynomial is exchanged for the polynomial operation of Equations (2) and (3). Two polynomials in order calculation block Wow The order of exchange is determined by comparing the orders of. Degree of If the order is greater than, the exchange signal is 1 and the input multiplexer output is polynomial. Wow , Polynomial Wow The positions of are exchanged with each other and output.

두 번째 제어 신호 '중지 신호' 는 다항식 연산의 중단 신호이며 출력단의멀티플렉서 선택 신호로 사용된다. '교환 신호'를 선택 신호로 하는 입력단 멀티플렉서를 통과한에 각 다항식의 최고차항 계수를 서로 다른 다항식에 곱한 후 두 다항식의 차를 구한다. 계산된 두 다항식의 차는가 되어 다음 상태의 반복 연산에 사용된다.의 경우도 동일한 방법으로 계산이 되므로 두 쌍의 다항식 연산 구조는 동일하게 구성되어 있다.의 차수가t보다 작을 경우 반복 연산을 중단하는 신호를 생성한다. 연산 중단 신호는 다항식 연산 회로 출력단의 멀티플렉서의 선택 신호로 입력되어 연산이 수행되지 않은 이전 상태의 데이터를 출력한다. 전체 수정 유클리드 알고리즘 연산 회로는 2t개의 기본 셀이 시스톨릭 어레이 형태로 구성되어 있다.The second control signal 'Stop Signal' is a stop signal for polynomial operation and is used as the multiplexer selection signal at the output stage. Passed through the input multiplexer with 'exchange signal' as the selection signal Wow Multiply the highest order term coefficients of each polynomial by the different polynomials, and find the difference between the two polynomials. The difference between the two polynomials It is used to iterate in the next state. Wow In the case of, the two pairs of polynomial operations are constructed identically. If the order of is less than t , generate a signal to stop the iterative operation. The operation stop signal is input as a selection signal of the multiplexer at the output terminal of the polynomial operation circuit to output data of a previous state in which the operation is not performed. The entire modified Euclidean algorithm computation circuit consists of 2 t basic cells in the form of a systolic array.

상술한 바와 같이 종래의 수정 유클리드 알고리즘 연산 회로의 기본 셀은 다항식의 차수를 계산하고 연산 중단 신호를 생성하기 위한 차수 계산 회로와 오류 위치 다항식 및 오류 크기 다항식을 구하는 다항식 연산 회로의 두 부분으로 이루어져 있다. 차수 계산 회로는 덧셈기, 비교기, 레지스터, 멀티플렉서 등으로 구성되어 있으며 기본 셀에서 대부분의 연산 및 제어를 수행한다. 따라서 각 기본 셀마다 차수 계산 회로를 사용하여 수정 유클리드 알고리즘 회로를 구현할 경우 하드웨어 복잡도가 커지고 부가적인 클럭 지연이 발생하는 문제점이 있었다.As described above, the basic cell of the conventional modified Euclidean algorithm calculation circuit consists of two parts: an order calculation circuit for calculating the order of the polynomial and generating an operation stop signal, and a polynomial calculation circuit for obtaining the error position polynomial and the error magnitude polynomial. . The order calculation circuit consists of an adder, a comparator, a register, and a multiplexer, and performs most operations and control in the base cell. Therefore, when the modified Euclidean algorithm circuit is implemented using the order calculation circuit for each basic cell, there is a problem in that hardware complexity increases and additional clock delay occurs.

따라서, 본 발명은 RS 부호의 고속 복호를 위한 수정 유클리드 알고리즘 회로의 효율적인 하드웨어 구조를 설계하여 고성능 RS 복호기의 회로를 제공하는 것을 목적으로 한다.Accordingly, an object of the present invention is to provide a circuit of a high performance RS decoder by designing an efficient hardware structure of a modified Euclidean algorithm circuit for fast decoding of an RS code.

상기 목적을 달성하기 위하여 본 발명은 RS 복호기의 오류 크기 다항식과 오류 위치 다항식이 되는 수정 유클리드 알고리즘 연산방법에 있어서, 상위 셀 2t의 계수인및 Q편차를 입력하는 단계와; 상기 입력된,의 값들이 모두 0이 아닐 경우 Q 편차가 0이면 다항식의 교환 연산을 수행하고 Q편차를 1 증가시키고, Q 편차가 0이 아닐 경우, 상기다항식에 의해이 1일 때의 연산을 수행하고 Q편차 1을 감소시키는 단계와; 상기 입력된,의 값들 중은 0이 아니고,은 0일 경우의 계수를 오른쪽으로 한번 이동시켜의 최고차항 계수의 상위 셀 2t에 위치하도록 하고, Q편차를 1 증가시키는 단계와; 상기 입력된,의 값들이 모두 0인 경우 모든 다항식의 계수를 오른쪽으로 한번 이동시키고, Q 편차를 리셋시키는 단계와; 상기,의 값들 중은 0이고,은 0이 아닌 경우의 계수를 오른쪽으로 한번 이동시키고, Q편차가 0이면 다항식의 교환 연산 및 Q편차를 2 만큼 증가시키고, Q편차가 0이 아닐 경우 Q편차를 1 감소시키는 단계를 포함하여서, 상위 셀 2t에 다항식의 최고차항 계수가 위치할 수 있도록 연산을 수행하며 최대 2t+1번 반복 수행하는 RS 복호기의 고속 수정 알고리즘 연산방법을 특징으로 한다.The present invention to achieve the above object, according to the modified Euclidean algorithm operation how the error magnitude polynomial and the error locator polynomial in the RS decoder, the coefficients of the upper cell 2 t and And inputting a Q deviation; Input above , If the values of are not all zeros, if the Q deviation is 0, the exchange operation of the polynomial is performed, and if the Q deviation is not 0, the Q deviation is not 0. By polynomial Performing the operation when this is 1 and reducing the Q deviation 1; Input above , Of the values of Is not zero, Is 0 Wow Move the coefficient of to the right once Increasing the Q deviation by 1 and placing it in the upper cell 2 t of the highest order coefficient of; Input above , Shifting the coefficients of all polynomials to the right once if all of the values of 0 are zero, and resetting the Q deviation; remind , Of the values of Is 0, Is not zero Wow A and once to move the coefficient to the right, the upper cell 2 t hayeoseo comprising the step of: if Q deviation is zero increase the switch operation and Q deviation of the polynomial by 2 and, in the case where Q deviation is not zero reduce the Q deviation 1 Polynomial Wow It is characterized by a fast correction algorithm operation method of the RS decoder which performs the calculation so that the highest order coefficient can be located and repeats it up to 2 t +1 times.

또한, 상기 고속 수정 알고리즘 연산방법을 수행하기 위하여, 연산 초기값,와 이전 셀에서의 이동 값,와 다항식의 연산 또는 교환 연산이 수행될 경우의 입력,와 레지스터 입력을 초기화하기 위한 0 을 입력으로 하는 2 개의 4-입력 멀티플렉서와, 상기 4-입력 멀티플렉서의 출력과 이전 상태의 레지스터 출력을 입력으로 하는 2 개의 2-입력 멀티플렉서와, 로드 신호가 입력될 경우 2-입력 멀티플렉서의 출력을 저장하는 레지스터와, 상기 레지스터 출력과또는와의 유한체 곱셈을 수행하는 두 개의 유한체 곱셈기와, 상기 두 개의 유한체 곱셈기 출력을 입력으로 하는 유한체 덧셈기와, 상기 유한체 덧셈기의 출력이 다음 셀의 4-입력 멀티플렉서의 입력으로 사용되는 다수의 수정 유클리드 알고리즘의 상위 셀과; 연산 초기값,와 이전 셀에서의 이동 값,와 다항식의 연산 또는 교환 연산이 수행될 경우의 입력,와, 레지스터 입력을 초기화하기 위한 0 을 입력으로 하는 2 개의 4-입력 멀티플렉서와, 상기 4-입력 멀티플렉서의 출력과 이전 상태의 레지스터 출력을 입력으로 하는 2 개의 2-입력 멀티플렉서와, 로드 신호가 입력될 경우 2-입력 멀티플렉서의 출력을 저장하는 레지스터와, 상기 레지스터 출력과또는와의 유한체 곱셈을 수행하는 두 개의 유한체 곱셈기와, 상기 두 개의 유한체 곱셈기 출력을 입력으로 하는 유한체 덧셈기와, 상기 유한체 덧셈기의 출력이 다음 셀의 4-입력 멀티플렉서의 입력으로 사용되는 다수의 수정 유클리드 알고리즘의 하위 셀을 포함하는 RS 복호기의 고속 수정 유클리드 알고리즘 연산 회로를 특징으로 한다.In addition, in order to perform the fast correction algorithm calculation method, the operation initial value , And shift value from previous cell , Input when arithmetic and polynomial or exchange operations are performed , And two four-input multiplexers with zero inputs for initializing the register inputs, two two-input multiplexers with inputs of the output of the four-input multiplexer and the register output of the previous state, and a load signal to be input. A register to store the output of the two-input multiplexer, and or Two finite field multipliers for performing a finite field multiplication with a finite field multiplier, a finite field adder with the two finite field multiplier outputs, and an output of the finite field adder as a input of a 4-input multiplexer of the next cell The upper cell of the modified Euclidean algorithm; Operation initial value , And shift value from previous cell , Input when arithmetic and polynomial or exchange operations are performed , And two four-input multiplexers with zero inputs for initializing register inputs, two two-input multiplexers with outputs of the four-input multiplexer and the register outputs of the previous state, and a load signal being input. Register for storing the output of the two-input multiplexer, or Two finite field multipliers for performing a finite field multiplication with a finite field multiplier, a finite field adder with the two finite field multiplier outputs, and an output of the finite field adder as a input of a 4-input multiplexer of the next cell A fast modified Euclidean algorithm computation circuit of an RS decoder comprising a lower cell of the modified Euclidean algorithm.

도1은 종래의 수정 유클리드 알고리즘 연산방법을 순차적으로 나타낸 도면.1 is a diagram showing a conventional modified Euclidean algorithm calculation method sequentially.

도2는 도1의 연산방법을 실행하기 위한 수정 유클리드 알고리즘 기본 셀의 한 실시예를 나타낸 도면.FIG. 2 illustrates one embodiment of a modified Euclidean algorithm base cell for executing the computation method of FIG.

도3a는 도1의 연산방법을 반복 연산하기 위한 수정 유클리드 알고리즘의 기본 셀의 한 실시예를 나타낸 도면.3A illustrates one embodiment of a basic cell of a modified Euclidean algorithm for iteratively computing the computation method of FIG.

도3b는 도3a의 기본 셀을 갖는 수정 유클리드 알고리즘 연산회로를 나타낸 도면.FIG. 3B illustrates a modified Euclidean algorithm computation circuit with the base cell of FIG. 3A; FIG.

도4a는 도1의 연산방법을 실행하기 위한 수정 유클리드 알고리즘 기본 셀의 다른 실시예를 나타낸 도면.FIG. 4A illustrates another embodiment of a modified Euclidean algorithm base cell for executing the computation method of FIG.

도4b는 도4a의 기본 셀을 갖는 수정 유클리드 알고리즘 연산회로를 나타낸 도면.FIG. 4B illustrates a modified Euclidean algorithm computation circuit with the base cell of FIG. 4A; FIG.

도5는 본 발명에 따른 수정 유클리드 알고리즘의 연산방법을 순차적으로 나타낸 도면.5 is a view sequentially showing a calculation method of a modified Euclidean algorithm according to the present invention.

도6은 도5의 연산방법을 실행하기 위한 수정 유클리드 알고리즘 기본셀과 셀 간의 연결 관계를 나타낸 도면.6 is a diagram illustrating a connection relationship between a modified Euclidean algorithm base cell and a cell for executing the calculation method of FIG.

도7은 본 발명에 따른 수정 유클리드 알고리즘 연산회로를 나타낸 도면.7 illustrates a modified Euclidean algorithm computation circuit in accordance with the present invention.

이하, 첨부된 도면을 참조로 하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

먼저, 도5는 본 발명에 따른 수정 유클리드 연산의 흐름을 나타낸 것이다. 종래의 수정 유클리드 알고리즘 연산 방법은 최대 4번의 비교를 통하여 연산을 수행하나 본 발명에 따른 연산방법은 도5에 도시한 바와 같이 최대 총 3번의 비교 연산을 수행하며 기존 연산 흐름에 비하여 간단한 연산 흐름을 나타낸다. 또한 종래의 연산은 기본 셀 마다 도1에 도시된 바와 같은 알고리즘 연산을 수행하여 총 2t개의 차수 계산 회로가 필요하다. 그러나 본 발명의 수정 유클리드 알고리즘 연산 회로는 하나의 독립된 제어 블록을 통하여 연산을 수행하므로 하드웨어 수를 줄일 수 있다.First, Figure 5 shows the flow of the modified Euclidean operation according to the present invention. Conventional modified Euclidean algorithm calculation method performs the calculation through a maximum of four comparisons, but the calculation method according to the present invention performs a maximum of three comparison operations as shown in FIG. Indicates. In addition, the conventional operation requires a total of 2 t order calculation circuits by performing algorithm operations as shown in FIG. 1 for each basic cell. However, the modified Euclidean algorithm calculation circuit of the present invention performs the operation through one independent control block, thereby reducing the number of hardware.

다음에, 도6은 본 발명에 따른 수정 유클리드 알고리즘 연산 회로의 기본 셀과 셀 사이의 연결 구조를 나타낸 것이고, 도7은 본 발명에 따른 전체 수정 유클리드 알고리즘 연산 회로를 나타낸 것이다. 도시한 바와 같이 4t+ 3 개의 기본 셀을 시스톨릭 어레이 방식으로 연결하여 하드웨어의 크기 부담을 줄이면서 효율적으로 반복적인 수정 유클리드 알고리즘을 연산할 수 있도록 하였다. 도7의 상위 셀은 수학식2의 다항식을 연산하기 위한 회로이며, 하위 셀은 수학식3의 다항식을 연산하기 위한 것이다.i는 현재 반복되는 연산 순서이며k는 셀의 번호(차수)를 나타내며 0≤k≤2t의 범위를 갖는다.Next, Fig. 6 shows the connection structure between the base cell and the cell of the modified Euclidean algorithm calculation circuit according to the present invention, and Fig. 7 shows the entire modified Euclidean algorithm calculation circuit according to the present invention. As shown in the drawing, 4 t + 3 basic cells are connected in a systolic array method so that a repetitive modified Euclidean algorithm can be efficiently calculated while reducing the size burden of hardware. The upper cell of FIG. 7 is a circuit for calculating the polynomial of Equation 2, and the lower cell is for calculating the polynomial of Equation 3. I is a repeating operation order, k is the number (order) of the cell, and 0 ≤ k ≤ 2 t .

상기 도5에 도시한 수정 유클리드 알고리즘 연산 방법에서 상위 셀 2t의 계수인는 상위 셀 2t의 계수, 즉 다항식,의 최고차항 계수이며 'Q 편차'는의 차수를 맞추기 위한 제어 신호로 'Q 편차'가 0이면 수학식2에서의 교환 연산이 수행된다. 상위 셀 2t의 두 다항식 계수를 검색하여 그 계수가 0인지 아닌지에 따라 연산 흐름이 다음 4 가지 경우로 나뉘어진다. 여기서 기본 셀들의 수 t=16이라 할 때, 상위 셀 16의 계수는,이며, 이는 기본 셀들을 시스톨릭 어레이 방식으로 연결하기 위한 것이다.In a modified Euclidean algorithm operation method shown in FIG. 5 of the coefficient of the parent cell 2 t and Is the coefficient of the upper cell 2 t , that is, the polynomial , Is the highest order coefficient of 'Q deviation' Wow If the 'Q deviation' is 0 as a control signal for matching the order of, the exchange operation of Equation 2 is performed. The operation flow is divided into four cases according to whether two polynomial coefficients of the upper cell 2t are searched and whether the coefficients are zero or not. Here, when the number of basic cells t = 16, the coefficient of the upper cell 16 is , This is for connecting basic cells in a systolic array manner.

첫 번째,,경우, 두 다항식의 최고차항 계수가 0이 아니므로 'Q 편차'가 0이면 다항식의 교환 연산을 수행하고 'Q 편차'를 1 만큼 증가시킨다. 'Q 편차'가 0이 아닐 경우에는 수학식2의이 1일 때의 연산을 수행하고 'Q 편차'를 1 감소시킨다.first, , In this case, since the highest coefficient of the two polynomials is not zero, if the 'Q deviation' is 0, the exchange operation of the polynomial is performed and the 'Q deviation' is increased by one. If the 'Q Deviation' is not 0, Equation 2 The operation when this is 1 is performed and the 'Q deviation' is decreased by one.

두 번째,,경우,의 계수를 오른쪽으로 한 번 이동시켜의 최고차항 계수가 상위 셀 2t에 위치하도록 한다. 이 때 'Q 편차'는 1 증가시킨다.second, , Occation, Wow Move the coefficient of to the right once Let the highest order coefficient of be in the upper cell 2 t . At this time, the 'Q deviation' is increased by one.

세 번째,,경우, 모든 다항식의 계수를 오른쪽으로 한 번 이동시키고 'Q 편차'는 1 리셋시킨다.third, , If so, move the coefficients of all polynomials once to the right and reset the 'Q deviation' to one.

네 번째,,경우,,의 계수를 오른쪽으로 한 번 이동시킨다. 이 때 'Q 편차'가 0이면 다항식의 교환 연산을 수행하고 'Q 편차'를 2 증가시키며, 0이 아니면 'Q편차'를 1 감소시킨다.fourth, , Occation, , Move the coefficient of to the right once. At this time, if the 'Q deviation' is 0, the exchange operation of the polynomial is performed, and the 'Q deviation' is increased by 2, and if it is not 0, the 'Q deviation' is decreased by 1.

상술한 바와 같은 수정 유클리드 알고리즘 연산 방법은 항상 상위 셀 2t에 다항식의 최고차항 계수가 위치할 수 있도록 연산을 수행하며 최대 2t+1번 반복 수행되면 최종 결과인 오류 위치 다항식과 오류 크기 다항식을 구할 수 있다.The modified Euclidean algorithm computation method as described above is always polynomial in the upper cell 2 t Wow The calculation is performed so that the highest order coefficient of can be located. If it is repeated up to 2 t +1 times, the final position error polynomial and error magnitude polynomial can be obtained.

도6은 상술한 도5의 연산 방법을 수행하기 위한 수정 유클리드 알고리즘 기본 셀과 그 연결 관계를 나타낸 것이다. 상위 셀과 하위 셀의 동작은 동일하므로 상위 셀을 예로 들어 동작을 설명한다. 4-입력 멀티플렉서의 선택 신호는,이 0인지 아닌지에 따라 결정되며 상기 도5의 설명과 같은 4 가지 상태에 따라 입력을 선택하는 2비트 지시 신호가 사용된다. 4-입력 멀티플렉서의 입력은, 첫째, 수정 유클리드 알고리즘 연산의 초기 값,, 둘째, 이전 셀에서 이동된 값인,, 셋째, 다항식의 연산 또는 교환 연산이 수행될 경우의 입력,, 넷째, 레지스터 입력을 초기화하기 위한 0 입력으로 이루어진다. 로드0, 로드1은 각각,의 값을 저장하는 레지스터의 데이터 입력 신호로 그 값이 1 일 때 레지스터에 4-입력 멀티플렉서의 출력 값이 저장된다. 로드0나 로드1의 값이 0일 경우 레지스터는 이전 상태의 값을 유지한다. 두 개의 레지스터 출력은 두 개의 유한체 곱셈기의 입력으로 사용되며 각각,의 유한체 곱셈 결과를 출력한다. 두 개의 유한체 곱셈기 출력은 유한체 덧셈기로 입력되며 유한체 덧셈기의 출력은 다음 기본 셀의 멀티플렉서 입력으로사용된다.FIG. 6 illustrates a modified Euclidean algorithm base cell and its connection relationship for performing the calculation method of FIG. Since the operation of the upper cell and the lower cell is the same, the operation will be described using the upper cell as an example. The select signal for a 4-input multiplexer is , Is determined according to whether or not 0, and a 2-bit indication signal for selecting an input according to four states as described in FIG. 5 is used. The input of the 4-input multiplexer is, first, the initial value of the modified Euclidean algorithm operation. , , Second, the value shifted from the previous cell , , Third, when a polynomial or exchange operation is performed , Fourth, it consists of zero inputs for initializing register inputs. Load 0, load 1 Wow , Wow The data input signal of the register that stores the value of. When the value is 1, the output value of the 4-input multiplexer is stored in the register. If the value of load 0 or load 1 is 0, the register retains the value of the previous state. Two register outputs are used as inputs to two finite field multipliers, each of which is Wow , Wow Outputs the finite field multiplication result of. The two finite multiplier outputs are input to the finite field adder and the output of the finite field adder is used as the multiplexer input of the next basic cell.

상기 로드0, 로드1, 지시 신호는 독립된 제어 블록에서 생성되며의 값에 따라서 생성된다. 수정 유클리드 알고리즘 연산 시작 신호가 인가되면 지시 신호로 "01"이 발생하며의 초기값을 선택하여 각각의 레지스터에 저장한다. 상위 셀 2t의 2 개의 레지스터 값을 검색하여 0일 경우또는의 최고차항이 그 자리에 없는 것을 의미하며 이 때 지시 신호를 "10"으로 전환하고 로드0 또는 로드1을 1로 선택하여 각 셀의 값들을 오른쪽으로 이동시키고의 차수를 맞춘다. 차수를 맞춘 후 연산이 수행되면의 계수들이 갱신되며 이 때 지시 신호를 "11"로 전환하고 로드1을 1로 선택하여 각각의 계수들을 레지스터에 저장한다. 연산 후 최고차항이 소거되므로 레지스터에 연산된 값을 저장할 때 오른쪽으로 이동시켜 클럭 지연 없이 최고차항의 계수가 상위 셀 2t의 레지스터에 저장될 수 있다.The load 0, load 1, indication signal is generated in an independent control block Wow It is generated according to the value of. When the modified Euclidean algorithm operation start signal is applied, "01" is generated as an indication signal. and Initial value of Wow Select to save each register. If 0 is found by searching two register values of upper cell 2t or Means that the highest order term of is not in place. At this time, switch the indication signal to "10" and select load 0 or load 1 as 1 to move the value of each cell to the right. and Match the degree of. If the operation is performed after ordering The coefficients of are updated. At this time, the indication signal is switched to " 11 " and load 1 is selected as 1 to store each coefficient in a register. Since the highest order term is erased after the operation, the coefficient of the highest order term can be stored in the register of the upper cell 2 t without a clock delay by moving to the right when storing the calculated value in the register.

수정 유클리드 알고리즘 연산이의 조건을 만족할 때까지 수행되므로 연산 종료 상태의보다 1이 크다. 상기 연산이 반복적으로 이루어질 때 최종 출력 값이 저장되는 셀들은 다항식계수의 경우 상위 셀t+1부터 상위 셀 2t이며, 다항식계수의 경우 하위 셀t+1부터 하위 셀 2t+1이 된다. 따라서 도7에 도시된 바와 같이 하위 셀은 2t+2 개로 상위 셀보다 하나 많다.Modified Euclidean algorithm operation Is executed until the condition of end Is greater than 1. When the operation is repeatedly performed, cells in which a final output value is stored are polynomials. For coefficients, the upper cell t +1 to the upper cell 2 t , and the polynomial For the coefficients from sub-cells t +1 are the sub-cells 2 t +1. Thus, as shown in FIG. 7, there are 2 t + 2 lower cells, one more than the upper cell.

상술한 바와 같은 수정 유클리드 알고리즘 연산 방법 및 그 연산 회로는 디지털 TV 수신기, Cable 모뎀, WLAN 모뎀, ATM 및 WATM 모뎀, 광통신 데이터 서비스, 위성통신, 고품질의 디지털 데이터 저장 시스템(Compact Disk, VCR, HDD 등)등의 RS 복호기에 사용될 수 있다.As described above, the modified Euclidean algorithm calculation method and the calculation circuit thereof include digital TV receiver, cable modem, WLAN modem, ATM and WATM modem, optical communication data service, satellite communication, high quality digital data storage system (Compact Disk, VCR, HDD, etc.). Can be used for RS decoders.

상술한 바와 같이 본 발명에 따른 수정 유클리드 알고리즘 회로는 병렬 처리 구조 및 파이프라인 기법 등을 이용하여 고속 멀티미디어 데이터 처리가 가능한 RS 복호기에 적용 가능하도록 설계되었다. 또한 기존 수정 유클리드 알고리즘 연산 셀의 차수 계산 회로를 제거하여 하드웨어 구현을 간단히 할 수 있으며, 종래의 수정 유클리드 알고리즘 연산 회로와 비교해 볼 때 각각의 셀에 추가된 차수 계산 회로를 제거하여 하드웨어 복잡도를 감소시킬 수 있다.As described above, the modified Euclidean algorithm circuit according to the present invention is designed to be applicable to an RS decoder capable of high-speed multimedia data processing using a parallel processing structure and a pipelined technique. In addition, the hardware implementation can be simplified by removing the order calculation circuit of the existing modified Euclidean algorithm calculation cell, and compared to the conventional modified Euclidean algorithm calculation circuit, the hardware complexity can be reduced by removing the order calculation circuit added to each cell. Can be.

도4b의 회로는 각 기본 셀마다 8 개의 레지스터, 7 개의 2-입력 멀티플렉서, 2 개의 뺄셈기, 2 개의 비교기, 쉬프트 레지스터 등으로 구성된 차수 계산 회로가 포함되며 다항식 연산 회로는 14 개의 레지스터, 12 개의 2-입력 멀티플렉서, 4 개의 유한체 곱셈기, 2 개의 유한체 덧셈기로 구성되어 있다. 반면에 본 발명에 따른 수정 유클리드 알고리즘 연산 방법을 수행하기 위한 연산 회로는 2 개의 레지스터, 2 개의 4-입력 멀티플렉서, 2 개의 2-입력 멀티플렉서, 2 개의 유한체 곱셈기, 1 개의 유한체 덧셈기와 로드0, 로드1, 지시 신호를 생성하기 위한 제어 블록으로 구성된다.The circuit of Fig. 4B includes an order calculation circuit consisting of eight registers, seven two-input multiplexers, two subtractors, two comparators, shift registers, etc. for each basic cell, and the polynomial arithmetic circuit includes 14 registers, 12 It consists of a two-input multiplexer, four finite field multipliers, and two finite field adders. On the other hand, the calculation circuit for performing the modified Euclidean algorithm calculation method according to the present invention includes two registers, two four-input multiplexers, two two-input multiplexers, two finite field multipliers, one finite field adder and a load0. , Load 1, and a control block for generating an indication signal.

표1은 본 발명에 따른 레지스터, 멀티플렉서 등 하드웨어 수를 기본 셀 한 개를 기준으로 도3과 비교한 것으로,t= 8 일 경우 발명한 구조와 도3의 레지스터 수는 각각 70 개, 352 개이며 멀티플렉서는 각각 280 개, 304 개가 사용되었다. 4-입력 멀티플렉서는 2-입력 멀티플렉서 3 개로 계산하였다. 이는 종래 구조에 비해 레지스터 수는 약 80%가 감소한 것이며 멀티플렉서 수는 약 8% 감소한 것이다.Table 1 compares the number of registers, multiplexers, and the like according to the present invention with reference to FIG. 3 based on one basic cell. When t = 8, the inventive structure and the number of registers of FIG. 3 are 70 and 352, respectively. 280 and 304 multiplexers were used, respectively. The four-input multiplexer was calculated with three two-input multiplexers. This is about 80% less registers and 8% less multiplexers compared to conventional structures.

레지스터register 멀티플렉서Multiplexer 유한체 곱셈기Finite Field Multiplier 유한체 덧셈기Finite field adder 기타Etc 기본 셀Primary cell 본 발명의 구조Structure of the present invention 차수 연산Order calculation 00 00 00 00 비교기덧셈/뺄셈기로직 게이트Comparator Add / Subtract Logic Gate 4t+ 34 t + 3 다항식 연산Polynomial operations 22 2(2-입력)2(4-입력)2 (2-input) 2 (4-in) 22 1One 합계Sum 22 8(2-입력기준)8 (2-input criteria) 22 1One 종래의 구조Conventional structure 차수 연산Order calculation 88 77 00 00 쉬프트 레지스터차수 계산 회로뺄셈기비교기로직 게이트Shift register order calculation circuit subtractor 2t 2 t 다항식 연산Polynomial operations 1414 1212 44 22 합계Sum 2222 1919 44 22

또한 연산 수행 후 값을 이동시키도록 하여 알고리즘 연산 수행 시간이 2t+ 1로 감소하였다. 이는 도2와 도4b의 기존 수정 유클리드 알고리즘 연산 회로 연산 수행 시간인 4t 2, 3t+ 37에 비해t= 8일 경우 각각 93%와 72%의 클럭 지연이 감소되는 효과를 가져온다.Also, the algorithm operation time was reduced to 2 t + 1 by moving the value after the operation. This has the effect of reducing the clock delays of 93% and 72%, respectively, when t = 8, compared to 4 t 2 , 3 t + 37, which is the operation time of the conventional modified Euclidean algorithm.

Claims (5)

RS 복호기의 RS(n, k, t) 부호에서 n은 부호 심볼수, k는 정보 심볼수, t=(n-k)/2로 오류 정정 가능 심볼수로 정의하며, 오류 위치 및 오류 크기 다항식을 구하기 위해,,,으로 초기값을 정하고,번 반복 연산이 수행될 경우,,,의 값은In the RS (n, k, t) code of the RS decoder, n is the number of sign symbols, k is the number of information symbols, and t = (nk) / 2 is the number of error correctable symbols. for , , , Set the initial value with If repeat operation is performed , , , The value of 이고,, ego, , 이라 하며,는 다항식,의 최고차항의 계수라 할 때, 다항식의 차수가 되면 반복 연산을 멈추게 되고 이 때의가 각각 오류 크기 다항식과 오류 위치 다항식이 되는 수정 유클리드 알고리즘 연산방법에 있어서, Is called, Wow Is a polynomial , The order of the polynomial, When it stops repeating operation Wow In the modified Euclidean algorithm, where is an error magnitude polynomial and an error location polynomial, 상위 셀 2t의 계수인및 Q편차를 입력하는 단계와;Coefficient of the parent cell 2t and And inputting a Q deviation; 상기 입력된,의 값들이 모두 0이 아닐 경우 Q 편차가 0이면 다항식의 교환 연산(이 0일 때)을 수행하고 Q편차를 1 증가시키고, Q 편차가 0이 아닐 경우, 상기다항식에 의해이 1일 때의 연산을 수행하고 Q편차 1을 감소시키는 단계와;Input above , If the values of are not all zeros and the Q deviation is zero, then the polynomial Is 0), and the Q deviation is increased by 1, and if the Q deviation is not 0, By polynomial Performing the operation when this is 1 and reducing the Q deviation 1; 상기 입력된,의 값들 중은 0이 아니고,은 0일 경우의 계수를 오른쪽으로 한번 이동시켜의 최고차항 계수의 상위 셀 2t에 위치하도록 하고, Q편차를 1 증가시키는 단계와;Input above , Of the values of Is not zero, Is 0 Wow Move the coefficient of to the right once Increasing the Q deviation by 1 and placing it in the upper cell 2t of the highest order term coefficient of; 상기 입력된,의 값들이 모두 0인 경우 모든 다항식의 계수를 오른쪽으로 한번 이동시키고, Q 편차를 1 리셋시키는 단계와;Input above , Shifting the coefficients of all polynomials to the right once if all of the values of 0 are zero, and resetting the Q deviation by one; 상기,의 값들 중은 0이고,은 0이 아닌 경우의 계수를 오른쪽으로 한번 이동시키고, Q편차가 0이면 다항식의 교환 연산을 수행하고 Q편차를 2 증가시키며, Q편차가 0이 아니면 Q편차를 1감소시키는 단계를 포함하여서,remind , Of the values of Is 0, Is not zero Wow Moving the coefficient of to the right once, performing a polynomial exchange operation if the Q deviation is 0, increasing the Q deviation by 2, and decreasing the Q deviation by 1 if the Q deviation is not 0, 상위 셀 2t에 다항식의 최고차항 계수가 위치할 수 있도록 연산을 수행하며 최대 2t+1번 반복 수행하는 것을 특징으로 하는 RS 복호기의 고속 수정 알고리즘 연산방법.Polynomial in parent cell 2t Wow A method of calculating a fast modification algorithm of an RS decoder, which performs the calculation so that the highest order term coefficient can be located, and repeats it up to 2t + 1 times. 제 1 항의 고속 수정 알고리즘 연산방법을 수행하기 위하여To perform the fast correction algorithm calculation method of claim 1 연산 초기값,와 이전 셀에서의 이동 값,와 다항식의 연산 또는 교환 연산이 수행될 경우의 입력,와 레지스터 입력을 초기화하기 위한 0 을 입력으로 하는 2 개의 4-입력 멀티플렉서와, 상기 4-입력 멀티플렉서의출력과 이전 상태의 레지스터 출력을 입력으로 하는 2 개의 2-입력 멀티플렉서와, 로드 신호가 입력될 경우 2-입력 멀티플렉서의 출력을 저장하는 레지스터와, 상기 레지스터 출력과또는와의 유한체 곱셈을 수행하는 두 개의 유한체 곱셈기와, 상기 두 개의 유한체 곱셈기 출력을 입력으로 하는 유한체 덧셈기와, 상기 유한체 덧셈기의 출력이 다음 셀의 4-입력 멀티플렉서의 입력으로 사용되는 2t+1개의 수정 유클리드 알고리즘의 상위 셀과;Operation initial value , And shift value from previous cell , Input when arithmetic and polynomial or exchange operations are performed , And two four-input multiplexers with zero inputs for initializing the register inputs, two two-input multiplexers with inputs of the output of the four-input multiplexer and the register outputs of the previous state, and load signals. A register to store the output of the two-input multiplexer, and or Two finite field multipliers for performing finite field multiplication, a finite field adder with the two finite field multiplier outputs, and an output of the finite field adder as a input of a 4-input multiplexer of the next cell. Upper cells of the +1 modified Euclidean algorithm; 연산 초기값,와 이전 셀에서의 이동 값,와 다항식의 연산 또는 교환 연산이 수행될 경우의 입력,와, 레지스터 입력을 초기화하기 위한 0 을 입력으로 하는 2 개의 4-입력 멀티플렉서와, 상기 4-입력 멀티플렉서의 출력과 이전 상태의 레지스터 출력을 입력으로 하는 2 개의 2-입력 멀티플렉서와, 로드 신호가 입력될 경우 2-입력 멀티플렉서의 출력을 저장하는 레지스터와, 상기 레지스터 출력과또는와의 유한체 곱셈을 수행하는 두 개의 유한체 곱셈기와, 상기 두 개의 유한체 곱셈기 출력을 입력으로 하는 유한체 덧셈기와, 상기 유한체 덧셈기의 출력이 다음 셀의 4-입력 멀티플렉서의 입력으로 사용되는 2t+2개의 수정 유클리드 알고리즘의 하위 셀을 포함하는 것을 특징으로 하는 RS 복호기의 고속 수정 유클리드 알고리즘 연산 회로.Operation initial value , And shift value from previous cell , Input when arithmetic and polynomial or exchange operations are performed , And two four-input multiplexers with zero inputs for initializing register inputs, two two-input multiplexers with outputs of the four-input multiplexer and the register outputs of the previous state, and a load signal being input. Register for storing the output of the two-input multiplexer, or Two finite field multipliers for performing finite field multiplication, a finite field adder with the two finite field multiplier outputs, and an output of the finite field adder as a input of a 4-input multiplexer of the next cell. A fast modified Euclidean algorithm arithmetic circuit of an RS decoder, characterized in that it comprises lower cells of the +2 modified Euclidean algorithm. 제 2 항에 있어서,The method of claim 2, 상기 연산 회로는 상위 셀 2t+1개와 하위 셀 2t+2개가 시스톨릭 어레이로 구성된 것을 특징으로 하는 RS 복호기의 고속 수정 유클리드 알고리즘 연산 회로.And said computing circuit comprises 2t + 1 upper cells and 2t + 2 lower cells as a systolic array. 제 2 항에 있어서,The method of claim 2, 상기 상위 셀과 하위 셀을 하나의 셀로 구성하는 것을 특징으로 하는 RS 복호기의 고속 수정 유클리드 알고리즘 연산 회로.And a high-order corrected Euclidean algorithm calculating circuit of the RS decoder, wherein the upper cell and the lower cell are configured as one cell. 제 1 항의 연산 방법을 수행하기 위해 4t+3 개의 셀을 갖는 RS 복호기 고속 수정 유클리드 알고리즘 연산 회로에 있어서,In the RS decoder fast modified Euclidean algorithm computation circuit having 4t + 3 cells for performing the computation method of claim 1, 상기 연산 초기 값을 레지스터에 저장하는 단계와;Storing the operation initial value in a register; 상위 셀 2t의 레지스터 값이 0일 경우 레지스터의 값을 다음 셀로 이동하는 단계와;Moving the value of the register to the next cell when the register value of the upper cell 2t is 0; 상기 상위 셀 2t의 두 개의 레지스터 값이 모두 0이 아닐 경우 다항식 연산을 수행하는 단계와;Performing a polynomial operation when both register values of the upper cell 2t are not zero; 상기 연산을 위하여 4가지의 지시 신호를 발생하는 단계와;Generating four indication signals for the operation; 상기 연산된 신호를 레지스터에 저장할 경우 로드 신호를 인가하는 단계를 포함하는 RS 복호기의 고속 수정 유클리드 알고리즘 연산 회로의 제어방법.And applying a load signal when storing the calculated signal in a register.
KR10-2001-0047292A 2001-08-06 2001-08-06 High speed processing methods and circuits of the modified Euclid's algorithm for a Reed-Solomon decoder KR100437845B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0047292A KR100437845B1 (en) 2001-08-06 2001-08-06 High speed processing methods and circuits of the modified Euclid's algorithm for a Reed-Solomon decoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0047292A KR100437845B1 (en) 2001-08-06 2001-08-06 High speed processing methods and circuits of the modified Euclid's algorithm for a Reed-Solomon decoder

Publications (2)

Publication Number Publication Date
KR20030013013A KR20030013013A (en) 2003-02-14
KR100437845B1 true KR100437845B1 (en) 2004-06-30

Family

ID=27718087

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0047292A KR100437845B1 (en) 2001-08-06 2001-08-06 High speed processing methods and circuits of the modified Euclid's algorithm for a Reed-Solomon decoder

Country Status (1)

Country Link
KR (1) KR100437845B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100907547B1 (en) * 2007-03-21 2009-07-14 아주대학교산학협력단 Algorithm calculation method of Reed-Solomon decoder and its circuit

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100594241B1 (en) 2004-01-29 2006-06-30 삼성전자주식회사 RS decoder circuit having forward Chien search type
KR100733963B1 (en) 2005-11-09 2007-06-29 한국전자통신연구원 Apparatus and method for Reed-Solomon Decoder through High Error Correction Capability

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100907547B1 (en) * 2007-03-21 2009-07-14 아주대학교산학협력단 Algorithm calculation method of Reed-Solomon decoder and its circuit

Also Published As

Publication number Publication date
KR20030013013A (en) 2003-02-14

Similar Documents

Publication Publication Date Title
Yuan et al. LLR-based successive-cancellation list decoder for polar codes with multibit decision
US6519737B1 (en) Computing the CRC bits at a time for data whose length in bits is not a multiple of M
JPH07202715A (en) Time domain algebra encoder / decoder
KR20030095249A (en) Reed-solomon decoder
US6256763B1 (en) Reed-Solomon decoder having a new polynomial arrangement architecture and decoding method therefor
KR101094574B1 (en) APPARATUS FOR PERFORMING THE HIGH-SPEED LOW-COMPELEXITY PIPELINED BERLEKAMP-MASSEY ALGORITHM OF BCH decoder AND METHOD THEREOF
KR19990026630A (en) Reed-Solomon decoder and its decoding method
EP1154578B1 (en) High-speed turbo decoder
KR100437845B1 (en) High speed processing methods and circuits of the modified Euclid's algorithm for a Reed-Solomon decoder
KR100756424B1 (en) An Area-Efficient Reed-Solomon Decoder using Pipelined Recursive Technique
KR100747487B1 (en) Reed-Solomon decoder and circuits of the modified Euclid's algorithm
US5931894A (en) Power-sum circuit for finite field GF(2m)
KR100963015B1 (en) method and circuit for error location Processing of the discrepancy-computationless Reformulated inversionless Berlekamp-Massey algorithm for high-speed low-complexity BCH decoder
Lin et al. An improved soft BCH decoder with one extra error compensation
US5448510A (en) Method and apparatus for producing the reciprocal of an arbitrary element in a finite field
KR100907547B1 (en) Algorithm calculation method of Reed-Solomon decoder and its circuit
US6574771B1 (en) Galios field processor having dual parallel data path for Bose Chaudhuri Hocquenghem/Reed-Solomon decoder
US20070011592A1 (en) Decoder architecture for Reed Solomon codes
CN117200809B (en) Low-power-consumption money search and error estimation circuit for RS code for correcting two error codes
Hsu et al. An area-efficient VLSI architecture for decoding of Reed-Solomon codes
Lee et al. An efficient recursive cell architecture of modified Euclid's algorithm for decoding Reed-Solomon codes
JP2907138B2 (en) Error correction arithmetic processing method and processing circuit
KR0183279B1 (en) Decoder used for modified eculid algorithm
Baek et al. Design of a high-speed Reed-Solomon decoder
JP2726902B2 (en) Wide bandwidth Reed-Solomon encoding, decoding and error correction circuits

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080523

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee