KR101571932B1 - 반도체 집적 회로의 소비 전력 계산 방법 및 소비 전력 계산 회로 - Google Patents

반도체 집적 회로의 소비 전력 계산 방법 및 소비 전력 계산 회로 Download PDF

Info

Publication number
KR101571932B1
KR101571932B1 KR1020130144320A KR20130144320A KR101571932B1 KR 101571932 B1 KR101571932 B1 KR 101571932B1 KR 1020130144320 A KR1020130144320 A KR 1020130144320A KR 20130144320 A KR20130144320 A KR 20130144320A KR 101571932 B1 KR101571932 B1 KR 101571932B1
Authority
KR
South Korea
Prior art keywords
power
power consumption
clock gating
integrated circuit
coefficients
Prior art date
Application number
KR1020130144320A
Other languages
English (en)
Other versions
KR20150060186A (ko
Inventor
이준환
최창원
Original Assignee
광운대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 광운대학교 산학협력단 filed Critical 광운대학교 산학협력단
Priority to KR1020130144320A priority Critical patent/KR101571932B1/ko
Publication of KR20150060186A publication Critical patent/KR20150060186A/ko
Application granted granted Critical
Publication of KR101571932B1 publication Critical patent/KR101571932B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass

Landscapes

  • Semiconductor Integrated Circuits (AREA)
  • Power Sources (AREA)

Abstract

본 발명은 반도체 집적 회로의 소비 전력을 계산하는 소비 전력 계산 방법에 관한 것이다. 본 발명의 소비 전력 계산 방법은, 클럭 게이팅에 따라 서로 다른 전력값들을 갖는 반도체 집적 회로의 전력 상태들을 검출하는 단계, 전력값들에 따라 전력 상태들을 전력 상태 그룹들로 그룹화하는 단계, 각 전력 상태 그룹에 속한 전력 상태에 대응하는 전력값에 기반하여 각 전력 상태 그룹에 그룹 전력값을 할당하는 단계, 그리고 소비 전력을 계산하는 단계로 구성된다.

Description

반도체 집적 회로의 소비 전력 계산 방법 및 소비 전력 계산 회로{METHOD OF CALCULATING POWER CONSUMPTION OF SEMICONDUCTOR INTEGRATED CIRCUIT AND POWER CONSUMPTION CALCULATION CIRCUIT}
본 발명은 반도체 회로에 관한 것으로, 더 상세하게는 반도체 집적 회로의 소비 전력 계산 방법 및 소비 전력 계산 회로에 관한 것이다.
전자 기술이 발전하면서, 다양한 형태의 집적 회로 장치가 개발되고 있다. 집적 회로 장치는 연산, 저장 등과 같은 다양한 기능들이 하나의 반도체 칩에 집적된 전자 장치를 의미한다.
사회가 고도화됨에 따라, 다양한 형태의 모바일 기기들이 개발되고 있다. 모바일 기기들은 집적 회로 장치를 구비함으로써, 소형화 및 경량화를 추구한다. 모바일 기기들의 단점은 배터리와 같은 한정된 전력원을 갖는다는 것이다. 모바일 기기들의 동작 수명을 연장시키기 위하여, 배터리의 고용량화 및 집적 회로 장치의 저전력화 등이 연구되고 있다.
집적 회로 장치의 소비 전력을 측정하는 것은 집적 회로 장치의 저전력화를 달성하기 위한 전제 조건이다. 종래의 소비 전력 측정 방법은 너무 긴 측정 시간을 소모하거나 낮은 정확도를 갖는다는 문제점이 있다.
본 발명의 목적은, 적은 연산량을 가지며, 반도체 집적 회로에 구비되어 반도체 집적 회로의 소비 전력을 실시간으로 계산할 수 있는 소비 전력 계산 회로 및 소비 전력 계산 방법을 제공하는 데에 있다.
반도체 집적 회로의 소비 전력을 계산하는 본 발명의 일 실시 예에 따른 소비 전력 계산 방법은, 상기 반도체 집적 회로의 클럭 게이팅 신호들에 따라 서로 다른 전력값들을 갖는 상기 반도체 집적 회로의 전력 상태들 중 제1 상태들을 검출하는 단계; 상기 전력값들에 따라 상기 제1 전력 상태들을 전력 상태 그룹들로 그룹화하는 단계; 각 전력 상태 그룹에 속한 적어도 하나의 전력 상태에 대응하는 적어도 하나의 전력값에 기반하여, 각 전력 상태 그룹에 그룹 전력값을 할당하는 단계; 상기 클럭 게이팅 신호들에 기반하여, 상기 반도체 집적 회로의 소비 전력의 다중 회귀 모델을 생성하는 단계; 상기 전력값들 및 상기 클럭 게이팅 신호들에 기반하여, 상기 다중 회귀 모델의 계수들을 계산하는 단계; 상기 전력 상태 그룹들, 상기 전력 상태 그룹들에 각각 대응하는 그룹 전력값들, 그리고 상기 클럭 게이팅과 연관된 클럭 게이팅 신호들에 기반하여, 제1 소비 전력을 계산하는 단계; 상기 다중 회귀 모델의 계수들을 이용하여 제2 소비 전력을 계산하는 단계; 그리고 상기 제1 소비 전력 및 상기 제2 소비 전력에 기반하여 상기 소비 전력을 계산하는 단계를 포함한다.
실시 예로서, 상기 제2 소비 전력을 계산하는 단계는, 상기 계수들의 값들에 따라, 상기 계수들을 계수 그룹들로 그룹화하는 단계; 상기 계수 그룹들에 각각 그룹 계수들을 할당하는 단계; 그리고 상기 계수 그룹들 및 상기 그룹 계수들에 기반하여 상기 제2 소비 전력을 계산하는 단계를 포함한다.
실시 예로서, 상기 제1 소비 전력을 계산하는 단계는, 상기 반도체 집적 회로의 전력 상태를 검출하는 단계; 상기 검출된 전력 상태가 상기 제1 전력 상태들에 대응할 때, 상기 검출된 전력 상태에 대응하는 전력 상태 그룹을 선택하는 단계; 그리고 상기 선택된 전력 상태 그룹에 대응하는 그룹 전력값을 누산하여 누산된 전력값을 계산하는 단계를 포함한다.
실시 예로서, 소비 전력 요청에 응답하여, 상기 누산된 전력값을 상기 제1 소비 전력으로 출력하는 단계를 더 포함한다.
실시 예로서, 상기 제2 소비 전력을 계산하는 단계는, 상기 검출된 전력 상태가 상기 제1 전력 상태들에 대응하지 않을 때, 각 클럭 게이팅 신호의 활성 상태를 누산하는 단계; 소비 전력 계산 타이밍에, 상기 클럭 게이팅 신호들의 누산값들을 상기 다중회귀모델의 계수들과 각각 계산하여 상기 다중회귀모델의 항들을 계산하는 단계; 그리고 상기 다중회귀모델의 항들을 합산하여 상기 제2 소비 전력으로 출력하는 단계를 포함한다.
반도체 집적 회로의 소비 전력을 계산하는 본 발명의 다른 실시 예에 따른 소비 전력 계산 방법은, 상기 반도체 집적 회로의 클럭 게이팅 신호들에 기반하여, 상기 반도체 집적 회로의 전력 상태를 검출하는 단계; 상기 검출된 전력 상태가 상기 반도체 집적 회로의 제1 전력 상태들 중 하나에 대응할 때, 상기 검출된 전력 상태에 대응하는 전력 상태 그룹을 선택하고, 그리고 상기 선택된 전력 상태 그룹에 대응하는 그룹 전력값을 누산하여 누산된 전력값을 계산하는 단계; 상기 검출된 전력 상태가 상기 반도체 집적 회로의 상기 제1 전력 상태들 중 하나에 대응하지 않을 때, 상기 반도체 집적 회로의 각 클럭 게이팅 신호의 활성 상태를 누산하는 단계; 그리고 소비 전력 계산 타이밍에, 상기 반도체 집적 회로의 클럭 게이팅 신호들의 누산값들을 계수들과 각각 계산하여 항들을 계산하고, 상기 항들을 상기 누산된 전력값과 합산하여 상기 소비 전력으로 출력하는 단계를 포함한다.
반도체 집적 회로의 소비 전력을 계산하도록 구성되는 본 발명의 일 실시 예에 따른 소비 전력 계산 회로는, 상기 반도체 집적 회로의 클럭 게이팅 신호들을 수신하고, 상기 클럭 게이팅 신호들이 가리키는 전력 상태가 상기 반도체 집적 회로의 제1 전력 상태들 중 하나에 대응할 때 상기 클럭 게이팅 신호들에 기반하여 주소를 생성하고, 상기 클럭 게이팅 신호들이 가리키는 전력 상태가 상기 반도체 집적 회로의 상기 제1 전력 상태들 중 하나에 대응하지 않을 때 제어 신호를 활성화하는 주소 발생기; 상기 주소 발생기로부터 출력되는 주소에 기반하여 전력값을 출력하도록 구성되는 메모리; 상기 메모리로부터 출력되는 전력값을 누산하도록 구성되는 누산기; 상기 제어 신호가 활성화될 때 상기 반도체 집적 회로의 클럭 게이팅 신호들을 수신하고, 상기 클럭 게이팅 신호들의 활성 상태들을 각각 누산하도록 구성되는 누산기들; 제1 제어 신호에 응답하여, 상기 누산기들로부터 출력되는 누산값들을 저장하도록 구성되는 제1 레지스터들; 계수들을 저장하도록 구성되는 제2 레지스터들; 상기 제1 레지스터들의 값들 및 상기 제2 레지스터들의 값들을 각각 계산하도록 구성되는 곱셈기들; 상수 계수를 저장하도록 구성되는 제3 레지스터; 상기 곱셈기들의 출력값들, 및 상기 제3 레지스터의 값, 그리고 상기 누산기의 출력값을 합산하여, 상기 소비 전력으로 출력하도록 구성되는 합산기를 포함한다.
반도체 집적 회로의 소비 전력을 계산하는 본 발명의 실시 예에 따른 소비 전력 계산 방법은, 클럭 게이팅에 따라 서로 다른 전력값들을 갖는 상기 반도체 집적 회로의 전력 상태들을 검출하는 단계; 상기 전력값들에 따라 상기 전력 상태들을 전력 상태 그룹들로 그룹화하는 단계; 각 전력 상태 그룹에 속한 적어도 하나의 전력 상태에 대응하는 적어도 하나의 전력값에 기반하여, 각 전력 상태 그룹에 그룹 전력값을 할당하는 단계; 그리고 상기 전력 상태 그룹들, 상기 전력 상태 그룹에 각각 대응하는 그룹 전력값들, 그리고 상기 클럭 게이팅과 연관된 클럭 게이팅 신호들에 기반하여, 상기 소비 전력을 계산하는 단계를 포함한다.
실시 예로서, 상기 전력 상태들을 상기 전력 상태 그룹들로 그룹화하는 단계는, 유사한 전력값들을 갖는 전력 상태들을 하나의 전력 상태 그룹으로 그룹화하는 단계를 포함한다.
실시 예로서, 상기 전력 상태들을 상기 전력 상태 그룹들로 그룹화하는 단계는, 상기 전력값들의 최소값 및 최대값에 기반하여 수행된다.
실시 예로서, 상기 전력 상태들을 상기 전력 상태 그룹들로 그룹화하는 단계는, 상기 최소값 및 최대값 사이를 미리 정해진 수의 구간들로 분할하는 단계; 그리고 각 구긴에 속한 적어도 하나의 전력 상태를 하나의 전력 상태 그룹으로 그룹화하는 단계를 포함한다.
실시 예로서, 상기 전력 상태들을 상기 전력 상태 그룹들로 그룹화하는 단계는, 상기 범위들 중 상기 전력 상태들 중 하나가 속하지 않은 구간을 그룹화하지 않고 무시하는 단계를 더 포함한다.
실시 예로서, 상기 각 전력 상태 그룹에 상기 그룹 전력값을 할당하는 단계는, 상기 각 전력 상태 그룹에 속한 전력 상태들 중 하나의 전력값을 상기 그룹 전력값으로 할당하는 단계를 포함한다.
실시 예로서, 상기 각 전력 상태 그룹에 상기 그룹 전력값을 할당하는 단계는, 상기 각 전력 상태 그룹에 속한 전력 상태들의 전력값들의 평균값을 상기 그룹 전력값으로 할당하는 단계를 포함한다.
실시 예로서, 상기 소비 전력을 계산하는 단계는, 상기 반도체 집적 회로의 전력 상태를 검출하는 단계; 상기 검출된 전력 상태에 대응하는 전력 상태 그룹을 선택하는 단계; 그리고 상기 선택된 전력 상태 그룹에 대응하는 그룹 전력값을 누산하여 누산된 전력값을 계산하는 단계를 포함한다.
실시 예로서, 상기 소비 전력을 계산하는 단계는 매 클럭 사이클마다 수행된다.
실시 예로서, 상기 누산된 전력값을 계산하는 단계에서, 이전 사이클의 누산된 전력값과 상기 선택된 전력 상태 그룹에 대응하는 그룹 전력값이 더해진다.
실시 예로서, 소비 전력 요청에 응답하여, 상기 누산된 전력값을 상기 소비 전력으로 출력하는 단계를 더 포함한다.
실시 예로서, 상기 누산된 전력값을 상기 소비 전력으로 출력한 후에, 상기 누산된 전력값을 리셋하는 단계를 더 포함한다.
실시 예로서, 상기 소비 전력 요청은 주기적으로 생성된다.
반도체 집적 회로의 소비 전력을 계산하도록 구성되는 본 발명의 실시 예에 따른 소비 전력 계산 회로는, 상기 반도체 집적 회로의 클럭 게이팅 신호들을 수신하고, 상기 클럭 게이팅 신호들이 가리키는 전력 상태에 기반하여 주소를 생성하는 주소 발생기; 상기 주소 발생기로부터 출력되는 주소에 기반하여 전력값을 출력하도록 구성되는 메모리; 그리고 상기 메모리로부터 출력되는 전력값을 누산하도록 구성되는 누산기를 포함하고, 상기 전력 클럭 게이팅 신호들이 가리키는 전력 상태들 중 적어도 두 개의 전력 상태들에 대응하는 적어도 두 개의 주소들에 기반하여, 상기 메모리는 동일한 전력값을 출력한다.
실시 예로서, 소비 전력 요청에 응답하여, 상기 누산기는 누산된 전력값을 상기 소비 전력으로 출력한다.
실시 예로서, 상기 소비 전력을 출력한 후, 상기 누산기는 리셋된다.
반도체 집적 회로의 소비 전력을 계산하는 본 발명의 다른 실시 예에 따른 소비 전력 계산 방법은, 상기 반도체 집적 회로의 클럭 게이팅 신호들에 기반하여, 상기 반도체 집적 회로의 전력 상태를 검출하는 단계; 상기 검출된 전력 상태에 대응하는 전력 상태 그룹을 선택하는 단계; 그리고 상기 선택된 전력 상태 그룹에 대응하는 그룹 전력값을 누산하여 누산된 전력값을 계산하는 단계를 포함하고, 각 전력 상태 그룹은 하나 또는 그 이상의 전력 상태들에 대응한다.
실시 예로서, 상기 반도체 집적 회로는 상기 클럭 게이팅 신호들에 따라 서로 다른 전력값들을 갖는 복수의 전력 상태들을 갖는다.
실시 예로서, 상기 클럭 게이팅 신호들 각각은, 상기 반도체 집적 회로에서 사용되는 클럭 신호의 활성화 및 비활성화를 제어하는 신호이다.
실시 예로서, 상기 전력값은, 하나의 클럭 사이클 동안에 상시 반도체 집적 회로가 소비하는 소비 전력을 가리킨다.
반도체 집적 회로의 소비 전력을 계산하는 본 발명의 실시 예에 따른 소비 전력 계산 방법은, 상기 반도체 집적 회로의 클럭 게이팅 신호들 및 상기 클럭 게이팅 신호들에 따른 상기 반도체 집적 회로의 전력값들에 기반하여, 상기 반도체 집적 회로의 소비 전력의 다중 회귀 모델을 생성하는 단계; 상기 전력값들 및 상기 클럭 게이팅 신호들에 기반하여, 상기 다중 회귀 모델의 계수들을 계산하는 단계; 그리고 상기 다중 회귀 모델의 계수들을 이용하여 상기 소비 전력을 계산하는 단계를 포함한다.
실시 예로서, 상기 소비 전력을 계산하는 단계는, 각 클럭 게이팅 신호의 활성 상태를 누산하는 단계; 소비 전력 계산 타이밍에, 상기 클럭 게이팅 신호들의 누산값들을 상기 다중회귀모델의 계수들과 각각 계산하여 상기 다중회귀모델의 항들을 계산하는 단계; 그리고 상기 다중회귀모델의 항들을 합산하여 상기 소비 전력으로 출력하는 단계를 포함한다.
실시 예로서, 상기 각 클럭 게이팅 신호의 활성 상태를 누산하는 단계는, 매 클럭 사이클마다 수행된다.
실시 예로서, 상기 소비 전력 계산 타이밍은 주기적으로 발생한다.
실시 예로서, 상기 다중회귀모델의 항들을 계산하는 단계에서, 상기 클럭 게이팅 신호들의 누산값들이 참조된 후에 상기 클럭 게이팅 신호들의 누산값들이 리셋된다.
실시 예로서, 상기 클럭 게이팅 신호들의 참조 및 상기 누산값들의 리셋은 동일한 클럭 사이클에 수행된다.
실시 예로서, 상기 소비 전력을 계산하는 단계는, 상기 계수들의 값들에 따라, 상기 계수들을 계수 그룹들로 그룹화하는 단계; 상기 계수 그룹들에 각각 그룹 계수들을 할당하는 단계; 그리고 상기 계수 그룹들 및 상기 그룹 계수들에 기반하여 상기 소비 전력을 계산하는 단계를 포함한다.
실시 예로서, 상기 계수들을 상기 계수 그룹들로 그룹화하는 단계는, 유사한 값들을 갖는 계수들을 하나의 계수 그룹으로 그룹화하는 단계를 포함한다.
실시 예로서, 상기 계수들을 상기 계수 그룹들로 그룹화하는 단계는, 상기 계수들의 최소값 및 최대값에 기반하여 수행된다.
실시 예로서, 상기 계수들을 상기 계수 그룹들로 그룹화하는 단계는, 상기 최소값 및 최대값 사이를 미리 정해진 수의 구간들로 분할하는 단계; 그리고 각 구간에 속한 적어도 하나의 계수를 하나의 계수 그룹으로 그룹화하는 단계를 포함한다.
실시 예로서, 상기 전력 상태들을 상기 전력 상태 그룹들로 그룹화하는 단계는, 상기 구간들 중 상기 전력 상태들 중 하나가 속하지 않은 구간을 그룹화하지 않고 무시하는 단계를 더 포함한다.
실시 예로서, 상기 각 계수 그룹에 상기 그룹 계수를 할당하는 단계는, 상기 각 계수 그룹에 속한 계수들 중 하나의 값을 상기 그룹 계수로 할당하는 단계를 포함한다.
실시 예로서, 상기 각 계수 그룹에 상기 그룹 계수를 할당하는 단계는, 상기 각 계수 그룹에 속한 계수들의 평균값을 상기 그룹 계수로 할당하는 단계를 포함한다.
실시 예로서, 상기 소비 전력을 계산하는 단계는, 각 클럭 게이팅 신호의 활성 상태에 기반하여, 각 계수 그룹의 카운트를 누산하는 단계; 소비 전력 계산 타이밍에, 상기 계수 그룹들의 누산값들을 상기 그룹 계수들과 각각 계산하여 상기 다중회귀모델의 항들을 계산하는 단계; 그리고 상기 다중회귀모델의 항들을 합산하여 상기 소비 전력으로 출력하는 단계를 포함한다.
반도체 집적 회로의 소비 전력을 계산하도록 구성되는 본 발명의 실시 예에 따른 소비 전력 계산 회로는, 상기 반도체 집적 회로의 클럭 게이팅 신호들을 수신하고, 상기 클럭 게이팅 신호들의 활성 상태들을 각각 누산하도록 구성되는 누산기들; 제1 제어 신호에 응답하여, 상기 누산기들로부터 출력되는 누산값들을 저장하도록 구성되는 제1 레지스터들; 계수들을 저장하도록 구성되는 제2 레지스터들; 상기 제1 레지스터들의 값들 및 상기 제2 레지스터들의 값들을 각각 계산하도록 구성되는 곱셈기들; 상수 계수를 저장하도록 구성되는 제3 레지스터; 상기 곱셈기들의 출력값들 및 상기 제3 레지스터의 값을 합산하여, 상기 소비 전력으로 출력하도록 구성되는 합산기를 포함한다.
실시 예로서, 상기 계수들 및 상기 상수 계수는, 상기 클럭 게이팅 신호들에 따른 상기 반도체 집적 회로의 전력값들 및 상기 클럭 게이팅 신호들에 기반하여 계산되는 상기 반도체 집적 회로의 다중회귀분석 모델의 계수들이다.
실시 예로서, 누산값들을 상기 제1 레지스터들로 출력한 후, 상기 누산기들은 리셋된다.
실시 예로서, 상기 누산기들 각각은, 매 클럭 사이클마다 대응하는 클럭 게이팅 신호의 활성 상태에 따라 누산값을 카운트업한다.
실시 예로서, 상기 누산기들 중 적어도 하나의 누산기는 둘 이상의 클럭 게이팅 신호들을 수신하도록 구성된다.
실시 예로서, 상기 적어도 하나의 누산기는, 매 클럭 사이클마다, 상기 둘 이상의 클럭 게이팅 신호들 중 활성화된 클럭 게이팅 신호들의 수만큼 누산값을 카운트업한다.
반도체 집적 회로의 소비 전력을 계산하는 본 발명의 다른 실시 예에 따른 소비 전력 계산 방법은, 상기 반도체 집적 회로의 각 클럭 게이팅 신호의 활성 상태를 누산하는 단계; 소비 전력 계산 타이밍에, 상기 반도체 집적 회로의 클럭 게이팅 신호들의 누산값들을 계수들과 각각 계산하여 항들을 계산하는 단계; 그리고 상기 항들을 합산하여 상기 소비 전력으로 출력하는 단계를 포함하고, 상기 계수들은, 상기 클럭 게이팅 신호들에 따른 상기 반도체 집적 회로의 전력값들 및 상기 클럭 게이팅 신호들에 기반하여 계산되는 상기 반도체 집적 회로의 다중회귀분석 모델의 계수들이다.
실시 예로서, 상기 반도체 집적 회로는 상기 클럭 게이팅 신호들에 따라 서로 다른 전력값들을 갖는 복수의 전력 상태들을 갖는다.
실시 예로서, 상기 전력값은, 하나의 클럭 사이클 동안에 상시 반도체 집적 회로가 소비하는 소비 전력을 가리킨다.
실시 예로서, 상기 클럭 게이팅 신호들 각각은, 상기 반도체 집적 회로에서 사용되는 클럭 신호의 활성화 및 비활성화를 제어하는 신호이다.
본 발명의 실시 예들에 따르면, 적은 연산량을 가지며, 반도체 집적 회로에 구비되어 반도체 집적 회로의 소비 전력을 실시간으로 계산할 수 있는 소비 전력 계산 회로 및 소비 전력 계산 방법을 제공된다.
도 1은 본 발명의 실시 예에 따른 집적 회로 장치를 보여주는 블록도이다.
도 2는 도 1의 집적 회로 장치의 클럭 게이팅 동작을 설명하기 위한 블록도이다.
도 3은 도 1의 제1 모듈의 실시 예를 보여주는 블록도이다.
도 4는 도3에 도시된 제1 모듈의 예에서, 제1 내지 제4 클럭 게이팅 신호들에 따른 전력 상태들 및 전력값들을 보여주는 테이블이다.
도 5는 제1 실시 예에 따른 소비 전력 계산 회로를 보여주는 블록도이다.
도 6은 본 발명의 제1 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다.
도 7은 도 4의 제1 내지 제4 전력 상태들이 전력 상태 그룹들로 그룹화되는 예를 보여주는 테이블이다.
도 8은 도 6의 S140 단계의 제1 예를 보여주는 순서도이다.
도 9는 본 발명의 제2 실시 예에 따른 소비 전력 계산 회로의 예를 보여주는 블록도이다.
도 10은 전력 상태들이 그룹화되는 예를 보여주는 그래프이다.
도 11은 본 발명의 제2 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다.
도 12는 도 11의 S330 단계를 더 상세하게 보여주는 순서도이다.
도 13은 본 발명의 제3 실시 예에 따른 소비 전력 계산 회로를 보여주는 블록도이다.
도 14는 도 11의 S330 단계의 다른 예를 보여주는 순서도이다.
도 15는 다중회귀모델의 계수들이 계수 그룹들로 그룹화되는 예를 보여주는 테이블이다.
도 16은 도 14의 S530 단계를 더 상세하게 보여주는 순서도이다.
도 17은 본 발명의 제4 실시 예에 따른 소비 전력 계산 회로를 보여주는 블록도이다.
도 18은 본 발명의 제3 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다.
도 19는 도 18의 S760 단계의 예를 보여주는 순서도이다.
도 20은 본 발명의 제5 실시 예에 따른 소비 전력 계산 회로를 보여주는 블록도이다.
도 21은 본 발명의 제4 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다.
도 22는 도 21의 S980 단계의 예를 보여주는 순서도이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 집적 회로 장치(100)를 보여주는 블록도이다. 예시적으로, 집적 회로 장치(100)는 게이트 레벨(GL, Gate Level), 레지스터 전송 레벨(RTL, Register Transfer Level), 또는 시스템 레벨(ESL, Electronic System Level)에 기반한 모듈일 것이다.
도 1을 참조하면, 집적 회로 장치(100)는 제1 내지 제6 모듈들(110~160) 및 내부 버스(170)를 포함한다. 제1 내지 제6 모듈들(110~160)은 게이트 레벨(GL, Gate Level), 레지스터 전송 레벨(RTL, Register Transfer Level), 또는 시스템 레벨(ESL, Electronic System Level) 기반의 모듈들이다. 제1 내지 제6 모듈들(110~160)은 각각 독립적으로 동작하도록 구성된다. 제1 내지 제6 모듈들(110~160)은 내부 버스(170)를 통해 정보를 교환하도록 구성된다. 예시적으로, 내부 버스(170) 또한 게이트 레벨(GL, Gate Level), 레지스터 전송 레벨(RTL, Register Transfer Level), 또는 시스템 레벨(ESL, Electronic System Level) 기반의 모듈일 것이다.
예시적으로, 적어도 하나의 모듈은 클럭 발생기, 전원 발생기, 클럭 제어기, 전원 제어기, 코어, 입출력 인터페이스 등과 같은 다양한 구성 요소들 중 적어도 하나를 구성할 것이다.
예시적으로, 집적 회로 장치(100)는 제1 내지제 6 모듈들(110~160) 및 내부 버스(170)를 포함하는 것으로 설명되었다. 그러나, 집적 회로 장치(100)는 제1 내지 제6 모듈들(110~160) 및 내부 버스(170)를 포함하는 것으로 한정되지 않는다. 예를 들면, 집적 회로 장치(100)로부터 특정 모듈이 제거되거나, 집적 회로 장치(100)에 적어도 하나의 모듈이 추가될 수 있다.
전력 소모를 감소시키기 위하여, 집적 회로 장치(100)는 클럭 게이팅 동작을 수행하도록 구성된다. 클럭 게이팅 동작은 집적 회로 장치(100) 중 활성화된 영역에 클럭을 공급하고 비활성화된 영역의 클럭 공급을 중지함으로써, 유휴 상태인 영역의 동적 전력 소모(dynamic power consumption)를 감소하는 동작을 의미한다.
집적 회로 장치(100) 또는 제1 내지 제6 모듈들(110~160) 각각의 소비 전력(power consumption)은 변화할 수 있다. 예를 들어, 집적 회로 장치(100) 또는 제1 내지 제6 모듈들(110~160) 각각에서 활성화된 영역이 증가하면, 집적 회로 장치(100) 또는 제1 내지 제6 모듈들(110~160) 각각의 소비 전력이 증가할 수 있다. 집적 회로 장치(100) 또는 제1 내지 제6 모듈들(110~160) 각각에서 활성화된 영역이 감소하면, 집적 회로 장치(100) 또는 제1 내지 제6 모듈들(110~160) 각각에서 소비 전력이 감소할 수 있다.
소비 전력은 전원 관리 및 발열 관리의 측면에서 중요한 의미를 갖는다. 예를 들어, 소비 전력을 알 수 있으면, 배터리를 사용하는 모바일 장치의 잔여 배터리 수명이 계산될 수 있다. 소비 전력이 크면 잔여 배터리 수명이 감소하고, 소비 전력이 적으면 잔여 배터리 수명이 증가할 수 있다. 다른 예로서, 소비 전력을 알 수 있으면, 전자 장치의 발열이 증가할 지 또는 감소할 지가 예측될 수 있다. 소비 전력이 증가하면, 전자 장치의 발열이 증가할 것으로 예측될 수 있다. 소비 전력이 감소하면, 전자 장치의 발열이 감소할 것으로 예측될 수 있다.
클럭 게이팅이 적용되면, 집적 회로 장치(100) 또는 제1 내지 제6 모듈들(110~160) 각각의 소비 전력은 동적으로 변화한다. 동적으로 변화하는 소비 전력을 검출하기 위하여, 본 발명의 실시 예에 따른 집적 회로 장치(100)는 소비 전력 계산 회로(PC)를 구비한다. 예시적으로, 소비 전력 계산 회로(PC)는 제1 내지 제6 모듈들(110~160)에 각각 제공되는 것으로 도시되어 있다. 그러나, 소비 전력 계산 회로(PC)는 복수의 모듈들 당 하나가 제공될 수 있다. 또한, 하나의 모듈에 복수의 소비 전력 계산 회로가 제공될 수 있다. 소비 전력 계산 회로(PC)는 집적 회로 장치(100)의 대응하는 부분의 소비 전력을 계산할 수 있다.
도 2는 도 1의 집적 회로 장치(100)의 클럭 게이팅 동작을 설명하기 위한 블록도이다. 도 2를 참조하면, 입력 콘, 클럭 게이팅 셀(CG), 그리고 클럭 게이팅 도메인이 도시되어 있다.
입력 콘은 입력 신호에 응답하여 클럭 게이팅 신호(en)를 제어하도록 구성된다. 예를 들면, 입력 콘은 클럭 게이팅 신호(en)를 로직 로우 또는 로직 하이로 제어하도록 구성될 것이다.
클럭 게이팅 셀(CG)은 클럭 게이팅 신호(en)에 응답하여 클럭 게이팅 도메인의 클럭 공급을 중지 및 재개하도록 구성된다. 예를 들면, 클럭 게이팅 셀(CG)은 클럭(CLK)을 수신하고, 클럭 게이팅 신호(en)에 응답하여 수신된 클럭(CLK)을 게이팅된 클럭(GCLK)으로 출력하도록 구성된다. 게이팅된 클럭(GCLK)은 클럭 게이팅 도메인에 전달된다.
클럭 게이팅 도메인은 클럭 게이팅 셀(CG)로부터 게이팅된 클럭(GCLK)을 수신한다. 클럭 게이팅 도메인은 게이팅된 클럭(GCLK)에 응답하여 동작하도록 구성된다. 예를 들면, 클럭 게이팅 도메인은 게이팅된 클럭(GCLK)에 응답하여 출력 신호를 출력할 것이다.
클럭 게이팅 셀(CG)이 게이팅된 클럭(GCLK)의 출력을 중지하면, 클럭 게이팅 도메인은 동작을 중지할 것이다. 예를 들면, 클럭 게이팅 도메인은 저장된 데이터를 유지한 채 동작을 중지할 것이다. 즉, 클럭 게이팅 도메인의 동적 전력 소모가 감소될 것이다.
클럭 게이팅 셀(CG)이 게이팅된 클럭(GCLK)의 출력을 재개하면, 클럭 게이팅 도메인은 동작을 재개할 것이다. 예를 들면, 클럭 게이팅 도메인은 게이팅된 클럭(GCLK)에 응답하여 내부 레지스터들 사이의 데이터 전송을 수행할 것이다. 내부 레지스터들의 논리 상태의 천이에 의해, 클럭 게이팅 도메인에서 동적 전력 소모가 증가할 것이다.
도 2에 도시된 바와 같이, 하나의 클럭 게이팅 신호(en)에 의해 클럭의 공급이 제어되는 팬-아웃 로직 콘(fan-out logic cone)이 클럭 게이팅 도메인이라 불린다. 집적 회로 장치(100)의 각 모듈은 적어도 하나의 클럭 게이팅 도메인들을 포함한다.
도 3은 도 1의 제1 모듈(110)의 실시 예를 보여주는 블록도이다. 도 3을 참조하면, 제1 모듈은 제1 내지 제3 팬-인 로직 콘들(Cen1~Cen3, logic cones), 제1 내지 제4 클럭 게이팅 셀들(CG1~CG4), 그리고 제1 내지 제4 클럭 게이팅 도메인들(CGD1~CGD4)을 포함한다.
팬-인 로직 콘(Cen)은 모듈에 입력되는 신호들(x1~xn)에 응답하여, 클럭 게이팅 셀(CG)에 전달되는 클럭 게이팅 신호(en)를 구동하는 제1 모듈(110)의 구성 요소를 나타낸다.
제1 팬-인 로직 콘(Cen1)은 제1 모듈(110)의 입력 신호들에 응답하여 제1 클럭 게이팅 신호(en1)를 구동하도록 구성된다. 제1 클럭 게이팅 신호(en1)는 제1 클럭 게이팅 셀(CG1)에 전달된다.
제1 클럭 게이팅 셀(CG1)은 제1 클럭 게이팅 신호(en1)에 응답하여 게이팅된 클럭(GCLK)을 출력하도록 구성된다. 제1 클럭 게이팅 셀(CG1)의 출력은 제1 클럭 게이팅 도메인(CGD1)에 전달된다. 즉, 제1 클럭 게이팅 셀(CG1)은 제1 클럭 게이팅 신호(en1)에 응답하여 제1 클럭 게이팅 도메인(CGD1)의 활성화 및 비활성화를 제어하도록 구성된다.
제2 팬-인 로직 콘(Cen2)은 제1 모듈(110)의 입력 신호들에 응답하여 제2 클럭 게이팅 신호(en2)를 구동하도록 구성된다. 제2 클럭 게이팅 신호(en2)는 제2 클럭 게이팅 셀(CG2)에 전달된다.
제2 클럭 게이팅 셀(CG2)은 제2 클럭 게이팅 신호(en2)에 응답하여 게이팅된 클럭(GCLK)을 출력하도록 구성된다. 제2 클럭 게이팅 셀(CG2)의 출력은 제2 클럭 게이팅 도메인(CGD2)에 전달된다. 즉, 제2 클럭 게이팅 셀(CG2)은 제2 클럭 게이팅 신호(en2)에 응답하여 제2 클럭 게이팅 도메인(CGD2)의 활성화 및 비활성화를 제어하도록 구성된다.
제3 팬-인 로직 콘(Cen3)은 제1 모듈(110)의 입력 신호들에 응답하여 제3 클럭 게이팅 신호(en3)를 구동하도록 구성된다. 제3 클럭 게이팅 신호(en3)는 제3 클럭 게이팅 셀(CG3)에 전달된다.
제3 클럭 게이팅 셀(CG3)은 제3 클럭 게이팅 신호(en3)에 응답하여 게이팅된 클럭(GCLK)을 출력하도록 구성된다. 제3 클럭 게이팅 셀(CG3)의 출력은 제3 클럭 게이팅 도메인(CGD3)에 전달된다. 즉, 제3 클럭 게이팅 셀(CG3)은 제3 클럭 게이팅 신호(en3)에 응답하여 제3 클럭 게이팅 도메인(CGD3)의 활성화 및 비활성화를 제어하도록 구성된다.
제4 클럭 게이팅 셀(CG4)은 제1 클럭 게이팅 도메인(CGD1)으로부터 제4 클럭 게이팅 신호(en4)를 수신하도록 구성된다. 제4 클럭 게이팅 신호(en4)에 응답하여, 제4 클럭 게이팅 셀(CG4)은 게이팅된 클럭(GCLK)을 출력하도록 구성된다. 제4 클럭 게이팅 셀(CG4)의 출력은 제4 클럭 게이팅 도메인(CGD4)에 전달된다. 즉, 제4 클럭 게이팅 셀(CG4)은 제4 클럭 게이팅 신호(en4)에 응답하여 제4 클럭 게이팅 도메인(CGD4)의 활성화 및 비활성화를 제어하도록 구성된다.
도 3에서, 제1 내지 제3 팬-인 로직 콘들(Cen1~Cen3), 제1 내지 제4 클럭 게이팅 셀들(CG1~CG4), 그리고 제1 내지 제4 클럭 게이팅 도메인들(CGD1~CGD4)은 제1 내지 제4 클럭 게이팅 신호들(en1~en4), 클럭(CLK), 그리고 게이팅된 클럭(GCLK)을 교환하는 것으로 설명되었다. 그러나, 제1 내지 제3 팬-인 로직 콘들(Cen1~Cen3), 제1 내지 제4 클럭 게이팅 셀들(CG1~CG4), 그리고 제1 내지 제4 클럭 게이팅 도메인들(CGD1~CGD4)은 다양한 내부 신호들을 교환하도록 구성될 수 있다.
도 3에서, 집적 회로 장치(100)의 제1 모듈(110)의 실시 예가 설명되었다. 그러나, 집적 회로 장치(100)의 다른 모듈들 또한 도 3에 도시된 바와 같이 적어도 하나의 팬-인 로직 콘(Cen), 적어도 하나의 클럭 게이팅 셀(CG), 그리고 적어도 하나의 클럭 게이팅 도메인(CGD)을 포함하도록 구성될 수 있다.
도 3에 도시된 제1 모듈(110)의 예에서, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 각각 활성화 또는 비활성화됨에 따라, 제1 내지 제4 클럭 게이팅 도메인들(CGD1~CGD4)이 활성화 또는 비활성화 된다. 즉, 제1 모듈(110)의 소비 전력이 변화한다.
도 4는 도3에 도시된 제1 모듈(110)의 예에서, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)에 따른 전력 상태들 및 전력값들을 보여주는 테이블이다. 예시적으로, 도 3에 도시된 바와 같이, 네 개의 클럭 게이팅 신호들(en1~en4)에 대응하는 전력 상태들 및 전력값들이 도 4에 도시된다.
도 3 및 도 4를 참조하면, 네 개의 클럭 게이팅 신호들(en1~en4) 각각의 활성 상태에 따라, 제1 내지 제16 전력 상태들(PS1~PS16)이 존재할 수 있다. 그리고, 제1 내지 제16 전력 상태들(PS1~PS16)은 각각 제1 내지 제16 전력값들(P1~P16)을 가질 수 있다. 제1 내지 제16 전력 상태들(PS1~PS16 및 제1 내지 제16 전력값들(P1~P16)은 각각 하나의 클럭 사이클에 대응할 수 있다. 예를 들어, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 모두 비활성 상태일 때, 제1 모듈(110)은 제1 전력 상태(PS1)에 대응하고, 하나의 클럭 사이클 동안에 제1 전력 상태(PS1)에 대응하는 제1 전력값(P1)을 소비할 수 있다. 제1 내지 제4 클럭 세이팅 신호들(en1~en4) 중 제3 및 제4 클럭 게이팅 신호들(en3, en4)이 활성 상태일 때, 제1 모듈(110)은 제4 전력 상태(PS4)에 대응하고, 하나의 클럭 사이클 동안에 제4 전력값(P4)을 소비할 수 있다.
도 5는 제1 실시 예에 따른 소비 전력 계산 회로(PC1)를 보여주는 블록도이다. 도 5를 참조하면, 소비 전력 계산 회로(PC1)는 주소 발생기(210), 메모리(220), 그리고 누산기(230)를 포함한다.
주소 발생기(210)는 제1 내지 제4 클럭 게이팅 신호들(en1~en4)를 수신한다. 주소 발생기(210)는 제1 내지 제4 클럭 게이팅 신호들(en1~en4)에 기반하여 주소(ADDR)를 생성할 수 있다. 주소 발생기(210)는 제1 내지 제4 클럭 게이팅 신호들(en1~en4) 각각의 활성 상태에 따라, 제1 내지 제16 주소들(A1~A16) 중 하나를 출력할 수 있다. 주소 발생기(210)는 제1 내지 제4 클럭 게이팅 신호들(en1~en4)에 따라, 전력 상태(PS)에 대응하는 주소를 출력할 수 있다.
예를 들어, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 제1 전력 상태(PS1)를 가리킬 때, 주소 발생기(210)는 제1 전력값(P1)이 저장되어 있는 메모리(220)의 주소(A1)를 출력할 수 있다. 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 제2 전력 상태(PS2)를 가리킬 때, 주소 발생기(210)는 제2 전력값(P2)이 저장되어 있는 메모리(220)의 주소(A2)를 출력할 수 있다. 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 제k 전력 상태(PSk)를 가리킬 때, 주소 발생기(210)는 제k 전력값(Pk)이 저장되어 있는 메모리(220)의 주소(Ak)를 출력할 수 있다.
메모리(220)는 주소 발생기(210)로부터 출력되는 주소(ADDR)에 대응하는 전력값(P)을 출력할 수 있다.
누산기(230)는 메모리(220)로부터 출력되는 전력값(P)을 누산할 수 있다. 예를 들어, 누산기(230)는 이전 클럭 사이클의 누산 결과와 이번 클럭 사이클에 수신되는 전력값(P)을 더하고, 더해진 결과를 누산 결과로 유지할 수 있다.
하나의 클럭 사이클에, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)에 응답하여 주소 발생기(210)가 주소(ADDR)를 출력할 수 있다. 메모리(220)는 주소(ADDR)에 응답하여 전력값(P)을 출력할 수 있다. 누산기(230)는 전력값(P)을 누산할 수 있다. 즉, 누산기(230)는 매 클럭 사이클 마다, 소비되는 전력값들을 누산할 수 있다. 누산기(230)의 누산된 전력값은, 누산기(230)가 누산을 수행한 클럭 사이클 동안에 소비된 소비 전력을 가리킬 수 있다.
소비 전력 요청이 수신될 때, 누산기(230)는 누산된 전력값을 소비 전력(Pc)으로 출력할 수 있다. 소비 전력(Pc)이 출력될 때, 누산기(230)는 누산된 전력값을 리셋할 수 있다. 예를 들어, 누산기(230)는 누산된 전력값을 '0'으로 리셋할 수 있다.
소비 전력 계산 회로(PC1)는 주기적으로 수신되는 소비 전력 요청에 응답하여, 주기적으로 소비 전력(Pc)을 출력할 수 있다. 출력되는 소비 전력(Pc)은 제1 모듈(110)의 전원 관리 및 발열 관리를 위해 사용될 수 있다.
예시적으로, 메모리(220)에 저장되는 전력값들(P1~P6)은 제1 모듈(110)의 테스트 또는 시뮬레이션을 통해 검출되어 메모리(220)에 저장될 수 있다.
도 6은 본 발명의 제1 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다. 도 4 및 도 6을 참조하면, S110 단계에서, 클럭 게이팅에 따라 서로 다른 전력값들(P)을 갖는 전력 상태들(PS)이 검출된다. 예를 들어, 도 4를 참조하여 설명된 바와 같이, 클럭 게이팅 신호들(en1~en4) 각각의 활성 상태에 따라, 전력 상태들(PS1~PS16) 및 전력값들(P1~P16)이 검출될 수 있다.
S120 단계에서, 전력값들(P1~P16)에 따라 전력 상태들(PS1~PS16)이 전력 상태 그룹들로 그룹화된다. 예를 들어, 유사한 전력값들을 갖는 전력 상태들이 하나의 전력 상태 그룹으로 포함될 수 있다. 유사하지 않은 전력값들을 갖는 전력 상태들은 서로 다른 전력 상태 그룹들에 포함될 수 있다.
S130 단계에서, 각 전력 상태 그룹에 하나의 그룹 전력값이 할당된다. 예를 들어, 각 전력 상태 그룹에 속한 전력 상태들의 전력값들에 따라 그룹 전력값이 결정될 수 있다. 각 전력 상태 그룹에 속한 전력 상태들의 전력값들 중 하나의 전력값이 그룹 전력값으로 선택될 수 있다. 각 전력 상태 그룹에 속한 전력 상태들의 전력값들의 평균값 또는 가중 평균값이 그룹 전력값으로 선택될 수 있다.
S140 단계에서, 소비 전력이 계산된다. 예를 들어, 전력 상태 그룹들, 전력 상태 그룹들에 각각 대응하는 그룹 전력값들, 그리고 클럭 게이팅과 연관된 클럭 게이팅 신호들에 기반하여, 소비 전력이 계산될 수 있다.
도 7은 도 4의 제1 내지 제4 전력 상태들(PS1~PS16)이 전력 상태 그룹들로 그룹화되는 예를 보여주는 테이블이다. 도 7을 참조하면, 제1 내지 제4 전력 상태들(PS1~PS4)은 제1 전력 상태 그룹(PG1)으로 그룹화될 수 있다. 제1 전력 상태 그룹(PG1)에 제1 그룹 전력값(GP1)이 할당될 수 있다.
제5 내지 제7 전력 상태들(PS5~PS7)은 제2 전력 상태 그룹(PG2)으로 그룹화될 수 있다. 제2 전력 상태 그룹(PG2)에 제2 그룹 전력값(GP2)이 할당될 수 있다. 제8 내지 제12 전력 상태들(PS8~PS12)은 제3 전력 상태 그룹(PG3)으로 그룹화될 수 있다. 제3 전력 상태 그룹(PG3)에 제3 그룹 전력값(GP3)이 할당될 수 있다. 제13 내지 제16 전력 상태들(PS13~PS16)은 제4 전력 상태 그룹(PG4)으로 그룹화될 수 있다. 제4 전력 상태 그룹(PG4)에 제4 그룹 전력값(GP4)이 할당될 수 있다.
도 8은 도 6의 S140 단계의 제1 예를 보여주는 순서도이다. 도 7 및 도 8을 참조하면, S210 단계에서, 전력 상태가 검출된다. 예를 들어, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)에 기반하여, 제1 내지 제16 전력 상태들(PS1~PS16) 중 하나가 검출될 수 있다.
S220 단계에서, 전력 상태에 따라 전력 상태 그룹이 선택된다. 예를 들어, S210 단계에서 검출된 전력 상태가 속한 전력 상태 그룹이 선택될 수 있다.
S230 단계에서, 전력 상태 그룹에 대응하는 그룹 전력값이 누산된다. 예를 들어, S220 단계에서 선택된 전력 상태 그룹에 대응하는 그룹 전력값이 선택되고, 선택된 그룹 전력값이 누산될 수 있다.
S240 단계에서, 소비 전력 체크 타이밍인지 판별된다. 예를 들어, 소비 전력 요청이 수신되는지 판별될 수 있다. 예를 들어, 미리 정해진 스케줄에 따라, 소비 전력을 출력할 타이밍인지 판별될 수 있다.
소비 전력 체크 타이밍이면, S250 단계에서, 누선된 전력값이 소비 전력으로 출력되고, 리셋이 수행된다. 소비 전력 체크 타이밍이 아니면, 소비 전력은 출력되지 않는다.
도 9는 본 발명의 제2 실시 예에 따른 소비 전력 계산 회로(PC2)의 예를 보여주는 블록도이다. 도 7 내지 도 9를 참조하면, 소비 전력 계산 회로(PC2)는 주소 발생기(310), 메모리(320), 그리고 누산기(330)를 포함한다.
주소 발생기(310)는 제1 내지 제4 클럭 게이팅 신호들(en1~en4)을 수신한다. 주소 발생기(310)는 제1 내지 제4 클럭 게이팅 신호들(en1~en4)에 기반하여 주소(ADDR)를 생성할 수 있다. 주소 발생기(310)는 제1 내지 제4 클럭 게이팅 신호들(en1~en4)의 전력 상태에 대응하는 주소(ADDR)를 생성할 수 있다.
도 7에 도시된 바와 같이, 제1 내지 제4 전력 상태들(PS1~PS4)은 제1 전력 상태 그룹(PG1)으로 그룹화되어 있다. 따라서, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 제1 내지 제4 전력 상태들(PS1~PS4) 중 하나를 가리킬 때, 메모리(320)는 제1 그룹 전력값(GP1)을 출력할 수 있다. 예를 들어, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 제1 내지 제4 전력 상태들(PS1~PS4)을 가리킬 때, 주소 발생기(310)는 제1 그룹 전력값(GP1)이 저장된 메모리(320)의 주소를 동일하게 생성할 수 있다. 다른 예로서, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 제1 내지 제4 전력 상태들(PS1~PS4)을 가리킬 때, 주소 발생기(310)는 제1 내지 제4 전력 상태들(PS1~PS4)에 각각 대응하는 주소들(A1~A4)을 생성할 수 있다. 제1 내지 제4 주소들(A1~A4)은 제1 그룹 전력값(GP1)이 저장된 메모리(320)의 주소로 공통적으로 매핑될 수 있다.
마찬가지로, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 제5 내지 제7 전력 상태들(PS5~PS6) 중 하나를 가리킬 때, 메모리(320)는 제2 그룹 전력값(GP2)을 출력할 수 있다. 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 제8 내지 제12 전력 상태들(PS8~PS12)을 가리킬 때, 메모리(320)는 제3 그룹 전력값(GP3)을 출력할 수 있다. 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 제13 내지 제16 전력 상태들(PS13~PS16) 중 하나를 가리킬 때, 메모리(320)는 제4 그룹 전력값(GP4)을 출력할 수 있다.
누산기(330)는 메모리(320)로부터 출력되는 그룹 전력값(GP)을 누산할 수 있다. 예를 들어, 누산기(330)는 이전 클럭 사이클의 누산된 그룹 전력값과 메모리(320)로부터 출력되는 그룹 전력값을 더하여, 현재 클럭 사이클의 누산된 그룹 전력값으로 유지할 수 있다.
소비 전력 요청이 존재할 때, 또는 미리 정해진 스케줄에 따라 소비 전력을 출력해야 할 때, 제어 신호(CTRL)가 활성화될 수 있다. 제어 신호(CTRL)가 활성화되면, 누산기(330)는 누산된 그룹 전력값을 소비 전력(Pc)으로서 출력할 수 있다. 또한, 누산기(330)는 누산된 그룹 전력값을 '0'으로 리셋할 수 있다.
상술된 바와 같이, 소비 전력 계산 회로(PC2)는 소비 전력 요청에 따라 또는 주기적으로 소비 전력을 출력할 수 있다. 출력되는 소비 전력은, 이전에 소비 전력이 출력된 때로부터 현재에 소비 전력이 출력되는 때까지 소비된 전력일 수 있다.
도 5의 소비 전력 계산 회로(PC1)의 메모리(220)는 제1 내지 제16 전력값들(P1~P16)을 저장하도록 구성된다. 반면, 도 9의 소비 전력 계산 회로(PC2)의 메모리(320)는 제1 내지 제4 그룹 전력값들(GP1~GP4) 만을 저장하도록 구성된다. 따라서, 소비 전력 계산 회로(PC2)는 소비 전력 계산 회로(PC1)보다 더 적은 용량의 메모리를 이용하여 구현될 수 있으며, 따라서 더 적은 비용으로 구현될 수 있다.
도 10은 복수의 전력 상태들이 그룹화되는 예를 보여주는 그래프이다. 도 10에서, 가로 축은 전력 상태들을 가리키고, 세로 축은 전력값을 가리킨다. 도 10을 참조하면, 전력 상태들의 전력값들 중 가장 낮은 전력값과 가장 높은 전력값 사이의 구간이 미리 정해진 서브 구간들로 분할될 수 있다. 예를 들어, 서브 구간들은 균등 분할된 구간들일 수 있다. 서브 구간들은 지수적으로 분할된 구간들일 수 있다. 각 서브 구간에 속한 전력 값들을 갖는 전력 상태들은 하나의 전력 상태 그룹으로 그룹화될 수 있다.
도 11은 본 발명의 제2 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다. 도 4 및 도 11을 참조하면, S310 단계에서, 다중회귀모델이 생성된다. 예를 들어, 소비 전력을 계산하고자 하는 반도체 모듈 또는 반도체 집적 회로의 다중회귀모델이 생성될 수 있다. 다중회귀모델은 수학식 1과 같이 생성될 수 있다.
Figure 112013107604523-pat00001
여기에서, 행렬 P, 행렬 EN 및 행렬 B는 수학식 2, 수학식 3 및 수학식 4로 각각 정의된다.
Figure 112013107604523-pat00002
행렬 P는 클럭 게이팅 신호들(en1~en4)에 따른 전력 상태들의 전력값들을 원소들로 가질 수 있다. 즉, 행렬 P는 제1 내지 제16 전력 상태들(PS1~PS16)에 각각 대응하는 전력값들(P1~P16)을 원소들로 가질 수 있다. 행렬 P의 전력값들은, 소비 전력을 계산하고자 하는 반도체 집적 회로 또는 반도체 모듈의 테스트 또는 시뮬레이션을 통해 획득될 수 있다.
Figure 112013107604523-pat00003
행렬 EN의 행들은, 각 전력 상태에서 클럭 게이팅 신호들(en1~en4)의 조합을 원소들로 가질 수 있다. 행렬 EN의 첫 번째 열은, 클럭 게이팅 신호들(en1~en4)에 의해 게이팅되는 클럭 게이팅 도메인들에 속하지 않은 회로 부분들을 가리킨다. 즉, 행렬 EN의 첫 번째 열은, 클럭 게이팅 신호들(en1~en4)에 관계 없이, 항상 전력을 소비하는 회로 부분들을 가리킬 수 있다.
Figure 112013107604523-pat00004
행렬 B는 소비 전력의 다중회귀모델의 계수들을 원소들로 가질 수 있다.
S320 단계에서, 다중회귀모델의 계수들이 계산된다. 예시적으로, 행렬 B의 계수들은 QR 분해 및 최소자승법(least square method)에 기반하여 획득될 수 있다.
S330 단계에서, 다중회귀모델의 계수들을 이용하여 소비 전력이 계산된다. 예시적으로, 수학식 1 내지 수학식 4에 기반하여, 소비 전력은 수학식 5로 정의될 수 있다.
Figure 112013107604523-pat00005
즉, 클럭 게이팅 신호들(en1~en4)에 대응하는 다중회귀모델의 계수들(C0~C4)이 계산되면, 클럭 게이팅 신호들(en1~en4) 각각이 활성화되는 빈도에 따라 클럭 게이팅 신호들(en1~en4) 및 다중회귀모델의 계수들(C0~C4)을 연산하여 소비 전력(Pc)이 계산될 수 있다.
도 12는 도 11의 S330 단계를 더 상세하게 보여주는 순서도이다. 도 12를 참조하면, S410 단계에서, 각 클럭 게이팅 신호의 활성 상태가 누산된다. 예를 들어, 매 클럭 사이클마다, 각 클럭 게이팅 신호의 활성 상태가 누산될 수 있다. 매 클럭 사이클마다, 각 클럭 게이팅 신호가 활성 상태일 때, 대응하는 누산값이 카운트업 될 수 있다.
S420 단계에서, 소비 전력 계산 타이밍인지 판별된다. 예를 들어, 소비 전력 요청이 수신되는지 판별될 수 있다. 소비 전력 요청은 주기적으로 수신될 수 있다. 예를 들어, 미리 정해진 스케줄에 따라, 소비 전력을 출력할 타이밍인지 판별될 수 있다.
소비 전력 계산 타이밍이 아니면, 소비 전력은 계산되지 않는다. 소비 전력 계산 타이밍이면, S430 단계에서, 클럭 게이팅 신호들의 누산값들을 대응하는 계수들과 각각 계산하여 항들이 계산된다.
S440 단계에서, 항들이 연산되어 소비 전력이 계산된다. 예를 들어, 항들이 합산되어 소비 전력이 계산될 수 있다.
S450 단계에서, 소비 전력이 출력된다.
도 13은 본 발명의 제3 실시 예에 따른 소비 전력 계산 회로(PC3)를 보여주는 블록도이다. 도 13을 참조하면, 소비 전력 계산 회로(PC3)는 제1 내지 제4 누산기들(A_en1~A_en4), 제1 내지 제4 레지스터들(REG1~REG4), 제1 내지 제4 계수 레지스터들(R_C1~R_C4), 상수 계수 레지스터(R_C0), 제1 내지 제4 곱셈기들(MU1~MU4), 그리고 합산기(FA)를 포함한다.
제1 내지 제4 누산기들(A_en1~A_en4)은 각각 제1 내지 제4 클럭 게이팅 신호들(en1~en4)을 수신하여 누산하도록 구성된다. 예를 들어, 제1 누산기(A_en1)는 매 제1 클럭 게이팅 신호(en1)가 활성화될 때마다, 누산값을 카운트업 할 수 있다. 제1 누산기(A_en1)는 매 클럭 사이클마다, 제1 클럭 게이팅 신호(en1)가 활성화되는지에 따라 누산값을 카운트업 할 수 있다. 제2 누산기(A_en2)는 매 클럭 사이클마다, 제2 클럭 게이팅 신호(en2)가 활성화되는지에 따라 누산값을 카운트업 할 수 있다. 제3 누산기(A_en3)는 매 클럭 사이클마다, 제3 클럭 게이팅 신호(en3)가 활성화되는지에 따라 누산값을 카운트업 할 수 있다. 제4 누산기(A_en4)는 매 클럭 사이클마다, 제4 클럭 게이팅 신호(en4)가 활성화되는지에 따라 누산값을 카운트업 할 수 있다.
제1 내지 제4 누산기들(A_en1~A_en4)은 제2 제어 신호(CTRL2)에 응답하여 초기화될 수 있다.
제1 내지 제4 레지스터들(REG1~REG4)은 제1 내지 제4 누산기들(A_en1~A_en4)로부터 각각 누산값들을 수신하도록 구성된다. 제1 내지 제4 레지스터들(REG1~REG4)은 제1 제어 신호(CTRL1)에 응답하여 누산값들을 저장할 수 있다.
제1 내지 제4 계수 레지스터들(R_C1~R_C0)은 다중회귀모델의 계수들을 각각 저장할 수 있다. 예를 들어, 제1 내지 제4 계수 레지스터들(R_C1~R_C0)은 클럭 게이팅 신호들(en1~en4)에 각각 대응하는 계수들을 저장할 수 있다.
상수 계수 레지스터(R_C0)는 다중회귀모델의 계수들 중 상수 계수를 저장할 수 있다.
제1 내지 제4 곱셈기들(MU1~MU4)은 제1 내지 제4 레지스터들(REG1~REG4)의 값들과 제1 내지 제4 계수 레지스터들(R_C1~R_C4)의 값들을 각각 곱할 수 있다. 제1 곱셈기(MU1)는 제1 레지스터(REG1)의 값과 제1 계수 레지스터(R_C1)의 값을 곱할 수 있다. 제2 곱셈기(MU2)는 제2 레지스터(REG2)의 값과 제2 계수 레지스터(R_C2)의 값을 곱할 수 있다. 제3 곱셈기(MU3)는 제3 레지스터(REG3)의 값과 제3 계수 레지스터(R_C3)의 값을 곱할 수 있다. 제4 곱셈기(MU4)는 제4 레지스터(REG4)의 값과 제4 계수 레지스터(R_C4)의 값을 곱할 수 있다.
합산기(FA)는 제1 내지 제4 곱셈기들(MU1~MU4)의 출력들 및 상수 계수 레지스터(R_C0)의 값을 곱하여, 소비 전력(Pc)으로 출력할 수 있다.
매 클럭 사이클마다, 제1 내지 제4 누산기들(A_en1~A_en4)은 클럭 게이팅 신호들(en1~en4)의 활성 여부에 따라 누산값들을 카운트업 할 수 있다.
소비 전력 요청에 따라, 또는 미리 정해진 스케줄에 따라 소비 전력을 계산할 타이밍에, 제1 제어 신호(CTRL1)가 활성화될 수 있다. 제1 제어 신호(CTRL1)에 응답하여, 제1 내지 제4 레지스터들(REG1~REG4)은 제1 내지 제4 누산기들(A_en1~A_en4)로부터 출력되는 누산값들을 저장할 수 있다. 제1 내지 제4 레지스터들(REG1~REG4)에 저장되는 누산값들은 행렬 EN의 원소들에 대응할 수 있다.
제1 내지 제4 곱셈기들(MU1~MU4)은 제1 내지 제4 레지스터들(REG1~REG4)의 값들과 제1 내지 제4 계수 레지스터들(R_C1~R_C4)을 곱하여 항들을 생성할 수 있다. 제1 내지 제4 곱셈기들(MU1~MU4)의 출력들은 수학식 5의 항들 중 클럭 게이팅 신호들(en1~en4)과 연관된 항들일 수 있다.
합산기(FA)는 제1 내지 제4 곱셈기들(MU1~MU4)의 출력들과 상수 계수 레지스터(R_C0)의 값을 더한다. 상수 계수 레지스터(R_C0)의 값은 수학식 5의 항들 중 클럭 게이팅 신호들(en1~en4)과 연관되지 않은 상수 항일 수 있다.
결과적으로, 합산기(FA)는 수학식 5에 기재된 연산을 수행하여, 소비 전력(Pc)을 출력할 수 있다.
제1 내지 제4 누산기들(A_en1~A_en4)의 누산값들이 제1 내지 제4 레지스터들(REG1~REG4)에 저장된 후, 즉 제1 내지 제4 클럭 게이팅 신호들(en1~en4)의 누산값들이 참조된 후, 제1 내지 제4 누산기들(A_en1~A_en4)은 제2 제어 신호(CTRL2)에 응답하여 리셋될 수 있다. 예를 들어, 제1 내지 제4 누산기들(A_en1~A_en4)의 누산값들은 '0'으로 리셋될 수 있다. 예시적으로, 제1 내지 제4 누산기들(A_en1~A_en4)의 누산값들이 제1 내지 제4 레지스터들(REG1~REG4)에 저장되는 동작과, 제1 내지 제4 누산기들(A_en1~A_en4_)이 리셋되는 동작은 동일한 클럭 사이클 동안에 수행될 수 있다.
상술된 바와 같이, 소비 전력 계산 회로(PC2)는 소비 전력 요청에 따라 또는 주기적으로 소비 전력을 계산하여 출력할 수 있다. 출력되는 소비 전력은, 이전에 소비 전력이 출력된 때로부터 현재에 소비 전력이 출력되는 때까지 소비된 전력일 수 있다.
도 5의 소비 전력 계산 회로(PC1)의 메모리(220)는 제1 내지 제16 전력값들(P1~P16)을 저장하도록 구성된다. 반면, 도 13의 소비 전력 계산 회로(PC3)의 메모리(320)는 다중회귀모델의 계수들(C0~C4) 만을 저장하도록 구성된다. 따라서, 소비 전력 계산 회로(PC3)는 소비 전력 계산 회로(PC1)보다 더 적은 용량의 메모리를 이용하여 구현될 수 있으며, 따라서 더 적은 비용으로 구현될 수 있다.
도 14는 도 11의 S330 단계의 다른 예를 보여주는 순서도이다. 도 14를 참조하면, S510 단계에서, 계수들의 값들에 따라, 계수들이 계수 그룹들로 그룹화된다. 예를 들어, 유사한 값들을 갖는 계수들이 하나의 계수 그룹으로 포함될 수 있다. 유사하지 않은 값들을 갖는 계수들은 서로 다른 계수 그룹들에 포함될 수 있다. 예시적으로, 다중회귀모델의 계수들 중 상수 계수를 제외한 나머지 계수들이 그룹화될 수 있다. 다중회귀모델의 계수들 중 클럭 게이팅과 연관된 계수들이 그룹화될 수 있다.
S520 단계에서, 각 계수 그룹에 하나의 그룹 계수가 할당된다. 예를 들어, 각 계수 그룹에 속한 계수들에 따라 그룹 계수가 결정될 수 있다. 각 계수 그룹에 속한 계수들 중 하나가 그룹 계수로 선택될 수 있다. 각 계수 그룹에 속한 계수들의 평균값 또는 가중 평균값이 그룹 계수로 선택될 수 있다.
S530 단계에서, 소비 전력이 계산된다. 예를 들어, 다중회귀모델의 계수 그룹들 및 그룹 계수들에 기반하여 소비 전력이 계산될 수 있다.
도 15는 다중회귀모델의 계수들이 계수 그룹들로 그룹화되는 예를 보여주는 테이블이다. 도 15를 참조하면, 제1 및 제2 계수들(C1, C2)은 제1 계수 그룹(CG1)으로 그룹화될 수 있다. 제1 계수 그룹(CG1)에 제1 그룹 계수(GC1)가 할당될 수 있다.
제3 및 제4 계수들(C3, C4)은 제2 계수 그룹(CG2)으로 그룹화될 수 있다. 제2 계수 그룹(CG2)에 제2 그룹 계수(GC2)가 할당될 수 있다.
예시적으로, 계수 그룹들 및 그룹 계수들이 적용되면, 수학식 5는 수학식 6과 같이 응용될 수 있다.
Figure 112013107604523-pat00006
여기에서, GC는 그룹 계수를 가리킨다. 하나의 그룹 계수(GC)에 공통으로 대응하는 클럭 게이팅 신호들은, 하나의 계수 그룹에 속한 클럭 게이팅 신호들일 수 있다.
도 16은 도 14의 S530 단계를 더 상세하게 보여주는 순서도이다. 도 16을 참조하면, S610 단계에서, 각 클럭 게이팅 신호의 활성 상태에 기반하여, 각 계수 그룹의 카운트가 누산된다. 예를 들어, 매 클럭 사이클마다, 각 클럭 게이팅 신호의 활성 상태에 대응하는 계수 그룹의 카운트가 누산될 수 있다. 매 클럭 사이클마다, 각 클럭 게이팅 신호가 활성 상태일 때, 대응하는 계수 그룹의 누산값이 카운트업 될 수 있다.
S620 단계에서, 소비 전력 계산 타이밍인지 판별된다. 예를 들어, 소비 전력 요청이 수신되는지 판별될 수 있다. 소비 전력 요청은 주기적으로 수신될 수 있다. 예를 들어, 미리 정해진 스케줄에 따라, 소비 전력을 출력할 타이밍인지 판별될 수 있다.
소비 전력 계산 타이밍이 아니면, 소비 전력은 계산되지 않는다. 소비 전력 계산 타이밍이면, S630 단계에서, 계수 그룹들의 누산값들을 대응하는 그룹 계수들과 각각 계산하여 항들이 계산된다.
S640 단계에서, 항들이 연산되어 소비 전력이 계산된다. 예를 들어, 항들이 합산되어 소비 전력이 계산될 수 있다.
S650 단계에서, 소비 전력이 출력된다.
도 17은 본 발명의 제4 실시 예에 따른 소비 전력 계산 회로(PC4)를 보여주는 블록도이다. 도 17을 참조하면, 소비 전력 계산 회로(PC4)는 제1 및 제2 누산기들(A_CG1, A_CG2), 제1 및 제2 레지스터들(REG1, REG2), 제1 및 제2 그룹 계수 레지스터들(R_GC1, R_GC2), 상수 계수 레지스터(R_C0), 제1 및 제2 곱셈기들(MU1, MU2), 그리고 합산기를 포함한다.
도 16에 도시된 바와 같이, 제1 및 제2 계수들(C1, C2)은 제1 계수 그룹(CG1)으로 그룹화되어 있다. 따라서, 제1 및 제2 계수들(C1, C2)에 각각 대응하는 제1 및 제2 클럭 게이팅 신호들(en1, en2)은 제1 누산기(A_CG1)로 공통으로 입력된다. 제1 누산기(A_CG1)는 매 클럭 사이클마다, 입력되는 클럭 게이팅 신호들(en1, en2) 중 활성화된 클럭 게이팅 신호들의 수 만캄 누산값을 카운트업 할 수 있다.
제3 및 제4 계수들(C3, C4)은 제2 계수 그룹(CG2)으로 그룹화되어 있다. 따라서, 제3 및 제4 계수들(C3, C4)에 각각 대응하는 제3 및 제4 클럭 게이팅 신호들(en3, en4)은 제2 누산기(A_CG2)로 공통으로 입력된다. 제2 누산기(A_CG2)는 매 클럭 사이클마다, 입력되는 클럭 게이팅 신호들(en3, en4) 중 활성화된 클럭 게이팅 신호들의 수 만캄 누산값을 카운트업 할 수 있다.
제1 및 제2 그룹 계수 레지스터들(R_GC1, R_GC2)은 제1 및 제2 그룹 계수들(GC1, GC2)을 각각 저장할 수 있다. 상수 계수 레지스터(R_C0)는 상수 계수(C0)를 저장할 수 있다.
제1 및 제2 곱셈기들(MU1, MU2)은 제1 및 제2 레지스터들(REG1, REG2)의 값들과 제1 및 제2 그룹 계수 레지스터들(R_GC1, R_GC2)의 값들을 각각 곱할 수 있다.
합산기(FA)는 제1 및 제2 곱셈기들(MU1, MU2)의 출력들 및 상수 계수 레지스터(R_C0)의 값을 더하여 소비 전력(Pc)으로 출력할 수 있다.
계수들이 계수 그룹들로 그룹화되고, 계수 그룹들에 각각 그룹 계수들이 할당되면, 소비 전력 계산 회로(PC3)에서 필요한 누산기들, 레지스터들 및 곱셈기들의 수가 감소될 수 있다. 즉, 더 적은 비용으로 소비 전력 계산 회로(PC4)가 구현될 수 있다. 또한, 소비 전력 계산 회로(PC3)가 소비 전력(Pc)을 계산하는데 필요한 시간이 대폭 감소될 수 있다.
도 18은 본 발명의 제3 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다. 도 18을 참조하면, S710 단계에서, 테스트 벡터를 이용하여, 클럭 게이팅에 따라 서로 다른 전력값들(P)을 갖는 전력 상태들(PS)이 검출된다.
S720 단계에서, 전력값들에 따라 전력 상태들이 전력 상태 그룹들로 그룹화된다.
S730 단계에서, 각 전력 상태 그룹에 하나의 그룹 전력값이 할당된다. 예를 들어, 각 전력 상태 그룹에 속한 전력 상태들의 전력값들에 따라 그룹 전력값이 결정될 수 있다.
예시적으로, S710 단계 내지 S730 단계는 도 6의 S110 단계 내지 S130 단계와 유사하게 수행될 수 있다.
예를 들어, 반도체 집적 회로의 넷리스트(netlist)가 분석될 수 있다. 특정한 패턴을 갖는 입력 신호 또는 클럭 제어 신호가 테스트 벡터로 선택될 수 있다. 선택된 테스트 벡터 및 분석된 넷리스트에 기반하여, 시뮬레이션이 수행될 수 있다. 시뮬레이션 결과에 따라, 전력 상태들 및 전력값들이 계산될 수 있다. 전력 상태들은 전력 상태 그룹들로 그룹화될 수 있다. 각 전력 상태 그룹에 그룹 전력값이 할당될 수 있다. 예시적으로, 시뮬레이션은 실 제품에 대한 테스트로 대체될 수 있다.
테스트 벡터를 이용하여 전력 상태들 전력 값들을 검출할 때, 반도체 집적 회로의 전력 상태들 및 모드 전력값들이 검출되지 않을 수 있다. 모든 전력 상태들 및 모든 전력값들을 검출할 수 있는 테스트 벡터를 찾는 것은 오랜 시간 및 복잡한 연산을 필요로 하는 큰 오버헤드를 가질 수 있다.
이와 같은 문제를 방지하기 위하여, 테스트 벡터를 이용하여 검출되지 않은 전력 상태들 및 전력값들에 대해서는 다중회귀모델을 이용한 소비 전력 계산이 적용될 수 있다.
S740 단계에서, 다중회귀모델이 생성된다.
S750 단계에서, 다중회귀모델의 계수들이 계산된다.
S740 단계 및 S750 단계는 도 11의 S310 단계 및 S320 단계와 마찬가지로 수행될 수 있다.
S760 단계에서, 전력 상태 그룹들, 그룹 전력값들 및 다중회귀모델의 계수들을 이용하여 소비 전력이 계산된다.
도 19는 도 18의 S760 단계의 예를 보여주는 순서도이다. 도 18 및 도 19를 참조하면, S810 단계에서, 클럭 게이팅 신호들이 수신된다. 예를 들어, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 수신될 있다.
S820 단계에서, 클럭 게이팅 신호들이 미리 정해진 전력 상태에 대응하는지 판별된다. 예를 들어, 클럭 게이팅 신호들이 S710 단계에서 검출된 전력 상태들 중 하나의 전력 상태에 대응하는지 판별될 수 있다.
클럭 게이팅 신호들이 미리 정해진 전력 상태에 대응하면, S830 단계에서, 전력 상태에 따라 전력 상태 그룹이 선택된다. 예를 들어, S720 단계에서 설정된 전력 상태 그룹들 중 검출된 전력 상탱에 대응하는 전력 상태 그룹이 선택될 수 있다. S840 단계에서, 전력 상태 그룹에 대응하는 그룹 전력값이 누산된다. S830 단계 및 S840 단계는 도 8의 S220 단계 및 S230 단계와 동일한 방법으로 수행될 수 있다.
클럭 게이팅 신호들이 미리 정해진 전력 상태에 대응하지 않으면, S850 단계O에서, 각 클럭 게이팅 신호의 활성 상태가 누산된다. S850 단계는 도 12의 S410 단계와 동일한 방법으로 수행될 수 있다.
S860 단계에서, 소비 전력 체크 타이밍인지 판별된다. 예를 들어, 소비 전력 요청이 수신되는지 판별될 수 있다. 예를 들어, 미리 정해진 스케줄에 따라, 소비 전력을 출력할 타이밍인지 판별될 수 있다.
소비 전력 체크 타이밍이면, S870 단계에서, 클럭 게이팅 신호들의 누산값들을 대응하는 계수들과 각각 계산하여 항들이 계산된다. S870 단계는 도 12의 S430 단계와 동일한 방법으로 수행될 수 있다. S880 단계에서, 다중회귀모델의 항들(S870 단계에서 계산된 항들)이 누산된 전력값(S840 단계에서 누산된 전력값)과 합산되어 소비 전력으로 출력된다. 소비 전력이 출력된 후, 소비 전력이 출력될 때, 또는 소비 전력이 출력되기 전에, 리셋이 수행될 수 있다.
도 20은 본 발명의 제5 실시 예에 따른 소비 전력 계산 회로(PC5)를 보여주는 블록도이다. 예시적으로, 소비 전력 계산 회로(PC5)는 도 18 및 도 19를 참조하여 설명된 소비 전력 계산 방법에 따라 소비 전력(Pc)을 계산할 수 있다.
도 20을 참조하면, 소비 전력 계산 회로(PC5)는 제1 계산 회로(PC2'), 제2 계산 회로(PC3), 스위치(SW), 그리고 덧셈기(ADD)를 포함한다.
제1 계산 회로(PC2')는 전력 상태를 검출하고, 검출된 전력 상태에 대응하는 전력 상태 그룹을 선택하고, 선택된 전력 상태 그룹에 대응하는 그룹 전력값을 누산할 수 있다. 제1 계산 회로(PC2')는 주소 발생기(310'), 메모리(320) 및 누산기(330)를 포함한다. 주소 발생기(310')를 제외하면, 제1 계산 회로(PC2')는 제2 실시 예에 따흔 소비 전력 계산 회로(PC2)와 동일하게 구성되고, 동일한 방법으로 동작할 수 있다.
주소 발생기(310)는 클럭 게이팅 신호들(en1~en4)을 수신하고, 클럭 게이팅 신호들(en1~en4)에 대응하는 전력 상태를 검출할 수 있다. 예를 들어, 클럭 게이팅 신호들(en1~en4)이 메모리(320)에 저장된 전력 상태들 중 하나를 가리킬 때, 주소 발생기(310)는 해당 전력 상태에 대응하는 메모리(320)의 어드레스(ADDR)를 출력할 수 있다. 클럭 게이팅 신호들(en1~en4)이 메모리(320)에 저장된 전력 상태들 중 하나를 가리키지 않을 때, 주소 발생기(310)는 제어 신호(CS)를 활성화할 수 있다.
스위치(SW)는 제1 내지 제4 클럭 게이팅 신호들(en1~en4) 및 제어 신호(CS)를 수신한다. 제어 신호(CS)가 활성 상태일 때, 스위치(SW)는 제1 내지 제1 클럭 게이팅 신호들(en1~en4)을 제2 계산 회로(PC3)로 전달할 수 있다.
제2 계산 회로(PC3)는 제3 실시 예에 따른 소비 전력 계산 회로(PC3)와 동일하게 구성되고, 동일한 방법으로 동작할 수 있다.
덧셈기(ADD)는 제1 계산 회로(PC2')의 출력과 제2 계산 회로(PC3)의 출력을 더하여, 소비 전력(Pc)으로 출력할 수 있다.
상술된 바와 같이, 클럭 게이팅 신호들(en1~en4)이 미리 정해진 전력 상태들, 예르 들어 테스트 벡터를 이용하여 검출된 전력 상태들에 대응할 때, 제1 계산 회로(PC2')에 의해 그룹 전력값이 누산된다. 클럭 게이팅 신호들(en1~en4)이 미리 정해진 전력 상태들에 대응하지 않을 때, 제2 계산 회로(PC3)에 의해 다중회귀모델에 따른 소비 전력이 누산된다. 제1 및 제2 계산 회도들(PC2', PC3)의 출력값들은 합산되어, 최종 소비 전력(Pc)으로 출력된다.
도 21은 본 발명의 제4 실시 예에 따른 소비 전력 계산 방법을 보여주는 순서도이다. 도 21을 참조하면, S910 단계에서, 테스트 벡터를 이용하여, 클럭 게이팅에 따라 서로 다른 전력값들(P)을 갖는 전력 상태들(PS)이 검출된다. S920 단계에서, 전력값들에 따라 전력 상태들이 전력 상태 그룹들로 그룹화된다. S930 단계에서, 각 전력 상태 그룹에 하나의 그룹 전력값이 할당된다. 예를 들어, 각 전력 상태 그룹에 속한 전력 상태들의 전력값들에 따라 그룹 전력값이 결정될 수 있다. 예시적으로, S910 단계 내지 S930 단계는 도 6의 S110 단계 내지 S130 단계와 유사하게 수행될 수 있다.
S940 단계에서, 다중회귀모델이 생성된다. S950 단계에서, 다중회귀모델의 계수들이 계산된다. S960 단계에서, 계수들의 값들에 따라 계수들이 계수 그룹들로 그룹화된다. S970 단계에서, 각 계수 그룹에 하나의 그룹 계수가 할당된다. S940 단계 내지 S970 단계는 도 11의 S320 단계, 그리고 도 14의 S510 단계 및 S520 단계와 마찬가지로 수행될 수 있다.
S980 단계에서, 전력 상태 그룹들, 그룹 전력값들 및 다중회귀모델의 계수들을 이용하여 소비 전력이 계산된다.
제4 실시 예에 따른 소비 전력 계산 방법은, 계수들을 계수 그룹들로 그룹화하고, 각 계수 그룹에 그룹 계수값을 할당하는 것을 제외하면, 제3 실시 예에 따른 소비 전력 계산 방법과 동일한 방법으로 수행될 수 있다.
도 22는 도 21의 S980 단계의 예를 보여주는 순서도이다. 도 21 및 도 22를 참조하면, S1010 단계에서, 클럭 게이팅 신호들이 수신된다. 예를 들어, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)이 수신될 있다.
S1020 단계에서, 클럭 게이팅 신호들이 미리 정해진 전력 상태에 대응하는지 판별된다. 예를 들어, 클럭 게이팅 신호들이 S910 단계에서 검출된 전력 상태들 중 하나의 전력 상태에 대응하는지 판별될 수 있다.
클럭 게이팅 신호들이 미리 정해진 전력 상태에 대응하면, S1030 단계에서, 전력 상태에 따라 전력 상태 그룹이 선택된다. 예를 들어, S920 단계에서 설정된 전력 상태 그룹들 중 검출된 전력 상탱에 대응하는 전력 상태 그룹이 선택될 수 있다. S1040 단계에서, 전력 상태 그룹에 대응하는 그룹 전력값이 누산된다. S1030 단계 및 S1040 단계는 도 8의 S220 단계 및 S230 단계와 동일한 방법으로 수행될 수 있다.
클럭 게이팅 신호들이 미리 정해진 전력 상태에 대응하지 않으면, S1050 단계O에서, 각 클럭 게이팅 신호의 활성 상태가 누산된다. S1050 단계는 도 12의 S410 단계와 동일한 방법으로 수행될 수 있다.
S1060 단계에서, 소비 전력 체크 타이밍인지 판별된다. 예를 들어, 소비 전력 요청이 수신되는지 판별될 수 있다. 예를 들어, 미리 정해진 스케줄에 따라, 소비 전력을 출력할 타이밍인지 판별될 수 있다.
소비 전력 체크 타이밍이면, S1070 단계에서, 클럭 게이팅 신호들의 누산값들을 대응하는 그룹 계수들과 각각 계산하여 항들이 계산된다. S1070 단계는 도 16의 S630 단계와 동일한 방법으로 수행될 수 있다. S1080 단계에서, 다중회귀모델의 항들(S1070 단계에서 계산된 항들)이 누산된 전력값(S1040 단계에서 누산된 전력값)과 합산되어 소비 전력으로 출력된다. 소비 전력이 출력된 후, 소비 전력이 출력될 때, 또는 소비 전력이 출력되기 전에, 리셋이 수행될 수 있다.
도 21 및 도 22의 소비 전력 계산 방법에 따른 소비 전력 계산 회로는, 도 20에 도시된 소비 전력 계산 회로(PC5)와 유사하게 구현될 수 있다. 예를 들어, 도 20의 소비 전력 계산 회로(PC5)의 제2 계산 회로(PC3)가 제4 실시 예에 따른 소비 전력 계산 회로(PC4)로 대체되면, 도 21 및 도 22에 도시된 소비 전력 계산 방법에 따라 동작할 수 있다.
상술된 실시 예들에서, 제1 내지 제4 클럭 게이팅 신호들(en1~en4)을 참조하여 본 발명의 실시 예들이 설명되었다. 그러나, 본 발명의 기술적 사상은 제1 내지 제4 클럭 게이팅 신호들(en1~en4)을 갖는 모듈 또는 반도체 집적 회로로 한정되지 않는다. 본 발명의 실시 예에 다른 소비 전력 계산 방법 및 소비 전력 계산 회로는 복수의 클럭 게이팅 신호들에 따라 구동되는 복수의 클럭 게이팅 도메인들을 갖는 반도체 모듈 또는 반도체 집적 회로에 적용될 수 있다.
상술된 실시 예들에서, 클럭 게이팅 신호들을 참조하여 본 발명의 기술적 사상이 설명되었다. 그러나, 본 발명의 기술적 사상은 클럭 게이팅 신호들에 적용되는 것으로 한정되지 않는다. 본 발명의 기술적 사상은 전원 게이팅 신호들에 적용될 수 있다. 예를 들어, 반도체 집적 회로는 복수의 전원 게이팅 도메인들로 분할될 수 있다. 각 전원 게이팅 도메인은 전원 게이팅 신호에 따라 활성화 또는 비활성화될 수 있다. 활성화된 전원 게이팅 도메인에는 전원이 공급되고, 비활성화된 전원 게이팅 도메인에는 전원이 공급되지 않을 수 있다. 즉, 클럭이 아닌 전원을 제어하는 것을 제외하면, 전원 게이팅 신호들은 본 발명이 실시 예들을 참조하여 설명된 클럭 게이팅 신호들과 동일한 방법으로 소비 전력의 계산을 위해 사용될 수 있다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100; 집적 회로 장치
110~160; 제1 내지 제6 모듈들
PC, PC1, PC2; 소비 전력 계산 회로
210, 310; 주소 발생기
220, 320; 메모리
230, 330; 누산기

Claims (32)

  1. 반도체 집적 회로의 소비 전력을 계산하는 소비 전력 계산 회로의 소비 전력 계산 방법에 있어서:
    상기 반도체 집적 회로의 클럭 게이팅 신호들에 따라 서로 다른 전력값들을 갖는 전력 상태들 중 제1 전력 상태들이 그룹화된 전력 상태그룹들, 상기 전력 상태 그룹들 각각에 속한 적어도 하나의 전력 상태에 대응하는 적어도 하나의 전력값에 기반하여 상기 전력 상태 그룹들에 할당되는 그룹 전력값들, 그리고 상기 클럭 게이팅 신호들에 기반하여, 상기 소비 전력 계산 회로가 제1 소비 전력을 계산하는 단계;
    상기 전력 상태들 중 제2 전력 상태들 및 상기 클럭게이팅 신호들에 기반하여 계산되는 다중회귀모델의 계수들을 이용하여, 상기 소비 전력 계산 회로가 제2 소비 전력을 계산하는 단계; 그리고
    상기 제1 소비 전력 및 상기 제2 소비 전력에 기반하여 상기 소비 전력 계산 회로가 상기 소비 전력을 계산하는 단계를 포함하는 소비 전력 계산 방법.
  2. 제1 항에 있어서,
    상기 제2 소비 전력을 계산하는 단계는,
    상기 계수들의 값들에 따라, 상기 계수들을 계수 그룹들로 그룹화하는 단계;
    상기 계수 그룹들에 각각 그룹 계수들을 할당하는 단계; 그리고
    상기 계수 그룹들 및 상기 그룹 계수들에 기반하여 상기 제2 소비 전력을 계산하는 단계를 포함하는 소비 전력 계산 방법.
  3. 제1 항에 있어서,
    상기 제1 소비 전력을 계산하는 단계는,
    상기 반도체 집적 회로의 전력 상태를 검출하는 단계;
    상기 검출된 전력 상태가 상기 제1 전력 상태들에 대응할 때, 상기 검출된 전력 상태에 대응하는 전력 상태 그룹을 선택하는 단계; 그리고
    상기 선택된 전력 상태 그룹에 대응하는 그룹 전력값을 누산하여 누산된 전력값을 계산하는 단계를 포함하는 소비 전력 계산 방법.
  4. 제3 항에 있어서,
    소비 전력 요청에 응답하여, 상기 누산된 전력값을 상기 제1 소비 전력으로 출력하는 단계를 더 포함하는 소비 전력 계산 방법.
  5. 제1 항에 있어서,
    상기 제2 소비 전력을 계산하는 단계는,
    상기 반도체 집적 회로의 전력 상태를 검출하는 단계;
    상기 검출된 전력 상태가 상기 제2 전력 상태들에 대응할때, 각 클럭 게이팅 신호의 활성 상태를 누산하는 단계;
    소비 전력 요청에 응답하여, 상기 클럭 게이팅 신호들의 누산값들을 상기 계수들과 각각 계산하여 다중회귀모델의 항들을 계산하는 단계; 그리고
    상기 다중회귀모델의 항들을 합산하여 상기 제2 소비 전력으로 출력하는 단계를 포함하는 소비 전력 계산 방법.
  6. 반도체 집적 회로의 소비 전력을 계산하는 소비 전력 계산 회로의 소비 전력 계산 방법에 있어서:
    상기 소비 전력 계산 회로가 상기 반도체 집적 회로의 클럭 게이팅 신호들에 기반하여, 상기 반도체 집적 회로의 전력 상태를 검출하는 단계;
    상기 검출된 전력 상태가 상기 반도체 집적 회로의 제1 전력 상태들 중 하나에 대응할 때, 상기 소비 전력 계산 회로가 상기 검출된 전력 상태에 대응하는 전력 상태 그룹을 선택하고, 그리고 상기 선택된 전력 상태 그룹에 대응하는 그룹 전력값을 누산하여 누산된 전력값을 계산하는 단계;
    상기 검출된 전력 상태가 상기 반도체 집적 회로의 상기 제1 전력 상태들 중 하나에 대응하지 않을 때, 상기 소비 전력 계산 회로가 상기 반도체 집적 회로의 각 클럭 게이팅 신호의 활성 상태를 누산하는 단계; 그리고
    소비 전력 계산 타이밍에, 상기 소비 전력 계산 회로가 상기 반도체 집적 회로의 클럭 게이팅 신호들의 누산값들을 계수들과 각각 계산하여 항들을 계산하고, 상기 항들을 상기 누산된 전력값과 합산하여 상기 소비 전력으로 출력하는 단계를 포함하는 소비 전력 계산 방법.
  7. 반도체 집적 회로의 소비 전력을 계산하도록 구성되는 소비 전력 계산 회로에 있어서:
    상기 반도체 집적 회로의 클럭 게이팅 신호들을 수신하고, 상기 클럭 게이팅 신호들이 가리키는 전력 상태가 상기 반도체 집적 회로의 제1 전력 상태들 중 하나에 대응할 때 상기 클럭 게이팅 신호들에 기반하여 주소를 생성하고, 상기 클럭 게이팅 신호들이 가리키는 전력 상태가 상기 반도체 집적 회로의 상기 제1 전력 상태들 중 하나에 대응하지 않을 때 제어 신호를 활성화하는 주소 발생기;
    상기 주소 발생기로부터 출력되는 주소에 기반하여 전력값을 출력하도록 구성되는 메모리;
    상기 메모리로부터 출력되는 전력값을 누산하도록 구성되는 누산기;
    상기 제어 신호가 활성화될 때 상기 반도체 집적 회로의 클럭 게이팅 신호들을 수신하고, 상기 클럭 게이팅 신호들의 활성 상태들을 각각 누산하도록 구성되는 누산기들;
    제1 제어 신호에 응답하여, 상기 누산기들로부터 출력되는 누산값들을 저장하도록 구성되는 제1 레지스터들;
    계수들을 저장하도록 구성되는 제2 레지스터들;
    상기 제1 레지스터들의 값들 및 상기 제2 레지스터들의 값들을 각각 계산하도록 구성되는 곱셈기들;
    상수 계수를 저장하도록 구성되는 제3 레지스터;
    상기 곱셈기들의 출력값들, 및 상기 제3 레지스터의 값, 그리고 상기 누산기의 출력값을 합산하여, 상기 소비 전력으로 출력하도록 구성되는 합산기를 포함하는 소비 전력 계산 회로.
  8. 반도체 집적 회로의 소비 전력을 계산하는 소비 전력 계산 회로의 소비 전력 계산 방법에 있어서:
    상기 반도체 집적 회로의 클럭 신호가 천이함에 따라, 상기 소비 전력 계산 회로가 상기 클럭 신호의 각 클럭 사이클마다 상기 반도체 집적 회로의 각 클럭 게이팅 신호의 활성 상태를 누산하는 단계; 그리고
    소비 전력 계산 타이밍에, 상기 반도체 집적 회로의 클럭게이팅 신호들에 따른 상기 반도체집적회로의 전력값들에 기반하여 계산되는 다중회귀모델의 계수들 및 상기 클럭 게이팅 신호들의 누산값들을 이용하여, 상기 소비 전력 계산 회로가 상기 소비 전력을 계산하는 단계를 포함하는 소비 전력 계산 방법.
  9. 제8 항에 있어서,
    상기 다중회귀모델의 항들을 합산하여 상기 소비 전력으로 출력하는 단계를 더 포함하는 소비 전력 계산 방법.
  10. 삭제
  11. 제9 항에 있어서,
    상기 소비 전력 계산 타이밍은 주기적으로 발생하는 소비 전력 계산 방법.
  12. 제9 항에 있어서,
    상기 다중회귀모델의 항들을 계산하는 단계에서, 상기 클럭 게이팅 신호들의 누산값들이 참조된 후에 상기 클럭 게이팅 신호들의 누산값들이 리셋되는 상기 소비 전력 계산 방법.
  13. 제12 항에 있어서,
    상기 클럭 게이팅 신호들의 참조 및 상기 누산값들의 리셋은 동일한 클럭 사이클에 수행되는 소비 전력 계산 방법.
  14. 제8 항에 있어서,
    상기 소비 전력을 계산하는 단계는,
    상기 계수들의 값들에 따라, 상기 계수들을 계수 그룹들로 그룹화하는 단계;
    상기 계수 그룹들에 각각 그룹 계수들을 할당하는 단계; 그리고
    상기 계수 그룹들 및 상기 그룹 계수들에 기반하여 상기 소비 전력을 계산하는 단계를 포함하는 소비 전력 계산 방법.
  15. 제14 항에 있어서,
    상기 계수들을 상기 계수 그룹들로 그룹화하는 단계는,
    유사한 값들을 갖는 계수들을 하나의 계수 그룹으로 그룹화하는 단계를 포함하는 소비 전력 계산 방법.
  16. 제14 항에 있어서,
    상기 계수들을 상기 계수 그룹들로 그룹화하는 단계는,
    상기 계수들의 최소값 및 최대값에 기반하여 수행되는 소비 전력 계산 방법.
  17. 제16 항에 있어서,
    상기 계수들을 상기 계수 그룹들로 그룹화하는 단계는,
    상기 최소값 및 최대값 사이를 미리 정해진 수의 구간들로 분할하는 단계; 그리고
    각 구간에 속한 적어도 하나의 계수를 하나의 계수 그룹으로 그룹화하는 단계를 포함하는 소비 전력 계산 방법.
  18. 제17 항에 있어서,
    상기 전력 상태들을 상기 전력 상태 그룹들로 그룹화하는 단계는,
    상기 구간들 중 상기 전력 상태들 중 하나가 속하지 않은 구간을 그룹화하지 않고 무시하는 단계를 더 포함하는 소비 전력 계산 방법.
  19. 제14 항에 있어서,
    상기 각 계수 그룹에 상기 그룹 계수를 할당하는 단계는,
    상기 각 계수 그룹에 속한 계수들 중 하나의 값을 상기 그룹 계수로 할당하는 단계를 포함하는 소비 전력 계산 방법.
  20. 제14 항에 있어서,
    상기 각 계수 그룹에 상기 그룹 계수를 할당하는 단계는,
    상기 각 계수 그룹에 속한 계수들의 평균값을 상기 그룹 계수로 할당하는 단계를 포함하는 소비 전력 계산 방법.
  21. 제14 항에 있어서,
    상기 소비 전력을 계산하는 단계는,
    각 클럭 게이팅 신호의 활성 상태에 기반하여, 각 계수 그룹의 카운트를 누산하는 단계;
    소비 전력 계산 타이밍에, 상기 계수 그룹들의 누산값들을 상기 그룹 계수들과 각각 계산하여 상기 다중회귀모델의 항들을 계산하는 단계; 그리고
    상기 다중회귀모델의 항들을 합산하여 상기 소비 전력으로 출력하는 단계를 포함하는 소비 전력 계산 방법.
  22. 반도체 집적 회로의 소비 전력을 계산하도록 구성되는 소비 전력 계산 회로에 있어서:
    상기 반도체 집적 회로의 클럭 게이팅 신호들을 수신하고, 상기 클럭 게이팅 신호들의 활성 상태들을 각각 누산하도록 구성되는 누산기들;
    제1 제어 신호에 응답하여, 상기 누산기들로부터 출력되는 누산값들을 저장하도록 구성되는 제1 레지스터들;
    계수들을 저장하도록 구성되는 제2 레지스터들;
    상기 제1 레지스터들의 값들 및 상기 제2 레지스터들의 값들을 각각 계산하도록 구성되는 곱셈기들;
    상수 계수를 저장하도록 구성되는 제3 레지스터;
    상기 곱셈기들의 출력값들 및 상기 제3 레지스터의 값을 합산하여, 상기 소비 전력으로 출력하도록 구성되는 합산기를 포함하는 소비 전력 계산 회로.
  23. 제22 항에 있어서,
    상기 계수들 및 상기 상수 계수는, 상기 클럭 게이팅 신호들에 따른 상기 반도체 집적 회로의 전력값들 및 상기 클럭 게이팅 신호들에 기반하여 계산되는 상기 반도체 집적 회로의 다중회귀분석 모델의 계수들인 소비 전력 계산 회로.
  24. 제22 항에 있어서,
    누산값들을 상기 제1 레지스터들로 출력한 후, 상기 누산기들은 리셋되는 소비 전력 계산 회로.
  25. 제22 항에 있어서,
    상기 누산기들 각각은, 매 클럭 사이클마다 대응하는 클럭 게이팅 신호의 활성 상태에 따라 누산값을 카운트업 하는 소비 전력 계산 회로.
  26. 제22 항에 있어서,
    상기 누산기들 중 적어도 하나의 누산기는 둘 이상의 클럭 게이팅 신호들을 수신하도록 구성되는 소비 전력 계산 회로.
  27. 제26 항에 있어서,
    상기 적어도 하나의 누산기는, 매 클럭 사이클마다, 상기 둘 이상의 클럭 게이팅 신호들 중 활성화된 클럭 게이팅 신호들의 수만큼 누산값을 카운트업 하는 소비 전력 계산 회로.
  28. 반도체 집적 회로의 소비 전력을 계산하는 소비 전력 계산 회로의 소비 전력 계산 방법에 있어서:
    상기 소비 전력 계산 회로가 상기 반도체 집적 회로의 각 클럭 게이팅 신호의 활성 상태를 누산하는 단계;
    소비 전력 계산 타이밍에, 상기 소비 전력 계산 회로가 상기 반도체 집적 회로의 클럭 게이팅 신호들의 누산값들을 계수들과 각각 계산하여 항들을 계산하는 단계; 그리고
    상기 소비 전력 계산 회로가 상기 항들을 합산하여 상기 소비 전력으로 출력하는 단계를 포함하고,
    상기 계수들은, 상기 클럭 게이팅 신호들에 따른 상기 반도체 집적 회로의 전력값들 및 상기 클럭 게이팅 신호들에 기반하여 계산되는 상기 반도체 집적 회로의 다중회귀분석 모델의 계수들이고,
    둘 이상의 클럭 게이팅 신호들의 누산값들이 하나의 계수와 계산되는 소비 전력 계산 방법.
  29. 제28 항에 있어서,
    상기 반도체 집적 회로는 상기 클럭 게이팅 신호들에 따라 서로 다른 전력값들을 갖는 복수의 전력 상태들을 갖는 소비 전력 계산 방법.
  30. 제29 항에 있어서,
    상기 전력값은, 하나의 클럭 사이클 동안에 상시 반도체 집적 회로가 소비하는 소비 전력을 가리키는 소비 전력 계산 방법.
  31. 제28 항에 있어서,
    상기 클럭 게이팅 신호들 각각은, 상기 반도체 집적 회로에서 사용되는 클럭 신호의 활성화 및 비활성화를 제어하는 신호인 소비 전력 계산 방법.
  32. 제28 항에 있어서,
    유사한 값들을 갖는 계수들이 상기 하나의 계수로 병합되는 소비 전력 계산 방법.
KR1020130144320A 2013-11-26 2013-11-26 반도체 집적 회로의 소비 전력 계산 방법 및 소비 전력 계산 회로 KR101571932B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130144320A KR101571932B1 (ko) 2013-11-26 2013-11-26 반도체 집적 회로의 소비 전력 계산 방법 및 소비 전력 계산 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130144320A KR101571932B1 (ko) 2013-11-26 2013-11-26 반도체 집적 회로의 소비 전력 계산 방법 및 소비 전력 계산 회로

Publications (2)

Publication Number Publication Date
KR20150060186A KR20150060186A (ko) 2015-06-03
KR101571932B1 true KR101571932B1 (ko) 2015-11-26

Family

ID=53504857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130144320A KR101571932B1 (ko) 2013-11-26 2013-11-26 반도체 집적 회로의 소비 전력 계산 방법 및 소비 전력 계산 회로

Country Status (1)

Country Link
KR (1) KR101571932B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3686614A1 (en) * 2019-01-23 2020-07-29 Shenzhen Goodix Technology Co., Ltd. Method and apparatus for metering power consumption of a digital soc for predicting battery life
KR20210107485A (ko) * 2020-02-24 2021-09-01 아주대학교산학협력단 전자 장치 및 이의 프로세싱 유닛의 소모 전력 산출 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116842903B (zh) * 2023-09-04 2023-11-21 深圳鲲云信息科技有限公司 优化芯片动态功耗的方法及芯片、电子设备和计算设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117210A (ja) * 2006-11-06 2008-05-22 Fujitsu Ltd 半導体回路のレイアウト方法、プログラム、設計支援システム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117210A (ja) * 2006-11-06 2008-05-22 Fujitsu Ltd 半導体回路のレイアウト方法、プログラム、設計支援システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3686614A1 (en) * 2019-01-23 2020-07-29 Shenzhen Goodix Technology Co., Ltd. Method and apparatus for metering power consumption of a digital soc for predicting battery life
WO2020151846A1 (en) * 2019-01-23 2020-07-30 Shenzhen GOODIX Technology Co., Ltd. Method and apparatus for metering power consumption of a digital soc for predicting battery life
KR20210107485A (ko) * 2020-02-24 2021-09-01 아주대학교산학협력단 전자 장치 및 이의 프로세싱 유닛의 소모 전력 산출 방법
KR102379026B1 (ko) * 2020-02-24 2022-03-25 아주대학교산학협력단 전자 장치 및 이의 프로세싱 유닛의 소모 전력 산출 방법

Also Published As

Publication number Publication date
KR20150060186A (ko) 2015-06-03

Similar Documents

Publication Publication Date Title
JP6197196B2 (ja) 電力効率の優れたプロセッサアーキテクチャ
US9063730B2 (en) Performing variation-aware profiling and dynamic core allocation for a many-core processor
KR101310044B1 (ko) 복수의 코어 프로세서들에서의 하나 이상의 코어들의 워크로드 성능을 증가시키는 방법
KR101975288B1 (ko) 멀티 클러스터 프로세싱 시스템 및 그 구동 방법
EP2438520B1 (en) Communication between internal and external processors
KR100993134B1 (ko) 디버그 동안 데이터 처리 시스템을 제어하는 방법 및 장치
US8171319B2 (en) Managing processor power-performance states
EP3345070B1 (en) Systems and methods for dynamically adjusting memory state transition timers
US20130339977A1 (en) Managing task load in a multiprocessing environment
WO2017206856A1 (zh) 处理器资源的分配方法及移动终端
TW200945206A (en) Method for automatic workload distribution on a multicore processor
US20140067293A1 (en) Power sub-state monitoring
KR20160006328A (ko) 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 동적 전력 관리 방법
WO2022111453A1 (zh) 任务处理方法及装置、任务分配方法、电子设备、介质
KR101571932B1 (ko) 반도체 집적 회로의 소비 전력 계산 방법 및 소비 전력 계산 회로
JP5742971B2 (ja) マルチプロセッサシステム、および、その省エネルギー化方法
US20170351321A1 (en) Dynamic power routing to hardware accelerators
CN107003686A (zh) 用于动态时域功率操控的系统和方法
TW201346521A (zh) 根據效率評等方案包含在處理器的多頻域間平衡電力的能量效率及節能方法,設備與系統
CN109863476A (zh) 动态变量精度计算
US20080263384A1 (en) System and method for prioritization of clock rates in a multi-core processor
CN106484527A (zh) 操作cpu的方法以及操作具有cpu的系统的方法
US20170269629A1 (en) Multiprocessor systems having processors with different processing capabilities connecting to a clock generator
WO2019127230A1 (zh) 一种网络节点的唤醒方法及设备
US20150169494A1 (en) Data path configuration component, signal processing device and method therefor

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191104

Year of fee payment: 5