KR100247075B1 - High speed serial errata situation polyno mial caiculation circuit in reed-soldmon - Google Patents

High speed serial errata situation polyno mial caiculation circuit in reed-soldmon Download PDF

Info

Publication number
KR100247075B1
KR100247075B1 KR1019970038582A KR19970038582A KR100247075B1 KR 100247075 B1 KR100247075 B1 KR 100247075B1 KR 1019970038582 A KR1019970038582 A KR 1019970038582A KR 19970038582 A KR19970038582 A KR 19970038582A KR 100247075 B1 KR100247075 B1 KR 100247075B1
Authority
KR
South Korea
Prior art keywords
error
polynomial
output
shift register
rudder
Prior art date
Application number
KR1019970038582A
Other languages
Korean (ko)
Other versions
KR19990016132A (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 KR1019970038582A priority Critical patent/KR100247075B1/en
Publication of KR19990016132A publication Critical patent/KR19990016132A/en
Application granted granted Critical
Publication of KR100247075B1 publication Critical patent/KR100247075B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0047Decoding adapted to other signal detection operation
    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used

Landscapes

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

Abstract

본 발명은 리드 솔로몬(Reed solomon)부호를 사용하는 에러정정시스템에 있어서, 특히 에러타 위치 다항식을 계산하는데 있어 신드롬 다항식, 이레이져 위치 다항식, 이레이져 개수, 이레이져 오버 플로워신호를 입력하여 에러타 위치 다항식을 계산하고 이것과 상기 입력된 신드롬을 다시 출력하여 에러타 위치를 계산하는 리드 솔로몬 디코더에 있어서 에러 정정 시스템 및 방법에 관한것이다.The present invention relates to error correction system using Reed solomon code, particularly in calculating error polynomial position polynomial, error polynomial, erasure position polynomial, number of erasers, erasure overflow signal An error correction system and method in a Reed Solomon decoder for calculating a position polynomial and outputting this and the input syndrome again to calculate an error position.

Description

리드 솔로몬 디코더에 있어서 에러 정정 회로{HIGH SPEED SERIAL ERRATA SITUATION POLYNO MIAL CAICULATION CIRCUIT IN REED-SOLDMON}Error correction circuit in Reed Solomon decoder {HIGH SPEED SERIAL ERRATA SITUATION POLYNO MIAL CAICULATION CIRCUIT IN REED-SOLDMON}

본 발명은 리드 솔로몬(Reed solomon)부호를 사용하는 에러정정시스템에 있관한 것으로, 특히 에러타 위치 다항식을 계산하는데 있어 신드롬 다항식, 이레이져 위치 다항식, 이레이져 개수, 이레이져 오버 플로워신호를 입력하여 에러타 위치 다항식을 계산하고 이것과 기입력된 신드롬을 다시 출력하여 에러타 위치를 계산하는 리드 솔로몬 디코더에 있어서 에러 정정 회로에 관한것이다.The present invention relates to an error correction system using a Reed solomon code. In particular, in calculating an error position position polynomial, a syndrome polynomial, an eraser position polynomial, an eraser number, and an eraser overflow signal are inputted. The present invention relates to an error correction circuit in a Reed Solomon decoder that calculates an error rudder position polynomial and re-outputs this and a pre-populated syndrome to calculate the error rudder position.

일반적으로 디지털 통신 및 스토리지 시스템에 있어서 에러 제어를 위해 리드 솔로몬(Reed-Solomon "이하 RS 라칭함)부호가 널리 사용되고 있다. 상기 에러 제어를 위한 RS 부호란 부호화된 데이터에 대해 데이터 전송 또는 재생 중에 발생하는 에러를 검출 및 정정하기 위해 사용되며, 이는 수신된 데이터만으로 일련의 과정을 통해 에러의 위치 및 값을 찾아내는 심볼 단위의 에러를 제어하기 위한 부호이다. 상기 에러중에는 그 위치를 알 수 있는 에러를 이레이져(erasure)라고 하고, 상기 에러와 이레이져는 함께 에러타(errata)라고 한다. 상기 에러의 위치는 입력되는 타이밍에 따라 전송되는 심볼의 신뢰도를 표시할 수 있으므로 일반적으로 한 비트로 표현한다. 상기 이레이져 플래그를 포함하는 에러 정정 과정은 에러타의 위치를 근으로 갖는 에러타 위치 다항식에 대한 계산이 요구된다. 이와 관련되어 R.E. Blahut "Theory and Practice of Error Control Code" ,Addison-Wesley,1983와J.L.Massey,"Shift Register Synthesis and BCH Decoding",IEEE Transation Information Theory,Vol.It-15,PP122-127,Jan,1969에 개시하고 있다. 여기서 에러위치를 계산하는 회로로 Berlekamp-Massey 알고리즘(이하"BMA"라 칭함)을 이용한 회로는 1965년에 "Massey"가 발표한 LERS(Leaner Feednack Shift Register)을 이용한 회로가 있다.이는 신드롬과 계산할 에러위치 다항식으로 부터 부합도(discrepancy)를 계산하여 부합도가 영(0)이면 에러위치 다항식을 이전 것으로 그대로 두고,상기 영(0)이 아니면 에러위치 다항식을 새로 계산한다. 상기 새로 에러위치 다항식을 계산하기 위해 수정 다항식을 두어 부합도의 값이 영(0)이 아닐 때 이를 새롭게 계산하여 상기 다항식과 부합도를 이용하여 새로운 에러위치 다항식을 계산토록 한다. 그러나 상기와 같은 방법의 회로는 병렬구조로 되어 있어 에러 위치 다항식을 계산하기 위한 곱셈기가 많이 요구되어 그 회로의 규모가 크지게 되는 단점이 있으며, 이에 의해 부합도(discrepancy)를 계산하기 위한 회로와 이값을 사용하여 에러 위치 다항식을 계산하는 회로의 지연 시간이 커서 고속화를 추구하는 디지털 통신시스템이나 고용량의 저장기능을 가지면서 고속의 억세스를 요하는 스트로지(Storge)시스템에서는 이와 같은 방법을 이용하기 어려운 문제점이 있으며,이레이져를 포함하는 에러 위치 다항식 계산회로에서 사용할수 없게 되는 문제점이 있다.In general, Reed-Solomon (hereinafter referred to as RS) code is widely used for error control in digital communication and storage systems, and RS code for error control is generated during data transmission or reproduction of encoded data. It is used to detect and correct an error, which is a symbol for controlling an error of a symbol unit that finds the position and value of an error through a series of processes using only the received data. The error and erasure are together called an error, and the position of the error is generally represented by one bit because the position of the error can indicate the reliability of the transmitted symbol according to the input timing. The error correcting process including the erasure flag includes an error rudder position having the position of the error rudder as a root. Calculations for polynomials are required, in this regard RE Blahut "Theory and Practice of Error Control Code", Addison-Wesley, 1983 and JLMassey, "Shift Register Synthesis and BCH Decoding", IEEE Transation Information Theory, Vol. 15, PP122-127, Jan, 1969. The circuit using the Berlekamp-Massey algorithm (hereinafter referred to as "BMA") as the circuit for calculating the error position is LERS (Leaner) published by Massey in 1965. There is a circuit using Feednack Shift Register, which calculates the discrepancy from the syndrome and the error location polynomial to be calculated, and if the match is zero, the error location polynomial is left as it is, and the zero is zero. Otherwise, the error position polynomial is newly calculated, and the modified polynomial is placed to calculate the new error position polynomial, and when the value of the degree of conformance is not zero, the new value is calculated. The ever calculating the polynomial. However, the circuit of the above method has a disadvantage in that the multiplier for calculating the error position polynomial is large because the circuit of the above method becomes large, thereby increasing the size of the circuit. This method can be used in digital communication systems that seek high speed due to the large delay time of calculating error position polynomials, or in storage systems that require high-speed access with high capacity storage. There is a difficult problem, and there is a problem that can not be used in the error position polynomial calculation circuit including an eraser.

따라서 본 발명의 목적은 회로 규모가 작고 그 계산 지연 시간이 작아 고속 계산에 사용될 수 있는 이레이져를 포함하는 에러타 위치 다항식 계산회로를 제공함에 있다.Accordingly, an object of the present invention is to provide an error rudder position polynomial calculation circuit including an eraser that can be used for high-speed calculation because the circuit size is small and the calculation delay time is small.

본 발명의 다른 목적은 에러타 위치 다항식 계산회로로 Berlekamp-Massey 반복 알고리즘을 사용하며 구조는 시리얼 계산 구조로 되어 있어 빠른 클럭으로 동작시킬 수 있는 회로를 제공함에 있다.Another object of the present invention is to use a Berlekamp-Massey iterative algorithm as an error position position polynomial calculation circuit, and the structure is a serial calculation structure to provide a circuit capable of operating at a fast clock.

상기 목적을 수행하기 위한 본 발명은 RS부호를 사용하는 에러정정 시스템에 있어서 에러타 위치 다항식을 계산하기 위해 신드롬 다항식과 이레이져 위치 다항식과 이레이져 개수 와 이레이져 오버플로우 신호를 입력으로 하여 에러타 위치다항식을 계산하여 이것과 입력된 신드 롬을 다시 출력토록 구성되어있다.According to the present invention for performing the above object, in order to calculate the error polynomial position polynomial in the error correction system using the RS code, the error polynomial, the erasure position polynomial, the number of erasers and the error overflow signal are inputted. Compute the positional polynomial and output it again and the input syndrome.

도 1는 본 발명의 실시예에 따른 에러타 정정 시스템도1 is an error correction system diagram according to an embodiment of the present invention

도 2는 도 1의 에러타 위치 다항식 계산부(105)의 내부 블럭도2 is an internal block diagram of the error rudder position polynomial calculator 105 of FIG.

도 3은 도 2의 에러타 위치 다항식 계산회로(201)의 구체회로도3 is a detailed circuit diagram of the error rudder position polynomial calculation circuit 201 of FIG. 2.

도 4A,4B는 본 발명의 실시예에 따른 도 3의 제어 및 상태 흐름도4A and 4B are control and state flow diagrams of FIG. 3 in accordance with an embodiment of the present invention.

도 5는 본 발명의 실시예에 따른 도 4의 (4r)과정의 구체 흐름도5 is a detailed flowchart of process (4r) of FIG. 4 according to an embodiment of the present invention.

이하 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명될 것이다.하기에서 각 도면의 구성요소들에 참조부호를 부가함에 있어, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의내려진 용어들로서 이는 사용자 또는 칩설계자의 의도 또는 관례 등에 따라 달라질 수 있으며, 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT A detailed description of a preferred embodiment of the present invention will now be described with reference to the accompanying drawings. In the following, reference numerals are given to components of each drawing, even though the same components are shown in different drawings. Note that they have the same sign. In describing the present invention, when it is determined that a detailed description of related known functions or configurations may unnecessarily obscure the subject matter of the present invention, the detailed description thereof will be omitted. Terms to be described later are defined in consideration of functions in the present invention, which may vary according to the intention or custom of a user or a chip designer, and the definitions should be made based on the contents throughout the present specification.

도 1은 본 발명의 실시예에 사용되는 RS 부호를 사용하는 에러정정 시스템도이고,1 is an error correction system diagram using an RS code used in an embodiment of the present invention.

도 2는 도 1에서 에러타 위치 다항식 계산부(105)의 주변 결합 관계를 명확히 한 구체화 회로도로서, 도 1,2도를 참조하여 각블럭의 기능 및 구성관계를 살펴보면,FIG. 2 is a detailed circuit diagram clarifying the peripheral coupling relationship of the error rudder position polynomial calculating unit 105 in FIG. 1. Referring to FIGS. 1 and 2, the function and configuration of each block will be described.

수신어(IDATA)의 정정할 코드를 입력하여 신드롬을 계산하여 신드롬 다항식출력(SYNDPOLYO)을 출력하기 위한 신드롬 다항식 계산부(103)와,A syndrome polynomial calculation unit 103 for inputting a code to correct the received word IDATA to calculate a syndrome to output a syndrome polynomial output SYNDPOLYO;

이레이져 플래그(ERAFLG)를 입력하여 이레이져 위치 다항식을 계산하여 계산된 이레이져 위치 다항식(ERTLPOLY)과 이레이져 갯수(NUM-ERA)와 이레이져 오버 플로우 플래그(OFL-ERA)를 발생하는 이레이져 위치 다항식 계산회로(101)와,Eraser generating the eraser position polynomial (ERTLPOLY), the number of erasers (NUM-ERA) and the eraser overflow flag (OFL-ERA) calculated by entering the eraser flag (ERAFLG). A position polynomial calculation circuit 101,

상기 신드롬 다항식 계산부(103)와 이레이져 위치 다항식 계산회로(101)의 출력을 받아 에러타 위치 다항식을 계산하는 에러타 위치 다항식 계산부(105)와,An error rudder position polynomial calculator 105 that receives the output of the syndrome polynomial calculator 103 and the erasure position polynomial calculation circuit 101 and calculates an error rudder position polynomial;

상기 에러타 위치 다항식 계산부(105)의 출력으로 부터 에러타 위치를 검색하고 상기 검색된 에러타 위치에 대한 에러타 크기값을 계산하는 에러타 위치 검색 및 에러 타 값 계산부(107)와,An error rudder position retrieval and error rudder value calculator 107 for retrieving the error rudder position from the output of the error rudder position polynomial calculator 105 and calculating an error rudder size value for the retrieved rudder position;

상기 에러 타 위치 검색 및 에러 타 값 계산부(107)의 검색된 에러 타 위치심볼에 대해 에러타 크기를 더하여 에러 타를 정정하는 에러타 정정부(109)로 구성된다.The error rudder position search and error rudder value calculation unit 107 includes an error rudder correction unit 109 for correcting the error rudder by adding an error rudder size to the retrieved error rudder position symbol.

상기 상기 신드롬 다항식 계산부(103)와 이레이져 위치 다항식 계산회로(101) 및 에러타 위치 다항식 계산부(105)의 관계는 도 1,2의 도시와 같이 상기 신드롬 다항식 계산부(103)의 에러타 다항식 계산 시작신호(INIT-ELC)와 신드롬 다항식출력(SYNDPOLYO)와 이레이져 위치 다항식 계산회로(101)의 이레이져 갯수(NUM-ERA)와 이레이져 오버 플로우 플래그(OFL-ERA)의 신호를 입력처리하여 이에 의해 에러터 위치 다항식(ERTLPOLOY)의 로딩제어신호(LOAD-B,C), 업데이트 계산제어신호(UPD-BPOLY), 부합도 래치신호(UPD-DISCREP), 다음 부합도 계산부 초기화신호(INI-NXTDISC)를 발생하는 계산제어회로(110)와,The relationship between the syndrome polynomial calculation unit 103, the erasure position polynomial calculation circuit 101, and the error rudder position polynomial calculation unit 105 is an error of the syndrome polynomial calculation unit 103 as illustrated in FIGS. The signal of the number of erasers (NUM-ERA) and eraser overflow flag (OFL-ERA) of the other polynomial calculation start signal (INIT-ELC), the syndrome polynomial output (SYNDPOLYO), and the eraser position polynomial calculation circuit 101 Input processing to thereby initialize the load control signal (LOAD-B, C), update calculation control signal (UPD-BPOLY), conformance latch signal (UPD-DISCREP), and next conformance calculation part of the error-terminator polynomial (ERTLPOLOY). A calculation control circuit 110 for generating a signal INI-NXTDISC,

상기 계산제어회로(110)의 출력에 의해 신드롬 다항식 출력(SYNDPOLYO) 및 이레이져 위치 다항식(ERTLPOLY)을 계산하여 상기 다시 계산된 신드롬 다항식출력(SYNDPOLYO) 및 이레이져 위치 다항식(ERTLPOLY)을 출력하는 에러타 위치 다항식계산회로(105)로 구성된다.An error of calculating the syndrome polynomial output SYNDPOLYO and the eraser position polynomial ERTLPOLY by the output of the calculation control circuit 110 and outputting the recalculated syndrome polynomial output SYNDPOLYO and the eraser position polynomial ERTLPOLY. Another position polynomial calculation circuit 105 is configured.

도 3은 도 2의 에러타 위치 다항식 계산부(105)의 구체회로도로서3 is a detailed circuit diagram of the error rudder position polynomial calculation unit 105 of FIG. 2.

에러타 위치 다항식(ERALPOLY) 및 수정 다항식[B(x)]을 저장하는 제1쉬프트 레지스터(301)와,A first shift register 301 for storing an error position position polynomial (ERALPOLY) and a modified polynomial [B (x)],

에러타 위치 다항식(ERALPOLY) 및 에러 위치 다항식[V(x)]을 저장하는 제2쉬프트레지스터(302)와,A second shift register 302 for storing an error position polynomial (ERALPOLY) and an error position polynomial [V (x)],

신드롬 다항식[S(x)]을 저장하는 제3쉬프트레지스터(303)와,A third shift register 303 for storing the syndrome polynomial [S (x)],

상기 제1쉬프트레지스터(301)의 출력 수정 다항식 또는 에러타 위치 다항식의 심볼바이트를 소정시간 저장하므로 지연하는 지연회로(310)와,A delay circuit 310 for delaying a symbol byte of the output-modified polynomial or the error position position polynomial of the first shift register 301 for a predetermined time;

상기 제2쉬프트레지스터(203)의 에러 위치 다항식 또는 에러타 위치다항식의 출력심볼 및 상기 제3쉬프트 레지스터(303)의 신드롬 다항식 출력심볼을 곱하고 다음 부합도를 더하여 갈로이스 필드[GF(2m)]를 산출하기 위한 제1연산셀(311)과,The output symbol of the error position polynomial or the error position position polynomial of the second shift register 203 and the syndrome polynomial output symbol of the third shift register 303 are multiplied, and the next correspondence is added to the galois field [GF (2m)]. A first operation cell 311 for calculating

상기 제1연산셀(311)의 출력과 상기 제3쉬프트레지스터(303)의 출력을 중간값 저장용 선택단(316)의 신호에 따라 선택하는 제2멀티플렉셔(305)와,A second multiplexer 305 for selecting the output of the first operation cell 311 and the output of the third shift register 303 according to a signal of the selection terminal 316 for storing intermediate values;

상기 제2멀티플렉셔(305)의 출력으로부터 다음계산에 사용될 부합도를 계산하기 위해 그 중간값을 저장하는 다음 부합도 저장부(308)와,A next match storage unit 308 for storing the median value for calculating a match to be used for the next calculation from the output of the second multiplexer 305,

상기 제1연산셀(311)의 출력과 신도롬 계수단(S0)의 신호중 현재부합도입력선택단(317)의 신호에 따라 선택하는 제3멀티플렉셔(306)와,A third multiplexer 306 that selects the output of the first operation cell 311 and the signal of the current sum input stage 317 among the signals of the sindorom coefficient stage S0;

상기 제3멀티플렉셔(306)의 출력으로 현재 부합도를 저장하는 현재 부합도 저장부(309)와,A current match storage unit 309 for storing a current match at the output of the third multiplexer 306,

상기 제2쉬프트레지스터(203)에 저장되는 에러타 위치 다항식(ERALPOLY) 및 에러 위치 다항식[V(x)]의 데이터중 계수신호를 저장하는 계수신호저장부(307)와,A coefficient signal storage unit 307 for storing a count signal among data of an error position polynomial (ERALPOLY) and an error position polynomial [V (x)] stored in the second shift register 203,

상기 제1쉬프트레지스터(301)의 출력과 상기 현재 부합도 저장부(309)의 출력을 곱하여 상기 제2쉬프트레지스터(302)의 출력과 더하여 갈로이스 필드[GF(2m)]의 산출하기 위한 제2연산셀(312)과,A multiplier for calculating a gallois field GF (2m) by multiplying the output of the first shift register 301 by the output of the current match degree storage unit 309 and the output of the second shift register 302. 2 operation cell 312,

상기 현재 부합도 저장부(309)의 출력을 반전하여 상기 계수신호저장부(307)의 출력과 곱하여 결국 나누셈 연산으로 갈로이스 필드[GF(2m)]에서 연산을 위한 제3연산셀(313)과,Inverting the output of the current match degree storage unit 309 and multiplying by the output of the coefficient signal storage unit 307, the third operation cell 313 for operation in the gallois field [GF (2m)] by the division operation. )and,

상기 제3연산셀(313)의 출력과 상기 지연회로(310)의 출력을 조건 선택단(315)의 신호에 따라 선택하여 상기 제1쉬프트레지스터(301)에 인가하는 제1멀티플렉셔(304)로 구성된다.A first multiplexer 304 which selects an output of the third operation cell 313 and an output of the delay circuit 310 according to a signal of the condition selection terminal 315 and applies it to the first shift register 301. It consists of.

도 4는 본 발명의 실시예에 참조되는 에러타 위치 다항식을 위한 제어 및 동작흐름도이고,4 is a control and operation flowchart for an error rudder position polynomial referred to an embodiment of the present invention;

도 5는 도 4의 (4r)과정의 내부 루프에서 다항식 계산을 위한 구체흐름도이다.FIG. 5 is a detailed flowchart of the polynomial calculation in the inner loop of the process (4r) of FIG.

따라서 본 발명의 구체적 일 실시예를 도 1-도 5를 참조하여 상세히 설명하면,Therefore, a specific embodiment of the present invention will be described in detail with reference to FIGS. 1 to 5.

RS(N,K,d)는 부호어 길이가 N, 정보어 길이가 K, 최소 해밍거리가 d인 리드 솔로몬(Reed Solomon)부호를 말한다. 상기 RS부호의 특징 중의 하나는 d가 d=N-K+1이라는 점이며,N-K는 패러티의 수로서, 이를 R이라고 하면 R=d-1의 관계가 있다. 상기 RS부호가 정정할 수 있는 심볼의 수를 t라고 하면

Figure pat00001
의 관계에 있다.RS (N, K, d) refers to a Reed Solomon code having a codeword length of N, an information word length of K, and a minimum hamming distance of d. One of the characteristics of the RS code is that d is d = N-K + 1, and NK is the number of parities, and R is R = d-1. If the number of symbols that can be corrected by the RS code is t
Figure pat00001
Is in a relationship.

e개의 이레이져를 포함하는 부호어에 대해서는 하기 수학식 1과 같다.A codeword including e erasures is represented by Equation 1 below.

d ≥ 2t + e +1d ≥ 2t + e +1

상기 식을 만족하는 t개의 에러와 e개의 이레이져를 정정할 수가 있다.상기 에러타를 정정하는 RS디코더는 도 1와 같이 구성되며, 다음과 같은 과정으로 정정을 행한다.T errors and e erasures satisfying the above expression can be corrected. The RS decoder for correcting the error is configured as shown in FIG. 1 and is corrected by the following procedure.

이레이져 위치 다항식 계산부(101)는 수신되는 이레이져 플래그로부터 이레이져 위치 다항식을 계산하고, 신드롬 다항식 계산부(103)은 수신어로부터 신드롬을 계산한다.상기 이레이져 위치 다항식 계산부(101)와 신드롬 다항식 계산부(103)에서 계산된 이레이져 위치 다항식과 신드롬 다항식으로 부터 출력된 심볼에 의해 에러타 위치 다항식 계산부(105)는 에러타 위치 다항식을 계산한다. 상기 에러타 위치 검색 및 에러타 값 계산부(107)은 상기 계산된 에러타 위치 다항식으로 부터 에러타 위치를 검색하고 상기 검색된 에러타 위치에 대한 에러타 크기(값)을 계산한다. 그리고 에러타 정정부(109)는 상기 검색된 에러타 위치 심볼에 에러타 크기를 더하여 에러타를 정정한다. 상기 에러정정을 위해 신드롬 다항식을 S(X), 에러타 위치 다항식을 ∧(X), 이레이져 위치 다항식을 Γ(X)라고 하면, 하기 수학식2,3,4으로 나타 낼수있다.The erasure position polynomial calculation unit 101 calculates the erasure position polynomial from the received erasure flag, and the syndrome polynomial calculation unit 103 calculates the syndrome from the received word. The erasure position polynomial calculation unit 101 The error locator polynomial calculation unit 105 calculates the error rudder position polynomial using the eraser position polynomial calculated by the syndrome polynomial calculation unit 103 and the symbols output from the syndrome polynomial. The error rudder position search and error rudder value calculator 107 retrieves the error rudder position from the calculated error rudder position polynomial and calculates an error rudder size (value) for the retrieved error rudder position. The error rudder correction unit 109 corrects the error rudder by adding the error rudder size to the retrieved error rudder position symbol. For the error correction, if the syndrome polynomial is S (X), the error locator polynomial is ∧ (X), and the erasure position polynomial is Γ (X), it can be represented by the following equations (2), (3) and (4).

Figure pat00002
Figure pat00003
+
Figure pat00004
Figure pat00005
+ ... +
Figure pat00006
Figure pat00002
Figure pat00003
+
Figure pat00004
Figure pat00005
+ ... +
Figure pat00006

Figure pat00007
(1-
Figure pat00008
χ)=
Figure pat00009
Figure pat00010
+
Figure pat00011
Figure pat00012
+ ... +
Figure pat00013
Figure pat00014
+
Figure pat00015
Figure pat00007
(One-
Figure pat00008
χ) =
Figure pat00009
Figure pat00010
+
Figure pat00011
Figure pat00012
+ ... +
Figure pat00013
Figure pat00014
+
Figure pat00015

Figure pat00016
(1-
Figure pat00017
χ)=
Figure pat00018
Figure pat00019
+
Figure pat00020
Figure pat00021
+ ... +
Figure pat00022
Figure pat00023
+
Figure pat00024
Figure pat00016
(One-
Figure pat00017
χ) =
Figure pat00018
Figure pat00019
+
Figure pat00020
Figure pat00021
+ ... +
Figure pat00022
Figure pat00023
+
Figure pat00024

로 쓸 수 있다.Can be written as

상기 에러타 위치 다항식을 계산하기 위한 Berlekamp-Massey 알고리듬(이하 "BMA"라 칭함)은 하기와 같다.The Berlekamp-Massey algorithm (hereinafter referred to as "BMA") for calculating the error point position polynomial is as follows.

[BMA;Berlekamp-Massey algorithm][BMA; Berlekamp-Massey algorithm]

num_era : 이레이져의 수num_era: number of erasers

ofl_era : 이레이져의 수가 오버 플로우임을 표시하는 플래그ofl_era: Flag indicating that the number of erasers is overflowing

deg_b : B(x)의 차수, deg_c : ∧(x)의 차수deg_b: order of B (x), deg_c: order of ∧ (x)

0)

Figure pat00025
(χ)=1,
Figure pat00026
(χ)=1,0)
Figure pat00025
(χ) = 1,
Figure pat00026
(χ) = 1,

deg_c=0, deg_b=0,deg_c = 0, deg_b = 0,

zload_eral=1, r=0,zload_eral = 1, r = 0,

1) if num_era≠0 and r=num_era - 1 and ofl_era = then1) if num_era ≠ 0 and r = num_era-1 and ofl_era = then

zload_eral=0(

Figure pat00027
(χ) =Γ(χ),
Figure pat00028
(χ)= Γ(χ)).zload_eral = 0 (
Figure pat00027
(χ) = Γ (χ),
Figure pat00028
(χ) = Γ (χ)).

elseelse

zload_eral=1,zload_eral = 1,

2) if r≥2t then stop else2) if r≥2t then stop else

Figure pat00029
=
Figure pat00030
Figure pat00031
Figure pat00032
.
Figure pat00029
=
Figure pat00030
Figure pat00031
Figure pat00032
.

3)

Figure pat00033
(χ) =
Figure pat00034
(χ)+
Figure pat00035
χ
Figure pat00036
(χ).3)
Figure pat00033
(χ) =
Figure pat00034
(χ) +
Figure pat00035
χ
Figure pat00036
(χ).

4) if

Figure pat00037
≠0and deg_b≥deg_c then4) if
Figure pat00037
≠ 0and deg_b≥deg_c then

Figure pat00038
(χ)=
Figure pat00039
Figure pat00040
(χ),
Figure pat00038
(χ) =
Figure pat00039
Figure pat00040
(χ),

deg_b = deg_c,deg_b = deg_c,

deg_c = deg_b+1,deg_c = deg_b + 1,

goto 6).goto 6).

5) if

Figure pat00041
=0 or deg_b<deg_c then5) if
Figure pat00041
= 0 or deg_b <deg_c then

Figure pat00042
(χ)= χ
Figure pat00043
(χ),
Figure pat00042
(χ) = χ
Figure pat00043
(χ),

deg_b=deg_b+1,deg_b = deg_b + 1,

6) r=r+1, goto 1)6) r = r + 1, goto 1)

본 발명은 도 3의 도시와 같이 도 4에서 처럼 2(d-1)반복 계산을 하되, 상기 BMA의 0에서 부터 6개의 단계중의 단계 2의 부합도의 계산(dr)과 단계 3,4,5에서의 다항식 각 계수의 계산을 순차적으로 계산하도록 하여 결국, 연산에 필요한 덧셈과 곱셈기를 줄임으로써 회로 크기를 크게 줄임을 특징으로 한다. 그리고 에러타 위치 다항식 계산회로(201)는 도 2에서와 같이 신드롬 다항식 다항식 계산부(103)의 신드롬 다항식(SYNDPOLY)과 이레이져 위치 다항식 계산부(101)의 이레이져 다항식(ERALPOLY)을 입력으로 받아 에러타 위치 다항식을 계산한다. 도 2에 나타나 있는 에러타 위치 계산 회로(201)는 도 3에 보인 회로에 해당한다. 도 3의 본 발명의 회로의 동작과 도 4,5의 제어 순서도에서 도 4는 상기 BMA의 2(d-1)반복 계산 알고리즘의 순서도를 나타내며, 도 5는 도 4에 있는 내부 루프를 보인 것으로 부합도와 다항식의 계수를 순차적으로 계산하는 과정을 (d-1)회 반복한다. 결국 전체 계산에 필요한 클럭 수는

Figure pat00044
이 된다.In the present invention, as shown in FIG. 3, the 2 (d-1) iterations are repeated as in FIG. 4, but the calculation of the degree of conformance (dr) and the steps 3 and 4 of the steps 2 to 6 of the BMA is performed. In order to calculate the coefficients of the polynomials in, 5 sequentially, the circuit size is greatly reduced by reducing the addition and multiplier required for the calculation. In addition, the error rudder position polynomial calculation circuit 201 inputs the syndrome polynomial SYNDPOLY of the syndrome polynomial polynomial calculation unit 103 and the erasure polynomial ERALPOLY of the erasure position polynomial calculation unit 101 as shown in FIG. 2. Calculate the error locator polynomial. The error position calculation circuit 201 shown in FIG. 2 corresponds to the circuit shown in FIG. In the operation of the circuit of the present invention of Figure 3 and the control flowchart of Figures 4 and 5, Figure 4 shows a flow chart of the 2 (d-1) iteration calculation algorithm of the BMA, Figure 5 shows the inner loop in Figure 4 The procedure of sequentially calculating the coefficients of conformance and polynomials is repeated (d-1) times. After all, the number of clocks needed for the total calculation
Figure pat00044
Becomes

상기 BMA와 도 1-도 5를 참조하여 본 발명을 설명하면,Referring to the BMA and Figures 1 to 5 illustrating the present invention,

도 3에서 제1-3쉬프트 레지스터(301-303)는 수정 다항식 B(X), 에러위치 다항식 ∧(X), 신드롬 다항식 S(X)를 각각 저장하기 위한 (d-1) 바이트 쉬프트 레지스터이다. 지연회로(310), 다음, 현재 부합도 저장부(308,309)는 심볼(보통 바이트)을 저장할 수 있는 플립플롭들로서 제1쉬프트 레지스터(301)의 지연, 다음, 현재 부합도 저장부(308,309)에서 다음 부합도, 현재의 부합도를 저장하기 위한 것이다.제1-3연산셀(311-313)은 GF(

Figure pat00045
)에서의 연산을 위한 셀로서 제1,2연산셀(311,312)은 같은 내부구성의 셀이며, 이는 두 수를 곱하고 그 결과를 제 삼의 값과 더하도록 구성되어있다. 제3연상 셀(313)은 나눗셈을(예를 들면, 곱셈에 대한 역원을 다른 수에 곱하여 나눗셈을 행할수 있음)행하는 셀이다. 신호 S(X)는 입력되는 신드롬 다항식이며, ∧(X)는 출력되는 에러타 위치 다항식으로서 제2쉬프트 레지스터에 연결되어 있다. 제3연산셀(313)의 출력단(321)의 신호는 계수 신호 저장부(307)의 계수신호(331)를 부합도 저장부(309)의 출력으로 나눈 신호이며, 제2연산셀(312)의 출력신호(336)는 현재 부합도 저장부(309)의 출력과 제1쉬프트 레지스터(301)의 출력 계수신호를 곱하여 제2쉬프트 레지스터(302)의 계수신호에 더한 신호이다.제1멀티 플렉셔(304)는 선택단(315)는 상기 BMA의 3항 조건에 맞을 경우에 신호 321의 값을 선택하고 그렇지 않을 경우 제1쉬프트 레지스터(301)의 계수로서 지연회로(310)에서 지연된 신호을 선택하는 신호이다.제2멀티플렉셔(305)의 선택단(316)은 다음 계산에 사용될 부합도를 계산하기 위해 그 중간값을 저장하기 위한 다음 부합도 저장부(333)의 입력을 선택하기 위한 신호로서 부 반복 주기의 처음에는 제3쉬프트 레지수터(303)의 출력 신호를, 그렇지 않을 경우에는 제1연산셀(311)의 출력을 선택한다. 제3멀티플렉셔(306)의 선택단(317)은 현재 사용되는 부합도의 입력을 선택하기 위한 신호로서 반복 주기의 처음에는 입력되는 신드롬의 계수 S(0)를 선택하고 이후에는 항상 제1연산셀(311)의 출력신호를 선택한다.상기 제2멀티 플렉셔(305)의 선택단(316)은 다음 부합도 계산을 위해 매 부 반복 주기마다 처음에는 제3쉬프트레지스터(303)의 출력을 선택하고, 두 번째 이후에는 제1연산셀(311)의 출력를 선택하도록 되어있다.In FIG. 3, the 1-3 shift registers 301-303 are (d-1) byte shift registers for storing the modified polynomial B (X), the error position polynomial X (X), and the syndrome polynomial S (X), respectively. . Delay circuit 310, next, current match storage 308, 309 is a flip-flop that can store symbols (usually bytes) in the delay of the first shift register 301, next, current match storage 308, 309 The next matching degree, the current matching degree, is stored.
Figure pat00045
The first and second operation cells 311 and 312 as the cell for the operation in λ) are cells of the same internal configuration, which are configured to multiply two numbers and add the result to a third value. The third associative cell 313 is a cell that performs division (for example, multiplication may be performed by multiplying an inverse for multiplication by another number). The signal S (X) is an input syndrome polynomial, and ∧ (X) is an error position position polynomial output and is connected to the second shift register. The signal of the output terminal 321 of the third operation cell 313 is a signal obtained by dividing the coefficient signal 331 of the coefficient signal storage unit 307 by the output of the matching degree storage unit 309, and the second operation cell 312. The output signal 336 is a signal multiplied by the output of the current match storage unit 309 and the output count signal of the first shift register 301 and added to the count signal of the second shift register 302. The selector 315 selects the value of the signal 321 when the selection stage 315 satisfies the term 3 of the BMA, and otherwise selects the delayed signal in the delay circuit 310 as a coefficient of the first shift register 301. The selection stage 316 of the second multiplexer 305 is a signal for selecting an input of a next conformance storage unit 333 for storing the intermediate value to calculate a correspondence to be used in the next calculation. As an output signal of the third shift register 303 at the beginning of the negative repetition period, 1 selects the output of the operation cell 311. The selection stage 317 of the third multiplexer 306 selects the coefficient S (0) of the input syndrome at the beginning of the repetition period as a signal for selecting an input of the currently used conformity, and always after the first operation. The output terminal of the cell 311 is selected. The selection stage 316 of the second multi-flexurer 305 initially outputs the output of the third shift register 303 for every subsequent repetition period for the next matching calculation. After the second selection, the output of the first operation cell 311 is selected.

한편, 본 발명의 에러타 위치 다항식 계산회로(201)의 동작은 도 4의 예시 흐름도와 같이 (4a)초기과정에서 계산 제어 회로(203)는 에러타 다항식 계산 시작 신호(INIT-XLC)와 이레이져 개수(NUM-ERA)와 이레이져 오버 플로우 플래그(OFL-ERA)신호를 받아 지연회로(310)의 출력을 "0"로 세팅하고, 제1쉬프트 레지스터(301)의 출력단(Bo)은 "1"로 하고,입력단(Bd-1)은 "0"로 하며, 제3쉬프트 레지스터(303)의 신드롬 계수 인덱스[s(i)]는 신드롬 패리티 개수(PN)에서 상기 신드롬 계수 인덱스[s(i)]를 뺀만큼 두고 [S(i)=SYND(PN-i)],신드롬 다항식[s(0)]에 대해 심볼[SYDN(0)]은 "0"로 하고[s(0)=SYDN(0)], 제2쉬프트 레지스터(302)의 계수신호(C0)저장부(307)의 출력은 "1"로 한다. 그리고 상기 이레이져 개수가 1개일때의 제1조건(COND=1)이고, 그외는 0(else 0)으로서, 이레이져 개수(NUM-ERA)는 "1"이고,이레이져 오버 플로우 플래그(OFL-ERA)는 "1"이 아닐때)일때 상기 제2쉬프트 레지스터(302)의 1에서 d-1까지[c(d-1:1)]를 이레이져 위치 다항식 1에서 d-1까지 설정하며[c(d-1:1)]=[ERALPOLY(d-1:1)], COND=1 이고, 그외는 신드롬 심볼[synd(0)]일 때 제3 멀티 플렉셔(306)의 선택에 의해 현재 부합도 저장부(309)에 "0"을 기록한다. 한편, 상기 제1조건(COND=1)이고, 그외는 [(else 0)]"0"일 때 제2쉬프트 레지스터(302)에 "1"를 로딩한다. 전체 인덱스(r)와 계수 인덱스(i)는 "0"로 하며,제1,2쉬프트 레지스터(301,302)의 수정 및 에러 다항식의 차수(deg-b,c)를 "0"로 한다.그리고 (4b)과정에서 전체 인덱스(r)가 제2 쉬프트레지스터(302)의 최종 바이트(d-1)를 지정하는 값보다 큰지를 비교한다. 상기 (4b)과정에서 전체 인덱스(r)값이 크면 처리를 종료하고, 작으면 (4c)과정에서 제2 쉬프트 레지스터(302)에 "1"이 로딩되었냐를 체킹한다. 상기 제2쉬프트 레지스터(302)에 "1"이 로딩 되지 않았으면 제1쉬프트 레지스터(301)에 "1"를 로딩하고, 그러나 로딩되었으면 제1쉬프트 레지스터(301)에 "0"을 로딩한다. 상기 계산 제어 회로(203)는 에러타 다항식 계산 시작 신호(INIT-XLC)와 이레이져 개수(NUM-ERA)와 이레이져 오버 플로우 플래그(OFL-ERA)를 받아 상기 이레이져 오버 플로우 플래그(OFL-ERA)가 "1"이 아니고,상기 이레이져 개수(NUM-ERA)가 "0"이 아니며, 상기 이레이져 개수(NUM-ERA)가 "1"아니며, 상기 이레이져 개수[(NUM-ERA)-2]가 전체 인덱스(r)일 때 해당하는 제2조건(COND2)에 해당하는지(COND=1)를 (4g)과정에서 체킹한다.상기 (4g)과정에서 상기 제2조건에 해당하지 않으면 제2쉬프트 레지스터(302)에 "0"을 로딩하고,상기 제2조건에 해당하면 "1"을 로딩한다.다음으로는 현재 부합도 저장부(309)의 출력(DISCRIP)이 "0"이고,제1쉬프트 레지스터(301)의 다항식의 차수(DEG-B)와 제2쉬프트 레지스터(302)의 다항식의 차수(DEG-C)가 같은지를 체킹한다.현재 부합도(discrip)가 "0"이 아니거나 상호 차수가 같지 않을시 제1멀티 플렉셔(304)에 의해 지연회로(310)의 출력을 선택하여 제1쉬프트 레지스터(301)의 다항식을 업데이트하며, 같을시 제3연산셀(313)의 출력을 선택하여 업데이트 한다. 다음 (4m)과정에서 제1쉬프트 레지스터(301)에 "1"이 로딩 되었냐를 체킹하여 로딩이 않되었으면 (4n)과정에서 상기 제3연산셀(313)의 출력을 선택하였냐를 확인한다. 상기 (4m)과정에서 "1"이 로딩되었을 때 제1,2쉬프트 레지스터(301,302)의 차수(DEG-B,C)를 이레이져 다항식 차수(ERA-CNT)로 하고,상기 (4n)과정에서 제1쉬프트 레지스터(301)의 업데이트로 "1"일 때 (40)과정에서 제1,2쉬프트 레지스터(301,302)의 차수(DEG-B,C)를 일치시키고, 상기 제1쉬프트 레지스터(301)의 업데이트로 "1"이 아닐때 (4q)과정에서 제1쉬프트 레지스터(301)의 차수를 증가시킨다(DEG-B=DEG+1).(4r)과정에서 다항식 계산을 위해 내부 루핑을 실행한후 (4s)과정에서 전체 인덱스(r)를 증가시킨다. 도 5는 도 4의 (4r)과정의 구체 흐름도로서, (5a)과정에서 계수 인덱스(i)가 최종단(d-1)에 도달 되었으면 처리를 끝내고, 그전이면 (5b)과정에서 계수 인덱스(i)가 0인가를 체킹한다. 상기 (5b)과정에서 0일 때 (5d)과정에서 다음 부합도를 로딩하기위해 선택단(316)의 신호에 의해 제3쉬프트 레지스터(303)의 출력을 제2멀티플렉셔(305)에서 선택하여 다음부합도(308)의 값으로 저장한다.그러나 (5b)과정에서 0 이 아니면 다음 부합도를 계산하기위해 (5c)과정에서 제1연산셀(311)에서 제2쉬프트 레지스터(302)의 출력과 제3쉬프트 레지스터(303)의 출력을 곱셈기(M2)에서 승산하여 가산기(A2)에서 상기 곱셈기(M2)의 출력과 다음 부합도 저장부(308)의 출력을 합하여 제2멀티플렉셔(305)에 선택되어 다음 부합도 저장부(308)에 기록된다.이어서 (5e)과정에서 계수 인덱스(i)가 최종치(d-2)에 도달 했는지를 체킹하여 이에 도달되지 않았으면 제 3쉬프트 레지스터(303)에서 쉬프팅을 한다[s(d-2)=s(0),s(k-1)=s(k) FOR 1<=K<=d-2] (5g)과정에서 제2쉬프트레지스터(302)의 에러다항식의 계산을 위해 제1쉬프트레지스터(301)의 출력(Bo)과 현재 부합도 저장부(309)의 출력을 제2연산셀(312)의 곱셈기(M3)에서 곱하여 제2쉬프트 레지스터(302)의 출력과 가산기(A1)에서 더한다. (5h)과정에서 제1쉬프터 레지스터(301)에서 업데이트가 "1"이 아닐 때 (5i)과정에서 상기 제1쉬프터 레지스터(301)의 출력을 지연회로(310)에 지연하며,"1"일 때 (5j)과정에서 상기 제3연산셀(313)의 현재 부합도 저장부(309)의 출력을 인버터(N1)에서 반전하여 상기 계수 신호 저장부(307)의 출력과 곱셈한 값을 선택하여 상기 제1쉬프트 레지스터(301)에 입력한다.그리고 (5k)과정에서 제1,2쉬프트 레지스터(301,302)를 1에서 d-2까지 쉬프트하고, (5l)과정에서 계수 인덱스를 증가시킨다(i=i+1). 그러나 상기 (5e)과정에서 계수 인덱스가 d-2일 때 (5m)과정에서 제1연산셀(311)의 출력을 제3멀티 플렉셔(306)에서 선택하여 현재 부합도 저장부(309)에 로딩하며, (5n)과정에서 지연회로(310)를 "0"으로 하고,계수 신호 저장부(307)를 "1"로 하고, 제2쉬프트레지스터(302)에 "1"이 로딩 되었냐를 (5o)과정에서 체킹한다. 상기 (5o)과정에서 로딩이 않되었으면 상기 (5g)과정을 실행하고, 상기 로딩이 되었으면 (5p)과정에서 제2쉬프트레지스터(302)의 로딩을 위해 현재 부합도 저장부(309)의 츨력은 "0"로 하고, 계수 신호 저장부(307)의 출력은 "1"로 하며, 이레이져 위치 다항식을 저장한다. (5q)과정에서 제1쉬프트레지스터(301)에 "1"이 로딩되었냐를 체크하여 상기 로딩이 "1"이 되지 않았으면 (5g)과정을 실행하고, "1"이 로딩되었으면 (5r)과정에서 제1쉬프트레지스터(301)로 로딩을 위해 B0는 "1"로 하며, 이레이져 위치 다항식을 저장하고 (5l)과정에서 계수 인덱스를 증가시킨다. 이상의 설명을 토대로 최대 4개의 에러타를 정정할 수 있는 RS부호의 에러타 위치 다항식을 계산해 보면, 신드롬은 모두 4개로 각각 S(3),S(2),S(1),S(0)라고 하고,이레이져 플래그가 1개, 에러가 1개 발생했다고 가정하면,신드롬 다항식 계산부(103)에서 에러타 다항식 계산 시작신호(INIT_ELC)가 발생하면 제2쉬프트레지스터(302)에는 이레이져 위치 다항식이, 현재 부합도 저장부(309)는 0심볼로, 제3쉬프트레지스터(303)에는 신드롬 다항식이 s_poly(3:0)=(S(1), S(2), S(3), S(0))로 로드되어 첫 번째 주 반복주기가 시작된다. 상기 반복 주기에서는 계산된 이레이져 다항식과 신드롬과의 관계가 적절한지를 판별할 수 있는 부합도를 순차적으로 계산한다. 두 번째 주 반복주기가 되면 계산된 부합도는 현재 부합도 저장부(309)에 저장되고, 제1쉬프트 레지스터(301)에는 이레이져 위치 다항식이,지연회로(310)에는 0심볼이 로드된다. 만약, 부합도가 "0"이 아니라면 제1쉬프트레지스터(301)는 부합도로 제2쉬프트레지스터(302)를 나눈 값을 갖게 되고, 제2쉬프트레지스터(302)는 부합도를 제1쉬프트레지스터(301)에 곱하고, 자신의 값에 더한 값을 갖게 된다(c_poly(1)이 계산부에 입력되게 함으로써 x를 곱해주는 효과를 봄). 이 후의 계산 과정은 부합도를 계산하는 과정만이 다르고, 상기 BMA의 상기 3항 조건인가 4항 조건인가에 따라 선택단(315)의 신호에 따라 제1쉬프트 레지스터(301)의 입력을 제1멀티 플렉셔(304)에서 선택되어 지며, 제1쉬프트레지스터(301)의 계산 과정은 상기와 같이 정해지고, 제2쉬프트레지스터(302)는 항상 같은 식으로 계산된다. 두 번째 주 주기에서 제3쉬프트레지스터(303)의 신호 신드롬 심볼(si)는 S(2)가 선택되고,새롭게 계산되어 지는 제2쉬프트레지스터(302)의 계수와 곱하고 다음 부합도 저장부(308)와 더하여져 다음에 사용될 부합도를 계산한다.이 주기의 처음에 현재 부합도 저장부(309)는 첫 번째 주 주기에서 계산된 부합도 C(0)S(1)+C(1)S(0)를 래치하여 새로운 에러 위치 다항식을 계산하는데 사용된다.On the other hand, the operation of the error rudder position polynomial calculation circuit 201 of the present invention, as shown in the example flow chart of Figure 4 (4a) in the initial process, the calculation control circuit 203 is the error rudder polynomial calculation start signal (INIT-XLC) The output of the delay circuit 310 is set to "0" in response to the number of NUM-ERA signals and the eraser overflow flag (OFL-ERA) signal, and the output terminal Bo of the first shift register 301 is "0". 1 ", and the input terminal Bd-1 is " 0 ", and the syndrome coefficient index [s (i)] of the third shift register 303 is the syndrome coefficient index [s () of the syndrome parity number PN. i)] minus [S (i) = SYND (PN-i)], the symbol [SYDN (0)] is set to "0" for the syndrome polynomial [s (0)] and [s (0) = SYDN (0)] and the output of the count signal C0 storage unit 307 of the second shift register 302 are set to "1". The first condition (COND = 1) when the number of erasures is one, the other is 0 (else 0), the number of erasures (NUM-ERA) is "1", and the eraser overflow flag (OFL). ERA) is set from 1 to d-1 [c (d-1: 1)] of the second shift register 302 to erasure position polynomial 1 to d-1 when " 1 " [c (d-1: 1)] = [ERALPOLY (d-1: 1)], COND = 1, otherwise the selection of the third multiplexer 306 when the syndrome symbol [synd (0)] is performed. "0" is recorded in the current match degree storage unit 309 by doing so. On the other hand, when the first condition (COND = 1) and the other [[else 0)] "0", the second shift register 302 is loaded with "1". The total index r and the coefficient index i are set to " 0 ", and the order of the first and second shift registers 301 and 302 and the error polynomial deg-b and c are set to " 0 ". In step 4b), it is compared whether the total index r is greater than a value indicating the last byte d-1 of the second shift register 302. If the total index r value is large in step (4b), the process ends, and if it is small, it is checked whether "1" is loaded in the second shift register 302 in step (4c). If "1" is not loaded in the second shift register 302, "1" is loaded in the first shift register 301, but if it is loaded, "0" is loaded in the first shift register 301. The calculation control circuit 203 receives the error polynomial calculation start signal INIT-XLC, the number of erasers NUM-ERA, and the eraser overflow flag OFL-ERA, and the eraser overflow flag OFL-. ERA) is not "1", the number of erasers NUM-ERA is not "0", the number of erasers NUM-ERA is not "1", and the number of erasers [(NUM-ERA) -2] checks whether the corresponding second condition (COND2) corresponds to the corresponding second condition (COND2) in step (4g). If the second condition does not correspond to the second condition in step (4g), In the second shift register 302, "0" is loaded, and "1" is loaded if the second condition is met. Next, an output DISCRIP of the current match storage unit 309 is "0". Checks whether the degree (DEG-B) of the polynomial of the first shift register 301 and the order (DEG-C) of the polynomial of the second shift register 302 are the same. The current discrepancy is "0". Not or mutual When the numbers are not equal, the output of the delay circuit 310 is selected by the first multiplexer 304 to update the polynomial of the first shift register 301, and when the numbers are equal, the output of the third operation cell 313 is selected. To update it. In the next step (4m), it is checked whether "1" is loaded in the first shift register 301 and if it is not loaded, it is checked whether the output of the third operation cell 313 is selected in step (4n). When "1" is loaded in step (4m), the degree (DEG-B, C) of the first and second shift registers 301 and 302 is the eraser polynomial order (ERA-CNT), and in step (4n) When the value of the first shift register 301 is "1", the order (DEG-B, C) of the first and second shift registers 301 and 302 is matched in step 40, and the first shift register 301 is matched. When the update is not "1", the order of the first shift register 301 is increased in step (4q) (DEG-B = DEG + 1). In step (4r), the internal looping is performed for the polynomial calculation. In the next step (4s), the total index (r) is increased. 5 is a detailed flowchart of the process (4r) of FIG. 4, the process is terminated if the coefficient index (i) reaches the final stage (d-1) in step (5a), and before that the coefficient index ( Check if i) is zero. When 0 in step 5b, the output of the third shift register 303 is selected by the second multiplexer 305 by the signal of the selection stage 316 to load the next match in step 5d. If it is not 0 in step 5b, the output of the second shift register 302 in the first operation cell 311 in step 5c is calculated to calculate the next match. Multiplying the output of the third shift register 303 by the multiplier M2 and adding the output of the multiplier M2 and the output of the next matching storage unit 308 in the adder A2 to the second multiplexer 305. The next match is also recorded in the storage unit 308. Then, in step 5e, it is checked whether the coefficient index i has reached the final value d-2. 303) [s (d-2) = s (0), s (k-1) = s (k) FOR 1 <= K <= d-2] The second shift register in the process (5g). Error polynomial of 302 In order to calculate the equation, the output Bo of the first shift register 301 and the output of the current match storage unit 309 are multiplied by the multiplier M3 of the second operation cell 312 so as to multiply the second shift register 302. Add at output and adder (A1). When the update is not "1" in the first shifter register 301 in step 5h, the output of the first shifter register 301 is delayed to the delay circuit 310 in step 5i, and is "1". In step (5j), the output of the current correspondence storage unit 309 of the third operation cell 313 is inverted by the inverter N1, and a value multiplied by the output of the coefficient signal storage unit 307 is selected. The first shift register 301 is inputted. In step 5k, the first and second shift registers 301 and 302 are shifted from 1 to d-2, and in step 5l, the coefficient index is increased (i = i + 1). However, when the coefficient index is d-2 in step (5e), the output of the first operation cell 311 is selected by the third multiplexer 306 in step (5m) to the current match storage unit 309. In step 5n, the delay circuit 310 is set to "0", the coefficient signal storage unit 307 is set to "1", and the second shift register 302 is loaded with "1" ( Check in step 5o). If it is not loaded in step (5o), the process of (5g) is executed, and if the loading is performed, the output of the current conformance storage unit 309 for loading of the second shift register 302 in step (5p) is It is set to "0", the output of the coefficient signal storage unit 307 is set to "1", and the eraser position polynomial is stored. In step 5q, the first shift register 301 checks whether "1" is loaded, and if the loading is not "1", executes step (5g), and if "1" is loaded, step (5r) B0 is set to "1" for loading into the first shift register 301 at, and stores the eraser position polynomial and increases the coefficient index in step 5l. Based on the above description, if you calculate the error coder position polynomial of RS code that can correct up to four error codes, there are four syndromes, respectively S (3), S (2), S (1), and S (0). Assuming that one erasure flag and one error occur, when the error polynomial calculation start signal INIT_ELC is generated in the syndrome polynomial calculation unit 103, the second shift register 302 has an erasure position. The polynomial, the current correspondence storage unit 309 is 0 symbols, and the third shift register 303 has a syndrome polynomial s_poly (3: 0) = (S (1), S (2), S (3), Loaded into S (0)) to start the first main iteration. In the repetition period, the degree of conformity for determining whether the relationship between the calculated Eraser polynomial and the syndrome is appropriate is sequentially calculated. When the second main repetition period is reached, the calculated match is stored in the current match storing unit 309, the erasure position polynomial is loaded in the first shift register 301, and zero symbols are loaded in the delay circuit 310. If the matching degree is not "0", the first shift register 301 has a value obtained by dividing the second shift register 302 by the matching degree, and the second shift register 302 may determine the matching degree by the first shift register ( Multiply by 301 and have its value added to it (see the effect of multiplying x by allowing c_poly (1) to be entered into the computation). The subsequent calculation process differs only in the process of calculating the degree of conformance, and according to the signal of the selection stage 315 according to the 3rd term or 4th term of the BMA, the input of the first shift register 301 is first received. The multiple shifter 304 is selected, the calculation process of the first shift register 301 is determined as described above, and the second shift register 302 is always calculated in the same manner. In the second main period, the signal syndrome symbol si of the third shift register 303 is multiplied by the coefficient of the second shift register 302, where S (2) is selected and newly calculated, and the next match storage unit 308 In addition to calculating the correspondence to be used next, at the beginning of this period the current conformance store 309 calculates the correspondence calculated from the first main period C (0) S (1) + C (1) S. It is used to calculate a new error position polynomial by latching (0).

상기 주 주기에서 계산되는 다음부합도는C(0)S(2)+C(1)S(1)+C(2)S(0)이다. 세 번째 주 주기에서 계산되는 다음 부합도는 C(0)S(3)+C(1)S(2)+C(2)S(1)이고, 현재 부합도는 두 번째 주 주기에서 계산한 부합도이다.네 번째 주 주기에서는 마지막 반복 과정이므로 다음 부합도는 관심의 대상이 아니며, 현재 부합도는 세 번째 주 주기에서 계산된 부합도로 에러타 위치 다항식을 계산한다. 총 4*4=16개의 클럭(4주 반복주기, 4부 반복주기)후에 에러위치 다항식이 계산되며, 이때의 에러위치 다항식 회로는 다음단계를 위해 사용될 수 있다. 제 3쉬프트 레지스터(303)의 쉬프팅 동작은 매 부 주기의 마지막 단계에서만 저지되고 항상 행해지도록 제어된다. 초기에 제3쉬프트레지스터(303)인 S_POLY = (S(1),S(2),S(3),S(0))이었으므로 첫 번째 부주기 동작이 완료되면 (S(2),S(3),S(0),S(1)), 두 번째에서는 (S(2),S(3),S(0),S(1)), 세 번째에서는 (S(3),S(2),S(1),S(0)), 네 번째에는 (S(1),S(2),S(3),S(0))로 되어 신드롬다항식출력(SYNDPOLYO)으로(S_POLY(1),S_POLY(2),S_POLY(3),S_POLY(0))=(S(3),S(2),S(1),S(0))를 출력하여 다음 단계에서 필요한 신드롬 다항식을 출력해 주는 것이 가능하여 지연 기능까지 수행하게 된다.만약, 상기 이레이져가 하나도 발생하지 않은 경우에는 에러만을 정정하게 되고,다음 설명과 같이 동작되어 에러 위치 다항식계산회로로 사용이 가능해진다.초기에 B_POLY=1, C_POLY=1, S_POLY=SYNDPOLY,CNT_D=S(0)로 초기화 된다.부합도 계산시 초기 부합도는 항상 S(0)가 되기 때문에 현재 부합도 저장부(309)은 S(0)로 로드하여도 연속 동작에 문제가 생기지 않는 특징을 발견 적용하는 것이다. 이제 첫 번째 주 반복주기에서는 다음에 사용될 부합도를 상기 설명한 바와 같이(이레이져를 포함하건 하지 않건 간에 일단 초기화 또는 로딩 동작이 수행된 후에는 같은 연산 동작을 수행함)계산하며, 현재의 부합도에 따라 에러타 위치 다항식과 수정 다항식을 도 4 와 도 5에 나타낸 것처럼 반복 진행한다. 다만, 이 때의 에러 위치 다항식 계산에 소요되는 단계 수는 에러 위치 다항식만을 계산할 수 있는 회로를 사용하는 것보다 2배 더 소요될 뿐이다. 이러한 단점을 보완하기 위해 제1,2쉬프트 레지스터(301,302)의 쉬프트 동작이 (d-1)/2가 되도록 멀티플렉셔를 추가하여 제어 해주는 것도 가능하겠으나 그 계산 단계수가 문제가 되지 않을 경우에는 문제가 되지 않는다.그리고 리드 솔로몬(RS)의 부호는 대부분 적 부호(product code)형태로 사용되어, 이러한 경우에 한 부호군에 대하여는 에러만을 정정하고,다른 부호군에 대하여는 에러타 정정을 행하는 것이 일반적인 바, 본 발명은 그대로 에러만이나 에러타를 모두 정정할 수 있도록 구성되어 있어 특히 유용하다.The next degree of sum calculated in the main period is C (0) S (2) + C (1) S (1) + C (2) S (0). The next fit calculated at the third main cycle is C (0) S (3) + C (1) S (2) + C (2) S (1), and the current fit is calculated at the second main cycle. Since the fourth main cycle is the last iteration process, the next fit is not of interest, and the current fit computes the errorta position polynomial with the calculated one in the third main cycle. After a total of 4 * 4 = 16 clocks (4 week repetition period, 4 part repetition period), the error position polynomial is calculated, and the error position polynomial circuit can be used for the next step. The shifting operation of the third shift register 303 is controlled to be inhibited only at the end of every subcycle and always performed. Initially, since the third shift register 303, S_POLY = (S (1), S (2), S (3), S (0)), when the first subcycle operation is completed, (S (2), S ( 3), S (0), S (1)), (S (2), S (3), S (0), S (1)) in the second, and (S (3), S ( 2), S (1), S (0)), the fourth is (S (1), S (2), S (3), S (0)) and the syndrome polynomial output (SYNDPOLYO) (S_POLY ( 1), S_POLY (2), S_POLY (3), S_POLY (0)) = (S (3), S (2), S (1), S (0)) If the eraser does not occur, only the error is corrected, and the operation is performed as described below, so that the error position polynomial calculation circuit can be used. It is initialized to B_POLY = 1, C_POLY = 1, S_POLY = SYNDPOLY, CNT_D = S (0). Since the initial match is always S (0) when calculating the match, the current match storage unit 309 is S (0). ) Does not cause any problem in continuous operation Is to discover and apply the features. The first main iteration now calculates the conformance to be used next, as described above (with or without an eraser, once the initialization or loading operation has been performed and then performs the same computational operation), Accordingly, the error rudder polynomial and the modified polynomial are repeated as shown in FIGS. 4 and 5. However, the number of steps required to calculate the error position polynomial at this time is only twice as long as using a circuit capable of calculating only the error position polynomial. In order to compensate for this disadvantage, it is possible to add and control the multiplexer so that the shift operation of the first and second shift registers 301 and 302 becomes (d-1) / 2. And, the codes of Reed Solomon (RS) are mostly used in the form of product codes. In this case, it is common to correct only an error in one code group and to perform error correction for another code group. The present invention is particularly useful because it is configured to correct only errors and error errors.

본 발명의 다른 실시예로서 도 3에서는 신드롬 다항식을 초기에 패러랠로 로드하고 ,에러위치 다항식을 패러랠로 출력하는데, 모두 시리얼로 로드 및 출력 되도록 제어하는 회로도 타이밍이 부족하지 않은 응용에 대하여 쉽게 변형되어 사용될 수 있어 본 발명의 범주에 속한다.In another embodiment of the present invention in Figure 3, the syndrome polynomial is initially loaded in parallel and the error position polynomial is output in parallel, and the circuits for controlling the load and output in serial are all easily modified for applications that do not lack timing. It can be used and belongs to the scope of the present invention.

상술한 바와같이 본 발명은 부합도를 계산하고 이를 이용하여 에러타 위치 다항식을 계산하는 회로에 있어서 그 회로 규모가 크고 계산 시간이 오래 걸리는 단점을 없애고, 그 크기가 작고 빠른 클럭으로 동작 시킬 수 있는(

Figure pat00046
클럭소요)이점이 있다.As described above, the present invention eliminates the shortcomings of a large circuit and a long calculation time in a circuit that calculates a degree of conformance and calculates an error position polynomial using the same, and can operate with a small and fast clock. (
Figure pat00046
Clock is required).

Claims (2)

리드 솔로몬 디코더의 에러 정정 시스템에 있어서,In the error correction system of the Reed Solomon decoder, 수신어(IDATA)의 정정할 코드를 입력하여 신드롬을 계산하여 신드롬 다항식출력(SYNDPOLYO)을 위한 신드롬 다항식 계산부(103)와,A syndrome polynomial calculation unit 103 for calculating a syndrome by inputting a code to be corrected of the received word IDATA, and outputting the syndrome polynomial (SYNDPOLYO); 이레이져 플래그(ERAFLG)를 입력하여 이레이져 위치 다항식을 계산하여 이레이져 위치 다항식(ERTLPOLY)과 이레이져 갯수(NUM-ERA)와 이레이져 오버 플로우 플래그(OFL-ERA)를 발생하는 이레이져 위치 다항식 계산회로(101)와,Eraser Position Polynomial which generates Eraser Position Polynomial (ERTLPOLY), Number of Erasers (NUM-ERA) and Erasure Overflow Flag (OFL-ERA) by inputting Eraser Flag (ERAFLG) The calculation circuit 101, 상기 신드롬 다항식 계산부(103)와 이레이져 위치 다항식 계산회로(101)의 출력을 받아 에러타 위치 다항식을 계산하는 에러타 위치 다항식 계산부(105)와, 상기 신드롬 다항식 계산부(103)의 에러타 다항식 계산 시작신호(INIT-ELC)와 신드롬 다항식출력(SYNDPOLYO)와 이레이져 위치 다항식 계산회로(101)의 이레이져 갯수(NUM-ERA)와 이레이져 오버 플로우 플래그(OFL-ERA)의 신호를 입력처리하여 이에 의해 에러터 위치 다항식(ERTLPOLOY)의 로딩제어신호(LOAD-B,C), 업데이트 계산제어신호(UPD-BPOLY), 부합도 래치신호(UPD-DISCREP), 다음 부합도 계산부 초기화신호(INI-NXTDISC)를 발생하는 계산제어회로(110)와,Error of the syndrome polynomial calculation unit 103 and the error polynomial calculation unit 105 and the syndrome polynomial calculation unit 103 for calculating the error polynomial position polynomial by receiving the output of the erasure position polynomial calculation circuit 101. The signal of the number of erasers (NUM-ERA) and eraser overflow flag (OFL-ERA) of the other polynomial calculation start signal (INIT-ELC), the syndrome polynomial output (SYNDPOLYO), and the eraser position polynomial calculation circuit 101 Input processing to thereby initialize the load control signal (LOAD-B, C), update calculation control signal (UPD-BPOLY), conformance latch signal (UPD-DISCREP), and next conformance calculation part of the error-terminator polynomial (ERTLPOLOY). A calculation control circuit 110 for generating a signal INI-NXTDISC, 상기 에러타 위치 다항식 계산부(105)의 출력으로 부터 에러타 위치를 검색하고 상기 검색된 에러타 위치에 대한 에러타 크기값을 계산하는 에러타 위치 검색 및 에러타 값 계산부(107)와,An error rudder position retrieval and error rudder value calculator 107 for retrieving an error rudder position from the output of the error rudder position polynomial calculator 105 and calculating an error rudder size value for the retrieved rudder position; 상기 에러타 위치 검색 및 에러타 값 계산부(107)의 검색된 에러타 위치심볼에 대해 에러타 크기를 더하여 에러타를 정정하는 에러타 정정부(109)로 구성됨을 특징으로 하는 리드 솔로몬 디코더에 있어서 에러 정정 시스템.In the Reed Solomon decoder characterized in that it comprises an error rudder correction unit 109 for correcting the error rudder by adding the error rudder size to the retrieved error rudder position symbol of the error rudder position search and error rudder value calculator 107. Error correction system. 제 1항에 있어서,The method of claim 1, 상기 에러타 위치 다항식 계산부(105)는 상기 에러타 위치 다항식(ERALPOLY) 및 수정 다항식[B(x)]을 저장하는 제1쉬프트 레지스터(301)와,The error rudder position polynomial calculation unit 105 includes a first shift register 301 for storing the error rudder position polynomial ERALPOLY and the modified polynomial B (x); 상기 에러타 위치 다항식(ERALPOLY) 및 에러 위치 다항식[V(x)]을 저장하는 제2쉬프트레지스터(302)와,A second shift register 302 which stores the error position polynomial ERALPOLY and the error position polynomial V (x); 신드롬 다항식[S(x)]을 저장하는 제3쉬프트레지스터(303)와,A third shift register 303 for storing the syndrome polynomial [S (x)], 상기 제1쉬프트레지스터(301)의 출력 수정 다항식 또는 에러타 위치 다항식의 심볼바이트를 소정시간 저장하여 지연하는 지연회로(310)와,A delay circuit 310 for storing and delaying a symbol byte of an output-corrected polynomial or an error-position polynomial of the first shift register 301 for a predetermined time; 상기 제2쉬프트레지스터(203)의 에러 위치 다항식 또는 에러타 위치다항식의 출력심볼 및 상기 제3쉬프트 레지스터(303)의 신드롬 다항식 출력심볼을 곱하고 다음 부합도를 더하여 갈로이스 필드[GF(2m)]를 연산하기 위한 제1연산셀(311)과,The output symbol of the error position polynomial or the error position position polynomial of the second shift register 203 and the syndrome polynomial output symbol of the third shift register 303 are multiplied, and the next correspondence is added to the galois field [GF (2m)]. A first operation cell 311 for calculating 상기 제1연산셀(311)의 출력과 상기 제3쉬프트레지스터(303)의 출력을 상기 계산제어회로(110)의 중간값 저장용 선택단(316)의 신호에 따라 선택하는 제2멀티플렉셔(305)와,A second multiplexer for selecting the output of the first operation cell 311 and the output of the third shift register 303 according to a signal of the selection terminal 316 for storing the intermediate value of the calculation control circuit 110 ( 305), 상기 제2멀티플렉셔(305)의 출력으로부터 다음계산에 사용될 부합도를 계산하기 위해 그 중간값을 저장하는 다음 부합도 저장부(308)와,A next match storage unit 308 for storing the median value for calculating a match to be used for the next calculation from the output of the second multiplexer 305, 상기 제1연산셀(311)의 출력과 신도롬 계수단(S0)의 신호중 상기 계산제어회로(110)의 현재부합도입력선택단(317)의 신호에 따라 선택하는 제3멀티플렉셔(306)와,A third multiplexer 306 that selects the output of the first operation cell 311 and the signal of the sindorom coefficient stage S0 according to the signal of the current match input selection stage 317 of the calculation control circuit 110; Wow, 상기 제3멀티플렉셔(306)의 출력으로 현재 부합도를 저장하는 현재 부합도 저장부(309)와,A current match storage unit 309 for storing a current match at the output of the third multiplexer 306, 상기 제2쉬프트레지스터(203)에 저장되는 에러타 위치 다항식(ERALPOLY) 및 에러 위치 다항식[V(x)]의 데이터중 계수신호를 저장하는 계수신호저장부(307)와,A coefficient signal storage unit 307 for storing a count signal among data of an error position polynomial (ERALPOLY) and an error position polynomial [V (x)] stored in the second shift register 203, 상기 제1쉬프트레지스터(301)의 출력과 상기 현재 부합도 저장부(309)의 출력을 곱하여 상기 제2쉬프트레지스터(302)의 출력과 더하여 갈로이스 필드[GF(2m)]의 연산을 위한 제2연산셀(312)과,The output of the first shift register 301 and the output of the current correspondence storage unit 309 are multiplied, and the output of the second shift register 302 is added to calculate the galois field GF (2m). 2 operation cell 312, 상기 현재 부합도 저장부(309)의 출력을 반전하여 상기 계수신호저장부(307)의 출력과 곱하여 결국 나누셈 연산으로 갈로이스 필드[GF(2m)]에서 연산을 위한 제3연산셀(313)과,Inverting the output of the current match degree storage unit 309 and multiplying by the output of the coefficient signal storage unit 307, the third operation cell 313 for operation in the gallois field [GF (2m)] by the division operation. )and, 상기 제3연산셀(313)의 출력과 상기 지연회로(310)의 출력을 상기 계산제어회로(110)의 조건 선택단(315)의 신호에 따라 선택하여 상기 제1쉬프트레지스터(301)에 인가하는 제1멀티플렉셔(304)로 구성됨을 특징으로 하는 리드 솔로몬 디코더에 있어서 에러 정정 회로.The output of the third operation cell 313 and the output of the delay circuit 310 are selected according to the signal of the condition selection terminal 315 of the calculation control circuit 110 and applied to the first shift register 301. And a first multiplexer (304).
KR1019970038582A 1997-08-13 1997-08-13 High speed serial errata situation polyno mial caiculation circuit in reed-soldmon KR100247075B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970038582A KR100247075B1 (en) 1997-08-13 1997-08-13 High speed serial errata situation polyno mial caiculation circuit in reed-soldmon

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970038582A KR100247075B1 (en) 1997-08-13 1997-08-13 High speed serial errata situation polyno mial caiculation circuit in reed-soldmon

Publications (2)

Publication Number Publication Date
KR19990016132A KR19990016132A (en) 1999-03-05
KR100247075B1 true KR100247075B1 (en) 2000-03-15

Family

ID=19517390

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970038582A KR100247075B1 (en) 1997-08-13 1997-08-13 High speed serial errata situation polyno mial caiculation circuit in reed-soldmon

Country Status (1)

Country Link
KR (1) KR100247075B1 (en)

Also Published As

Publication number Publication date
KR19990016132A (en) 1999-03-05

Similar Documents

Publication Publication Date Title
US4873688A (en) High-speed real-time Reed-Solomon decoder
US6347389B1 (en) Pipelined high speed reed-solomon error/erasure decoder
EP0114938B1 (en) On-the-fly multibyte error correction
EP1131893B1 (en) Forward error corrector
US7028247B2 (en) Error correction code circuit with reduced hardware complexity
US4845713A (en) Method and apparatus for determining the coefficients of a locator polynomial
US5440570A (en) Real-time binary BCH decoder
KR100260415B1 (en) High speed serial error position polynomual calculation circuit
US5805617A (en) Apparatus for computing error correction syndromes
US5535225A (en) Time domain algebraic encoder/decoder
JPH0936755A (en) Decoder and its method
US5905740A (en) Apparatus and method for error correction
US20230412196A1 (en) Low-power block code forward error correction decoder
US5365529A (en) Circuitry for detecting and correcting errors in data words occurring in Reed-Solomon coded blocks and determining when errors are uncorrectable by syndrome analysis, Euclid&#39;s algorithm and a Chien search
US5818854A (en) Reed-solomon decoder
US7051267B1 (en) Efficient high-speed Reed-Solomon decoder
KR100970223B1 (en) A method of soft-decision decoding of reed-solomon codes, and reed-solomon codeword decoder and computer program product
US7823050B2 (en) Low area architecture in BCH decoder
KR100258951B1 (en) Rs decoder having serial expansion architecture and method therefor
US6263471B1 (en) Method and apparatus for decoding an error correction code
US7100103B2 (en) Efficient method for fast decoding of BCH binary codes
KR100747487B1 (en) Reed-Solomon decoder and circuits of the modified Euclid&#39;s algorithm
KR100247075B1 (en) High speed serial errata situation polyno mial caiculation circuit in reed-soldmon
JP2000020333A (en) Decoding device, arithmetic unit and their methods
US20050050131A1 (en) Data processing system and method

Legal Events

Date Code Title Description
A201 Request for examination
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: 20071129

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee