KR20050019953A - 유사 8비트/10비트 코드 발생 방법 및 이를 이용한 유사8비트/10비트 코드 발생장치 - Google Patents
유사 8비트/10비트 코드 발생 방법 및 이를 이용한 유사8비트/10비트 코드 발생장치 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/24—Testing correct operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
- H04L25/49—Transmitting 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/4906—Transmitting 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)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computer Security & Cryptography (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Error Detection And Correction (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
본 발명은 유사 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)
- N(N은 2이상의 자연수)개 비트의 병렬 의사 랜덤 비트열을 발생시키는 단계; 및N 개 비트의 상기 병렬 의사 랜덤 비트열을 입력받아 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'이 연속해서 M1(M1은 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환하는 단계를 포함하는 유사 8B/10B 코드 발생 방법.
- 제1항에 있어서, 상기 유사 8B/10B 코드 발생 방법은직렬화기의 테스트 패턴으로서 상기 인코딩된 병렬 의사 랜덤 비트열을 상기 직렬화기로 제공하는 단계를 더 포함하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
- 제1항에 있어서, 상기 유사 8B/10B 코드 발생 방법은N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'의 개수가 M2(M2는 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환하는 단계를 더 포함하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
- 제1항에 있어서, 상기 병렬 의사 랜덤 비트열을 변환하는 단계는 상기 병렬 의사 랜덤 비트열의 일부 비트를 반전시켜 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'의 개수가 연속해서 M1개 이내를 가지도록 하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
- 제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 코드 발생 방법.
- 제5항에 있어서, 상기 제1 연속 데이터의 각 비트가 동일한 이진값을 가지는지 여부를 판단하는 단계는 상기 제1 입력 데이터의 상위 비트들 중의 제1 연속 데이터를 상기 제1 입력 데이터의 하위 비트들 중의 제1 연속 데이터보다 더 높은 우선 순위로 판단하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
- 제5항에 있어서,상기 제2 연속 데이터 중 하나의 비트는 상기 제2 연속 데이터의 마지막 비트인 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
- 제5항에 있어서,상기 제3 연속 데이터 중 하나의 비트는 상기 제3 연속 데이터의 가운데 비트인 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
- 제5항에 있어서, 상기 병렬 의사 랜덤 비트열을 변환하는 단계는상기 N 개 비트 중 상위 N3(N3은 N보다 작고 N1보다 큼) 개 비트의 각 비트의 이진값이 동일한 경우에는 상기 제2 입력 데이터의 짝수번째 비트를 반전시키는 단계를 더 포함하는 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
- 제1항에 있어서, N은 10이고, M1은 5인 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
- 제10항에 있어서, N1은 6, N2는 4, K1은 3, K2는 2인 것을 특징으로 하는 유사 8B/10B 코드 발생 방법.
- N(N은 2이상의 자연수)개 비트의 병렬 의사 랜덤 비트열을 발생시키는 의사 랜덤 비트열 발생부; 및N 개 비트의 상기 병렬 의사 랜덤 비트열을 입력받아 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'이 연속해서 M1(M1은 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환하는 유사 8B/10B 코드 발생부를 포함하는 유사 8B/10B 코드 발생 장치.
- 제12항에 있어서, 상기 의사 랜덤 비트열 발생부는 N개의 스테이지로 이루어지며, 각 스테이지는XOR 게이트와 상기 XOR 게이트의 출력단에 결합된 플립플롭으로 이루어지는 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
- 제12항에 있어서, 상기 유사 8B/10B 코드 발생부는N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'의 개수가 M2(M2는 N 보다 작은 자연수) 개 이내를 가지도록 상기 병렬 의사 랜덤 비트열을 변환하는 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
- 제12항에 있어서, 상기 유사 8B/10B 코드 발생부는 상기 병렬 의사 랜덤 비트열의 일부 비트를 반전시켜 N 개 비트의 상기 병렬 의사 랜덤 비트열의 이진값 '0' 또는 '1'의 개수가 연속해서 M1개 이내를 가지도록 하는 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
- 제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 코드 발생 장치.
- 제16항에 있어서,상기 제2 연속 데이터 중 하나의 비트는 상기 제2 연속 데이터의 마지막 비트인 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
- 제16항에 있어서,상기 제3 연속 데이터 중 하나의 비트는 상기 제3 연속 데이터의 가운데 비트인 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
- 제16항에 있어서, 상기 변환부는N 개 비트 중 상위 N3(N3은 N보다 작고 N1보다 큼) 개 비트의 각 비트의 이진값이 동일한 경우에는 상기 제2 입력 데이터의 짝수번째 비트를 반전시키는 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
- 제16항에 있어서, N은 10이고, M1은 5, N1은 6, K1은 3, K2는 2인 것을 특징으로 하는 유사 8B/10B 코드 발생 장치.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100872861B1 (ko) * | 2007-04-04 | 2008-12-09 | 주식회사 루프 | Prbs 패턴에서 비트 에러율 테스트 방법 |
Families Citing this family (4)
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)
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 | ソニー株式会社 | 情報変換方式 |
EP0537407B1 (en) * | 1991-10-14 | 1996-04-17 | International Business Machines Corporation | Flexible encoding method and architecture for high-speed data transmission and storage |
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 |
US7463651B2 (en) * | 2003-02-12 | 2008-12-09 | Broadcom Corporation | Method and system for exploiting spare link bandwidth in a multilane communication channel |
-
2003
- 2003-08-18 KR KR10-2003-0056813A patent/KR100538105B1/ko not_active IP Right Cessation
-
2004
- 2004-03-05 TW TW093105813A patent/TWI319267B/zh not_active IP Right Cessation
- 2004-03-08 US US10/793,819 patent/US7075461B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100872861B1 (ko) * | 2007-04-04 | 2008-12-09 | 주식회사 루프 | Prbs 패턴에서 비트 에러율 테스트 방법 |
Also Published As
Publication number | Publication date |
---|---|
TW200509543A (en) | 2005-03-01 |
KR100538105B1 (ko) | 2005-12-21 |
US7075461B2 (en) | 2006-07-11 |
TWI319267B (en) | 2010-01-01 |
US20050040975A1 (en) | 2005-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8462028B2 (en) | Parallel to serial conversion apparatus and method of converting parallel data having different widths | |
US9535120B2 (en) | Integrated circuit and method for establishing scan test architecture in integrated circuit | |
CN112214349B (zh) | 一种数据循环冗余校验装置和方法 | |
KR20080024413A (ko) | 데이터 입출력 오류 검출 기능을 갖는 반도체 메모리 장치 | |
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) | 自己同期型擬似ランダム・ビット・シーケンス・チェッカ | |
US10776079B2 (en) | True random number generation device and generation method thereof | |
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 | |
JP3723362B2 (ja) | フラッシュ方式アナログ/デジタル変換装置 | |
US20220166433A1 (en) | Multi-bit gray code generation circuit | |
KR20160058501A (ko) | 반도체 장치 및 동작 방법 | |
US20220188203A1 (en) | Method and architecture for serial link characterization by arbitrary size pattern generator | |
TWI831399B (zh) | 半導體晶片及序列檢查電路 | |
CN110609672B (zh) | 真实随机数产生装置及其产生方法 | |
US20240055067A1 (en) | Semiconductor chip and sequence checking circuit | |
JP2008193516A (ja) | ランダムエラー信号発生装置 | |
KR20030032180A (ko) | 카운팅 스피드를 개선시킨 카운터 | |
JP3364777B2 (ja) | Pnパターン発生装置 | |
KR100735567B1 (ko) | 반도체 장치의 입출력 테스트 방법 및 장치 | |
JP2009165103A (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 |