KR100304193B1 - 리드솔로몬복호기의역수구현회로 - Google Patents

리드솔로몬복호기의역수구현회로 Download PDF

Info

Publication number
KR100304193B1
KR100304193B1 KR1019980003512A KR19980003512A KR100304193B1 KR 100304193 B1 KR100304193 B1 KR 100304193B1 KR 1019980003512 A KR1019980003512 A KR 1019980003512A KR 19980003512 A KR19980003512 A KR 19980003512A KR 100304193 B1 KR100304193 B1 KR 100304193B1
Authority
KR
South Korea
Prior art keywords
circuit
output
output terminal
multiplexer
input terminal
Prior art date
Application number
KR1019980003512A
Other languages
English (en)
Other versions
KR19990069340A (ko
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 KR1019980003512A priority Critical patent/KR100304193B1/ko
Priority to US09/099,275 priority patent/US6138133A/en
Priority to JP02924599A priority patent/JP3913921B2/ja
Publication of KR19990069340A publication Critical patent/KR19990069340A/ko
Application granted granted Critical
Publication of KR100304193B1 publication Critical patent/KR100304193B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/726Inversion; Reciprocal calculation; Division of elements of a finite field

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 리드 솔로몬 복호기에 관한 것으로서, 유한 필드 GF(2m)에서 개별 원시 요소 (αi)의 역수를 구하기 위한 조합 로직형 역수 회로는, 원시 요소(αi)의 21승 내지 2m-1승의 값을 구하고, 상기 21승 내지 2m-1승의 값을 선택하여 곱한 후, 이를 α를 (2m-1)승한 값으로 나누어 출력한다.

Description

리드 솔로몬 복호기의 역수 구현 회로(inverse element embodhing circuit for reed solomon decoder)
본 발명은 데이터 전송시 ECC(error correction code)를 위한 리드 솔로몬 복호기(reed solomon decoder)에 관한 것으로서, 더 구체적으로는 원시 요소의 (primitive element)의 역수(inverse) 구현 회로를 갖는 리드 솔로몬 복호기에 관한 것이다.
디지털 컴퓨터 시스템(digital computer system)에서 데이터의 에러 정정 코딩은 다량 저장 미디어(mass storage media) 특히, 마그네틱 디스크들(magnetic disk)의 데이터 기록의 집적화가 점점 증가함에 따라 그 중요성이 더욱 커지고 있는 실정이다. 이는 디스크에 작은 결함이 발생하기라도 하면 전체 데이터의 다량을 오염시킬 수도 있기 때문이다. 상기와 같이 작은 결함으로 인한 데이터 유실을 막기 위해서는 잘못된 데이터 수정을 의미하는 ECC를 이용해야만 한다.
데이터 심벌들(data symbols)의 무리(string)를 디스크 상에 기록하기 이전에, 그것을 수학적으로 ECC 심벌들의 형태로 부호화 (encode)하다. ECC심벌들은 데이터 무리에 데이터 심벌들과 ECC 심벌들을 더한 코드 워드(codeword)를 포함하며, 상기 코드 모드 워드는 디스크에 저장된다. 디스크로부터 저장된 데이터가 액세스(access) 되었을 때, 데이터 심벌들을 포함하는 코드 워드는 디스크로부터 검색(retrieve)되고 수학적으로 디코드(decode)된다. 만일에 디코딩중에 데이터 에러가 검출되면 이는 ECC 심벌의 조절로 인해 정정된다. 디코딩에 대한 설명은 peterson and weldom, "Error Correction Codes" 2d Edition, MIT Press 1972. 에 상세하게 기술되어 있다.
저장된 디지털 데이터는 다수의 에러들을 포함할 수도 있으므로, 다수의 에러 정정을 위해서 사용되는 가장 효과적인 ECC 타입의 하나가 바로 리드 솔로몬 코드(Reed-Solomon code)이며, 이에 대한 상세한 설명은 peterson and weldom, "Error Correction Codes".에 기재되어 있다. 그리고 에러 검출과 에러 정정을 위한 리드 솔로몬 코드의 엔코딩과 디코딩은 이 분야의 통상적인 지식을 가진 자들에게는 잘 알려진 기술이므로 이하 생략한다. 그리고 갈로아 필드 나눗셈 연산(Galois Field division)은 디스크로부터 검색된 데이터에서 에러가 검출될 때, 이를 정정하기 위한 리드 솔로몬 복호기에서 수행되는 연산들 중의 하나이다.
도 1은 원시 요소의 역수를 구하기 위한 블록도이며, 상기 리드 솔로몬 복호기의 연산중에 갈로아 필드GF(2m)에서 나눗셈을 수행하기 위해서는 갈로아 필드에서 입력된 원시 요소(αi)의 역수{inverse, (αi)-1}을 구해야 하는데 이는 도 1과 같이 롬(Read Only Memory)을 통해서 이루어져 왔다. 그리고 갈로아 필드GF(2m)에서 상기 롬을 통해 출력되는 역수는 다음과 같은 수학식을 통해 얻어진다.
[수학식 1]
i)-1n-i여기서, n은 2m-1
여기서, αi는 원시 요소, 2m은 갈로아 필드GF(2m)이고, GF(28)에서 상기 수학식에 의한 원시 요소(α2)의 역수는 (α2)-1= α255-2= α253이 얻어진다. 이때, GF(2m)에서 m은 원소의 집합 또는 부호의 길이를 의미한다. 상기와 같은 원시 요소들에 대한 역수들은 롬을 통해 출력되고, 롬의 크기는 시스템의 스펙(spec)에 따라 결정된다. 통상적으로 현재 시스템에서 사용되고 있는 리드 솔로몬 복호기는 GF(28)인 256 바이트(byte)이며, 만일 코드 워드(codeword)의 크기가 점점 커지고, 데이터 1심벌의 크기도 점점 커진다면 역수를 구하기 위한 롬의 크기도 커지게 된다. 즉. GF(28)에서 256개의 원시 요소가 있는데, 이를 선택하기 위한 어드레스도 256개 필요하고 이에 해당되는 데이터도 256개를 구비해야 하므로 전체 롬의 사이즈는 256*8 비트로서 2k 바이트를 넘게 된다. 만일에 이보다 더 큰 GF(2m)이라면 (m8), 이를 위한 어드레스나 데이터가 차지하는 롬 면적이 크게 증가하는 문제점이 발생하게 된다.
따라서, 본 발명의 목적은 GF(2m)에서 m의 증가에 따라 면적이 커지는 롬 대신 게이트들로 이루어진 회로를 구현하여 원시 요소의 역수를 구하기 위함이다.
도 1은 종래 기술에 따른 역수 구현을 위한 블록도:
도 2는 본 발명의 바람직한 실시예에 따른 역수 구현을 위한 블록도:
도 3은 도 2의 승산 회로 구성을 구체적으로 보여주는 회로도:
* 도면의 주요부분에 대한 부호 설명
100 : 승산회로 200 : 나눗셈 회로
1~7 : 승산 회로 8, 9, 14, 15 : 멀티 플렉서
10, 12, 16 : 곱셈기 11, 13, 17 : 레지스터
(구성)
상술한 바와 같은 목적을 달성하기 위한 일 특징에 의하면, 유한 필드GF(28)의 개별적인 원시 요소(αi)의 역수를 구하는 회로는: 원시 요소 (αi)를 인가 받기 위한 각각의 입력 단자들과, 각각의 출력 단자들을 구비하고, 상기 원시 요소에 대한 21승 27승까지의 거듭제곱 연산을 각각 수행하기 위한 제 1 내지 제 7 승산 회로들과; 상기 제 1 승산 회로의 출력 단자에 연결된 제 1 입력 단자와, 상기 제 2 승산 회로의 출력 단자에 연결된 제 2 입력 단자 및, 출력 단자를 구비한 제 1 멀티플렉서와; 상기 제 3 승산 회로의 출력 단자에 연결된 제 1 입력 단자와, 제 2 입력 단자 및, 출력 단자를 구비한 제 2 멀티플렉서와; 상기 제 1 및 제 2 멀티플렉서로부터의 출력 신호들을 곱하기 위한 제 1 필드 곱셈기와; 상기 제 1 필드 곱셈기의 출력 단자에 연결된 입력 단자와, 상기 제 2 멀티플렉서의 상기 제 2 입력 단자에 연결된 출력 단자를 구비하여, 상기 제 1 필드 곱셈기의 출력 신호를 저장하기 우한 제 1 레지스터와; 상기 제 3 및 제 4 승산 회로의 출력 신호들을 곱하기 위한 제 2 필드 곱셈기와; 상기 제 2 필드 곱셈기의 출력 단자에 연결된 입력 단자 및, 출력 단자를 구비하여, 상기 제 2 필드 곱셈기의 출력 신호를 저장하기 위한 제 2 레지스터와; 상기 제 1 레지스터의 상기 출력 단자에 연결된 제 1 입력 단자와, 상기 제 2 레지스터의 상기 출력 단자에 연결된 제 2 입력 단자와, 상기 제 6 승산 회로의 출력 단자에 연결된 제 3 입력 단자 및, 출력 단자를 구비한 제 3 멀티플렉서와; 상기 제 7 승산 회로의 출력 단자에 연결된 제 1 입력 단자와, 제 2 입력 단자 및, 출력 단자를 구비한 제 4 멀티플렉서와; 상기 제 3 및 제 4 멀티플렉서들의 출력 신호들을 곱하기 위한 제 3 필드 곱셈기와; 상기 제 3 필드 곱셈기의 출력 단자에 연결된 입력 단자와. 상기 제 4 멀티플렉서의 상기 제 2 입력 단자에 연결된 출력 단자를 구비하여, 상기 제 3 필드 곱셈기의 출력 신호를 저장하기 위한 제 3 레지스터; 그리고 상기 원시 요소(αi)의 역수를 구하기 위해서, 상기 제 3 필드 곱셈기의 출력 신호를 원시 요소 a를 (28-1) 거듭제곱한 값으로 나누기 위한 나눗셈기를 포함한다.
(실시예)
이하 본 발명의 바람직한 실시예에 따른 참조 도면 도 2 및 도 3에 의거하여 상세히 설명한다.
본 발명에 의한 리드 솔로몬 복호기의 역수 구현 회로는, RS 복호기의 연산 중 나눗셈에서 원시 요소(primitive element)의 역수가 롬을 통하지 않고 여러단의 게이트들만으로구성된 회로들을 통해 얻어지므로 롬에 비해 하드웨어 면적이 월등히 줄어들게 된다.
이 실시예에서는 편의상 GF(2m)에서 m=8인 경우가 상세히 설명되지만, 본 발명에 따른 나눗셈의 원시 요소의 역수를 구하기 위한 회로는 게이트들의 수만이 다를 뿐 어떠한 m값에 대해서도 성립이 가능함을 유의해야 한다.
도 2는 리드 솔로몬 복호기의 나눗셈 연산을 위한 원시 요소의 역수 구현 회로의 구성을 개략적 보여주는 블록도이다.
도 2를 참조하면, 원시 요소의 역수 구현 회로는 원시 요소의 최종 승산 값을 구하는 승산 회로와, 상기 최종 승산 값의 지수를 나누는 나눗셈 회로를 포함한다.
도 3은 도 2에 도시된 승산 회로(100)의 구성을 상세하게 보여주는 블록도이다.
도 3을 참조하면, 갈로아 필드 GF(2m)에서 원시 요소들의 승수(즉, 거듭제곱)를 계산하기 위한 승산 회로들(1~7), 승산 값들 중 하나를 선택하기 위한 선택 호로(8, 9, 14, 16), 상기 승산 값들을 곱하기 위한 곱셈기(10, 12, 16), 그리고 상기 곱한 결과들을 저장하는 레지스터(11, 13, 17)를 구비하고 있다.
먼저 역수를 구하고자 하는 원시 요소(αi)는 각 승산 회로(1~7)에 동일하게 인가되며, 이때 승산 회로들(1~7)은 갈로아 필드 GF(28)에서 원시 요소(αi)의 21, 22, 23, 24, 25, 26, 27승 회로들(1, ‥‥ , 7)이다. 그리고 상기 승산 회로들(1, ‥‥ , 7)로부터 얻어지는 원시 요소의 승산 값들은 다음과 같은 수학식 2 내지 수학식 8에 의해서 얻어질 수 있다. 여기서, a는 역수를 구하고자 하는 원시 요소(αi)로서 입력 비트 값이고, q는 상기 원시 요소에 대한 출력 비트 값 (αi)n으로서 a 와 q는 동일한 m비트이다. 만일에 GF(28)이라면 a(0)~a(7)는 (αi)의 최하위 비트(Least significant Bit)부 최상위 비트(Most Significant Bit)가지 뜻하고, q(0)~q(7)는 (αi)n의 최하위 비트부터 최상위 비트까지를 의미한다. 이하 수학식 2는 원시 요소 αi의 2승인 (αi)2를 구하기 위한 것이다.
[수학식 2]
q(0)= a0 + a4 + a6 + a7
q(1)= a7
q(2)= a1 + a4 + a5 + a7
q(3)= a4 + a6
q(4)= a2 + a4 + a5 + a7
q(5)= a5
q(6)= a3 + a5 + a7
q(7)= a6
이하 수학식 3은 원시 요소 αi의 4승인 (αi)4를 구하기 위한 것이다.
[수학식 3]
q(0)= a0 + a2 + a3 + a6
q(1)= a6
q(2)= a2 + a3 + a4 + a5 + a6
q(3)= a2 + a3 + a4 + a6 + a7
q(4)= a1 + a2 + a5 + a7
q(5)= a5
q(6)= a3 + a4
q(7)= a3 + a5 + a6
이하 수학식 4은 원시 요소 αi의 8승인 (αi)8를 구하기 위한 것이다.
[수학식 4]
q(0)= a0 + a1 + a3 + a4 + a7
q(1)= a3 + a5 + a6
q(2)= a1 + a2 + a3 + a4 + a6 + a7
q(3)= a1 + a2 + a3 + a4 + a5 + a7
q(4)= a1 + a4 + a7
q(5)= a5
q(6)= a2 + a5 + a6 + a7
q(7)= a3 + a4
이하 수학식 5은 원시 요소 αi의 16승인 (αi)16를 구하기 위한 것이다.
[수학식 5]
q(0)= a0 + a2 + a4 + a5 + a6 = a7
q(1)= a3 + a4
q(2)= a1 + a2 + a3 + a4 + a5
q(3)= a1 + a2 + a4 + a5 + a6
q(4)= a2 + a4 + a5 + a6
q(5)= a5
q(6)= a1 + a3 + a4 + a5 + a6
q(7)= a2 + a5 + a6 + a7
이하 수학식 6은 원시 요소 αi의 32승인 (αi)32를 구하기 위한 것이다.
[수학식 6]
q(0)= a0 + a1 + a2 + a3 + a4
q(1)= a2 + a5 + a6 + a7
q(2)= a1 + a2 + a4 + a5
q(3)= a1 + a2 + a3
q(4)= a1 + a2 + a3 + a7
q(5)= a5
q(6)= a2 + a3 + a5
q(7)= a1 + a3 + a4 + a5 + a6
이하 수학식 7은 원시 요소 αi의 64승인 (αi)64를 구하기 위한 것이다.
[수학식 7]
q(0)= a0 + a1 + a2 + a6 + a7
q(1)= a1 + a3 + a4 + a5 + a6
q(2)= a1 + a2 + a5 + a6
q(3)= a1 + a5 + a7
q(4)= a1 + a5 + a6 + a7
q(5)= a5
q(6)= a1
q(7)= a2 + a3 + a5
이하 수학식 8은 원시 요소 αi의 128승인 (αi)128를 구하기 위한 것이다.
[수학식 8]
q(0)= a0 + a1 + a3
q(1)= a2 + a3 + a5
q(2)= a1 + a3 + a4 + a5 + a7
q(3)= a5 + a6 + a7
q(4)= a3 + a7
q(5)= a5
q(6)= a7
q(7)= a1
계속해서, 외부로부터 인가되는 클럭 신호(CLK)에 응답하여 선택 회로들(8, 9, 14, 16)을 통해 곱셈기들(10, 12, 16)은 다음과 같은 표들에 나타난 바와 같은 선택 및 비선택된 승산 값들을 곱하게 된다. 표 1은 클럭 신호(CLK)에 따라 각각의 레지스터에 저장되는 승산값들을 보여주고 있으며, 표 2는 클럭 신호의 사이클에 따른 곱셈기의 동작을 보여주고 있다.
[표 1]
[표 2]
먼저, 표 1을 참조하면 외부로부터 인가되는 클럭 신호의 제 1 사이클에 응답하여 제 1 곱셈기(10)는 64승 회로(6)의 승산 값(αi)64와 128승 회로(7)의 승산 값(αi)128을 곱하게 되는데, 이는 제 1 멀티 플렉서(8)가 128승 회로(7)의 출력 (αi)128을, 그리고 제 2 멀티 플렉서(9)가 64승 회로(6)의 출력 (αi)64를 선택함으로써 가능하다. 이와 동시에 제 2 곱셈기(13)는 32승 회로(5)의 승산 값 (αi)32와 16승 회로(4)의 승산 값 (αi)16을 곱하고 {(αi)16*(αi)32}, 제 3 곱셈기(16)는 제 3 멀티 플렉서(14)와 제 4 멀티 플렉서(15)로부터 4승 회로(2)의 승산 값 (αi)4와 8승 회로(3)의 승산 값 (αi)8을 전달받아 이들을 곱한다{(αi)4*(αi)8}, 그리고 상기 곱셈기들(10, 12, 16)의 승산 값들{(αi)2, (αi)4*(αi)8, (αi)16*(αi)32, (αi)64*(αi)128}은 제 1 레지스터(11), 제 2 레지스터(13), 그리고 제 3 레지스터(17)에 각각 저장된다.
그런 다음, 클럭 신호(CLK)의 제 2 사이클에 응답하여 제 1 멀티 플렉서(8)는 여러 승산 값들 중 상기 제 1 클럭 인가시에 제 1 레지스터(11)에 저장된 승산 값 (αi)64*(αi)128을 선택하고, 제 2 멀티 플렉서(9)는 제 2 레지스터(13)에 저장된 승산 값 (αi)16*(αi)32을 선택한다. 그러므로 제 1 곱셈기(10)는 상기 멀티 플렉서(8, 9)의 선택으로 인해 제 1 레지스터(11)와 제 2 레지스터(13)에 저장된 승산 값들을 곱하고{(αi)16*(αi)32*(αi)64*(αi)128}, 이들 값은 제 2 레지스터(13)에 저장된다. 아울러, 제 3 멀티 플렉서(14)는 제 3 레지스터(17)의 값과 8승 회로(3)의 승산 값(αi)8중 제 3 레지스터(17)에 저장된 값{(αi)4*(αi)8}을 선택하고 제 4 멀티 플렉서(15)는 4승 회로(2)와 2승 회로(1)의 승산 값들 중 2승 회로(1)의 승산 값 (αi)2를 선택하여 출력한다. 그러므로 제 3 곱셈기(16)는 제 3 멀티 플렉서(14)와 제 4 멀티 플렉서(15)의 출력들을 곱하고 그것은 제 2 레지스터(17)에 저장된다.
그리고, 클럭 신호(CLK)의 제 3 사이클에 응답하여, 제 1 레지스터(11)에 저장된 승산 값{(αi)16*(αi)32*(αi)64*(αi)128}은 128승 회로(7)의 승산 값 (αi)128이 인가되는 제 1 멀티 플렉서(8)로 피드백되고, 제 3 레지스터(17)에 저장된 승산 값{(αi)2*(αi)4*(αi)8}도 제 2 멀티 플렉서(9)로 피드백(feedback)된다. 그 결과 상기 멀티 플렉서들(8, 9)은 제 1 레지스터(11)와 제 3 레지스터(17)에 저장된 값들을 선택함으로써 곱셈기(10)를 통한 제 1 레지스터(11)로부터는 8비트의 원시 요소를 구하기 위한 최종 승산 값 {(αi)16*(αi)32*(αi)64*(αi)128}이 출력된다. 상기 승산 값은 나눗셈 회로(200)를 통함으로서 최종적으로 역수 (αi)-1이 출력된다.
만일, 원시 요소 α2에 대한 역수를 구한다고 할 경우, 승산 회로(100)로 인가되는 클럭 신호(CLK)의 제 3 사이클에 응답하여 최종적으로 출력되는 (αi)2*(αi)4*(αi)8*(αi)16*(αi)32*(αi)64*(αi)128에 원시 요소(α2)의 지수인 2를 i에 대입하여 지수들의 합을 더하면 4 + 8 + 16 + 32 + 128 + 256 = 508을 얻을 수 있다. 이는 나눗셈 회로(200)에서 GF(28)의 28에 1을 뺀 255로 지수들의 합 508을 나누면, 그것의 나머지 253이 바로 α2의 역수 (α2)-1의 지수가 된다. 이는 수학식 1에 의해서 얻어지는 (α2)-1의 결과와 동일하다.
이상과 같이, 롬 대신에 다단의 게이트들을 통해 원시 요소에 대한 역수 구현회로에 따르면, 나눗셈의 능력이 확장되고 칩 면적을 줄일 수 있을 뿐만 아니라 n값이 커지더라도 롬 증가에 비해서 단지 승산 회로와 곱셈기만 몇 개 더 추가하면 되므로 동작 속도의 저하 없이 하드웨어의 면적을 줄일 수 있다.
따라서, 기술의 발전이 날로 급 성장함에 따라 GF(28)이상이 확산되고 있는 상황에서, 본 발명에 따른 데이터 전송을 위한 RS 복호기 연산중 나눗셈 연산의 역수를 구하기 위한 회로가 롬을 대신함에 따라 원시 요소의 비트 수가 증가하더라도 전체 하드웨어가 차지하는 면적을 줄일 수 있는 효과가 있다.

Claims (1)

  1. 유한 필드 GF(28)의 개별적인 원시 요소 (αi)의 역수를 구하는 회로에 있어서: 원시 요소 (αi)를 인가 받기 위한 각각의 입력 단자들과, 각각의 출력 단자들을 구비하고, 상기 원시 요소에 대한 21부터 27까지의 거듭제곱 연산을 각각 수행하기 위한 제 1 내지 제 7 승산 회로들과; 상기 제 1 승산 회로의 출력 단자에 연결된 제 1 입력 단자와, 상기 제 2 승산 회로의 출력 단자에 연결된 제 2 입력 단자 및, 출력 단자를 구비한 제 1 멀티플렉서와; 상기 제 3 승산 회로의 출력 단자에 연결된 제 1 입력 단자와, 제 2 입력 단자 및, 출력 단자를 구비한 제 2 멀티플렉서와; 상기 제 1 및 제 2 멀티플렉서로부터의 출력 신호들을 곱하기 위한 제 1 필드 곱셈기와; 상기 제 1 필드 곱셈기의 출력 단자에 연결된 입력 단자와, 상기 제 2 멀티플렉서의 상기 제 2 입력 단자에 연결된 출력 단자를 구비하여, 상기 제 1 필드 곱셈기의 출력 신호를 저장하기 위한 제 1 레지스터와; 상기 제 3 및 제 4 승산 회로의 출력 신호들을 곱하기 위한 제 2 필드 곱셈기와; 상기 제 2 필드 곱셈기의 출력 단자에 연결된 입력 단자 및, 출력 단자를 구비하여, 상기 제 2 필드 곱셈기의 출력 신호를 저장하기 위한 제 2 레지스터와; 상기 제 1 레지스터의 상기 출력 단자에 연결된 제 1 입력 단자와, 상기 제 2 레지스터의 상기 출력 단자에 연결된 제 2 입력 단자와, 상기 제 6 승산 회로의 출력 단자에 연결된 제 3 입력 단자 및, 출력 단자를 구비한 제 3 멀티플렉서와; 상기 제 7 승산 회로의 출력 단자에 연결된 제 1 입력 단자와, 제 2 입력 단자 및, 출력 단자를 구비한 제 4 멀티플렉서와; 상기 제 3 및 제 4 멀티플렉서들의 출력 신호들을 곱하기 위한 제 3 필드 곱셈기와; 상기 제 3 필드 곱셈기의 출력 단자에 연결된 입력 단자와, 상기 제 4 멀티플렉서의 상기 제 2 입력 단자에 연결된 출력 단자를 구비하여, 상기 제 3 필드 곱셈기의 출력 신호를 저장하기 위한 제 3 레지스터; 그리고 상기 원시 요소 (αi)의 역수를 구하기 위해서, 상기 제 3 필드 곱셈기의 출력 신호를 원시 요소 a를 (28-1) 거듭제곱한 값으로 나누기 위한 나눗셈기를 포함하는 것을 특징으로 하는 원시 요소 역수 구현 회로.
KR1019980003512A 1998-02-06 1998-02-06 리드솔로몬복호기의역수구현회로 KR100304193B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1019980003512A KR100304193B1 (ko) 1998-02-06 1998-02-06 리드솔로몬복호기의역수구현회로
US09/099,275 US6138133A (en) 1998-02-06 1998-06-18 Circuit for calculating the inverse of an arbitrary element of a finite field
JP02924599A JP3913921B2 (ja) 1998-02-06 1999-02-05 有限フィールドでの任意要素の逆数具現回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980003512A KR100304193B1 (ko) 1998-02-06 1998-02-06 리드솔로몬복호기의역수구현회로

Publications (2)

Publication Number Publication Date
KR19990069340A KR19990069340A (ko) 1999-09-06
KR100304193B1 true KR100304193B1 (ko) 2001-11-22

Family

ID=19532663

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980003512A KR100304193B1 (ko) 1998-02-06 1998-02-06 리드솔로몬복호기의역수구현회로

Country Status (3)

Country Link
US (1) US6138133A (ko)
JP (1) JP3913921B2 (ko)
KR (1) KR100304193B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100392370B1 (ko) * 2000-12-27 2003-08-19 한국전자통신연구원 유한체내에서 다단 구조의 역수 계산 장치

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6199087B1 (en) * 1998-06-25 2001-03-06 Hewlett-Packard Company Apparatus and method for efficient arithmetic in finite fields through alternative representation
US6360348B1 (en) * 1999-08-27 2002-03-19 Motorola, Inc. Method and apparatus for coding and decoding data
JP3659320B2 (ja) * 2000-06-21 2005-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション 乗算モジュール、乗法逆元演算回路、乗法逆元演算制御方式、該乗法逆元演算を用いる装置、暗号装置、誤り訂正復号器
US8443028B2 (en) * 2009-06-02 2013-05-14 Exelis Inc. Circuits and methods for performing exponentiation and inversion of finite field elements
CN102902510B (zh) * 2012-08-03 2016-04-13 华南理工大学 一种有限域求逆器

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6478032A (en) * 1987-09-18 1989-03-23 Matsushita Electric Ind Co Ltd Error location and error pattern calculation device
JPH06326618A (ja) * 1993-05-13 1994-11-25 Nec Corp イレージャロケーション多項式乗算回路

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975867A (en) * 1987-06-26 1990-12-04 Digital Equipment Corporation Apparatus for dividing elements of a Galois Field GF (2QM)
US5379243A (en) * 1992-08-31 1995-01-03 Comstream Corporation Method and apparatus for performing finite field division
US5467297A (en) * 1993-11-04 1995-11-14 Cirrus Logic, Inc. Finite field inversion

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6478032A (en) * 1987-09-18 1989-03-23 Matsushita Electric Ind Co Ltd Error location and error pattern calculation device
JPH06326618A (ja) * 1993-05-13 1994-11-25 Nec Corp イレージャロケーション多項式乗算回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100392370B1 (ko) * 2000-12-27 2003-08-19 한국전자통신연구원 유한체내에서 다단 구조의 역수 계산 장치

Also Published As

Publication number Publication date
JP3913921B2 (ja) 2007-05-09
KR19990069340A (ko) 1999-09-06
US6138133A (en) 2000-10-24
JPH11317676A (ja) 1999-11-16

Similar Documents

Publication Publication Date Title
US4142174A (en) High speed decoding of Reed-Solomon codes
US6965652B1 (en) Address generator for LDPC encoder and decoder and method thereof
KR930008683B1 (ko) 리드-솔로몬 에러 보정 코드 엔코더
US5754563A (en) Byte-parallel system for implementing reed-solomon error-correcting codes
RU2235424C2 (ru) Перемежитель турбокода, использующий линейные конгруэнтные последовательности
US6374383B1 (en) Determining error locations using error correction codes
JP3737204B2 (ja) 誤り訂正方法及び装置
CA1226677A (en) Apparatus for encoding and decoding digital data to permit error correction
EP0407101A2 (en) Error detection and correction system for long burst errors
US4703485A (en) Method and apparatus for computing and implementing error detection check bytes
US5901158A (en) Error correction encoder/decoder
US20050204268A1 (en) Decoding and error correction for algebraic geometric codes
US8046661B2 (en) Symbol error correction by error detection and logic based symbol reconstruction
US5212695A (en) Error check or erro correction code coding device
US4633472A (en) Multiprocessor computer system comprising n parallel operating computer modules, and computer module for use in such a multiprocessor computer system
KR19980702551A (ko) 개량된 3, 4개 에러 보정 시스템
US20040117719A1 (en) Methods and devices for decoding one-point algebraic geometric codes
KR100304193B1 (ko) 리드솔로몬복호기의역수구현회로
US5822337A (en) Programmable redundancy/syndrome generator
US3571795A (en) Random and burst error-correcting systems utilizing self-orthogonal convolution codes
US5107506A (en) Error trapping decoding method and apparatus
US5471485A (en) Reed-solomon decoder using discrete time delay in power sum computation
US7392454B2 (en) Error locating methods and devices for algebraic geometric codes
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
KR200141094Y1 (ko) 비씨에이취 코드워드를 부호화하는 장치

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: 20090714

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee