KR101134440B1 - 집적 회로의 온도 예측 방법 및 이를 이용한 집적 회로의 플로어플래닝 방법 - Google Patents

집적 회로의 온도 예측 방법 및 이를 이용한 집적 회로의 플로어플래닝 방법 Download PDF

Info

Publication number
KR101134440B1
KR101134440B1 KR1020110034567A KR20110034567A KR101134440B1 KR 101134440 B1 KR101134440 B1 KR 101134440B1 KR 1020110034567 A KR1020110034567 A KR 1020110034567A KR 20110034567 A KR20110034567 A KR 20110034567A KR 101134440 B1 KR101134440 B1 KR 101134440B1
Authority
KR
South Korea
Prior art keywords
gratings
integrated circuit
function
equation
distance
Prior art date
Application number
KR1020110034567A
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 KR1020110034567A priority Critical patent/KR101134440B1/ko
Application granted granted Critical
Publication of KR101134440B1 publication Critical patent/KR101134440B1/ko

Links

Images

Classifications

    • 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/2851Testing of integrated circuits [IC]
    • G01R31/2855Environmental, reliability or burn-in testing
    • G01R31/2872Environmental, reliability or burn-in testing related to electrical or environmental aspects, e.g. temperature, humidity, vibration, nuclear radiation
    • G01R31/2874Environmental, reliability or burn-in testing related to electrical or environmental aspects, e.g. temperature, humidity, vibration, nuclear radiation related to temperature
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/10Measuring as part of the manufacturing process
    • H01L22/14Measuring as part of the manufacturing process for electrical parameters, e.g. resistance, deep-levels, CV, diffusions by electrical means

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Manufacturing & Machinery (AREA)
  • Power Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

집적 회로의 온도 예측 방법에서는, 복수의 회로 소자들을 포함하는 집적 회로의 플로어플랜을 복수의 동일한 크기의 정사각형 격자들로 나누고, 격자들 사이의 거리를 변수로 하고, 격자들 사이의 거리에 반비례하는 값을 가지는 상호 격자 함수를 선택하고, 상호 격자 함수와 격자들 각각에 대한 전력 밀도를 이용하여 격자들 각각에 대한 복수의 열 지표들을 획득하며, 복수의 열 지표들에 기초하여 집적 회로의 온도를 예측한다.

Description

집적 회로의 온도 예측 방법 및 이를 이용한 집적 회로의 플로어플래닝 방법{METHOD FOR DETECTING TEMPERATURE OF AN INTEGRATED CIRCUIT AND METHOD OF FLOORPLANNING USING THE SAME}
본 발명은 집적 회로의 온도를 예측하는 방법에 관한 것으로, 보다 상세하게는 열 지표를 이용하여 집적 회로의 온도를 예측하는 방법 및 이를 이용한 집적 회로의 플로어플래닝 방법에 관한 것이다.
반도체 공정 기술이 발전되면서, 칩 성능의 향상과 집적도 증가로 칩 내부의 전력 밀도가 급격히 증가하고 있다. 이는 칩의 동작 온도를 증가시키게 되었으며, 고온으로 인한 칩의 성능 저하가 문제가 되고 있다. 이러한 문제로는 지연시간의 증가, 칩 내부에서 전자이동으로 인한 회로의 변경(electromigration)의 가속화, 누설 전류의 증가 등이 있다. 구체적으로, 알루미늄 배선의 온도가 25℃에서 100℃(일반적인 고성능 마이크로프로세서의 동작 온도)로 증가함에 따라 지연시간이 30% 정도 증가한다. 또한 Electromigration의 가속화는 고장 날 때까지의 평균 시간(Mean Time To Failure; MTTF)의 감소를 가져온다. MTTF의 감소는 더 빠른 시간 안에 금속 배선이 끊어지는 것을 의미한다. 온도가 25℃에서 52.5℃로 증가함에 따라 MTTF는 90% 감소한다. 또한 온도가 증가함에 따라 누설되는 전류량이 증가하여 칩 전체의 전력 소모량의 40% 이상(100nm 반도체 공정의 경우)을 누설 전력이 차지하게 된다.
이러한 문제점들을 해결하기 위해서 집적 회로의 플로어플래닝 단계에서 온도를 예측하여 최대 온도가 낮은 블록 배치를 얻는 것이 필요하다. 온도가 높은 블록들끼리 서로 떨어지게 배치함으로써 칩의 최대 온도를 낮출 수 있기 때문이다. 여기서 플로어플랜(floorplan)이란 집적 회로에 포함되는 회로 소자 블록들의 평면적 배치를 뜻한다. 일례로 Alpha 21364 프로세서의 경우, 온도를 고려한 플로어플래닝을 수행하여 칩의 최대 온도를 37℃까지 낮출 수 있다. 시뮬레이티드 어닐링을 기반으로 한 플로어플래닝은 다수의 새로운 블록 배치도를 반복적으로 생성한 다음 그 배치를 평가하게 되는데, 이때 각 블록들의 위치를 계산하고 전체 칩 면적과 배선 길이를 측정하며 이 과정에서 수십 또는 수백 마이크로세크(μs)가 소요된다. 상기 과정을 높은 온도에서 낮은 온도까지 낮춰가면서 최적의 플로어플랜이 생성될 때까지 수차례 반복하므로 일반적으로 면적이 큰 집적 회로의 경우 플로어플래닝에 수 시간이 걸리기도 한다. 또한 각각의 플로어플랜에 대한 열 분석을 통해 최대 온도를 계산하는데 일반적으로 이 과정에서도 많은 시간이 소요된다. 따라서 평가단계와 비슷한 수행 시간을 소요하는 빠른 열 분석 방법이 요구된다.
기존의 열 분석 방법들은 2차 미분 방정식으로 이루어진 열전도 방정식을 직접 푸는데 기반을 두고 있다. 상기 열전도 방정식을 통해 평형 상태에서의 집적 회로의 온도를 구할 수 있다. 상기 열전도 방정식을 효율적으로 풀기 위해 RC 모델링과 열저항 네트워크 모델이 제안되었는데, 두 방법 모두 플로어플랜에서 블록 크기가 큰 경우 온도 예측이 부정확하고, 온도를 예측하는데 너무 많은 시간이 걸려 실용성이 없는 문제가 있다.
그 결과, 그린함수(Green's function)를 이용하여 온도를 계산하는 방법이 제시되었다. 그린함수란 라플라시안(Laplacian) 연산을 수행한 결과가 델타 함수가 되는 함수를 뜻한다. 상기 그린함수를 이용하면 열전도 방정식에 포함된 2차 편미분을 하지 않고 간단한 적분을 통해 온도를 구할 수 있다. 그러나 상기 방법 또한 그린함수의 조건을 만족하는 함수들이 복잡하여 그린함수를 포함하는 식의 연산에 많은 시간이 소모되므로 실제 플로어플래닝에 적용하기에는 실용성이 떨어진다는 단점이 있다. 따라서, 직접 온도를 계산하지 않고, 온도를 나타낼 수 있는 일종의 열 지표를 설정하여 상기 열 지표를 구함으로써 간접적으로 온도를 예측하는 방법이 요구된다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 근사화된 그린함수를 포함하는 열 지표를 이용하여 집적 회로의 온도를 예측하는 방법을 제공하는 것이다.
본 발명의 다른 목적은 상기 온도 예측 방법을 이용하여 집적 회로의 플로어플래닝을 수행하는 방법을 제공하는 것이다.
다만, 본 발명의 해결하고자 하는 과제는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법에서는, 복수의 회로 소자들을 포함하는 집적 회로의 플로어플랜을 복수의 동일한 크기의 정사각형 격자들로 나누고, 상기 격자들 사이의 거리를 변수로 하고, 상기 격자들 사이의 거리에 반비례하는 값을 가지는 상호 격자 함수를 선택하고, 상기 상호 격자 함수와 상기 격자들 각각에 대한 전력 밀도를 이용하여 상기 격자들 각각에 대한 복수의 열 지표(thermal index)들을 획득하며, 상기 복수의 열 지표들에 기초하여 상기 집적 회로의 온도를 예측한다.
상기 상호 격자 함수에 라플라시안(Laplacian) 연산을 수행한 결과는 상기 격자들 사이의 거리가 0일 때 무한대 값을 갖고, 상기 격자들 사이의 거리가 일정 거리 이하일 때는 상기 격자들 사이의 거리에 반비례하게 감소하고, 상기 격자들 사이의 거리가 상기 일정 거리 이상일 때는 0의 값을 가진다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법에서, 상기 상호 격자 함수는 하기의 [수학식 1]을 만족할 수 있다.
[수학식 1]
Figure 112011027360464-pat00001
상기의 [수학식 1]에서 i 및 j는 양의 정수이고, 각각 임의의 두 개의 격자에 대응하는 번호를 나타낸다. dij는 i 번째 격자와 j 번째 격자의 중심 간의 거리,
Figure 112011027360464-pat00002
는 상호 격자 함수를 나타낸다. R1, R2, 및 c는 상수이며, c는 dij = R1일 때,
Figure 112011027360464-pat00003
에 라플라시안 연산을 수행한 결과가 연속 함수가 되게 하기 위한 상수이고, R2는 열 지표를 구하는 연산에 관여하는 격자들의 개수를 조절하는 상수이다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법에서, 상기 열 지표는 하기의 [수학식 2]를 만족하고, 하기의 [수학식 2]의 연산은 상기 격자들 각각에 대해 수행될 수 있다.
[수학식 2]
Figure 112011027360464-pat00004
상기의 [수학식 2]에서 i 및 j는 양의 정수이고, 각각 임의의 두 개의 격자에 대응하는 번호를 나타낸다.
Figure 112011027360464-pat00005
는 상호 격자 함수,
Figure 112011027360464-pat00006
는 j 번째 격자에서의 전력 밀도,
Figure 112011027360464-pat00007
는 i 번째 격자에 대한 열 지표를 나타낸다.
본 발명의 일 목적을 달성하기 위하여, 상기 복수의 회로 소자들을 포함하는 집적 회로의 플로어플랜을 복수의 동일한 크기의 정사각형 격자들로 나눔에 있어서, 상기 격자의 한 변의 길이는 상기 복수의 열 지표 중 최대값과 상기 집적 회로의 최대 온도 사이의 상관 관계 값의 감소를 최소화시키면서 상기 열 지표를 구하는 연산의 속도를 증가시키는 임계 길이로 결정될 수 있다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법에서, 상기 임계 길이는 상기 집적 회로에 포함되는 회로 소자들 각각에 대응하는 블록들의 면적의 평균값에 비례할 수 있다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법에서, 상기 복수의 열 지표 중 최대값과 상기 집적 회로의 최대 온도 사이의 상관 관계는 상기 격자의 한 변의 길이가 상기 임계 길이 이하일 때는 0.7 이상 1.0 이하의 값을 가지고, 상기 격자의 한 변의 길이가 상기 임계 길이 이상일 때는 상기 격자의 한 변의 길이에 반비례하게 감소할 수 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법에서는, 시뮬레이티드 어닐링을 통해 복수의 회로 소자들을 포함하는 집적 회로에 대한 복수의 플로어플랜을 생성하고, 상기 각각의 플로어플랜을 복수의 동일한 크기의 정사각형 격자들로 나누고, 상기 격자들 사이의 거리를 변수로 하고, 상기 격자들 사이의 거리에 반비례하는 값을 가지는 상호 격자 함수를 선택하고, 상기 상호 격자 함수와 상기 격자들 각각에 대한 전력 밀도를 이용하여 상기 격자들 각각에 대한 복수의 열 지표들을 획득하고, 상기 열 지표를 이용하여 상기 집적 회로의 각각의 플로어플랜에 대한 목표 함수를 획득하며, 상기 목표 함수 값의 차이에 기초하여 상기 복수의 플로어플랜 중 상기 목표 함수 값이 가장 작은 플로어플랜을 선택한다.
상기 목표 함수는 상기 시뮬레이티드 어닐링 수행시 상기 각각의 플로어플랜에 대응되는 에너지이다.
상기 상호 격자 함수에 라플라시안 연산을 수행한 결과는 상기 격자들 사이의 거리가 0일 때 무한대 값을 갖고, 상기 격자들 사이의 거리가 일정 거리 이하일 때는 상기 격자들 사이의 거리에 반비례하게 감소하고, 상기 격자들 사이의 거리가 상기 일정 거리 이상일 때는 0의 값을 가진다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법에서, 상기 상호 격자 함수는 하기의 [수학식 3]을 만족할 수 있다.
[수학식 3]
Figure 112011027360464-pat00008
상기의 [수학식 3]에서 i 및 j는 양의 정수이고, 각각 임의의 두 개의 격자에 대응하는 번호를 나타낸다. dij는 i 번째 격자와 j 번째 격자의 중심 간의 거리,
Figure 112011027360464-pat00009
는 상호 격자 함수를 나타낸다. R1, R2, 및 c는 상수이며, c는 dij = R1일 때,
Figure 112011027360464-pat00010
에 라플라시안 연산을 수행한 결과가 연속 함수가 되게 하기 위한 상수이고, R2는 열 지표를 구하는 연산에 관여하는 격자들의 개수를 조절하는 상수이다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법에서, 상기 열 지표는 하기의 [수학식 4]를 만족하고, 하기의 [수학식 4]의 연산은 상기 격자들 각각에 대해 수행될 수 있다.
[수학식 4]
Figure 112011027360464-pat00011
상기의 [수학식 4]에서 i 및 j는 양의 정수이고, 각각 임의의 두 개의 격자에 대응하는 번호를 나타낸다.
Figure 112011027360464-pat00012
는 상호 격자 함수,
Figure 112011027360464-pat00013
는 j 번째 격자에서의 전력 밀도,
Figure 112011027360464-pat00014
는 i 번째 격자에 대한 열 지표를 나타낸다.
본 발명의 일 목적을 달성하기 위하여, 상기 격자들 각각에 대한 복수의 열 지표들을 획득함에 있어서, 상기 집적 회로에 포함되는 회로 소자들 각각에 대응하는 블록들에 대해 각각 전력 밀도와 전력(상기 전력 밀도와 상기 블록의 면적의 곱)을 구하고, 상기 전력 밀도와 상기 전력이 모두 최대값의 60% 이상에 해당하는 블록들이 교차하는 격자들에 대해서만 상기의 [수학식 4]의 연산을 수행할 수 있다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법에서, 상기 목표 함수 값의 차이는 하기의 [수학식 5]로 표현될 수 있다.
[수학식 5]
Figure 112011027360464-pat00015
상기의 [수학식 5]에서
Figure 112011027360464-pat00016
Figure 112011027360464-pat00017
는 중요도 계수(weighting factor), A는 집적 회로의 면적, W는 상기 집적 회로에 포함되는 회로 소자들을 연결하는 배선의 총 길이, maxTS는 복수의 열 지표 중 최대값, E는 목표 함수를 나타낸다.
본 발명의 일 목적을 달성하기 위하여, 상기 목표 함수 값의 차이에 기초하여 복수의 플로어플랜 중 상기 목표 함수 값이 가장 작은 플로어플랜을 선택함에 있어서,
Figure 112011027360464-pat00018
인 경우 새로 생성된 플로어플랜을 선택하고,
Figure 112011027360464-pat00019
인 경우 확률적으로 선택하되,
Figure 112011027360464-pat00020
값의 크기와 새로 생성된 플로어플랜을 선택할 확률은 반비례할 수 있다.
본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법에서, 상기 [수학식 5]의 연산 속도는 상기 격자의 크기에 비례할 수 있다.
상기와 같은 본 발명의 실시예들에 따르면, 열 지표를 이용하여 집적 회로의 온도를 정확하고 빠르게 예측할 수 있다. 또한 집적 회로의 온도를 고려하여 집적 회로의 플로어플래닝을 수행할 수 있다.
다만, 본 발명의 효과는 이에 한정되는 것이 아니며, 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위에서 다양하게 확장될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법을 나타내는 순서도이다.
도 2는 본 발명의 일 실시예에 따른 집적 회로의 플로어플랜을 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따른 상호 격자 함수에 라플라시안 연산을 수행한 결과를 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법을 수행하는 장치를 나타내는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 열 분석으로 구한 집적 회로 내부의 실제 온도 분포와 열 지표의 분포를 나타내는 도면이다.
도 6은 격자 크기의 변화에 따른 열 지표 중 최대값과 집적 회로의 최대 온도 사이의 상관 관계 값의 변화 및 격자 크기의 변화에 따른 열 지표를 구하는 연산 속도의 변화를 나타내는 그래프이다.
도 7은 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법을 나타내는 순서도이다.
도 8은 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법을 수행하는 프로그램의 알고리즘을 나타내는 순서도이다.
도 9는 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법을 수행하는 장치를 나타내는 블록도이다.
도 10은 열 지표를 포함하는 플로어플래닝에 연산 속도 향상 방법을 적용한 결과를 나타내는 그래프이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 흐름도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법을 나타내는 순서도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법은 복수의 회로 소자들을 포함하는 집적 회로의 플로어플랜(floorplan)을 복수의 동일한 크기의 정사각형 격자들로 나누고(단계 S100), 상기 격자들 사이의 거리를 변수로 하고 상기 격자들 사이의 거리에 반비례하는 값을 가지는 상호 격자 함수를 선택하고(단계 S200), 상기 상호 격자 함수와 상기 격자들 각각에 대한 전력 밀도를 이용하여 상기 격자들 각각에 대한 복수의 열 지표(thermal index)들을 획득하며(단계 S300), 상기 복수의 열 지표들에 기초하여 상기 집적 회로의 온도를 예측한다(단계 S400).
상기 플로어플랜은 집적 회로에 포함되는 회로 소자 블록들의 평면적 배치를 뜻한다. 또한 상기 상호 격자 함수는 그린함수(Green's function)를 근사화시킨 함수로서 라플라시안(Laplacian) 연산을 수행한 결과가 델타 함수에 근접한 형태가 되는 함수를 뜻한다. 본 명세서에서 상호 격자 함수와 근사화된 그린함수는 실질적으로 동일한 함수를 나타낼 수 있다. 구체적으로 상기 상호 격자 함수에 라플라시안 연산을 수행한 결과는 상기 격자들 사이의 거리가 0일 때 무한대 값을 갖고, 상기 격자들 사이의 거리가 일정 거리 이하일 때는 상기 격자들 사이의 거리에 반비례하게 감소하는 0에 근접한 값을 갖고, 상기 격자들 사이의 거리가 상기 일정 거리 이상일 때는 0의 값을 가질 수 있다. 상기 상호 격자 함수의 선택 및 상기 열 지표 연산 방법에 관해서는 도 2 및 도 3을 참조하여 후술한다.
도 2는 본 발명의 일 실시예에 따른 집적 회로의 플로어플랜을 나타내는 도면이다.
도 2를 참조하면, 복수의 회로 소자들을 포함하는 집적 회로의 플로어플랜(200)은 M
Figure 112011027360464-pat00021
N 개의 격자들(C00 내지 CM-1,N-1) 및 복수의 회로 소자들에 대응하는 블록들(A, B, C, D, E, F, G)을 포함할 수 있다. 동일한 크기의 격자들(C00 내지 CM-1,N-1)을 점선으로 표시하였고, 블록들(A, B, C, D, E, F, G)을 굵은 실선으로 표시하였다. 상기 격자들(C00 내지 CM-1,N-1)은 열 지표 연산을 위해 집적 회로의 플로어플랜(200) 위에 가상의 선들을 생성하여 구획을 나눠놓은 것이다. 일 실시예에 따르면 격자들(C00 내지 CM-1,N-1)은 N 개의 행과 M 개의 열로 이루어지고, 각각 위치하는 행과 열에 따라 격자 번호를 가진다. 도 2에서는 각각의 격자들(C00 내지 CM-1,N-1)을 동일한 크기의 정사각형으로 도시하였지만, 실시예에 따라서 격자들은 직사각형 등의 형태가 될 수 있다. 블록들(A 내지 G)은 집적 회로에 포함되는 각각의 회로 소자들을 나타낸다. 예를 들어 블록들(A 내지 G)은 마이크로프로세서, CPU, RAM 등이 될 수 있다. 도 2에서는 7개의 블록들(A 내지 G)을 도 2와 같이 배치하였지만, 이것은 하나의 예시로서 도 2의 집적 회로의 플로어플랜(200) 위에 놓여지는 블록들의 개수 및 배치는 상기 집적 회로의 용도에 따라 다양하게 변경될 수 있다.
이하 도 1 내지 도 3을 참조하여 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법을 상세히 설명한다. 구체적으로, 상호 격자 함수를 선택하는 방법, 격자들(C00 내지 CM-1,N-1) 각각에 대한 전력 밀도를 구하는 방법 및 열 지표를 구하는 연산 방법에 관하여 설명한다.
기존의 집적 회로에 대한 열 분석 방법들은 2차 미분 방정식으로 이루어진 열전도 방정식을 직접 푸는데 기반을 두고 있다. 상기 열전도 방정식은 하기의 [수학식 6]과 같은 형태를 가진다.
[수학식 6]
Figure 112011027360464-pat00022
상기의 [수학식 6]에서,
Figure 112011027360464-pat00023
은 연산 차원에 따라 (x,y)나 (x,y,z)가 되고, T는 온도 함수, g는 전력 밀도 함수,
Figure 112011027360464-pat00024
는 열전도율이다. 상기 열전도율은 물질에 의해 결정된다. 상기 열전도 방정식을 통해 평형 상태에서의 집적 회로의 온도를 구할 수 있다. 그러나 상기 열전도 방정식을 직접 푸는 방법은 너무 많은 시간이 걸리는 문제점이 있다.
그 결과, 그린함수(Green's function)를 이용하여 온도를 계산하는 방법이 제시되었다. 그린함수란 라플라시안(Laplacian) 연산을 수행한 결과가 델타 함수가 되는 함수를 뜻한다. 다시 말해 하기의 [수학식 7]을 만족하는 함수 G를 그린함수라고 한다.
[수학식 7]
Figure 112011027360464-pat00025
상기의 [수학식 7]에서
Figure 112011027360464-pat00026
는 델타 함수이고,
Figure 112011027360464-pat00027
는 한 점이다. 이러한 그린함수로는 코사인 함수의 곱 형태 등이 있다. 그린함수를 이용하면 열전도 방정식에 포함된 2차 편미분을 하지 않고 간단한 적분을 통해 온도를 구할 수 있다. 보다 상세하게, [수학식 6]과 [수학식 7]을 변형 및 연산하고 델타 함수의 시프트 특성을 이용하여 정리하면 하기의 [수학식 8]을 얻을 수 있다.
[수학식 8]
Figure 112011027360464-pat00028
따라서 상기의 [수학식 8]을 이용하면 어떤 그린함수 G를 알고 있다고 할 때 상기의 [수학식 7]의 편미분 방정식을 풀지 않고도 온도 T를 바로 구할 수 있다. 그러나 상기 [수학식 8]을 이용하는 방법 또한 그린함수의 조건을 만족하는 함수들이 매우 복잡하여 그린함수를 포함하는 식의 연산에 많은 시간이 소모되므로 실제 플로어플래닝에 적용하기에는 실용성이 떨어진다는 단점이 있다.
따라서 본 발명은 집적 회로의 온도를 직접 계산하지 않고, 온도를 나타낼 수 있는 일종의 열 지표를 설정하여 상기 열 지표를 구함으로써 간접적으로 온도를 예측하는 방법을 제시한다. 상기 열 지표를 구하는 연산은 보다 빠른 연산 시간을 통해 온도를 예측하기 위해 근사화된 그린함수를 사용한다. 본 명세서에서 상호 격자 함수와 근사화된 그린함수는 실질적으로 동일한 함수를 나타낼 수 있다. 이하 근사화된 그린함수 대신에 상호 격자 함수라는 용어를 사용한다.
상기 열 지표는 하기의 [수학식 9]를 만족한다.
[수학식 9]
Figure 112011027360464-pat00029
상기의 [수학식 9]에서 i 및 j는 양의 정수이고, 각각 도 2의 임의의 두 개의 격자에 대응하는 번호를 나타낸다.
Figure 112011027360464-pat00030
는 상호 격자 함수,
Figure 112011027360464-pat00031
는 j 번째 격자에서의 전력 밀도,
Figure 112011027360464-pat00032
는 i 번째 격자에 대한 열 지표를 나타낸다. 구체적으로 도 2의 격자들(C00 내지 CM -1,N-1) 각각에 대해 1부터 (M
Figure 112011027360464-pat00033
N)까지의 정수를 차례로 설정할 수 있다. 예를 들어, 도 2의 플로어플랜(200)을 (3
Figure 112011027360464-pat00034
3)의 9개의 격자로 나눈 경우, C00, C10, C20, C01, C11,…, C22 순으로 각각 1,2,3,…,9의 번호를 설정할 수 있다. 이 경우 i=5는 가운데 있는 C11격자를 나타낼 수 있다. 한편 칩 내부는 일반적으로 동일한 물질로 이루어져 있으므로 열전도율은 같은 값이라고 가정할 수 있기 때문에 연산 과정에서 생략할 수 있다.
상기 상호 격자 함수는 그린함수를 근사화시킨 함수로서 라플라시안 연산을 수행한 결과가 수학적으로 완전한 델타 함수는 아니지만, 델타 함수에 근접한 형태가 되는 함수를 뜻한다. 구체적으로 상기 상호 격자 함수에 라플라시안 연산을 수행한 결과는 상기 격자들 사이의 거리가 0일 때 무한대 값을 갖고, 상기 격자들 사이의 거리가 일정 거리 이하일 때는 상기 격자들 사이의 거리에 반비례하게 감소하는 0에 근접한 값을 갖고, 상기 격자들 사이의 거리가 상기 일정 거리 이상일 때는 0의 값을 가질 수 있다. 일 실시예에 따르면, 상기 상호 격자 함수는 하기의 [수학식 10]의 형태를 가질 수 있다.
[수학식 10]
Figure 112011027360464-pat00035
상기의 [수학식 10]에서 i 및 j는 양의 정수이고, 각각 도 2의 임의의 두 개의 격자에 대응하는 번호를 나타낸다. dij는 i 번째 격자와 j 번째 격자의 중심 간의 거리,
Figure 112011027360464-pat00036
는 상호 격자 함수를 나타낸다. R1, R2, 및 c는 상수이며, c는 dij = R1일 때,
Figure 112011027360464-pat00037
에 라플라시안 연산을 수행한 결과가 연속 함수가 되게 하기 위한 상수이고, R2는 열 지표를 구하는 연산에 관여하는 격자들의 개수를 조절하는 상수이다. 상기의 [수학식 10]과 같이 두 가지 다른 함수의 조합으로 상호 격자 함수를 구성하는 이유는 하나의 함수로는 라플라시안 연산을 수행한 결과가 델타 함수에 근접한 형태가 되도록 만들기가 쉽지 않기 때문이다. 이하 도 3을 참조하여 [수학식 10]의 상호 격자 함수에 대해 상세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 상호 격자 함수에 라플라시안 연산을 수행한 결과를 나타내는 도면이다.
도 3을 참조하면, 첫 번째 그래프 (a)는 함수
Figure 112011027360464-pat00038
에 라플라시안 연산을 수행한 결과, 즉
Figure 112011027360464-pat00039
을 나타내는 그래프이다. 두 번째 그래프 (b)는 함수
Figure 112011027360464-pat00040
에 라플라시안 연산을 수행한 결과, 즉
Figure 112011027360464-pat00041
를 나타낸다. 세 번째 그래프 (c)는 상기의 두 함수
Figure 112011027360464-pat00042
,
Figure 112011027360464-pat00043
를 조합한 상기의 [수학식 10]의 함수에 라플라시안 연산을 수행한 결과, 즉
Figure 112011027360464-pat00044
를 나타내는 그래프이다. 상기의 그래프 (c)를 참조하면,
Figure 112011027360464-pat00045
의 값은
Figure 112011027360464-pat00046
인 구간에서 매우 큰 값을 가지고,
Figure 112011027360464-pat00047
인 지점에서 급격히 떨어져서
Figure 112011027360464-pat00048
인 구간에서는 0에 근접한 값을 가진다. 따라서 상기의 [수학식 10]과 같은 형태를 가지는 함수는 상기 상호 격자 함수의 조건을 만족할 수 있다. 단, 실제로 dij는 양수이며, 도 3의 그래프에서 dij < 0인 부분은 델타 함수에 근사화되는 것을 보이기 위한 것이다. 상기의 [수학식 10]의 상수 c, R1, R2는 실험을 통해 결정될 수 있다. 일 실시예에서 32nm 공정 기술에서 실험을 한 경우, R1은 약 3㎛가 되고, 상수 c는 dij = R1에서 상기의 그래프 (c)의
Figure 112011027360464-pat00049
가 연속함수가 될 수 있도록 0.6으로 정해질 수 있다. R2는 실험 조건에 따라 입력해주는 상수로서 상기 32nm 공정 기술에서 실험을 한 경우는 100㎛가 사용될 수 있다. 일 실시예에 따르면, 상기의 [수학식 9]의 열 지표는 상호 격자 함수를 포함하고 상기 상호 격자 함수는 두 격자의 중심 간의 거리에 반비례하므로, 거리가 상대적으로 먼 격자의 영향은 무시할 정도라고 가정할 수 있다. 따라서 상수 R2값의 크기를 조절하여 계산을 제한함으로써 보다 빠른 연산을 가능하게 할 수 있다. 다만, 상기에서 상기 상호 격자 함수가 [수학식 10]과 같은 형태를 갖는 것으로 설명하였지만, 이것은 하나의 예시로서 상기 상호 격자 함수의 조건을 만족하는 함수는 다양하게 존재할 수 있다. 상기 상호 격자 함수는 연산 속도가 빠르고 정확성의 손실이 적은 것으로 선택될 수 있다.
다시 상기의 [수학식 9]를 참조하면, 상기 열 지표는 상기 상호 격자 함수와 j 번째 격자에서의 전력 밀도의 곱들의 합 형태로 되어 있다. 상기 열 지표는 열 지표를 구하고자 하는 격자에 그 외의 다른 격자들이 각각 미치는 영향들을 합한 것이다. 예를 들어, 도 2의 플로어플랜(200)을 (2
Figure 112011027360464-pat00050
2)의 4 개의 격자로 나눈 경우, C00, C10, C01, C11 순으로 각각 1,2,3,4의 번호를 설정할 수 있고, 두 번째 격자(i = 2)에 대해 상기 열 지표를 구한다고 가정해보자. 그러면 상기 열 지표는 하기의 [수학식 11]과 같이 될 수 있다.
[수학식 11]
Figure 112011027360464-pat00051
이와 같이 상기 열 지표를 구하는 연산은 적분을 포함하지 않고, 상기 상호 격자 함수가 그린함수에 비해 더 간단하므로 연산 속도가 집적 회로의 내부 온도를 직접 계산하는 것보다 더 빠르다.
이하에서는 상기 전력 밀도를 구하는 방법에 대해 도 2를 참조하여 설명한다. 예를 들어, 도 2의 플로어플랜(200)의 격자(C21)에서의 전력 밀도를 구한다고 가정해보자(격자(C21)에 대해 i = 6을 설정하고, 블록(A)의 단위 격자 면적 당 전력 밀도가 2, 블록(B)의 단위 격자 면적 당 전력 밀도가 6이라고 가정). 이때 격자(C21)의 1/4은 블록(A)이, 3/4은 블록(B)이 차지하므로, 상기 두 블록(A, B)의 평균 전력 밀도로서 계산할 수 있다. 따라서 격자(C21)에서의 전력 밀도는 하기의 [수학식 12]와 같이 구할 수 있다.
[수학식 12]
Figure 112011027360464-pat00052
상기와 같은 과정을 통해 구한 열 지표는 실제 칩 내부의 온도와 높은 상관 관계를 가질 수 있다. 따라서 상기 열 지표를 통해 집적 회로의 각 플로어플랜에 대한 온도를 예측할 수 있다. 상기 상관 관계에 관해서는 도 5 및 도 6을 참조하여 후술한다.
도 4는 본 발명의 일 실시예에 따른 집적 회로의 온도 예측 방법을 수행하는 장치를 나타내는 블록도이다.
도 4를 참조하면, 집적 회로의 온도 예측 방법을 수행하는 장치(400)는 격자 생성부(420), 상호 격자 함수 입력부(440) 및 열 지표 연산 수행부(460)를 포함할 수 있다.
격자 생성부(420)는 온도를 예측하고자 하는 플로어플랜 상에 복수의 동일한 크기의 정사각형 격자들을 생성할 수 있다. 그 후 생성된 격자들 각각에 대해 행 번호와 열 번호로 이루어진 좌표를 설정할 수 있다. 상기 격자의 개수를 설정함에 따라 상기 격자의 한 변의 길이가 결정될 수 있다. 일 실시예에 따르면 상기 격자의 한 변의 길이에 따라 이후 열 지표 연산 수행부(460)에서 구해지는 열 지표 중 최대값과 상기 집적 회로의 최대 온도 사이의 상관 관계 값이 달라질 수 있다. 또한 상기 격자의 한 변의 길이에 따라 상기 열 지표 연산의 속도가 달라질 수 있다.
상호 격자 함수 입력부(440)는 열 지표 연산에 이용될 상호 격자 함수를 입력할 수 있다. 상기 상호 격자 함수는 그린함수를 근사화시킨 함수로서 라플라시안 연산을 수행한 결과가 델타 함수에 근접한 형태가 되는 함수를 뜻한다. 본 발명의 일 실시예에 따라 상기 상호 격자 함수는 연산 속도가 빠르고, 정확성의 손실이 적은 것으로 선택될 수 있다.
열 지표 연산 수행부(460)는 상기 격자들 각각에 대한 전력 밀도를 구하고, 상기 전력 밀도와 상호 격자 함수 입력부(440)에서 입력된 상기 상호 격자 함수를 이용하여 상기 격자들 각각에 대한 열 지표를 구할 수 있다. 상기 열 지표는 상기 집적 회로의 실제 내부 온도와 비례하는 값을 가지는 지표로서, 상기 열 지표 중 최대값과 상기 집적 회로의 최대 온도 사이에는 높은 상관 관계를 가질 수 있다. 따라서 상기 열 지표를 통해 집적 회로의 각 플로어플랜에 대한 온도를 예측할 수 있다.
도 5는 본 발명의 일 실시예에 따른 열 분석으로 구한 집적 회로 내부의 실제 온도 분포와 열 지표의 분포를 나타내는 도면이다.
도 5를 참조하면, 그래프 (a)는 특정 회로(ac97_ctrl)의 임의의 플로어플랜에 대해 측정된 실제 온도 분포를 나타내고, 그래프 (b)는 상기 플로어플랜 위의 모든 격자에서의 열 지표 분포를 나타낸다.
구체적으로, 그래프 (a)는 열 분석으로 실제 온도를 직접 구한 것이고, 그래프 (b)는 상기의 [수학식 9]를 통해 열 지표를 구한 것이다. 도 5를 참조하면, 열 분석을 통해 얻은 집적 회로 내부 온도 분포가 열 지표의 분포와 유사함을 알 수 있다. 특히 집적 회로 내부의 온도가 높은 구역에서 집적 회로 내부의 온도 분포와 열 지표의 분포가 더욱 유사함을 알 수 있다. 즉, 복수의 열 지표 중 최대값과 집적 회로의 최대 온도 사이에 높은 상관 관계가 있음을 나타낸다. 하기의 [표 1]은 임의의 회로들에 대해 상기 복수의 열 지표 중 최대값과 집적 회로의 최대 온도 사이의 상관 관계를 나타내는 표이다.
[표 1]
Figure 112011027360464-pat00053
상기의 [표 1]을 참조하면, 상기 10개의 회로들은 Opencores(HDL 기반 소프트웨어 정보 제공 사이트, http://www.opencores.org)에서 임의로 선택되었다. 각 회로에 대해 100가지의 플로어플랜을 임의로 생성하여 각 플로어플랜에 대한 최대 온도를 열 분석 툴을 이용하여 측정하고, 전술한 열 지표를 구하는 방법(도 1 내지 도 3에 대한 설명 참조)에 의해 복수의 열 지표를 구하고 그 중 최대값을 찾아서 상기 상관 관계를 구하였다. 상기의 [표 1]의 마지막 열을 참조하면, 모두 0.7 이상의 비교적 높은 상관 관계를 가지는 것을 알 수 있다. 따라서, 복수의 열 지표 중 최대값을 통해 각 플로어플랜에 대한 최대 온도의 상대적 관계를 비교적 정확하게 예측할 수 있다.
도 6은 격자 크기의 변화에 따른 열 지표 중 최대값과 집적 회로의 최대 온도 사이의 상관 관계 값의 변화 및 격자 크기의 변화에 따른 열 지표를 구하는 연산 속도의 변화를 나타내는 그래프이다.
도 6을 참조하면, 그래프 (a)는 격자의 한 변의 길이 변화에 따른 상기 상관 관계 값의 변화를 나타내고, 그래프 (b)는 격자의 한 변의 길이 변화에 따른 열 지표를 구하는 연산의 수행 시간의 변화를 나타낸다.
전반적으로 상기 상관 관계는 상기 격자의 한 변의 길이에 반비례하게 감소하고, 상기 열 지표를 구하는 연산 속도는 상기 격자의 한 변의 길이에 비례하게 증가한다. 보다 상세하게, 상기 상관 관계는 상기 격자의 한 변의 길이가 일정 거리 이하일 때는 0.7 이상 1.0 이하의 값을 가지고, 상기 격자의 한 변의 길이가 일정 거리 이상일 때는 상기 격자의 한 변의 길이에 반비례하게 감소한다. 이에 반해 상기 열 지표를 구하는 연산 속도는 상기 격자의 한 변의 길이에 비례하게 증가한다. 격자의 크기를 작게 설정하면 열 지표의 정확성은 높아지지만 열 지표를 구하는 연산의 수행 시간은 길어질 수 있다. 격자의 크기를 크게 설정하면 자연스럽게 연산에 필요한 격자의 수가 줄어들어 열 지표를 구하는 연산의 속도는 향상되지만 열 지표의 정확성은 떨어질 수 있다. 따라서 상기 열 지표의 정확성의 감소를 최소화시키면서 상기 열 지표를 구하는 연산의 속도를 향상시킬 수 있는 임계적인 길이의 격자 길이를 선택할 수 있다. 전술한 바와 같이, 어느 정도의 격자 길이까지는 상기 상관 관계 값이 거의 일정하게 유지되고, 격자의 한 변의 길이가 특정 길이 이상이 되면 상기 상관 관계 값이 급격하게 감소한다. 상기 특정 길이가 상기 열 지표의 정확성의 감소를 최소화시키면서 상기 열 지표를 구하는 연산의 속도를 향상시킬 수 있는 임계 길이가 될 수 있다. 또한 일 실시예에 따르면, 상기 임계 길이는 각 집적 회로를 구성하는 회로 소자들에 대응하는 블록들의 평균 크기에 비례할 수 있다. 상기의 [표 1] 및 도 6을 참조하면, ac97_ctrl 회로는 평균 블록 크기가 198㎛2, 임계 길이가 약 4㎛이고, nova 회로는 평균 블록 크기가 621㎛2, 임계 길이가 약 8㎛이고, wb_dma 회로는 평균 블록 크기가 2178㎛2, 임계 길이가 약 16㎛가 된다. 따라서 집적 회로의 평균 블록 크기에 따라 격자의 임계 길이를 결정할 수 있다.
도 7은 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법을 나타내는 순서도이다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법은 시뮬레이티드 어닐링(simulated annealing, 모의 담금질)을 통해 복수의 회로 소자들을 포함하는 집적 회로에 대한 복수의 플로어플랜을 생성하고(단계 S710), 상기 각각의 플로어플랜을 복수의 동일한 크기의 정사각형 격자들로 나누고(단계 S720), 상기 격자들 사이의 거리를 변수로 하고, 상기 격자들 사이의 거리에 반비례하는 값을 가지는 상호 격자 함수를 선택하고(단계 S730), 상기 상호 격자 함수와 상기 격자들 각각에 대한 전력 밀도를 이용하여 상기 격자들 각각에 대한 복수의 열 지표들을 획득하고(단계 S740), 상기 열 지표를 이용하여 상기 집적 회로의 각각의 플로어플랜에 대한 목표 함수를 획득하며(단계 S750), 상기 목표 함수 값의 차이에 기초하여 상기 복수의 플로어플랜 중 목표 함수 값이 가장 작은 플로어플랜을 선택한다(단계 S760).
상기 플로어플랜은 집적 회로에 포함되는 회로 소자 블록들의 평면적 배치를 뜻한다. 상기 목표 함수(objective function)는 상기 시뮬레이티드 어닐링 수행시 상기 각각의 플로어플랜에 대응되는 에너지를 뜻한다. 또한 상기 상호 격자 함수는 그린함수를 근사화시킨 함수로서 라플라시안 연산을 수행한 결과가 델타 함수에 근접한 형태가 되는 함수를 뜻한다. 구체적으로 상기 상호 격자 함수에 라플라시안 연산을 수행한 결과는 상기 격자들 사이의 거리가 0일 때 무한대 값을 갖고, 상기 격자들 사이의 거리가 일정 거리 이하일 때는 상기 격자들 사이의 거리에 반비례하게 감소하는 0에 근접한 값을 갖고, 상기 격자들 사이의 거리가 상기 일정 거리 이상일 때는 0의 값을 가질 수 있다. 상기 상호 격자 함수의 선택 및 상기 열 지표 연산 방법에 대해서는 도 1 내지 도 3을 참조하여 상술한 바 있으므로, 중복되는 설명은 생략하기로 한다.
시뮬레이티드 어닐링을 통해 복수의 회로 소자들을 포함하는 집적 회로에 대한 복수의 플로어플랜을 생성하는 단계(단계 S710)에 있어서, 시뮬레이티드 어닐링이란 조합 최적화(combinatorial optimization) 문제에 대한 확률적 메타 알고리즘(meta-algorithm)을 뜻한다. 상기 알고리즘은 해를 반복해 개선함으로써, 에너지가 가장 낮은 해를 찾는 데 기반을 두고 있으므로, 상기 시뮬레이티드 어닐링을 통해 임의의 플로어플랜을 반복적으로 생성하여 상기 목표 함수의 값을 최소화하는 방향으로 플로어플랜을 선택할 수 있다.
상기 상호 격자 함수와 상기 격자들 각각에 대한 전력 밀도를 이용하여 상기 격자들 각각에 대한 복수의 열 지표들을 획득하는 단계(단계 S740)에 있어서, 상기 열 지표를 구하는 연산은 상기의 [수학식 9]의 연산을 따른다. 이때, 상기 열 지표를 구하는 연산의 속도를 더욱 향상시키기 위해 연산의 조건을 조정할 수 있다. 플로어플래닝의 목적이 최대 온도가 낮은 플로어플랜을 선택하는 것이라면, 높은 온도를 가질 가능성이 적은 격자에 대해서는 상기 열 지표를 구할 필요가 없을 수 있다. 연산에 필요한 격자의 개수가 줄어들면 연산 속도는 자연히 빨라질 수 있다. 따라서 연산에 반드시 포함되어야 할 격자들을 선택하는 기준이 필요하다. 전력 밀도는 온도에 영향을 미치고, 회로 소자에 대응하는 블록의 면적은 열 용량에 영향을 미친다. 따라서 이 두 가지 면에서 높은 값을 가지는 블록의 경우 높은 온도를 가질 가능성이 클 수 있다. 이러한 이유로 실시예에 따라, 집적 회로에 포함되는 회로 소자들 각각에 대응하는 블록들에 대해 각각 전력 밀도와 전력(상기 전력 밀도와 상기 블록의 면적의 곱)을 구하고, 상기 전력 밀도와 상기 전력이 모두 최대값의 60% 이상에 해당하는 블록들이 교차하는 격자들에 대해서만 상기 열 지표를 구하는 연산을 수행할 수 있다. 상기 열 지표를 이용하여 상기 집적 회로의 각각의 플로어플랜에 대한 목표 함수를 획득하는 단계(단계 S750) 및 상기 목표 함수 값의 차이에 기초하여 상기 복수의 플로어플랜 중 목표 함수 값이 가장 작은 플로어플랜을 선택하는 단계(단계 S760)에 관해서는 도 8을 참조하여 상세히 후술한다.
도 8은 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법을 수행하는 프로그램의 알고리즘을 나타내는 순서도이다.
이하에서 도 8을 참조하여 집적 회로의 플로어플래닝 방법을 상세히 설명한다. 도 8은 집적 회로의 플로어플래닝 방법과 함께 상기 방법을 수행하는 컴퓨터 프로그램의 알고리즘을 간단히 나타낸다.
도 8을 참조하면, 프로그램의 초기 조건 및 임의의 플로어플랜을 생성하는 횟수를 설정할 수 있다(단계 S810). fp는 새로 생성되는 플로어플랜을 나타내는 변수, opt는 최적의 플로어플랜, 즉 목표 함수 값이 가장 작은 플로어플랜을 나타내는 변수, max는 플로어플랜 생성 횟수를 나타내는 상수이다. 플로어플랜을 생성하는 횟수를 크게 입력하면 최적의 플로어플랜이 선택될 확률이 높아지지만 상기 프로그램 수행 시간이 길어지는 단점이 있다. 프로그램이 실행되면 새로운 플로어플랜을 생성한다(단계 S820). 첫 번째 생성된 플로어플랜에 대해 fp=1을 설정할 수 있다. 이후 도 7을 참조하여 상술한 바와 같이 격자 생성, 상호 격자 함수 선택 과정을 거쳐 상기 새로 생성된 플로어플랜 위의 복수의 격자들에 대한 열 지표를 구할 수 있다. 이후 상기 복수의 열 지표 중 최대값(maxTS)을 이용하여 상기 플로어플랜에 대한 목표 함수(E(fp))를 구한다(단계 S830). 상기 목표 함수는 [수학식 13]을 만족한다.
[수학식 13]
Figure 112011027360464-pat00054
상기의 [수학식 13]에서
Figure 112011027360464-pat00055
Figure 112011027360464-pat00056
는 중요도 계수(weighting factor), A는 집적 회로의 면적, W는 상기 집적 회로에 포함되는 회로 소자들을 연결하는 배선의 총 길이, maxTS는 복수의 열 지표 중 최대값, E는 목표 함수를 나타낸다.
Figure 112011027360464-pat00057
Figure 112011027360464-pat00058
를 조절하여 상기 집적 회로의 면적, 배선 길이, 상기 복수의 열 지표 중 최대값 중에서 우선적으로 고려할 요소를 선택할 수 있다. 다음으로, 이전까지의 최적의 플로어플랜, 즉 상기 목표 함수 값이 가장 작은 플로어플랜의 목표 함수(E(opt))와 상기 새로 생성된 플로어플랜의 목표 함수(E(fp)) 값을 비교한다(단계 S840). 이때 상기 목표 함수 값의 차이는 하기의 [수학식 14]를 만족한다.
[수학식 14]
Figure 112011027360464-pat00059
상기 단계(단계 S840)에서
Figure 112011027360464-pat00060
인 경우, 새로 생성된 플로어플랜을 최적의 플로어플랜으로 선택하고 opt=fp를 설정한다(단계 S850).
Figure 112011027360464-pat00061
인 경우는 확률적으로 선택하되, 기 설정된 기준에 따라 상기 새로 생성된 플로어플랜의 선택 여부를 결정한다(단계 S860). 이때
Figure 112011027360464-pat00062
값의 크기와 새로 생성된 플로어플랜을 선택할 확률은 반비례할 수 있다. 상기 새로 생성된 플로어플랜을 선택할 경우 opt=fp를 설정한다. 상기와 같은 새로운 플로어플랜 생성 및 목표 함수 값 비교 과정(단계 S820 내지 S860)을 기 설정한 플로어플랜 생성횟수에 도달할 때까지 반복한다(단계 S870). 새로운 플로어플랜 생성이 완료된 경우 최종적으로 선택된 플로어플랜을 출력한다(단계 S880). 상기와 같은 과정을 통해 특정한 집적 회로에 대해 목표 함수 값이 가장 작은 플로어플랜을 정확하고 빠르게 선택할 수 있다.
도 9는 본 발명의 일 실시예에 따른 집적 회로의 플로어플래닝 방법을 수행하는 장치를 나타내는 블록도이다.
도 9를 참조하면, 집적 회로의 플로어플래닝 방법을 수행하는 장치(900)는 플로어플랜 생성부(910), 격자 생성부(920), 상호 격자 함수 입력부(930), 열 지표 연산 수행부(940), 목표 함수 연산 수행부(950) 및 플로어플랜 선택부(960)를 포함할 수 있다.
플로어플랜 생성부(910)는 시뮬레이티드 어닐링을 통해 복수의 회로 소자들을 포함하는 집적 회로에 대한 복수의 플로어플랜을 생성할 수 있다. 플로어플랜 생성부(910)에서 임의의 플로어플랜을 생성하는 횟수를 설정할 수 있다.
격자 생성부(920)는 각각의 플로어플랜 상에 복수의 동일한 크기의 정사각형 격자들을 생성할 수 있다. 그 후 생성된 격자들 각각에 대해 행 번호와 열 번호로 이루어진 좌표를 설정할 수 있다. 상기 격자의 개수를 설정함에 따라 상기 격자의 한 변의 길이가 결정될 수 있다.
상호 격자 함수 입력부(930)는 열 지표 연산에 이용될 상호 격자 함수를 입력할 수 있다. 상기 상호 격자 함수는 그린함수를 근사화시킨 함수로서 라플라시안 연산을 수행한 결과가 델타 함수에 근접한 형태가 되는 함수를 뜻한다. 본 발명의 일 실시예에 따라 상기 상호 격자 함수는 연산 속도가 빠르고, 정확성의 손실이 적은 것으로 선택될 수 있다.
열 지표 연산 수행부(940)는 상기 격자들 각각에 대한 전력 밀도를 구하고, 상기 전력 밀도와 상호 격자 함수 입력부(930)에서 입력된 상기 상호 격자 함수를 이용하여 상기 격자들 각각에 대한 열 지표를 구할 수 있다. 상기 열 지표는 상기 집적 회로의 실제 내부 온도와 비례하는 값을 가지는 지표로서, 상기 열 지표 중 최대값과 상기 집적 회로의 최대 온도 사이에는 높은 상관 관계를 가질 수 있다.
목표 함수 연산 수행부(950)는 열 지표 연산 수행부(940)에서 생성된 복수의 열 지표 중 최대값을 이용하여 상기 각각의 플로어플랜에 대한 목표 함수를 구할 수 있다. 상기 목표 함수는 상기 시뮬레이티드 어닐링 수행시 상기 각각의 플로어플랜에 대응되는 에너지를 뜻한다.
플로어플랜 선택부(960)는 목표 함수 연산 수행부(950)에서 생성된 목표 함수 값들의 차이에 기초하여 목표 함수 값이 가장 작은 플로어플랜을 선택할 수 있다. 플로어플랜 선택부(960)는 이전에 생성된 플로어플랜들 중 가장 낮은 목표 함수 값을 갖는 플로어플랜을 임시로 저장하고 상기 목표 함수 값과 새로 생성된 플로어플랜의 목표 함수 값을 비교하여 새로 생성된 플로어플랜의 선택 여부를 결정할 수 있다.
이하에서 종래의 플로어플래닝 방법과 열 지표를 포함하는 플로어플래닝 방법을 비교하여 설명한다.
종래의 플로어플래닝 방법은 집적 회로의 면적과 배선 길이만을 고려할 수 있었다. 즉, 최적의 플로어플랜을 선택할 때 상기 집적 회로의 온도를 고려하지 못했다. 종래의 플로어플래닝에 사용된 목표 함수는
Figure 112011027360464-pat00063
와 같은 형태를 가진다. 상기의 [수학식 13]을 이용하는 본 발명의 플로어플래닝 방법에서
Figure 112011027360464-pat00064
로 집적 회로의 면적, 배선 길이, 최대 열 지표의 중요도를 모두 같게 하여 얻은 결과와 상기 종래의 플로어플래닝 방법에서 집적 회로의 면적 및 배선 길이의 중요도를 같게 하여 얻은 결과를 비교하여 하기의 [표 2]에 제시하였다. 이를 통해 열 지표를 포함하는 플로어플래닝의 효용성을 보일 수 있다.
[표 2]
Figure 112011027360464-pat00065
상기의 [표 2]에서 10개의 회로들은 Opencores에서 임의로 선택되었고, '종래'라고 표시된 열은 종래의 플로어플래닝 방법에 의한 결과를 나타내고, '비교'라고 표시된 열은 상기 종래의 플로어플래닝 방법에 의한 결과와 열 지표를 포함하는 플로어플래닝 방법에 의한 결과의 비교를 나타낸다. '비율'로 표시된 열은 상기 두 결과를 나눈 것이고, '변화량'으로 표시된 열은 상기 두 결과의 차이를 나타낸다.
상기의 [표 2]를 참조하면, 열 지표를 포함하는 플로어플래닝 방법을 사용하면 종래의 플로어플래닝에 비해 집적 회로의 면적과 배선 길이가 각각 평균적으로 11%, 7% 증가하나, 집적 회로의 최대 온도를 평균 11.4℃ 감소시킬 수 있다. 특히, tv80 회로의 경우 27.7℃까지 감소시킬 수 있다.
집적 회로의 면적과 배선 길이의 손실을 줄이기 위해 상기의 [수학식 13]의 중요도 계수를 조절할 수 있다. 일 실시예에 따라
Figure 112011027360464-pat00066
으로 조정하는 경우, 상기 집적 회로의 면적과 배선 길이는 각각 평균적으로 7%, 4.5%만 증가하고, 집적 회로의 최대 온도는 평균 9.4℃까지 줄일 수 있다. 다시 말해, 집적 회로의 면적과 배선 길이에 중요도를 더 부여하여 플로어플래닝을 수행하면 온도 측면에서는 다소 손해를 보지만 집적 회로의 면적과 배선 길이 측면에서 더 이득을 볼 수 있다. 이와 같이 목적에 따라 상기 중요도 계수를 조절하여 플로어플래닝을 수행할 수 있다.
도 10은 열 지표를 포함하는 플로어플래닝에 연산 속도 향상 방법을 적용한 결과를 나타내는 그래프이다.
상기의 [표 2]를 참조하면, 열 지표를 고려한 플로어플래닝의 연산 시간은 7개의 회로(mem_ctrl, usb_ctrl, aemb, aquarius, nova, tv80, wb_dma)에 대해서는 종래의 플로어플래닝의 연산 시간과 크게 차이가 나지 않지만, 나머지 3개의 회로(ac97_ctrl, systemaes, pci_bridge)의 경우 상기 연산 시간이 증가하여 실제 플로어플래닝에 사용하는데 어려움이 있다. 이는 열 지표 계산이 필요한 격자들의 개수가 많기 때문이다. 상기 문제점을 해결하기 위해 상기 격자들의 크기를 증가시킬 수 있다.
도 10은 격자의 크기를 증가시키거나, 참고적으로 시뮬레이티드 어닐링 수행시 플로어플랜을 생성하는 횟수를 줄였을 때 나타나는 변화를 집적 회로의 면적(그래프 (a)), 배선 길이(그래프 (b)), 집적 회로의 최대 온도(그래프 (c)), 연산 시간 증가율(그래프 (d)) 측면에서 상기 연산 속도 향상 방법을 적용하지 않은 플로어플래닝과 비교하여 나타낸 것이다. 도 10을 참조하면, 시뮬레이티드 어닐링 수행시 플로어플랜을 생성하는 횟수를 줄이는 경우 집적 회로의 면적 및 배선 길이가 평균적으로 더 증가하므로 좋은 방법이 아님을 알 수 있다. 반면에 격자의 크기를 증가시킨 경우 절감되는 최대 온도가 약간 줄어드나, 집적 회로의 면적 및 배선 길이가 감소하며, 특히 연산 시간이 현저히 줄어드는 것을 볼 수 있다. 따라서 플로어플래닝의 연산 속도가 느린 집적 회로의 경우 격자의 크기를 증가시킴으로써 플로어플래닝의 연산 속도를 향상시킬 수 있다. 일반적으로 집적 회로의 면적과 열 지표 계산이 필요한 격자의 개수가 비례하여 상대적으로 면적이 큰 집적 회로의 경우 연산 속도가 떨어지므로, 상기 면적이 큰 집적 회로의 경우 격자의 크기를 증가시킴으로써 연산 속도를 향상시킬 수 있다.
본 발명은 집적 회로의 플로어플래닝 방법에 유용하게 이용될 수 있다. 또한, 본 발명은 집적 회로의 플로어플래닝 방법을 수행하는 장치에 이용될 수 있다.
상기에서는 본 발명이 바람직한 실시예를 참조하여 설명하였지만, 해당 기술분야의 숙련된 당업자는 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 것이다.
200: 집적 회로의 플로어플랜

Claims (13)

  1. 복수의 회로 소자들을 포함하는 집적 회로의 플로어플랜(floorplan)을 복수의 동일한 크기의 정사각형 격자들로 나누는 단계;
    상기 격자들 사이의 거리를 변수로 하고, 상기 격자들 사이의 거리에 반비례하는 값을 가지는 상호 격자 함수를 선택하는 단계;
    상기 상호 격자 함수와 상기 격자들 각각에 대한 전력 밀도를 이용하여 상기 격자들 각각에 대한 복수의 열 지표(thermal index)들을 획득하는 단계; 및
    상기 복수의 열 지표들에 기초하여 상기 집적 회로의 온도를 예측하는 단계를 포함하고,
    상기 상호 격자 함수에 라플라시안(Laplacian) 연산을 수행한 결과는 상기 격자들 사이의 거리가 0일 때 무한대 값을 갖고, 상기 격자들 사이의 거리가 일정 거리 이하일 때는 상기 격자들 사이의 거리에 반비례하게 감소하고, 상기 격자들 사이의 거리가 상기 일정 거리 이상일 때는 0의 값을 가지는 집적 회로의 온도 예측 방법.
  2. 제1항에 있어서, 상기 상호 격자 함수는 하기의 [수학식 1]을 만족하는 것을 특징으로 하는 집적 회로의 온도 예측 방법.
    [수학식 1]
    Figure 112011027360464-pat00067

    (상기의 [수학식 1]에서 i 및 j는 양의 정수이고, 각각 임의의 두 개의 격자에 대응하는 번호를 나타낸다. dij는 i 번째 격자와 j 번째 격자의 중심 간의 거리,
    Figure 112011027360464-pat00068
    는 상호 격자 함수를 나타낸다. R1, R2, 및 c는 상수이며, c는 dij = R1일 때,
    Figure 112011027360464-pat00069
    에 라플라시안 연산을 수행한 결과가 연속 함수가 되게 하기 위한 상수이고, R2는 열 지표를 구하는 연산에 관여하는 격자들의 개수를 조절하는 상수이다.)
  3. 제2항에 있어서, 상기 열 지표는 하기의 [수학식 2]를 만족하고, 하기의 [수학식 2]의 연산은 상기 격자들 각각에 대해 수행되는 것을 특징으로 하는 집적 회로의 온도 예측 방법.
    [수학식 2]
    Figure 112011027360464-pat00070

    (상기의 [수학식 2]에서 i 및 j는 양의 정수이고, 각각 임의의 두 개의 격자에 대응하는 번호를 나타낸다.
    Figure 112011027360464-pat00071
    는 상호 격자 함수,
    Figure 112011027360464-pat00072
    는 j 번째 격자에서의 전력 밀도,
    Figure 112011027360464-pat00073
    는 i 번째 격자에 대한 열 지표를 나타낸다.)
  4. 제1항에 있어서, 상기 복수의 회로 소자들을 포함하는 집적 회로의 플로어플랜을 복수의 동일한 크기의 정사각형 격자들로 나누는 단계에 있어서, 상기 격자의 한 변의 길이는 상기 복수의 열 지표 중 최대값과 상기 집적 회로의 최대 온도 사이의 상관 관계 값의 감소를 최소화시키면서 상기 열 지표를 구하는 연산의 속도를 증가시키는 임계 길이로 결정되는 것을 특징으로 하는 집적 회로의 온도 예측 방법.
  5. 제4항에 있어서, 상기 임계 길이는 상기 집적 회로에 포함되는 회로 소자들 각각에 대응하는 블록들의 면적의 평균값에 비례하는 것을 특징으로 하는 집적 회로의 온도 예측 방법.
  6. 제5항에 있어서, 상기 복수의 열 지표 중 최대값과 상기 집적 회로의 최대 온도 사이의 상관 관계는 상기 격자의 한 변의 길이가 상기 임계 길이 이하일 때는 0.7 이상 1.0 이하의 값을 가지고, 상기 격자의 한 변의 길이가 상기 임계 길이 이상일 때는 상기 격자의 한 변의 길이에 반비례하게 감소하는 것을 특징으로 하는 집적 회로의 온도 예측 방법.
  7. 시뮬레이티드 어닐링(simulated annealing, 모의 담금질)을 통해 복수의 회로 소자들을 포함하는 집적 회로에 대한 복수의 플로어플랜을 생성하는 단계;
    상기 각각의 플로어플랜을 복수의 동일한 크기의 정사각형 격자들로 나누는 단계;
    상기 격자들 사이의 거리를 변수로 하고, 상기 격자들 사이의 거리에 반비례하는 값을 가지는 상호 격자 함수를 선택하는 단계;
    상기 상호 격자 함수와 상기 격자들 각각에 대한 전력 밀도를 이용하여 상기 격자들 각각에 대한 복수의 열 지표들을 획득하는 단계;
    상기 열 지표를 이용하여 상기 집적 회로의 각각의 플로어플랜에 대한 목표 함수를 획득하는 단계; 및
    상기 목표 함수 값의 차이에 기초하여 상기 복수의 플로어플랜 중 상기 목표 함수 값이 가장 작은 플로어플랜을 선택하는 단계를 포함하고,
    상기 목표 함수는 상기 시뮬레이티드 어닐링 수행시 상기 각각의 플로어플랜에 대응되는 에너지이고,
    상기 상호 격자 함수에 라플라시안(Laplacian) 연산을 수행한 결과는 상기 격자들 사이의 거리가 0일 때 무한대 값을 갖고, 상기 격자들 사이의 거리가 일정 거리 이하일 때는 상기 격자들 사이의 거리에 반비례하게 감소하고, 상기 격자들 사이의 거리가 상기 일정 거리 이상일 때는 0의 값을 가지는 집적 회로의 플로어플래닝 방법.
  8. 제7항에 있어서, 상기 상호 격자 함수는 하기의 [수학식 3]을 만족하는 것을 특징으로 하는 집적 회로의 플로어플래닝 방법.
    [수학식 3]
    Figure 112011027360464-pat00074

    (상기의 [수학식 3]에서 i 및 j는 양의 정수이고, 각각 임의의 두 개의 격자에 대응하는 번호를 나타낸다. dij는 i 번째 격자와 j 번째 격자의 중심 간의 거리,
    Figure 112011027360464-pat00075
    는 상호 격자 함수를 나타낸다. R1, R2, 및 c는 상수이며, c는 dij = R1일 때,
    Figure 112011027360464-pat00076
    에 라플라시안 연산을 수행한 결과가 연속 함수가 되게 하기 위한 상수이고, R2는 열 지표를 구하는 연산에 관여하는 격자들의 개수를 조절하는 상수이다.)
  9. 제8항에 있어서, 상기 열 지표는 하기의 [수학식 4]를 만족하고, 하기의 [수학식 4]의 연산은 상기 격자들 각각에 대해 수행되는 것을 특징으로 하는 집적 회로의 플로어플래닝 방법.
    [수학식 4]
    Figure 112011027360464-pat00077

    (상기의 [수학식 4]에서 i 및 j는 양의 정수이고, 각각 임의의 두 개의 격자에 대응하는 번호를 나타낸다.
    Figure 112011027360464-pat00078
    는 상호 격자 함수,
    Figure 112011027360464-pat00079
    는 j 번째 격자에서의 전력 밀도,
    Figure 112011027360464-pat00080
    는 i 번째 격자에 대한 열 지표를 나타낸다.)
  10. 제9항에 있어서, 상기 격자들 각각에 대한 복수의 열 지표들을 획득하는 단계에 있어서, 상기 집적 회로에 포함되는 회로 소자들 각각에 대응하는 블록들에 대해 각각 전력 밀도와 전력(상기 전력 밀도와 상기 블록의 면적의 곱)을 구하고, 상기 전력 밀도와 상기 전력이 모두 최대값의 60% 이상에 해당하는 블록들이 교차하는 격자들에 대해서만 상기의 [수학식 4]의 연산을 수행하는 것을 특징으로 하는 집적 회로의 플로어플래닝 방법.
  11. 제10항에 있어서, 상기 목표 함수 값의 차이는 하기의 [수학식 5]로 표현되는 것을 특징으로 하는 집적 회로의 플로어플래닝 방법.
    [수학식 5]
    Figure 112011027360464-pat00081

    (상기의 [수학식 5]에서
    Figure 112011027360464-pat00082
    Figure 112011027360464-pat00083
    는 중요도 계수(weighting factor), A는 집적 회로의 면적, W는 상기 집적 회로에 포함되는 회로 소자들을 연결하는 배선의 총 길이, maxTS는 복수의 열 지표 중 최대값, E는 목표 함수를 나타낸다.)
  12. 제11항에 있어서, 상기 목표 함수 값의 차이에 기초하여 복수의 플로어플랜 중 목표 함수 값이 가장 작은 플로어플랜을 선택하는 단계에 있어서,
    Figure 112011027360464-pat00084
    인 경우 새로 생성된 플로어플랜을 선택하고,
    Figure 112011027360464-pat00085
    인 경우 확률적으로 선택하되,
    Figure 112011027360464-pat00086
    값의 크기와 새로 생성된 플로어플랜을 선택할 확률은 반비례하는 것을 특징으로 하는 집적 회로의 플로어플래닝 방법.
  13. 제12항에 있어서, 상기 [수학식 5]의 연산 속도는 상기 격자의 크기에 비례하는 것을 특징으로 하는 집적 회로의 플로어플래닝 방법.
KR1020110034567A 2011-04-14 2011-04-14 집적 회로의 온도 예측 방법 및 이를 이용한 집적 회로의 플로어플래닝 방법 KR101134440B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110034567A KR101134440B1 (ko) 2011-04-14 2011-04-14 집적 회로의 온도 예측 방법 및 이를 이용한 집적 회로의 플로어플래닝 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110034567A KR101134440B1 (ko) 2011-04-14 2011-04-14 집적 회로의 온도 예측 방법 및 이를 이용한 집적 회로의 플로어플래닝 방법

Publications (1)

Publication Number Publication Date
KR101134440B1 true KR101134440B1 (ko) 2012-04-09

Family

ID=46143406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110034567A KR101134440B1 (ko) 2011-04-14 2011-04-14 집적 회로의 온도 예측 방법 및 이를 이용한 집적 회로의 플로어플래닝 방법

Country Status (1)

Country Link
KR (1) KR101134440B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101621655B1 (ko) 2015-04-27 2016-05-17 성균관대학교산학협력단 반도체 장치를 위한 실시간 온도 예측 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142934A (ja) 1999-11-18 2001-05-25 Matsushita Electric Ind Co Ltd 素子配置方法
JP2002190525A (ja) 2000-12-21 2002-07-05 Matsushita Electric Ind Co Ltd 素子配置の最適化方法
JP2008102631A (ja) 2006-10-17 2008-05-01 Matsushita Electric Ind Co Ltd 半導体集積回路システムの設計方法、半導体集積回路実装基板の設計方法、パッケージの設計方法、半導体集積回路の設計方法、半導体集積回路システムの設計装置、半導体集積回路システム、半導体集積回路実装基板、パッケージ、および半導体集積回路
JP2009163421A (ja) 2007-12-28 2009-07-23 Panasonic Corp 温度予測システム、温度予測方法および温度予測プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142934A (ja) 1999-11-18 2001-05-25 Matsushita Electric Ind Co Ltd 素子配置方法
JP2002190525A (ja) 2000-12-21 2002-07-05 Matsushita Electric Ind Co Ltd 素子配置の最適化方法
JP2008102631A (ja) 2006-10-17 2008-05-01 Matsushita Electric Ind Co Ltd 半導体集積回路システムの設計方法、半導体集積回路実装基板の設計方法、パッケージの設計方法、半導体集積回路の設計方法、半導体集積回路システムの設計装置、半導体集積回路システム、半導体集積回路実装基板、パッケージ、および半導体集積回路
JP2009163421A (ja) 2007-12-28 2009-07-23 Panasonic Corp 温度予測システム、温度予測方法および温度予測プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101621655B1 (ko) 2015-04-27 2016-05-17 성균관대학교산학협력단 반도체 장치를 위한 실시간 온도 예측 장치 및 방법

Similar Documents

Publication Publication Date Title
JP4719265B2 (ja) 確率的相互接続構造設計のためのシステムおよび方法
JP3680040B2 (ja) ヒートパイプ
JP5282493B2 (ja) 最適解関係表示装置、方法、及びプログラム
Zarkesh-Ha et al. Prediction of net-length distribution for global interconnects in a heterogeneous system-on-a-chip
CN102646146B (zh) 一种基于田口方法的散热器优化设计方法
US11687698B2 (en) Electromigration evaluation methodology with consideration of both self-heating and heat sink thermal effects
Chen et al. Through silicon via aware design planning for thermally efficient 3-D integrated circuits
US8726201B2 (en) Method and system to predict a number of electromigration critical elements
JP6354320B2 (ja) 部品の温度予測方法及び温度予測装置
KR101134440B1 (ko) 집적 회로의 온도 예측 방법 및 이를 이용한 집적 회로의 플로어플래닝 방법
Lin et al. A fast thermal-aware fixed-outline floorplanning methodology based on analytical models
Sahiti et al. Selection and optimization of pin cross-sections for electronics cooling
US8082532B1 (en) Placing complex function blocks on a programmable integrated circuit
Kuddusi et al. Analytical solution for heat conduction problem in composite slab and its implementation in constructal solution for cooling of electronics
Kung et al. Thermal signature: A simple yet accurate thermal index for floorplan optimization
WO2023281968A1 (ja) 熱解析方法、熱解析装置およびコンピュータプログラム
Li et al. Efficient thermal-oriented 3D floorplanning and thermal via planning for two-stacked-die integration
JP2009048505A (ja) 回路動作検証装置、回路動作検証方法、半導体集積回路の製造方法、制御プログラム、およびコンピュータ読み取り可能な可読記憶媒体
US8457935B2 (en) Data processing method for sampling data from sets of original data
JP6040850B2 (ja) 割り当て方法、割り当てプログラム、情報処理装置、および解析システム
Chiou et al. Thermal modeling and design on smartphones with heat pipe cooling technique
Maggioni et al. 3D-convolution based fast transient thermal model for 3D integrated circuits: Methodology and applications
US8543967B2 (en) Computer system and method for determining a temperature rise in direct current (DC) lines caused by joule heating of nearby alternating current (AC) lines
CN117077612B (zh) 一种3d芯片的布局优化方法
Massey et al. Large-Scale Thermal TCAD Simulations of 7nm Circuits

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee