KR20050017386A - 클록 조정 - Google Patents

클록 조정

Info

Publication number
KR20050017386A
KR20050017386A KR1020040063468A KR20040063468A KR20050017386A KR 20050017386 A KR20050017386 A KR 20050017386A KR 1020040063468 A KR1020040063468 A KR 1020040063468A KR 20040063468 A KR20040063468 A KR 20040063468A KR 20050017386 A KR20050017386 A KR 20050017386A
Authority
KR
South Korea
Prior art keywords
phase
clock
asic
delay
circuit
Prior art date
Application number
KR1020040063468A
Other languages
English (en)
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 KR20050017386A publication Critical patent/KR20050017386A/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/01Shaping pulses
    • H03K5/04Shaping pulses by increasing duration; by decreasing duration
    • H03K5/05Shaping pulses by increasing duration; by decreasing duration by the use of clock signals or other time reference signals
    • 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
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/07Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop using several loops, e.g. for redundant clock signal generation
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/081Details of the phase-locked loop provided with an additional controlled phase shifter
    • H03L7/0812Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
    • H03L7/0814Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the phase shifting device being digitally controlled
    • 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/08Clock generators with changeable or programmable clock frequency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Stabilization Of Oscillater, Synchronisation, Frequency Synthesizers (AREA)
  • Pulse Circuits (AREA)
  • Logic Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

본 발명에서는 클록 조정을 위한 회로들 및 방법들이 제공된다. 클록 조정을 위한 방법은 독립적인 ASIC 모듈들로부터 피드백 클록들을 수신하는 단계를 포포함한다. 그 방법은 위상 측정값들(phase measurement values)을 생성하기 위해 피드백 클록들을 레퍼런스 클록과 비교하는 단계를 포함한다. 공통 지연(common delay)이 위상 측정값들로부터 제거되어 정규화된 보정값들(normalized correction values)을 형성한다. 목표 위상값들(Target phase values) 및 클록 선택값들(clock select values)이 정규화된 보정값들을 사용하여 선택된다. 그리고, 독립적인 ASIC 모듈들로의 클록 신호들은 목표 위상값들 및 클록 선택값들에 기초하여 조정된다.

Description

클록 조정{CLOCK ADJUSTMENT}
클록 신호는 전자 회로에서 데이터의 전송을 동기화하는데 사용된다. 데이터의 이동은 데이터가 의도된 시간에 그 의도된 위치에 도달하는 것을 보장하도록 클로킹된다(clocked). 정밀한 클로킹이 없이는, 애플리케이션들 및 계산들이 의도한 바와 같이 수행되지 않을 것이다.
주문형 집적회로(Application specific integrated circuits ; ASICs)는 클록 신호를 사용하는 회로의 한 예이다. ASIC는 그 크기 및 밀도에서 증가하고 있다. 실제로 ASIC가, 예를 들어, 2백만 게이트들 및 그 이상으로, 매우 커지고 있기 때문에, ASIC의 모든 부분들로 동등한 타이밍을 갖는 클록 신호를 생성하는 것은 점점 어려워지고 있다. ASIC 다이(ASIC die)에 걸친 프로세스, 전압, 및 온도(PVT)의 시간에 따른 변화는 개별적인 논리 회로들로의 클록의 도달에 있어서 다양한 지연들을 초래하고, 따라서 ASIC 다이에 걸친 상이한 전압, 온도, 및 프로세스 변화에 대하여 신호 통신 장애(signal miscommunication) 및 타이밍 장애(timing failures)를 초래한다.
ASIC 다이 상의 ASIC 모듈들은 ASIC 모듈들 간의, 그리고 개별적인 ASIC 모듈 내의 신호 생성 및 캡쳐를 제어하기 위해 하나 이상의 클록들을 사용한다. 동일한 클록을 사용하는 복수의 모듈은, 그 클록이 동일한 클록 지연을 가지고 모든 플립플롭에 도달한다고 가정한다. ASIC에 의해 생성된 신호들이 정확한 지연을 가지고 있지 않다면, 그 신호들은 그들을 수신하는 모듈(destination module)에 제때에 도달하지 못할 것이고, 그 모듈도 다른 모듈들로부터의 입력을 정확히 감지하지 못할 것이다. 어떤 ASIC들의 경우, 상이한 ASIC 모듈들로 정밀하게 클록 신호를 제공하는 작업은 클록 버퍼들의 트리(a tree of clock buffers)로 분류된다. 그럼에도 불구하고, ASIC 다이에 걸친 상이한 모듈들로의 상이한 경로들은 여전히 최종 적인 클록 신호 수신지에 지연 변화(delay variation)를 초래할 수 있다. 이러한 문제는 ASIC에 걸친 온도 및 프로세스의 시간에 따른 변화에 의해 악화될 수 있다.
본 발명은 클록 조정을 위한 회로들 및 방법들을 제공하는 것을 목적으로 한다. 클록 조정을 위한 방법은 독립적인 ASIC 모듈들로부터 피드백 클록들을 수신하는 단계를 포함한다. 그 방법은 위상 측정값들(phase measurement values)을 생성하기 위해 피드백 클록들을 레퍼런스 클록과 비교하는 단계를 포함한다. 공통 지연(common delay)이 위상 측정값들로부터 제거되어 정규화된 보정값들(normalized correction values)을 형성한다. 목표 위상값들(Target phase values) 및 클록 선택값들(clock select values)이 정규화된 보정값들을 사용하여 선택된다. 그리고, 독립적인 ASIC 모듈들로의 클록 신호들은 목표 위상값들 및 클록 선택값들에 기초하여 조정된다.
앞서 언급한 바와 같이, 클록 회로들은 전자 애플리케이션들 및 계산들을 수행하기 위해 데이터를 의도된 시간에 의도된 위치로 이동시키는데 사용된다. 예시를 목적으로, 이어지는 설명은 주문형 집적회로(ASIC) 클록 회로를 참조하여 논의될 것이다. 한편, 당업자가 본 명세서를 읽고 인식할 수 있는 바와 같이, 발명의 실시예들은 ASIC 다이 상의 ASIC 클록 회로와 관련된 사용에 제한되지 않는다.
ASIC들 및 다른 집적 회로들(ICs)에서, ASIC의 모든 부분들로 동등한 타이밍을 갖는 클록 신호를 생성하는 것은 점점 어려워지고 있다. 예를 들어, ASIC들의 크기가 증가함에 따라 ASIC 클록은 다양한 논리 회로들 내의 수만 또는 수십만 플립플롭들을 구동하는데 사용될 수 있다. 이러한 회로들로의 타이밍은 동기화되어야 한다.
어떤 ASIC들의 경우에는, 시스템 클록 모듈에서 단일한 시스템 클록이 생성된 후에 이 클록이 ASIC 내의 모든 모듈들로 라우팅된다. 클록 신호가 회로를 통해 복수의 모듈로 라우팅된 때에는, 그 클록이 구동하고자 하는 각각의 ASIC 모듈, 또는 블록에 대하여 다양한 클록 지연이 있을 수 있다. 일단 각각의 ASIC 모듈 내로 수신되면, 클록 신호는 버퍼링되며 그 후 ASIC 모듈의 모든 논리 회로들의 클록 입력을 구동한다. 라우팅 지연들 및 클록 로딩(clock loading)은 시스템 클록 신호가 상이한 시간에 상이한 모듈들에 도달하는 것을 초래할 수 있다.
실시예들은 ASIC 다이의 각각의 ASIC 모듈과 연관된, 동기화 위상 조정 상태 기기 회로(synchronizing phase adjust state machine circuit), 동기화 위상 선택 회로(synchronizing phase select circuit), 및 위상 측정 회로(phase measure circuit)를 포함한다. 정규화된 지연 계산 블록(compute normalized delay block)은 모든 ASIC 모듈들에 대하여 공통 지연(common delay)을 정규화(normalize out)한다. 동기화 위상 조정 상태 기기 회로는 목표 위상 탭(target phase tap) 및 클록 선택 탭(clock select tap)을 출력한다. 동기화 위상 선택 회로는 목표 위상을 레지스터에 제공하며, 레지스터는 주어진 ASIC 모듈로의 클록 지연을 조정하기 위해 그 목표 위상을 클록 다중화기(clock multiplexer)에 제공한다. 동기화 위상 선택 회로는 레지스터가 목표 위상을 클록 다중화기로 도입(introduce)해야 할 때 안전하게 신호를 보내도록 클록 선택 탭 상에서 동작할 수 있다.
도 1은 ASIC 다이와 연관될 수 있는 집적회로(IC; 100)의 실시예에 대한 블록도를 나타낸다. 도 1의 실시예에서 도시된 바와 같이, IC(100)은 ASIC 다이와 연관될 수 있는 ASIC 모듈들(102-1, 102-2, 및 102-3)과 같은 다수의 모듈을 포함한다. 임의의 수의 모듈들이 포함될 수 있다. 본 발명의 실시예들은 그렇게 제한되지 않는다. 도 1의 실시예에서, 시스템 또는 레퍼런스 클록(103)이 클록 회로(105)와 연결된다. 클록 회로(105)는 ASIC 클록 회로로서 사용될 수 있고, 예시를 목적으로 본 명세서에서 그와 같이 호칭될 것이다. 한편, 앞서 언급한 바와 같이, 본 발명의 실시예들은 ASIC 다이 상의 ASIC 회로와 관련된 사용으로 제한되지 않는다.
도 1의 실시예에서 도시된 바와 같이, ASIC 클록 회로(105)는 ASIC 다이의 각각의 개별적인 ASIC 모듈(102-1, 102-2, 및 102-3)에 연결된다. 시스템(레퍼런스) 클록(103)은 ASIC 클록 회로(105) 상의 시스템 클록 생성기(107)에 클록 신호를 제공한다. 시스템 클록 생성기(107)는, 모듈(109-1, 109-2, 및 109-3)로서 도시된, 다수의 동기화 위상 선택 회로에 제공되는 지연된 클록들을 증분적으로(incrementally) 생성한다. 예를 들어, 시스템 클록 생성기(107)는 가능한 32개의 클록 신호들을 생성할 수 있으나, 이에 한정되지는 않는다. 도 1의 실시예에서 도시된 바와 같이, 동기화 위상 선택 회로(109-1, 109-2, 및 109-3)는 ASIC 다이의 각각의 ASIC 모듈(102-1, 102-2, 및 102-3)과 연관되어 연결된다. 각각의 동기화 위상 선택 회로(109-1, 109-2, 및 109-3)는 클록 다중화기(110-1, 110-2, 및 110-3)를 포함한다. 동기화 위상 선택 회로(109-1, 109-2, 및 109-3)는 차후에 도 4와 관련해서 더욱 상세하게 설명될 것이다.
각각의 동기화 위상 선택 회로(109-1, 109-2, 및 109-3)는, ASIC가 사용되는 동안, ASIC 다이의 모든 부분들에 동기 타이밍(synchronous timing)을 제공하기 위해, 클록을 분실(missing clock)하거나 런트 펄스(runt pulses)를 도입하지 않고도, 그의 연관된 ASIC 모듈(102-1, 102-2, 및 102-3)에 조정된 클록 신호를 제공할 수 있다.
도 1의 실시예에서 도시된 바와 같이, 시스템 클록 생성기(107)로부터 의 클록 신호는 또한 다수의 위상 측정 회로(115-1, 115-2 및 115-3)에 레퍼런스 클록 신호로서 제공된다. 언급한 바와 같이, 각각의 위상 측정 회로(115-1, 115-2 및 115-3)는 ASIC 다이의 개별적인 ASIC 모듈(102-1, 102-2, 및 102-3)과 연관되어 연결된다.
각각의 동기화 위상 선택 회로(109-1, 109-2, 및 109-3)로부터 각각의 개별적인 ASIC 모듈(102-1, 102-2, 및 102-3)로 라우팅되는 클록 신호들은 그 특정한 ASIC 모듈의, 모듈 회로(112-1, 112-2, 및 112-3)로서 도시된, 논리 회로들을 구동한다.
이러한 클록 신호들은 또한 각각의 개별적인 모듈(102-1, 102-2, 및 102-3) 상의 저 임피던스 클록 반환 버퍼(low impedance return clock buffer; 111-1, 111-2, 및 111-3)에 제공된다. 클록 반환 버퍼들(111-1, 111-2, 및 111-3)은 각각의 ASIC 모듈(102-1, 102-2, 및 102-3)에서 수신된 클록 신호를, 저임피던스 경로(low impedance path; 113-1, 113-2, 및 113-3)를 통해, 특정한 ASIC 모듈과 연관된 위상 측정 회로(115-1, 115-2 및 115-3)로 도로 라우팅한다. 저임피던스 경로는, 저임피던스를 갖는 와이어 또는, 넓은 금속화 버스 타입의 경로(wide metallization bus-type path)와 같은, 금속화 경로(metallization path)를 포함할 수 있다.
각각의 클록 반환 버퍼(111-1, 111-2, 및 111-3)로부터의 클록 신호는 각각의 위상 측정 회로(115-1, 115-2 및 115-3)에 입력된다. 그 클록 신호는 특정한 ASIC 모듈에서 실제로 수신된 클록에 대응한다. 그 후 위상 측정 회로(115-1, 115-2 및 115-3)는 ASIC 모듈로부터 수신된 클록 신호를 시스템 클록 생성기로부터 제공된 레퍼런스 클록 신호와 비교하여 측정하는데, 이는 각각의 특정한 ASIC 모듈(102-1, 102-2, 및 102-3)에 대한 위상 지연 측정값(measured phase delay value)을 생성하기 위한 것이다.
도 1의 실시예에서 도시된 바와 같이, 각각의 특정한 ASIC 모듈(102-1, 102-2, 및 102-3)에 대한 위상 지연 측정값은 그 후 각각의 위상 측정 회로(115-1, 115-2 및 115-3)로부터 정규화된 지연 계산 블록(compute normalized delays block; 117)으로 제공된다. 도 2와 관련해 보다 상세하게 논의된 바와 같이, 정규화된 지연 계산 블록(117)의 실시예는 각각의 위상 측정 회로(115-1, 115-2 및 115-3)에 의해 생성되는 위상 지연 측정값을 수신하도록 동작할 수 있고, 각각의 특정한 ASIC 모듈(102-1, 102-2, 및 102-3)에 대하여 새로운 정규화된 보정값(normalized correction value)을 신중하게 계산하도록 동작할 수 있다.
정규화된 지연 계산 블록(117)은 동기화된 지연 제어 상태 기기(synchronized delay control state machine; 118)에 연결된 것으로서 예시된다. 동기화된 지연 제어 상태 기기(118)는, 클록 회로(105)에 의해 수행되는 보정의 빈도(frequency of correction) 또는 위상 조정을 통제한다. 각각의 특정한 ASIC 모듈(102-1, 102-2, 및 102-3)에 대한 새로운 정규화된 보정값들이 일단 계산되면, 동기화된 지연 제어 상태 기기(118)는 위상 조정을 위해 위상 오프셋 또는 위상 이동(예를 들어, 위상 트래블(phase travel))을 시작한다. 즉, 각각의 특정한 ASIC 모듈(102-1, 102-2, 및 102-3)에 대한, 새로운 정규화된 보정값들은 동기화된 지연 제어 상태 기기(118) 및 동기화 위상 조정 상태 기기 회로(synchronizing phase adjust state machine circuit; 119-1, 119-2, 및 119-3) 상에 제공된다. 동기화 위상 조정 상태 기기 회로(119-1, 119-2, 및 119-3)는 각각의 특정한 ASIC 모듈(102-1, 102-2, 및 102-3)과 연관된다. 동기화 위상 조정 상태 기기 회로(119-1, 119-2, 및 119-3)의 실시예는 차후에 도 3과 관련해 보다 상세하게 설명된다.
도 1에 실시예에서 도시된 바와 같이, 각각의 동기화 위상 조정 상태 기기 회로(119-1, 119-2, 및 119-3)는, 특정한 ASIC 모듈(102-1, 102-2, 및 102-3)에 대하여, 동기화 위상 선택 회로(109-1, 109-2, 및 109-3)에 각각 연결된다. 동기화 위상 조정 상태 기기 회로(119-1, 119-2, 및 119-3) 및 동기화 위상 선택 회로(109-1, 109-2, 및 109-3)는, 중간 위상 조정 스텝 크기들(intermediate phase adjust step sizes)을 통해 각각의 ASIC 모듈(102-1, 102-2, 및 102-3)에 맞추어 신중하게 위상을 조정하기 위해 협력한다. 정규화된 지연 계산 블록(117), 동기화 위상 조정 상태 기기 회로(119-1, 119-2, 및 119-3), 및 동기화 위상 선택 회로(109-1, 109-2, 및 109-3)의 동작의 실시예들은 도 2-5와 관련해 더 설명된다.
도 2는, 도 1에서 도시된 정규화된 지연 계산 블록(117)의 역할을 할 수 있는 정규화된 지연 계산 블록(217)의 실시예에 대한 블록도를 나타낸다. 도 2의 실시예에서 도시된 바와 같이, 정규화된 지연 계산 블록(217)은 각각의 위상 측정 회로(215-1, 215-2 및 215-3)로부터 생성된 대로 각각의 특정한 ASIC 모듈에 대한 위상 지연 측정값을 수신한다. 즉, 위상 측정 회로(215-1, 215-2 및 215-3)는 도 1의 ASIC 모듈들(102-1, 102-2, 및 102-3)과 연관된 위상 측정 회로들(115-1, 115-2 및 115-3)로서 도시된다.
위상 지연 측정값은 레퍼런스 클록 신호, 예를 들어, 앞에서 도 1과 관련해 설명된 시스템 클록 생성기(107)로부터의 클록 신호에 대하여, ASIC 모듈(예를 들어, 102-1, 102-2, 및 102-3)에서의 현재 클록의 상대적인 위상을 나타낸다. 이진수로서 표시되는, 위상 지연 측정값의 측정된 위상은 각각의 논리 회로(231-1, 231-2, 및 231-3)로 전달된다. 본 명세서에서 사용된 것과 같이 논리 회로들은 소프트웨어, 펌웨어, 또는 이들의 결합에 의해 프로그램 가능한 게이트들을 포함할 수 있다. 이러한 각각의 논리 회로(231-1, 231-2, 및 231-3)는 또한, 도 1에서 (118)로 도시된 것과 같은, 동기화된 지연 제어 상태 기기(218)로부터 입력을 수신하며, 클록 선택 레지스터(257)에 의해 선택된 대로 현재 선택된 위상을 나타내는 피드백 입력 신호를 수신한다. 클록 선택 레지스터(257)의 실시예는 도 4와 관련해 더 상세하게 설명된다. 도 1에서 (118)로 도시된 것과 같은, 동기화된 지연 제어 상태 기기(218)로부터의 입력은 클록 회로에 의해 수행되는 보정, 또는 위상 조정의 빈도를 통제한다.
각각의 논리 회로(231-1, 231-2, 및 231-3)는 주어진 ASIC 모듈에 대한 각각의 위상 측정 회로(PMC; 215-1, 215-2 및 215-3) 값으로부터 피드백 입력 신호, 예를 들어, 클록 선택 레지스터(257) 신호를 뺀다. 언급한 바와 같이, 동기화된 지연 제어 상태 기기(218)는 이러한 동작의 빈도를 통제한다. 설명하자면, 예를 들어, 그 감산(subtraction)을 트리거링하는 빈도를 통제 또는 제어하기 위해, 동기화된 지연 제어 상태 기기(218)는 각각의 논리 회로(231-1, 231-2, 및 231-3)에 단일 비트 신호를 제공할 수 있으나, 이에 한정되는 것은 아니다.
이러한 논리 회로들(231-1, 231-2, 및 231-3)로부터의 출력은 주어진 ASIC 모듈에 제공되고 있는 현재의 클록을 목표 위상값에 도달하도록 오프셋 또는 이동하는데 사용하기 위한 보정값이다. 도 2의 실시예에서 도시된 바와 같이, 각각의 개별적인 ASIC 모듈에 대한 보정값들은 논리 회로(233)로 입력되는 입력 신호들로서 제공된다. 논리 회로(233)는 이러한 입력 신호들로부터 최저 위상 지연값을 결정하고, 그 후 이 최저 위상 지연값을 출력할 것이다.
도 2의 실시예에서 도시된 바와 같이, 논리 회로들(231-1, 231-2, 및 231-3)로부터의 출력은 또한 일련의 다른 논리 회로들(235-1, 235-2, 및 235-3)로 입력되는 입력 신호들로서 제공된다. 개별적인 ASIC 모듈들에 대한 최저 위상 지연값을 나타내는 출력도 논리 회로들(235-1, 235-2, 및 235-3)로의 입력으로서 제공된다.
각각의 개별적인 논리 회로(231-1, 231-2, 및 231-3)는, 각각의 ASIC 모듈에 대하여, 논리 회로들(235-1, 235-2, 및 235-3) 중 하나로 입력 신호를 제공하기 위해 짝지어진다. 논리 회로들(235-1, 235-2, 및 235-3)은, 논리 회로(233)에 의해 계산되어 하나의 입력에서 수신된 최저 지연값을, 개별적인 논리 회로들(231-1, 231-2, 및 231-3) 중 하나로부터의 다른 입력에서 수신된 보정값에서 뺀다. 이는 새로운 정규화된 보정값들을 생성한다. 모든 ASIC 모듈들이 충분하고도 남을 정도의 지연을 갖는 경우, 정규화된 지연 계산 블록(217)에 의해 공통 지연 부분이 정규화될 수 있다(normalized out).
도 2의 실시예는 세 ASIC 모듈들에 대하여 동작하고 있는 클록 지연 피드백을 나타낸다. 따라서, 도 2의 실시예에서, 각각의 세 ASIC 모듈에 대한 새로운 정규화된 보정값들은 논리 회로들(235-1, 235-2, 및 235-3)로부터 선들(237-1, 237-2, 및 237-3)로 각각 출력된다.
도 2의 실시예에서 도시된 바와 같이 정규화된 지연 계산 블록(217)은, 위상 조정에 제한을 설정하기 위하여, 구성 가능한 제한 레지스터(limit register; 238)를 구비할 수 있다. 제한 레지스터(238)는 보정값이 클록 회로의 가용 지연 범위(available delay range)보다 더 큰 범위와 연관될 가능성이 있는 경우를 목적으로 한다. 즉, 정규화된 지연 계산 블록(217)은 수용 가능한 성능에 대한 지연 조정이 클록 회로의 조정 범위를 초과하는지를 발견할 수 있다.
이러한 문제를 다루기 위해, 논리 회로들(235-1, 235-2, 및 235-3)로부터의 출력 신호들이 비교 블록(239)으로 입력될 수 있다. 레지스터(238)로부터의 제한 위상 조정(limit phase adjust)도 비교 블록(239)으로 제공된다. 비교 블록(239)은 지연 조정이 지연 범위를 초과하는지를 판단하기 위해 이들을 검사한다. 지연 조정이 지연 범위를 초과하는 경우에는, 시스템 프로세서의 치명적 인터럽트(fatal interrupt)를 트리거링하기 위해 장애 레지스터(fault register)(도시되지 않음)가 이용(assert)될 수 있다. 한편, 보상을 위해, 동기화된 지연 제어 상태 기기, 이를테면 도 1의 (118)은 보정의 빈도를 조정하도록 프로그램 가능한 펌웨어가 될 수 있다.
요약하면, 본 명세서에서 설명된 정규화된 지연 계산 블록(217)은 목표 위상에 도달하기 위해 인가해야할 위상차(phase difference)를 더 추출하기 전에, 공통된 위상 지연 부분을 제거한다. 정규화된 지연 계산 블록(217)에서 이러한 정규화를 수행함으로써, 위상 오프셋, 또는 이동이 감소하고 ASIC 모듈들 간의 클록 주기가 분실될 가능성이 적어진다.
각각의 ASIC 모듈에 대하여, 도 3 내지 도 5와 관련해 설명된, 이어지는 동작은, 각각의 개별적인 ASIC 모듈과 연관된 새로운 정규화된 보정값들을 사용하여 (포지티브 또는 네거티브로) 조정하는 것이다.
도 3은 동기화 위상 조정 상태 기기 회로(319)의 실시예의 블록도를 나타낸다. 도 3의 실시예에서 도시된 바와 같이, 도 2의 논리 회로들(235-1, 235-2, 및 235-3)로부터의 새로운 정규화된 보정값들은 각각 동기화 위상 조정 상태 기기 회로(319)로 입력된다. 도 3의 실시예에서, 새로운 정규화된 보정값은 선(340) 상에서 동기화 위상 조정 상태 기기 회로(319)로 입력된다. 도 1과 관련해 설명된 바와 같이, 각각의 개별적인 ASIC 모듈은 그와 연관된 동기화 위상 조정 상태 기기 회로(319)를 가질 것이다.
도 3의 실시예에서 도시된 것과 같이, 현재 클록 위상 지연값, 즉 클록 선택 레지스터(도 4에서 (457)로 도시되며 이와 관련해 더 설명됨)에 의해 선택된 대로 현재 선택된 위상을 나타내는 피드백 입력 신호는 선(362) 상에서 동기화 위상 조정 상태 기기 회로(319)로 입력된다.
이러한 각각의 입력 선들(340 및 362)은 이진 입력으로서 논리 회로 모듈(341)에 제공된다. 논리 회로 모듈(341)은 새로운 정규화된 보정값으로부터 각각의 ASIC 모듈에 대한 현재 클록 위상 지연값을 뺀다. 이러한 연산(operation)의 결과는 목표 위상값을 나타내는 이진수로서 위상 조정 범위 점검 논리 회로(phase adjust range check logic circuit; 342)에 제공된다. 위상 조정 범위 점검 논리 회로(342)는 또한 위상 조정 스텝 크기 레지스터들(phase adjust step size registers; 343)로부터 입력을 수신한다.
위상 조정 스텝 크기 레지스터들(343)은 범위 제한 레지스터(range limit register; 344) 및 스텝 크기 레지스터(step size register; 345)를 포함할 수 있다. 범위 제한 레지스터(344) 및 스텝 크기 레지스터(345)는 펌웨어에 의해 설정될 수 있다. 일 실시예에서, 범위 제한 레지스터(344)는 적어도 네(4) 개의 이진 범위들을 포함하며, 스텝 크기 레지스터(345)는 적어도 네(4) 개의 이진 스텝 크기들을 포함한다. 예를 들어, 네 개의 이진 범위들은, 칠(7)보다 큰 이진 값들, 3보다 크지만 7이하인 이진 값들, 1보다 크지만 3이하인 이진 값들, 및 1보다 작은 이진 값들에 걸쳐있는 네 개의 범위로 나뉠 수 있다. 적어도 네 개의 이진 스텝 크기들은 이진 스텝 크기 사(4), 이진 스텝 크기 이(2), 이진 스텝 크기 일(1), 및 이진 스텝 크기 영(0)을 포함할 수 있다.
범위 제한 레지스터(344)로부터의 이진 범위들 및 스텝 크기 레지스터(345)로부터의 이진 스텝 크기들은, 위상 오프셋 또는 이동을 계속하기 위해, 상이한 중간 위상 스텝 크기들(예를 들어, 대, 중, 또는 소 위상 스텝들)을 선택하도록 위상 조정 범위 점검 논리 회로(342)에 의해 사용될 수 있다. 본 명세서에서 사용된 바와 같이, 계속되는 위상 오프셋 또는 위상 이동은, 또한 본 명세서에서, 각각의 ASIC 모듈에 제공되는 클록 신호를 하나의 위상 지연으로부터 다른 것으로 동기적으로 스위핑(synchronously sweeping)하는 것에 대해 "위상 트래블(phase travel)"이라고 불리기도 한다.
앞서 주어진 예시적인 범위들 및 스텝 크기들을 사용하여, 위상 조정 범위 점검 논리 회로(342)는 목표 위상값을 나타내는 이진수를 수신하고, 그 이진수를 범위 제한 레지스터(344)로부터의 이진 범위들과 비교한다. 목표 위상값을 나타내는 이진수가 7보다 큰 경우, 이진 스텝 크기 사(4)가 선택될 수 있다. 목표 위상값을 나타내는 이진수가 3보다 크지만 7이하인 경우, 이진 스텝 크기 이(2)가 선택될 수 있다. 목표 위상값을 나타내는 이진수가 1보다 크지만 3이하인 경우, 이진 스텝 크기 일(1)이 선택될 수 있다. 그리고, 목표 위상값을 나타내는 이진수가 1보다 작은 경우, 이진 스텝 크기 영(0)이 선택될 수 있다. 당업자는 이러한 예시적인 구성의 여러 변경들이 구현될 수 있음을 인식할 것이다. 본 발명의 실시예들은 이러한 예에 한정되지 않는다.
위상 조정 범위 점검 논리 회로(342)가 사용할 위상 스텝들의 크기를 일단 결정하면, 위상 스텝들의 선택된 크기는, 블록(346)에서 도시된, 모든 위상 조정 범위들 및 모든 위상 스텝 크기들에 대한 테이블(346)로 출력된다. 위상 스텝의 크기에 대한 신호들은, 복수의 모듈 버스 상에서 테이블(346)로 출력될 수 있다. 그 테이블은 각각의 이진 스텝 크기에 대한 연관된 목표 위상 탭들 및 클록 선택 탭들의 목록을 제공한다. 당업자가 인식할 수 있는 바와 같이, 위상 탭들의 수는 다수의 상이한, 선택된 위상 스텝 크기에 상관(correlate)될 수 있다. 테이블(346)은 위상 조정 상태 기기(347)에 연결되며 그 위상 조정 상태 기기(347)로 이진 출력을 생성한다. 위상 조정 상태 기기(347)는 이러한 이진 입력뿐만 아니라, 선(340)의 새로운 정규화된 보정값으로부터의 입력 및 선(362)의 현재 클록 위상 지연값, 즉 현재 선택된 위상(도 4에서 (457)) 상에서도 동작하여 어떤 목표 위상 탭 값(target phase tap value) 및 어떤 클록 선택 탭 값(clock select tap value)을 출력할 지 선택한다. 목표 위상 탭 값 및 클록 선택 탭 값은 선들(348 및 349) 상에서 각각 출력된다. 이러한 신호들은 각각의 연관된 ASIC 모듈에 대해 복수의 모듈 버스 상에서 출력될 수 있다.
앞의 예를 검토함으로써 당업자가 인식할 수 있는 바와 같이, 목표 위상 탭 값 및 클록 선택 탭값은, 예를 들어, 위상 오프셋 또는 이동 값의 목표와 동등할 수 있는 목표 위상값보다 다소 적은, 중간 위상 스텝 값들을 나타낼 수 있다. 이는 ASIC 모듈들 사이에서 글리치들(glitches) 및 클록의 분실이 발생하지 않도록, 목적 클록 위상으로의 전이(transition)가 안전하게 이루어지는 것을 보장하기 위함이다.
따라서, 테이블 구동 상태 기기(table driven state machine)는 목표 위상을 특정하는데 사용되고, 그 목표 위상 탭으로의 전이에 사용되는 클록 선택 탭을 특정하는데 사용된다. 테이블 구동 상태 기기는 위상 조정 스텝 크기 레지스터들(343)에 의해 설정된 것과 같은 스텝들로 위상 트래블을 분리할 수 있다(break up). 즉, 동기화 위상 조정 상태 기기 회로(319)는, 각각의 가능한 현재 및 목적 클록 위상에 대하여 위상 전이가 안전하게 수행되도록 하는 방식으로, 일련의 중간 클록 위상들을 (대응되는 클록 선택 펄스와 함께) 출력한다. 목표 위상에 도달하기 전의 중간 스텝들의 크기는, 클록 회로가 그 목표 위상에 얼마나 빨리 도달할 수 있는지를 결정하며, 선택된 클록 탭이 현재 클록 탭을 부정확하게 오버랩할 수 없게 하는데 사용할 수 있는 최대 위상 갭의 함수(function)이다. 동기화 위상 조정 상태 기기 회로(319)는 프로그램 가능한 펌웨어이다. 따라서, 위상 오프셋 또는 이동은 고안된 후의 조정(post design adjustment) 및 펌웨어 구동 온도 및 전압 보상(firmware driven temperature and voltage compensation)을 수용(accommodate)할 수 있다. 도 4는, 주어진 연관된 ASIC 모듈에 대하여 위상 조정 스텝 상태 기기(347)가 조정된 클록 생성을 어떻게 구동하는지를 이하에서 설명한다.
도 4는 동기화 위상 선택 회로(409)의 실시예의 블록도를 나타낸다. 동기화 위상 선택 회로(409)는 도 1에서 도시된 동기화 위상 선택 회로들(예컨대 (109-1, 109-2, 및 109-3))의 역할을 할 수 있다. 도 1과 관련해 설명된 바와 같이, 각각의 개별적인 ASIC 모듈은 그와 연관된 동기화 위상 선택 회로(409)를 가질 것이다.
도 4의 실시예에서 도시된 바와 같이, 목표 위상 탭 값 및 클록 선택 탭 값 (도 3에서 선들(348 및 349) 상의 출력)은 각각 입력 선들(448 및 449) 상에 제공된다. 목표 위상 탭 값 및 클록 선택 탭 값은 테이블 구동 상태 기기(도 3에서 (346) 및 (347))와 관련해 수행되는 계산에 의해 결정 또는 특정되는 바에 따라 달라진다. 또한, 각각의 동기화 위상 선택 회로(409)는 시스템 클록 생성기(도 1의 (107))로부터 생성된 대로 입력 선(451) 상에서 지연된 클록 신호들을 수신한다. 도 4에서 도시된 실시예에서, 입력 선(451)은 서로에 대하여 시간 이동된 32 개의 클록 신호들의 세트를 나타낸다.
도 4의 실시예에서 도시된 바와 같이, 클록 선택 탭 신호는 입력 선(449) 상에서 지연된 클록 펄스 생성기(delayed clock pulse generator; 452)로 제공된다. 클록 선택 레지스터(457)는 주어진 ASIC 모듈로 어떤 클록 값이 제공될지를 선택하는데, 이 클록 선택 레지스터(457)를 안전하게 클로킹할 수 있는 신호를 생성하기 위해, 지연된 클록 펄스 생성기(452)로 클록 선택 탭 값이 제공된다. 고정된 위상에서의 클록 선택이 수행되면 때때로 런트 펄스 글리치(runt pulse glitch)가 발생하기 때문에, 이러한 클록 선택 레지스터를 미리-설정된, 또는 고정된 위상(예컨대 위상 0)에서 클로킹하는 것은 바람직하지 않을 것이다.
도 4에서 도시된 바와 같이, 시스템 클록 생성기로부터 생성된 지연된 클록 신호들도 입력 선(451)으로부터 그러한 지연된 클록 펄스 생성기(452)로 제공된다. 이러한 실시예에서, 지연된 클록 펄스 생성기(452)는 지연들의 범위에서 32개의 상이한 지연들 중 한 개를 가질 수 있는 단일한 펄스를 생성한다. 펄스에 대하여 선택된 지연은 입력(449)에 의해 결정된다. 따라서, 예를 들어, 지연된 클록 펄스 생성기(452)는 증분적으로(incrementally) 상이한 지연들을 갖는 32개의 가능한 펄스들을 제공할 수 있으나, 이에 한정되지는 않는다. 본 발명의 실시예들은, 한편, 증분적으로 상이한 지연들의 어떤 특정한 수에도 제한되지 않는다.
지연된 클록 펄스 생성기(452)는 트리거 소스(trigger source; 450)에 의해 트리거링될 수 있다. 모든 위상 조정 범위들에 대하여 테이블 구동 상태 기기(도 3의 (346))에 의해 특정된 대로, 클록 선택 탭 값이 인가되면, 지연된 클록 펄스 생성기(452)는 지연된 클록 펄스를 출력한다. 지연된 클록 펄스 생성기(452)에 의해 생성된 출력 신호(지연된 클록 펄스)는 클록 선택 결합자 논리 회로(clock select combiner logic circuit; 453)로 전송된다. 클록 선택 결합자 논리 회로(453)는, 클록 펄스 생성기(452)에 의해 그의 32 선들 중 하나 상에서 출력된 펄스에, 32 선들 중 어느 선 상에서 펄스가 발생하는지 여부와 독립적으로 클록 선택 결합자 논리 회로(453)를 통해 실질적으로 동일한 전파 지연을 제공하기 위해, 그리고 런트 펄스의 생성을 방지하기 위해 동작한다.
일 실시예에서, 클록 선택 결합자 논리 회로(453)는 배타적 논리합 게이트들(exclusive OR (EXOR) gates)을 가지고 구성된다. 이러한 방식으로, 어떤 입력이 사용되는지의 여부와 무관하게, 동등한 지연들의 이진 트리(binary tree)가 가능하다. 클록 선택 결합자 논리 회로(453)는 이러한 신중하게 선택된 클로킹 지연을 동등한 간격을 갖는 구간들(intervals) 내의 하나의 펄스로서 클록 선택 레지스터(457)로 출력한다.
도 4의 실시예에서 도시된 바와 같이, 클록 선택 레지스터(457)는 클록 다중화기(454)에 연결되며 그에게 입력을 제공한다. 클록 다중화기(454)는 또한 시스템 클록 생성기로부터 증분적으로 지연된 클록을 선(451) 상의 다른 입력으로서 수신한다. 도 4의 실시예에서, 입력 선(451)은 32개의 증분적으로 지연된 클록들의 세트를 나타낸다.
목표 위상 탭 값은 선(448) 상의 입력으로서 클록 선택 레지스터(457)에 제공된다. 이러한 예에서, 클록 선택 레지스터(457)는 증분적으로 지연된 32개의 클록들 중 하나를 선택하기 위해서 0 내지 31의 목표 위상 탭 값을 보유할 5-비트 레지스터가 될 수 있다. 클록 선택 레지스터(457)는 이 값을 클록 선택 신호로서 클록 다중화기(454)에 제공하고, 클록 다중화기(454)는 그 후 어떤 지연된 클록이 사용될 것인지를 선택한다. 따라서, 클록 선택 레지스터(457)는 위상 오프셋 또는 이동을 나타내는 이진 입력을 클록 다중화기(454)에 제공하며, 이러한 값은 다중화기(454)에 의해 어떤 클록 값이 소정의 ASIC 모듈에 제공될 것인지를 선택하는데 사용된다. 본 명세서에서 설명된 바와 같이, 클록 선택 레지스터(457)는 클록 선택 결합자 논리 회로(453)로부터 출력되는 펄스에 의해 클로킹된다.
클록 선택 레지스터(457)는 목표 위상 탭 값을 보유할 수 있는데, 이는 새로운 선택된 위상을 가지고 업데이트되기 전까지의, 목적 클록 위상으로 전이될 현재 위상값을 나타낸다. 클록 선택 레지스터(457)는 그 레지스터 내의 값을 출력할 수 있고, 이는 선(462) 상의 현재 선택된 위상을 나타낸다. 현재 선택된 위상은 정규화된 지연 계산 블록(도 2의 (217)) 및 동기화 위상 조정 상태 기기 회로(도 3의 (319)) 모두에게, 앞서 설명된 바와 같은 사용을 위해, 피드백 신호로서 제공된다. 당업자가 인식할 바와 같이, 이러한 프로세스는 현재의 위상들이 목표 위상들과 일치할 때까지 계속된다. 다시 말해, 각각의 동기화 위상 조정 상태 기기 회로(도 3의 (319)) 내의 각각의 위상 조정 범위 점검 논리 회로(도 3에서 (342))는 개별적으로, 예컨대 ASIC 다이 상의 주어진 ASIC 모듈과 연관된 대로, 목표 위상값을 나타내는 이진수의 수신을 계속할 것이고, 이의 범위 제한 레지스터(도 3의 (344)로부터의 이진 범위들과 그 수신된 이진수의 비교를 계속할 것이다.
도 3과 관련해 설명된 예는, 목표 위상값을 나타내는 이진수가 7보다 큰 경우, 이진 스텝 크기 사(4)가 선택될 수 있다고 언급했다. 여기서, 그 선택된 이진 스텝 크기 4는 모든 위상 조정 범위들 및 모든 스텝 크기들에 대한 테이블(도 3의(346))로 출력될 것이다. 각각의 이진 스텝 크기에 대하여 연관된 목표 위상 탭들 및 클록 선택 탭들의 목록을 갖는 검색 테이블(look up table)은 그 후 적합한 목표 위상 탭 값 및 클록 선택 탭 값, 중간 값들을 위상 조정 상태 기기(도 3의 (347))에 제공할 것이다. 목표 위상 탭 값 및 클록 선택 탭 값은 그 후 각각의 가능한 현재 위상값 및 목적 클록 위상에 대하여 위상 전이가 안전하게 이루어지도록 하는 앞서 설명된 방식으로 각각의 동기화 위상 선택 회로(도 4의 (409))에 제공될 것이다. 클록 선택 레지스터(도 4의 (457))는 현재 위상값을 각각의 동기화 위상 조정 상태 기기 회로로 도로 회귀(cycle)시킬 것이고, 그 프로세스가 반복될 것이다.
목표 위상값을 나타내는 이진수가 현재 3보다 크지만 7 이하인 경우, 이진 스텝 크기 이(2)가 선택될 것이고, 그 프로세스가 반복될 것이다. 그 다음의 시퀀스에서, 목표 위상값을 나타내는 이진수가 1보다 크지만 3 이하인 경우, 이진 스텝 크기 일(2)이 선택될 것이고, 그 프로세스가 반복될 것이다. 마지막으로, 목표 위상값을 나타내는 이진수가 1 이하인 경우, 이진 스텝 크기 영(0)이 선택될 수 있다.
도 3의 논의에서 언급된 바와 같이, 이러한 예시적인 구성에 대해 다수의 변경이 구현될 수 있다. 본 발명의 실시예들은 이러한 예에 한정되지 않는다. 당업자는 목표 위상이 계속하여 변화할 수 있음을 더 인식할 것이다. 한편, 본 명세서에서 설명된 실시예들에 따르면, 클록 회로는 그 클록 회로가 이전의 목표 위상으로 진행하는 것(stepping)을 완료하지 않았더라도 새로운 목표 위상을 정확하게 추적할 수 있다. 또한, 앞서 언급된 바와 같이, 동기화 위상 조정 상태 기기 회로는 프로그램 가능한 펌웨어이다. 따라서, 위상 오프셋, 또는 이동은 설계 후 조정(post design adjustment)과, 펌웨어 구동 온도 및 전압 보상(firmware driven temperature and voltage compensations)을 수용할 수 있다.
도 5는 본 명세서에서 설명된 클록 회로 실시예들과 연관된 흐름도 실시예이다. 도 1 내지 도 4와 관련해 설명된 바와 같이, 동기화 위상 조정 상태 기기 회로는 위상 조정이 수행될 것인지 여부를 블록(551)에서 점검한다. "아니오"의 경우, 프로세스는 블록(552)으로 진행하며 시스템 클록 생성기로부터의 지연된 클록의 초기 상태(initial state)를 계속해서 사용한다. "예"의 경우, 프로세스는 위상 조정 스텝 크기를 선택하도록 진행할 수 있다. 본 명세서에서 설명된 바와 같이 상이한 위상 조정 스텝 크기들, 예컨대 블록들(553 내지 555)에서 도시된 대로 위상 조정 스텝 소(小), 중(中), 또는 대(大)가 제공될 수 있다.
도 5의 실시예에서 도시된 바와 같이, 선택된 위상 조정 스텝 크기값들은 그 후 모든 위상 조정 범위들/모든 스텝 크기들의 테이블로부터 클록 선택 탭 및 목표 위상 탭을 선택하는데 사용되며 이는 블록(556)에서 도시된다. 블록(557)에서, 목표 선택 펄스(target select pulse)가, 예컨대 도 4와 관련해 앞서 설명된 동기화 위상 선택 회로에 의해 생성된 것과 같이, 클록을 ASIC 모듈에 맞춰 조정하기 위해 생성된다.
블록(558)에서, 프로세스는 그 프로세스를 반복하기 전에 (예를 들어, 그 다음에 진행될 위상 조정 시퀀스(the next stepped phase adjust sequence)를 수행하기 전에) 동기화된 지연 제어 상태 기기(예컨대 도(1)에서 (118))의 빈도(frequency)에 의해 제어 또는 통제되는 대로 상당한 시간 동안 대기할 수 있다. 어떤 실시예들에서, 블록(558)의 프로세스는 목표 선택 펄스가 각각의 ASIC 모듈에 조정된 지연 클록을 제공하는 것을 끝낼 때까지 대기한다. 그 후 프로세스는, 다시 한 번, 블록(551)으로 되돌아가 위상 조정이 수행될 것인지 여부를 점검한다. 한편, 앞서 언급된 바와 같이, 목표 위상은 계속하여 변화할 수 있다. 따라서, 시퀀스가 이전의 목표 위상으로 진행하는 것을 완료하지 않았더라도 그 시퀀스는 계속하여 새로운 목표 위상을 추적할 수 있다.
도 6 내지 도 8은 다양한 방법 실시예들을 나타내는 블록도들이다. 다양한 방법 실시예들은 시간 경과에 따른 PVT 변화를 고려하면서(accounting for PVT variations) 클록 회로에서의 가변 클록 지연의 취급을 제공한다. 다양한 방법 실시예들은 ASIC 다이가 사용되고 있는 도중에 그 ASIC 다이 상의 개별적인 ASIC 모듈들에 대해 클록 지연을 동기적으로 조정하는 것을 설명한다.
다양한 방법 실시예들은 도 1내지 도 5와 관련해 설명된 클록 회로와 같은 클록 회로 상에서 동작 가능한 일련의 컴퓨터 실행가능 명령문(computer executable instructions)에 의해 수행될 수 있다. 본 발명의 실시예들은 특정한 프로그래밍 언어 또는 운영 환경에 한정되지 않는다. 명시적으로 언급되지 않는한, 본 명세서에서 설명된 방법 실시예들은 특정한 순서 또는 시퀀스로 제한되지 않는다. 또한, 설명된 방법 실시예들 중 몇몇은 동일한 시점에서 발생하거나 수행될 수 있다.
도 6의 실시예에 있어, 방법은 블록(610)에서 독립적인 ASIC 모듈들로부터 피드백 클록들을 수신하는 단계를 포함한다. 블록(620)에서, 방법은 위상 측정값들을 생성하기 위해 피드백 클록들을 레퍼런스 클록과 비교하는 단계를 포함한다. 블록(630)에서, 방법은 정규화된 보정값들을 생성하기 위해 위상 측정값들로부터 공통 지연을 제거(removing)하는 단계를 포함한다. 공통 지연을 제거하는 단계는 도 2와 관련해 앞서 논의된 바와 같이 수행될 수 있다.
블록(640)에서, 방법은 정규화된 보정값들을 사용하여 목표 위상값들 및 클록 선택값들을 선택하는 단계를 포함한다. 도 3과 관련해 논의된 바와 같이, 정규화된 보정값들을 사용하여 목표 위상값들 및 클록 선택값들을 선택하는 단계는, 새로운 정규화된 보정값 및, 동기화 위상 조정 상태 기기 블록 내의 논리 회로에서 특정한 ASIC 모듈에 대해 클록 선택 레지스터에 의해 제공되는 피드백 신호를 수신하는 단계를 포함한다. 그 논리 회로는 피드백 입력 신호로부터 새로운 정규화된 보정값을 빼서 목표 위상값을 나타내는 이진수를 위상 조정 범위 점검 논리 회로로 출력할 수 있다. 실시예들은 위상 조정 범위 점검 논리 회로에서 위상 조정 레지스터들로부터 위상 조정 스텝 범위들을 수신하는 단계를 더 포함한다. 도 3과 관련해 설명된 바와 같이, 위상 조정 레지스터들은 프로그램 가능한 펌웨어 위상 조정 레지스터들이 될 수 있다. 실시예들은 위상 조정 스텝 크기를 선택하기 위해 목표 위상값을 수신된 위상 조정 스텝 범위들과 비교하는 단계를 더 포함한다. 그리고, 실시예들은 다양한 위상 조정 스텝 크기들에 대하여 관련된 목표 위상값들 및 클록 선택값들을 목록화하는 테이블과 선택된 위상 조정 스텝 크기를 비교하는 단계 및 위상 조정 상태 기기로 이진 값을 출력하는 단계를 포함할 수 있다. 위상 조정 상태 기기로부터의 목표 위상값 및 클록 선택값은 이진 값, 새로운 정규화된 보정값, 및 피드백 신호에 기초하여 출력된다. 따라서, 실시예들은 테이블 구동 상태 기기를 사용하여 위상 오프셋, 또는 이동(예컨대 하나의 위상값으로부터 다른 값으로의 위상 트래블)을 위상 조정 레지스터와 관련해 상이한 크기의 스텝들로 분리하는 단계를 포함한다.
블록(650)에서, 방법은 목표 위상값들 및 클록 선택값들에 기초하여 독립적인 ASIC 모듈들에 맞춰 클록 신호들을 조정하는 단계를 더 포함한다.
도 7의 실시예에서, 방법은 블록(710)에서 다수의 ASIC 모듈 중 각각에 대한 위상 측정 회로(PMC)에 피드백 클록 신호를 제공하는 단계를 포함한다. 블록(720)에서 방법은, 각각의 모듈에 대하여, 위상 지연 측정값들을 제공하기 위해 레퍼런스 클록에 대해 상대적인 신호의 위상을 측정하는 단계를 포함한다. 블록(730)에서, 방법은 정규화된 위상 지연 측정값들을 생성하기 위해, 위상 지연 측정값들로부터 공통 지연을 정규화(normalizing out)하는 단계를 포함한다. 그리고, 블록(740)에서 방법은, 각각의 모듈에 대하여, 정규화된 위상 지연 측정값들을 기초로 목표 위상 탭 및 클록 선택 탭 모두를 특정하기 위해 테이블 구동 상태 기기를 사용하는 단계를 포함한다.
도 8의 실시예에서, 방법은 블록(810)에서 ASIC 모듈에 의해 수신된 클록 신호의 위상 지연을 측정하는 단계를 포함한다. 블록(820)에서, 방법은 위상 조정 레지스터를 사용하여 ASIC 모듈에 대한 위상 조정을 상이한 크기의 위상 조정 스텝들로 분리하는 단계를 포함한다. 그리고, 블록(830)에서, 방법은 ASIC 모듈에 대하여 목표 위상 탭 및 클록 선택 탭 모두를 특정하기 위해 테이블 구동 상태 기기를 사용하는 단계를 포함한다. 이러한 방법으로, 본 명세서에서 설명된 실시예들은, 측정된 위상 지연에 기초하여, 시간에 따른 프로세스, 전압 및 온도 변화를 동적으로(dynamically) 보상한다. 다양한 실시예들에서, 시간에 따른 프로세스, 전압 및 온도 변화에 대하여 보상하는 단계는, 모듈 간의 통신이 위상 글리치들(phase glitches) 또는 클록 분실(missing clocks)을 경험하지 않도록 하는 방식으로, 클록 신호의 위상 지연을 하나의 위상 지연으로부터 다른 것으로 동기적으로 스위핑(sweeping)하는 단계를 포함한다.
도 9는 실시예들이 구현될 수 있는, 전자사진 프린터(electrophotographic printer) 또는 잉크젯 프린터(900)와 같은 이미징 시스템을 나타낸다. 이 전자사진 프린터 또는 잉크젯 프린터(900)는 보고서, 서신(correspondence), 컴퓨터를 이용한 출판(desktop publishing), 사진 등의 인쇄를 위한 비즈니스 환경에서 사용될 수 있다. 당업자가 인식할 바와 같이, 본 명세서에서 설명된 실시예들에 따른 ASIC 클록 회로가 전자사진 프린터 또는 잉크젯 프린터(900)의 프린터 포매터 보드(printer formatter board) 상에 포함될 수 있다. 그러나, 본 발명의 실시예들이 그와 같이 한정되는 것은 아니다.
본 명세서에서 특정한 실시예들이 도시되고 설명되었음에도 불구하고, 당업자는 동일한 기술을 달성하도록 의도된 임의의 구성(arrangement)이 도시된 특정한 실시예들을 대체할 수 있음을 인식할 것이다. 이러한 개시는 본 발명의 실시예들의 임의의 또는 모든 개조(adaptations)나 변경(variations)을 수용하도록 의도된다. 앞의 설명은 예시적인 형식으로 이루어졌고, 한정적인 것이 아님이 이해될 것이다. 본 명세서에서 구체적으로 설명되지 않은 앞의 실시예들의 조합 및 다른 실시예들은 앞의 설명을 검토함으로써 당업자에게 명백하게 될 것이다. 본 발명의 다양한 실시예들의 범위는 앞의 구조들 및 방법들이 사용되는 임의의 다른 응용예들(applications)을 포함한다. 따라서, 본 발명의 다양한 실시예들의 범위는 첨부된 청구항들을 참조하여, 그러한 청구항들이 권리를 갖는 균등물들의 전체 범위와 함께 결정되어야 한다.
요약서는 독자가 기술적인 개시(technical disclosure)의 본질을 신속하게 확인할 수 있게 하도록 제공된다는 점이 강조된다. 요약서는, 그 요약서가 청구항들의 범위를 제한하는데 사용되지 않을 것이라는 조건 하에 제출된다.
앞의 상세한 설명에서, 능률적으로 개시하고자 하는 목적으로 단일한 실시예에서 다양한 특징들이 함께 그룹지어진다. 이러한 개시 방법은 본 발명의 실시예들이 각각의 청구항에서 명백하게 기술된 것보다 더 많은 특징들을 요구하는 의도를 반영하는 것으로서 해석되어서는 안 될 것이다. 오히려, 이어지는 청구항들이 반영하는 바와 같이, 발명의 대상(subject matter)은 개시된 단일한 실시예의 모든 특징들보다 적은 특징들에서 존속한다. 따라서, 이어지는 청구항들은 이에 의해 상세한 설명에 합체되며, 각각의 청구항은 분리된 실시예로서 그 자체에 의존한다.
클록 조정을 위한 회로들 및 방법들이 제공된다. 클록 조정을 위한 방법은 독립적인 ASIC 모듈들로부터 피드백 클록들을 수신하는 단계를 포함한다. 그 방법은 위상 측정값들(phase measurement values)을 생성하기 위해 피드백 클록들을 레퍼런스 클록과 비교하는 단계를 포함한다. 공통 지연(common delay)이 위상 측정값들로부터 제거되어 정규화된 보정값들(normalized correction values)을 형성한다. 목표 위상값들(Target phase values) 및 클록 선택값들(clock select values)이 정규화된 보정값들을 사용하여 선택된다. 그리고, 독립적인 ASIC 모듈들로의 클록 신호들은 목표 위상값들 및 클록 선택값들에 기초하여 조정된다.
도 1은 클록 회로의 실시예에 대한 블록도.
도 2는 도 1에서 도시된 클록 회로의 일부로서 정규화된 지연 계산 블록(compute normalized delays block)의 실시예에 대한 블록도.
도 3은 도 1에서 도시된 클록 회로의 일부로서 동기화 위상 조정 상태 기기 회로(synchronizing phase adjust state machine circuit)의 실시예의 블록도.
도 4는 도 1에서 도시된 클록 회로의 일부로서 동기화 위상 선택 회로(synchronizing phase select circuit)의 실시예의 블록도.
도 5는 일 실시예를 나타내는 흐름도.
도 6은 일 방법 실시예를 나타내는 도면.
도 7은 다른 방법 실시예를 나타내는 도면.
도 8은 다른 방법 실시예를 나타내는 도면.
도 9는 실시예들이 구현될 수 있는, 전자사진 프린터(electrophotographic printer) 또는 잉크젯 프린터와 같은 이미징 시스템(imaging system)을 나타내는 도면.

Claims (7)

  1. 집적 회로(IC)로서,
    클록 생성기,
    상기 클록 생성기에 연결된 다수의 동기화 위상 선택 회로 - 각각의 동기화 위상 선택 회로는 각각의 ASIC 모듈에 연결되며, 상기 각각의 동기화 위상 선택 회로는 상기 각각의 ASIC 모듈에 조정된 지연(adjusted delay)을 제공하도록 동작 가능함 - ,
    상기 각각의 ASIC 모듈에 상기 조정된 지연을 제공함에 있어 위상 오프셋을 상이한 위상 조정 스텝 크기들(phase adjust step sizes)로 분리하기 위한 수단, 및
    목표 위상으로의 전이(transition)를 위해 목표 위상 탭(target phase tap) 및 클록 선택 탭(clock select tap)을 특정하기 위한 수단 - 상기 목표 위상 탭은 클록 선택 레지스터에 제공되며, 상기 클록 선택 탭은 상기 각각의 ASIC 모듈에 상기 조정된 지연을 제공함에 있어 상기 클록 선택 레지스터에 지연된 클록 펄스를 제공하도록 사용됨 -
    을 포함하는 집적회로(IC).
  2. 제1항에 있어서, 상기 집적회로(IC)는 각각의 상기 다수의 ASIC 모듈로부터 공통 지연(common delay)을 정규화(normalizing out)하기 위한 수단을 더 포함하는 집적회로(IC).
  3. 제2항에 있어서, 상기 다수의 ASIC 모듈 중 각각으로부터 공통 지연을 정규화(normalizing out)하기 위한 상기 수단은,
    다수의 위상 측정 회로(phase measure circuits; PMCs) - 각각의 PMC는 현재의 ASIC 모듈 클록 신호(ASIC module clock signal)를 수신하도록 상기 다수의 ASIC 모듈 중 하나에 연결되며, 또한 상기 각각의 PMC는 위상 지연 측정값들(measured phase delay values)을 계산하기 위해 상기 클록 생성기로부터 클록 신호를 수신함 -, 및
    상기 다수의 PMC 중 각각으로부터 신호들을 수신하도록 동작 가능한 정규화된 지연 계산 블록(compute normalized delays block)을 포함하고,
    상기 정규화된 지연 계산 블록은,
    각각의 ASIC 모듈에 대한 보정값(correction value)을 생성하기 위해, 특정한 ASIC 모듈과 연관된 클록 선택 레지스터에서 보유되는 현재의 클록 위상 지연값을 나타내는, 피드백 입력 신호로부터 상기 위상 지연 측정값들을 빼는 동작,
    상기 위상 지연 측정값들 중에서 최저 공통 지연(lowest common delay)을 결정하는 동작, 및
    목표 위상으로의 전이를 위해 각각의 ASIC 모듈에 대한 새로운 정규화된 보정값들을 출력하도록, 각각의 상기 보정값들로부터 상기 최저 공통 지연을 빼는 동작
    을 수행하도록 동작 가능한 다수의 논리 회로를 포함하는
    집적회로(IC).
  4. 제3항에 있어서, 위상 오프셋을 상이한 위상 조정 스텝 크기들로 분리하기 위한 상기 수단은,
    상기 다수의 ASIC 모듈 중 하나에 각각 연결되는 다수의 동기화 위상 조정 상태 기기 회로(synchronizing phase adjust state machine circuits)를 포함하고,
    각각의 상기 다수의 동기화 위상 조정 상태 기기 회로는 상기 동기화 위상 선택 회로들 중 하나 및 상기 정규화된 지연 계산 블록에 연결되며,
    각각의 상기 다수의 동기화 위상 조정 상태 기기 회로는 상기 특정한 ASIC 모듈에 대한 상기 새로운 정규화된 보정값 및 상기 피드백 입력 신호를 수신하도록 동작 가능하고,
    각각의 상기 동기화 위상 조정 상태 기기 회로는 상기 피드백 입력 신호로부터 상기 새로운 정규화된 보정값을 빼기 위한 논리 회로(logic circuit)를 포함하는
    집적회로(IC).
  5. 제4항에 있어서, 각각의 상기 동기화 위상 조정 상태 기기 회로는 상기 논리 회로에 연결되는 위상 조정 범위 점검 회로(phase adjust range check circuit)를 포함하는 집적회로(IC).
  6. 제5항에 있어서, 목표 위상 탭 및 클록 선택 탭을 특정하기 위한 상기 수단은 상기 위상 조정 범위 점검 회로에 연결된 테이블 구동 상태 기기(table driven state machine)를 포함하는 집적회로(IC).
  7. 제6항에 있어서, 각각의 상기 동기화 위상 조정 상태 기기 회로는, 상기 위상 조정 범위 점검 회로에 연결되며 펌웨어에 의해 프로그램 가능한(firmware programmable) 위상 조정 스텝 크기 레지스터(phase adjust step size register)를 포함하는 집적회로(IC).
KR1020040063468A 2003-08-13 2004-08-12 클록 조정 KR20050017386A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/639,818 2003-08-13
US10/639,818 US6842055B1 (en) 2003-08-13 2003-08-13 Clock adjustment

Publications (1)

Publication Number Publication Date
KR20050017386A true KR20050017386A (ko) 2005-02-22

Family

ID=32991209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040063468A KR20050017386A (ko) 2003-08-13 2004-08-12 클록 조정

Country Status (6)

Country Link
US (2) US6842055B1 (ko)
JP (1) JP2005063436A (ko)
KR (1) KR20050017386A (ko)
CN (1) CN1581700A (ko)
GB (1) GB2405238B (ko)
TW (1) TWI321273B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006012654B4 (de) 2006-03-20 2008-02-07 Infineon Technologies Ag Taktfrequenzvariation eines getakteten Stromverbrauchers
CN1963721B (zh) * 2006-12-15 2010-04-21 威盛电子股份有限公司 核心逻辑电路及时脉信号偏移调整方法
US9601181B2 (en) 2014-11-14 2017-03-21 Cavium, Inc. Controlled multi-step de-alignment of clocks
US9613679B2 (en) * 2014-11-14 2017-04-04 Cavium, Inc. Controlled dynamic de-alignment of clocks
CN104978842B (zh) * 2015-06-10 2018-03-06 烟台东方威思顿电气有限公司 一种低压集中器时钟自我修复的方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2127594B (en) * 1982-09-18 1985-11-13 Int Computers Ltd Distribution of clock pulses
US5121089A (en) * 1990-11-01 1992-06-09 Hughes Aircraft Company Micro-machined switch and method of fabrication
US5258591A (en) * 1991-10-18 1993-11-02 Westinghouse Electric Corp. Low inductance cantilever switch
US5438353A (en) 1992-11-02 1995-08-01 Hewlett-Packard Company Clock signal generator for electrophotographic printers
US5544203A (en) * 1993-02-17 1996-08-06 Texas Instruments Incorporated Fine resolution digital delay line with coarse and fine adjustment stages
US5638410A (en) 1993-10-14 1997-06-10 Alcatel Network Systems, Inc. Method and system for aligning the phase of high speed clocks in telecommunications systems
DE4342266C2 (de) 1993-12-10 1996-10-24 Texas Instruments Deutschland Taktgenerator sowie Phasenkomparator zur Verwendung in einem solchen Taktgenerator
DE4437261C1 (de) * 1994-10-18 1995-10-19 Siemens Ag Mikromechanisches elektrostatisches Relais
US5578976A (en) * 1995-06-22 1996-11-26 Rockwell International Corporation Micro electromechanical RF switch
US5638946A (en) * 1996-01-11 1997-06-17 Northeastern University Micromechanical switch with insulated switch contact
US5760816A (en) 1996-02-06 1998-06-02 Hewlett-Packard Company Variable phase clock generator for an electrophotographic printer
JP3487532B2 (ja) 1996-07-08 2004-01-19 株式会社東芝 データ処理装置、半導体記憶装置、及びデータ処理方法
US6275519B1 (en) * 1996-11-21 2001-08-14 Dsp Group, Inc. Frame synchronization in a digital communications system
US6188690B1 (en) * 1996-12-12 2001-02-13 Pmc-Sierra, Inc. Method and apparatus for high speed, scalable communication system
DE19740700C1 (de) * 1997-09-16 1999-02-04 Siemens Ag Verfahren und Anordnung zum Ermitteln der Phasendifferenz zwischen zwei Taktsignalen
US6075832A (en) * 1997-10-07 2000-06-13 Intel Corporation Method and apparatus for deskewing clock signals
US6046659A (en) * 1998-05-15 2000-04-04 Hughes Electronics Corporation Design and fabrication of broadband surface-micromachined micro-electro-mechanical switches for microwave and millimeter-wave applications
US6014048A (en) 1998-05-27 2000-01-11 Advanced Micro Devices, Inc. Clock generator with multiple feedback paths including a delay locked loop path
US6310339B1 (en) * 1999-10-28 2001-10-30 Hrl Laboratories, Llc Optically controlled MEM switches
US6396368B1 (en) * 1999-11-10 2002-05-28 Hrl Laboratories, Llc CMOS-compatible MEM switches and method of making
DE10064929A1 (de) 2000-12-23 2002-07-04 Alcatel Sa Verfahren und Kompensationsmodul zur Phasenkompensation von Taktsignalen
US6768403B2 (en) * 2002-03-12 2004-07-27 Hrl Laboratories, Llc Torsion spring for electro-mechanical switches and a cantilever-type RF micro-electromechanical switch incorporating the torsion spring
US6424198B1 (en) * 2001-08-09 2002-07-23 International Business Machines Corporation Memory clock generation with configurable phase advance and delay capability
US6550045B1 (en) 2001-11-20 2003-04-15 Lsi Logic Corporation Changing clock delays in an integrated circuit for skew optimization

Also Published As

Publication number Publication date
TW200510990A (en) 2005-03-16
JP2005063436A (ja) 2005-03-10
US7106111B2 (en) 2006-09-12
CN1581700A (zh) 2005-02-16
GB0417581D0 (en) 2004-09-08
US6842055B1 (en) 2005-01-11
GB2405238B (en) 2006-06-14
GB2405238A (en) 2005-02-23
US20050088214A1 (en) 2005-04-28
TWI321273B (en) 2010-03-01

Similar Documents

Publication Publication Date Title
US7617409B2 (en) System for checking clock-signal correspondence
US20090024888A1 (en) Semiconductor device
US6070260A (en) Test methodology based on multiple skewed scan clocks
WO2008007636A1 (fr) Testeur, procédé d'ajustement, et programme d'ajustement
US7734944B2 (en) Mechanism for windaging of a double rate driver
EP1298823B1 (en) Method and apparatus for synchronizing a multiple-stage multiplexer
KR20050017386A (ko) 클록 조정
JP2001075670A (ja) クロック調整方法及び回路装置
US6574579B1 (en) Waveform generating device
KR101285287B1 (ko) 타이밍 발생기 및 시험 장치
US7650523B2 (en) Interface apparatus and method for synchronization of data
US7265590B2 (en) Semiconductor apparatus for monitoring critical path delay characteristics of a target circuit
JP4510188B2 (ja) タイミング発生器
US7898312B2 (en) Variable delay apparatus
JP2000275309A (ja) 半導体デバイス試験装置、タイミング発生器、半導体デバイス試験方法及びタイミング発生方法
JP2013036960A (ja) 遅延スキャンテスト方法、半導体装置及び半導体装置の設計方法
KR101554098B1 (ko) 전류 보상 회로, 반도체 디바이스, 타이밍 발생기, 시험 장치
WO2012127487A1 (en) An apparatus for glitch-free clock switching and a method thereof
JP2011089914A (ja) 半導体集積回路の試験装置及びその試験方法
US8850256B2 (en) Communication circuit and communication method
US20090160507A1 (en) Apparatus and method for clock signal synchronization in JTAG testing in systems having selectable modules processing data signals at different rates
EP1801970A1 (en) Pulse generator, timing generator, and pulse width adjusting method
JPH1039944A (ja) クロック回路
JP4192581B2 (ja) クロック切替装置
JP2017015398A (ja) 半導体集積回路装置、および半導体集積回路装置の試験方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid