KR20180034431A - 지연 회로를 이용한 클록 게이팅 - Google Patents

지연 회로를 이용한 클록 게이팅 Download PDF

Info

Publication number
KR20180034431A
KR20180034431A KR1020187002357A KR20187002357A KR20180034431A KR 20180034431 A KR20180034431 A KR 20180034431A KR 1020187002357 A KR1020187002357 A KR 1020187002357A KR 20187002357 A KR20187002357 A KR 20187002357A KR 20180034431 A KR20180034431 A KR 20180034431A
Authority
KR
South Korea
Prior art keywords
clock signal
latch
cgc
signal
master
Prior art date
Application number
KR1020187002357A
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 KR20180034431A publication Critical patent/KR20180034431A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0372Bistable circuits of the master-slave type
    • 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/10Distribution of clock signals, e.g. skew
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
    • H03K3/037Bistable circuits
    • H03K3/0375Bistable circuits provided with means for increasing reliability; for protection; for ensuring a predetermined initial state when the supply voltage has been applied; for storing the actual state when the supply voltage fails
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/131Digitally controlled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K2005/00013Delay, i.e. output pulse is delayed after input pulse and pulse length of output pulse is dependent on pulse length of input pulse
    • H03K2005/00019Variable delay
    • H03K2005/00058Variable delay controlled by a digital setting
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • Y02D10/128

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Manipulation Of Pulses (AREA)
  • Pulse Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

장치는 CGC(clock gating circuit)의 래치를 포함한다. 래치는 클록 신호에 대한 응답으로 제 1 신호를 생성하도록 구성된다. 장치는 CGC의 지연 회로를 더 포함한다. 지연 회로는 클록 신호를 수신하고 클록 신호 및 제 1 신호에 기초하여 제 2 신호를 생성하도록 구성된다. 장치는 CGC의 출력 회로를 더 포함한다. 출력 회로는 지연 회로 및 래치에 커플링된다. 출력 회로는 클록 신호 및 제 2 신호에 기초하여 마스터 클록 신호를 생성하도록 구성된다. 마스터 클록 신호의 에지는 슬레이브 클록 신호와 연관된 지연 특성에 기초하여 클록 신호의 에지에 대해 지연된다.

Description

지연 회로를 이용한 클록 게이팅
[0001] 본 출원은, 2015년 7월 27일자로 출원된 공동 소유의 미국 정규 특허 출원 제14/810,243호를 우선권으로 주장하며, 상기 미국 정규 특허 출원의 내용들은 그 전체가 인용에 의해 본원에 명백히 포함된다.
[0002] 본 개시는 일반적으로 전자 디바이스들에 관한 것으로, 보다 구체적으로, 전자 디바이스들에 대한 클록 게이팅(clock gating)에 관한 것이다.
[0003] 프로세서는 명령들의 파이프라이닝된 실행(pipelined execution)을 수행하는 다수의 파이프라인 스테이지들을 포함할 수 있다. 예를 들어, 파이프라인 스테이지들은 메모리로부터 명령을 페치(fetch)하고, 명령을 디코딩하고, 결과들을 생성하기 위해 명령들을 실행하고, 결과들을 메모리에 다시 기록할 수 있다. 하나의 파이프라인 스테이지의 출력은 하나 또는 그 초과의 플립-플롭들을 통해 다른 파이프라인 스테이지의 입력에 커플링될 수 있다. 플립-플롭은 별개의 클록 신호들에 의해 구동될 수 있는, 마스터 래치 및 슬레이브 래치와 같은 다수의 래치들을 포함할 수 있다.
[0004] 일부 디바이스들은, 데이터가 파이프라인 스테이지들 사이에서 전달되지 않을 때 전력 소모를 감소시키기 위해 플립-플롭들을 비활성화한다. 예를 들어, 결과들이 하나의 파이프라인 스테이지로부터 슬레이브 래치로 전달될 준비가 될 때, 마스터 래치가 활성화될 수 있다. 마스터 래치는 결과들을 슬레이브 래치에 제공한 이후 비활성화될 수 있으며, 슬레이브 래치는 다른 파이프라인 스테이지에 결과들을 제공한 후 비활성화될 수 있다.
[0005] 별개의 회로들이 마스터 래치 및 슬레이브 래치를 비활성화하는데 사용되는 경우, "레이스(race)" 조건이 일부 상황들을 초래할 수 있다. 예를 들어, 슬레이브 래치가 (예를 들어, 클록 스큐(clock skew)로 인해) 너무 빨리 활성화되는 경우, 결과들이 너무 이르게 다른 파이프라인 스테이지에 전달될 수 있다(예를 들어, 일부 회로들에서는 바람직하지 않을 수 있는 "하프 사이클 경로(half cycle path)"를 생성함). 일부 디바이스들은 마스터 래치 및 슬레이브 래치를 비활성화하기 위해 단일 회로를 사용함으로써 이러한 동작 상태를 방지할 수 있다. 이 기술은 마스터 래치 및 슬레이브 래치가 상이한 시간들에 활성화되는 디바이스에서 더 높은 전력 소모를 초래할 수 있다.
[0006] CGC(clock gating circuit)는 마스터 래치에 제공되는 마스터 클록 신호의 특정 에지(예를 들어, 하강 에지)를 지연시키도록 구성될 수 있다. 마스터 클록 신호의 에지를 지연시키는 것은 마스터 래치 및 하나 또는 그 초과의 슬레이브 래치들이 동시에 활성화되는 동작 상태를 방지할 수 있다. 예를 들어, 마스터 클록 신호의 하강 에지는 하나 또는 그 초과의 슬레이브 래치들에 제공되는 슬레이브 클록 신호의 하강 에지와 실질적으로 동시에 또는 그 이후에 발생할 수 있다. 하나 또는 그 초과의 슬레이브 래치들이 위상 1(phi-1) 구성(이 경우, 하나 또는 그 초과의 슬레이브 래치들이 슬레이브 클록 신호의 상승 에지들에 의해 트리거됨)을 갖고 마스터 래치가 위상 2(phi-2) 구성(이 경우, 마스터 래치가 마스터 클록 신호의 하강 에지들에 의해 트리거됨)을 갖는 경우, 마스터 클록 신호의 하강 에지를 지연시키는 것은 마스터 래치 및 하나 또는 그 초과의 슬레이브 래치들의 동시 활성화를 방지할 수 있다. 마스터 래치 및 하나 또는 그 초과의 슬레이브 래치들 둘 모두의 동시 활성화를 방지하는 것은, 일부 상황들에서, 예컨대, 하나 또는 그 초과의 슬레이브 래치들이 (예를 들어, 클록 스큐로 인해) 설계된 것보다 빨리 활성화될 때의 "레이스" 조건을 방지할 수 있다.
[0007] 예시적인 구현에서, CGC는 래치, 제 2 래치, 출력 회로 및 지연 회로를 포함한다. 래치, 제 2 래치, 지연 회로 및 출력 회로는 클록 신호(예를 들어, 마스터 클록 신호를 생성하는데 사용되는 클록 신호)를 수신하도록 구성될 수 있다. 지연 회로는 (예를 들어, CGC 외부의 디바이스로부터 별개의 신호를 제공하는 대신에) CGC의 내부 신호를 사용하여 제어될 수 있으며, 이는 회로 복잡성 및 전력 소모를 감소시킬 수 있다. 예를 들어, 지연 회로는 제 1 래치의 출력을 사용하여 제어(예를 들어, 전력-게이팅)될 수 있다. 일부 구성들에서, 지연 회로 및 래치는 제 1 클록 게이팅 서브-회로(예를 들어, phi-1 CGC)를 형성하고, CGC의 제 2 래치 및 출력 회로는 제 2 클록 게이팅 서브-회로(예를 들어, phi-2 CGC)를 형성한다.
[0008] 특정 예에서, 장치는 CGC(clock gating circuit)의 래치를 포함한다. 래치는 클록 신호에 대한 응답으로 제 1 신호를 생성하도록 구성된다. 장치는 CGC의 지연 회로를 더 포함한다. 지연 회로는 클록 신호를 수신하고 클록 신호 및 제 1 신호에 기초하여 제 2 신호를 생성하도록 구성된다. 장치는 CGC의 출력 회로를 더 포함한다. 출력 회로는 지연 회로 및 래치에 커플링된다. 출력 회로는 클록 신호 및 제 2 신호에 기초하여 마스터 클록 신호를 생성하도록 구성된다. 마스터 클록 신호의 에지는 슬레이브 클록 신호와 연관된 지연 특성에 기초하여 클록 신호의 에지에 대해 지연된다.
[0009] 다른 특정 예에서, CGC의 동작 방법은 CGC에서 클록 신호를 수신하는 단계를 포함한다. 이 방법은, 추가로, CGC의 래치에 의해 제 1 신호를 생성하는 단계 및 클록 신호 및 래치에 의해 생성된 제 1 신호에 대한 응답으로, CGC의 지연 회로를 사용하여 마스터 클록 신호를 생성하는 단계를 포함할 수 있다. 마스터 클록 신호의 에지는 슬레이브 클록 신호와 연관된 지연 특성에 기초하여 클록 신호의 에지에 대해 지연된다.
[0010] 다른 특정 예에서, 장치는 CGC에서 제 1 신호를 생성하기 위한 수단을 포함하고, CGC에서 클록 신호를 수신하기 위한 수단을 더 포함한다. 장치는, 클록 신호 및 제 1 신호에 대한 응답으로, CGC의 지연 회로를 이용하여 마스터 클록 신호를 생성하기 위한 수단을 더 포함한다. 마스터 클록 신호의 에지는 슬레이브 클록 신호와 연관된 지연 특성에 기초하여 클록 신호의 에지에 대해 지연된다.
[0011] 개시된 예들 중 적어도 하나에 의해 제공되는 하나의 특정 이점은 해저드들(예를 들어, 레이스 조건들)을 방지하거나 그 가능성을 감소시키면서 전력 소모를 감소시키는 것이다. 예시하자면, 마스터 래치 및 슬레이브 래치를 클록 게이팅하는데 단일 CGC를 활용하는 디바이스들은 해저드들을 방지할 수 있지만 (마스터 래치 및 슬레이브 래치가 별개로 클록 게이팅될 수 없기 때문에) 전력 소모를 증가시킬 수 있다. 마스터 래치 및 슬레이브 래치를 클록 게이팅하는데 별개의 CGC들을 활용하는 디바이스들은 (예를 들어, 클록 스큐로 인해) 해저드들을 생성할 수 있다. 본 개시에 따른 디바이스는 레이스 조건(클록 스큐가 발생하는 경우)을 생성함 없이 마스터 래치 및 슬레이브 래치를 별개로 클록 게이팅(전력 소모를 감소시킴)할 수 있다. 본 개시의 다른 예들, 이점들, 및 특징들은 다음의 섹션들, 즉 도면의 간단한 설명, 발명을 실시하기 위한 구체적인 내용, 및 청구범위를 포함하는 전체 출원의 검토 이후 명백해질 것이다.
[0012] 도 1은 지연 회로를 갖는 CGC(clock gating circuit)를 포함하는 장치의 예시적인 예의 블록도이다.
[0013] 도 2는 지연 회로를 포함하는 CGC의 예시적인 예의 블록도이다.
[0014] 도 3은 지연 회로를 포함하는 CGC에서 수행될 수 있는 소정의 동작들의 타이밍을 예시하는 타이밍도이다.
[0015] 도 4는 지연 회로를 포함하는 CGC의 동작의 방법의 특정 예시적인 예의 흐름도이다
[0016] 도 5는 지연 회로를 포함하는 CGC를 갖는 프로세서를 포함하는 전자 디바이스의 블록도이다.
[0017] 도 1을 참조하면, 디바이스의 예시적인 예가 도시되고 일반적으로 100으로 지정된다. 디바이스(100)는 전자 디바이스에서, 예컨대, 프로세서 내에서 구현될 수 있다. 예를 들어, 디바이스(100)는 (예를 들어, 하나의 파이프라인 스테이지의 출력으로부터 다른 파이프라인 스테이지의 입력으로 결과들을 제공하기 위해) 파이프라이닝된 프로세서의 파이프라인 스테이지들 사이에 커플링될 수 있다. 추가로 예시하자면, 디바이스(100)는 예시적인 예들로서, 파이프라이닝된 DSP(digital signal processor), 파이프라이닝된 CPU(central processing unit), 파이프라이닝된 GPU(graphics processing unit), 파이프라이닝된 AP(applications processor), 또는 다른 파이프라이닝된 프로세싱 디바이스의 파이프라인 스테이지들 사이에 통합될 수 있다. 다른 경우들에서, 디바이스(100)는 디바이스들 간에 데이터를 통신하도록 구성된 데이터 인터페이스와 같은 다른 디바이스 내에 통합될 수 있다.
[0018] 장치(100)는 마스터 래치(104)를 포함한다. 마스터 래치(104)는 입력 신호(142)를 수신하도록 구성될 수 있다. 예를 들어, 마스터 래치(104)는 파이프라이닝된 프로세서의 제 1 파이프라인 스테이지로부터 입력 신호(142)를 수신하도록 구성될 수 있다.
[0019] 디바이스(100)는 추가로, 복수의 슬레이브 래치들(108)과 같은 하나 또는 그 초과의 제 2 래치들을 포함한다. 복수의 슬레이브 래치들(108)은 제 1 슬레이브 래치(118), 제 2 슬레이브 래치(120) 및 제 3 슬레이브 래치(122)를 포함할 수 있다. 도 1의 예는 예시적이며 디바이스(100)는 상이한 수의 슬레이브 래치들(예를 들어, 하나의 슬레이브 래치, 2 개의 슬레이브 래치들, 4 개의 슬레이브 래치들 또는 다른 양의 정수(n)개의 슬레이브 래치들)을 포함할 수 있다는 것이 인지되어야 한다. 복수의 슬레이브 래치들(108)은 출력 신호들(146)을 생성하도록 구성될 수 있다. 예를 들어, 복수의 슬레이브 래치들(108)은 파이프라이닝된 프로세서의 제 2 파이프라인 스테이지에 출력 신호들(146)을 제공하도록 구성될 수 있다.
[0020] 추가로 예시하자면, 마스터 래치(104) 및 복수의 슬레이브 래치들(108)은 "D" 플립-플롭과 같은 플립-플롭을 형성할 수 있다. 이 경우, 입력 신호(142)는 데이터 입력 신호(d)에 대응할 수 있고, 출력 신호들(146)은 복수의 플립-플롭 데이터 출력 신호들(q)에 대응할 수 있다. 출력 신호(146)는 제 1 슬레이브 래치(118)에 의해 생성된 제 1 출력 신호(q0), 제 2 슬레이브 래치(120)에 의해 생성된 제 2 출력 신호(q1) 및 제 3 슬레이브 래치(122)에 의해 생성된 제 3 출력 신호(qn)를 포함할 수 있다.
[0021] 마스터 래치(104)는 복수의 슬레이브 래치들(108)의 각각의 래치에 커플링된다. 예시하자면, 디바이스(100)는 추가로 드라이버(106)(예를 들어, 버퍼) 및 비트 라인(BL)(110)을 포함할 수 있다. 드라이버(106)는 BL(110)에 커플링될 수 있다. 드라이버(106)는 마스터 래치(104)의 출력에 커플링될 수 있고, BL(110)은 복수의 슬레이브 래치들(108) 각각의 입력에 커플링될 수 있다. 마스터 래치(104)는 드라이버(106) 및 BL(110)을 사용하여 BL 신호(144)와 같은 신호를 복수의 슬레이브 래치들(108)에 제공하도록 구성될 수 있다.
[0022] 디바이스(100)는 추가로, 제 1 CGC(clock gating circuit)(112)를 포함한다. 제 1 CGC(112)는 마스터 래치(104)에 커플링된다. 제 1 CGC(112)는 클록 신호(130)를 수신하고 클록 신호(130)를 게이팅(gate)하여 마스터 래치(104)에 의한 전력 소모를 감소시키도록 구성될 수 있다(예를 들어, 이에 따라 마스터 래치(104)는 클록 신호(130)에서의 트랜지션(transition)들에 의해 활성화 및 비활성화되지 않음). 예를 들어, 제 1 CGC(112)는 클록 신호(130)에 기초하여 마스터 클록 신호(134)를 생성하도록 구성될 수 있다. 클록 신호(130)는 디바이스의 파이프라인 스테이지들 사이에 커플링되는 각각의 플립-플롭에 제공되는 동기식 클록 신호일 수 있다. 제 1 CGC(112)는 마스터 래치(104)에 마스터 클록 신호(134)를 제공하도록 구성될 수 있다.
[0023] 제 1 CGC(112)는 래치(152)(예를 들어, phi-2 홀드 래치), 지연 회로(156) 및 출력 회로(160)를 포함한다. 출력 회로(160)는 마스터 래치(104)에 커플링될 수 있고 마스터 래치(104)에 마스터 클록 신호(134)를 제공하도록 구성될 수 있다. 제 1 CGC(112)는, 클록 신호(130)의 특정 에지들(예를 들어, 하강 에지들)을 지연시키기 위해 지연 회로(156)를 사용함으로써, 예컨대, 마스터 클록 신호(134)의 생성 동안 클록 신호(130)의 상승 에지들의 타이밍에 영향을 미치지 않거나 실질적으로 영향을 미치지 않고 클록 신호(130)의 하강 에지들을 지연시킴으로써 마스터 클록 신호(134)를 생성하도록 구성될 수 있다. 이 경우, 마스터 클록 신호(134)의 하강 에지들은 클록 신호(130)에 대해 지연될 수 있고, 마스터 클록 신호(134)의 상승 에지들은 클록 신호(130)에 대해 동시에 또는 실질적으로 동시에 발생할 수 있다.
[0024] 디바이스(100)는 추가로 복수의 제 2 CGC들(116)과 같은 하나 또는 그 초과의 제 2 CGC들을 포함할 수 있다. 복수의 제 2 CGC들(116) 각각은 복수의 슬레이브 래치들(108) 중 대응하는 래치에 커플링될 수 있다. 예를 들어, 복수의 제 2 CGC들(116)은 제 1 슬레이브 래치(118)에 커플링되는 CGC(116a), 제 2 슬레이브 래치(120)에 커플링되는 CGC(116b) 및 제 3 슬레이브 래치(122)에 커플링되는 CGC(116c)를 포함할 수 있다. 이 예에서, 복수의 슬레이브 래치들(108)은 n 개의 슬레이브 래치들을 포함하고, 복수의 제 2 CGC들(116)은 n 개의 CGC들을 포함한다. 복수의 제 2 CGC들(116)은 클록 신호(130)를 수신하도록 구성될 수 있다. 복수의 제 2 CGC들(116)은 클록 신호(130)에 기초하여 복수의 슬레이브 클록 신호들(대표적인 슬레이브 클록 신호(138)를 포함할 수 있음)를 생성하도록 구성될 수 있다. 복수의 제 2 CGC들(116) 각각은 복수의 슬레이브 클록 신호들 중 대응하는 하나를 복수의 슬레이브 래치들(108) 중 대응하는 하나에 제공하도록 구성될 수 있다. 예시적인 예로서, CGC(116a)는 슬레이브 클록 신호(138)를 생성하고 슬레이브 클록 신호(138)를 제 1 슬레이브 래치(118)에 제공하도록 구성될 수 있다.
[0025] 복수의 슬레이브 래치들(108)은 위상 1(phi-1) 구성을 가질 수 있다. 이 경우에, 복수의 슬레이브 래치들(108)은 복수의 제 2 CGC들(116)에 의해 생성되는 슬레이브 클록 신호들의 상승 에지들에 의해 트리거될 수 있다. 예시적인 예로서, 제 1 슬레이브 래치(118)는 슬레이브 클록 신호(138)의 상승 에지들에 의해 트리거될 수 있다. 따라서, 복수의 슬레이브 래치들(108)은, 복수의 제 2 CGC들(116)에 의해 생성된 슬레이브 클록 신호들이 하이 로직 값을 갖는 동안 "투명(transparent)"할 수 있다(예를 들어, 복수의 슬레이브 래치들(108)은 슬레이브 클록 신호들이 하이 로직 값을 가질 때 BL 신호(144)를 출력할 수 있음). 마스터 래치(104)는 위상 2(phi-2) 구성을 가질 수 있다. 이 경우, 마스터 래치(104)는 마스터 클록 신호(134)의 하강 에지에 의해 트리거될 수 있다. 따라서, 마스터 래치(104)는 마스터 클록 신호(134)가 로우 로직 값을 갖는 동안 "투명"할 수 있다(예를 들어, 마스터 래치(104)는 마스터 클록 신호(134)가 로우 로직 값을 가질 때 입력 신호(142)를 출력할 수 있음). 제 1 CGC(112)는 phi-2 CGC로서 지칭될 수 있고, 복수의 제 2 CGC들(116) 각각은 phi-1 CGC로서 지칭될 수 있다.
[0026] 동작에서, 제 1 CGC(112)는 클록 신호(130)를 수신할 수 있다. 예시적인 예에서, 래치(152), 지연 회로(156) 및 출력 회로(160)는 각각 클록 신호(130)를 수신하도록 구성된다. 래치(152)는 클록 신호(130)에 대한 응답으로 제 1 신호(154)를 생성할 수 있다. 지연 회로(156)는 제 1 신호(154)에 응답할 수 있다. 예를 들어, 일부 구현들에서, 제 1 신호(154)는 지연 회로(156)에 직접 제공될 수 있다. 다른 경우들에, 제 1 신호(154)는 도 2를 참조하여 추가로 설명된 바와 같이, 예컨대, 하나 또는 그 초과의 로직 게이트들(예를 들어, 테스팅 프로세스 동안 사용되는 OR 게이트)를 사용하여 지연 회로(156)에 간접적으로 제공될 수 있다.
[0027] 지연 회로(156)는 제 1 신호(154)에 대한 응답으로 제 2 신호(158)를 생성하도록 구성될 수 있다. 지연 회로(156)는 슬레이브 클록 신호(138)와 연관된 지연 특성에 기초하여(예를 들어, 슬레이브 클록 신호(138)와 연관된 잠재적인(또는 "최대") 클록 스큐에 기초하여) 동작하도록 구성될 수 있다. 예시적인 예로서, 지연 회로(156)는, 제 1 로직 값(예를 들어, 하이 로직 값)으로부터 제 2 로직 값(예를 들어, 로우 로직 값)으로의 제 1 신호(154) 또는 클록 신호(130) 중 하나 또는 그 초과의 트랜지션에 대한 응답으로, 제 1 로직 값으로부터 제 2 로직 값으로의 제 2 신호(158)의 트랜지션을 지연시키도록 구성될 수 있다. 출력 회로(160)가 지연 간격의 만료 때까지 마스터 클록 신호(134)의 제 1 로직 값을 "홀드"하도록 구성될 수 있기 때문에, 마스터 클록 신호(134)의 에지(예를 들어, 하강 에지)는 (예를 들어, 마스터 클록 신호(134)의 하강 에지가 슬레이브 클록 신호(138)의 대응하는 하강 에지 이전에 발생하는 것을 방지하기 위해) 지연될 수 있다.
[0028] 제 1 CGC(112)는 마스터 래치(104)에 마스터 클록 신호(134)를 선택적으로 제공할 수 있다. 예를 들어, 데이터가 마스터 래치(104)에서 수신되지 않는 경우, 제 1 CGC(112)는 (마스터 래치(104)의 활성화 및 비활성화를 방지하기 위해) 마스터 클록 신호(134)를 생성하는 것을 방지할 수 있다. 데이터(예를 들어, 입력 신호(142))가 마스터 래치(104)에서 수신되는 경우, 제 1 CGC(112)는 (마스터 래치(104)로 하여금, 복수의 슬레이브 래치들(108)에 입력 신호(142)를 전달하게 하도록) 마스터 래치(104)에 마스터 클록 신호(134)를 제공할 수 있다. 복수의 제 2 CGC들(116)은 복수의 슬레이브 래치들(108)에 슬레이브 클록 신호들을 선택적으로 제공할 수 있다. 예를 들어, 데이터가 마스터 래치(104)에 의해 제 1 슬레이브 래치(118)에 제공되는 경우, CGC(116a)는 제 1 슬레이브 래치(118)에 슬레이브 클록 신호(138)를 제공할 수 있다.
[0029] 지연 회로(156)는 마스터 클록 신호(134)의 하강 에지들로 하여금, 클록 신호(130)의 하강 에지들에 대해 지연되게 할 수 있다. 예를 들어, 지연 회로(156)는, 예컨대, 특정 회로 설계, 제조 기술, 물리적 레이아웃, 하나 또는 그 초과의 다른 파라미터들, 또는 이들의 결합에 기초한 슬레이브 클록 신호(138)와 연관된 잠재적인(또는 "최대") 클록 스큐에 기초하여, 마스터 클록 신호(134)의 하강 에지가 슬레이브 클록 신호(138)의 하강 에지 이후에(그리고 슬레이브 클록 신호(138)의 후속 상승 에지 이전에) 발생하는 것을 보장하도록 구성될 수 있다. 지연 회로(156)의 예시적인 구현은 도 2를 참조하여 추가로 설명된다.
[0030] 클록 신호(130)의 하강 에지들에 대해 마스터 클록 신호(134)의 하강 에지들을 지연시키는 것은, 하나 또는 그 초과의 슬레이브 클록 신호들이 하이 로직 값을 갖는 동안 마스터 클록 신호(134)가 로우 로직 값을 갖는 동작 상태(예를 들어, 마스터 클록 신호(134)의 하강 에지가 슬레이브 클록 신호(138)의 하강 에지보다 약간 앞서 발생하는 경우)를 방지할 수 있다. 예시하자면, 마스터 래치(104)가 phi-2 구성을 갖고(그리고 마스터 클록 신호(134)의 하강 에지들에 의해 트리거됨) 제 1 슬레이브 래치(118)가 phi-1 구성을 갖는(그리고 슬레이브 클록 신호(138)의 상승 에지들에 의해 트리거됨) 경우, 이러한 동작 상태는 마스터 래치(104) 및 제 1 슬레이브 래치(118) 둘 모두로 하여금, 공통 클록 사이클 동안 투명하게 되게 할 수 있다. 마스터 클록 신호(134)의 하강 에지를 지연함으로써, 그러한 동작 상태가 방지될 수 있다.
[0031] 도 2는 도 1의 제 1 CGC(112)의 예시적인 예를 도시한다. 제 1 CGC(112)는 도 1의 래치(152), 지연 회로(156) 및 출력 회로(160)를 포함할 수 있다. 도 2의 예는, 지연 회로(156)가 AND 디바이스(210)를 포함할 수 있고, 출력 회로(160)가 OR 게이트(214)를 포함할 수 있음을 예시한다. 제 1 CGC(112)는 또한 제 2 래치(208)(예를 들어, phi-1 홀드 래치)를 포함할 수 있다.
[0032] 래치(152), 제 2 래치(208), 지연 회로(156) 및 출력 회로(160)는 클록 신호(130)를 수신하도록 구성될 수 있다. 출력 회로(160)는 (예를 들어, 지연 회로(156)의 출력 신호에 대한 응답으로) 마스터 클록 신호(134)를 출력하도록 구성될 수 있다. 마스터 클록 신호(134)는 클록 신호(130)의 하강 에지에 대해 지연되는 하강 에지를 가질 수 있다.
[0033] OR 게이트(214)는 3-입력(OR3) 구성을 가질 수 있다. 예를 들어, OR 게이트(214)는 제 1 입력(216), 제 2 입력(218) 및 제 3 입력(220)을 포함할 수 있다. 도 2의 예에서, 제 1 입력(216)은 클록 신호(130)를 수신하도록 구성되고, 제 2 입력(218)은 제 2 래치(208)에 커플링되고, 제 3 입력은 지연 회로(156)에 커플링된다. OR 게이트(214)는 추가로, 마스터 클록 신호(134)를 출력하도록 구성된 출력(222)을 포함할 수 있다. 예를 들어, 출력(222)은 도 1의 마스터 래치(104)에 커플링될 수 있고, OR 게이트(214)는 출력(222)을 통해 마스터 래치(104)에 마스터 클록 신호(134)를 제공하도록 구성될 수 있다.
[0034] 제 1 CGC(112)는 추가로, 제 1 입력(230) 및 제 2 입력(232)을 갖는 OR 게이트(206)를 포함할 수 있다. 제 1 입력(230)은 래치(152)에 커플링될 수 있다. 제 2 입력(232)은 테스트 인에이블 신호(202)를 수신하도록 구성될 수 있다. OR 게이트(206)는 추가로, 제 2 래치(208) 및 지연 회로(156)에 커플링되는 출력(234)을 포함할 수 있다. 예를 들어, 출력(234)은 AND 디바이스(210)의 제 2 입력(226)에 커플링될 수 있다.
[0035] AND 디바이스(210)는 제 1 입력(224) 및 제 2 입력(226)을 포함할 수 있다. 제 1 입력(224)은 클록 신호(130)를 수신하도록 구성될 수 있다. 제 2 입력(226)은 OR 게이트(206)에 의해 구동되도록 구성될 수 있고 래치(152)에 응답할 수 있다. AND 디바이스(210)는 추가로, 출력 회로(160)에 커플링되는 출력(228)을 포함할 수 있다. 예를 들어, 출력(228)은 OR 게이트(214)의 제 3 입력(220)에 커플링될 수 있다.
[0036] 도 2는 예시를 위해 AND 게이트를 포함하는 것으로서 AND 디바이스(210)를 도시하지만, AND 디바이스(210)는 상이한 구성을 가질 수 있다는 것이 인지되어야 한다. 예를 들어, 도 2는 250에서, AND 디바이스(210)의 예시적인 구현을 도시한다. 이 예에서, AND 디바이스(210)는 NAND(NOT-AND) 게이트(252) 및 하나 또는 그 초과의 인버터들(254)을 포함할 수 있다. 하나 또는 그 초과의 인버터들(254)은, NAND 게이트(252) 및 하나 또는 그 초과의 인버터들(254)이 AND 로직 게이트로서 기능하도록 홀수의 양의 정수개의 인버터들(예를 들어, 하나의 인버터, 3 개의 인버터들, 5 개의 인버터들 또는 다른 홀수의 양의 정수 개의 인버터들)을 포함한다. NAND 게이트(252) 및 하나 또는 그 초과의 인버터들(254)은 지연 회로(156)와 연관된 지연 특성(t)을 갖는 AND 게이트로서 기능하도록 구성될 수 있다. 하나 또는 그 초과의 인버터들(254)의 수(n)는 지연 특성(t)에 기초하여 결정될 수 있다. 예시하자면, 하나 또는 그 초과의 인버터들(254)의 수(n)는, 지연 특성(t)에서 NAND 게이트(252)와 연관된 제 1 지연 시간(t1)을 뺀 것을 하나 또는 그 초과의 인버터들(254)의 각각의 인버터와 연관된 제 2 지연 시간(t2)으로 나눈 것(즉, n =(t-t1)/t2))에 기초하여 결정될 수 있다.
[0037] AND 디바이스(210)의 사용은 하나 또는 그 초과의 다른 구성들에 비해 지연 회로(156)의 전력 소모를 감소시킬 수 있다. 예시하자면, AND 디바이스(210)는 OR 게이트(206)가 출력(234)에서 로우 로직 값을 생성하는 것에 대한 응답으로 불활성화될 수 있다. 다른 디바이스들(예를 들어, 버퍼)은 클록 신호(130)에 대한 응답으로 동작(또는 "토글")할 수 있어, AND 디바이스(210)의 사용에 비해 전력 소모를 증가시킨다. 또한, 도 2가 AND 게이트를 도시하지만, 하나 또는 그 초과의 다른 디바이스들이 구현될 수 있다는 것이 인지되어야 한다. 예를 들어, 일부 애플리케이션들에서, 지연 회로(156)는 AND 디바이스(210)를 참조하여 설명된 바와 같이 AND 로직 함수들을 수행할 수 있는 하나 또는 그 초과의 연산 증폭기들을 포함할 수 있다. 대안적으로 또는 부가적으로, 지연 회로(156)는 하나 또는 그 초과의 다른 로직 게이트들, 예컨대, 하나 또는 그 초과의 AND 로직 게이트들, 하나 또는 그 초과의 OR 로직 게이트들, 하나 또는 그 초과의 XOR(exclusive-OR) 로직 게이트들, 하나 또는 그 초과의 NOR(NOT-OR) 로직 게이트들, 하나 또는 그 초과의 XNOR(exclusive-NOR) 게이트들, 하나 또는 그 초과의 다른 로직 게이트들, 또는 이들의 결합을 포함할 수 있다.
[0038] 도 2는 제 1 CGC(112)가 다수의 클록 게이팅 서브-회로들을 포함할 수 있음을 예시한다. 예를 들어, 래치(152) 및 지연 회로(156)는 제 1 클록 게이팅 서브-회로(240)(예를 들어, phi-1 클록 게이팅 서브-회로)를 형성할 수 있고, 제 2 래치(208) 및 출력 회로(160)는 제 2 클록 게이팅 서브-회로(242)(예를 들어, phi-2 클록 게이팅 서브-회로)를 형성할 수 있다. 이 예에서, 제 1 클록 게이팅 서브-회로(240)는, 로우 로직 값을 갖는 입력(예를 들어, 인에이블 신호(200)가 어서트(assert)되지 않을 때)에 대한 응답으로, (예를 들어, 로우 로직 값을 출력함으로써) 클록 신호(130)를 게이트 오프(gate off)하는 phi-1(또는 "정규") CGC로서 기능할 수 있다. 제 2 클록 게이팅 서브-회로(242)는 로우 로직 값을 갖는 입력(예를 들어, OR 게이트(206)가 로우 로직 값을 출력할 때)에 대한 응답으로, 하이 로직 값을 출력하는 phi-2 CGC로서 기능할 수 있다.
[0039] 테스트 동작 모드 동안, 테스트 인에이블 신호(202)가 어서트될 수 있다(예를 들어, 하이 로직 값을 가질 수 있음). 예를 들어, 스캔 프로세스는, 제 1 CGC(112)를 포함하는 집적 회로(예를 들어, 프로세서)의 동작을 검증하도록 테스트 모드와 관련하여 수행될 수 있다. 스캔 프로세스 동안, 인에이블 신호(200)의 값은 스캔 프로세스의 하나 또는 그 초과의 다른 동작들의 결과로서 (예를 들어, 하이 로직 값으로부터 로우 로직 값으로) 변할 수 있다. 이 예에서, 테스트 인에이블 신호(202)는 래치(152)를 "바이패스(bypass)"하도록 어서트될 수 있다. 테스트 인에이블 신호(202)는, (래치(152)에 의해 제공되는 값에 무관하게) OR 게이트(206)로 하여금 하이 로직 값을 출력하게 하며, 이는 마스터 클록 신호(134)로 하여금 클록 신호(130)를 추적(또는 "팔로우(follow)")하게 할 수 있다. 따라서, 테스트 인에이블 신호(202)를 어서트하는 것은, 스캔 프로세스 동안(예를 들어, 마스터 래치(104)를 포함하는 집적 회로의 동작을 검증하기 위해) 마스터 클록 신호(134)가 활성(예를 들어, 오실레이팅)인 것을 보장할 수 있다.
[0040] 하나 또는 그 초과의 다른 동작 모드들(예를 들어, 비-테스트 동작 모드) 동안, 테스트 인에이블 신호(202)는 언-어서트(un-assert))될 수 있다. 예시적인 구현에서, 인에이블 신호(200)는 도 1의 마스터 래치(104)가 활성화되는 경우 어서트된다. 예를 들어, 디바이스의 하나의 파이프라인 스테이지로부터의 데이터가 마스터 래치(104)를 사용하여 디바이스의 다른 파이프라인 스테이지에 제공될 준비가 되는 경우, 인에이블 신호(200)는 마스터 래치(104)를 활성화하도록 어서트될 수 있다. 데이터가 마스터 래치(104)를 사용하여 파이프라인 스테이지들 사이에 제공될 준비가 되지 않은 경우, 인에이블 신호(200)는 언-어서트될 수 있다.
[0041] 인에이블 신호(200)가 어서트되는 동안, 출력 회로(160)는 로우 로직 값으로부터 하이 로직 값으로의 클록 신호(130)의 트랜지션(또는 상승 에지)에 대한 응답으로 출력(222)에서 하이 로직 값을 생성할 수 있다. 예를 들어, 클록 신호(130)의 상승 에지에 대한 응답으로, OR 게이트(214)는 마스터 클록 신호(134)의 상승 에지를 생성하도록, 출력(222)에서 로우 로직 값을 생성하는 것으로부터 출력(222)에서 하이 로직 값으로 트랜지션할 수 있다. 이 경우, 마스터 클록 신호(134)의 상승 에지는 클록 신호(130)의 상승 에지를 추적(또는 "팔로우")할 수 있다.
[0042] 인에이블 신호(200)가 어서트되는 동안 하이 로직 값으로부터 로우 로직 값으로의 클록 신호(130)의 트랜지션(또는 하강 에지)에 대한 응답으로, 래치(152)에 의해 생성된 제 1 신호(154)는 하이 로직 값을 가질 수 있다(즉, 래치(152)는 클록 신호(130)의 하강 에지에 대한 응답으로 투명할 수 있음). OR 게이트(206)는 래치(152)에 의해 생성된 제 1 신호(154)에 응답할 수 있다. 제 1 신호(154)에 대한 응답으로, OR 게이트(206)는 지연 회로(156) 및 제 2 래치(208)에 하이 로직 값을 갖는 게이팅 신호(207)를 제공할 수 있고, 제 2 래치(208)는 출력 회로(160)에 로우 로직 값을 제공할 수 있다. 이 예에서, 제 1 입력(216) 및 제 2 입력(218)은 로우 로직 값들을 수신한다.
[0043] 지연 회로(156)는 클록 신호(130) 및 게이팅 신호(207)를 수신할 수 있고, 클록 신호(130) 및 게이팅 신호(207)에 기초하여 제 2 신호(158)를 생성할 수 있다. 지연 회로(156)의 지연 특성으로 인해, 제 2 신호(158)와 연관된 값은 클록 신호(130)의 하강 에지 후에(예를 들어, 하강 에지 이후 대략 t 피코초 동안) 하이 로직 값으로 일시적으로 유지될 수 있다. 이 예에서, 지연 회로(156)에 의해 생성된 제 2 신호(158)는 로우 로직 값으로의 트랜지션으로부터 지연될 수 있으며, 이는 출력 회로(160)의 출력이 일시적으로 하이 로직 값으로 유지되게 할 수 있다. 클록 신호(130)의 하강 에지와 하이 로직 값으로부터 로우 로직 값으로의 지연 회로(156)의 출력의 트랜지션 사이의 지연 간격 후에, 지연 회로(156)에 의해 생성된 제 2 신호(158)는 로우 로직 값으로 트랜지션할 수 있다. 그 결과, 마스터 클록 신호(134)의 하강 에지는 (지연 회로(156)로 인해) 클록 신호(130)의 하강 에지에 대해 지연될 수 있다.
[0044] 도 1의 디바이스(100)를 사용하여 전달될 데이터가 없는 경우(예를 들어, 하나의 파이프라인 스테이지의 결과들이 디바이스(100)를 사용하여 다른 파이프라인 스테이지에 제공되도록 이용 가능하지 않은 경우), 제 1 CGC(112)는 마스터 래치(104)를 클록 게이팅(예를 들어, 비활성화)할 수 있다. 예를 들어, 인에이블 신호(200)는 제 1 값으로부터 제 2 값(예를 들어, 하이 로직 값에서 로우 로직 값)으로 조정될 수 있다. 결과적으로, 래치(152)는 비활성화될 수 있으며, 이는 출력 회로(160)로 하여금 마스터 래치(104)에 마스터 클록 신호(134)를 제공하는 것을 중단하게 할 수 있다. 따라서, 마스터 래치(104)는 인에이블 신호(200)에 기초하여 비활성화될 수 있다.
[0045] 마스터 클록 신호(134)의 하강 에지를 지연시키는 것은, 하나 또는 그 초과의 슬레이브 클록 신호들이 하이 로직 값을 갖는 동안(이는 복수의 슬레이브 래치들(108)로 하여금 "투명"하게 되게 함) 마스터 클록 신호(134)가 로우 로직 값을 갖는(이는 마스터 래치(104)로 하여금 활성 또는 투명하게 되게 함) 동작 상태(이는 (예를 들어, 디바이스(100)의 출력이 하나의 클록 사이클 만큼 너무 이르게 생성될 때) "레이스" 조건을 야기할 수 있음)를 방지할 수 있다. 추가로, 마스터 클록 신호(134)의 하강 에지를 지연시키는 것은 동작들이 상승 클록 에지 대신에 하강 클록 에지에 의해 트리거되는 하프-사이클 경로를 생성하는 것을 방지할 수 있다(이는 마스터 클록 신호(134)가 로우 로직 값이고, 슬레이브 클록 신호(138)는 하이 로직 값을 가지며, 따라서 마스터 래치(104) 및 제 1 슬레이브 래치(118) 둘 모두가 활성일 때 발생할 수 있음). 따라서, 클록 신호(130)의 하강 에지들(및 슬레이브 클록 신호(138)의 하강 에지들)에 대해 마스터 클록 신호(134)의 하강 에지들을 지연시키는 것은 (예를 들어, 레이스 조건들 및 하프-사이클 경로들을 방지함으로써) 전자 디바이스의 성능을 감소시킬 수 있는 동작 상태를 방지할 수 있다. 또한, 제 2 클록 게이팅 서브-회로(242)는 마스터 래치(104)의 phi-2 게이팅을 인에이블할 수 있다(예를 들어, 마스터 래치(104)는 phi-1 CGC 대신에 phi-2 CGC를 "인식(see)"할 수 있음). 그러므로, 클록 게이팅 서브-회로들(240, 242)은 (레이스 조건들 또는 하프-사이클 경로들을 생성함 없이) 마스터 래치(104)의 phi-2 클록 게이팅을 인에이블할 수 있다.
[0046] 도 3을 참조하면, 예시적인 타이밍도들의 세트가 도시되고 일반적으로 300으로 지정된다. 타이밍도들의 세트(300)는 클록 신호(130)에 대응하는 타이밍도, 마스터 클록 신호(134)에 대응하는 타이밍도, 복수의 제 2 CGC들(116)에 의해 생성된 하나 또는 그 초과의 슬레이브 클록 신호들(예를 들어, 슬레이브 클록 신호(138))에 대응하는 타이밍도, 입력 신호(142)에 대응하는 타이밍도, BL 신호(144)에 대응하는 타이밍도 및 출력 신호들(146)에 대응하는 타이밍도를 포함한다. 도 3에서, 클록 신호(130)는 제 1 사이클(304) 및 제 2 사이클(308)을 갖는다.
[0047] 도 3은 슬레이브 클록 신호(138)가 클록 신호(130) 및/ 또는 마스터 클록 신호(134) 중 하나 또는 그 초과에 대해 위상-지연(또는 "스큐")될 수 있음을 예시한다. 예를 들어, 제 1 사이클(304) 동안, 슬레이브 클록 신호(138)의 상승 에지(336)는 클록 신호(130)의 상승 에지(312)에 비해 그리고 마스터 클록 신호(134)의 상승 에지(324)에 비해 "늦을(late)" 수 있다. 클록 스큐는 하나 또는 그 초과의 물리적 회로 특성들 또는 동작 특성들로 인해 발생할 수 있다. 일 예로서, 디바이스(100)의 특정한 물리적 회로 레이아웃은 슬레이브 클록 신호(138)로 하여금 마스터 클록 신호(134)에 대해 스큐되게 할 수 있다.
[0048] 제 1 사이클(304) 동안, 클록 신호(130)의 상승 에지(312)는 마스터 클록 신호(134)의 상승 에지(324)에 대해 동시에 또는 실질적으로 동시에 발생할 수 있다. 또한, 도 3은 클록 신호(130)의 하강 에지(316)가 마스터 클록 신호(134)의 하강 에지(328) 이전에 발생할 수 있음을 예시한다. 예를 들어, 지연 회로(156)는 지연 특성(326)(예를 들어, 도 2를 참조하여 설명된 지연 특성(t))에 기초하여 하강 에지(316)에 대해 하강 에지(328)를 지연시킬 수 있다. 지연 특성(326)은 슬레이브 클록 신호(138)와 같은 슬레이브 클록 신호와 연관될 수 있다. 예를 들어, 지연 특성은 특정 회로 설계, 제조 기술, 물리적 레이아웃, 하나 또는 그 초과의 다른 파라미터들, 또는 이들의 결합에 기초하여 마스터 클록 신호(134)에 대한 슬레이브 클록 신호(138)의 예상된 또는 잠재적(예를 들어, "최대") 클록 스큐에 기초하여 선택될 수 있다.
[0049] 하강 에지(328)를 지연시키는 것은, (예를 들어, 마스터 래치(104) 및 제 1 슬레이브 래치(118)를 동시에 활성화함으로써) 마스터 클록 신호(134)가 로우 로직 값을 가지며 슬레이브 클록 신호(138)가 하이 로직 값을 갖는 동작 상태(이는 "레이스(race)" 조건을 생성할 수 있음)를 방지할 수 있다. 특정 애플리케이션에 의존하여, 하강 에지(328)는 슬레이브 클록 신호(138)의 하강 에지(338) 이후 또는 하강 에지(338)와 실질적으로 동시에 발생하도록 지연될 수 있다.
[0050] 마스터 클록 신호(134)의 하강 에지를 지연시키는 결과로서, 마스터 클록 신호(134)의 듀티 사이클은 클록 신호(130)의 듀티 사이클 또는 슬레이브 클록 신호(138)의 듀티 사이클 중 하나 또는 그 초과를 초과할 수 있다. 예를 들어, 상승 에지(324)와 하강 에지(328) 사이의 시간 간격이 하강 에지(328)와 상승 에지(332) 사이의 시간 간격보다 크기 때문에, 마스터 클록 신호(134)의 듀티 사이클은 50 %보다 클 수 있다(예를 들어, 60 %, 70 %, 80 % 또는 다른 퍼센티지). 클록 신호(130)의 듀티 사이클 또는 슬레이브 클록 신호(138)의 듀티 사이클 중 하나 또는 그 초과는 약 50 %일 수 있다.
[0051] 추가로 예시하자면, 도 3은 입력 신호(142)의 트랜지션(342), BL 신호(144)의 트랜지션(344) 및 출력 신호들(146)의 트랜지션(346)을 도시한다. 도 3이 예시의 편의를 위해, 하이-로우 및 로우-하이 로직 값 트랜지션들을 도시하지만, 신호들(142, 144 및 146) 각각은 특정 시간에 단일 값을 갖는 단일-종단 신호(single-ended signal)일 수 있다는 것이 인지되어야 한다. 트랜지션(344)은 마스터 클록 신호(134)의 하강 에지(328)에 대한 응답으로 발생할 수 있다(예를 들어, 마스터 래치(104)는, 마스터 래치(104)로 하여금, 마스터 클록 신호(134)의 로우 로직 값에 대한 응답으로 투명하게 되게 하는 phi-2 구성을 가질 수 있음). 트랜지션(346)은, 슬레이브 클록 신호(138)의 상승 에지(340)에 대한 응답으로 발생할 수 있다(예를 들어, 복수의 슬레이브 래치들(108)은 슬레이브 클록 신호들, 예컨대, 슬레이브 클록 신호(138)의 하이 로직 값들에 대한 응답으로 복수의 슬레이브 래치들(108)로 하여금, 투명하게 되게 하는 phi-1 구성을 가질 수 있음).
[0052] 하강 에지(328)를 지연시킴으로써, 트랜지션(346)이 "너무 빨리(too soon)" 발생할 수 있는 동작 상태가 방지된다. 예를 들어, 하강 에지(328)를 지연시킴으로써, 마스터 클록 신호(134)가 로우 로직 값을 가지며 슬레이브 클록 신호(138)가 (예를 들어, 클록 스큐로 인해) 하이 로직 값을 갖는 동작 상태가 방지된다. 이 동작 상태에서, 트랜지션(346)은 상승 에지(340) 대신에 하강 에지(338)에 대한 응답으로(즉, 하프-사이클만큼 "너무 빠름") 발생할 수 있다. 이러한 동작 상태는 의도되지 않은 디바이스 동작을 야기할 수 있는 레이스 조건을 초래할 수 있다. 하강 에지(328)를 지연시키는 것은 그러한 동작 상태를 방지할 수 있다.
[0053] 또한, 클록 스큐가 디바이스에서 발생하지 않는 경우, 하강 에지(328)를 지연시키는 것은 디바이스 성능을 감소시키지 않는다는 것에 유의한다. 예를 들어, 슬레이브 클록 신호(138)가 클록 신호(130)와 동위상인 경우(그리고 어떠한 클록 스큐도 존재하지 않는 경우), 마스터 클록 신호(134)의 하강 에지들을 지연시키는 것은 마스터 클록 신호(134)의 비-지연 하강 에지들과 비교하여 유사한 디바이스 성능을 생성할 수 있다. 따라서, 지연 회로(156)는 제 1 CGC(112)의 "내부" 또는 "존재하는" 신호를 사용하여 동작할 수 있다(그리고 제 1 CGC(112) 외부에 있는 디바이스로부터 제공된 외부 인에이블 신호와 같은 외부 신호를 사용하여 비활성화될 필요가 없음).
[0054] 도 4를 참조하면, 방법의 예시적인 예가 도시되고 일반적으로 400으로 지정된다. 방법(400)은 클록 게이팅 회로(예를 들어, 제 1 CGC(112))를 포함하는 디바이스(예를 들어, 디바이스(100))에서 수행될 수 있다.
[0055] 방법(400)은 402에서, CGC에서 클록 신호를 수신하는 것을 포함할 수 있다. 예를 들어, 클록 신호(130)는 제 1 CGC(112)에서 수신될 수 있다.
[0056] 방법(400)은 404에서, CGC의 래치에 의해 제 1 신호를 생성하는 것을 더 포함할 수 있다. 예를 들어, 래치(152)는 제 1 신호(154)를 생성할 수 있다.
[0057] 방법(400)은 406에서, 클록 신호 및 래치에 의해 생성된 제 1 신호에 대한 응답으로, CGC의 지연 회로를 사용하여 마스터 클록 신호를 생성하는 것을 더 포함할 수 있다. 마스터 클록 신호의 에지는 슬레이브 클록 신호와 연관된 지연 특성에 기초하여 클록 신호의 에지에 대해 지연된다. 예를 들어, 지연 회로는 지연 회로(156)에 대응할 수 있고, 마스터 클록 신호는 마스터 클록 신호(134)에 대응할 수 있다. 부가적인 예시적인 비-제한적인 예로서, 클록 신호의 에지는 하강 에지(316)에 대응할 수 있고, 마스터 클록 신호의 에지는 하강 에지(328)에 대응할 수 있고, 지연 특성은 지연 특성(326)(예를 들어, 지연 간격)에 대응할 수 있다.
[0058] 방법(400)은 또한, CGC의 로직 게이트에 의해, 래치에 의해 생성된 제 1 신호에 대한 응답으로 지연 회로에 게이팅 신호를 제공하는 것을 포함할 수 있다. 예를 들어, 로직 게이트는 OR 게이트(206)와 같은 OR 게이트에 대응할 수 있다. OR 게이트(206)는 게이팅 신호(207)를 생성할 수 있고 게이팅 신호(207)를 지연 회로(156)에 제공할 수 있다.
[0059] 방법(400)은 또한, 클록 신호의 에지에 대한 응답으로(예를 들어, 클록 신호(130)의 하강 에지(316)에 대한 응답으로) 지연 회로에 의해 생성된 제 2 신호를 제 1 로직 값(예를 들어, 하이 로직 값)으로부터 제 2 로직 값(예를 들어, 로우 로직 값)으로 트랜지션하는 것을 포함할 수 있다. 이 예에서, 지연 특성은 클록 신호의 에지와 지연 회로의 출력의 트랜지션 사이의 지연 간격에 대응할 수 있다. 제 2 신호는 제 2 신호(158)에 대응할 수 있다.
[0060] 방법(400)은 CGC의 래치에 제공된 인에이블 신호를 조정함으로써 CGC를 비활성화하여 마스터 래치를 클록-게이팅(clock-gating)하는 것을 더 포함할 수 있다. 예를 들어, 인에이블 신호(200)는 하이 로직 값으로부터 로우 로직 값으로 조정될 수 있다. 인에이블 신호(200)는 래치(152)에 제공될 수 있으며, 인에이블 신호의 값을 조정하는 것은 제 1 CGC(112)로 하여금, (예를 들어, 마스터 래치(104)를 비활성화하도록) 마스터 래치(104)를 클록-게이트팅하게 할 수 있다.
[0061] 방법(400)은 디바이스의 테스트 동작 모드 동안 CGC의 OR 게이트에 테스트 인에이블 신호를 제공하는 것 그리고 디바이스의 비-테스트 동작 모드 동안 테스트 인에이블 신호를 조정하는 것을 더 포함할 수 있다. 예시하자면, 테스트 인에이블 신호(202)는 디바이스(100)의 테스트 동작 모드 동안 하이 로직 값을 가질 수 있다. 테스트 인에이블 신호(202)는 디바이스(100)의 비-테스트 동작 모드와 관련하여 하이 로직 값으로부터 로우 로직 값으로 조정될 수 있다.
[0062] 방법(400)을 참조하여 설명된 바와 같이 마스터 클록 신호의 하강 에지를 지연시킴으로써, 소정의 레이스 조건들이 디바이스에서 방지될 수 있다. 예를 들어, 슬레이브 클록 신호의 클록 스큐로 인한 레이스 조건이 방지될 수 있다.
[0063] 도 5를 참조하면, 전자 디바이스의 특정 예시적인 예의 블록도가 도시되고 일반적으로 500으로 지정된다. 전자 디바이스(500)는 예시적인 예로서, 모바일 디바이스(예를 들어, 셀룰러 전화)에 대응할 수 있다. 다른 구현들에서, 전자 디바이스(500)는, 컴퓨터(예를 들어, 랩톱 컴퓨터, 태블릿 컴퓨터, 또는 데스크톱 컴퓨터), 웨어러블 전자 디바이스(예를 들어, 개인용 카메라, 머리-장착 디스플레이, 또는 시계), 비히클(vehicle) 제어 시스템 또는 콘솔, 가전 제품, 셋톱 박스, 엔터테인먼트 유닛, 내비게이션 디바이스, PDA(personal digital assistant), 텔레비전, 튜너, 라디오(예를 들어, 위성 라디오), 음악 플레이어(예를 들어, 디지털 음악 플레이어 또는 휴대용 음악 플레이어), 비디오 플레이어(예를 들어, DVD(digital video disc) 플레이어 또는 휴대용 디지털 비디오 플레이어와 같은 디지털 비디오 플레이어), 로봇, 의료 디바이스, 다른 전자 디바이스, 또는 이들의 결합에 대응할 수 있다.
[0064] 전자 디바이스(500)는 예시적인 예들로서, DSP, CPU, GPU, 또는 AP와 같은 프로세서(510)를 포함한다. 프로세서(510)는 다수의 파이프라인 스테이지들을 포함하는 파이프라이닝된 구성을 가질 수 있고 도 1의 디바이스(100)에 대응하는 디바이스가 파이프라인 스테이지들의 각각의 쌍 사이에 커플링될 수 있다. 예시하자면, 프로세서(510)는 제 1 파이프라인 스테이지(512) 및 제 2 파이프라인 스테이지(514)를 포함할 수 있고, 디바이스(100)(및 제 1 CGC(112))는 제 1 파이프라인 스테이지들(512)과 제 2 파이프라인 스테이지(514) 사이에 커플링될 수 있다. 예시적인 구현에서, 제 1 CGC(112)는 도 2를 참조하여 설명된 바와 같다. 디바이스(100)는 도 3의 타이밍도들(300)의 세트에 기초하여, 도 4의 방법(400)에 기초하여, 또는 이들의 결합에 기초하여 동작할 수 있다.
[0065] 전자 디바이스(500)는 메모리(532)를 더 포함할 수 있다. 메모리(532)는 프로세서(510)에 커플링된다. 메모리(532)는 프로세서(510)에 의해 액세스 가능한 명령들(568)을 포함한다. 명령들(568)은 프로세서(510)에 의해 실행 가능한 하나 또는 그 초과의 명령들을 포함할 수 있다. 예를 들어, 명령들(568)은 본원에서 설명된 소정의 동작들을 개시 또는 제어하도록 프로세서(510)에 의해 실행 가능할 수 있다. 예를 들어, 명령들(568)은 파이프라인 스테이지들(512, 514)을 사용하여 하나 또는 그 초과의 산술 연산들 또는 로직 연산들을 수행하도록 프로세서(510)에 의해 실행 가능할 수 있다.
[0066] 도 5는 또한, 프로세서(510) 및 디스플레이(528)에 커플링되는 디스플레이 제어기(526)를 도시한다. CODEC(coder/decoder)(534)은 또한 프로세서(510)에 커플링될 수 있다. 스피커(536) 및 마이크로폰(538)은 CODEC(534)에 커플링될 수 있다. 도 5는 또한 무선 인터페이스(540)(예를 들어, 무선 제어기 또는 트랜시버 중 하나 또는 그 초과)가 프로세서(510) 및 안테나(542)에 커플링될 수 있음을 표시한다.
[0067] 특정 예에서, 프로세서(510), 디스플레이 제어기(526), 메모리(532), CODEC(534) 및 무선 인터페이스(540)는 패키지, SiP(system-in-package) 디바이스 또는 SoC(system-on-chip) 디바이스, 예컨대, SoC 디바이스(522)에 포함된다. 추가로, 입력 디바이스(530) 및 전력 소스(544)는 SoC 디바이스(522)에 커플링될 수 있다. 또한, 특정 예에서, 도 5에 예시된 바와 같이, 디스플레이(528), 입력 디바이스(530), 스피커(536), 마이크로폰(538), 안테나(542), 및 전력 공급부(544)는 SOC 디바이스(522) 외부에 있다. 그러나 디스플레이(528), 입력 디바이스(530), 스피커(536), 마이크로폰(538), 안테나(542), 및 전력 공급부(544) 각각은, 인터페이스 또는 제어기와 같은 SoC 디바이스(522)의 컴포넌트에 커플링될 수 있다.
[0068] 특정 예에서, 장치는 CGC(예를 들어, 제 1 CGC(112))에서 제 1 신호를 생성하기 위한 수단을 포함한다. 예를 들어, 제 1 신호를 생성하기 위한 수단은 래치(152)를 포함할 수 있다. 장치는 CGC에서 클록 신호(예를 들어, 클록 신호(130))를 수신하기 위한 수단을 더 포함한다. 장치는 클록 신호 및 제 1 신호에 대한 응답으로, CGC의 지연 회로(예를 들어, 지연 회로(156))를 사용하여 마스터 클록 신호(예를 들어, 마스터 클록 신호(134))를 생성하기 위한 수단을 더 포함한다. 마스터 클록 신호의 에지(예를 들어, 하강 에지(328)와 같은 하강 에지)는 슬레이브 클록 신호(예를 들어, 슬레이브 클록 신호(138))와 연관된 지연 특성(예를 들어, 지연 특성(326))에 기초하여 클록 신호의 하강 에지(예를 들어, 하강 에지(316))에 대해 지연된다. 예를 들어, 클록 신호를 수신하기 위한 수단은 래치(152), 제 2 래치(208), NAND 게이트(252), 또는 OR 게이트(214)에 대한 제 1 입력(216) 중 하나 또는 그 초과를 포함할 수 있다. 다른 예로서, 마스터 클록 신호를 생성하기 위한 수단은 OR 게이트(214)를 포함하는 출력 회로(160)를 포함할 수 있다.
[0069] 설명의 편의를 위해, 마스터 래치(104)는 phi-2 래치로서 설명되고, 복수의 슬레이브 래치들(108) 각각은 phi-1 래치로서 설명된다. 일부 애플리케이션들에서, 마스터 래치는 phi-1 래치일 수 있고, 슬레이브 래치는 phi-2 래치일 수 있다는 것이 인지되어야 한다. 이 경우, 제 1 CGC(112)를 참조하여 설명된 소정의 구조들 및 기능성들은 (예를 들어, 제 1 CGC(112)에서 그러한 구조들 및 기능성들을 구현하는 대신에) 복수의 제 2 CGC들(116)에서 구현될 수 있다. 추가로, 일부 애플리케이션들에서, 클록 신호의 상승 에지는 클록 신호의 하강 에지를 지연시키는 것에 추가로 또는 그에 대안적으로 지연될 수 있다. 예를 들어, CGC는 (phi-1 래치에 제공되는 클록 신호의 하강 에지를 지연시키는 것에 추가로 또는 그에 대안적으로) phi-1 래치에 제공되는 클록 신호의 상승 에지를 지연시키도록 구성될 수 있다.
[0070] 도 1 내지 도 5 중 하나 또는 그 초과를 참조하여 설명된 위에 개시된 디바이스들 및 기능성들은, 컴퓨터 파일들(예를 들어, RTL, GDSII, GERBER 등)을 사용하여 설계되고 표현될 수 있다. 컴퓨터 파일들은 컴퓨터-판독 가능 매체들 상에 저장될 수 있다. 그러한 파일들 중 일부 또는 전부는 그러한 파일들에 기초하여 디바이스들을 제조하는 제조 취급자들에 제공될 수 있다. 결과적인 제품들은, 추후에 다이로 절단되고 집적 회로들(또는 "칩들")로 패키징되는 웨이퍼들을 포함한다. 이 칩들은 그 후 전자 디바이스들에 사용된다. 예를 들어, SoC 디바이스(522)는 도 5를 참조하여 설명된 바와 같은 전자 디바이스(500)에 사용될 수 있다.
[0071] 도 1 내지 도 5가 편의를 위해 별개로 소정의 예들을 설명할 수 있지만, 본 개시는 이 예시된 예들로 제한되지 않는다. 예를 들어, 본원에 예시되거나 설명된 도 1 내지 도 5 중 임의의 도면의 하나 또는 그 초과의 기능들 또는 컴포넌트들은 도 1 내지 도 5 중 다른 도면의 하나 또는 그 초과의 다른 기능들 또는 컴포넌트들과 결합될 수 있다. 따라서, 본원에서 설명되는 어떠한 단일 예도 제한적인 것으로서 해석되지 않아야 하며, 본 개시의 예들은 본 개시의 범위로부터 벗어남 없이 결합될 수 있다.
[0072] 본원에서 설명된 예들과 관련하여 설명된 다양한 예시적인 로직 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 프로세서에 의해 실행되는 컴퓨터 소프트웨어, 또는 이 둘의 결합들로서 구현될 수 있음을 당업자들은 추가로 인지할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 그들의 기능성의 관점들에서 일반적으로 위에서 설명되었다. 그러한 기능성이 하드웨어로 구현되는지 또는 프로세서 실행 가능 명령들로 구현되는지 여부는 특정 애플리케이션, 및 전체 시스템에 부과된 설계 제약들에 의존한다. 당업자들은 설명된 기능성을 각각의 특정 애플리케이션에 대해 다양한 방식들로 구현할 수 있지만, 그러한 구현 결정들이 본 개시의 범위를 벗어나게 하는 것으로서 해석되지는 않아야 한다.
[0073] 본원에서 설명된 소정의 동작들은 하드웨어, 프로세서에 의해 실행되는 명령들, 또는 이들의 결합을 사용하여 개시, 제어 또는 수행될 수 있다. 예를 들어, 도 4의 방법(400)의 동작들은 하드웨어, 실행 가능 명령들 또는 이들의 결합을 사용하여 개시될 수 있다. 소프트웨어 모듈은 RAM(random access memory), 플래시 메모리, ROM(read-only memory), PROM(programmable read-only memory), EPROM(erasable programmable read-only memory). EEPROM(electrically erasable programmable read-only memory), 레지스터들, 하드 디스크, 제거 가능 디스크, CD-ROM(compact disk read-only memory), 또는 당 분야에 알려진 임의의 다른 형태의 비-일시적 저장 매체에 상주할 수 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독하고 저장 매체에 정보를 기록할 수 있도록 프로세서에 커플링된다. 대안으로, 저장 매체는 프로세서에 통합될 수 있다. 프로세서 및 저장 매체는 ASIC(application-specific integrated circuit)에 상주할 수 있다. ASIC는 컴퓨팅 디바이스 또는 사용자 단말에 상주할 수 있다. 대안적으로, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말에서 이산 컴포넌트들로서 상주할 수도 있다.
[0074] 개시된 예들의 이전의 설명은 당업자가 개시된 예들을 사용하거나 또는 제조하는 것을 가능하게 하도록 제공된다. 이들 예들에 대한 다양한 수정들은 당업자들에게 용이하게 명백할 것이며, 본원에서 정의된 원리들은 본 개시의 범위로부터 벗어남 없이 다른 예들에 적용될 수 있다. 따라서, 본 개시는 본원에서 예시된 예들로 제한되도록 의도되는 것이 아니라, 다음의 청구항들에 의해 정의된 바와 같은 원리들 및 신규한 특성들과 일치하는 가능한 가장 넓은 범위에 부합할 것이다.

Claims (20)

  1. 장치로서,
    CGC(clock gating circuit)의 래치 ― 상기 래치는 클록 신호에 대한 응답으로 제 1 신호를 생성하도록 구성됨 ― ;
    상기 CGC의 지연 회로 ― 상기 지연 회로는 상기 클록 신호를 수신하고 상기 클록 신호 및 상기 제 1 신호에 기초하여 제 2 신호를 생성하도록 구성됨 ― ; 및
    상기 CGC의 출력 회로를 포함하고,
    상기 출력 회로는 상기 지연 회로 및 상기 래치에 커플링되고, 상기 출력 회로는 상기 클록 신호 및 상기 제 2 신호에 기초하여 마스터 클록 신호를 생성하도록 구성되고, 상기 마스터 클록 신호의 에지는 슬레이브 클록 신호와 연관된 지연 특성에 기초하여 상기 클록 신호의 에지에 대해 지연되는,
    장치.
  2. 제1항에 있어서,
    상기 CGC의 제 2 래치를 더 포함하고,
    상기 래치 및 상기 지연 회로는 제 1 게이팅 서브-회로를 형성하고, 상기 제 2 래치 및 상기 출력 회로는 제 2 클록 게이팅 서브-회로를 형성하는,
    장치.
  3. 제1항에 있어서,
    상기 마스터 클록 신호는 상기 클록 신호의 하강 에지에 대해 지연되는 하강 에지를 갖는,
    장치.
  4. 제1항에 있어서,
    상기 지연 회로는 AND 디바이스를 포함하는,
    장치.
  5. 제4항에 있어서,
    상기 AND 디바이스는 상기 클록 신호를 수신하도록 구성된 제 1 입력 및 상기 래치에 응답하는 제 2 입력을 갖는,
    장치.
  6. 제4항에 있어서,
    상기 AND 디바이스는 NAND(NOT-AND) 게이트 및 하나 또는 그 초과의 인버터들을 포함하고, 상기 NAND 게이트 및 상기 하나 또는 그 초과의 인버터들은 상기 지연 회로와 연관된 지연 특성을 갖는 AND 게이트로서 기능하도록 구성되는,
    장치.
  7. 제1항에 있어서,
    3-입력 구성을 갖는 OR 게이트(OR3)를 더 포함하는,
    장치.
  8. 제7항에 있어서,
    상기 OR 게이트는 상기 래치에 커플링되는 제 1 입력을 포함하고, 테스트 인에이블 신호(test enable signal)를 수신하도록 구성된 제 2 입력을 더 포함하는,
    장치.
  9. 제1항에 있어서,
    상기 출력 회로는, 상기 클록 신호를 수신하도록 구성된 제 1 입력, 제 2 래치에 커플링되는 제 2 입력, 및 상기 지연 회로에 커플링되는 제 3 입력을 갖는 OR 게이트를 포함하는,
    장치.
  10. 제1항에 있어서,
    상기 CGC에 커플링되고 상기 마스터 클록 신호를 수신하도록 구성된 마스터 래치; 및
    상기 마스터 래치에 응답하고 상기 슬레이브 클록 신호를 수신하도록 구성된 적어도 하나의 슬레이브 래치를 더 포함하는,
    장치.
  11. CGC(clock gating circuit)의 동작 방법으로서,
    CGC에서 클록 신호를 수신하는 단계;
    상기 CGC의 래치에 의해 제 1 신호를 생성하는 단계; 및
    상기 클록 신호 및 상기 래치에 의해 생성된 제 1 신호에 대한 응답으로, 상기 CGC의 지연 회로를 사용하여 마스터 클록 신호를 생성하는 단계를 포함하고,
    상기 마스터 클록 신호의 에지는 슬레이브 클록 신호와 연관된 지연 특성에 기초하여 상기 클록 신호의 에지에 대해 지연되는,
    CGC의 동작 방법.
  12. 제11항에 있어서,
    상기 CGC의 로직 게이트에 의해, 상기 래치에 의해 생성된 제 1 신호에 대한 응답으로 상기 지연 회로에 게이팅 신호를 제공하는 단계를 더 포함하는,
    CGC의 동작 방법.
  13. 제12항에 있어서,
    상기 클록 신호의 에지에 대한 응답으로, 상기 지연 회로에 의해 생성된 제 2 신호를, 제 1 로직 값으로부터 제 2 로직 값으로 트랜지션(transition)하는 단계를 더 포함하는,
    CGC의 동작 방법.
  14. 제13항에 있어서,
    상기 지연 특성은 상기 클록 신호의 에지와 상기 제 1 로직 값으로부터 상기 제 2 로직 값으로의 상기 제 2 신호의 트랜지션 사이의 지연 간격에 대응하는,
    CGC의 동작 방법.
  15. 제11항에 있어서,
    상기 래치에 제공되는 인에이블 신호를 조정함으로써 마스터 래치를 클록-게이팅하고 상기 CGC를 비활성화하는 단계를 더 포함하는,
    CGC의 동작 방법.
  16. 제11항에 있어서,
    디바이스의 테스트 동작 모드 동안 상기 CGC의 OR 게이트에 테스트 인에이블 신호를 제공하는 단계를 더 포함하는,
    CGC의 동작 방법.
  17. 제16항에 있어서,
    상기 디바이스의 비-테스트 동작 모드 동안 상기 테스트 인에이블 신호를 조정하는 단계를 더 포함하는,
    CGC의 동작 방법.
  18. 장치로서,
    CGC(clock gating circuit)에서 제 1 신호를 생성하기 위한 수단;
    상기 CGC에서 클록 신호를 수신하기 위한 수단; 및
    상기 클록 신호 및 상기 제 1 신호에 대한 응답으로, 상기 CGC의 지연 회로를 이용하여 마스터 클록 신호를 생성하기 위한 수단을 포함하고,
    상기 마스터 클록 신호의 에지는 슬레이브 클록 신호와 연관된 지연 특성에 기초하여 상기 클록 신호의 에지에 대해 지연되는,
    장치.
  19. 제18항에 있어서,
    상기 신호를 생성하기 위한 수단은 래치를 포함하고,
    상기 클록 신호를 수신하기 위한 수단은 상기 래치, 제 2 래치, NAND(NOT-AND) 게이트, 또는 OR 게이트에 대한 입력 중 하나 또는 그 초과를 포함하는,
    장치.
  20. 제19항에 있어서,
    상기 마스터 클록 신호를 생성하기 위한 수단은 OR 게이트를 포함하는 출력 회로를 포함하는,
    장치.
KR1020187002357A 2015-07-27 2016-06-27 지연 회로를 이용한 클록 게이팅 KR20180034431A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/810,243 2015-07-27
US14/810,243 US9837995B2 (en) 2015-07-27 2015-07-27 Clock gating using a delay circuit
PCT/US2016/039568 WO2017019219A1 (en) 2015-07-27 2016-06-27 Clock gating using a delay circuit

Publications (1)

Publication Number Publication Date
KR20180034431A true KR20180034431A (ko) 2018-04-04

Family

ID=56464289

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187002357A KR20180034431A (ko) 2015-07-27 2016-06-27 지연 회로를 이용한 클록 게이팅

Country Status (7)

Country Link
US (1) US9837995B2 (ko)
EP (1) EP3329341A1 (ko)
JP (1) JP2018529147A (ko)
KR (1) KR20180034431A (ko)
CN (1) CN107850919B (ko)
BR (1) BR112018001592A2 (ko)
WO (1) WO2017019219A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11671086B2 (en) 2019-05-24 2023-06-06 Sony Semiconductor Solutions Corporation Circuit system
TWI723667B (zh) * 2019-12-05 2021-04-01 國立陽明交通大學 低電源雜訊的比較電路
TWI730707B (zh) * 2020-04-01 2021-06-11 瑞昱半導體股份有限公司 時脈閘控單元
CN113497606B (zh) * 2020-04-08 2024-02-23 瑞昱半导体股份有限公司 时脉闸控单元
US11894845B1 (en) * 2022-08-30 2024-02-06 Globalfoundries U.S. Inc. Structure and method for delaying of data signal from pulse latch with lockup latch
WO2024073194A1 (en) * 2022-09-27 2024-04-04 Qualcomm Incorporated Design for testability for fault detection in clock gate control circuits

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100247477B1 (ko) 1997-06-30 2000-03-15 김영환 비중복 2위상 클럭 간의 스큐 조절을 위한 클럭 장치
CN1224217A (zh) * 1998-01-23 1999-07-28 三菱电机株式会社 防止无效数据输出的时钟同步半导体存贮装置
US7170819B2 (en) * 2005-05-04 2007-01-30 Infineon Technologies Ag Integrated semiconductor memory device for synchronizing a signal with a clock signal
US7323909B2 (en) 2005-07-29 2008-01-29 Sequence Design, Inc. Automatic extension of clock gating technique to fine-grained power gating
US20090119631A1 (en) 2007-11-06 2009-05-07 Jordi Cortadella Variability-Aware Asynchronous Scheme for High-Performance Delay Matching
US8103941B2 (en) 2008-03-31 2012-01-24 Globalfoundries Inc. Low overhead soft error tolerant flip flop
US7772889B2 (en) * 2008-04-09 2010-08-10 Globalfoundries Inc. Programmable sample clock for empirical setup time selection
US7772906B2 (en) 2008-04-09 2010-08-10 Advanced Micro Devices, Inc. Low power flip flop through partially gated slave clock
JP2010045483A (ja) 2008-08-11 2010-02-25 Nec Electronics Corp クロックゲーティング回路
US8013654B1 (en) 2008-12-17 2011-09-06 Mediatek Inc. Clock generator, pulse generator utilizing the clock generator, and methods thereof
EP2320565A1 (en) 2009-11-05 2011-05-11 Nxp B.V. A delay component
US8058902B1 (en) * 2010-06-11 2011-11-15 Texas Instruments Incorporated Circuit for aligning input signals
GB2486003B (en) * 2010-12-01 2016-09-14 Advanced Risc Mach Ltd Intergrated circuit, clock gating circuit, and method
US8949652B2 (en) 2011-11-03 2015-02-03 Nvidia Corporation Glitchless programmable clock shaper
CN102857198B (zh) * 2012-08-30 2015-09-30 锐迪科科技有限公司 用于双边沿触发器的时钟门控电路
US20140225655A1 (en) 2013-02-14 2014-08-14 Qualcomm Incorporated Clock-gated synchronizer
US9213358B2 (en) 2013-10-31 2015-12-15 Qualcomm Incorporated Monolithic three dimensional (3D) integrated circuit (IC) (3DIC) cross-tier clock skew management systems, methods and related components

Also Published As

Publication number Publication date
BR112018001592A2 (pt) 2018-09-18
EP3329341A1 (en) 2018-06-06
US20170033775A1 (en) 2017-02-02
US9837995B2 (en) 2017-12-05
JP2018529147A (ja) 2018-10-04
WO2017019219A1 (en) 2017-02-02
CN107850919A (zh) 2018-03-27
CN107850919B (zh) 2021-08-31

Similar Documents

Publication Publication Date Title
KR20180034431A (ko) 지연 회로를 이용한 클록 게이팅
US9720438B2 (en) Clock switch device and system-on-chip having the same
US9564901B1 (en) Self-timed dynamic level shifter with falling edge generator
US8542054B2 (en) Power switch acceleration scheme for fast wakeup
KR101711263B1 (ko) 가변 지연 라인 유닛을 갖는 지연 라인 회로
US9366727B2 (en) High density low power scan flip-flop
EP2898599A1 (en) Clock gating circuit for reducing dynamic power
US10075153B2 (en) Low-power clock-gated synchronizer, a data processing system that incorporates the same and a synchronization method
US8786309B2 (en) Multi-path power switch scheme for functional block wakeup
US8912853B2 (en) Dynamic level shifter circuit and ring oscillator using the same
US9804650B2 (en) Supply voltage node coupling using a switch
US11303268B2 (en) Semi dynamic flop and single stage pulse flop with shadow latch and transparency on both input data edges
US9496851B2 (en) Systems and methods for setting logic to a desired leakage state
JP2010537458A (ja) 論理状態キャッチ回路
US11258446B2 (en) No-enable setup clock gater based on pulse
US9292295B2 (en) Voltage droop reduction by delayed back-propagation of pipeline ready signal
US11496120B2 (en) Flip-flop circuit with glitch protection
US11923845B1 (en) Timing controlled level shifter circuit
JP2007251603A (ja) 半導体集積回路
US9158354B2 (en) Footer-less NP domino logic circuit and related apparatus
JP2008177712A (ja) トライステートバス回路
JP2012182702A (ja) リセット回路および半導体装置
JP2013140884A (ja) Lsi設計方法