[연재 기고] 저전력 IC 기술동향 분석; 경쟁력 높은 IC 구현을 위한 ‘IP 저전력’ 설계
  • 2021-10-06

글: 나경원 (주)Qualitas Semiconductor, 고려대학교 공학대학원 전기전자컴퓨터공학과
     주병권: 고려대학교 전기전자공학부 교수 재직 중



최근 모바일 기기뿐만 아니라 IT 모든 기기들의 고속화, 다기능화로 인하여 저전력 IC는 선택이 아니라 필수가 되었다고 할 수 있다. 이러한 설계 노력과 함께 Leakage Power를 감소시키기 위해 FD-SOI 공정을 이용한 IC 개발이 진행되고 있다. leakage Power를 줄이기 위해서는 Power Gating을 활용하여 전력 소모를 줄일 필요가 있다.

서론


각종 IT기기들의 기능들이 점점 다양화 되고 고성능화 되어가면서 전력소모가 크게 증가하는 문제가 발생하고 있어 한정된 배터리 용량 내에서 사용시간을 개선하여 하는 저전력 IC 설계가 중요한 요소가 되었다.

저전력 IC에 대한 요구는 휴대용 애플리케이션에만 국한되지는 않는다. 비용 경쟁이 매우 심각한 소비자 애플리케이션에서는 패키지 비용 절감을 위해 저전력이 필요하다. 값비싼 세라믹 대신 값싼 플라스틱 패키지를 사용할 경우 전력 소비량이 낮아야만 한다.

또한 전력 최소화는 하이-엔드 마이크로프로세서(High-End Microprocessors)의 신뢰성 향상을 위해 필요하다. 이러한 VLSI의 성능을 개선하기 위해 작동 주파수가 증가하여 ‘Power Dissipation’이 증가한다. 이는 와이어(wire)에 전자 이동, MOS Transistor Hot Carrier Effect, Power Wire에 의한 IR Drop, Ground bouncing 등 신뢰성 문제를 일으키는 경향이 있다. 이러한 문제들을 해결하기 위해 고성능을 유지하는 전력 절감 기술이 강하게 요구된다.

일반적으로 모든 전자 기기의 전력 소모는 SoC를 구성하는 트랜지스터 소자의 전력 소모를 의미하며 저전력 IC 구현을 위해서는 공정소자 기술과 회로 시스템에서 다양하고 종합적인 고려가 필요하다.



그림 1의 전체 전력방정식과 같이 저전력 IC설계를 위해서는 각 방정식의 요소들을 줄이는 것으로 해결이 가능하다. 전력소비는 크게 Dynamic Power와 Static Power로 구분이 가능하다.

Dynamic Power는 회로가 동작할 때 소모되는 Power로 Switching 전류 및 동작하는 동안 PMOS와 NMOS가 동시에 동작할 때 단락전류에 의해 소비되는 전력이다.



Static Power란 동작하지 않을 때 즉 디바이스는 ‘off’ 되었으나, 전원이 켜져 있는 Stand by 상태를 의미하며 전원은 켜져 있지만 신호가 바뀌지 않을 때 Leakage Current에 의해 발생하는 소비되는 전력을 의미한다. 이러한 Leakage Current 공정이 미세화 되지 않을 때는 크게 문제가 발생하지 않았으나 아래 그림 2와 같이 공정이 미세화 되어 가면서 크게 증가하여 Static Power는 40nm 대비하여 20nm는 약 4배 가량 증가하게 되었다. 이러한 공정의 미세화가 계속 진행되면 디바이스가 동작할 때 발생하는 Dynamic Power보다 대기모드 때 발생하는 Static power를 줄이는 것이 매우 중요하게 되었다.

저전력 설계 기법으로는 Power Gating, Multi-Voltage Design, Multi-threshold Voltage, Clock Gating, DVFS 등이 있다.

저전력 IC 기술



1. Power Gating


Power Gating 기법은 동작하지 않는 구간(Stand by mode)에서 Power Switch Cell (Header Cell)을 이용하여 block을 그림 3과 같이 종료시켜는 것을 의미한다. 다시 동작이 필요한 구간에서는 Power Switch cell을 ‘on’ 시켜 블록(block) 동작시키는 구조로 블록의 전원을 완전히 차단할 수 있는 방식을 의미한다.

전원을 차단하여 블록이 꺼진 시간 동안 Dynamic Power 및 Static Power 모두 절전 효과를 가져올 수 있다. Power Gating은 일반적으로 가장 적극적인 절전 기능을 제공하므로, 기능을 유지하면서 가능한 여러 블록들의 전원을 차단하는 것이 가장 이상적인 목표이다. Power Gating으로 절전효과를 가져오기 위해서는 Power Switching Network와 PMU(Power Management Unit), Retention cell, Isolation Cell이 필요하다.



A) Isolation Cell
그림 4와 같이 Shut down Block에 전원이 켜져 있으면 신호가 ISO_EN보다 높아 Shut down block의 출력신호가 Always-On-block에 공급되며 전원이 차단되면 출력신호가 ISO_EN보다 낮게 되어 O이 출력되어 Always-On-Block으로 입력되게 된다.



b) Retention Cell
블록의 전원이 차단했을 때 데이터를 유지하고 있어야 하는 ‘Cell’이 필요하며 이를 Retention cell이라고 한다. Retention cell은 그림 5와 같이 Save 신호를 이용하여 전원이 꺼지기 전의 Main Register의 정보를 Shadow Register에 저장하며 Restore 신호를 통해 전원이 켜지기 되면 데이터를 Main Register에 복원하게 된다,

C) PMU (Power Management Unit)
PMU는 전원상태와 주어진 전압에 대해 Switch cell on/off 및 전원 on/ff 중에 올바른 신호 값이 고정되도록 하며 신호의 순서가 정확히 입력되는지 확인하여 Power와 관련한 모든 신호를 관리하는 역할을 한다.

전력 스위치 네트워크 설계에 영향을 미치는 요인:

a) Rush Current
Rush Current는 초기 전원을 켤 때 회로에서 유입되는 전류이다. Electrical load가 켜지면 처음에는 큰 전류를 끌어와 내부 커패시터를 충전한다. 이 전류는 정상 작동 중에 구성 요소가 소비하는 평균 전류의 몇 배 되어 트랜지스터가 견딜 수 있는 전류 양을 초과 할 수도 있다. Power Domain의 전원이 켜지면 모든 커패시터가 충전되기 시작하여 동시에 모두 충전되기 때문에 전류의 유입량이 커서 전류가 갑자기 돌진하게 된다.

이러한 Rush Current는 Power Switch Network를 손상시킬 수 있다. 그러므로 우리는 Rush Current의 영향을 완화하기 위해 전력 스위치 네트워크의 세심한 설계가 필요하다. 일반적으로 많은 병렬 전원 스위치는 Power Domain Supply Grid를 하나 이상의 전원 스위치로 구동되는 여러 블록으로 나누어 구현된다. 이렇게 하면 각 전원 스위치의 부하가 상당히 감소하고 Rush Current를 최소화 할 수 있다.

b) Leakage Current
다른 CMOS Transistor와 같이 Power Switch에도 약간의 leakage Current가 존재한다. 전원 Power Switch Network를 구현하는데 사용되는 전원 스위치 수는 최적화 하여야 한다. Power Switch가 필요 이상으로 많게 되면 Power Switch Network에 의한 leakage Current가 과도하게 발생하게 된다. 일반적으로 전원 스위치는 High VT Cell을 사용하여 구현한다.

c) IR(Voltage) Drop
Rush Current를 처리하기 위해 Power Switch 또는 Sleep transistor는 높은 채널 저항으로 설계되어 있다. 그러나 이로 인해 Power Switch에서 IR Drop 크게 발생하여 실제 Cell의 기능이 저하되는 현상이 발생한다. 따라서 Power Switch Network Power Switch에서 IR Drop를 최소화할 수 있도록 설계되어야 한다. 이러한 문제를 해결하기 위해 설계자는 두 가지 유형의 전원 스위치를 사용하게 된다.

하나는 전원을 켤 때 사용하고 다른 하나는 정상 작동 중에 사용된다. 이러한 유형의 Power Switch에 대한 제어 입력은 한 번에 하나씩 활성화되도록 제어된다. 하지만 공정이 미세화되어 Metal에 대한 저항이 커지게 되면서 Power Wire에 의한 IR Drop이 크게 발생하고 Power Switch 자체의 저항도 커지게 되어 Power Switch Network의 IR Drop을 최소화 하는데 문제가 발생하게 된다.

이러한 문제를 개선하기 위해서는 Power Switch를 추가해야 하는데 이는 leakage Current 추가로 발생하게 된다. 특히 고속을 구현해야 하는 블록에서는 이러한 문제가 크게 발생하는데 Power Switch 를 최소화 하면서 IR Drop을 줄일 수 있는 방법을 Chip Floor Plan을 구현 할 때부터 고려하여 설계가 진행되어야 한다.

d) Ramp Up Time
Power Domain 종료에 필요한 시간을 Ramp Up Time이라고 한다. 이 Ramp Up Time은 가능한 최소가 되어야 한다. Power Network Design은 일반적으로 Power Switch 또는 Sleep Transistor 수를 늘려서 Ramp Up Time을 줄이는 방식으로 수행되어야 한다.

2. Clock Gating

앞서 설명한 것과 같이 회로와 연관된 Dynamic Power는 Switching 활동량 및 총 용량성 부하와 관련이 있다. 디지털 설계에서 가장 자주 전환되면서 가장 많은 전력을 소모하는 것은 Clock Gate들이다. 이는 설계상의 모든 동기화 되는 부분으로 ‘Clock’ 신호를 전송하는데 사용되는 Cell들을 의미한다. 일부 설계에서 Clock Switching 전력이 전체 전력의 50%까지 사용되기도 한다. 이는 전력적으로 매우 중요한 측면이기 때문에, Clock이 스위칭되면서 소모하는 파워를 줄이는 것이 매우 중요하다.

Clock Gating의 원리는. 데이터가 전환되지 않는 구간에 ‘Clock’을 ‘off’ 시키는 방법이다. 즉 특정 구간 내에서 해당 Flip Flop의 출력이 변화하지 않는 조건을 찾아 Clock 비활성화 시켜주는 방법이다. 이 경우 FF의 출력은 EN = 0인 동안 안정적으로 유지된다. 그림 6의 오른쪽에는 Clock Gating이 적용된 회로이며 여기서 EN은 클럭 경로의 AND Gate로 변환된다. 이것은 Clock Gating을 구현하기 위한 방법을 매우 단순화 한 것이다.

Clock Gate는 아키텍처 구현으로 처리되지 않을 경우 Clock Gate의 결함이 일어날 수 있다. 아래는 Clock Gating 구현의 타이밍과 관련하여 주의해야 할 사항에 대해 요약하였다.



영역/전원/대기 시간 균형: 그림 6과 같이 Clock Gating은 데이터 경로 로직(Logic)을 Clock Path로 전달한다. 이렇게 하면 전체 Clock latency Time이 증가 할 수 있다. 또한 1~2개의 Flip Flop의 구조만 Clock Gate로 대체하는 경우(Clock Gate 구조의 Switching 대 Flip Flop 내부의 Switching에 따라 다름) 전력은 감소하지 않고 증가할 수도 있다. 일반적으로 유사한 EN 조건을 가진 Flip Flop들을, Common Clock Gate를 삽입하여 면적 및 전원 손실을 최소화하여야 한다.

3. Multi Threshold Voltage Design

Multi Threshold Voltage Design은 Leakage Power를 줄이기 위한 방법이다. Multi Threshold Voltage Design을 구현하기 위해서는 이를 지원하는 라이브러리(Library)가 필요하다. 기존적인 라이브러리로는 HVT, RVT, LVT, SLVT가있다. RVT를 표준으로 하여 HVT는 높은 Threshold Voltage로 속도가 느리지만 leakage Power가 작고 LVT는 leakage Power는 크지만 Threshold Voltage가 낮아 빠른 장점이 있다. 아주 빠른 속도를 구현하는 블록에 한하여 SLVT를 사용한다. 하지만 이런 블록에서 leakage Power가 매우 크게 되어 가능한 적은 수에 SLVT cell을 사용하여야 한다.

이러한 문제들을 개선하기 위해서 Multi Threshold Voltage Design을 사용하게 된다. 대부분의 cell들은 높은 Threshold Voltage를 사용하면서 Clock Speed가 빠른 특정 path에 LVT나 SLVT를 사용하여 leakage Power를 줄이면서 속도를 구현하기 위해 사용한다. 이러한 설계가 효과적으로 구현되기 위해서는 Timing Margin을 고려하면서 Threshold Voltage가 낮은 Cell들의 사용을 최소화하여 설계해야 한다.

HVT (High Voltage Threshold) : Threshold Voltage는 높아 leakage Power를 많이 줄일 수 있으나 Speed가 느리고 미세공정에서는 지원하지 않을 수도 있다.

RVT(Regular Voltage Threshold) : 표준적인 leakage Power와 Threshold Voltage를 가지고 있어 가장 많이 사용되는 Cell이다.
LVT(Low Voltage Threshold) : RVT 비해 Leakage Power크고 Threshold Voltage 낮아서 Speed를 빠른 Block에서 사용되고 있다.
SLVT (Super Low Voltage Threshold) : Leakage Power가 매우 크지만 Threshold Voltage 매우 낮아 High Speed를 구현 해야만 하는 block에서 사용되고 있다.



이러한 디자인은 요즘에는 IP에서도 많이 사용되는데 MIPI(Mobile Industry Processor Interface)와 같이 고속을 구현해야 하지만 칩에 탑재 되었을 때 Leakage Power 감소시켜주기 위해 RVT로 대부분의 Cell들을 구현하고 Serialize/ Deserialize와 같은 고속 구현이 필요한 곳에서 LVT나 SLVT를 사용하여 설계가 진행되고 있다.

4. DVFS 및 다중 동작전압 기술

Dynamic Power 소모를 절감하기 위해 저전력 임베디드 프로세서(Embedded Processor)에서 일반적으로 적용되고 있는 기술로서 DVS 및 DVFS가 대표적이다. DVS가 전압 스케일링을 통한 Dynamic Power 소모를 줄이는 기법임에 비해 DVFS는 전압과 주파수를 task deadline을 감안하여 스케일링하는 기법이다. 따라서 DVS 보다 전력소모 측면에서 효율성이 우수하다.

무선 단말기기와 같이 실시간 동작이 요구되는 시스템의 경우, 시스템의 최대 Clock 속도는 모든 task를 주어진 시간 이내에 끝낼 수 있는 Clock 속도보다 크거나 같아야 실시간 동작을 보장할 수 있으므로, 각 task의 동작 상태를 살펴가면서 dealline time 제약 조건을 만족하는 가장 낮은 Clock 속도까지 시스템의 Clock 속도를 조절해가면서 낮출 수 있으며, 이때 Clock 속도를 낮춤에 따라 공급 전압도 함께 낮아져서 전력 소모를 줄일 수 있다. DVFS를 구현할 때 task 간의 처리 지연 및 시스템 내부의 알 수 없는 delay를 고려한 deadline 이전의 여유 시간이 필요하다.

이러한 여유시간 추정을 위해 PMU의 의존도가 높아진다. 또한 DVFS 구현을 위해서는 SoC 내부 블록별 공급 전원을 가변 시킬 수 있는 DC-DC 변환기와, Clock을 가변 시킬 수 있는 programmable PLL, 블록간 서로 다른 전압 레벨을 맞출 수 있는 level shifter 블록이 필요하다. 이를 고려한 다중 동작전압 DVFS 시스템의 내부 블록 다이어그램은 그림 8과 같이 도식화할 수 있다.



DVFS의 기본 개념은 단순하지만 이를 구현하기 위해 시스템에 추가되어야 하는 블록과 부하예측 알고리즘은 상당히 복잡하다. 구체적으로, 영상 처리 기능을 중심으로 한 일반적인 DVFS 시스템 블록도는 그림 9와 같다.



Performance manager는 요구되는 성능을 예측하고, 다음 task를 수행하기 위해 필요한 동작 주파수와 전압을 결정한다. 결정된 동작 주파수와 전압 값은 각각 PLL과 voltage regulator 또는 DC-DC 변환기의 제어 신호로서 인가되며, PLL 및 DC-DC의 출력은 다시 PMU 등의 제어기에 인가되어 설정된 값에 도달했는지 판단하게 된다.

DVFS 구현상의 문제는 시스템 복잡도 증가 외에도 PLL 주파수 및 DC-DC 출력 전압이 안정화되는 데 걸리는 시간인 transition overhead가 적지 않게 발생하는 데 있다. 따라서 현재 DVFS 기술은 Clock 주파수 변화가 동작에 큰 영향을 미치고 실시간 처리가 중요한 통신 모뎀 블록보다는, MPEG decoder 등의 애플리케이션 프로세서 분야에 주로 적용되고 있으며 20~30% 정도의 동적 전력 절감 효과를 보인다.

5. Multi-voltage Design

Dynamic Power는 공급전압의 제곱에 비례하므로 블록마다 그 특성에 맞는 전압을 다르게 공급하는 방법으로 높은 전압의 사용이 필요하지 않은 블록들의 전압을 낮추어 전력을 줄일 수 있는 방법이다. 그러나 공급전압을 낮추면 설계에서 Gate Latency가 높아지는 단점이 있다.

Chip의 블록마다 속도가 다르게 요구 되어지는 곳들이 많으므로 예를 들어, CPU와 RAM 블록은 다른 블록보다 빠를 수 있다. 최대한 속도를 얻기 위해서는 CPU와 RAM은 더 높은 전원으로 동작하여야 하며 그렇지 않은 많은 블록은 그림 10과 같이 더 낮은 전압으로 작동할 수 있다.



Multi-voltage Design에서 Chip의 내부 로직은 각각 다른 전원 공급 장치가 있는 여러 전압 영역 또는 Power Domain으로 분리된다. RAM 블록에서는 메모리를 액세스할 때에는 낮은 전압을 공급하고 Read와 Write가 진행될 때에는 신호가 한 전원 도메인에서 다른 전원 도메인으로 들어가는 경우, 다른 전압 신호를 생성하기 위해 level Shifter를 이용하여 전압을 맞춰 주어야 한다.



Multi Voltage Design은 위와 같이 Voltage를 특정 블록에 낮추어 Power 소모를 줄일 수도 있지만 Power Domain이 구분되어 있는 Power Domain에 Power Gating을 구현하여 특정 구간 내에서 동작하지 않는 Power Domain을 종료시켜 더 많은 절전 효과를 얻을 수 있다, 하지만 이 경우 Power Domain들이 동작하지 않는 적절한 구간들을 다 고려하여야 하고 Power Domain간에 논리들도 고려하여 설계되어야 한다.

결론

최근 모바일 기기뿐만 아니라 IT 모든 기기들의 고속화, 다기능화로 인하여 저전력 IC는 선택이 아니라 필수가 되었다고 할 수 있다. 이러한 설계 노력과 함께 Leakage Power를 감소시키기 위해 FD-SOI 공정을 이용한 IC 개발이 진행되고 있다.

Clock Gating이나 Multi Threshold Voltage 같은 기술들은 쉽게 적용할 수 있어 IC 뿐만 아니라 IC 내부 IP에도 많이 적용되고 있다. 하지만 IC 내부의 많은 IP들이 아직은 Power Gating이 적용되지는 않고 있다. 내부 고속 IP는 low Threshold Voltage의 Cell들을 디지털 블록 내에서 사용하고 있는 경우가 많아 leakage Power를 줄이기 위해서는 Power Gating을 활용하여 전력 소모를 줄일 필요가 있다. IC 뿐만 아니라 IP에서도 저전력 설계가 적용되어야 경쟁력 있는 IC를 구현해 낼 수 있을 것이다.


참고문헌

Synopsys “What is Low Power Design”
NAM JIN Park 전자통신동향분석 35권 제2호 (2020)
S. B. Hyun 전자통신동향분석 제23권 제6호
VLSI Physical Design
http://88physicaldesign.blogspot.com/2016/06/power-gating.html?m=1
VLSI UNIVERSE
https://vlsiuniverse.blogspot.com/2016/11/clock-gating.html?m=1

 

<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>

본 기사의 전문은 PDF문서로 제공합니다. (로그인필요)
다운로드한 PDF문서를 웹사이트, 카페, 블로그등을 통해 재배포하는 것을 금합니다. (비상업적 용도 포함)
 PDF 원문보기


  • 100자평 쓰기
  • 로그인

TOP