KR100480685B1 - Error correction circuit - Google Patents
Error correction circuit Download PDFInfo
- 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
Links
Images
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/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney 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/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
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) 회로에 관한 것으로서, 특히 리드-솔로몬(Reed-Solomon) 에러정정 채널 코딩 블럭에 사용되는 치엔(Chien), 포니(Forney) 서치 블럭의 알고리즘을 변형하여 처리(Latency) 시간을 줄이고 게이트 수와 임계 패스(Critical Path)를 동시에 줄이는 에러정정 회로에 관한 것이다BACKGROUND OF THE
통상, 치엔 블럭은 에러의 위치를 구하기 위해 사용되는 알고리즘중 하나로 하기 수학식 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
즉, 상기 수학식 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
만일, α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
에 α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 ≦
이와같이 구성된 도 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
여기서, 상기 제어부(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
상기 곱셈기(13)는 상기 제 1, 제 2 멀티플렉서(11,12)의 출력을 곱하므로, 곱셈기(13)의 출력은 γi α(-N+1)i 가 된다.Since the multiplier 13 multiplies the outputs of the first and
레지스터(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
이때, 제어부(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
상기 곱셈기(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
이와 같은 과정을 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
그리고, 상기 감마 다항식의 결과가 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과 같이 표현할 수 있다.
상기 수학식 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
제 1 치엔 또는 포니 서치 블럭(21)을 보면, 직렬로 입력되는 감마 또는 오메가와 피드백되는 중간값을 더하는 가산기(21-1), 가산기(21-1)의 결과와 α-1 값을 곱하는 상수 곱셈기(21-2), 상기 곱셈기(21-2)의 결과를 제로 검출기(21-4)로 출력함과 동시에 상기 가산기(21-1)로 피드백시키는 레지스터(21-3)로 구성된다.Referring to the first Chien or Pony
이때, 상기 레지스터(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
감마 다항식은 하기 수학식 4와 같이 된다.The gamma polynomial becomes as shown in Equation 4 below.
제 2 내지 제 N-1 포니 또는 서치 블럭(22∼2N-1)의 구성도 상기 제 1 치엔 또는 포니 서치 블럭과 동일한 구조로 이루어진다.The second to N-th pony or
이때, 감마 또는 오메가는 롬등 저장매체에 저장하였다가 직렬로 제 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)
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)
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 |
-
1997
- 1997-04-04 KR KR1019970012525A patent/KR100480685B1/en not_active IP Right Cessation
Patent Citations (6)
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 |