KR20110113551A - 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법 - Google Patents
클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/396—Clock trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2117/00—Details relating to the type or aim of the circuit design
- G06F2117/04—Clock gating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/35—Delay-insensitive circuit design, e.g. asynchronous or self-timed
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
본 발명은 전자 회로에 관한 것으로, 더 상세하게는 집적 회로 장치의 소비 전력 예측 방법에 관한 것이다.
전자 기술이 발전하면서, 다양한 형태의 집적 회로 장치가 개발되고 있다. 집적 회로 장치는 연산, 저장 등과 같은 다양한 기능들이 하나의 반도체 칩에 집적된 전자 장치를 의미한다.
사회가 고도화됨에 따라, 다양한 형태의 모바일 기기들이 개발되고 있다. 모바일 기기들은 집적 회로 장치를 구비함으로써, 소형화 및 경량화를 추구한다. 모바일 기기들의 단점은 배터리와 같은 한정된 전력원을 갖는다는 것이다. 모바일 기기들의 동작 수명을 연장시키기 위하여, 배터리의 고용량화 및 집적 회로 장치의 저전력화 등이 연구되고 있다.
집적 회로 장치의 소비 전력을 예측하는 것은 집적 회로 장치의 저전력화를 달성하기 위한 전제 조건이다. 종래의 소비 전력 예측 방법은 너무 긴 예측 시간을 소모하거나 낮은 정확도를 갖는다는 문제점이 있다.
이러한 문제를 해결하기 위해 다양한 방법들이 제안되고 있으나, 이들은 대상 집적회로 장치의 동작을 이해하는 사람이 전력 소비 관점에서 유의한 상태를 전력 상태 (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)을 보여주는 도면들이다.
도 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과 같이 정의될 것이다.
수학식 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 ; 소비 전력
110 ; 모듈
CG ; 클럭 게이팅 셀
CGD ; 클럭 게이팅 도메인
Cen ; 팬-인 로직 콘
en ; 구동 신호
P ; 소비 전력
Claims (16)
- 집적 회로 장치의 클럭 게이팅 셀을 검출하여 상기 집적 회로 장치의 클럭 게이팅 도메인들을 추출하는 단계;
상기 추출된 클럭 게이팅 도메인들에 기반하여, 클럭 게이팅에 기반한 상기 집적 회로 장치의 소비 전력 모델을 추출하는 단계; 그리고
상기 추출된 소비 전력 모델에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법. - 제 1 항에 있어서,
상기 소비 전력 모델을 추출하는 단계는
상기 추출된 클럭 게이팅 도메인들을 구동하는 구동 신호들을 추출하는 단계; 그리고
상기 추출된 구동 신호들의 논리값들에 따른 전력 상태들의 집합을 추출하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법. - 제 2 항에 있어서,
상기 구동 신호들 사이의 등가성(equivalence)에 기반하여, 상기 추출된 전력 상태들의 집합의 일부가 제거되는 집적 회로 장치의 소비 전력 예측 방법. - 제 2 항에 있어서,
상기 구동 신호들 사이의 종속성(dominance)에 기반하여, 상기 추출된 전력 상태들의 집합의 일부가 제거되는 집적 회로 장치의 소비 전력 예측 방법. - 제 2 항에 있어서,
상기 소비 전력 모델을 추출하는 단계는
상기 추출된 전력 상태들의 집합에 대응하는 상기 집적 회로 장치의 소비 전력들의 집합을 추출하는 단계를 더 포함하는 집적 회로 장치의 소비 전력 예측 방법. - 제 5 항에 있어서,
상기 소비 전력들의 집합을 추출하는 단계는
상기 집적 회로 장치의 정상 동작 조건 하에서, 클럭 사이클에 따른 상기 집적 회로 장치의 전력 상태들 및 소비 전력들을 산출하는 단계; 그리고
상기 산출된 전력 상태들 및 소비 전력들에 기반하여, 상기 산출된 전력 상태들에 대응하는 소비 전력들을 결정하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법. - 제 6 항에 있어서,
상기 산출된 전력 상태들에 대응하는 소비 전력들을 결정하는 단계는
상기 산출된 전력 상태들 및 소비 전력들에 기반하여, 상기 산출된 전력 상태들에 대응하는 평균 소비 전력들을 결정하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법. - 제 7 항에 있어서,
상기 평균 소비 전력들은 데이터 의존성(dependency)에 따른 변화를 보상하도록 결정되는 집적 회로 장치의 소비 전력 예측 방법. - 제 1 항에 있어서,
상기 소비 전력 모델을 추출하는 단계는
상기 클럭 게이팅 도메인들을 구동하는 구동 신호들을 추출하는 단계; 그리고
상기 구동 신호들에 각각 대응하는 소비 전력들을 결정하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법. - 제 9 항에 있어서,
상기 소비 전력 모델을 추출하는 단계는
상기 집적 회로 장치의 입력 신호에 기반하여 상기 구동 신호들을 구동하는 팬-인 로직 콘들(fan-in logic cones)을 추출하는 단계를 더 포함하는 집적 회로 장치의 소비 전력 예측 방법. - 제 10 항에 있어서,
상기 집적 회로 장치의 소비 전력을 예측하는 단계는
상기 집적 회로 장치의 입력 신호, 상기 추출된 전력 상태들의 집합, 그리고 상기 추출된 소비 전력들의 집합에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법. - 제 1 항에 있어서,
상기 클럭 게이팅 도메인들은 상기 집적 회로 장치의 레지스터 전송 레벨(RTL, Register Transfer Level)에 기반하여 추출되는 집적 회로 장치의 소비 전력 예측 방법. - 제 1 항에 있어서,
상기 클럭 게이팅 도메인들은 상기 집적 회로 장치의 게이트 레벨(GL, Gate Level)에 기반하여 추출되는 집적 회로 장치의 소비 전력 예측 방법. - 제 1 항에 있어서,
상기 집적 회로 장치의 전력 게이팅 도메인들을 추출하는 단계;
상기 추출된 전력 게이팅 도메인들에 기반하여, 전력 게이팅에 기반한 상기 집적 회로 장치의 소비 전력 모델을 추출하는 단계; 그리고
상기 추출된 소비 전력 모델에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 더 포함하는 집적 회로 장치의 소비 전력 예측 방법. - 집적 회로 장치의 클럭 구동 신호들의 팬-인 로직 콘들을 추출하는 단계;
상기 클럭 구동 신호들의 논리 상태들에 따른 소비 전력들을 산출하는 단계;
상기 집적 회로 장치에 전달되는 입력 신호 및 클럭을 수신하는 단계; 그리고
상기 추출된 팬-인 로직 콘들, 상기 산출된 소비 전력들, 그리고 상기 수신된 입력 신호 및 클럭에 기반하여, 상기 집적 회로 장치의 소비 전력을 예측하는 단계를 포함하는 집적 회로 장치의 소비 전력 예측 방법. - 제 15 항에 있어서,
상기 수신된 입력 신호 및 클럭의 변화에 따라, 상기 집적 회로 장치의 소비 전력이 예측되는 집적 회로 장치의 소비 전력 예측 방법.
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)
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)
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)
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 |
-
2010
- 2010-08-24 KR KR1020100081959A patent/KR101139603B1/ko active IP Right Grant
-
2011
- 2011-07-12 WO PCT/KR2011/005094 patent/WO2012026679A2/ko active Application Filing
- 2011-07-12 EP EP11820107.8A patent/EP2610702A4/en not_active Withdrawn
-
2013
- 2013-02-05 US US13/759,121 patent/US20130151228A1/en not_active Abandoned
Cited By (9)
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 |