KR20110113551A - 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법 - Google Patents

클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법 Download PDF

Info

Publication number
KR20110113551A
KR20110113551A KR1020100081959A KR20100081959A KR20110113551A KR 20110113551 A KR20110113551 A KR 20110113551A KR 1020100081959 A KR1020100081959 A KR 1020100081959A KR 20100081959 A KR20100081959 A KR 20100081959A KR 20110113551 A KR20110113551 A KR 20110113551A
Authority
KR
South Korea
Prior art keywords
integrated circuit
circuit device
power
power consumption
clock
Prior art date
Application number
KR1020100081959A
Other languages
English (en)
Other versions
KR101139603B1 (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 KR1020100081959A priority Critical patent/KR101139603B1/ko
Priority to PCT/KR2011/005094 priority patent/WO2012026679A2/ko
Priority to EP11820107.8A priority patent/EP2610702A4/en
Publication of KR20110113551A publication Critical patent/KR20110113551A/ko
Application granted granted Critical
Publication of KR101139603B1 publication Critical patent/KR101139603B1/ko
Priority to US13/759,121 priority patent/US20130151228A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3237Power saving characterised by the action undertaken by disabling clock generation or distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/396Clock trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/04Clock gating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/35Delay-insensitive circuit design, e.g. asynchronous or self-timed
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

본 발명은 집적 회로 장치의 소비 전력 예측 방법에 관한 것이다. 본 발명의 소비 전력 예측 방법은 집적 회로 장치의 클럭 게이팅 셀을 검출하여 집적 회로 장치의 클럭 게이팅 도메인들을 추출하는 단계, 추출된 클럭 게이팅 도메인들에 기반하여 클럭 게이팅에 기반한 집적 회로 장치의 소비 전력 모델을 추출하는 단계, 그리고 추출된 소비 전력 모델에 기반하여 집적 회로 장치의 소비 전력을 예측하는 단계로 구성된다.

Description

클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법{ESTIMATING METHOD OF POWER CONSUMPTION FOR INTEGRATED CIRCUIT DEVICES WITH CLOCK GATING}
본 발명은 전자 회로에 관한 것으로, 더 상세하게는 집적 회로 장치의 소비 전력 예측 방법에 관한 것이다.
전자 기술이 발전하면서, 다양한 형태의 집적 회로 장치가 개발되고 있다. 집적 회로 장치는 연산, 저장 등과 같은 다양한 기능들이 하나의 반도체 칩에 집적된 전자 장치를 의미한다.
사회가 고도화됨에 따라, 다양한 형태의 모바일 기기들이 개발되고 있다. 모바일 기기들은 집적 회로 장치를 구비함으로써, 소형화 및 경량화를 추구한다. 모바일 기기들의 단점은 배터리와 같은 한정된 전력원을 갖는다는 것이다. 모바일 기기들의 동작 수명을 연장시키기 위하여, 배터리의 고용량화 및 집적 회로 장치의 저전력화 등이 연구되고 있다.
집적 회로 장치의 소비 전력을 예측하는 것은 집적 회로 장치의 저전력화를 달성하기 위한 전제 조건이다. 종래의 소비 전력 예측 방법은 너무 긴 예측 시간을 소모하거나 낮은 정확도를 갖는다는 문제점이 있다.
이러한 문제를 해결하기 위해 다양한 방법들이 제안되고 있으나, 이들은 대상 집적회로 장치의 동작을 이해하는 사람이 전력 소비 관점에서 유의한 상태를 전력 상태 (power state)로 추출한 후 이에 기반한 전력 모델 (power model)을 생성한다. 하지만, 이러한 방법들은 수행하는 사람의 지식과 경험에 따라 변위가 큰 문제가 있고 자동화가 어려운 문제가 있다.
본 발명의 목적은, 감소된 예측 시간 및 향상된 정확도를 갖는 집적 회로 장치의 소비 전력 예측 방법을 제공하는 데에 있다.
본 발명의 실시 예에 따른 집적 회로 장치의 소비 전력 예측 방법은 집적 회로 장치의 클럭 게이팅 셀을 검출하여 상기 집적 회로 장치의 클럭 게이팅 도메인들을 추출하는 단계; 상기 추출된 클럭 게이팅 도메인들에 기반하여, 클럭 게이팅에 기반한 상기 집적 회로 장치의 소비 전력 모델을 추출하는 단계; 그리고 상기 추출된 소비 전력 모델에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 포함한다.
실시 예로서, 상기 소비 전력 모델을 추출하는 단계는 상기 추출된 클럭 게이팅 도메인들을 구동하는 구동 신호들을 추출하는 단계; 그리고 상기 추출된 구동 신호들의 논리값들에 따른 전력 상태들의 집합을 추출하는 단계를 포함한다.
실시 예로서, 상기 구동 신호들 사이의 등가성(equivalence)에 기반하여, 상기 추출된 전력 상태들의 집합의 일부가 제거된다.
실시 예로서, 상기 구동 신호들 사이의 종속성(dominance)에 기반하여, 상기 추출된 전력 상태들의 집합의 일부가 제거된다.
실시 예로서, 상기 소비 전력 모델을 추출하는 단계는 상기 추출된 전력 상태들의 집합에 대응하는 상기 집적 회로 장치의 소비 전력들의 집합을 추출하는 단계를 더 포함한다.
실시 예로서, 상기 소비 전력들의 집합을 추출하는 단계는 상기 집적 회로 장치의 정상 동작 조건 하에서, 클럭 사이클에 따른 상기 집적 회로 장치의 전력 상태들 및 소비 전력들을 산출하는 단계; 그리고 상기 산출된 전력 상태들 및 소비 전력들에 기반하여, 상기 산출된 전력 상태들에 대응하는 소비 전력들을 결정하는 단계를 포함한다.
실시 예로서, 상기 산출된 전력 상태들에 대응하는 소비 전력들을 결정하는 단계는 상기 산출된 전력 상태들 및 소비 전력들에 기반하여, 상기 산출된 전력 상태들에 대응하는 평균 소비 전력들을 결정하는 단계를 포함한다.
실시 예로서, 상기 평균 소비 전력들은 데이터 의존성(dependency)에 따른 변화를 보상하도록 결정된다.
실시 예로서, 상기 소비 전력 모델을 추출하는 단계는 상기 클럭 게이팅 도메인들을 구동하는 구동 신호들을 추출하는 단계; 그리고 상기 구동 신호들에 각각 대응하는 소비 전력들을 결정하는 단계를 포함한다.
실시 예로서, 상기 소비 전력 모델을 추출하는 단계는 상기 집적 회로 장치의 입력 신호에 기반하여 상기 구동 신호들을 구동하는 팬-인 로직 콘들(fan-in logic cones)을 추출하는 단계를 더 포함한다.
실시 예로서, 상기 집적 회로 장치의 소비 전력을 예측하는 단계는 상기 집적 회로 장치의 입력 신호, 상기 추출된 전력 상태들의 집합, 그리고 상기 추출된 소비 전력들의 집합에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 포함한다.
실시 예로서, 상기 클럭 게이팅 도메인들은 상기 집적 회로 장치의 레지스터 전송 레벨(RTL, Register Transfer Level)에 기반하여 추출된다.
실시 예로서, 상기 클럭 게이팅 도메인들은 상기 집적 회로 장치의 게이트 레벨(GL, Gate Level)에 기반하여 추출된다.
실시 예로서, 상기 집적 회로 장치의 전력 게이팅 도메인들을 추출하는 단계; 상기 추출된 전력 게이팅 도메인들에 기반하여, 전력 게이팅에 기반한 상기 집적 회로 장치의 소비 전력 모델을 추출하는 단계; 그리고 상기 추출된 소비 전력 모델에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 더 포함한다.
본 발명의 실시 예에 따른 집적 회로 장치의 소비 전력 예측 방법은 집적 회로 장치의 클럭 구동 신호들의 팬-인 로직 콘들을 추출하는 단계; 상기 클럭 구동 신호들의 논리 상태들에 따른 소비 전력들을 산출하는 단계; 상기 집적 회로 장치에 전달되는 입력 신호 및 클럭을 수신하는 단계; 그리고 상기 추출된 팬-인 로직 콘들, 상기 산출된 소비 전력들, 그리고 상기 수신된 입력 신호 및 클럭에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 포함한다.
실시 예로서, 상기 수신된 입력 신호 및 클럭의 변화에 따라, 상기 집적 회로 장치의 소비 전력이 예측된다.
본 발명에 의하면, 클럭 게이팅 도메인에 기반하여 집적 회로 장치의 소비 전력이 측정 또는 예측된다. 따라서, 집적 회로 장치의 소비 전력 측정 또는 예측 시간이 감소하며 정확도가 향상된다.
도 1은 본 발명의 실시 예에 따른 집적 회로 장치 보여주는 블록도이다.
도 2는 도 1의 집적 회로 장치의 클럭 게이팅 동작을 설명하기 위한 블록도이다.
도 3은 도 1의 제 1 모듈의 실시 예를 보여주는 블록도이다.
도 4는 본 발명의 실시 예에 따른 집적 회로 장치의 소비 전력 예측 방법을 보여주는 순서도이다.
도 5는 도 4의 S200 단계에서 추출된 클럭 게이팅 도메인들의 실시 예를 보여주는 테이블이다.
도 6은 도 4의 소비 전력 모델 추출 단계를 보여주는 순서도이다.
도 7은 도 4의 S200 단계에서 추출된 클럭 게이팅 도메인들 및 대응하는 구동 신호들의 집합을 보여주는 테이블이다.
도 8은 도 4의 S200 단계에서 추출된 클럭 게이팅 도메인들, 대응하는 구동 신호들의 집합, 그리고 구동 신호들의 전력 상태들의 집합을 보여주는 테이블이다.
도 9는 등가성에 기반하여 압축된 전력 상태들의 집합을 보여주는 테이블이다.
도 10은 종속성에 기반하여 압축된 전력 상태들의 집합을 보여주는 테이블이다.
도 11은 도 4의 S200 단계에서 추출된 클럭 게이팅 도메인들, 대응하는 구동 신호들의 집합, 구동 신호들의 전력 상태들의 집합, 그리고 소비 전력들의 집합을 보여주는 테이블이다.
도 12는 도 6 및 도 11의 소비 전력들의 집합을 추출하는 방법을 설명하기 위한 도면이다.
도 13은 도 4의 S200 단계에서 추출된 클럭 게이팅 도메인들, 대응하는 구동 신호들의 집합, 구동 신호들의 전력 상태들의 집합, 소비 전력들의 집합, 그리고 추출된 팬-인 로직 콘들의 집합을 보여주는 테이블이다.
도 14는 본 발명의 제 2 실시 예에 따른 집적 회로 장치를 보여주는 블록도이다.
도 15는 본 발명의 제 3 실시 예에 따른 집적 회로 장치를 보여주는 블록도이다.
도 16은 팬-인 로직 콘의 게이트 레벨의 실시 예를 보여주는 블록도이다.
도 17 내지 도 19는 도 16의 팬-인 로직 콘의 시스템 씨에 기반한 하드웨어 설명(Hardware Description)을 보여주는 도면들이다.
도 20은 팬-인 로직 콘의 게이트 레벨의 제 2 실시 예를 보여주는 블록도이다.
도 21 및 도 22는 도 20의 팬-인 로직 콘의 베릴로그에 기반한 하드웨어 설명(Hardware Description)을 보여주는 도면들이다.
이하에서, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명하기로 한다. 동일한 구성 요소들은 동일한 참조 번호를 이용하여 인용될 것이다. 유사한 구성 요소들은 유사한 참조 번호들을 이용하여 인용될 것이다.
도 1은 본 발명의 실시 예에 따른 집적 회로 장치(100)를 보여주는 블록도이다. 예시적으로, 집적 회로 장치(100)는 게이트 레벨(GL, Gate Level), 레지스터 전송 레벨(RTL, Register Transfer Level), 또는 시스템 레벨(ESL, Electronic System Level)에 기반한 모듈일 것이다.
시스템 레벨에 기반 할 경우, 클럭 게이팅 도메인 추출은 해당 모듈에 대응하는 게이트 레벨이나 레지스터 전송 레벨 모듈을 이용하여 이루어진다. 즉, 회로의 동작을 시뮬레이션하는 데에는 위의 세 가지 레벨의 모듈이 어떻게 섞여서든 사용될 수 있다. 하지만, 통상적으로 고속 시뮬레이션을 위해 시스템 레벨이 사용된다. 하지만, 시스템 레벨일 경우, 전력소모를 정확히 측정 또는 예측할 기술이 현존하지 않는다. 따라서 전력 예측을 위해서는 현재 시뮬레이션 속도가 느린 GL 모듈 또는 RTL 모듈을 시뮬레이션하여 전력을 예측할 수 밖에 없다. 본 발명에서 제안하는 클럭 게이팅 기반의 전력 모델을 이용할 경우, 시스템 레벨 모듈을 이용한 고속 시뮬레이션을 수행하면서도 정확한 전력소모량을 예측할 수 있다.
도 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)를 감소하는 동작을 의미한다.
도 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)의 활성화 및 비활성화를 제어하도록 구성된다.
제 1 클럭 게이팅 도메인(CGD1)은 제 1 구동 신호(en1)응답하여 활성화 및 비활성화 되며, 제 4 구동 신호(en4)를 출력하도록 구성된다. 즉, 제 1 클럭 게이팅 도메인(CGD1)은 제 1 클럭 게이팅 셀(CG1)의 클럭 게이팅 도메인으로 동작하며, 제 4 클럭 게이팅 셀(CG4)의 팬-인 로직 콘으로도 동작하도록 구성된다.
제 1 클럭 게이팅 도메인(CGD1)이 활성화 상태일 때, 제 4 클럭 게이팅 도메인(CGD4)은 제 4 구동 신호(en4)에 따라 활성화 또는 비활성화될 수 있다. 제 1 클럭 게이팅 도메인(CGD1)이 비활성화 상태일 때, 제 4 클럭 게이팅 도메인(CGD4)은 항상 비활성화될 것이다. 즉, 제 4 클럭 게이팅 도메인(CGD4)은 제 1 클럭 게이팅 도메인(CGD1)에 종속성(dominance)을 갖는 것으로 이해될 수 있다.
도 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)을 포함하도록 구성될 수 있다.
상술된 바와 같이, 집적 회로 장치(100)는 복수의 클럭 게이팅 도메인들을 포함하며, 클럭 게이팅 도메인들의 활성화 및 비활성화 상태에 따라 집적 회로 장치(100)의 소비 전력이 변화한다. 그러나, 종래의 소비 전력 측정(evaluation) 또는 예측(estimation) 방법들은 클럭 게이팅 도메인들을 별도로 고려하지 않음으로써, 낮은 정확도를 갖거나 긴 측정 시간을 갖는 단점을 갖는다. 본 발명의 실시 예에 따른 집적 회로 장치(100)의 소비 전력 측정 방법은 집적 회로 장치(100)의 클럭 게이팅 도메인에 기반하여 소비 전력을 측정(evaluation) 또는 예측(estimation)한다. 따라서, 향상된 정확도 및 감소된 측정 시간을 갖는 집적 회로 장치(100)의 소비 전력 예측 방법이 제공된다.
도 4는 본 발명의 실시 예에 따른 집적 회로 장치(100)의 소비 전력 예측 방법을 보여주는 순서도이다. 도 1 및 도 4를 참조하면, S100 단계에서, 클럭 게이팅 도메인들(CGD)이 추출된다. 예를 들면, 집적 회로 장치(100)의 모듈들 중 적어도 하나 또는 집적 회로 장치(100)의 클럭 게이팅 도메인들(CGD)이 추출될 것이다.
예를 들면, 클럭 게이팅 도메인들(CGD)은 집적 회로 장치(100)의 게이트 레벨(GL)에 기반하여 추출될 것이다. 클럭 게이팅 도메인(CGD)은 집적 회로 장치(100)는 게이트 레벨(GL)에서 넷 리스트(netlist)에 기반하여 클럭 게이팅 셀(CG)을 검출함으로써 추출될 수 있다. 예를 들면, 넷 리스트는 클럭 게이팅 셀(CG)을 정의하는 부분을 포함할 것이다. 클럭 게이팅 셀(CG)이 정의된 부분을 검출하고 그리고 클럭 게이팅 셀(CG)의 출력 신호를 추적함으로써, 클럭 게이팅 도메인(CGD)이 추출될 것이다.
예를 들면, 클럭 게이팅 도메인들(CGD)은 집적 회로 장치(100)의 레지스터 전송 레벨(RTL)에 기반하여 추출될 것이다. 클럭 게이팅 도메인(CGD)은 집적 회로 장치(100)의 레지스터 전송 레벨(RTL)에서 클럭 게이팅 셀(CG)을 검출함으로써 추출될 수 있다. 예를 들면, 집적 회로 장치(100)의 레지스터 전송 레벨(RTL)에서, 클럭 게이팅 셀(CG)을 생성(instanciation)하는 부분이 조건문의 형태로 제공될 것이다. 클럭 게이팅 셀(CG)이 정의된 부분을 검출하고 그리고 클럭 게이팅 셀(CG)의 출력 신호를 추적함으로써, 클럭 게이팅 도메인(CGD)이 추출될 것이다.
예시적으로, 클럭 게이팅 셀(CG)을 생성하는 조건문은 수학식 1과 같이 정의될 것이다.
Figure pat00001
수학식 1을 참조하면, 구동 신호(en)가 트루(true, 1) 값을 가질 때, 즉 구동 신호(en)가 활성화된 때에, 입력 노드(Di)의 값이 출력 노드(Do)로 전달된다. 즉, 클럭 게이팅 셀(CG)에 입력된 클럭(CLK)이 클럭 게이팅 셀(CG)로부터 게이팅된 클럭(GCLK)으로서 출력된다. 반면, 구동 신호(en)가 펄스(false, 0) 값을 가질 때, 즉 구동 신호(en)가 비활성화된 때에, 입력 노드(Di)의 값은 출력 노드(Do)로 출력되지 않는다. 즉, 클럭 게이팅 셀(CG)은 게이팅된 클럭(GCLK)의 공급을 중지한다.
S200 단계에서, 클럭 게이팅 도메인들(CGD)에 기반하여 소비 전력 모델이 추출된다. 예를 들면, 클럭 게이팅 도메인들(CGD)의 활성화 및 비활성화 상태들에 기반한 소비 전력 모델이 추출될 것이다. S200 단계는 도 6을 참조하여 더 상세하게 설명된다.
S300 단계에서, 추출된 소비 전력 모델에 기반하여 집적 회로 장치(100)의 소비 전력이 예측된다. 즉, 클럭 게이팅 도메인들(CGD)의 활성화 및 비활성화 상태들을 고려하여, 집적 회로 장치(100)의 소비 전력이 예측된다.
도 5는 도 4의 S100 단계에서 추출된 클럭 게이팅 도메인들(CGD)의 실시 예를 보여주는 테이블이다. 도 5를 참조하면, 도 3의 제 1 모듈(110)의 제 1 내지 제 4 클럭 게이팅 도메인들(CGD1~CGD4)이 추출된 것으로 도시되어 있다.
도 6은 도 4의 소비 전력 모델 추출 단계(S200)를 보여주는 순서도이다. 도 6을 참조하면, S210 단계에서, 클럭 게이팅 도메인들(CGD)의 구동 신호들의 집합(EN)이 추출된다. 예시적으로, 구동 신호들의 집합(EN)은 제 1 내지 제 4 구동 신호들(en1~en4)로 구성되는 것으로 가정한다. 도 4의 S100 단계에서 추출된 클럭 게이팅 도메인들(CGD1~CGD4) 및 대응하는 구동 신호들의 집합(EN)이 도 7에 도시되어 있다.
S220 단계에서, 구동 신호들(en1~en4)의 논리값에 따른 전력 상태들의 집합(PS)이 추출된다. 예시적으로, 도 4의 S100 단계에서 추출된 클럭 게이팅 도메인들(CGD1~CGD4), 대응하는 구동 신호들의 집합(EN), 그리고 전력 상태들의 집합(PS)이 도 8에 도시되어 있다.
도 8을 참조하면, 제 1 내지 제 4 구동 신호들(en1~en4)은 2^4 개, 즉 16 개의 경우의 수를 갖는다. 따라서, 전력 상태들의 집합(PS)은 제 1 내지 제 16 전력 상태들(ps1~ps16)로 구성될 것이다.
예시적으로, 등가성(equivalence) 및 종속성(dominance)에 기반하여 전력 상태들의 집합(PS)이 압축될 수 있다.
등가성(equivalence)은 특정 구동 신호(en) 및 특정 구동 신호(en)와 실질적으로 동일한 구동 신호(en) 사이의 관계를 나타낸다. 예를 들면, 도 8의 제 1 구동 신호(en1)와 제 2 구동 신호(en2)가 등가성을 갖는 것으로 가정된다. 즉, 제 1 구동 신호(en1)가 활성화될 때 제 2 구동 신호(en2) 또한 함께 활성화되며, 제 1 구동 신호(en1)가 비활성화될 때 제 2 구동 신호(en2) 또한 함께 비활성화될 것이다. 마찬가지로, 제 2 구동 신호(en2)가 활성화될 때 제 1 구동 신호(en1) 또한 함께 활성화되며, 제 2 구동 신호(en2)가 비활성화될 때 제 1 구동 신호(en1) 또한 함께 비활성화될 것이다.
이때, 제 1 및 제 2 구동 신호들(en1, en2)은 실질적으로 동일한 구동 신호인 것으로 이해될 수 있다. 등가성을 갖는 구동 신호들에 따른 전력 상태들의 집합(PS)은 압축될 수 있다. 예시적으로, 등가성에 기반하여 압축된 전력 상태들의 집합(PS)이 도 9에 도시되어 있다.
도 9를 참조하면, 제 1 및 제 2 구동 신호들(en1, en2)은 항상 동일한 논리 상태를 갖는다. 따라서, 구동 신호들(en1~en4)의 전력 상태들은 도 8의 16개로부터 8 개로 압축된다.
예시적으로, 등가성을 갖는 구동 신호들(en1, en2) 중 하나는 제거될 것이다. 등가성을 갖는 구동 신호들(en1, en2) 중 잔존하는 구동 신호의 전력 상태에 기반하여, 등가성을 갖는 구동 신호들(en1, en2)에 따른 소비 전력이 측정 또는 예측될 것이다. 예를 들면, 제 1 구동 신호(en1)가 잔존하는 경우, 제 1 구동 신호(en1)의 전력 상태에 기반하여 제 1 및 제 2 구동 신호들(en1, en2)에 따른 소비 전력이 측정 또는 예측될 것이다.
예시적으로, 구동 신호들(en1, en2)은 클럭 게이팅 도메인들(CGD1, CGD2)에 각각 대응한다. 즉, 구동 신호들(en1, en2)의 등가성은 클럭 게이팅 도메인들(CGD1, CGD2)의 등가성으로 이해될 수 있다. 구동 신호(en2)가 제거되는 것은 클럭 게이팅 도메인(CGD2)이 제거되는 것으로 이해될 수 있다.
종속성(dominance)은 특정 구동 신호 및 특정 구동 신호에 종속하는 구동 신호 사이의 관계를 나타낸다. 예시적으로, 도 3을 참조하여 설명된 바와 같이, 제 4 구동 신호(en4)는 제 1 구동 신호(en1)에 종속할 것이다. 종속하는 구동 신호는 특정 구동 신호가 활성화 상태일 때에만 활성화 및 비활성화될 수 있다. 즉, 종속하는 구동 신호에 따른 전력 상태들이 압축될 수 있다. 예시적으로, 종속성에 기반하여 압축된 전력 상태들의 집합(PS)이 도 10에 도시되어 있다.
도 10을 참조하면, 제 1 구동 신호(en1)가 비활성 상태일 때, 제 4 구동 신호(en4)는 활성 상태를 가질 수 없다. 따라서, 구동 신호들(en1~en4)의 전력 상태들은 도 9의 8개로부터 6개로 압축된다.
또한, 클럭 게이팅 도메인들(CGD1~CGD4)의 동작 특성 상 발생할 수 없는 전력 상태들이 존재할 수 있다. 예를 들면, 제 1 내지 제 4 구동 신호들(en1~en4)이 '1001'의 값을 가질 수 없도록 집적 회로 장치(100)가 구성될 수 있다. 이때, 전력 상태들의 집합(PS)은 감소될 수 있다.
예시적으로, 구동 신호들(en1, en2)은 클럭 게이팅 도메인들(CGD1, CGD2)에 각각 대응한다. 즉, 구동 신호들(en1, en2)의 존속성은 클럭 게이팅 도메인들(CGD1, CGD2)의 종속성으로 이해될 수 있다.
도 9 및 도 10을 참조하여, 전력 상태들의 집합(PS)이 압축되는 실시 예가 설명되었다. 이하에서, 설명의 편의를 위하여, 전력 상태들의 집합(PS)이 압축되지 않은 실시 예가 계속해서 설명된다.
다시 도 6을 참조하면, S230 단계에서, 소비 전력들의 집합(P)이 추출된다. 예를 들면, 전력 상태들의 집합(PS)에 대응하는 소비 전력들의 집합(P)이 추출된다. 예시적으로, 도 4의 S100 단계에서 추출된 클럭 게이팅 도메인들(CGD1~CGD4), 대응하는 구동 신호들의 집합(EN), 전력 상태들의 집합(PS), 그리고 소비 전력들의 집합(P)이 도 11에 도시되어 있다.
도 12는 도 6 및 도 11의 소비 전력들의 집합(P)을 추출하는 방법을 설명하기 위한 도면이다. 예시적으로, 집적 회로 장치(100)의 제 1 모듈(110)의 소비 전력들의 집합(P)을 추출하는 방법이 도시되어 있다.
예시적으로, 집적 회로 장치(100)의 정상 동작 조건 하에서, 집적 회로 장치(100)가 구동될 것이다. 집적 회로 장치(100)를 구동하면서, 집적 회로 장치(100)의 소비 전력들의 집합(P)이 추출될 것이다. 예를 들면, 소비 전력들의 집합은 모듈의 모의화 결과를 이용하여 전력 소모 예측 프로그램에 의해 추출될 것이다.
예시적으로, 집적 회로 장치(100)의 정상 동작 조건 하에서, 집적 회로 장치(100)에 제 1 내지 제 5 사이클(C1~C5)을 갖는 클럭(CLK)이 입력되는 것으로 가정한다.
제 1 사이클(C1)에서, 집적 회로 장치(100)의 제 1 모듈(110)의 제 1 내지 제 4 구동 신호들(en1~en4)은 '0011'의 상태(제 4 전력 상태(ps4))를 갖는다. 제 1 사이클(C1)에서, 제 1 모듈(110)의 소비 전력은 제 1 전력(TP1)인 것으로 가정한다.
제 2 사이클(C2)에서, 집적 회로 장치(100)의 제 2 모듈(110)의 제 1 내지 제 4 구동 신호들(en1~en4)은 '0010'의 상태(제 3 전력 상태(ps3))를 갖는다. 제 2 사이클(C2)에서, 제 1 모듈(110)의 소비 전력은 제 2 전력(TP2)인 것으로 가정한다.
제 3 사이클(C3)에서, 집적 회로 장치(100)의 제 1 모듈(110)의 제 1 내지 제 4 구동 신호들(en1~en4)은 '0011'의 상태(제 4 전력 상태(ps4))를 갖는다. 제 3 사이클(C3)에서, 제 1 모듈(110)의 소비 전력은 제 3 전력(TP3)인 것으로 가정한다.
제 4 및 제 5 사이클들(C4, C5)에서, 집적 회로 장치(100)의 제 2 모듈(110)의 제 1 내지 제 4 구동 신호들(en1~en4)은 '0010'의 상태(제 3 전력 상태(ps3))를 갖는다. 제 4 및 제 5 사이클들(C4, C5)에서, 제 1 모듈(110)의 소비 전력은 각각 제 4 및 제 5 전력들(TP4, TP5)인 것으로 가정한다.
제 1 사이클(C1) 및 제 3 사이클(C3)에서, 제 1 내지 제 4 구동 신호들(en1~en4)은 '0011'의 상태(제 4 전력 상태(ps4))를 갖는다. 제 1 사이클(C1) 및 제 3 사이클(C3)에 대응하는 제 1 및 제 3 전력들(TP1, TP3)의 평균값이 제 4 소비 전력(P4)으로 산출될 것이다.
제 2 사이클(C2), 제 4 사이클(C4), 그리고 제 5 사이클(C5)에서, 제 1 내지 제 4 구동 신호들(en1~en4)은 '0010'의 상태(제 3 전력 상태(ps3))를 갖는다. 제 2 사이클(C2), 제 4 사이클(C4), 그리고 제 5 사이클(C5)에 대응하는 제 2, 제 4, 그리고 제 5 전력들(TP2, TP4, TP5)의 평균값이 제 3 소비 전력(P3)으로 산출될 것이다.
즉, 집적 회로 장치(100)의 정상 동작 조건 하에서, 집적 회로 장치(100)의 제 1 모듈(110)의 소비 전력이 측정 또는 예측된다. 측정된 소비 전력들의 평균이 제 1 내지 제 16 소비 전력들(P1~P16)로 산출될 것이다.
예시적으로, 집적 회로 장치(100)의 정상 동작 조건 하에서, 클럭(CLK)에 기반한 소비 전력들이 측정 또는 예측될 것이다. 측정된 소비 전력들의 산술 평균이 제 1 내지 제 16 소비 전력들(P1~P16)로 산출될 수 있다.
예시적으로, 측정되는 제 1 모듈(110)의 소비 전력은 동적 소비 전력일 것이다. 예를 들면, 클럭에 기반하여 각 클럭 게이팅 도메인에서 신호가 천이할 때, 신호의 천이에 따른 소비 전력이 측정 또는 예측될 것이다. 예를 들면, 신호의 천이에 따른 소비 전력은 추출된 클럭 게이팅 도메인들의 정보에 기반하여 산출될 것이다.
예시적으로, 제 1 내지 제 16 소비 전력들은 데이터 의존성(data dependency)에 기반하여 산출될 수 있다. 예시적으로, 제 1 내지 제 4 클럭 게이팅 도메인들(CGD1~CGD4)의 소비 전력은 내부의 데이터에 따라 변화할 수 있다. 예를 들면, 입력 신호 및 내부 데이터(내부 회로의 상태)에 따라 클럭 게이팅 도메인들(CGD1~CGD4)에서 천이하는 내부 신호 및 레지스터들의 수가 가변될 수 있다. 즉, 각 클럭 게이팅 도메인에 입력되는 신호에 따라, 각 클럭 게이팅 도메인의 소비 전력은 상이할 수 있다.
본 발명의 실시 예에 따르면, 제 1 내지 제 16 소비 전력들(P1~P16)은 데이터 의존성에 기반하여 산출될 수 있다. 예를 들면, 집적 회로 장치(100)의 제 1 모듈(110)에 다양한 데이터를 입력하며 제 1 모듈의 소비 전력이 산출될 수 있다.
다시 도 6을 참조하면, S240 단계에서, 구동 신호들의 팬-인 로직 콘들이 추출된다. 예를 들면, S100 단계를 참조하여 설명된 바와 마찬가지로, 집적 회로 장치(100)의 클럭 게이팅 셀(CG)을 검출함으로써 구동 신호들의 팬-인 로직 콘들이 추출될 것이다.
예를 들면, 구동 신호들의 팬-인 로직 콘들은 집적 회로 장치(100)의 게이트 레벨(GL)에 기반하여 추출될 것이다. 구동 신호들의 팬-인 로직 콘들은 집적 회로 장치(100)의 게이트 레벨(GL)에서 넷 리스트(netlist)에 기반하여 클럭 게이팅 셀(CG)을 검출함으로써 추출될 수 있다. 예를 들면, 넷 리스트는 클럭 게이팅 셀(CG)을 정의하는 부분을 포함할 것이다. 클럭 게이팅 셀(CG)이 정의된 부분을 검출하고 그리고 클럭 게이팅 셀(CG)의 입력 신호를 추적함으로써, 구동 신호들의 팬-인 로직 콘들이 추출될 것이다.
예를 들면, 구동 신호들의 팬-인 로직 콘들은 집적 회로 장치(100)의 레지스터 전송 레벨(RTL)에 기반하여 추출될 것이다. 구동 신호들의 팬-인 로직 콘들은 집적 회로 장치(100)의 레지스터 전송 레벨(RTL)에서 클럭 게이팅 셀(CG)을 검출함으로써 추출될 수 있다. 예를 들면, 집적 회로 장치(100)의 레지스터 전송 레벨(RTL)에서, 클럭 게이팅 셀(CG)을 생성(instanciation)하는 부분이 조건문의 형태로 제공될 것이다. 클럭 게이팅 셀(CG)이 정의된 부분을 검출하고 그리고 클럭 게이팅 셀(CG)의 입력 신호를 추적함으로써, 구동 신호들의 팬-인 로직 콘들이 추출될 것이다.
도 13은 도 4의 S200 단계에서 추출된 클럭 게이팅 도메인들, 대응하는 구동 신호들의 집합, 구동 신호들의 전력 상태들의 집합, 소비 전력들의 집합, 그리고 추출된 팬-인 로직 콘들의 집합을 보여주는 테이블이다.
예시적으로, 클럭 게이팅 도메인들(CGD1~CGD4), 대응하는 구동 신호들(en1~en4)의 집합, 구동 신호들(en1~en4)의 전력 상태들의 집합(EN), 소비 전력들의 집합(P), 그리고 추출된 팬-인 로직 콘들(Cen1~Cen4)의 집합(CEN)이 도 13에 도시되어 있다.
팬-인 로직 콘들(Cen1~Cen4)은 제 1 모듈(110)의 입력 신호들(x1~xn)에 응답하여 제 1 내지 제 4 구동 신호들(en1~en4)을 구동하는 제 1 모듈(110)의 구성 요소들을 나타낸다. 예를 들면, 제 1 내지 제 3 팬-인 로직 콘들(Cen1~Cen3)은 도 3에 도시된 제 1 내지 제 3 팬-인 로직 콘들(Cen1~Cen3)에 대응할 것이다. 제 4 팬-인 로직 콘(Cen4)은 도 3에 도시된 제 1 팬-인 로직 콘(Cen1), 제 1 클럭 게이팅 셀(CG1), 그리고 제 1 클럭 게이팅 도메인(CGD1)을 포함할 것이다.
팬-인 로직 콘들(Cen1~Cen4)이 추출되면, 제 1 모듈(110)의 입력 신호들(x1~xn)에 따른 제 1 내지 제 4 구동 신호들(en1~en4)의 논리값이 산출될 수 있다. 입력 신호들(x1~xn)에 따른 제 1 내지 제 4 구동 신호들(en1~en4)의 논리값이 산출되면, 전력 상태들의 집합(PS) 및 소비 전력들의 집합(P)에 기반하여 입력 신호들(x1~xn)에 따른 제 1 모듈(110)의 소비 전력이 산출될 것이다.
본 발명의 실시 예에 따르면, 구동 신호들(en1~en4)의 전력 상태들의 집합(EN), 소비 전력들(P1~P16)의 집합(P), 그리고 팬-인 로직 콘들(Cen1~Cen4)의 집합(Cen)이 추출된다. 추출된 정보들에 기반하여, 집적 회로 장치(100)의 소비 전력이 산출될 수 있다. 예를 들면, 집적 회로 장치(100)의 입력 신호 및 클럭에 따라 변화하는 소비 전력이 산출될 것이다.
도 14는 본 발명의 제 2 실시 예에 따른 집적 회로 장치(100a)를 보여주는 블록도이다. 도 1의 집적 회로 장치(100)와 비교하면, 집적 회로 장치(100a)의 제 1 모듈(110)에 전력 모델(111)이 추가된다.
전력 모델(111)은 제 1 모듈(110)의 전력 상태들의 집합(PS), 소비 전력들의 집합(P), 그리고 팬-인 로직 콘들의 집합(CEN)을 포함할 것이다. 전력 모델(111)은 제 1 모듈(110)과 입력 신호 및 클럭을 공유하도록 구성될 것이다. 소비 전력 모듈(111)은 제 1 모듈(110)의 입력 신호 및 클럭에 기반하여, 제 1 모듈(110)의 소비 전력을 측정 또는 예측하도록 구성될 것이다.
예시적으로, 제 2 내지 제 6 모듈들(120~160)의 소비 전력 모델들이 추출되는 경우, 제 2 내지 제 6 모듈들(120~160)에 각각 대응하는 전력 모델들이 추가될 수 있다. 추가되는 소비 전력 모듈들은 제 2 내지 제 6 모듈들(120~160)의 소비 전력을 실시간으로 측정 또는 예측할 수 있다. 즉, 집적 회로 장치(100)의 소비 전력이 측정될 수 있다.
도 15는 본 발명의 제 3 실시 예에 따른 집적 회로 장치(100b)를 보여주는 블록도이다. 도 1의 집적 회로 장치(100)와 비교하면, 제 6 모듈(160) 대신에 전력 모델(180)이 제공된다.
전력 모델(180)은 집적 회로 장치(100b)의 전력 상태들의 집합(PS), 소비 전력들의 집합(P), 그리고 팬-인 로직 콘들의 집합(CEN)을 포함할 것이다. 전력 모델(180)은 집적 회로 장치(100)와 입력 신호 및 클럭을 공유하도록 구성될 것이다. 전력 모델(180)은 집적 회로 장치(100)의 입력 신호 및 클럭에 기반하여, 집적 회로 장치(100)의 소비 전력을 측정 또는 예측하도록 구성될 것이다.
도 16은 팬-인 로직 콘(Cen_k)의 게이트 레벨(GL)의 실시 예를 보여주는 블록도이다. 예시적으로, 제 k 구동 신호(enk)를 구동하는 팬-인 로직 콘(Cen_k)이 도시되어 있다.
도 16을 참조하면, 팬-인 로직 콘(Cen_k)은 제 1 내지 제 4 논리 게이트들(G1~G4), 클럭 게이팅 셀들(CG_i, CG_j, CG_k), 그리고 제 0 내지 제 3 플립 플롭들(FF0~FF3)을 포함한다.
팬-인 로직 콘(Cen_k)은 제 1 내지 제 4 입력 신호들(x1~x4), 리셋 신호(rst_n), 구동 신호들(eni, enj), 그리고 클럭들(clk_i, clk_j, clk_k)을 수신한다. 팬-인 로직 콘(Cen_k)은 제 1 내지 제 4 입력 신호들(x1~x4), 리셋 신호(rst_n), 구동 신호들(eni, enj), 그리고 클럭들(clk_i, clk_j, clk_k)에 응답하여 제 k 구동 신호(enk)를 구동하도록 구성된다. 제 k 구동 신호(enk)에 응답하여, 제 k 클럭 게이팅 셀(CG_k)은 제 k 클럭(clk_k)을 게이팅하여 출력(cg_out)하도록 구성된다.
도 17 내지 도 19는 도 16의 팬-인 로직 콘(Cen_k)의 시스템 씨에 기반한 하드웨어 설명(Hardware Description)을 보여주는 도면들이다.
도 16 및 도 17을 참조하면, 제 1 모듈(210)에서, 인버터가 정의된다. 제 2 모듈(220)에서, 2 입력 논리곱(AND)이 정의된다. 제 3 모듈(230)에서, 2 입력 부정 논리곱(NAND)이 정의된다. 제 4 모듈(240)에서, 2 입력 논리합(OR)이 정의된다. 그리고, 제 5 모듈(250)에서, 3 입력 부정 논리곱(NAND)이 정의된다.
도 16 및 도 18을 참조하면, 제 6 모듈(260)에서, 클럭 게이팅 셀의 헤더(clock_gating.h)가 정의된다. 제 6 모듈(260)에서 클럭 게이팅 셀의 입출력 노드들, 즉 클럭 입력, 리셋 입력, 구동 신호 입력, 그리고 클럭 출력이 정의된다. 또한, 제 6 모듈(260)에서 클럭 입력 및 구동 신호 입력에 따른 클럭 게이팅 셀의 동작 조건의 정의된다. 예를 들면, 클럭 입력이 양의 천이 값(positive edge)을 가질 때 클럭 게이팅 셀은 클럭 입력에 응답하여 동작하며, 리셋 입력이 음의 천이 값(negative edge)을 가질 때 클럭 게이팅 셀은 클럭 입력에 응답하여 동작하도록 정의된다.
제 7 모듈(270)에서, 클럭 게이팅 셀의 동작이 정의된다. 제 7 모듈(270)에서 리셋 신호에 응답하여 클럭을 논리값 '0'으로 제어하고, 그리고 구동 신호에 응답하여 클럭을 출력 또는 차단하는 클럭 게이팅 셀의 동작의 정의된다.
제 8 모듈(280)에서, 플립 플롭의 헤더(d_flipflop.h)가 정의된다. 제 8 모듈(280)에서 플립 플롭의 입출력 노드들, 즉 클럭 입력, D 입력, 그리고 Q 입력이 정의된다. 또한, 제 8 모듈(280)에서, 클럭 입력에 따른 플립 플롭의 동작 조건이 정의된다. 예를 들면, 클럭 입력이 양의 천이 값(positive edge)을 가질 때 플립 플롭은 클럭에 응답하여 동작하도록 정의된다.
제 9 모듈(290)에서, 플립 플롭이 정의된다.
도 17 및 도 18에서 정의된 모듈들에 기반하여, 도 19에서 도 16의 팬-인 로직 콘(Cen_k)이 정의된다. 도 16 및 도 19를 참조하면, 우선, 도 17 및 도 18에서 정의된 모듈들이 선언된다. 입력 신호로서 클럭들(clk_i, clk_j, clk_k), 리셋 신호(rst_n), 제 1 내지 제 4 신호들(x1~x4), 그리고 구동 신호들(eni, enj)이 정의되며, 출력 신호로서 클럭 출력(cg_out)이 선언된다.
팬-인 로직 콘(Cen_k)의 내부 신호로서 클럭 출력들(clk_i_out, clk_j_oput, clk_k_out), 제 k 구동 신호(enk), 그리고 내부 신호들(a, b, c, d, e, f, g, h, i, j, k, l)이 선언된다. 제 0 내지 제 3 플립 플롭들(FF0~FF3)이 선언된다. 클럭 게이팅 셀들(CG_i, CG_j, CG_k)이 선언된다.
제 0 내지 제 2 인버터들(INV0~INV2)이 선언되고, 2 입력 논리곱(AND0)이 선언되고, 2 입력 부정 논리곱들(NAND0, NAND1)이 선언되고, 2 입력 논리합(OR0)이 선언되고, 그리고 3 입력 부정 논리곱(NAND0)이 선언된다. 이후에, 선언된 모듈들 사이의 연결 관계가 정의된다.
도 16에 도시된 바와 같이, 플립 플롭들(FF0~FF3)에 입력되는 클럭들은 클럭 게이팅 셀들(CG_i, CG_j, CG_k)의 출력 클럭들(clk_i_out, clk_j_out, clk_k_out)이 반전된 신호이다. 따라서, 출력 클럭들(clk_i_out, clk_j_out, clk_k_out)이 인버터에 의해 반전된다.
신호(a)의 부정 입력 및 신호(x3)의 입력의 논리 곱은 신호(e)로 정의된다. 즉, 제 1 논리 게이트(G1)의 연결 관계가 정의된다. 신호(x1)의 입력, 신호(g)의 입력, 그리고 신호(h)의 입력의 부정 논리곱은 신호(k)로 정의된다. 즉, 제 2 논리 게이트(G2)의 연결 관계가 정의된다.
신호(x3)의 입력 및 신호(d)의 입력의 논리합은 신호(f)로 정의된다. 즉, 제 3 논리 게이트(G3)의 연결 관계가 정의된다. 신호(d)의 입력 및 신호(i)의 입력의 논리곱은 신호(l)로 정의되며, 신호(l)의 입력 및 신호(k)의 부정 입력의 논리곱은 구동 신호(enk)로 정의된다. 즉, 제 4 논리 게이트(G4)의 연결 관계가 정의된다.
제 0 플립 플롭(FF0)의 클럭 입력(clk_i_out), D 입력(x2), 그리고 Q 출력(g)이 정의되고, 제 1 플립 플롭(FF1)의 클럭 입력(clk_i_out), D 입력(e), 그리고 Q 출력(h)이 정의된다. 제 2 플립 플롭(FF2)의 클럭 입력(clk_i_out), D 입력(f), 그리고 Q 출력(i)이 정의되고, 제 3 플립 플롭(FF3)의 클럭 입력(clk_j_out), D 입력, 그리고 Q 출력(d)이 정의된다. 즉, 제 0 내지 제 3 플립 플롭들(FF0~FF3)의 연결 관계가 정의된다.
클럭 게이팅 셀(CG_i)의 클럭 입력(clk_i), 리셋 입력(rst_n), 구동 신호 입력(eni), 그리고 클럭 출력(clk_i_out)이 정의된다. 클럭 게이팅 셀(CG_j)의 클럭 입력(clk_j), 리셋 입력(rst_n), 구동 신호 입력(enj), 그리고 클럭 출력(clk_j_out)이 정의된다. 클럭 게이팅 셀(CG_k)의 클럭 입력(clk_k), 리셋 입력(rst_n), 구동 신호 입력(enk), 그리고 클럭 출력(clk_k_out)이 정의된다. 즉, 클럭 게이팅 셀들의 연결 관계가 정의된다.
도 20은 팬-인 로직 콘(Cen_k')의 게이트 레벨(GL)의 제 2 실시 예를 보여주는 블록도이다. 예시적으로, 제 k 구동 신호(enk)를 구동하는 팬-인 로직 콘(Cen-k')이 도시되어 있다.
도 20을 참조하면, 팬-인 로직 콘(Cen_k')은 제 5 내지 제 9 논리 게이트들(G5~G9), 클럭 게이팅 셀들(CG_i, CG_j, CG_k), 그리고 제 0 내지 제 3 플립 플롭들(u0~u3)을 포함한다.
팬-인 로직 콘(Cen_k')은 제 1 내지 제 4 신호들(x1~x4), 리셋 신호(rst_n), 구동 신호들(eni, enj), 그리고 클럭들(clk_i, clk_j, clk_k)을 수신한다. 팬-인 로직 콘(Cen_k')은 제 1 내지 제 4 신호들(x1~x4), 리셋 신호(rst_n), 구동 신호들(eni, enj), 그리고 클럭들(clk_i, clk_j, clk_k)에 응답하여 제 k 구동 신호(enk)를 구동하도록 구성된다. 제 k 구동 신호(enk)에 응답하여, 제 7 클럭 게이팅 셀(CG7)은 제 k 클럭(clk_k)을 게이팅하여 출력하도록 구성된다.
도 21 및 도 22는 도 20의 팬-인 로직 콘(Cen_k')의 베릴로그(Verilog)에 기반한 하드웨어 설명(Hardware Description)을 보여주는 도면들이다. 도 20 및 도 21을 참조하면, 입력 클럭들(clk_i, clk_j, clk_k), 리셋 신호(rst_n), 제 1 내지 제 4 신호들(x1~x4), 그리고 구동 신호들(eni, enj)이 팬-인 로직 콘(Cen_k')의 입력 신호들이 정의되며, 클럭 출력(cg_out)이 출력 신호로 정의된다.
내부 배선들(a, b, c, d, e, f, g, h, i, j, k, l, enk, clk_i_out, clk_j_out, clk_k_out)이 정의된다.
클럭 게이팅 셀(CG_i)이 정의된다. 클럭 입력, 리셋 입력, 그리고 구동 신호 입력에 각각 입력 신호들(clk_i, rst_n, eni)이 정의되며, 출력 노드는 배선(clk_i_out)에 연결된다.
클럭 게이팅 셀(CG_j)이 정의된다. 클럭 입력, 리셋 입력, 그리고 구동 신호 입력에 각각 입력 신호들(clk_j, rst_n, enj)이 정의되며, 출력 노드는 배선(clk_j_out)에 연결된다.
클럭 게이팅 셀(CG_k)이 정의된다. 클럭 입력 및 리셋 입력에 각각 입력 신호들(clk_k, rst_n)이 정의되며, 구동 신호 입력 및 출력 노드에 각각 배선(enk, clk_j_out)이 연결된다.
제 0 내지 제 3 플립 플롭들(u0~u3)이 정의된다. 제 0 플립 플롭(u0)의 D 입력에 입력 신호(x2)가 전달되며, 클럭 입력 및 Q 출력에 각각 배선들(clk_i_out, g)이 연결된다. 제 1 플립 플롭(u1)의 클럭 입력, D 입력, 그리고 Q 출력에 각각 배선들(clk_i_out, e, h)이 연결된다.
제 2 플립 플롭(u2)의 클럭 입력, D 입력, 그리고 Q 출력에 각각 배선들(clk_i_out, f, i)이 연결된다. 제 3 플립 플롭(u3)의 D 입력에 입력 신호(x4)가 전달되며, 클럭 입력 및 Q 출력에 각각 배선들(clk_j_out, d)이 연결된다.
이후에, 배선들 사이의 연결 관계가 정의된다. 배선들(b, c)은 공통으로 연결되어 입력 신호(x3)를 전송하는 것으로 정의된다. 배선들(j, d)은 공통으로 연결되는 것으로 정의된다.
배선(k)은 입력 신호(x1) 및 배선들(g, h)을 통해 수신되는 신호들의 부정 논리곱을 전송하도록 정의된다. 즉, 제 7 논리 게이트(G7)가 정의된다. 배선(l)은 배선들(i, j)을 통해 전송되는 신호들의 논리곱을 전송하도록 정의된다. 즉, 제 8 논리 게이트(G8)가 정의된다.
배선(a)은 배선들(k, l)을 통해 전송되는 신호들의 부정 논리곱을 전송하도록 구성된다. 즉, 제 9 논리 게이트(G9)가 정의된다. 배선(e)은 배선들(a, b)을 통해 전송되는 신호들의 부정 논리곱을 전송하도록 정의된다. 즉, 제 5 논리 게이트(G5)가 정의된다. 배선(f)은 배선들(c, d)을 통해 전송되는 신호들의 논리합을 전송하도록 정의된다. 즉, 제 6 논리 게이트(G6)가 정의된다.
배선들(enk, a)은 공통으로 연결되는 것으로 정의된다. 그리고, 출력 신호(cg_out)는 배선(clk_k_out)을 통해 전송되는 클럭의 반전 클럭인 것으로 정의된다.
도 22에서, 플립 플롭 및 클럭 게이팅 셀이 정의된다. 도 22를 참조하면, 플립 플롭은 클럭에 응답하여 입력 신호를 출력 노드로 전달하도록 정의된다. 클럭 게이팅 셀은 리셋 신호(rst_n)에 응답하여 출력을 초기화하도록 정의되고, 구동 신호(en)에 응답하여 입력 클럭을 출력 노드로 전달하도록 정의된다.
상술된 바와 같이, 본 발명의 실시 예에 따르면, 클럭 게이팅 도메인에 기반하여 집적 회로 장치의 소비 전력이 예측된다. 따라서, 소비 전력 측정의 정확도가 향상된다. 또한, 본 발명의 실시 예에 따르면, 집적 회로 장치(100) 또는 집적 회로 장치(100)의 모듈의 입력 신호에 기반하여 소비 전력이 측정된다. 따라서, 소비 전력이 시스템 레벨(ESL, Electronic System Level)에서 측정 또는 예측될 수 있으므로, 소비 전력 예측이 고속으로 수행될 수 있다. 즉, 본 발명의 실시 예에 따르면, 향상된 정확도 및 예측 속도를 갖는 소비 전력 측정 방법이 제공된다.
상술된 실시 예에서, 시스템 씨 및 베릴로그에 기반하여 집적 회로 장치(100)의 게이트 레벨(GL)의 하드웨어 설명(HDL)이 설명되었다. 그러나, 집적 회로 장치의 하드웨어 설명은 시스템 씨 및 베릴로그로 한정되지 않음이 이해될 것이다.
상술된 실시 예에서, 구동 신호들의 전력 상태들의 집합(EN)에 대응하는 소비 전력들의 집합(P)이 추출되는 것으로 설명되었다. 그러나, 구동 신호들(en) 각각에 대응하는 소비 전력들이 산출될 수 있다. 예시적으로, 집적 회로 장치의 특정 모듈에 제 1 내지 제 4 구동 신호들(en1~en4)이 존재하는 경우, 제 1 내지 제 4 구동 신호들(en1~en4)에 각각 대응하는 제 1 내지 제 4 소비 전력들(P1~P4)이 추출될 수 있다. 예시적으로, 제 1 및 제 2 구동 신호들(en1, en2)이 활성화 상태일 때, 특정 모듈의 소비 전력은 제 1 및 제 2 소비 전력들(P1, P2)의 합으로 측정될 것이다.
예시적으로, 구동 신호들에 각각 대응하는 소비 전력들은 구동 신호들의 전력 상태들의 집합 및 대응하는 소비 전력들의 집합으로부터 산출될 수 있다. 예를 들면, 집적 회로 장치의 특정 모듈에 제 1 내지 제 4 구동 신호들(en1~en4)이 존재하는 것으로 가정한다. 제 1 내지 제 4 구동 신호들(en1~en4)의 전력 상태가 '0010'일 때의 소비 전력에 기반하여, 제 3 구동 신호(en3)에 대응하는 소비 전력이 산출될 수 있다. 마찬가지로, 제 1 내지 제 4 구동 신호들(en1~en4)의 전력 상태들이 '1100' 및 '1101'일 때의 소비 전력에 기반하여, 제 4 구동 신호(en4)에 대응하는 소비 전력이 산출될 수 있다.
구동 신호들(en)에 각각 대응하는 소비 전력들이 산출되면, 소비 전력 모델은 압출될 수 있다. 구동 신호들(en) 및 구동 신호들에 각각 대응하는 소비 전력들을 포함하는 데이터의 양은 구동 신호들의 전력 상태들의 집합(EN) 및 대응하는 소비 전력들의 집합(P)을 포함하는 데이터의 양 보다 적기 때문이다.
예시적으로, 클럭 게이팅 도메인에 기반하여 본 발명의 기술적 사상이 설명되었다. 그러나, 본 발명의 기술적 사상은 클럭 게이팅 도메인에 한정되지 않는다. 예를 들면, 본 발명의 기술적 사상은 전력 게이팅 도메인에 적용될 수 있다.
도 1 내지 도 22를 참조하여 설명된 구동 신호들(en)은 전력 게이팅 도메인의 전력 공급을 중지 및 재개하는 신호로 응용될 것이다. 클럭 게이팅 셀(CG)은 전력 게이팅 셀로 응용될 것이다. 클럭 게이팅 도메인(CGD)은 전력 게이팅 도메인으로 응용될 것이다. 팬-인 로직 콘(Cen)은 전력 게이팅 도메인을 제어하는 구동 신호를 발생하는 팬-인 로직 콘으로 응용될 것이다. 소비 전력은 전력 게이팅 도메인의 소비 전력으로 응용될 것이다.
전력 게이팅 도메인에 기반하여 집적 회로 장치의 소비 전력이 측정되면, 집적 회로 장치의 정적 소비 전력(static power consumption)의 측정 속도 및 정확도 또한 향상될 것이다.
클럭 게이팅 도메인 및 전력 게이팅 도메인 모두에 기반하여 집적 회로 장치의 소비 전력이 측정되면, 집적 회로 장치의 동적 및 정적 보시 전력의 측정 속도 및 정확도가 향상될 것이다.
본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위와 기술적 사상에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능하다. 그러므로 본 발명의 범위는 상술한 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구범위뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100, 100a, 100b ; 집적 회로 장치
110 ; 모듈
CG ; 클럭 게이팅 셀
CGD ; 클럭 게이팅 도메인
Cen ; 팬-인 로직 콘
en ; 구동 신호
P ; 소비 전력

Claims (16)

  1. 집적 회로 장치의 클럭 게이팅 셀을 검출하여 상기 집적 회로 장치의 클럭 게이팅 도메인들을 추출하는 단계;
    상기 추출된 클럭 게이팅 도메인들에 기반하여, 클럭 게이팅에 기반한 상기 집적 회로 장치의 소비 전력 모델을 추출하는 단계; 그리고
    상기 추출된 소비 전력 모델에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법.
  2. 제 1 항에 있어서,
    상기 소비 전력 모델을 추출하는 단계는
    상기 추출된 클럭 게이팅 도메인들을 구동하는 구동 신호들을 추출하는 단계; 그리고
    상기 추출된 구동 신호들의 논리값들에 따른 전력 상태들의 집합을 추출하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법.
  3. 제 2 항에 있어서,
    상기 구동 신호들 사이의 등가성(equivalence)에 기반하여, 상기 추출된 전력 상태들의 집합의 일부가 제거되는 집적 회로 장치의 소비 전력 예측 방법.
  4. 제 2 항에 있어서,
    상기 구동 신호들 사이의 종속성(dominance)에 기반하여, 상기 추출된 전력 상태들의 집합의 일부가 제거되는 집적 회로 장치의 소비 전력 예측 방법.
  5. 제 2 항에 있어서,
    상기 소비 전력 모델을 추출하는 단계는
    상기 추출된 전력 상태들의 집합에 대응하는 상기 집적 회로 장치의 소비 전력들의 집합을 추출하는 단계를 더 포함하는 집적 회로 장치의 소비 전력 예측 방법.
  6. 제 5 항에 있어서,
    상기 소비 전력들의 집합을 추출하는 단계는
    상기 집적 회로 장치의 정상 동작 조건 하에서, 클럭 사이클에 따른 상기 집적 회로 장치의 전력 상태들 및 소비 전력들을 산출하는 단계; 그리고
    상기 산출된 전력 상태들 및 소비 전력들에 기반하여, 상기 산출된 전력 상태들에 대응하는 소비 전력들을 결정하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법.
  7. 제 6 항에 있어서,
    상기 산출된 전력 상태들에 대응하는 소비 전력들을 결정하는 단계는
    상기 산출된 전력 상태들 및 소비 전력들에 기반하여, 상기 산출된 전력 상태들에 대응하는 평균 소비 전력들을 결정하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법.
  8. 제 7 항에 있어서,
    상기 평균 소비 전력들은 데이터 의존성(dependency)에 따른 변화를 보상하도록 결정되는 집적 회로 장치의 소비 전력 예측 방법.
  9. 제 1 항에 있어서,
    상기 소비 전력 모델을 추출하는 단계는
    상기 클럭 게이팅 도메인들을 구동하는 구동 신호들을 추출하는 단계; 그리고
    상기 구동 신호들에 각각 대응하는 소비 전력들을 결정하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법.
  10. 제 9 항에 있어서,
    상기 소비 전력 모델을 추출하는 단계는
    상기 집적 회로 장치의 입력 신호에 기반하여 상기 구동 신호들을 구동하는 팬-인 로직 콘들(fan-in logic cones)을 추출하는 단계를 더 포함하는 집적 회로 장치의 소비 전력 예측 방법.
  11. 제 10 항에 있어서,
    상기 집적 회로 장치의 소비 전력을 예측하는 단계는
    상기 집적 회로 장치의 입력 신호, 상기 추출된 전력 상태들의 집합, 그리고 상기 추출된 소비 전력들의 집합에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법.
  12. 제 1 항에 있어서,
    상기 클럭 게이팅 도메인들은 상기 집적 회로 장치의 레지스터 전송 레벨(RTL, Register Transfer Level)에 기반하여 추출되는 집적 회로 장치의 소비 전력 예측 방법.
  13. 제 1 항에 있어서,
    상기 클럭 게이팅 도메인들은 상기 집적 회로 장치의 게이트 레벨(GL, Gate Level)에 기반하여 추출되는 집적 회로 장치의 소비 전력 예측 방법.
  14. 제 1 항에 있어서,
    상기 집적 회로 장치의 전력 게이팅 도메인들을 추출하는 단계;
    상기 추출된 전력 게이팅 도메인들에 기반하여, 전력 게이팅에 기반한 상기 집적 회로 장치의 소비 전력 모델을 추출하는 단계; 그리고
    상기 추출된 소비 전력 모델에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 더 포함하는 집적 회로 장치의 소비 전력 예측 방법.
  15. 집적 회로 장치의 클럭 구동 신호들의 팬-인 로직 콘들을 추출하는 단계;
    상기 클럭 구동 신호들의 논리 상태들에 따른 소비 전력들을 산출하는 단계;
    상기 집적 회로 장치에 전달되는 입력 신호 및 클럭을 수신하는 단계; 그리고
    상기 추출된 팬-인 로직 콘들, 상기 산출된 소비 전력들, 그리고 상기 수신된 입력 신호 및 클럭에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법.
  16. 제 15 항에 있어서,
    상기 수신된 입력 신호 및 클럭의 변화에 따라, 상기 집적 회로 장치의 소비 전력이 예측되는 집적 회로 장치의 소비 전력 예측 방법.
KR1020100081959A 2010-08-24 2010-08-24 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법 KR101139603B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020100081959A KR101139603B1 (ko) 2010-08-24 2010-08-24 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법
PCT/KR2011/005094 WO2012026679A2 (ko) 2010-08-24 2011-07-12 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법
EP11820107.8A EP2610702A4 (en) 2010-08-24 2011-07-12 ELECTRIC CONSUMPTION PREDICTION METHOD FOR INTEGRATED CLOCK GATE CIRCUIT DEVICE
US13/759,121 US20130151228A1 (en) 2010-08-24 2013-02-05 Power consumption prediction method for clock gating integrated circuit devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100081959A KR101139603B1 (ko) 2010-08-24 2010-08-24 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법

Publications (2)

Publication Number Publication Date
KR20110113551A true KR20110113551A (ko) 2011-10-17
KR101139603B1 KR101139603B1 (ko) 2012-04-27

Family

ID=45028883

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100081959A KR101139603B1 (ko) 2010-08-24 2010-08-24 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법

Country Status (4)

Country Link
US (1) US20130151228A1 (ko)
EP (1) EP2610702A4 (ko)
KR (1) KR101139603B1 (ko)
WO (1) WO2012026679A2 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014025212A1 (en) 2012-08-08 2014-02-13 Samsung Electronics Co., Ltd. Method and apparatus for modelling power consumption of integrated circuit
WO2016052844A1 (ko) * 2014-09-30 2016-04-07 주식회사 바움 집적 회로 장치 및 집적 회로 장치의 소비 전력을 계산하는 방법
KR20160079402A (ko) 2014-12-26 2016-07-06 전자부품연구원 저전력 구현을 위한 순차회로 설계방법 및 그 방법에 사용되는 클럭 게이팅 회로
KR102350943B1 (ko) * 2021-07-12 2022-01-14 주식회사 바움디자인시스템즈 집적 회로에 대한 소비 전력을 예측하는 방법 및 이를 수행하는 소비 전력 예측 시스템
KR102605288B1 (ko) * 2023-04-11 2023-11-23 주식회사 바움디자인시스템즈 집적 회로에 대한 소비 전력을 예측하기 위한 시뮬레이션 방법 및 이를 수행하는 집적 회로 시뮬레이션 시스템

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153920A (zh) * 2016-12-02 2018-06-12 恩智浦美国有限公司 集成电路设计的rtl阶段期间的时钟门控验证
KR102089083B1 (ko) 2018-11-14 2020-03-16 주식회사 바움 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법
EP3686614B1 (en) * 2019-01-23 2023-10-18 Shenzhen Goodix Technology Co., Ltd. Method and apparatus for metering power consumption of a digital soc for predicting battery life
KR20210045544A (ko) * 2019-10-16 2021-04-27 삼성전자주식회사 클럭 사이클에 기반하여 전력을 모니터링하는 동적 전력 모니터, 프로세서, 및 시스템 온 칩

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3070571B2 (ja) * 1998-02-27 2000-07-31 日本電気株式会社 Lsi消費電力見積システム
US6536024B1 (en) * 2000-07-14 2003-03-18 International Business Machines Corporation Method for making integrated circuits having gated clock trees
US7323909B2 (en) 2005-07-29 2008-01-29 Sequence Design, Inc. Automatic extension of clock gating technique to fine-grained power gating
US7424689B1 (en) * 2006-02-21 2008-09-09 Altera Corporation Gated clock conversion
JP4738216B2 (ja) * 2006-03-13 2011-08-03 株式会社東芝 半導体集積回路装置、及びその回路挿入手法
JP2008065382A (ja) * 2006-09-04 2008-03-21 Fujitsu Ltd Lsiの消費電力算出方法及びその算出プログラム
KR20080064307A (ko) * 2007-01-04 2008-07-09 삼성전자주식회사 클록 게이팅을 이용한 절전회로 및 그 설계방법
JP4370335B2 (ja) * 2007-02-13 2009-11-25 富士通株式会社 Lsi解析プログラム、該プログラムを記録した記録媒体、lsi解析装置、およびlsi解析方法
JP4388965B2 (ja) * 2007-02-13 2009-12-24 富士通株式会社 クロックゲーティング解析プログラム、該プログラムを記録した記録媒体、クロックゲーティング解析装置、およびクロックゲーティング解析方法
US7849428B2 (en) * 2007-04-23 2010-12-07 International Business Machines Corporation Formally deriving a minimal clock-gating scheme
US7930673B2 (en) * 2007-05-29 2011-04-19 Magma Design Automation, Inc. Method for automatic clock gating to save power
JP4729007B2 (ja) * 2007-06-20 2011-07-20 株式会社東芝 消費電力解析装置および消費電力解析方法
US7958476B1 (en) * 2007-07-10 2011-06-07 Magma Design Automation, Inc. Method for multi-cycle path and false path clock gating
JP2009222644A (ja) * 2008-03-18 2009-10-01 Toshiba Corp 半導体集積回路、及び設計自動化システム
US7458050B1 (en) 2008-03-21 2008-11-25 International Business Machines Corporation Methods to cluster boolean functions for clock gating
US8099703B1 (en) * 2008-12-01 2012-01-17 Xilinx, Inc. Method and system for verifying power-optimized electronic designs using equivalency checking
KR101375466B1 (ko) * 2009-01-12 2014-03-18 램버스 인코포레이티드 다중 전력 모드를 갖는 메조크로노스 시그널링 시스템
US8225245B2 (en) * 2009-10-30 2012-07-17 Oracle America, Inc. Method of implementing physically realizable and power-efficient clock gating in microprocessor circuits
US8402297B2 (en) * 2010-07-27 2013-03-19 Ati Technologies Ulc Method and apparatus for indicating multi-power rail status of integrated circuits

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014025212A1 (en) 2012-08-08 2014-02-13 Samsung Electronics Co., Ltd. Method and apparatus for modelling power consumption of integrated circuit
CN104541173A (zh) * 2012-08-08 2015-04-22 三星电子株式会社 用于对集成电路的功率消耗建模的方法和装置
CN104541173B (zh) * 2012-08-08 2018-01-26 三星电子株式会社 用于对集成电路的功率消耗建模的方法和装置
US10409936B2 (en) 2012-08-08 2019-09-10 Samsung Electronics Co., Ltd. Method and apparatus for modelling power consumption of integrated circuit
WO2016052844A1 (ko) * 2014-09-30 2016-04-07 주식회사 바움 집적 회로 장치 및 집적 회로 장치의 소비 전력을 계산하는 방법
KR20160079402A (ko) 2014-12-26 2016-07-06 전자부품연구원 저전력 구현을 위한 순차회로 설계방법 및 그 방법에 사용되는 클럭 게이팅 회로
KR102350943B1 (ko) * 2021-07-12 2022-01-14 주식회사 바움디자인시스템즈 집적 회로에 대한 소비 전력을 예측하는 방법 및 이를 수행하는 소비 전력 예측 시스템
US11755097B2 (en) 2021-07-12 2023-09-12 Baum Design Systems Co., Ltd. Method for modeling power consumption of an integrated circuit and power consumption modeling system performing the same
KR102605288B1 (ko) * 2023-04-11 2023-11-23 주식회사 바움디자인시스템즈 집적 회로에 대한 소비 전력을 예측하기 위한 시뮬레이션 방법 및 이를 수행하는 집적 회로 시뮬레이션 시스템

Also Published As

Publication number Publication date
KR101139603B1 (ko) 2012-04-27
EP2610702A4 (en) 2016-10-05
EP2610702A2 (en) 2013-07-03
WO2012026679A2 (ko) 2012-03-01
WO2012026679A3 (ko) 2012-04-19
US20130151228A1 (en) 2013-06-13

Similar Documents

Publication Publication Date Title
KR101139603B1 (ko) 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법
US8266569B2 (en) Identification of critical enables using MEA and WAA metrics
US10409936B2 (en) Method and apparatus for modelling power consumption of integrated circuit
US7546559B2 (en) Method of optimization of clock gating in integrated circuit designs
US9141736B2 (en) Method for power estimation for virtual prototyping models for semiconductors
US20080021692A1 (en) Method for performing power simulations on complex designs running complex software applications
US11636246B2 (en) Systems and methods for predicting and managing power and energy use of semiconductor devices
US20130080986A1 (en) Timing signoff system and method that takes static and dynamic voltage drop into account
Darringer et al. Early analysis tools for system-on-a-chip design
US7958476B1 (en) Method for multi-cycle path and false path clock gating
Atitallah et al. MPSoC power estimation framework at transaction level modeling
US20070250798A1 (en) Method and apparatus in locating clock gating opportunities within a very large scale integration chip design
US8434048B2 (en) Method for implementing power gating in an integrated circuit design logic block including N-nary dynamic logic (NDL) gates
Hurst Automatic synthesis of clock gating logic with controlled netlist perturbation
US8340952B2 (en) Power estimation method and device therefor
US10678983B1 (en) Local retiming optimization for circuit designs
US20090217220A1 (en) Method of designing an electronic device and device thereof
US7941679B2 (en) Method for computing power savings and determining the preferred clock gating circuit of an integrated circuit design
US9171117B2 (en) Method for ranking paths for power optimization of an integrated circuit design and corresponding computer program product
US20160217239A1 (en) Method and system for selecting stimulation signals for power estimation
Hsu et al. Speeding up power verification by merging equivalent power domains in RTL design with UPF
Onouchi et al. A system-level power-estimation methodology based on ip-level modeling, power-level adjustment, and power accumulation
Schweizer et al. Exploiting slack time in dynamically reconfigurable processor architectures
Bachmann et al. Efficient algorithms for multilevel power estimation of VLSI circuits
Palangpour CAD Tools for Synthesis of Sleep Convention Logic

Legal Events

Date Code Title Description
A201 Request for examination
G15R Request for early publication
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160408

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190415

Year of fee payment: 8