전통적으로 디지털 로직은 큰 정적(靜的) 전력(static power)을 소비하지 않았지만 세밀한 프로세스 노드의 등장과 함께 이러한 경향이 변화하고 있다. 선폭 기술이 낮아짐에 따라서 FPGA에 있어서 디지털 로직의 누설 전류가 현재 가장 중대한 과제가 되었다. 65nm 프로세스로의 이전은 예상했던 대로 밀도 및 성능 향상이라는 무어의 법칙의 이점을 제공하지만 성능 향상은 전력 소비의 현저한 증가를 야기함으로써 예기치 않은 양의 전력을 소비하는 위험성을 초래할 수 있다. 총 2회에 걸쳐 소개한다.
자료제공│알테라
전통적으로 디지털 로직은 큰 정적(靜的) 전력(Static Power)을 소비하지 않았지만 세밀한 프로세스 노드의 등장과 함께 이러한 경향이 변화하고 있다. 선폭 기술이 낮아짐에 따라서 FPGA에 있어서 디지털 로직의 누설 전류가 현재 가장 중대한 과제가 되었다. 65nm 프로세스로의 이전은 예상했던 대로 밀도 및 성능 향상이라는 무어의 법칙의 이점을 제공하지만 성능 향상은 전력 소비의 현저한 증가를 야기함으로써 예기치 않은 양의 전력을 소비하는 위험성을 초래할 수 있다.
전력 감소 전략을 채택하지 않는다면 65nm 프로세스로 이전했을 때 정적 전력이 현저히 증가할 수 있으므로 전력 소비가 중요한 문제가 될 수 있다. 정적 전력 소비는 다양한 소스의 누설 전류 증가에 의해 높아진다. 그림 1은 기술적으로 더 짧은 게이트 길이(녹색으로 표시)가 가능해짐에 따라서 어떻게 이들 누설 전류 소스(파란색으로 표시)가 증가하는지를 보여준다. 뿐만 아니라 특정한 전력 최적화 노력이 이루어지지 않는다면 달성할 수 있는 로직 용량이 증가하고 스위칭 주파수가 높아짐으로써 동적 전력 소비가 증가할 것이다.
전력 소비는 정적 및 동적 전력으로 이루어진다. 정적 전력은 FPGA가 Pro-grammer Object File(.pof)을 이용해 프로그램되었으나 어떤 클록도 동작하지 않을 때 소비되는 전력이다. 디지털 및 아날로그 로직 모두 정적 전력을 소비한다. 아날로그 시스템에서는 정적 전력이 주로 인터페이스 구성에 따른 아날로그 회로의 무부하 전류로 이루어진다. 65nm의 정적 누설 전류 소스는 그림 2 및 표 1에서 보는 바와 같다.
동적 전력은 신호 토글링과 커패시티브 부하 충전 및 방전 등의 디바이스의 동작에 의해 소비되는 추가적인 전력이다. 그림 3에서 보듯이 동적 전력에 영향을 미치는 주된 변수는 커패시턴스 충전, 전원 전압, 클록 주파수이다. 프로세스 축소를 통해서 커패시턴스 및 전압을 낮춤으로써 무어의 법칙에 따라서 동적 전력이 감소한다. 문제는 프로세스가 축소될 때마다 더 많은 회로가 구현되고 최대 클록 주파수가 높아진다는 것이다. 한 프로세스 노드에서 다른 프로세스 노드로 이전할 때 등가 회로에 대해서 전력 감소가 줄어드는 한편 FPGA 용량은 두 배로 늘어나고 최대 클록 주파수는 높아진다.
Stratix III 아키텍처
Altera Stratix III FPGA는 혁신적인 아키텍처와 프로세스 기술 및 회로 기법에 있어서의 최신 향상 기술들을 이용해서 이와 같은 전력 문제를 해결한다.
프로그래머블 파워 기술
프로그래머블 파워 기술을 통해서 Altera는 하이엔드 FPGA의 전력을 낮출 수 있는 혁신적인 기법을 선보이고 있다. 전통적으로 모든 고성능 FPGA는 고성능 패브릭을 이용해 구현됨으로써 모든 로직 엘리먼트(LE)가 최대 성능을 제공하면서 높은 누설 전력을 수반했다. Altera의 새로운 프로그래머블 파워 기술은 디자인 내의 대다수 회로가 과도한 여유시간을 포함하며 그러므로 최대 성능 로직을 필요로 하지 않는다는 점을 활용한 것이다. 그림 4는 대부분의 경로(왼쪽)가 여유시간을 포함하고 타이밍 요구를 충족하기 위해 소수의 주요 경로(오른쪽)만 최대 성능 로직을 필요로 하는 일반적인 과도 여유시간 히스토그램을 보여준다.
프로그래머블 파워 기술은 특정한 로직 경로에 요구되는 것에 따라서 고속 로직 또는 저전력 로직을 제공하도록 로직 어레이 블록(LAB) 레벨에서 Stratix III 로직 패브릭을 프로그램할 수 있도록 한다(그림 5). 이러한 방식으로 타이밍이 중요한 낮은 비율의 회로는 고속 설정을 이용하고 나머지는 저전력 설정을 이용함으로써 저전력 로직의 경우 최대 70%까지 누설 전력을 대폭적으로 낮출 수 있다. 뿐만 아니라 사용되지 않는 로직뿐만 아니라 디지털 신호 프로세싱(DSP) 블록 및 TriMatrix 메모리를 저전력 모드로 설정함으로써 전력을 추가적으로 낮출 수 있다. Stratix III 프로그래머블 파워 기술은 고속 로직은 원하는 시스템 성능을 달성하고 나머지 로직은 저전력 모드로 설정해서 누설 전류를 최소화하고 그럼으로써 되도록 전력을 최소화할 수 있도록 최적의 조합을 가능하게 한다.
Altera 엔지니어들이 특정 디자인에 일반적으로 요구되는 고속 로직의 양을 평가하기 위해서 71개 디자인에 걸쳐서 벤치마크를 분석했다. 엔지니어들은 FPGA 패브릭 내에서 달성 가능한 최대 성능을 달성하도록 이들 디자인을 컴파일했다. 이들 71개 디자인에 걸쳐서 요구되는 고속 로직의 평균적인 양은 그림 6에서 보듯이 대략 20%였다.
로직 패브릭으로부터 절대 최대 성능이 요구될 때 이들 벤치마크는 5%에서 40%에 달하는 고속 로직 활용도를 나타냈다. 디자인에 더 많은 고속 로직을 적용하더라도 디자인의 주요 경로가 FPGA 내에서 가능한 최대 성능 로직으로 제한됨으로써 더 이상의 성능을 달성할 수 없었다. 하지만 많은 애플리케이션에서 Altera는 고객 디자인이 성능 제한적이지 않다는 것을 알 수 있었다. 성능 요구가 Stratix III 패브릭의 달성 가능한 최대 fMAX보다 15%에서 20% 낮은 경우에 대부분의 고속 로직을 저전력 로직으로 대체함으로써 정적 전력을 추가적으로 낮출 수 있다.
어떤 디자인에 원하는 성능을 달성하기 위해 필요한 정확한 양의 고속 로직을 제공할 수 있는 능력을 매우 높은 정밀도로 제어할 수 있다. 고속 로직과 저전력 로직 사이의 프로그램 가능성을 타일 방식으로 제어할 수 있다(각각의 타일은 2개 LAB, 또는 하나의 LAB 및 DSP 블록, 또는 TriMatrix 메모리, 모든 관련 배선을 포함한다). 가장 대형의 Stratix III FPGA일 경우 5,000개 이상의 타일을 개별적으로 고속 또는 저전력으로 제어해서 특정 디자인으로 되도록 가장 낮은 전력을 달성할 수 있다(그림 7). Altera의 Quartus II 개발 소프트웨어가 자동으로 타일을 고속 또는 저전력 모드로 전환해서 디자인을 최적화하므로 사용자 작업을 필요로 하지 않는다.
Quartus II 소프트웨어가 Stratix III FPGA에 대해서 디자인을 컴파일 할 때마다 자동으로 특정한 타이밍 제약을 충족하면서 전력을 최소화하도록 디자인을 최적화한다. 이의 결과적인 프로그래밍 파일이 FPGA로 로드되고 각각의 타일을 고속 또는 저전력 구성으로 설정하는 정보를 포함한다(그림 8). 타일을 고속 또는 저전력으로 설정한 최종적인 프로그래밍을 Quartus II 소프트웨어에서 완벽하게 볼 수 있다.
선택 가능 코어 전압
Stratix III 선택 가능 코어 전압은 설계 디자이너가 성능 요구에 따라서 0.9V 또는 1.1V 코어 전압을 이용할 수 있도록 한다. 0.9V 코어 전압은 전반적인 최소 동적 및 누설 전력을 제공하며, 1.1V 코어 전압은 전반적인 최대 성능을 제공한다. 표 2에서 보듯이 동적 전력은 코어 전압의 제곱으로 증가하며 정적 전력은 코어 전압의 2.5배의 전력으로 증가한다.
선택 가능 코어 전압 입력은 보드 설계 때 0.9V 또는 1.1V로 설정할 수 있다. 이 코어 전압이 코어 패브릭 내의 모든 LAB, 메모리, DSP 기능으로 전력을 공급한다. 선택 가능 코어 전압은 Stratix III 패브릭 성능에 영향을 미치므로 Quartus II 소프트웨어에서 디바이스 및 속도 등급을 선택할 때 코어 전압 선택 역시 필요하다. Quartus II 소프트웨어는 선택된 코어 전압에 해당되는 타이밍 및 전력 모델을 이용해서 모든 타이밍 종속적 및 전력 종속적 분석 및 최적화를 수행한다.
어떤 코어 전압을 이용할지 선택할 때는 설계 디자이너가 Quartus II 타이밍 분석에서 보고한 시스템 성능 요구를 고려해야 한다. 시스템 성능 요구를 0.9V를 이용해 충족할 수 있으면 언제나 1.1V를 이용하는 것보다 더 낮은 전력을 가능하게 할 것이다.
프로그래머블 파워 기술과
선택 가능 코어 전압 결합
프로그래머블 파워 기술과 선택 가능 코어 전압이 결합해서 다양한 성능 및 전력 동작 수준을 가능하게 한다. 그림 9는 1.1V 코어 전압으로 설정하더라도 정적 전력이 이전 세대 디바이스에 비해서 현저히 낮다는 것을 알 수 있다. 뿐만 아니라 DSP 블록이나 TriMatrix 메모리 블록 같은 다양한 자원의 활용에 따라서 정적 전력이 현저히 차이를 나타낸다. 그림 9에서는 최대 누설, 중간 누설, 낮은 누설의 3가지의 Stratix III 정적 전력 선을 보여준다. 표 3은 이를 수치로 나타냈다.
정적 및 동적 전력은 코어 전압과 고속 대비 저전력 로직의 비율의 조합에 따라서 달라진다. FPGA의 최대 성능이 필요하지 않은 대부분 디자인의 경우 디자인의 총 전력을 50% 이상까지 낮출 수 있다.
<자료제공: 월간 반도체네트워크 2007년 06월호>