KR0182007B1 - 병렬 순회 용장 부호 검사 장치 - Google Patents

병렬 순회 용장 부호 검사 장치 Download PDF

Info

Publication number
KR0182007B1
KR0182007B1 KR1019950061317A KR19950061317A KR0182007B1 KR 0182007 B1 KR0182007 B1 KR 0182007B1 KR 1019950061317 A KR1019950061317 A KR 1019950061317A KR 19950061317 A KR19950061317 A KR 19950061317A KR 0182007 B1 KR0182007 B1 KR 0182007B1
Authority
KR
South Korea
Prior art keywords
bits
data
bit
register
exclusive
Prior art date
Application number
KR1019950061317A
Other languages
English (en)
Other versions
KR970049527A (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 KR1019950061317A priority Critical patent/KR0182007B1/ko
Publication of KR970049527A publication Critical patent/KR970049527A/ko
Application granted granted Critical
Publication of KR0182007B1 publication Critical patent/KR0182007B1/ko

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
    • H03M13/091Parallel or block-wise CRC computation
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 순회용장부호 검사장치를 공개한다. 그 장치는 N(N은 양의 정수)비트의 순회 용장 부호를 병렬로 처리하여 상기 순회용장 부호의 에러를 검사하기 위해 상기 순회 용장부호의 데이터 중 M(M은 N보다 작은 양의 정수)비트를 병렬로 출력하는 입력 레지스터; M비트의 어드레스에 해당하는 N비트의 데이터를 저장하는 저장수단; 상기 저장수단으로부터 상기 M비트의 어드레스에 대응하는 N비트 데이터를 입력받아 저장하는 제 1 레지스터; 저장된 N+N비트의 데이터를 M비트 왼쪽으로 쉬프팅하고, N비트의 검사 데이터를 상위 N비트로 입력받아 저장하는 제 2 레지스터; 상기 입력 레지스터에 저장된 상기 M비트의 순회용장 부호 데이터와 쉬프팅 동작 수행 후의 상기 제 2 레지스터의 상위 M비트를 배타적 논리합하여 상기 저장수단의 M비트 어드레스로서 출력하는 제 1 배타적 논리합 수단; 및 상기 제 2 레지스터의 상기 상위 M비트를 제외한 비트들로 이루어진 N비트 데이터와 상기 제 1 레지스터에 저장된 N비트 데이터를 배타적 논리합하여 상기 검사 데이터로서 출력하는 제 2 배타적 논리합수단을 구비하고, 상기 검사 데이터로부터 상기 순회 용장 부호의 에러를 검사하는 것을 특징으로 하며, 종래의 직렬 순회용장부호 검사장치보다 이론적으로 M배 만큼의 속도가 향상되는 효과가 있다.

Description

병렬 순회용장부호 검사장치
본 발명은 순회용장부호(CRC CODE : cyclic redundancy check code)에 관한 것으로서, 특히 병렬로 CRC 코드를 검사하기 위한 병렬 순회용장부호 검사장치에 관한 것이다.
CRC검사는 전송되는 비트 스트림의 엘를 검사하기 위해 사용되며, CRC검사는 하드웨어나 소프트웨어로 실현될 수 있다. 원래의 CRC검사는 비트 레벨 동작에 근거하고 있으며, 소프트웨어나 하드웨어적으로 수행될 때, 고 속의 동작이 요구된다.
많은 CRC계산 다항식들이 있으며, 예를 들어, 다음과 같은 32비트의 CRC계산 다항식이 있다.
이하, 종래의 직렬 순회 용장 부호 검사 장치의 구성 및 동작을 첨부한 도면을 참조하여 설명하면 다음과 같다.
종래의 순회용장부호 검사장치는 'Implementation of the HDLC CRC calculation'라는 제목의 미국 특허 번호 5,325,372에 설명되어 있다. 종래의 순회용장부호 검사장치의 이해를 돕기 위해 전송되는 비트 스트림에 포함된 CRC코드의 비트수는 32비트라고 가정한다.
제1도는 종래의 순환 용장 부호 검사장치의 블록도로서, 'Z'로 표기된 쉬프트(Shift) 레지스터들[Z(1), Z(2), …, Z(30), Z(31)](10, 14, 18, …, 40, 42)과 배타적 논리합 게이트들(4, 12, 16, 22, 26, …, 30)로 구성되어 있다.
상기한 바와 같은 구성의 순회용장부호 검사장치에 있어서, 입력되는 비트 스트림에 포함된 32비트의 CRC 데이터는 한 사이클에 한 비트씩 입력단자 IN을 통해 입력되고, 쉬프트 레지스터들[Z(1), Z(2), …, Z(30), Z(31)](10, 14, 18, …, 40, 42)과 배타적 논리합 게이트들(12, 16, 22, 26, …, 30)을 통해 한 비트씩 쉬프팅된다. 여기서, 쉬프트 레지스터[Z(1), Z(2), …, Z(30), Z(31)](10, 14, 18, …, 40, 42)은 용장 부호 검사를 시작하기 전에 초기값 '1'로 세팅된다.
다음으로, 쉬프트 레지스터들[Z(31)](42)를 통해 출력된 데이터는 배타적 논리합 게이트(4)에서 논리합 연산된 후 다시 쉬프트 레지스터[Z(0)](10)와 배타적 논리합 게이트(12, 16, 18, 20, 22, 26, …, 30)로 피드백된다.
상기 쉬프트 레지스터들[Z(1), Z(2), …, Z(30), Z(31)](10, 14, 18, …, 40, 42)은 입력단자 IN을 통해 순차적으로 입력된 CRC 데이터와 피드백된 데이터의 배타적 논리합 연산에 따른 데이터에 의해 자신의 상태값이 변화된다. 이는 각 쉬프트 레지스터의 다음 값은 수신되는 데이터에 의해서만 결정되는 것이 아니라 자신의 현재 상태값에도 의존한다는 것을 나타낸다.
상기한 바와 같은 순회용장부호 검사장치는 소정의 알고리즘에 따라 32비트를 순차적으로 쉬프트하며 CRC연산을 수행하며, CRC연산이 완료된 후 쉬프트 레지스터들의 상태를 체크하였을 때 모든 쉬프트 레지스터의 상태값이 0이면, 에러가 발생하지 않은 것으로 판단하고, 반면에 쉬프트 레지스터들의 상태값이 적어도 하나의 1을 포함하면 에러가 발생한 것으로 판단한다.
그러나, 전술한 종래의 순회용장부호 검사장치는 1비트씩 입력하여 쉬프트 동작을 수행하므로, 용장 부호 검사를 위해 처리되는 비트수 만큼의 많은 시간이 소요되는 문제점이 있다.
본 발명의 목적은 상기와 같은 종래의 문제점을 해결하기 위하여 순회 용장 부호를 고속으로 검사하기 위해 CRC 코드를 병렬로 처리하는 병렬 순회 용장 검사 장치를 제공하는 데 있다
상기와 같은 목적을 달성하기 위하여 N(N은 양의 정수)비트의 순회용장 부호를 병렬로 처리하여 상기 순회 용장 부호의 에러를 검사하는 본 발명에 의한 병렬 순회 용장 부호 검사 장치는, 상기 순회용장부호의 데이터 중 M(M은 N보다 작은 양의 정수)비트를 병렬로 출력하는 입력 레지스터; M비트의 어드레스에 해당하는 N비트의 데이터를 저장하는 저장수단; 상기 저장수단으로부터 상기 M비트의 어드레스에 대응하는 N비트 데이터를 입력받아 저장하는 제1레지스터; 저장된 N+N비트의 데이터를 M비트 왼쪽으로 쉬프팅하고, N비트의 검사 데이터를 상위 N비트로 입력받아 저장하는 제2레지스터; 상기 입력 레지스터에 저장된 상기 M비트의 순회용장 부호 데이터와 쉬프팅 동작 수행 후의 상기 제2레지스터의 상위 M비트를 배타적 논리합하여 상기 저장수단의 M비트 어드레스로서 출력하는 제1배타적 논리합 수단; 및 상기 제2레지스터의 상기 상위 M비트를 제외한 비트들로 이루어진 N비트 데이터와 상기 제1레지스터에 저장된 N비트 데이터를 배타적 논리합하여 상기 검사 데이터로서 출력하는 제2배타적 논리합수단을 구비하고, 상기 검사 데이터로부터 상기 순회 용장 부호의 에러를 검사하는 것을 특징으로 한다.
여기서, M은 N보다 작은 양의 정수이면서 비트합이 요구되지 않은 범위까지 가능하다. 예를 들면, 전술한 32비트 다항식에서는 X21부터 비트합이 요구되므로, X31부터 X21까지가 비트합이 되지 않으므로 M=5가 가능하나, 32비트 다항식이므로 4비트씩 8번 수행하여 결과를 구하기 위해 M=4로 지정하는 것이 바람직하다.
제1도는 종래의 순회부호 검사장치의 블럭도이다.
제2도는 본 발명에 의한 순회용장부호 검사장치의 블럭도이다.
* 도면의 주요부분에 대한 부호의 설명
60 : 입력 레지스터 61 : 제 1 배타적 논리합부
64 : 저장부 66 : 제 1 레지스터
68 : 제 2 레지스터 70 : 제 2 배타적 논리합부
이하, 본 발명에 따른 순회용장부호 검사장치를 첨부한 도면을 참조하여 설명하면 다음과 같다.
제2도는 본 발명에 의한 순회용장부호 검사장치의 블록도로서, 도면에 도시된 바와 같이, 순회용장부호의 데이터 중 M(M은 N보다 작은 양의 정수)비트를 병렬로 출력하는 입력 레지스터(60)와, M비트의 어드레스에 해당하는 N비트의 데이터를 저장하는 저장부(64)와, 상기 저장부(64)로부터 상기 M비트의 어드레스에 대응하는 N비트 데이터를 입력받아 저장하는 제 1 레지스터(66)와, 저장된 N+N비트의 데이터를 M비트 왼쪽으로 쉬프팅하고, N비트의 검사 데이터를 상위 N비트로 입력받아 저장하는 제 2 레지스터(68)와, 입력 레지스터(60)에 저장된 상기 M비트의 순회용장 부호 데이터와 쉬프팅 동작 수행 후의 제 2 레지스터(68)의 상위 M비트를 배타적 논리합하여 상기 저장수단의 M비트 어드레스로서 출력하는 제 1 배타적 논리합부(62)와, 제 2 레지스터(68)의 상기 상위 M비트를 제외한 비트들로 이루어진 N비트 데이터와 상기 제 1 레지스터(66)에 저장된 N비트 데이터를 배타적 논리합하여 상기 검사 데이터로서 출력하는 제2배타적 논리합부(70)로 구성되며, 상기 검사 데이터로부터 상기 순회 용장 부호의 에러를 검사한다.
제2도에 도시된, 상기 입력 레지스터(60)는 입력되는 M비트 순회용장부호(CRC) 데이터를 저장할 수 있는 버퍼 레지스터이고, 상기 저장부(64)는 24×N 크기의 롬(ROM : read only memory)으로 룩업 테이블을 구성하고, 상기 제 1 레지스터(66)는 N비트 길이로 구성된 쉬프트 레지스터이고, 상기 제 2 레지스터(66)는 입력 레지스터(60)의 비트 길이와 제 2 레지스터(66)의 비트 길이의 합인 M+N비트의 길이를 갖는 쉬프트 레지스터이다.
상기 저장부(64)에는 입력 CRC 데이터와 종래의 쉬프트 레지스터에서 피드백된 데이터와의 배타적 논리합에 따라 결정될 수 있는 쉬프트 레지스터들의 상태값이 룩업 테이블로 마련된다.
제2도에 도시된 병렬 순회용장부호 검사장치에서 수행되는 병렬 용장 부호 검사의 개념을 전술한 종래의 직렬 CRC코드 검사 장치를 참조하여 설명한다. 본 발명에 의한 검사 장치의 이해를 돕기 위해 전술한 바와 같은 동일한 가정을 전재하고, N=32, M=4라고 가정한다.
먼저, 입력 레지스터(60)는 입력단자 IN을 통해 비트 스트림에 포함된 32비트의 CRC 데렌를 한 사이클에 한 비트씩 순차적으로 받아들여 저장하고, 4사이클 동안에 4비트 CRC데이터를 저장한다.
이와 같이, 상기 입력 레지스터(60)에 데이터 입력이 진행되는 동안 36비트를 쉬프팅할 수 있는 제 2 레지스터(68)는 왼쪽으로 4비트를 쉬프팅하고, 오른쪽에 쉬프팅에 의해 비어지는 비트들을 '0'으로 채우는 동작을 수행한다. 여기서 제2레지스터(68)는 왼쪽이 상위 비트를 나타낸다.
다음, 4 사이클 후에 입력 레지스터(60)에 저장된 4비트의 데이터와 제 2 레지스터(68)의 상위 4비트 데이터는 각각이 제 1 배타적 논리합 게이트(XOR)(62)에 입력된다. 그러면 제 1 배타적 논리합 게이트(XOR)(62)는 입력되는 데이터를 비트 별로 배타적 논리합하여 4비트의 출력 데이터를 발생한다. 이렇게 제 1 배타적 논리합 게이트(XOR)(62)에서 배타적 논리합된 결과값은 24×32 롬(64)의 어드레스로서 출력된다. 이어서 룩업 테이블(look up table)로서 구현된 롬(64)은 제 1 배타적 논리합 게이트(62)에서 출력된 어드레스에 대응하는 32비트의 데이터를 제 1 레지스터(66)로 출력하고, 제 1 레지스터(66)는 이 32비트의 데이터를 저장하게 된다.
다음, 제 2 배타적 논리합 게이트(70)는 제 2 레지스터(68)에 저장된 32비트 데렌와 제 1 레지스터(66)에 저장된 하위 32비트의 데이터 즉, 제 1 배타적 논리합 게이트(61)에 제공한 상위 4비트를 제외한 나머지 비트의 데이터를 배타적 논리합하고, 그 결과하는 데이터를 검사 데이터로서 출력하고, 이 검사 데이터를 제 2 레지스터(68)의 상위 32비트 즉, 하위 4비트를 제외한 나머지 비트에 대응하여 채워 넣는다.
본 발명에 의한 순회용장부호 검사장치는 입력단자 IN을 통해 입력되는 32비트의 CRC 데이터를 4비트씩 CRC연산한다.
본 발명에 의한 병렬 순회용장부호 검사장치에서 입력된 32비트의 데이터가 모두 처리된 후, 제 2 레지스터(68)에 저장된 상위 32비트의 데이터는 출력단자 OUT를 통해 출력된다. 이 때, 제 2 레지스터(68)에서 출력된 출력 데이터의 상태값을 체크하였을 때, 출력된 32비트의 데이터가 모두 1인 경우 에러가 발생하지 않은 것으로 판단하며, 출력된 32비트의 데이터에 적어도 하나의 0이 포함된 경우 에러가 발생한 것으로 판단한다.
이상에서 살펴본 바와 같이, 본 발명에 의한 순회용장부호 검사장치는 종래의 직렬 순회용장부호 검사장치보다 이론적으로 M 만큼의 속도가 향상되는 효과가 있다.

Claims (1)

  1. N(N은 양의 정수)비트의 순회 용장 부호를 병렬로 처리하여 상기 순회용장 부호의 에러를 검사하는 본 발명에 의한 병렬 순회용장부호 검사장치에 있어서, 상기 순회 용장부호의 데이터 중 M(M은 N보다 작은 양의 정수)비트를 병렬로 출력하는 입력 레지스터; M비트의 어드레스에 해당하는 N비트의 데이터를 저장하는 저장수단; 상기 저장수단으로부터 상기 M비트의 어드레스에 대응하는 N비트 데이터를 입력받아 저장하는 제1레지스터; 저장된 M+N비트의 데이터를 M비트 왼쪽으로 쉬프팅하고, N비트의 검사 데이터를 상위 N비트로 입력받아 저장하는 제2레지스터; 상기 입력 레지스터에 저장된 상기 M비트의 순회용장 부호 데이터와 쉬프팅 동작 수행 후의 상기 제2레지스터의 상위 M비트를 배타적 논리합하여 상기 저장수단의 M비트 어드레스로서 출력하는 제1배타적 논리합 수단; 및 상기 제2레지스터의 상기 상위 M비트를 제외한 비트들로 이루어진 N비트 데이터와 상기 제1레지스터에 저장된 N비트 데이터를 배타적 논리합하여 상기 검사 데이터로서 출력하는 제2배타적 논리합수단을 구비하고, 상기 검사 데이터로부터 상기 순회 용장 부호의 에러를 검사하는 것을 특징으로 하는 병렬 순회용장부호 검사장치.
KR1019950061317A 1995-12-28 1995-12-28 병렬 순회 용장 부호 검사 장치 KR0182007B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950061317A KR0182007B1 (ko) 1995-12-28 1995-12-28 병렬 순회 용장 부호 검사 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950061317A KR0182007B1 (ko) 1995-12-28 1995-12-28 병렬 순회 용장 부호 검사 장치

Publications (2)

Publication Number Publication Date
KR970049527A KR970049527A (ko) 1997-07-29
KR0182007B1 true KR0182007B1 (ko) 1999-05-15

Family

ID=19445865

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950061317A KR0182007B1 (ko) 1995-12-28 1995-12-28 병렬 순회 용장 부호 검사 장치

Country Status (1)

Country Link
KR (1) KR0182007B1 (ko)

Also Published As

Publication number Publication date
KR970049527A (ko) 1997-07-29

Similar Documents

Publication Publication Date Title
EP1069503B1 (en) Semiconductor memory device with an ECC circuit and method of testing the memory
KR930001792B1 (ko) 메모리 테스트방법 및 장치
EP0032055A1 (en) Document processing system
JPH088758A (ja) ビットストリームの中の誤りを検出するための構造及び方法
JPS5958558A (ja) 並列周期的冗長チエツク回路
JPS61157959A (ja) メモリにおけるエラ−訂正方法
EP0092960A2 (en) Apparatus for checking and correcting digital data
JPH0728227B2 (ja) Bch符号の復号装置
US5390196A (en) Byte-wise determination of a checksum from a CRC-32 polynomial
US6442729B1 (en) Convolution code generator and digital signal processor which includes the same
EP0608848B1 (en) Cyclic coding and cyclic redundancy code check processor
KR0182007B1 (ko) 병렬 순회 용장 부호 검사 장치
KR100336234B1 (ko) 데이터 오류 정정 장치
US5671238A (en) Method and circuitry for generating r-bit parallel CRC code for an l-bit data source
JPS5840770B2 (ja) 誤り訂正装置に使用されるプログラム可能な多項式発生装置
KR100281946B1 (ko) 신드롬 계산 장치
EP0152974B1 (en) Arrangement for checking the parity bit-containing bit groups
EP0971362B1 (en) Data integrity checking apparatus
Prathyusha et al. Optimizing Parity Bits for Error Detection and Correction for Memories Using Matrix based Technique
KR0166251B1 (ko) 고속 crc 부호기
JP3595271B2 (ja) 誤り訂正復号方法および装置
JP3521558B2 (ja) 伝送装置
KR100202650B1 (ko) 마스크 롬 테스터
JPH0113249B2 (ko)
JP2662457B2 (ja) Bch符号復号回路

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

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee