KR20050019953A - 유사 8비트/10비트 코드 발생 방법 및 이를 이용한 유사8비트/10비트 코드 발생장치 - Google Patents

유사 8비트/10비트 코드 발생 방법 및 이를 이용한 유사8비트/10비트 코드 발생장치 Download PDF

Info

Publication number
KR20050019953A
KR20050019953A KR1020030056813A KR20030056813A KR20050019953A KR 20050019953 A KR20050019953 A KR 20050019953A KR 1020030056813 A KR1020030056813 A KR 1020030056813A KR 20030056813 A KR20030056813 A KR 20030056813A KR 20050019953 A KR20050019953 A KR 20050019953A
Authority
KR
South Korea
Prior art keywords
bit
bits
pseudo
binary value
continuous data
Prior art date
Application number
KR1020030056813A
Other languages
English (en)
Other versions
KR100538105B1 (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 KR10-2003-0056813A priority Critical patent/KR100538105B1/ko
Priority to TW093105813A priority patent/TWI319267B/zh
Priority to US10/793,819 priority patent/US7075461B2/en
Publication of KR20050019953A publication Critical patent/KR20050019953A/ko
Application granted granted Critical
Publication of KR100538105B1 publication Critical patent/KR100538105B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/24Testing correct operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

직렬화기의 입력으로 사용될 유사 8B/10B 코드 발생 방법 및 이를 이용한 유사 8B/10B 코드 발생 장치가 개시된다. 유사 8B/10B 코드 발생 방법에 따르면, 먼저 N(N은 2이상의 자연수)개 비트의 병렬 의사 랜덤 비트열을 발생시킨다. N 개 비트의 상기 병렬 의사 랜덤 비트열을 입력받아 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'이 연속해서 M1(M1은 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환한다. PRBS 발생기의 출력을 변형하여 8B/10B 코드(code)와 유사한 테스트 패턴을 직렬화기의 입력으로 직접 제공함으로써 직렬화기와 같은 고속 인터페이스 I/O의 성능을 효과적으로 검증할 수 있다.

Description

유사 8비트/10비트 코드 발생 방법 및 이를 이용한 유사 8비트/10비트 코드 발생 장치{METHOD FOR GENERATING SIMILAR 8 BIT/10BIT CODE AND APPARATUS USING THE SAME}
본 발명은 유사 8B/10B 코드 발생 방법 및 장치에 관한 것이다. 더욱 상세하게는 직렬화기의 입력으로 사용될 유사 8B/10B 코드 발생 방법 및 장치에 관한 것이다.
기존의 병렬 데이터 버스의 한계를 극복하기 위하여 최근에는 고속 인터페이스 I/O (Input/Output)가 많이 사용된다.
도 1은 고속 인터페이스 I/O 장치의 일 예인 일반적인 n:1 직렬화기의 블록도이고, 도 2는 도 1의 n:1 직렬화기의 직렬화된 데이터를 나타낸 파형도이다.
도 1 및 도 2를 참조하면, 병렬 데이터 버스를 통하여 입력된 병렬 데이터 D<1>, D<2>, ..., D<n-1>는 직렬화기(100)의 출력단(S)을 통하여 순차적으로 직렬화된 데이터 D<1>, D<2>, ..., D<n-1>가 출력된다.
기존의 의사 랜덤 비트열 발생기(PRBS generator; Pseudo Random Bit Sequence generator)의 일 예는 ROM(Read Only Memory) 테이블을 이용하여 발생시킬 데이터 패턴을 메모리에 기억시켜 놓고 반복시켜 발생시킨다. 기존의 ROM 테이블을 이용한 PRBS 발생 방식은 테스트 장비와 같이 고가의 부품이 사용되는 경우에는 적용 가능하지만, 작은 면적 및 적은 전력을 요구하는 반도체 칩 내부에 적용되도록 구현하기는 곤란하다.
도 3은 일반적인 PRBS 발생기를 나타낸 블록도이고, 도 4는 도 3의 PRBS 발생기의 X1 출력을 나타낸 타이밍도이다. 도 3은 f(X)=X7+X6+1인 다항식(polynomial)에 상응하는 PRBS 발생기를 나타낸다.
도 3을 참조하면, PRBS 발생기(300)는 복수개의 쉬프트 레지스터(SR1, SR2, ..., SR7)의 출력 중 일부인 X1 및 X2를 XOR 게이트(301)로 입력하여 그 출력인 X8을 쉬프트 레지스터 SR7로 피드백 시킨다(X8(n)=X1(n) X2(n)). 이때, SR1 내지 SR7은 모두 0을 제외한 초기 값으로 초기화되어 있다.
그 결과, 클럭(CLK)에 동기되어 의사 랜덤 비트열(PRBS)이 출력된다. 예를 들어, X1 출력은 도 4에 도시된 바와 같이 클럭(CLK)에 동기되어 임의의 비트 값을 갖도록 출력된다.
미국 공개 특허 US 2002/0051542(발명의 명칭 "PARALLEL SCRAMBLER OF EXCHANGE IN ASYNCHRONOUS TRANSFER MODE")에 의하면 ATM(Asynchronous Transfer Mode)의 스크램블러(scrambler)로서 사용되는 8 비트 병렬 PRBS 발생기가 개시된다.
기존의 고속 인터페이스 I/O-예를 들어 직렬화기-의 성능을 검증하기 위하여 직렬화기에 입력되는 테스트 패턴은 많은 논리 게이트 회로를 사용하여 복잡하고 많은 수의 테스트 패턴을 발생시키고 있다.
기존에는 병렬 PRBS 발생기가 미국 공개 특허 US 2002/0051542에 개시된 바와 같이 ATM(Asynchronous Transfer Mode)의 스크램블러(scrambler) 등에 사용되어 왔었다. 상기 고속 인터페이스 I/O-예를 들어 직렬화기-의 성능을 검증하기 위하여 병렬 PRBS 데이터 패턴 D<1>, D<2>, ..., D<n-1>을 도 1의 직렬화기(100)의 입력으로 제공할 필요가 있다.
한편, 유선 통신망에서 실제 송수신하는 데이터는 8B/10B 코드(code)가 주로 사용된다. 기존의 직렬화기에 입력되는 병렬 PRBS 테스트 패턴은 실제 사용되는 데이터 형태인 8B/10B code와 차이가 크다. 예를 들어 "1111111..." 과 같이 1이 연속해서 7개가 발생하는 데이터가 생성되기도 하며, "000000..." 과 같이 0이 연속해서 6개가 발생하는 데이터가 생성되기도 한다.
즉, 종래의 직렬화기에 입력되는 병렬 PRBS 테스트 패턴은 실제 유선 통신망에서 주로 사용되는 8B/10B 코드(code)와 전연 상이한 패턴을 가진다.
따라서, 실제 유선 통신망에서 주로 사용되는 8B/10B 코드(code)와 유사한 테스트 패턴을 직렬화기의 입력으로 직접 제공하여 직렬화기의 성능을 보다 정확히 테스트할 필요가 있다.
따라서, 본 발명의 제1 목적은 PRBS를 이용하여 8B/10B 코드와 유사한 데이터 패턴을 생성할 수 있는 유사 8B/10B 코드 발생 방법을 제공하는 것이다.
본 발명의 제2 목적은 PRBS 발생기를 이용하여 8B/10B 코드와 유사한 데이터 패턴을 생성할 수 있는 유사 8B/10B 코드 발생 장치를 제공하는 것이다.
상술한 본 발명의 제1 목적을 달성하기 위한 본 발명의 일측면에 따른 유사 8B/10B 코드 발생 방법은 N(N은 2이상의 자연수)개 비트의 병렬 의사 랜덤 비트열을 발생시킨 후, N 개 비트의 상기 병렬 의사 랜덤 비트열을 입력받아 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'이 연속해서 M1(M1은 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환한다. 예를 들어, N은 10, M1은 5가 될 수 있다.
또한, 본 발명의 제2 목적을 달성하기 위한 본 발명의 일측면에 따른 유사 8B/10B 코드 발생 장치는 N(N은 2이상의 자연수)개 비트의 병렬 의사 랜덤 비트열을 발생시키는 의사 랜덤 비트열 발생부; 및 N 개 비트의 상기 병렬 의사 랜덤 비트열을 입력받아 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'이 연속해서 M1(M1은 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환하는 유사 8B/10B 코드 발생부를 포함한다.
본 발명은 고속 인터페이스 I/O 장치, 예를 들어, 병렬로 된 데이터를 직렬로 전환하는 직렬화기(serializer)의 성능을 검증하기 위한 테스트 패턴을 생성하는데 사용할 수 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다.
도 5는 본 발명의 일실시예에 따른 유사 8B/10B 코드 발생 장치의 블록도이다.
도 5를 참조하면, 유사 8B/10B 코드 발생 장치(500)는 PRBS 발생부(400) 및 유사 8B/10B 코드 발생부(600)를 포함한다.
PRBS 발생부(400)는 의사 랜덤 비트열(PRBS) D<0>, D<1>, ..., D<n-1>(이하 D<0:n-1>이라 함)을 발생시킨다. 고속 인터페이스 I/O-예를 들어 직렬화기 등-의 성능을 검증하기 위하여 병렬 데이터(parallel data)로 이루어진 PRBS를 발생시킨다. 실제 유선 통신망에서는 10 비트로 이루어진 데이터가 주로 사용되며, 예를 들어 n은 10이 될 수 있다.
유사 8B/10B 코드 발생부(600)는 유사 8B/10B 코드 enc<0>, enc<1>, ..., enc<n-1>(이하 enc <0:n-1>이라 함)을 발생시켜 직렬화기(serializer; 100)의 성능을 검증하기 위한 테스트 패턴으로 직렬화기(100)로 제공한다. 실제 유선 통신망에서 주로 사용되는 8B/10B 코드(code)와 유사한 테스트 패턴을 직렬화기의 입력으로 직접 제공하여 직렬화기의 성능을 보다 정확히 테스트할 수 있다.
도 6은 도 5의 PRBS 발생부를 10 비트 병렬 PRBS 발생기로 구현한 것이다.
도 6을 참조하면, PRBS 발생부(400)는 10개의 스테이지로 이루어지며, 각 스테이지는 XOR 게이트와 상기 XOR 게이트의 출력단에 결합된 플립플롭으로 이루어진다. 구체적으로, PRBS 발생부(400)는 10개의 플립플롭(FF0, FF1, ..., FF9)과 10개의 XOR 게이트(401, 402, ..., 410)로 이루어진 10 비트 병렬 (27-1) PRBS 발생기이다. 플립플롭 FF0 ~ FF6은 모두 0을 제외한 초기 값으로 초기화되어 있다.
또한, 도 6의 클럭(clock) 주파수는 10 비트 동시 출력이므로 도 3 보다 클럭 주파수가 1/10으로 줄어들어 낮은 주파수로 구현이 가능하다.
도 3의 PRBS 발생기(300)를 XOR 게이트와 플립플롭을 이용하여 10 비트 병렬 PRBS 발생기로 구현할 수 있다.
도 3의 PRBS 발생기(300)에서, X8(n)=X1(n)X2(n)이므로
X9(n)=X2(n)X3(n),
X10(n)=X3(n)X4(n),
X11(n)=X1(n+1)=X4(n)X5(n),
X12(n)=X2(n+1)=X5(n)X6(n),
X13(n)=X3(n+1)=X6(n)X7(n),
X14(n)=X4(n+1)=X7(n)X8(n),
X15(n)=X5(n+1)=X8(n)X9(n)=[X1(n)X2(n)][X2(n)X3(n)]
=X1(n)X3(n),
X16(n)=X6(n+1)=X9(n)X10(n)=[X2(n)X3(n)][X3(n)X4(n)]
=X2(n)X4(n),
X17(n)=X7(n+1)=X10(n)X11(n)=[X3(n)X4(n)][X4(n)X5(n)]
=X3(n)X5(n),
X18(n)=X8(n+1)=X11(n)X12(n)=[X4(n)X5(n)][X5(n)X6(n)]
=X4(n)X6(n),
X19(n)=X9(n+1)=X12(n)X13(n)=[X5(n)X6(n)][X6(n)X7(n)]
=X5(n)X7(n),
X20(n)=X10(n+1)=X13(n)X14(n)=[X6(n)X7(n)][X7(n)X8(n)]
=X6(n)X8(n)을 만족한다.
(여기서, n은 현재 클럭, n+1은 다음 클럭을 나타낸다)
위에서, X1은 도 6의 D[0]에 대응하고, X2는 도 6의 D[1]에 대응하고, X3은 도 6의 D[2]에 대응하며, X10은 도 6의 D[9]에 대응한다.
표 1은 도 6의 10 비트 병렬 PRBS 출력과, 상기 10 비트 병렬 PRBS 출력을 입력으로 할 경우의 도 5의 유사 8B/10B 코드 발생부(600)의 출력을 나타낸 것이다.
표 1을 참조하면, 27-1, 즉, 127개의 WORD가 반복해서 계속 출력된다. 표 1에서 D[0:6]의 초기값은 "0000010"이다. 8B/10B 코드의 경우 6 비트, 4 비트 단위로 구분되어 있으므로 이를 '_'으로 구분하였다.
<표 1>
PRBS 출력 유사 8B/10B 코드 발생부 출력
(D<0:9>) (ENC<0:9>)
000001_0000 000111_0101
011000_0101 111000_0101
...
000000_1000 100111_1000
...
101111_1110 001110_1110
표1에 나타난 바와 같이 10 비트 병렬 PRBS 발생부(400)의 출력인 의사 랜덤 비트열 D <0:9>에는 10 비트 중에서 '0'의 개수가 일반적인 8B/10B code 처럼 4개, 5개, 또는 6개가 되지 않은 경우가 많이 발생한다. 또한, 의사 랜덤 비트열 D <0:9>에는 '1' 이 연속해서 7개가 나오는 경우도 있고, '0'이 연속해서 6개가 나오는 경우도 있다.
본 발명에 따른 8B/10B 코드 발생부(600)는 10 비트 병렬 PRBS 발생부(400)의 출력을 입력받아 각 워드(word, 10bit) 내에 '0' 혹은 '1'의 개수는 4개 ~ 6개로 제한되도록 하고, 2 워드(word)를 포함하여 '0' 혹은 '1'이 연속해서 5개 이내로 나오도록 한다. 즉, 연속된 워드(word)에 있어서도 '0' 혹은 '1'이 연속해서 5개 이내로 나오도록 한다. 그 결과, 8B/10B 코드와 유사한 enc<0:9>가 얻어진다.
이하, 도 7을 참조하여 유사 8B/10B 코드의 구현 규칙을 설명한다.
도 7은 유사 8B/10B 코드를 발생시키는 방법을 설명하는 순서도이다.
도 7을 참조하면, 먼저, 10 비트의 PRBS d<0:9> 중 상위 6 비트인 d<0:5>와 하위 4 비트인 d<6:9>를 분리한다(S710).
상위 6 비트 d<0:5>에서 연속된 3 비트 d<0:2>, d<1:3>, d<2:4>, d<3:5>, d<4:5,0>, d<5,0:1>를 모두 검사하여 연속된 3 비트가 모두 이진값 '0' 또는 '1'로 동일한 데이터인지 판단한다(S712). 이때, 상위 비트가 하위 비트보다 우선되어 검사될 수 있다. 예를 들어, d<0:2>가 d<1:3>, d<2:4>, d<3:5>, d<4:5,0>, d<5,0:1> 보다 우선되어 검사될 수 있다. 즉, d<0:2>에서 검사 결과 모두 동일 이진값을 가지면 d<1:3> 및 나머지 비트는 검사하지 않는다. 마찬가지로, d<1:3>의 경우가 d<2:4> 및 나머지 비트보다 우선되어 검사된다. 또한, 하위 비트가 상위 비트보다 우선되어 검사될 수 있다. 즉, d<5,0:1>가 d<0:2>, d<1:3>, d<2:4>, d<3:5>, d<4:5,0> 및 d<5,0:1> 보다 우선되어 검사될 수 있다.
상기 판단 결과, 연속된 3 비트가 모두 동일한 이진값을 갖는 경우가 있다면 상기 연속된 3 비트와 인접한 2 비트 및 나머지 비트들 내의 인접 2 비트를 검사하여 상기 연속된 3 비트와 동일한 이진값을 갖는지 검사한다(S714).
상기 인접한 2 비트가 상기 연속 3 비트와 동일한 이진값을 가진 데이터인지를 판단한다(S714).
상기 인접한 2 비트가 상기 연속 3 비트와 동일한 이진값을 가진 데이터이면 인접한 2 비트 중 마지막 비트를 반전시킨다(S716). 단, d<5,0>을 검사할 경우에는 회전(rotation) 방향에 의해 d<0>를 마지막 비트로 본다. 나머지 비트들은 변하지 않는다. 또는, 상기 인접한 2 비트가 상기 연속 3 비트와 동일한 이진값을 가진 데이터이면 인접한 2 비트 중 마지막 비트 대신 첫 번째 비트를 반전시킬 수도 있다.
상기 판단 결과, 연속된 3 비트가 모두 동일한 이진값을 갖는 경우가 없거나 연속 3 비트는 동일하지만 인접 2 비트가 동일한 경우가 없을 경우에는 단계 S718을 수행한다. 하위 4 비트(d<6:9>)에서 연속된 3 비트(d<6:8>, d<7:9>, d<8:9,6>, d<9,6:7>)가 동일한 데이터를 갖는 경우에는 상기 연속된 3 비트 중에서 가운데 비트를 반전(inversion)시킨다(S720). 이때, 예를 들어, d<6>, d<8>은 하위 4 비트가 모두 동일한 값을 가지지 않은 경우에 반전시키고, d<7>, d<9>는 하위 4 비트가 동일한 것과 관계없이 반전시킨다. 또는, 하위 4 비트(d<6:9>)에서 연속된 3 비트가 동일한 데이터를 갖는 경우에는 상기 연속된 3 비트 중에서 가운데 비트 대신 첫 번째 또는 마지막 비트를 반전시킬 수도 있음은 물론이다.
하위 4 비트 d<6:9>가 모두 이진값 '0' 또는 '1'로 동일한지여부를 검사하여 동일하면 d<7> , d<9>을 각각 반전시킨다(S722). 또는, 하위 4 비트 d<6:9>가 모두 이진값 '0' 또는 '1'로 동일하면 d<7> 및 d<9> 대신 d<6> 및 d<8>을 각각 반전시키거나 d<7> 및 d<8>을 각각 반전시킬 수도 있음은 물론이다.
하위 4 비트 d<6:9>가 동일하지 않은 경우에는 단계 S726을 수행한다.
10 비트의 PRBS d<0:9> 중 상위 7 비트 d<0:6>이 동일하면 d<7> 및 d<9>를 반전시키고(S726), 동일하지 않으면 종료한다. 이때, d<7> 및 d<9> 대신 d<6> 및 d<8>을 각각 반전시키거나 d<7> 및 d<8>을 각각 반전시킬 수도 있음은 물론이다.
이하, 예를 들어 유사 8B/10B 코드 발생 방법을 설명한다.
d<0> d<1> d<2> d<3> d<4> d<5> d<6> d<7> d<8> d<9>
0 0 0 1 0 0 0 0 0 0
상위 6 비트 d<0:5>에서 d<0:2>가 "000"으로 모두 동일한 이진값을 가지며, d<0:2>에 인접한 2 비트인 d<2:3>는 동일한 이진값을 갖지 않으며, d<0:5>에서 d<0:2>를 제외한 나머지 비트들(d<3>, d<4>, d<5>) 중 인접한 2 비트인 d<3:4>는 동일한 이진값을 갖지 않는다. d<4:5> 및 d<5,0> 이 모두 '0'으로 동일하므로 각각의 인접한 2 비트 중 마지막 비트인 d<5>, d<0>을 각각 반전시켜 다음과 같은 인코딩된 값을 얻는다.
enc<0> enc<1> enc<2> enc<3> enc<4> enc<5>
1 0 0 1 0 1
여기서, 하위 4 비트 d<6:9>가 모두 동일한 '0'을 가지므로 d<7> 및 d<9>를 반전시켜 다음과 같은 인코딩된 값을 얻는다.
enc<0> enc<1> enc<2> enc<3> enc<4> enc<5> enc<6> enc<7> enc<8> enc<9>
1 0 0 1 0 1 0 1 0 1
또 다른 예를 들면,
d<0> d<1> d<2> d<3> d<4> d<5> d<6> d<7> d<8> d<9>
0 1 1 0 1 0 1 1 0 1
상위 6 비트인 d<0:5> 중에 연속된 3 비트가 '1' 또는 '0'인 경우는 없고, 하위 4 비트 d<6:9> 중 연속된 3 비트인 d<9,6:7>이 동일한 이진값 '1'을 가지므로 중간 비트인 d<6>을 반전시켜 다음과 같은 인코딩된 값을 얻는다.
enc<0> enc<1> enc<2> enc<3> enc<4> enc<5> enc<6> enc<7> enc<8> enc<9>
0 1 1 0 1 0 0 1 0 1
도 8은 도 5의 유사 8B/10B 코드 발생부의 일례를 나타내는 회로도이다.
도 8을 참조하면, 유사 8B/10B 코드 발생부(600)는 변환부(610), 제1 반전부(630) 및 제2 반전부(640)를 포함한다.
변환부(610)는 제1 내지 제6 검사부(612, 614, 616, 618, 620, 622)를 포함한다.
변환부(610)는 10 비트 병렬 PRBS 데이터 d<0:9>를 입력받아 상위 6 비트 d<0:5>)(제1 입력 데이터) 중 연속된 3 비트(제1 연속 데이터)가 동일한 이진값을 갖는지 검사하고, d<0:5> 중 인접한 2 비트(제2 연속 데이터)가 동일한 이진값을 갖는지를 검사한다. 또한, 변환부(610)는 d<0:9> 중 상위 7 비트 d<0:6>의 각 비트가 모두 동일한 이진값("0000000" 또는 "1111111")을 갖는지를 검사한다. 그 결과, d<0:9>의 이진값 '0' 또는 '1'이 연속해서 소정 개수 M1(M1은 N 보다 작은 자연수) 이내를 갖도록 한다.
이하, 제1 내지 제6 검사부(612, 614, 616, 618, 620, 622)의 입력 단자 pre_yad는 이전 검사부에서의 검사 결과 연속된 3 비트가 이진값 "111"을 가지는지 여부를 나타내는 신호를 입력받고, 입력 단자 pre_ynr는 이전 검사부에서의 검사 결과 연속된 3 비트가 이진값 "000"을 가지는지 여부를 나타내는 신호를 입력받는다.
또한, 제1 내지 제6 검사부(612, 614, 616, 618, 620, 622)의 출력 단자 yad는 현재 검사부에서의 검사 결과 연속된 3 비트가 이진값 "111"을 가지는지 여부를 나타내는 신호를 출력하고, 출력 단자 ynr는 현재 검사부에서의 검사 결과 연속된 3 비트가 이진값 "000"을 가지는지 여부를 나타내는 신호를 출력한다.
제1 검사부(612)는 입력 단자 pre_yad, pre_ynr이 논리 '1'인 상태에서 입력 단자 data<0>, data<1>, data<2>, data<3>, data<4> 및 data<5>(이하 data<0:5>라고 함)를 통하여 10 비트 PRBS 데이터 d<0:9> 중 d<0>, d<1>, d<2>, d<3>, d<4> 및 d<5>(이하 d<0:5>라고 함)를 입력받아 d<0>, d<1> 및 d<2>(이하 d<0:2>이라 함)가 모두 동일한 이진값을 갖는지 여부를 검사하고, d<0:2>가 동일한 이진값을 갖는지 여부를 나타내는 신호를 출력 단자 ent를 통하여 ent<0> 신호로 출력한다. 예를 들어, d<0:2>가 동일한 이진값을 갖는 경우에는 ent<0>는 논리 '1'을 갖는다.
제2 검사부(614)는 입력 단자 data<0:5>를 통하여 d<1>, d<2>, d<3>, d<4>, d<5>, d<0> (이하 d<1:5,0>라고 함)을 병렬로 입력받아 d<1>, d<2> 및 d<3>(이하 d<1:3>이라 함)이 모두 동일한 이진값을 갖는지 검사하고, d<1:3>이 동일한 이진값을 갖는지 여부를 나타내는 신호를 출력 단자 ent를 통하여 ent<1> 신호로 출력한다. 예를 들어, d<1:3>가 동일한 이진값을 갖는 경우에는 ent<1>는 논리 '1'을 갖는다.
제3 검사부(616)는 입력 단자 data<0:5>를 통하여 d<2>, d<3>, d<4>, d<5>, d<0> 및 d<1> (이하 d<2:5,0:1>라고 함)을 병렬로 입력받아 d<2>, d<3> 및 d<4>(이하 d<2:4>이라 함)가 모두 동일한 이진값을 갖는지 검사하고, d<2:4>이 동일한 이진값을 갖는지 여부를 나타내는 신호를 출력 단자 ent를 통하여 ent<2> 신호로 출력한다. 예를 들어, d<2:4>가 동일한 이진값을 갖는 경우에는 ent<2>는 논리 '1'을 갖는다.
제4 검사부(618)는 입력 단자 data<0:5>를 통하여 d<3>, d<4>, d<5>, d<0>, d<1> 및 d<2> (이하 d<3:5,0:2>라고 함)를 병렬로 입력받아 d<3>, d<4> 및 d<5>(이하 d<3:5>이라 함)가 모두 동일한 이진값을 갖는지 검사하고, d<3:5>가 동일한 이진값을 갖는지 여부를 나타내는 신호를 출력 단자 ent를 통하여 ent<3> 신호로 출력한다. 예를 들어, d<3:5>가 동일한 이진값을 갖는 경우에는 ent<3>는 논리 '1'을 갖는다.
제5 검사부(620)는 입력 단자 data<0:5>를 통하여 d<4>, d<5>, d<0>, d<1>, d<2> 및 d<3> (이하 d<4:5,0:3>라고 함)을 병렬로 입력받아 d<4>, d<5> 및 d<0>(이하 d<4:5,0>이라 함)이 모두 동일한 이진값을 갖는지 검사하고, d<4:5,0>가 동일한 이진값을 갖는지 여부를 나타내는 신호를 출력 단자 ent를 통하여 ent<4> 신호로 출력한다. 예를 들어, d<4:5,0>가 동일한 이진값을 갖는 경우에는 ent<4>는 논리 '1'을 갖는다.
제6 검사부(622)는 입력 단자 data<0:5>를 통하여 d<5>, d<0>, d<1>, d<2>, d<3> 및 d<4>(이하 d<5,0:4>라고 함)를 병렬로 입력받아 d<5>, d<0> 및 d<1>(이하 d<5:0,1>이라 함)이 모두 동일한 이진값을 갖는지 검사하고, d<5:0,1>가 동일한 이진값을 갖는지 여부를 나타내는 신호를 출력 단자 ent를 통하여 ent<5> 신호로 출력한다. 예를 들어, d<5:0,1>가 동일한 이진값을 갖는 경우에는 ent<5>는 논리 '1'을 갖는다.
인버터 I8 및 I9와 NOR 게이트 I10,I11,I12,I13,I14,I15,I37 및 I38은 10 비트 PRBS 데이터 d<0:9>의 상위 6 비트 중 3 비트를 분리하여 현재 검사부의 검사 결과를 다음 검사부의 pre_yad 및 pre_ynr로 인에이블(enable) 신호로서 제공한다.
인버터 I8은 출력 단자 yad에 접속되어 d<0:2>이 "111"이 아닌 경우 논리 '1'을 제2 검사부(614)의 pre_yad로 제공한다.
인버터 I9는 출력 단자 ynr에 접속되어 d<0:2>이 "000"이 아닌 경우 논리 '1'을 제2 검사부(614)의 pre_ynr로 제공한다.
제1 검사부(612)의 출력 단자 yad 및 ynr는 각각 d<0:2>가 "111", "000"인 경우를 나타내고, 제2 검사부(614)의 출력 단자 yad 및 ynr는 각각 d<1:3>이 "111", "000"인 경우를 나타낸다.
NOR 게이트 I10은 d<0:2> 및 d<1:3>이 각각 "111"이 아닐 경우 논리 '1'을 제3 검사부(616)의 pre_yad 입력단자로 제공하여 d<2:5>에 대해 '1' 이 연속 3번인 비트가 존재하는지 검사하도록 제3 검사부(616)의 pre_yad 입력단자를 인에이블 시킨다.
NOR 게이트 I11은 d<0:2> 및 d<1:3>이 각각 "000"이 아닐 경우 논리 '1'을 제3 검사부(616)의 pre_ynr 입력단자로 제공하여 d<2:5>에 대해 '0' 이 연속 3번인 비트가 존재하는지 검사하도록 제3 검사부(616)의 pre_ynr 입력단자를 인에이블 시킨다.
마찬가지로, NOR 게이트 I12는 d<0:2>, d<1:3> 및 d<2:4>이 각각 "111"이 아닐 경우 논리 '1'을 제4 검사부(616)의 pre_yad 입력단자로 제공하여 제4 검사부(618)의 pre_yad 입력단자를 인에이블 시킨다.
NOR 게이트 I13은 d<0:2>, d<1:3> 및 d<2:4>이 각각 "000"이 아닐 경우 논리 '1'을 제4 검사부(618)의 pre_ynr 입력단자로 제공하여 제4 검사부(618)의 pre_ynr 입력단자를 인에이블 시킨다.
NOR 게이트 I14는 d<0:2>, d<1:3>, d<2:4> 및 d<3:5>이 각각 "111"이 아닐 경우 논리 '1'을 제5 검사부(620)의 pre_yad 입력단자로 제공하여 제5 검사부(620)의 pre_yad 입력단자를 인에이블 시킨다.
NOR 게이트 I15는 d<0:2>, d<1:3>, d<2:4> 및 d<3:5>이 각각 "000"이 아닐 경우 논리 '1'을 제5 검사부(620)의 pre_yad 입력단자로 제공하여 제5 검사부(620)의 pre_yad 입력단자를 인에이블 시킨다.
NOR 게이트 I37은 d<0:2>, d<1:3>, d<2:4>, d<3:5> 및 d<4:5,0>이 각각 "111"이 아닐 경우 논리 '1'을 제6 검사부(622)의 pre_yad 입력단자로 제공하여 제6 검사부(622)의 pre_yad 입력단자를 인에이블 시킨다.
NOR 게이트 I38은 d<0:2>, d<1:3>, d<2:4>, d<3:5> 및 d<4:5,0>이 각각 "000"이 아닐 경우 논리 '1'을 제6 검사부(622)의 pre_yad 입력단자로 제공하여 제6 검사부(622)의 pre_yad 입력단자를 인에이블 시킨다.
OR 게이트 I35는 d<3>을 반전시킬 수 있는 3가지 경우 중 하나에 해당되면 반전 인에이블 신호 sel<3>으로 논리 '1'을 출력한다. 구체적으로 OR 게이트 I35는 i) 연속된 3 비트 d<0:2>가 동일하고, 연속된 2 비트 d<2:3>이 동일한 경우, ii) d<4:5,0> 이 동일하고, d<2:3>이 동일한 경우, iii) d<5,0:1> 이 동일하고 d<2:3>이 동일한 경우 중 어느 하나에 해당되면 반전 인에이블 신호 sel<3>으로 논리 '1'을 출력한다.
마찬가지로 OR 게이트 I36, I20, I30, I34 및 I24는 각각 d<4>, d<5>, d<0>, d<1> 및 d<2>를 반전시킬 수 있는 3가지 경우 중 하나에 해당되면 각각 반전 인에이블 신호 sel<4>, sel<5>, sel<0>, sel<1> 및 sel<2>으로 논리 '1'을 출력한다.
NOR 게이트 I47은 d<0:5> 중 연속된 3 비트가 동일하지 않거나 동일한 경우에는 인접한 2 비트(제2 연속 데이터)가 동일하지 않은 경우 no3 신호로 논리 '1'을 출력하여 제2 반전부(640)에 제공한다.
AND 게이트 I42, NOR 게이트 I43, AND 게이트 I44, OR 게이트 I45, AND 게이트 I46은 d<0:6>이 모두 동일한 이진값을 갖는지를 검사하여 모두 동일한 값을 가지는 경우 ensel 신호가 논리 '1'을 갖도록 하고 ensel 신호를 제2 반전부(640)에 제공한다.
제1 반전부(630)는 상위 6 비트인 d<0:5>를 입력 단자 din<0:5>를 통하여 입력받아 반전 인에이블 신호 sel<0:5>에 의하여 d<0:5>의 각 비트를 반전시킬지 여부를 결정한다.
제2 반전부(640)는 하위 4 비트(제2 입력 데이터)인 d<6:9>를 입력 단자 data<0:3>를 통하여 입력받아 하위 4비트 d<6:9>의 각 비트를 반전시킬지 여부를 결정한다.
도 9는 도 8의 제1 검사부의 구체 회로도를 나타낸다.
NOR 게이트 I7은 d<0:2>가 "000" 인 경우 논리 '1'을 출력하고, AND 게이트 I8은 d<0:2>가 "111"인 경우 논리 '1'을 출력한다.
d<0:2>가 "000"인 경우에는 인접 2 비트 (d<2:3>, d<3:4>, d<4:5>, d<5,0>)가 "00"인지 여부를 NOR 게이트 I0, I1, I6, I17로 검사한다. d<0:2>가 "111"인 경우에는 인접 2 비트 (d<2:3>, d<3:4>, d<4:5>, d<5,0>)가 "11"인지 여부를 AND 게이트 I2, I3, I4 및 I19로 검사한다.
AND 게이트 I5, I9', I10' 및 I18 은 d<0:2>가 '000'으로 동일하고, 인접 2 비트(d<2:3>, d<3:4>, d<4:5>, d<5,0>)가 '00'을 가지는 경우가 존재하는지 검사한다.
마찬가지로 AND 게이트 I13', I12', I11' 및 I20'은 d<0:2>가 '111'로 동일하고, 인접 2 비트(d<2:3>, d<3:4>, d<4:5>, d<5,0>)가 '11'을 가지는 경우가 존재하는지 검사한다.
OR 게이트 I14'는 d<0:2>가 동일한 이진값("111" 또는 "000")을 가지고 인접 2 비트인 d<2:3>이 d<0:2>와 동일한 이진값을 갖는 경우 논리 '1'을 출력하여 d<2:3>의 마지막 비트인 d<3>을 반전시키기 위한 반전 인에이블 신호 en3을 제공한다.
마찬가지로, OR 게이트 I15'는 d<0:2>가 동일한 이진값("111" 또는 "000")을 가지고 d<3:4>이 d<0:2>와 동일한 이진값을 갖는 경우 논리 '1'을 출력하여 d<3:4>의 마지막 비트인 d<4>를 반전시키기 위한 반전 인에이블 신호 en4를 제공한다.
마찬가지로, OR 게이트 I27은 d<0:2>가 동일한 이진값("111" 또는 "000")을 가지고 인접 2 비트인 d<4:5>이 d<0:2>와 동일한 이진값을 갖는 경우 논리 '1'을 출력하여 d<4:5>의 마지막 비트인 d<5>를 반전시키기 위한 반전 인에이블 신호 en5를 제공한다.
마찬가지로, OR 게이트 I26은 d<0:2>가 동일한 이진값("111" 또는 "000")을 가지고 인접 2 비트인 d<5,0>이 d<0:2>와 동일한 이진값을 갖는 경우 논리 '1'을 출력하여 d<5,0>의 마지막 비트인 d<0>를 반전시키기 위한 반전 인에이블 신호 en0을 제공한다.
AND 게이트 I23은 d<0:2>가 "000"을 가지고 이전 검사부에서 연속된 3 비트가 동일한 이진값("000")이 아닌 경우 논리 '1'을 출력한다.
AND 게이트 I25는 d<0:2>가 "111"을 가지고 이전 검사부에서 연속된 3 비트가 동일한 이진값("111")이 아닌 경우 논리 '1'을 출력한다.
OR 게이트 I28은 연속된 3 비트가 동일한지 또는 연속된 3 비트가 동일한 경우 인접 2 비트가 동일한지 여부를 검사하여, 연속된 3 비트가 동일한 비트값을 가지고 인접 2 비트가 동일한 비트값을 가지는 경우에 출력 단자 ent를 통하여 논리 '1'을 출력한다. OR 게이트 I28의 출력 신호는 하위 4 비트 (d<6:9>)의 반전 여부를 결정하는데 참작된다.
도 10은 도 8의 제2 검사부의 구체 회로도를 나타낸다.
제2 검사부(614)는 인접 2 비트가 d<2:3>, d<3:4>, d<4:5>, d<5,0> 4개인 경우를 검사하는 도 9의 제1 검사부(612)와는 달리 인접 2 비트가 d<3:4>, d<4:5>, d<5:0> 3개인 경우를 검사한다.
OR 게이트 I28'은 연속된 3 비트가 동일한지 또는 연속된 3 비트가 동일한 경우 인접 2 비트가 동일한지 여부를 검사하여, 연속된 3 비트가 동일한 비트값을 가지고 인접 2 비트가 동일한 비트값을 가지는 경우에 출력 단자 ent를 통하여 논리 '1'을 출력한다.
도 11, 12 및 13은 각각 도 8의 제3, 제4, 제5 검사부의 구체 회로도를 나타낸다.
도 11을 참조하면, 제3 검사부(616)는 인접 2 비트가 d<4:5>, d<5:0> 및 d<5:1> 3개인 경우를 검사한다.
도 12를 참조하면, 제4 검사부(618)는 인접 2 비트가 d<5:0>, d<0:1> 및 d<1:2> 3개인 경우를 검사한다.
도 13을 참조하면, 제5 검사부(620)는 인접 2 비트가 d<0:1>, d<1:2> 및 d<2:3> 3개인 경우를 검사한다.
도 14는 도 8의 제6 검사부의 구체 회로도를 나타낸다.
도 14를 참조하면, 제6 검사부(622)는 인접 2 비트가 3개인 경우를 검사하는 제2 내지 제5 검사부(614, 616, 618, 620)와는 달리 인접 2 비트가 d<3:4>, d<4:5> 2개인 경우를 검사한다.
도 15는 도 8의 제1 반전부의 구체 회로도를 나타낸다.
도 15를 참조하면, 제1 반전부(630)는 복수의 멀티플렉서 I6, I7', I9'', I13'', I12'' 및 I11''로 이루어진다. 즉, 제1 반전부(630)는 입력 단자 din<0:5>를 통하여 d<0:5>를 입력받아 반전 인에이블 신호 sel<0:5>에 의해서 d<0:5>의 각 비트를 반전할지 여부를 결정한다.
예를 들어, sel<0>이 '1'이면 I6의 출력 enc<0>는 d<0>를 반전시킨
가지며, sel<1>이 '1'이면 I7의 출력 enc<1>는 d<1>를 반전시킨 을 가진다.
마찬가지로 sel<2>, sel<3>, sel<4> 또는 sel<5>이 '1'이면 이에 상응하는 d<2>, d<3>, d<4>, d<5>를 반전시켜 출력한다.
도 16은 도 8의 제2 반전부의 구체 회로도를 나타낸다.
도 16을 참조하면, 제2 반전부(640)의 NOR 게이트 I40, AND 게이트 I41, OR 게이트 I43 및 I47은 하위 4 비트 d<6:9>를 검사하여 동일한 이진값("0000" 또는 "1111")을 가지는 경우에는 sel_inv 신호로 논리 '1'을 출력한다. sel_inv 신호가 논리 '1'을 가지면, 제2 반전부(640)의 OR 게이트 I26' 및 I32에 의해 하위 4 비트 d<6:9> 중 둘째, 넷째 비트인 d<7>, d<9> 비트가 반전되고, 제2 반전부(640)의 AND 게이트 I33 및 I34'에 의해 첫째, 셋째 비트인 d<6>, d<8> 비트는 반전되지 않는다.
상위 6비트인 d<0:5> 중 연속된 3 비트(제3 연속 데이터)가 동일한 이진값을 갖지 않거나 동일한 이진값을 가진 경우에는 인접한 2 비트가 동일한 이진값을 가지지 않은 경우 no3 신호로 논리 '1'을 출력한다.
NOR 게이트 I8''', I11'', I12'', I19 및 AND 게이트 I13'', I14'', I15'', I20'에서는 data<0>, data<1>, data<2>, data<3>을 통하여 각각 d<6>, d<7>, d<8>, d<9>를 입력받아 하위 4 비트 d<6:9> 중 연속 3 비트가 동일한 이진값을 가지는지 검사한다. 동일한 이진값을 가지는 경우, OR 게이트 제2 반전부(640)의 I16', I17', I18, I21에서는 상기 연속 3 비트의 중간 비트를 반전시키기 위한 반전 인에이블 신호 sel<1>, sel<2>, sel<3>, sel<0>를 출력한다. 여기서, sel<0>, sel<1>, sel<2> 및 sel<3> 는 각각 하위 4 비트인 d<6>, d<7>, d<8> 및 d<9>를 반전시키기 위한 반전 인에이블 신호를 나타낸다.
예를 들어, NOR 게이트 I8'''은 data<0:2> 입력 단자를 통하여 d<6:8>을 입력받아 d<6:8>이 "000"인 경우 논리 '1'을 출력하고, AND 게이트 I13''은 data<0:2> 입력 단자를 통하여 d<6:8>을 입력받아 d<6:8>이 "111"인 경우 논리 '1'을 출력한다.
OR 게이트 I16'은 d<6:8>이 "000" 또는 "111"인 경우 d<7>을 반전시키기 위한 반전 인에이블 신호 sel<1>로 논리 '1'을 출력한다. 구체적으로, sel_inv='0' 인 조건에서, sel<1>이 논리 '1'을 가지고, no3이 논리 '1'을 가지면 OR 게이트 I26'은 논리 '1'을 출력하며, 멀티플렉서 I9''는 D1 입력단자로 입력되는 반전된 d<7>(d<6:8>의 가운데 비트)을 출력 단자 y<1>을 통하여 출력한다.
PRBS 10 비트 중 상위 7 비트가 모두 동일한 이진값("0000000" 또는 "1111111")을 가지는 경우에는 ensel이 논리 '1'을 가지게 되므로 하위 4 비트 d<6:9> 중 둘째, 넷째 비트를 반전시키도록 sel_inv 신호를 논리 '1'로 만들어 준다.
상기와 같은 유사 8B/10B 코드 발생 방법 및 장치에 따르면, PRBS 발생기의 출력을 변형하여 실제 유선 통신망에서 주로 사용되는 8B/10B 코드(code)와 유사한 테스트 패턴을 생성하여 고속 인터페이스 I/O 장치, 예를 들어, 직렬화기의 입력으로 직접 제공함으로써 직렬화기와 같은 고속 인터페이스 I/O의 성능을 효과적으로 검증할 수 있다.
또한, 병렬 PRBS 패턴을 생성하기 위하여 복잡한 회로 구성을 요하지 않고 XOR 게이트와 플립플롭만으로 구성하여 PRBS 발생기를 구현함으로써 게이트 개수를 줄일 수 있다.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
도 1은 일반적인 n:1 직렬화기의 블록도이다.
도 2는 도 1의 n:1 직렬화기의 직렬화된 데이터를 나타낸 파형도이다.
도 3은 일반적인 PRBS 발생기를 나타낸 블록도이다.
도 4는 도 3의 PRBS 발생기의 X1 출력을 나타낸 타이밍도이다.
도 5는 본 발명의 일실시예에 따른 유사 8B/10B 코드 발생 장치의 블록도이다.
도 6은 도 5의 PRBS 발생부를 10 비트 병렬 PRBS 발생기로 구현한 것이다.
도 7은 유사 8B/10B 코드를 발생시키는 방법을 설명하는 순서도이다.
도 8은 도 5의 유사 8B/10B 코드 발생부의 일례를 나타내는 회로도이다.
도 9는 도 8의 제1 검사부의 구체 회로도를 나타낸다.
도 10은 도 8의 제2 검사부의 구체 회로도를 나타낸다.
도 11은 도 8의 제3 검사부의 구체 회로도를 나타낸다.
도 12는 도 8의 제4 검사부의 구체 회로도를 나타낸다.
도 13은 도 8의 제5 검사부의 구체 회로도를 나타낸다.
도 14는 도 8의 제6 검사부의 구체 회로도를 나타낸다.
도 15는 도 8의 제1 반전부의 구체 회로도를 나타낸다.
도 16은 도 8의 제2 반전부의 구체 회로도를 나타낸다.
<도면의 주요 부분에 대한 부호의 설명>
400 : PRBS 발생부
500: 유사 8B/10B 코드 발생 장치
600: 유사 8B/10B 코드 발생부
612, 614, 616, 618, 620, 622 : 제1 내지 제6 검사부
630 : 제1 반전부
640 : 제2 반전부

Claims (20)

  1. N(N은 2이상의 자연수)개 비트의 병렬 의사 랜덤 비트열을 발생시키는 단계; 및
    N 개 비트의 상기 병렬 의사 랜덤 비트열을 입력받아 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'이 연속해서 M1(M1은 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환하는 단계를 포함하는 유사 8B/10B 코드 발생 방법.
  2. 제1항에 있어서, 상기 유사 8B/10B 코드 발생 방법은
    직렬화기의 테스트 패턴으로서 상기 인코딩된 병렬 의사 랜덤 비트열을 상기 직렬화기로 제공하는 단계를 더 포함하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
  3. 제1항에 있어서, 상기 유사 8B/10B 코드 발생 방법은
    N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'의 개수가 M2(M2는 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환하는 단계를 더 포함하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
  4. 제1항에 있어서, 상기 병렬 의사 랜덤 비트열을 변환하는 단계는 상기 병렬 의사 랜덤 비트열의 일부 비트를 반전시켜 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'의 개수가 연속해서 M1개 이내를 가지도록 하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
  5. 제4항에 있어서, 상기 병렬 의사 랜덤 비트열을 변환하는 단계는
    N 개 비트의 상기 병렬 의사 랜덤 비트열을 N1(N1은 N 보다 작은 자연수) 개 비트의 제1 입력 데이터와 N2(N2는 N보다 작은 자연수) 개 비트의 제2 입력 데이터로 분리하는 단계;
    상기 제1 입력 데이터에 대하여 K1(K1은 2이상이고 N1 보다 작은 자연수) 개의 연속된 비트로 이루어진 제1 연속 데이터의 각 비트가 동일한 이진값을 가지는지 여부를 판단하는 단계;
    상기 제1 입력 데이터 중 상기 제1 연속 데이터에 인접한 K2 (K2는 2이상이고 K1 보다 작은 자연수) 개의 연속된 비트로 이루어진 제2 연속 데이터의 각 비트의 이진값이 상기 제1 연속 데이터의 각 비트의 이진값과 동일한지 여부를 판단하는 단계;
    상기 판단 결과, 상기 제1 연속 데이터의 각 비트가 동일한 이진값을 가지고, 상기 제2 연속 데이터의 각 비트의 이진값이 상기 제1 연속 데이터의 각 비트의 이진값과 동일한 경우에는 상기 제2 연속 데이터 중 하나의 비트를 반전시키는 단계;
    상기 판단 결과, 상기 제1 연속 데이터의 각 비트가 동일한 이진값을 갖지 않거나 상기 제2 연속 데이터의 각 비트의 이진값이 상기 제1 연속 데이터의 각 비트의 이진값과 동일하지 않은 경우에는, 상기 제2 입력 데이터 중 K2 (K2는 2 이상이고 N2 보다 작은 자연수) 개의 연속된 비트로 이루어진 제3 연속 데이터의 각 비트의 이진값이 동일한 이진값을 갖는지 판단하는 단계;
    상기 판단 결과, 상기 제3 연속 데이터의 각각의 이진값이 동일한 이진값을 갖는 경우에는 상기 제3 연속 데이터 중 하나의 비트를 반전시키는 단계를 포함하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
  6. 제5항에 있어서, 상기 제1 연속 데이터의 각 비트가 동일한 이진값을 가지는지 여부를 판단하는 단계는 상기 제1 입력 데이터의 상위 비트들 중의 제1 연속 데이터를 상기 제1 입력 데이터의 하위 비트들 중의 제1 연속 데이터보다 더 높은 우선 순위로 판단하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
  7. 제5항에 있어서,
    상기 제2 연속 데이터 중 하나의 비트는 상기 제2 연속 데이터의 마지막 비트인 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
  8. 제5항에 있어서,
    상기 제3 연속 데이터 중 하나의 비트는 상기 제3 연속 데이터의 가운데 비트인 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
  9. 제5항에 있어서, 상기 병렬 의사 랜덤 비트열을 변환하는 단계는
    상기 N 개 비트 중 상위 N3(N3은 N보다 작고 N1보다 큼) 개 비트의 각 비트의 이진값이 동일한 경우에는 상기 제2 입력 데이터의 짝수번째 비트를 반전시키는 단계를 더 포함하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
  10. 제1항에 있어서, N은 10이고, M1은 5인 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
  11. 제10항에 있어서, N1은 6, N2는 4, K1은 3, K2는 2인 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
  12. N(N은 2이상의 자연수)개 비트의 병렬 의사 랜덤 비트열을 발생시키는 의사 랜덤 비트열 발생부; 및
    N 개 비트의 상기 병렬 의사 랜덤 비트열을 입력받아 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'이 연속해서 M1(M1은 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환하는 유사 8B/10B 코드 발생부를 포함하는 유사 8B/10B 코드 발생 장치.
  13. 제12항에 있어서, 상기 의사 랜덤 비트열 발생부는 N개의 스테이지로 이루어지며, 각 스테이지는
    XOR 게이트와 상기 XOR 게이트의 출력단에 결합된 플립플롭으로 이루어지는 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
  14. 제12항에 있어서, 상기 유사 8B/10B 코드 발생부는
    N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'의 개수가 M2(M2는 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환하는 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
  15. 제12항에 있어서, 상기 유사 8B/10B 코드 발생부는 상기 병렬 의사 랜덤 비트열의 일부 비트를 반전시켜 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'의 개수가 연속해서 M1개 이내를 가지도록 하는 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
  16. 제15항에 있어서, 상기 유사 8B/10B 코드 발생부는
    N개의 병렬 의사 랜덤 비트열에 속하는 N1(N1은 N 보다 작은 자연수) 개 비트로 이루어진 제1 입력 데이터 중 K1(K1은 2이상이고 N1 보다 작은 자연수) 개의 연속된 비트로 이루어진 제1 연속 데이터가 동일한 이진값을 갖는지 검사하고, 상기 제1 연속 데이터와 인접한 K2(K2는 2이상이고 K1 보다 작은 자연수) 개의 연속된 비트로 이루어진 제2 연속 데이터의 이진값이 상기 제1 연속 데이터의 각 비트의 이진값과 동일한지 여부를 판단하는 변환부;
    상기 제1 입력 데이터를 입력받아 상기 제1 연속 데이터의 각 비트가 동일한 이진값을 가지고 상기 제2 연속 데이터의 각 비트의 이진값이 상기 제1 연속 데이터의 각 비트의 이진값과 동일한 경우에는 상기 제2 연속 데이터 중 하나의 비트를 반전시키는 제1 반전부; 및
    N개의 병렬 의사 랜덤 비트열 중 상기 제1 입력 데이터를 제외한 나머지 비트로 이루어진 제2 입력 데이터를 입력받아 상기 제2 입력 데이터 중 K2 (K2는 2 이상이고 N2 보다 작은 자연수) 개의 연속된 비트로 이루어진 제3 연속 데이터의 각 비트의 이진값이 동일한 이진값을 갖는 경우에 상기 제3 연속 데이터 중 하나의 비트를 반전시키는 제2 반전부를 포함하는 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
  17. 제16항에 있어서,
    상기 제2 연속 데이터 중 하나의 비트는 상기 제2 연속 데이터의 마지막 비트인 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
  18. 제16항에 있어서,
    상기 제3 연속 데이터 중 하나의 비트는 상기 제3 연속 데이터의 가운데 비트인 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
  19. 제16항에 있어서, 상기 변환부는
    N 개 비트 중 상위 N3(N3은 N보다 작고 N1보다 큼) 개 비트의 각 비트의 이진값이 동일한 경우에는 상기 제2 입력 데이터의 짝수번째 비트를 반전시키는 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
  20. 제16항에 있어서, N은 10이고, M1은 5, N1은 6, K1은 3, K2는 2인 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
KR10-2003-0056813A 2003-08-18 2003-08-18 유사 8비트/10비트 코드 발생 방법 및 이를 이용한 유사8비트/10비트 코드 발생장치 KR100538105B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2003-0056813A KR100538105B1 (ko) 2003-08-18 2003-08-18 유사 8비트/10비트 코드 발생 방법 및 이를 이용한 유사8비트/10비트 코드 발생장치
TW093105813A TWI319267B (en) 2003-08-18 2004-03-05 Method of generating pseudo 8b/10b code and apparatus for generating the same
US10/793,819 US7075461B2 (en) 2003-08-18 2004-03-08 Method of generating pseudo 8B/10B code and apparatus for generating the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0056813A KR100538105B1 (ko) 2003-08-18 2003-08-18 유사 8비트/10비트 코드 발생 방법 및 이를 이용한 유사8비트/10비트 코드 발생장치

Publications (2)

Publication Number Publication Date
KR20050019953A true KR20050019953A (ko) 2005-03-04
KR100538105B1 KR100538105B1 (ko) 2005-12-21

Family

ID=34192101

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0056813A KR100538105B1 (ko) 2003-08-18 2003-08-18 유사 8비트/10비트 코드 발생 방법 및 이를 이용한 유사8비트/10비트 코드 발생장치

Country Status (3)

Country Link
US (1) US7075461B2 (ko)
KR (1) KR100538105B1 (ko)
TW (1) TWI319267B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100872861B1 (ko) * 2007-04-04 2008-12-09 주식회사 루프 Prbs 패턴에서 비트 에러율 테스트 방법

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060190793A1 (en) * 2005-02-18 2006-08-24 Marlin Viss Establishing a reference bit in a bit pattern
US7587641B1 (en) * 2006-06-07 2009-09-08 Neil James Alexander Sloane Encoding of data into constant weight codes
KR102503176B1 (ko) * 2018-03-13 2023-02-24 삼성디스플레이 주식회사 데이터 전송 시스템, 상기 데이터 전송 시스템을 포함하는 표시 장치 및 이를 이용한 데이터 전송 방법
CN110208832B (zh) * 2019-07-02 2021-03-23 中国电子科技集团公司第五十四研究所 一种多路复用导航信号伪码提取方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4486739A (en) * 1982-06-30 1984-12-04 International Business Machines Corporation Byte oriented DC balanced (0,4) 8B/10B partitioned block transmission code
JPH0683271B2 (ja) * 1983-10-27 1994-10-19 ソニー株式会社 情報変換方式
DE69118891T2 (de) * 1991-10-14 1996-10-24 Ibm Flexibles Kodierungs-Verfahren und Architektur für Hochgeschwindigkeits-Datenübertragung und Aufzeichnung
US5537112A (en) * 1994-01-12 1996-07-16 Seagate Technology, Inc. Method and apparatus for implementing run length limited codes in partial response channels
WO1998023060A1 (fr) * 1996-11-22 1998-05-28 Sony Corporation Procede et dispositif de transmission des donnees
US6225924B1 (en) * 1998-12-22 2001-05-01 International Business Machines Corporation Transmission coding method and device
US6501396B1 (en) * 2001-03-30 2002-12-31 Xilinx, Inc. Scalable physical coding sublayer (PCS) and 8B/10B encoder
US6653957B1 (en) * 2002-10-08 2003-11-25 Agilent Technologies, Inc. SERDES cooperates with the boundary scan test technique
US6859154B2 (en) * 2003-02-12 2005-02-22 Broadcom Corporation Method to overlay a secondary communication channel onto an encoded primary communication channel

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100872861B1 (ko) * 2007-04-04 2008-12-09 주식회사 루프 Prbs 패턴에서 비트 에러율 테스트 방법

Also Published As

Publication number Publication date
US20050040975A1 (en) 2005-02-24
TWI319267B (en) 2010-01-01
US7075461B2 (en) 2006-07-11
KR100538105B1 (ko) 2005-12-21
TW200509543A (en) 2005-03-01

Similar Documents

Publication Publication Date Title
US9535120B2 (en) Integrated circuit and method for establishing scan test architecture in integrated circuit
US20120007755A1 (en) Parallel to serial conversion apparatus and method of converting parallel data having different widths
CN112214349B (zh) 一种数据循环冗余校验装置和方法
KR20080024413A (ko) 데이터 입출력 오류 검출 기능을 갖는 반도체 메모리 장치
JP2006317438A (ja) 活用的なテスト・パターン装置および方法
KR100538105B1 (ko) 유사 8비트/10비트 코드 발생 방법 및 이를 이용한 유사8비트/10비트 코드 발생장치
US20040117710A1 (en) Weight compression/decompression system
US6370667B1 (en) CRC operating calculating method and CRC operational calculation circuit
US11609872B2 (en) Integrated circuit having lanes interchangeable between clock and data lanes in clock forward interface receiver
JP4061294B2 (ja) 自己同期型擬似ランダム・ビット・シーケンス・チェッカ
JP2015026341A (ja) 論理演算装置
Voyiatzis et al. On the generation of SIC pairs in optimal time
Yin et al. Built-in self-test circuits for high-speed JESD204B transceiver controller
KR20160058501A (ko) 반도체 장치 및 동작 방법
US20220188203A1 (en) Method and architecture for serial link characterization by arbitrary size pattern generator
CN217034730U (zh) 多位选择器及运算电路及芯片
CN110609672B (zh) 真实随机数产生装置及其产生方法
US20240055067A1 (en) Semiconductor chip and sequence checking circuit
JP2008193516A (ja) ランダムエラー信号発生装置
KR20030032180A (ko) 카운팅 스피드를 개선시킨 카운터
JP3364777B2 (ja) Pnパターン発生装置
KR100735567B1 (ko) 반도체 장치의 입출력 테스트 방법 및 장치
JP2009165103A (ja) 信号伝送システム及び信号変換回路
KR20000021308A (ko) 복합 반도체 장치의 메모리 테스트 장치
JP2006153553A (ja) 処理データ検査装置

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee