KR100480685B1 - Error correction circuit - Google Patents

Error correction circuit Download PDF

Info

Publication number
KR100480685B1
KR100480685B1 KR1019970012525A KR19970012525A KR100480685B1 KR 100480685 B1 KR100480685 B1 KR 100480685B1 KR 1019970012525 A KR1019970012525 A KR 1019970012525A KR 19970012525 A KR19970012525 A KR 19970012525A KR 100480685 B1 KR100480685 B1 KR 100480685B1
Authority
KR
South Korea
Prior art keywords
adder
multiplier
value
cycles
error correction
Prior art date
Application number
KR1019970012525A
Other languages
Korean (ko)
Other versions
KR19980076036A (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 KR1019970012525A priority Critical patent/KR100480685B1/en
Publication of KR19980076036A publication Critical patent/KR19980076036A/en
Application granted granted Critical
Publication of KR100480685B1 publication Critical patent/KR100480685B1/en

Links

Images

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/1515Reed-Solomon codes
    • 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/154Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
    • 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/1545Determination of error locations, e.g. Chien search or other methods or arrangements for the determination of the roots of the error locator polynomial

Landscapes

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

Abstract

리드-솔로몬(Reed-Solomon) 에러정정 채널 코딩 블럭에 사용되는 치엔(Chien), 포니(Forney) 서치 블럭의 알고리즘을 변형하여 처리 시간을 줄이는 에러정정 회로에 관한 것으로서, 특히 직렬로 입력되는 감마 또는 오메가 값과 피드백되는 중간 값을 가산하는 가산기와, 상기 가산기의 가산 결과와 입력되는 α 지수값을 곱하는 곱셈기와, 상기 곱셈기의 출력을 상기 가산기로 피드백시키는 레지스터로 되어 2t(t는 에러정정 가능한 갯수) 사이클동안 자기 루프를 형성하고, 2t 사이클동안 순차적으로 입력되는 레지스터의 출력을 가산하여 제로를 검출하는 제로 검출기로 구성된 치엔 또는 서치 블럭이 N-1(N은 블럭내 데이타 갯수)개 구성되어, 2t 사이클 이후에 N개의 α 지수값에 대한 결과를 동시에 출력하도록 함으로써, 처리 시간을 단축시키고, 게이트 수를 줄임과 동시에 크기가 작은 상수 곱셈기를 사용하여 치엔 또는 서치 블럭의 크기를 줄이면서 또한, 임계 패스를 줄여 더 빠른 클럭에서 동작이 가능하도록 한다.The error correction circuit reduces the processing time by modifying the algorithm of the Chien and Forney search blocks used in the Reed-Solomon error correction channel coding block. An adder for adding an omega value and an intermediate value fed back, a multiplier for multiplying the addition result of the adder and an input α exponent value, and a register for feeding back the output of the multiplier to the adder, 2t (t being an error correctable number) N-1 (N is the number of data in the block) consisting of zero detectors that form a magnetic loop for zero cycles and zero detectors by adding outputs of registers sequentially input for two t cycles. Simultaneously outputs results for N α exponents after 2t cycles, reducing processing time and reducing gate count At the same time, a small constant multiplier is used to reduce the size of the Chien or search block, while also reducing the critical path to enable faster clocks.

Description

에러정정 회로{Error correction circuit}Error correction circuit

본 발명은 에러정정(Error Correction) 회로에 관한 것으로서, 특히 리드-솔로몬(Reed-Solomon) 에러정정 채널 코딩 블럭에 사용되는 치엔(Chien), 포니(Forney) 서치 블럭의 알고리즘을 변형하여 처리(Latency) 시간을 줄이고 게이트 수와 임계 패스(Critical Path)를 동시에 줄이는 에러정정 회로에 관한 것이다BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an error correction circuit, and more particularly, to modify and process the algorithms of the Chien and Forney search blocks used in Reed-Solomon error correction channel coding blocks. Error correction circuit that reduces time and simultaneously reduces the number of gates and critical paths.

통상, 치엔 블럭은 에러의 위치를 구하기 위해 사용되는 알고리즘중 하나로 하기 수학식 1과 같은 감마(gamma ; γ) 다항식 γ(X)의 근을 구하여 에러 위치를 찾아낸다.In general, the Chien block is one of algorithms used to find an error position, and finds an error position by obtaining a root of a gamma (γ) polynomial γ (X) shown in Equation 1 below.

Figure pat00001
Figure pat00001

즉, 상기 수학식 1과 같은 감마(gamma ; γ) 다항식에 차례로 α-N+1 부터 α0 까지 지수를 증가하면서 순차적으로 대입하여 0이 될 경우 해당하는 α의 지수가 에러가 발생한 위치가 된다.That is, when an index is increased to 0 by sequentially increasing the exponent from α -N + 1 to α 0 in the gamma polynomial shown in Equation 1, the corresponding index of α becomes a position where an error occurs. .

만일, αp에서 에러위치 다항식 γ(X) = 0이 되면 p가 에러 위치값이 된다.If α p is the error position polynomial γ (X) = 0, then p is the error position value.

그리고, 포니 블럭은 상기 치엔 블럭에서 0이 되는 αi 값을 오메가(Omega ; ω) 다항식에 대입하여 상기 치엔 블럭에서 구한 에러의 위치에 해당하는 에러 보정값을 구하는 알고리즘중의 하나로 하기 수학식 2와 같은 오메가(ω) 다항식The pony block is one of algorithms for calculating an error correction value corresponding to an error position obtained from the chien block by substituting an α i value of 0 in the chien block into an omega polynomial. Omega (ω) polynomials such as

Figure pat00002
Figure pat00002

에 αi 값을 대입하면, 결과로 나오는 다항식의 값은 에러의 위치에 해당하는 에러의 보정값이 된다.If the value of α i is substituted, the resulting polynomial value is a correction value of the error corresponding to the position of the error.

이를 구현한 회로가 도 1이며, 치엔 서치 블럭과 포니 서치 블럭이 동일한 구조로 이루어진다.The circuit implementing this is shown in FIG. 1, and the Cien search block and the Pony search block have the same structure.

상기 도 1은 i번째 항에 대한 치엔 서치 또는 포니 서치 블럭도로서, α(-N+1)i (1 ≤ i ≤ 2t) 값의 계산 및 선택 신호를 출력하는 제어부(10), 상기 제어부(10)의 선택 신호에 따라 초기에는 병렬로 입력되는 i번째 감마값 γi 또는 i번째 오메가 값 ωi 값을 선택 출력하고 이후에는 누적된 중간값을 선택 출력하는 제 1 멀티플렉서(11), 상기 제어부(10)의 선택 신호에 따라 초기에는 α(-N+1)i 을 선택 출력하고, 이후에는 αi 값을 선택 출력하는 제 2 멀티플렉서(12), 상기 제 1, 제 2 멀티플렉서(11,12)의 출력을 곱하는 곱셈기(13), 상기 곱셈기(13)의 출력을 일시 저장하여 가산기 트리(15)로 출력함과 동시에 상기 제 1 멀티플렉서(11)로 피드백시키는 레지스터(14)를 포함하여 구성된다.1 is a Chien search or Pony search block diagram for the i th term, the control unit 10 for outputting a calculation and selection signal of α (−N + 1) i (1 ≦ i ≦ 2t), and the control unit ( According to the selection signal of 10), the first multiplexer 11 and the control unit for selecting and outputting the i-th gamma value γ i or the i-th omega value ω i value initially input in parallel, and then selectively outputting the accumulated intermediate value. The second multiplexer 12, and the first and second multiplexers 11 and 12, which initially select and output α (-N + 1) i and then selectively output the α i value according to the selection signal of 10). And a register 14 for temporarily storing the output of the multiplier 13 and outputting the multiplier 13 to the adder tree 15 and feeding it back to the first multiplexer 11.

이와같이 구성된 도 1에서 치엔 서치 블럭인 경우에 대해 설명하면, 제어부(10)는 미리 α(-N+1)i 값을 계산 및 저장함과 동시에 제 1, 제 2 멀티플렉서(11,12)로 선택 신호를 출력한다.Referring to the case of the Chien search block in FIG. 1 configured as described above, the control unit 10 calculates and stores the α (−N + 1) i value in advance and simultaneously selects the selection signals to the first and second multiplexers 11 and 12. Outputs

여기서, 상기 제어부(10)는 초기에는 '0'을, 그 이후에는 '1'을 선택 신호로 출력한다고 가정한다.Here, it is assumed that the controller 10 initially outputs '0' and then '1' as a selection signal.

따라서, 초기에 상기 제어부(10)의 선택 신호가 '0'이므로 상기 제 1 멀티플렉서(11)는 외부에서 입력되는 감마 γi 값을 곱셈기(13)로 선택 출력하고, 제 2 멀티플렉서(12)는 α(-N+1)i 값을 곱셈기(13)로 선택 출력한다.Therefore, since the selection signal of the controller 10 is '0' initially, the first multiplexer 11 selects and outputs an externally input gamma γ i value to the multiplier 13, and the second multiplexer 12 The value of α (-N + 1) i is selectively outputted to the multiplier 13.

상기 곱셈기(13)는 상기 제 1, 제 2 멀티플렉서(11,12)의 출력을 곱하므로, 곱셈기(13)의 출력은 γi α(-N+1)i 가 된다.Since the multiplier 13 multiplies the outputs of the first and second multiplexers 11 and 12, the output of the multiplier 13 is γ i α (−N + 1) i .

레지스터(14)는 상기 곱셈기(13)의 출력 γi α(-N+1)i 을 저장한 후 가산기 트리(15)로 출력함과 동시에 제 1 멀티플렉서(11)로 피드백시킨다.The register 14 stores the output γ i α (−N + 1) i of the multiplier 13, outputs it to the adder tree 15, and feeds it back to the first multiplexer 11.

이때, 제어부(10)는 선택 신호를 '1'로 변환하고, 제 1 멀티플렉서(11)는 피드백되는 γi α(-N+1)i 값을 곱셈기(13)로 선택 출력하고, 제 2 멀티플렉서(12)는 αi 값을 곱셈기(13)로 선택 출력한다.At this time, the controller 10 converts the selection signal to '1', and the first multiplexer 11 selects and outputs the γ i α (−N + 1) i value fed back to the multiplier 13 and the second multiplexer. (12) selectively outputs the alpha i value to the multiplier (13).

상기 곱셈기(13)의 출력은 γi α(-N+1)i αi 이므로, 이를 다시쓰면 γi α(-N+2)i 가 되고, 이 값 γi α(-N+2)i 은 레지스터(14)를 통해 가산기 트리(15)로 출력됨과 동시에 다시 제 1 멀티플렉서(11)로 피드백된다.The output of the multiplier 13 is γ i α (-N + 1) i Since it is α i , rewriting it becomes γ i α (-N + 2) i , and this value γ i α (-N + 2) i is outputted to the adder tree 15 through the register 14 and again added. 1 is fed back to the multiplexer 11.

이와 같은 과정을 N 사이클동안 수행한다.This process is performed for N cycles.

여기서, N은 블록 내에 있는 데이타 갯수이다.Where N is the number of data in the block.

이때, 상기 도 1은 i번째 항에 대한 치엔 서치 또는 포니 서치 블럭도이므로, 감마 다항식 또는 오메가 다항식을 구현하기 위해서는 상기된 도 1의 회로가 치엔 및 포니 서치 블럭에 대해 각각 2t개 병렬로 구성된다.In this case, since FIG. 1 is a chien search or pony search block diagram for the i th term, in order to implement a gamma polynomial or an omega polynomial, the circuit of FIG. 1 is configured in parallel with 2t of chien and pony search blocks, respectively. .

여기서, t는 에러정정 가능한 갯수이다.Where t is the number that can be error corrected.

즉, 2t개의 곱셈기, 2t개의 8비트 레지스터, 2t+2t개의 멀티플렉서가 치엔 및 포니 서치 블럭에 대해 별도로 필요하게 된다.That is, 2t multipliers, 2t 8-bit registers, and 2t + 2t multiplexers are needed separately for the Chien and Pony Search blocks.

그리고, 상기 제어부(10)는 치엔 및 포니 서치 블럭에서 공유가 가능하며, 제어부(10) 내에는 α 지수값(α(-N+1)i, αi )을 계산 및 저장하기 위해 곱셈기와 레지스터가 추가로 필요하다.The controller 10 may be shared in the Chien and Pony search blocks, and a multiplier and a register may be used to calculate and store α index values α (−N + 1) i and α i in the controller 10. Additionally needed.

이때, 상기 곱셈기를 직렬 곱셈기로 구현하는 경우 2t개의 레지스터 및 1개의 곱셈기가 필요하다.In this case, when the multiplier is implemented as a serial multiplier, 2t registers and one multiplier are required.

또한, 상기 가산기 트리(16)는 8비트 가산기로서, 트리 구조로 되어 있으며, 실제로는 배타적 오아 게이트이다.The adder tree 16 is an 8-bit adder, which has a tree structure and is actually an exclusive oar gate.

그러므로, 2t-1개의 8비트 가산기가 필요하며, 병렬로 2t개가 구성되는 각 레지스터로부터 출력되는 각 항의 값을 순차적으로 더한다.Therefore, 2t-1 8-bit adders are needed, and the values of the terms output from each register composed of 2t in parallel are sequentially added.

그리고, 치엔 서치 블럭인 경우에는 감마 다항식의 값이 0인지를 검사하는 제로 검출기(17)가 필요하고, 포니 서치 블럭은 0인지를 검사할 필요가 없으므로 제로 검출기가 필요없다.In the case of the Chien search block, a zero detector 17 for checking whether the value of the gamma polynomial is zero is required, and no zero detector is needed because the pony search block does not need to be checked for zero.

즉, 2t개의 치엔 서치 블럭에서 출력되는 값이 0이면, 가산기 트리(15)의 출력이 모두 0이 되므로, 제로 검출기(16)에서는 이를 검출하고 그때의 α 지수가 에러가 발생한 위치가 된다.That is, if the values output from the 2t Chien search blocks are 0, all of the outputs of the adder tree 15 become 0, so the zero detector 16 detects this and the α index at that time is the position where the error occurred.

그리고, 상기 감마 다항식의 결과가 0이 될때의 α 지수를 오메가 다항식에 대입하여 얻은 결과가 그 에러 위치에서의 에러 보정값이 된다.The result obtained by substituting the α index when the result of the gamma polynomial becomes zero into the omega polynomial becomes an error correction value at the error position.

이와같이 상기된 치엔 또는 포니 서치 블럭은 감마와 오메가를 초기에 병렬로 입력시킨 후 결과를 직렬로 N 사이클동안 차례로 얻어 에러 위치와 그 에러 위치에서의 에러 보정값을 얻고 있다.In this way, the above-described Chien or Pony Search block initially inputs gamma and omega in parallel, and then sequentially obtains the result for N cycles in series to obtain an error position and an error correction value at the error position.

이를 위해 제어부(10)에서 초기에 α-N+1 을 대입하고 계속 α1을 곱하는 형식으로 X 값에 입력시켜 감마 다항식 또는 오메가 다항식을 계산하고 있다.To this end, the control unit 10 calculates a gamma polynomial or an omega polynomial by substituting α −N + 1 at an initial stage and continuously inputting the value of X in a form of multiplying α 1 .

따라서, 상기된 종래의 치엔 또는 포니 서치 블럭은 2t+N 사이클의 처리 시간(Latency)이 소요되고, 또한 8비트 가산기의 2t-1개의 트리 구조로 인하여 임계 패스(Critical path)가 발생할 수 있다.Therefore, the conventional Chien or Pony search block described above takes 2t + N cycles of processing time, and a critical path may occur due to the 2t-1 tree structure of the 8-bit adder.

이로 인해 클럭이 느려져 클럭 주기가 길어지게 된다.This slows down the clock and lengthens the clock period.

본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 감마와 오메가를 직렬로 차례로 입력시킨 후 2t 사이클 이후에 동시에 N개의 결과를 병렬로 얻도록 함으로써, 처리 시간을 줄이고 게이트 수와 임계 패스를 줄이는 에러 정정 회로를 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to sequentially input gamma and omega in series, and to simultaneously obtain N results in parallel after 2t cycles, thereby reducing processing time and reducing the number of gates. An error correction circuit for reducing a critical path is provided.

상기와 같은 목적을 달성하기 위한 본 발명에 따른 에러 정정 회로의 특징은, 직렬로 입력되는 감마 값과 피드백되는 중간 값을 가산하는 가산기와, 상기 가산기의 가산 결과와 입력되는 α 지수값을 곱하는 곱셈기와, 상기 곱셈기의 출력을 상기 가산기로 피드백시키는 레지스터로 되어 2t(t는 에러정정 가능한 갯수) 사이클동안 자기 루프를 형성하고, 2t 사이클동안 순차적으로 입력되는 레지스터의 출력을 가산하여 제로를 검출하는 제로 검출기로 구성된 치엔 서치 블럭이 N-1(N은 블럭내 데이타 갯수)개 구성되어, 2t 사이클 이후에 N개의 α 지수값에 대한 결과를 동시에 출력하는데 있다.A feature of an error correction circuit according to the present invention for achieving the above object is an adder for adding a gamma value input in series and an intermediate value fed back, and a multiplier for multiplying the addition result of the adder and the input α exponent value. And zero for detecting zero by adding the outputs of the registers sequentially input during 2t cycles, forming a magnetic loop for 2t cycles (t being an error correctable number) cycles. The Cien search block composed of detectors is composed of N-1 (N is the number of data in the block), and outputs the results of N α exponent values simultaneously after 2t cycles.

본 발명에 따른 에러 정정 회로의 다른 특징은, 직렬로 입력되는 오메가 값과 피드백되는 중간 값을 가산하는 가산기와, 상기 가산기의 가산 결과와 입력되는 α 지수값을 곱하는 곱셈기와, 상기 곱셈기의 출력을 상기 가산기로 피드백시키는 레지스터로 되어 2t(t는 에러정정 가능한 갯수) 사이클동안 자기 루프를 형성하는 포니 서치 블럭이 N-1(N은 블럭내 데이타 갯수)개 구성되어, 2t 사이클 이후에 N개의 α 지수값에 대한 결과를 동시에 출력하는데 있다.Another feature of the error correction circuit according to the present invention includes an adder for adding an omega value input in series and an intermediate value fed back, a multiplier for multiplying the addition result of the adder and an input α exponent value, and outputting the output of the multiplier. The registers fed back to the adder form N-1 (N is the number of data in the block) for 2t (t is an error correctable number) cycle and form a magnetic loop. It is to output the result for the exponent value simultaneously.

이하, 본 발명의 바람직한 실시예를 첨부도면을 참조하여 상세히 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 에러 정정 회로의 치엔 또는 포니 서치 블럭도로서,2 is a Chien or pony search block diagram of an error correction circuit according to the present invention;

상기 수학식 1은 하기 수학식 3과 같이 표현할 수 있다.Equation 1 may be expressed as Equation 3 below.

Figure pat00003
Figure pat00003

상기 수학식 3을 보면, X + αi + Y 꼴로서, 이 결과가 재귀되는 형식임을 알 수 있다.Referring to Equation 3, it can be seen that X + α i + Y form, the result is a recursive form.

따라서, 모든 α 값에 대하여 즉, α-1 부터 α-N+1 까지 구현한 것이 도 2이며, N-1개의 치엔 또는 포니 서치 블럭(21∼2N-1)으로 구성된다.Therefore, FIG. 2 is implemented for all α values, that is, α -1 to α -N + 1 , and is composed of N-1 chien or pony search blocks 21 to 2N-1.

제 1 치엔 또는 포니 서치 블럭(21)을 보면, 직렬로 입력되는 감마 또는 오메가와 피드백되는 중간값을 더하는 가산기(21-1), 가산기(21-1)의 결과와 α-1 값을 곱하는 상수 곱셈기(21-2), 상기 곱셈기(21-2)의 결과를 제로 검출기(21-4)로 출력함과 동시에 상기 가산기(21-1)로 피드백시키는 레지스터(21-3)로 구성된다.Referring to the first Chien or Pony Search block 21, a constant that multiplies the result of the adder 21-1 and the adder 21-1, which adds the gamma or omega input in series with the intermediate value fed back, and the value of α- 1 . A multiplier 21-2 and a register 21-3 which outputs the result of the multiplier 21-2 to the zero detector 21-4 and feeds back to the adder 21-1.

이때, 상기 레지스터(21-3)의 결과가 피드백되는 사이클은 2t 동안이다.At this time, the cycle of feeding back the result of the register 21-3 is for 2t.

즉, 상기 제 1 치엔 또는 포니 서치 블럭(21)이 2t 사이클동안 루프를 돌면,That is, when the first chien or pony search block 21 loops for 2t cycles,

감마 다항식은 하기 수학식 4와 같이 된다.The gamma polynomial becomes as shown in Equation 4 below.

Figure pat00004
Figure pat00004

제 2 내지 제 N-1 포니 또는 서치 블럭(22∼2N-1)의 구성도 상기 제 1 치엔 또는 포니 서치 블럭과 동일한 구조로 이루어진다.The second to N-th pony or search blocks 22 to 2N-1 also have the same structure as the first chien or pony search block.

이때, 감마 또는 오메가는 롬등 저장매체에 저장하였다가 직렬로 제 1 내지 제 N-1 치엔 또는 포니 서치 블럭(21-2N-1)의 가산기로 공통 입력되고, α 지수값은 병렬로 제 1 내지 제 N-1 치엔 또는 포니 서치 블럭(21-2N-1)의 곱셈기로 입력되므로 α 지수값을 계산 및 저장하기 위한 곱셈기 및 레지스터가 필요없게 되며, 단지 α0를 보내기 위해 8비트의 빈 레지스터가 하나 필요하다.In this case, gamma or omega is stored in a storage medium such as a ROM, and is commonly input to the adders of the first to N-1 chien or pony search blocks 21-2N-1 in series, and the α exponent values are first to third in parallel. Input to the multiplier of the N-1 chien or pony search block 21-2N-1 eliminates the need for multipliers and registers to calculate and store the α exponent, and only an 8-bit empty register to send α 0 . I need one.

따라서, 감마 다항식 또는 오메가 다항식을 구현하기 위해서는 N개의 8비트 레지스터, N-1개의 상수 곱셈기, N-1개의 8비트 가산기가 치엔 및 서치 블럭에 대해 각각 별도로 필요하다.Therefore, in order to implement a gamma polynomial or an omega polynomial, N 8-bit registers, N-1 constant multipliers, and N-1 8-bit adders are required for the Chien and the search blocks, respectively.

또한, 치엔 서치 블럭인 경우에는 감마 다항식의 값이 0인지를 검사하는 제로 검출기가 N-1개 필요하고, 포니 서치 블럭에서는 0인지를 검사할 필요가 없으므로 필요없다.In the case of the Chien search block, N-1 zero detectors are required to check whether the value of the gamma polynomial is zero, and the Pony search block does not need to check whether it is 0.

즉, 각각의 치엔 서치 블럭의 레지스터에서 출력되는 값이 2t 사이클동안 0이면, 제로 검출기는 이를 검출하고, 해당 치엔 서치 블럭으로 입력되는 α 지수가 에러가 발생한 위치가 된다.That is, if the value output from the register of each search engine block is 0 for 2t cycles, the zero detector detects this, and the α index input to the search engine block becomes the position where an error occurs.

그리고, 상기 α 지수를 해당 포니 서치 블럭에 대입하여 얻은 결과가 그 에러 위치에서의 에러 보정값이 된다.The result obtained by substituting the α index into the pony search block is an error correction value at the error position.

그러므로, 제로 검출기는 치엔 서치 블럭과 포니 서치 블럭에서 공유 가능하다.Therefore, the zero detector can be shared between the Chien search block and the Pony search block.

또한, 감마 다항식과 오메가 다항식의 계산은 상기된 치엔 및 포니 서치 블럭에서 동시에 이루어진다.In addition, the calculation of gamma polynomials and omega polynomials is performed simultaneously in the Chien and Pony search blocks described above.

이와같이 본 발명의 치엔 또는 포니 서치 블럭은 감마와 오메가를 차례로 직렬로 입력시킨 후 2t+1 사이클 이후에 동시에 N개의 결과를 병렬로 얻어 에러 위치와 그 에러 위치에서의 에러 보정값을 얻고 있다.As described above, the chien or pony search block of the present invention inputs gamma and omega in series and sequentially obtains N results in parallel after 2t + 1 cycles to obtain an error position and an error correction value at the error position.

따라서, 에러 위치와 그 에러 위치에서의 에러 보정값을 구하기 위해서는 2t+1 사이클의 처리 시간이 소요된다.Therefore, the processing time of 2t + 1 cycles is required to find the error position and the error correction value at the error position.

이때, 블럭내의 데이타 갯수 N은 통상 2t(t는 에러정정 가능 갯수) 보다 크므로, 본 발명은 종래에 비해 처리 시간이 많이 단축된다.At this time, since the number N of data in the block is usually larger than 2t (t is the number of error correction possible), the present invention can shorten the processing time much compared with the prior art.

또한, 8비트 가산기의 트리 구조가 아닌 8비트만의 제로 검출기를 사용하므로 임계 패스가 줄어들고, 이로인해 더 빠른 클럭에서 동작이 가능해진다.In addition, the use of 8-bit zero detectors rather than the 8-bit adder's tree structure reduces the threshold path, enabling faster clock operation.

그리고, 일반적으로 상수 곱셈기는 보통 곱셈기보다 크기가 훨씬 작으므로, 본 발명에서 N-1개의 상수 곱셈기를 사용하더라도 종래의 2t개의 보통 곱셈기보다 크지 않게 된다.In general, since the constant multiplier is much smaller than the normal multiplier, even if the N-1 constant multiplier is used in the present invention, the constant multiplier is not larger than the conventional 2t normal multiplier.

또한, 감마 또는 오메가가 직렬로 입력되어 N-1개의 가산기에서 공유하므로 α 지수값을 계산하기 위한 레지스터가 필요없게 되어 치엔 및 포니 서치 블럭의 크기가 작아진다.In addition, since gamma or omega is serially input and shared by the N-1 adders, there is no need for a register for calculating the α exponent value, which makes the size of the Chien and Pony search blocks small.

이상에서와 같이 본 발명에 따른 에러정정 회로에 의하면, 감마와 오메가를 직렬로 차례로 입력시킨 후 2t 사이클 이후에 동시에 N개의 결과를 병렬로 얻도록 함으로써, 처리 시간을 단축시킨다.As described above, the error correction circuit according to the present invention shortens the processing time by inputting gamma and omega in series, and then simultaneously obtaining N results in parallel after 2t cycles.

또한, 게이트 수를 줄이고 크기가 작은 상수 곱셈기를 사용하여 치엔 또는 서치 블럭의 크기를 줄임과 동시에 임계 패스를 줄여 더 빠른 클럭에서 동작이 가능하도록 한다.In addition, the gate count is reduced and a small constant multiplier is used to reduce the size of the Chien or search block, while simultaneously reducing the threshold path, enabling faster clock operation.

도 1은 종래의 에러정정 회로의 구성 블럭도1 is a block diagram of a conventional error correction circuit

도 2는 본 발명에 따른 에러정정 회로의 구성 블럭도2 is a block diagram of an error correction circuit according to the present invention;

도면의 주요 부분에 대한 부호의 설명Explanation of symbols for the main parts of the drawings

21∼2N-1 : 치엔 또는 포니 서치 블럭 21-1 : 가산기21-2N-1: Chien or Pony Search Block 21-1: Adder

21-2 : 곱셈기 21-3 : 레지스터21-2: Multiplier 21-3: Register

21-4 : 제로 검출기21-4: Zero Detector

Claims (3)

직렬로 입력되는 감마 값과 피드백되는 중간 값을 가산하는 가산기와,An adder for adding a gamma value input in series and an intermediate value fed back; 상기 가산기의 가산 결과와 입력되는 α 지수값을 곱하는 곱셈기와,A multiplier for multiplying the addition result of the adder by the input α exponent value; 상기 곱셈기의 출력을 상기 가산기로 피드백시키는 레지스터로 되어 2t(t는 에러정정 가능한 갯수) 사이클동안 자기 루프를 형성하고, 2t 사이클동안 순차적으로 입력되는 레지스터의 출력을 가산하여 제로를 검출하는 제로 검출기로 구성된 치엔 서치 블럭이 N-1(N은 블럭내 데이타 갯수)개 구성되어, 2t 사이클 이후에 N-1개의 α 지수값에 대한 결과를 동시에 출력하며, 이때 0을 검출한 제로 검출기의 치엔 서치 블록으로 입력된 α 지수를 에러가 발생한 위치로 판단하는 것을 특징으로 하는 에러 정정 회로.A register for feeding back the output of the multiplier to the adder forms a magnetic loop for 2t cycles (t is an error correctable number), and adds the outputs of the sequentially input registers for 2t cycles to detect zero. The Chien search block is composed of N-1 (N is the number of data in the block), and outputs the result of N-1 α exponent values simultaneously after 2t cycles. And an α index inputted by the controller as the position where the error occurred. 제 1 항에 있어서, 상기 각 치엔 서치 블럭은The method of claim 1, wherein each Chien search block
Figure pat00005
Figure pat00005
을 만족하도록 설계됨을 특징으로 하는 에러 정정 회로.Error correction circuit, characterized in that designed to satisfy. 여기서, 0 ≤ i ≤ 2t임Where 0 ≦ i ≦ 2t
직렬로 입력되는 오메가 값과 피드백되는 중간 값을 가산하는 가산기와,An adder for adding an omega value input in series and an intermediate value fed back; 상기 가산기의 가산 결과와 입력되는 α 지수값을 곱하는 곱셈기와,A multiplier for multiplying the addition result of the adder by the input α exponent value; 상기 곱셈기의 출력을 상기 가산기로 피드백시키는 레지스터로 되어 2t(t는 에러정정 가능한 갯수) 사이클동안 자기 루프를 형성하는 포니 서치 블럭이 N-1(N은 블럭내 데이타 갯수)개 구성되어, 2t 사이클 이후에 N-1개의 α 지수값에 대한 결과를 동시에 출력하며, 치엔 서치 블록에서 0이 되는 α 지수로부터 구한 해당 포니 서치 블록의 출력 값을 그 에러 위치에서의 에러 보정값으로 판단하는 것을 특징으로 하는 에러 정정 회로.A register that feeds the output of the multiplier back to the adder comprises N-1 (N is the number of data in the block) that constitutes a magnetic loop for 2t (t is an error correctable number) cycle. Subsequently, the results of N-1 α index values are simultaneously output, and the output value of the corresponding Pony search block obtained from the α index which is zero in the Chien search block is determined as an error correction value at the error position. Error correction circuit.
KR1019970012525A 1997-04-04 1997-04-04 Error correction circuit KR100480685B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970012525A KR100480685B1 (en) 1997-04-04 1997-04-04 Error correction circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970012525A KR100480685B1 (en) 1997-04-04 1997-04-04 Error correction circuit

Publications (2)

Publication Number Publication Date
KR19980076036A KR19980076036A (en) 1998-11-16
KR100480685B1 true KR100480685B1 (en) 2005-05-16

Family

ID=37302568

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970012525A KR100480685B1 (en) 1997-04-04 1997-04-04 Error correction circuit

Country Status (1)

Country Link
KR (1) KR100480685B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4584686A (en) * 1983-12-22 1986-04-22 Optical Storage International Reed-Solomon error correction apparatus
US4868828A (en) * 1987-10-05 1989-09-19 California Institute Of Technology Architecture for time or transform domain decoding of reed-solomon codes
US5329534A (en) * 1990-02-14 1994-07-12 Alcatel Italia S.P.A. "System, devices and algorithms for the error correction in digital transmission"
KR950012215A (en) * 1993-10-27 1995-05-16 김주용 Error Position Calculator for Single Reed-Solomon Decoder and Its Calculation Method
JPH07226687A (en) * 1994-02-10 1995-08-22 Matsushita Electric Ind Co Ltd Error correction processor
US5471485A (en) * 1992-11-24 1995-11-28 Lsi Logic Corporation Reed-solomon decoder using discrete time delay in power sum computation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4584686A (en) * 1983-12-22 1986-04-22 Optical Storage International Reed-Solomon error correction apparatus
US4868828A (en) * 1987-10-05 1989-09-19 California Institute Of Technology Architecture for time or transform domain decoding of reed-solomon codes
US5329534A (en) * 1990-02-14 1994-07-12 Alcatel Italia S.P.A. "System, devices and algorithms for the error correction in digital transmission"
US5471485A (en) * 1992-11-24 1995-11-28 Lsi Logic Corporation Reed-solomon decoder using discrete time delay in power sum computation
KR950012215A (en) * 1993-10-27 1995-05-16 김주용 Error Position Calculator for Single Reed-Solomon Decoder and Its Calculation Method
JPH07226687A (en) * 1994-02-10 1995-08-22 Matsushita Electric Ind Co Ltd Error correction processor

Also Published As

Publication number Publication date
KR19980076036A (en) 1998-11-16

Similar Documents

Publication Publication Date Title
US8352530B2 (en) Residue calculation with built-in correction in a floating point unit positioned at different levels using correction values provided by multiplexer
US8069392B1 (en) Error correction code system and method
JPH07210369A (en) Circuit and method for execution of parallel addition and average operation
US5936870A (en) Arithmetic operating device for digital signal processing and method therefor
KR100260415B1 (en) High speed serial error position polynomual calculation circuit
US20230412196A1 (en) Low-power block code forward error correction decoder
EP0396346A1 (en) Error check or error correction code coding device
KR940004326B1 (en) High performance adder using carry prediction
KR100258951B1 (en) Rs decoder having serial expansion architecture and method therefor
KR100480685B1 (en) Error correction circuit
JP3279624B2 (en) 1-bit error correction circuit based on CRC operation
US6145113A (en) Series reed-solomon decoder synchronized with bit clock signal
KR100226837B1 (en) Apparatus for error correction of digital tv
US6574771B1 (en) Galios field processor having dual parallel data path for Bose Chaudhuri Hocquenghem/Reed-Solomon decoder
US7440991B2 (en) Digital circuit
US8954833B2 (en) Half width counting leading zero circuit using comparators
KR100335482B1 (en) Error correcting system
KR100246342B1 (en) Reed solomon error correction apparatus
KR100438566B1 (en) Circuit for processing rounding of continuous multiplication/addition operations generating decimal point on dsp
KR0176809B1 (en) Error correction device
KR940011659B1 (en) Uclid algorithm arithmetic unit
KR0166153B1 (en) Error position detecting circuit of error correction system
JP2004120419A (en) Reed-solomon coding circuit and reed-solomon decoding circuit
KR940011661B1 (en) Arithmethic high-speed processing circuit of reed-solomon error correcting code
KR930008682B1 (en) Error correcting circuit of digital device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee