KR101174234B1 - 직렬 데이터 수신 회로 장치 및 직렬 데이터 수신 방법 - Google Patents
직렬 데이터 수신 회로 장치 및 직렬 데이터 수신 방법 Download PDFInfo
- Publication number
- KR101174234B1 KR101174234B1 KR1020110011184A KR20110011184A KR101174234B1 KR 101174234 B1 KR101174234 B1 KR 101174234B1 KR 1020110011184 A KR1020110011184 A KR 1020110011184A KR 20110011184 A KR20110011184 A KR 20110011184A KR 101174234 B1 KR101174234 B1 KR 101174234B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- circuit
- serial
- bit
- bits
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
- H04L7/041—Speed or phase control by synchronisation signals using special codes as synchronising signal
- H04L7/042—Detectors therefor, e.g. correlators, state machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Communication Control (AREA)
Abstract
고속 데이터 전송에서는, 종래의 수신 회로 장치로는 전송 데이터의 경계를 검출하기 위한 회로의 동작 속도가 충분하지 않다는 문제가 있다. 또, 시스템 버스 등에 직렬 통신을 이용하는 경우, 액세스 레이턴시를 최소한으로 억제할 필요도 있다. 따라서, 액세스 레이턴시를 억제하면서, 고속의 직렬 전송을 실현하고자 하는 과제가 있다.
상기 과제를 해결하기 위해, 본 발명에서는, 직렬 데이터 수신 시에, 수신된 직렬 데이터를 데이터 경계보다 짧은 비트폭의 병렬 데이터로 변환하고, 변환된 병렬 데이터에 대하여 데이터 구획 위치를 검출한다. 변환된 병렬 데이터로부터 상기 데이터 구획 위치를 기준으로 상기 짧은 비트폭의 데이터를 추출하여, 클록 전환 버퍼에 기록한다. 그리고, 클록 전환 버퍼의 판독측에서, 데이터 경계에서 구획된 비트폭으로 수신 데이터를 판독한다.
상기 과제를 해결하기 위해, 본 발명에서는, 직렬 데이터 수신 시에, 수신된 직렬 데이터를 데이터 경계보다 짧은 비트폭의 병렬 데이터로 변환하고, 변환된 병렬 데이터에 대하여 데이터 구획 위치를 검출한다. 변환된 병렬 데이터로부터 상기 데이터 구획 위치를 기준으로 상기 짧은 비트폭의 데이터를 추출하여, 클록 전환 버퍼에 기록한다. 그리고, 클록 전환 버퍼의 판독측에서, 데이터 경계에서 구획된 비트폭으로 수신 데이터를 판독한다.
Description
본 발명은 고속 전송되는 직렬 데이터의 수신 회로 장치 및 직렬 데이터 수신 방법에 관한 것이다.
도 1은 종래의 직렬 버스의 적용 사례를 나타낸 도면이다. 도 1에 나타내는 컴퓨터 시스템의 구성예는 CPU(Central Processing Unit; 10), MCU(Memory Control Unit; 11), 메모리(12), 리드 온리 메모리(ROM; 17)나 LAN(Local Area Network; 18) 등의 각종 주변 제어 장치와의 데이터 통신을 하기 위한 IO Adapter(14~16), IO Adapter(14~16)를 제어하기 위한 IOU(IO Unit; 13)를 갖는다.
컴퓨터 간 또는 컴퓨터 부품 간의 데이터 전송은 종래부터 병렬 버스를 이용한 전송이나 직렬 버스를 이용한 전송에 의해 이루어져 왔다. 여기서, 반도체 집적 회로에서는 핀수가 증가할수록 비싸지기 때문에, 핀수를 줄이기 위해, 속도가 중시되지 않는 데이터 전송에는 직렬 버스를 사용하는 경우가 많다. 그 때문에, 예를 들어, 도 1에서의 ROM(17)와 IO Adapter(15)의 사이 또는 LAN(18)과 IO Adapter(16) 사이의 부분이나, IO Adapter(14~16)와 IOU(13) 사이 등에서 직렬 버스가 이용되어 왔다.
도 2는 고속의 직렬 버스의 적용 사례를 나타낸 도면이다. 종래, 도 1에 나타낸 바와 같이 직렬 전송은 CPU(10)로부터의 액세스 레이턴시가 크게 영향을 미치지 않는 비교적 저속으로 액세스하는 IO 디바이스와의 접속 등의 경우에 많이 이용되었다. 그러나, 컴퓨터 시스템의 고속화 등에 따라, 도 2에 나타낸 바와 같이, CPU(10)와 MCU(11) 사이나 MCU(11)와 IOU(13) 사이와 같은, CPU의 액세스 레이턴시에 영향을 미치는 시스템 버스(19-1, 19-2) 등에서도 이용되게 되었다. 이러한 시스템 버스에 직렬 버스가 이용되게 된 이유는 직렬 전송을 이용할 경우, 병렬 전송에서 문제가 되는 배선 길이의 차이에 기인하는 비트간 스큐를 고려할 필요가 없는 등의 이점이 있기 때문이다.
직렬 버스를 이용해 전송하는 인터페이스에서는, 직렬 버스에 접속된 송신 회로가 병렬 데이터를 직렬 데이터로 변환하여 송신한다. 직렬 버스에 접속된 수신 회로에서는 직렬 데이터로서 전송되어 온 데이터를 병렬 데이터로 복원하여 수신한다. 이렇게 직렬 버스를 이용해 데이터를 전송하는 경우, 송신측과 수신측에서 병렬 데이터의 기준 위치를 맞출 필요가 있다. 고속 직렬 전송 등에서는, 일반적으로, 동작의 초기 단계, 그 외 특정 타이밍에서 트레이닝 기간을 두고, 그 기간에 특정 코드를 송신하여, 데이터 통신에 필요한 준비 처리 등이 이루어진다. 그 때문에, 이러한 트레이닝 기간 동안 송신측과 수신측에서의 병렬 데이터의 기준 위치를 맞추는 처리도 이루어진다.
고속 직렬 전송을 하는 경우에는, 예를 들어 8 비트폭의 병렬 데이터를 직렬 데이터로 변환하여 송신할 때, 8B10B 인코더 회로에 의해 8 비트 데이터를 10 비트화하여 송신하는 경우가 있다. 8B10B 인코드 방식은 직렬 데이터 중에 클록 신호의 정보를 매립함으로써, 데이터와 클록을 동일한 배선으로 전송한다.
이 8B10B 인코드 방식에서는, 직렬 통신 시에 송신하는 「0」과 「1」의 데이터의 수를 동수로 함으로써 DC 밸런스를 유지하거나, 전송로 상의 데이터 손상을 어느 정도 검출하는 것이 가능하다. 또, 8 비트 데이터를 10 비트화하면, 전송 데이터 이외에 특수한 의미를 갖는 특수 코드도 전송하는 것이 가능해진다. 이 특수 코드에 특수한 의미를 부여하여 데이터 전송시의 제어 등에 이용할 수 있다. 또, 이 특수 코드는 송신측과 수신측에서 데이터 경계를 맞추기 위해 이용된다.
여기서, 배경기술로서, 특허문헌 1에서는, 8B10B에 의해 인코드된 직렬 데이터에 포함되는 특정 comma 신호에 착안해서, 입력된 직렬 데이터에 comma 신호를 포함하는지의 여부를 검출하여 수신 데이터를 워드 동기화하는 발명이 개시되어 있다. 또, 특허문헌 2에서는, 2개의 링 버퍼를 포함하는 패턴 검출기에 의해 직렬 데이터에 포함되는 특정 코드를 검출하여, 직렬 데이터를 병렬 데이터로서 취입하는 타이밍을 결정하는 발명이 개시되어 있다.
그러나, 종래 기술에서는, 10 Gbps나 그 이상의 고속 데이터 전송에서는, 전송 데이터의 경계를 검출하기 위한 회로의 동작 속도가 충분하지 않다는 문제가 있다. 또, 시스템 버스 등에 직렬 통신을 이용하는 경우, 액세스 레이턴시를 최소한으로 억제할 필요도 있다. 따라서, 액세스 레이턴시를 억제하면서, 고속의 직렬 전송을 실현하고자 하는 과제가 있다.
상기 과제를 해결하기 위해, 본 발명에 따른 직렬 데이터 수신 회로 장치는, 정해진 전송 비트수인 제1 비트수의 단위로 구획된 통신 데이터와 상기 제1 비트수의 단위로 구획된 제어용 데이터를 포함하는 직렬 데이터를 수신하는 직렬 데이터 수신 회로 장치로서, 상기 직렬 데이터를 수신하여 상기 제1 비트수보다 적은 비트수인 제2 비트수의 병렬 데이터로 변환하는 직렬ㆍ병렬 변환 회로와, 상기 직렬ㆍ병렬 변환 회로에서 변환된 병렬 데이터를 병렬적으로 복수개 유지하기 위한, 상기 제2 비트수의 단위의 복수의 레지스터를 포함하는 데이터 유지 회로와, 상기 데이터 유지 회로에 저장된 데이터에 포함된 상기 제어용 데이터가 갖는 특정 비트 패턴을 검출하여 수신된 수신 데이터의 구획 위치를 검출하는 검출 회로와, 상기 검출 회로의 검출 결과로부터 얻어지는 데이터 구획 위치에 관한 정보에 기초해, 상기 데이터 유지 회로에 저장된 데이터에 포함되는 상기 데이터 구획 위치로부터 제2 비트수만큼의 데이터를 선택하기 위한 선택 신호를 생성하여 유지하는 검출 위치 유지 회로와, 상기 검출 위치 유지 회로에서 생성된 선택 신호에 기초하여, 상기 데이터 유지 회로에 저장된 데이터 중, 상기 데이터 구획 위치로부터 상기 제2 비트수만큼의 데이터를 선택하는 선택 회로를 갖는다.
본 발명에 따른 직렬 데이터 수신 회로 장치에서는, 고속 전송되는 직렬 데이터에 대해, 수신 데이터의 경계 위치에 관계없이 정해진 비트수의 단위로 일단 병렬 데이터로 변환하고, 변환된 복수의 병렬 데이터에 포함되는 특정 코드를 검출한다. 이러한 구성으로 함으로써, 원하는 데이터 경계에서 구획된 수신 데이터를 고속으로, 그리고 짧은 처리 레이턴시로 추출하는 것이 가능해진다.
도 1은 종래의 직렬 버스의 적용 사례를 나타낸 도면이다.
도 2는 고속의 직렬 버스의 적용 사례를 나타낸 도면이다.
도 3은 고속의 직렬 버스의 수신 장치예의 기능 개요를 나타낸 도면이다.
도 4는 고속의 직렬 버스의 수신 장치예에 따른 10 비트 경계 검출 회로와 10 비트 데이터 선택 회로를 나타낸 도면이다.
도 5는 고속의 직렬 버스의 수신 장치예에 따른 클록 전환 버퍼의 개요를 나타낸 도면이다.
도 6은 고속의 직렬 버스의 수신 장치예에 따른 직렬 데이터 수신 회로의 동작 타임차트를 나타낸 도면이다.
도 7은 실시예에 따른 기능 개요를 나타낸 도면이다.
도 8은 실시예에 따른 직렬 버스의 적용 사례의 기능 개요를 나타낸 도면이다.
도 9는 실시예에 따른 10 비트 경계 검출 회로와 4 비트 데이터 선택 회로를 나타낸 도면이다.
도 10은 실시예에 따른 동작 개요 타임차트를 나타낸 도면이다.
도 11은 실시예에 따른 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍(A)를 나타낸 도면이다.
도 12는 실시예에 따른 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍(B)를 나타낸 도면이다.
도 13은 실시예에 따른 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍(C)를 나타낸 도면이다.
도 14는 실시예에 따른 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍(D)를 나타낸 도면이다.
도 15는 실시예에 따른 직렬 데이터 수신 회로의 동작 타임차트를 나타낸 도면이다.
도 2는 고속의 직렬 버스의 적용 사례를 나타낸 도면이다.
도 3은 고속의 직렬 버스의 수신 장치예의 기능 개요를 나타낸 도면이다.
도 4는 고속의 직렬 버스의 수신 장치예에 따른 10 비트 경계 검출 회로와 10 비트 데이터 선택 회로를 나타낸 도면이다.
도 5는 고속의 직렬 버스의 수신 장치예에 따른 클록 전환 버퍼의 개요를 나타낸 도면이다.
도 6은 고속의 직렬 버스의 수신 장치예에 따른 직렬 데이터 수신 회로의 동작 타임차트를 나타낸 도면이다.
도 7은 실시예에 따른 기능 개요를 나타낸 도면이다.
도 8은 실시예에 따른 직렬 버스의 적용 사례의 기능 개요를 나타낸 도면이다.
도 9는 실시예에 따른 10 비트 경계 검출 회로와 4 비트 데이터 선택 회로를 나타낸 도면이다.
도 10은 실시예에 따른 동작 개요 타임차트를 나타낸 도면이다.
도 11은 실시예에 따른 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍(A)를 나타낸 도면이다.
도 12는 실시예에 따른 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍(B)를 나타낸 도면이다.
도 13은 실시예에 따른 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍(C)를 나타낸 도면이다.
도 14는 실시예에 따른 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍(D)를 나타낸 도면이다.
도 15는 실시예에 따른 직렬 데이터 수신 회로의 동작 타임차트를 나타낸 도면이다.
고속의 직렬 전송을 실현할 때, 예를 들어 상기 8B10B 전송 인코드 방법을 이용하여 직렬 전송을 하는 경우에, 수신측 장치에서, 우선 직렬 데이터를 단순히 병렬 데이터로 변환하고 나서, 10 비트 경계를 검출하는 방법을 생각할 수 있다.
도 3은 고속의 직렬 버스의 수신 장치예를 나타낸 도면이다. 도 3은 수신측 장치에서, 수신된 직렬 데이터를 단순히 병렬 데이터로 변환하고 나서 10 비트 경계를 검출하는 경우의 적용 사례의 기능 개요를 나타낸다. 도 3의 사례에서는, 송신측 장치(20)는 8 비트폭의 병렬 데이터를 직렬화하고, 직렬 버스(26)를 통해 수신측 장치(30)에 직렬 데이터를 전송한다. 수신측 장치(30)는 직렬 버스(26)를 통해 수신된 직렬 데이터를 병렬 데이터로 변환하고, 수신측 장치(30)의 내부 회로에서 수신된 데이터에 대한 필요한 처리를 실시한다. 이하, 구체적으로 송신측 장치(20) 및 수신측 장치(30)에서의 데이터 변환 등에 관해 설명한다.
송신측 장치(20)에서, 8B10B 변환 회로(22)는 8 비트폭의 송신 데이터 유지 레지스터(21)로부터 출력되는 8 비트의 병렬 신호를 정해진 변환 규칙에 따라서 10 비트 데이터로 변환한다. 10 비트폭의 송신 데이터 유지 레지스터(23)는 8B10B 변환 회로(22)에 의해 변환된 10 비트 데이터를 유지한다. SerDes(SERializer/DESerializer) 회로(24)는 송신 데이터 유지 레지스터(23)로부터 출력되는 10 비트폭의 병렬 데이터를 정해진 방식에 따라서 직렬 데이터로 변환한다. SerDes 회로(24)에 의해 변환된 직렬 데이터는 버퍼(25)를 통해 직렬 버스(26)에 출력된다. 버퍼(25)는 드라이버용 버퍼이며, 차동 타입의 버퍼이어도 좋다. 직렬 버스(26)는 예컨대 IEEE 1394, USB(Universal Serial Bus), SATA(Serial Advanced Technology Attachment), PCI Express 등의 직렬 전송 방식에서 이용되는 직렬 형식의 버스를 말한다.
수신측 장치(30)에서는, 직렬 버스(26)를 통해 송신되는 직렬 데이터를 버퍼(31)에 의해 수신한다. 버퍼(31)는 수신용 버퍼이며, 차동 신호로서 송신되어 온 데이터 신호를 수신하는 버퍼이어도 좋다.
SerDes 회로(32)는 버퍼(31)에 의해 수신된 직렬 데이터를 10 비트의 병렬 데이터로 변환한다. SerDes 회로(32)에서 데이터 변환할 때, 수신된 직렬 데이터의 데이터 경계에 관계없이, 10 비트 단위로 직렬 데이터에서 병렬 데이터로 변환된다. SerDes 회로(32)에서 변환된 병렬 데이터는 정해진 타이밍에서 10 비트의 수신 데이터 레지스터(33)에 저장된다. 수신 데이터 레지스터(33)는, 후술하는 복수의 10 비트 레지스터로 구성되며, SerDes 회로(32)로부터 출력되는 병렬 데이터를 순차적으로 저장한다.
수신 데이터 레지스터(33)에 저장된 10 비트 단위의 데이터는 송신측 장치(20)의 8B10B 변환 회로(22)에서 변환했을 때의 10 비트 데이터와 경계 위치가 맞는 것은 아니다. 따라서, 수신측 장치(30)에서 수신된 데이터의 경계 위치를 검출해야 한다. 10 비트 경계 검출 회로(34)는 수신 데이터 레지스터(33)에 저장된 병렬 데이터 중에서, 송신측 장치(20)로부터 수신측 장치(30)에 전송된 데이터에 포함되며 데이터 전송 시의 제어 등에 이용되는 특수 코드 가운데, 데이터 경계 위치 검출을 위한 특정 코드를 검출한다. 10 비트 경계 검출 회로(34)는 이 데이터 경계 위치 검출을 위한 특정 코드를 검출함으로써, 전송 데이터에서 매 10 비트의 데이터 경계 위치를 검출한다. 10 비트 경계 검출 회로(34)에 의해 검출된 데이터 경계 정보에 기초하여, 검출된 데이터 경계로부터 10 비트만큼의 데이터가 수신 데이터 레지스터로부터 추출되어, 10 비트의 수신 데이터 레지스터(35)에 저장된다. 여기서, 수신측 장치(30)의 동작 속도의 요건을 만족하는 한, 수신 데이터 레지스터(35)에 의한 데이터 래치를 생략할 수도 있다.
도 3에는 나타나 있지 않지만, SerDes 회로(32)는 수신 데이터를 변환할 때, 수신된 직렬 데이터로부터 클록도 재생한다. 이 재생 클록은 SerDes 회로(32)나 10 비트의 수신 데이터 레지스터(33) 등에서 사용된다. 또, 도시하지는 않지만, 상기 재생 클록으로부터 정해진 분주비로 분주한 클록이 생성되어, 수신 데이터 레지스터(33), 10 비트 경계 검출 회로(34), 수신 데이터 레지스터(35), 또는 후술하는 클록 전환 버퍼(36) 등의 동작 클록으로서 사용된다. 예를 들어, SerDes 회로(32)에서 수신된 직렬 데이터를 10 비트 단위로 병렬 데이터로 변환하는 경우에는, 재생 클록을 10 분주한 분주 클록을 생성하여 이용할 수 있다. 이들 재생 클록 및 분주 클록은 기본적으로 송신측 장치(20)의 클록에 동기된 클록이며, 수신측 장치(30)에서 이용되는 클록과는 상이한 클록이다.
그런데, 이더넷(등록상표) 등의 직렬 버스(26)를 통해 접속되는 송신측 장치(20)와 수신측 장치(30)는 떨어진 위치에 설치되어 있는 경우도 많이 있어, 동일한 동작 주파수로 동작시키는 경우라도 개개의 장치마다 상이한 클록 오실레이터에 의해 클록이 생성된다. 송신측과 수신측에서 상이한 클록 오실레이터를 사용한 경우, 클록 오실레이터의 개체차에 의해, 클록의 주파수에 미묘한 어긋남이 생기는 경우가 있다. 이 클록의 오프셋을 흡수하여 수신측 장치(30)의 클록으로 전환하기 위해, 클록 전환 버퍼(36)가 이용된다.
클록 전환 버퍼(36)에서는, 송신측 장치(20)로부터 수신된 직렬 데이터로부터 재생된 클록을 분주한 분주 클록과 함께, 수신측 장치(30)의 클록, 즉 수신측 클록이 입력되어, 수신 데이터의 클록 전환이 이루어진다. 구체적으로는, 송신측 클록인 상기 분주 클록으로 동작하는 수신 데이터 레지스터(35)로부터 출력된 병렬 데이터가, 동일한 분주 클록으로 동작하는 클록 전환 버퍼(36)의 기록 포트에 기록된다. 클록 전환 버퍼(36)에 기록된 데이터는 다음으로, 수신측 클록으로 동작하는 판독 포트로부터 판독되어, 수신측 클록으로 동작하는 10 비트의 수신 데이터 레지스터(37)에 저장된다. 이와 같이 클록 전환 버퍼(36)에서, 송신측 클록으로 수신 데이터를 기록하고, 기록된 데이터를 수신측 클록으로 판독함으로써, 수신 데이터의 클록 전환이 이루어진다.
수신 데이터 레지스터(37)에 저장된 10 비트 데이터는 또한 10B8B 변환 회로(38)에 의해 정해진 변환 규칙에 따라서 8 비트 데이터로 변환되고, 8 비트의 수신 데이터 레지스터(39)에 저장된다. 이와 같이 하여 송신측 장치(20)로부터 직렬 버스(26)를 통해 수신측 장치(30)에 데이터가 송신된다.
도 3에서의 상기 각 레지스터(21, 23, 33, 35, 37, 39)는 반드시 복수의 플립플롭으로 구성되는 레지스터일 필요는 없고, 메모리나 복수의 래치에 의해 실현해도 좋다(이하에 설명하는 각 레지스터에 관해서도 동일). 또, 도 3에서는, 고속의 직렬 전송을 수행하기 위한 고속 동작하는 송수신 회로의 구성을 상정하고 있기 때문에, 여러가지 데이터 처리 사이마다 레지스터에 의해 데이터를 래치하는 구성으로 하고 있다. 그러나, 고속 동작을 필요로 하지 않는 경우 등에서 동작 속도의 요건을 만족하는 경우에는, 예를 들어, 레지스터(21, 35, 37, 39) 등을 생략하여 실장 설계를 하는 것도 가능하다.
도 4는 도 3에서의 수신측 장치(30) 내의 수신 데이터 레지스터(33)부터 클록 전환 버퍼(36)까지의 회로를 상세하게 나타낸 도면이다. 수신 데이터 레지스터(33)는 2개의 10 비트 레지스터(33-1 및 33-2)를 가지며, SerDes 회로(32)로부터 보내어진 순으로 10 비트 데이터를 레지스터(33-1 및 33-2)에 저장한다. 전술한 바와 같이, SerDes 회로(32)에서는 수신된 직렬 데이터의 10 비트 경계 위치에 관계없이 직렬ㆍ병렬 변환한다. 그 때문에, SerDes 회로(32)에서 10 비트 단위로 병렬 데이터로 변환한 경우에는, 2개 이상의 10 비트 레지스터(33-1, 33-2)에 수신 데이터를 전개하여, 데이터의 경계 위치를 검출해야 한다. 즉, 2개의 레지스터(33-1과 33-2)에 저장된 일련의 19 비트 데이터(Data[18:0])의 어느 위치에 데이터 경계가 있는지가 불명확하므로, 일련의 19 비트 데이터 내에서 10 비트 단위로 1 비트씩 어긋나게 한 10개의 데이터에 대해 각각, 데이터 경계 위치 검출을 위한 특정 코드와 일치하는지의 여부를 검출한다.
상기 일련의 19 비트 데이터(Data[18:0])의 어느 위치에 수신 데이터의 경계 위치가 있는지 검출하기 위해, 특정 코드 검출 회로(34)는, 10개의 특정 코드 검출 회로, 즉 특정 코드 검출 회로(A)(34-1)~특정 코드 검출 회로(J)(34-10)를 갖는다. 특정 코드 검출 회로(A)(34-1)에서는, 특정 코드 검출 회로(A)에 입력된 10 비트의 신호(Data[9:0])가 데이터 경계 위치 검출을 위한 「특정 코드」에 일치하는지의 여부를 비교하여, 일치하는 경우에는, 출력 신호인 detect[A] 신호를 어서트한다. 나머지 9개의 특정 코드 검출 회로[(B)~(J)]도 특정 코드 검출 회로(A)와 동일한 회로 구성으로 되어 있고, 10 비트 단위로 1 비트씩 어긋나게 한 데이터, 즉 Data[10:1]부터 Data[18:9]까지의 각 10 비트 데이터 중 어느 하나가 입력된다. 각 검출 회로[(B)~(J)]는 각각에 입력된 Data[10:1]부터 Data[18:9]까지의 10 비트 데이터에 대해 특정 코드와 일치하는지의 여부를 비교하여, 일치한 경우에는 대응하는 detect[B:J] 신호를 어서트한다.
각 특정 코드 검출 회로(34-1~34-10)로부터 출력되는 검출 신호(detect[A:J]) 중에서, 특정 코드를 검출한 검출 회로로부터 출력되는 검출 신호만이 어서트되고, 나머지 검출 신호는 디어서트된다. 즉, 예를 들어 검출 신호의 신호 극성이 High-Active인 경우, 특정 코드를 검출한 검출 회로로부터 출력되는 검출 신호만 "1"이 되고, 그 밖의 검출 회로로부터 출력되는 검출 신호는 "0"이 된다.
특정 코드 검출 회로(34-1~34-10)로부터 출력되는 검출 신호(detect[A:J])는 검출 위치 유지 회로(34-11)에 입력된다. 검출 위치 유지 회로(34-11)는, 예컨대 유지하고 있는 검출 신호에 대하여, 입력된 검출 신호(detect[A:J])에 변화가 생긴 경우에 변화후의 검출 신호의 내용을 기록하고, 다음 변화가 있을 때까지 검출 신호의 내용을 유지하는 동작을 한다. 검출 위치 유지 회로(34-11)가 유지하는 내용으로는, 어서트된 검출 신호가 어느 것인지를 나타내는 정보를 유지한다.
검출 위치 유지 회로(34-11)는 유지하고 있는 검출 신호의 내용에 기초하여, 상기 수신 데이터 레지스터(33-1 및 33-2)에 저장된 데이터(Data[19:0])의 어느 부분이 경계에서 구획된 10 비트의 데이터인지를 나타내는 선택 신호(Select[A:J])를 생성한다. 여기서, 선택 신호(Select[A:J])는 10 비트의 신호로서 기재하고 있지만, 16진수 등으로 어느 비트 위치가 구획 위치인지를 나타내는 4 비트의 선택 신호로 해도 좋다.
셀렉터(34-21)는 상기 수신 데이터 레지스터(33-1 및 33-2)에 저장된 데이터(Data[19:0]) 중, 경계 위치에서 구획된 10 비트의 데이터를 상기 선택 신호(Select[A:J])를 이용하여 선택하고, Data 10B Alignment[9:0] 신호로서 출력한다. 셀렉터(34-21)로부터 출력된 10 비트 데이터 Data 10B Alignment[9:0]는 일단 10 비트의 데이터 레지스터(35)에서 유지되고, 그 후, 클록 전환 버퍼(36-1)에 기록된다. 클록 전환 버퍼(36)와 관련된 동작에 관해서는, 도 5를 이용하여 설명한다.
도 5는 상기 클록 전환 버퍼(36)의 동작을 설명하기 위한 도면이다. 도 5에서, 검출 위치 유지 회로(34-11), 셀렉터(34-21), 데이터 레지스터(35), 기록 제어 회로(36-2), 및 클록 전환 버퍼(36-1)의 기록 포트는 송신측 클록인 상기 분주 클록에 기초하여 동작한다. 그 때문에, 데이터 레지스터(35)에 유지된 10 비트 데이터는 분주 클록을 이용하여 클록 전환 버퍼(36-1)에 기록된다. 한편, 클록 전환 버퍼(36-1)의 판독 포트, 동기화 회로(36-3), 판독 제어 회로(36-4) 및 데이터 레지스터(37)는 수신측 장치(30)의 동작 클록인 수신측 클록에 기초하여 동작한다.
클록 전환 버퍼는 FIFO(First In First Out)이어도 좋고, 링 버퍼이어도 좋고, 기록과 판독을 별도의 클록으로 수행할 수 있는 2 포트 RAM이어도 좋다. 또, 클록 전환 버퍼를 복수의 레지스터로 구성할 수도 있다.
기록 제어 회로(36-2)는 검출 위치 유지 회로(34-11)로부터 출력되는 선택 신호에 기초하여, 클록 전환 버퍼(36-1)로의 데이터의 기록 제어 신호를 생성한다. 구체적으로는, 검출 위치 유지 회로(34-11)로부터의 선택 신호의 정보에 기초하여 클록 전환 버퍼(36-1)에 기록하는 데이터의 유무 및 기록 타이밍을 판정하여, 클록 전환 버퍼(36-1)로의 기록 허가 신호인 Write Enable 신호를 출력한다. 또, 기록 제어 회로(36-2)는 Write Enable 신호가 어서트되는 기간 동안, 클록 전환 버퍼(36-1)로의 기록 어드레스인 Write Address 신호도 출력한다. Write Enable 신호가 어서트되는 기간 동안, 데이터 레지스터(35)에 유지되는 경계 위치에서 구획된 10 비트 데이터는 클록 전환 버퍼(36-1)의 기록 포트의 Write Address 신호가 나타내는 어드레스 영역에 기록된다.
동기화 회로(36-3)는 기록 제어 회로(36-2)에서 송신측 클록에 동기하여 생성된 클록 전환 버퍼(36-1)로의 기록 제어 신호를, 수신측 클록으로 동작하는 회로를 이용하여 수신측 클록에 동기화시킨다.
판독 제어 회로(36-4)는 기록 제어 회로(36-2)에서 생성된 제어 신호를 동기화 회로(36-3)에서 동기화한 신호를 수신하여, 클록 전환 버퍼(36-1)의 데이터 판독 제어 신호를 생성한다. 구체적으로는, 판독 제어 회로(36-4)는 클록 전환 버퍼(36-1)의 정해진 어드레스 영역에 10 비트 수신 데이터가 저장되었는지의 여부를, 상기 동기화 회로(36-3)에 의해 동기화된 제어 신호를 이용하여 판정한다. 그리고, 판독 제어 회로(36-4)는, 클록 전환 버퍼(36-1)에 저장된 10 비트 수신 데이터를 판독할 수 있는 타이밍에서, 판독 허가 신호인 Read Enable 신호를, 수신측 장치(30)의 동작 클록의 타이밍에 맞춰 출력한다. 또, 판독 제어 회로(36-4)는 Read Enable 신호가 어서트되는 기간 동안, 클록 전환 버퍼(36-1)로부터의 판독 어드레스인 Read Address 신호도 출력한다. Read Enable 신호가 어서트되는 기간 동안, 클록 전환 버퍼(36-1)의 판독 포트로부터, Write Address 신호가 나타내는 어드레스값에 따라서 10 비트 데이터가 판독된다.
클록 전환 버퍼(36-1)의 판독 포트로부터 판독된 데이터는 수신측 클록에서 동작하는 10 비트의 데이터 레지스터(37)에 기록된다. 이와 같이 하여, 경계 위치에서 구획된 10 비트 데이터에 대한 클록 전환이 이루어진다.
그런데, 전술한 바와 같이, 송신측 장치(20)와 수신측 장치(30)를 동일한 주파수로 동작시키는 경우에도, 장치마다 상이한 클록 오실레이터를 이용한 경우에는, 클록 오실레이터의 개체차에 의해 송신측 클록과 수신측 클록의 주파수에 미묘한 어긋남이 생기는 경우가 있다. 이 송신측 클록과 수신측 클록의 어긋남에 관해서는, 클록 전환 버퍼(36)를 이용하여 흡수할 수 있다.
구체적으로는, 전술한 바와 같이, 8B10B 인코드 방식에서는 통신 데이터와 함께 특정의 특수 코드를 송신할 수 있기 때문에, 클록 전환 버퍼(36-1)의 판독 포트로부터의 데이터 판독을 스킵시킬 수 있는 타이밍 조정용의 특수 코드를 전송 데이터에 혼합하여 송신할 수 있다. 송신측 클록과 수신측 클록의 어긋남에 관해서는, 클록 전환 버퍼(36-1)의 기록 어드레스(Write Address)와 판독 어드레스(Read Address)의 차분을 특정 검출 회로(도시되지 않음)에서 검출함으로써, 클록의 어긋남을 검출할 수 있다. 클록의 어긋남을 검출한 경우에는, 상기 스킵시킬 수 있는 타이밍 조정용의 특수 코드의 클록 전환 버퍼(36-1)로부터의 판독을 스킵(건너뛰기)시키거나, 또는 클록 전환 버퍼(36-1)로부터의 판독을 기다리게 함으로써, 클록의 어긋남을 보정할 수 있다.
도 6은 수신측 장치(30)에서의 직렬 데이터 수신 처리의 동작 타임차트를 나타낸 도면이다. 도 6의 최상단(Serial Data)은 고속 직렬 데이터 통신의 동작 클록에 동기하여, 시각 t00~t63까지의 기간에 직렬 데이터 d03~d66가 1 비트씩 수신측 장치(30)에 입력되는 양상을 나타낸 것이다. d66 이후의 데이터도 순차적으로 수신측 장치(30)에 입력되지만, 도 6의 설명에서는 생략한다. 설명의 편의상, 송신측 장치(20)로부터 보내어진 직렬 데이터는 d10~d19, d20~d29, d30~d39, d40~d49, d50~d59와 같은 단위의 데이터 경계에서 구획되어 있고, d10~d19의 데이터에 수신 데이터의 경계 위치를 검출하기 위한 특정 코드가 포함되어 있는 것으로 한다. 이하, 도 3, 도 4의 각 회로와 도 6을 대비시키면서 수신측 장치(30)의 동작에 관해 설명한다.
SerDes 회로(32)는 수신측 장치(30)에 입력된 직렬 데이터의 데이터 경계 위치에 관계없이 10 비트 단위로, 예컨대 도 6에서 직렬 데이터 d03~d12 등의 10 비트의 단위로 직렬ㆍ병렬 변환을 수행하여, 10 비트의 병렬 데이터 d03~d12를 출력한다(SerDes 출력). SerDes 회로(32)는 다음 10 비트의 직렬 데이터 d13~d22의 직렬ㆍ병렬 변환을 수행하기까지의 기간인 T100의 기간 동안, 변환된 10 비트 병렬 데이터 d03~d12를 유지한다. SerDes 회로(32)는 후속의 직렬 데이터에 대해서도 마찬가지로 순차적으로 병렬 데이터로 변환하고, 기간 T101~T105에 걸쳐, 변환된 병렬 데이터(d13~d22, d23~d32, d33~d42, d43~d52, d53~d62)를 순차적으로 출력한다.
SerDes 회로(32)는 수신된 직렬 데이터로부터 클록을 재생하고, 직렬ㆍ병렬 변환의 타이밍에 맞춰 분주 클록을 생성한다. 이 분주 클록의 분주비를 10 분주로 하면, 분주 클록의 주기는 도 6에서의 기간 T100~T108의 각 기간에 일치한다.
수신 데이터 레지스터(33-1)는 상기 10 분주 클록에 동기된 타이밍에서 SerDes 회로(32)로부터 출력된 병렬 데이터를 래치하고, T101의 기간 동안, Data[9:0] 출력에 d03~d12를 출력한다. 수신 데이터 레지스터(33-2)는 수신 데이터 레지스터(33-1)로부터 출력된 Data[9:0]를 래치하고, T102의 기간 동안, Data[19:10]에 d03~d12를 출력한다.
T102의 기간 동안, 수신 데이터 레지스터(33-1 및 33-2)는 d03~d22의 20 비트를 출력하기 때문에, 각각의 특정 코드 검출 회로(34-1~34-10)에서, 특정 코드 d10~d19를 검출한다. 도 6의 예에서는, 수신 데이터 레지스터(33)로부터 출력되는 Data[19]에 d03이, Data[0]에 d22가 저장되어 있고, 특정 코드가 포함되어 있는 d10~d19는 Data[12:3]에 포함되기 때문에, 특정 코드 검출 회로(D)가 특정 코드를 검출한다. 따라서, T102의 기간에 특정 코드 검출 회로(D)로부터 출력되는 검출 신호(detect[D]) 신호가 어서트된다. 도 6에서는, detect[D] 신호의 우측에 도시하는 가로선이 detect[D] 신호가 어서트되는 것을 나타낸다.
검출 위치 유지 회로(34-11)는 검출 신호(detect[D])에 기초해 셀렉터(34-21)로의 선택 신호를 생성하고, T103 이후의 기간에 대해서도, 다음에 detect[A:J]가 변화하기까지의 동안, 생성된 선택 신호를 유지한다. 셀렉터(34-21)는 T102 이후의 기간 동안, 검출 위치 유지 회로로부터 출력되는 선택 신호에 기초하여 Data[12:3], 즉 d10~d19를 선택하고, 10 비트 경계에서 구획된 데이터인 Data 10B Alignment[9:0]로서 출력한다. Data 10B Alignment[9:0]는 10 비트의 데이터 레지스터(35)에 의해 래치되고, T103의 기간 동안, 클록 전환 버퍼(36-1)로의 라이트 데이터 Buffer WT Data[9:0]로서 유지된다.
전술한 바와 같이, 수신측 장치(30)의 클록인 수신측 클록은 송신측 클록과 어긋나는 경우가 있다. 도 6에서는, 수신측 클록에 동기된 T204~T209 등의 기간이, 송신측 클록에 동기된 T100~T108 등의 기간과 어긋난 것으로 하여 도시하고 있다.
송신측 클록의 T103의 기간의 종료 시점에서는, 클록 전환 버퍼(36-1)에 10 비트 데이터(d10~d19)가 저장된 상태로 되어 있다. 따라서, 클록 전환 버퍼(36-1)의 판독 포트측에서는, T103보다 뒤의 T204의 기간 동안, 수신측 클록에 동기하여 10 비트 데이터 d10~d19가 판독된다(Buffer RD Data[9:0]). 후속하는 10 비트 단위의 데이터 d20~d29, d30~d39, d40~d49, d50~d59, d60~d69 등도 마찬가지로 클록 전환 버퍼를 통해 수신측 장치(30)에 판독되게 된다.
도 6에서는, 직렬 데이터의 d66 이후의 기재를 생략하고 있지만, 실제 데이터 전송에서는, d66 이후의 데이터도 계속해서 전송되고, 상기 클록 전환 버퍼(36-1) 등을 통해 수신측 장치(30)에 수신되게 된다. d10~d19 등의 특정 코드는 트레이닝 기간 등에 송신되는 것이지만, 상기 d10~d19의 특정 코드를 검출한 후에는, 수신 데이터의 경계 위치는 동일한 간격이 되므로, 트레이닝 기간에 이어지는 통상의 데이터 전송에서도, 계속해서 직렬 데이터를 정상적으로 수신할 수 있게 된다.
이상과 같이, 직렬 버스(26)를 통해 고속으로 전송되어 온 직렬 데이터에 대하여 수신 데이터 경계의 검출 처리를 하지 않은 채, SerDes 회로(32)에서 직렬ㆍ병렬 변환하고, 비교적 저속의 분주 클록으로 수신 데이터의 경계 위치의 검출 처리 등을 함으로써, 예를 들어 10 Gbps 이상과 같은 고속의 직렬 통신 등에도 대응하는 것이 가능해진다.
그런데, 전술한 예에서는, 전송 데이터의 경계 위치에 맞춰 10 비트 단위로 전송 데이터를 직렬ㆍ병렬 변환하여, 경계 위치의 검출 처리 등을 하고 있지만, CPU의 액세스 레이턴시의 단축의 관점에서는, 수신측 장치(30)에서의 수신 처리를보다 짧은 기간에 수행하는 것이 바람직하다. 이러한 요구에 대응하기 위해, 이하에 나타내는 실시예에서는, 전술한 예에 의한 고속 직렬 전송 방식에 덧붙여, 액세스 레이턴시를 억제할 수 있는 직렬 전송 방법을 나타낸다.
도 7은 실시예에 따른 수신측 장치(50)에서의 수신 데이터의 경계 위치를 짧은 레이턴시로 검출하기 위한 일실시예의 기능 개요를 나타낸 도면이다. 도 7에서는, 직렬 버스(26)를 통해 전송되는 데이터가 M 비트마다 구획되어 있는 것으로 하여 설명한다. 직렬 버스(26)로부터 송신된 직렬 데이터는 버퍼(51)를 통해 SerDes 회로(52)에 입력된다. SerDes 회로(52)는 입력된 직렬 데이터를, 수신 데이터를 구획하는 M 비트보다 적은 비트수의 N 비트 단위로 직렬ㆍ병렬 변환한다. M 비트보다 적은 비트수의 N 비트 단위로 수신 데이터의 데이터 경계 위치의 검출 등을 수행함으로써, 수신된 직렬 데이터로부터 경계 위치에서 구획된 M 비트 단위의 데이터를 추출하기까지의 기간을 짧게 하는 것이 가능해진다.
SerDes 회로(52)에서 변환된 N 비트 단위의 병렬 데이터는 수신 데이터 레지스터(53)를 구성하는 K개(K는 양의 정수)의 N 비트의 데이터 레지스터(53-1~53-K)를 갖는 시프트 레지스터에, 수신된 순으로 차례대로 저장된다. 여기서, SerDes 회로(52)에서는, 수신 데이터의 경계 위치에 관계없이 N 비트 단위로 직렬ㆍ병렬 변환을 하기 때문에, 수신 데이터의 경계 위치를 검출해야 한다. 따라서, N 비트 단위의 복수의 레지스터(53-1~53-K)에 저장할 수 있는 데이터의 총비트수가 적어도 (M+N-1)로 표시되는 수 이상이 되도록, 데이터 레지스터(53-1~53-K)의 개수 K를 결정한다. 도 7의 예에서는, 수신 데이터 레지스터(53)를 시프트 레지스터로 하고 있지만, 서큘러 버퍼와 같은 구성이어도 좋다.
특정 코드 검출 회로(54-1)는 수신 데이터 레지스터(53)에 저장된 일련의 데이터를 수신하고, 그 일련의 데이터 중의 M 비트 데이터가 수신 데이터의 경계 위치를 검출하기 위한 특정 코드에 일치하는지의 여부를 검출한다. 구체적으로는, 특정 코드 검출 회로(54-1)는 M 비트 단위로 1 비트씩 어긋나게 한 N개의 각각의 데이터에 대해 특정 코드와 일치하는지의 여부를 검출한다. 따라서, 특정 코드 검출 회로(54-1)는 N개의 M 비트 단위의 각각의 데이터가 특정 코드와 일치하는지의 여부를 검출하기 위한 N개의 검출 회로를 갖는다(도 7에서 도시되지 않음). 이 특정 코드 검출 회로(54-1)의 N개의 검출 회로에, 상기 수신 데이터 레지스터(53)에 저장된 데이터를 M 비트 단위로 1 비트씩 어긋나게 한 N개의 데이터를 입력하고, 입력한 M 비트 데이터가 특정 코드에 일치하는지의 여부를 각각의 검출 회로가 검출한다. 특정 코드 검출 회로(54-1)는 N개의 검출 회로 중 어느 하나에서 특정 코드를 검출한 경우에, 그 검출 결과로부터 판별할 수 있는 특정 코드의 검출 위치를 나타내는 정보를 검출 신호(detect[1:N])로서 검출 위치 유지 회로(54-11)에 통지한다.
검출 위치 유지 회로(54-11)는 특정 코드 검출 회로(54-1)에서 생성된 검출 신호에 의해 얻어지는 특정 코드의 검출 위치를 나타내는 정보를 유지하고, 셀렉터(54-21)로의 선택 신호(Select[1:N])를 생성한다. 구체적으로는, 검출 위치 유지 회로(54-11)는 수신 데이터의 경계 구획 위치 정보에 기초해, 수신측 장치(50)에서의 처리 레이턴시가 최단이 되도록, 수신 데이터 레지스터(53-1 및 53-2)로부터 출력되는 데이터 중에서 특정 N 비트를 선택하기 위한 선택 신호를 생성한다. 처리 레이턴시가 최단이 되기 위한 처리의 상세한 것은 후술한다.
셀렉터(54-21)는 검출 위치 유지 회로(54-11)에서 생성된 선택 신호를 이용하여, 상기 데이터 레지스터(53-1과 53-2)가 출력하는 2 N 비트 중에서, 검출한 구획 위치를 기준으로 한 N 비트 데이터를 선택한다. 데이터 레지스터(55)는 셀렉터(54-21)에서 선택된 N 비트의 데이터를 래치하고, 클록 전환 버퍼(56-1)로의 기록 데이터를 출력한다.
기록 개시 타이밍 조정 회로(54-12)는 특정 코드 검출 회로(54-1)에서 생성된 검출 신호에 기초해, 특정 코드 검출 회로(54-1)가 검출한 경계 위치의 다음 M 비트 데이터의 경계 위치부터 시작하는 N 비트 데이터가 셀렉터(54-21)에 출현하는 타이밍을 판정하고, 판정 결과로부터 기록 제어 회로(56-2)로의 제어 신호를 생성한다.
기록 제어 회로(56-2)는 기록 개시 타이밍 조정 회로(54-12)에서 생성된 제어 신호에 기초해, 클록 전환 버퍼(56-1)로의 기록 허가 신호인 Write Enable 신호를 생성하고, 기록 어드레스인 Write Address 신호를 함께 생성한다. 이 Write Enable 신호가 어서트되는 기간 동안, Write Address 신호가 나타내는 기록 어드레스에 따라서, 데이터 레지스터(55)로부터 출력된 데이터가 클록 전환 버퍼(56-1)에 기록된다. 도 4에서의 데이터 레지스터(35)와 마찬가지로, 수신측 장치(50)에서의 동작 주파수의 요건을 만족하는 경우에는, 데이터 레지스터(55)의 실장을 생략하는 것도 가능하다. 그 경우, 기록 제어 회로(56-2)에서 생성하는 Write Enable 등은 1 사이클 빠른 타이밍에서 어서트되게 된다.
동기화 회로(56-3)는 기록 제어 회로(56-2)에서 생성된 기록 어드레스 등의 제어 신호를 수신측 클록으로 동기화한다. 동기화 회로(56-3)에서 동기화된 제어 신호를 수신하여 동작하는 판독 제어 회로(56-4)와, 클록 전환 버퍼(56-1)의 판독 포트 및 M 비트의 데이터 레지스터(57)는 모두 수신측 클록에 동기하여 동작한다. 여기서, 도 7의 실시예에서는, 송신측 클록과 수신측 클록은 꼭 동일한 주파수일 필요는 없고, 예를 들어, 클록 주기의 비율이 N:M이 되는 클록을 이용해도 좋다.
판독 제어 회로(56-4)는 동기화 회로(56-3)에서 동기화된 기록 어드레스 등의 정보에 기초해, 클록 전환 버퍼(56-1)의 판독 포트로부터 M 비트 단위의 경계 위치에서 구획된 데이터를 판독할 수 있는 타이밍에서 데이터 판독용 제어 신호를 생성한다. 도 7에는 도시하지 않지만, 판독 제어 회로(56-4)는 클록 전환 버퍼(56-1)의 판독 포트로부터 M 비트 단위로 데이터를 판독할 수 있는 타이밍에, 판독 허가 신호인 Read Enable 신호 및 판독 어드레스 신호인 Read Address 신호를 출력한다. 이 Read Enable 신호가 어서트되는 기간 동안, Read Address 신호가 나타내는 판독 어드레스에 따라서, 클록 전환 버퍼(56-1)의 판독 포트로부터 M 비트 단위로 데이터가 판독된다. 이와 같이 하여, 클록 전환 버퍼(56-1)에서 클록을 전환하는 동시에, 클록 전환 버퍼(56-1)에 N 비트 단위로 기록된 데이터가, 경계 위치에서 구획된 M 비트 단위의 데이터로서 판독된다.
클록 전환 버퍼(56-1)의 판독 포트로부터 판독된 M 비트의 데이터는 수신측 클록으로 동작하는 M 비트의 데이터 레지스터(57)에 기록된다. 이와 같이 M 비트보다 적은 N 비트 단위로 경계 검출 처리를 함으로써, 도 4의 회로예에 비해 보다 짧은 처리 레이턴시로 경계 위치에서 구획된 M 비트 데이터를 얻을 수 있다.
도 7에서는, 실시예를 일반화하여 설명하고 있지만, 이하, 도 4에서의 설명에 따라, 8B10B 인코드된 10 비트 데이터를 4 비트 단위로 분할하여 처리하는 실시예를 들어 상세한 동작을 설명한다.
도 8은 실시예에 따른 직렬 버스의 적용 사례의 기능 개요를 나타낸 도면이다. 도 8에서, 송신측 장치(20)는 도 3에서의 송신측 장치(20)와 동일하기 때문에 설명을 생략한다. 수신측 장치(60)에서는, 도 3에서의 수신측 장치(30)와 달리, 도 8의 타원형의 점선으로 둘러싸인 회로에 있어서, 수신된 직렬 데이터에 대한 각종 처리를 4 비트 단위로 수행하는 것을 특징으로 한다.
즉, SerDes 회로(62)는 4 비트 단위로 직렬ㆍ병렬 변환을 한다. 수신 데이터 레지스터(63)는 4 비트의 데이터 레지스터를 복수개 가지며, 4 비트 단위로 SerDes 회로(62)에서 변환된 병렬 데이터를 저장한다. 그리고, 10 비트 경계 검출 회로(64)는 4개의 검출 회로(도시되지 않음)에 의해, 수신 데이터의 10 비트 단위의 경계 위치를 검출한다. 검출된 데이터 경계의 위치 정보에 기초해, 수신 데이터 레지스터(63)에 저장된 데이터 중, 특정 4 비트 데이터가 선택되고, 4 비트의 데이터 레지스터(65)에 의해 래치된다. 4 비트의 데이터 레지스터(65)로부터 출력된 데이터는 4 비트 단위로 클록 전환 버퍼(66)의 기록 포트에 기록된다.
클록 전환 버퍼(66)의 판독 포트에서는, 경계 위치에서 구획된 10 비트 단위의 데이터를 판독할 수 있는 타이밍에서, 10 비트 데이터가 판독되어, 10 비트의 수신 데이터 레지스터(67)에 저장된다. 즉, 클록 전환 버퍼(66)에서, 4 비트로부터 10 비트로의 데이터 변환이 이루어지는 동시에, 송신측 클록과 수신측 클록의 클록 전환도 이루어진다. 여기서, 도 8의 실시예에서는, 송신측 클록과 수신측 클록은 꼭 동일한 주파수일 필요는 없고, 예를 들어, 클록 주기의 비율이 2:5가 되는 클록을 이용할 수 있다.
수신 데이터 레지스터(67)에 저장된 10 비트 데이터는 10B8B 변환 회로(68)에서 정해진 변환 규칙에 따라서 8 비트 데이터로 변환되고, 8 비트의 수신 데이터 레지스터(69)에 최종적인 8 비트의 수신 데이터가 저장된다.
도 9는 실시예에 따른 수신측 장치(60) 내의 수신 데이터 레지스터(63)부터, 클록 전환 버퍼(66)의 출력 데이터를 수신하는 10 비트 데이터 레지스터(67)까지의 회로를 상세하게 나타낸 도면이다. 도 7에서의 설명과 대비하면, 수신 데이터의 경계 위치에서 구획되는 데이터의 비트수 M은 도 9에서 10 비트이고, SerDes 회로에서 변환할 때의 데이터의 비트수의 단위인 N은 4 비트이다. 따라서, 수신 데이터 레지스터(63)를 구성하는 4 비트 단위의 레지스터의 수로는 (M+N-1)=(10+4-1)=13 비트만큼의 데이터를 저장할 수 있는 4개의 4 비트 레지스터(63-1~63-4)가 있으면 충분하다. 즉, 4 비트 단위로 데이터를 정리한 경우, 수신 데이터의 어긋남은 0~3 비트가 되고, 10 비트 경계를 검출하기 위해서는 13 비트가 있으면 된다. 수신 데이터 레지스터(63)는 링 버퍼나 RAM 등으로 구성해도 좋지만, 도 9에서는, 데이터 레지스터(63-1~63-4)를 이용한 시프트 레지스터로 구성하는 실시예로 설명한다.
수신 데이터 레지스터(63)는 4개의 4 비트 레지스터(63-1~63-4)를 가지며, SerDes 회로(62)로부터 보내어진 순으로 4 비트 데이터를 레지스터(63-1~63-4)에 저장한다. 바꾸어 말하면, SerDes 회로(62)로부터 보내어진 4 비트 데이터는 순서대로 데이터 레지스터(63-1, 63-2, 63-3, 63-4)에 4 비트 단위로 시프트되면서 저장되고, 처음에 보내어진 Data[15]부터 마지막으로 보내어진 Data[0]까지가 수신 데이터 레지스터(63)에 나열되게 된다.
SerDes 회로(62)에서는 수신된 직렬 데이터의 10 비트 경계 위치에 관계없이 4 비트 단위로 직렬ㆍ병렬 변환을 수행하기 때문에, 수신 데이터 레지스터(63) 및 특정 코드 검출 회로(64-1~64-4)를 이용하여 수신 데이터의 경계 위치를 검출한다. 구체적으로는, 10 비트 단위로 1 비트씩 어긋나게 한 4개의 데이터(Data[9:0], Data[10:1], Data[11:2], Data[12:3])가 수신 데이터 레지스터(63)로부터 추출되어, 각각 4개의 특정 코드 검출 회로(64-1~64-4) 중 어느 하나에 입력된다. 특정 코드 검출 회로(64-1~64-4)는 각 10 비트 데이터에 특정 코드가 포함되는지의 여부를 각각 검출하여, 검출 결과에 관한 정보를 검출 신호(detect[A:D])로서 출력한다. 수신 데이터 레지스터(63)에 저장된 일련의 데이터 중의 10 비트 데이터가 특정 코드를 포함하는 경우, 특정 코드 검출 회로(64-1~64-4)의 하나만이 특정 코드를 검출하게 된다.
검출 위치 유지 회로(64-11)는 특정 코드 검출 회로(64-1~64-4)에서 생성된 검출 신호(detect[A:D])에 의해 얻어지는 특정 코드의 검출 위치에 관한 정보를 유지하고, 수신 데이터의 처리 레이턴시가 최단이 되도록 셀렉터(64-21)로의 선택 신호(Select[1:0])를 생성한다. 여기서, 선택 신호는 상기 4개의 데이터(Data[9:0], Data[10:1], Data[11:2], Data[12:3]) 중, 특정 코드가 검출된 데이터의 하위 4 비트, 즉 Data[3:0], Data[4:1], Data[5:2], Data[6:3] 중 어느 하나를 선택하는 신호로 할 수도 있다. 그러나, 선택 신호는 후술하는 도 11~도 14에서 설명하는 이유에 의해, Data[3:0]와 Data[4:1] 중 어느 하나만을 선택하는 신호로 하면 충분하다. 선택 신호는 다시 수신 데이터의 10 비트 경계를 검출하는 조건이 발생할 때까지 유지된다.
셀렉터(64-21)는 검출 위치 유지 회로(64-11)에서 생성된 선택 신호를 이용하여, 데이터 레지스터(63-1 및 63-2)에 저장된 데이터 중, 4 비트 데이터 Data[3:0]와 Data[4:1] 중 어느 하나를 선택한다. 특정 코드가 검출되어 상기 선택 신호가 확정된 후에는, 셀렉터(64-21)는 선택 신호의 내용에 따라서 동일한 비트 위치의 4 비트 데이터를 계속 선택한다. 4 비트의 데이터 레지스터(65)는 셀렉터(64-21)에서 선택된 4 비트의 데이터를 래치한다.
기록 타이밍 조정 회로(64-12)는 특정 코드 검출 회로(64-1~64-4)로부터 출력되는 검출 신호(detect[A:D]), 또는 검출 위치 유지 회로(64-11)에서 유지하는 검출 위치에 관한 정보에 기초해, 클록 전환 버퍼(66-1)로의 데이터 기록 타이밍을 결정한다. 기록 타이밍 조정 회로(64-12)는 결정된 기록 타이밍을, 예를 들어, 클록 전환 버퍼(66-1)에 데이터 기록 가능한 기간을 제어하기 위한 Write valid 신호로서, 기록 제어 회로(66-2)에 통지한다. 기록 타이밍의 결정에 관해서는, 도 11~도 14를 이용하여 상세하게 후술한다.
기록 제어 회로(66-2)는 기록 타이밍 조정 회로(64-12)에서 생성된 Write valid 신호에 기초해, 클록 전환 버퍼(66-1)의 기록 포트로의 기록 허가 신호인 Write Enable 신호를 생성하고, 기록 어드레스인 Write Address 신호를 함께 생성한다.
클록 전환 버퍼(66-1)의 기록 포트에는, 기록 제어 회로(66-2)로부터 출력되는 Write Enable 신호 및 Write Address 신호에 기초해서, 송신측 클록에 동기하여, 데이터 레지스터(65)에 저장된 4 비트 데이터가 기록된다. 여기서, 수신 데이터의 10 비트 경계로부터 5개의 4 비트 데이터를 클록 전환 버퍼(66-1)에 기록함으로써, 10 비트 경계에서 구획된 2개의 10 비트 데이터를 얻을 수 있다. 얻어진 10 비트 데이터는 수신측 클록에 동기된 정해진 타이밍에서 클록 전환 버퍼(66-1)의 판독 포트로부터 판독될 수 있다. 이와 같이 하여, 클록 전환 버퍼(66-1)에서, 클록 전환과 함께, 4 비트 데이터로부터 10 비트 데이터로의 변환이 이루어진다.
동기화 회로(66-3)는 기록 제어 회로(66-2)에서 생성된 기록 어드레스 등의 제어 신호를 수신측 클록으로 동기화한다. 판독 제어 회로(66-4)는 동기화 회로(66-3)에서 동기화된 기록 어드레스 등의 정보에 기초해, 클록 전환 버퍼(66-1)의 판독 포트로부터 10 비트 단위의 경계 위치가 구획된 데이터를 판독할 수 있는 타이밍에서 데이터 판독용 제어 신호를 생성한다. 도 9에는 도시하지 않지만, 판독 제어 회로(66-4)는 클록 전환 버퍼(66-1)의 판독 포트로부터 10 비트 단위로 데이터를 판독할 수 있는 타이밍에서 판독 허가 신호인 Read Enable 신호 및 판독 어드레스 신호인 Read Address 신호를 출력한다.
다음으로, 도 9에서의 클록 전환 버퍼(66-1)의 판독 포트측에 나타내는 어드레스값을 예로 하여, 판독 어드레스 신호 Read Address의 동작에 관해 설명한다. 클록 전환 버퍼(66-1)의 기록 포트측에서 4 비트 단위로 기록된 데이터는 클록 전환 버퍼(66-1)의 판독 포트측에서 10 비트 단위로 판독된다.
최초의 Read Address의 값은 Data0~Data4의 5개의 4 비트 데이터로부터 2개의 10 비트 데이터를 판독할 수 있도록, Data0이 저장되어 있는 최초의 어드레스 번지로 한다. 이 최초의 어드레스 번지가 나타내는 10 비트 데이터가 저장된 어드레스 영역, 즉 Data0, Data1 및 Data2의 하위측 어드레스 영역의 2 비트로 구성된 10 비트 데이터가 클록 전환 버퍼(66-1)로부터 판독되어, 셀렉터(66-5)에서 선택된다.
다음으로, 2번째의 Read Address의 값은 Data2의 상위측 2 비트의 영역을 나타내는 어드레스 번지로 하여, Data2의 하위 2 비트, Data3 및 Data4로 구성된 10 비트 데이터가 클록 전환 버퍼(66-1)로부터 판독되어, 셀렉터(66-5)에서 선택된다. Data5~Data9로부터도 마찬가지로 2개의 10 비트 데이터를 판독할 수 있도록 Read Address가 결정되어, 2개의 10 비트 데이터가 마찬가지로 판독된다.
셀렉터(66-5)는 판독 제어 회로(66-4)로부터 출력되는 Read Address 신호가 나타내는 어드레스값 등에 기초하여, 클록 전환 버퍼(66-1)로부터 판독되는 2개의 10 비트 데이터 중 어느 하나를 선택한다. 10 비트의 데이터 레지스터(67)는 셀렉터(66-5)에서 선택된 10 비트 데이터를 래치한다. 데이터 레지스터(67)에 의해 유지된 수신 데이터의 경계 위치에서 구획된 10 비트 데이터는 그 후 10B8B 변환 회로(68)에서 8 비트 데이터로 변환된다.
도 10은 실시예의 수신측 장치(60)에서의 직렬 데이터 수신 처리의 동작 타임차트를 나타낸 도면이다. 도 10의 최상단(Serial Data)은 고속 직렬 데이터 통신의 동작 클록에 동기하여, 시각 t00~t50까지의 기간에 직렬 데이터 d03~d53이 1 비트씩 입력되는 양상을 나타낸 것이다. 여기서, 설명의 편의상, 송신측 장치(20)로부터 보내어진 직렬 데이터는 d10~d19, d20~d29, d30~d39, d40~d49와 같은 10 비트 단위의 데이터 경계에서 구획되어 있고, d10~d19의 데이터에 수신 데이터의 경계 위치를 검출하기 위한 특정 코드가 포함되어 있는 것으로 한다. 도 10에서는, 특정 코드를 구성하는 데이터의 저장 위치를 알기 쉽게 하기 위해, 별표를 붙였다. 이하, 도 8, 도 9의 각 회로와 도 10을 대비시키면서 수신측 장치(60)의 동작에 관해 설명한다.
SerDes 회로(62)는 수신된 직렬 데이터의 데이터 경계 위치에 관계없이, 4 비트 단위로, 예를 들어, 도 10에서 직렬 데이터 d03~d06, d07~d10과 같은 4 비트의 단위로 직렬ㆍ병렬 변환을 수행하여, 4 비트의 병렬 데이터(d03~d06, d07~d10 등)를 출력한다(SerDes 출력). SerDes 회로(62)는 4 비트마다 직렬ㆍ병렬 변환이 이루어질 때까지의 기간 동안, 변환된 병렬 데이터를 유지한다. SerDes 회로(62)는 후속의 직렬 데이터에 대해서도 마찬가지로 순차적으로 병렬 데이터로 변환하고, 기간 T300~T309에 걸쳐, 변환된 4 비트 병렬 데이터(d07~d10, d11~d14, d15~d18, d19~d22, d23~d26, d27~d30, d31~d34, d35~d38, d39~d42)를 순차적으로 출력한다. T310 이후의 기간에 대해서도 마찬가지로 변환된 4 비트의 병렬 데이터가 SerDes 회로(62)로부터 출력되지만, 도 10에서는 생략한다.
SerDes 회로(62)는 수신된 직렬 데이터로부터 클록을 재생하고, 직렬ㆍ병렬 변환의 타이밍에 맞춰 분주 클록을 함께 생성한다. 도 10의 실시예에서는, 4 비트 단위로 직렬ㆍ병렬 변환하기 때문에, 분주 클록의 분주비를 예를 들어 4 분주로 할 수 있다. 이 4 분주 클록의 주기는 도 10에서의 기간 T300~T312의 각 기간에 일치한다.
수신 데이터 레지스터(63-1)는 상기 4 분주 클록에 동기된 타이밍에서 SerDes 회로(62)로부터 출력된 병렬 데이터를 래치하고, T301의 기간 동안, Data[3:0] 출력에 d03~d06을 출력한다. 수신 데이터 레지스터(63-1)로부터 출력된 데이터는 그 후의 T302~T304의 기간에 걸쳐, 순차적으로 수신 데이터 레지스터(63-2~63-4)로 시프트된다. d03~d06에 이어지는 d07~d10 이후의, SerDes 회로(62)에서 변환된 4 비트 병렬 데이터에 대해서도 마찬가지로 순차적으로 수신 데이터 레지스터(63-1~63-4)로 시프트된다.
특정 코드 검출 회로(64-1~64-4)는 각각, T300~T312 등의 각 기간마다 입력된 10 비트가 수신 데이터의 경계 위치를 나타내는 특정 코드와 일치하는지를 비교한다. 도 10의 타임차트예에서는, T305의 기간 동안, 수신 데이터 레지스터(63-1~63-4)로부터 출력되는 Data[12:0] 중에, 10 비트의 특정 코드, 즉 도 10의 타원형의 점선으로 둘러싸인 데이터가 출현한다. T305의 기간 동안, 특정 코드는 Data[12:3]에 존재하므로, 특정 코드 검출 회로(D)가 이 특정 코드를 검출하고, 검출 신호(detect[D])를 어서트한다.
검출 위치 유지 회로(64-11)는 T305의 기간에 특정 코드 검출 회로(D)(64-4)로부터 어서트된 검출 신호(detect[D])가 나타내는 검출 위치에 관한 정보에 기초해, 셀렉터(64-21)로의 선택 신호를 생성한다. 여기서, 검출 위치 유지 회로(64-11)는, T306 이후의 기간에서, 수신측 장치(60)에서의 처리 레이턴시가 최단이 되도록, 10 비트의 데이터 경계에서 구획된 다음 이후의 데이터가 최초로 수신 데이터 레지스터(63-1)에 출현하는 적절한 타이밍을 도출한다. 이 타이밍의 도출에 관해서는, 도 11~도 14를 이용하여 후술한다. 이 적절한 타이밍의 기간 동안, 수신 데이터 레지스터(63-1)로부터 출력되며, 검출한 데이터 경계를 기준으로 한 4 비트 단위의 데이터(Data[3:0], Data[4:1] 등)를 선택할 수 있도록 상기 선택 신호의 내용을 결정한다. 결정된 선택 신호는 T306 이후의 전송 기간 동안, 검출 위치 유지 회로(64-11)에 의해 유지된다.
셀렉터(64-21)는 T305의 기간 이후, 검출 위치 유지 회로(64-11)가 출력하는 선택 신호의 내용에 따라서, 수신 데이터 레지스터(63)로부터의 Data[3:0] 또는 Data[4:1] 중 어느 하나를 선택하여, Data 10B Alignment[3:0]로서 출력한다.
기록 타이밍 조정 회로(64-12)는 셀렉터(64-21)에 경계에서 구획된 다음 이후의 수신 데이터의 최초의 4 비트가 나타나는 T308 이후의 기간에 Write valid 신호를 어서트한다. 기록 제어 회로(66-2)는 기록 타이밍 조정 회로(64-12)로부터 출력된 Write valid 신호를 수신하여, T309 이후의 기간 동안, 클록 전환 버퍼로의 데이터 기록 허가 신호인 Write Enable 신호(도시되지 않음) 등을 생성한다.
검출 위치 유지 회로(64-11) 및 기록 타이밍 조정 회로(64-12)에서 어떻게 상기 선택 신호 및 Write valid 신호를 결정할지에 관해, 도 11~도 14를 이용하여 설명한다.
도 11은 특정 코드 검출 회로(A)에서 특정 코드를 검출한 경우의 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍을 나타낸 도면이다. 도 11에서는, 수신 데이터 레지스터(63-1~63-4)에 저장된 각 데이터(Data[3:0], Data[7:4], Data[11:8], Data[15:12])가 좌측에서 우측을 향해 시간의 경과와 함께 갱신되는 양상이 나타나 있다. 도 11 중, T400의 기간 동안, Data[9:0]의 위치에 있는 특정 코드 d10~d19가 특정 코드 검출 회로(A)(64-1)에서 검출된다.
여기서, 특정 코드를 검출한 타이밍 T400의 수신 데이터의 10 비트 경계인 Data[9:6]의 데이터를 이용하고자 하면, 수신 데이터 레지스터(63-1 및 63-2)를 경유한 데이터를 이용해야 하며, 수신측 장치(60)에서의 처리 레이턴시가 크다는 문제점이 있다. 그러나, 도 11에서 다음 사이클 기간인 T401에, 다음 10 비트 데이터의 데이터 경계에 있는 데이터 d20을 포함하는 데이터 d20~d23이 수신 데이터 레지스터(63-1)의 출력 Data[3:0]에 오는 것을 알 수 있다. 그 때문에, 특정 코드 검출로부터 1 사이클 대기시킨 T401의 기간부터의 수신 데이터 d20~d23으로부터, 클록 전환 버퍼(66-1)에 의한 변환을 시작함으로써, 데이터 레지스터(63-1 및 63-2)를 통과하는 시간을 스킵할 수 있어, 수신측 장치(60)에서의 처리 레이턴시를 단축시킬 수 있다.
T401의 기간 동안 Data[3:0]의 위치에 있는 d20~d23의 데이터는 셀렉터(64-21)에서 선택되고, 4 비트 데이터 레지스터(65)를 통해 클록 전환 버퍼(66-1)에 기록된다. d20~d23의 데이터는 클록 전환 버퍼(66-1)에 기록될 때, 기록 어드레스 신호(Write Address)가 나타내는 라이트 포인터(WT PT)가 "0"을 나타내는 위치에 기록된다. 후속의 d24~d27, d28~d31의 4 비트 단위의 데이터가 기록된 후, 클록 전환 버퍼(66-1)의 판독 포트측에서는, "0"의 데이터를 갖는 리드 포인터(RD PT)로서, d20~d29의 10 비트 단위로 수신 데이터를 판독한다.
도 12는 특정 코드 검출 회로(B)에서 특정 코드를 검출한 경우의 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍을 나타낸 도면이다. 도 12에서는, T410의 기간 동안, Data[10:1]의 위치에 있는 특정 코드(d10~d19)가 특정 코드 검출 회로(B)(64-2)에서 검출된다. 이 경우, 다음 사이클인 T411의 기간에, 다음 10 비트 데이터의 경계 위치에 있는 데이터 d20을 포함하는 데이터(d20~d23)가 Data[4:1]의 위치에 왔기 때문에, Data[4:1]의 위치에 있는 d20~d23 이후의 데이터에 대해, 클록 전환 버퍼(66-1)에 의한 변환 처리를 하면 된다.
도 13은 특정 코드 검출 회로(C)에서 특정 코드를 검출한 경우의 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍을 나타낸 도면이다. 도 13에서는, T420의 기간 동안, Data[11:2]의 위치에 있는 특정 코드 d10~d19가 특정 코드 검출 회로(C)(64-3)에서 검출된다. 이 경우, 다음 사이클인 T421의 기간에, 다음 10 비트 데이터의 경계 위치에 있는 데이터 d20을 포함하는 데이터(d20~d23)가 Data[5:2]에 오지만, 2 사이클 더 대기하면, T423의 기간에 d30~d39의 10 비트 데이터의 경계 위치에 있는 데이터 d30을 포함하는 데이터(d30~d33)가 Data[3:0]에 오는 것을 알 수 있다. 그 때문에, T423의 기간부터 수신 데이터의 클록 전환 버퍼(66-1)에 의한 변환을 시작함으로써, 수신측 장치(60)에서의 처리 레이턴시가 가장 짧아지는 Data[3:0]를 사용할 수 있다.
이 경우, d20~d29의 데이터는 클록 전환 버퍼(66-1)에 의해 변환되지 않게 되지만, 특정 코드는 전술한 바와 같이 트레이닝 기간 동안 검출되는 것이 일반적이기 때문에, 데이터 전송의 제어에 관계하지 않는 데이터가 변환되지 않았다고 해도 지장이 없다(도 14에서도 동일).
도 14는 특정 코드 검출 회로(D)에서 특정 코드를 검출한 경우의 클록 전환 버퍼로의 기록 데이터 선택과 기록 타이밍을 나타낸 도면이다. 도 14에서는, T430의 기간 동안, Data[12:3]의 위치에 있는 특정 코드(d10~d19)가 특정 코드 검출 회로(D)(64-4)에서 검출된다. 이 경우, 다음 사이클인 T431의 기간에, 다음 10 비트 데이터의 경계 위치에 있는 데이터(d20~d23)가 Data[6:3]에 오지만, 2 사이클 더 대기하면, T433의 기간에 d30~d39의 10 비트의 데이터 경계에 있는 데이터(d30~d33)가 Data[4:1]에 오는 것을 알 수 있다. 그 때문에, T433의 기간부터 수신 데이터의 Data[4:1]를 사용하여 클록 전환 버퍼(66-1)에 의한 변환을 시작할 수 있다.
도 11~도 14에서 설명한 바와 같이, 특정 코드 검출 후의 정해진 타이밍 이후에 셀렉터(64-21)에서 Data[3:0], Data[4:1] 중 어느 하나만을 선택함으로써, 수신 데이터의 처리 레이턴시를 최단으로 하면서, 보다 적은 회로 규모 및 회로 지연으로 필요한 수신 데이터를 추출할 수 있다.
도 15는 실시예의 수신측 장치(60)에서의 직렬 데이터 수신 처리의 동작 타임차트를, 클록 전환 버퍼(66-1)의 판독 포트측의 동작까지 포함시켜 나타낸 도면이다. 도 15에 있어서, 셀렉터(64-21)에서 Data 10B Alignment가 선택되기까지의 동작 파형에 대해서는, 도 10과 동일하므로 설명을 생략한다. 도 15에서, 수신측 클록으로는, 직렬 전송 클록을 10 분주한 경우의 주기에 해당하는 주기를 갖는 클록으로 동작하고, 수신측 클록의 주기는 T500~T504 등의 각 주기와 같은 것으로 한다. 이하, 도 8, 도 9의 각 회로와 도 15를 대비시키면서 수신측 장치(60)의 동작에 관해 설명한다.
셀렉터(64-21)에서 선택된 4 비트의 데이터인 Data 10B Alignment는 4 비트 데이터 레지스터(65)에 의해 래치되고, 클록 전환 버퍼(66-1)에 라이트 데이터(Buffer WT Data)로서 입력된다. 이 때, 10 비트의 데이터 경계에 있는 데이터(d30~d33)가 클록 전환 버퍼(66-1)에 입력되는 T309의 기간에 맞춰, 클록 전환 버퍼(66-1)로의 기록 허가 신호인 Write Enable 신호가 기록 제어 회로(66-2)로부터 어서트된다. 이 Write Enable 신호는 기록 타이밍 조정 회로(64-12)에서 생성된 Write valid 신호에 기초하여 생성되고, 10 비트의 데이터 경계에 있는 데이터(d30~d33) 이후의 데이터가 클록 전환 버퍼(66-1)에 입력되는 T309 이후의 기간 동안 어서트된다.
클록 전환 버퍼(66-1)로의 Write Enable은 T309 이후에 Buffer WT Data의 d30~d33 이후의 데이터에 대하여 어서트되기 때문에, 클록 전환 버퍼(66-1)에는 d30~d33 이후의 데이터가 기록되고, d10~d19나 d20~d29의 데이터는 기록되지 않는다. 그 때문에, 클록 전환 버퍼(66-1)의 판독 포트측으로부터는, T502 이후의 기간 동안 d30~d39 이후의 10 비트 데이터가 판독된다. 이와 같이 하여 판독된 10 비트 데이터는 수신 데이터 레지스터(67), 10B8B 변환 회로(68) 및 수신 데이터 레지스터(69)를 거쳐 최종적인 8 비트의 수신 데이터로 변환된다.
이상에 설명한 구성에 의해, 수신측 장치(60)의 SerDes 회로(62)에서의 직렬ㆍ병렬 변환으로부터 정해진 데이터 경계에서 구획된 수신 데이터를 추출하고, 클록 전환 버퍼(66-1)에서의 클록 전환까지의 처리를, 고속으로 그리고 짧은 처리 레이턴시로 수행할 수 있다. 그 때문에, 고속 직렬 버스를 갖는 시스템의 성능을 향상시킬 수 있다. 예를 들어, 고속 직렬 버스의 수신 장치예에 따른 도 6과 실시예에 따른 도 15의 각 수신 장치측에서의 처리 레이턴시를 비교한다. 도 6 및 도 15의 양 도면에서, 직렬 전송 클록의 사이클로서 t27의 사이클로 d30의 데이터가 입력된다. 이 d30의 데이터가 클록 전환 버퍼의 판독 포트로부터 판독되는 타이밍은, 고속의 직렬 버스의 수신 장치예에 따른 도 6에서는 t80인 데 비해, 실시예에 따른 도 15에서는 t68이기 때문에, 실시예에서 22 사이클 단축되어 있는 것을 알 수 있다.
실시예에 따른 발명은 전술한 실시형태에 한정되지 않고, 본 발명의 취지를 일탈하지 않는 범위에서 다양하게 변형하여 실시할 수 있다. 예를 들어, 전술한 실시형태에서, 전송 데이터의 데이터 경계는 10 비트 단위일 필요는 없고, 다른 비트수이어도 좋다. 또, 수신측 장치의 SerDes 회로(62)는 직렬ㆍ병렬 변환을 4 비트 단위로 수행하는 것이 아니라, 수신측 장치의 동작 주파수나 데이터 경계의 비트수에 맞춰 다른 비트수의 단위로 직렬ㆍ병렬 변환을 수행하도록 할 수 있다.
그 때, 수신 데이터 경계에서 구획된 비트수를, SerDes 회로에서 병렬 데이터로 정리할 때의 비트수보다 크게 하는 것으로 하고, 병렬 데이터로 정리할 때의 비트수도 2의 멱승의 비트수가 바람직하다. 이것은, 수신측 장치에서의 SerDes 회로에서, 용이하게 재생 클록에 기초하여 분주 클록을 생성하여 직렬ㆍ병렬 변환을 수행하는 것이 가능하기 때문이다. 또, 병렬 데이터로 정리할 때의 비트수는 수신측 장치의 동작 가능 주파수에 따라서도 달라지지만, 가능한 한 적은 비트수가 바람직하다. SerDes 회로에서 변환된 병렬 데이터와 수신 데이터의 경계 위치의 어긋남을 작게 할 수 있기 때문이다. 또한, 수신 데이터의 경계 위치를 구획하는 비트수와의 최소 공배수가 가능한 한 작아지도록, 병렬 데이터로 정리할 때의 비트수를 결정하는 것이 바람직하다. 그렇게 함으로써, 클록 전환 버퍼의 단수를 줄일 수 있어, 클록 전환 버퍼에 대한 데이터의 기록, 판독 제어가 용이해진다.
본 발명은 고속 전송되는 직렬 데이터의 수신에 이용할 수 있다.
52 : SerDes 회로 53 : 수신 데이터 레지스터
54-1 : 특정 코드 검출 회로 54-11 : 검출 위치 유지 회로
54-12 : 기록 개시 타이밍 조정 회로 54-21 : 셀렉터
55 : N 비트의 데이터 레지스터 56-1 : 클록 전환 버퍼
56-2 : 기록 제어 회로 56-3 : 동기화 회로
56-4 : 판독 제어 회로 57 : M 비트의 데이터 레지스터
54-1 : 특정 코드 검출 회로 54-11 : 검출 위치 유지 회로
54-12 : 기록 개시 타이밍 조정 회로 54-21 : 셀렉터
55 : N 비트의 데이터 레지스터 56-1 : 클록 전환 버퍼
56-2 : 기록 제어 회로 56-3 : 동기화 회로
56-4 : 판독 제어 회로 57 : M 비트의 데이터 레지스터
Claims (8)
- 제1 비트수의 단위로 구획된 통신 데이터와, 상기 제1 비트수의 단위로 구획된 제어용 데이터를 포함하는 직렬 데이터를 수신하는 직렬 데이터 수신 회로 장치에 있어서,
상기 직렬 데이터를 수신하여, 상기 제1 비트수보다 적은 제2 비트수의 병렬 데이터로 상기 직렬 데이터를 변환하는 직렬ㆍ병렬 변환 회로와,
상기 제2 비트수의 단위의 비트폭을 갖는 복수의 레지스터를 가지며, 상기 직렬ㆍ병렬 변환 회로에서 변환된 병렬 데이터를 입력된 순으로 복수개 유지하는 데이터 유지 회로와,
상기 데이터 유지 회로에 저장된 데이터에 포함되는 제어용 데이터를 검출하여, 수신된 직렬 데이터의 구획 위치를 검출하는 검출 회로와,
상기 검출 회로의 검출 결과로부터 얻어지는 데이터 구획 위치에 관한 정보에 기초해, 상기 데이터 유지 회로에 저장된 병렬 데이터에 포함되며, 상기 데이터 구획 위치로부터 제2 비트수만큼의 데이터를 선택하기 위한 선택 신호를 생성하는 검출 위치 유지 회로와,
상기 검출 위치 유지 회로에서 생성된 선택 신호에 기초하여, 상기 데이터 유지 회로에 저장된 데이터 중, 검출된 구획 위치를 기준으로 하여, 제2 비트수의 단위로 데이터를 선택하는 선택 회로
를 갖는 것을 특징으로 하는 직렬 데이터 수신 회로 장치. - 제1항에 있어서, 상기 검출 회로는 상기 검출 회로에 입력된 제1 비트수의 병렬 데이터가 상기 제어용 데이터의 특정 비트 패턴과 일치하는지의 여부를 비교하기 위한, 상기 제2 비트수와 동수의 복수의 비교 회로를 가지며,
상기 복수의 비교 회로에는, 상기 데이터 유지 회로에 저장된 수신 데이터로부터, 상기 제1 비트수의 단위로 1 비트씩 어긋나게 한 데이터가 각각 입력되고,
각 비교 회로는, 입력된 상기 제1 비트수의 데이터가 상기 특정 비트 패턴에 일치하는지의 여부를 비교함으로써, 수신 데이터의 구획 위치를 검출하는 것을 특징으로 하는 직렬 데이터 수신 회로 장치. - 제2항에 있어서, 상기 데이터 유지 회로는, 상기 데이터 유지 회로를 구성하는 복수의 레지스터 중에서 상기 직렬ㆍ병렬 변환 회로로부터의 데이터를 저장하는 제1 레지스터와, 상기 제1 레지스터에 저장된 데이터를 저장하는 제2 레지스터를 가지며,
상기 검출 위치 유지 회로는, 상기 검출 회로의 검출 결과로부터 얻어지는 데이터 구획 위치에 관한 정보에 기초해, 상기 특정 비트 패턴이 검출된 제어용 데이터 이후의 수신 데이터이며, 데이터 구획 위치를 기준으로 하여 제2 비트수만큼의 데이터를 상기 제1 및 제2 레지스터에 저장된 데이터로부터 상기 선택 회로에서 선택할 수 있는 타이밍을 판정하고, 판정된 타이밍에서 상기 데이터 구획 위치로부터 제2 비트수만큼의 데이터를 상기 선택 회로에서 선택하는 선택 신호를 생성하는 것을 특징으로 하는 직렬 데이터 수신 회로 장치. - 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 직렬 데이터의 전송 클록에 동기된 제1 클록에 동기하여 상기 선택 회로에 의해 선택된 상기 제2 비트수의 데이터가 기록되고, 그 기록된 데이터가 직렬 데이터 수신 회로 장치 내부의 회로를 동작시키기 위한 제2 클록에 동기하여 상기 제1 비트수의 단위로 판독되는 클록 전환 버퍼와,
상기 선택 회로에 의해 선택된 상기 제2 비트수의 데이터를 상기 클록 전환 버퍼에 기록하는 제1 클록에 동기된 제1 제어 신호를 생성하고, 상기 선택 회로에 의해 선택된 상기 제2 비트수의 데이터를 상기 클록 전환 버퍼에 기록하는 제어를 상기 제1 제어 신호를 이용하여 수행하는 기록 제어 회로와,
상기 기록 제어 회로에서 생성된 제1 제어 신호를 상기 제2 클록에 동기화하여 제2 제어 신호를 생성하는 동기화 회로와,
상기 동기화 회로에서 제2 클록에 동기화된 제2 제어 신호를 이용하여, 상기 제1 비트수의 단위로 클록 전환 버퍼에 기록된 데이터를 상기 제2 클록에 동기하여 판독하기 위한 제3 제어 신호를 생성하는 판독 제어 회로
를 더 갖는 것을 특징으로 하는 직렬 데이터 수신 회로 장치. - 제4항에 있어서, 상기 검출 회로의 검출 결과로부터 얻어지는 데이터 구획 위치에 관한 정보에 기초해, 검출된 특정 비트 패턴을 갖는 제어용 데이터 이후의 수신 데이터이며 상기 데이터 구획 위치로부터 제2 비트수만큼의 데이터를 상기 선택 회로에서 선택할 수 있는 타이밍을 판정하고, 판정된 타이밍에 관한 정보에 기초하여, 상기 데이터 구획 위치로부터 상기 클록 전환 버퍼로의 기록을 시작하기 위한 기록 타이밍 제어 신호를 생성하는 기록 타이밍 제어 회로를 더 가지며,
상기 기록 제어 회로는, 상기 기록 타이밍 제어 회로에 의해 생성된 기록 타이밍 제어 신호를 이용하여 상기 제1 제어 신호를 생성하는 것을 특징으로 하는 직렬 데이터 수신 회로 장치. - 제1 비트수의 단위로 구획된 통신 데이터와, 상기 제1 비트수의 단위로 구획된 제어용 데이터를 포함하는 직렬 데이터를 수신하는 직렬 데이터 수신 방법으로서,
상기 직렬 데이터를 수신하여 병렬 데이터로 변환하는 직렬ㆍ병렬 변환 회로에 의해, 수신된 상기 직렬 데이터를 상기 제1 비트수와 동일하거나, 그것보다 적은 제2 비트수의 병렬 데이터로 상기 직렬 데이터를 변환하는 직렬ㆍ병렬 변환 단계와,
상기 제2 비트수의 단위의 비트폭을 갖는 복수의 레지스터를 갖는 데이터 유지 회로에 의해, 상기 직렬ㆍ병렬 변환 회로에서 변환된 병렬 데이터를 입력된 순으로 복수개 유지하는 유지 단계와,
상기 데이터 유지 회로에 저장된 데이터에 포함되는 제어용 데이터의 특정 비트 패턴을 검출하기 위한 검출 회로에 의해, 수신된 직렬 데이터의 구획 위치를 검출하는 검출 단계와,
상기 검출 회로의 검출 결과로부터 얻어지는 데이터 구획 위치에 관한 정보에 기초해, 상기 데이터 유지 회로에 저장된 병렬 데이터에 포함되며, 상기 데이터 구획 위치로부터 제2 비트수만큼의 데이터를 선택하기 위한 선택 신호를 생성하여 유지하는 검출 위치 유지 회로에 의해, 상기 선택 신호를 생성하는 검출 위치 유지 단계와,
상기 검출 위치 유지 회로에서 생성된 선택 신호에 기초하여, 상기 데이터 유지 회로에 저장된 데이터 중에서 상기 제2 비트수만큼의 데이터를 선택하는 선택 회로에 의해, 상기 데이터 유지 회로에 저장된 데이터 중, 검출된 구획 위치를 기준으로 하여, 제2 비트수의 단위로 데이터를 선택하는 선택 단계와,
상기 선택 회로에 의해 선택된 상기 제2 비트수의 데이터를, 상기 직렬 데이터의 전송 클록에 동기된 제1 클록으로부터 수신 회로 장치 내부의 회로를 동작시키기 위한 클록에 동기된 제2 클록으로 전환하기 위한 클록 전환 버퍼에 기록하는 기록 단계와,
상기 기록 단계에서 기록된 데이터를, 상기 제2 클록에 동기하여 상기 제1 비트수의 단위로 판독하는 판독 단계
를 포함하는 것을 특징으로 하는 직렬 데이터 수신 방법. - 제6항에 있어서, 상기 검출 회로에서 상기 특정 비트 패턴을 검출하여 수신 데이터의 구획 위치를 검출한 경우에, 상기 검출 회로의 검출 결과로부터 얻어지는 상기 데이터 구획 위치에 관한 정보에 기초해, 상기 특정 비트 패턴이 검출된 제어용 데이터 이후의 수신 데이터이며, 데이터 구획 위치를 기준으로 하여 제2 비트수만큼의 데이터를 상기 선택 회로에서 선택할 수 있는 타이밍을 판정하고, 판정된 타이밍에 관한 정보에 기초하여, 상기 데이터 구획 위치로부터 상기 클록 전환 버퍼로의 기록을 시작하는 기록 타이밍을 제어하는 기록 타이밍 제어 단계를 더 포함하는 것을 특징으로 하는 직렬 데이터 수신 방법.
- 제1 비트수의 단위로 구획된 통신 데이터와, 상기 제1 비트수의 단위로 구획된 제어용 데이터를 포함하는 직렬 데이터를 수신하는 직렬 데이터 수신 회로 장치에 있어서,
상기 직렬 데이터를 수신하여, 상기 제1 비트수와 동일하거나, 그것보다 적은 제2 비트수의 병렬 데이터로 상기 직렬 데이터를 변환하는 직렬ㆍ병렬 변환 회로와,
상기 제2 비트수의 단위의 비트폭을 갖는 복수의 레지스터를 가지며, 상기 직렬ㆍ병렬 변환 회로에서 변환된 병렬 데이터를 입력된 순으로 복수개 유지하는 데이터 유지 회로와,
상기 데이터 유지 회로에 저장된 데이터에 포함되는 제어용 데이터를 검출하여, 수신된 직렬 데이터의 구획 위치를 검출하는 검출 회로와,
상기 검출 회로의 검출 결과로부터 얻어지는 데이터 구획 위치에 관한 정보에 기초해, 상기 데이터 유지 회로에 저장된 병렬 데이터에 포함되며, 상기 데이터 구획 위치로부터 제2 비트수만큼의 데이터를 선택하기 위한 선택 신호를 생성하는 검출 위치 유지 회로와,
상기 검출 위치 유지 회로에서 생성된 선택 신호에 기초하여, 상기 데이터 유지 회로에 저장된 데이터 중, 검출된 구획 위치를 기준으로 하여, 제2 비트수의 단위로 데이터를 선택하는 선택 회로
를 갖는 것을 특징으로 하는 직렬 데이터 수신 회로 장치.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2010-025880 | 2010-02-08 | ||
JP2010025880A JP5531655B2 (ja) | 2010-02-08 | 2010-02-08 | シリアルデータ受信回路装置及びシリアルデータ受信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110092240A KR20110092240A (ko) | 2011-08-17 |
KR101174234B1 true KR101174234B1 (ko) | 2012-08-14 |
Family
ID=44072752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110011184A KR101174234B1 (ko) | 2010-02-08 | 2011-02-08 | 직렬 데이터 수신 회로 장치 및 직렬 데이터 수신 방법 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8401138B2 (ko) |
EP (1) | EP2355398B1 (ko) |
JP (1) | JP5531655B2 (ko) |
KR (1) | KR101174234B1 (ko) |
CN (1) | CN102147785A (ko) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140065409A (ko) * | 2011-09-02 | 2014-05-29 | 나파테크 에이/에스 | 데이터 패킷의 수신 시점을 식별하기 위한 시스템 및 방법 |
US9280454B1 (en) * | 2012-03-02 | 2016-03-08 | Cadence Design Systems, Inc. | Method and system for re-ordering bits in a memory system |
DE102012205160A1 (de) * | 2012-03-29 | 2013-10-02 | Robert Bosch Gmbh | Kommunikationsanordnung und Verfahren zur Konfiguration programmierbarer Hardware |
JP6068193B2 (ja) * | 2013-02-28 | 2017-01-25 | シナプティクス・ジャパン合同会社 | 受信装置及び送受信システム |
US9473172B2 (en) | 2014-02-04 | 2016-10-18 | GlobalFoundries, Inc. | Receiver deserializer latency trim |
US9374098B2 (en) | 2014-02-04 | 2016-06-21 | GlobalFoundries, Inc. | Transmitter serializer latency trim |
US10284838B2 (en) * | 2016-08-19 | 2019-05-07 | Titan Medical Inc. | Method and apparatus for transmitting images captured by first and second image sensors |
CN106776394B (zh) * | 2017-01-11 | 2019-05-14 | 深圳大普微电子科技有限公司 | 一种数据转换的硬件系统和存储器 |
TWI768284B (zh) * | 2020-01-21 | 2022-06-21 | 瑞昱半導體股份有限公司 | 串列資料處理裝置與資料偏移修正方法 |
CN116015550B (zh) * | 2022-11-17 | 2024-07-02 | 飞腾信息技术有限公司 | 一种k码检测电路、k码检测方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002009745A (ja) | 2000-06-23 | 2002-01-11 | Sony Corp | 受信装置およびデータ伝送装置 |
JP2005142872A (ja) | 2003-11-07 | 2005-06-02 | Sony Corp | データ伝送システム、データ送信装置、データ受信装置、データ伝送方法、データ送信方法及びデータ受信方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
NZ220548A (en) | 1986-06-18 | 1990-05-28 | Fujitsu Ltd | Tdm frame synchronising circuit |
US5081654A (en) | 1989-05-12 | 1992-01-14 | Alcatel Na Network Systems Corp. | Parallel bit detection circuit for detecting frame synchronization information imbedded within a serial bit stream and method for carrying out same |
US5592518A (en) * | 1994-03-28 | 1997-01-07 | Hughes Electronics | Parallel frame synchronizer for detecting forward-ordered/reverse-ordered, inverted/non-inverted data |
US5796795A (en) * | 1994-11-30 | 1998-08-18 | Gte Laboratories Incorporated | Data transferring circuit which aligns clock and data |
JP3441275B2 (ja) * | 1995-11-30 | 2003-08-25 | 富士通株式会社 | データのパラレルインタフェース回路 |
JP3415378B2 (ja) * | 1996-11-15 | 2003-06-09 | 富士通株式会社 | フレーム同期パターン処理装置並びにフレーム同期パターン検出装置及びフレーム同期パターン検出方法 |
JPH11122117A (ja) * | 1997-10-15 | 1999-04-30 | Sony Corp | シリアル・パラレル変換装置 |
JP3094973B2 (ja) | 1997-11-06 | 2000-10-03 | 日本電気株式会社 | 信号同期検出回路 |
US6459393B1 (en) * | 1998-05-08 | 2002-10-01 | International Business Machines Corporation | Apparatus and method for optimized self-synchronizing serializer/deserializer/framer |
US6222380B1 (en) * | 1998-06-15 | 2001-04-24 | International Business Machines Corporation | High speed parallel/serial link for data communication |
US6804316B1 (en) * | 1998-12-18 | 2004-10-12 | Verizon Corporate Services Group Inc. | Methods and system for performing frame recovery in a network |
US6741615B1 (en) * | 2000-09-14 | 2004-05-25 | Ciena Corporation | Methods and apparatuses for synchronizing data conversion of sonet framed data |
US6990549B2 (en) * | 2001-11-09 | 2006-01-24 | Texas Instruments Incorporated | Low pin count (LPC) I/O bridge |
US6999543B1 (en) * | 2001-12-03 | 2006-02-14 | Lattice Semiconductor Corporation | Clock data recovery deserializer with programmable SYNC detect logic |
US7292607B2 (en) * | 2002-02-04 | 2007-11-06 | Sartre Satire Llc | Method and circuit for processing data in communication networks |
US7123675B2 (en) * | 2002-09-25 | 2006-10-17 | Lucent Technologies Inc. | Clock, data and time recovery using bit-resolved timing registers |
EP1432160B1 (en) * | 2002-12-18 | 2006-06-21 | Alcatel | Method and system for handling data between a clock and data recovery circuit and a data processing unit in asynchronous networks |
US7814376B2 (en) * | 2004-03-01 | 2010-10-12 | Exar Corporation | Method and apparatus for frame delineation |
JP2007036869A (ja) * | 2005-07-28 | 2007-02-08 | Nec Electronics Corp | シリアルパラレル変換、パラレルシリアル変換、fifo一体回路 |
JP2009094891A (ja) | 2007-10-10 | 2009-04-30 | Toshiba Corp | 半導体集積回路装置及びパターン検出方法 |
JP5188287B2 (ja) | 2008-06-25 | 2013-04-24 | ルネサスエレクトロニクス株式会社 | 通信装置 |
JP2010025880A (ja) | 2008-07-24 | 2010-02-04 | Takashi Omori | 生体細胞の機能の評価方法 |
JP5104773B2 (ja) * | 2009-02-13 | 2012-12-19 | 富士通株式会社 | データ転送システム、データ転送装置およびデータ転送方法 |
JP5585141B2 (ja) * | 2010-03-18 | 2014-09-10 | 富士通株式会社 | データ転送システム、データ転送システムの受信装置及びデータ転送システムの制御方法 |
-
2010
- 2010-02-08 JP JP2010025880A patent/JP5531655B2/ja active Active
-
2011
- 2011-01-27 US US13/015,243 patent/US8401138B2/en active Active
- 2011-01-31 CN CN2011100354337A patent/CN102147785A/zh active Pending
- 2011-02-07 EP EP11153586.0A patent/EP2355398B1/en active Active
- 2011-02-08 KR KR1020110011184A patent/KR101174234B1/ko not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002009745A (ja) | 2000-06-23 | 2002-01-11 | Sony Corp | 受信装置およびデータ伝送装置 |
JP2005142872A (ja) | 2003-11-07 | 2005-06-02 | Sony Corp | データ伝送システム、データ送信装置、データ受信装置、データ伝送方法、データ送信方法及びデータ受信方法 |
Also Published As
Publication number | Publication date |
---|---|
EP2355398A3 (en) | 2012-01-25 |
EP2355398A2 (en) | 2011-08-10 |
JP5531655B2 (ja) | 2014-06-25 |
CN102147785A (zh) | 2011-08-10 |
JP2011166383A (ja) | 2011-08-25 |
US8401138B2 (en) | 2013-03-19 |
US20110194651A1 (en) | 2011-08-11 |
KR20110092240A (ko) | 2011-08-17 |
EP2355398B1 (en) | 2013-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101174234B1 (ko) | 직렬 데이터 수신 회로 장치 및 직렬 데이터 수신 방법 | |
US7010612B1 (en) | Universal serializer/deserializer | |
US9229897B2 (en) | Embedded control channel for high speed serial interconnect | |
US8023602B2 (en) | Serial data communication apparatus and methods of using a single line | |
KR100894811B1 (ko) | 서데스의 역직렬화기 및 그것의 데이터 역직렬화 방법 | |
US8464145B2 (en) | Serial interface devices, systems and methods | |
JP5096024B2 (ja) | Usbコントローラ及びusbコントローラ試験方法 | |
US8045667B2 (en) | Deserializer and data recovery method | |
US7924185B2 (en) | Semiconductor integrated circuit device, pattern detection method and serial-parallel conversion method | |
US7796063B2 (en) | Data transmission circuits and data transceiver systems | |
US9058266B2 (en) | Deskew apparatus and method for peripheral component interconnect express | |
JP2008172657A (ja) | 受信装置 | |
CN107066419B (zh) | 可扩展的自适应n×n通道数据通信系统 | |
US11169952B2 (en) | Data transmission code and interface | |
US20230239256A1 (en) | Wide Elastic Buffer | |
CN104380273A (zh) | 基于环形缓冲器的数据的自适应偏移同步 | |
US7454543B2 (en) | Early high speed serializer-deserializer (HSS)internal receive (Rx) interface for data sampling clock signals on parallel bus | |
US10044535B2 (en) | Serial communication apparatus, communication system, and method for communication | |
CN116318601A (zh) | 用于高速信令互连的帧对齐恢复 | |
US10042810B2 (en) | Host controller of high-speed data interface with clock-domain crossing | |
US12038864B2 (en) | Signal processing circuit and reception device | |
WO2023104210A1 (zh) | 数据传输芯片及电子设备 | |
JP5126981B2 (ja) | データ伝達方法およびシステム | |
CN116015550A (zh) | 一种k码检测电路、k码检测方法及相关设备 | |
KR20100007909U (ko) | 데이터 변환 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |