KR0164509B1 - 4-bit cyclic redundancy check decoder - Google Patents
4-bit cyclic redundancy check decoder Download PDFInfo
- Publication number
- KR0164509B1 KR0164509B1 KR1019950033745A KR19950033745A KR0164509B1 KR 0164509 B1 KR0164509 B1 KR 0164509B1 KR 1019950033745 A KR1019950033745 A KR 1019950033745A KR 19950033745 A KR19950033745 A KR 19950033745A KR 0164509 B1 KR0164509 B1 KR 0164509B1
- Authority
- KR
- South Korea
- Prior art keywords
- signals
- bit parallel
- output
- signal
- parallel register
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명은 4비트 병렬 CRC디코더를 공개한다. 그 회로는 인에이블 신호에 응답하여 인에이블되고, 클럭신호에 응답하여 4비트 입력 데이터(x0-x31) 각각에 x4을 곱하고 생성 다항식(G(x)=x32+x31+x16+x15+x4+x3+x+1)으로 나눈 나머지 신호들을 4개의 출력신호들로 각각 발생함에 의해서 제1부터 제32까지의 나머지 신호들을 발생하기 위한 제1,2,3,4,5,6,7 및 8의 4비트 병렬 레지스터들, 4비트 입력 데이터와 궤환되는 제29,30,31,32 나머지 신호들을 조합하여 제1레지스터의 입력신호를 발생하는 제1배타논리합 게이트, 제1레지스터의 출력신호들과 제29,30,31,32 나머지 신호들을 조합하여 제2레지스터의 입력신호를 발생하는 제2배타논리합 게이트, 제3레지스터의 출력신호들과 제29,30,31,32 나머지 신호들을 조합하여 제4레지스터의 입력신호를 발생하는 제3배타논리합 게이트, 제4레지스터의 출력신호와 제29,30,31,32 나머지 신호들을 조합하여 제5레지스터의 입력신호를 발생하는 제4배타논리합 게이트, 제7레지스터의 출력신호와 제29,30,31,32 나머지 신호들을 조합하여 제8레지스터의 입력신호를 발생하는 제5배타논리합 게이트로 구성되어 있다.따라서, 연산 시간을 단축할 수 있다.The present invention discloses a 4-bit parallel CRC decoder. The circuit is enabled in response to the enable signal, multiplies each of the 4-bit input data (x 0- x 31 ) by x 4 in response to the clock signal and generates a polynomial (G (x) = x 32 + x 31 + x 16 + x 15 + x 4 + x 3 + x + 1) to generate the remaining signals from the first to the 32nd by generating the remaining signals as the four output signals, respectively; 4,5,6,7 and 8 4-bit parallel registers, a first exclusive logic gate that combines 4-bit input data and the remaining 29,30,31,32 signals to generate the input signal of the first register. A second double logic gate generating the input signal of the second register by combining the output signals of the first register with the remaining signals of the 29th, 30, 31, and 32, the output signals of the third register and the 29th, 30th, 31,32 The third exclusive logic gate to generate the input signal of the fourth register by combining the remaining signals, the output signal of the fourth register and the 29,3 A fourth exclusive logic gate that generates an input signal of the fifth register by combining 0, 31, and 32 remaining signals, an output signal of the seventh register, and an input of the eighth register by combining the remaining signals of the 29, 30, 31, and 32 signals. And a fifth exclusive logic gate that generates a signal. Thus, the computation time can be shortened.
Description
본 발명은 사이클릭 리던던시 체크(CRC; cyclic redundancy check) 디코더(decoder)에 관한 것으로, 특히 병렬 사이클릭 리던던시 체크 디코더에 관한 것이다.The present invention relates to a cyclic redundancy check (CRC) decoder, and more particularly to a parallel cyclic redundancy check decoder.
멀티-미디어(multi-media)의 핵심부품인 컴팩트 디스트-리드 온리 메모리(CD-ROM; compact disc-read only memory)의 디지털 신호 처리 칩으로부터 받은 데이터를 외부 메모리에 저장한 후 에러 정정 코드(ECC; error correcting code) 디코딩을 수행하여 디코더의 에러 정정 범위를 벗어나거나 또는 오정정으로 인한 데이터의 유실을 방지하기 위해 블록 단위의 CRC 플래그를 출력한다. 이때 사용하는 CRC코드는 개념적으로 ECC부호와 같으나, 에러를 정정할 수는 없고 단지 블록단위의 데이터 중 에러의 유무정보만을 출력하여 CD-ROM데이터를 이용하는 개인용 컴퓨터상의 호스트 등에서 이 정보를 이용하여 데이터의 신뢰성을 판단하게 해 준다.The error correction code (ECC) is stored in the external memory after data received from the digital signal processing chip of the compact disc-read only memory (CD-ROM), a key component of the multi-media, is stored. error correcting code) and outputs a CRC flag in units of blocks to prevent loss of data due to an error correction range or a miscorrection of the decoder. The CRC code used here is conceptually the same as the ECC code, but the error cannot be corrected, and the data is used by the host on the personal computer using the CD-ROM data by outputting only the information of the error in the block unit data. Allows you to judge the reliability of
제1도는 종래의 CD-ROM드라이브의 블록도로서, CD(1), RF증폭기(2), CD플레이어(3), 디코더(4), 서보 회로(5), 및 제어부(6)로 구성되어 디스크(1)에 기록된 정보를 RF증폭기(2)에 의해서 증폭하고, 이 증폭된 정보는 CD플레이어(3)로 전송된다. 디코더(4)는 CD플레이어(3)로부터 데이터를 전송받아 CD-ROM디포맷팅(deformatting), 디스크램블링(descrambling), CRC디코딩을 수행하여 PC상의 버스로 데이터를 출력한다.1 is a block diagram of a conventional CD-ROM drive, and is composed of a CD (1), an RF amplifier (2), a CD player (3), a decoder (4), a servo circuit (5), and a control unit (6). The information recorded on the disk 1 is amplified by the RF amplifier 2, and the amplified information is transmitted to the CD player 3. The decoder 4 receives data from the CD player 3 and performs CD-ROM deformatting, descrambling, and CRC decoding to output data to the bus on the PC.
디코더(4)의 출력은 오디오 데이터 뿐만 아니라 비데오 데이터 등 또는 PC상에서 쓰이는 정보이므로, 디코더(4)에서 에러정정을 수행하더라도 정정 못한 데이터가 있을 경우에는 블록단위로 CRC정보를 출력함으로써 현재의 블록 데이터에 대한 신뢰성에 대한 정보를 제공해야 한다. 이때, 사용하는 CRC는 아래 식(1)의 생성 다항식을 사용한다.Since the output of the decoder 4 is not only audio data but also video data or information used on a PC, the current block data may be output by outputting CRC information in units of blocks if there is data that cannot be corrected even if error correction is performed in the decoder 4. Information should be provided on the reliability of the system. At this time, the CRC to be used uses the generation polynomial of the following formula (1).
CD-ROM의 섹터 포맷들은 모드1, 모드2, 모드2, 폼1, 모드2 폼2, CD디지탈 오디오 포맷 등이 있으며, 제2도에 나타낸 모드1 포맷의 경우에 CD-ROM 1블럭의 2352바이트(bytes) 데이터 중 2064바이트의 싱크+헤더+데이터에 대해 4바이트의 에러 검출 코드(EDC; error detect code) 패리티가 첨가된다.The sector formats of the CD-ROM include Mode 1, Mode 2, Mode 2, Form 1, Mode 2 Form 2, CD Digital Audio format, and in the case of Mode 1 format shown in FIG. 4 bytes of error detect code (EDC) parity is added to 2064 bytes of sync + header + data of the bytes data.
CRC(또는 EDC)의 원리는 CD-ROM 모드1 포맷의 경우에 2064바이트=2064×8비트의 데이터를 위 식(1)의 생성 다항식(G(x))으로 나누면 4바이트=4×8비트의 나머지 다항식(P(x))가 남는데, 이것을 더해줌으로써 CRC엔코딩이 완료된다. 즉, 아래의 식(2)로 나타내어진다.The principle of CRC (or EDC) is that in the case of CD-ROM mode 1 format, 2064 bytes = 2064 x 8 bits of data divided by the generation polynomial (G (x)) of the above equation (4) = 4 x 8 bits. The remainder of the polynomial (P (x)) remains, and by adding it the CRC encoding is completed. That is, it is represented by following formula (2).
식(2)에서, C(x)는 부호 다항식, P(x)는 나머지 다항식, D(x)는 정보 다항식, G(x)는 임의의 몫, n은 부호길이, k는 정보어의 길이를 각각 나타낸다.In Equation (2), C (x) is a sign polynomial, P (x) is a remainder polynomial, D (x) is an information polynomial, G (x) is an arbitrary quotient, n is a code length, and k is the length of an information word. Respectively.
이와 같이 CRC엔코딩이 되어 디스크에 저장되어 있는 데이터를 재생시에 다시 생성 다항식(G(x))으로 나누어 주면, 에러가 없을 때는 나누어 떨어져서 나머지가 0으로 된다.In this way, if the data stored in the disk after CRC encoding is divided into the generated polynomial (G (x)) at the time of reproduction, the data is divided and the remainder becomes zero when there is no error.
제3도는 종래의 CRC디코더의 회로도로서, 32개의 플립플롭들(10-1,10-2,…,10-32), XOR게이트들(12-1,12-2, …, 12-7), OR게이트들(14-1,14-2, …, 14-8,16-1,16-2), 및 NOR게이트(18)로 구성되어 있다.3 is a circuit diagram of a conventional CRC decoder, and includes 32 flip-flops 10-1, 10-2, ..., 10-32, XOR gates 12-1, 12-2, ..., 12-7. , OR gates 14-1, 14-2,..., 14-8, 16-1, 16-2, and NOR gates 18.
플립플롭들(10-1,10-2,…,10-32)은 직렬로 연결되어 리셋신호(RE)에 응답하여 리셋되고 클럭신호(CK)에 응답하여 전단의 플립플롭의 출력신호를 입력하고 출력하게 된다. 즉, 입력되는 데이터(D)를 쉬프트하여 출력하게 된다. 그런데, 플립플롭들(10-1,10-2,10-4,10-5,10-16,10-17,10-31)은 플립플롭(10-32)의 출력신호와 이들 플립플롭들의 전단의 플립플롭들의 출력신호를 각각 입력하여 XOR게이트들(12-1,12-2, …, 12-7)에 의해서 배타논리합한 신호를 각각 입력신호로 입력한다. 즉, 플립플롭들(10-1,10-2,10-4,10-5,10-16,10-17,10-31)은 디스크에 저장되어 있는 데이터를 식(1)의 생성 다항식(G(x))으로 나눈 나머지, 즉, 플립플롭(10-32)의 출력신호와 전단의 플립플롭으로부터 쉬프트되는 신호를 배타논리합한 신호를 입력신호로 입력한다. OR게이트들(14-1,14-2, …, 14-8, 16-1,16-2)은 각 플립플롭들의 출력신호들을 논리합한다. NOR게이트(18)는 OR게이트들(16-1,16-2)의 출력신호들을 비논리합하여 신호(CRCOK)를 출력한다.The flip-flops 10-1, 10-2,..., 10-32 are connected in series to be reset in response to the reset signal RE and input the output signal of the flip-flop in the previous stage in response to the clock signal CK. And print. That is, the input data D is shifted and output. However, the flip-flops 10-1, 10-2, 10-4, 10-5, 10-16, 10-17, and 10-31 are output signals of the flip-flop 10-32 and the flip-flops. The output signals of the flip-flops of the previous stage are respectively input, and the signals exclusively combined by the XOR gates 12-1, 12-2, ..., 12-7 are input as input signals, respectively. That is, the flip-flops 10-1, 10-2, 10-4, 10-5, 10-16, 10-17, and 10-31 generate data stored in the disk by the polynomial (1) generated by the equation (1). The signal divided by G (x)), that is, the output signal of the flip-flop 10-32 and the signal shifted from the flip-flop at the front end is input as an input signal. The OR gates 14-1, 14-2, ..., 14-8, 16-1, 16-2 are ORs of the output signals of the respective flip-flops. The NOR gate 18 non-logically sums the output signals of the OR gates 16-1 and 16-2 and outputs a signal CRCOK.
이와 같이 구성된 종래의 CRC디코더는 비트단위의 실행이므로 제2도에 나타낸 모드1 포맷의 경우에 (2064바이트의 데이터+4바이트 패리티)×8개의 클럭신호가 필요하므로 디코딩 동작을 수행하는데 시간이 많이 걸린다는 단점이 있었다. 이러한 종래 기술의 문제점은 CRC디코더의 디코딩 동작이 비트단위로 직렬로 수행되기 때문이다.Since the conventional CRC decoder configured as described above is a bit-by-bit implementation, in the case of the mode 1 format shown in FIG. 2, (2064 bytes of data + 4 bytes of parity) x 8 clock signals are required. There was a downside. The problem with this prior art is that the decoding operation of the CRC decoder is performed serially in bit units.
본 발명의 목적은 CRC디코더의 디코딩 동작을 비트단위로 수행하되 병렬로 수행함으로써 동작속도를 개선할 수 있고, 디코딩을 위한 데이터를 저장하고 있는 니블 모드로 동작하는 동적 반도체 메모리 장치에 적합한 4비트 병렬 CRC디코더를 제공하는데 있다.An object of the present invention is to improve the operation speed by performing the decoding operation of the CRC decoder bit by bit in parallel, and 4-bit parallel suitable for a dynamic semiconductor memory device operating in nibble mode that stores data for decoding. To provide a CRC decoder.
이와 같은 목적을 달성하기 위한 본 발명의 4비트 병렬 CRC디코더는 인에이블 신호에 응답하여 인에이블되고, 클럭신호에 응답하여 4비트 입력 데이터(x0-x31) 각각에 x4을 곱하고 생성 다항식(G(x)=x32+x31+x16+x15+x4+x3+x+1)으로 나눈 나머지 신호들을 4개의 출력신호들로 각각 발생함에 의해서 제1부터 제32까지의 나머지 신호들을 발생하기 위한 제1,2,3,4,5,6,7 및 8의 4비트 병렬 레지스터들, 상기 4비트 입력 데이터의 각각의 비트 데이터와 상기 제29,30,31 및 32나머지 신호들, 제29 나머지 신호, 제30 나머지 신호, 제29, 30, 및 32 나머지 신호들을 각각 배타논리합한 신호들을 각각 상기 제1의 4비트 병렬 레지스터의 4개의 입력단자로 인가하기 위한 제1배타논리합 수단, 제1 4비트 병렬 레지스터의 출력단자들로부터 출력되는 제1,2,3, 및 4 나머지 신호들 각각과 상기 제29 및 제32 나머지 신호들, 상기 제30 나머지 신호, 상기 제31 나머지 신호, 상기 제32 나머지 신호를 각각 배타논리합한 신호들을 각각 상기 제2 4비트 병렬 레지스터의 4개의 입력단자로 인가하기 위한 제2배타논리합 수단, 상기 제3 4비트 병렬 레지스터의 출력단자들로부터 출력되는 제9, 10, 11 나머지 신호들, 및 상기 제3 4비트 병렬 레지스터로부터 출력되는 제12 나머지 신호와 상기 제29, 30, 31, 및 32 나머지 신호들을 배타논리합한 신호를 각각 상기 제4 4비트 병렬 레지스터의 4개의 입력단자로 인가하기 위한 제3배타논리합수단, 상기 제4 4비트 병렬 레지스터의 출력단자들로부터 출력되는 제13, 14, 15, 16 나머지 신호들 각각과 상기 제29, 30, 31, 32 나머지 신호들 각각을 배타논리합한 신호들을 각각 상기 제5 4비트 병렬 레지스터의 4개의 입력단자로 인가하기 위한 제4배타논리합수단, 상기 제7 4비트 병렬 레지스터의 출력 단자들로부터 출력되는 제25, 26, 27 나머지 신호들, 및 상기 제7 4비트 병렬 레지스터의 출력단자로부터 출력되는 제28 나머지 신호와 상기 제29, 30, 31, 및 32신호들을 배타논리합한 신호를 각각 상기 제8 4비트 병렬 레지스터의 4개의 입력단자로 인가하기 위한 제5배타논리합수단, 및 상기 제1,2,3,4,5,6,7, 및 8의 4비트 병렬 레지스터들의 출력단자들로부터 출력되는 제1부터 제32까지의 나머지 신호들을 논리합한 신호의 반전된 신호를 출력신호로 출력하기 위한 출력수단을 구비하고, 상기 제2 4비트 병렬 레지스터의 출력단자로부터 출력되는 제5,6,7,8 나머지 신호들을 상기 제3 4비트 병렬 레지스터의 4개의 입력단자로 각각 인가하고, 상기 제5 4비트 병렬 레지스터의 출력단자로부터 출력되는 제17, 18, 19, 20 나머지 신호들을 상기 제6 4비트 병렬 레지스터의 4개의 입력단자로 각각 인가하고, 제6 4비트 병렬 레지스터의 출력단자로부터 출력되는 제21, 22, 23, 24 나머지 신호들을 상기 제7 4비트 병렬 레지스터의 4개의 입력단자로 각각 인가하는 것을 특징으로 한다.In order to achieve the above object, the 4-bit parallel CRC decoder of the present invention is enabled in response to the enable signal, and multiplies each of the 4-bit input data (x 0- x 31 ) by x 4 in response to the clock signal to generate a polynomial. (G (x) = x 32 + x 31 + x 16 + x 15 + x 4 + x 3 + x + 1) by generating the remaining signals as four output signals, respectively, 1,2,3,4,5,6,7 and 8 4-bit parallel registers for generating the remaining signals, the respective bit data of the 4-bit input data and the rest of the 29, 30, 31 and 32 A first exclusive for applying the signals obtained by exclusively summating the signals, the twenty-ninth residual signal, the thirtieth residual signal, the twenty-ninth, thirty, and thirty-second residual signals to four input terminals of the first four-bit parallel register, respectively. OR, each of the first, second, third, and fourth remaining signals output from the output terminals of the first four bit parallel register. And applying signals of the 29th and 32nd remaining signals, the 30th remaining signal, the 31st remaining signal, and the 32nd remaining signal to the four input terminals of the second 4-bit parallel register, respectively. Second exclusive logic means for performing the first, second, and ninth remaining signals outputted from the output terminals of the third four-bit parallel register, and the twelfth remaining signals outputted from the third four-bit parallel register; Third exclusive logic means for applying the exclusive logic of the 29, 30, 31, and 32 remaining signals to the four input terminals of the fourth 4-bit parallel register, respectively, the output terminals of the fourth 4-bit parallel register. Four input terminals of the fifth 4-bit parallel register, respectively, for the 13th, 14th, 15th, and 16th remaining signals outputted from the signal, and the signals obtained by performing an exclusive logic on each of the 29th, 30th, 31th, 32nd signals. Fourth exclusive logic means for applying, the remaining signals output from the output terminals of the seventh 4-bit parallel register, the remaining signals output from the output terminal of the seventh 4-bit parallel register, Fifth exclusive logic means for applying a signal and an exclusive logic sum of the 29th, 30th, 31st and 32th signals to four input terminals of the eighth 4-bit parallel register, and the first, second, third Output means for outputting an inverted signal of a signal obtained by ORing the remaining first to the third signals output from the output terminals of the 4-bit parallel registers of 4, 5, 6, 7, and 8 as an output signal; And apply remaining fifth, six, seven, and eight signals from the output terminal of the second four bit parallel register to four input terminals of the third four bit parallel register, respectively, and the fifth four bit parallel register. From the output terminal of the register 17, 18, 19, and 20 outputted remaining signals are respectively applied to four input terminals of the sixth 4-bit parallel register, and outputted from the output terminals of the sixth 4-bit parallel register; The remaining signals are applied to four input terminals of the seventh 4-bit parallel register, respectively.
제1도는 종래의 CD-ROM 드라이브의 블록도이다.1 is a block diagram of a conventional CD-ROM drive.
제2도는 CD-ROM의 섹터 포맷을 나타내는 것으로 모드 1포맷을 나타내는 것이다.2 shows the sector format of the CD-ROM and shows the mode 1 format.
제3도는 종래의 CRC 디코더의 회로도이다.3 is a circuit diagram of a conventional CRC decoder.
제4도는 본 발명의 4비트 병렬 CRC 디코더의 회로도이다.4 is a circuit diagram of a 4-bit parallel CRC decoder of the present invention.
이하, 첨부한 도면을 참고로 하여 본 발명의 4비트 병렬 CRC디코더를 설명하면 다음과 같다.Hereinafter, a 4-bit parallel CRC decoder of the present invention will be described with reference to the accompanying drawings.
본 발명의 4비트 병렬 CRC디코더는 입력 데이터(x1)에 x4을 곱하여 생성 다항식(G(x))으로 나눈 나머지를 이용하여 회로를 구현한다.The 4-bit parallel CRC decoder of the present invention implements a circuit using the remainder divided by the generation polynomial G (x) by multiplying the input data x 1 by x 4 .
예를 들면, x28에 x4을 곱하여 식(1)의 생성 다항식(G(x))로 나누면, 나머지는 x31+x16+x15+x4+x3+1이 된다. 이 식 및 아래에 표현되는 식에서 +는 배타논리합을 의미한다.For example, multiplying x 28 by x 4 and dividing by the generation polynomial (G (x)) of equation (1) gives the remainder x 31 + x 16 + x 15 + x 4 + x 3 +1. In this formula and the expression below, + means exclusive logical sum.
입력 데이터(xi)가 x0-x31이고, 생성 다항식(G(x))의 차수가 x32이므로, xi·x4의 경우에 x28·xi부터 x31·xi에 x4을 곱했을 때, G(x)의 차수이상이 되므로 이때의 xi·x4을 G(x)로 나눈 나머지들을 궤환시키고, x0·xi부터 x27·xi를 곱해도 G(x)의 차수를 초과하지 못하므로 그냥 쉬프트시켜 주면 된다.And so on from the input data (x i) x 0 -x 31 , the order of the generator polynomial (G (x)) x 32 , in the case of x i · x 4 x 28 · x i x 31 · x i x when multiplied by four, because the higher order of G (x) feeds back the remainder obtained by dividing the case of x i · x 4 by G (x) and, x 0 · x i multiplied by the from x 27 · x i is also G ( Since you can't exceed the order of x), just shift it.
그러면, 입력 데이터(x28,x29,x30,x31)에 x4을 곱해서 생성 다항식(G(x))로 나누어 주었을 때 각각의 나머지(R28(x),R29(x),R30(x),R31(x))는 다음과 같다.Then, when the input data (x 28 , x 29 , x 30 , x 31 ) is multiplied by x 4 and divided by the generation polynomial (G (x)), each of the remainders (R 28 (x), R 29 (x), R 30 (x) and R 31 (x)) are as follows.
R28(x)=x31+x16+x15+x4+x3+x+1R 28 (x) = x 31 + x 16 + x 15 + x 4 + x 3 + x + 1
R29(x)=x31+x17+x15+x5+x3+x2+1R 29 (x) = x 31 + x 17 + x 15 + x 5 + x 3 + x 2 +1
R30(x)=x31+x18+x15+x6+1R 30 (x) = x 31 + x 18 + x 15 + x 6 +1
R31(x)=x31+x10+x15+x7+x4+x3+1R 31 (x) = x 31 + x 10 + x 15 + x 7 + x 4 + x 3 +1
상기와 같이 구해진 나머지들(R28(x),R29(x),R30(x),R31(x))이 입력 데이터(x0-x31)의 자리수의 궤환입력으로 사용되는데 각 자리수의 궤환입력은 다음과 같다.The remainders (R 28 (x), R 29 (x), R 30 (x), and R 31 (x)) obtained as described above are used as feedback inputs of the digits of the input data (x 0 -x 31 ). The feedback input of the digit is as follows.
x0자리수의 궤환입력; R28(x)+R29(x)+R30(x)+R31(x)feedback input of x 0 digits; R 28 (x) + R 29 (x) + R 30 (x) + R 31 (x)
x1자리수의 궤환입력; R28(x)x 1- digit feedback input; R 28 (x)
x2자리수의 궤환입력; R29(x)x 2 digit feedback input; R 29 (x)
x3자리수의 궤환입력; R28(x)+R29(x)+R31(x)x 3- digit feedback input; R 28 (x) + R 29 (x) + R 31 (x)
x4자리수의 궤환입력; R28(x)+R31(x)x 4- digit feedback input; R 28 (x) + R 31 (x)
x5자리수의 궤환입력; R29(x)x 5- digit feedback input; R 29 (x)
x6자리수의 궤환입력; R30(x)x 6- digit feedback input; R 30 (x)
x7자리수의 궤환입력; R31(x) 7- digit feedback input; R 31 (x)
x8-x14자리수의 궤환입력; 없음x 8- x 14- digit feedback input; none
x15자리수의 궤환입력; R28(x)+R29(x)+R30(x)+R31(x)x 15- digit feedback input; R 28 (x) + R 29 (x) + R 30 (x) + R 31 (x)
x16자리수의 궤환입력; R28(x)x 16- digit feedback input; R 28 (x)
x17자리수의 궤환입력; R29(x)x 17- digit feedback input; R 29 (x)
x18자리수의 궤환입력; R30(x)x 18- digit feedback input; R 30 (x)
x19자리수의 궤환입력; R31(x)x 19- digit feedback input; R 31 (x)
x20-x30자리수의 궤환입력; 없음x 20- x 30 digit feedback input; none
x31자리수의 궤환입력; R28(x)+R29(x)+R30(x)+R31(x)x 31 digit feedback input; R 28 (x) + R 29 (x) + R 30 (x) + R 31 (x)
위의 입력 데이터의 자리수(x0-x31)의 궤환입력을 4비트 병렬 쉬프트 레지스터의 각각의 입력신호와 배타논리합하여 구성하면 된다.The feedback input of the digits (x 0- x 31 ) of the above input data may be configured by exclusive logic combining with each input signal of the 4-bit parallel shift register.
제4도는 본 발명의 4비트 병렬 CRC디코더의 회로도로서, 8개의 4비트 병렬 레지스터들(30-1,30-2,…,30-8), XOR게이트들(32,34,36,…,66), OR게이트들(70-1,70-2,…,70-8,80-1,80-2), 및 NOR게이트들(90)로 구성되어 있다. 도면에서, 8개의 4비트 병렬 레지스터들의 각각의 4개의 출력신호들은 P1, P2,…,P30,P31로 나타내고, 이 신호들은 나머지 신호들을 각각 나타낸다. 즉, 상술한 설명에서 R로 표시한 것을 P로 나타낸 것이다. 그중에서 P28,P29,P30,P31은 각각 궤환되는 나머지들(R28(x),R29(x),R30(x),R31(x))을 나타낸 것이다. 그리고, 레지스터(30-8)의 나머지 신호들(P28,P29,P30,P31)의 궤환 신호들은 각각 FD28,FD29,FD30,FD31로 나타내었다. 즉, 나머지들(R28(x),R29(x),R30(x),R31(x))을 각각 FD28,FD29,FD30,FD31로 나타낸 것이다.4 is a circuit diagram of a 4-bit parallel CRC decoder of the present invention, which includes eight 4-bit parallel registers 30-1, 30-2, ..., 30-8, XOR gates 32, 34, 36, ..., 66, OR gates 70-1, 70-2,..., 70-8, 80-1, 80-2, and NOR gates 90. In the figure, the four output signals of each of the eight 4-bit parallel registers are P1, P2,... , P30, P31, and these signals represent the remaining signals, respectively. That is, what is represented by R in the above description is represented by P. Among them, P28, P29, P30, and P31 represent the remaining residues R 28 (x), R 29 (x), R 30 (x), and R 31 (x), respectively. The feedback signals of the remaining signals P28, P29, P30, and P31 of the register 30-8 are represented by FD28, FD29, FD30, and FD31, respectively. That is, the remainders R 28 (x), R 29 (x), R 30 (x), and R 31 (x) are shown as FD28, FD29, FD30, and FD31, respectively.
각각의 4비트 병렬 레지스터들(30-1,30-2,…,30-8)은 이미 구해진 각 자리수의 궤환입력과 전단의 4비트 병렬 레지스터로부터 쉬프트되어 출력신호는 신호를 배타논리합하여 입력하고, 궤환입력이 없는 경우에는 전단의 4비트 병렬 레지스터로부터 쉬프트되어 출력신호를 입력하게 된다. 또한, 4비트 병렬 레지스터들은 리셋신호(RE)에 응답하여 리셋되고, 세트신호(S)에 응답하여 레지스터들의 값을 미리 설정할 수 있고, 데이터 인에이블 신호(DEN)에 응답하여 인에이블되고, 클럭신호(CK)에 응답하여 데이터를 입력하고 출력하게 된다.Each of the 4-bit parallel registers 30-1, 30-2, ..., 30-8 is shifted from the feedback input of each digit already obtained and the 4-bit parallel register of the previous stage so that the output signal is exclusively inputted by the signal. If there is no feedback input, the output signal is shifted from the previous 4-bit parallel register. In addition, the 4-bit parallel registers are reset in response to the reset signal RE, preset values of the registers in response to the set signal S, are enabled in response to the data enable signal DEN, and clocked. Data is input and output in response to the signal CK.
XOR게이트(32)는 4비트 병렬 레지스터(30-8)의 출력신호인 P28 및 P29를 배타논리합한다. XOR게이트(34)는 4비트 병렬 레지스터(30-8)의 출력신호인 P30 및 P31를 배타논리합한다. XOR게이트(36)는 XOR게이트들(32,34)의 출력신호를 배타논리합한다. XOR게이트(38)는 XOR게이트(36)의 출력신호와 P30를 배타논리합한다. XOR게이트들(40,42,44,46)은 데이터의 입력이 4비트단위로 이루어지며 4비트의 데이터 입력신호(D)의 각 비트신호와 XOR게이트(36)의 출력신호, P28,P29, 및 XOR게이트(30)의 출력신호를 각각 배타논리합하여 4비트 병렬 레지스터(30-1)의 입력단자들(DI1,DI2,DI3,DI4)로 각각 입력한다. XOR게이트(48)는 P31 및 P28를 배타논리합한다. XOR게이트들(50,52,54,56)은 4비트 병렬 레지스터(30-1)의 출력신호들(DO1,DO2,DO3,DO4)의 각각과 XOR게이트(48)의 출력신호, P29,P30, 및 P31를 각각 배타논리합하여 4비트 병렬 레지스터(30-2)의 입력단자(DI1,DI2,DI3,DI4)로 각각 입력한다. 4비트 병렬 레지스터(30-2)의 출력신호들은 4비트 병렬 레지스터(30-3)의 입력단자들(DI1,DI2,DI3,DI4)로 각각 입력된다. 4비트 병렬 레지스터(30-3)의 출력단자(DO1,DO2,DO3)로부터의 출력신호들은 4비트 병렬 레지스터(30-4)의 입력단자들(DI1,DI2,DI3)로 각각 입력된다. XOR게이트(58)는 XOR게이트(36)의 출력신호와 4비트 병렬 레지스터(30-3)의 출력단자(DO4)로부터의 출력신호를 배타논리합한다. XOR게이트들(60,62,64,66)는 4비트 병렬 레지스터(30-4)의 출력신호들의 각각과 P28,P29,P30, 및 P31을 각각 배타논리합하여 4비트 병렬 레지스터(30-5)의 입력단자들(DI1,DI2,DI3,DI4)로 입력한다. 4비트 병렬 레지스터(30-5)의 출력신호들은 4비트 병렬 레지스터(30-6)의 입력단자들(DI1,DI2,DI3,DI4)로 각각 입력된다. 4비트 병렬 레지스터(30-6)의 출력신호들은 4비트 병렬 레지스터(30-7)의 입력단자들(DI1,DI2,DI3,DI4)로 각각 입력된다. 4비트 병렬 레지스터(30-7)의 출력단자들(DO1,DO2,DO3)로부터의 출력신호들은 4비트 병렬 레지스터(30-8)의 입력단자들(DI1,DI2,DI3)로 입력된다. XOR게이트(68)는 XOR게이트(36)의 출력신호와 4비트 병렬 레지스터(30-7)의 출력단자(DO4)로부터의 신호를 배타논리합하여 4비트 병렬 레지스터(30-8)의 입력단자(DI4)로 입력한다. OR게이트들(70-1,70-2.…,70-8,80-1,80-2)은 4비트 병렬 레지스터들(30-1,30-2,…,30-8)의 출력신호들을 논리합한다. NOR게이트(90)는 OR게이트들(80-1,80-2)의 출력신호들을 입력하여 비논리합하여 출력신호(CRCOK)를 출력한다. 출력신호(CRCOK)가 1이면 에러가 없음을 나타내고, 출력신호(CRCOK)가 0이면 에러가 있음을 나타낸다. 즉, 나머지 신호들(P0,P1,…,P31)이 모두 0이면 에러가 없게 된다.The XOR gate 32 exclusively sums P28 and P29 which are output signals of the 4-bit parallel register 30-8. The XOR gate 34 exclusively sums P30 and P31, which are output signals of the 4-bit parallel register 30-8. The XOR gate 36 exclusively logics the output signals of the XOR gates 32 and 34. The XOR gate 38 exclusively combines the output signal of the XOR gate 36 and P30. The XOR gates 40, 42, 44, 46 are inputted in units of 4 bits, and each bit signal of the 4-bit data input signal D and the output signal of the XOR gate 36, P28, P29, And the output signals of the XOR gate 30 are exclusively logically input to the input terminals DI1, DI2, DI3, and DI4 of the 4-bit parallel register 30-1, respectively. The XOR gate 48 exclusively combines P31 and P28. The XOR gates 50, 52, 54, 56 are each of the output signals DO1, DO2, DO3, DO4 of the 4-bit parallel register 30-1 and the output signals of the XOR gate 48, P29, P30. , And P31 are exclusively logically input to the input terminals DI1, DI2, DI3, and DI4 of the 4-bit parallel register 30-2, respectively. Output signals of the 4-bit parallel register 30-2 are input to the input terminals DI1, DI2, DI3, and DI4 of the 4-bit parallel register 30-3, respectively. Output signals from the output terminals DO1, DO2, DO3 of the 4-bit parallel register 30-3 are input to the input terminals DI1, DI2, DI3 of the 4-bit parallel register 30-4, respectively. The XOR gate 58 exclusively combines the output signal of the XOR gate 36 and the output signal from the output terminal DO4 of the 4-bit parallel register 30-3. The XOR gates 60, 62, 64, and 66 exclusively combine each of the output signals of the 4-bit parallel register 30-4 and P28, P29, P30, and P31, respectively, to the 4-bit parallel register 30-5. Input terminals to DI1, DI2, DI3, and DI4. The output signals of the 4-bit parallel register 30-5 are input to the input terminals DI1, DI2, DI3, DI4 of the 4-bit parallel register 30-6, respectively. The output signals of the 4-bit parallel registers 30-6 are input to the input terminals DI1, DI2, DI3, and DI4 of the 4-bit parallel registers 30-7, respectively. Output signals from the output terminals DO1, DO2, DO3 of the 4-bit parallel register 30-7 are input to the input terminals DI1, DI2, DI3 of the 4-bit parallel register 30-8. The XOR gate 68 exclusively combines the output signal of the XOR gate 36 and the signal from the output terminal DO4 of the 4-bit parallel register 30-7 to input the input terminal of the 4-bit parallel register 30-8 ( DI4). OR gates 70-1, 70-2 ...., 70-8, 80-1, 80-2 are output signals of 4-bit parallel registers 30-1, 30-2, ..., 30-8. Logical OR The NOR gate 90 inputs the output signals of the OR gates 80-1 and 80-2 to non-logically sum and outputs an output signal CRCOK. An output signal CRCOK of 1 indicates no error, and an output signal CRCOK of 0 indicates an error. That is, if the remaining signals P0, P1, ..., P31 are all 0, there is no error.
따라서, 본 발명의 4비트 병렬 CRC디코더는 종래의 CRC디코더에 비해서 연산시간을 1/4정도 단축할 수 있다.Therefore, the 4-bit parallel CRC decoder of the present invention can shorten the operation time by about 1/4 compared with the conventional CRC decoder.
또한, 일반적으로 외부 메모리로서 많이 사용하는 니블 모드로 동작하는 동적 메모리 장치에 적합한 회로이다. 즉, 니블 모드로 동작하는 동적 메모리 장치에 종래의 CRC디코더로 동작을 수행하게 되면, 4비트로 출력되는 데이터를 1비트의 데이터로 지연시켜 출력하여야 하나, 본 발명은 그러한 부가적인 동작이 불필요하게 된다.It is also a circuit suitable for a dynamic memory device operating in nibble mode which is generally used as an external memory. That is, when performing a conventional CRC decoder to a dynamic memory device operating in nibble mode, data output in 4 bits should be delayed and output as 1 bit data, but the present invention does not require such an additional operation. .
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950033745A KR0164509B1 (en) | 1995-10-02 | 1995-10-02 | 4-bit cyclic redundancy check decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019950033745A KR0164509B1 (en) | 1995-10-02 | 1995-10-02 | 4-bit cyclic redundancy check decoder |
Publications (2)
Publication Number | Publication Date |
---|---|
KR970022751A KR970022751A (en) | 1997-05-30 |
KR0164509B1 true KR0164509B1 (en) | 1999-01-15 |
Family
ID=19429090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019950033745A KR0164509B1 (en) | 1995-10-02 | 1995-10-02 | 4-bit cyclic redundancy check decoder |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0164509B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9300325B2 (en) | 2013-08-09 | 2016-03-29 | SK Hynix Inc. | Error detection circuit and data processing apparatus using the same |
-
1995
- 1995-10-02 KR KR1019950033745A patent/KR0164509B1/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9300325B2 (en) | 2013-08-09 | 2016-03-29 | SK Hynix Inc. | Error detection circuit and data processing apparatus using the same |
Also Published As
Publication number | Publication date |
---|---|
KR970022751A (en) | 1997-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6141786A (en) | Method and apparatus for performing arithmetic operations on Galois fields and their extensions | |
JPH05290527A (en) | Deinterleave circuit | |
US8171373B2 (en) | Coding circuit for recording data on DVD disk | |
KR900005435B1 (en) | Processing circuits for operating on elements of a gliois field | |
JP2713902B2 (en) | Address generation circuit | |
WO1985003371A1 (en) | Circuit for calculating finite fields | |
KR100539261B1 (en) | Digital Data Coding and Recording Device for DVD and Method thereof | |
KR0164509B1 (en) | 4-bit cyclic redundancy check decoder | |
JPH11328880A (en) | Error correcting device and optical disk reproducing device | |
US5671238A (en) | Method and circuitry for generating r-bit parallel CRC code for an l-bit data source | |
EP1388944A1 (en) | Cross interleave reed-solomon code correction | |
JP2008146828A (en) | Encode data coding circuit of optical disk device | |
KR100361947B1 (en) | Error detection circuit applied to disk reproducing apparatus | |
KR0140382B1 (en) | Address generation circuit for error correction of DAT | |
KR0164726B1 (en) | Parallel cycle redundancy check encoder | |
KR0169362B1 (en) | Parallel crc decoder | |
KR930001921B1 (en) | Cyclic redundancy code checking circuit | |
RU2115231C1 (en) | Data coding-decoding device | |
JP3295537B2 (en) | Multi-byte error detection and correction device | |
KR930005439B1 (en) | Reed solomon encoding circuit of optical recording and reproducing system | |
JP3339803B2 (en) | Error correction code generation circuit | |
US6581083B1 (en) | Syndrome generator and method for generating syndromes in a video/audio processing system | |
KR0155734B1 (en) | Digital signal management method and apparatus | |
KR930002796B1 (en) | Error correcting system | |
KR870001608B1 (en) | Decoder for digital audio equipments |
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: 20060830 Year of fee payment: 9 |
|
LAPS | Lapse due to unpaid annual fee |