KR950010771B1 - Crc apparatus of bound area of bite syncronized data - Google Patents

Crc apparatus of bound area of bite syncronized data Download PDF

Info

Publication number
KR950010771B1
KR950010771B1 KR1019930026894A KR930026894A KR950010771B1 KR 950010771 B1 KR950010771 B1 KR 950010771B1 KR 1019930026894 A KR1019930026894 A KR 1019930026894A KR 930026894 A KR930026894 A KR 930026894A KR 950010771 B1 KR950010771 B1 KR 950010771B1
Authority
KR
South Korea
Prior art keywords
byte
polynomial
bit
modulo
shift register
Prior art date
Application number
KR1019930026894A
Other languages
Korean (ko)
Other versions
KR950020104A (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 KR1019930026894A priority Critical patent/KR950010771B1/en
Publication of KR950020104A publication Critical patent/KR950020104A/en
Application granted granted Critical
Publication of KR950010771B1 publication Critical patent/KR950010771B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/048Speed or phase control by synchronisation signals using the properties of error detecting or error correcting codes, e.g. parity as synchronisation signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/08Speed or phase control by synchronisation signals the synchronisation signals recurring cyclically

Abstract

an N byte shift resistor for shifting byte columns to be decoded by N bytes; a compensation polynomial driver connected to the N byte shift resistor, fro driving a compensation polynomial, if a bit of the byte outputted from the N byte shift resistor is Bsxs; a compensation polynomial modulor 2 subtracter for modulor 2 subtracting data inputted in byte unit from an output terminal of the N byte shift resistor to output the result to a generator polynomial; and a compensation polynomial modulor 2 demultiplier for modulor 2 demultiplying data inputted in byte unit connected to an input terminal of the N byte shift resistor and the compensation polynomial modulor 2 subtracter to output the result to the compensation polynomial modulor 2 subtracter.

Description

바이트 동기된 데이터에서 블럭 경계를 구분할 수 있는 CRC(순환여유검사)장치CRC (Circulation Free Inspection) device that can distinguish block boundary from byte synchronized data

제 1 도는 종래의 블럭 경계를 구분할 수 있는 CRC(순환여유검사)장치의 구성도.1 is a block diagram of a CRC (Circulation Free Inspection) apparatus that can distinguish a conventional block boundary.

제 2 도는 본 발명에 의한 블럭 경계를 구분할 수 있는 CRC(순환여유검사)장치.2 is a CRC (Circulation Free Inspection) apparatus capable of distinguishing block boundaries according to the present invention.

제 3 도는 본 발명에 의한 블럭 경계를 구분할 수 있는 CRC(순환여유검사)장치의 세부구성도.3 is a detailed configuration diagram of a CRC (circulation free space inspection) apparatus capable of classifying block boundaries according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

11 : CRC 연산기 12 : 지연수단11: CRC calculator 12: delay means

13 : CRC 연산 도출 수단 14 : 일치 검출 수단13 CRC calculation derivation means 14 coincidence detection means

21 : N바이트 쉬프트 레지스터 22 : 보상 다항식 구동기21: N byte shift register 22: Compensated polynomial driver

23 : 보상 다항식 모듈로2 빼기 24 : 생성 다항식 모듈로2 나누기23: Compensation polynomial modulo 2 subtraction 24: Generation polynomial modulo 2 division

300 : 5바이트 쉬프트 레지스터 310 : 보상 다항식 구동기300: 5-byte shift register 310: compensated polynomial driver

311-318 : D 플립플롭311-318: D flip-flop

321-348 : 보상 다항식 모듈로2 나누기용 배타적 OR 게이트321-348: Exclusive OR Gate for Divide Compensation Polynomial Modulo 2

390 : 8입력 OR 게이트390: 8-input OR gate

본 발명은 순환 부호(Cyclic Code)를 사용하는 착오 검출 정정 방식의 하나인 순환여유검사(Cyclie Redundancy Check : CRC)에서 입력되는 데이터가 바이트 동기는 되어 있으나 순환 부호의 블럭 경계를 알 수 없을 때에 순환 부호가 내포된 바이트열을 한 바이트마다(byte by byte) 연속적으로 연산을 하여 블럭의 경계를 출력하는 CRC 장치에 관한 것이다.According to the present invention, when data inputted in Cyclie Redundancy Check (CRC), which is one of error detection and correction methods using a cyclic code, is byte-synchronized but the block boundary of the cyclic code is unknown The present invention relates to a CRC device that outputs the boundary of a block by continuously performing a byte-by-byte byte sequence.

종래의 CRC 장치는 경계가 주어진 상태에서 연산을 하게 구성되어 있어 블럭 경계를 알기 위해서는 블럭을 구성하는 바이트 열이 순차적으로 달라질 때마다, 다시 말하면 블럭을 구성하는 부호단어(code word)를 최상위 바이트 방향으로 한 바이트씩 이동하고 새로운 최하위 바이트로 블럭을 구성할 때마다, 블럭을 구성하는 바이트수 만큼의 연산을 다시 반복해서 해야하는 단점이 있었다. (Tong-Bi Pei,"High-Speed Parallel CRC Circuits in VLSI", IEEE Transactions on Comm, Vol , 40, No. 4, April 1992).Conventional CRC devices are configured to operate in a given state, so that in order to know a block boundary, whenever a byte sequence constituting a block is sequentially changed, that is, a code word constituting the block is directed to the most significant byte direction. Whenever a block is moved by one byte and the new least significant byte is formed, the operation of repeating the operation of the number of bytes constituting the block has to be repeated. (Tong-Bi Pei, "High-Speed Parallel CRC Circuits in VLSI", IEEE Transactions on Comm, Vol, 40, No. 4, April 1992).

또한, 제 1 도에 도시된 장치는 종래의 일본 특개평 4-284753에 따른 "CRC 연산 방법 및 ATM 교환 방식에 있어서의 HEC 동기장치"로서, 도면에서와 같이 CRC 연산기(11), 지연기(12), CRC 연산도출기(13), 일치 검출기(14)로 구성되어 있다.The apparatus shown in FIG. 1 is a "HEC synchronizer in the CRC calculation method and the ATM switching method" according to the conventional Japanese Patent Laid-Open No. 4-284753, as shown in the drawing. 12), the CRC arithmetic derivative 13 and the coincidence detector 14.

제 1 도에 도시된 종래의 블럭 경계를 구분할 수 있는 CRC(순환여유검사)장치는 상기한 문제점인 반복 계산을 피할 수 있게 하여 종래보다는 하드웨어의 양을 줄일 수는 있으나 이러한 장치는 CRC 연산 결과를 지연시킨 후에 새로운 블럭 경계에 대한 CRC 연산 결과와 비교하기 때문에 연산된 결과를 비교하는 회로가 부가적으로 삽입될 뿐만 아니라 연산될 결과가 블럭의 최하위 바이트가 출력된 이후에야 알 수 있다는 단점이 있다.The conventional CRC (circular free space inspection) device that can distinguish the block boundary shown in FIG. 1 can avoid the repetitive calculation, which is the above problem, but can reduce the amount of hardware compared to the conventional one. Since the delay is compared with the result of the CRC operation on the new block boundary, the circuit comparing the calculated result is additionally inserted and the result to be calculated is not known until after the least significant byte of the block is output.

따라서, 본 발명은 상기에 언급한 종래의 문제점을 근본적으로 해결하기 위한 것으로 블럭을 구성하는 바이트열이 순차적으로 달라지더라도 블럭을 구성하는 바이트 수만름 연산을 하지 않고 단지 새로이 추가된 바이트 수 또는 블럭에서 제외되는 바이트 수만큼의 연산을 하여 블럭의 경계를 구별해내고 연산 결과를 블럭의 시작 시점전에 출력하는 CRC 장치를 제공하는데 그 목적이 있다.Accordingly, the present invention is to fundamentally solve the above-mentioned problems, and even if the byte strings constituting the block are sequentially changed, only the newly added byte number or block is performed without the operation of the number of bytes constituting the block. It is an object of the present invention to provide a CRC device that distinguishes a block boundary by performing an operation for the number of bytes excluded from and outputs an operation result before the start of the block.

상기 목적을 달성하기 위해 본 발명은, r(r은 자연수)비트의 확인 비트와 m(m와 r보다 큰 8배수 자연수)비트의 메시지 비트로 구성된 n(n은 r+m인 8배수 자연수)비트인 N(N=n/8)바이트의 블럭 부호로 생성 다항식(Generator polynominal)은 G(x)=xr+ ‥+1를 사용하는 CRC 장치에 있어서, 초기에는 논리레벨 '0'로 N바이트가 모두 초기화되어 있고, 복호되어질 바이트 열을 N바이트 쉬프트시켜 출력하는 N바이트 쉬프트 레지스터 수단, 상기 N바이트 쉬프트 레지스터 수단에 연결되어, 상기 N바이트 쉬프트 레지스터 수단에서 출력되는 바이트의 비트가 Bsxs(S는 0에서 7까지의 정수로 BS는 0 또는 1을 갖는 계수이며 B7은 최상위 비트의 계수로 0 또는 1이고 B0최하위 비트 계수로 0 또는 1)이면 각 바이트(Bsxs)를 구성하는 각 비트에 대해 보상 다항식을 구성하여 병렬 바이트 단위로 보상 다항식을 구동시키는 보상(compensation) 다항식 구동 수단, 복호되어질 데이타를 바이트로 입력하여 바이트 단위로 상기 보상 다항식 구동 수단에서 구동된 다항식으로 모듈로2 빼기를 수행하는 보상 다항식 모듈로2 빼기 수단, 상기 보상 다항식 모듈로2 빼기 수단에 연결되어 생성 단항식 G(X)로 모듈로2 나누기를 수행한 후 나머지를 보상 다항식 모듈로2 빼기 수단으로 출력하여 주는 생성 다항식 모듈로2 나누기 수단을 구비한다.In order to achieve the above object, the present invention provides a bit of n (n is an 8-fold natural number of r + m) consisting of a confirmation bit of r (r is a natural number) bit and a message bit of m (8-fold natural number greater than m and r) bits. A generator polynominal with a block code of N (N = n / 8) bytes is a CRC device using G (x) = x r + ... +1. Initially, the logical level '0' is N bytes. Is initialized and connected to the N-byte shift register means for outputting the byte string to be decoded by N-byte shift, the N-byte shift register means, and the bit of the byte output from the N-byte shift register means is B s x s (S is an integer from 0 to 7, B S is a coefficient with 0 or 1, B 7 is 0 or 1 as the coefficient of the most significant bit, and 0 or 1 as the B 0 least significant bit coefficient, and each byte (B s x s Parallel by configuring the compensation polynomial for each bit Compensation polynomial driving means for driving the compensation polynomial in units, Compensation polynomial Modulo 2 subtraction means for inputting data to be decoded in bytes and performing modulo 2 subtraction with the polynomial driven by the compensation polynomial driving means in bytes. And a generating polynomial modulo 2 dividing means connected to the compensating polynomial modulo 2 subtracting means for performing modulo 2 dividing with the generated mononomial G (X) and outputting the remainder to the compensating polynomial modulo 2 subtracting means. .

이하, 수학적 해석으로 된 발명의 동작 원리를 알기 쉽게 설명하기 위해서 비트 단위 동작으로 상세히 설명하면 다음과 같다.Hereinafter, in order to explain the operation principle of the invention by a mathematical interpretation in detail as a bit unit operation as follows.

블럭의 크기는 n비트이고, G(x)의 생성 다항식으로 전송되며 블럭 경계를 모르는 임의의 순간 k에 n비트 블럭을 Tk(x)로 하고, CRC 장치로 입력되는 비트 열중에 k순간에 입력되는 비트가 ak이고, 비트 열중에 k+1 순간에 입력되는 비트가 ak+1일때, k+1인 순간에 n비트 블럭을 Tk+1(x)로 하면 k순간의 n비트 블럭은The size of the block is n bits, transmitted as the G (x) -generated polynomial, and the n-bit block is T k (x) at any moment k that does not know the block boundary. When the input bit is a k and the bit input at k + 1 moment in the bit string is a k + 1 , if the n-bit block is T k + 1 (x) at the moment k + 1, the n bits at the moment k Block is

Tk(x) =ak-n-1xn-1+Bk(x)+ak T k (x) = a kn-1 x n-1 + B k (x) + a k

로 되며 여기서 ak-n-1xn-1는 k순간에 n비트 블럭의 최상위 비트이고 ak-n-1은 k-n-1인 순간에 입력된 비트(k순간에 대해서 n-1번 전에 비트)를 의미하며, ak는 k순간에 n비트 블럭의 최하위 비트이고 k순간에 입력된 비트를 의미하고, Bk(x)는 k순간에 n비트 블럭에서 최상위 비트와 최상위 비트를 제외한 나머지 비트이다. 또한, k+1 순간의 n비트 블럭은Where a kn-1 x n-1 is the most significant bit of the n-bit block at the moment k and a kn-1 is the bit entered (n-1 times before k for the moment). A k is the least significant bit of the n-bit block at the moment k , and means the bit input at the moment k , and B k (x) is the remaining bits except the most significant bit and the most significant bit in the n bit block at the moment k. Also, the n-bit block at k + 1 moments

Tk+1(x) =ak-nxn-1+Bk+1(x)+ak+1 T k + 1 (x) = a kn x n-1 + B k + 1 (x) + a k + 1

로 되며 여기서 ak-nxn-1는 k+1 순간에 n비트 블럭의 최상위 비트이고 ak-n은 k-n인 순간에 입력된 비트를 의미하며, ak+1은 k+1 순간에 n비트 블럭의 최하위 비트이고 k+1 순간에 입력된 비트를 의미하고, Bk+1(x)는 k+1 순간에 n비트 블럭에서 최상위 비트와 최하위 비트를 제외한 나머지 비트이다. 임의의 k순간에 n비트 블럭을 생성 다항식 G(x)로 모듈로2 나누기를 한 결과는 {ak-n-1xn-l+Bk(x)+ak}/G(x)이고 {ak-n-1xn-1+Bk(x)+ak/G(x)의 나머지를Rr(x)로 하고 ak-n-xn-l/G(x)의 나머지를 Ck(x)로 하면 {Bk(x)+ak)/G(x)의 나머지는 Rk(x)-Ck(x)이다. 그런데, k+1인 순간의 n비트 블럭은 Tk+1(x)=(Bk(x)+ak)x+ak+1이므로 k+1 순간에 n비트 블럭을 생성 다항식 G(x)로 모듈로2 나누기를 한 결과는[{Bk(x)+ak}x]/G(x)+ak+1/G(x)이고 [{Bk(x)+ak}]/G(x)의 나머지는 {Rk(x)-Ck(x)}x이기 때문에 Tk+1/G(x)의 나머지는 {Rk(x)-Ck(x)}x+ak+1/G(x)의 나머지와 같다.Where a kn x n-1 is the most significant bit of the n-bit block at the moment k + 1 and a kn is the bit entered at the moment kn, and a k + 1 is the bit of the n-bit block at the moment k + 1. It is the least significant bit and means the bit input at the k + 1 moment, and B k + 1 (x) is the remaining bits except the most significant bit and the least significant bit in the n-bit block at the k + 1 moment. Generating n-bit blocks at any k moments and modulating 2 by the polynomial G (x) yields {a kn-1 x nl + B k (x) + a k } / G (x) and {a kn -1 x n-1 + B k (x) + a k / G (x) is set to Rr (x) and a kn -x nl / G (x) is set to C k (x) { The remainder of B k (x) + a k ) / G (x) is R k (x) -C k (x). However, since the n-bit block at the moment k + 1 is T k + 1 (x) = (B k (x) + a k ) x + a k + 1 , the n-bit block is generated at the k + 1 instant. The result of modulo 2 division by x) is [{B k (x) + a k } x] / G (x) + a k + 1 / G (x) and [{B k (x) + a k }] Since the remainder of G (x) is {R k (x) -C k (x)} x, the remainder of T k + 1 / G (x) is {R k (x) -C k (x) } The same as the remainder of x + a k + 1 / G (x).

이제 첨부된 제 2 도 이하를 참조하여 본 발명의 일실시예를 상세히 설명한다Reference will now be made in detail to one embodiment of the present invention with reference to the accompanying drawings.

제 2 도는 본 발명의 개략적인 블럭도 구성도로서, 도면에서 21은 N바이트 쉬프트 레지스터, 22는 보상 다항식 구동기, 23은 보상 다항식 모듈로2 빼기부, 24는 생성 다항식 모듈로2 나누기부를 각각 나타낸다.2 is a schematic block diagram of the present invention, in which 21 represents an N-byte shift register, 22 represents a compensated polynomial driver, 23 represents a compensated polynomial modulo 2 subtractor, and 24 represents a generated polynomial modulo 2 divider, respectively. .

본 발명에 의한 바이트 동기된 데이터에서 블럭 경계를 구분할 수 있는 CRC 장치는 제 2 도에 도시한 바와 같이 N바이트 쉬프트 레지스터(21), 보상 다항식 구동기(22), 보상 다항식 모듈로2 빼기(23) 및 생성 다항식 모듈로2 나누기(24)를 구비한다.As shown in FIG. 2, the CRC apparatus capable of classifying block boundaries in byte-synchronized data according to the present invention includes an N-byte shift register 21, a compensation polynomial driver 22, and a compensation polynomial modulo 2 subtraction 23. And a generation polynomial modulo 2 divide (24).

상기 5바이트 쉬프트 레지스터(21)는 초기에는 논리레벨 '0'로 5바이트가 모두 초기화되어 있고, 복호되어질 바이트를 한 바이트씩 순차적으로 쉬프트시켜 바이트 열을 5바이트 저장하고, 시간 k+5인 순간에 k순간에 입력되었던 바이트를 출력한다.The 5-byte shift register 21 is initially initialized with a logic level of '0', and all 5 bytes are initialized. The bytes to be decoded are sequentially shifted one byte at a time, storing 5 bytes of byte strings, and at the time k + 5. Prints the bytes that were entered at the moment in k.

상기 보상 다항식 구동기(22)는 상기 5바이트 쉬프트 레지스터(21)에 연결되어, 상기 5바이트 쉬프트 레지스터(21)에서 출력되는 바이트의 비트가 Bsxs(s는 0에서 7까지의 정수로 Bs,는 0 또는 1을 갖는 계수이며 B7은 최상위 비트의 계수로 0 또는 1이고 B0는 최하위 비트 계수로 0 또는 1)이다. 바이트를 구성하는 각 비트(Bsxs)에 대해 5바이트의 블럭 코드의 헤더부에 대해 CRC 연산을 실행할 경우에 그 연산에서 한 바이트 즉, 8비트의 데이타중 어떤것 한 비트만이 1일 때의 연산 결과는 아래의 <표 1>과 같다.The compensated polynomial driver 22 is connected to the 5-byte shift register 21 so that the bits of the byte output from the 5-byte shift register 21 are B s x s (s is an integer from 0 to 7 as B). s , is a coefficient having 0 or 1, B 7 is 0 or 1 as the coefficient of the most significant bit, and B 0 is 0 or 1) as the least significant bit coefficient. When CRC operation is performed on the header part of the 5-byte block code for each bit (B s x s ) constituting the byte, when only one byte of the 8-bit data is 1 in the operation, The operation result of <is shown in <Table 1>.

[표 1]TABLE 1

상기 보상 다항식 모듈로(modulo)2 빼기부(23)는 상기 보상 다항식 구동기(22)에 연결되어 바이트 간격마다 복호되어질 바이트 열에 대해서, 상기 보상 다항식 구동기(22)에서 바이트 단위로 구동된 테이타를 바이트 단위로 모듈로2 빼기를 한 후 입력된 바이트와 생성 다항식 모듈로2 연산을 위해 생성 다항식으로 모듈로2 연산 회로로 전달한다.The compensated polynomial modulo 2 subtractor 23 is connected to the compensated polynomial driver 22 to byte data driven in bytes by the compensated polynomial driver 22 for the byte string to be decoded at each byte interval. After modulo 2 subtraction, the input byte and the generated polynomial are transferred to the modulo 2 operation circuit as the generated polynomial for modulo 2 operation.

제 3 도는 제 2 도의 사이트 동기된 데이터에서 블럭 경계를 구분할 수 있는 CRC 장치에 대한 세부구성도로서, CCITT에서 권고한 ATM(Asynchronous Transfer Mode) 방식의 UNI(User Network Interface)에서 사용하는 ATM 셀에 대한 순환 부호는 53 옥텟(octet)서 순환 부호 블럭은 5바이트(40비트)이며, 확인 비트수는 1바이트(8비트)이고, 생성 다항식은 G(x)=x8+x2+x+1이며 2진수로 표시하면 100000111인 소수(prime number)이다. 따라서, 보상 다항식(C(x, Bs)x)은 x39를 x8+x2+x+1로 모듈로2 나눈 나머지인 x5+x4+1를 상위비트 방향으로 s+1 비트 쉬프트시킨 Bsxs{x5+x4+1)이고 2진수로 표시하면 Bsxs(1100010)이다. 즉, 보상 다항식(C(x, 1)x)은 x39를 x8+x2+x+l로 모듈로2 나눈 나머지인 x5+x4+1를 상위비트 방향으로 한 비트 쉬프트시킨{x5+x4+1}x이고 2진수로 표시하면 1100010이다. 이를 바이트 단위의 보상 다항식으로 나타내면 상기 표 1과 같게 된다.FIG. 3 is a detailed configuration diagram of a CRC device capable of classifying block boundaries in the site-synchronized data of FIG. 2. FIG. 3 shows an ATM cell used in a user network interface (UN) of an ATM (Asynchronous Transfer Mode) method recommended by CCITT. The cyclic code is 53 octets. The cyclic code block is 5 bytes (40 bits), the number of confirmation bits is 1 byte (8 bits), and the generated polynomial is G (x) = x 8 + x 2 + x + It is 1 and expressed in binary, it is prime number which is 100000111. Thus, the compensated polynomial (C (x, B s ) x) is the s + 1 bit in the higher bit direction of x 5 + x 4 +1, the remainder of dividing x 39 by x 8 + x 2 + x + 1 modulo 2 a shift in which B s x s {x 5 + x 4 +1) and if indicated by a binary number B s x s (1100010). That is, the compensated polynomial (C (x, 1) x) shifts x 5 + x 4 +1 by one bit into the upper bit direction, the remainder of dividing x 39 by x 8 + x 2 + x + l. x 5 + x 4 +1} x and 1100010 when represented in binary. If this is expressed as a compensation polynomial in bytes, it is as shown in Table 1 above.

제 3 도에서 300은 5바이트 쉬프트 레지스터, 311 내지 318은 D플립플롭, 321 내지 348는 보상 다항식 모듈로2 빼기용 배타적 OR 게이트, 351 내지 374는 생성 다항식 모듈로2 나누기용 배타적 OR 게이트, 310은 보상 다항식 구동회로, 390은 8입력 OR 게이트이다.In FIG. 3, 300 is a 5-byte shift register, 311 to 318 are D flip-flops, 321 to 348 are exclusive OR gates for subtracting the compensated polynomial modulo 2, and 351 to 374 are exclusive OR gates for division to the generated polynomial modulo 2, 310 Is a compensated polynomial driving circuit, and 390 is an eight input OR gate.

제 3 도에서 보상 다항식 구동회로(310)는 미리 계산된 결과로부터 단지 5바이트 쉬프트 레지스터(300)의 출력을 이용하여 간단하게 구동되고, 보상 다항식 구동회로와 생성 다항식 구동회로와 보상 다항식 모듈로2 빼기 및 생성 다항식 모듈로2 나누기 회로에서 '0'항은 의미가 없으므로 생략되었다.In FIG. 3, the compensation polynomial driving circuit 310 is simply driven using the output of the 5-byte shift register 300 from the precomputed result, and the compensation polynomial driving circuit, the generated polynomial driving circuit and the compensation polynomial modulo 2 Subtraction and Generation In the polynomial modulo 2 division circuit, the term '0' is omitted because it is meaningless.

제 3 도의 도면을 사용하여 동작 원리를 상세히 설명하다.The principle of operation will be described in detail using the drawings of FIG.

데이터 바이트 열은 5바이트 쉬프트 레지스터(300)의 데이터 입력단자와 생성 다항식 모듈로2 나누기 회로의 입력단자로 각각 입력된다. 5바이트 쉬프트 레지스터는 초기에 논리레벨 '0'로 초기화되어 있기 때문에 5바이트 단위간격 동안 '0'을 출력하게 된다. 따라서, 초기에 5바이트 단위 간격동안은 보상 다항식 구동회로(310)에 의해서 보상 다항식 모듈로2 빼기(321∼348) 및 생성 다항식 모듈로2 나누기 회로(351∼374)는 영향을 받지 않는다.The data byte string is input to the data input terminal of the 5-byte shift register 300 and the input terminal of the generation polynomial modulo dividing circuit, respectively. Since the 5-byte shift register is initially initialized to logic level '0', it outputs '0' during the 5-byte interval. Therefore, during the 5-byte unit interval, the compensated polynomial modulo 2 subtractions 321 to 348 and the generated polynomial modulo 2 divide circuits 351 to 374 are not affected by the compensated polynomial driving circuit 310.

k순간에 보상 다항식 모듈로2 빼기(321∼348) 및 생성 다항식 모듈로2 나누기 회로(351∼374)는, 초기에 5바이트 단위 간격이 지난 후, k-5 순간에 입력된 바이트를 블럭의 최상위 바이트로 하고 k-1 순간에 입력된 바이트(8비트)를 최하위 바이트로 하는 블럭을 생성 다항식인 소수 10000011로 모듈로2 나눈 나머지를 k순간에 입력된 바이트와 보상 다항식 도듈로2 빼기 및 생성 다항식 모듈로2 나누기를 다시하려고 한다. 이때에 k-5 순간에 입력된 바이트를 구성하는 각 비트가 논리레벨 '0'이면 보상 다항식 모듈로2 빼기(321∼348) 및 생성 다항식 도듈로2 나누기 회로(351∼374)의 연산될 데이터를 바이트 단위로 생성 다항식인 소수 100000111로 모듈로2 나누기를 수행한다. 그리고나서, k-5 순간에 입력된 바이트의 최상위 다음 비트가 논리레벨 '0'이면 상기 연산이 수행된 결과에 대한 나머지를 상위 비트로 하고 입력된 바이트 데이타의 다음 비트를 최하위 비트로 하는 다항식에 대해 생성 다항식인 소수 100000111로 모듈로2 나누기를 수행하고 반면에 k-5 순간에 입력된 바이트의 최상위 다음 비트가 논리레벨 '1'이면 상기 다항식(상기 연산이 수행된 결과에 대한 나머지와 입력된 바이트 데이터를 모듈로2 연산한 다항식)에 대해 상기 보상 다항식 생성 회로에서 구동된 보상 다항식으로 모듈로2 빼기를 실행한 후에 생성 다항식인 소수 100000111로 모듈로2 나누기들 수행하는 과정을 k-5 순간에 입력된 바이트에 대해 병렬(바이트 단위)로 수행한다.The k-compensated polynomial modulo 2 subtraction (321 to 348) and the generated polynomial modulo 2 divide circuit (351 to 374) at the instant of the k are first divided into bytes of the block at the time of k-5 after a 5-byte interval. Create a block with the most significant byte and the least significant byte of the input byte (8 bits) at k-1. Subtract modulo 2 by the polynomial 10000011 and subtract and generate the remainder of the input byte and the compensated polynomial module 2 in k instants. Attempt to divide the polynomial by 2 again. At this time, if each bit constituting the input byte at the time k-5 is logic level '0', data to be calculated by the compensating polynomial modulo 2 subtraction (321 to 348) and the generating polynomial modulo 2 division circuit (351 to 374). Generate in bytes. Modulo 2 divide by the decimal number 100000111. Then, if the most significant bit of the byte input at the moment k-5 is the logic level '0', it is generated for a polynomial that makes the rest of the result of the operation performed as the upper bit and the next bit of the input byte data as the least significant bit. If the modulo 2 division is performed by the decimal number 100000111, which is the polynomial, while the most significant bit of the byte input at the time k-5 is the logic level '1', the polynomial (the rest of the result of the operation and the input byte data) To perform the modulo 2 division with the generated polynomial prime number 100000111 after performing modulo 2 subtraction with the compensated polynomial driven by the compensated polynomial generation circuit. It executes in parallel (byte unit) with respect to bytes.

따라서, k순간에 보상 다항식 모듈로2 빼기(321∼318)의 입력들은 k-4 순간부터 k순간까지 입력된 블럭을 소수 100000111로 모듈로2 나눈 나머지를 나타낸다. 만일 D플립플롭(311∼318)의 각 입력이 모두 논리레벨 '0'이 아니면(나머지가 0이 아니면) CRC 정의에 따라 k-4 순간부터 k순간까지 입력된 블럭은 순환 부호 블럭이 아니다.Accordingly, the inputs of the compensated polynomial modulo 2 subtractions 321 to 318 at the instant k represent the remainder obtained by dividing the block inputted from the instant k-4 to the instant k into the decimal number 100000111. If each of the inputs of the D flip-flops 311 to 318 are not all at the logic level '0' (the rest is not 0), the block inputted from the moment k-4 to the moment k according to the CRC definition is not a cyclic code block.

결국 CRC 기능은 바이트 간격으로 실행되며 순환 부호 블럭이 형성되면 보상 다항식 모듈로2 빼기 회로(321∼348)의 D플립플롭(311∼318)의 입력들은 모두 논리레벨 '0'이 (소위 신드롬(syndrome)이 '0')되어 8입력 OR 게이트(390)의 출력은 논리레벨 '0'이 된다.Eventually, the CRC function is executed at byte intervals, and when a cyclic code block is formed, the inputs of the D flip-flops 311 to 318 of the compensating polynomial modulo 2 subtraction circuits 321 to 348 are all logic level '0' (so-called syndromes). syndrome) becomes '0'), and the output of the eight-input OR gate 390 becomes a logic level '0'.

본 발명은 상기와 같은 회로 구성을 사용하여 입력되는 데이터의 순환 부호 블럭의 경계를 바이트 간격으로 검색하여 블럭 경계로 구분할 뿐만 아니라 CRC 부기능도 수행할 수 있기 때문에 종래의 CRC 장치와 대체할 수 있으며 다음과 같은 특유한 효과를 갖는다.The present invention can be replaced with the conventional CRC apparatus because the boundary of the cyclic code block of the input data can be searched at byte intervals to distinguish not only the block boundary but also the CRC sub-function. It has the following distinctive effects.

첫째, 순환 부호 블럭 경계가 바뀌더라도 기존의 연산된 결과와 보상식으로 순환 부호를 복호하기 때문에 구현이 간단해진다.First, even if the boundary of the cyclic code block is changed, the implementation is simplified because the cyclic code is decoded by the conventional calculation result and the compensation formula.

둘째, 바이트 단위간격으로 순환 부호를 복호하기 때문에 블럭 동기 기능을 수행할 수 있다.Second, since the cyclic code is decoded at byte intervals, the block synchronization function can be performed.

세째, 입력되는 테이터를 블럭의 크기만큼 저장하기 때문에 블럭동기 검출 신호와 블럭 데이터간에 타이밍을 맞추기 위해 따라 데이터 지연회로를 사용할 필요가 없다.Third, since the input data is stored as the size of the block, it is not necessary to use the data delay circuit according to the timing between the block synchronization detection signal and the block data.

Claims (2)

r(r은 자연수)비트의 확인 비트와 m(m와 r보다 큰 8배수 자연수)비트의 메시지 비트로 구성된 n(n은 r+m인 8배수 자연수)비트인 N(N=n/8)바이트의 블럭 부호로 생성 다항식(Generator poyynominal)은 G(x)=xr+‥‥+1를 사용하는 CRC 장치에 있어서, 초기에는 논리레벨 '0'로 N바이트가 모두 초기화되어 있고, 복호되어질 바이트 열을 N바이트 쉬프트시켜 출력하는 N바이트 쉬프트 레지스터 수단과, 상기 N바이트 쉬프트 레지스터 수단에 연결되어, 상기 N바이트 쉬프트 레지스터 수단에서 출력되는 바이트의 비트가 Bsxs(s는 0에서 7까지의 정수로 Bs는 0 또는 1을 갖는 계수이며 B7은 최상위 비트의 계수로 0 또는 1이고 B0최하위 비트 계수로 0 또는 1)이면 각 바이트(Bsxs)에 대해 N바이트의 블럭 코드의 최상위 비트인 xn-1를 생성 다항식으로 모듈로2 나누기를 하여 남은 나머지를 s+1 비트 상위 비트 방향으로 쉬프트한 보상 다항식을 구동하는 보상(compensation) 다항식 구동 수단과, N바이트 쉬프트 레지스터의 출력단에서 바이트 단위로 입력되는 데이타를 생성 다항식 모듈로2 연산을 한 나머지와 상기 보상 다항식 구동수단에서 구동된 보상 다항식으로 모듈로2 빼기를 한 후 상기 생성 다항식 G(x)로 입력시키는 보상 다항식 모듈로2 빼기 수단, 및 상기 N바이트 쉬프트 레지스터의 입력단 및 보상 다항식 모듈로2 빼기 수단에 연결되어 입력되는 바이트 단위의 데이타를 생성 다항식 G(x)로 모듈로2 나누기를 하여 나머지를 보상 다항식 모듈로2 빼기 수단으로 입력하여 N바이트 쉬프트 레지스터에서 출력되는 바이트 데이타를 보상 다항식 모듈로2 연산을 실행한 나머지를 생성 단항식 G(x)로 모듈로2 연산을 하여 보상 다항식 모듈로2 빼기수단으로 출력하는 생성 다항식 모듈로2 나누기 수단을 구비하는 것을 특징으로 하는 CRC 장치.N (N = n / 8) bytes, n (n is an eight-fold natural number of r + m), consisting of a check bit of r (r is a natural number) bit and a message bit of m (eight-fold natural number greater than m and r) bits The generator poyynominal is a CRC device using G (x) = x r + ... ... +1. Initially, all N bytes are initialized to a logic level of '0' and the byte to be decoded. An N-byte shift register means for shifting a column by N-byte shifts, and a bit of a byte output from the N-byte shift register means, wherein the bit of the byte output from the N-byte shift register means is equal to B s x s (s is 0 to 7). Integer B s is a coefficient with 0 or 1, B 7 is 0 or 1 as the coefficient of the most significant bit, 0 or 1 as the B 0 least significant bit coefficient, and N bytes of block code for each byte (B s x s ). Create x n-1 , the most significant bit of, and divide it by modulo 2 by the polynomial. Compensation polynomial driving means for driving the compensation polynomial which shifts the rest to the s + 1 bit higher bit direction, and generates data input in the unit of byte at the output of the N-byte shift register. Compensation polynomial modulo 2 subtraction means for subtracting modulo 2 with the compensation polynomial driven by the compensation polynomial driving means and inputting the generated polynomial G (x), and the input end of the N-byte shift register and the compensation polynomial modulo 2 Compute the byte data output from the N-byte shift register by dividing the data in the byte unit connected to the subtraction means by dividing it into modulo 2 by the polynomial G (x). Generate the remainder of the row 2 operation. Compute the polynomial by modulo 2 operation with the unary G (x). Dyulro 2 CRC apparatus comprising a second dividing means to a generator polynomial module for outputting the subtraction means. 제 1 항에 있어서, 상기 N바이트 쉬프트 레지스터는 5바이트 쉬프트 레지스터로 구성하는 것을 특징으로 하는 CRC 장치.The CRC apparatus of claim 1, wherein the N-byte shift register is configured of a 5-byte shift register.
KR1019930026894A 1993-12-08 1993-12-08 Crc apparatus of bound area of bite syncronized data KR950010771B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930026894A KR950010771B1 (en) 1993-12-08 1993-12-08 Crc apparatus of bound area of bite syncronized data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930026894A KR950010771B1 (en) 1993-12-08 1993-12-08 Crc apparatus of bound area of bite syncronized data

Publications (2)

Publication Number Publication Date
KR950020104A KR950020104A (en) 1995-07-24
KR950010771B1 true KR950010771B1 (en) 1995-09-22

Family

ID=19370262

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930026894A KR950010771B1 (en) 1993-12-08 1993-12-08 Crc apparatus of bound area of bite syncronized data

Country Status (1)

Country Link
KR (1) KR950010771B1 (en)

Also Published As

Publication number Publication date
KR950020104A (en) 1995-07-24

Similar Documents

Publication Publication Date Title
JP2655547B2 (en) CRC calculation method and HEC synchronizer in ATM switching system
EP0231736B1 (en) Method and apparatus for arithmetic compression coding of binary numbers
US6681364B1 (en) Cyclic redundancy check for partitioned frames
EP0313707B1 (en) Data integrity securing means
US4723243A (en) CRC calculation machine with variable bit boundary
US6192498B1 (en) System and method for generating error checking data in a communications system
US6530057B1 (en) High speed generation and checking of cyclic redundancy check values
US3336467A (en) Simultaneous message framing and error detection
US5844923A (en) Fast framing of nude ATM by header error check
EP0681381A1 (en) Method and apparatus for modifying frame check sequences in intermediate high speed network nodes
JPH04211547A (en) Synchronous circuit
US4720830A (en) CRC calculation apparatus having reduced output bus size
EP0480621B1 (en) Apparatus and method for parallel generation of cyclic redundancy check (CRC) codes
EP0600380B1 (en) Method and device for detection and correction of errors in ATM cell headers
KR950009690B1 (en) Crc synchronizing apparatus
US3373404A (en) Error-correcting method and apparatus
US4667327A (en) Error corrector for a linear feedback shift register sequence
KR950010771B1 (en) Crc apparatus of bound area of bite syncronized data
US4796282A (en) Frame synchronization detection system
US5771249A (en) ATM cell synchronous system
US6928608B2 (en) Apparatus and method for accelerating cyclic redundancy check calculations
US5694405A (en) Encoder and decoder of an error correcting code
KR950009689B1 (en) Crc apparatus cepable of dividing block boundary in byte synchronized data
KR100189267B1 (en) Device for establishing cell boundaries in a bit stream and crc calculation
JPH0787090A (en) Method and device for detecting cyclic code

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 19980616

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee