[go: up one dir, main page]

KR102089083B1 - 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법 - Google Patents

회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102089083B1
KR102089083B1 KR1020180140031A KR20180140031A KR102089083B1 KR 102089083 B1 KR102089083 B1 KR 102089083B1 KR 1020180140031 A KR1020180140031 A KR 1020180140031A KR 20180140031 A KR20180140031 A KR 20180140031A KR 102089083 B1 KR102089083 B1 KR 102089083B1
Authority
KR
South Korea
Prior art keywords
leakage power
circuit design
input signals
average
unit interval
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020180140031A
Other languages
English (en)
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 KR1020180140031A priority Critical patent/KR102089083B1/ko
Priority to US16/682,866 priority patent/US10878155B2/en
Application granted granted Critical
Publication of KR102089083B1 publication Critical patent/KR102089083B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318342Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
    • G01R31/318357Simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2832Specific tests of electronic circuits not provided for elsewhere
    • G01R31/2836Fault-finding or characterising
    • G01R31/2846Fault-finding or characterising using hard- or software simulation or using knowledge-based systems, e.g. expert systems, artificial intelligence or interactive algorithms
    • G01R31/2848Fault-finding or characterising using hard- or software simulation or using knowledge-based systems, e.g. expert systems, artificial intelligence or interactive algorithms using simulation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3183Generation of test inputs, e.g. test vectors, patterns or sequences
    • G01R31/318314Tools, e.g. program interfaces, test suite, test bench, simulation hardware, test compiler, test program languages
    • 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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

누설 전력을 추정하기 위한 컴퓨터로 구현되는 방법은, 본 개시의 예시적 실시예에 따라, 레퍼런스 입력 신호들에 따라 회로 설계를 기능 시뮬레이션함으로써 생성된 파형 데이터를 획득하는 단계, 파형 데이터에 따라 회로 설계의 소비 전력을 계산함으로써 생성된 누설 전력 데이터를 획득하는 단계, 파형 데이터 및 누설 전력 데이터에 기초하여, 회로 설계의 누설 전력 모델을 생성하는 단계, 및 누설 전력 모델에 기초하여 테스트 입력 신호들에 따라 회로 설계를 기능 시뮬레이션함으로써 회로 설계의 누설 전력을 추정하는 단계를 포함할 수 있다.

Description

회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR ESTIMATING LEAKAGE POWER OF CIRCUIT DESIGN AT EARLY STAGE}
본 개시의 기술적 사상은 집적 회로의 누설 전력에 관한 것으로서, 자세하게는 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법에 관한 것이다.
반도체 공정이 미세화됨에 따라 집적 회로에서 누설(leakage) 전력의 영향이 중대해지고 있다. 예를 들면, 공정 편차(process variation)에 기인하여 집적 회로의 누설 전력의 편차가 증가할 수 있고, 특히 코너(corner) 조건에서 누설 전력은 집적 회로의 전체 소비 전력의 약 절반에 대응할 수도 있다. 이에 따라, 반도체 공정의 공정 편차를 감소시키는 것과 동시에, 감소된 누설 전력을 제공하는 집적 회로를 설계하는 것이 중요할 수 있다.
집적 회로를 제조하기 위한 과정, 예컨대 집적 회로를 설계하는 과정에서 집적 회로의 레이아웃이 확정된 후 집적 회로의 누설 전력을 계산하거나 측정하는 경우, 집적 회로의 재설계에 의한 오버헤드가 가중될 수 있고 집적 회로의 설계 시간이 현저하게 연장될 수 있으며, 결과적으로 집적 회로의 출시 시기(time-to-market)가 지연될 수 있다. 이에 따라, 집적 회로의 설계 과정에서 누설 전력을 조기에 정확하게 파악하는 것이 요구될 수 있다.
본 개시의 기술적 사상은 집적 회로의 제조 과정에서 회로 설계의 누설 전력을 조기에 정확하게 추정하는 시스템 및 방법을 제공한다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 시스템은, 컴퓨터로 실행가능한 명령어들을 실행함으로써 회로 설계의 누설 전력을 추정하는 방법을 수행하도록 구성된 적어도 하나의 프로세서를 포함할 수 있고, 누설 전력을 추정하는 방법은, 레퍼런스 입력 신호들에 따라 회로 설계를 기능 시뮬레이션함으로써 생성된 파형 데이터를 획득하는 단계, 파형 데이터에 따라 회로 설계의 소비 전력을 계산함으로써 생성된 누설 전력 데이터를 획득하는 단계, 파형 데이터 및 누설 전력 데이터에 기초하여, 회로 설계의 누설 전력 모델을 생성하는 단계, 및 누설 전력 모델에 기초하여 테스트 입력 신호들에 따라 회로 설계를 기능 시뮬레이션함으로써 회로 설계의 누설 전력을 추정하는 단계를 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 누설 전력 모델은, 단위 구간 동안 회로 설계의 입력 신호들 각각의 평균 레벨들에 대응하는 누설 전력의 단위 구간 동안 평균을 제공하는, 룩업 테이블을 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 누설 전력 모델은, 단위 구간 동안 회로 설계의 입력 신호들 각각의 평균 레벨들로부터 누설 전력의 단위 구간 동안 평균을 계산하는, 선형 함수를 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 누설 전력 데이터는, 파형 데이터에 동기된 누설 전력의 그래프를 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 누설 전력 모델을 생성하는 단계는, 단위 구간 마다 레퍼런스 입력 신호들 각각의 평균 레벨들을 계산하는 단계, 및 단위 구간 마다 누설 전력의 평균을 계산하는 단계를 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 누설 전력 모델을 생성하는 단계는, 레퍼런스 입력 신호들 각각의 평균 레벨들이 상호 동일한 단위 구간들을 하나의 단위 구간으로 그룹핑하고, 그룹핑된 단위 구간들의 누설 전력들의 평균들의 평균값을 계산하는 단계를 더 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 회로 설계는 클락 입력을 포함할 수 있고, 단위 구간은, 클락 입력에 인가되는 클락 신호의 주기(cycle)의 배수일 수 있다.
본 개시의 예시적 실시예에 따라, 누설 전력 모델을 생성하는 단계는, 제1 단위 구간에서, 레퍼런스 입력 신호들 각각의 제1 평균 레벨들 및 누설 전력의 제1 평균을 계산하는 단계, 및 제2 단위 구간에서, 레퍼런스 입력 신호들 각각의 제2 평균 레벨들 및 누설 전력의 제2 평균을 계산하는 단계를 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 누설 전력 모델을 생성하는 단계는, 제1 평균 레벨들 및 제2 평균 레벨들이 동일한 경우, 제1 단위 구간 및 제2 단위 구간을 하나의 단위 구간으로 그룹핑하고, 제1 평균 및 제2 평균의 평균값을 계산하는 단계를 더 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 누설 전력을 추정하는 단계는, 단위 구간 동안 테스트 입력 신호들 각각의 평균 레벨들을 누설 전력 모델에 제공하는 단계, 및 단위 구간 마다 누설 전력 모델의 출력을 기록하는 단계를 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 누설 전력을 추정하는 방법은, 회로 설계의 입력 신호들의 조건을 획득하는 단계, 및 난수 및 입력 신호들의 조건에 기초하여, 레퍼런스 입력 신호들을 생성하는 단계를 더 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 회로 설계는, 복수의 소자들 및 복수의 소자들의 연결관계를 정의하는 네트리스트를 포함할 수 있다.
본 개시의 예시적 실시예에 따라, 파형 데이터는, VCD(Value Change Dump) 포맷 및 FSDB(Fast Signal DataBase) 포맷 중 적어도 하나를 가질 수 있다.
본 개시의 기술적 사상의 일측면에 따라 회로 설계의 누설 전력을 추정하기 위한 컴퓨터로 구현되는 방법은, 레퍼런스 입력 신호들에 따라 회로 설계를 기능 시뮬레이션함으로써 생성된 파형 데이터를 획득하는 단계, 파형 데이터에 따라 회로 설계의 소비 전력을 계산함으로써 생성된 누설 전력 데이터를 획득하는 단계, 파형 데이터 및 누설 전력 데이터에 기초하여, 회로 설계의 누설 전력 모델을 생성하는 단계, 및 누설 전력 모델에 기초하여 테스트 입력 신호들에 따라 회로 설계를 기능 시뮬레이션함으로써 회로 설계의 누설 전력을 추정하는 단계를 포함할 수 있다.
본 개시의 기술적 사상의 일측면에 따라 적어도 하나의 프로세서에 의해서 실행시 회로 설계의 누설 전력을 추정하기 위한 동작들을 수행하도록 컴퓨터로 실행가능한 명령어들을 저장하는 비일시적인 저장 매체로서, 동작들은, 레퍼런스 입력 신호들에 따라 회로 설계를 기능 시뮬레이션함으로써 생성된 파형 데이터를 획득하는 단계, 파형 데이터에 따라 회로 설계의 소비 전력을 계산함으로써 생성된 누설 전력 데이터를 획득하는 단계, 파형 데이터 및 누설 전력 데이터에 기초하여, 회로 설계의 누설 전력 모델을 생성하는 단계, 및 누설 전력 모델에 기초하여 테스트 입력 신호들에 따라 회로 설계를 기능 시뮬레이션함으로써 회로 설계의 누설 전력을 추정하는 단계를 포함할 수 있다.
본 개시의 예시적 실시예에 따라 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법에 의하면, 회로 설계의 누설 전력을 낮은 계산 복잡도로서 정확하게 추정할 수 있다.
또한, 본 개시의 예시적 실시예에 따라 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법에 의하면, 회로 설계의 동작에 따라 누설 전력의 양상을 나타내는 그래프가 획득될 수 있고, 이에 따라 집적 회로의 설계자는 회로 설계의 누설 전력의 특성을 정확하게 파악할 수 있다.
또한, 본 개시의 예시적 실시예에 따라 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법에 의하면, 회로 설계의 입력 신호에 대응하는 누설 전력을 획득할 수 있고, 이에 따라 보다 실제적인 누설 전력이 조기에 추정될 수 있다.
또한, 본 개시의 예시적 실시예에 따라 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법에 의하면, 집적 회로를 제조하기 위한 과정의 초기 단계에서 회로 설계의 누설 전력이 정확하게 추정됨으로써, 집적 회로를 설계하는데 걸리는 시간을 현저하게 단축시킬 수 있고, 최적의 성능을 가지는 집적 회로가 조기에 설계 및 제조될 수 있다.
도 1은 본 개시의 예시적 실시예에 따라 회로 설계의 누설 전력을 조기에 추정하기 위한 방법을 나타내는 순서도이다.
도 2는 본 개시의 예시적 실시예에 따른 회로 설계를 나타내는 블록도이다.
도 3은 본 개시의 예시적 실시예에 따라 도 2의 회로 설계의 입력 신호들 및 출력 신호들의 예시를 나타내는 타이밍도이다.
도 4는 본 개시의 예시적 실시예에 따른 데이터의 흐름을 나타내는 블록도이다.
도 5는 본 개시의 예시적 실시예에 따라 도 1의 단계 S600의 예시를 나타내는 순서도이다.
도 6은 본 개시의 예시적 실시예에 따라 누설 전력 모델을 생성하는 동작의 예시를 나타내는 타이밍도이다.
도 7은 본 개시의 예시적 실시예에 따른 누설 전력 모델의 예시를 나타내는 도면이다.
도 8은 본 개시의 예시적 실시예에 따라 누설 전력 모델을 생성하는 방법을 나타내는 순서도이다.
도 9는 본 개시의 예시적 실시예에 따라 도 8의 방법에 따라 수행되는 동작의 예시를 나타낸다.
도 10은 본 개시의 예시적 실시예에 따른 데이터의 흐름을 나타내는 블록도이다.
도 11은 본 개시의 예시적 실시예에 따라 도 1의 단계 S800의 예시를 나타내는 순서도이다.
도 12는 본 개시의 예시적 실시예에 따라 레퍼런스 입력 신호들을 생성하는 방법을 나타내는 순서도이다.
도 13은 본 개시의 예시적 실시예에 따른 집적 회로를 제조하기 위한 방법을 나타내는 순서도이다.
도 14는 본 개시의 예시적 실시예에 따른 컴퓨팅 시스템을 나타내는 블록도이다.
도 15는 본 개시의 예시적 실시예에 따른 저장 매체를 도시하는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수개의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 벗어나지 않으면서, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 개시의 예시적 실시예에 따라 회로 설계의 누설 전력을 조기에 추정하기 위한 방법을 나타내는 순서도이다. 도 1에 도시된 바와 같이, 회로 설계의 누설 전력을 조기에 추정하기 위한 방법은, 복수의 단계들(S200, S400, S600, S800)을 포함할 수 있다.
도 1의 방법은, 집적 회로를 제조하기 위하여 회로 설계의 누설 전력을 추정하는 임의의 시스템에 의해서 수행될 수 있다. 일부 실시예들에서, 도 1의 방법은 적어도 하나의 프로세서 및 적어도 하나의 프로세서에 의해서 실행가능한 명령어들을 저장하는 메모리를 포함하는 컴퓨팅 시스템에 의해서 수행될 수 있다. 예를 들면, 컴퓨팅 시스템은, 데스크탑 컴퓨터, 서버 등과 같은 고정형(stationary) 컴퓨팅 시스템뿐만 아니라, 랩탑 컴퓨터, 스마트 폰 등과 같은 휴대용(mobile) 컴퓨팅 시스템을 포함할 수 있다.
회로 설계(circuit design)는 집적 회로 또는 집적 회로에 포함된 기능 블록(function block)을 정의하는 임의의 데이터를 지칭할 수 있다. 예를 들면, 도 13을 참조하여 후술되는 바와 같이, 집적 회로는 집적 회로의 제조 과정에서 RTL 데이터, 네트리스트 데이터, 레이아웃 데이터 등으로 정의될 수 있다. 본 명세서에서, 집적 회로에 포함되는 소자들(또는 표준 셀들) 및 소자들의 연결관계를 정의하는 네트리스트가 회로 설계로서 주로 설명될 것이나, 본 개시의 예시적 실시예들에 이에 제한되지 아니하는 점은 이해될 것이다.
도 1을 참조하면, 단계 S200에서 레퍼런스 입력 신호들에 대응하는 회로 설계의 파형 데이터를 획득하는 동작이 수행될 수 있다. 일부 실시예들에서, 회로 설계를 레퍼런스 입력 신호들에 따라 기능 시뮬레이션(functional simulation)함으로써 파형 데이터가 획득될 수 있다. 레퍼런스 입력 신호들은 회로 설계의 입력들(또는 입력 포트들)에 인가되는 입력 신호들로서 회로 설계의 다양한 누설 전력들을 획득하기 위하여 입력 신호들의 다양한 조합들을 포함할 수 있다. 레퍼런스 입력 신호들을 생성하는 예시는 도 12를 참조하여 후술될 것이다.
파형 데이터는 회로 설계의 입력 신호들, 내부 신호들 및 출력 신호들을 시간의 흐름에 따라 나타내는 데이터를 지칭할 수 있다. 예를 들면, 파형 데이터는 입력 신호들, 내부 신호들 및 출력 신호들의 레벨들의 변화를 시간의 흐름에 따라 나타낼 수 있다. 회로 설계의 신호들 각각은 하이 레벨(예컨대, 양의 공급 전압) 또는 로우 레벨(예컨대, 접지 전압)을 가질 수 있고, 본 명세서에서 하이 레벨을 가지는 신호는 '1'의 값을 가지는 것으로서 지칭될 수 있는 한편 로우 레벨을 가지는 신호는 '0'의 값을 가지는 것으로서 지칭될 수 있다. 일부 실시예들에서, 파형 데이터는, 도 4를 참조하여 후술되는 바와 같이, VCD(Value Change Dump) 포맷 및 및 FSDB(Fast Signal DataBase) 포맷 중 적어도 하나를 가질 수 있다.
단계 S400에서, 파형 데이터에 대응하는 누설 전력 데이터를 획득하는 동작이 수행될 수 있다. 일부 실시예들에서, 단계 S200에서 획득된 파형 데이터에 따라 회로 설계의 소비 전력을 계산함으로써 생성된 누설 전력 데이터가 획득될 수 있다. 회로 설계(또는 집적 회로)의 소비 전력은 동적(dynamic) 전력 및 정적(static) 전력을 포함할 수 있다. 동적 전력은 신호의 천이(transition)에 기인하여 소비되는 전력을 지칭할 수 있는 한편, 정적 전력은 신호의 레벨이 유지되는 동안 소비되는 전력을 지칭할 수 있다. 본 명세서에서 누설 전력은 정적 전력을 지칭할 수 있고, 누설 전력 데이터는 회로 설계의 계산된 소비 전력 중 정적 전력에 대한 정보를 포함할 수 있다. 일부 실시예들에서, 도 6을 참조하여 후술되는 바와 같이, 누설 전력 데이터는 파형 데이터에 동기된(synchronized) 누설 전력(또는 정적 전력)의 그래프를 포함할 수 있다.
단계 S600에서, 누설 전력 모델을 생성하는 동작이 수행될 수 있다. 누설 전력 모델은 회로 설계에 대응할 수 있고, 회로 설계의 입력 신호들에 따른 회로 설계의 누설 전력을 제공할 수 있다. 일부 실시예들에서, 누설 전력 모델은, 단위 구간 동안 회로 설계의 입력 신호들 각각의 평균 레벨들에 대응하는 누설 전력의 단위 구간 동안 평균을 제공하는 룩업 테이블(lookup table)을 포함할 수 있다. 또한, 일부 실시예들에서, 누설 전력 모델은, 단위 구간 동안 회로 설계의 입력 신호들 각각의 평균 레벨들로부터 누설 전력의 단위 구간 동안 평균을 계산하는 선형 함수를 포함할 수 있다. 단계 S600의 예시는 도 5를 참조하여 후술될 것이다.
단계 S800에서, 회로 설계의 누설 전력을 추정하는 동작이 수행될 수 있다. 일부 실시예들에서, 누설 전력 모델에 기초하여 테스트 입력 신호들에 따라 회로 설계를 기능 시뮬레이션함으로써 회로 설계의 누설 전력이 추정될 수 있다. 이에 따라, 기능 시뮬레이션을 통해서 회로 설계의 누설 전력이 추정될 수 있고, 테스트 입력 신호들에 따른 누설 전력, 즉 누설 전력의 파형이 획득될 수 있다. 테스트 입력 신호에 따른 누설 전력의 파형은 회로 설계의 누설 전력을 용이하게 분석하는 것을 가능하게 할 수 있다. 또한, 회로 설계의 타이밍 분석 대신 기능 시뮬레이션을 통해서 누설 전력이 추정됨으로써, 누설 전력의 추정에 소요되는 시간이 단축될 수 있을 뿐만 아니라 조기에 실제적인 누설 전력이 추정될 수 있다. 결과적으로, 집적 회로를 설계하는데 걸리는 시간이 현저하게 단축될 수 있고, 최적의 성능을 가지는 집적 회로가 조기에 설계 및 제조될 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 회로 설계(20)를 나타내는 블록도이고, 도 3은 본 개시의 예시적 실시예에 따라 도 2의 회로 설계(20)의 입력 신호들 및 출력 신호들의 예시를 나타내는 타이밍도이다. 구체적으로, 도 3의 타이밍도는 도 2의 회로 설계(20)를 기능 시뮬레이션함으로써 획득되는 파형을 나타낸다. 도해의 편의상, 본 명세서에 첨부된 타이밍도에서 신호들의 지연, 예컨대 전파 지연, 게이트 지연 등은 생략될 수 있다.
도 1을 참조하여 전술된 바와 같이, 회로 설계(20)는 집적 회로 또는 집적 회로에 포함된 기능 블록을 정의하는 임의의 데이터일 수 있다. 회로 설계(20)는 입력들(IN1 내지 INm)을 포함할 수 있고(m은 1보다 큰 정수), 출력들(OUT1 내지 OUTn)을 포함할 수 있다(n은 1보다 큰 정수). 일부 실시예들에서, 도 2의 회로 설계(20)와 상이하게, 회로 설계는 하나의 입력 및/또는 하나의 출력을 포함할 수도 있다. 입력들(IN1 내지 INm)에 인가되는 신호들(즉, 입력 신호들) 및 출력들(OUT1 내지 OUTn)에서 생성되는 신호들(즉, 출력 신호들) 각각은 0 또는 1의 값을 가질 수 있다.
일부 실시예들에서, 회로 설계(20)의 입력들(IN1 내지 INm)은 클락 입력을 포함할 수 있다. 예를 들면, 도 3에 도시된 바와 같이, 회로 설계(20)의 제1 입력(IN1)은 클락 입력일 수 있고, 주기(T_CLK)에 따라 진동하는 클락 신호가 제1 입력(IN1)에 인가될 수 있다. 회로 설계(20)는 제1 입력(IN1)에 인가되는 클락 신호에 동기하여 동작할 수 있다. 예를 들면, 회로 설계(20)는 클락 신호의 상승 에지(rising edge)에 동기하여 입력들(IN1 내지 INm)에 인가된 입력 신호들을 처리함으로써 출력들(OUT1 내지 OUTn)에서 출력 신호들을 생성할 수 있다.
도 4는 본 개시의 예시적 실시예에 따른 데이터의 흐름을 나타내는 블록도이다. 도 1의 예시와 비교할 때, 도 4에서 회로 설계는 네트리스트 데이터(D41)에 대응할 수 있고, 파형 데이터는 VCD 데이터(D45)(및/또는 FSDB 데이터)에 대응할 수 있으며, 레퍼런스 입력 신호들은 레퍼런스 입력 데이터(D43)에 대응할 수 있다.
도 4를 참조하면, 네트리스트 데이터(D41) 및 레퍼런스 입력 데이터(D43)가 기능 시뮬레이터(42)에 제공될 수 있다. 기능 시뮬레이터(42)는 레퍼런스 입력 데이터(D43)에 포함된 입력 신호들에 따라 네트리스트 데이터(D41)에 의해서 정의된 회로 설계를 시뮬레이션함으로써, 회로 설계의 입력 신호들, 내부 신호들 및 출력 신호들의 시간에 따른 값들(또는 레벨들)을 나타내는 VCD 데이터(D45)를 생성할 수 있다. 일부 실시예들에서, 기능 시뮬레이터(42)는 일련의 명령어들을 포함하는 소프트웨어 블록으로서 프로세서 및 디스플레이 장치를 포함하는 컴퓨팅 시스템에서 실행될 수 있고, 기능 시뮬레이터(42)는 VCD 데이터(D45)에 기초하여 입력 신호들, 내부 신호들 및 출력 신호들의 파형들을 디스플레이 장치에 디스플레이할 수 있다.
네트리스트 데이터(D41) 및 VCD 데이터(D45)가 전력 계산기(44)에 제공될 수 있다. 전력 계산기(44)는 VCD 데이터(D45)에 의해서 정의되는 신호들의 값들에 따라 네트리스트 데이터(D41)에 의해서 정의되는 회로 설계에서 소비되는 전력을 계산할 수 있다. 전력 계산기(44)는 VCD 데이터(D45)에 동기된, 회로 설계의 소비 전력의 그래프를 생성할 수 있다. 일부 실시예들에서, 전력 계산기(44)는 일련의 명령어들을 포함하는 소프트웨어 블록으로서 프로세서 및 디스플레이 장치를 포함하는 컴퓨팅 시스템에서 실행될 수 있고, 전력 계산기(44)는 회로 설계의 소비 전력의 그래프를 디스플레이 장치에 디스플레이할 수 있다. 또한, 전력 계산기(44)는 회로 설계의 동적 전력 및 정적 전력을 구분하여 계산할 수 있고, 계산된 정적 전력에 기초하여 누설 전력 데이터(D47)를 생성할 수 있다. 도 1을 참조하여 전술된 바와 같이, 누설 전력 데이터(D47)는 VCD 데이터(D45)에 동기된 누설 전력의 그래프를 포함할 수 있다.
VCD 데이터(D45) 및 누설 전력 데이터(D47)는 모델 생성기(46)에 제공될 수 있고, 모델 생성기(46)는 VCD 데이터(D45) 및 누설 전력 데이터(D47)에 기초하여 네트리스트 데이터(D41)에 의해서 정의되는 회로 설계에 대응하는 누설 전력 모델(D49)을 생성할 수 있다. 일부 실시예들에서, 누설 전력 모델(D49)은 단위 구간 동안 회로 설계의 입력 신호들 각각의 평균 레벨들에 대응하는 누설 전력의 단위 구간 동안 평균을 제공하는 룩업 테이블을 포함할 수 있다. 또한, 일부 실시예들에서, 누설 전력 모델은, 단위 구간 동안 회로 설계의 입력 신호들 각각의 평균 레벨들로부터 누설 전력의 단위 구간 동안 평균을 계산하는 선형 함수를 포함할 수 있다. 일부 실시예들에서, 모델 생성기(46)는 일련의 명령어들을 포함하는 소프트웨어 블록으로서, 프로세서를 포함하는 컴퓨팅 시스템에서 실행될 수 있다. 모델 생성기(46)의 동작의 예시, 즉 도 1의 단계 S600의 예시는 도 5를 참조하여 설명될 것이다.
도 5는 본 개시의 예시적 실시예에 따라 도 1의 단계 S600의 예시를 나타내는 순서도이고, 도 6은 본 개시의 예시적 실시예에 따라 누설 전력 모델을 생성하는 동작의 예시를 나타내는 타이밍도이다. 도 1 및 도 4를 참조하여 전술된 바와 같이, 도 5의 단계 S600'에서 누설 전력 모델을 생성하는 동작이 수행될 수 있고, 도 5에 도시된 바와 같이 단계 S600'은 복수의 단계들(S620, S640, S660, S680)을 포함할 수 있다. 예를 들면, 도 5의 단계 S600'은 도 4의 모델 생성기(46)에 의해서 수행될 수 있고, 이하에서 도 5 및 도 6은 도 1 및 도 4를 참조하여 설명될 것이다.
일부 실시예들에서, 누설 전력 모델은 단위 구간 동안 회로 설계의 입력 신호들 각각의 평균 레벨들에 대응하는 누설 전력의 단위 구간 동안 평균을 제공하는 룩업 테이블을 포함할 수 있다. 예를 들면, 모델 생성기(46)는 파형 데이터(예컨대, 도 4의 D45)에 의해서 정의된 시간 구간을 r개의 단위 구간들로 분할할 수 있다(r은 1보다 큰 정수). 단위 구간은 일정한 길이를 가지는 시간 구간으로서, 일부 실시예들에서 클락 입력으로 인가되는 클락 신호의 주기의 배수로서 정의될 수 있다. 예를 들면, 도 6에 도시된 바와 같이, 단위 구간(PER)은 클락 신호의 주기(T_CLK)의 10배에 대응하도록 정의될 수 있다. 단위 구간의 길이는 누설 전력 모델의 분해능(resolution)과 연관될 수 있고, 요구되는 누설 전력의 수준 및 계산 복잡도에 따라 조절될 수 있다. 본 명세서에서 단위 구간은, 도 6에 도시된 바와 같이, 클락 신호의 주기(T_CLK)의 10배에 대응하는 것으로 가정되나, 본 개시의 예시적 실시예들이 이에 제한되지 아니하는 점은 이해될 것이다.
단계 S620에서, 초기화 동작이 수행될 수 있다. 예를 들면, 도 5에 도시된 바와 같이, 현재 단위 구간(또는 제i 단위 구간)(PERi)을 제1 단위 구간(PER1)으로 설정하는 동작이 수행될 수 있다. 도 5에서 변수 i는 r개의 단위 구간들 중 하나를 나타내는 인덱스를 나타낼 수 있다(1≤i≤r).
단계 S640에서, 레퍼런스 입력 신호들 각각의 평균 레벨들을 계산하는 동작이 수행될 수 있다. 레퍼런스 입력 신호의 평균 레벨은 단위 구간 동안 레퍼런스 입력 신호가 가지는 레벨들의 평균을 지칭할 수 있고, 레퍼런스 입력 신호가 0 또는 1의 값을 가지므로 평균 레벨은 0이상 1이하의 값을 가질 수 있다. 이에 따라, 평균 레벨은 단위 구간 동안 입력 신호가 1의 값을 가지는 확률을 나타낼 수도 있다. 예를 들면, 도 6에 도시된 바와 같이, 단위 구간(PER)에서 m-비트수의 입력 신호들(IN[1:m])은 단위 구간(PER) 동안 다양한 값들을 가질 수 있다. 또한, m개의 입력들(IN1 내지 INm) 중 제1 입력(IN1)에 인가되는 제1 입력 신호(IN[1])의 평균 레벨(IN[1]AVG)이 계산될 수 있고, 1 입력 신호(IN[1])의 평균 레벨(IN[1]AVG)은 도 6에 도시된 바와 같이, 단위 구간(PER)에서 0이상 1이하의 값을 가질 수 있다. 이와 같이, 단위 구간 마다 레퍼런스 입력들 각각의 평균 레벨들이 계산될 수 있다.
단계 S660에서, 누설 전력의 평균을 계산하는 동작이 수행될 수 있다. 예를 들면, 도 6에 도시된 바와 같이, 누설 전력 데이터(예컨대, 도 4의 D47)는 시간에 따라 변동하는 누설 전력(PWR)의 그래프를 포함할 수 있다. 단위 구간(PER) 동안 누설 전력(PWR)이 변동할 수 있고, 단위 구간(PER)에서 누설 전력(PWR)의 평균(PWRAVG)은 일정한 값으로 계산될 수 있다. 이와 같이, 단위 구간 마다 누설 전력의 평균이 계산될 수 있다.
단계 S680에서, 현재 단위 구간(PERi)이 마지막 단위 구간(PERr)인지 여부를 판단하는 동작이 수행될 수 있다. 다르게는, 단계 S680에서, 변수 i가 r과 일치하는지 여부를 판단하는 동작이 수행될 수 있다. 도 5에 도시된 바와 같이, 현재 단위 구간(PERi)이 마지막 단위 구간(PERr)인 경우 단계 S600'은 종료할 수 있다. 다른 한편으로, 현재 단위 구간(PERi)이 마지막 단위 구간(PERr)이 아닌 경우 단계 S630이 후속하여 수행될 수 있고, 단계 S630에서 변수 i를 1만큼 증가시키는 동작이 수행될 수 있다. 그 다음에, 단계 S640 및 단계 S660에서 다음 단위 구간(PERi)에 대응하는 평균들을 계산하는 동작들이 수행될 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 누설 전력 모델의 예시를 나타내는 도면이다. 예를 들면, 도 7은 도 5의 단계 S600'이 수행됨으로써 획득되는 평균들을 포함하는 누설 전력 모델을 나타낸다. 일부 실시예들에서, 도 7에 도시된 바와 같이, 누설 전력 모델은 r개의 단위 구간들에 대응하는 평균들을 포함하는 테이블(T7)을 포함할 수 있다. 이하에서, 도 7은 도 5 및 도 6을 참조하여 설명될 것이다.
도 5를 참조하여 전술된 바와 같이, 단계 S600'이 완료된 후 복수의 단위 구간들 각각에 대응하는 레퍼런스 입력 신호들 각각의 평균 레벨들 및 누설 전력의 평균이 획득될 수 있다. 예를 들면, 도 7에 도시된 바와 같이, 테이블(T7)은 r개의 단위 구간들(PER1 내지 PERr)에 따라 정렬된ㅡ 입력 신호들(IN[1:m])의 평균 레벨들(IN[1]AVG 내지 IN[m]AVG)의 값들(예컨대, X11 등) 및 누설 전력의 평균(PWRAVG)의 값들(예컨대, P1 등)을 포함할 수 있다. 이에 따라, 테이블(T7)은 집적 회로의 설계자가 회로 설계를 검증하고자 회로 설계에 인가하는 테스트 입력 신호들에 대응하는 누설 전력을 출력하는 룩업 테이블로서 기능할 수 있다. 이를 위하여, 도 11을 참조하여 후술되는 바와 같이, 단위 구간에서 테스트 입력 신호들의 평균 레벨들이 계산될 수 있고, 테이블(T7)에 기초하여 단위 구간에 대응하는 누설 전력의 값이 추정될 수 있다.
도 8은 본 개시의 예시적 실시예에 따라 누설 전력 모델을 생성하는 방법을 나타내는 순서도이고, 도 9는 본 개시의 예시적 실시예에 따라 도 8의 방법에 따라 수행되는 동작의 예시를 나타낸다. 일부 실시예들에서, 도 8의 단계 S690은 도 1의 단계 S600에 포함될 수 있고, 예컨대 도 5의 단계 S680에서 마지막 단위 구간(PERr)에 대한 동작이 완료된 후 수행될 수 있다. 또한, 일부 실시예들에서, 도 8의 단계 S690은 도 4의 모델 생성기(46)에 의해서 수행될 수 있다. 도 8에 도시된 바와 같이, 단계 S690은 복수의 단계들(S692, S694, S696)을 포함할 수 있고, 이하에서 도 8은 도 5를 참조하여 설명될 것이다.
단계 S692에서, 평균 레벨들에 기초하여 단위 구간들을 그룹핑하는 동작이 수행될 수 있다. 예를 들면, 모델 생성기(46)는 도 5의 예시에 따라 도출된 r개의 단위 구간들 중, 입력 신호들(IN[1:m])의 동일한 평균 레벨들을 가지는 2이상의 단위 구간들을 하나의 단위 구간으로 그룹핑할 수 있다. 예를 들면, 도 9의 상부에 도시된 바와 같이, 테이블(T9a)에서 제i 단위 구간(PERi) 및 제j 단위 구간(PERj)은 입력 신호들의 평균 레벨들의 동일한 값들, 즉 0.2, 0.5 및 0.3을 가질 수 있다(1≤i≤r, 1≤j≤r). 이에 따라, 모델 생성기(46)는 도 9의 하부에 도시된 바와 같이, 제i 단위 구간(PERi) 및 제j 단위 구간(PERj)을 하나의 단위 구간, 즉 제k 단위 구간(PERk)으로 그룹핑할 수 있고, 제k 단위 구간(PERk)은 제i 단위 구간(PERi) 및 제j 단위 구간(PERj)의 누설 전류의 평균값들, 즉 0.5 및 0.4의 평균인 0.45를 누설 전류의 평균(PWRAVG)으로서 가질 수 있다. 이에 따라, 테이블(T9a)은 테이블(T9b)로 변형될 수 있고, 테이블(T9b)은 테이블(T9a)보다 작거나 같은 수의 행들을 포함할 수 있다.
단계 S696에서, 선형 모델을 생성하는 동작이 수행될 수 있다. 예를 들면, 모델 생성기(46)는 단계 S692에서 정리된 테이블, 예컨대 도 9의 테이블(T9b)에 기초하여 입력 신호들의 평균들(IN[1]AVG, IN[2]AVG, IN[3]AVG)에 대한 선형 함수로서 누설 전력의 평균(PWRAVG)을 나타낼 수 있다. 이를 일반화하면 아래 [수학식 1]과 같이 표현될 수 있다.
Figure 112018113309213-pat00001
[수학식 1]에서 상수(a) 및 계수들(b, c, d 등)은, 단계 S692에서 변형된 테이블에 포함된 값들로부터 다양한 방식에 따라 도출될 수 있다. 이에 따라, 회로 설계에 대응하는 누설 전력 모델은 회로 설계에 제공되는 입력 신호들의 선형 함수로서 모델링될 수 있다. 일부 실시예들에서, 누설 전력 모델은 단계 S692에서 변형된 테이블에 기초하여 비선형 함수, 예컨대 지수 함수, 로그 함수 등으로 정의될 수도 있다. 또한, 일부 실시예들에서, 도 8을 참조하여 전술된 바와 같이, 테이블(T9b)은 누설 전력 모델로서 룩업 테이블로 기능할 수 있고, 이 경우 단계 S696는 생략될 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 데이터의 흐름을 나타내는 블록도이다. 도 1의 예시와 비교할 때, 도 10에서 회로 설계는 RTL 데이터(D11)에 대응할 수 있고, 누설 전력 모델(D15)을 생성하는데 사용된 네트리스트 데이터(예컨대, 도 4의 D41)와 동일할 수 있다.
도 10을 참조하면, RTL 데이터(D11) 및 테스트 입력 데이터(D13)가 기능 시뮬레이터(10)에 제공될 수 있다. 기능 시뮬레이터(10)는 도 4의 기능 시뮬레이터(42)와 유사하게, 테스트 입력 데이터(D13)에 정의된 입력 신호들에 따라 RTL 데이터(D11)에 의해서 정의된 회로 설계를 시뮬레이션함으로써, 회로 설계의 입력 신호들, 내부 신호들 및 출력 신호들의 값들(또는 레벨들)을 도출할 수 있다. 또한, 누설 전력 모델(D15)이 기능 시뮬레이터(10)에 제공될 수 있고, 기능 시뮬레이터(10)는 시뮬레이션 과정에서 누설 전력 모델(D15)에 기초하여 누설 전력 파형 데이터(D17)를 생성할 수 있다. 일부 실시예들에서, 누설 전력 모델(D15)은 VPI(Verilog Procedural Interface) 포맷으로 기능 시뮬레이터(10)에 제공될 수 있다. 일부 실시예들에서, 기능 시뮬레이터(10)는 일련의 명령어들을 포함하는 소프트웨어 블록으로서 디스플레이 장치를 포함하는 컴퓨팅 시스템에서 실행될 수 있고, 기능 시뮬레이터(10)는 누설 전력 파형 데이터(D17)에 기초하여 누설 전력의 파형을 디스플레이 장치에 디스플레이할 수 있다. 이에 따라, 누설 전력 파형 데이터(D17)는 회로 설계의 추정된 누설 전력을 시간의 흐름에 따라 나타낼 수 있고, 설계자는 누설 전력의 파형을 참조하여 회로 설계를 검증하거나 재설계할 수 있다. 일부 실시예들에서, 도 10의 기능 시뮬레이터(10)는 도 4의 기능 시뮬레이터(42)와 동일할 수 있다.
도 11은 본 개시의 예시적 실시예에 따라 도 1의 단계 S800의 예시를 나타내는 순서도이다. 도 1을 참조하여 전술된 바와 같이, 도 11의 단계 S800'에서, 회로 설계의 누설 전력을 추정하는 동작이 수행될 수 있고, 도 11에 도시된 바와 같이 단계 S800'은 단계 S820 및 단계 S840을 포함할 수 있다. 예를 들면, 도 11의 단계 S800'은 도 10의 기능 시뮬레이터(10)에 의해서 수행될 수 있고, 이하에서 도 11은 도 10을 참조하여 설명될 것이다.
단계 S820에서, 테스트 입력 신호들 각각의 평균 레벨들을 누설 전력 모델(D15)에 제공하는 동작이 수행될 수 있다. 예를 들면, 기능 시뮬레이터(10)는 누설 전력 모델(D15)의 생성에 사용된 단위 구간과 동일한 길이의 단위 구간들마다 테스트 입력 신호들 각각의 평균 레벨들을 누설 전력 모델(D15)에 제공할 수 있다. 일부 실시예들에서, 누설 전력 모델(D15)이 룩업 테이블(예컨대, 도 7의 T7, 도 9의 T9b 등)을 포함하는 경우, 누설 전력 모델(D15)은 테스트 입력 신호들 각각의 평균 레벨들에 응답하여 룩업 테이블에 포함된 누설 전력의 평균(PAVG)의 값을 출력할 수 있다. 일부 실시예들에서, 누설 전력 모델(D15)이 [수학식 1]과 같은 선형 함수를 포함하는 경우, 누설 전력 모델(D15)은 테스트 입력 신호들 각각의 평균 레벨들에 의해서 계산된 누설 전력의 평균(PAVG)을 출력할 수 있다.
단계 S840에서, 누설 전력 모델(D15)의 출력을 기록하는 동작이 수행될 수 있다. 예를 들면, 기능 시뮬레이터(10)는 단위 구간 마다 누설 전력 모델(D15)의 출력을 단위 구간의 정보와 함께 기록할 수 있다. 이에 따라, 누설 전력의 파형이 생성될 수 있고, 누설 전력의 파형을 포함하는 누설 전력 파형 데이터(D17)가 생성될 수 있다.
도 12는 본 개시의 예시적 실시예에 따라 레퍼런스 입력 신호들을 생성하는 방법을 나타내는 순서도이다. 일부 실시예들에서, 도 12의 단계 S100은 도 1의 단계 S200 이전에 수행될 수 있다. 예를 들면, 단계 S100은 도 4의 모델 생성기(46)에 의해서 수행될 수 있다. 도 12에 도시된 바와 같이, 단계 S100은 단계 S120 및 단계 S140을 포함할 수 있고, 이하에서 도 12는 도 1을 참조하여 설명될 것이다.
단계 S120에서, 회로 설계의 입력 신호들의 조건을 획득하는 동작이 수행될 수 있다. 예를 들면, 도 2 등을 참조하여 전술된 바와 같이, 회로 설계의 입력들은 클락 입력을 포함할 수 있고, 클락 입력에 인가되는 클락 신호의 주기, 천이 시간 등이 조건으로서 미리 정의될 수 있다. 또한, 회로 설계의 입력들은 리셋 입력을 포함할 수 있고, 리셋 입력에 인가되는 리셋 신호가 초기에 일정 시간 동안 활성화되고(예컨대, '1'의 값을 가지고) 이후 비활성화되는(예컨대, '0'의 값을 가지는) 조건이 미리 정의될 수도 있다. 모델 생성기(46)는 이와 같은 조건을 충족하도록, 후속하는 단계 S140에서 회로 설계의 입력들 중 적어도 하나에 인가되는 적어도 하나의 입력 신호의 값들을 생성할 수 있다.
단계 S140에서, 난수(D12)에 기초하여 레퍼런스 입력 신호들을 생성하는 동작이 수행될 수 있다. 난수(D12)는 다양한 방식으로 생성될 수 있고, 예컨대 난수 생성기 또는 의사(pseudo) 난수 생성기에 의해서 생성될 수 있다. 모델 생성기(46)는 단계 S120에서 획득된 조건에 의해서 특정된 입력 신호 및 입력 신호의 구간을 제외한 범위에서, 난수(D12)에 기초하여 임의의 값들을 가지는 레퍼런스 입력 신호들을 생성할 수 있다.
도 13은 본 개시의 예시적 실시예에 따른 집적 회로를 제조하기 위한 방법을 나타내는 순서도이다. 도 13에 도시된 바와 같이, 집적 회로를 제조하기 위한 방법은 누설 전력을 추정하는 단계 S20을 포함할 수 있다.
셀 라이브러리(D32)는 복수의 셀들에 관한 정보, 예컨대 기능 정보, 특성 정보, 레이아웃 정보 등을 포함할 수 있다. 셀(cell)은 집적 회로에 포함되는 레이아웃의 단위로서, 집적 회로는 다수의 다양한 셀들을 포함할 수 있다. 일부 실시예들에서, 셀들은 표준 셀(standard cell)로서 지칭될 수 있고, 미리 정해진 규격을 준수하는 구조, 예컨대 일정한 높이를 가질 수 있고 대향하는 경계에 한 쌍의 파워 레일들을 포함할 수 있다.
단계 S10에서, RTL 데이터(D31)로부터 네트리스트 데이터(D33)를 생성하는 논리 합성이 수행될 수 있다. 예를 들면, 반도체 설계 툴(예컨대, 논리 합성 툴)은, 비제한적인 예시로서 VHDL(VHSIC Hardware Description Language) 및 Verilog와 같은 HDL(Hardware Description Language)로서 작성된 RTL 데이터(D31)로부터 셀 라이브러리(D32)를 참조하여 논리 합성을 수행함으로써, 비트스트림(bitstream) 또는 네트리스트를 포함하는 네트리스트 데이터(D33)를 생성할 수 있다.
단계 S20에서, 누설 전력을 추정하는 동작이 수행될 수 있다. 도면들을 참조하여 전술된 바와 같이, 네트리스트 데이터(D33)는 집적 회로를 정의하는 데이터로서 회로 설계로서 지칭될 수 있고, 회로 설계의 누설 전력은, 예컨대 도 4의 기능 시뮬레이터(42), 전력 계산기(44) 및 모델 생성기(46)에 의해서 추정될 수 있다. 추정된 누설 전력에 기초하여 설계자는 회로 설계를 변경하거나 검증할 수 있다. 설계자는 회로 설계를 변경하는 경우 신규 RTL 데이터(D31)를 작성할 수 있고, 단계 S10에서 논리 합성을 수행함으로써 네트리스트 데이터(D33)가 생성될 수 있으며, 단계 S20에서 신규 회로 설계의 누설 전력이 다시 추정될 수 있다.
단계 S30에서, 네트리스트 데이터(D33)로부터 레이아웃 데이터(D34)를 생성하는 배치 및 라우팅(Place & Routing; P&R)이 수행될 수 있다. 레이아웃 데이터(D34)는, 예컨대 GDSII와 같은 포맷을 가질 수 있고, 셀들 및 셀들을 전기적으로 상호연결하는 와이어들의 기하학적 정보를 포함할 수 있다. 이에 따라, 네트리스트 데이터(D33)와 유사하게, 레이아웃 데이터(D34)는 집적 회로를 정의하는 데이터로서 지칭될 수 있다.
단계 S40에서, OPC(Optical Proximity Correction)가 수행될 수 있다. OPC는 집적 회로를 제조하기 위한 반도체 공정에 포함되는 포토리소그래피(photolithography)에서 빛의 특성에 기인하는 굴절 등의 왜곡 현상을 보정함으로써 원하는 모양의 패턴을 형성하기 위한 작업을 지칭할 수 있다. 레이아웃 데이터(D34)로부터 적어도 하나의 마스크를 제작하기 위한 데이터가 추출될 수 있고, 추출된 데이터에 OPC가 적용됨으로써 마스크상의 패턴이 결정될 수 있다. 일부 실시예들에서, 집적 회로의 레이아웃은 단계 S40에서 제한적으로 변형될 수 있다. 단계 S40에서 집적 회로의 레이아웃을 제한적으로 변형하는 것은, 집적 회로의 구조를 최적화하기 위한 후처리로서, 디자인 폴리싱(design polishing)으로 지칭될 수 있다.
단계 S50에서, 마스크를 제작(making)하는 동작이 수행될 수 있다. 예를 들면, 레이아웃 데이터(D34)에 OPC를 적용함에 따라 복수의 층들에 형성된 패턴들을 형성하기 위하여 마스크상의 패턴들이 정의될 수 있고, 복수의 층들 각각의 패턴들을 형성하기 위한 적어도 하나의 마스크(또는, 포토마스크)가 제작될 수 있다.
단계 S60에서, 집적 회로를 제조(manufacturing)하는 동작이 수행될 수 있다. 예를 들면, 단계 S50에서 제작된 적어도 하나의 마스크를 사용하여 복수의 층들이 패터닝됨으로써 집적 회로가 제조될 수 있다. 도 13에 도시된 바와 같이, 단계 S60은 단계 S61 및 단계 S62를 포함할 수 있다.
단계 S61에서, FEOL(front-end-of-line) 공정이 수행될 수 있다. FEOL은 집적 회로 제조 과정에서 개별 소자들, 예컨대 트랜지스터, 캐패시터, 저항 등을 기판에 형성하는 과정을 지칭할 수 있다. 예를 들면, FEOL은 웨이퍼를 평탄화(planarization)하고 세정(cleaning)하는 단계, 트랜치(trench)를 형성하는 단계, 웰(well)을 형성하는 단계, 게이트(gate) 라인을 형성하는 단계, 소스 및 드레인을 형성하는 단계 등을 포함할 수 있다. FEOL 공정에 의해서 형성되는 부분은 FEOL 영역으로서 지칭될 수 있고, 예컨대 활성 영역, 확산 영역, 게이트 라인, 컨택 등을 포함할 수 있다.
단계 S62에서, BEOL(back-end-of-line) 공정이 수행될 수 있다. BEOL은 집적 회로 제조 과정에서 개별 소자들, 예컨대 트랜지스터, 캐패시터, 저항 등을 상호연결하는 과정을 지칭할 수 있다. 예를 들면, BEOL은 게이트, 소스 및 드레인 영역을 실리사이드화(silicidation)하는 단계, 유전체를 부가하는 단계, 평탄화 단계, 홀을 형성하는 단계, 금속층을 부가하는 단계, 비아를 형성하는 단계, 패시베이션(passivation)층을 형성하는 단계 등을 포함할 수 있다. BEOL 공정에 의해서 형성되는 부분은 BEOL 영역으로서 지칭될 수 있고, 예컨대 비아, 금속층 패턴 등을 포함할 수 있다. 그 다음에, 집적 회로는 반도체 패키지에 패키징될 수 있고, 다양한 어플리케이션들의 부품으로서 사용될 수 있다.
도 14는 본 개시의 예시적 실시예에 따른 컴퓨팅 시스템(300)을 나타내는 블록도이다. 일부 실시예들에서, 본 개시의 예시적 실시예에 따른 회로 설계의 누설 전력을 조기에 추정하는 방법은, 도 14의 컴퓨팅 시스템(300)에 의해서 수행될 수 있다. 도 14에 도시된 바와 같이, 컴퓨팅 시스템(300)은 메모리(310), 적어도 하나의 프로세서(330), 스토리지(350), 입출력 장치들(370) 및 통신 접속들(390)을 포함할 수 있다. 컴퓨팅 시스템(300)에 포함된 구성요소들은, 예컨대 버스를 통해서 상호 통신가능하게 연결될 수 있다.
메모리(310)는 프로그램(312), 누설 전력 모델(314) 및 결과 데이터(316)를 포함할 수 있다. 일부 실시예들에서, 프로그램(312), 누설 전력 모델(314) 및 결과 데이터(316)는 스토리지(350)에 저장될 수 있고, 스토리지(350)에 저장된 프로그램(312), 누설 전력 모델(314) 및 결과 데이터(316) 중 적어도 일부가 메모리(310)에 로딩될 수도 있다. 메모리(310)는, 비제한적인 예시로서, SRAM(Static Random Access Memory), DRAM(Dynamic Random Access Memory)와 같은 휘발성 메모리를 포함할 수도 있고, 플래시 메모리(flash memory) 등과 같은 비휘발성 메모리를 포함할 수도 있다.
프로그램(312)은 적어도 하나의 프로세서(330)로 하여금 본 개시의 예시적 실시예들에 따른 집적 회로를 제조하기 위한 방법의 적어도 일부 또는 회로 설계의 누설 전력을 조기에 추정하기 위한 방법을 수행하도록 할 수 있다. 예를 들면, 프로그램(312)은 적어도 하나의 프로세서(330)에 의해서 실행가능한(executable) 복수의 명령어들(instructions)을 포함할 수 있고, 프로그램(312)에 포함된 복수의 명령어들이 적어도 하나의 프로세서(330)에 의해서 실행됨으로써 본 개시의 예시적 실시예에 따른 방법의 적어도 일부가 수행될 수 있다.
누설 전력 모델(314)은, 일부 실시예들에서 룩업 테이블을 포함할 수도 있고, 일부 실시예들에서 선형 함수를 포함할 수도 있다. 도면들을 참조하여 전술된 바와 같이, 누설 전력 모델(314)은 테스트 입력 신호들 각각의 평균들에 응답하여 누설 전력을 제공할 수 있다.
결과 데이터(316)는 적어도 하나의 프로세서(330)에 의해서 처리된 데이터 및/또는 컴퓨팅 시스템(300)의 외부로부터 수신된 데이터를 포함할 수 있다. 예를 들면, 결과 데이터(316)는 도 4의 네트리스트 데이터(D41), 레퍼런스 입력 데이터(D43), VCD 데이터(D45) 및 누설 전력 데이터(D47) 중 적어도 일부를 포함할 수 있고, 도 10의 RTL 데이터(D11), 테스트 입력 데이터(D13) 및 누설 전력 파형 데이터(D17) 중 적어도 일부를 포함할 수 있다.
적어도 하나의 프로세서(330)는 임의의 명령어 세트(예컨대, IA-32(Intel Architecture-32), 64 비트 확장 IA-32, x86-64, PowerPC, Sparc, MIPS, ARM, IA-64 등)을 실행할 수 있는 적어도 하나의 코어를 포함할 수 있다. 적어도 하나의 프로세서(330)는 시스템 메모리(310)에 저장된 명령어들을 실행할 수 있으며, 프로그램(312)을 실행함으로써 본 개시의 예시적 실시예에 따른 방법 중 적어도 일부를 수행할 수 있다.
스토리지(350)는 컴퓨팅 시스템(300)에 공급되는 전력이 차단되더라도 저장된 데이터를 소실하지 아니할 수 있다. 예를 들면, 스토리지(350)는 EEPROM(Electrically Erasable Programmable Read-Only Memory), 플래시 메모리(flash memory), PRAM(Phase Change Random Access Memory), RRAM(Resistance Random Access Memory), NFGM(Nano Floating Gate Memory), PoRAM(Polymer Random Access Memory), MRAM(Magnetic Random Access Memory), FRAM(Ferroelectric Random Access Memory) 등과 같은 비휘발성 메모리를 포함할 수도 있고, 자기 테이프, 광학 디스크, 자기 디스크와 같은 저장 매체를 포함할 수도 있다. 일부 실시예들에서, 스토리지(350)는 컴퓨팅 시스템(300)으로부터 탈착 가능할 수도 있다. 일부 실시예들에서, 스토리지(350)는 프로그램 언어로 작성된 파일을 저장할 수 있고, 파일로부터 컴파일러 등에 의해서 생성된 프로그램(312) 또는 그것의 적어도 일부가 시스템 메모리(310)로 로딩될 수도 있다.
일부 실시예들에서, 스토리지(350)는 적어도 하나의 프로세서(330)에 의해서 처리될 데이터 및/또는 적어도 하나의 프로세서(330)에 의해서 처리된 데이터를 저장할 수 있다. 예를 들면, 스토리지(350)는 도 10의 RTL 데이터(D11) 및 누설 전력 파형 데이터(D17)를 저장할 수도 있고, 본 개시의 예시적 실시예에 따른 방법이 수행되는 중에 생성된 데이터, 예컨대 도 4의 VCD 데이터(D45) 및 누설 전력 데이터(D47)를 저장할 수도 있다.
입출력 장치들(370)은 키보드, 포인팅 장치 등과 같은 입력 장치를 포함할 수 있고, 디스플레이 장치, 프린터 등과 같은 출력 장치를 포함할 수 있다. 예를 들면, 사용자는 입출력 장치들(370)을 통해서, 적어도 하나의 프로세서(330)에 의한 프로그램(312)의 실행을 트리거할 수도 있고, 도 4의 네트리스트 데이터(D41)를 입력할 수도 있고, 도 12의 단계 S120에서 획득되는 회로 설계의 입력들의 조건을 입력할 수도 있다.
통신 접속들(390)은 컴퓨팅 시스템(300) 외부의 네트워크에 대한 액세스를 제공할 수 있다. 예를 들면, 네트워크는 다수의 컴퓨팅 시스템들 및 통신 링크들을 포함할 수 있고, 통신 링크들은 유선 링크들, 광학 링크들, 무선 링크들 또는 임의의 다른 형태의 링크들을 포함할 수 있다.
도 15는 본 개시의 예시적 실시예에 따른 저장 매체(400)를 도시하는 블록도이다. 도 15에 대한 설명 중 도 14에 대한 설명과 중복되는 내용은 생략될 것이다. 저장 매체(400)는 컴퓨터에 명령어들 및/또는 데이터를 제공하는데 사용되는 동안 컴퓨터에 의해 독출될 수 있는 임의의 저장 매체를 포함할 수 있다. 예를 들면, 저장 매체(400)는 디스크, 테이프, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW 등과 같은 자기 또는 광학 매체, RAM, ROM, 플래시 메모리 등과 같은 휘발성 또는 비휘발성 메모리, USB 인터페이스를 통해서 엑세스 가능한 비휘발성 메모리, 그리고 MEMS(microelectromechanical systems) 등을 포함할 수 있다. 저장 매체(400)는 컴퓨터에 삽입 가능하거나, 컴퓨터 내에 집적되거나, 네트워크 및/또는 무선 링크와 같은 통신 매개체를 통해서 컴퓨터와 결합될 수 있다.
도 15를 참조하면, 저장 매체(400)는 컴퓨터로 읽을 수 있는 비일시적인(non-transitory) 저장 매체로서, 누설 전력 모델(410), 네트리스트 데이터(420), 프로그램(430) 및 레퍼런스 입력 데이터(440)를 포함할 수 있다. 비록 도 15에서, 누설 전력 모델(410), 네트리스트 데이터(420), 프로그램(430) 및 레퍼런스 입력 데이터(440)는 하나의 저장 매체(400)에 저장된 것으로 도시되었으나, 일부 실시예들에서 상이한 저장 매체들에 각각 저장될 수도 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명하였으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (20)

  1. 컴퓨터로 실행가능한 명령어들을 저장하는 메모리; 및
    상기 컴퓨터로 실행가능한 명령어들을 실행함으로써, 입력 신호들이 인가되는 입력들을 포함하는 회로 설계의 누설 전력을 추정하는 방법을 수행하도록 구성된 적어도 하나의 프로세서를 포함하고,
    상기 누설 전력을 추정하는 방법은,
    레퍼런스 입력 신호들에 따라 상기 회로 설계를 기능 시뮬레이션함으로써 생성된 파형 데이터를 획득하는 단계;
    상기 파형 데이터에 따라 상기 회로 설계의 소비 전력을 계산함으로써 생성되고 상기 파형 데이터에 동기된 누설 전력의 그래프를 포함하는, 누설 전력 데이터를 획득하는 단계;
    상기 파형 데이터 및 상기 누설 전력 데이터에 기초하여, 상기 회로 설계의 누설 전력 모델을 생성하는 단계; 및
    상기 누설 전력 모델에 기초하여 테스트 입력 신호들에 따라 상기 회로 설계를 기능 시뮬레이션함으로써 상기 회로 설계의 누설 전력을 추정하는 단계를 포함하고,
    상기 누설 전력 모델을 생성하는 단계는,
    단위 구간 마다 상기 레퍼런스 입력 신호들 각각의 평균 레벨들을 계산하는 단계; 및
    상기 단위 구간 마다 상기 누설 전력의 평균을 계산하는 단계를 포함하고,
    상기 누설 전력을 추정하는 단계는, 상기 단위 구간 동안 상기 테스트 입력 신호들 각각의 평균 레벨들을 상기 누설 전력 모델에 제공하는 단계를 포함하는 것을 특징으로 하는 시스템.
  2. 청구항 1에 있어서,
    상기 누설 전력 모델은, 단위 구간 동안 상기 입력들에 인가되는 상기 입력 신호들 각각의 평균 레벨들에 대응하는 상기 누설 전력의 단위 구간 동안 평균을 제공하는, 룩업 테이블을 포함하는 것을 특징으로 하는 시스템.
  3. 청구항 2에 있어서,
    상기 누설 전력 모델을 생성하는 단계는, 상기 룩업 테이블에 기초하여 선형 함수로서 상기 누설 전력 모델을 생성하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  4. 청구항 1에 있어서,
    상기 누설 전력 모델은, 단위 구간 동안 상기 입력들에 인가되는 상기 입력 신호들 각각의 평균 레벨들로부터 상기 누설 전력의 단위 구간 동안 평균을 계산하는, 선형 함수를 포함하는 것을 특징으로 하는 시스템.
  5. 삭제
  6. 청구항 1에 있어서,
    상기 누설 전력 모델을 생성하는 단계는, 상기 레퍼런스 입력 신호들 각각의 평균 레벨들이 상호 동일한 단위 구간들을 하나의 단위 구간으로 그룹핑하고, 그룹핑된 상기 단위 구간들의 누설 전력들의 평균들의 평균값을 계산하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  7. 청구항 1에 있어서,
    상기 회로 설계는 클락 입력을 포함하고,
    상기 단위 구간은, 상기 클락 입력에 인가되는 클락 신호의 주기(cycle)의 배수인 것을 특징으로 하는 시스템.
  8. 청구항 1에 있어서,
    상기 누설 전력 모델을 생성하는 단계는,
    제1 단위 구간에서, 상기 레퍼런스 입력 신호들 각각의 제1 평균 레벨들 및 상기 누설 전력의 제1 평균을 계산하는 단계; 및
    제2 단위 구간에서, 상기 레퍼런스 입력 신호들 각각의 제2 평균 레벨들 및 상기 누설 전력의 제2 평균을 계산하는 단계를 포함하는 것을 특징으로 하는 시스템.
  9. 청구항 8에 있어서,
    상기 누설 전력 모델을 생성하는 단계는, 상기 제1 평균 레벨들 및 상기 제2 평균 레벨들이 동일한 경우, 상기 제1 단위 구간 및 상기 제2 단위 구간을 하나의 단위 구간으로 그룹핑하고, 상기 제1 평균 및 상기 제2 평균의 평균값을 계산하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  10. 청구항 1에 있어서,
    상기 누설 전력을 추정하는 단계는, 단위 구간 마다 상기 누설 전력 모델의 출력을 기록하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  11. 청구항 1에 있어서,
    상기 누설 전력을 추정하는 방법은,
    상기 회로 설계의 입력 신호들의 조건을 획득하는 단계; 및
    난수 및 상기 입력 신호들의 조건에 기초하여, 상기 레퍼런스 입력 신호들을 생성하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  12. 청구항 1에 있어서,
    상기 회로 설계는, 복수의 소자들 및 상기 복수의 소자들의 연결관계를 정의하는 네트리스트를 포함하는 것을 특징으로 하는 시스템.
  13. 청구항 1에 있어서,
    상기 파형 데이터는, VCD(Value Change Dump) 포맷 및 FSDB(Fast Signal DataBase) 중 적어도 하나를 가지는 것을 특징으로 하는 시스템.
  14. 입력 신호들이 인가되는 입력들을 포함하는 회로 설계의 누설 전력을 추정하기 위한 컴퓨터로 구현되는 방법으로서,
    레퍼런스 입력 신호들에 따라 상기 회로 설계를 기능 시뮬레이션함으로써 생성된 파형 데이터를 획득하는 단계;
    상기 파형 데이터에 따라 상기 회로 설계의 소비 전력을 계산함으로써 생성되고 상기 파형 데이터에 동기된 누설 전력의 그래프를 포함하는, 누설 전력 데이터를 획득하는 단계;
    상기 파형 데이터 및 상기 누설 전력 데이터에 기초하여, 상기 회로 설계의 누설 전력 모델을 생성하는 단계; 및
    상기 누설 전력 모델에 기초하여 테스트 입력 신호들에 따라 상기 회로 설계를 기능 시뮬레이션함으로써 상기 회로 설계의 누설 전력을 추정하는 단계를 포함하고,
    상기 누설 전력 모델을 생성하는 단계는,
    단위 구간 마다 상기 레퍼런스 입력 신호들 각각의 평균 레벨들을 계산하는 단계; 및
    상기 단위 구간 마다 상기 누설 전력의 평균을 계산하는 단계를 포함하고,
    상기 누설 전력을 추정하는 단계는, 상기 단위 구간 동안 상기 테스트 입력 신호들 각각의 평균 레벨들을 상기 누설 전력 모델에 제공하는 단계를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  15. 청구항 14에 있어서,
    상기 누설 전력 모델은, 단위 구간 동안 상기 입력들에 인가되는 상기 입력 신호들 각각의 평균 레벨들에 대응하는 상기 누설 전력의 단위 구간 동안 평균을 제공하는, 룩업 테이블을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  16. 청구항 14에 있어서,
    상기 누설 전력 모델은, 단위 구간 동안 상기 입력들에 인가되는 상기 입력 신호들 각각의 평균 레벨들로부터 상기 누설 전력의 단위 구간 동안 평균을 계산하는, 선형 함수를 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  17. 삭제
  18. 삭제
  19. 청구항 14에 있어서,
    상기 누설 전력 모델을 생성하는 단계는, 상기 레퍼런스 입력 신호들 각각의 평균 레벨들이 상호 동일한 단위 구간들을 하나의 단위 구간으로 그룹핑하고, 그룹핑된 상기 단위 구간들의 누설 전력들의 평균들의 평균값을 계산하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  20. 적어도 하나의 프로세서에 의해서 실행시, 입력 신호들이 인가되는 입력들을 포함하는 회로 설계의 누설 전력을 추정하기 위한 동작들을 수행하도록 컴퓨터로 실행가능한 명령어들을 저장하는 비일시적인 저장 매체로서, 상기 동작들은,
    레퍼런스 입력 신호들에 따라 상기 회로 설계를 기능 시뮬레이션함으로써 생성된 파형 데이터를 획득하는 단계;
    상기 파형 데이터에 따라 상기 회로 설계의 소비 전력을 계산함으로써 생성되고 상기 파형 데이터에 동기된 누설 전력 그래프를 포함하는, 누설 전력 데이터를 획득하는 단계;
    상기 파형 데이터 및 상기 누설 전력 데이터에 기초하여, 상기 회로 설계의 누설 전력 모델을 생성하는 단계; 및
    상기 누설 전력 모델에 기초하여 테스트 입력 신호들에 따라 상기 회로 설계를 기능 시뮬레이션함으로써 상기 회로 설계의 누설 전력을 추정하는 단계를 포함하고,
    상기 누설 전력 모델을 생성하는 단계는,
    단위 구간 마다 상기 레퍼런스 입력 신호들 각각의 평균 레벨들을 계산하는 단계; 및
    상기 단위 구간 마다 상기 누설 전력의 평균을 계산하는 단계를 포함하고,
    상기 누설 전력을 추정하는 단계는, 상기 단위 구간 동안 상기 테스트 입력 신호들 각각의 평균 레벨들을 상기 누설 전력 모델에 제공하는 단계를 포함하는 것을 특징으로 하는 비일시적인 저장 매체.
KR1020180140031A 2018-11-14 2018-11-14 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법 Active KR102089083B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180140031A KR102089083B1 (ko) 2018-11-14 2018-11-14 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법
US16/682,866 US10878155B2 (en) 2018-11-14 2019-11-13 System and method for estimating leakage power of circuit design at early stage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180140031A KR102089083B1 (ko) 2018-11-14 2018-11-14 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR102089083B1 true KR102089083B1 (ko) 2020-03-16

Family

ID=69948496

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180140031A Active KR102089083B1 (ko) 2018-11-14 2018-11-14 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법

Country Status (2)

Country Link
US (1) US10878155B2 (ko)
KR (1) KR102089083B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112287626B (zh) * 2020-10-26 2022-05-06 浙江大学 基于静态时序信息的开关电流模型拟合功耗变化波形方法
WO2023272615A1 (zh) * 2021-06-30 2023-01-05 华为技术有限公司 一种静态功耗估计方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005071360A (ja) * 2003-08-22 2005-03-17 Internatl Business Mach Corp <Ibm> リーク電流感度(leakagecurrentsensitivity)を求め、それを用いて集積回路の設計を最適化する方法
JP2008234240A (ja) * 2007-03-20 2008-10-02 Fujitsu Ltd 消費電力解析方法及び消費電力解析装置
KR20100025951A (ko) * 2008-08-28 2010-03-10 삼성전자주식회사 반도체 소자의 누설전류 예측 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7793239B2 (en) * 2006-04-24 2010-09-07 International Business Machines Corporation Method and system of modeling leakage
US8275331B2 (en) * 2009-04-21 2012-09-25 Qualcomm, Incorporated PA gain state switching based on waveform linearity
KR101139603B1 (ko) 2010-08-24 2012-04-27 광운대학교 산학협력단 클럭 게이팅 집적 회로 장치의 소비 전력 예측 방법
US20160217239A1 (en) * 2015-01-22 2016-07-28 Synopsys, Inc. Method and system for selecting stimulation signals for power estimation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005071360A (ja) * 2003-08-22 2005-03-17 Internatl Business Mach Corp <Ibm> リーク電流感度(leakagecurrentsensitivity)を求め、それを用いて集積回路の設計を最適化する方法
JP2008234240A (ja) * 2007-03-20 2008-10-02 Fujitsu Ltd 消費電力解析方法及び消費電力解析装置
KR20100025951A (ko) * 2008-08-28 2010-03-10 삼성전자주식회사 반도체 소자의 누설전류 예측 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
김종규, 이준환. 클럭 게이팅 적용회로의 상위수준 전력 모델링. Journal of The Institute of Electronics and Information Engineers. Vol.52, No.10, October 2015. 56-63쪽 *

Also Published As

Publication number Publication date
US20200151296A1 (en) 2020-05-14
US10878155B2 (en) 2020-12-29

Similar Documents

Publication Publication Date Title
US10902173B2 (en) System for designing integrated circuit using extracted model parameter and method of manufacturing integrated circuit using the same
CN106886623B (zh) 用于设计具有布局前rc信息的集成电路的系统
EP1989647B1 (en) Computation of electrical properties of an ic layout
KR20190135550A (ko) 셀 레벨 레이아웃 의존성 응력 효과들을 사용하는 셀의 배치 및 라우팅
US9122833B2 (en) Method of designing fin field effect transistor (FinFET)-based circuit and system for implementing the same
TW201802712A (zh) 用於積體電路設計之方法
US10747916B2 (en) Parameter generation for modeling of process-induced semiconductor device variation
JP2010020372A (ja) 遅延ライブラリ、遅延ライブラリの作成方法、および遅延計算方法
US20170344692A1 (en) Computer-implemented method of designing an integrated circuit
US20160342719A1 (en) Parameter generation for semiconductor device trapped-charge modeling
US20180231604A1 (en) Computer implemented methods and computing systems for designing integrated circuits by considering back-end-of-line
KR102089083B1 (ko) 회로 설계의 누설 전력을 조기에 추정하기 위한 시스템 및 방법
US8850374B2 (en) Method of reducing parasitic mismatch
JP3926296B2 (ja) 半導体集積回路の性能分散系算出装置及びその算出方法
JPWO2012081158A1 (ja) 回路シミュレーション方法及び半導体集積回路
TWI824233B (zh) 具有漏電流中的統計變化之動態隨機存取記憶體通路電晶體的設計
TWI777210B (zh) 用於設計上下文感知電路的方法
US7036096B1 (en) Estimating capacitances using information including feature sizes extracted from a netlist
JP4871194B2 (ja) パラメータ抽出方法及び当該パラメータ抽出方法を実行させるプログラムを具備するコンピュータ読み取り可能な記憶媒体
JP2005196265A (ja) 遅延ライブラリ作成方法および遅延ライブラリ作成装置
US12204839B2 (en) Method for integrated circuit design
JP2009276822A (ja) 半導体デバイス設計支援装置及び半導体デバイス設計支援方法
US20190332934A1 (en) Apparatus and method for manufacturing integrated circuit including clock network
KR20230144396A (ko) 셀 라이브러리, 로컬 레이아웃 효과를 고려한 집적 회로를 설계하기 위한 컴퓨팅 시스템 및 집적 회로 설계 방법
CN116127910A (zh) 时钟树布放方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20181114

PA0201 Request for examination
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20191028

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20200222

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20200309

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20200310

End annual number: 3

Start annual number: 1

PG1601 Publication of registration