KR0164509B1 - 4-bit cyclic redundancy check decoder - Google Patents

4-bit cyclic redundancy check decoder Download PDF

Info

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
Application number
KR1019950033745A
Other languages
Korean (ko)
Other versions
KR970022751A (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 KR1019950033745A priority Critical patent/KR0164509B1/en
Publication of KR970022751A publication Critical patent/KR970022751A/en
Application granted granted Critical
Publication of KR0164509B1 publication Critical patent/KR0164509B1/en

Links

Classifications

    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • 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
    • G06F11/1004Adding 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

4비트 병렬사이클릭 리던던시 체크디코더4-bit parallel cyclic redundancy check decoder

본 발명은 사이클릭 리던던시 체크(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)

인에이블 신호에 응답하여 인에이블되고, 클럭신호에 응답하여 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개의 입력단자로 각각 인가하는 것을 특징으로 하는 4비트 병렬 CRC디코더.Enabled in response to the enable signal, multiply each of the 4-bit input data (x 0 -x 31 ) by x 4 in response to the clock signal, and generate a polynomial (G (x) = x 32 + x 31 + x 16 + x 1, 2, 3 , 4, 5 for generating the first to 32 remaining signals by generating the remaining signals divided by 15 + x 4 + x 3 + x + 1) into four output signals, respectively. 4-bit parallel registers of, 6,7 and 8; A signal obtained by exclusively logically combining the respective bit data of the 4-bit input data and the 29th, 30th, 31th and 32nd residual signals, the 29th residual signal, the 30th residual signal, the 29th, 30th and 32nd residual signals, respectively. First exclusive logic means for applying them to the four input terminals of the first 4-bit parallel register, respectively; The first, second, third, and fourth remainder signals, the twenty-ninth and thirty-second remainder signals, the thirtieth remainder signal, the thirty-first remainder signal, respectively, output from the output terminals of the first 4-bit parallel register; Second exclusive logic means for applying each of the 32nd remaining signals to the four input terminals of the second 4-bit parallel register; Ninth, 10, 11 residual signals output from the output terminals of the third 4-bit parallel register, and twelfth residual signals output from the third 4-bit parallel register, and the 29th, 30, 31, and 32 signals. Third exclusive logic means for applying an exclusive logic sum of the remaining signals to four input terminals of the fourth 4-bit parallel register, respectively; The fifth signals each of the 13th, 14th, 15th, and 16th remaining signals outputted from the output terminals of the fourth 4-bit parallel register and the 29th, 30th, 31st, and 32nd remaining signals are exclusively summed. Fourth exclusive logic means for applying to four input terminals of a 4-bit parallel register; Twenty-second, twenty-seventh, and twenty-seventh signals output from the output terminals of the seventh 4-bit parallel register, and the twenty-eighth remaining signal output from the output terminals of the seventh 4-bit parallel register; Fifth exclusive logic means for applying an exclusive logic sum of 32 signals to four input terminals of the eighth 4-bit parallel register; And outputting an inverted signal of a signal obtained by ORing the first to 32 remaining signals outputted from the output terminals of the 4 bit parallel registers of the first, second, third, fourth, fifth, six, seven, and eight. An output means for outputting a signal, and applying remaining fifth, six, seven, and eight signals output from an output terminal of the second four bit parallel register to four input terminals of the third four bit parallel register, respectively. And apply the seventeenth, eighteenth, nineteenth, and twenty remaining signals outputted from the output terminal of the fifth four-bit parallel register to four input terminals of the sixth four-bit parallel register. And applying the remaining signals 21, 22, 23, and 24 outputted from the output terminals to the four input terminals of the seventh 4-bit parallel register, respectively.
KR1019950033745A 1995-10-02 1995-10-02 4-bit cyclic redundancy check decoder KR0164509B1 (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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