KR102410488B1 - 위상-보간기-기반 트랜시버 시스템에서의 클록 데이터 복원(CDR;clock data recovery) 위상 워크 방식 - Google Patents
위상-보간기-기반 트랜시버 시스템에서의 클록 데이터 복원(CDR;clock data recovery) 위상 워크 방식 Download PDFInfo
- Publication number
- KR102410488B1 KR102410488B1 KR1020177035532A KR20177035532A KR102410488B1 KR 102410488 B1 KR102410488 B1 KR 102410488B1 KR 1020177035532 A KR1020177035532 A KR 1020177035532A KR 20177035532 A KR20177035532 A KR 20177035532A KR 102410488 B1 KR102410488 B1 KR 102410488B1
- Authority
- KR
- South Korea
- Prior art keywords
- code
- data
- crossing
- clock
- stepping
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/002—Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation
- H04L7/0025—Arrangements for synchronising receiver with transmitter correction of synchronization errors correction by interpolation interpolation of clock signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0079—Receiver details
- H04L7/0087—Preprocessing of received signal for synchronisation, e.g. by code conversion, pulse generation or edge detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
- H04L7/033—Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
- H04L7/0337—Selecting between two or more discretely delayed clocks or selecting between two or more discretely delayed received code signals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
하나 또는 그 초과의 사전설정된 기준들이 충족될 때까지, 클록 및 데이터 복원(CDR; clock and data recovery) 회로(206)에서 데이터 PI(phase interpolator) 코드(306) 또는 크로싱 PI 코드(308) 중 적어도 하나를 동기식으로 스텝핑하기 위한 방법들 및 장치가 설명된다. 하나의 예시적인 방법은, 일반적으로, 조건이 만족되었음을 결정하는 단계(502); 그 결정에 기반하여, CDR 회로(206)에서, 클록(302)의 각각의 사이클 동안 데이터 PI 코드(306) 또는 크로싱 PI 코드(308) 중 적어도 하나를 스텝핑하는(stepping) 단계(504); 데이터 PI 코드(306) 및 크로싱 PI 코드(308)의 미리결정된 상태를 생성하기 위해 하나 또는 그 초과의 기준들에 기반하여 스텝핑하는 단계를 중지하는 단계(506) - 미리결정된 상태는 데이터 PI 코드(306)와 크로싱 PI 코드(308) 사이에 오프셋을 포함함 -; 데이터 스트림(218)을 수신하는 단계(508); 및 데이터 PI 코드(306)와 크로싱 PI 코드(308) 사이의 오프셋에 기반하여 데이터 스트림(218) 에 대해 클록 및 데이터 복원을 수행하는 단계(510)를 포함한다.
Description
본 개시내용의 예들은 일반적으로 전자 회로(electronic circuit)들에 관한 것이며, 보다 구체적으로는 클록 데이터 복원(clock data recovery)을 위한 기법들에 관한 것이다.
IC(integrated circuit)들은 특정 기능들을 수행하도록 구현될 수 있다. 일 타입의 IC는 프로그램가능한 IC, 이를테면, FPGA(field programmable gate array)이다. 통상적으로, FPGA는 프로그램가능한 타일들의 어레이를 포함한다. 이러한 프로그램가능한 타일들은, 예컨대, IOB(input/output block)들, CLB(configurable logic block)들, BRAM(dedicated random access memory block)들, 멀티플라이어들, DSP(digital signal processing block)들, 프로세서들, 클록 관리자(clock manager)들, DLL(delay lock loop)들 등을 포함할 수 있다. 다른 타입의 프로그램가능한 IC는 복잡한 프로그램가능한 로직 디바이스, 즉 CPLD이다. CPLD는, 인터커넥트 스위치 매트릭스에 의해 함께 그리고 I/O(input/output) 리소스들에 연결된 2개 또는 그 초과의 “기능 블록들”을 포함한다. CPLD의 각각의 기능 블록은 PLA(Programmable Logic Array)들 및 PAL(Programmable Array Logic) 디바이스들에 사용되는 것들과 유사한 2-레벨 AND/OR 구조를 포함한다. 다른 프로그램가능한 IC들은 디바이스 상의 다양한 엘리먼트들을 프로그래밍가능하게 인터커넥팅하는 프로세싱 층, 이를테면, 금속 층을 적용함으로써 프로그래밍된다. 이러한 프로그램가능한 IC들은 마스크 프로그램가능한 디바이스들로서 알려져 있다. “프로그램가능한 IC”라는 문구는 또한, 오직 부분적으로 프로그래밍가능한 디바이스들, 이를테면, ASIC(application specific integrated circuit)들을 포함할 수 있다.
이러한 그리고 다른 타입들의 프로그램가능한 IC들은 동반하는 클록 신호 없이 고속 디지털 데이터 신호를 송신 라인들을 통해 수신기로 송신할 수 있다. 수신기의 클록 데이터 복원(CDR; clock data recovery) 회로는 통상적으로 근사(approximate) 주파수 기준 신호로부터 하나 또는 그 초과의 클록 신호들을 생성하고, 그런다음 그 클록 신호들을 수신된 데이터 신호의 전환부(transition)들 또는 수신된 데이터의 다른 부분에 위상 정렬시킨다. 수신기는, 수신된 데이터 신호의 데이터 비트들을 샘플링하기 위해 클록 신호들을 사용한다.
본 개시내용의 일 예는 클록 및 데이터 복원을 수행하는 방법이다. 이 방법은, 일반적으로, 조건이 만족되었음을 결정하는 단계; 그 결정에 기반하여, 클록 데이터 복원(CDR; clock data and recovery) 회로에서, 클록의 각각의 사이클 동안 데이터 PI(phase interpolator) 코드 또는 크로싱 PI 코드 중 적어도 하나를 스텝핑하는(stepping) 단계; 데이터 PI 코드 및 크로싱 PI 코드의 미리결정된 상태를 생성하기 위해 하나 또는 그 초과의 기준들에 기반하여 스텝핑하는 것을 중지하는 단계 - 미리결정된 상태는 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋을 포함함 -; 데이터 스트림을 수신하는 단계; 및 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋에 기반하여 데이터 스트림에 대해 클록 및 데이터 복원을 수행하는 단계를 포함한다.
선택적으로, 스텝핑하는 단계는, 클록의 각각의 사이클 동안 단일 코드 값만큼 데이터 PI 코드 또는 크로싱 PI 코드 중 적어도 하나를 증분시키는 단계를 포함할 수 있다.
선택적으로, 조건은 리셋 모드로부터 CDR 회로의 초기 이탈(initial exit)을 포함할 수 있다.
선택적으로, 스텝핑하는 단계는, 데이터 PI 코드를 0의 코드 값으로 홀딩하는 단계 및 데이터 PI 코드가 홀딩되는 동안 크로싱 PI 코드를 스텝핑하는 단계를 포함할 수 있다.
선택적으로, 방법은 스텝핑하는 단계 이전에 데이터 PI 코드 및 크로싱 PI 코드를 0의 코드 값을 갖도록 설정하는 단계를 더 포함할 수 있다.
선택적으로, 하나 또는 그 초과의 기준들은 미리결정된 상태에 대해 사전설정된 값과 동일한 코드 값에 크로싱 PI 코드가 도달하는 것을 포함할 수 있다.
선택적으로, 스텝핑하는 단계는 어떤 방향이 사전설정된 값에 더 빠르게 도달할지에 따라 크로싱 PI 코드를 증분 또는 감분시키는 단계를 포함할 수 있다.
선택적으로, 조건은 비동기식 리셋 동작을 포함할 수 있다.
선택적으로, 스텝핑하는 단계는 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋이 유지되는 채로, 데이터 PI 코드 및 크로싱 PI 코드를 함께 스텝핑하는 단계를 포함할 수 있다.
선택적으로, 하나 또는 그 초과의 기준들은 0의 코드 값에 데이터 PI 코드가 도달하는 것을 포함할 수 있다.
선택적으로, 수행하는 단계는 데이터 스트림에 기반하여 미리결정된 상태로부터 데이터 PI 코드 및 크로싱 PI 코드 사이의 오프셋을 조정하는 단계 및 데이터 PI 코드와 크로싱 PI 코드 사이의 조정된 오프셋을 사용하여 데이터 스트림에 대해 클록 및 데이터 복원을 수행하는 단계를 포함할 수 있다.
선택적으로, 미리결정된 상태는 0의 코드 값을 갖는 데이터 PI 코드 및 오프셋에 대한 사전설정된 값과 동일한 코드 값을 갖는 크로싱 PI 코드를 포함할 수 있다.
본 개시내용의 다른 예는 클록 및 데이터 복원 시스템이다. 클록 및 데이터 복원 시스템은 일반적으로, 적어도 하나의 PI(phase interpolator); 적어도 하나의 PI와 연관된 클록 및 데이터 복원(CDR; clock and data recovery) 회로를 포함하며, 여기서 CDR 회로는 하나 또는 그 초과의 위상 검출기들을 포함한다. CDR 회로는 통상적으로, 조건이 만족되었음을 결정하고; 그 결정에 기반하여, 시스템 클록의 각각의 사이클 동안 데이터 PI 코드 또는 크로싱 PI 코드 중 적어도 하나를 스텝핑하고; 데이터 PI 코드 및 크로싱 PI 코드의 미리결정된 상태를 생성하기 위해 하나 또는 그 초과의 기준들에 기반하여 스텝핑하는 것을 중지하고 - 미리결정된 상태는 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋을 포함함 -; 그리고 데이터 PI 코드 및 크로싱 PI 코드를 적어도 하나의 PI로 출력하도록 구성된다.
선택적으로, CDR 회로는 데이터 PI 코드 또는 크로싱 PI 코드 중 적어도 하나를 시스템 클록의 각각의 사이클 동안 단일 코드 값 만큼 증분시킴으로써 데이터 PI 코드 또는 크로싱 PI 코드 중 적어도 하나를 스텝핑하도록 구성될 수 있다.
선택적으로, 조건은 리셋 모드로부터 CDR 회로의 초기 이탈(initial exit)을 포함할 수 있다.
선택적으로, CDR 회로는 데이터 PI 코드를 0의 코드 값으로 홀딩하는 동안 크로싱 PI 코드를 스텝핑함으로써 데이터 PI 코드 또는 크로싱 PI 코드 중 적어도 하나를 스텝핑하도록 구성될 수 있다.
선택적으로, CDR 회로는, 크로싱 PI 코드가 스텝핑되기 전에 데이터 PI 코드 및 크로싱 PI 코드가 0의 코드 값을 갖도록 설정하도록 추가로 구성될 수 있다.
선택적으로, 하나 또는 그 초과의 기준들은 미리결정된 상태에 대해 사전설정된 값과 동일한 코드 값에 크로싱 PI 코드가 도달하는 것을 포함할 수 있다.
선택적으로, 조건은 비동기식 리셋 동작을 포함할 수 있다.
선택적으로, CDR 회로는, 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋이 유지되는 채로, 데이터 PI 코드 및 크로싱 PI 코드를 함께 스텝핑함으로써 데이터 PI 코드 또는 크로싱 PI 코드 중 적어도 하나를 스텝핑하도록 구성될 수 있다. 하나 또는 그 초과의 기준들은 0의 코드 값에 데이터 PI 코드가 도달하는 것을 포함할 수 있다.
본 개시내용의 또 다른 예는 클록 및 데이터 복원을 수행하기 위한 장치이다. 이 장치는, 일반적으로, 조건이 만족되었음을 결정하기 위한 수단; 그 결정에 기반하여, 클록의 각각의 사이클 동안 데이터 PI(phase interpolator) 코드 또는 크로싱 PI 코드 중 적어도 하나를 스텝핑하기 위한 수단; 데이터 PI 코드 및 크로싱 PI 코드의 미리결정된 상태를 생성하기 위해 하나 또는 그 초과의 기준들에 기반하여 스텝핑하는 것을 중지하기 위한 수단 - 미리결정된 상태는 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋을 포함함 -; 데이터 스트림을 수신하기 위한 수단; 및 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋에 기반하여 데이터 스트림에 대해 클록 및 데이터 복원을 수행하기 위한 수단을 포함한다.
이들 및 다른 양상들은 이하의 상세한 설명을 참조하여 이해될 수 있다.
본 개시내용의 상기 인용된 특징들이 상세하게 이해될 수 있는 방식으로, 상기 간략하게 요약된 본 개시내용의 더욱 구체적인 설명이 예들을 참조하여 행해질 수 있으며, 예들 중 일부는 첨부된 도면들에 예시된다. 그러나, 본 개시내용이 다른 균등하게 유효한 예들을 허용할 수도 있기 때문에, 첨부된 도면들은 본 개시내용의 오직 통상적인 예들만을 예시하며, 이에 따라, 본 개시내용의 범위를 제한하는 것으로 고려되지 않음에 유의해야 한다.
도 1은, 본 개시내용의 일 예에 따른, 프로그램가능한 디바이스에 대한 예시적인 아키텍처를 예시하는 블록도이다.
도 2는, 본 개시내용의 일 예에 따른, 위상-보간기-기반 트랜시버 시스템의 예시적인 수신기 부분의 블록도이다.
도 3은, 본 개시내용의 일 예에 따라, “초기 워크(Initial Walk)”에 대해 데이터 PI 코드를 일정하게 홀딩하는 동안 크로싱 PI(phase interpolator) 코드를 증분시키는 것을 예시하는 예시적인 타이밍 도면이다.
도 4는 본 개시내용의 일 예에 따라, “리셋 워크(Reset Walk)”에 대해 데이터 및 크로싱 PI 코드들 둘 모두를 함께 증분시키는 것을 예시하는 예시적인 타이밍 도면이다.
도 5는 본 개시내용의 일 예에 따라, 클록 및 데이터 복원에 대한 예시적인 동작들의 흐름도이다.
도 1은, 본 개시내용의 일 예에 따른, 프로그램가능한 디바이스에 대한 예시적인 아키텍처를 예시하는 블록도이다.
도 2는, 본 개시내용의 일 예에 따른, 위상-보간기-기반 트랜시버 시스템의 예시적인 수신기 부분의 블록도이다.
도 3은, 본 개시내용의 일 예에 따라, “초기 워크(Initial Walk)”에 대해 데이터 PI 코드를 일정하게 홀딩하는 동안 크로싱 PI(phase interpolator) 코드를 증분시키는 것을 예시하는 예시적인 타이밍 도면이다.
도 4는 본 개시내용의 일 예에 따라, “리셋 워크(Reset Walk)”에 대해 데이터 및 크로싱 PI 코드들 둘 모두를 함께 증분시키는 것을 예시하는 예시적인 타이밍 도면이다.
도 5는 본 개시내용의 일 예에 따라, 클록 및 데이터 복원에 대한 예시적인 동작들의 흐름도이다.
본 개시내용의 예들은, 하나 또는 그 초과의 사전설정된 기준들이 충족될 때까지, 클록 및 데이터 복원(CDR; clock and data recovery) 회로에서 데이터 PI(phase interpolator) 코드 또는 크로싱 PI 코드 중 적어도 하나를 동기식으로 스텝핑하기 위한 기법들 및 장치를 제공한다. 이러한 스텝핑은, 특정 조건이 만족된 이후에, 이를테면, CDR 회로가 리셋 모드를 빠져나오거나 또는 미션 모드에서 비동기식 리셋 절차 이후에 수행될 수 있다. 데이터 PI 코드 및/또는 크로싱 PI 코드를 동기식으로 스텝핑함으로써, PI-기반 트랜시버 시스템의 수신기 부분에서 클록 분배기들의 타이밍 위반이 회피될 수 있다.
예시적인 프로그램가능한 디바이스 아키텍처
도 1은, 본 개시내용의 일 예에 따른, 프로그램가능한 디바이스에 대한 예시적인 아키텍처(100)를 예시하는 블록도이다. 아키텍처(100)는, 예컨대, FPGA(field programmable gate array) 내에서 구현될 수 있다. 도시된 바와 같이, 아키텍처(100)는 몇몇 다양한 타입들의 프로그램가능한 회로, 예컨대, 로직, 블록들을 포함한다. 예컨대, 아키텍처(100)는, MGT(multi-gigabit transceiver)들(101), CLB(configurable logic block)들(102), BRAM(random access memory block)들(103), IOB(input/output block)들(104), 구성/클록들(configuration and clocking logic)(105), DSP(digital signal processing) 블록들(106), 특수화된 I/O(input/output) 블록들(107)(예컨대, 구성 포트들 및 클록 포트들), 및 다른 프로그램가능한 로직(108), 이를테면, 디지털 클록 관리자들, ADC(analog-to-digital converter)들, 시스템 모니터링 로직, 등을 포함하는 다수의 상이한 프로그램가능한 타일들을 포함할 수 있다.
일부 FPGA들에서, 각각의 프로그램가능한 타일은, 각각의 인접 타일의 대응 INT(interconnect element)(111)에 그리고 그로부터 표준화된 커넥션들을 갖는 프로그램가능한 INT(111)를 포함한다. 이에 따라, 하나로 합쳐진 INT들(111)은 도시된 FPGA에 대한 프로그램가능한 인터커넥트 구조를 구현한다. 각각의 INT(111)는 또한, 도 1의 최우측(far right)에 포함된 예들에 의해 도시된 바와 같이, 동일한 타일 내 프로그램가능한 로직 엘리먼트로의 그리고 그로부터의 커넥션들을 포함한다.
예컨대 CLB(102)는 사용자 로직 + 단일 INT(111)를 구현하도록 프로그래밍될 수 있는 CLE(configurable logic element)(112)를 포함할 수 있다. BRAM(103)은 하나 또는 그 초과의 INT들(111)에 더해 BRL(BRAM logic element)(113)을 포함할 수 있다. 통상적으로, 타일에 포함된 INT들(111)의 수는 타일의 폭에 의존한다. 도시된 예에서, BRAM 타일은 5개의 CLB들과 동일한 폭을 갖지만, 다른 개수들(예컨대, 4개)이 또한 사용될 수 있다. DSP 블록(106)은 적절한 수의 INT들(111)에 더해 DSPL(DSP logic element)(114)을 포함할 수 있다. IOB(104)는, 예컨대, INT(111)의 하나의 인스턴스 뿐만 아니라 IOL(I/O logic element)(115)의 2개의 인스턴스들을 포함할 수 있다. 당업자에게 명백한 바와 같이, 예컨대, IOL(115)에 연결된 실제 I/O 패드들은 통상적으로 IOL(115)의 영역으로 한정되지 않는다.
도 1에 도시된 예시적인 아키텍처(100)에서, (도 1에 음영되어 도시된) 다이의 중심 부근의 수평 영역은 구성, 클록, 및 다른 제어 로직(구성/클록들(105))에 사용된다. 이러한 중심 영역으로부터 연장되는 다른 수직 영역들(109)은 FPGA의 너비(breadth)에 걸쳐 클록들 및 구성 신호들을 분배하는데 사용될 수 있다.
도 1에 예시된 아키텍처(100)를 활용하는 일부 FPGA들은 FPGA의 대부분을 형성하는 규칙적인 로우 구조(regular row structure)를 방해하는 부가적인 논리 블록들을 포함한다. 부가적인 로직 블록들은 프로그램가능한 블록들 및/또는 전용 회로일 수 있다. 예컨대, PROC(110)로 도시된 프로세서 블록은 몇몇 로우들의 CLB들(102) 및 BRAM들(103)에 걸쳐있다.
PROC(110)는 FPGA의 프로그램가능한 회로를 구현하는 다이의 일부로서 제조된 하드-와이어드 프로세서로서 구현될 수 있다. PROC(110)는 개별 프로세서(예컨대, 프로그램 코드를 실행할 수 있는 단일 코어)로부터 하나 또는 그 초과의 코어들, 모듈들, 코-프로세서들, 인터페이스들 등을 갖는 전체 프로세싱 시스템에 이르기까지 그 복잡성이 다양한 상이한 프로세서 타입들 및/또는 시스템들 중 임의의 것을 나타낼 수 있다.
더욱 복잡한 어레인지먼트에서, 예컨대, PROC(110)는 하나 또는 그 초과의 코어들(예컨대, 중앙 프로세싱 유닛들), 캐시 메모리들, 메모리 제어기, IC의 I/O 핀들(예컨대, I/O 패드들)에 직접 커플링하고 그리고/또는 FPGA의 프로그램가능한 회로에 커플링하도록 구성가능한 FPGA의 단방향 및/또는 양방향 인터페이스들을 포함할 수 있다. “프로그램가능한 회로(programmable circuitry)”라는 문구는, IC 내의 프로그램가능한 회로 엘리먼트들(예컨대, 본원에 설명된 다양한 프로그램가능한 또는 구성가능한 회로 블록들 또는 타일들)뿐만 아니라, FPGA로 로딩되는 구성 데이터에 따라 다양한 회로 블록들, 타일들, 및/또는 엘리먼트들을 선택적으로 커플링하는 인터커넥트 회로를 지칭할 수 있다. 예컨대, PROC(110) 외부에 있는 도 1에 도시된 부분들은 FPGA의 프로그램가능한 회로 또는 그 일부로 고려될 수 있다.
도 1은 프로그램가능한 회로(예컨대, 프로그램가능한 패브릭) 및 프로세싱 시스템을 포함하는 FPGA를 구현하는데 사용될 수 있는 예시적인 아키텍처(100)를 예시하도록 의도된다. 예컨대, 로우(row)의 로직 블록들의 수, 로우들의 상대 폭, 로우들의 수 및 순서, 로우들에 포함된 로직 블록들의 타입들, 로직 블록들의 상대적 크기들, 및 도 1의 우측에 포함된 인터커넥트/로직 구현들은 예시적인 것이다. 실제 FPGA에서, 예컨대, 사용자 회로 디자인의 효율적인 구현을 용이하게 하기 위한 노력으로, CLB들이 나타나는 곳 마다 CLB들(102)의 1개 초과의 인접 로우가 통상적으로 포함된다. 그러나, 인접 CLB 로우들의 수는 FPGA의 전체 크기에 따라 달라질 수 있다. 게다가, FPGA 내에서의 PROC(110)의 크기 및/또는 포지셔닝은, 오직 예시의 목적들을 위한 것이고 그리고 본 개시내용의 하나 또는 그 초과의 예들의 제한으로서는 의도되지 않는다.
아래에 설명되는 바와 같이, 도1의 프로그램가능한 디바이스에서 하나 또는 그 초과의 MGT들(101)은 고속 디지털 데이터 스트림뿐만 아니라 위상 워킹(phase walking)에 대해 클록 및 데이터 복원을 수행할 수 있다.
예시적인 CDR 위상 워킹
도 2는, 본 개시내용의 일례에 따른, 위상-보간기-기반 트랜시버 시스템에 대한 수신기(200)의 블록도이다. 수신기(200)의 폐쇄-루프 부분(201)은, 캡쳐 플립-플롭들의 세트(202), 역직렬화기(204), 디지털 클록 및 데이터 복원(CDR; clock and data recovery) 회로(206), PI(phase interpolator)들의 세트(208), 및 클록 분배기들의 세트(210)를 포함할 수 있다. 수신기(200)는 또한, CTLE(continuous time linear equalizer)(212), 합산기(214), 및 적응 회로(216)를 포함할 수 있다.
고속 디지털 데이터 스트림(218)은, 적응 회로(216)로부터의 입력(220)을 사용하여 데이터 스트림(218)에 대한 선형 등화를 수행하는 CTLE(212)에 의해 수신될 수 있다. 등화된 데이터(222)는 적응 회로(216)로부터의 입력 제어 신호(224)로 조정될 수 있고, 합산기(214)에 의해 출력된 데이터(226)는 수신기(200)의 폐-루프 부분(201)에 진입할 수 있다.
캡쳐 플립-플롭들의 세트(202)는, 합산기(214)에 의해 출력되는 데이터(226)를 캡쳐하기 위해 (주파수 분배기들로도 또한 알려진) 클록 분배기들의 세트(210)에 의해 생성되는 클록들(228)을 캡쳐함으로써 클록킹될 수 있다. 캡쳐 플립-플롭들의 세트(202)에 의해 출력되는 캡쳐된 데이터 및 크로싱들뿐만 아니라 캡쳐링 클록(들)(230)은 역직렬화기(204)에 의해 역직렬화될 수 있다. 역직렬화기(204)는 역직렬화된 데이터 및 크로싱들 그리고 클록 신호들(232, 234)을 적응 회로(216) 및 디지털 CDR 회로(206)에 출력할 수 있다.
CDR 회로(206)는 역직렬화된 데이터 및 클록 신호들(234)에서 검출된 데이터 전환들과의 위상 관계들을 나타내기 위해 복수의 뱅-뱅(bang-bang) 위상 검출기들을 포함할 수 있다. 데이터 크로싱들이 일 예로서 본원에 사용되지만, 다른 타입들의 데이터 전환들, 이를테면, 에지 검출, 제로 크로싱들 등이 사용될 수 있다는 것을 이해해야 한다. CDR 회로(206)의 출력은 PI들의 세트(208)에 대한 코딩된 출력(236), 이를테면, 이진-코딩된 출력 또는 다른 코딩된 출력일 수 있다. 코딩된 출력(236)은 데이터에 대한 데이터 PI 코드 및 크로싱들에 대한 크로싱 PI 코드를 포함할 수 있다. 일부 예들의 경우, 각각의 PI 코드는 랩-어라운드 코드(wrap-around code)에서 0 내지 127 범위의 7-비트 값을 가질 수 있다. 이 경우, 각각의 PI 코드는 0 내지 360° 범위의 위상에 대해 128개의 가능한 값들 중 하나를 나타낸다.
PI들의 세트(208)는 CDR 회로(206)로부터의 코딩된 출력(236) 및 클록 모듈, 이를테면, PLL(phase-locked loop)(미도시)로부터의 다수의 위상-시프팅된 클록들(238)을 수신할 수 있다. PI들의 세트(208)는, 코딩된 출력(236) 및 클록들(238)에 기반하여 데이터 스트림에 대한 위상 관계를 선택할 수 있다. 선택된 위상(240)은 PI들의 세트(208)에 의해 클록 분배기들의 세트(210)에 출력되는 전압(차이)으로 표현될 수 있다.
디지털 CDR 회로(206)의 뱅-뱅 위상 검출기들은 각각의 데이터 비트(고속 디지털 데이터의 아이 다이어그램(eye diagram)에서 각각의 “아이(eye)”)에 대한 데이터 및 크로싱 정보 둘 모두를 사용한다. 뱅-뱅 위상 검출 방식을 만족시키기 위해, 역직렬화기(204)로부터 나오는 크로싱 데이터가 존재하며, 이는 CDR 회로(206)에서 사용된다. 크로싱 위상은 데이터 위상에 따른(on top of) 정적 TO(total offset)를 갖는 위상이다. 총 오프셋은, 3개의 부분들: (1) IO - 전체/하위-레이트 클록 방식에 따라 절반-UI(단위 인터벌) 또는 제로-UI로 정의된 이상적인 오프셋; (2) DXD - “아이” 불규칙으로 인한 데이터와 크로스 사이의 조정; 및 (3) CKOK - CDR 외부에서의 클록 신호 교정으로부터의 조정으로 구성될 수 있다. 따라서,
TO = IO + DXD + CKOK
이다.
총 오프셋은 리셋에서 벗어난 이후에 CDR 회로(206) 내부에 구축될 수 있다. CDR 회로(206)가 리셋 모드를 빠져나오기 전에 TO가 초기화되기 때문에, TO는 정적 값으로서 취급될 수 있고 그리고 “로드(load)” 동작을 통해 한번에 전체적으로 로딩될 수 있다. 총 오프셋은 또한 미션 모드에서 비동기식 리셋 절차를 통해 강제로 종료될 수 있다(forced away). 종래의 비동기식 리셋은 데이터 및 크로싱 PI 코드들 모두를 0으로 점핑하도록 강제할 수 있다. 둘 모두의 방법들(“로딩(load)” 및 “강제 종료(forced away)”)은, 상당한 크기의 코드 변화(sizable code change) 및 크로싱 PI 위상 시프트를 인보크할 가능성이 있어서, 이에 의해 클록 분배기들의 세트(210)에서 트리거 임계 경로 타이밍 위반들을 잠재적으로 야기하고 이는 PI-기반 트랜시버 시스템의 고장을 유도한다.
본 개시내용의 예들은, 원하는 데이터 및 크로싱 PI 코드 값들로 갑자기 점핑하기 보다는, 이러한 시나리오들에서 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋을 변화시키기 위해 동기식 위상 워크를 사용한다. 이전 시나리오(즉, 리셋 모드에서 빠져나옴)에 대한 동기식 위상 워크는 “초기 워크(Initial Walk)”로서 본원에 지칭되는 반면, 후자의 시나리오(즉, 미션 모드에서 비동기식 리셋 절차)는 “리셋 워크(Reset Walk)”로서 본원에 지칭된다. 어떤 타입의 동기식 위상 워크를 통해서라도, 단일 클록 사이클에 대한 변화는 UI 크기의 프랙션(예컨대, 1/16, 1/32, 1/64)으로 제한될 수 있고, 위상들은 사전설정된 기준들이 만족될때까지 모든 각각의 클록 사이클 마다 스텝핑할 수 있다.
도 3은 본 개시내용의 일 예에 따른, 예시적인 초기 워크를 예시하는 타이밍 도면(300)이다. 초기 워크의 경우, 데이터 PI 코드(306) 및 크로싱 PI 코드(308) 둘 모두는 초기 PI 코드 값들(예컨대, 0과 동일한 코드 값들)을 가질 수 있다. 리셋 신호(304)(“Reset_b”로 라벨링됨)가 타임(310)에서 인에이블되면(예컨대, 로직 로우에서 로직 하이로 전환되면), CDR 회로(206)는 수신기(200)에 대한 기준 클록(302)(“Clk”로 라벨링됨)의 모든 각각의 사이클마다 크로싱 PI 코드(308)를 스텝핑할 수 있는 한편, 데이터 PI 코드(306)는 일정하게 홀딩된다. 크로싱 PI 코드(308)는 사전설정된 TO에 도달할 때까지 모든 각각의 클록 사이클마다 스텝핑될 수 있다. 도 3의 예에서, IO = 32, DXD = 1, 및 CKOK = 0 이어서, TO = 33을 산출한다. 사전설정된 TO로 바로 점핑하기 보다는, 종래의 CDR 회로들에서와 같이, 크로싱 PI 코드(308)는 클록(302)과 동기식으로 크로싱 PI 코드(308)를 스텝핑함으로써 타임(312)에서 사전설정된 TO로 구축된다. 다른 예들의 경우, 데이터 PI 코드(306)는 동기식으로 스텝핑될 수 있는 한편, 크로싱 PI 코드(308)는 일정하게 홀딩된다. 크로싱 PI 코드(308)(또는 데이터 PI 코드(306))가 모든 각각의 클록 사이클 마다 하나의 PI 코드 값만큼 스텝핑된다고 하더라도, CDR 회로(206)는 일부 예들에 대해 1개 초과의 PI 코드 값만큼 크로싱 PI 코드(또는 데이터 PI 코드)를 스텝핑할 수 있다. PI 코드들(306, 308)간의 총 오프셋이 구축된 이후에, CDR 회로(206)는 이후에 어떤 타임(314)에서 (예컨대, 뱅-뱅 위상 검출에 기반하여 PI 코드들을 조정함으로써) 자신의 적응을 시작할 수 있다.
일부 예들의 경우, 초기 워크는, PI들의 세트(208)의 연속성으로 인해, 사전설정된 TO에 더욱 빠르게 도달하는(즉, 더 일찍 준비되는 더 짧은 루트를 취하는) 어느 방향으로든 진행할 수 있다. 도 3의 예에서, CDR 회로(206)는 기준 클록(302)의 모든 각각의 사이클 마다 크로싱 PI 코드(308)를 증분시켰다. 다른 예들의 경우, 그 대신에 크로싱 PI 코드(308)(또는 데이터 PI 코드(306))는 감분될 수 있다. 이 경우에서, 크로싱 PI 코드(308)는, 리셋이 일단 해제되면 0으로 시작하고, 제1 사이클에서 127까지 워킹하고, 그런다음 제2 사이클에서 126까지 워킹하는 식이며, 이러한 프로세스는 크로싱 PI 코드가 미리결정된 TO에 도달할때까지 계속된다. 이러한 워킹 방식 동안, 데이터 PI 코드(306)는 0에서 머무른다.
도 4는, 본 개시내용의 일 예에 따라, 예시적인 리셋 워크를 예시하는 예시적인 타이밍 도면(400)이다. 리셋 워크의 경우, 데이터 PI 코드(306) 및 크로싱 PI 코드(308) 둘 다는, 동작 동안 CDR 회로(206)에 의해 결정된 바와 같이, 그들 사이에 특정 오프셋을 갖는 시작 PI 코드 값들(예컨대, 각각, 82 및 115)을 가질 수 있다. 인에이블 신호(“Walk_En”으로 라벨링됨)가 (예컨대, 비동기식 리셋으로 인해) 타임(410)에서 트리거되면, CDR 회로(206)는 TO가 변경되지 않은 채로 유지되도록 기준 클록(302)의 모든 각각의 사이클마다 데이터 PI 코드(306) 및 크로싱 PI 코드(308)를 함께 스텝핑할 수 있다. 일부 예들의 경우, 타임(412)에서, PI 코드들(306, 308)은, 데이터 PI 코드(306)가 사전설정된 코드 값(예컨대, 0의 코드 값)에 도달할 때까지, 모든 각각의 클록 사이클마다 스텝핑될 수 있다. 특정 PI 코드에 대한 사전설정된 코드 값이 동기식 스텝핑에 의해 도달된 이후에, CDR 회로(206)가 자신의 정상 적응을 수행하는 것으로 복귀하기 전에 리셋이 해제될 때까지 CDR 회로(206)는 변경되지 않은 채로 머무를 수 있다.
미션 모드에서의 리셋 동작이 시간에 민감하지 않기 때문에, 리셋 워크는 양방향 동작이 가능할 필요는 없다. 즉, 리셋 워크는, 감분(또는 증분)이 특정 PI 코드의 사전설정된 코드 값에 더 빨리 도달하게 하는지 여부와는 상관없이, 미리결정된 방향에 따라 PI 코드들(306, 308) 둘 모두를 함께 증분하는 것(또는 감분하는 것)을 수반할 수 있다.
일부 예들에 따르면, 리셋 워크가 사용될 필요는 없다. 오히려, 초기 워크는 둘 모두의 시나리오들: (1) CDR 회로(206)가 리셋을 처음으로 빠져나올 때, 및 (2) 비동기식 리셋 이후에 수행될 수 있다.
위에 설명된 것과 같이 동기식 위상 워킹을 수행함으로써, 갑작스런 상당한 PI 코드 변화들이 회피된다. 따라서, PI들의 세트(208)에 의해 출력된 선택된 위상(240)은 갑자기 시프트하지 않고, 클록 분배기들의 세트(210)에서 타이밍 위반들을 아마도 야기하지 않을 것이다.
클록 및 데이터 복원을 수행하기 위한 예시적인 동작들
도 5는 본 개시내용의 일 예에 따라, 클록 및 데이터 복원을 수행하기 위한 예시적인 동작들(500)의 흐름도이다. 동작들(500)은, 예컨대, 고속 디지털 데이터 신호의 클록 및 데이터 복원을 위한 CDR 회로를 갖는 장치(예컨대, 도 2의 수신기(200))에 의해 수행될 수 있다. 일 예시적인 장치는, 하나 또는 그 초과의 MGT들(101)을 통해 도 1의 아키텍쳐(100)를 구현하는 PI-기반 트랜시버 시스템, 이를테면, FPGA를 갖는 프로그램가능한 IC이다.
동작들(500)은, 블록(502)에서, 장치가 조건이 만족되었다고 결정하는 것으로 시작할 수 있다. 블록(504)에서, 블록(502)에서의 결정에 기반하여, 장치(예컨대, 장치의 CDR 회로)는 클록의 각각의 사이클 동안 데이터 PI 코드 또는 크로싱 PI 코드 중 적어도 하나를 스텝핑할 수 있다. 블록(506)에서, 장치는 데이터 PI 코드 및 크로싱 PI 코드의 미리결정된 상태를 생성하기 위해 하나 또는 그 초과의 기준들에 기반하여 스텝핑을 중지할 수 있다. 미리결정된 상태는, 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋을 포함할 수 있다. 예컨대, 미리결정된 상태는 0의 코드 값을 갖는 데이터 PI 코드 및 오프셋(예컨대, 공칭 오프셋)에 대한 사전설정된 값과 동일한 코드 값을 갖는 크로싱 PI 코드를 포함할 수 있다.
일부 예들의 경우, 장치(예컨대, CDR 회로)는 미리결정된 상태로부터 시작하여, 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋을 조정할 수 있다. 블록(508)에서, 장치는 데이터 스트림(예컨대, 고속 디지털 데이터 스트림)을 수신할 수 있다. 블록(510)에서, 장치는 데이터 PI 코드와 크로싱 PI 코드 사이에서 (조정된) 오프셋에 기반하여 데이터 스트림에 대해 클록 및 데이터 복원을 수행할 수 있다.
일부 예들에 따라, 블록(504)에서의 스텝핑은, 클록의 각각의 사이클 동안 단일 코드 값만큼 데이터 PI 코드 또는 크로싱 PI 코드 중 적어도 하나를 증분시키는 것(또는 감분시키는 것)을 수반한다.
일부 예들에 따라, 조건은 리셋 모드로부터 CDR 회로의 초기 이탈(initial exit)을 포함한다. 이 경우, 블록(504)에서 스텝핑하는 것은, 데이터 PI 코드를 (예컨대, 0의 코드 값에) 홀딩하는 것 및 데이터 PI 코드가 홀딩되는 동안 크로싱 PI 코드를 스텝핑하는 것을 수반할 수 있다. 일부 예들의 경우, 동작(500)은 스텝핑 이전에 데이터 PI 코드 및 크로싱 PI 코드를 0의 코드 값을 갖도록 설정하는 것을 더 수반한다. 일부 예들의 경우, 하나 또는 그 초과의 기준들은 미리결정된 상태에 대해 사전설정된 값과 동일한 코드 값에 도달하는 크로싱 PI 코드를 포함한다. 일부 예들의 경우, 블록(504)에서 스텝핑하는 것은 어떤 방향이 사전설정된 값에 더 빠르게 도달할지에 따라 크로싱 PI 코드를 증분 또는 감분시키는 것을 수반한다.
일부 예들에 따라, 조건은 비동기식 리셋 동작을 포함한다. 일부 예들의 경우, 블록(504)에서 스텝핑하는 것은, 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋이 유지되는 채로, 데이터 PI 코드 및 크로싱 PI 코드를 함께 스텝핑하는 것을 수반할 수 있다. 이 경우, 하나 또는 그 초과의 기준들은 특정 코드 값(예컨대, 0의 코드 값)에 도달하는 데이터 PI 코드를 포함할 수 있다.
일부 예들에 따르면, 블록(504)에서 스텝핑하는 것은, 블록(510)에서 수행하기 전에(또는 CDR 회로에서 오프셋을 조정하기 전에) 데이터 PI 코드 또는 크로싱 PI 코드 중 적어도 하나가 클록의 단일 사이클에서 데이터 PI 코드 및 크로싱 PI 코드의 미리결정된 상태로 점핑하는 것을 방지할 수 있다.
일부 예들에 따르면, 장치는, 블록(510)에서, 데이터 스트림에 기반하여 (미리결정된 상태로부터 시작하여) 데이터 PI 코드와 크로싱 PI 코드 사이의 오프셋을 조정함으로써 그리고 데이터 PI 코드와 크로싱 PI 코드 사이의 조정된 오프셋을 사용하여 데이터 스트림에 대해 클록 및 데이터 복원을 수행함으로써 클록 및 데이터 복원을 수행할 수 있다.
본원(후술하는 청구항들을 포함)에서 사용된 바와 같이, 일 리스트의 아이템들 “중 적어도 하나”를 지칭하는 어구는 단일 멤버들을 포함하여 그들 아이템들의 임의의 결합을 지칭한다. 일례로서, “x, y, 및 z 중 적어도 하나”는 x, y, z, x-y, x-z, y-z, x-y-z, 및 이들의 임의의 조합(예컨대, x-y-y 및 x-x-y-z)을 커버하도록 의도된다.
전술한 것이 본 개시내용의 예들에 관한 것이지만, 본 개시내용의 다른 및 추가적인 예들이 본 개시내용의 기본적인 범위를 벗어나지 않고 고안될 수 있으며, 본 개시내용의 범위는 후속하는 청구항들에 의해 결정된다.
Claims (15)
- 클록 및 데이터 복원을 수행하는 방법으로서,
리셋 조건의 출현을 검출하는 단계;
상기 리셋 조건의 출현에 대한 응답으로, CDR(clock and data recovery) 회로에서, 클록의 각각의 사이클 동안 데이터 PI(phase interpolator) 코드 또는 크로싱 PI 코드 중 적어도 하나를 스텝핑(stepping)하는 단계;
상기 데이터 PI 코드 및 상기 크로싱 PI 코드의 미리결정된 상태를 생성하기 위해 상기 데이터 PI 코드 또는 상기 크로싱 PI 코드의 하나 또는 그 초과의 기준들에 기반하여 상기 스텝핑하는 단계를 중지하는 단계 ― 상기 미리결정된 상태는 상기 데이터 PI 코드와 상기 크로싱 PI 코드 사이에 오프셋을 포함함 ―;
데이터 스트림을 수신하는 단계; 및
상기 데이터 PI 코드와 상기 크로싱 PI 코드 사이의 상기 오프셋에 기반하여 상기 데이터 스트림에 대한 상기 클록 및 데이터 복원을 수행하는 단계를 포함하는,
클록 및 데이터 복원을 수행하는 방법. - 제 1 항에 있어서,
상기 스텝핑하는 단계는, 상기 클록의 각각의 사이클 동안 단일 코드 값만큼 상기 데이터 PI 코드 또는 상기 크로싱 PI 코드 중 적어도 하나를 증분시키는 단계를 포함하는,
클록 및 데이터 복원을 수행하는 방법. - 제 1 항에 있어서,
상기 리셋 조건은, 리셋 모드로부터 상기 CDR 회로의 초기 이탈(initial exit)을 포함하고,
상기 스텝핑하는 단계는:
상기 데이터 PI 코드를 0의 코드 값으로 홀딩하는 단계; 및
상기 데이터 PI 코드가 홀딩되고 있는 동안 상기 크로싱 PI 코드를 스텝핑하는 단계를 포함하는,
클록 및 데이터 복원을 수행하는 방법. - 제 3 항에 있어서,
상기 스텝핑하는 단계 이전에 상기 데이터 PI 코드 및 상기 크로싱 PI 코드를 0의 코드 값을 갖도록 설정하는 단계를 더 포함하는,
클록 및 데이터 복원을 수행하는 방법. - 제 3 항에 있어서,
상기 하나 또는 그 초과의 기준들은 상기 미리결정된 상태에 대한 사전설정된 값과 동일한 코드 값에 상기 크로싱 PI 코드가 도달하는 것을 포함하는,
클록 및 데이터 복원을 수행하는 방법. - 제 5 항에 있어서,
상기 스텝핑하는 단계는, 어떤 방향이 사전설정된 값에 더 빠르게 도달할지에 따라 상기 크로싱 PI 코드를 증분 또는 감분시키는 단계를 포함하는,
클록 및 데이터 복원을 수행하는 방법. - 제 1 항에 있어서,
상기 리셋 조건은 비동기식 리셋 동작을 포함하고,
상기 스텝핑하는 단계는, 상기 데이터 PI 코드와 상기 크로싱 PI 코드 사이에 오프셋이 유지되는 채로, 상기 데이터 PI 코드 및 상기 크로싱 PI 코드를 함께 스텝핑하는 단계를 포함하는,
클록 및 데이터 복원을 수행하는 방법. - 제 7 항에 있어서,
상기 하나 또는 그 초과의 기준들은 0의 코드 값에 상기 데이터 PI 코드가 도달하는 것을 포함하는,
클록 및 데이터 복원을 수행하는 방법. - 제 1 항에 있어서,
상기 수행하는 단계는,
상기 데이터 스트림에 기반하여 상기 미리결정된 상태로부터 상기 데이터 PI 코드와 상기 크로싱 PI 코드 사이의 상기 오프셋을 조정하는 단계; 및
상기 데이터 PI 코드와 상기 크로싱 PI 코드 사이의 상기 조정된 오프셋을 사용하여 상기 데이터 스트림에 대한 상기 클록 및 데이터 복원을 수행하는 단계를 포함하는,
클록 및 데이터 복원을 수행하는 방법. - 제 1 항에 있어서,
상기 미리결정된 상태는, 0의 코드 값을 갖는 상기 데이터 PI 코드, 및 상기 오프셋에 대한 사전설정된 값과 동일한 코드 값을 갖는 상기 크로싱 PI 코드를 포함하는,
클록 및 데이터 복원을 수행하는 방법. - 클록 및 데이터 복원 시스템으로서,
적어도 하나의 PI(phase interpolator); 및
상기 적어도 하나의 PI와 연결된 CDR(clock and data recovery) 회로를 포함하고,
상기 CDR 회로는,
하나 또는 그 초과의 위상 검출기들을 포함하고, 그리고
리셋 조건의 출현을 검출하고;
상기 리셋 조건의 출현에 대한 응답으로, 시스템 클록의 각각의 사이클 동안 데이터 PI 코드 또는 크로싱 PI 코드 중 적어도 하나를 스텝핑하고;
상기 데이터 PI 코드 및 상기 크로싱 PI 코드의 미리결정된 상태를 생성하기 위해 상기 데이터 PI 코드 또는 상기 크로싱 PI 코드의 하나 또는 그 초과의 기준들에 기반하여 스텝핑을 중지하고 ― 상기 미리결정된 상태는 상기 데이터 PI 코드와 상기 크로싱 PI 코드 사이에 오프셋을 포함함 ―; 그리고
상기 데이터 PI 코드 및 상기 크로싱 PI 코드를 상기 적어도 하나의 PI에 출력하도록 구성되는,
클록 및 데이터 복원 시스템. - 제 11 항에 있어서,
상기 CDR 회로는, 상기 데이터 PI 코드 또는 상기 크로싱 PI 코드 중 적어도 하나를 상기 시스템 클록의 각각의 사이클 동안 단일 코드 값 만큼 증분시킴으로써 상기 데이터 PI 코드 또는 상기 크로싱 PI 코드 중 적어도 하나를 스텝핑하도록 구성되는,
클록 및 데이터 복원 시스템. - 제 11 항에 있어서,
상기 리셋 조건이 리셋 모드로부터 상기 CDR 회로의 초기 이탈을 포함하고,
상기 CDR 회로는 상기 데이터 PI 코드를 0의 코드 값으로 홀딩하는 동안 상기 크로싱 PI 코드를 스텝핑함으로써 상기 데이터 PI 코드 또는 상기 크로싱 PI 코드 중 적어도 하나를 스텝핑하도록 구성되는,
클록 및 데이터 복원 시스템. - 제 13 항에 있어서,
상기 CDR 회로는, 상기 크로싱 PI 코드가 스텝핑되기 전에, 상기 데이터 PI 코드 및 상기 크로싱 PI 코드를 0의 코드 값을 갖도록 설정하도록 더 구성되는,
클록 및 데이터 복원 시스템. - 제 11 항에 있어서,
상기 리셋 조건은 비동기식 리셋 동작을 포함하고,
상기 CDR 회로는, 상기 데이터 PI 코드와 상기 크로싱 PI 코드 사이에 오프셋이 유지되는 채로, 상기 데이터 PI 코드 및 상기 크로싱 PI 코드를 함께 스텝핑함으로써 상기 데이터 PI 코드 또는 상기 크로싱 PI 코드 중 적어도 하나를 스텝핑하도록 구성되고; 그리고
상기 하나 또는 그 초과의 기준들은 0의 코드 값에 상기 데이터 PI 코드가 도달하는 것을 포함하는,
클록 및 데이터 복원 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/795,169 US9356775B1 (en) | 2015-07-09 | 2015-07-09 | Clock data recovery (CDR) phase walk scheme in a phase-interpolater-based transceiver system |
US14/795,169 | 2015-07-09 | ||
PCT/US2016/026681 WO2017007522A1 (en) | 2015-07-09 | 2016-04-08 | Clock data recovery (cdr) phase walk scheme in a phase-interpolater-based transceiver system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180028990A KR20180028990A (ko) | 2018-03-19 |
KR102410488B1 true KR102410488B1 (ko) | 2022-06-16 |
Family
ID=55809219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177035532A KR102410488B1 (ko) | 2015-07-09 | 2016-04-08 | 위상-보간기-기반 트랜시버 시스템에서의 클록 데이터 복원(CDR;clock data recovery) 위상 워크 방식 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9356775B1 (ko) |
EP (1) | EP3320644B1 (ko) |
JP (1) | JP6598969B2 (ko) |
KR (1) | KR102410488B1 (ko) |
CN (1) | CN107925560B (ko) |
WO (1) | WO2017007522A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10419203B1 (en) | 2017-02-27 | 2019-09-17 | Xilinx, Inc. | Self-measurement of phase interpolator non-linearity in a transceiver |
US10256968B1 (en) | 2017-07-26 | 2019-04-09 | Xilinx, Inc. | Systems and methods for clock and data recovery |
US10038545B1 (en) | 2017-07-26 | 2018-07-31 | Xilinx, Inc. | Systems and methods for clock and data recovery |
US10404445B1 (en) | 2018-07-03 | 2019-09-03 | Xilinx, Inc. | Data receiver circuit and method of receiving data |
US10498523B1 (en) * | 2018-10-25 | 2019-12-03 | Diodes Incorporated | Multipath clock and data recovery |
CN112241384B (zh) * | 2019-07-19 | 2022-07-01 | 上海复旦微电子集团股份有限公司 | 一种通用的高速串行差分信号分路电路及方法 |
US10791009B1 (en) | 2019-11-13 | 2020-09-29 | Xilinx, Inc. | Continuous time linear equalization (CTLE) adaptation algorithm enabling baud-rate clock data recovery(CDR) locked to center of eye |
US11245554B1 (en) | 2020-06-17 | 2022-02-08 | Xilinx, Inc. | Frequency detector for clock data recovery |
US10985764B1 (en) | 2020-07-01 | 2021-04-20 | Xilinx, Inc. | Phase detector offset to resolve CDR false lock |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070025483A1 (en) | 2005-07-29 | 2007-02-01 | International Business Machines Corporation | Methods and apparatus for clock synchronization and data recovery in a receiver |
US20080175310A1 (en) | 2007-01-19 | 2008-07-24 | Samsung Electronics Co., Ltd. | Receiver with equalizer and method of operation |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3636657B2 (ja) * | 2000-12-21 | 2005-04-06 | Necエレクトロニクス株式会社 | クロックアンドデータリカバリ回路とそのクロック制御方法 |
WO2003013001A2 (en) * | 2001-07-27 | 2003-02-13 | International Business Machines Corporation | Clock data recovering system with external early/late input |
KR100795724B1 (ko) * | 2005-08-24 | 2008-01-17 | 삼성전자주식회사 | 아이 사이즈 측정 회로, 데이터 통신 시스템의 수신기 및아이 사이즈 측정 방법 |
DE102009004565B4 (de) * | 2009-01-14 | 2015-04-02 | Texas Instruments Deutschland Gmbh | Vorrichtung und Verfahren zum Zwischenspeichern von Daten zwischen Speichercontroller und DRAM |
US8058916B2 (en) * | 2010-04-15 | 2011-11-15 | Xilinx, Inc. | Lockstep synchronization and maintenance |
US8253451B1 (en) | 2010-06-16 | 2012-08-28 | Xilinx, Inc. | Clock data recovery using phase accumulation over a time period defined by a number of cycles of a clock signal |
US8184029B1 (en) | 2010-06-16 | 2012-05-22 | Xilinx, Inc. | Phase interpolator |
US8666013B1 (en) | 2011-03-22 | 2014-03-04 | Altera Corporation | Techniques for clock data recovery |
EP2737667B1 (en) * | 2011-07-25 | 2017-12-20 | Semtech Canada Corporation | Low latency digital jitter termination for repeater circuits |
US20130216003A1 (en) * | 2012-02-16 | 2013-08-22 | Qualcomm Incorporated | RESETTABLE VOLTAGE CONTROLLED OSCILLATORS (VCOs) FOR CLOCK AND DATA RECOVERY (CDR) CIRCUITS, AND RELATED SYSTEMS AND METHODS |
US9077349B2 (en) | 2012-02-21 | 2015-07-07 | Qualcomm Incorporated | Automatic detection and compensation of frequency offset in point-to-point communication |
US8824616B1 (en) | 2012-03-30 | 2014-09-02 | Inphi Corporation | CMOS interpolator for a serializer/deserializer communication application |
US9137763B2 (en) * | 2012-11-16 | 2015-09-15 | Qualcomm Incorporated | Methods and apparatus for enabling distributed frequency synchronization |
US8923464B2 (en) * | 2012-11-16 | 2014-12-30 | Qualcomm Incorporated | Methods and apparatus for enabling distributed frequency synchronization |
US9444442B2 (en) * | 2013-03-06 | 2016-09-13 | Rambus Inc. | Open-loop correction of duty-cycle error and quadrature phase error |
US8860467B2 (en) * | 2013-03-15 | 2014-10-14 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Biased bang-bang phase detector for clock and data recovery |
US20140334584A1 (en) * | 2013-05-13 | 2014-11-13 | Ismail Lakkis | Systems and methods for tracking a received data signal in a clock and data recovery circuit |
US9762381B2 (en) * | 2013-07-03 | 2017-09-12 | Nvidia Corporation | Adaptation of crossing DFE tap weight |
US8923463B1 (en) | 2013-08-29 | 2014-12-30 | Xilinx, Inc. | Offset calibration and adaptive channel data sample positioning |
US8934594B1 (en) * | 2013-10-14 | 2015-01-13 | Xilinx, Inc. | Sampling position tuning |
-
2015
- 2015-07-09 US US14/795,169 patent/US9356775B1/en active Active
-
2016
- 2016-04-08 EP EP16718798.8A patent/EP3320644B1/en active Active
- 2016-04-08 CN CN201680037968.9A patent/CN107925560B/zh active Active
- 2016-04-08 JP JP2018500367A patent/JP6598969B2/ja active Active
- 2016-04-08 KR KR1020177035532A patent/KR102410488B1/ko active IP Right Grant
- 2016-04-08 WO PCT/US2016/026681 patent/WO2017007522A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070025483A1 (en) | 2005-07-29 | 2007-02-01 | International Business Machines Corporation | Methods and apparatus for clock synchronization and data recovery in a receiver |
US20080175310A1 (en) | 2007-01-19 | 2008-07-24 | Samsung Electronics Co., Ltd. | Receiver with equalizer and method of operation |
Also Published As
Publication number | Publication date |
---|---|
CN107925560A (zh) | 2018-04-17 |
US9356775B1 (en) | 2016-05-31 |
CN107925560B (zh) | 2021-01-26 |
EP3320644B1 (en) | 2019-08-07 |
WO2017007522A1 (en) | 2017-01-12 |
JP6598969B2 (ja) | 2019-10-30 |
JP2018521586A (ja) | 2018-08-02 |
KR20180028990A (ko) | 2018-03-19 |
EP3320644A1 (en) | 2018-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102410488B1 (ko) | 위상-보간기-기반 트랜시버 시스템에서의 클록 데이터 복원(CDR;clock data recovery) 위상 워크 방식 | |
JP6412267B2 (ja) | バーストモード用の高速ロックcdr | |
US8587337B1 (en) | Method and apparatus for capturing and synchronizing data | |
JP6561195B2 (ja) | クロック回復回路 | |
US20230052220A1 (en) | Low power signaling interface | |
KR102371549B1 (ko) | 송신기들을 위한 레인-레인-디-스큐 | |
US9191187B2 (en) | Reception circuit and semiconductor integrated circuit | |
KR102002462B1 (ko) | 지연 고정 루프 회로 및 그 지연 고정 방법 | |
US8923380B1 (en) | Data pattern bias detection | |
US10256968B1 (en) | Systems and methods for clock and data recovery | |
US9746877B2 (en) | Detecting and correcting an error in a digital circuit | |
JPH09181713A (ja) | 高速ディジタルデータ・リタイミング装置 | |
CN208353312U (zh) | 时钟同步电路和异步数据同步电路 | |
CN101764608A (zh) | 逐位逼近延迟锁相环电路及调整输入时钟信号的方法 | |
CN106209075A (zh) | 数字延迟单元与信号延迟电路 | |
US6933758B2 (en) | Synchronous mirror delay circuit with adjustable locking range | |
US8513994B2 (en) | State machine for deskew delay locked loop | |
KR100521418B1 (ko) | 지연고정루프에서 짧은 록킹 시간과 높은 잡음 제거를갖는 딜레이 제어기 | |
US9379720B1 (en) | Clock recovery circuit | |
US11545987B1 (en) | Traversing a variable delay line in a deterministic number of clock cycles | |
KR20140072423A (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 |