KR19980036814A - Atm 교환기의 crc 생성 회로 - Google Patents

Atm 교환기의 crc 생성 회로 Download PDF

Info

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

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명은 ATM(Asynchronous Transfer Mode : 비동기 전송 방식) 교환기에서 CRC(Cyclic Redundancy Check : 순환 중복 검사) 계산을 고속으로 수행할 수 있도록 한 회로에 관한 것으로, 특히 입력에서 출력까지의 시간 예측이 가능하며 또한 여러 종류의 CRC 계산식에 대해서도 재구성이 가능한 ATM 교환기의 CRC 생성 회로에 관한 것이다.
본 발명의 목적은 CRC 계산식을 하드웨어화할 시 복잡한 로직을 모듈화하여 CRC 계산식이 달라져도 하나의 소자로서 해결할 수 있도록 하면서 각 모듈에 대한 딜레이 타임을 정확하게 예측할 수 있도록 하는 회로를 제공함으로써 ASIC 라이브러리(Application Specific Integrated Circuit Library)에 적당하도록 하는 것이다.
이에 CRC 생성 회로가 모듈화됨에 따라 데이타의 입력에서 출력까지 걸리는 시간을 알 수 있게 되며, 또한 CRC 계산식이 다르게 구성될지라도 회로의 수정이 필요 없게 되어 정확한 데이타 오류 측정이 가능하게 됨으로써 ASIC 라이브러리로 적합하며, 또한 초고속 통신망 가입자 보드인 FRIA(Frame Relay Interface Assembly)에도 적용 가능하여 매우 효과적이다.

Description

ATM 교환기의 CRC 생성 회로
본 발명은 ATM(Asynchronous Transfer Mode : 비동기 전송 방식) 교환기에서 CRC(Cyclic Redundancy Check : 순환 중복 검사) 계산을 고속으로 수행할 수 있도록 한 회로에 관한 것으로, 특히 입력에서 출력까지의 시간 예측이 가능하며 또한 여러 종류의 CRC 계산식에 대해서도 재구성이 가능한 ATM 교환기의 CRC 생성 회로에 관한 것이다.
일반적으로 통신에서 수신된 자료의 이상유무를 검사하는 것은 반드시 필요하다. 이러한 기능은 하드웨어 또는 소프트웨어로 구현될 수 있다.
그런데, 통신망이 고속화되면서 소프트웨어보다는 하드웨어로 구현되어야 하는 필요성이 높아지고 있다.
하드웨어 구현 방법 중 가장 간단한 방법은 수신된 데이타의 패리티를 검사하는 방법이다.
이때, 패리티 방법이란 수신되는 일정한 수의 비트 중에서 값이 '1'인 비트 수가 짝수 또는 홀수로서 일정한가를 검사하는 방법이다.
그런데, 이러한 방법을 쓸 경우 만약 두 개의 비트가 잘못되면 패리티는 오류 발생이 없는 것으로 체크하게 된다.
이에, 고속 통신망에서 송수신 되는 ATM 셀의 헤더 부분의 이상 유무 검사에는 상기 패리티 방법 보다 더 정확하게 검사할 수 있는 방법이 필요하게 된다.
이는 ATM 셀의 헤더 부분에 셀의 전송 목적지와 셀의 속성에 대한 정보가 들어있기 때문이다.
이때, 사용하는 방법이 CRC 방법이다.
CRC 방법은 이전에도 있는 방법이었으나 복잡하기 때문에 소프트웨어에서 많이 활용되어 왔다.
CRC 방법은 검사할 데이타를 특정값(CRC 계산식이라고 함)으로 나누어서 나머지가 '0'이 될 경우 데이타가 이상이 없음을 알 수 있다.
검사의 정확도를 높이기 위해서는 보다 복잡한 CRC 계산식을 사용하면 된다.
CRC 계산식의 예는 다음 식 1과 같다.
[식 1]
상기 식 1에서 (1)은 검사할 데이타의 총비트 수가 16비트일 경우의 CRC 계산식의 일례이고, (2)는 CCITT(Consultative Committee for International Telegraphy and Telephony : 국제 전신 전화 자문 위원회)에서 적용하는 총비트 수가 16비트일 경우의 CRC 계산식의 일례이다.
위 식으로 검사할 값을 나누는 방법은 검사할 데이타를 위와 같은 식으로 만든 후 계산식으로 나누면 된다.
즉, 검사할 데이타가 32비트이고, 그 값이 '00101000 10001000 00000000 00000001'인 경우 식은이 된다.
위 값을 CRC 계산식으로 나누어 나머지가 '0'이면 오류가 전혀 없는 자료가 된다.
그런데, 위와 같은 방법을 하드웨어로 구현하려면 복잡한 회로가 요구된다.
특히, 고속으로 계산을 하려면 고집적과 고속의 소자가 필요하다.
기존의 하드웨어 구현방법은 데이타 속도가 빠르지 않을 경우 도 1처럼 직렬 계산 방법을 사용했다
이 방법은 다음과 같은 동작으로 이루어진다.
직렬로 입력된 데이타는 레지스터(2)에서 매 클럭마다 한 비트씩 오른쪽으로 이동한다. 이때, 이동하기 전에 배타적 논리합 로직에(1)서 CRC 계산식에 해당하는 배타적 논리합을 수행한다.
그런데, 이 방법은 데이타 전송 속도와 같은 클럭을 요구한다.
즉, 45Mbps의 데이타일 경우 45MHz에서 동작을 해야 한다.
그러나, 초고속 통신망에서는 155M 이상의 데이타 전송 속도를 요구하므로 도 1의 방법을 사용할 수 없다.
따라서, 데이타를 병렬로 처리하여 소자의 동작 속도를 낮추는 것이 필요하다.
이 방법이 도 2이다.
도 2를 살펴보면, 조합(Combinational) 로직(4)은 도 1의 조합 로직(3)에서 직렬로 된 기억 소자를 병렬로 두어 구성된다.
도 2에서 조합 로직(4)은 CRC 계산식이 달라지면서 변하게 된다.
병렬로 입력된 데이타는 조합 로직(4)에서 CRC 계산식에 해당하는 동작을 수행한 후 레지스터(5)에 저장된다.
다음 데이타는 레지스터(5)에 저장된 값과 함께 조합 로직(4)에서 다시 계산되어 레지스터(5)에 저장된다.
이는 입력 데이타가 끝날 때까지 반복된다.
그런데, 도 2에 따른 방법에 의해서는 CRC 계산식에 따라 조합 로직(4)이 달라지고 조합 로직(4)의 입력에서 출력까지의 시간을 예측할 수 없고 CRC 계산식에 따라 입출력간의 시간이 다르게 된다.
따라서, ASIC(Application Specific Integrated Circuit)에서 이와 같은 회로를 사용할 경우 시뮬레이션(Simulation)에서 정확한 값을 얻기 힘들다. 또한 CRC 계산식이 달라지면 동작도 달라질 가능성이 많다.
이에 본 발명은 상기와 같은 문제점을 해결하기 위해 CRC 계산식을 하드웨어화할 시 복잡한 로직을 모듈화하여 CRC 계산식이 달라져도 하나의 소자로서 해결할 수 있도록 하면서 각 모듈에 대한 딜레이 타임을 정확하게 예측할 수 있도록 하는 회로를 제공함으로써 ASIC 라이브러리(Library)에 적당하도록 함을 목적으로 한다.
상기 목적을 달성하기 위한 본 발명 ATM 교환기의 CRC 생성 회로는, 데이타를 병렬로 입력하여 CRC 계산식에 해당하는 동작을 수행하는 조합 로직과, 상기 조합 로직에서 계산된 데이타를 저장한 후 병렬로 출력하면서 출력되는 데이타를 다시 상기 조합 로직으로 보내어 조합 로직으로 입력되는 다음 데이타와 함께 CRC 계산되도록 하는 레지스터를 포함하는 ATM 교환기의 CRC 생성 회로에 있어서, 상기 조합 로직은 입력되는 데이타의 각 자릿수의 비트가 '1'일 경우에 대해 CRC 계산식의 정보를 저장하고 있으면서 CRC 검사를 수행할 데이타를 병렬로 입력하는 벡터 테이블과; 상기 벡터 테이블로 입력되는 데이타의 각 비트에 해당하는 벡터값을 추출하는 논리곱 로직과; 상기 논리곱 로직에서 출력되는 각 벡터값과 상기 레지스터에서 출력되는 출력 데이타의 각 비트를 배타적 논리합하여 클럭 동기에 맞춰 상기 레지스터로 출력하는 배타적 논리합 로직으로 모듈화됨을 특징으로 한다.
도 1은 일반적인 직렬 데이타 입력에 의한 CRC 생성 회로의 구성도,
도 2는 일반적인 병렬 데이타 입력에 의한 CRC 생성 회로의 구성도,
도 3은 본 발명에 따른 CRC 생성 회로의 구성도,
도 4a는 도 3에서 논리곱 로직의 구성도,
도 4b는 도 3에서 배타적 논리합 로직의 구성도.
도면의 주요 부분에 대한 부호의 설명
10 : 벡터 테이블 20 : 논리곱 로직
30 : 배타적 논리합 로직 40 : 레지스터
AND : 논리곱 게이트 XOR : 배타적 논리합 게이트
이하, 본 발명의 일실시예를 첨부 도면을 참조로 하여 설명하면 다음과 같다.
도 3은 본 발명에 따른 CRC 생성 회로의 구성도, 도 4a는 도 3에서 논리곱 로직의 구성도, 도 4b는 도 3에서 배타적 논리합 로직의 구성도이다.
도 3에 따른 본 발명의 구성은 벡터 테이블(10)과, 논리곱 로직(20)과, 배타적 논리합 로직(30)과, 레지스터(40)를 포함한다.
여기서, 벡터 테이블(10)과 논리곱 로직(20)과 배타적 논리곱은 도 2에서 조합 로직(4)을 모듈화시킨 것이다.
그리고, 도면상 m은 입력 데이타의 비트 수이고, n은 벡터 테이블(10)의 CRC 계산식의 개수이며, m은 n과 같거나 배수이어야 한다.
상기 벡터 테이블(10)은 입력되는 데이타의 각 자릿수의 비트가 '1'일 경우에 대해 CRC 계산식의 정보를 저장하고 있으면서 CRC 검사를 수행할 데이타를 병렬로 입력한다. 이때, CRC 계산식에 해당하는 값은 동작 전에 벡터 테이블(10)에 다운 로드되어야 한다. 여기서, 다운 로드되는 CRC 계산식은 n개이며, 이에 벡터 테이블(10)의 크기는 입력 데이타의 비트 수와 함께 m*n이 된다.
즉, m이 8이고, n이 8인 경우 벡터 테이블(10)은 다음 식 2와 같다.
[식 2]
여기서, CRC() 함수는 CRC 계산식이다.
결과적으로 벡터 테이블(10)의 크기는 8*8=64비트가 된다.
상기 논리곱 로직(20)은 상기 벡터 테이블(10)로 입력되는 데이타의 각 비트에 해당하는 벡터값을 추출하는 것으로, 도 4a에서와 같이 n개의 CRC 계산식을 각각의 논리곱 게이트(AND1∼ANDm)에서 모두 병렬로 입력하면서 입력되는 데이타의 각 비트를 입력하여 각각의 CRC 계산식과 논리곱을 수행한다. 이에 입력 데이타의 각 비트에 해당하는 벡터값을 추출할 수 있게 된다.
상기 배타적 논리합 로직(30)은 상기 논리곱 로직(20)에서 출력되는 각 벡터값과 상기 레지스터(40)에서 출력되는 출력 데이타의 각 비트를 배타적 논리합하여 클럭 동기에 맞춰 상기 레지스터(40)로 출력하는 것으로, 도 4b에서와 같이 각각 n비트의 벡터값을 각각의 배타적 논리합 게이트(XOR1∼XORm)에서 m개로 각각 입력하여 m비트의 출력 데이타의 각 비트와 배타적 논리합을 수행한다.
상기 레지스터(40)는 상기 배타적 논리합 로직(30)에서 출력되는 m비트의 데이타를 저장한 후, 클럭에 동기되어 최종 출력하면서 상기 배타적 논리합 로직(30)으로 다시 입력한다.
상기와 같은 구성으로 이루어진 본 발명의 동작은 다음과 같다.
우선, CRC 계산이 수행되기 전에 CRC 계산식에 해당하는 값을 벡터 테이블(10)에 다운 로드시켜야 한다.
이 다운 로드가 완료된 후 리셋을 하면 초기화가 된다.
이후, m비트의 데이타가 병렬로 벡터 테이블(10)로 입력되면 벡터 테이블(10)에서는 해당하는 n개의 CRC 계산식과 함께 논리곱 로직(20)으로 보낸다.
이에 논리곱 로직(20)에서는 n개의 CRC 계산식을 각각의 논리곱 게이트로 입력하면서 입력 데이타의 각 비트를 하나씩 입력하여 각 비트에 해당하는 CRC 계산식이 추출되도록 하여 벡터값으로 출력한다. 즉, 상기 식 2에서와 같이 m과 n이 모두 8일 경우, 제1논리곱 게이트(AND1)에는 8비트의 데이타중 마지막 비트에 해당하는 비트값이 입력되어 이 값이 '1'이면 제1논리곱 게이트(AND1)에 입력된 8개의 CRC 계산식중 CRC(0000 0001)식만이 추출된다.
이렇게 추출된 CRC 계산식은 벡터값으로 배타적 논리합 로직(30)의 각 베타적 논리합 게이트(XOR1∼XORm)로 입력된다.
그리고 나서, 바로 전에 CRC 계산이 수행되어 레지스터(40)에 저장되었던 m비트의 데이타와 함께 배타적 논리합을 수행하게 된다.
이렇게 배타적 논리합이 수행된 데이타는 레지스터(40)에 저장되었다가 클럭에 동기되어 다음 클럭에서 배타적 논리합 로직(30)으로 다시 입력되어 다음 데이타와 함께 배타적 논리합을 계속 수행하게 된다.
이는 입력 데이타가 완료될 때까지 계속 반복된다.
즉, CRC 계산에 의해 최종 출력 데이타가 '0'이 되면 현재 입력된 데이타는 오류 발생이 없는 것으로 확인하게 된다.
이상에서 살펴본 바와 같이 본 발명에 따르면, CRC 생성 회로가 모듈화됨에 따라 데이타의 입력에서 출력까지 걸리는 시간을 알 수 있게 되며, 또한 CRC 계산식이 다르게 구성될지라도 회로의 수정이 필요 없게 되어 정확한 데이타 오류 측정이 가능하게 됨으로써 ASIC 라이브러리로 적합하며, 또한 초고속 통신망 가입자 보드인 FRIA(Frame Relay Interface Assembly)에도 적용 가능하여 매우 효과적이다.

Claims (1)

  1. 데이타를 병렬로 입력하여 CRC 계산식에 해당하는 동작을 수행하는 조합 로직과, 상기 조합 로직에서 계산된 데이타를 저장한 후 병렬로 출력하면서 출력되는 데이타를 다시 상기 조합 로직으로 보내어 조합 로직으로 입력되는 다음 데이타와 함께 CRC 계산되도록 하는 레지스터를 포함하는 ATM 교환기의 CRC 생성 회로에 있어서,
    상기 조합 로직은 입력되는 데이타의 각 자릿수의 비트가 '1'일 경우에 대해 CRC 계산식의 정보를 저장하고 있으면서 CRC 검사를 수행할 데이타를 병렬로 입력하는 벡터 테이블과;
    상기 벡터 테이블로 입력되는 데이타의 각 비트에 해당하는 벡터값을 추출하는 논리곱 로직과;
    상기 논리곱 로직에서 출력되는 각 벡터값과 상기 레지스터에서 출력되는 출력 데이타의 각 비트를 배타적 논리합하여 클럭 동기에 맞춰 상기 레지스터로 출력하는 배타적 논리합 로직으로 모듈화됨을 특징으로 하는 ATM 교환기의 CRC 생성 회로.
KR1019960055443A 1996-11-19 1996-11-19 Atm 교환기의 crc 생성 회로 KR100200566B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960055443A KR100200566B1 (ko) 1996-11-19 1996-11-19 Atm 교환기의 crc 생성 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960055443A KR100200566B1 (ko) 1996-11-19 1996-11-19 Atm 교환기의 crc 생성 회로

Publications (2)

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

Family

ID=19482535

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960055443A KR100200566B1 (ko) 1996-11-19 1996-11-19 Atm 교환기의 crc 생성 회로

Country Status (1)

Country Link
KR (1) KR100200566B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100439225B1 (ko) * 2000-07-13 2004-07-05 엘지전자 주식회사 고속 데이터의 오류 검증회로
KR100745863B1 (ko) * 2000-04-14 2007-08-02 마츠시타 덴끼 산교 가부시키가이샤 씨알씨 연산장치 및 씨알씨 연산방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745863B1 (ko) * 2000-04-14 2007-08-02 마츠시타 덴끼 산교 가부시키가이샤 씨알씨 연산장치 및 씨알씨 연산방법
KR100439225B1 (ko) * 2000-07-13 2004-07-05 엘지전자 주식회사 고속 데이터의 오류 검증회로

Also Published As

Publication number Publication date
KR100200566B1 (ko) 1999-06-15

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
EP0313707B1 (en) Data integrity securing means
JPH04211547A (ja) 同期回路
US4720830A (en) CRC calculation apparatus having reduced output bus size
US6189124B1 (en) Method and apparatus for a two-step calculation of CRC-32
US4720831A (en) CRC calculation machine with concurrent preset and CRC calculation function
US7886210B2 (en) Apparatus for pipelined cyclic redundancy check circuit with multiple intermediate outputs
EP0735711A1 (en) Method and apparatus for modifying a frame check sequence (FCS)
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
KR100200566B1 (ko) Atm 교환기의 crc 생성 회로
US6427179B1 (en) System and method for protocol conversion in a communications system
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 (ko) 분산 표본 혼화 장치의 병렬 처리기
WO1995001683A1 (fr) Procede et appareil de detection d'un code cyclique
KR950009689B1 (ko) 바이트 동기된 데이터에서 블럭 경계를 구분할 수 있는 순환여유검사장치
JP2822928B2 (ja) Crc符号演算方法および回路
KR20020033227A (ko) 데이터 통신을 위한 병렬 중복순환 검사회로
KR100439225B1 (ko) 고속 데이터의 오류 검증회로
KR950010771B1 (ko) 바이트 동기된 데이터에서 블럭 경계를 구분할 수 있는 crc(순환여유검사)장치

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