예시적인 도면에서 도시한 바와 같이, 유사한 참조번호는 도면들 간의 유사하거나 대응하는 엘리먼트를 나타내고, 본 발명에 따른 시스템 및 방법의 예시적인 실시예는 이하에서 상세하게 설명한다. 그러나 본 발명은 다양한 형태로 구현할 수도 있다는 점을 이해하게 된다. 그러므로 본 명세서에서 개시하는 특정 설명은 한정적인 것이 아니라, 청구범위에 대한 근거로서 해석되어야 하고, 본 기술분야의 숙련자가 본 발명을 사실상 적절한 세부 시스템, 구조, 방법, 프로세스 또는 방식으로 구현하기 위한 전형적인 설명으로서 해석한다.
파워 아일랜드 매니저(Power Island Manager) - 도 2
내지 도
4
몇몇 실시예에서, 집적 회로는 파워 아일랜드(power island)로 설명할 수 있다. 그러면, 전력 소모는 파워 아일랜드 내에서 제어될 수 있다. 파워 아일랜드 매니저는 제어 신호를 파워 아일랜드에 제공하여 파워 아일랜드의 전력 소모를 제어한다. 몇몇 실시예에서, 저 누설, 데이터 보유 회로소자는 파워 아일랜드 내에 위치한다.
도 2는 본 발명의 예시적인 구현에서 전력 공급기(power supply)(280)를 구비한 집적 회로(200)의 예시를 도시한다. 집적 회로(200)는 CPU(210), 클록 매니저(212), 파워 아일랜드 매니저(220,222,224), 전력 공급기 매니저(240), 레벨 시프터/아이솔레이션 게이트(LS/ISO)(250,252,254), 로직(파워 아일랜드 2)(260), 메모리(파워 아일랜드 0)(262), 제3자 IP(intellectual property)(파워 아일랜드 1)(264), 어댑티브 누설 컨트롤러(ALC: adaptive leakage controller)(270) 및 버스(280)를 포함한다.
파워 아일랜드는 전력 소모가 제어되는 집적 회로의 임의 섹션, 부분(delineation), 구획(partition) 또는 분할부(division)이다. 몇몇 실시예에서, 파워 아일랜드는 집적 회로의 지리적 팩터에 기초하여 배치한다. 몇몇 실시예에서, 파워 아일랜드는 집적 회로(200)의 기능적 IP 유닛에 기초하여 배치한다. 도 2에 도시한 이 예에서, 파워 아일랜드는 메모리(262), 로직(260) 및 제3자 IP(264)에 의해 설명한다. 파워 아일랜드는, "Managing Power on Integrated Circuits Using Power Islands"라는 명칭으로 2004년 5월 7일에 출원하여 계류 중인 미국 출원번호 제10/840,893호에서 더 상세하게 기술하고, 그 내용은 본 명세서에 참조로서 포함한다.
파워 아일랜드 매니저(220,222,224)는 제어 신호를 파워 아일랜드에 제공하여 파워 아일랜드 내의 전력을 제어하도록 구성되는 회로소자, 디바이스 또는 시스템이다. 파워 아일랜드 매니저(220,222,224)는 집적 회로(200)의 니즈 및 작동에 기초하여 파워 아일랜드의 전력 소모를 동적으로 변화시킬 수 있다. 파워 아일랜드 매니저(220,222,224)는 클록을 선택하거나, 클록 주파수를 변화시키거나, 파워 아일랜드 내의 전압을 변경하여, 파워 아일랜드의 전력 소모를 제어할 수도 있다.
ALC(270)는 프로세스 및 온도 변화를 보상하는 제어 신호를 제공하여, 파워 아일랜드 내 슬립 트랜지스터에 인가되는 최적 전압을 제공한다. ALC(270)는 "Systems and Methods for Minimizing Static Leakage of an Integrated Circuit" 라는 명칭으로 2004년 11월 17일에 출원한 미국 출원번호 제10/996,739호에서 더 상세하게 기술한다.
도 3은 본 발명의 예시적인 실시예에서 아이솔레이션 게이트(isolation gate)(350) 및 D 플립 플롭(360)을 구비한 파워 아일랜드 매니저(220)의 예시를 도시한다. 파워 아일랜드 매니저(220)는 서로 연결되는 데이터 보유 상태 머신(330) 및 슬립 발생기(340)를 포함한다.
파워 아일랜드 매니저(220)는 ISO 신호에 의해 아이솔레이션 게이트(350)에 연결된다. ISO 신호는 다른 아이솔레이션 게이트에 또한 연결된다. 데이터 보유 상태 머신(330)은 DRB 신호를 통해 D 플립 플롭(360)의 DRB 입력에 연결된다. 데이터 보유 상태 머신(330)은 ENC 신호를 통해 AND 게이트(362)에 또한 연결된다. 클록 아일랜드(CKI) 신호는 데이터 보유 상태 머신(330) 및 AND 게이트(362)에 연결된다. 슬립 발생기(340)는 SLPB 신호를 통해 D 플립 플롭(360) 및 AND 게이트(362)에 연결된다. AND 게이트(362)의 출력은 CKA 신호를 통해 D 플립 플롭(360)의 C 입력에 연결된다. 시스템 리셋 신호는 파워 아일랜드 매니저(220)의 RESETB 입력 및 D 플립 플롭(360)의 RB 입력에 연결된다. SLPB 신호, DRB 신호 및 시스템 리셋 신호는 다른 데이터 보유 플립 플롭에 연결된다.
도 4는 본 발명의 예시적인 실시예에서 파워 아일랜드 매니저(220)의 예시를 도시한다. 파워 아일랜드 매니저(220)는 AND 게이트(402), 멀티플렉서(MUX)(404), D 플립 플롭(410), 인버터(412), AND 게이트(414), D 플립 플롭(420), D 플립 플롭(430), 데이터 보유 상태 머신(330), MUX(432), MUX(442), 슬립 발생기(340) 및 버퍼(452)를 포함한다.
DI0 핀은 D 플립 플롭(410)의 D 입력에 연결된다. SIO 핀은 D 플립 플롭(410)의 SI 입력에 연결된다. CSB 및 WEB 핀은 AND 게이트(402)의 입력에 연결된다. AND 게이트(402)의 출력 및 SCK1 핀은 MUX(404)의 입력에 연결된다. MUX(404)의 출력은 D 플립 플롭(410), D 플립 플롭(420) 및 D 플립 플롭(430)의 C 입력에 연결된다. D 플립 플롭(410)의 Q 출력은 인버터(412)의 입력 및 D 플립 플롭(420)의 SI 입력에 연결되는 DO0 핀에 연결된다. DI1 핀은 D 플립 플롭(420)의 D 입력에 연결된다. D 플립 플롭(420)의 Q 출력은 AND 게이트(414)의 입력 및 D 플립 플롭(430)의 SI 입력에 연결되는 DO1 핀에 연결된다. AND 게이트(414)의 출력은 RSTB 핀에 연결된다. DI2 핀은 D 플립 플롭(430)의 D 입력에 연결된다. D 플립 플롭(430)의 Q 출력은 DLY1/ISO 핀에 연결되는 D02 핀에 연결된다. DLY1/ISO 핀은 SO1, MUX(432)의 입력 및 데이터 보유 상태 머신(340)에 연결된다.
RESETB 핀은 D 플립 플롭(430), D 플립 플롭(420) 및 D 플립 플롭(410)의 R 입력에 연결된다. SE 핀, RESETB 핀, CKI 핀 및 SI2 핀은 데이터 보유 상태 머신(330)에 연결된다. 데이터 보유 상태 머신(330)은 MUX(432)의 입력, S02 핀, DRB 핀, ENC 핀 및 MUX(442)의 입력에 연결된다. MUX(442)의 출력, VDDI 핀 및 VL[0:2]는 슬립 발생기(340)에 연결된다. 슬립 발생기(340)는 SLPB 핀에 연결된다. 슬립 발생기(340)는 AW 핀을 통해 데이터 보유 상태 머신(330) 및 버퍼(452)의 입력에 연결된다. 버퍼(452)의 출력은 D03 핀에 연결된다. DRMODE 핀은 MUX(442)에 연결된다.
동작 시, 파워 아일랜드 매니저(220)는 몇몇 실시예에 대한 파워 아일랜드를 제어하기 위하여 3 비트 레지스터를 구비한다. 입력 DIO 및 출력 DOO를 갖는 D[0]는 파워 아일랜드를 다시 초기화하기 위한 아일랜드 리셋(island reset)이다. 이 비트는 RESETB와 결합하여, RESETB 또는 D[0]가 활성일 때마다 파워 아일랜드를 다시 초기화하는 RSTB를 형성한다. 입력 DI1 및 출력 DO1을 갖는 D[1]은 슬립 비트이다. D[1] 비트가 1로 설정될 때, 파워 아일랜드는 저 누설 상태가 된다. 입력 DI2 및 출력 D02를 갖는 D[2]는 DLYl/Isolate 비트이다. DRMODE가 로우(low)로 될 때, 1로 설정된 D[2] 비트는 활성화되는 DRB와 활성화되는 SLPB 사이에 1 클록 사이클 지연을 부가한다. DRMODE가 하이(high)로 될 때, 1로 설정된 D[2] 비트는 파워 아일랜드를 격리한다. D03와 같은 D[3]는 어웨이크 비트(awake bit)이다. 이 D[3] 비트는 SLPB가 하이일 때 하이가 된다. 이는, 파워 아일랜드가 슬립 상태로부터 벗어나는 시점을 소프트웨어에 의해 판정하는 데 사용할 수 있다.
파워 아일랜드 매니저(220)는 2가지 동작 모드, 즉 데이터 보유 플립 플롭을 구비한 파워 아일랜드를 지원하는 동작 모드 및 지원하지 않는 동작 모드를 갖는다. DRMODE 핀이 하이로 될 때, 파워 아일랜드는 D[1]에 1을 기입함으로써 슬립이 된다. 데이터 보유 상태 머신(330)은 타이밍을 수행한다. 격리(ISO) 신호는 슬립 비트가 1로 기입될 때 액티브(active)해지고, 인에이블 클록(ENC) 및 데이터 보유(DRB)는 파워 아일랜드 클록(CKI)으로의 동기화 후에 로우가 된다. 1 또는 2 클록 사이클 이후에 슬립(SLPB)은 로우가 된다. 슬립 모드로부터 벗어나기 위하여, 0이 D[1]에 기입된다. 몇몇 실시예에서, 파워 아일랜드에 있는 모든 클록 버퍼는 누설을 더 최소화하기 위하여 슬립될 수 있다. 소프트웨어는, DO3가 하이인 시점을 판독함으로써 파워 아일랜드가 슬립으로부터 벗어나는 시점을 판정할 수 있다.
시스템 리셋은 통상적으로 초기 시스템 파워 업 후에 일 회 적용된다. 몇몇 실시예에서, 시스템 리셋은 모든 데이터 보유 플립 플롭으로 진행한다. 시스템 리셋 신호 및 DIO 바(bar)는 논리 AND(RSTB 출력)에서 조합되어 비 데이터 보유 플립 플롭을 초기화한다. 파워 아일랜드 리셋을 생성하기 위하여, D[0]는 1로 설정된 다음 소프트웨어에 의해 0으로 소거된다.
DRMODE가 로우로 될 때, 파워 아일랜드 매니저(220)는 데이터 보유 플립 플롭을 구비하지 않은 파워 아일랜드에 대한 제어 신호를 또한 제공할 수 있다. 파워 아일랜드 매니저(220)는 데이터 보유 플립 플롭을 구비하지 않은 파워 아일랜드에 인터페이스하기 위한 하드웨어 구동 메소드(method) 및 소프트웨어 구동 메소드를 가질 수도 있다. 소프트웨어 시퀀스는 다음의 시퀀스를 갖는다.
Write 04 /turn on isolation
Write 06 /turn on sleep, isolation on
/come out of sleep
Write 05 /turn sleep off, reset island, isolation on
/wait for sleep to go high
Read /test forD03 = 1;sleep is high
Write 00 /turn isolation off, normal operation
하드웨어 구동 메소드는 클록을 사용하여 상태 머신을 차례로 나열한다. 소 프트웨어가 취하는 유일한 행동은 슬립 비트(DI1)를 1로 기입하여 슬립으로 진입하고, 0을 슬립 비트에 기입하여 슬립으로부터 벗어나는 것이다. 소프트웨어는, DO3이 하이인 시점을 판독함으로써 아일랜드가 슬립으로부터 벗어나는 시점을 판정할 수 있다.
몇몇 실시예에서, 파워 아일랜드 매니저(220)는 2개의 스캔 체인을 포함하는데, 이는, 일부 플립 플롭은 포지티브로 클록하고, 일부 플립 플롭은 네거티브로 클록하기 때문이다. 스캔 체인 인에이블 핀은 스캔 체인 1(SI1은 입력이고, SO1은 출력임), 레지스터에 대한 클록을 CKS1로 스위칭한다. 스캔 체인 2(SI2는 입력이고, S02는 출력임)는 CKI의 네거티브 에지에서 클록하는 데이터 보유 상태 머신(330) 플립 플롭에 연결된다. 별도의 스캔 아웃(scan out)이 각 클록 도메인을 위하여 제공된다.
몇몇 실시예에서, SLPB 네트(net)는 p형 안테나 다이오드를 사용한다. SLPB 네트가 네거티브 전압으로 진행할 수도 있으므로, n형 안테나 다이오드는 그라운드로의 과도한 누설을 초래할 수도 있다. 누설로 인하여 SLPB는 네거티브로 진행할 수 없고, 적절하게 동작하지 않을 수도 있다. CSB 핀은 칩 선택 핀이다. WEB 핀은 기입 인에이블 핀이다. VL[2:0]은 ALC(270)(도 2)에 의해 설정된 누설 제어 전압 값이다. VDDI는 파워 아일랜드로부터의 VDD이다.
저 누설, 데이터 보유 회로소자 - 도 5, 6, 7a-c, 8a-8b및 9-12
도 5, 6, 7a-c 및 8a-8b는 저 누설, 데이터 보유 회로소자에 대한 실시예를 개시한다. 이 예에서, 슬립 모드 시, 데이터 보유를 요구하지 않는 플립 플롭의 회로 부분은 슬립 트랜지스터를 통해 그라운드에 연결된다. 슬립 트랜지스터의 게이트는 -0.3V와 같은 네거티브 전압으로 구동될 수 있는 슬립 신호에 연결된다. 따라서, 플립 플롭의 이러한 회로 부분에서의 누설이 제거(감소)된다. 슬립 상태가 아닐 때, 슬립 트랜지스터는 VDD 공급 이상의 게이트 전압 값을 갖는데, 이는 회로를 효과적으로 접지한다.
데이터 보유를 요구하는 회로 부분은 2개의 트랜지스터를 통해 그라운드에 연결된다. 하나의 트랜지스터는, 전술한 슬립 트랜지스터와 같이 슬립 모드가 아닐 때의 회로를 효과적으로 접지하도록 동작한다. 다른 하나의 트랜지스터는 게이트가 접지되는 PMOS 디바이스인데, 이는 그라운드에 중간 임피던스(medium impedence)를 제공한다. 이 트랜지스터에 걸친 전압 강하(voltage drop)는 NMOS 트랜지스터의 소스 바이어스를 증가시킴으로써 누설을 감소시키도록 동작하고, 동시에 회로에 걸친 전압을 감소시킨다. 이 실시예에서, 데이터는 슬립 상태로 유지되고, 22의 팩터만큼 누설을 감소시킨다.
도 5는 본 발명의 예시적인 구현에서 플립 플롭 회로소자의 D/Q 부분(500)의 예시를 도시한다. 플립 플롭 회로소자의 D/Q 부분(500)은 인버터(502), M3 PMOS 트랜지스터(504), M4 NMOS 트랜지스터(506), 마스터 래치 회로소자(510), Mll PMOS 트랜지스터(522), M12 NMOS 트랜지스터(524), M13 NMOS 트랜지스터(526), 슬레이브 래치 회로소자(530) 및 인버터(540)를 포함한다.
D 신호 입력은 트랜지스터 M1 및 M2를 포함하는 인버터(502)의 입력이다. 인버터(502)의 소스는 도 7a에서 후술하는 노드 OFF에 연결된다. 인버터(502)의 출력은 M3 PMOS 트랜지스터(504) 및 M4 NMOS 트랜지스터(506)에 연결된다. M3 PMOS 트랜지스터(504)의 게이트는 CLK 신호 입력에 연결된다. M4 NMOS 트랜지스터(506)의 게이트는 CLKB 신호 입력에 연결된다.
마스터 래치 회로소자(510)는 인버터(512) 및 인버터(514)를 포함한다. 인버터(514)는 인버터(512)와 피드백 루프를 형성하는데, 인버터(512)의 출력은 인버터(514)의 입력에 연결되고, 인버터(514)의 출력은 인버터(512)의 입력에 연결된다. 인버터(512)는 트랜지스터 M5 및 M6에 대응한다. 인버터(514)는 트랜지스터 M7-M10에 대응한다. 인버터(512)의 입력은 도 8a에서 후술하는 노드 A에 연결된다. 인버터(512)의 소스는 도 7a에서 후술하는 노드 OFF에 또한 연결된다. 인버터(512)의 출력은 도 8a에서 후술하는 노드 B에 연결된다. 인버터(514)의 소스는 도 7a에서 후술하는 노드 OFF에 연결된다. 인버터(514)의 PMOS 게이트는 CLKB 신호 입력에 연결된다. 인버터(514)의 NMOS 게이트는 CLK 신호 입력에 연결된다.
M11 PMOS 트랜지스터(522)는 직렬인 M12 NMOS 트랜지스터(524) 및 M13 NMOS 트랜지스터(526)에 병렬이다. M11 PMOS 트랜지스터(522)의 게이트는 CLKB 신호 입력에 연결된다. M12 NMOS 트랜지스터(524)의 게이트는 HOLDB 신호 입력에 연결된다. M13 NMOS 트랜지스터(526)의 게이트는 CLK 신호 입력에 연결된다.
슬레이브 래치 회로소자(530)는 인버터(532) 및 인버터(534)를 포함한다. 인버터(534)는 인버터(532)와 피드백 루프를 형성하는데, 인버터(532)의 출력은 인버터(534)의 입력에 연결되고, 인버터(534)의 출력은 인버터(532)의 입력에 연결된다. 인버터(532)는 트랜지스터 M14 및 M15에 대응한다. 인버터(534)는 트랜지스 터 M18-21 및 M31에 대응한다. 인버터(532)의 입력은 도 8b에서 후술하는 노드 C에 연결된다. 인버터(532)의 소스는 도 7b-c에 후술하는 노드 SB에 또한 연결된다. 인버터(532)의 출력은 도 8b에서 후술하는 노드 D에 연결된다. 인버터(534)의 소스는 도 7b-c에서 후술하는 노드 SB에 연결된다. 인버터(534)의 PMOS 게이트는 HOLDB 및 CLK 신호 입력에 연결된다. 인버터(534)의 NMOS 게이트는 CLKB 신호 입력에 연결된다.
인버터(532)의 출력은 인버터(540)의 입력에 연결된다. 인버터(540)는 트랜지스터 M16 및 M17에 대응한다. 인버터(540)의 소스는 도 7a에서 후술하는 노드 OFF에 또한 연결된다. 인버터(540)의 출력은 Q 신호 출력이다.
도 6은 본 발명의 예시적인 구현에서 플립 플롭 회로소자의 CK 부분(600)을 도시한다. 플립 플롭 회로소자의 CK 부분(600)은 인버터(602), M24 PMOS 트랜지스터(604), M25 PMOS 트랜지스터(606), M26 NMOS 트랜지스터(608), M32 NMOS 트랜지스터(610) 및 M27 PMOS 트랜지스터(612)를 포함한다.
CK 신호 입력은 트랜지스터 M22 및 M23을 포함하는 인버터(602)의 입력이다. 인버터(602)의 소스는 도 7a에서 후술하는 노드 OFF에 연결된다. 인버터(602)의 출력은 M24 PMOS 트랜지스터(604)의 드레인 및 노드 CLKB에 연결된다. M24 PMOS 트랜지스터(604)의 게이트는 HOLDB 신호 입력에 연결된다. 인버터(602)의 출력은 M25 PMOS 트랜지스터(606) 및 M26 NMOS 트랜지스터(608)에 또한 연결된다. M25 PMOS 트랜지스터(606), M26 NMOS 트랜지스터(608) 및 M32 NMOS 트랜지스터(610)는 직렬로 연결된다. M32 NMOS 트랜지스터(610)의 게이트는 HOLDB 신호 입력에 연결 된다.
CLK 신호 출력은 M25 PMOS 트랜지스터(606)의 드레인, M26 NMOS 트랜지스터(608)의 드레인 및 M27 PMOS 트랜지스터(612)의 드레인에 연결된다. M27 PMOS 트랜지스터(612)의 게이트는 HOLDB 신호 입력에 연결된다.
도 7a는 본 발명의 예시적인 구현에서 OFF 노드를 위한 슬립 트랜지스터(702)를 도시한다. 슬립 트랜지스터(702)는 트랜지스터 M28에 대응하는 NMOS 트랜지스터이다. 슬립 트랜지스터(702)의 드레인은 OFF 노드에 연결된다. 슬립 트랜지스터(702)의 게이트는 SLEEPB 신호 입력에 연결된다. 슬립 트랜지스터(702)의 소스는 그라운드에 연결된다. 몇몇 실시예에서, OFF 노드는 2 이상의 노드로 분리될 수 있는데, 각 노드는 NMOS 슬립 트랜지스터를 구비한다.
도 7b는 본 발명의 예시적인 구현에서 SB 노드를 위한 슬립 트랜지스터(704)를 도시한다. 슬립 트랜지스터(704)는 트랜지스터 M29에 대응하는 NMOS 트랜지스터이다. 슬립 트랜지스터(704)의 드레인은 SB 노드에 연결된다. 슬립 트랜지스터(704)의 게이트는 SLEEPB 신호 입력에 연결된다. 슬립 트랜지스터(704)의 소스는 그라운드에 연결된다.
도 7c는 본 발명의 예시적인 구현에서 SB 노드를 위한 슬립 트랜지스터(706)를 도시한다. 슬립 트랜지스터(706)는 트랜지스터 M30에 대응하는 PMOS 트랜지스터이다. 슬립 트랜지스터(706)의 소스는 SB 노드에 연결된다. 슬립 트랜지스터(706)의 게이트 및 드레인은 그라운드에 연결된다.
도 8a는 본 발명의 예시적인 구현에서 마스터 래치에서의 3상 인버터를 위한 회로소자(800)를 도시한다. 마스터 래치를 위한 회로소자(800)는 서로 직렬로 연결되는 PMOS 트랜지스터(802), PMOS 트랜지스터(804), NMOS 트랜지스터(806) 및 NMOS 트랜지스터(808)를 포함한다. PMOS 트랜지스터(802) 및 NMOS 트랜지스터(808)의 게이트는 노드 B에 연결된다. PMOS 트랜지스터(804)의 게이트는 CLKB 신호 입력에 연결된다. NMOS 트랜지스터(806)의 게이트는 CLK 신호 입력에 연결된다. PMOS 트랜지스터(804) 및 NMOS 트랜지스터(806)의 드레인은 노드 A에 연결된다. NMOS 트랜지스터(808)의 소스는 노드 OFF에 연결된다.
도 8b는 본 발명의 예시적인 구현에서 슬레이브 래치에서의 3상 인버터를 위한 회로소자(810)를 도시한다. 슬레이브 래치를 위한 회로소자(810)는 PMOS 트랜지스터(812), PMOS 트랜지스터(814), PMOS 트랜지스터(816), NMOS 트랜지스터(818) 및 NMOS 트랜지스터(820)를 포함한다. PMOS 트랜지스터(812)는 서로 병렬인 PMOS 트랜지스터(814) 및 PMOS 트랜지스터(816)에 연결된다. PMOS 트랜지스터(814) 및 PMOS 트랜지스터(816)는 NMOS 트랜지스터(820)에 또한 연결되는 NMOS 트랜지스터(818)에 연결된다.
PMOS 트랜지스터(812) 및 NMOS 트랜지스터(820)의 게이트는 노드 D에 연결된다. PMOS 트랜지스터(814)의 게이트는 HOLDB 신호 입력에 연결된다. PMOS 트랜지스터(816)의 게이트는 CLK 신호 입력에 연결된다. NMOS 트랜지스터(818)의 게이트는 CLKB 신호 입력에 연결된다. PMOS 트랜지스터(814), PMOS 트랜지스터(816) 및 NMOS 트랜지스터(806)의 드레인은 노드 C에 연결된다. NMOS 트랜지스터(820)의 소스는 노드 SB에 연결된다.
도 9는 본 발명의 예시적인 실시예에서 HOLDB 및 SLEEPB 신호의 예시를 도시한다.
CK가 0이 되면서 동작이 시작된다. 이로 인하여 CLKB는 VDD와 동일해지고, CLK는 0과 동일해지는데, 이는 마스터 래치 회로소자(510)로부터 슬레이브 래치 회로소자(530)를 격리시킨다. HOLDB 신호가 0으로 되어 슬레이브 래치의 상태를 유지한다. 그러면, SLEEPB 신호는 -0.3V로 된다. 이는 도 7a의 트랜지스터 M28을 차단하는데, 이는 슬레이브 래치 회로소자(530)를 제외한 모든 회로로부터의 누설을 중단시킨다. 슬립 모드가 아닐 때, 트랜지스터 M28은 그라운드로의 저 임피던스 경로를 제공한다.
슬레이브 래치 회로소자(530)는 도 7b 및 도 7c에 각각 도시한 트랜지스터 M29 및 M30을 통해 그라운드에 연결된다. 트랜지스터 M29의 한가지 목적은, 슬립 모드가 아닐 때, 그라운드로의 저 임피던스 경로를 제공하는 것이다.
트랜지스터 M30의 한가지 목적은, 트랜지스터 M29가 오프 또는 슬립 모드일 때, 그라운드로의 디폴트 중간 임피던스(default moderate impedence) 경로를 제공하는 것이다. 트랜지스터 M30를 통과하는 슬레이브 래치 회로소자(530)에서의 누설로 인하여 노드 SB는 상승한다. 이는, 슬레이브 NMOS 트랜지스터에 소스 바이어스를 제공하여 슬레이브 NMOS 트랜지스터를 통한 누설을 감소시키고, 또한 슬레이브 측에 걸친 전압을 VDD-SB로 감소시키는데, 이로 인하여 누설을 더 감소시킨다. 누설이 증가할 수 없는 평형 상태(equilibrium)에 도달한다. 기본적으로, 누설은 그 자체를 제한하는 데 사용된다.
이 실시예는, 회로 양단의 전압이 VDD-SB로 감소하기 때문에, 게이트형 VDD 솔루션(gated VDD solution)을 사용한다. 이 실시예는, 단지 NMOS 트랜지스터에 대한 소스 바이어스 SB로 인해 이 게이트형 VDD를 변조형 백(modulated back) 게이트 바이어스 방법과 조합한다. 이는, 더 낮은 VDD를 스위칭하지 않고, 웰을 구동하지 않으면서 실현된다. 따라서, 간단한 프로세스가 사용될 수 있다. 또한, 이 실시예는, 평형 상태에 도달함으로써 누설을 자체적으로 제한하는 방식으로 중간 임피던스 트랜지스터를 유용하게 사용한다.
도 10 및 도 11은 저 누설, 데이터 보유 회로소자를 위한 또 다른 실시예를 개시한다. 이 실시예에서, 슬립 상태 시, 데이터 보유를 요구하지 않는 회로소자는 슬립 트랜지스터를 통해 그라운드에 연결된다. SLEEPB 신호에 의해 게이트 제어되는 트랜지스터에 연결된 로직은 차단되고, 최소한의 누설을 발생한다. 이 프로세스는 SLEEPB 신호를 0.3-0.4V만큼 VSS 이하로 구동함으로써 실현된다. HOLDB 신호는, 나머지 플립 플롭이 슬립 상태로부터 벗어나는 동안, 슬레이브 래치 회로소자의 상태가 변하는 것을 방지한다. 여전히 전력이 공급되는 플립 플롭의 유일한 부분은 슬레이브 래치 회로소자이다. 슬레이브 래치 회로소자는 몇몇 기법을 조합하여 누설을 최소화한다.
도 10은 본 발명의 예시적인 실시예에서 저 누설 및 데이터 보유를 위한 회로소자(1000)를 도시한다. 회로소자(1000)는 인버터(1002), 마스터 래치 회로소자(1010), 슬레이브 래치 회로소자(1020), 인버터(1032), 인버터(1034), 슬립 트랜지스터(1042,1044,1046,1048), 인버터(1052) 및 인버터(1054)를 포함한다.
D 입력은 인버터(1002)를 위한 입력이다. 마스터 래치 회로소자(1010)는 전송 게이트(1012), 인버터(1014), 전송 게이트(1016) 및 인버터(1018)를 포함한다. 인버터(1002)의 출력은 전송 게이트(1012)의 왼쪽 접점(contact)에 연결된다. 전송 게이트(1012)의 오른쪽 접점은 인버터(1014)의 입력 및 전송 게이트(1016)의 왼쪽 접점에 연결된다. 인버터(1014)의 출력은 슬레이브 래치 회로소자(1020)의 D 입력 및 인버터(1018)의 입력에 연결된다. 인버터(1018)의 출력은 슬레이브 래치 회로소자(1020)의 DB 입력 및 전송 게이트(1016)의 오른쪽 접점에 연결된다.
SLEEPB 신호 입력은 SL1 슬립 트랜지스터(1042), SL2 슬립 트랜지스터(1044), SL3 슬립 트랜지스터(1046), SL4 슬립 트랜지스터(1048) 및 슬레이브 래치 회로소자(1020)의 SLEEPB 입력에 연결된다. SL1 슬립 트랜지스터(1042)는 인버터(1002) 및 그라운드에 연결된다. SL2 슬립 트랜지스터(1044)는 인버터(1052), 인버터(1054) 및 그라운드에 연결된다. SL3 슬립 트랜지스터(1046)는 인버터(1014), 인버터(1018) 및 그라운드에 연결된다. SL4 슬립 트랜지스터(1048)는 인버터(1032), 인버터(1034) 및 그라운드에 연결된다. 몇몇 실시예에서, SL1 슬립 트랜지스터(1042), SL2 슬립 트랜지스터(1044), SL3 슬립 트랜지스터(1046) 및 SL4 슬립 트랜지스터(1048)는 2 이상의 노드로 각각 분리될 수 있는데, 각 노드는 NMOS 슬립 트랜지스터를 구비한다.
CK 신호는 인버터(1052)의 입력이다. 인버터(1052)의 출력은 전송 게이트(1012), 전송 게이트(1016), 및 인버터(1054)의 입력에 연결된다. 인버터(1054)의 출력은 전송 게이트(1012), 전송 게이트(1016), 및 슬레이브 래치 회로소자(1020)의 CLK 입력에 연결된다. HOLDB 신호 입력은 슬레이브 래치 회로소자(1020)의 HOLDB 입력에 연결된다. 슬레이브 래치 회로소자(1020)의 출력은 인버터(1032)의 입력에 연결된다. 인버터(1032)의 출력은 인버터(1034)의 입력에 연결된다. 인버터(1034)의 출력은 Q 신호이다.
도 11은 본 발명의 예시적인 실시예에서 슬레이브 래치 회로소자(1020)를 도시한다. 슬레이브 래치 회로소자(1020)는 D1 트랜지스터(1102), D2 트랜지스터(1104), DH 트랜지스터(1106), DSL 슬립 트랜지스터(1108), 스택 트랜지스터(1110), 스택 트랜지스터(1120), D1B 트랜지스터(1132), D2B 트랜지스터(1134), DHB 트랜지스터(1136) 및 슬립 트랜지스터(1138)를 포함한다.
D1 트랜지스터(1102), D2 트랜지스터(1104), DH 트랜지스터(1106) 및 DSL 슬립 트랜지스터(1108)는 서로 직렬로 연결되며, 슬립 트랜지스터(1108)는 그라운드에 연결된다. D1 트랜지스터(1102)의 게이트는 CLK 신호 입력에 연결된다. D2 트랜지스터(1104)의 게이트는 D 신호 입력에 연결된다. DH 트랜지스터(1106)의 게이트는 HOLDB 신호 입력에 연결된다. 슬립 트랜지스터(1108)의 게이트는 SLEEPB 신호 입력에 연결된다.
스택 트랜지스터(1110)는 P1 트랜지스터(1112), PO 트랜지스터(1114), N1 트랜지스터(1116) 및 NO 트랜지스터(1118)를 포함한다. P1 트랜지스터(1112), PO 트랜지스터(1114), N1 트랜지스터(1116) 및 NO 트랜지스터(1118)는 서로 직렬로 연결되며, N0 트랜지스터(1118)는 그라운드에 연결된다. P1 트랜지스터(1112), PO 트랜지스터(1114), N1 트랜지스터(1116) 및 NO 트랜지스터(1118)의 게이트는 LAT 신호 입력에 연결된다. POB 트랜지스터(1124) 및 N1B 트랜지스터(1126)의 드레인은 LAT 신호 입력에 연결된다.
스택 트랜지스터(1120)는 P1B 트랜지스터(1122), POB 트랜지스터(1124), N1B 트랜지스터(1126) 및 NOB 트랜지스터(1128)를 포함한다. P1B 트랜지스터(1122), POB 트랜지스터(1124), N1B 트랜지스터(1126) 및 NOB 트랜지스터(1128)는 서로 직렬로 연결되며, NOB 트랜지스터(1128)는 그라운드에 연결된다. P1B 트랜지스터(1122), POB 트랜지스터(1124), N1B 트랜지스터(1126) 및 NOB 트랜지스터(1128)의 게이트는 LATB 신호 입력에 연결된다. PO 트랜지스터(1114) 및 N1 트랜지스터(1116)의 드레인은 LATB 신호 입력에 연결된다.
동작 시, SLEEPB 신호에 의해 게이트 제어되는 트랜지스터에 연결된 로직은 차단되고, 최소 누설을 발생한다. 이 프로세스는 SLEEPB 신호를 0.3-0.4V만큼 VSS 이하로 구동함으로써 실현된다. HOLDB 신호는, 나머지 플립 플롭이 슬립 상태로부터 벗어나는 동안, 슬레이브 래치 회로소자(1020)의 상태가 변하는 것을 방지한다. 여전히 전력이 공급되는 플립 플롭의 유일한 부분은 슬레이브 래치 회로소자(1020)이다. 슬레이브 래치 회로소자(1020)는 몇몇 기법을 조합하여 누설을 최소화한다. 상태 보유에 불필요한 트랜지스터(CLK를 갖는 스택)는 누설을 차단하는 슬립 트랜지스터를 구비한다(SLEEPB 신호에 의해 게이트 제어됨).
스택 트랜지스터 1110 및 1120에서의 8개 트랜지스터는 2가지 기법을 사용하여 누설을 감소한다. 사용되는 첫 번째 기법은 셀프-리버스 바이어스라고 부르는 트랜지스터 적층법이다. NO 트랜지스터(1118) 및 N1 트랜지스터(1116)는, 게이트 가 0V일 때에도 작은 누설이 있다. 그 결과, VNN1는 포지티브 전압이다. 이로 인하여 VGS(N1) 및 VBS(N1)는 네거티브가 되고, VDS(N1)은 감소한다. 따라서, 누설 전류는 NO 트랜지스터(1118) 및 N1 트랜지스터(1116)에서 감소한다. 동일한 효과가 NOB 트랜지스터(1128), N1B 트랜지스터(1126), PO 트랜지스터(1114), P1 트랜지스터(1112), POB 트랜지스터(1124) 및 P1B 트랜지스터(1122)에서 발생한다.
두 번째 기법은 복수 임계 트랜지스터라고 부른다. MOS 트랜지스터의 채널 길이를 증가시키면, 프로세스 복잡도를 변화시키지 않으면서 디바이스의 임계치를 증가시킨다. NO 트랜지스터(1118), N1 트랜지스터(1116), NOB 트랜지스터(1128) 및 N1B 트랜지스터(1126)는 증가한 채널 길이를 갖는데, 이는 VTH를 상승시키고, 누설 전류를 감소시킨다.
이 실시예는 커런트 표준 셀(current standard cell) D 플립 플롭보다 25의 팩터만큼 누설을 감소시킨다.
I/O 패드 - 도 12
몇몇 실시예에서, 프로그램 가능한 범용 입출력(I/O) 패드셀(padcell)은 칩 코어 로직과 인터페이스하는 내장형 레벨 시프터 및 아이솔레이션(isolation)을 포함한다. 이러한 실시예에서, 레벨 시프터는 데이터를 유지하도록 제어될 수 있다.
도 12는 본 발명의 예시적인 실시예에서 I/O 패드를 위한 레벨 시프터용 회로소자(1200)를 도시한다. 회로소자(1200)는 MP2 트랜지스터(1202), MP3 트랜지스터(1204), M3 트랜지스터(1206), M4 트랜지스터(1208), M1 트랜지스터(1210), MO 트랜지스터(1212), M5 트랜지스터(1214), M2 트랜지스터(1216) 및 인버터(1218)를 포함한다.
회로소자(1200)는 래칭 레벨 시프터를 위한 것이다. M3 트랜지스터(1206) 및 M4 트랜지스터(1208)는 "네이티브(native)" 캐스코드(cascode) 디바이스이다. M3 트랜지스터(1206) 및 M4 트랜지스터(1208)는 공핍-모드(depletion-mode) 트랜지스터로서 또한 알려져 있다. M3 트랜지스터(1206) 및 M4 트랜지스터(1208)를 사용함으로써, 얇은 게이트 디바이스를 입력단에 사용할 수 있다. 이는, VDD와 V3IO 간의 큰 전압비를 허용한다. MO 트랜지스터(1212) 및 M1 트랜지스터(1210)는, IN 및 INB 둘 다가 0일 때, 레벨 시프터로 하여금 그 상태를 유지할 수 있게 하는 출력 래칭 디바이스이다. 따라서, IN 및 INB는 데이터 보유를 제어한다.
몇몇 실시예에서, M3 트랜지스터(1206) 및 M4 트랜지스터(1208)의 게이트는 캐스코드 전압에 연결된 다른 트랜지스터에 연결된다.
다음의 표 1의 진리표는 회로소자(1200)를 위한 것이다.
IN |
INB |
OUT |
0 |
0 |
마지막 상태 유지 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
위반 |
SLPB와 비교되는 신호를 위한 셋업 시간 요구조건이 존재한다. 레벨 시프터가 출력단에 구축된 SRAM 셀과 함께 사용된다면, 2개 입력은 출력 래치가 새로운 상태로 플립한 후 언제든지 제거할 수 있다. 레벨 시프터로의 1.2V 입력 모두가 VDD로 될 수는 없다. 이는 인버터를 포함함으로써 방지할 수 있다. 인버터와 레벨 시프터 둘 다가 SLPB 트랜지스터를 구비하는 경우, SLPB가 VSS로 되고, VDD가 하이이면, 잠재적인 타이밍 레이스(potential timing race)가 존재한다. 이 경우, 레벨 시프터는 인버터의 출력이 VDD로 옮겨가기 전에 오프되어야 한다. 몇몇 실시예에서, M5 트랜지스터(1214) 및 M2 트랜지스터(1216)는 더 큰 전압을 견디도록 구성할 수 있다.
몇몇 실시예에서, M5 트랜지스터(1214) 및 M2 트랜지스터(1216)의 소스는 공통 SLEEPB 트랜지스터에 연결되어 누설을 더 감소시킬 수 있다. 실시예에서, SLEEPB 트랜지스터의 폭은 4㎛이고, 길이는 13㎛이다. 다음의 진리표는 이 공통 SLEEPB 트랜지스터를 포함하는 회로소자(1200)를 위한 것이다.
SLEEPB |
IN |
INB |
OUT |
1 |
0 |
0 |
상태 유지 (데이터 보유) |
1 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
위반 |
0 |
X |
X |
상태 유지 |
몇몇 실시예에서, SLEEPB = 0 입력 상태는 OV 이하(예를 들어, 누설 최적화 회로에 의해 발생한 -0.35V)인 SLEEPB 전압을 포함하는 것으로 이해해야 한다.
도 12(및 전술한 진리표)에 대한 이러한 부연에서, 2가지 데이터 보유 상태는 개별적으로, 순차적으로 또는 동시에 조작될 수도 있다. 이는, IN/INB = 00 상태가 데이터 보유를 위해 사용되는 동안, SLEEPB 입력이 누설 전력을 제어/제한하는 데 사용될 때 유용하다. 이는, SLEEPB 전압이 전하 펌프로부터 유래하고, Vdd(=1)로부터 데이터 보유 모드로 변하는 데 약간의 시간이 걸리기 때문이다.
전술한 설명은 예시적이며, 한정적인 것은 아니다. 본 명세서를 검토하는 본 기술분야의 숙련자에게는 본 발명의 많은 변경이 명백해질 것이다. 그러므로 본 발명의 범위는 전술한 설명을 참조하여 판정해서는 안 되고, 첨부한 청구범위 및 그 등가물의 전체 범위를 참조하여 판정해야 한다.