KR20080012380A - 데이터 라인 상의 노이즈를 억제하기 위한 등화 회로, 방법및 시스템 - Google Patents

데이터 라인 상의 노이즈를 억제하기 위한 등화 회로, 방법및 시스템 Download PDF

Info

Publication number
KR20080012380A
KR20080012380A KR1020077030398A KR20077030398A KR20080012380A KR 20080012380 A KR20080012380 A KR 20080012380A KR 1020077030398 A KR1020077030398 A KR 1020077030398A KR 20077030398 A KR20077030398 A KR 20077030398A KR 20080012380 A KR20080012380 A KR 20080012380A
Authority
KR
South Korea
Prior art keywords
phase shift
circuit
signal line
signal
data
Prior art date
Application number
KR1020077030398A
Other languages
English (en)
Other versions
KR100953459B1 (ko
Inventor
티모시 로우
매튜 코에
Original Assignee
인텔 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코포레이션 filed Critical 인텔 코포레이션
Publication of KR20080012380A publication Critical patent/KR20080012380A/ko
Application granted granted Critical
Publication of KR100953459B1 publication Critical patent/KR100953459B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/0264Arrangements for coupling to transmission lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Dc Digital Transmission (AREA)

Abstract

등화 회로는 신호 라인 상의 적어도 하나의 비트 패턴을 검출하기 위한 검출기와, 상기 검출기에 의해 검출되는 비트 패턴에 대응하는 위상 시프트 세팅을 결정하기 위한 송신 오프셋 회로를 포함한다. 상기 위상 시프트 세팅은 신호 라인 상의 데이터의 송신 지연을 제어하여 심볼간 간섭(이에 국한되지 않음)을 포함하는 노이즈를 억제한다.

Description

데이터 라인 상의 노이즈를 억제하기 위한 등화 회로, 방법 및 시스템{SYSTEM AND METHOD FOR PERFORMING ADAPTIVE PHASE EQUALIZATION}
본 발명은 데이터 라인 상의 노이즈를 억제하기 위한 등화 회로에 대한 실시예에 관한 것이다.
버퍼 회로(가령, 입/출력(I/O) 버퍼)는 시스템 내의 한 컴포넌트에서 다른 컴포턴트로의 데이터의 전송을 용이하게 하는 데 널리 사용된다. 가령, 마이크로프로세서는 버퍼(드라이버)를 사용하여 (가령 메모리 또는 칩셋과 같은) 다른 컴포넌트로부터 버스를 통해 데이터를 송신 및 수신할 수 있다.
버스 버퍼의 성능은 전형적으로 버스 버퍼의 입력에 클럭 신호가 인가되는 시간과 버스 버퍼의 출력에 유효 데이터가 제공되는 시간 간의 지연 양에 그 특징을 두고 있다. 이러한 지연 시간은 클럭에서 출력까지의 시간 또는 TCO로 지칭된다. 일반적으로 언급하면, 만약 TCO가 너무 길면, 시스템 동작 주파수는 출력 시간이 버스의 수신 단부에 도달할 수 있도록 감소될 수 있다. 한편, 지연이 너무 짧으면 그 출력은 너무 빠르게 도달할 수 있다. 따라서, TCO 변동은 두개의 한 계, 즉 TCO 윈도우 내에서 유지되도록 제어되어야만 한다.
TCO 윈도우의 사이즈는 노이즈 및 특히 심볼간 간섭(ISI)의 존재로 인해 제한될 수 있다. 다수의 마이크로프로세서 시스템의 전면측 버스들이 보다 고속의 속도로 푸시됨에 따라, 버스의 타이밍 마진은 감소된다. ISI 형성 결과는 데이터 비트 패턴에 따라 변화하는 외부 신호들 상에서 듀티 사이클 부정합을 야기할 수 있다. 이러한 부정합의 결과는 TCO 윈도우를 제한하며 따라서 시스템 성능을 크게 저하시킨다.
도 1은 본 발명의 일 실시예에 따른 위상 등화 회로를 도시한 도면이다.
도 2는 위상 등화 회로 내에 포함되는 로컬 룩업 테이블의 한 구현예를 도시한 도면이다.
도 3은 위상 등화 회로에서 사용하기 위한 패턴 검출기를 도시한 도면이다.
도 4는 위상 등화 회로 내에 포함되는 송신 클럭 오프셋 회로의 한 구현예를 도시한 도면이다.
도 5는 도 1에 도시된 측대역 핀에 대한 위상 등화 회로를 도시한 도면이다.
도 6a는 도 5의 위상 등화 회로에 대한 셋업 타이밍 요건을 포착하기 위한 한 타입의 회로를 도시한 도면이며, 도 6b는 셋업 타이밍 요건을 포착하기 위해 사 용될 수 있는 타이밍 파형을 도시한 도면이다.
도 7은 측대역 핀에 대한 위상 등화 회로의 세부 상세도이다.
도 8은 측대역 핀 등화 회로 내에 포함되는 TCO 중앙 로직 회로의 한 구현예를 도시한 도면이다.
도 9는 수신 모드에서 사용되는 측대역 핀 등화 회로의 한 구현예를 도시한 도면이다.
도 10a는 본 발명의 일 실시예에 따른 위상 등화를 수행하기 위한 방법 내에 포함되는 블럭도를 도시한 플로우챠트이며, 도 10b는 가령 데이터 버스 라인에 대응할 수도 있는 신호 라인 상의 비트 패턴을 검출하는 데 사용될 수 있는 블럭들을 도시한 플로우챠트이며, 도 10c는 도 10a에서의 위상 시프트 값을 획득하는 데 사용될 수 있는 블럭도를 도시한 플로우챠트이며, 도 10d는 도 10c에서 언급되는 로컬 룩업 테이블 내에 저장되는 위상 시프트 값을 업데이트하는 데 사용될 수 있는 블럭도를 도시한 플로우챠트이다.
도 11은 위상 등화 회로 및 측대역 등화 회로의 하나 이상의 실시예를 포함할 수 있는 처리 시스템을 도시한 도면이다.
도 1은 가령 마이크로프로세서 시스템의 회로와 같은 하나 이상의 집적 회로와 컴포넌트 버스(2) 간에 데이터를 전송하는 입/출력(I/O) 버퍼(1)를 도시한다. 이 버스는, 한 단부에서는 마이크로프로세서에 결합되고 다른 단부에서는 데이터를 공급하거나 수신하는 코어 회로(core circuit)에 결합되는 거닝 송수신기 로직(gunning transceiver logic:GTL) 핀을 갖는 전면측 버스일 수 있다. 다른 버스들도 또한 가능하다. I/O 버퍼는 버스의 모든 단부, 또는 오직 하나의 단부에만 결합될 수 있다.
버퍼(1)는 버스(2)의 다수의 라인에 제각기 결합되는 다수의 등화 회로(5a-5n)를 포함한다. 이 등화 회로는 버스를 통해 송신되고 이 버스로부터 수신되는 데이터의 타이밍을 집합적으로 제어하는 처리 동작(가령, 적응성 위상 등화)을 수행한다. 예시의 목적을 위해, 하나의 등화 회로의 구조가 도시되지만 다른 등화 회로들은 동일하거나 유사한 구조를 가질 수 있다는 것으로 이해된다. 다른 실시예에서 등화 회로는 상이할 수 있다.
각각의 위상 등화 회로는 아웃바운드 멀티플렉서 래치(14) 및 송신 클럭 오프셋 타이밍 회로(13)를 포함한다. 코어로부터의 데이터, 또는 버스에 의해 송신되거나 이를 통해 송신하기 위한 데이터는 래치로부터 아날로그 드라이버 회로(18)를 거쳐 다수의 외부 핀 혹은 패드의 각각으로 전송된다. 이 래치는 가령 지연 동기 루프 회로(20)로부터 발생할 수 있는 클럭 신호에 의해 제어된다. 이 클럭 신호는 데이터가 래치를 통해 송신될 때를 결정한다. 보상 지연 라인(25)은 래치로부터 데이터의 출력을 제어하는 클럭 신호 에지의 타이밍을 제어하기 위해 제공될 수 있다. 이러한 에지의 타이밍을 제어함으로써 데이터는 심볼간 간섭(ISI)을 포함한 노이즈를 억제하는 방식으로 시간적으로 시프트된다.
일 실시예에 따라, 각각의 등화 회로(5a-5n)는 패턴 검출기 및 로컬 룩업 테이블(11)을 사용하여 각각의 핀(또는 데이터 비트)에 대한 타이밍 시프트를 제어하며, 상기 패턴 검출기 및 로컬 룩업 테이블(11)은 송신 클럭 오프셋 타이밍 회로에 탠덤(tandem)으로 결합된다. 패턴 검출기는 데이터 내의 비트 패턴을 검출하며, 로컬 룩업 테이블은 회로(13)로부터 클럭 오프셋 신호의 생성을 제어하는 정보를 저장한다. 클럭 오프셋 신호는 다시 버스 상의 데이터의 송신 타이밍을 제어한다. 회로(11) 내지 회로(14)는 모두 심볼간 간섭을 야기하는 실시간 듀티 사이클 부정합을 적응적으로 보상하는 위상 등화를 비트 데이터에 적용한다.
특히, 적응성 위상 등화는 데이터에서 검출된 비트의 패턴에 기반하여 버스에 전송되거나 버스로부터 수신된 데이터의 위상을 조정함으로써 수행된다. 이러한 위상 조정은 오정합을 감소시키며 전면측 버스 송신 라인 상의 노이즈(ISI)를 억제하여, 보다 넓어진 TCO 마진 윈도우와 향상된 시스템 성능을 가능하게 하였다. 하나의 예시적인 애플리케이션에서, 이러한 등화의 형태는 소스 동기화 및 공통 클럭 타이밍 최적화를 구현하는 데 사용될 수 있다.
도 2는 비트 패턴 검출기 및 로컬 룩업 테이블의 한 구현예를 도시한다. 이러한 회로는, 도 2에서 논의된 검출기와 유사한 방식으로 동작하며 직렬로 연결된 8개의 플립플롭(1211-1218)을 갖는 비트 패턴 검출기에 결합되거나 이 비트 패턴 검출기의 일부를 형성할 수도 있다. 또한 플립플롭들은 각각의 버스 신호 라인으로부터 수신되는 데이터 비트의 이력을 저장한다. 신호(125)는 데이터 스트림의 최신 비트에 대응한다.
테이블 그 자체는 제각기의 사전결정된 비트 패턴의 개수와 관련하여 다수의 인에이블 신호(en0-en6)를 생성하는 인에이블 선택 회로(122)로부터 형성된다. 비트 패턴의 검출은 상이한 조합의 플립플롭 출력에 결합된 입력을 갖는 로직 게이트의 어레이를 사용하여 수행될 수 있다. 이러한 로직 게이트는 도 2에 도시된 AND 게이트와 유사한 방식으로 인에이블 신호를 생성할 수 있다. 가령, 인에이블 선택 회로는 상기 테이블의 비트 패턴 컬럼 내의 엔트리에 제각기 대응하는 플립플롭 출력에 결합되는 입력을 갖는 7개의 AND 게이트를 포함할 수 있다.
동작시, 데이터 비트들은 플립플롭의 체인을 통해 클럭 신호(126)에 의해 시프트되며, 플립플롭의 Q개 출력은 인에이블 선택 회로로 입력된다. 선택 회로는 검출된 비트 패턴에 기반하여 인에이블 선택 신호(en0-en6) 중의 하나를 출력한다. 선택 신호 en0은 상기 테이블 내의 지정된 비트 패턴에 대응하는 후속 신호들을 갖는 디폴트 값을 나타낸다. 7개의 인에이블 신호들이 도시되지만, 다른 실시예에서 상이한 개수의 인에이블 신호가 생성될 수 있다.
회로(122)로부터의 인에이블 선택 신호는 시프트 선택 회로(124)로부터 출력되는 위상 시프트 값을 결정하며, 즉, 각각의 인에이블 선택 신호 en0-en6은 다수의 위상 시프트 값, Shift0〈2:0〉내지 Shift5〈2:0〉중의 하나를 선택하며, 디폴트 인에이블 선택 신호 en0는 디폴트 값 000을 선택한다. 이러한 값은 플립플롭의 매트릭스로부터 형성될 수 있는 로직 회로(123)에 의해 생성되는 값에 대응한다. 이러한 매트릭스의 각각의 컬럼 내의 플립플롭은 입력 데이터의 제각기의 비 트, 가령, D0, D1, D2, ..., Dn에 결합된다. 인에이블 선택 신호는 각각의 비트에 대한 플립플롭들 중의 하나의 출력을 선택하여 로컬 룩업 테이블의 출력에 대응하는 위상 시프트 값을 생성한다. 시프트 선택 회로(124)는 멀티플렉서이거나 다른 신호 선택 회로일 수 있다.
도 3은 비트 패턴 검출기의 한 구현예를 도시한다. 이 검출기는 플립플롭(1111 내지 111n)의 체인과 상이한 조합의 플립플롭의 출력을 수신하도록 결합되는 다수의 로직 게이트(112 내지 114)를 포함한다. 이 플립플롭 체인은 최종 n 클럭 사이클에 대해 버스 상의 데이터 비트의 사본을 유지한다. 데이터 스트림의 최신 비트는 플립플롭(1111)에 의해 수신되며, 이러한 비트들은 입력 데이터 클럭 신호에 기반하여 상기 체인을 통해 시간적으로 시프트된다. 따라서, 이 체인은 버스 라인들 중의 하나 상에서 수신되는 비트의 이력을 저장하기 위해 단기간 메모리로서 효과적으로 동작한다. 이러한 예에서, n은 6에 해당하며 로직 게이트는 AND 게이트이다. 다른 실시예에서, n은 6보다 높거나 낮은 것일 수 있으며 AND 게이트는 다른 로직 회로로 대체되거나 다른 로직 회로와 함께 보완될 수 있다.
동작시, 로직 게이트(112-114)는 데이터를 검색하여 시간에 따라 수신되는 사전결정된 비트 패턴을 검출할 수 있다. 이러한 비트 패턴은 본 발명의 실시예에 따라 위상 등화될 패턴일 수 있다. 이러한 실시예에서, 3개의 비트 패턴, 즉 0110xx, 01110x 및 011110이 검출된다. 다른 실시예에서, 상이한 비트 패턴들 및/또는 상이한 개수의 비트 패턴이 검출될 수 있다. 각각의 비트 패턴 내의 제로 들의 검출은 로직 게이트로의 입력들의 반전으로부터 발생할 수 있다.
패턴들이 검출될 때, 해당하는 로직 게이트들은 인에이블 신호 en0, en1, en2를 생성한다. 이러한 인에이블 신호는 패턴의 변동을 야기하는 신규 값이 플립플롭 체인 내로 클럭킹될 때까지 각각의 사전결정된 로직 값(가령, 참 혹은 하이 값)을 유지할 수 있다. 이러한 인에이블 신호는 도 1 내의 로컬 룩업 테이블의 출력을 제어한다. 가령, 비트 패턴 검출기는 데이터 스트림을 필터링하여 검출된 패턴과 로컬 룩업 테이블을 비교한다. 다음, 로컬 룩업 테이블은 이러한 비교 결과에 기반하여 위상 시프트 값을 생성한다.
로컬 룩업 테이블은 클럭 오프셋 값들의 각각의 개수와 관련하여 다수의 사전결정된 비트 패턴을 저장하는 메모리(가령, RAM)일 수 있다. 클럭 오프셋 값들이 데이터 출력의 타이밍을 제어하기 때문에, 이러한 값들은 적절히 선택될 경우 ISI를 억제하는, 데이터 내의 상이한 위상 시프트를 생성한다.
도 4는 송신 클럭 오프셋 회로(13)의 한 구현예를 도시한다. 초기, 클럭 오프셋 회로는, 레지스터 혹은 메모리 셀일 수 있는 회로(210)로부터 출력되는 디폴트 세팅에 대응하도록 선택될 수 있다. 이러한 선택은 룩업 테이블로부터 출력되는 디폴트 인에이블 선택 신호 en0의 제 1 값에 응답하여 멀티플렉서(220)에 의해 행해진다. 이러한 세팅의 조정은 도 3에 도시된 바와 같이 회로(124)로부터 위상 시프트 값이 출력될 때 행해진다. 이러한 것이 발생될 때, 위상 시프트 값(가령, 타임 시프트 값에 대응함)은 디폴트 클럭 세팅으로부터 감산되며, 위상 시프트 세팅은, 인에이블 선택 신호 en1 내지 en6 중의 하나가 로컬 룩업 테이 블(122)로부터 출력되었다는 것을 반영하도록 인에이블 선택 신호 en0의 로직값이 변경될 때 출력을 위해 선택된다. 대안으로서, 회로(124)로부터의 위상 시프트 값은 en0의 변경된 로직값에 기반하여 위상 시프트 세팅으로서 멀티플렉서(220)로 전달될 수 있다.
멀티플렉서(220)로부터 출력되는 위상 시프트 세팅은 보상 지연 라인(25)으로부터 다수의 지연 클럭 값들 중의 어떤 것이 멀티플렉서/보간기(230)로 전달되는 지를 선택하는 데 사용된다. 지연된 값은 클럭 신호(240)로서 사용되어 아웃바운드 멀티플렉서 래치(14)로부터 출력되는 데이터 비트들 각각의 타이밍 오프셋 및 위상 시프트를 조정한다.
도 1을 다시 참조하면, 글로벌 적응성 위상 등화 회로(30)는 모든 데이터 비트 혹은 일부의 데이터 비트에 대해 등화 회로에서 클럭 오프셋 값들을 제어하는 데 사용될 수 있다. 회로(30)는 이러한 기능을 데이터 버스의 측대역 핀 상에서 수신되는 신호의 검출에 기반하여 적응적으로 수행한다. 이러한 측대역 핀은 데이터 핀의 모두 혹은 일부에 걸쳐 형성되는 ISI를 모델링하는 하나 이상의 사전 프로그래밍된(가령, 테스트) 패턴을 사이클링할 수 있다. 이러한 기능을 수행할 때, 측대역 핀은 등화 회로(30)가 버스 데이터 내의 ISI 영향을 제거하는 의도되거나 최적의 송신 타이밍 오프셋을 계산하는 것을 제외하고는 다른 GTL 핀과 유사하게 동작할 수 있다. 패턴들은 고정 길이 패턴, 가변 길이 패턴 혹은 이들 모두의 조합일 수 있다.
글로벌 등화 회로는 TCO 중앙 제어기(31), 패턴 생성기(32), 패턴 검출 기(33), 글로벌 룩업 테이블(34), 송신 타이밍 조정 회로(35) 및 아웃바운드 멀티플렉서 래치(36)를 포함한다. 측대역 핀에 의해 가령 데이터 수신 모드에서 수신되는 데이터 비트에 대한 에러 검출 및 정정을 수행하는 에러 체킹 회로(37)가 포함될 수 있다. TCO 중앙 제어기는 에러 체킹 회로로부터 출력되는 결과에 기반하여 TCO 윈도우에서 해당하는 조정을 행한다.
도 5는 송신 타이밍 조정 회로의 한 구현예를 나타낸다. 이러한 회로는 송신 클럭 선택 로직(351), 최대 TCO 클럭 세팅 회로(352), 기준 클럭 세팅 회로(353), 및 클럭 오프셋 계산기(354)를 포함한다. 동작시, 패턴 생성기(32)는 하나 이상의 사전 프로그래밍된(가령, 테스트) 패턴을 생성한다. 이러한 패턴은 하나 이상의 데이터 핀에 걸쳐 형성되는 ISI를 모델링할 수 있다. 이러한 패턴들의 예는 다음과 같이 리스트된다.
000001
100001
X10001
XX1001
XXX101
이러한 패턴에서, 변수 "X"는 임의의 비트 값을 나타내는 데 사용된다. 대안의 실시예에서, 형성되는 ISI를 모델링하거나 다른 관심 특징을 모델링하기 위한 상이한 사전결정된 패턴들이 사용될 수 있다.
글로벌 룩업 테이블(GLUT)은 등화 회로(5a-5n)내의 로컬 룩업 테이블(LLUT)의 각각에 위상 시프트 값을 송신한다. 일 실시예에 따라, 이러한 위상 시프트 값은 클럭 오프셋 코드에 대응할 수 있다. 초기에, GLUT는 LLUT에 사전결정된 코드 또는 디폴트 코드를 송신한다. 이러한 코드는 송신 타이밍 조정 회로의 출력에 기반하여 조정된다. 특히, 송신 클럭 선택 로직(351)은 클럭 선택 제어 신호(355)에 기반하여 GLUT에 클럭 선택 코드를 출력한다. 클럭 선택 코드 및 GLUT내에 저장된 모든 코드는 위상 시프트 값에 대응할 수 있다.
클럭 세팅 회로(352)는 적용될 현재 패턴에 대한 최대 TCO 마진 조건에 대응하는 절대 클럭 선택 값을 유지하는 레지스터를 포함한다. TCO(클럭에서 출력까지의 시간)는 송신 클럭 에지가 발생할 때와 클럭킹되어 출력되는 데이터가 외부 버스에 나타날 때 사이에 경과되는 시간을 나타낼 수 있다. 따라서, 이 시간은 버스 상에서 이상적인 혹은 의도한 신호 송신 타이밍으로부터의 변동(또는 마진)을 나타내는 메트릭(metric)을 제공한다. TCO 마진은 버스 상의 신호 전이의 실제 타이밍과 수신기에서 셋업 또는 보유 위반이 발생할 시간 사이의 차이를 나타낼 수 있다. 따라서 TCO 마진은 마진 오류를 결정하기 위한 기준으로서 사용될 수 있다.
측대역 회로는 이러한 마진의 측정치를 제공한다. 수신기에서 판독 오류(조기 및 만기 오류가 기록될 수 있음)를 야기하는 클럭 세팅을 트랙킹함으로써, 이상적인 또는 의도한 송신 타이밍에 가장 근접한 클럭 세팅이 수신기의 스탠드포 인트(standpoint)로부터 계산될 수 있다. 아래에서 상세히 설명되는 바와 같이, 수신기의 측대역 핀은 송신될 것으로 알려진 패턴에 대해 버스 상의 데이터를 체킹한다. 측대역 핀의 데이터 무결성에 관한 피드백은 핸드쉐이크 핀(handshake pin) 상의 송신기로 리턴될 수 있다.
기준 클럭 세팅 회로(353)는 기준 클럭 세팅을 유지하는 레지스터를 포함한다. 이러한 클럭 세팅 값은 위상 등화가 적용되기 전의 클럭 세팅일 수 있으며, 따라서 디폴트 클럭 세팅으로서 지칭될 수도 있다. 따라서, 회로(353)는 위상 등화 없이 데이터를 송신하는 데 사용되는 클럭 세팅을 나타내는 신호를 출력한다.
클럭 오프셋 계산기(354)는 레지스터(353)에 유지되는 기준 클럭 세팅으로부터 레지스터(352)에 유지되는 최대 TCO 마진 클럭 세팅을 감산함으로써 클럭 오프셋을 계산할 수 있다. 이러한 신호는 소정의 위상 시프트에 대한 기준(또는 디폴트) 클럭 세팅과 관련한 클럭 시프트 값의 크기를 나타내는 클럭 오프셋 코드(가령, 디지털 신호)를 형성한다. 이러한 감산 동작으로부터 발생하는 코드는 최대 TCO 마진을 달성하는 데 도움을 줄 수 있는 디폴트 클럭으로부터의 오프셋의 표현을 생성한다. GLUT는 레지스터 내에 현재의 클럭 오프셋 코드를 저장하며, 레지스터의 어드레스는 측대역 핀에 의해 현재 송신중인 비트 패턴에 의해 결정된다. 이러한 코드 및 GLUT에 저장되고 이로부터 출력되는 다른 코드들은 위상 시프트 세팅에 대응할 수 있다.
일단 생성되면, 각각의 비트 패턴은 패턴 검출기에 입력된다. 패턴 검출기는 다음에 비트 패턴을 출력 데이터 스트림으로서 출력하며, 또한 위상 시프트 인 에이블 및 기준 중앙 신호를 출력할 수도 있다. 출력 데이터 스트림 경로는 아래와 같이 정렬될 수 있다.
생성기(32)로부터의 비트 패턴은 패턴 검출기를 통해 래치(39)로 전송될 수 있다. 래치(39)는 이러한 패턴을 멀티플렉서 래치(36)에 출력하며, 그것을 수행할 경우 코어에서 I/O 간의 타이밍을 모델링하는 데 사용되는 셋업 타이밍 요건을 포착한다. 래치(39)로부터의 패턴은 클럭 선택 로직(351)으로부터의 명목상 송신 클럭 신호(67)에 기반하여 출력될 수 있으며 멀티플렉서 래치(36)는 이러한 패턴을 로직(351)으로부터 출력되는 위상 시프트 송신 클럭 신호(66)에 기반하여 출력할 수 있다. 멀티플렉서 래치의 출력은 다음에 GTL 버퍼(65)를 통해 측대역 핀(395) 상으로 전송된다.
도 6a는 래치(39)에 의해 셋업 타이밍 요건이 포착되는 방법의 예를 도시하고 있다. GTL 버스 프로토콜에서, 검출기(33)로부터의 테스트(또는 데이터) 패턴은 GTL 버퍼를 통해 송신되기 전에 플로핑(flopped)될 수 있다. 이러한 플로핑은 p-래치(39) 및 n-래치(마스트 및 슬레이브)에 의해 수행될 수 있다. 이러한 래치들을 통과하면서 데이터는 도 5에 도시된 명목상 클럭 신호에 대응할 수 있는 데이터 클럭 신호(388)의 에지(가령, 하강 에지) 외부로 전송될 수 있다. 듀티 사이클 조정 회로(389)는 이 클럭 신호의 듀티 사이클을 조정하여 데이터 패턴이 GTL 버퍼로 송신될 때를 제어할 수 있다. 송신 클럭 선택 로직(351) 내에 회로(389)가 포함될 수 있거나 회로(389)는 송신 클럭 선택 로직(351)에 대응할 수 있다.
도 6b는 송신 데이터가 클럭 듀티 사이클의 조정을 통해 어떻게 푸시(push) 되거나 풀링(pull)될 수 있는지를 나타내는 타이밍 도면을 도시하고 있다. 이러한 도면에서, 데이터클럭은 송신 클럭 신호(388)에 대응하며, 신호(387)는 마스터 래치(가령, 래치(39))의 출력에 대응하며, 신호(386)는 회로(389)로부터 출력되는 클럭 신호(388)의 조정된 듀티 사이클에 대응하며, 신호(385)는 슬레이브 래치(가령, 래치(36)의 출력에 대응한다. 도시된 바와 같이, 회로(389)에 의해 행해진 조정은 의도한 셋업 타이밍 요건을 달성하도록 데이터 클럭 신호(388)의 하강 에지의 위치를 푸시하거나 풀링할 수 있다. 이러한 요건은 가령, 데이터가 붕괴 발생 이전에 래치에 도달해야만 하는 시간에 대응하도록 설정될 수 있다.
도시된 바와 같이, 래치(36)는 로직 회로(351)로부터 출력되는 위상 시프트 송신 클럭 신호(66)에 기반하여 GTL 출력 버퍼(65)를 통한 측대역 핀 상에서의 송신을 위해 플립플롭(39)으로부터 출력되는 데이터를 시프트한다. 신호(66)는 클럭 선택 로직 회로(351)로부터 출력되는 클럭 신호들 중의 하나일 수 있으며 클럭 선택 신호(355)에 의해 선택될 수 있다. 클럭 신호(355)는 독립적으로 생성될 수 있거나 궁극적으로 멀티플렉서(540)의 위상 시프트 출력을 결정하는 데 사용되는 클럭 선택 신호(501)에 대응할 수 있다(도 8 참조). 래치(36)는 위상 시프트 송신 클럭 신호에 기반하여 플립플롭(39)으로부터 출력되는 데이터의 출력을 지연시키며, 그 결과는 GTL 출력 버퍼를 통해 측대역 핀으로 송신된다.
도 5를 참조하면, GLUT는 가령 버스 상의 상이한 ISI 조건에 대응하는 클럭 오프셋 계산기(354)로부터의 출력들 각각을 저장한다. 패턴 생성기(32)가 모든 출력 테스트 패턴을 생성하였고 각각의 테스트 패턴에 대해 클럭 오프셋 값들이 생 성되었을 때 발생할 수 있는 완전한 세트의 클럭 오프셋 코드들(가령, 위상 시프트 세팅)로 GLUT가 완전히 업데이트되었을 때, 이 코드들은 GLUT로부터 각각의 회로(5a-5n) 내의 로컬 룩업 테이블로 송신된다. 로컬 룩업 테이블은 다음에 GLUT로부터의 신규로 수신된 코드들에 기반하여 (가령, 도 3의 회로(124)로부터의) 위상 시프트 세팅을 출력한다. 이러한 신규 코드들은 데이터 버스 라인 상에서 검출되는 상이한 비트 패턴들에 대응하는 최적의 클럭 오프셋 값을 달성하는 데 도움을 줄 수 있다.
도 7은 측대역 핀에 대한 위상 등화 회로의 한 구현예에서 사용될 수 있는 회로의 상세도이다. 이러한 도면에서, 송신 모드 동안 카운터(410)는 관심 패턴을 선택하도록 순차적으로 증분되며, 이 관심 패턴은 다시 GLUT 내의 해당하는 엔트리가 편집되거나 오버라이트되거나 업데이트될 수 있게 한다. 증분 신호는 유한 상태 머신을 포함하는 여러 회로들 중의 하나로부터 생성될 수 있지만, 유한 상태 머신에 국한되는 것은 아니다.
카운터는 패턴 생성기로 하여금 다수의 사전 프로그래밍된 테스트 패턴들 중의 하나를 선택하도록 하는 패턴 선택 신호(411)를 출력한다. 패턴 생성기는 각각의 카운터 코드에 응답하여 테스트 패턴들 중의 소정의 하나를 출력하도록 프로그래밍된 디코더일 수 있다. 2-비트 카운터는 4개의 패턴이 최적화될 수 있게 하며, 3-비트 카운터는 8개 패턴이 최적화될 수 있게 한다. 로직은 성공적인 송신을 위해 등화될 특정 패턴의 개수에 따라 스케일링될 수 있다.
멀티플렉서(412)는 송신 클럭 신호 및 수신 클럭 신호를 수신한다. 송신 클럭 신호는 측대역 핀이 버스 상으로 데이터를 송신할 수 있을 때 수신되며, 수신 클럭 신호는 측대역 핀이 버스 상에서 데이터를 수신할 수 있을 때 수신된다. 이는 모든 버스 에이전트가 독립의 위상 등화 값을 결정하도록 할 수 있다.
패턴 생성기(32)는 멀티플렉서(412)로부터 출력되는 클럭 신호에 응답하여 출력 패턴을 업데이트한다. 이는 다수의 사전 프로그래밍된 테스트 패턴들 중의 다음 저장된 테스트 패턴을 출력하는 것을 포함할 수 있다. 패턴 생성기는 테스트 패턴을 별도의 에러 체킹 로직 회로, 가령 회로(37)에 전송할 수 있다. 이러한 회로는 이 패턴과 입력되는 입/출력(I/O) 데이터를 비교하며 그 후 수신기가 의도한 패턴을 실제로 수신했는지를 알기 위해 체킹한다.
카운터는 모든 사전 프로그래밍된 패턴들이 테스트되고 GLUT가 테스트 패턴으로부터 생성된 세팅으로 업데이트되었을 때 "done" 신호를 출력한다. 이 done 신호의 생성 이전에, 이 done 신호의 값은 참(true)이 아니다. 그 결과, GLUT는 인에이블되고 엔트리들이 업데이트될 수 있다. 그 동안, GLUT의 출력은 디스에이블될 수 있다. 카운터는 다음에 모든 테스트 패턴을 카운트하고 GLUT를 테스트 패턴으로부터 생성된 엔트리로 업데이트한다. 종료되었을 때, done 신호는 참이 되며, GLUT 입력은 디스에이블되며 GLUT 출력은 인에이블된다. 카운터가 (참의 값이 되는 done 신호를 갖는) 제 2 시간의 모든 값을 사이클링하게 될 때, GLUT는 그 엔트리를 출력하여 각각의 데이터 버스 라인에 대한 등화 회로에 제공된 로컬 룩업 테이블을 업데이트한다.
done 신호는 인버터(413)에 의해 반전되며, 이 반전된 신호는 디코더로 입력되는 인에이블로서 기능한다. 이러한 디코더는 인에이블을 갖는 n-to-2n 디코더일 수 있다. GLUT가 현재 업데이트중이라는 것을 의미하는 done 신호가 참이 아닐 때, 각각의 n-비트 카운터 값이 GLUT 내의 어드레스를 인에이블하는 단일 비트 인에이블 신호에 대해 디코딩된다. 도 7에 제공된 예에서, 각각의 3-비트 카운터는 GLUT 내의 엔트리에 대해 매핑될 수 있다. 또한, 이 예에서, 이용가능한 8개 코드들 중 6개 코드만이 사용된다. 카운터가 테스트 패턴의 스텝을 밟게 됨에 따라, GLUT 내의 해당 어드레스는 인에이블된다. 테스트 사이클의 종단에서, 최적의 클럭 세팅 값이 인에이블 플롭(enabled flops) 내에 저장된다.
이 구현예에서, GLUT 매트릭스(415)는 측대역 데이터 G0-G2의 각각의 비트에 대한 D 플립플롭의 컬럼을 포함할 수 있다. G2는 최상위 클럭 세팅 비트를 나타내며, G0은 최하위 클럭 세팅 비트를 나타낸다. 매트릭스 내의 각각의 플립플롭 행은 GLUT의 각각의 행 내의 3개의 플롭의 각각에 접속된 업데이트 신호에 의해 표현되는 데이터 패턴에 대한 최적의 위상 시프트 세팅을 유지한다. GLUT내의 각각의 행은 그 때 테스트중인 패턴에 대해 최적화되도록 결정된 3-비트 클럭 오프셋 세팅에 대응한다.
카운터(410)로부터의 패턴 선택 신호(411)는 디코더(416)로 전송되어, GLUT 매트릭스로부터 출력되는 시프트 값들 중의 하나를 선택하는 선택 신호를 생성한다. 멀티플렉서(418)의 출력은 디코더(416)의 출력과 더불어 로컬 룩업 테이블로 전송된다. 이는 GLUT가 일단 완전히 업데이트된다면 LLUT가 GLUT 내의 정보로 업데이트될 수 있게 한다.
패턴 생성기(32)로부터 출력되는 신호(420)는 패턴 디코더(33)로 입력된다. 신호(420)는 패턴 생성기로부터 출력되는 직렬화된 테스트 패턴일 수 있다. 패턴 검출기는 어떠한 패턴이 검출되는지에 기반하여 다양한 인에이블 신호를 생성할 수 있다. 출력 데이터 스트림은 단지 출력 버퍼에 대해 반복되는 신호(420)일 수 있다. 위상 시프트 인에이블 신호는 사전 프로그래밍된 패턴이 검출될 때 어써트될 수 있다(asserted). 이러한 동작들은 아래의 방식으로 보다 상세히 설명될 수 있다.
먼저, 카운터(410)는 패턴 선택 신호(411)에 기반하여 업데이트될 GLUT 어드레스와 테스트 패턴을 선택한다. 패턴은 GTL 출력 데이터 경로, 가령 측대역 핀을 따른 송신을 위한 데이터 스트림(539)으로서 패턴 검출기를 통해 순차적으로 전송될 수 있다. 이러한 패턴은 이 시간 동안 패턴 검출기내에 일시적으로 버퍼링될 수 있다. 일단 모든 테스트 패턴(가령, 6-비트 테스트 패턴)이 패턴 검출기 내로 로딩된다면, 위상 시프트 인에이블 신호(541)가 어써트될 수 있다. 출력 데이터 스트림의 송신과 패턴 검출기 내의 테스트 패턴의 버퍼링은 동시에 수행될 수 있다. 이 실시예에서, 위상 등화는 최하위 비트 상에서만 수행되며, 남아있는 비트들은 ISI 영향을 모델링하기 위해 제공될 수 있다. 또한, 기준 TCO 신호(538)는 사전 프로그래밍된 패턴이 검출되지 않거나 적응성 위상 등화 기능이 디스에이블될 때의 사이클 동안 어써트될 수 있다.
또한, 이 실시예 혹은 다른 실시예에서, 카운터(410)는 측대역 핀에 접속된 버스 라인의 반대 단부에 위치한 수신기로부터의 피드백에 기반하여 업데이트를 위한 GLUT 내의 정확한 엔트리의 선택을 제어할 수 있다. 도 5를 참조하면, 이 피드백은 GTL 출력 버퍼(65)를 통해 측대역 핀(395) 상으로 송신된 테스트 패턴에 응답하여 생성될 수 있다. 버스의 수신 단부에서, 회로(30)에 유사한 회로가 제공될 수 있다. 이 회로는 보상형 측대역 핀을 통해 송신된 테스트 패턴을 수신하며 그 테스트 패턴을 글로벌 룩업 테이블 내에 저장된 패턴 생성기 내의 하나 이상의 테스트 패턴과 비교한다.
비교 회로는 도 5에 도시된 바와 같은 에러 체킹 로직(610)에 대응할 수 있다. 이러한 비교의 결과에 기반하여, 로직(610)은 버스의 송신측으로의 피드백으로서 송신될 통과 혹은 실패 비트를 생성한다. 통과 혹은 실패 비트는 에러 측대역 핀(620)을 통해 수신되며 마스터 래치 제어 회로(630)로 입력되어 가령 TCO 마진 바운더리를 결정할 수 있다. 에러 비트는 수신기(Rx) 에러 비트로 지칭될 수 있다(도 10 참조바람). 후술되는 바와 같이, TCO 마진 바운더리의 결정은 최대 혹은 의도한 TCO 윈도우가 달성될 때까지 패턴 비트의 최하위 비트에 대해 위상 시프트를 지속적으로 수행하는 것을 포함할 수 있다.
도 8 및 도 9는 수신기 경로 상의 에러 비트 값에 기반하여 증분 카운터 절차가 수행될 수 있는 한가지 방식을 집합적으로 도시하고 있다. 이러한 절차에 의하면, 통과-실패 조건은 TCO 윈도우의 하나의 단부 바운더리를 표시할 수 있다. 유한 상태 머신은 측대역 핀 상에서 각각의 사전결정된 패턴을 송신하면서 각각의 이용가능한 클럭 세팅을 스텝핑하는 중앙 제어 메카니즘일 수 있다. 테스트중인 패턴에 대해 최적의 클럭 세팅이 결정될 때, 카운터는 증분되어 테스트를 위한 다음 사전결정된 패턴을 출력시킨다.
TCO 중앙 제어기(31)의 한 구현예는 도 8에 도시되며, 이 제어기는 이 회로가 등화 회로(5a-5n)에서 클럭 오프셋 값을 어떻게 조정하는지를 나타내는 것에 의존하고 있다. 제어기(31)는 버스의 송신 측 및 수신 측 간에 발생하는 에러 비트 핸드쉐이크를 스누핑하는 로직 회로일 수 있다. 제어기는 카운터(510), 클럭 선택 래치(511), 유지 래치(512), 중앙 값 계산기(513), 및 TCO 중앙 기준 세팅 회로(514)를 포함하거나 이에 결합될 수 있다.
카운터(510)는 n-비트 카운터(가령, n=4)이며, 이는 위상 시프트 인에이블 신호(541)와 카운터 증분 신호(542)를 수신하며, 이들 신호는 TCO 윈도우 중앙 프로세스를 제어하는 유한 상태 머신에 의해 생성될 수 있다. 이 중앙 프로세스는 테스팅 과정으로 구현된다. 이러한 과정동안, 위상 시프트 인에이블 신호는 카운터로 하여금 사전결정된 클럭 선택 값 세트를 통해 사이클링시키도록 한다. 각각의 값은 가령 "클럭 선택〈3:0〉"에 의해 표현되는 4-비트 위상 시프트 값에 대응하는 클럭 선택 신호(501)로서 출력된다. 4-비트 표현을 통해 신호(501)는 24=16의 상이한 위상 시프트 값 중의 하나를 가정할 수 있다. 신호(501)의 값은 카운터 신호가 어써트될 때 다음의 값으로 업데이트될 수 있다. 클럭 선택 래치(511)는 유한 상태 머신에 의해 생성될 수도 있는 사이클의 각각의 스텝 동안 래 치 인에이블 신호(502)에 의해 인에이블될 때 신호(501)의 클럭 선택 값을 저장한다.
특히, 테스팅 동안 유한 상태 머신은 사전결정된 위상 시프트 값의 세트를 통해 사이클링한다. 이용가능한 위상 시프트 값의 범위가 버스의 적절한 동작을 가능하게 하는 위상 시프트 값의 범위보다 크다고 가정하면, 측대역 에러 핀으로부터의 피드백은 위상 시프트 값의 서브세트를 생성하여 정확한 데이터가 버스의 수신측에 결합된 에이전트에 의해 수신되도록 한다. 이러한 에이전트는 도 1에 도시된 것과 동일한 구조를 가질 수 있다.
유효한 위상 시프트 값들의 서브세트는 "통과 윈도우"에 대응할 수 있다. 테스트가 수행됨에 따라, 래치(512)는 제 1 윈도우 에지를 유지하지만 래치(511)는 계속해서 제 2 윈도우 에지를 탐색한다. 일단 모든 극단의 통과 값들이 획득되면, 윈도우의 중앙 값은 윈도우 중앙 계산기(513)에 의해 계산된다. 일실시예에 의하면, 명목상의 송신 클럭 신호(67)는 클럭 선택 래치(511)로부터 신호(530)의 출력을 제어할 수 있다. 이러한 프로세스는 보다 상세히 설명될 것이다. 이전에 적어도 하나의 일 실시예에 따라 설명된 바와 같이, "통과 값"은 수신된 데이터 패턴과 패턴 생성기로부터의 패턴의 비교에 기반하여 결정된다. 그 결과는 가령 통과를 위한 로직 로우 신호와 실패를 위한 로직 하이 신호로서 에러 측대역 핀 내로 피드백된다.
클럭 선택 래치(511)는 두개의 신호(503, 504)를 유지 래치(512)와 중앙 값 계산기(513) 내로 제각기 입력한다. 유지 래치는 TCO 윈도우의 한 에지에 대응하 는 통과 클럭 선택 세팅의 하부 경계를 저장한다. 즉, 래치(512)는 측대역 핀으로부터의 피드백이 통과 윈도우의 하부 경계가 검출되었다는 것을 나타낼 때 신호(503)의 값(가령, 래치(511)의 현재 값)을 저장한다. 이는 TCO 윈도우의 제 2 에지에 대응하는 통과 클럭 선택 세팅의 상부 경계를 탐색하는 것을 지속하도록 클럭 선택 래치(511)를 완전히 비운다.
일단 상부 한계가 발견되면, 중앙 값 계산기(513)는 래치(511)에 저장된 상부 한계 정보와 래치(512)에 저장된 하부 경계 정보를 사용하여 통과 윈도우의 중앙을 계산한다. 일 실시예에서, 상부 및 하부의 경계들은 최대 TCO 윈도우를 규정할 수 있다. 중앙 값 계산기는 래치(511, 512)에 저장된, 가령 통과 동작 영역의 상부 경계 및 하부 경계에 대응하는 클럭 선택 값에 의해 규정되는 범위의 중앙에 가장 인접한 클럭 선택 값을 계산할 수 있다. 이러한 계산은 가령 상부 경계 및 하부 경계를 가산하고 이를 2로 나눔으로써 수행될 수 있다. 대안의 실시예에서, 중앙 값을 계산하는 데 다른 접근 방안이 사용될 수도 있다.
래치 인에이블 신호(506)는 유한 상태 머신에 의해 생성될 수 있다. 래치 인에이블 신호(502, 506)의 타이밍은 다음과 같을 수 있다. 래치 인에이블 신호(502)는 카운터가 증분될 때마다 어써트되어, 레지스터 내로 새로운 값이 로딩될 수 있다. 래치 인에이블 신호(506)는 측대역 신호 상에서 제 1 통과 데이터 패턴이 검출될 때 어써트되어, 버스 상에서 제 1 통과 데이터 패턴을 산출한 클럭 선택 값을 저장할 수 있다.
중앙 값 계산기(513)는 TCO 중앙 기준 세팅 회로(514) 내로 입력되는 신 호(507)를 생성한다. 신호(507)는 최적의 혹은 다른 클럭 세팅 값을 나타낼 수 있다. 이러한 값은 래치(514)에 저장된 기준 세팅으로부터 감산되어, 최대 TCO 마진(신호 550)에 대한 기준 세팅으로부터 클럭 오프셋을 산출할 수 있다.
기준 세팅 회로(514)는 위상 등화 회로를 사용하는 시스템의 타입에 따라 두개의 기능을 수행할 수 있다. 일 실시예에서, 회로(514)는 시스템 시뮬레이션 및 테스팅으로부터 결정되는 디폴트 클럭 값이 프로그래밍된 ROM일 수 있다. 이러한 구현예에서, 신호(507)는 무시될 수 있으며 신호 "기준 인에이블"은 사용될 수 없다.
다른 구현예(가령, 고성능의 구현예)는 신호 트레이스 상의 ISI가 없더라도 각각의 데이터 버퍼에 대해 정확한 최적의 클럭 세팅을 결정하도록 실행되는 기본 캘리브레이션 사이클(basic calibration cycle)을 포함할 수 있다. 캘리브레이션 사이클이 버스의 각각의 핀에 대해 완료된 이후에, 평균 클럭 세팅보다는 최적 또는 다른 클럭 세팅에 기반하여 위상 등화 오프셋이 적용될 수도 있다. 이러한 경우, 신호(507)는 각각의 핀에 대해 ISI를 갖지 않는, 최적 혹은 다른 클럭 세팅을 나타낸다. 이러한 레지스터 내의 최적의 클럭 세팅의 저장은 신호 "기준 인에이블"에 의해 제어될 것이다. 이러한 기준 인에이블 신호는 TCO 중앙 제어 로직 회로에 의해 생성될 수 있다.
TCO 중앙 기준 세팅 회로(514)는 계산기(513)의 출력으로부터 감산되는 신호(509)를 생성한다. 이전에 설명된 바와 같이, G[2:0]으로 레이블된 최종의 차분 신호(550)는 소정의 비트 패턴에 대해 최대의 TCO 마진을 산출하는 기준 클럭 세팅으로부터의 클럭 세팅 오프셋이다. G[2:0]는 GLUT 및 LLUT내에 저장된 값이다.
멀티플렉서(540)는 DLL 지연 라인(25)으로부터의 다수의 사전결정된 시간 지연 중 하나를 선택한다. 이러한 선택은 래치(511)로부터 출력되는 클럭 선택 신호(530)에 기반하여 행해진다. 선택 신호(530)는 따라서 DLL 지연 라인(25)으로부터의 시간 지연들 중의 어떠한 것이 버스 상으로의 출력 데이터 스트림의 전송을 제어하는 데 사용되는지를 선택할 수 있다. AND 게이트(538)는 멀티플렉서(540)로부터 출력되는 시간 지연 값(560)과 송신 클럭 신호(535)의 반전 값을 논리적으로 조합한다. 최종의 신호는 플립플롭(570)으로부터 데이터 스트림의 출력을 제어한다.
도 9는 가령 수신 모드 동안 측대역 핀을 통해 버스로부터 수신되는 데이터를 처리하는 데 사용되는 도 1의 에러 체킹 로직 회로(37)의 한 구현예를 나타낸다. 이러한 회로는 에러 체킹 로직 유닛(610), 에러 측대역 핀(620), 마스터 래치 제어기(630)를 포함한다. 동작시, 에러 체킹 로직 유닛(610)은 패턴 생성기로부터 데이터를 수신한다. 이러한 것은 드라이빙 에이전트로부터 외부로 송신되는 동일한 데이터 패턴일 수 있다. 수신 에이전트는 패턴 생성기로부터 획득되는 값과 수신된 데이터를 비교한다.
또한, 로직 유닛(610)에서, 입력 데이터는 수신기 클럭과 동기화되며 패턴 생성기 데이터에 대해 비교된다. 그 데이터는 정합해야 하며, 만약 그렇지 않다면 에러 비트가 생성된다. 에러 비트는 가령 데이터 패턴 상의 XOR 동작에 기반 하여 생성될 수 있다.
일단 에러 비트가 생성되면, 그것은 송신기 및 마스터 래치 제어 회로(630)로 다시 유도되며, 마스터 래치 제어 회로는 TCO 중앙 로직을 제어한다. 마스터 래치 제어 회로는 카운터(410)로부터 "done" 신호를 수신하며 이에 응답하여 래치 1 인에이블 신호, 래치 2 인에이블 신호 및 증분 카운터를 디 어써트(de-assert)한다. 특히, 에러 비트가 통과에서 실패로 변경할 때, 래치 1 인에이블 신호는 디 어써트된다. 에러 비트가 실패에서 통과로 변경될 때, 래치 2 인에이블 신호는 디 어써트된다. 에러 비트가 통과에서 실패로 변경될 때, 증분 카운터는 디 어써트된다. 래치 1 인에이블 신호는 신호(502)에 대응하며, 래치 2 인에이블 신호는 신호(506)에 대응한다.
마스터 래치 제어 회로는 "글로벌 done" 신호를 생성한다. 이러한 신호는 송신기 에이전트 GLUT가 done 업데이트되며 송신기 에이전트 및 수신기 에이전트가 이제 그 역할을 변경할 수 있다는 것을 나타낸다. LLUT는 GLUT 출력에 기반하여 업데이트된다.
도 10a는 본 발명의 일 실시예에 따른 위상 등화를 수행하기 위한 방법에 포함되는 블록들의 플로우챠트이다. 이 방법은 가령 다수의 데이터 버스 라인 중의 하나일 수 있는 신호 라인 상의 적어도 하나의 비트 패턴을 검출하는 것을 포함한다(B650). 비트 패턴에 대응하는 위상 시프트 값이 획득된다(B651). 위상 시프트 세팅은 위상 시프트 값에 기반하여 결정될 수 있다(B652). 다수의 지연된 신호들 중의 하나는 위상 시프트 세팅에 기반하여 선택된다(B653). 신호 라인 상 의 데이터의 전송은 지연된 신호들 중의 선택된 하나에 기반하여 수행된다(B654). 그리고, 심볼간 간섭은 이러한 지연된 송신에 기반하여 억제된다(B655).
도 10b는 데이터 버스 라인에 대응할 수 있는 신호 라인 상의 비트 패턴을 검출하는 데 사용될 수 있는 블럭도를 나타내는 플로우챠트이다. 이는 도 2에 도시된 플립플롭의 체인 내에 신호 라인 상으로 송신된 비트 값을 저장함으로써 달성될 수 있다(B661). 저장된 값은 가령 도 2에 도시된 로직 회로에 기반하여 비트 패턴을 검출하도록 분석된다(B662).
도 10c는 도 10a에서의 위상 시프트 값을 획득하는 데 사용될 수 있는 블럭도를 도시한 플로우챠트이다. 이러한 블럭은 사전결정된 비트 패턴의 개수와 관련하여 위상 시프트 값의 로컬 룩업 테이블을 저장하는 것을 포함한다(B671). 위상 시프트 값은 검출된 비트 패턴에 대응하는 로컬 룩업 테이블로부터의 출력이다(B672).
도 10d는 도 10c에서 언급한 로컬 룩업 테이블 내에 저장된 위상 시프트 값을 업데이트하는 데 사용될 수 있는 블럭도를 도시한 플로우챠트이다. 이러한 블럭은 데이터 버스의 측대역 핀 상으로 테스트 패턴을 인가하는 것을 포함한다(B681). 형성된 심볼간 간섭은 인가된 테스트 패턴에 응답하여 측대역 핀 상에 수신된 피드백에 기반하여 검출된다(B682). 위상 시프트 값은 피드백에 기반하여 계산되며(B683) 이러한 값들은 글로벌 룩업 테이블 내에 순차적으로 저장된다(B684). 로컬 룩업 테이블은 다음에 글로벌 룩업 테이블 내에 저장된 값으로 업데이트된다(B685).
도 11은 프로세서(700), 전원(710), 및 RAM일 수 있는 메모리(720)를 포함한 시스템을 나타낸다. 이 프로세서는 산술 로직 유닛(702)과 내부 캐시(704)를 포함한다. 이 시스템은 그래픽 인터페이스(730), 칩셋(740), 캐시(750), 네트워크 인터페이스(760) 및 네트워크 인터페이스 내에 포함될 수 있는 무선 통신 유닛(770)을 포함할 수 있다. 이러한 부가적인 회로들은 프로세서 블럭 외부에 상주하는 것으로 도시되지만, 다른 실시예에서는 하나 이상의 회로들이 가령 마이크로프로세서일 수 있는 프로세서와 동일한 칩 상에 상주할 수 있다. 이러한 예에서, 관련된 커넥션들이 칩 상에 포함될 것이다. 또한, 대안으로, 혹은 추가적으로, 무선 통신 유닛(780)은 프로세서를 갖는 칩에 결합되거나 이 칩 상에 포함될 수 있으며, 직접적인 커넥션이 메모리(720)와 프로세서 사이에 존재할 수 있다. 또한, 전원은 일 실시예에서 배터리일 수 있으며 다른 실시예에서 AC/DC 컨버터일 수 있다.
본 발명의 임의의 실시예에 따른 등화 회로는 임의의 GTL 전면측 버스 상에서 사용될 수 있다. 도 11에서, 프로세서 및 칩셋은 버스 상에서 통신할 수 있으며 송수신 개체들 각각에는 통신 등화 회로가 탑재될 수 있다.
프로세서는 마이크로프로세서 혹은 임의의 다른 타입의 프로세서일 수 있으며, 나머지 특징들의 모든 조합 혹은 임의의 조합을 갖는 칩 다이 상에 포함될 수 있거나 하나 이상의 나머지 특징은 주지의 커넥션 및 인터페이스를 통해 마이크로프로세서 다이에 전기적으로 결합될 수 있다. 또한, 알려진 커넥션들은 단지 예시적인 것이며 도시된 구성요소들 중의 다른 커넥션은 칩 플랫폼, 기능성 또는 애 플리케이션 요건에 따라 존재할 수도 있다.
본 명세서의 "실시예"는 그 실시예와 관련하여 기술된 특정의 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 본 명세서의 전반에 걸쳐 나타나는 그러한 문구는 모두 동일한 실시예를 지칭하는 것은 아니다. 또한, 임의의 실시예와 관련하여 특정의 특징, 구조 또는 특성이 기술될 때, 그러한 특징, 구조 또는 특성이 다른 실시예에서 실시될 수 있다는 것은 당업자의 범위 내에 포함되는 것이다.
또한, 이해를 용이하게 하기 위해, 소정의 기능성 블럭들이 별도의 블럭으로서 기술되지만, 이들 별도의 블럭은 논의되는 순서로 해석되어서는 아니된다. 가령, 일부의 블럭은 대안의 순서로서, 가령 동시에 수행될 수도 있다.
본 발명이 다수의 예시적인 실시예를 참조하면서 기술되었지만, 당업자라면 본 발명의 사상 및 범주 내에서 다양한 변경 및 변형을 가할 수 있음을 이해해야 한다. 특히, 본 발명의 사상의 범주 내에서 전술한 개시 내용, 도면 및 첨부된 특허청구범위의 영역 내의 주요 조합의 구성요소 부분들 및/또는 장치에서 합리적인 변형 및 변경이 가능하다. 상기 구성요소 부분 및/또는 장치에서의 변형 및 변경에 부가하여 대안의 사용이 당업자에게 명백할 것이다.

Claims (28)

  1. 등화 회로에 있어서,
    신호 라인 상의 적어도 하나의 비트 패턴을 검출하기 위한 검출기와,
    상기 검출기에 의해 검출되는 비트 패턴에 대응하는 위상 시프트 세팅을 결정하기 위한 송신 오프셋 회로를 포함하며,
    상기 위상 시프트 세팅은 신호 라인 상의 데이터의 송신 지연을 제어하여 심볼간 간섭을 감소시키는
    등화 회로.
  2. 제 1 항에 있어서,
    상기 검출기는,
    상기 신호 라인 상으로 송신된 과거 비트들의 각각의 값을 저장하기 위한 다수의 저장 회로와,
    상기 저장 회로의 적어도 일부에 저장된 값들에 기반하여 상기 비트 패턴을 검출하기 위한 적어도 하나의 로직 회로를 포함하는
    등화 회로.
  3. 제 1 항에 있어서,
    상기 송신 오프셋 회로는 상기 위상 시프트 세팅에 기반하여 다수의 상이한 지연 신호들 중 하나를 선택하며, 상기 선택된 지연 신호는 상기 신호 라인 상의 데이터의 송신 지연을 제어하는
    등화 회로.
  4. 제 3 항에 있어서,
    상이한 지연 신호는 상이한 시간의 양만큼 지연된 클럭 신호인
    등화 회로.
  5. 제 3 항에 있어서,
    상기 선택된 지연 신호에 기반하여 상기 신호 라인 상으로 송신을 위한 데이터를 출력하기 위한 래치를 더 포함하는
    등화 회로.
  6. 제 1 항에 있어서,
    상기 신호 라인은 데이터 버스의 비트 라인을 형성하는 등화 회로.
  7. 제 6 항에 있어서,
    상기 데이터 버스는 마이크로프로세서에 결합되는 등화 회로.
  8. 제 1 항에 있어서,
    사전결정된 비트 패턴과 다수의 위상 시프트 값을 연관시키는 회로를 더 포함하며,
    상기 연관 회로는 상기 검출기에 의해 검출되는 비트 패턴에 대응하는 위상 시프트 값을 출력하며, 상기 송신 오프셋 회로는 상기 연관 회로로부터 출력되는 위상 시프트 값에 기반하여 위상 시프트 세팅을 결정하는
    등화 회로.
  9. 제 8 항에 있어서,
    상기 신호 라인 상에서 형성된 심볼간 간섭(inter-symbol interference)에 기반하여 상기 연관 회로에서의 위상 시프트 값을 설정하기 위한 적응성 회로를 더 포함하는 등화 회로.
  10. 제 9 항에 있어서,
    상기 적응성 회로는 제 2 신호 라인으로 테스트 패턴을 제공함으로써 신호 라인 상에서 형성된 상기 심볼간 간섭을 결정하는 등화 회로.
  11. 제 10 항에 있어서,
    상기 제 2 신호 라인은 상기 신호 라인을 포함하는 데이터 버스의 측대역 핀에 결합되는 등화 회로.
  12. 제 10 항에 있어서,
    상기 적응성 회로는,
    상기 테스트 패턴을 형성하기 위한 패턴 생성기와,
    상기 제 2 신호 라인 상의 테스트 패턴의 송신에 응답하여 수신되는 피드백에 기반하여 위상 시프트 값을 계산하기 위한 오프셋 계산기와,
    상기 오프셋 계산기에 의해 계산된 위상 시프트 값을 저장하기 위한 제 2 회로를 포함하는 등화 회로.
  13. 제 12 항에 있어서,
    상기 제 2 회로는 상기 연관 회로에 저장을 위한 위상 시프트 값을 송신하는 등화 회로.
  14. 제 1 항에 있어서,
    클럭 오프셋 값들의 윈도우를 결정하기 위한 중앙 제어기를 더 포함하며,
    상기 클럭 오프셋 값들 중의 하나는 상기 검출기에 의해 검출되는 비트 패턴을 위한 위상 시프트 세팅에 대응하는 등화 회로.
  15. 신호 라인 상의 적어도 하나의 비트 패턴을 검출하는 단계와,
    상기 검출된 비트 패턴에 대응하는 위상 시프트 세팅을 결정하는 단계와,
    상기 위상 시프트 세팅에 기반하여 상기 신호 라인 상의 데이터 송신의 지연을 제어하여 심볼간 간섭을 감소시키는 단계를 포함하는
    방법.
  16. 제 15 항에 있어서,
    상기 검출 단계는,
    상기 신호 라인 상으로 송신된 과거 비트들의 각각의 값을 저장하는 단계와,
    과거 비트들의 저장된 값의 적어도 일부에 기반하여 상기 비트 패턴을 검출하는 단계를 포함하는
    방법.
  17. 제 15 항에 있어서,
    상기 제어 단계는 상기 위상 시프트 세팅에 기반하여 다수의 상이한 지연 신호 중의 하나를 선택하는 단계를 포함하며,
    상기 선택된 지연 신호는 상기 신호 라인 상의 데이터의 송신 지연을 제어하는
    방법.
  18. 제 15 항에 있어서,
    상기 신호 라인은 데이터 버스의 비트 라인을 형성하는 방법.
  19. 제 15 항에 있어서,
    상기 결정 단계는
    상기 검출된 비트 패턴에 대응하는 위상 시프트 값을 획득하는 단계와,
    상기 위상 시프트 값에 기반하여 위상 시프트 세팅을 결정하는 단계를 포함하며,
    상기 위상 시프트 값은 제각기의 비트 패턴들의 개수와 관련하여 다수의 위상 시프트 값을 저장하는 룩업 테이블로부터 획득되는
    방법.
  20. 제 19 항에 있어서,
    상기 신호 라인 상에서 형성된 심볼간 간섭을 검출하는 단계와,
    상기 검출된 심볼간 간섭에 기반하여 룩업 테이블 내에 상기 위상 시프트 값을 세팅하는 단계를 더 포함하는 방법.
  21. 제 20 항에 있어서,
    형성된 심볼간 간섭을 검출하는 단계는
    제 2 신호 라인 상으로 테스트 패턴을 인가하는 단계와,
    상기 인가된 테스트 패턴에 응답하여 상기 제 2 신호 라인 상에 수신되는 피드백에 기반하여 형성되는 심볼간 간섭을 검출하는 단계를 포함하는 방법.
  22. 21 항에 있어서,
    상기 제 2 신호 라인은 신호 라인을 포함하는 데이터 버스의 측대역 핀에 결합되는 방법.
  23. 제 21 항에 있어서,
    상기 제 2 신호 라인 상에 수신되는 피드백에 기반하여 위상 시프트 값을 계산하는 단계와,
    상기 위상 시프트 값이 계산됨에 따라 제 2 룩업 테이블 내에 위상 시프트 값을 저장하는 단계를 더 포함하는 방법.
  24. 제 23 항에 있어서,
    사전결정된 개수의 위상 시프트 값들이 계산된 이후 상기 제 2 룩업 테이블 내의 위상 시프트 값을 상기 룩업 테이블 내에 로딩하는 단계를 더 포함하는 방법.
  25. 제 15 항에 있어서,
    클럭 오프셋 값들의 윈도우를 센터링하는 단계를 더 포함하며,
    상기 클럭 오프셋 값들 중의 하나는 상기 검출된 비트 패턴에 대응하는 위상 시프트 세팅에 대응하는 방법.
  26. 제 1 회로와,
    등화 회로를 포함한 제 2 회로를 포함하되,
    상기 등화 회로는
    신호 라인 상의 적어도 하나의 비트 패턴을 검출하기 위한 검출기와,
    상기 검출기에 의해 검출되는 비트 패턴에 대응하는 위상 시프트 세팅을 결정하기 위한 송신 오프셋 회로를 포함하며,
    상기 위상 시프트 세팅은 신호 라인 상의 데이터의 송신 지연을 제어하여 심볼간 간섭을 감소시키는
    시스템.
  27. 제 26 항에 있어서,
    상기 제 1 회로 및 상기 제 2 회로는 프로세서, 캐시, 전원, 그래픽 인터페이스, 산술 로직 유닛, 칩셋, 메모리, 네트워크 인터페이스 및 무선 통신 유닛으로 구성되는 그룹으로부터 선택되는
    시스템.
  28. 제 26 항에 있어서,
    상기 제 1 회로는 배터리에 결합되는 시스템.
KR1020077030398A 2005-06-30 2006-06-29 데이터 라인 상의 노이즈를 억제하기 위한 등화 회로, 방법및 시스템 KR100953459B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/169,569 US7590173B2 (en) 2005-06-30 2005-06-30 System and method for performing adaptive phase equalization
US11/169,569 2005-06-30

Publications (2)

Publication Number Publication Date
KR20080012380A true KR20080012380A (ko) 2008-02-11
KR100953459B1 KR100953459B1 (ko) 2010-04-16

Family

ID=37075586

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077030398A KR100953459B1 (ko) 2005-06-30 2006-06-29 데이터 라인 상의 노이즈를 억제하기 위한 등화 회로, 방법및 시스템

Country Status (4)

Country Link
US (1) US7590173B2 (ko)
KR (1) KR100953459B1 (ko)
CN (1) CN101228751B (ko)
WO (1) WO2007005591A1 (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8090065B2 (en) * 2005-11-29 2012-01-03 Sonosite, Inc. Implied clock
US7506222B1 (en) * 2006-03-06 2009-03-17 Advanced Micro Devices, Inc. System for phase tracking and equalization across a byte group for asymmetric control of high-speed bidirectional signaling
US7505332B1 (en) 2006-03-06 2009-03-17 Advanced Micro Devices, Inc. Input offset correction for asymmetric control of high-speed bidirectional signaling
US7729465B2 (en) * 2006-03-06 2010-06-01 Globalfoundries Inc. Asymmetric control of high-speed bidirectional signaling
JP4973939B2 (ja) * 2007-10-10 2012-07-11 ソニー株式会社 受信装置、受信方法、情報処理装置、情報処理方法、及びプログラム
US7944963B2 (en) * 2007-12-28 2011-05-17 International Business Machines Corporation Method and apparatus for jitter compensation in receiver circuits using nonlinear dynamic phase shifting technique based on bit history pattern
WO2016167800A1 (en) * 2015-04-17 2016-10-20 Hewlett Packard Enterprise Development Lp Data block address-generated data to test a data storage device
KR102326661B1 (ko) 2015-08-13 2021-11-16 삼성전자주식회사 이퀄라이저 장치 및 이를 포함하는 메모리 장치
KR20200098754A (ko) * 2019-02-11 2020-08-21 삼성전자주식회사 Cds 회로, 이미지 센서 및 cds 회로의 출력 신호 분산 방법
JP7287147B2 (ja) * 2019-06-26 2023-06-06 富士通株式会社 演算処理装置および演算処理装置の制御方法
EP3929926B1 (en) * 2020-01-14 2023-07-12 Changxin Memory Technologies, Inc. Data sampling circuit and data sampling device

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0216183B1 (en) * 1985-08-28 1992-06-03 Nec Corporation Decision feedback equalizer with a pattern detector
US5408640A (en) 1990-02-21 1995-04-18 Digital Equipment Corporation Phase delay compensator using gating signal generated by a synchronizer for loading and shifting of bit pattern to produce clock phases corresponding to frequency changes
US5251210A (en) * 1991-11-01 1993-10-05 Ibm Corporation Method and apparatus for transforming low bandwidth telecommunications channels into a high bandwidth telecommunication channel
JPH0951295A (ja) 1995-08-04 1997-02-18 Matsushita Electric Ind Co Ltd データ受信装置
JP3479018B2 (ja) * 2000-01-24 2003-12-15 Necエレクトロニクス株式会社 半導体集積回路
US6691214B1 (en) * 2000-08-29 2004-02-10 Micron Technology, Inc. DDR II write data capture calibration
US6510191B2 (en) 2001-02-09 2003-01-21 Motorola, Inc. Direct digital synthesizer based on delay line with sorted taps
JP3887593B2 (ja) * 2002-10-15 2007-02-28 シャープ株式会社 オフセット補正装置およびオフセット補正方法
JP2004260669A (ja) * 2003-02-27 2004-09-16 Leader Electronics Corp シリアル・デジタル信号に内在するタイミング基準ビット列に同期するワード・クロック発生器
JP4456432B2 (ja) * 2004-08-02 2010-04-28 富士通株式会社 基準信号を用いて同期伝送を行う装置および方法
US7424634B2 (en) * 2005-03-14 2008-09-09 Micron Technology, Inc. System and method for reducing jitter of signals coupled through adjacent signal lines

Also Published As

Publication number Publication date
US20070002941A1 (en) 2007-01-04
KR100953459B1 (ko) 2010-04-16
CN101228751A (zh) 2008-07-23
US7590173B2 (en) 2009-09-15
WO2007005591A1 (en) 2007-01-11
CN101228751B (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
KR100953459B1 (ko) 데이터 라인 상의 노이즈를 억제하기 위한 등화 회로, 방법및 시스템
US5621774A (en) Method and apparatus for synchronizing parallel data transfer
US7543090B2 (en) Double-pumped/quad-pumped variation mechanism for source synchronous strobe lockout
JP5121712B2 (ja) ビット・スキュー防止方法およびシステム
JP6697990B2 (ja) 半導体装置
US20150192949A1 (en) Digital Calibration-Based Skew Cancellation for Long-Reach MIPI D-PHY Serial Links
KR20080068382A (ko) 등화기를 갖는 수신기 및 그것의 등화방법
US20060274874A1 (en) Clock and data timing compensation for receiver
JP2007060655A (ja) アイサイズ測定回路、データ通信システムの受信器、及びアイサイズ測定方法
WO2014051759A1 (en) Equalization effort-balancing of transmit finite impulse response and receive linear equalizer or receive decision feedback equalizer structures in high-speed serial interconnects
US9349422B2 (en) Supporting calibration for sub-rate operation in clocked memory systems
JP4930593B2 (ja) データ転送装置およびデータ転送方法
JPWO2008026289A1 (ja) データ送信回路、および送信方法
US7900080B2 (en) Receiver mechanism for source synchronous strobe lockout
US6636999B1 (en) Clock adjusting method and circuit device
US7889824B2 (en) System and method for alignment of clock to data
US20110057691A1 (en) Receiving apparatus and receiving method thereof
US7804923B2 (en) Apparatus and method for locking out a source synchronous strobe receiver
US9800400B1 (en) Clock phase alignment in data transmission
JP2004310544A (ja) 非同期データ転送装置
KR20070088205A (ko) 자동 위상 정렬 장치 및 그 방법
US9484967B1 (en) Method for duty cycle distortion detection through decision feedback equalizer taps
KR102513739B1 (ko) Mipi d-phy 고속 송신기의 이퀄라이징 시스템
JP2018019185A (ja) シリアル通信システム、マスタ通信デバイス、及びスレーブ通信デバイス
US11483185B1 (en) Hardware efficient decision feedback equalization training

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
FPAY Annual fee payment

Payment date: 20180328

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 10