KR100200566B1 - Crc generation circuit of atm switching system - Google Patents

Crc generation circuit of atm switching system Download PDF

Info

Publication number
KR100200566B1
KR100200566B1 KR1019960055443A KR19960055443A KR100200566B1 KR 100200566 B1 KR100200566 B1 KR 100200566B1 KR 1019960055443 A KR1019960055443 A KR 1019960055443A KR 19960055443 A KR19960055443 A KR 19960055443A KR 100200566 B1 KR100200566 B1 KR 100200566B1
Authority
KR
South Korea
Prior art keywords
crc
data
logic
circuit
crc calculation
Prior art date
Application number
KR1019960055443A
Other languages
Korean (ko)
Other versions
KR19980036814A (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 KR1019960055443A priority Critical patent/KR100200566B1/en
Publication of KR19980036814A publication Critical patent/KR19980036814A/en
Application granted granted Critical
Publication of KR100200566B1 publication Critical patent/KR100200566B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/16Flow control; Congestion control in connection oriented networks, e.g. frame relay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5665Interaction of ATM with other protocols
    • H04L2012/567Frame Relay over ATM

Abstract

본 발명은 ATM(Asynchronous Transfer Mode : 비동기 전송 방식) 교환기에서 CRC(Cyclic Redundancy Check : 순환 중복 검사) 계산을 고속으로 수행할 수 있도록 한 회로에 관한 것으로, 특히 입력에서 출력까지의 시간 예측이 가능하며 또한 여러 종류의 CRC 계산식에 대해서도 재구성이 가능한 ATM 교환기의 CRC 생성 회로에 관한 것이다.The present invention relates to a circuit for performing CRC (Cyclic Redundancy Check) calculation at high speed in an ATM (Asynchronous Transfer Mode) exchange, and in particular, it is possible to predict a time from an input to an output The present invention also relates to a CRC generation circuit of an ATM exchange that can be reconfigured for various types of CRC calculation equations.

본 발명의 목적은 CRC 계산식을 하드웨어화할 시 복잡한 로직을 모듈화하여 CRC 계산식이 달라져도 하나의 소자로서 해결할 수 있도록 하면서 각 모듈에 대한 딜레이 타임을 정확하게 예측할 수 있도록 하는 회로를 제공함으로써 ASIC 라이브러리(Application Specific Integrated Circuit Library)에 적당하도록 하는 것이다.It is an object of the present invention to provide an ASIC library (Application Specific Integrated Circuit) by providing a circuit that can accurately predict a delay time for each module while allowing complex logic to be modularized when a CRC calculation formula is hardwareized, Circuit Library).

이에 CRC 생성 회로가 모듈화됨에 따라 데이타의 입력에서 출력까지 걸리는 시간을 알 수 있게 되며, 또한 CRC 계산식이 다르게 구성될지라도 회로의 수정이 필요 없게 되어 정확한 데이타 오류 측정이 가능하게 됨으로써 ASIC 라이브러리로 적합하며, 또한 초고속 통신망 가입자 보드인 FRIA(Frame Relay Interface Assembly)에도 적용 가능하여 매우 효과적이다.As the CRC generation circuit is modularized, it is possible to know the time from data input to output, and even if the CRC calculation formula is configured differently, it is not necessary to modify the circuit, and accurate data error measurement becomes possible, , And is also applicable to FRIA (Frame Relay Interface Assembly), which is a subscriber board for a high-speed communication network.

Description

ATM 교환기의 CRC 생성 회로CRC generation circuit of ATM switch

본 발명은 ATM(Asynchronous Transfer Mode : 비동기 전송 방식) 교환기에서 CRC(Cyclic Redundancy Check : 순환 중복 검사) 계산을 고속으로 수행할 수 있도록 한 회로에 관한 것으로, 특히 입력에서 출력까지의 시간 예측이 가능하며 또한 여러 종류의 CRC 계산식에 대해서도 재구성이 가능한 ATM 교환기의 CRC 생성 회로에 관한 것이다.The present invention relates to a circuit for performing CRC (Cyclic Redundancy Check) calculation at high speed in an ATM (Asynchronous Transfer Mode) exchange, and in particular, it is possible to predict a time from an input to an output The present invention also relates to a CRC generation circuit of an ATM exchange that can be reconfigured for various types of CRC calculation equations.

일반적으로 통신에서 수신된 자료의 이상유무를 검사하는 것은 반드시 필요하다. 이러한 기능은 하드웨어 또는 소프트웨어로 구현될 수 있다.In general, it is essential to check whether there is an abnormality in the data received from the communication. Such a function may be implemented by hardware or software.

그런데, 통신망이 고속화되면서 소프트웨어보다는 하드웨어로 구현되어야 하는 필요성이 높아지고 있다.However, as the communication network speeds up, there is an increasing need to implement hardware rather than software.

하드웨어 구현 방법 중 가장 간단한 방법은 수신된 데이타의 패리티를 검사하는 방법이다.The simplest method of hardware implementation is to check the parity of received data.

이때, 패리티 방법이란 수신되는 일정한 수의 비트 중에서 값이 '1'인 비트 수가 짝수 또는 홀수로서 일정한가를 검사하는 방법이다.Here, the parity method is a method of checking whether the number of bits having a value of '1' among a certain number of received bits is constant as an even or odd number.

그런데, 이러한 방법을 쓸 경우 만약 두 개의 비트가 잘못되면 패리티는 오류 발생이 없는 것으로 체크하게 된다.However, if this method is used, if two bits are wrong, the parity checks that there is no error.

이에, 고속 통신망에서 송수신 되는 ATM 셀의 헤더 부분의 이상 유무 검사에는 상기 패리티 방법 보다 더 정확하게 검사할 수 있는 방법이 필요하게 된다.Therefore, it is necessary to provide a more accurate method for checking the abnormality of the header part of the ATM cell transmitted and received in the high-speed communication network than the parity method.

이는 ATM 셀의 헤더 부분에 셀의 전송 목적지와 셀의 속성에 대한 정보가 들어있기 때문이다.This is because the header of the ATM cell contains information about the transmission destination of the cell and the attribute of the cell.

이때, 사용하는 방법이 CRC 방법이다.At this time, the CRC method is used.

CRC 방법은 이전에도 있는 방법이었으나 복잡하기 때문에 소프트웨어에서 많이 활용되어 왔다.The CRC method has been used previously, but it has been widely used in software because of its complexity.

CRC 방법은 검사할 데이타를 특정값(CRC 계산식이라고 함)으로 나누어서 나머지가 '0'이 될 경우 데이타가 이상이 없음을 알 수 있다.The CRC method divides the data to be examined by a specific value (referred to as a CRC calculation formula), and if the remainder is '0', it is known that there is no abnormality in the data.

검사의 정확도를 높이기 위해서는 보다 복잡한 CRC 계산식을 사용하면 된다.More complex CRC calculations can be used to increase the accuracy of the test.

CRC 계산식의 예는 다음 식 1과 같다.An example of a CRC calculation formula is shown in Equation 1 below.

[식 1][Formula 1]

상기 식 1에서 (1)은 검사할 데이타의 총비트 수가 16비트일 경우의 CRC 계산식의 일례이고, (2)는 CCITT(Consultative Committee for International Telegraphy and Telephony : 국제 전신 전화 자문 위원회)에서 적용하는 총비트 수가 16비트일 경우의 CRC 계산식의 일례이다.In Equation 1, (1) is an example of a CRC calculation formula when the total number of bits of data to be examined is 16 bits, (2) is an example of a CRC calculation formula used in a CCITT (Consultative Committee for International Telegraphy and Telephony) Is an example of a CRC calculation formula when the number of bits is 16 bits.

위 식으로 검사할 값을 나누는 방법은 검사할 데이타를 위와 같은 식으로 만든 후 계산식으로 나누면 된다.To divide the value to be checked by the above equation, divide the data to be examined by the above equation and divide it by the calculation formula.

즉, 검사할 데이타가 32비트이고, 그 값이 '00101000 10001000 00000000 00000001'인 경우 식은이 된다.That is, if the data to be examined is 32 bits and its value is '00101000 10001000 00000000 00000001' .

위 값을 CRC 계산식으로 나누어 나머지가 '0'이면 오류가 전혀 없는 자료가 된다.If the above value is divided by the CRC calculation formula and the rest is '0', there is no error at all.

그런데, 위와 같은 방법을 하드웨어로 구현하려면 복잡한 회로가 요구된다.However, implementing the above method in hardware requires complicated circuits.

특히, 고속으로 계산을 하려면 고집적과 고속의 소자가 필요하다.Especially, high-speed calculation requires highly integrated and high-speed devices.

기존의 하드웨어 구현방법은 데이타 속도가 빠르지 않을 경우 도 1처럼 직렬 계산 방법을 사용했다The conventional hardware implementation method uses a serial calculation method as shown in FIG. 1 when the data rate is not fast

이 방법은 다음과 같은 동작으로 이루어진다.This method consists of the following operations.

직렬로 입력된 데이타는 레지스터(2)에서 매 클럭마다 한 비트씩 오른쪽으로 이동한다. 이때, 이동하기 전에 배타적 논리합 로직에(1)서 CRC 계산식에 해당하는 배타적 논리합을 수행한다.The serial input data is shifted to the right by one bit per clock from the register 2. In this case, before shifting, the exclusive logical OR corresponding to the CRC calculation formula is performed on the exclusive OR logic (1).

그런데, 이 방법은 데이타 전송 속도와 같은 클럭을 요구한다.However, this method requires a clock equal to the data transmission rate.

즉, 45Mbps의 데이타일 경우 45MHz에서 동작을 해야 한다.That is, for 45 Mbps data, it should operate at 45 MHz.

그러나, 초고속 통신망에서는 155M 이상의 데이타 전송 속도를 요구하므로 도 1의 방법을 사용할 수 없다.However, since the high-speed communication network requires a data transmission speed of 155 M or more, the method of FIG. 1 can not be used.

따라서, 데이타를 병렬로 처리하여 소자의 동작 속도를 낮추는 것이 필요하다.Therefore, it is necessary to process the data in parallel to lower the operating speed of the device.

이 방법이 도 2이다.This method is shown in Fig.

도 2를 살펴보면, 조합(Combinational) 로직(4)은 도 1의 조합 로직(3)에서 직렬로 된 기억 소자를 병렬로 두어 구성된다.Referring to FIG. 2, the combinational logic 4 is configured by placing the storage elements in series in the combinational logic 3 of FIG. 1 in parallel.

도 2에서 조합 로직(4)은 CRC 계산식이 달라지면서 변하게 된다.In FIG. 2, the combinational logic (4) changes as the CRC calculation formula changes.

병렬로 입력된 데이타는 조합 로직(4)에서 CRC 계산식에 해당하는 동작을 수행한 후 레지스터(5)에 저장된다.The data input in parallel is stored in the register 5 after the operation corresponding to the CRC calculation formula is performed in the combination logic 4.

다음 데이타는 레지스터(5)에 저장된 값과 함께 조합 로직(4)에서 다시 계산되어 레지스터(5)에 저장된다.The next data is recalculated in the combinational logic 4 with the value stored in the register 5 and stored in the register 5.

이는 입력 데이타가 끝날 때까지 반복된다.This is repeated until the input data is finished.

그런데, 도 2에 따른 방법에 의해서는 CRC 계산식에 따라 조합 로직(4)이 달라지고 조합 로직(4)의 입력에서 출력까지의 시간을 예측할 수 없고 CRC 계산식에 따라 입출력간의 시간이 다르게 된다.However, according to the method of FIG. 2, the combinational logic 4 is changed according to the CRC calculation formula, and the time from the input to the output of the combinational logic 4 can not be predicted, and the time between input and output becomes different according to the CRC calculation formula.

따라서, ASIC(Application Specific Integrated Circuit)에서 이와 같은 회로를 사용할 경우 시뮬레이션(Simulation)에서 정확한 값을 얻기 힘들다. 또한 CRC 계산식이 달라지면 동작도 달라질 가능성이 많다.Therefore, when using such a circuit in an ASIC (Application Specific Integrated Circuit), it is difficult to obtain an accurate value in a simulation. Also, if the CRC calculation formula is changed, there is a possibility that the operation will be changed.

이에 본 발명은 상기와 같은 문제점을 해결하기 위해 CRC 계산식을 하드웨어화할 시 복잡한 로직을 모듈화하여 CRC 계산식이 달라져도 하나의 소자로서 해결할 수 있도록 하면서 각 모듈에 대한 딜레이 타임을 정확하게 예측할 수 있도록 하는 회로를 제공함으로써 ASIC 라이브러리(Library)에 적당하도록 함을 목적으로 한다.In order to solve the above problems, the present invention provides a circuit which allows a complex logic to be modulized when a CRC calculation formula is hardwareized so that the CRC calculation formula can be solved as a single device, while accurately estimating a delay time for each module So that it is suitable for an ASIC library.

상기 목적을 달성하기 위한 본 발명 ATM 교환기의 CRC 생성 회로는, 데이타를 병렬로 입력하여 CRC 계산식에 해당하는 동작을 수행하는 조합 로직과, 상기 조합 로직에서 계산된 데이타를 저장한 후 병렬로 출력하면서 출력되는 데이타를 다시 상기 조합 로직으로 보내어 조합 로직으로 입력되는 다음 데이타와 함께 CRC 계산되도록 하는 레지스터를 포함하는 ATM 교환기의 CRC 생성 회로에 있어서, 상기 조합 로직은 입력되는 데이타의 각 자릿수의 비트가 '1'일 경우에 대해 CRC 계산식의 정보를 저장하고 있으면서 CRC 검사를 수행할 데이타를 병렬로 입력하는 벡터 테이블과; 상기 벡터 테이블로 입력되는 데이타의 각 비트에 해당하는 벡터값을 추출하는 논리곱 로직과; 상기 논리곱 로직에서 출력되는 각 벡터값과 상기 레지스터에서 출력되는 출력 데이타의 각 비트를 배타적 논리합하여 클럭 동기에 맞춰 상기 레지스터로 출력하는 배타적 논리합 로직으로 모듈화됨을 특징으로 한다.According to an aspect of the present invention, there is provided a CRC generation circuit of an ATM exchange including combinational logic for inputting data in parallel and performing an operation corresponding to a CRC calculation expression, And a register for causing the output data to be sent back to the combinational logic to be CRC-computed together with the next data input to the combinational logic, the combinational logic being characterized in that the bit of each digit of the input data is' 1 ', a vector table storing information of the CRC calculation formula and inputting data to be CRC checked in parallel; A logical product logic for extracting a vector value corresponding to each bit of data input to the vector table; And outputting the exclusive OR logic to the register in accordance with clock synchronization by exclusive-ORing each bit of the output data output from the register with each vector value output from the AND logic logic.

도 1은 일반적인 직렬 데이타 입력에 의한 CRC 생성 회로의 구성도,1 is a configuration diagram of a CRC generation circuit based on general serial data input,

도 2는 일반적인 병렬 데이타 입력에 의한 CRC 생성 회로의 구성도,FIG. 2 is a block diagram of a CRC generation circuit based on a general parallel data input,

도 3은 본 발명에 따른 CRC 생성 회로의 구성도,3 is a configuration diagram of a CRC generating circuit according to the present invention,

도 4a는 도 3에서 논리곱 로직의 구성도,FIG. 4A is a schematic diagram of the AND logic in FIG. 3,

도 4b는 도 3에서 배타적 논리합 로직의 구성도.FIG. 4B is a block diagram of the exclusive OR logic in FIG. 3; FIG.

도면의 주요 부분에 대한 부호의 설명DESCRIPTION OF THE REFERENCE NUMERALS

10 : 벡터 테이블 20 : 논리곱 로직10: vector table 20: logical product logic

30 : 배타적 논리합 로직 40 : 레지스터30: Exclusive logical OR logic 40: Register

AND : 논리곱 게이트 XOR : 배타적 논리합 게이트AND: AND gate XOR: Exclusive OR gate

이하, 본 발명의 일실시예를 첨부 도면을 참조로 하여 설명하면 다음과 같다.Hereinafter, an embodiment of the present invention will be described with reference to the accompanying drawings.

도 3은 본 발명에 따른 CRC 생성 회로의 구성도, 도 4a는 도 3에서 논리곱 로직의 구성도, 도 4b는 도 3에서 배타적 논리합 로직의 구성도이다.FIG. 3 is a configuration diagram of a CRC generation circuit according to the present invention, FIG. 4A is a configuration diagram of the AND logic in FIG. 3, and FIG. 4B is a configuration diagram of exclusive OR logic in FIG.

도 3에 따른 본 발명의 구성은 벡터 테이블(10)과, 논리곱 로직(20)과, 배타적 논리합 로직(30)과, 레지스터(40)를 포함한다.The configuration of the present invention according to Fig. 3 includes a vector table 10, AND logic 20, exclusive OR logic 30, and a register 40.

여기서, 벡터 테이블(10)과 논리곱 로직(20)과 배타적 논리곱은 도 2에서 조합 로직(4)을 모듈화시킨 것이다.Here, the exclusive logical product of the vector table 10 and the AND logic 20 is a modular combination logic 4 in FIG.

그리고, 도면상 m은 입력 데이타의 비트 수이고, n은 벡터 테이블(10)의 CRC 계산식의 개수이며, m은 n과 같거나 배수이어야 한다.In the figure, m is the number of bits of the input data, n is the number of CRC calculation equations of the vector table 10, and m should be equal to or multiples of n.

상기 벡터 테이블(10)은 입력되는 데이타의 각 자릿수의 비트가 '1'일 경우에 대해 CRC 계산식의 정보를 저장하고 있으면서 CRC 검사를 수행할 데이타를 병렬로 입력한다. 이때, CRC 계산식에 해당하는 값은 동작 전에 벡터 테이블(10)에 다운 로드되어야 한다. 여기서, 다운 로드되는 CRC 계산식은 n개이며, 이에 벡터 테이블(10)의 크기는 입력 데이타의 비트 수와 함께 m*n이 된다.The vector table 10 stores data of the CRC calculation formula when the bit of each digit of input data is '1', and inputs data to be CRC checked in parallel. At this time, the value corresponding to the CRC calculation formula must be downloaded to the vector table 10 before operation. Here, the CRC calculation formula to be downloaded is n, and the size of the vector table 10 becomes m * n together with the number of bits of the input data.

즉, m이 8이고, n이 8인 경우 벡터 테이블(10)은 다음 식 2와 같다.That is, when m is 8 and n is 8, the vector table 10 is expressed by the following equation (2).

[식 2][Formula 2]

여기서, CRC() 함수는 CRC 계산식이다.Here, the CRC () function is a CRC calculation expression.

결과적으로 벡터 테이블(10)의 크기는 8*8=64비트가 된다.As a result, the size of the vector table 10 becomes 8 * 8 = 64 bits.

상기 논리곱 로직(20)은 상기 벡터 테이블(10)로 입력되는 데이타의 각 비트에 해당하는 벡터값을 추출하는 것으로, 도 4a에서와 같이 n개의 CRC 계산식을 각각의 논리곱 게이트(AND1∼ANDm)에서 모두 병렬로 입력하면서 입력되는 데이타의 각 비트를 입력하여 각각의 CRC 계산식과 논리곱을 수행한다. 이에 입력 데이타의 각 비트에 해당하는 벡터값을 추출할 수 있게 된다.The logic product logic 20 extracts a vector value corresponding to each bit of data input to the vector table 10, and outputs n CRC calculation equations to each logical product gate (AND1 to ANDm ), Inputting each bit of input data while performing a logical AND with each CRC calculation formula. Accordingly, the vector value corresponding to each bit of the input data can be extracted.

상기 배타적 논리합 로직(30)은 상기 논리곱 로직(20)에서 출력되는 각 벡터값과 상기 레지스터(40)에서 출력되는 출력 데이타의 각 비트를 배타적 논리합하여 클럭 동기에 맞춰 상기 레지스터(40)로 출력하는 것으로, 도 4b에서와 같이 각각 n비트의 벡터값을 각각의 배타적 논리합 게이트(XOR1∼XORm)에서 m개로 각각 입력하여 m비트의 출력 데이타의 각 비트와 배타적 논리합을 수행한다.The exclusive OR logic 30 performs exclusive OR operation between each vector value output from the AND logic 20 and each bit of output data output from the register 40 and outputs the result to the register 40 As shown in FIG. 4B, vector values of n bits are input to m exclusive OR gates XOR1 to XORm, respectively, to perform exclusive OR operation with each bit of output data of m bits.

상기 레지스터(40)는 상기 배타적 논리합 로직(30)에서 출력되는 m비트의 데이타를 저장한 후, 클럭에 동기되어 최종 출력하면서 상기 배타적 논리합 로직(30)으로 다시 입력한다.The register 40 stores m-bit data output from the exclusive-OR logic 30, and finally inputs the m-bit data to the exclusive-OR logic 30 in synchronization with a clock.

상기와 같은 구성으로 이루어진 본 발명의 동작은 다음과 같다.The operation of the present invention having the above configuration is as follows.

우선, CRC 계산이 수행되기 전에 CRC 계산식에 해당하는 값을 벡터 테이블(10)에 다운 로드시켜야 한다.First, the value corresponding to the CRC calculation formula must be downloaded to the vector table 10 before the CRC calculation is performed.

이 다운 로드가 완료된 후 리셋을 하면 초기화가 된다.After this download is completed, resetting will be done.

이후, m비트의 데이타가 병렬로 벡터 테이블(10)로 입력되면 벡터 테이블(10)에서는 해당하는 n개의 CRC 계산식과 함께 논리곱 로직(20)으로 보낸다.Then, when the m-bit data is input in parallel to the vector table 10, the vector table 10 sends the data to the logic product logic 20 along with the corresponding n CRC calculation formulas.

이에 논리곱 로직(20)에서는 n개의 CRC 계산식을 각각의 논리곱 게이트로 입력하면서 입력 데이타의 각 비트를 하나씩 입력하여 각 비트에 해당하는 CRC 계산식이 추출되도록 하여 벡터값으로 출력한다. 즉, 상기 식 2에서와 같이 m과 n이 모두 8일 경우, 제1논리곱 게이트(AND1)에는 8비트의 데이타중 마지막 비트에 해당하는 비트값이 입력되어 이 값이 '1'이면 제1논리곱 게이트(AND1)에 입력된 8개의 CRC 계산식중 CRC(0000 0001)식만이 추출된다.In the logic product logic 20, n CRC calculation equations are input to the respective AND gates, and each bit of the input data is input one by one so that a CRC calculation expression corresponding to each bit is extracted and output as a vector value. That is, when m and n are both 8 as in Equation (2), a bit value corresponding to the last bit of data of 8 bits is input to the first AND gate AND1, and if this value is '1' Only the CRC (0000 0001) expression is extracted from the eight CRC calculation expressions input to the AND gate AND1.

이렇게 추출된 CRC 계산식은 벡터값으로 배타적 논리합 로직(30)의 각 베타적 논리합 게이트(XOR1∼XORm)로 입력된다.The CRC calculation equation thus extracted is input to each of the beta OR gates XOR1 to XORm of the exclusive OR logic 30 as a vector value.

그리고 나서, 바로 전에 CRC 계산이 수행되어 레지스터(40)에 저장되었던 m비트의 데이타와 함께 배타적 논리합을 수행하게 된다.Then, the CRC calculation is performed immediately before the exclusive OR of the m bits of data stored in the register 40 is performed.

이렇게 배타적 논리합이 수행된 데이타는 레지스터(40)에 저장되었다가 클럭에 동기되어 다음 클럭에서 배타적 논리합 로직(30)으로 다시 입력되어 다음 데이타와 함께 배타적 논리합을 계속 수행하게 된다.The data in which the exclusive OR operation is performed is stored in the register 40 and synchronized with the clock and input to the exclusive OR logic 30 at the next clock to continue the exclusive OR operation with the next data.

이는 입력 데이타가 완료될 때까지 계속 반복된다.This is repeated until input data is completed.

즉, CRC 계산에 의해 최종 출력 데이타가 '0'이 되면 현재 입력된 데이타는 오류 발생이 없는 것으로 확인하게 된다.That is, when the final output data is '0' by the CRC calculation, it is confirmed that there is no error in the currently input data.

이상에서 살펴본 바와 같이 본 발명에 따르면, CRC 생성 회로가 모듈화됨에 따라 데이타의 입력에서 출력까지 걸리는 시간을 알 수 있게 되며, 또한 CRC 계산식이 다르게 구성될지라도 회로의 수정이 필요 없게 되어 정확한 데이타 오류 측정이 가능하게 됨으로써 ASIC 라이브러리로 적합하며, 또한 초고속 통신망 가입자 보드인 FRIA(Frame Relay Interface Assembly)에도 적용 가능하여 매우 효과적이다.As described above, according to the present invention, since the CRC generation circuit is modularized, it is possible to know the time taken from the input to the output of the data, and even if the CRC calculation formula is configured differently, It is suitable as an ASIC library and is also applicable to FRIA (Frame Relay Interface Assembly) which is a high-speed communication network subscriber board, which is very effective.

Claims (1)

데이타를 병렬로 입력하여 CRC 계산식에 해당하는 동작을 수행하는 조합 로직과, 상기 조합 로직에서 계산된 데이타를 저장한 후 병렬로 출력하면서 출력되는 데이타를 다시 상기 조합 로직으로 보내어 조합 로직으로 입력되는 다음 데이타와 함께 CRC 계산되도록 하는 레지스터를 포함하는 ATM 교환기의 CRC 생성 회로에 있어서,A combinational logic for inputting data in parallel and performing an operation corresponding to a CRC calculation expression; and a combinational logic for storing data calculated in the combinational logic and outputting data in parallel while outputting data to the combinational logic, CLAIMS What is claimed is: 1. A CRC generation circuit of an ATM switch comprising a register for causing a CRC calculation with data, 상기 조합 로직은 입력되는 데이타의 각 자릿수의 비트가 '1'일 경우에 대해 CRC 계산식의 정보를 저장하고 있으면서 CRC 검사를 수행할 데이타를 병렬로 입력하는 벡터 테이블과;The combination logic includes: a vector table storing information of a CRC calculation formula when a bit of each digit of input data is '1', and inputting data to be CRC checked in parallel; 상기 벡터 테이블로 입력되는 데이타의 각 비트에 해당하는 벡터값을 추출하는 논리곱 로직과;A logical product logic for extracting a vector value corresponding to each bit of data input to the vector table; 상기 논리곱 로직에서 출력되는 각 벡터값과 상기 레지스터에서 출력되는 출력 데이타의 각 비트를 배타적 논리합하여 클럭 동기에 맞춰 상기 레지스터로 출력하는 배타적 논리합 로직으로 모듈화됨을 특징으로 하는 ATM 교환기의 CRC 생성 회로.Wherein the exclusive OR logic is exclusive ORed between each vector value output from the logic product logic and each bit of output data output from the register and output to the register in synchronization with clock synchronization.
KR1019960055443A 1996-11-19 1996-11-19 Crc generation circuit of atm switching system KR100200566B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960055443A KR100200566B1 (en) 1996-11-19 1996-11-19 Crc generation circuit of atm switching system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960055443A KR100200566B1 (en) 1996-11-19 1996-11-19 Crc generation circuit of atm switching system

Publications (2)

Publication Number Publication Date
KR19980036814A KR19980036814A (en) 1998-08-05
KR100200566B1 true KR100200566B1 (en) 1999-06-15

Family

ID=19482535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960055443A KR100200566B1 (en) 1996-11-19 1996-11-19 Crc generation circuit of atm switching system

Country Status (1)

Country Link
KR (1) KR100200566B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1148650A1 (en) * 2000-04-14 2001-10-24 Matsushita Electric Industrial Co., Ltd. Crc operation unit and crc operation method
KR100439225B1 (en) * 2000-07-13 2004-07-05 엘지전자 주식회사 A circuit of error inspection for high rate data

Also Published As

Publication number Publication date
KR19980036814A (en) 1998-08-05

Similar Documents

Publication Publication Date Title
US4723243A (en) CRC calculation machine with variable bit boundary
EP0230730B1 (en) CRC calculation machines
US6192498B1 (en) System and method for generating error checking data in a communications system
EP0397079A2 (en) Parallel pseudo-random generator for emulating a serial pseudo-random generator and method for carrying out same
JPH04211547A (en) Synchronous circuit
US4720830A (en) CRC calculation apparatus having reduced output bus size
JPH04284753A (en) Crc arithmetic method and hec synchronization device in atm exchange system
US6189124B1 (en) Method and apparatus for a two-step calculation of CRC-32
US5694407A (en) Method and an apparatus for modifying a FCS
US4720831A (en) CRC calculation machine with concurrent preset and CRC calculation function
US5905664A (en) Circuit for determining, in parallel, the terms of a remainder that results from dividing two binary polynomials
US6795946B1 (en) Fast frame error checker for multiple byte digital data frames
US6427179B1 (en) System and method for protocol conversion in a communications system
KR100200566B1 (en) Crc generation circuit of atm switching system
US7124064B1 (en) Automatic generation of hardware description language code for complex polynomial functions
US3821711A (en) Self adaptive compression and expansion apparatus for changing the length of digital information
EP0444661B1 (en) Electronic circuit for generating error detection codes for digital signals
US6442747B1 (en) Method of synthesizing a cycle redundancy code generator circuit using hardware description language
KR19990043100A (en) Parallel Processor in Distributed Sample Mixer
WO1995001683A1 (en) Method and apparatus for detecting cyclic code
KR950009689B1 (en) Crc apparatus cepable of dividing block boundary in byte synchronized data
JP2822928B2 (en) CRC code calculation method and circuit
KR20020033227A (en) Circuit for parallel cyclic redundancy check in data communication
KR100439225B1 (en) A circuit of error inspection for high rate data
KR950010771B1 (en) Crc apparatus of bound area of bite syncronized data

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee