KR940007571B1 - 어드레스 발생회로 - Google Patents

어드레스 발생회로 Download PDF

Info

Publication number
KR940007571B1
KR940007571B1 KR1019920006613A KR920006613A KR940007571B1 KR 940007571 B1 KR940007571 B1 KR 940007571B1 KR 1019920006613 A KR1019920006613 A KR 1019920006613A KR 920006613 A KR920006613 A KR 920006613A KR 940007571 B1 KR940007571 B1 KR 940007571B1
Authority
KR
South Korea
Prior art keywords
output
counting
data
code
clock signal
Prior art date
Application number
KR1019920006613A
Other languages
English (en)
Other versions
KR930022303A (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 KR1019920006613A priority Critical patent/KR940007571B1/ko
Publication of KR930022303A publication Critical patent/KR930022303A/ko
Application granted granted Critical
Publication of KR940007571B1 publication Critical patent/KR940007571B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

내용 없음.

Description

어드레스 발생회로
제 1 도는 본 발명에 따른 어드레스 발생회로의 회로도.
제 2 도는 P부호의 어드레스 발생에 연관된 회로부분의 회로도.
제 3 도는 내지 제 5 도는 Q부호의 어드레스 발생에 연관된 회로부분의 회로도.
제6도는 본 발명에 따른 어드레스 발생회로가 적용되는 CD-ROM시스템의 개략도.
제 7 도는 버퍼 램의 저장 데이타의 배열도.
제 8 도는 P부호어의 배열도(m, n기준).
제 9 도는 Q부호어의 배열도(m, n기준).
제10도는 종래의 어드레스 발생회로의 블록도로서,
a는 롬을 이용한 어드레스 발생회로이고,
b는 피이드 백 루프를 이용한 어드레스 발생회로이다.
* 도면의 주요부분에 대한 부호의 설명
1 : 부호어 카운터 2 : 심볼 카운터
3 : 검출기 4, 5, 6, 7 : 업카운터
8, 9, 10 : 롬 11, 12, 13 : 멀티플렉서
14 : D플롭플롭 15 : 가산기
16, 17, 18 : OR게이트 19, 21, 26 : 인버터
20 : NOR게이트 22, 23 : AND게이트
24, 25 : 제어회로
본 발명은 어드레스 발생회로에 관한 것으로, 특히 CD-ROM시스템이나 CD-I시스템에 있어서 오류정정부호의 실시간 복호를 위한 어드레스를 발생하는 어드레스 발생회로에 관한 것이다.
일반적으로 CD-ROM시스템 또는 CD-I시스템에서는 패리티들을 디지탈 데이타에 가해 에러 데이타들을 정정한다. 이러한 데이타 및 패리티들로된 P 및 Q코드들을 복호하기 위해 복잡한 방법으로 어드레스들을 발생시킨다.
어드레스 발생방법중 하나의 방법은 마이크로 컴퓨터를 이용하여 소프트웨어적으로 어드레스를 발생시키는 것이다. 그러나, 이 방법은 마이크로 컴퓨터의 처리속도가 늦다는데 문제가 있다. 또한 테이블 룩-업(table look-up) 시스템은 미리 메모리에 저장되어 있는 부호를 복호하는데 필요한 어드레스들을 롬에다 저장시키고 롬을 이용하여 복호를 위한 어드레스를 얻는 방식으로 이 기술은 이미 잘 알려진 기술이다. 이러한 테이블 룩-업시스템은 구조가 간단하고 처리 속도가 높으나, 대규모의 롬을 사용해야 하기 때문에 CD-ROM시스템의 복호회로를 집적회로로 실현하는 것이 어렵다. 이러한 어드레스 발생시스템이 제10a도에 도시되어 있다. 제10a도에 도시된 어드레스 발생시스템에서 발생되었던 종래의 문제점들을 보완하기 위해 개발된 어드레스 발생시스템이 바로 SANYO사의 어드레스 발생회로로서 제10b도에 도시되어 있다. 제10b도에 도시된 어드레스 발생회로는 미국 특허공보 4, 901, 318에 개시되어 있으며, 상기 특허공보에서 게시내용을 살펴보면, 상기 어드레스 발생회로에서는 버퍼메모리의 저장내용을 독출하기 위한 독출어드레스를 발생하여 P 및 Q부호들을 복호할 수 있다. 독출어드레스는 공식 RDA=H+2L+P에 근거하여 얻을 수 있으며, 여기에서 H는 동기신호 포함하지 않은 하나의 블록의 선두 어드레스이고 L은 심볼의 위치를 의미하며, P는 LSB바이트 플레인(plane) 또는 MSB바이트 플레인내에 심볼이 포함되어 있다는 것을 의미하는 것이다. 제10b도에서, 전가산기(29)는 파라미터 m 및 n에 근거하여 상수발생기(27)에서 나오는 다양한 상수와 함께 심볼위치(L)를 발생한다. 제 2 전가산기는 H, 2L 및 P를 더하여 독출어드레스를 어드레스 버스에 싣는다. 또한 심볼위치(L)를 심볼 오프-셋트 어드레스(30)에다 래치시켰다가 다음 심볼위치를 발생하기 위해 멀티플렉서들(28), (31)을 통해 심볼위치(L)를 제 1 전가산기에 피이드 백 시킨다.
이와 같이, 상술한 종래의 어드레스 발생회로에서는 피이드 백 루프를 이용하여 각 심볼의 위치(L)를 계산하는데, 이 계산을 위해 이전의 심볼위치를 저장하는 레지스터(30)와 부호어의 선두 어드레스를 저장할 레지스터(29)가 필요하며, 또한 부수적인 제어신호를 생성할 제어회로가 필요하게 되었다.
따라서, 본 발명은 전술한 바와 같은 문제점을 해소하기 위하여 안출된 것으로 피이드-백 루프를 형성하지 않고 바로 심볼위치를 계산할 수 있도록 하드웨어를 형성하여 간단한 회로구성을 갖는 어드레스 발생회로를 제공하는 것을 목적으로 한다.
본 발명의 다른 목적은 심볼위치 계산시 피이드-백 루프에서 지연되는 시간을 줄여 향상된 속도를 갖는 어드레스 발생회로를 제공하는 것이다.
본 발명은 상기 목적들을 달성하기 위하여 복호순으로 상기 데이타 및 패리티 심볼들을 순차적으로 독출하여 에러정정부호어를 복호할 수 있도록 데이타 에러검출 또는 정정을 하기 위한 상기 데이타 및 상기 패리티 심볼로 구성된 다수의 어드레스를 발생하기 위한 어드레스 발생회로는 Q심볼클럭신호가 인가될때마다 "1"씩 업카운팅하여 업카운팅 데이타를 출력하는 제 1 업카운팅수단과, 상기 제 1 업카운팅수단의 출력데이타가 인가될 때마다 출력데이타를 어드레스로 하여 저장데이타를 순차적으로 독출하여 독출데이타를 출력하는 제 1 메모리수단과, P부호어 클록신호 또는 Q부호어 클록신호에 동기되어 부호어들의 수를 카운팅하는 부호어 카운팅수단과, 상기 부호어 카운팅수단에 접속되고 Q부호 복호시 상기 부호어 카운팅수단의 출력을 받아 그 시점부터 심볼의 수를 카운팅하는 심볼 카운팅수단과, 상기 심볼 카운팅수단으로부터의 출력데이타를 검출하여 상기 출력데이타가 "25"에 도달할 때마다 "1"의 출력을 발생하는 검출수단과, 상기 검출수단의 출력이 인가될 때마다 "1"씩 업카운팅하여 업카운트된 데이타를 출력하는 제 2 업카운팅수단과, 상기 제 2 업카운팅수단의 출력데이타가 인가될 대마다 출력데이타를 어드레스로 하여 저장데이타를 순차적으로 독출하여 독출데이타를 출력하는 제 2 메모리수단과, P심볼클록신호 또는 Q부호어 클록신호가 인가될 때마다 "1"씩업카운터하여 업카운팅된 데이타를 출력하는 제 3 업카운팅수단과, 상기 제 3 업카운팅수단의 출력데이타가 인가될 때마다 출력데이타를 어드레스로 하여 저장데이타를 순차적으로 독출하여 독출데이타를 출력하는 제 3 메모리수단과, 상기 부호어 카운팅수단 또는 상기 제 1 메모리수단으로부터의 출력데이타와, 상기 제 2 메모리수단 또는 제 3 메모리수단으로부터의 출력데이타를 가산하여 각 부호어의 심볼위치를 생성하는 가산수단을 포함한다.
제 6 도는 CD-ROM 재생시스템을 개략적으로 도시한 블록도이다. CD-ROM디스크로부터 재생된 신호는 우선 콤팩트 디스크의 포맷에 근거하여 CDP신호처리부에서 신호처리하여 CDROM신호처리부로 전송되고, CDROM신호처리부에서는 CD-ROM의 포맷에 의거하여 신호처리를 한다. 신호처리부는 동기 신호검출/디스크램블링(descrambling)회로, 에러정정부호의 어드레스를 발생하기 위한 어드레스 발생회로, , 에러정정을 위한 디코딩회로, 데이타를 호스트 컴퓨터에 전송하기 위한 데이타 전송부 및 버퍼 램을 포함한다. 동기 신호검출/디스크램블링 회로는 CD-ROM의 포맷에 의거한 각 데이타 집합, 즉 블록 또는 섹터의 동기신호를 검출하여 기록시 생성된 비트 스크램블(scramble)을 복원한다. P 및 Q패리티 심볼들을 포함하는 데이타는 연속적으로 버퍼 램 안으로 저장된다. 저장된 후, 어드레스 발생회로에 따라서 P 및 Q부호가 복호될수 있도록 버퍼 램(16)으로부터 데이타가 독출되며, 에러정정 데이타 처리회로(13)는 에러정정을 한후 데이타를 전송부(15)를 통해 호스트 컴퓨터로 전송시킨다. 호스트 컴퓨터에서는 데이타에 따라서 처리를 행한다. 본 발명의 핵심은 상술한 어드레스 발생회로(13)에 있으며, 그 회로(13)의 구성이 제 1 도에 도시된 바와 같다.
우선, 본 발명에 따른 어드레스 발생회로를 쉽게 이해하도록 CD-ROM의 데이타 포맷에 관하여 간단히 설명하면 다음과 같다. CD-ROM시스템에서 하나의 블록(2352바이트)의 구성은 12바이트의 동기신호, 4바이트의 헤더(header), 2048바이트의 유저데이타, 동기신호, 헤더 및 유저데이타에 각각 더해지는 4바이트의 에러검출 심볼들, 8바이트의 스페이스, 172바이트의 P패리티 심볼들(ECC) 및 104바이트의 Q패리티 심볼들(ECC)로 되어 있다. P패리티 심볼들 및 Q패리티 심볼들은 헤더(4byte), 유저데이타(2048바이트), 에러검출 심볼들(4바이트) 및 스페이스(8바이트)를 포함하는 전체 2064바이트에 더해진다. 동기검출과 디스크램블링을 거쳐 램에 저장되는 데이타의 저장상태는 제 7 도에 도시되어 있다. 동기신호를 선두로 하여 LSB바이트로부터 제 7 도에 도시되어 있다. 동기신호를 선두로 하여 LSB바이트로부터 MSB바이트로 연속적으로 데이타가 저장되도록 하나의 블럭의 데이타가 버퍼 램(16)안으로 저장된다.
이제, N번째 블럭의 선두 어드레스의 상위 어드레스가 "n"이라고 가정하면 상위 어드레스가 n+2350에서 n인 영역내로 N번째 블럭의 데이타를 써 넣으면 버퍼 RAM(16)안으로 쓰여진 데이타는 하위 바이트 및 상위 바이트로 분리되며, 이들 바이트는 각각 하위 바이트 플레인 및 상위 바이트 플레인을 형성한다. n에서 n+1번째 어드레스까지의 버퍼 RAM(16)으로 12바이트 동기신호가 쓰여지고, 또한 헤더, 유저데이타,…P 및 Q부호로 된 P 및 Q심볼들을 n+12 이상의 어드레스에다 써 넣는다. P 및 Q부호의 구성을 살펴보면, 동기신호를 제외하고 이들 P 및 Q부호들은 각각 LSB 및 MSB바이트 플레인에 형성되며, 각 플레인에서 1032바이트 데이타와 86바이트 P패리티 심볼을 가지며, 52바이트 Q패리티 심볼을 갖는다. 그리고, 상기 데이타의 구조는 헤더, 유저데이타, EDC 및 스페이스(space)로 이루어지며, 이러한 구조가 제 8 도에 도시되어 있다. 제 8 도는 LSB 및 MSB심볼플레인을 형성하는 각 1170바이트 데이타의 패리티 심볼의 배열을 보인 것이다.
제 8 도에서, 1032바이트 데이타는 세로 24줄 가로 43줄의 행렬을 배열되고, 두 패리티 심볼들이 각 가로 43줄에 더해져, 즉 24데이타로 하나의 P부호어를 형성한다. 따라서, 86P패리티 심볼들이 전체적으로 가로 43줄에 더해지므로, 제 8 도에서 도시된 바와 같이 각 가로줄마다 P부호어가 형성된다, 제 8 도에서, 네개의 디지트들의 숫자는 플레인(plane)에서 심볼위치(L)를 나타낸다. 이는 제 7 도의 괄호안의 네개의 디지트들의 숫자와 동일하다. (m+1)번째 P부호어의 (n+1)번째 심볼의 심볼위치는 다음공식으로 주어진다.
L=m +43n……………………………………………………………(1)
여기에서 m=0, 1,…,42, n=0, 1,…,25
예를들면, 두번째 P부호어의 24번째 심볼의 심볼위치(L)는 다음과 같이 계산된다(왜냐하면 0부터 wunting하므로).
L=1+43×23=990
한편, 제 8 도에 도시된 바와 같이 대각선 방향의 43데이타를 모아 두 Q패리티 심볼을 만든다. 이와 같은 방식으로 25×2개의 Q패리티 심볼로써 Q부호어를 형성할 수 있다. 이렇게 형성된 Q부호어는 제 9 도에 도시된 바와 같이 배열된다. 그리고, n+1번째 Q부호어의 n+1번째 심볼의 위치는 다음의 공식으로 계산된다.
L=(43m+44n) mod 1118………………………………………………(2)
여기에서, m=0, 1,…,25, n=0, 1,…,42
또는, L=1118+m+(26n-43)………………………………………………(3)
여기에서 m=0, 1,…,25, n=43, 44
버퍼 RAM(16)안으로 쓰여지는 데이타에 따라서 P 및 Q부호어와 어드레스 A와의 관계는 다음식으로 표현된다.
A=H+2L+P………………………………………………………………(4)
여기에서, H는 동기신호를 제외한 한 블럭내의 선두 어드레스이고, P는 "0"으로 LSB바이트 플레인 및 "1"로 MSB바이트 플레인을 나타낸다. 예를들면, 제8도에 도시한 심볼위치 L=0001의 데이타를 어드레스A(제 7 도)에 저장하고 이 어드레스 A는 만약 P=0이라면 상기 공식(4)에 의해
A=(n+12)+2×1=n+14로 된다.
이러한 P 및 Q부호들을 복호할 때에는 상기 공식(4)에 의해 버퍼 RAM(16)에 어드레스를 주어 거기에서 해당 부호들을 독출한 다음에 이들을 복호한다.
본 발명에서는 부호 복호시 어드레스를 발생하는 회로를 제공하는 것으로 이 어드레스 발생회로는 제 1 도에 도시되어 있다. 특히, 제 1 도에서는 상기 공식(4)중에서 심볼위치(L)를 계산하기 위한 부분만을 도시하였다. 왜냐햐면, 상기 부분을 제외한 나머지 부분은 공지 사실이기 때문이다. 따라서, 여기에서는 이들에 대한 부분의 동작설명은 서술하지 아니할 것이다.
이제, P부호와 Q부호별로 복호를 위한 어드레스를 생성하는 기술을 서술하여 나아갈 것이다.
(1) P부호의 복호
제 1 도에서, 제 1 제어회로(24)는 제 1 인버터(19)와, 제 1 인버터(19)의 출력 및 W신호를 수신하고 일정한 논리동작을 행하는 OR게이트(18)로 구성되고, 제 2 제어회로(25)는 NOR게이트(20), 제 2 인버터(21), 제 2 인버터(21)의 입력 및 NOR게이트(20)의 출력을 수신하고 일정한 논리동작을 행하는 제 1 AND게이트(22)와, 제 2 인버터(21)의 출력 및 NOR게이트(20)의 출력을 수신하고 일정한 논리동작을 행하는 제 2 AND게이트(23)로 구성된다. 제 2 제어회로의 NOR게이트(20)의 출력이 제 1 제어회로의 제 1 인버터(19)의 입력으로 작용하도록 구성된다. P부호정정구간동안 W신호의 논리레벨은 "1"이므로 OR게이트(18)의 출력도 "1"이 된다. OR게이트(18)의 출력은 2입력들(A)(B)중에서 하나의 입력을 선택하는 제 2 멀티플렉서(12)의 제어신호로 작용한다. 따라서, 제 2 멀티플렉서(12)는 OR게이트(18)의 출력에 의해 A입력을 선택하게 된다. 제 2 업카운터(5)는 Q심볼클록이 인가될 때마다 Q심볼의 수를 카운트하며, Q심볼의 수가 43개 또는 44개 일때 그의 해당출력(E,F)에서 각각 "1"를 발행한다. 다시 말하면, Q부호 복호시 44번째 및 45번재 심볼을 복호할 때 제2업카운터(5)의 출력은(E, F)에서는 각각 "1"의 논리값을 발생한다. 제 2 업카운터(5)의 출력은 제 2 제어회로(25)에 접수된다. NOR게이트(20)는 제 2 업카운터(5)의 출력들을 입력으로 받는다. 따라서, P부호정정구간일때는 제 2 업카운터(5)의 출력은 "0"의 논리값을 발생하므로 제 2 제어회로(25)의 NOR게이트(20)의 출력의 논리레벨은 "1"이 된다.
부호어 카운터(1)는 P부호어 및 Q부호어의 수를 카운터하는 장치로서 m개의 부호어를 카운트한다. 심볼 카운터(2)는 부호어 카운터(1)에 접속되어 심볼의 수를 카운트하는 장치로서 보통 n개의 심볼을 카운트한다. 심볼 카운터(2)에 접속되어 있는 검출기(3)는 심볼 카운터(2)의 출력이 25인지 또는 아닌지를 검출하는 것으로 심볼 카운터(2)의 출력이 25로 될때 그의 출력에서 클록신호를 발생한다. 즉, 심볼 카운터(2)에서 m+n=25로 될때마다 검출기(3)는 하나의 클록신호를 발생한다. 검출기(3)에서 발생된 클록신호는 D플립플롭(14)의 클록단자에 클록신호로서 공급되며, 이에따라 D플립플롭(14)은 검출기(3)의 클록신호가 발생할 때마다 그의 출력(0)으로 "1"을 발생시키고, 그 이외에는 "0"이 된다. 또한, 심볼 카운터(2)는 Q부호정정구간시에만 인에이블 되므로 P부호정정구간시에는 디스에이블되기 때문에 D플립플롭(14) 역시 디스에이블된다. 따라서, D플립플롭(14)는 그의 출력으로 "0"의 논리값을 발생한다. 제 2 제어회로(25)의 제 1 AND게이트(22)는 D플립플롭(14)의 출력과 NOR게이트(20)의 출력을 받는다. P부호정정구간시에는 상기 D플립플롭(14)이 디스에이블이기 때문에 제 1 AND게이트(22)의 출력은 "0"이 된다. 그리고, 제2제어회로(25)의 제 2 AND게이트(23)는 제 2 인버터(21)에서 반전되는 D플립플롭(14)의 출력과 NOR게이트(20)의 출력을 받기 때문에 제 2 AND게이트(23)는 인에이블되어 논리값 "1"의 출력을 발생한다. 제 2 AND게이트(23)의 출력 제3멀티플렉서(13)의 제어신호(sb)로서 작용한다. 따라서, 제 3 멀티플렉서(13)는 그의 입력들(a, b, c, d)중 b입력을 선택하게 된다.
이제, 제 2 도를 참조하여 P부호 복호를 위한 어드레스를 생성할때 심볼위치를 계산하는 과정을 설명하면 다음과 같다.
예를들면, 첫번째 부호어의 n+1번째 심볼을 살펴보면 부호어 카운터(1)의 출력 "0"은 제 2 멀티플렉서(12)의 A입력을 통해 가산기(15)로 전송됨과 동시에, P부호정정구간시 두 입력들(a), (b)중 a입력을 선택하는 제 1 멀티플렉서(11)를 통하여 P심볼클록신호가 제 4 업카운터(7)에 인가된다. 제 4 업카운터(7)는 P심볼클록신호가 인가될 때마다 "1"씩 증가시켜 증가된 데이타를 제 3 롬(10)에 제공한다. 이때, 제 3 롬(10)은 제 4 업카운터(7)의 출력에 따라 데이타를 독출하는데 독출된 데이타는 0, 43, 86,…,1075순으로 0부터 43의 배수로 1075까지 순차적으로 제 3 멀티플렉서(13)로 공급된다. 제 3 멀티플렉서(13)의 b입력을 통해 제 3 롬(10)에서 독출된 데이타를 가산기(15)로 공급된다. 가산기(15)는 제2 및 3멀티플렉서 (12)(13)으로부터의 출력을 받아 가산동작을 행하여 그 결과치를 출력한다. 이때의 가산기(15)의 결과치는 아래와 같은 형태로 나타난다.
L=O+43×n(n=0, 1, 2,…,25)
이는 첫번째 부호어의 심볼들의 위치를 계산한 것이다. 첫번째 부호어의 심볼들의 위치계산이 종료되면 다음 부호어, 즉 두번째 부호어의 심볼들의 위치를 계산하기 위해 제 4 업카운터(7)를 클리어시켜야 한다. 이는 하나의 P부호어의 심볼들의 위치 계산의 종료를 알리는 Z신호에 의해 달성되는데, Z신호는 하나의 P부호어가 종료되면 OR게이트(17)를 통해 제 4 업카운터(7)에 인가되고, 이에 따라 제 4 업카운터(7)는 클리어된다. 또한, 하나의 부호어의 복호가 끝나면 부호어 카운터(1)는 "1"을 증가시킨다. 두번째 부호어의 심볼들의 위치를 계산하는 과정은 부호어 카운터(1)의 출력이 "0"에서 "1"로 증가된 것을 제외하고는 상기 첫번째 부호어의 복호과정을 동일하며, 가산기(15)에서 출력되는 결과치는 다음과 같다.
L=1+43×n
이와 같은 방법으로, P부호의 복호는 26번째 부호어까지 반복적으로 행하여지며, 이 과정이 완료되면 부호어 카운터(1)는 클리어 된다.
(2) Q부호의 복호
ⅰ) (m+n) ≤ 25일때(제 3 도)
제 3 도는 Q부호의 어드레스 발생에 연관된 회로 부분을 도시한 것을 이 부분의 회로에서는 Q부호의 심볼위치(L)를 계산해 주며, 이 계산식은 다음과 같다.
L=43×m+44×n
Q부호의 심볼위치(L)의 계산식 L=43×m+44×n중에서 제 3 도의 회로의 상단부분에서는 44×n를 만들며, 하단부분에서는 43×m를 만든다. 제 1 도에서, 제 2 업카운터(5)의 출력은 "0"이고 제 3 OR게이트(18)는 제 1 인버터(19)의 출력 및 W신호를 받는다. W신호는 P부호정정구간동안에만 "1"이고 NOR게이트(20)의 논리값 "1"인 출력을 받는 제 1 인버터(19) 역시 "0"의 출력을 발생하므로 제 3 OR게이트(18)의 출력은 "0"이 된다. 이에따라, 제 3 OR게이트(18)의 출력을 제어신호로 받는 제 2 멀티플렉서(12)는 그의 입력들(A, B)중에서 B입력을 선택하게 된다. 또한, 검출기(3)의 출력이 "1"이 되기전 상태이므로 검출기(3)의 출력을 클록신호로 받는 D플립플롭(14)는 그의 출력을 논리값 "0"으로 발생한다. 제 2 인버터(21)를 통해 D플립플롭(41)의 출력을 받는 제 2 AND게이트(23)는 그의 출력으로서 논리값 "1"을 발생하여 제 3 멀티플렉서(13)에 공급하며, 이에 따라 제 3 멀티플렉서(13)는 그의 입력들(a, b, c, d)중에서 b입력을 선택하게 된다.
Q부호정정구간동안 심볼 카운터(2)는 부호어 카운터(1)로부터 m이라는 입력을 받아들이고 하나의 부호어를 복호하기 시작한다. 심볼 카운터(2)은 m부터 하나의 심볼 어드레스를 출력할 때마다 업카운트하여 m+n의 값에 이르게 되는데 검출기(3)에서는 심볼 카운터(2)에서 업카운터한 값, 즉 m+n=25에 도달한 바로 직후에 그의 출력으로 클록신호를 발생한다. 즉, 심볼 카운터(2)에서 업카운트한 값이 25가 될때마다 검출기(3)에서는 클록신호를 발생하므로, 그때마다, 검출기(3)는 발생한 클록신호로 심볼 카운터(2)를 클리어시킨다. 심볼 카운터(2)가 클리어되고 나면 0부터 다시 업카운터를 하게 되고, 이와 같은 동작은 하나의 부호어의 복호가 종료될때까지 반복적으로 이루어진다.
제 3 도의 회로동작을 살펴보면, 제 3 도의 회로의 상단부분은 하나의 심볼마다 0부터 44의 배수로 1100까지 순차적으로 데이타를 발생하고 하단부분은 하나의 부호어마다 0부터 43의 배수로 1075까지 데이타를 순차적으로 발생한다. 제 1 업카운터(4)는 Q심볼클록이 인가될 때마다 "1"를 증가시켜 그의 출력에 접속되어 있는 제 1 롬(8)에 보내면, 제 1 롬(8)은 제 1 업카운터(4)의 출력을 어드레스로 하여 해당 어드레스가 지정하는 곳의 데이타를 차례로 독출하여 독출된 데이타를 제 2 멀티플렉서(12)로 보낸다. 여기에서, 제 1 롬(8)은 제 1 업카운터(4)의 출력에 따라 0,44,88,…,1100순으로 데이타를 독출한다. 제 1 롬(8)에서 출력되는 데이타는 제 2 멀티플렉서(12)를 통하여 가산기(15)로 공급한다. 이와 동시에, 제 4 업카운터(7)는 제 1 멀티플렉서(11)를 통해 Q부호어 클록신호를 받아 그 클록신호가 인가될 때마다 "1"를 증가시켜 그의 출력에 접속되어 있는 제 3 롬(10)에 보낸다. 이에 따라, 제 3 롬(10)은 제 4 업카운터(7)의 출력을 어드레스로 하여 해당 어드레스가 지정하는 곳의 저장데이타를 차례로 독출하여 독출된 데이타를 제 3 멀티플렉서(13)로 보낸다. 여기에서, 제 3 롬(10)은 제 4 업카운터(7)의 출력에 따라 0, 43, 86,…,1075순으로 데이타를 독출한다. 제 3 롬(10)에서 출력되는 데이타는 제 3 멀티플렉서(13)를 통하여 가산기(15)로 공급된다.
이제, 제 3 도를 참조하여 Q부호 복호를 위한 어드레스를 생성할 때 심볼위치를 계산하는 과정을 설명하면 다음과 같다. 예를들어 첫번째 부호어의 n+1번째 심볼을 살펴보면, Q부호정정구간시 두 입력들(e)(f)중 b입력을 선택하는 제 1 멀티플렉서(11)를 통해 하나의 Q부호어 클록신호가 제 4 업카운터(7)에 인가된다. 그러면, 제 4 업카운터(7)는 인에이블되고, 이에따라 제 3 롬(10)은 그의 출력으로 데이타 "0"을 출력한다. 제 3 롬(10)에서 발생한 데이타는 제 3 멀티플렉서(13)의 b입력을 통해 가산기(15)로 전송됨과 동시에, Q심볼클록신호가 제 1 업카운터(4)에 인가된다. 제 1 업카운터(14)는 Q심볼클록신호가 인가될 때마다 "1"씩 중가시켜 증가된 데이타를 제 1 롬(8)에 제공한다. 이때, 제 1 롬(8)은 제 1 업카운터(4)의 출력에 따라 데이타를 독출하는데, 독출된 데이타는 0, 44, 88,…1100순으로 0부터 44의 배수로 1075까지 순차적으로 제 2 멀티플렉서(12)로 공급되며, 제 2 멀티플렉서(12)의 B입력을 통해 제 1 롬(8)에서 독출된 데이타는 가산기(15)로 공급된다. 가산기(15)는 제2 및 3멀티플렉서(12)(13)으로부터의 출력을 받아 가산동작을 행하여 그 결과치를 출력한다. 이때의 가산기(15)의 결과치는 아래와 같은 형태로 나타난다.
L=0+44×n
이는 첫번째 Q부호어의 심볼들의 위치를 계산하는 것이다. 첫번째 Q부호어의 심볼들의 위치계산이 종료되면 다음 부호어, 즉 두번째 Q부호어의 심볼들의 위치를 계산하기 위해 제 1 업카운터(4)와 제 2 업카운터(5)를 클리어시켜야 한다. 이는 하나의 Q부호어의 심볼들의 위치계산의 종료를 알리는 X신호에 의해 달성된다. 두번째 부호어의 심볼들의 위치를 계산하는 과정은 Q부호어 클록이 제 4 업카운터(7)에 인가되어 "1"을 증가시켜 증가된 데이타를 제 3 롬(10)에 제공하여 제 3 롬(10)에서 "43"이 출력하는 것을 제외하고는 상기 첫번째 Q부호어의 복호과정과 동일하며, 가산기(15)에서 출력되는 결과치는 다음과 같다.
L=43+44×n
이와 같은 방법으로, Q부호의 복호는 26번째 부호어까지 반복적으로 행하여진다. 다시 말하면, 제 1 업카운터(4)에 25개의 Q심볼클록이 인가되면 제 4 업카운터(7)에 하나의 Q부호어 클록이 인가된다. 따라서, 25개의 Q부호어 클록이 제 4 업카운터(7)에 인가될 때까지 이 동작을 계속 수행하게 된다.
ⅱ) (m+n) 〉 25,0 ≤ n ≤42일때(제 4 도)
제 4 도는 Q부호의 어드레스 발생에 연관된 회로부분을 도시한 것으로 이 부분의 회로에서는 Q부호의 심볼위치(L)를 계산해 주며, 이 계산식은 다음과 같다.
L=(43×m+43×n) mod 1118
제 1 도에서, 제 2 제어회로(25)의 NOR게이트(20)는 44번째 심볼 및 45번째 심볼을 복호할때에만 "0"의 출력을 발생하므로 이 경우에는 NOR게이트(20)의 출력이 "1"이 되고 제 1 제어회로(24)의 논리출력값에 의해 제 2 멀티플렉서(12)는 그들 입력들(A, B, C, D)중에서 B입력을 선택하게 된다. 검출기(3)는 m+n=25임을 검출하는 것으므로 D플립플롭(14)의 클록단자(C)에 접속되어 있는 검출기(3)는 그의 출력으로 D플립플롭(14)에 이미 클록신호를 제공하고 있는 상태이므로 D플립플롭(14)의 출력은 "1"이 된다. 또한, 제 1 AND게이트(22)는 D플립플롭(14)의 "1"의 출력과 NOR게이트(20)의 "1"의 출력을 받아 "1"의 출력을 발생하기 때문에 제 3 멀티플렉서(13)는 a입력을 선택하게 된다. 그리고, D플립플롭(14)의 출력은 하나의 Q부호어정정이 끝날때 마다 리셋트된다. 심볼 카운터(2) 및 검출기(3)에서 클록펄스가 발생할 때마다 제 3 업카운터(6)는 "1"씩 증가시켜 이를 제 2 롬(9)에 어드레스로서 제공한다. 제 2 롬(9)는 제 3 업카운터(6)의 출력을 어드레스로서 받아 해당 어드레스가 지정하는 곳의 저장데이타를 독출하여 제 3 멀티플렉서(13)에 제공한다. 이때, 제 2 롬(9)은 제 3 업카운터(6)의 출력에 따라 저장데이타를 26, 25, 23, 22, 21, 20, 19, 18, 17, 14, 42, 15, 41, 14, 40, 13, 39, 12, 38, 11, 37, 10, 36, 9, 35, 8, 34, 7, 33, 6, 32, 5, 31, 4, 30, 3, 29, 2, 28, 1, 27순으로 차례로 독출한다. 제 3 업카운터(6)는 그의 출력을 증가시키는 경우에는(43×m+44×n)의 값이 1118이나 2236을 바로 초과했을때 한해서 이 동작을 행한다. 예를들면, 첫번째 Q부호어의 25번째 심볼의 복호의 경우 심볼위치(L)는 0에서부터 1100까지는 상기 ⅱ)의 경우와 마찬가지로 계산되고, 다시 26번째 심볼클록신호가 심볼 카운터(2)에 인가되면 심볼 카운터(2)에 접속되어 있는 검출기(3)는 심볼 카운터(2)에서 업카운트한 값이 25인 것을 인지하여 클록신호를 발생시킨다. 상기 클록신호는 심볼 카운터(2)의 클리어신호, 그리고 제 3 업카운터(6)의 클록신호로 작용하기 때문에, 심볼 카운터(2)는 클리어 상태로 되고 제 3 업카운터(6)는 인에이블되며, 이에때라 제 2 롬(9)는 저장데이타 "26"을 출력하여 제 3 멀티플렉서(13)를 거쳐 가산기(15)로 전송시킨다. 한편, 검출기(2)로부터 발생한 클록신호는 제 1 OR게이트(16)를 통해 제 1 업카운터(4)에 인가된다. 이에따라, 제 1 업카운터(4)는 클리어되어 이에 접속된 제 1 롬(8)은 저장데이타 "0"를 출력시킨다. 출력데이타 "0"는 제 2 멀티플렉서(12)를 통해 가산기(15)로 전송된다. 따라서, 가산기(15)는 제2 및 3멀티플렉서(12)(13)의 출력을 받아 가산동작을 행하여 그 결과치를 발생하는데, 이 결과치를 보면 제 1 롬(8)으로부터의 데이타 "0"과 제 2 롬(9)로부터의 출력데이타 "26"을 합한 26이 된다. 이후, Q심볼클록신호가 제 1 업카운터(4)에 인가될 때마다 제 1 업카운터(4)로부터 어드레스를 받는 제 1 롬(8)은 순차적으로 44, 88,…데이타를 독출 출력한다. 이는 제 1 롬(8)에 저장된 데이타 "704"를 독출 출력할 때까지 계속 이루어진다. 제 1 롬(8)에서 독출된 데이타 "704"는 제 2 멀티플렉서(12)를 통해 가산기(15)로 전송된다. 따라서, 가산기(15)에서 가산 결과치는 26+704=730으로 된다. 이것이 바로 첫번째 부호어의 44번째 심볼의 위치를 의미하며 제 2 롬(9)의 저장데이타는 Q부호의 복호시 점핑이 일어나는 곳을 의미한다.
이후, 하나의 심볼마다 제 1 롬(8)의 출력이 변하여 첫번째 Q부호어의 43번째까지의 심볼위치는 다음과 같다.
0~1100, 26, 70, 114,…, 686, 730
이는 제 9 도에서, m=0이고 n=0일때의 Q부호어의 심볼위치와 일치한다. 상기 방법에 의하여(m+n 〉 25)이고 (0≤n≤42)일때의 심볼위치를 계산한다.
ⅲ) n=43, 44일때(제 5 도)
제 5 도는 Q부호의 어드레스 발생에 연관된 회로부분을 도시한 것이다. n=43일때, 즉 44번째 심볼위치를 계산할때 제 2 업카운터(5)의 출력(E)에서 논리값 "1"인 출력을 발생하므로 제 2 제어회로(25)의 NOR게이트(20)의 출력은 "0"으로 된다. NOR게이트(20)의 출력은 제 1 인버터(19)에서 반전되어 제 3 OR게이트(18)로 공급된다. 이에따라, 제 3 OR게이트(18)에서는 그의 출력을 "1"인 논리값을 발생하여 이를 제 2 멀티플렉서(12)에 제공하면, 제 2 멀티플렉서(12)는 제 3 OR게이트(18)의 출력에 의해 A입력을 선택하게 된다. 또한, n=44일때, 즉 45번째 심볼위치를 계산할때 제 2 업카운터(5)의 출력(F)에서 논리값 "1"인 출력을 발생하므로 제 2 제어회로(25)의 NOR게이트(20)의 출력은 "0"으로 된다. 따라서, n=44일때에도 제 2 멀티플렉서(12)는 NOR게이트(20)의 출력에 의하여 A입력을 선택하게 된다. 한편, 제 2 제어회로(25)는 제 3 멀티플렉서(13)을 제어하기 위한 제어신호를 발생하는데, n=43일때에는 제 2 업카운터(5)의 출력(E)에 의해 제 3 멀티플렉서(13)의 c입력이 선택되며, N=44일때에는 제 2 업카운터(5)의 출력(F)에 의해 제 3 멀티플렉서(13)의 d입력이 선택된다. 따라서, n=43일때에는 부호어 카운터(1)로부터의 데이타 "m"이 제 2 멀티플렉서(12)를 통해 가산기(15)로 전송되는 한편, 외부로부터의 데이타 "1118"를 제 3 멀티플렉서(13)의 c입력을 통하여 가산기(15)로 전송된다. 결과적으로, 가산기(15)에서 출력되는 심볼위치(L)는 다음과 같다.
L=m+1118
그리고, n=44일때에는 부호어 카운터(1)로부터의 데이타 "m"이 제 2 멀티플렉서"12)를 통해 가산기(15)로 전송되는 한편, 외부로부터의 데이타 "1144"를 제 3 멀티플렉서(13)의 d입력을 통하여 가산기(15)로 전송된다. 결과적으로, 가산기(15)에서 출력되는 심볼위치(L)는 다음과 같다.
L=m+1144
본 발명에서는 본 발명의 개념을 좀더 쉽게 이해할 수 있도록 상술한 바와 같이 제1, 3 및 4업카운터(4), (6), (7)와 해당 제1, 2 및 3롬(8), (9), (10)을 따라 분리하여 놓았지만 이들은 하나로 묶어 제1, 2 및 3롬(8), (9), (10)의 저장데이타를 클록에 의해 순서대로 출력할 수 있는 세개의 카운터로 구성하면 본 발명의 효과 즉, 회로도 간단하고 지연시간도 감소하는 효과를 달성할 수 있도록 하는 기능을 수행할 수 있는수단으로 대치할 수도 있다.
이와 같이, 본 발명에 의하면 오류검출정정시 어드레스 발생회로의 구현에 있어서는 종래의 소프트웨어를 이용한 것에 비하여 하드웨어에 의해서만 동작하므로 실시간 복호가 가능하고, 종래의 대용량의 ROM에 모든 심볼어드레스를 부호화한 것에 비교하면 소용량의 ROM과 간단한 제어회로를 이용하여 면적의 효율성을 높였고 또한 상기 서술한 바와 같이 소용량의 롬마저도 필요없게 설계할 수 있어 더욱 면적 및 지연시간면에서 장점을 가지며, 피이드 백 루프를 가진 회로에 비해서는 어드레스 저장을 위해 필요한 레지스터가 없어도 회로를 구현할 수 있어 로직회로가 간단해졌고 부수적인 제어회로도 필요없을 뿐만 아니라 피이드 백 루프로 인한 시간지연도 방지할 수 있는 효과가 있다.

Claims (26)

  1. 복호순 번호로 상기 데이타 및 패리티 심볼들을 순차적으로 독출하여 에러정정부호어를 복호할 수 있도록, 데이타 에러검출 또는 정정을 하기 위한 상기 데이타 및 상기 패리티 심볼로 구성된 다수의 어드레스를 발생하기 위한 어드레스 발생회로는 Q심볼클록신호가 인가될 때마다 "1"씩 업카운팅하여 업카운팅 데이타를 출력하는 제 1 업카운팅수단과, 상기 제 1 업카운팅수단의 출력데이타가 인가될 때마다 출력데이타를 어드레스로 하여 저장데이타를 순차적으로 독출하여 독출데이타를 출력하는 제 1 메모리수단과, P부호어 클록신호 또는 Q부호어 클록신호에 동기되어 부호어들의 수를 카운팅하는 부호어 카운팅수단과, 상기 부호어카운팅수단에 접속되고 Q부호 복호시 상기 부호어 카운팅수단의 출력을 받아 그시점부터 심볼의 수를 카운팅하는 심볼 카운팅수단과, 상기 심볼 카운팅수단으로부터의 출력데이타를 검출하여 상기 출력데이타가 임의의 숫자에 도달할 때마다 "1"의 출력을 발생하는 검출수단과, 상기 검출수단의 출력이 인가될 때마다 "1"씩 업카운팅하여 업카운트된 데이타를 출력하는 제 2 업카운팅수단과, 상기 제 2 업카운팅수단의 출력데이타가 인가될 때마다 출력데이타를 어드레스로 하여 저장데이타를 순차적으로 독출하여 독출데이타를 출력하는 제 2 메모리수단과, P심볼클록신호 또는 Q부호어 클록신호가 인가될 때매다 "1"씩 업카운터하여 업카운팅된 데이타를 출력하는 제 3 업카운팅수단과, 상기 제 3 업카운팅수단의 출력데이타가 인가될 때마다 출력데이타를 어드레스로 하여 저장데이타를 순차적으로 독출하여 독출데이타를 출력하는 제 3 메모리수단과, 상기 부호어 카운팅수단 또는 상기 제 1 메모리수단으로부터의 출력데이타와, 상기 제 2 메모리수단 또는 제3메모리수단으로부터의 출력데이타를 가산하여 각 부호어의 심볼위치를 생성하는 가산수단을 포함하고 있는 어드레스 발생회로.
  2. 제 1 항에 있어서, 상기 제 1 메모리수단에서 상기 저장데이타가 0에서부터 44배수로 1100까지 독출되는 것을 특징으로 하는 어드레스 발생회로.
  3. 제 1 항에 있어서, 상기 제 2 메모리수단에서 상기 저장데이타가 0, 26, 25, 24, 23 , 22, 21, 20, 19, 18, 17, 16, 42, 15, 41, 14, 40, 13, 39, 12, 38, 11, 37, 10, 36, 9, 35, 8, 34, 7, 33, 6, 32, 5, 31, 4, 30, 3, 29, 2, 28, 1, 27순으로 독출되는 것을 특징으로 하는 어드레스 발생회로.
  4. 제 1 항에 있어서, 상기 제 3 메모리수단에서 상기 저장데이타가 0에서부터 43배수로 1075까지 독출되는 것을 특징으로 하는 어드레스 발생회로.
  5. 제 1 항 내지 제 4 항에 있어서, 상기 P심볼클록신호 및 상기 Q부호어 클록신호를 두 입력으로 하여 두 입력중 하나의 입력을 선택하여 선택된 입력을 상기 제 3 업카운팅수단에 제공하는 제 1 멀티플렉싱수단과, 상기 부호어 카운팅수단의 출력 및 상기 제 1 메모리수단의 출력을 두 입력으로 받아들여 두 입력중 하나를 선택하여 선택된 입력을 상기 가산기에 공급하는 제 2 멀티플렉싱수단과, 상기 제 1 및 제 2 메모리수단의 출력 및 데이타 1118 및 1144을 네개의 입력으로 받아들여 네개의 입력들중 하나를 선택하여 선택된 입력을 상기 가산기에 공급하는 제 3 멀티플렉싱수단을 더 포함하는 어드레스 발생회로.
  6. 제 5 항에 있어서, 상기 제 1 멀티플렉싱수단은 P부호정정구간동안 P심볼클록신호를 선택된 입력으로 취하고 Q부호정정구간동안 Q부호어 클록신호를 선택된 입력으로 취하는 것을 특징으로 하는 어드레스 발생회로.
  7. 제 5 항에 있어서, 상기 제 2 멀티플렉싱수단은 P부호정정구간동안 또는 Q부호정정구간중에서 44번째 및 45번째 심볼위치 계산시에 상기 부호어 카운팅수단의 출력을 선택된 입력으로 취하고 나머지 Q부호정정구간동안에는 상기 제 1 메모리수단으로부터의 출력을 선택된 입력으로 취하는 것을 특징으로 하는 어드레스 발생회로.
  8. 제 5 항에 있어서, 상기 제 3 멀티플렉싱수단은 P부호정정구간동안, 그리고 Q부호정정구간중에서 (m+1)번째 Q부호어의 (n+1)번째 심볼을 복호시 m과 n이 합이 25보다 작거나 같을때 상기 제 3 메모리수단의 출력을 선택된 입력으로 취하는 것을 특징으로 하는 어드레스 발생회로.
  9. 제 5 항에 있어서, 상기 제 3 멀티플렉싱수단은 Q부호정정구간중에서, (m+1)번째 Q부호어의 (n+1)번째 심볼을 복호시 m과 n의 합이 25보다 크며, n이 0보다 크거나 같고 42보다 작거나 같을때 상기 제 2 메모리수단의 출력을 선택된 입력으로 취하는 것을 특징으로 하는 어드레스 발생회로.
  10. 제 5 항에 있어서, 상기 제 3 멀티플렉싱수단은 Q부호정정구간에서 44번째 심볼의 위치계산시에 데이타 1118을 선택된 입력으로 취하는 한편, 45번째 심볼의 위치계산서에 데이타 1144을 선택된 입력으로 취하는 것을 특징으로 하는 어드레스 발생회로.
  11. 제 5 항에 있어서,상기 Q심볼클록신호에 동기되어 심볼의 수를 카운팅하고 심볼의 수가 43 또는 44일때 "1"의 출력을 발생하는 제 4 업카운팅수단과, 상기 검출수단의 출력을 클록신호를 받아 상기 검출수단의 출력이 인가될 때에 현재의 데이타를 출력하는 D플립플롭수단을 더 포함하는 어드레스 발생회로.
  12. 제 5 항에 있어서, 상기 제1 및 2멀티플렉싱수단을 각각 제어하기 위한 제1 및 2제어수단들을 더 포함하는 어드레스 발생회로.
  13. 제12항에 있어서, 상기 제 2 제어수단은 상기 제 4 업카운팅수단의 출력들을 입력으로 받아 NOR게이팅동작을 수행하는 제 1 논리수단과, 상기 D플립플롭수단의 출력을 반전시키는 제 2 논리수단과, 상기 D플립플롭수단의 출력 및 상기 제 1 논리수단의 출력을 받아 AND게이팅동작을 수행하는 제 3 논리수단과, 상기 제 2 논리수단의 출력 및 상기 제 1 논리수단의 출력을 받아 AND게이팅동작을 수행하는 제 4 논리수단으로 이루어지는 것을 특징으로 하는 어드레스 발생회로.
  14. 제11항에 있어서, 제 1 제어수단이 상기 제 2 제어수단의 제 1 논리수단의 출력을 반전시키는 제 5 논리수단과, 제 5 논리수단의 출력에 의해 또는 P부호정정구간동안 인에이블되는 제 6 논리수단으로 구성되는 것을 특징으로 하는 어드레스 발생회로.
  15. 복호순번호로 상기 데이타 및 패리티 심볼들을 순차적으로 독출하여 에러정정 부호어를 복호할 수 있도록, 데이타 에러검출 또는 정정을 하기 위한 상기 데이타 및 상기 패리티 심볼로 구성된 다수의 에러정정부호들을 순차적으로 저장하고 있는 메모리에 독출 어드레스를 발생하기 위한 어드레스 발생회로에 있어서, Q심볼클록신호가 인가될 때마다 0에서부터 44배수로 1100까지 카운팅하고 카운팅한 값을 출력하는 제 1 업카운팅수단과, P부호어 클록신호 또는 Q부호어 클록신호에 동기되어 부호어들의 수를 카운팅하는 부호어 카운팅수단과, 상기 부호어 카운팅수단에 접속되고 Q부호 복호시 상기 부호어 카운팅수단의 출력을 받아 그 시점부터 심볼의 수를 카운팅하는 심볼 카운팅수단과, 상기 심볼 카운팅수단으로부터의 출력데이타를 검출하여 상기 출력데이타가 임의의 숫자에 도달할 때마다 "1"의 출력을 발생하는 검출수단과, 상기 검출수단의 출력신호가 인가될때26, 25, 24, 23, 22, 21, 20, 19, 18, 17 ,16, 42, 15 ,41, 14, 40, 13, 39, 12, 38, 11, 37, 10, 36, 9, 35, 8, 34, 7, 33, 6, 32, 5, 31, 4, 30, 3, 29, 2, 28, 1, 27순으로 카운팅하고 카운팅한 값을 출력하는 제 2 업카운팅수단과, P심볼클록신호 또는 Q부호어 클록신호가 인가될때마다 0에서부터 43배수로 1075까지 카운팅하고 카운팅한 값을 출력하는 제 3 업카운팅수단과, 상기 부호어 카운팅수단 또는 상기 제 1 업카운팅수단으로부터의 출력데이타와, 상기 제 2 업카운팅수단 또는 제 3 업카운팅수단으로부터의 출력데이타를 가산하여 각 부호어의 심볼위치를 생성하는 가산수단을 포함하고 있는 어드레스 발생회로.
  16. 제15항에 있어서, 상기 P심볼클록신호 및 상기 Q부호어 클록신호를 두 입력으로 하여 두 입력중 하나의 선택하여 선택된 입력을 상기 제 3 업카운팅수단에 제공하는 제 1 멀티플렉싱수단과, 상기 부호어 카운팅수단의 출력 및 상기 제 1 업카운팅수단의 출력을 두 입력으로 받아들여 두 입력중 하나를 선택하여 선택된 입력을 상기 가산기에 공급하는 제 2 멀티플렉싱수단과, 상기 제1 및 2업카운팅수단의 출력과 데이타 1118 및 1144을 네개의 입력으로 받아들여 네개의 입력들 중 하나를 선택하여 선택된 입력을 상기 가산기에 공급하는 제 3 멀티플렉싱수단을 더 포함하는 어드레스 발생회로.
  17. 제15항에 있어서, 상기 Q심볼클록신호에 동기되어 심볼의 수를 카운팅하고 심볼의 수가 43 또는 44일때 "1"의 출력을 발생하는 제 4 업카운팅수단과, 상기 검출수단의 출력을 클록신호를 받아 상기 검출수단의 출력이 인가될 때마다 현재의 데이타를 출력하는 D플립플롭수단을 더 포함하는 어드레스 발생회로.
  18. 제17항에 있어서, 상기 제 1 멀티플렉싱수단은 P부호정정구간동안 P심볼클록신호를 선택된 입력으로 취하고 Q부호정정구간동안 Q부호어 클록신호를 선택된 입력으로 취하는 것을 특징으로 하는 어드레스 발생회로.
  19. 제17항에 있어서, 상기 제 2 멀티플렉싱수단은 P부호정정구간동안 또는 Q부호정정구간중에서 44번째 및 45번째 심볼위치 계산시에 상기 부호어 카운팅수단의 출력을 선택된 입력으로 취하고 나머지 Q부호정정구간동안에는 상기 제 1 업카운팅수단으로부터의 출력을 선택된 입력으로 취하는 것을 특징으로 하는 어드레스 발생회로.
  20. 제17항에 있어서, 상기 제 3 멀티플렉싱수단은 P부호정정구간동안, 그리고 Q부호정정구간중에서 상기 Q부호어 클록신호와 상기 심볼클록신호와의 합이 25보다 작거나 같을때 상기 제 3 업카운팅수단의 출력을 선택된 입력으로 취하는 것을 특징으로 하는 어드레스 발생회로.
  21. 제17항에 있어서, 상기 제 3 멀티플렉싱수단은 Q부호정정구간중에서 상기 Q부호어 클록신호와 상기 심볼클록신호와의 합이 25보다 크며, 심볼의 수가 0보다 크거나 같고 42보다 작거나 같을때 상기 제 2 업카운팅수단의 출력을 선택된 입력으로 취하는 것을 특징으로 하는 어드레스 발생회로.
  22. 제17항에 있어서, 상기 제 3 멀티플렉싱수단은 Q부호정정구간에서 44번째 심볼의 위치계산시에 데이타 1118을 선택된 입력으로 취하는 한편, 45번째 심볼의 위치계산서에 데이타 1144을 선택된 입력으로 취하는 것을 특징으로 하는 어드레스 발생회로.
  23. 제17항에 있어서, 상기 Q심볼클록신호에 동기되어 심볼의 수를 카운팅하고 심볼의 수가 43 또는 44일때 "1"의 출력을 발생하는 제 4 업카운팅수단과, 상기 검출수단의 출력을 클록신호를 받아 상기 검출수단의 출력이 인가될 때마다 현재의 데이타를 출력하는 D플립플롭수단을 더 포함하는 것을 특징으로 하는 어드레스 발생회로.
  24. 제17항에 있어서, 상기 제1 및 2멀티플렉싱수단을 가각 제어하기 위한 제1 및 2제어수단들을 더 포함하는 어드레스 발생회로.
  25. 제24항에 있어서, 상기 제 1 제어수단은 상기 제 4 업카운팅수단의 출력들을 입력으로 받아 NOR게이팅동작을 수행하는 제 1 논리수단과, 상기 D플립플롭수단의 출력을 반전시키는 제 2 논리수단과, 상기 D플롭플롭수단의 출력 및 상기 제 1 논리수단의 출력을 받아 AND게이팅동작을 수행하는 제 3 논리수단과, 상기 제 2 논리수단의 출력 및 상기 제 1 논리수단의 출력을 받아 AND게이팅동작을 수행하는 제 4 논리수단으이루어지는 것을 특징으로 하는 어드레스 발생회로.
  26. 제24항에 있어서, 제 1 제어수단이 상기 제 2 제어수단의 제 1 논리수단의 출력을 반전시키는 제 5 논리수단과, 제 5 논리수단의 출력에 의해 또는 P부호정정구간동안 인에이블되는 제 6 논리수단으로 구성되는 것을 특징으로 하는 어드레스 발생회로.
KR1019920006613A 1992-04-20 1992-04-20 어드레스 발생회로 KR940007571B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019920006613A KR940007571B1 (ko) 1992-04-20 1992-04-20 어드레스 발생회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019920006613A KR940007571B1 (ko) 1992-04-20 1992-04-20 어드레스 발생회로

Publications (2)

Publication Number Publication Date
KR930022303A KR930022303A (ko) 1993-11-23
KR940007571B1 true KR940007571B1 (ko) 1994-08-20

Family

ID=19332017

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019920006613A KR940007571B1 (ko) 1992-04-20 1992-04-20 어드레스 발생회로

Country Status (1)

Country Link
KR (1) KR940007571B1 (ko)

Also Published As

Publication number Publication date
KR930022303A (ko) 1993-11-23

Similar Documents

Publication Publication Date Title
EP0155038B1 (en) Fast decoder for reed-solomon codes which can also be used as an encoder, and recording/playback apparatus comprising such an encoder/decoder
CA1199411A (en) Syndrome processing unit for multibyte error correcting system
EP0158510B1 (en) Error detection and correction in digital communication systems
US5546409A (en) Error correction encoding and decoding system
US4791643A (en) Single track orthogonal error correction system
JP2001136079A (ja) 多段符号化方法、多段復号方法、多段符号化装置、多段復号装置およびこれらを用いた情報伝送システム
US5212695A (en) Error check or erro correction code coding device
US5935269A (en) CRC code generation circuit, code error detection circuit and CRC circuit having both functions of the CRC code generation circuit and the code error detection circuit
EP0105499A2 (en) Method capable of simultaneously decoding two reproduced sequences
KR940011037B1 (ko) 어드레스 발생회로
EP0481752B1 (en) Error correction code encoder and decoder
JPH10508988A (ja) Crc/edcチェッカシステム
JP3000811B2 (ja) 巡回符号化およびcrc装置とその処理方法
EP0431576A2 (en) BCH code decoder and method for decoding a BCH code
KR940007571B1 (ko) 어드레스 발생회로
JP3259725B2 (ja) ビタビ復号装置
EP0797307A2 (en) Depuncturing circuit
US4519079A (en) Error correction method and apparatus
US5694405A (en) Encoder and decoder of an error correcting code
EP0240921B1 (en) BCH code signal correcting system
EP0306020B1 (en) Error correction coding and decoding circuit for digitally coded information
JP3063180B2 (ja) 可変長符号復号回路
JP2752510B2 (ja) 誤り訂正復号器
JP3418718B2 (ja) 磁気テープ装置の制御装置及びその再同期信号検出方法
KR950011290B1 (ko) 어드레스 발생회로

Legal Events

Date Code Title Description
A201 Request for examination
G160 Decision to publish patent application
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20060728

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee