Early Stage Power Analysis
Today, portable electronic devices (smartphones, tablets, etc.) are required to be as power-efficient as desktop PCs while consuming less power. Power consumption has become one of the major constraints in the design of semiconductor chips for portable electronic devices, and low-power design has long been an integral part of semiconductor chip design. For an efficient low-power design, it is imperative that the power analysis be accompanied by the need to know which block is consuming the power when doing some operation. But here we are faced with the dilemma of low power design. As shown in Figure 1, the amount of power that can be saved through the low-power design is very large in the early stages of the design flow .On the other hand, in the latter stage, high accuracy power analysis is possible, but the amount of power consumption that can be saved is too small.
To overcome this problem, we are developing a new power analysis tool that can obtain a very accurate power waveform at the initial stage of design. Figure 2 shows the power analysis using the tool. This tool provides netlist and power information at the gate level at the later stage of the design, signal transition information (FSDB / VCD) on the netlist. Based on this information, we generate a usable power model from the higher level functional simulator. Now, when the simulator is running in conjunction with this power model, accurate power waveforms can be obtained in real time at higher levels. Currently, the tool can predict power at 100 times faster than power analysis tools at the gate level, and the average power error is within 10%.
Figure 1. Possibility to reduce power consumption and accuracy of power analysis through low power design at each design stage
Figure 2 . Power analysis flow chart in the early stages using the tool proposed in this laboratory
Gate-Level Clock Gating
Flip-flop과 같은 시퀀셜 셀에는 클럭이 입력으로 사용되며, 따라서 회로에 들어오는 클럭을 각 시퀀셜 셀로 분배하는 클럭 네트워크가 회로 합성과정에서 생성된다. 클럭은 셀의 스위칭 여부와 상관없이 항상 스위칭 되기 때문에 많은 전력을 소비하며, 평균적으로 회로 전체 소모량의 40% 이상을 클럭 네트워크가 소모한다. 따라서, 저전력 설계를 위해서는 클럭 네트워크의 전력 소모량을 줄이는 것이 중요하며, 이를 위해 flip-flop의 신호가 스위칭 되는 경우에만 클럭을 공급하도록 하는 클럭 게이팅이 (그림 3)과 같이 널리 사용되고 있다.
현재 사용되고 있는 클럭 게이팅 방식은 RTL 단계에서 셀의 연결 구성을 보고, 특정한 구성을 가진 (e.g. load-enable register 구성) 영역에서만 클럭 게이팅이 적용된다. 따라서, 클럭 게이팅이 적용되는 flip-flop에 한계가 있는 문제를 해결하기 위해 gate-level에서 각 flip-flop의 function을 기반으로 클럭 게이팅 조건을 구하는 gate-level 클럭 게이팅을 연구한다.
그림 3. 클럭 게이팅의 구성: gating function에 따라 clock gating cell (CGC)에서 클럭이 전달 혹은 차단
NTV Circuit Design
Near threshold voltage (NTV) 회로는 동작전압을 문턱전압 (Vth) 근처까지 낮추어 설계함으로써 최대 에너지 효율을 얻고자 한다. (그림 1)은 회로의 동작전압과 에너지 소모량의 관계를 보여주는 그래프로서, NTV (0.45V)에서의 동작이 정상전압 (1.2V)에 비해 전력 소모가 5배 낮은 것을 보인다. 따라서, NTV 회로 설계는 사물인터넷 (IoT), 웨어러블 컴퓨터 등의 애플리케이션에서 중요한 전력 소모를 획기적으로 줄일 수 있다
하지만, NTV 회로의 경우 셀 딜레이가 증가하고 공정 오차에 민감한 단점을 가진다. 따라서, NTV 회로를 설계하는 경우, 이를 감안하여 추가적인 마진을 넣어주고 이는 회로의 면적을 증가시키는 원인이 된다. 이러한 문제들을 해결하기 위해, NTV 설계 방법론에서는 전력 소모는 최소화하면서 추가적으로 요구되는 마진을 최소화하는 방법론에 관하여 연구한다.
그림 4. 동작 전압에 따른 에너지 소모량 변화
Library Optimization through RSCE
정상전압에서는 DIBL이나 Vth roll-off와 같은 short channel effect (SCE)로 인해 트랜지스터의 채널 길이가 감소하면서 Vth는 감소한다. 이를 방지하기 위해 source와 drain 근처 채널에 더 많은 dopant (halo)를 형성시켜서 Vth 감소를 보상한다. 그러나 NTV에서는 낮은 drain 전압 때문에 SCE가 상대적으로 크지 않으므로, 오히려 채널 길이가 작을 때 Vth가 큰 현상이 발생하는데, 이를 reverse short channel effect (RSCE)라고 부른다.
따라서, (그림 2)와 같이 최소 delay를 가지는 트랜지스터 채널 길이의 셀들을 선택하고, 그중 가장 작은 셀 크기를 가지는 셀을 선택하여 NTV 회로 합성에 사용한다.
그림 5. NTV에서 트랜지스터 채널 길이에 따른 딜레이 변화
Optimization of Flip-Flop and remapping
D flip-flop은 (그림 6)과 같은 구성을 가지며, ck_a와 ck_b는 flip-flop 내부의 transmission gate와 tri-state buffer를 구동한다. 우리는 ck_a와 ck_b를 (1)~(4)의 클럭 핀에 다시 분배함으로써 다른 timing 특성을 가지는 두 종류의 flip-flop을 제작한다. 기존의 flip-flop을 포함한 3가지 flip-flop을 NTV 회로에 존재하는 각 flip-flop에 다시 mapping하여 hold total negative slack (TNS)를 줄이는 것을 목표로 한다.
그림 6. DFF의 내부 구성
Dual Edge-Triggered Flip-Flop
현재 회로 합성에 사용되는 flip-flop은 single edge-triggered flip-flop (SETFF)로, clock 신호의 rising 혹은 falling edge에서만 trigger되는 방식이다. 이와 반대로, rising과 falling 두가지 모두에서 trigger되는 flip-flop은 dual edge-triggered flip-flop (DETFF)로 불린다. DETFF를 사용하는 경우 SETFF에 대비하여 공급 클럭의 주파수를 반으로 줄일 수 있으며, 이는 클럭 파워 소모량을 획기적으로 줄일 수 있다. 다만, 클럭의 duty ratio가 일정하지 않은 문제와 timing 분석이 어려운 문제등으로 인해 실제 DETFF가 회로 합성에 사용되지 못하고 있다.
따라서 DETFF가 실제 회로 합성에 적용될 수 있도록 DETFF를 위한 timing 분석 방법, 클럭 게이팅 방법과 logic simplification (그림 7) 등에 대한 연구를 진행했다.
그림 7. DETFF를 이용한 logic simplification 예시
Pulsed-Latch
회로 합성에서 시퀀셜 로직으로는 timing 분석이 쉬운 flip-flop이 주로 사용되어 왔다. 하지만, flip-flop은 딜레이 측면, 셀의 크기, 소모 전력 측면에서 회로 합성에서 주요한 한계점으로 작용하고 있다. 이러한 문제를 해결하기 위해, 매우 짧은 클럭 펄스에 trigger되는 pulsed-latch가 flip-flop의 대안으로 제안되었다. Pulsed-latch를 사용하는 경우 면적 (20%)과 파워 소모 (30%)가 모두 개선되지만, flip-flop과는 다른 timing 특성을 (그림 8) 가지기 때문에 새로운 timing 모델과 placement 방법에 관한 연구를 진행했다. 또한, flip-flop과는 다르게 pulse를 생성하는 pulse generator가 필수적으로 들어가야 하므로, 이를 삽입하는 방식 또한 제안되었다.
그림 8. Pulsed-latch의 timing 모델