KR20180049142A - 플립-플롭들을 이용한 전력 관리 - Google Patents

플립-플롭들을 이용한 전력 관리 Download PDF

Info

Publication number
KR20180049142A
KR20180049142A KR1020187011523A KR20187011523A KR20180049142A KR 20180049142 A KR20180049142 A KR 20180049142A KR 1020187011523 A KR1020187011523 A KR 1020187011523A KR 20187011523 A KR20187011523 A KR 20187011523A KR 20180049142 A KR20180049142 A KR 20180049142A
Authority
KR
South Korea
Prior art keywords
flip
signal
power
flops
flop
Prior art date
Application number
KR1020187011523A
Other languages
English (en)
Other versions
KR101929193B1 (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 KR20180049142A publication Critical patent/KR20180049142A/ko
Application granted granted Critical
Publication of KR101929193B1 publication Critical patent/KR101929193B1/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/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
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/01Details
    • H03K3/012Modifications of generator to improve response time or to decrease power consumption
    • 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
    • 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/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/356008Bistable circuits ensuring a predetermined initial state when the supply voltage has been applied; storing the actual state when the supply voltage fails
    • 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/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits
    • H03K3/3562Bistable circuits of the master-slave type
    • H03K3/35625Bistable circuits of the master-slave type using complementary field-effect transistors

Landscapes

  • Power Sources (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

유지 피처를 가지는 플립-플롭들을 이용하여 전력을 관리하기 위한 집적 회로(IC)가 본원에서 개시된다. 일 예시적 양상에서, IC는 정전력 레일(KPR), 콜랩서블 전력 레일(CPR), 다수의 플립-플롭들(206) 및 전력 관리 회로(306)를 포함한다. 다수의 플립-플롭들의 각각의 플립-플롭(206)은 콜랩서블 전력 레일(CPR)에 커플링된 마스터 부분(302) 및 정전력 레일(KPR)에 커플링된 슬래이브 부분(304)을 포함한다. 전력 관리 회로(306)는 클럭 신호(208)와 유지 신호(210)를 결합형 제어 신호(CCS)로 결합시키고, 결합형 제어 신호를 다수의 플립-플롭들의 각각의 플립-플롭에 제공하도록 구성된다.

Description

플립-플롭들을 이용한 전력 관리
[0001] 본 출원은 "POWER MANAGEMENT WITH FLIP-FLOPS"라는 명칭을 가진, 2015년 9월 24일자로 출원된 미국 특허 출원 번호 제 14/864,101 호의 우선권을 주장하고, 상기 출원은 그 전체가 인용에 의해 본원에 명백하게 포함된다.
[0002] 본 개시내용은 일반적으로 집적 회로(IC)에 배치되는 플립-플롭들을 이용한 전력 관리에 관한 것으로, 더 상세하게는, 라이브 슬래이브(live slave) 부분 및 콜랩서블 마스터(collapsible master) 부분을 포함하는 유지 피처(retention feature)를 가지는 각각의 플립-플롭을 가지는 다수의 플립-플롭들을 제어하는 것에 관한 것이다.
[0003] 전자 디바이스들의 전력 소비는 전자 디바이스 설계에 있어서 점점 더 중요한 인자이다. 세계적 관점에서, 전자 디바이스들의 에너지 수요들은 대기업 데이터 센터들 및 도처에 존재하는 개인용 컴퓨팅 디바이스들로 인해 전체 에너지 사용량의 상당한 비율을 점유한다. 따라서, 환경적 관심사들은 지구의 자원들을 보존하는 것을 돕기 위해 전자 디바이스들의 전력 소비를 감소시키고자 하는 노력들에 대해 동기 부여한다. 개인적 관점에서, 더 낮은 에너지 요금들을 가지기 위한 보편적 요구 이외에, 많은 개인용 컴퓨팅 디바이스들은 배터리들에 의해 전력을 공급받는다. 휴대용 배터리-급전식 전자 디바이스에 의해 소비되는 에너지가 적을수록, 휴대용 디바이스가 배터리를 재충전하지 않고도 더 오래 동작할 수 있다. 더 낮은 에너지 소비는 또한, 더 휴대하기 쉬운 디바이스들을 만들도록 더 소형 배터리들의 사용 및 더 얇은 폼 팩터들의 채택을 가능하게 한다. 그에 따라서, 휴대용 전자 디바이스들의 인기는 또한, 전자 디바이스들의 전력 소비를 감소시키고자 하는 노력들에 대해 동기 부여한다.
[0004] 전자 디바이스는 디바이스가 전력 소스(power source)에 커플링되어 턴 온되면, 전력을 소비한다. 이러한 전력 소비 시나리오는 전체 전자 디바이스에 대해 해당하는 것(true)이지만, 이 소비 시나리오는 또한 전자 디바이스의 개별 부분들에 대해 해당하는 것이기도 하다. 따라서, 전자 디바이스의 부분들이, 심지어 다른 부분들이 전력을 공급받아 턴 온된 채로 유지되는 동안에도 전력으로부터 커플링해제되거나 또는 턴 오프되면, 전력은 절감될 수 있다. 전체 집적 회로(IC) 또는 디스플레이 스크린과 같은 전자 디바이스의 전체 개별 컴포넌트들은 전력으로부터 커플링해제되거나 또는 턴 오프될 수 있다. 마찬가지로, 개별 컴포넌트의 선택된 부분들은 전력 다운(power down)될 수 있다. 예컨대, 집적 회로의 코어와 같은 집적 회로 프로세싱 엔티티는 전력 다운될 수 있다. 집적 회로의 부분들은 사용이 규칙적이지만 불연속적이라면 간헐적으로 전력 다운될 수 있거나, 또는 사용이 일부 임의의 시간 기간 동안 중단된다면 일시적으로 전력 다운될 수 있다.
[0005] 코어와 같은 집적 회로의 부분을 전력 다운시키는 것은 전력을 절약하며 배터리 수명을 연장할 수 있다. 불행하게도, 집적 회로의 코어를 전력 다운시키는 것은 또한 문제들을 발생시킬 수 있다. 예컨대, 전력 다운된 코어를 이용하여 동작들을 재개하는 것은 시간이 걸리며, 이는 성능을 둔화시키며, 사용자 경험에 악영향을 미칠 수 있다. 게다가, 특정 타입들의 컴퓨터 메모리로부터 전력이 제거되면, 동작 데이터(operational data)가 손실될 수 있다. 동작 데이터를 손실하는 것은 애플리케이션들이 문서들 또는 그림들과 같은 사용자 파일들을 재시작하게 또는 영구적으로 손상시키게 강제할 수 있다. 동작 데이터의 손실을 회피하기 위해, 동작 데이터는 집적 회로의 코어가 전력 다운되기 이전에 보다 저속인(slower) 또는 원격 메모리 위치로 이동될 수 있다. 컴퓨팅 태스크를 계속하기 위해 코어를 어웨이크할(awaken) 시간에 도달될 때, 동작 데이터는 추가적 프로세싱을 위해 메모리 위치로부터 리트리브(retrieve)되지만, 이 리트리블 동작(retrieval operation)은 전력 다운 상태로부터의 컴퓨팅 기능의 재개를 지연시킨다.
[0006] 일 예시적 양상에서, 집적 회로가 개시된다. 집적 회로는 정전력 레일, 콜랩서블 전력 레일, 다수의 플립-플롭들 및 전력 관리 회로를 포함한다. 다수의 플립-플롭들의 각각의 플립-플롭은 콜랩서블 전력 레일에 커플링된 마스터 부분 및 정전력 레일에 커플링된 슬래이브 부분을 포함한다. 전력 관리 회로는 클럭 신호와 유지 신호를 결합형 제어 신호로 결합시키고, 결합형 제어 신호를 다수의 플립-플롭들의 각각의 플립-플롭에 제공하도록 구성된다.
[0007] 일 예시적 양상에서, 집적 회로가 개시된다. 집적 회로는 정전력 레일, 콜랩서블 전력 레일 및 다수의 플립-플롭들을 포함한다. 콜랩서블 전력 레일은 콜랩서블 전력 레일이 콜랩스되는 동안 전력으로부터 커플링해제되도록 구성된다. 다수의 플립-플롭들의 각각의 플립-플롭은 콜랩서블 전력 레일에 커플링된 마스터 부분 및 슬래이브 데이터를 저장하도록 구성되고 정전력 레일에 커플링된 슬래이브 부분을 포함한다. 집적 회로는 또한, 유지 신호가 활성 상태인 동안 결합형 제어 신호가 일정한 값으로 클램핑되도록 그리고 유지 신호가 활성 상태가 아닌 동안 결합형 제어 신호가 클럭 신호의 주기를 가지도록 주기적이도록, 클럭 신호 및 유지 신호에 기반하여 결합형 제어 신호를 생성하기 위한 수단을 포함한다. 집적 회로는 결합형 제어 신호를 다수의 플립-플롭들의 각각의 플립-플롭으로 분배하도록 구성된 회로를 더 포함한다.
[0008] 일 예시적 양상에서, 플립-플롭들의 전력 관리를 위한 방법이 개시된다. 방법은 콜랩서블 전력 레일을 이용하여 다수의 플립-플롭들의 각각의 마스터 부분에 전력을 공급하는 단계 및 정전력 레일을 이용하여 다수의 플립-플롭들의 각각의 슬래이브 부분에 전력을 공급하는 단계를 포함한다. 방법은 또한, 결합형 제어 신호를 생성하기 위해 클럭 신호와 유지 신호를 결합시키는 단계를 포함한다. 방법은 콜랩서블 전력 레일의 전력 콜랩스 동안 다수의 플립-플롭들의 각각의 슬래이브 부분의 슬래이브 데이터를 유지하기 위해 결합형 제어 신호를 다수의 플립-플롭들에 제공하는 단계를 더 포함한다.
[0009] 일 예시적 양상에서, 집적 회로가 개시된다. 집적 회로는 제1 플립-플롭, 제2 플립-플롭 및 전력 관리 회로를 포함한다. 제1 플립-플롭은 마스터 부분 및 슬래이브 부분을 포함하며, 마스터 부분은 전력 콜랩스를 겪도록 구성되고, 슬래이브 부분은 전력 콜랩스 동안 슬래이브 데이터를 유지하도록 구성된다. 제2 플립-플롭은 또한, 마스터 부분 및 슬래이브 부분을 포함하며, 마스터 부분은 전력 콜랩스를 겪도록 구성되고, 슬래이브 부분은 전력 콜랩스 동안 슬래이브 데이터를 유지하도록 구성된다. 전력 관리 회로는 클럭 신호 및 유지 신호에 기반하여 결합형 제어 신호를 생성하도록 구성된다. 전력 관리 회로는 결합형 제어 신호를 제1 플립-플롭에 그리고 제2 플립-플롭에 제공하도록 추가로 구성되며, 결합형 제어 신호는, 제1 플립-플롭의 슬래이브 부분 및 제2 플립-플롭의 슬래이브 부분으로 하여금, 전력 콜랩스 동안 슬래이브 데이터를 유지하게 하도록 구성된 값을 가진다.
[0010] 도 1은 집적 회로(IC)를 포함하는 예시적 전자 디바이스를 도시한다.
[0011] 도 2는 2개의 전력 레일들, 다수의 플립-플롭들 및 상이한 타입들의 신호들을 포함하는 예시적 IC 부분을 도시한다.
[0012] 도 3은 전력 콜랩스 환경에서 전력 관리 회로와 다수의 플립-플롭들에 대한 예시적 유지 제어 어레인지먼트(arrangement)를 도시한다.
[0013] 도 4는 마스터 부분 및 슬래이브 부분을 포함하는 예시적 플립-플롭을 도시한다.
[0014] 도 5는 클럭 게이팅 회로 및 결합 회로를 포함하는 전력 관리 회로의 예를 도시한다.
[0015] 도 6은 클럭 게이팅 회로의 예 및 결합 회로의 예를 도시한다.
[0016] 도 7은 결합 회로에 대한 NOR 게이트의 예시적 구현을 위한 4개의 디바이스들을 포함하는 회로를 도시한다.
[0017] 도 8은 활성 하이(active high) 리셋 신호에 대한 응답으로 리셋가능한 다수의 플립-플롭들에 대한 전력 콜랩스 환경에서의 예시적 리셋 제어 어레인지먼트를 도시한다.
[0018] 도 9는 활성 로우(active low) 리셋 신호에 대한 응답으로 리셋가능한 다수의 플립-플롭들에 대한 전력 콜랩스 환경에서의 예시적 리셋 제어 어레인지먼트를 도시한다.
[0019] 도 10은 플립-플롭들을 이용한 전력 관리를 위한 예시적 프로세스를 예시하는 흐름 다이어그램이다.
[0020] 완전한 미-사용의 시간들 동안, 전체 집적 회로(IC)는 에너지 소비를 감소시키기 위해 전력 다운될 수 있다. 집적 회로의 적어도 일부를 전력 다운시키는 것은 "전력 콜랩스"라 칭해진다. 그러나, 다른 시간들에서, 집적 회로의 선택된 부분들, 이를테면, 하나 또는 그 초과의 코어들은 프로세싱, 저장 또는 통신하기 위해 사용될 수 있는 반면, 다른 코어들은 유휴 상태이다. 집적 회로가 전체적으로 전력 다운될 수 없다면, 하나 또는 그 초과의 코어들은 다른 코어들과 독립적으로 전력 다운될 수 있다. 예컨대, 집적 회로가 스크린 상에 디스플레이되는 것을 변경하기 이전에 추가적 데이터 또는 사용자 입력을 기다리고 있다면, GPU(graphics processing unit) 코어는 전력 다운될 수 있다. 유휴 상태인 모뎀은 착신(incoming) 또는 발신(outgoing) 통신들 사이에서 전력 다운될 수 있다. 또한, 메모리의 절반이 사용되지 않는다면, 사용되지 않는 메모리 절반은 전력 다운될 수 있는 반면, 나머지 절반은 계속 전력을 공급받는다.
[0021] 집적 회로의 코어는 많은 플립-플롭들을 포함할 수 있다. 또한 간단히 플롭이라 칭해질 수 있는 플립-플롭(FF)은 1비트의 동작 데이터를 저장하는 컴퓨팅 메모리의 유닛이다. 플립-플롭은 마스터 부분 및 슬래이브 부분을 포함할 수 있으며, 여기서, 데이터는 내부적으로 마스터 부분으로부터 슬래이브 부분으로 전달된다. 클럭된(clocked) 플립-플롭들은 마스터 부분에 저장된 데이터가 클럭 신호의 펄스들에 대한 응답으로 슬래이브 부분에 전달되도록 구성된다.
[0022] 플립-플롭들은 비교적 고속 메모리 유닛들이며, 매우 빈번하게 사용된다. 플립-플롭들은 또한, 이를테면, 플립-플롭들을 포함하는 대응하는 집적 회로의 전력 콜랩스를 통해 전력 다운되면 저장된 데이터를 포기하는 휘발성 메모리이다. 그에 따라서, 플립-플롭들을 포함하는 코어들을 주의 깊게 관리하기 위해 전력 관리 기법들이 활용될 수 있다. 전력 콜랩스를 겪는 코어의 플립-플롭들에 저장된 데이터의 손실을 방지하기 위해, 저장된 데이터는 전력 없이 데이터를 유지하는 비-휘발성 메모리로 또는 전력 다운되지 않는 다른 코어로 이동될 수 있다. 이어서, 리로케이팅된(relocated) 데이터는 코어가 다시 전력 업된 이후에 플립-플롭들로 리턴된다. 그러나, 이러한 접근법은 시간이 걸리며, 점유된 칩 영역 및 신호 라우팅 혼잡의 측면에서 집적 회로에 대해 자원 집약적이다.
[0023] 일부 플립-플롭들은 대응하는 코어의 전력 콜랩스 동안 데이터를 유지할 수 있는 플립-플롭을 렌더링하는 유지 피처를 포함한다. 그러한 플립-플롭은 유지 플립-플롭(RFF)으로 지칭된다. 유지 플립-플롭은 추가적 연관된 래치 및 2개의 레벨 시프터들을 가지는 플립-플롭으로서 실현될 수 있다. 추가적 래치는 벌룬(balloon) 래치 또는 섀도우(shadow) 래치로 지칭된다. 마스터 부분 및 슬래이브 부분이 전력 콜랩스를 겪을 때, 벌룬 래치는 플립-플롭의 슬래이브 부분에 대한 데이터를 저장하도록 적응된다. 전력 콜랩스 이후에, 벌룬 래치는 데이터를 플립-플롭의 슬래이브 부분으로 리턴한다. 그러나, 벌룬 래치들을 가지는 유지 플립-플롭들은 커서, 어떠한 유지 피처도 가지지 않는 표준 플립-플롭의 영역의 3배 만큼 많은 영역을 점유한다. 유지 플립-플롭은 또한, 마스터 부분 및 슬래이브 부분 둘 모두가 코어의 정전력 레일에 커플링되는 플립-플롭으로서 실현될 수 있다. 정전력 레일은 전력 콜랩스 동안 전력을 유지 플립-플롭에 계속 제공한다. 콜랩서블 전력 레일 대신에 커플링된 다른 회로는 대응하는 코어가 전력 콜랩스를 겪을 때 전력을 손실한다.
[0024] 후자의 접근법은 벌룬 래치를 사용하는 전자의 접근법보다 더 소형인 유지 플립-플롭을 초래하지만, 마스터 부분 및 슬래이브 부분 둘 모두는 후자의 접근법에 따라 전력 콜랩스 이벤트 동안 계속 전력을 공급받는다. 마스터 부분 또는 슬래이브 부분 중 하나가 전력 콜랩스를 겪을 것인 반면 다른 부분은 계속 전력을 공급받는다면, 이러한 후자의 접근법을 통해 전력 절약들이 달성될 수 있다. 예컨대, 마스터 부분에 저장된 데이터에 의존하지 않고 플립-플롭의 슬래이브 부분에 안전하게 저장된 동작 데이터를 사용하여 컴퓨팅 활동의 재개가 달성될 수 있다. 따라서, 마스터 부분은 전력 콜랩스를 겪을 수 있는 반면, 슬래이브 부분은 계속 전력을 공급받을 수 있다.
[0025] 불행하게도, 마스터 부분을 콜랩서블 전력 레일에 간단히 커플링시키고 마스터부분이 전력 콜랩스를 겪을 수 있게 하는 것은 문제가 있다. 마스터 부분이 전력 콜랩스를 겪으면, 마스터 부분의 데이터에 대한 전압 신호 값은 전압 레벨이 접지쪽으로 저하됨에 따라 불확실하다. 전력 콜랩스 동안 마스터 데이터에 대한 전압 레벨이 저하되면, 저하된 전압 레벨은 전력 콜랩스 동안 또는 그 결과로서 슬래이브 부분으로 전파됨으로써 계속 전력을 공급받는 대응하는 슬래이브 부분을 감염시킬 수 있다. 결과적으로, 전력을 공급받는 슬래이브 부분에 의해 저장된 데이터에 대한 전압 신호 값들은 손상되어 알려지지 않은 상태로 변경될 수 있다. 이어서, 손상된 데이터는 전력 콜랩스가 종료된 이후에 재개되는 태스크들을 컴퓨팅하는 데 불리하게 사용된다. 그러나, 마스터 부분과 슬래이브 부분 사이의 격리가 전력 콜랩스 동안 정확하게 유지되면, 저하된 전압 레벨은 마스터 부분 내에서 또는 슬래이브 부분으로부터 적어도 떨어져 격리될 수 있다.
[0026] 하나 또는 그 초과의 실시예들은 유지 피처를 가지는 플립-플롭의 슬래이브 부분이 전력 콜랩스 동안 플립-플롭의 마스터 부분으로부터 격리되는 것을 가능하게 하여서, 슬래이브 부분의 슬래이브 데이터는 유지되는 반면 마스터 부분은 전력 콜랩스를 겪는다. 마스터 부분 및 슬래이브 부분은 상이한 전력 레일들에 커플링된다. 구체적으로, 마스터 부분은 콜랩서블 전력 레일에 커플링되고, 슬래이브 부분은 정전력 레일에 커플링된다. 격리 회로는 클램핑가능한 클럭 신호와 함께 활성 유지 신호에 대한 응답으로 마스터 부분으로부터 슬래이브 부분을 격리한다.
[0027] 이러한 방식으로, 플립-플롭의 슬래이브 부분의 슬래이브 데이터는 유지되는 반면 플립-플롭의 마스터 부분은 전력 콜랩스를 겪도록 허용되는 유지 피처가 플립-플롭에 제공된다. 이 유지 피처는, 격리 회로가 유지 기간 동안 마스터 데이터의 격리를 설정하기 위해 정확한 상태 또는 조건에 놓이면 슬래이브 데이터로부터 마스터 데이터를 격리하는 격리 회로를 사용하여 가능해질 수 있다.
[0028] 따라서, 격리 제어 기능은 전력 콜랩스 이벤트 동안 마스터 데이터를 격리하기 위해 정확한 상태에서 격리 회로를 유지한다. 일 접근법에서, 격리 제어는 각각의 플립-플롭 내에 로케이팅될 수 있다. 불행하게도, 각각의 플립-플롭 내부의 각각의 격리 회로에 대한 별개의 개별 격리 제어를 가지는 것은 집적 회로 칩 상에 상당한 오버헤드 영역 패널티를 생성한다. 게다가, 클럭 신호에 대한 별개의 개별 라인 및 유지 신호에 대한 별개의 개별 라인 둘 모두는 그러한 접근법을 이용하여 각각의 플립-플롭으로 라우팅된다. 대안적 접근법에서, 다수의 플립-플롭들의 개개의 플립-플롭들에 대해, 개개의 슬래이브 부분들로부터 개개의 마스터 부분들을 격리하는 다수의 격리 회로들은 다수의 플립-플롭들 외부에 로케이팅된 공유 전력 관리 회로에 의해 공동으로 제어될 수 있다.
[0029] 하나 또는 그 초과의 실시예들은 유지 피처를 가지는 다수의 플립-플롭들이, 이를테면, 집적 회로에 대한 클럭 트리에서, 다수의 플립-플롭들의 각각의 플립-플롭 외부에 있는 전력 관리 회로를 공유하는 것을 가능하게 한다. 공유 전력 관리 회로는 다수의 플립-플롭들의 내부에 있는 격리 회로를 제어한다. 전력 관리 회로는 결합형 제어 신호를 생성하기 위해 클럭 신호와 유지 신호를 결합시킨다. 전력 관리 회로는, 각각의 플립-플롭의 격리 회로로 하여금, 다수의 플립-플롭들의 대응하는 슬래이브 부분들로부터 마스터 부분들을 격리하게 하기 위해 결합형 제어 신호를 다수의 플립-플롭들에 제공한다. 결합형 제어 신호는 클럭 신호 및 유지 신호에 대한 별개의 개별 라인들을 사용하는 것 대신에 전력 관리 회로로부터 다수의 플립-플롭들의 각각의 플립-플롭으로 라우팅된다. 따라서, 공유 전력 관리 회로와 다수의 유지 플립-플롭들 사이의 신호 라우팅은 대략 50%만큼 감소될 수 있다.
[0030] 이러한 방식으로, 플립-플롭들은 집적 회로 칩 상의 영역을 절약하기 위해 다수의 플립-플롭들에 의해 공유되는 외부 전력 관리 회로에 의해 제어되는 유지 피처를 포함하는 플립-플롭이 제공된다. 그에 따라서, 플립-플롭들의 슬래이브 부분들은, 플립-플롭들의 개별 플립-플롭들에서의 격리 제어를 위한 회로 디바이스들을 포함하지 않고 그리고 전력 콜랩스를 위한 유지 모드의 제어 시그널링을 위해 사용되는 다수의 와이어 트레이스들로부터의 증가된 혼잡을 가지지 않고 대응하는 마스터 부분들로부터 격리될 수 있다.
[0031] 예시적 구조에서, 집적 회로는 콜랩서블 전력 레일, 정전력 레일, 다수의 플립-플롭들 및 전력 관리 회로를 포함한다. 다수의 플립-플롭들의 각각의 플립-플롭은 마스터 부분, 슬래이브 부분 및 격리 회로를 포함한다. 격리 회로는 플립-플롭의 마스터 부분 또는 슬래이브 부분의 일부이거나 또는 부분들 둘 모두로부터 분리될 수 있다. 동작 시에, 다수의 플립-플롭들 외부에 있는 전력 관리 회로는 클럭 신호 및 유지 신호에 기반하여 결합형 제어 신호를 생성한다. 결합형 제어 신호는 전력 콜랩스 동안 다수의 플립-플롭들의 각각의 대응하는 마스터 부분으로부터 각각의 슬래이브 부분을 격리하기 위해 단일 신호 라인을 사용하여 격리 회로에 제공될 수 있다. 격리는 슬래이브 부분의 슬래이브 데이터가 마스터 부분에 대한 전력 콜랩스의 영향들에 의해 변경되는 것으로부터 보호되게 한다.
[0032] 단지 예로서, 다수의 플립-플롭들 외부에 있는 전력 관리 회로는 전력 콜랩스로 인해 발생할 수 있는 클럭 신호로의 변경으로부터 다수의 플립-플롭들을 적어도 부분적으로 격리하기 위해 유지 신호에 대한 응답으로 클럭 신호를 클램핑하도록 구성될 수 있다. 유사하게, 리셋 회로는 전력 콜랩스로 인해 발생할 수 있는 리셋 신호로의 변경으로부터 다수의 플립-플롭들을 적어도 부분적으로 격리하기 위해 유지 신호에 대한 응답으로 리셋 신호를 클램핑하도록 구성될 수 있다. 비슷하게, 셋 회로(set circuitry)는 전력 콜랩스로 인해 발생할 수 있는 셋 신호로의 변경으로부터 다수의 플립-플롭들을 적어도 부분적으로 격리하기 위해 유지 신호에 대한 응답으로 셋 신호를 클램핑하도록 구성될 수 있다. 마찬가지로, 리셋 회로 및 셋 회로는, 칩 영역을 절약하고 와이어 트레이스 혼잡을 감소시키기 위해 다수의 플립-플롭들 외부에 로케이팅되며, 다수의 플립-플롭들에 의해 공유될 수 있다.
[0033] 도 1은 집적 회로(IC)(110)를 포함하는 예시적 전자 디바이스(102)를 도시한다. 도시되는 바와 같이, 전자 디바이스(102)는 IC(110) 이외에, 안테나(104), 트랜시버(106), 및 사용자 입력/출력(I/O) 인터페이스(108)를 포함한다. IC(110)의 예시되는 예들은 마이크로프로세서(112), GPU(graphics processing unit)(114), 메모리 어레이(116) 및 모뎀(118)을 포함한다.
[0034] 전자 디바이스(102)는 동작 동안 전기 그리드에 의해 전력을 공급받도록 설계되는 이동식 또는 배터리-급전식 디바이스 또는 고정식 디바이스일 수 있다. 전자 디바이스(102)의 예들은 서버 컴퓨터, 네트워크 스위치 또는 라우터, 데이터 센터의 블레이드, 개인용 컴퓨터, 데스크탑 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 스마트폰, 엔터테인먼트 기기 또는 웨어러블 컴퓨팅 디바이스, 이를테면, 스마트시계, 지능형 안경 또는 의류 물품을 포함한다. 전자 디바이스(102)는 또한 임베딩된 전자 기기를 가지는 디바이스 또는 이의 일부분일 수 있다. 임베딩된 전자 기기를 가지는 전자 디바이스(102)의 예들은 승용차, 산업 장비, 냉장고 또는 다른 가정용 전자 기기, 드론 또는 다른 UAV(unmanned aerial vehicle), 또는 전동 공구를 포함한다.
[0035] 무선 능력을 가지는 전자 디바이스의 경우, 전자 디바이스(102)는 하나 또는 그 초과의 무선 신호들의 수신 또는 송신을 가능하게 하기 위해 트랜시버(106)에 커플링된 안테나(104)를 포함한다. IC(110)는 트랜시버(106)에 커플링되어서, IC(110)가, 수신된 무선 신호들에 액세스하는 것 또는 안테나(104)를 통해 송신을 위한 무선 신호들을 제공하는 것을 가능하게 할 수 있다. 도시되는 바와 같은 전자 디바이스(102)는 또한 적어도 하나의 사용자 I/O 인터페이스(108)를 포함한다. 사용자 I/O 인터페이스(108)의 예들은 키보드, 마우스, 마이크로폰, 터치-감응형 스크린, 카메라, 가속도계, 햅틱 메커니즘, 스피커, 디스플레이 스크린 및 프로젝터를 포함한다.
[0036] IC(110)는, 예컨대, 마이크로프로세서(112), GPU(114), 메모리 어레이(116), 모뎀(118) 등의 하나 또는 그 초과의 사례들을 포함할 수 있다. 마이크로프로세서(112)는 CPU(central processing unit) 또는 다른 범용 프로세서로서 기능할 수 있다. 일부 마이크로프로세서들은 개별적으로 전력 온 또는 오프될 수 있는 상이한 부분들, 이를테면, 다수의 프로세싱 코어들을 포함한다. GPU(114)는 특히, 사람에게 디스플레이될 시각-관련 데이터를 프로세싱하도록 적응될 수 있다. 시각-관련 데이터가 프로세싱 또는 렌더링되지 않고 있다면, GPU(114)는 전력 다운될 수 있다. 메모리 어레이(116)는 마이크로프로세서(112), GPU(114) 또는 사용자 파일들에 대한 데이터를 저장한다. 메모리 어레이(116)에 대한 메모리의 예시적 타입들은 DRAM(dynamic RAM) 또는 SRAM(static RAM)과 같은 RAM(random access memory), 플래시 메모리 등을 포함한다. 프로그램들이 메모리에 저장된 데이터에 액세스하고 있지 않다면, 메모리 어레이(116)는 전력 다운될 수 있다. 모뎀(118)은 정보를 신호로 인코딩하기 위해 신호를 변조하거나, 또는 인코딩된 정보를 추출하기 위해 신호를 복조한다. 아웃바운드(outbound) 또는 인바운드(inbound) 통신들을 위해 인코딩 또는 디코딩할 어떠한 정보도 존재하지 않는다면, 모뎀(118)은 전력 소비를 감소시키기 위해서 유휴 상태일 수 있다. IC(110)는 도시되는 부분들 이외의 추가적 또는 대안적 부분들, 이를테면, I/O 인터페이스, 트랜시버 또는 수신기 체인의 다른 부분, ASIC(application-specific integrated circuit)와 같은 커스터마이징된 또는 하드-코딩된 프로세서, 가속도계와 같은 센서 등을 포함할 수 있다.
[0037] IC(110)는 또한 SOC(system on a chip)를 포함할 수 있다. SOC는 그 SOC가 노트북, 모바일 폰, 또는 독점적으로 또는 주로 하나의 칩을 사용하는 다른 전자 장치로서 컴퓨테이셔널 기능을 제공하는 것을 가능하게 하기에 충분한 수 또는 타입의 컴포넌트들을 통합할 수 있다. SOC의 컴포넌트들 또는 IC(110)는 일반적으로 블록들 또는 코어들로 지칭될 수 있다. 코어들 또는 회로 블록들의 예들은 전압 조정기, 메모리 어레이, 메모리 제어기, 범용 프로세서, 암호 프로세서, 모뎀, 벡터 프로세서, I/O 인터페이스 또는 통신 제어기, 무선 제어기 및 GPU를 포함한다. 이러한 코어들 또는 회로 블록들 중 임의의 것, 이를테면, 프로세서 또는 GPU 코어는 다수의 내부 코어들을 더 포함할 수 있다. SOC의 코어는 본 문서에 설명되는 기법들에 따라, 사용 중이지 않은 경우에는 전력 다운될 수 있다.
[0038] 도 2는 다수의 플립-플롭들(206-1 내지 206-8)을 포함하고 상이한 타입들의 신호들을 활용하는 예시적 IC 부분(200)을 도시한다. 예시되는 바와 같이, IC 부분(200)은 콜랩서블 전력 레일(202)(CPR), 정전력 레일(204)(KPR), 8개의 플립-플롭들(206-1 내지 206-8) 및 플립-플롭들의 서브세트를 포함하는 플립-플롭 트레이(218)를 포함한다. IC 부분(200)은 클럭 신호(208), 유지 신호(210) 및 리셋 신호(212)를 더 포함하거나 또는 그렇지 않으면 이들을 사용한다. IC 부분(200)은 또한 전력 콜랩스(216)를 경험한다. 플립-플롭들은 상이한 프로세싱 태스크들을 위해 데이터가 저장될 다양한 위치들에서 IC 부분(200) 주위에 분포된다.
[0039] 플립-플롭은 플립-플롭(206-7) 또는 플립-플롭(206-8)과 같이, IC 부분(200)에 단독으로 배치될 수 있다. 대안적으로, 플립-플롭들은, 플립-플롭(206-6)에 근접하게 배치되는 플립-플롭(206-5)과 같이, 함께 배치될 수 있다. 플립-플롭들은 또한, 플립-플롭 트레이 또는 간단히 플롭 트레이로 지칭되는 플립-플롭 동작 그룹과 함께 동작 그룹으로 배치될 수 있다. 플립-플롭 트레이는 다수의 플립-플롭들 사이에 회로 또는 제어 시그널링, 이를테면, IC의 스캔 테스팅을 가능하게 하는 회로를 공유할 수 있다. 플립-플롭 트레이 내의 플립-플롭들의 총 수는 2개, 4개, 8개, 10개, 16개, 17개, 32개 등일 수 있다. 도시되는 바와 같이, 플립-플롭 트레이(218)는 플립-플롭(206-1), 플립-플롭(206-2), 플립-플롭(206-3) 및 플립-플롭(206-4)을 포함한다.
[0040] 하나 또는 그 초과의 실시예들에 대해, 콜랩서블 전력 레일(202) 및 정전력 레일(204)은 주어진 전압으로 유지되며, 도시되지 않은 PMIC(power management IC)에 의해 전력을 공급받는다. PMIC는 IC 부분(200)의 것과 동일한 IC 내부 또는 외부에 있을 수 있다. PMIC는 전압 변환 또는 전압 조정을 통해 특정 전압 레벨들에서 전력 레일들에 안정된 전압들을 공급하도록 구성된다. 정전력 레일(204)은 정상 동작 동안 전력을 유지하도록 구성된다. 한편, 콜랩서블 전력 레일(202)은 전력 콜랩스 이벤트를 가능하게 하기 위해 정상 동작 동안 전력으로부터 커플링해제되도록 구성된다. 전력이 콜랩서블 전력 레일(202)로부터 제거되면, 콜랩서블 전력 레일(202)에 커플링된 회로는 전력 콜랩스(216)로 표현되는 전력 콜랩스 이벤트를 겪는다.
[0041] 더 구체적으로, 콜랩서블 전력 레일(202)이 전력 소스로부터 연결해제되면, 콜랩서블 전력 레일(202)은 전력 콜랩스(216)를 겪을 수 있다. 연결해제는 전력 소스와 콜랩서블 전력 레일(202) 사이에 커플링된 스위치를 사용하여 또는 전력 소스를 턴 오프시킴으로써 내부적으로 또는 외부적으로 달성될 수 있다. 콜랩서블 전력 레일(202)이 전력 소스로부터 연결해제되면, 콜랩서블 전력 레일(202) 상의 전압은 떨어지기 시작하며, 결국 접지 전위에 도달한다. 명료함을 위해 그리고 하나의 전력 레일을 다른 전력 레일과 구별하기 위해, 전력 레일(204)은 정전력 레일(204)이라 칭해진다. 그러나, 정전력 레일(204)이 콜랩서블하다. 예컨대, IC 부분(200)을 포함하는 디바이스가 완전히 전력 다운되면, 정전력 레일(204)은 전력 콜랩스를 겪는다. 추가적으로, 가끔, 대안적 전력 관리 시나리오는 콜랩서블 전력 레일(202) 및 정전력 레일(204)을 콜랩스하는 것을 수반할 수 있다.
[0042] 이러한 특정 예에서, 3개의 제어 신호들은 화살표와 같이 도 2의 하부 근처에 표현된다. 플립-플롭 동작과 관련하여, 클럭 신호(208)는 플립-플롭의 입력으로부터, 도 2에 명시적으로 도시되지 않은 플립-플롭의 마스터 및 슬래이브 부분들을 통해 플립-플롭의 출력으로 데이터를 전진시킨다(advance). 유지 신호(210)는 데이터가 전력 콜랩스(216) 동안 유지되게 하기 위해 활성 상태로 구동되거나 또는 활성 상태에 놓인다. 활성 유지 신호(210)는 유지 플립-플롭들의 대응하는 유지 피처들을 활성화시킨다. 유지 플립-플롭을 포함하는 플립-플롭은 리셋 또는 리셋가능한 플립-플롭을 포함할 수 있다. 활성 리셋 신호(212)는 리셋 피처를 가지는 플립-플롭들로 하여금 알려진 상태, 이를테면, 0 또는 1로 리셋되게 한다. 따라서, 리셋 신호(212)가 활성 상태이며, 리셋 플립-플롭에 적용되면, 리셋 플립-플롭은 플립-플롭의 내부 구조에 따라 0 또는 1의 알려진 출력을 생성한다. 리셋 플립-플롭은 도 8 및 도 9를 참조하여 설명되는 바와 같이, 활성 하이 또는 활성 로우인 리셋 신호(212)에 응답할 수 있다.
[0043] 클럭된 플립-플롭들은 클럭 신호(208)에 적어도 부분적으로 기반하여 동작한다. 유지 플립-플롭들은 유지 신호(210)에 적어도 부분적으로 기반하여 동작한다. 리셋 플립-플롭들은 리셋 신호(212)에 적어도 부분적으로 기반하여 동작한다. 하나 또는 그 초과의 결합형 또는 클램핑가능한 제어 신호들은 적절한 플립-플롭 기능을 가능하게 하기 위해, 도 2에서 명시적으로 예시되지 않은 다수의 플립-플롭들(206-1 내지 206-8) 또는 이들의 제어 디바이스들 각각으로 라우팅된다. 제어 회로 또는 제어 시그널링을 공유함으로써, 전력 소비 또는 온-칩 자원 활용의 관점에서 효율성이 증가될 수 있다. 실시예들은, 더 낮은 전력 소비가 주어진 수의 유지 플립-플롭들에 대한 전력 관리 회로에 의해 점유된 칩 영역을 감소시키거나 또는 다수의 플립-플롭들의 전력 관리를 위해 제어 신호들을 라우팅하는 와이어 트레이스들의 복잡성 및 혼잡을 감소시키는 것으로 본원에서 설명된다.
[0044] 도 3은 전력 콜랩스(216)가 발생할 수 있는 환경에서 다수의 플립-플롭들(206-1 내지 206-4) 및 전력 관리 회로(306)에 대한 예시적 유지 제어 어레인지먼트(300)를 도시한다. 예시되는 바와 같이, 유지 제어 어레인지먼트(300)는 콜랩서블 전력 레일(202), 정전력 레일(204), 다수의 플립-플롭들(206-1 내지 206-4), 전력 관리 회로(306) 및 리셋 회로(312)를 포함한다. 유지 제어 어레인지먼트(300)는 클럭 신호(208), 유지 신호(210), 리셋 신호(212) 및 결합형 제어 신호(308)(CCS)와 같은 다양한 제어 신호들을 더 포함한다. 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 플립-플롭(206)은 마스터 부분(302), 슬래이브 부분(304) 및 격리 회로(310)를 포함한다.
[0045] 하나 또는 그 초과의 실시예들에 대해, 각각의 플립-플롭(206)의 마스터 부분(302)은 슬래이브 부분(304)과 상이한 전력 레일에 의해 전력을 공급받는다. 이러한 특정 예에서, 마스터 부분(302)은 콜랩서블 전력 레일(202)에 커플링되며, 이에 의해 전력을 공급받는다. 슬래이브 부분(304)은 정전력 레일(204)에 커플링되며, 이에 의해 전력을 공급받는다. 전력 관리 회로(306)는 클럭 신호(208)와 유지 신호(210)를 결합형 제어 신호(308)로 결합시키도록 구성된다. 전력 관리 회로(306)는 또한 결합형 제어 신호(308)를 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 플립-플롭(206)에 제공하도록 구성된다. 예시적 구현에 대해, 전력 관리 회로(306)는 클럭 신호(208) 및 유지 신호(210)에 기반하여 결합형 제어 신호(308)를 생성하기 위한 수단을 제공한다.
[0046] 전력 관리 회로(306)는 전력 콜랩스(216) 동안 결합형 제어 신호(308)를 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 플립-플롭(206)에 제공하도록 구성된다. 그렇게 수행하는 것은 격리 회로(310)를 사용하여 각각의 플립-플롭(206)의 마스터 부분(302)으로부터 슬래이브 부분(304)을 격리한다. 예시적 구현을 위해, 격리 회로(310)는 각각의 플립-플롭(206)의 마스터 부분(302)으로부터 슬래이브 부분(304)을 격리하기 위한 수단을 제공한다. 더 구체적으로, 결합형 제어 신호(308)를 수신하는 것에 대한 응답으로, 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 플립-플롭(206)은, 아래에서 더 상세하게 설명되는 바와 같이, 전력 콜랩스(216) 동안 슬래이브 부분(304)의 출력에서 슬래이브 데이터를 유지하기 위해 슬래이브 부분(304)으로부터 마스터 부분(302)을 격리하도록 구성된다. 슬래이브 데이터의 유지는 특히 도 4-6을 참조하여 본원에서 설명된다. 적어도 일부 실시예들에서, 유지 신호(210)의 상태에 대한 응답으로, 전력 관리 회로(306)는 전력 콜랩스(216) 동안 일정한 값, 이를테면, 0 또는 1로 결합형 제어 신호(308)를 클램핑하도록 구성된다. 클램핑은 유지 신호(210)의 활성 상태, 이를테면, 어서트된(asserted) 상태 또는 고전압 레벨에 대한 응답으로 수행될 수 있다. 결합형 제어 신호(308)를 생성 및 유지하는 것에 대한 추가적 설명은 특히 도 5 및 도 6을 참조하여 본원에서 제공된다.
[0047] 유지 제어 어레인지먼트(300)는 또한 리셋 신호(212) 및 리셋 회로(312)를 포함한다. 도 3에서 예시되는 바와 같이, 리셋 회로(312)는 또한 유지 신호(210)를 수신할 수 있다. 리셋 회로(312)는 유지 신호(210)와 리셋 신호(212)를 결합시킨다. 리셋 회로(312)의 출력(도 3에 도시되지 않음)은 전력 콜랩스(216) 동안 의도되지 않은 리셋 동작의 발생을 방지하기 위해 다수의 플립-플롭들(206-1 내지 206-4)의 동작을 적어도 부분적으로 제어할 수 있다. 리셋 회로(312)의 예시적 양상들은 특히 도 8 및 도 9를 참조하여 본원에서 추가로 설명된다.
[0048] 플립-플롭 전력 관리의 특정 원리들이 도 3의 다수의 플립-플롭들(206-1 내지 206-4)을 참조하여 본원에서 설명되지만, 원리들은 임의의 특정 수의 플립-플롭들로도 또는 도 2의 플립-플롭 트레이(218)와 같은 플립-플롭 트레이를 형성하는 다수의 플립-플롭들로도 제한되지 않는다. 또한, 각각의 플립-플롭(206)의 격리 회로(310)는 단지 예로서 마스터 부분(302) 및 슬래이브 부분(304)으로부터 분리된 것으로 도 3에서 예시된다. 대안적으로, 격리 회로(310) 또는 이의 하나 또는 그 초과의 회로 디바이스들은 마스터 부분(302) 또는 슬래이브 부분(304)의 일부일 수 있다.
[0049] 도 4는, 일반적으로 400에서, 콜랩서블 전력 레일(202) 및 정전력 레일(204)에 각각 동작가능하게 연결된 마스터 부분(302) 및 슬래이브 부분(304)을 포함하는 예시적 플립-플롭(206)을 도시한다. 스위치(430)는 콜랩서블 전력 레일(202)과 정전력 레일(204) 사이에 제공된다. 스위치(430)가 여기에 도시되는 바와 같이 개방 포지션에 있을 때, 전력 콜랩스가 발생할 수 있다. 마스터 부분(302) 및 슬래이브 부분(304) 이외에, 플립-플롭(206)은 입력("D")(432), 출력("Q")(434), 제1 인버터(418) 및 제2 인버터(428)를 포함한다. 도시되는 바와 같이, 마스터 부분(302) 및 슬래이브 부분(304)은 각각 2개의 패스 게이트들 및 2개의 인버터들을 포함한다. 이러한 8개의 회로 디바이스들이 아래에서 설명된다. 마스터 부분(302)은 또한, 마스터 부분(302)의 출력에 마스터 데이터(402)를 포함하고, 슬래이브 부분(304)은 또한, 슬래이브 부분(304)의 출력에 슬래이브 데이터(404)를 포함한다.
[0050] 하나 또는 그 초과의 실시예들에 대해, 플립-플롭(206)의 마스터 부분(302) 및 대응하는 슬래이브 부분(304)은 직렬로 배열된다. 플립-플롭(206)의 입력(432)은 마스터 부분(302)의 입력과 일치한다. 마스터 데이터(402)는 마스터 부분(302)의 출력에 로케이팅된다. 마스터 부분(302)의 출력은 슬래이브 부분(304)의 입력과 일치한다. 슬래이브 데이터(404)는 슬래이브 부분(304)의 출력에 로케이팅된다. 슬래이브 부분(304)의 출력은 플립-플롭(206)의 출력(434)과 일치한다. 마스터 부분(302)의 마스터 데이터(402)는 마스터 부분(302)의 출력에서 전압 레벨로 표현될 수 있다. 슬래이브 부분(304)의 슬래이브 데이터(404)는 슬래이브 부분(304)의 출력에서 전압 레벨로 표현될 수 있다.
[0051] 마스터 부분(302) 및 이의 개별 회로 디바이스들은 콜랩서블 전력 레일(202)에 커플링되며, 이에 의해 전력을 공급받는다. 슬래이브 부분(304) 및 이의 개별 회로 디바이스들은 정전력 레일(204)에 커플링되며, 이에 의해 전력을 공급받는다. 스위치(430)는 콜랩서블 전력 레일(202)을 정전력 레일(204)에 선택적으로 커플링시키도록 구성된다. 스위치(430)는 콜랩서블 전력 레일(202)이 정상 동작 동안 전력을 어떻게 공급받을 수 있는지 및 콜랩서블 전력 레일(202)이 전력 콜랩스(216) 동안 전력으로부터 어떻게 커플링해제될 수 있는지에 대한 예를 예시한다. 정상 동작 동안, 스위치(430)는 전력을 정전력 레일(204)로부터 콜랩서블 전력 레일(202)로 제공하기 위해 콜랩서블 전력 레일(202)을 정전력 레일(204)에 커플링시키도록 폐쇄된다.
[0052] 전력 콜랩스(216)에 대한 예시적 시나리오에서, 스위치(430)는 전력이 콜랩서블 전력 레일(202)로부터 제거되도록 개방된다. 플립-플롭(206)의 마스터 부분(302)은 전력이 콜랩서블 전력 레일(202)로부터 제거되면, 마스터 부분(302)의 마스터 데이터(402)를 포기하도록 구성된다. 마스터 데이터(402)가 포기되면, 마스터 부분(302)의 출력에서의 전압 레벨은 접지 전압 레벨을 향해 떨어지거나 또는 드리프트하기 시작한다. 한편, 스위치(430)를 개방함으로써 전력이 콜랩서블 전력 레일(202)로부터 제거되면, 플립-플롭(206)의 슬래이브 부분(304)은 슬래이브 부분(304)의 슬래이브 데이터(404)를 유지하도록 구성된다. 슬래이브 데이터(404)가 전력 콜랩스(216) 동안 유지되면, 슬래이브 데이터(404)는 전력 콜랩스 이벤트가 종료된 이후에 후속 컴퓨팅 태스크에 이용가능하다.
[0053] 예시되는 바와 같이, 마스터 부분(302)은 인터페이스 패스 게이트(420), 포워드 인버터(422), 피드백 인버터(424) 및 피드백 패스 게이트(426)를 포함한다. 패스 게이트들 및 인버터들의 명칭들은 단지 본원에서 설명되는 원리들의 이해를 가능하게 하도록 할당되며, 명칭들은 제한적이도록 의도되지 않는다. 마스터 부분(302) 및 슬래이브 부분(304)의 패스 게이트들은 패스 게이트당 적어도 하나의 FET(field effect transistor), 이를테면, 각각의 패스 게이트에 대해 2개의 FET들을 사용하여 구성될 수 있다. 각각의 패스 게이트는 네거티브 게이트 단자 및 포지티브 게이트 단자를 포함한다. 네거티브 게이트 단자는 NFET(n-type FET)로 이어지고, 포지티브 게이트 단자는 PFET(p-type FET)로 이어진다. 패스 게이트들은 또한 트랜스미션 게이트(transmission gate)들로 지칭될 수 있다.
[0054] 인터페이스 패스 게이트(420)는 마스터 부분(302)에 대한 입력 인터페이스를 인에이블링 또는 디스에이블링한다. 포워드 인버터(422)는 플립-플롭(206)에 걸친 데이터 이동 또는 이송의 방향과 정렬되고, 피드백 인버터(424)는 플립-플롭(206)에 걸친 데이터 이송의 방향에 대해 정렬된다. 피드백 인버터(424) 및 피드백 패스 게이트(426)는 피드백 패스 게이트(426)가 폐쇄 상태에 있는 경우 마스터 부분(302)의 출력에서 마스터 데이터(402)의 현재 버전을 유지하는 피드백 경로의 일부를 형성한다.
[0055] 더 구체적으로, 인터페이스 패스 게이트(420)의 입력은 마스터 부분(302)의 입력뿐만 아니라 플립-플롭(206)의 입력(432)과 일치한다. 인터페이스 패스 게이트(420)의 출력은 피드백 패스 게이트(426)의 출력 및 포워드 인버터(422)의 입력에 커플링된다. 포워드 인버터(422)의 출력은 마스터 데이터(402)를 구동하며, 마스터 부분(302)의 출력과 일치한다. 포워드 인버터(422)의 출력은 피드백 인버터(424)의 입력에 커플링된다. 피드백 인버터(424)의 출력은 피드백 패스 게이트(426)의 입력에 커플링된다. 위에서 서술된 바와 같이, 피드백 패스 게이트(426)의 출력은 인터페이스 패스 게이트(420)의 출력 및 포워드 인버터(422)의 입력에 커플링되고, 이는 피드백 패스 게이트(426)가 폐쇄 상태에 있는 경우 마스터 부분(302)에 대한 피드백 루프를 형성한다.
[0056] 예시되는 바와 같이, 슬래이브 부분(304)은 인터페이스 패스 게이트(410), 포워드 인버터(412), 피드백 인버터(414) 및 피드백 패스 게이트(416)를 포함한다. 인터페이스 패스 게이트(410)는 슬래이브 부분(304)에 대한 입력 인터페이스를 인에이블링 또는 디스에이블링한다. 포워드 인버터(412)는 플립-플롭(206)에 걸친 데이터 이동 또는 이송의 방향과 정렬되고, 피드백 인버터(414)는 플립-플롭(206)에 걸친 데이터 이송의 방향에 대해 정렬된다. 피드백 인버터(414) 및 피드백 패스 게이트(416)는 피드백 패스 게이트(416)가 폐쇄 상태에 있는 경우 슬래이브 부분(304)의 출력에서 슬래이브 데이터(404)의 현재 버전을 유지하는 피드백 경로의 일부를 형성한다.
[0057] 예시적 구현에 대해, 인터페이스 패스 게이트(410)는 마스터 부분(302)으로부터 슬래이브 부분(304)으로 마스터 데이터(402)를 전달하기 위한 수단을 제공한다. 더 구체적으로, 인터페이스 패스 게이트(410)의 입력은 슬래이브 부분(304)의 입력뿐만 아니라 마스터 부분(302)의 출력과 일치한다. 인터페이스 패스 게이트(410)의 출력은 피드백 패스 게이트(416)의 출력 및 포워드 인버터(412)의 입력에 커플링된다. 포워드 인버터(412)의 출력은 슬래이브 데이터(404)를 구동하며, 플립-플롭(206)의 출력(434)과 일치한다. 포워드 인버터(412)의 출력은 피드백 인버터(414)의 입력에 커플링된다. 피드백 인버터(414)의 출력은 피드백 패스 게이트(416)의 입력에 커플링된다. 위에서 서술된 바와 같이, 피드백 패스 게이트(416)의 출력은 인터페이스 패스 게이트(410)의 출력 및 포워드 인버터(412)의 입력에 커플링되고, 이는 피드백 패스 게이트(416)가 폐쇄 상태에 있는 경우 슬래이브 부분(304)에 대한 피드백 루프를 형성한다.
[0058] 도 3을 참조하여 위에서 설명된 바와 같이, 전력 관리 회로(306)는 클럭 신호(208) 및 유지 신호(210)에 기반하여 결합형 제어 신호(308)(CCS)를 생성하도록 구성된다. 전력 관리 회로(306)는 적어도 하나의 신호 트레이스를 통해 결합형 제어 신호(308)를 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 플립-플롭(206)에 제공하도록 추가로 구성된다. 도 4에 도시되는 바와 같이, 결합형 제어 신호(308)는 제1 인버터(418)의 입력에서 플립-플롭(206)에 제공된다.
[0059] 하나 또는 그 초과의 실시예들에 대해, 슬래이브 부분(304)과 같은 제1 인버터(418)는 도시되는 바와 같이, 정전력 레일(KPR)(204)에 커플링되며, 이에 의해 전력을 공급받는다. 마스터 부분(302)과 같은 제2 인버터(428)는 콜랩서블 전력 레일(CPR)(202)에 커플링되며, 이에 의해 전력을 공급받는다. 제1 인버터(418)의 출력은 제2 인버터(428)의 입력에 커플링된다. 제1 인버터(418)는 결합형 제어 신호(308)를 수신하며, 제1 인버터(418)의 출력에서 보완된 내부 결합형 제어 신호(406)(ICCS')를 생성하기 위해 결합형 제어 신호(308)의 값을 인버팅한다. 보완된 내부 결합형 제어 신호(406)(ICCS')는 제2 인버터 (428)의 입력에 제공된다. 제2 인버터(428)는 제2 인버터(428)의 출력에서 내부 결합형 제어 신호(408)(ICCS)를 생성하기 위해 보완된 내부 결합형 제어 신호(406)(ICCS')의 값을 인버팅한다. 도시되는 바와 같이, 보완된 내부 결합형 제어 신호(406)(ICCS') 및 내부 결합형 제어 신호(408)(ICCS)는 각각의 패스 게이트가 개방되는지 또는 폐쇄되는지를 제어하기 위해 패스 게이트들의 제어 단자들을 분리하도록 커플링된다.
[0060] 인터페이스 패스 게이트(420) 및 피드백 패스 게이트(416)에 대해, 보완된 내부 결합형 제어 신호(406)(ICCS')는 네거티브 게이트 단자에 공급되고, 내부 결합형 제어 신호(408)(ICCS)는 포지티브 게이트 단자에 공급된다. 인터페이스 패스 게이트(410) 및 피드백 패스 게이트(426)에 대해, 보완된 내부 결합형 제어 신호(406)(ICCS')는 포지티브 게이트 단자에 공급되고, 내부 결합형 제어 신호(408)(ICCS)는 네거티브 게이트 단자에 공급된다. 플립-플롭(206)의 예시적 동작은 포지티브-에지 트리거된 패스 게이트들의 관점에서 설명되지만, 플립-플롭(206)은 대안적으로 네거티브-에지 트리거된 회로 디바이스들로 구현될 수 있다.
[0061] 정상 동작을 위한 데이터 홀드 모드에서, 데이터는 마스터 부분(302)으로부터 슬래이브 부분(304)으로 이송되지 않는다. 데이터 홀드 모드에 대해, 인터페이스 패스 게이트(420) 및 피드백 패스 게이트(416) 둘 모두는 신호들이 패스 게이트들(420 및 416)을 통과할 수 있도록 폐쇄되고, 피드백 패스 게이트(426) 및 인터페이스 패스 게이트(410) 둘 모두는 신호들이 패스 게이트들(426 및 410)을 통과하는 것을 방지하도록 개방된다. 데이터 홀드 모드에 대한 이러한 조건들을 생성하기 위해, 보완된 내부 결합형 제어 신호(406)(ICCS')는 하이 값으로 유지되고, 내부 결합형 제어 신호(408)(ICCS)는 로우 레벨로 유지된다. 정상 동작을 위한 데이터 이송 모드에서, 데이터는 마스터 부분(302)으로부터 슬래이브 부분(304)으로 이송된다. 데이터 이송 모드에 대해, 인터페이스 패스 게이트(420) 및 피드백 패스 게이트(416) 둘 모두는 신호들이 패스 게이트들(420 및 416)을 통과하는 것을 방지하도록 개방되고, 피드백 패스 게이트(426) 및 인터페이스 패스 게이트(410) 둘 모두는 신호들이 패스 게이트들(426 및 410)을 통과할 수 있도록 폐쇄된다. 데이터 이송 모드에 대한 이러한 조건들을 생성하기 위해, 보완된 내부 결합형 제어 신호(406)(ICCS')는 로우 값으로 유지되고, 내부 결합형 제어 신호(408)(ICCS)는 하이 레벨로 유지된다.
[0062] 하나 또는 그 초과의 실시예들에 대해, 격리 회로(310)는 도 4에서 예시되는 바와 같이, 슬래이브 부분(304)의 일부를 포함할 수 있다. 격리 회로(310)가 정전력 레일(204)에 의해 전력을 공급받기 때문에, 격리 회로(310)는 여기에서 슬래이브 부분(304)의 일부로서 고려된다. 격리 회로(310)의 예시적 구현은 전력 콜랩스(216) 동안 마스터 부분(302)으로부터 슬래이브 부분(304)을 격리하도록 적절하게 구성되고 구동되는 제어 입력들을 가지는 패스 게이트이다. 도 4에서, 격리 회로(310)는 적어도 부분적으로 인터페이스 패스 게이트(410)에 의해 구현된다. 정상 동작에서, 인터페이스 패스 게이트(410)는 위에서 설명된 바와 같이, 플립-플롭(206)의 데이터 홀드 모드 또는 데이터 이송 모드에 기반하여 개방 또는 폐쇄된다. 플립-플롭(206)이 슬래이브 부분(304)의 다음 슬래이브 데이터(404)이도록 마스터 부분(302)의 마스터 데이터(402)를 이송하고 있다면, 인터페이스 패스 게이트(410)는 폐쇄된다. 한편, 플립-플롭(206)이 마스터 부분(302)으로부터 슬래이브 부분(304)으로 데이터를 이송시키고 있지 않으면, 인터페이스 패스 게이트(410)는 개방되고, 피드백 패스 게이트(416)는 피드백 인버터(414)를 또한 포함하는 피드백 루프를 사용하여 현재 슬래이브 데이터(404)를 유지하도록 폐쇄된다.
[0063] 전력 콜랩스(216) 동안, 플립-플롭(206)에 대한 유지 피처를 구현하기 위해, 인터페이스 패스 게이트(410)는 마스터 부분(302)으로부터 슬래이브 부분(304)을 격리하도록 개방된 채로 유지된다. 피드백 패스 게이트(416)는 슬래이브 데이터(404)가 슬래이브 부분(304)에 의해 유지되는 것을 보장하기 위해 폐쇄된 채로 유지될 수 있다. 인터페이스 패스 게이트(410)를 개방 상태에 놓고, 피드백 패스 게이트(416)를 폐쇄 상태에 놓기 위해, 보완된 내부 결합형 제어 신호(406)(ICCS')는 고전압 레벨로 구동되거나 또는 유지되고, 내부 결합형 제어 신호(408)(ICCS)는 저전압 레벨로 구동되거나, 저전압 레벨로 유지되거나 또는 저전압 레벨로 드리프트하도록 허용된다. 전력 콜랩스(216) 동안 이러한 전압 레벨들로 보완된 내부 결합형 제어 신호(406)(ICCS') 및 내부 결합형 제어 신호(408)(ICCS)를 유지하기 위해, 결합형 제어 신호(308)는 전력 콜랩스(216) 동안 저전압 레벨로 유지된다. 위에서 표시되는 바와 같이, 제2 인버터(428)는 콜랩서블 전력 레일(202)에 의해 전력을 공급받는다. 인터페이스 패스 게이트(410)를 개방 상태에 놓고, 피드백 패스 게이트(416)를 폐쇄 상태에 놓는 것에 여전히 기여하면서, 제2 인버터(428)의 출력, 즉, 내부 결합형 제어 신호(408)(ICCS)가 전력 콜랩스(216) 동안 로우 값을 가지도록 구성되기 때문에, 제2 인버터(428)의 콜랩서빌리티(collapsibility)는 인에이블링된다. 따라서, 제2 인버터(428)의 출력은 제2 인버터(428)가 전력 콜랩스를 겪는 경우에도 슬래이브 데이터(404)를 유지하기 위한 정확한 값을 가진다. 전력 콜랩스(216) 동안 저전압 레벨로 결합형 제어 신호(308)를 구동 또는 유지하기 위한 예시적 접근법들은 특히 도 5-도 7을 참조하여 본원에서 설명된다.
[0064] 도 5는, 일반적으로 500에서, 전력 콜랩스(216) 동안 활용될 수 있는 전력 관리 회로(306)의 예를 도시한다. 예시되는 바와 같이, 도 5는 콜랩서블 전력 레일(202), 정전력 레일(204), 전력 관리 회로(306) 및 유지 트리 디바이스(510)를 포함한다. 도 5는 클럭 신호(208), 유지 신호(210), 결합형 제어 신호(308) 및 클럭 인에이블 신호(506)를 추가로 예시한다. 전력 관리 회로(306)는 클럭 게이팅 회로(502) 및 결합 회로(504)를 포함한다.
[0065] 하나 또는 그 초과의 실시예들에 대해, 전력 관리 회로(306)는 콜랩서블 전력 레일(202)에 커플링된다. 전력 관리 회로(306)는 전력 콜랩스를 겪을 수 있으며, 그럼에도 불구하고, 전력 콜랩스(216) 동안 설명되는 유지-관련 기능을 수행할 수 있다. 유지 신호(210)는 명시적으로 도시되지 않은 유지 신호 트리의 일부로서 도 2의 IC 부분(200)을 통해 전파될 수 있다. 그러나, 이의 유지 트리 디바이스(510)는 도시된다. 따라서, 유지 신호 트리를 통해 전파되는 것의 일부로서, 유지 신호(210)는, 유지 신호(210)가 유지 신호 트리를 가로지를 때, 신호-부스팅 버퍼와 같은 적어도 하나의 유지 트리 디바이스(510)를 통해 라우팅될 수 있다. 유지 트리 디바이스(510)는, 유지 신호(210)가 전력 콜랩스(216)의 시간 주기 전반에 걸쳐 유지 동작의 존재를 표시하기 위해 활성 상태가 되기에 충분한 강도를 유지하는 것을 보장하기 위해 정전력 레일(204)에 커플링된다.
[0066] 도시되는 바와 같이, 클럭 게이팅 회로(502)는 클럭 신호(208) 및 클럭 인에이블 신호(506)를 입력으로서 수신한다. 클럭 인에이블 신호(506)는 클럭 신호(208)의 펄스들이 특정 포인트에서 프루닝(prune)될 지, 특정 칩 영역으로부터 활성화해제될 지, 또는 하나 또는 그 초과의 회로 디바이스들로부터 차단될 지를 표시할 수 있다. 이것은 클럭 신호를 게이팅하는 것으로 지칭될 수 있다. 클럭 게이팅 회로(502)는 클럭 신호(208) 및 클럭 인에이블 신호(506)에 대한 응답으로 게이티드 클럭 신호(508)를 생성하도록 구성된다. 클럭을 게이팅할 수 있는 회로, 이를테면, 트랜지스터 또는 논리 게이트 디바이스를 통해 전파된 이후에, 클럭 신호(208)는, 게이팅 기능이 현재 활성 상태가 아닌 경우에도, 게이티드 클럭 신호(508)로 지칭될 수 있다. 도 5에 명시적으로 도시되지 않았지만, 게이티드 클럭 신호(508)는 클럭 신호(208)의 버전으로서 결합 회로(504)에 공급될 수 있다. 결합 회로(504)에 공급되는 클럭 신호(208)가 게이티드 클럭 신호(508)를 포함하는 예가 특히 도 6을 참조하여 본원에서 설명된다.
[0067] 도시되는 바와 같이, 결합 회로(504)는 클럭 신호(208) 및 유지 신호(210)를 입력으로서 수신한다. 결합 회로(504)는 클럭 신호(208) 및 유지 신호(210)에 대한 응답으로 결합형 제어 신호(308)를 생성하도록 구성된다. 예시적 구현에 대해, 결합 회로(504)는 클럭 신호(208)와 유지 신호(210)를 결합형 제어 신호(308)로 결합시키기 위한 수단을 제공한다. 결합 회로(504)를 다수의 플립-플롭들(206-1 내지 206-4)에 커플링시키는 하나 또는 그 초과의 버퍼들을 가지는 또는 가지지 않는 적어도 하나의 전도성 라인 또는 적어도 하나의 회로 트레이스는, 각각의 플립-플롭(206)의 슬래이브 부분(304)으로 하여금 전력 콜랩스(216) 동안 슬래이브 데이터(404)를 유지하게 하기 위해, 결합형 제어 신호(308)를 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 플립-플롭(206)으로 분배하도록 서빙한다. 결합 회로(504)는 결합형 제어 신호(308)를 주어진 일정한 값으로 클램핑하는 유지 신호 클램프로서 효과적으로 기능할 수 있다. 본원에서 설명되는 바와 같이, 결합형 제어 신호(308)를 일정한 값으로 클램핑하는 것은, 플립-플롭(206)의 슬래이브 데이터(404)가 전력 콜랩스(216) 동안 유지되도록 도 4의 플립-플롭(206)의 유지 피처를 활성화시킨다. 결합 회로(504)의 일 예는 특히 도 6을 참조하여 본원에서 설명된다.
[0068] 클럭 게이팅 회로(502) 및 결합 회로(504)를 포함하는 전력 관리 회로(306)는, 유지 신호(210)가 활성 상태인 동안 결합형 제어 신호(308)가 일정한 값으로 클램핑되도록 그리고 유지 신호(210)가 활성 상태가 아닌 동안 결합형 제어 신호(308)가 클럭 신호(208)의 주기와 동일한 주기로 주기적이도록 클럭 신호(208) 및 유지 신호(210)에 기반하여 결합형 제어 신호(308)를 생성하기 위한 수단을 제공한다. 클럭 게이팅 회로(502) 및 결합 회로(504)에 대한 게이트 레벨에서의 예시적 구현들은 특히 도 6을 참조하여 본원에서 설명된다. 결합 회로(504)의 NOR 게이트 구현을 위한 트랜지스터 레벨에서의 예시적 구현들은 특히 도 7을 참조하여 본원에서 설명된다.
[0069] 도 6은 도 3 및 도 5의 전력 관리 회로(306)의 일부로서 클럭 게이팅 회로(502)의 예 및 결합 회로(504)의 예를 도시한다. 예시되는 바와 같이, 도 6은 또한, 콜랩서블 전력 레일(202), 클럭 신호(208), 유지 신호(210), 결합형 제어 신호(308), 클럭 인에이블 신호(506), 게이티드 클럭 신호(508) 및 테스트 인에이블 신호(602)를 도시한다. 클럭 게이팅 회로(502)는 OR 게이트(606), dq 플립-플롭(610) 및 NAND 게이트(608)를 포함한다. 결합 회로(504)는 NOR 게이트(604)를 포함한다.
[0070] 하나 또는 그 초과의 실시예들에 대해, 콜랩서블 전력 레일(202)은 클럭 게이팅 회로(502) 및 결합 회로(504)에 커플링되어 전력을 공급한다. 클럭 인에이블 신호(506)는 OR 게이트(606)의 상부 입력에 커플링되고, 테스트 인에이블 신호(602)는 OR 게이트(606)의 하부 입력에 커플링된다. OR 게이트(606)의 출력은 dq 플립-플롭(610)의 "d" 입력에 커플링된다. dq 플립-플롭(610)의 "q" 출력은 NAND 게이트(608)의 상부 입력에 커플링된다. 클럭 신호(208)는 NAND 게이트(608)의 하부 입력에 커플링된다. 클럭 신호(208)는 또한, dq 플립-플롭(610)을 통해 데이터를 전진시키기 위해 dq 플립-플롭(610)의 인버팅 입력 "g"에 커플링된다. NAND 게이트(608)의 출력은 게이티드 클럭 신호(508)를 생성한다.
[0071] 도 6의 예에서, 결합 회로(504)에 제공되는 클럭 신호(208)의 버전은 게이티드 클럭 신호(508)를 포함한다. 더 구체적으로, 게이티드 클럭 신호(508)는 NOR 게이트(604)의 상부 입력에 커플링된다. 유지 신호(210)는 NOR 게이트(604)의 하부 입력에 커플링된다. NOR 게이트(604)의 출력에 제공되는 신호는 결합형 제어 신호(308)를 포함한다. NOR 게이트(604)는 적어도 하나의 트랜지스터(614)와 같은 하나 또는 그 초과의 회로 디바이스들로 구성된다. 적어도 하나의 트랜지스터(614)는, 예컨대, NMOS(n-type metal-oxide-semiconductor) 트랜지스터를 포함한다. 예컨대, 적어도 하나의 트랜지스터(614)로서의 NMOS 트랜지스터의 활용은, NMOS 트랜지스터가 NOR 게이트(604)의 출력 노드를 풀 다운(pull down)하기 때문에, 결합 회로(504)가 콜랩서블 전력 레일(202)에 의해 전력을 공급받는 것을 가능하게 한다. 이 기능은 일반적으로 계속 도 6을 참조하여 그리고 더 구체적으로는, NOR 게이트(604)의 예시적 구현을 위한 다수의 트랜지스터들을 예시하는 도 7을 참조하여 아래에서 설명된다.
[0072] 예시적 동작에서, 클럭 게이팅 회로(502)로 시작하여, 클럭 인에이블 신호(506) 또는 테스트 인에이블 신호(602) 중 하나 또는 둘 모두가 OR 게이트(606)의 논리 인크루시브 OR 연산으로 인해 하이 레벨에 있으면, dq 플립-플롭(610)의 "d" 입력은 하이 레벨에 있다. 따라서, 클럭 게이팅 회로가 현재 클럭을 게이팅하여 태스킹하기 때문에 클럭 인에이블 신호(506)가 로우 레벨에 있고, 테스팅이 발생하고 있지 않기 때문에 테스트 인에이블 신호(602)가 로우 레벨에 있는 두 경우 외에는, dq 플립-플롭(610)의 "d" 입력이 하이 레벨에 있다. dq 플립-플롭(610)의 "d" 입력이 하이이면, "q" 출력은 또한 하이이다. dq 플립-플롭(610)의 "q" 출력의 이러한 하이 값은 NAND 게이트(608)의 상부 입력에 공급된다. NAND 게이트(608)의 상부 입력에서의 이러한 하이 값으로 인해, 게이티드 클럭 신호(508)는 NAND 게이트(608)의 논리 NAND 연산으로 인한 클럭 신호(208)의 인버팅된 버전이다. 게이티드 클럭 신호(508)는 NOR 게이트(604)의 상부 입력에 제공되며, 유지 신호(210)가 활성 상태가 아니며 로우인 동안 NOR 게이트(604)의 논리 NOR 연산으로 인해 다시 인버팅된다. 게이티드 클럭 신호(508)가 결합 회로(504)의 NOR 게이트(604)를 통해 라우팅되지 않고, 대신에 클럭되고 있는 회로로 직접적으로 라우팅되면, NAND 게이트(608)는 AND 게이트로 대체될 수 있다.
[0073] 예시적 동작을 계속하면, 결합 회로(504)에 대해, 게이티드 클럭 신호(508)는 NOR 게이트(604)의 상부 입력에 커플링되고, 게이티드 클럭 신호(508)는 클럭이 클럭 게이팅 회로(502)에 의해 현재 게이팅되지 않는 경우 클럭 신호(208)의 인버팅된 버전을 포함한다. 유지 신호(210)가 활성 상태가 아니라면, 유지 신호(210)는 로우 레벨에 있다. 동작의 정상 비-유지 모드에 대해, NOR 게이트(604)는 결합형 제어 신호(308)로서 게이티드 클럭 신호(508)의 인버팅된 버전을 출력한다. 그에 따라서, 이러한 정상 동작 모드에서, 결합형 제어 신호(308)의 값들은 클럭 신호(208)의 값들을 추적한다.
[0074] 한편, 유지 동작 모드에서, 유지 신호(210)는 활성 상태이며, NOR 게이트(604)의 하부 입력에서 하이 레벨로 구동된다. 도 5에 도시되는 바와 같이, 유지 신호(210)가 정전압 레일(204)에 의해 전력을 공급받는 하나 또는 그 초과의 유지 트리 디바이스들(510)을 사용하여 집적 회로 칩의 유지 신호 트리 상에 분배되기 때문에, 유지 신호(210)는 전력 콜랩스 이벤트 동안 하이 레벨로 유지될 수 있다. NOR 게이트(604)의 하위 입력에서의 하이 값 및 NOR 게이트(604)의 논리 NOR 동작으로 인해, NOR 게이트(604)로부터 출력된 결합형 제어 신호(308)는 NOR 게이트(604)의 상위 입력에서의 게이티드 클럭 신호(508) 값과 관계 없이 로우이다. 예시적 구현에 대해, NOR 게이트(604)는 전력이 콜랩서블 전력 레일(202)로부터 커플링해제되는 동안 결합형 제어 신호(308)를 로우로 클램핑하기 위한 수단을 제공한다. 결합형 제어 신호(308)에 대한 이러한 로우 레벨은 도 4의 제1 인버터(418)의 입력에서 도 3의 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 플립-플롭(206)으로 라우팅된다.
[0075] 적어도 하나의 트랜지스터(614)의 NMOS 구현이 이 유지 모드 예에서 NOR 게이트(604)의 출력 노드를 로우로(예컨대, 접지로) 풀링하고 있기 때문에, 콜랩서블 전력 레일(202)이 전력 콜랩스 이벤트 동안 전력으로부터 커플링해제되면 또는 그 동안, 결합형 제어 신호(308)에 대한 로우 레벨은 계속 NOR 게이트(604)로부터 출력된다. 도 5에 도시되는 바와 같이, 적어도 부분적으로, 유지 신호(210)가 정전력 레일(204)에 의해 전력을 공급받는 유지 트리 디바이스(510)의 적어도 하나의 게이트와 같은 디바이스에 의해 활성 하이 레벨에서 전력 콜랩스 이벤트 동안 유지될 수 있기 때문에, NOR 게이트(604)가 콜랩서블 전력 레일(202)에 연결되더라도, 결합형 제어 신호(308)에 대한 로우 레벨은 전력 콜랩스 이벤트 동안 계속 NOR 게이트(604)로부터 출력된다. NOR 게이트(604)의 예시적 구현을 위해, 적어도 하나의 트랜지스터(614)의 NMOS 구현은 유지 신호(210)가 활성 상태이면 전압 레벨을 풀 다운하기 위한 수단을 제공한다. NMOS 및 PMOS 트랜지스터들을 포함하는 NOR 게이트(604)의 예시적 구현은 도 7을 참조하여 설명된다.
[0076] 도 7은 도 5 및 도 6의 결합 회로(504)에 대한 NOR 게이트(604)의 예시적 구현을 위한 4개의 디바이스들을 포함하는 회로(700)를 도시한다. 더 구체적으로, NOR 게이트(604)의 예시된 예시적 구현은 4개의 트랜지스터들, 즉, 제1 PMOS 트랜지스터(702), 제2 PMOS 트랜지스터(704), 제1 NMOS 트랜지스터(706) 및 제2 NMOS 트랜지스터(708)를 포함한다. 회로(700)는 또한 전력 노드(710) 및 출력 노드(712)를 포함한다. 도 7은 또한 유지 신호(210), 결합형 제어 신호(308) 및 게이티드 클럭 신호(508)를 도시한다.
[0077] 하나 또는 그 초과의 실시예들에 대해, 제1 PMOS 트랜지스터(702) 및 제2 PMOS 트랜지스터(704)는 전력 노드(710)와 출력 노드(712) 사이에 직렬로 커플링된다. 제1 NMOS 트랜지스터(706) 및 제2 NMOS 트랜지스터(708)는 출력 노드(712)와 접지 사이에 병렬로 커플링된다. 전력 노드(710)는 콜랩서블 전력 레일(202)에 커플링되고, 따라서, 회로(700)는 콜랩서블 전력 레일(202)에 의해 전력을 공급받는다. 게이티드 클럭 신호(508)는 제1 PMOS 트랜지스터(702) 및 제1 NMOS 트랜지스터(706)의 게이트 입력들에 커플링된다. 유지 신호(210)는 제2 PMOS 트랜지스터(704) 및 제2 NMOS 트랜지스터(708)의 게이트 입력들에 커플링된다. 회로(700)는 결합형 제어 신호(308)를 생성하며, 출력 노드(712)에서 결합형 제어 신호(308)를 제공한다.
[0078] 예시적 동작에서, 게이티드 클럭 신호(508) 및 유지 신호(210)는 둘 모두 로우일 수 있다. 만약 그렇다면, 이러한 로우 값들은 제1 PMOS 트랜지스터(702) 및 제2 PMOS 트랜지스터(704) 둘 모두를 턴 온시킨다. 이러한 2개의 로우 값들은 또한 제1 NMOS 트랜지스터(706) 및 제2 NMOS 트랜지스터(708)를 턴 오프시킨다. 이 상태에서, 출력 노드(712)는 콜랩서블 전력 레일(202)의 전압과 매칭하는 전압까지 하이로 구동된다. 따라서, 게이티드 클럭 신호(508) 및 유지 신호(210) 둘 모두가 로우이면, 결합형 제어 신호(308)는 하이 레벨에 있다. 한편, 게이티드 클럭 신호(508) 및 유지 신호(210) 중 하나 또는 둘 모두는 하이일 수 있다. 어느 하나 또는 둘 모두가 하이이면, 제1 PMOS 트랜지스터(702) 또는 제2 PMOS 트랜지스터(704) 중 적어도 하나는 턴 오프되고, 제1 NMOS 트랜지스터(706) 또는 제2 NMOS 트랜지스터(708) 중 적어도 하나는 턴 온된다. 제1 NMOS 트랜지스터(706) 또는 제2 NMOS 트랜지스터(708) 중 적어도 하나가 턴 온되면, 턴 온된 적어도 하나의 트랜지스터는 결합형 제어 신호(308)를 로우 레벨로 구동하기 위해 전력 노드(710)의 전압 레벨을 풀 다운한다.
[0079] 결과적으로, 유지 신호(210)가 활성 상태이거나 또는 어서트되면, 하이 레벨에서 결합형 제어 신호(308)는 로우로 클램핑되고, 도 4의 제1 인버터(418)의 입력을 통해 도 3의 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 플립-플롭(206)으로 라우팅될 수 있다. 더 구체적으로, 유지 신호(210)는 정전력 레일(204)에 의해 전력을 공급받는 도 5의 적어도 하나의 유지 트리 디바이스(510)를 사용하여 분배되기 때문에, 유지 신호(210)는 콜랩서블 전력 레일(202)이 콜랩스되는 경우에도 하이 레벨로 유지될 수 있다. 유지 신호(210)의 고전압 레벨은 제2 PMOS 트랜지스터(704)의 게이트에 커플링되어 그것을 턴 오프시키며, 제2 NMOS 트랜지스터(708)의 게이트에 커플링되어 그것을 턴 온시킨다. 제2 NMOS 트랜지스터(708)가 턴 온되면, 출력 노드(712)는 접지 전압 레벨로 내려가고, 이는 결합형 제어 신호(308)로 하여금, 로우 레벨에 있게 하여서, 그에 따라 콜랩싱 디바이스들로부터 슬래이브 데이터(404)를 격리하기 위해 도 3 및 도 4의 격리 회로(310)를 정확한 상태에 놓는다. 더욱이, 결합형 제어 신호(308)가 저전압 레벨에서 이러한 격리 제어 기능을 수행하기 때문에, NOR 게이트(604)는, 출력 노드(712)가 전력이 콜랩스되면 로우 레벨로 드리프트되므로 콜랩서블 전력 레일(202)에 의해 전력을 공급받을 수 있다.
[0080] 칩 영역 활용 및 트레이스 라우팅 혼잡은 또한, 플립-플롭들의 출력 값을 리셋하는 맥락에서 감소될 수 있다. 리셋가능한 플립-플롭의 내부 회로에 따라, 활성 리셋 신호는 리셋가능한 플립-플롭의 출력 값이 0 또는 1로 리셋되게 한다. 도 3의 리셋 회로(312)는 각각의 플립-플롭에 대해 복제되는 것 대신에 다수의 플립-플롭들에 대해 공유될 수 있다. 게다가, 리셋 회로(312)를 공유하는 것은 클램프가능한 리셋 신호를 생성하기 위해 리셋 신호(212)를 유지 신호(210)와 결합시킴으로써 각각의 플립-플롭으로 라우팅되는 와이어 트레이스들의 수를 감소시킬 수 있다. 예시적 양상들은 특히 도 8 및 도 9를 참조하여 본원에서 설명된다. 도 8의 경우, 다수의 플립-플롭들(206-1 내지 206-4)은, 리셋 신호(212)가 활성 하이 상태에 있거나 또는 활성 하이 상태로 트랜지션하는 것에 대한 응답으로 리셋된다. 도 9의 경우, 다수의 플립-플롭들(206-1 내지 206-4)은, 리셋 신호(212)가 활성 로우 상태에 있거나 또는 활성 로우 상태로 트랜지션하는 것에 대한 응답으로 리셋된다.
[0081] 도 8은 활성 하이 리셋 신호에 대한 응답으로 리셋가능한 다수의 플립-플롭들(206-1 내지 206-4)에 대한 전력 콜랩스(216)를 제공하는 환경에서 예시적 리셋 제어 어레인지먼트(800)를 도시한다. 예시되는 바와 같이, 리셋 제어 어레인지먼트(800)는 콜랩서블 전력 레일(202), 정전력 레일(204), 리셋 회로(312-1), 인버터(806) 및 다수의 플립-플롭들(206-1 내지 206-4)을 포함한다. 리셋 제어 어레인지먼트(800)는 리셋 신호(212), 유지 신호(210) 및 클램핑가능한 리셋 신호(802)(CRS)를 더 포함한다. 도시되는 바와 같이, 리셋 회로(312-1)는 NOR 게이트(804)를 포함한다. 다수의 플립-플롭들(206-1 내지 206-4)이 리셋가능한 플립-플롭들로서 구현되면, 플립-플롭(206)의 출력은 리셋 신호를 하이로 구동함으로써 0 또는 1의 값으로 강제될 수 있다. 따라서, 리셋 신호(212)가 하이로 구동되면, 리셋 회로(312-1)는 리셋되는 플립-플롭들을 이용하여 동작한다.
[0082] 하나 또는 그 초과의 실시예들에 대해, 리셋 회로(312-1)는 다수의 플립-플롭들(206-1 내지 206-4) 외부에 배치된다. 리셋 회로(312-1)는 클램핑가능한 리셋 신호(802)를 생성하기 위해 리셋 신호(212)와 유지 신호(210)를 결합시키도록 구성된다. 리셋 회로(312-1)는 유지 신호(210)뿐만 아니라 리셋 신호(212)를 인버터(806)를 통해 입력으로서 수신한다. 리셋 회로(312-1) 및 인버터(806)는 콜랩서블 전력 레일(202)에 커플링된다. 리셋 회로(312-1) 외부에 도시되지만, 인버터(806)는 대안적으로 리셋 회로(312-1)의 일부일 수 있다. 리셋 동작을 위해, 리셋 신호(212)는 하이로 구동되는 반면, 유지 신호(210)는 비활성 로우 상태로 유지된다. 인버터(806)로 인해, NOR 게이트(804)로의 입력들 모두는 로우이고, 이로써 리셋 회로(312-1)의 출력은 하이여서 비-유지 모드에서의 예시적 결합 동작을 위한, 다수의 플립-플롭들(206-1 내지 206-4)의 리셋을 야기한다.
[0083] 예시적 구현에 대해, 리셋 회로(312-1)는 유지 신호(210)가 활성 상태인 동안 클램핑가능한 리셋 신호(802)가 일정 값으로 클램핑되도록 리셋 신호(212) 및 유지 신호(210)에 기반하여 클램핑가능한 리셋 신호(802)를 생성하기 위한 수단을 제공한다. 리셋 제어 어레인지먼트(800)와 같이 활성 하이 리셋 신호로 리셋되는 다수의 플립-플롭들(206-1 내지 206-4)에 대해, 클램핑가능한 리셋 신호(802)는 전력 콜랩스(216) 동안 0(예컨대, 접지)의 일정한 값으로 클램핑된다. 리셋 회로(312-1)는 클램핑가능한 리셋 신호(802)를 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 플립-플롭(206)에, 이를테면, 각각의 플립-플롭(206)의 리셋 입력(명시적으로 도시되지 않음)에 제공하도록 추가로 구성된다. 예시적 구현에 대해, 리셋 회로(312-1)를 다수의 플립-플롭들(206-1 내지 206-4)에 커플링시키는, 하나 또는 그 초과의 버퍼들을 가지거나 또는 가지지 않는 적어도 하나의 전도성 라인 또는 적어도 하나의 회로 트레이스는 클램핑가능한 리셋 신호(802)를 다수의 플립-플롭들(206-1 내지 206-4)에 제공하기 위한 수단을 산출한다.
[0084] 유지 모드에서 리셋 회로(312-1)의 예시적 결합 동작에 대해, 리셋 신호(212) 및 유지 신호(210)는 NOR 게이트(804)의 입력들에 커플링된다. NOR 게이트(804)는, 예컨대, 게이티드 클럭 신호(508) 및 이의 결합형 제어 신호(308)가 각각 도 8의 리셋 신호(212) 및 클램핑가능한 리셋 신호(802)로 대체되는, 도 7의 NOR 게이트(604)와 유사하게 구현될 수 있다. 유지 신호(210)가 활성 하이이면, NOR 게이트(804)의 출력에서의 클램핑가능한 리셋 신호(802)는, 리셋 신호(212)의 상태 또는 콜랩서블 전력 레일(202)의 전력 레벨과 관계 없이, 로우로 클램핑된다. 따라서, 다수의 플립-플롭들(206-1 내지 206-4)은 전력 콜랩스(216) 동안 우연히 리셋되는 것으로부터 방지될 수 있다. 그에 따라서, 리셋 회로(312-1)는 다수의 플립-플롭들(206-1 내지 206-4) 외부에 있는 활성 하이 리셋 신호 클램프로서 기능할 수 있다. 도 7을 참조하여 위에서 설명된 것과 유사하게, NOR 게이트(804)에서 적어도 하나의 NMOS 풀-다운 트랜지스터를 사용함으로써 인에이블링되는, 리셋 회로(312-1)에 대한 콜랩서블 전력 레일(202)을 사용함으로써, 리셋 회로(312-1)로의 정전력 레일(204)의 라우팅이 회피될 수 있다.
[0085] 도 9는 활성 로우 리셋 신호에 대한 응답으로 리셋가능한 다수의 플립-플롭들(206-1 내지 206-4)에 대한 전력 콜랩스(216)를 제공하는 환경에서 예시적 리셋 제어 어레인지먼트(900)를 도시한다. 예시되는 바와 같이, 리셋 제어 어레인지먼트(900)는 콜랩서블 전력 레일(202), 정전력 레일(204), 리셋 회로(312-2) 및 다수의 플립-플롭들(206-1 내지 206-4)을 포함한다. 리셋 제어 어레인지먼트(900)는 리셋 신호(212), 유지 신호(210) 및 클램핑가능한 리셋 신호(802)(CRS)를 더 포함한다. 도시되는 바와 같이, 리셋 회로(312-2)는 OR 게이트(902)를 포함한다. 다수의 플립-플롭들(206-1 내지 206-4)이 리셋가능한 플립-플롭들로서 구현되면, 플립-플롭(206)의 출력은 리셋 신호를 로우로 구동함으로써 0 또는 1의 값으로 강제될 수 있다. 따라서, 리셋 신호(212)가 로우로 구동되면, 리셋 회로(312-2)는 리셋되는 플립-플롭들을 이용하여 동작한다.
[0086] 하나 또는 그 초과의 실시예들에 대해, 리셋 회로(312-2)는 다수의 플립-플롭들(206-1 내지 206-4) 외부에 배치된다. 리셋 회로(312-2)는 클램핑가능한 리셋 신호(802)를 생성하기 위해 리셋 신호(212)와 유지 신호(210)를 결합시키도록 구성된다. 예시적 구현에 대해, 리셋 회로(312-2)는 유지 신호(210)가 활성 상태인 동안 클램핑가능한 리셋 신호(802)가 일정 값으로 클램핑되도록 리셋 신호(212) 및 유지 신호(210)에 기반하여 클램핑가능한 리셋 신호(802)를 생성하기 위한 수단을 제공한다. 리셋 제어 어레인지먼트(900)와 같이 활성 로우 리셋 신호로 리셋되는 다수의 플립-플롭들(206-1 내지 206-4)에 대해, 클램핑가능한 리셋 신호(802)는 전력 콜랩스(216) 동안 1(예컨대, 하이 전압)의 일정한 값으로 클램핑된다. 리셋 회로(312-2)는 클램핑가능한 리셋 신호(802)를 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 플립-플롭(206)에, 이를테면, 각각의 플립-플롭(206)의 리셋 입력(명시적으로 도시되지 않음)에 제공하도록 추가로 구성된다. 예시적 구현에 대해, 리셋 회로(312-2)를 다수의 플립-플롭들(206-1 내지 206-4)에 커플링시키는, 하나 또는 그 초과의 버퍼들을 가지거나 또는 가지지 않는 적어도 하나의 전도성 라인 또는 적어도 하나의 회로 트레이스는 클램핑가능한 리셋 신호(802)를 다수의 플립-플롭들(206-1 내지 206-4)에 제공하기 위한 수단을 산출한다.
[0087] 리셋 회로(312-2)의 예시적 결합 동작에 대해, 리셋 신호(212) 및 유지 신호(210)는 OR 게이트(902)의 입력들에 커플링된다. OR 게이트(902)는, NOR 게이트에 대한 회로 디바이스들 및 이에 후속하는 인버터에 대한 회로 디바이스들을 사용하여 구현될 수 있다. 더 구체적으로, 도 7에 예시되는 회로 디바이스들을 참조하면, 도 9의 클램핑가능한 리셋 신호(802)를 출력하는 OR 게이트를 생성하기 위해, 인버터는 노드(712) 다음에 포함될 수 있다. 클램핑가능한 리셋 신호(802)를 출력하는 적어도 인버터는 정전력 레일(204)에 연결된다. 대안적 예로서, 리셋 회로(312-2)는 유지 신호(210)를 수신하는 인버터 및 이에 후속하는, 리셋 신호(212) 및 인버팅된 유지 신호(210)를 입력들로서 수신하는 AND 게이트를 사용하여 구현될 수 있다. 유지 신호(210)가 활성 하이이면, OR 게이트(902)의 출력에서의 클램핑가능한 리셋 신호(802)는, 리셋 신호(212)의 상태 또는 콜랩서블 전력 레일(202)의 전력 레벨과 관계 없이, 하이로 클램핑된다. 따라서, 다수의 플립-플롭들(206-1 내지 206-4)은 전력 콜랩스(216) 동안 우연히 리셋되는 것으로부터 방지될 수 있다. 그에 따라서, 리셋 회로(312-2)는 다수의 플립-플롭들(206-1 내지 206-4) 외부에 있는 활성 로우 리셋 신호 클램프로서 기능할 수 있다. 리셋 회로(312-2)의 적어도 일부에 대해, 이를테면, 적어도 이의 출력 인버터에 전력을 공급하기 위해 정전력 레일(204)을 사용함으로써, 클램핑가능한 리셋 신호(802)는 전력 콜랩스(216) 동안 하이 전압 값으로 클램핑될 수 있다.
[0088] 도 10은 플립-플롭들을 이용한 전력 관리를 위한 예시적 프로세스(1000)를 예시하는 흐름 다이어그램이다. 프로세스(1000)는 수행될 수 있는 동작들을 특정하는 블록들(1002-1008)의 세트의 형태로 설명된다. 그러나, 동작들은 도 10에 도시되거나 또는 본원에서 설명되는 순서로 반드시 제한되지는 않는데, 그 이유는 동작들이 대안적 순서들로 또는 완전히 또는 부분적으로 오버랩핑 방식들로 구현될 수 있기 때문이다. 프로세스(1000)의 예시된 블록들에 의해 표현되는 동작들은 도 1의 IC(110)와 같은 집적 회로에 의해 수행될 수 있다. 더 구체적으로, 프로세스(1000)의 동작들은 도 2의 IC 부분(200)의 일부인 도 3의 유지 제어 어레인지먼트(300)에 의해 수행될 수 있다.
[0089] 블록(1002)에서, 집적 회로는 콜랩서블 전력 레일을 이용하여 다수의 플립-플롭들의 각각의 마스터 부분에 전력을 공급한다. 예컨대, IC 부분(200) 또는 연관된 PMIC는 콜랩서블 전력 레일(202)을 이용하여 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 마스터 부분(302)에 전력을 공급할 수 있다.
[0090] 블록(1004)에서, 집적 회로는 정전력 레일을 이용하여 다수의 플립-플롭들의 각각의 슬래이브 부분에 전력을 공급한다. 예컨대, IC 부분(200) 또는 연관된 PMIC는 정전력 레일(204)을 이용하여 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 슬래이브 부분(304)에 전력을 공급할 수 있다.
[0091] 블록(1006)에서, 집적 회로는 결합형 제어 신호를 생성하기 위해 클럭 신호와 유지 신호를 결합시킨다. 예컨대, 전력 관리 회로(306)는 결합형 제어 신호(308)를 생성하기 위해 클럭 신호(208)와 유지 신호(210)를 결합시킬 수 있다.
[0092] 블록(1006)의 결합 동작의 예시적 구현에서, 집적 회로는, 각각의 대응하는 마스터 부분이 전력 콜랩스를 겪으면, 유지 신호의 활성 상태에 대한 응답으로, 결합형 제어 신호를 다수의 플립-플롭들의 각각의 슬래이브 부분의 슬래이브 데이터로의 변화를 방지하는 값으로 추가로 클램핑한다. 예컨대, 유지 신호(210)의 활성 상태에 대한 응답으로, 전력 관리 회로(306)는, 각각의 대응하는 마스터 부분(302)이 전력 콜랩스(216)를 겪으면 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 슬래이브 부분(304)의 슬래이브 데이터(404)로의 변경을 방지하는 값, 이를테면, 0으로 결합형 제어 신호(308)를 클램핑할 수 있다. 프로세스(1000)의 다른 예시적 구현에서, 집적 회로는 콜랩서블 전력 레일을 이용하여 블록(1006)의 결합 동작을 수행하는 회로에 추가로 전력을 공급한다. 예컨대, 전력 관리 회로(306)는 콜랩서블 전력 레일(202)에 의해 전력을 공급받을 수 있다.
[0093] 블록(1006)의 결합 동작의 또 다른 예시적 구현에서, 클럭 신호는 게이티드 클럭 신호를 포함하고, 집적 회로는 결합형 제어 신호를 생성하기 위해 게이티드 클럭 신호와 유지 신호를 추가로 결합시킨다. 예컨대, 클럭 신호(208)는 게이티드 클럭 신호(508)를 포함할 수 있고, 전력 관리 회로(306)는 결합형 제어 신호(308)를 생성하기 위해 게이티드 클럭 신호(508)와 유지 신호(210)를 결합시킨다.
[0094] 블록(1008)에서, 집적 회로는 콜랩서블 전력 레일의 전력 콜랩스 동안 다수의 플립-플롭들의 각각의 슬래이브 부분의 슬래이브 데이터를 유지하기 위해 결합형 제어 신호를 다수의 플립-플롭들에 제공한다. 예컨대, 전력 관리 회로(306)는 콜랩서블 전력 레일(202)의 전력 콜랩스(216) 동안 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 슬래이브 부분(304)의 슬래이브 데이터(404)를 유지하기 위해 결합형 제어 신호(308)를 다수의 플립-플롭들(206-1 내지 206-4)에 제공할 수 있다.
[0095] 블록(1008)의 동작을 제공하는 예시적 구현에서, 집적 회로는 결합형 제어 신호의 상태에 대한 응답으로 전력 콜랩스 동안 각각의 대응하는 마스터 부분으로부터 다수의 플립-플롭들의 각각의 슬래이브 부분을 추가로 격리한다. 예컨대, 격리 회로(310)는 결합형 제어 신호(308)의 전압 값에 대한 응답으로 전력 콜랩스(216) 동안 각각의 대응하는 마스터 부분(302)으로부터 다수의 플립-플롭들(206-1 내지 206-4)의 각각의 슬래이브 부분(304)을 격리할 수 있다.
[0096] 프로세스(1000)의 예시적 구현에서, 집적 회로는 추가로, 클램핑가능한 리셋 신호를 생성하기 위해 리셋 신호와 유지 신호를 결합시키며, 전력 콜랩스 동안 다수의 플립-플롭들의 리셋을 방지하기 위해 클램핑가능한 리셋 신호를 다수의 플립-플롭들에 제공한다. 예컨대, 리셋 회로(312)는 클램핑가능한 리셋 신호(802)를 생성하기 위해 리셋 신호(212)와 유지 신호(210)를 결합시킬 수 있다. 리셋 회로는 또한, 전력 콜랩스(216) 동안 다수의 플립-플롭들(206-1 내지 206-4)의 리셋을 방지하기 위해 클램핑가능한 리셋 신호(802)를 다수의 플립-플롭들(206-1 내지 206-4)에 제공할 수 있다.
[0097] 문맥상 달리 기술하지 않는 한, "또는"이라는 용어의 본원에서의 사용은, "포괄적 또는"의 사용으로 고려될 수 있거나 또는 "또는"이라는 용어에 의해 링크되는 하나 또는 그 초과의 항목들의 포함 또는 응용을 허용하는 용어로 고려될 수 있다(예컨대, "A 또는 B"라는 문구는 단지 "A"만을 허용하는 것으로서, 단지 "B"만을 허용하는 것으로서 또는 "A" 및 "B" 둘 모두를 허용하는 것으로서 해석될 수 있음). 청구 대상은 구조적 특징들 또는 방법론적 동작들에 특정적인 언어로 설명되었지만, 첨부된 청구항들에서 정의되는 청구 대상은, 특징들이 배열되는 구성들 또는 동작들이 수행되는 순서들로 반드시 제한되는 것은 아니라는 것을 포함하여, 위에서 설명된 특정 특징들 또는 동작들로 반드시 제한되는 것은 아니라는 것이 이해될 것이다.

Claims (29)

  1. 집적 회로로서,
    정전력 레일(constant power rail);
    콜랩서블 전력 레일(collapsible power rail);
    다수의 플립-플롭들 ― 상기 다수의 플립-플롭들의 각각의 플립-플롭은,
    상기 콜랩서블 전력 레일에 커플링된 마스터(master) 부분; 및
    상기 정전력 레일에 커플링된 슬래이브(slave) 부분을 포함함 ―; 및
    전력 관리 회로를 포함하고,
    상기 전력 관리 회로는,
    클럭 신호와 유지(retention) 신호를 결합형 제어 신호로 결합시키고; 그리고
    상기 콜랩서블 전력 레일이 콜랩스되는 동안 각각의 플립-플롭의 상기 마스터 부분으로부터 상기 슬래이브 부분을 격리하기 위해 상기 결합형 제어 신호를 상기 다수의 플립-플롭들의 각각의 플립-플롭에 제공하도록 구성되는, 집적 회로.
  2. 제1 항에 있어서,
    상기 전력 관리 회로는 상기 유지 신호의 활성 상태에 대한 응답으로 일정한 값으로 상기 결합형 제어 신호를 클램핑(clamp)하도록 추가로 구성되는, 집적 회로.
  3. 제1 항에 있어서,
    상기 다수의 플립-플롭들의 각각의 플립-플롭은, 상기 결합형 제어 신호에 대한 응답으로 상기 슬래이브 부분의 출력에 상기 슬래이브 부분에 의해 저장된 슬래이브 데이터를 유지하고 그리고 상기 슬래이브 부분으로부터 상기 마스터 부분을 격리하도록 구성되는, 집적 회로.
  4. 제1 항에 있어서,
    상기 다수의 플립-플롭들의 각각의 플립-플롭의 상기 마스터 부분은 상기 콜랩서블 전력 레일이 콜랩스되면 상기 마스터 부분의 마스터 데이터를 포기하도록 구성되고; 그리고
    상기 다수의 플립-플롭들의 각각의 플립-플롭의 상기 슬래이브 부분은 상기 콜랩서블 전력 레일이 콜랩스되면 상기 슬래이브 부분의 슬래이브 데이터를 유지하도록 구성되는, 집적 회로.
  5. 제1 항에 있어서,
    입력 및 출력을 가지는 제1 인버터 ― 상기 제1 인버터의 입력은 상기 전력 관리 회로로부터 상기 결합형 제어 신호를 수신하도록 구성되고, 상기 제1 인버터의 출력은 보완된 내부 결합형 제어 신호를 생성하도록 구성됨 ―; 및
    입력 및 출력을 가지는 제2 인버터를 더 포함하고,
    상기 제2 인버터의 입력은 상기 보완된 내부 결합형 제어 신호를 수신하도록 구성되고, 상기 제2 인버터의 출력은 내부 결합형 제어 신호를 생성하도록 구성되는, 집적 회로.
  6. 제5 항에 있어서,
    상기 제1 인버터는 상기 정전력 레일에 커플링되고;
    상기 제2 인버터는 상기 콜랩서블 전력 레일에 커플링되고; 그리고
    상기 다수의 플립-플롭들의 각각의 플립-플롭의 상기 슬래이브 부분은 상기 보완된 내부 결합형 제어 신호 및 상기 내부 결합형 제어 신호를 수신하도록 구성된 패스 게이트를 포함하고,
    상기 패스 게이트는 상기 결합형 제어 신호가 상기 전력 관리 회로에 의해 로우(low)로 구동되면 개방되도록 구성되는, 집적 회로.
  7. 제1 항에 있어서,
    상기 전력 관리 회로는 상기 결합형 제어 신호를 생성하기 위해 상기 클럭 신호와 상기 유지 신호를 결합시키도록 구성된 결합 회로를 포함하는, 집적 회로.
  8. 제7 항에 있어서,
    상기 결합 회로는 NOR 게이트를 포함하는, 집적 회로.
  9. 제7 항에 있어서,
    상기 결합 회로는 상기 콜랩서블 전력 레일에 커플링되는, 집적 회로.
  10. 제1 항에 있어서,
    상기 전력 관리 회로는 클럭 인에이블(enable) 신호의 상태에 기반하여 전력 소비를 감소시키기 위해 상기 클럭 신호를 게이팅(gate)하도록 구성된 클럭 게이팅 회로를 포함하는, 집적 회로.
  11. 제1 항에 있어서,
    상기 다수의 플립-플롭들 외부에 배치된 리셋 회로를 더 포함하고,
    상기 리셋 회로는 상기 유지 신호가 활성이면 로우로 클램핑된 클램핑가능한 리셋 신호를 생성하기 위해 리셋 신호와 상기 유지 신호를 결합시키도록 구성되고,
    상기 리셋 회로는 상기 클램핑가능한 리셋 신호를 상기 다수의 플립-플롭들의 각각의 플립-플롭에 제공하도록 추가로 구성되는, 집적 회로.
  12. 제1 항에 있어서,
    상기 다수의 플립-플롭들 외부에 배치된 리셋 회로를 더 포함하고,
    상기 리셋 회로는 상기 유지 신호가 활성이면 하이(high)로 클램핑된 클램핑가능한 리셋 신호를 생성하기 위해 리셋 신호와 상기 유지 신호를 결합시키도록 구성되고,
    상기 리셋 회로는 상기 클램핑가능한 리셋 신호를 상기 다수의 플립-플롭들의 각각의 플립-플롭에 제공하도록 추가로 구성되는, 집적 회로.
  13. 집적 회로로서,
    정전력 레일;
    콜랩서블 전력 레일이 콜랩스되는 동안 전력으로부터 커플링해제되도록 구성된 상기 콜랩서블 전력 레일;
    다수의 플립-플롭들 ― 상기 다수의 플립-플롭들의 각각의 플립-플롭은,
    상기 콜랩서블 전력 레일에 커플링된 마스터(master) 부분; 및
    슬래이브 데이터를 저장하도록 구성되고, 그리고 상기 정전력 레일에 커플링된 슬래이브 부분을 포함함 ―;
    유지 신호가 활성인 동안 결합형 제어 신호가 일정한 값으로 클램핑되도록 그리고 상기 유지 신호가 활성이 아닌 동안 상기 결합형 제어 신호가 클럭 신호의 주기를 가지게 주기적이도록, 상기 클럭 신호 및 상기 유지 신호에 기반하여 상기 결합형 제어 신호를 생성하기 위한 수단; 및
    상기 콜랩서블 전력 레일이 콜랩스되는 동안 각각의 플립-플롭의 상기 마스터 부분으로부터 상기 슬래이브 부분을 격리하기 위해 상기 다수의 플립-플롭들의 각각의 플립-플롭에 상기 결합형 제어 신호를 분배하도록 구성된 회로를 포함하는, 집적 회로.
  14. 제13 항에 있어서,
    상기 결합형 제어 신호는, 각각의 플립-플롭의 상기 슬래이브 부분으로 하여금, 상기 유지 신호가 활성이면 상기 슬래이브 데이터를 유지하게 하도록 구성되는, 집적 회로.
  15. 제13 항에 있어서,
    상기 결합형 제어 신호를 생성하기 위한 수단은 상기 콜랩서블 전력 레일에 커플링되는, 집적 회로.
  16. 제13 항에 있어서,
    상기 다수의 플립-플롭들의 각각의 플립-플롭의 상기 슬래이브 부분은 각각의 플립-플롭의 상기 마스터 부분으로부터 상기 슬래이브 부분을 격리하기 위한 수단을 포함하는, 집적 회로.
  17. 제16 항에 있어서,
    상기 격리하기 위한 수단은 상기 마스터 부분으로부터 상기 슬래이브 부분으로 마스터 데이터를 전달하기 위한 수단을 포함하고; 그리고
    상기 마스터 데이터를 전달하기 위한 수단은 상기 결합형 제어 신호에 기반하여 제어되도록 구성되는, 집적 회로.
  18. 제13 항에 있어서,
    상기 결합형 제어 신호를 생성하기 위한 수단은 상기 유지 신호가 활성이면 상기 결합형 제어 신호를 접지로 풀링(pull)하도록 구성되는, 집적 회로.
  19. 제18 항에 있어서,
    상기 유지 신호는 상기 정전력 레일에 커플링된 회로에 의해 분배되는, 집적 회로.
  20. 제13 항에 있어서,
    상기 유지 신호가 활성인 동안 클램핑가능한 리셋 신호가 일정 값으로 클램핑되도록 리셋 신호 및 상기 유지 신호에 기반하여 상기 클램핑가능한 리셋 신호를 생성하기 위한 수단을 더 포함하는, 집적 회로.
  21. 플립-플롭들의 전력 관리를 위한 방법으로서,
    콜랩서블 전력 레일을 이용하여 다수의 플립-플롭들의 각각의 마스터 부분에 전력을 공급하는 단계;
    정전력 레일을 이용하여 상기 다수의 플립-플롭들의 각각의 슬래이브 부분에 전력을 공급하는 단계;
    결합형 제어 신호를 생성하기 위해 클럭 신호와 유지 신호를 결합시키는 단계; 및
    상기 콜랩서블 전력 레일의 전력 콜랩스 동안 상기 다수의 플립-플롭들의 각각의 슬래이브 부분의 슬래이브 데이터를 유지하고 그리고 상기 콜랩서블 전력 레일이 콜랩스되는 동안 상기 다수의 플립-플롭의 각각의 마스터 부분으로부터 각각의 슬래이브 부분을 격리하기 위해 상기 결합형 제어 신호를 상기 다수의 플립-플롭들에 제공하는 단계를 포함하는, 플립-플롭들의 전력 관리를 위한 방법.
  22. 제21 항에 있어서,
    상기 결합시키는 단계는, 각각의 대응하는 마스터 부분이 전력 콜랩스를 겪으면, 상기 유지 신호에 대한 응답으로, 상기 결합형 제어 신호를 상기 다수의 플립-플롭들의 각각의 슬래이브 부분의 상기 슬래이브 데이터로의 변화를 방지하는 값으로 클램핑하는 단계를 포함하는, 플립-플롭들의 전력 관리를 위한 방법.
  23. 제21 항에 있어서,
    상기 클럭 신호는 게이티드(gated) 클럭 신호를 포함하고; 그리고
    상기 결합시키는 단계는 상기 결합형 제어 신호를 생성하기 위해 상기 게이티드 클럭 신호와 상기 유지 신호를 결합시키는 단계를 포함하는, 플립-플롭들의 전력 관리를 위한 방법.
  24. 제21 항에 있어서,
    상기 콜랩서블 전력 레일을 이용하여 상기 결합시키는 단계를 수행하는 회로에 전력을 공급하는 단계를 더 포함하는, 플립-플롭들의 전력 관리를 위한 방법.
  25. 제21 항에 있어서,
    상기 제공하는 단계는 상기 결합형 제어 신호에 대한 응답으로 상기 전력 콜랩스 동안 각각의 대응하는 마스터 부분으로부터 상기 다수의 플립-플롭들의 각각의 슬래이브 부분을 격리하는 단계를 포함하는, 플립-플롭들의 전력 관리를 위한 방법.
  26. 제21 항에 있어서,
    클램핑가능한 리셋 신호를 생성하기 위해 리셋 신호와 상기 유지 신호를 결합시키는 단계; 및
    상기 전력 콜랩스 동안 상기 다수의 플립-플롭들의 리셋을 방지하기 위해 상기 클램핑가능한 리셋 신호를 상기 다수의 플립-플롭들에 제공하는 단계를 더 포함하는, 플립-플롭들의 전력 관리를 위한 방법.
  27. 집적 회로로서,
    마스터 부분 및 슬래이브 부분을 포함하는 제1 플립-플롭 ― 상기 마스터 부분은 전력 콜랩스를 겪도록 구성되고, 상기 슬래이브 부분은 상기 전력 콜랩스 동안 슬래이브 데이터를 유지하도록 구성됨 ―;
    마스터 부분 및 슬래이브 부분을 포함하는 제2 플립-플롭 ― 상기 마스터 부분은 상기 전력 콜랩스를 겪도록 구성되고, 그리고 상기 슬래이브 부분은 상기 전력 콜랩스 동안 슬래이브 데이터를 유지하도록 구성됨 ―; 및
    클럭 신호 및 유지 신호에 기반하여 결합형 제어 신호를 생성하고 그리고 상기 결합형 제어 신호를 상기 제1 플립-플롭 및 상기 제2 플립-플롭에 제공하도록 구성된 전력 관리 회로를 포함하고,
    상기 결합형 제어 신호는, 상기 제1 플립-플롭의 상기 슬래이브 부분 및 상기 제2 플립-플롭의 상기 슬래이브 부분으로 하여금, 상기 제1 플립-플롭 및 상기 제2 플립-플롭 각각의 상기 마스터 부분으로부터 상기 슬래이브 부분을 격리하게 하고, 그리고 상기 전력 콜랩스 동안 상기 슬래이브 데이터를 유지하게 하도록 구성된 값을 가지는, 집적 회로.
  28. 제27 항에 있어서,
    상기 전력 관리 회로는 상기 전력 콜랩스를 겪고 그리고 상기 전력 콜랩스 동안 상기 결합형 제어 신호를 생성하도록 추가로 구성되는, 집적 회로.
  29. 제27 항에 있어서,
    상기 제1 플립-플롭은 상기 결합형 제어 신호에 대한 응답으로 상기 전력 콜랩스 동안 상기 제1 플립-플롭의 상기 슬래이브 부분으로부터 상기 제1 플립-플롭의 상기 마스터 부분을 격리하도록 구성된 격리 회로를 포함하고; 그리고
    상기 제2 플립-플롭은 상기 결합형 제어 신호에 대한 응답으로 상기 전력 콜랩스 동안 상기 제2 플립-플롭의 상기 슬래이브 부분으로부터 상기 제2 플립-플롭의 상기 마스터 부분을 격리하도록 구성된 격리 회로를 포함하는, 집적 회로.
KR1020187011523A 2015-09-24 2016-08-12 플립-플롭들을 이용한 전력 관리 KR101929193B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/864,101 2015-09-24
US14/864,101 US9473113B1 (en) 2015-09-24 2015-09-24 Power management with flip-flops
PCT/US2016/046909 WO2017052838A1 (en) 2015-09-24 2016-08-12 Power management with flip-flops

Publications (2)

Publication Number Publication Date
KR20180049142A true KR20180049142A (ko) 2018-05-10
KR101929193B1 KR101929193B1 (ko) 2018-12-14

Family

ID=56889200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187011523A KR101929193B1 (ko) 2015-09-24 2016-08-12 플립-플롭들을 이용한 전력 관리

Country Status (7)

Country Link
US (1) US9473113B1 (ko)
EP (1) EP3353891B1 (ko)
JP (1) JP6487115B2 (ko)
KR (1) KR101929193B1 (ko)
CN (1) CN108141205B (ko)
BR (1) BR112018005984A2 (ko)
WO (1) WO2017052838A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210037726A (ko) * 2018-08-24 2021-04-06 그록, 인크. 프로세서 회로에서 전력 소비 감소

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404240B2 (en) 2016-01-28 2019-09-03 Samsung Electronics Co., Ltd. Semiconductor device comprising low power retention flip-flop
US10608615B2 (en) * 2016-01-28 2020-03-31 Samsung Electronics Co., Ltd. Semiconductor device including retention reset flip-flop
US10430302B2 (en) 2017-04-12 2019-10-01 Qualcomm Incorporated Data retention with data migration
US10262723B2 (en) * 2017-05-25 2019-04-16 Samsung Electronics Co., Ltd. System and method for improving scan hold-time violation and low voltage operation in sequential circuit
US10852807B2 (en) 2018-02-01 2020-12-01 Microsoft Technology Licensing, Llc Hybrid powering off of storage component memory cells
DE102019106109A1 (de) 2018-04-03 2019-10-10 Taiwan Semiconductor Manufacturing Company, Ltd. Datenspeicherschaltung und -verfahren
US11012057B2 (en) * 2018-04-03 2021-05-18 Taiwan Semiconductor Manufacturing Company, Ltd. Data retention circuit and method

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10343565B3 (de) * 2003-09-19 2005-03-10 Infineon Technologies Ag Master-Latchschaltung mit Signalpegelverschiebung für ein dynamisches Flip-Flop
US7227383B2 (en) 2004-02-19 2007-06-05 Mosaid Delaware, Inc. Low leakage and data retention circuitry
US7180348B2 (en) * 2005-03-24 2007-02-20 Arm Limited Circuit and method for storing data in operational and sleep modes
US20070085585A1 (en) * 2005-10-13 2007-04-19 Arm Limited Data retention in operational and sleep modes
US7548103B2 (en) 2006-10-26 2009-06-16 Freescale Semiconductor, Inc. Storage device having low power mode and methods thereof
JP2009302903A (ja) 2008-06-13 2009-12-24 Toshiba Corp 半導体集積回路
JP2010282411A (ja) * 2009-06-04 2010-12-16 Renesas Electronics Corp 半導体集積回路、半導体集積回路の内部状態退避回復方法
US8381163B2 (en) * 2010-11-22 2013-02-19 Advanced Micro Devices, Inc. Power-gated retention flops
US8390328B2 (en) * 2011-05-13 2013-03-05 Arm Limited Supplying a clock signal and a gated clock signal to synchronous elements
US8928383B2 (en) * 2013-03-15 2015-01-06 Analog Devices, Inc. Integrated delayed clock for high speed isolated SPI communication
EP2995003A4 (en) * 2013-05-08 2017-03-08 Qualcomm Incorporated Flip-flop for reducing dynamic power
US8841952B1 (en) 2013-05-27 2014-09-23 Freescale Semiconductor, Inc. Data retention flip-flop

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210037726A (ko) * 2018-08-24 2021-04-06 그록, 인크. 프로세서 회로에서 전력 소비 감소

Also Published As

Publication number Publication date
EP3353891A1 (en) 2018-08-01
CN108141205A (zh) 2018-06-08
KR101929193B1 (ko) 2018-12-14
BR112018005984A2 (pt) 2018-10-09
EP3353891B1 (en) 2021-04-07
JP6487115B2 (ja) 2019-03-20
JP2018528710A (ja) 2018-09-27
WO2017052838A1 (en) 2017-03-30
US9473113B1 (en) 2016-10-18
CN108141205B (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
KR101929193B1 (ko) 플립-플롭들을 이용한 전력 관리
EP3353893B1 (en) Power multiplexing with flip-flops
US7576582B2 (en) Low-power clock gating circuit
US7583121B2 (en) Flip-flop having logic state retention during a power down mode and method therefor
EP3459176B1 (en) Unified retention flip-flop architecture and control
US10193536B2 (en) Shared keeper and footer flip-flop
EP3479450B1 (en) Adaptive power multiplexing for a power distribution network
US10862462B2 (en) Vectored flip-flop
US9621144B2 (en) Clock gated flip-flop
KR20190133220A (ko) 능동 부하를 사용한 전력 멀티플렉싱
US20220302943A1 (en) Low power high sensitivity sense amplifier latch with complimentary outputs in reset mode
US10996709B2 (en) Low power clock gate circuit
US10401941B2 (en) Clock glitch prevention for retention operational mode
US11398814B2 (en) Low-power single-edge triggered flip-flop, and time borrowing internally stitched flip-flop
US10418975B2 (en) Low clock supply voltage interruptible sequential
US11296681B2 (en) High performance fast Mux-D scan flip-flop
KR20170123031A (ko) 반도체 회로
US20060061383A1 (en) On-chip power regulator for ultra low leakage current
US20220399893A1 (en) Data multiplexer single phase flip-flop
TW202324428A (zh) 寄存器

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant