Rajiv Mittal, Abhishek Mahajan, Sorabh Sachdeva / 프리스케일 반도체
멀티 Vt 방식은 SoC 아키텍처 변경이 필요하지 않은 유일한 솔루션이며, 설계자가 로우 Vt 셀을 얼마나 효율적으로 사용하는지가 더 중요하다. 로우 Vt 셀은 타이밍이 뛰어나지만 누설 전력이 많은 반면, 하이 Vt 셀은 누설량이 적지만 타이밍이 나쁘다. 누설 전력을 최적화하려면 설계의 논리적 합성 단계에서 멀티 Vt 셀을 사용해야 한다. 하이 Vt 셀은 지연이 많으므로 타이밍에 여유가 있는 곳에 사용하며, 표준 Vt 및 로우 Vt 셀은 타이밍이 중요한 곳에 사용한다.
지금까지 시스템의 성능은 주로 작동 주파수와 소비되는 반도체 면적에 따라 결정되었다. 하지만 전력이 SoC 사양에 상당한 영향력을 가지는 저전력 디자인에 대한 수요가 증가함에 따라, 설계자들이 SOC 내의 전력 최적화에도 관심을 가지기 시작했다. 동적 전력을 최적화하는 데에 다양한 설계 기법이 활용될 수 있지만(파워 게이팅, 클록 게이팅 등), 누설 전력이라는 설계에 영향을 주는 또 다른 전력 구성요소가 존재한다.
현재 파워 게이팅, DVFS(동적 전압 주파수 조절), 멀티 Vt 방식과 같은 다양한 최적화 기법을 사용할 수 있다. 파워 게이팅과 DVFS 방식을 사용하려면 아키텍처 변경이 필요하며, 따라서 칩의 복잡성이 높아진다. 멀티 Vt 방식은 SoC 아키텍처 변경이 필요하지 않은 유일한 솔루션이며, 설계자가 로우 Vt 셀을 얼마나 효율적으로 사용하는지가 더 중요하다. 로우 Vt 셀은 타이밍이 뛰어나지만 누설 전력이 많은 반면, 하이 Vt 셀은 누설량이 적지만 타이밍이 나쁘다.
누설 전력을 최적화하려면 설계의 논리적 합성 단계에서 멀티 Vt 셀을 사용해야 한다. 하이 Vt 셀은 지연이 많으므로 타이밍에 여유가 있는 곳에 사용하며, 표준 Vt 및 로우 Vt 셀은 타이밍이 중요한 곳에 사용한다. 결과는 항상 최적의 면적과 전력으로 타이밍을 만족할 것으로 기대된다. 여기서 주목해야 할 중요한 요점은 셀의 지연이 최대인 WCS-HOT와 같은 최악의 PVT에서 논리적 합성이 완료되므로 여전히 타이밍에 우선 순위가 있다는 점이다(그림 1 참조).
공정 미세화 기술이 발전함에 따라(예: 90nm에서 65nm, 45nm 기술로) 타이밍 지연이 감소되었으며, 따라서 전력을 절감하기 위해 칩 작동 전압도 낮아졌다. 그 결과 온도가 감소할수록 임계 전압이 높아지는 온도 역전과 같은 새로운 효과가 발생했다. 따라서 셀이 높은 온도가 아니라 낮은 온도 구간에서 더 큰 지연을 보이게 된다.
설정 최적화의 타이밍 구간이 셀의 지연이 최대인 곳이 되므로, 이 경우 설정 타이밍 최적화에 최악의 구간은 WCS-HOT가 아니라 WCS-COLD가 되어야 한다. 따라서 WCS-HOT에 최적화된 디자인이 실제로 WCS-COLD에서 완벽한 타이밍이 되지 않는다.
(표 1)에서 여러 구간의 PVT 조건을 참조할 수 있다.
40nm 기술이 적용된 한 블록(Cortex A5 코어)의 결과를 살펴보겠다. 자세한 설계 정보는 다음과 같다.
사례 1:
디자인의 합성은 WCS-HOT 라이브러리(기존 구간)로 실행되었으며, 출력 넷리스트(netlist)는 WCS-HOT에서 완벽한 타이밍을 보였다. WCS-COLD 라이브러리에 동일한 넷리스트를 로드하자 (그림 2a)에 나온 것처럼 상당한 타이밍 위반이 발생했다.
사례 2:
디자인의 합성은 WCS-COLD 라이브러리(온도 역전 효과로 인해)로 실행되었으며, 출력 넷리스트는 WCS-COLD에서 완벽한 타이밍을 보였다. WCS-HOT 라이브러리에 동일한 넷리스트를 로드하자 (그림 2b)에 나온 것처럼 타이밍 위반이 발생하지 않았다.
논의된 사례 1, 2를 바탕으로 WCS-COLD가 설정 타이밍 최적화에 최악의 구간이라는 결론을 내릴 수 있다. 하지만 타이밍 최적화에 WCS-COLD 구간을 선택하는 경우 누설 전력 최적화라는 새로운 과제가 야기된다.
(그림 3)에 나온 것처럼 누설 전력에 최악의 구간은 설정 타이밍에 최악의 구간 반대편이 된다.
전력은 전압에 정비례하므로 최악의 모드 전력 계산에 Vmax(최대 전압)를 참작하는 것이 필수적이다. 일반적으로 누설 전력은 Tcold에서 매우 낮지만 Thot에서는 매우 높다. 이는 하이 Vt(HVT) 및 표준 Vt(SVT) 셀용 버퍼의 누설 전력 특성을 보여주는 (표 2)에 자세히 설명되어 있다.
(표 2)에서 볼 수 있는 것처럼 SVT 버퍼의 누설 전력은 SVT 셀 누설 전력이 HVT 셀의 5배인 WCS-COLD 조건에서 HVT에 필적하게 된다. 이제 합성 도중 WCS-COLD에서 설정 타이밍 최적화가 수행되었다면, 도구가 누설 전력에 대한 설계 최적화 과정에서 SVT와 HVT 셀 사이에 그리 큰 차이점을 식별하지 못할 것이다.
이는 높은 성능(타이밍) 특성을 가진 SVT 셀이 더 많이 사용되는 결과를 낳을 수 있다. 위 표에 나온 것처럼 BCS-HOT와 비교할 때 차이점이 막대하므로 WCS-COLD 구간에서 보고되는 전력을 참작할 수는 없다. 따라서 전력 계산의 경우 동일한 디자인이 BCS-HOT 조건에서 측정할 때 매우 높은 누설 전력을 나타내게 된다.
이러한 견해는 WCS-COLD 라이브러리를 사용하여 합성을 수행하는 경우의 다음 결과(Cortex A5 코어 사용)에서 검증된다.
(표 3)에서 볼 수 있는 것처럼 SVT 사용률이 매우 높아 BCS-HOT 조건의 누설 전력에 영향을 준다.
솔루션
누설 전력과 타이밍을 동시에 최적화하려면 상당히 혁신적인 방법을 찾아내야 하며, EDA 도구에서 사용할 수 있는 다양한 기능을 조사해야 한다.
타이밍 최적화용으로 WCS-COLD, 누설 전력 최적화용으로 BCS-HOT의 두 라이브러리를 합성 도중 동시에 사용해야 할 필요성이 (그림 3)에 설명되어 있다.
이를 해결하려면 합성 도중 다음과 같은 절차를 이행해야 한다.
1. 라이브러리 도메인을 2개 만든다.
2. 한 라이브러리 도메인에 모든 타이밍(WCS-COLD) 라이브러리를 배치하고 다른 라이브러리 도메임에 모든 전력(BCS-HOT) 라이브러리를 배치한다.
3. 타이밍 라이브러리를 기본 라이브러리 도메인으로 설정한다.
4. 전력 라이브러리 도메인을 기본 라이브러리 도메인에 전력 라이브러리로 연결한다.
따라서 기본 라이브러리 도메인에는 2개의 라이브러리 세트가 포함되며, 타이밍 평가에는 타이밍 라이브러리가, 전력 계산에는 전력 라이브러리가 선택된다. EDA 도구에 전력과 타이밍의 정확한 정보가 존재하게 되므로, 최소 전력의 셀을 선택하여 효율적으로 타이밍을 최적화할 수 있다.
(표 4)에 기존(이전) 방식과 새로운 방식의 합성 결과가 비교되어 있다.
(표 4)의 결과는 면적이 약간(면적 3% 증가) 늘어났지만, 누설 전력은 약 50%가 줄었으며 표준 Vt 카운트도 상당수 감소되었음을 보여준다. 앞으로 발표될 SoC에서 전력이 가지는 중요성을 고려할 때 새로운 방식이 확실히 유용할 것이다.
결론
미세 공정으로 이동함에 따라 기존 방식은 더 이상 실효성을 유지하지 못할 수 있으며, 따라서 미세 노드의 다양한 작동 특성에 대응하는 수정이 필수적이다. 위에 언급한 것처럼, 온도 역전 효과로 인해 설정 타이밍 최적화를 위해 WCS COLD 구간으로 이동해야만 했다.
결과가 보여주는 것처럼, 기존 방식으로는 누설 전력이 매우 높은 디자인이 도출되었다. WCS COLD와 함께 BCS HOT 라이브러리를 사용함에 따라 전력과 타이밍 측면 모두에서 최상의 결과를 얻을 수 있었다. 타이밍과 미세 노드에서 중요한 전력 측면 모두에서 더 나은 결과를 얻으려면 다양한 방법론을 탐구하는 것이 필수적이다.
<저작권자(c)스마트앤컴퍼니. 무단전재-재배포금지>