(57)【要約】  ワースト温度算出部２０６は、設計対象の三次元集積回路の各層の発熱量情報２０４および三次元集積回路の積層構造情報２０５に基づき、積層チップの動作時におけるワースト温度を算出する。論理合成ライブラリ選択部２０８は、算出したワースト温度に応じたスタンダードセルライブラリを選択する。論理合成部２０９は、選択したスタンダードセルライブラリを用いて論理合成を行う。
2012120792.tif 000002
【特許請求の範囲】
【請求項１】
スタンダードセルライブラリを用いて三次元集積回路を設計する集積回路設計装置であって、
スタンダードセルライブラリには、温度に応じた複数のスタンダードセルライブラリがあり、
三次元集積回路の各層の積層チップの発熱量と積層チップの構造情報とを用いて、積層チップの動作時における温度を算出する温度算出部と、
前記温度を用いてスタンダードセルライブラリを選択するスタンダードセルライブラリ選択部と、
前記選択されたスタンダードセルライブラリを用いて論理合成を行う論理合成部と
を備えることを特徴とする集積回路設計装置。
【請求項２】
前記集積回路設計装置は、さらに、
前記発熱量を算出する発熱量算出部を備えることを特徴とする請求項１に記載の集積回路設計装置。
【請求項３】
前記発熱量算出部は、
前記三次元集積回路を記述したＲＴＬ（Register Transfer Level）記述と積層チップの動作ベクタに基づき、積層チップのトグル率を算出し、
算出したトグル率に基づき、各層の積層チップの発熱量を算出することを特徴とする請求項２に記載の集積回路設計装置。
【請求項４】
前記発熱量算出部は、
前記三次元集積回路を記述したＲＴＬ（Register Transfer Level）記述と論理合成の制約条件に基づき、積層チップのトグル率を算出し、
算出したトグル率に基づき、各層の積層チップの発熱量を算出することを特徴とする請求項２に記載の集積回路設計装置。
【請求項５】
前記発熱量算出部は、
前記三次元集積回路を記述したＲＴＬ（Register Transfer Level）記述からＲＴＬ記述における各モジュールの回路規模を算出し、
前記ＲＴＬ記述と、前記ＲＴＬ記述における各モジュールの回路種別を示す回路種別情報と、算出した各モジュールの回路規模と、各モジュールに対する電源電圧値を示す電源電圧情報とに基づき、所定の発熱量テーブルを参照して各層の積層チップの発熱量を算出することを特徴とする請求項２に記載の集積回路設計装置。
【請求項６】
前記温度算出部は、前記三次元集積回路の各層の積層チップの発熱量のうち一部の層の発熱量をデータシートから取得し、取得した発熱量を用いて積層チップの動作時における温度を算出することを特徴とする請求項１に記載の集積回路設計装置。
【請求項７】
前記構造情報は、積層チップの厚さを示す積層情報を含むことを特徴とする請求項１に記載の集積回路設計装置。
【請求項８】
前記構造情報は、積層チップの熱伝導度の値を含むことを特徴とする請求項１に記載の集積回路設計装置。
【請求項９】
前記スタンダードセルライブラリ選択部は、
前記三次元集積回路の他の層に同一回路構成の積層チップを用いる場合、該他の層の積層チップの動作時における温度と、前記温度とを比較し、より高い方の温度に対応するスタンダードライブラリを選択することを特徴とする請求項１に記載の集積回路設計装置。
【請求項１０】
前記スタンダードセルライブラリは、応答時間が異なる複数のスタンダードセルを含むことを特徴とする請求項１に記載の集積回路設計装置。
【請求項１１】
スタンダードセルを用いて三次元集積回路を設計する集積回路設計方法であって、
スタンダードセルライブラリには、温度に応じた複数のスタンダードセルライブラリがあり、
三次元集積回路の各層の積層チップの発熱量と積層チップの構造情報とを用いて、積層チップの動作時における温度を算出する温度算出ステップと、
前記温度に対応するスタンダードセルライブラリを選択するスタンダードセルライブラリ選択ステップと、
前記選択されたスタンダードセルライブラリを用いて論理合成を行う論理合成ステップと
を含むことを特徴とする集積回路設計方法。
【請求項１２】
スタンダードセルを用いた三次元集積回路の設計処理をコンピュータに実行させるプログラムであって、
スタンダードセルライブラリには、温度に応じた複数のスタンダードセルライブラリがあり、
三次元集積回路の各層の積層チップの発熱量と積層チップの構造情報とを用いて、積層チップの動作時における温度を算出する温度算出ステップと、
前記温度に対応するスタンダードセルライブラリを選択するスタンダードセルライブラリ選択ステップと、
前記選択されたスタンダードセルライブラリを用いて論理合成を行う論理合成ステップと
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元集積回路設計技術に関し、特に熱を考慮した三次元集積回路設計技術に関する。
【背景技術】
【０００２】
三次元集積回路は、二次元集積回路と比較して熱がこもりやすく、回路内で発生する熱を考慮した設計が重要となる。例えば、マスクレイアウト設計の段階で、上下の積層チップで発熱する箇所が同じ位置に重ならないように考慮して、回路の配置レイアウトを行う技術が知られている（非特許文献１）。【０００３】
また上記のような回路内で発生する熱を考慮した設計は、論理合成工程とレイアウト工程の繰り返しを少なくするため、論理合成より前の早い段階から行うことが好ましい。論理合成段階では、動作速度が最も遅くなる場合（ワーストケース）の回路全体の温度等の条件を想定し、ワーストケースにおいて回路の動作が保証できるように論理合成を行う。この際、想定した動作温度よりも良い温度条件で動作した場合、必要以上の性能で回路が動作するのでより多くの電力を消費する。また、より多くの回路の実装面積を要する。このような大きな性能マージンの発生は、消費電力の面、集積回路の小型化の面で好ましくない。かかる事態を回避するため、特許文献１には、複数の動作条件に合わせたセルを回路内に備え、実際の動作時にチップや回路の温度を検出して条件にあったセルに切り替えることで性能マージンを小さくする技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−１４１４７１号報
【非特許文献】
【０００５】
【非特許文献１】ＶＡＳＩＬＩＳ Ｆ． ＰＡＶＬＩＤＩＳ他著、“ＴＨＲＥＥ−ＤＩＭＥＮＳＩＯＮＡＬ  ＩＮＴＥＧＲＴＥＤ  ＣＩＲＣＵＩＴ  ＤＥＳＩＧＮ”、ＭＯＲＧＡＮ  ＫＡＵＦＭＡＮＮ  ＰＵＢＬＩＳＨＥＲＳ
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に開示される技術は、実際の動作時の温度に応じて使用するセルを切り替えるものであり、条件の数だけ重複して回路を備える必要がある。また、実際の動作時の温度を検出するための回路も必要になる。従って、特許文献１に開示される技術は、消費電力のマージンを減らすことが出来るが、実際の動作時の温度に応じたセルを選択することで減らすことができた面積マージン以上に重複回路の実装面積が必要となる。その結果、回路全体の面積が増えてしまう。【０００７】
また、三次元集積回路では半導体シリコンチップを積層しているため、各チップにおける実際の動作温度と三次元集積回路全体に対して想定したワーストケースの温度との差が大きくなる。かかるワースト温度に基づき論理合成をした場合、必要以上に駆動力が大きいスタンダードセルが用いて設計されるので、設計された回路の性能マージンは大きくなる。【０００８】
本発明は上記事情に鑑みなされたものであり、論理合成段階において性能マージンが少ない三次元集積回路を設計する集積回路設計装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明にかかる集積回路設計装置は、スタンダードセルライブラリを用いて三次元集積回路を設計する集積回路設計装置であって、スタンダードセルライブラリには、温度に応じた複数のスタンダードセルライブラリがあり、三次元集積回路の各層の積層チップの発熱量と積層チップの構造情報とを用いて、積層チップの動作時における温度を算出する温度算出部と、前記温度を用いてスタンダードセルライブラリを選択するスタンダードセルライブラリ選択部と、前記選択されたスタンダードセルライブラリを用いて論理合成を行う論理合成部とを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、三次元集積回路の各層の発熱量および集積チップの厚さ等の集積構造を考慮して、積層チップの動作温度を層毎に算出するので、集積チップの実際の動作温度に近いワーストケースの温度を設定することができる。また、集積チップ毎に適切に設定されたワーストケースの温度に対応するスタンダードセルライブラリを選択し、選択したスタンダードセルライブラリを用いて論理合成を行うので、論理合成段階において性能マージンが少ない三次元集積回路を設計することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１にかかる集積回路設計装置が行う処理の概要を示す図である。
【図２】実施の形態１にかかる集積回路設計装置の構成の一例を示すブロック図である。
【図３】設計情報２０２のデータ構造を示す模式図である。
【図４】ＲＴＬ記述３０１の内容例を示す図である。
【図５】電源電圧情報３０２の内容例を示す図である。
【図６】合成制約３０４の内容例を示す図である。
【図７】発熱量情報２０４のデータ構造を示す模式図である。
【図８】積層構造情報２０５のデータ構造を示す模式図である。
【図９】熱伝導度情報８０１の内容例を示す図である。
【図１０】チップ積層情報８０３の内容例を示す図である。
【図１１】三次元集積回路の構造を示す図である。
【図１２】スタンダードセルライブラリ２０７のデータ構造を示す図である。
【図１３】スタンダードセルライブラリの内容例を示す図である。
【図１４】ネットリストの内容例を示す図である。
【図１５】ワースト温度に応じたスタンダードセルライブラリを用いて論理合成した例を示す図である。
【図１６】実施の形態１にかかる集積回路設計装置の動作を示すフローチャートである。
【図１７】実施の形態２にかかる集積回路設計装置の動作を示すフローチャートである。
【図１８】回路種別情報の内容例を示す図である。
【図１９】発熱量テーブルの内容例を示す図である。
【図２０】実施の形態３にかかる集積回路設計装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、図面を参照しながら説明する。
≪実施の形態１≫
実施の形態１にかかる集積回路設計装置は、スタンダードセルを用いて三次元集積回路を設計する集積回路設計装置である。図１は、実施の形態１にかかる集積回路設計装置が行う処理の概要を示す図である。
【００１３】
本図に示されるように、まず集積回路設計装置は、各層の発熱量Ｐに基づき、各層の積層チップのワースト温度Ｔを算出する。このワースト温度Ｔの算出に用いられる各層の発熱量の情報は、ＲＴＬ（Register Transfer Level）記述等に基づき算出するか、またはデータシート等の外部入力により与えられる。また、図１に示されるワースト温度Ｔの算出に用いられる数式において、ΔＴは積層チップの温度変化量、Ｔ0は初期温度、Ｒは積層チップの熱抵抗、Ａは積層チップの面積、Δはマージン量を示す。本図に示される温度算出式については後述する。
【００１４】
各層の積層チップのワースト温度Ｔを算出した後、集積回路設計装置は、ワースト温度Ｔに対応するスタンダードセルライブラリを選択する。そして、集積回路設計装置は、選択したスタンダードセルライブラリを用いて論理合成を行い、各層のネットリストを生成する。
【００１５】
このように、論理合成段階において、各層の積層チップの熱解析を行い、各層の発熱量および集積チップの厚さ等の集積構造を考慮して、積層チップの動作温度を層毎に算出するので、集積チップの実際の動作温度に近いワーストケースの温度を設定することができる。適切に設定したワーストケースの温度に対応したスタンダードセルライブラリを選択し論理合成を行うので、性能マージンの少ない三次元集積回路を設計することができる。
＜構成＞
まず、実施の形態１にかかる集積回路設計装置２００の構成について説明する。図２は、集積回路設計装置２００の構成の一例を示すブロック図である。図２に示されるように、集積回路設計装置２００は、入力部２０１、設計情報格納部２０２、発熱量算出部２０３、発熱量情報格納部２０４、積層構造情報格納部２０５、ワースト温度算出部２０６、スタンダードセルライブラリ格納部２０７、論理合成ライブラリ選択部２０８、論理合成部２０９を含んで構成される。以下、各構成部について説明する。
＜入力部２０１＞
入力部２０１は、集積回路設計装置２００による集積回路設計に用いるデータの入力を受け付ける。具体的には、入力部２０１は、設計対象の集積回路の設計情報や、積層チップの厚さ等の積層構造に関する情報を受け付ける。また、設計対象の三次元集積回路の一部、または全ての層の積層チップの発熱量がデータシート等により予めわかっている場合、入力部２０１は、その積層チップが用いられる層の発熱量の情報を受け付ける。入力部２０１により入力された、これらの設計情報、積層構造情報、発熱量情報は、それぞれ、設計情報格納部２０２、積層構造情報格納部２０５、発熱量情報格納部２０４に格納される。
【００１６】
ここで、入力部２０１によるデータ入力は、例えば、キーボード、マウス、その他のコントローラ等を用いた入力である。また、外部接続の記憶メディアからデータファイルの読み込みを行うものであってもよい。
＜設計情報格納部２０２＞
設計情報格納部２０２は、設計対象の集積回路の設計情報を格納する。設計情報は、後述する発熱量の算出や論理合成に用いられる。図３は、設計情報格納部２０２が格納する設計情報のデータ構造を示す模式図である。図３に示されるように、設計情報は例えば、ＲＴＬ記述３０１、電源電圧情報３０２、動作ベクタ３０３、合成制約３０４を含む。ＲＴＬ記述３０１は、設計対象の集積回路をレジスタ転送レベル（Register Transfer Level:RTL）で記述したものである。電源電圧情報３０２は、三次元集積回路の各モジュールに供給される電源電圧の値を示す情報である。動作ベクタ３０３は、三次元集積回路の各層のチップを動作させる入力信号であり、後述するＲＴＬシミュレーションにおいて、テストベクタとして用いられる。合成制約３０４は、論理合成におけるチップ面積、遅延時間、消費電力等の制約条件である。これ等の情報は、回路設計者により入力部２０１を用いて入力される。以下では、各情報の内容例を用いて具体的に説明する。
【００１７】
まずＲＴＬ記述３０１について説明する。図４は、ＲＴＬ記述３０１の内容例を示す図である。図中の符号４０１部分は、モジュール名とポートリストを定義する。符号４０２部分は、入力ポートを宣言する。符号４０３部分は、他のモジュールとの接続を示す。符号４０４部分は、ポート“mc#uid”に対する信号の継続的代入を示す。このように、ＲＴＬ記述３０１は、レジスタ間の信号の流れを記述する。
【００１８】
次に電源電圧情報３０２について説明する。図５は、電源電圧情報３０２の内容例を示す図である。本図に示されるように、電源電圧情報３０２は、電源のラベル名（Ｖｄｄａ、Ｖｄｄｉｏ等）、電源電圧の値（３．３Ｖ、１．８Ｖ等）、電源電圧で駆動されるモジュール名（mc#dp#top、mc#io#top等）等の情報を含み、三次元集積回路の各モジュールに供給される電源電圧の値を示す。例えば本図では、モジュール“mc#dp#top”は、３．３Ｖの電圧で駆動されることが示されている。
【００１９】
次に合成制約３０４について説明する。図６は、合成制約３０４の内容例を示す図である。合成制約は、論理合成におけるチップ面積、遅延時間、消費電力等の制約条件を含む。本図の例は、クロックポート“clk200um”に２００ＭＨｚの合成制約が与えられていることを示している。これは、クロックポート“clk200um”に接続されるレジスタ間の遅延時間を５ｎ秒以下に抑える必要があることを意味する。以上が設計情報各像部２０２についての説明である。続いて、発熱量算出部２０３について説明する。
＜発熱量算出部２０３＞
発熱量算出部２０３は、設計情報２０２に基づき積層チップの消費電力を算出し、算出した消費電力を発熱量とする。発熱量の算出は、入力部２０１で発熱量情報が与えられなかった層について行う。以下では、積層チップの発熱量算出について具体的に説明する。
【００２０】
積層チップの消費電力は、トランジスタのスイッチングに起因する動的な消費電力と、トランジスタの非動作時のリーク電流によって消費される静的な消費電力の和に等しい。動的な消費電力は、ゲート数Ｎとトグル率ＴＲに比例する。また静的な消費電力は、ゲート数Ｎに比例する。そこで発熱量算出部２０３はＲＴＬ記述３０１を解析しゲート数Ｎを算出する。また発熱量算出部２０３は、ＲＴＬ記述３０１と動作ベクタ３０３に基づき、トグル率ＴＲを算出する。
【００２１】
まず、動的な消費電力の算出方法について説明する。動的な消費電力には、負荷容量を充電するのに必要な電流（スイッチング電流）による消費電力と電源からグラウンドに向かった電流（貫通電流）による消費電力がある。発熱量算出部２０３はスイッチング電流による消費電力を求め、その値を動的な消費電力とする。
【００２２】
スイッチング電流による消費電力は、電源電圧Ｖの二乗に負荷容量Ｃとトグル率ＴＲとゲート数Ｎを乗じることで計算される。ここでトグル率ＴＲは、単位時間当たりにスイッチング動作を行う回数である。電源電圧Ｖは、回路設計者により入力される電源電圧情報３０２として得られる。負荷容量Ｃは、経験的または統計的データとして得られる。
【００２３】
トグル率ＴＲとゲート数Ｎは、ＲＴＬ記述３０１の解析により算出する。具体的には、発熱量算出部２０３は、ＲＴＬ記述３０１をゲートレベルの回路構造記述に構造変換する。構造変換では、レジスタ推定やステートマシンの合成等を行う。ゲートレベルの回路構造記述からは、ゲート数Ｎを算出することができる。またトグル率ＴＲは、ゲートレベルの回路構造記述に対して動作ベクタ３０３を用いてＲＴＬシミュレーションを行うことで算出する。ここでＲＴＬシミュレーションに用いる動作ベクタ３０３は、消費電力がワーストとなる動作パターンである。以上のように、発熱量算出部２０３はＲＴＬ記述３０１と動作ベクタ３０３に基づきトグル率を算出し、動的な消費電力を算出する。
【００２４】
次に静的な消費電力の算出方法について説明する。静的な消費電力は、ゲートあたりのリーク電流による消費電力に、ゲート数Ｎを乗じることで計算される。ゲートあたりのリーク電流による消費電力は、電源電圧Ｖにより決まる。前述の通り、電源電圧Ｖは、回路設計者により入力される電源電圧情報３０２として得られる。またゲート数は前述の通り、ＲＴＬ記述３０１を構造変換して得られるゲートレベルの回路構造記述から算出することができる。従って、発熱量算出部２０３は、ＲＴＬ記述の解析によりゲート数Ｎを算出し、静的な消費電力を算出することができる。以上が発熱量算出部２０３についての説明である。
＜発熱量情報格納部２０４＞
発熱量情報格納部２０４は、設計対象の三次元集積回路の各層の発熱量情報を格納する。図７は、発熱量情報２０４のデータ構造を示す模式図である。本図に示されるとおり、発熱量情報２０４は、三次元集積回路の各層の発熱量７０２を含む。
【００２５】
三次元集積回路の各層の発熱量は、発熱量算出部２０３によりＲＴＬ（Register Transfer Level）記述等に基づき算出されるか、または入力部２０１よるデータシート等の外部入力により与えられる。
＜積層構造情報格納部２０５＞
積層構造情報格納２０５は、設計対象の三次元集積回路の積層チップの厚さ、熱伝導度等の三次元集積回路の積層構造に関する情報を含む。積層構造情報の各情報は、ワースト温度の算出に用いられる。図８は、積層構造情報格納部２０４が格納する積層構造情報のデータ構造を示す模式図である。図８に示されるように、積層構造情報は例えば、熱伝導度情報８０１、冷却・使用温度情報８０２、チップ積層情報８０３を含む。熱伝導度情報８０１は、三次元集積回路の各モジュールの熱伝導度の値を示す情報である。冷却・使用温度情報８０２は、冷却ソリューションの内容と集積回路の使用温度を示す情報である。冷却ソリューションの内容は、例えばヒートシンクのサイズの情報である。集積回路の使用温度は、設計対象の集積回路の想定される使用環境下における使用温度である。チップ積層情報８０３は、積層チップの各層の厚さと構成モジュール名を示す情報である。これ等の情報は、回路設計者により入力部２０１を用いて入力される。以下では、各情報の内容例を用いて具体的に説明する。
【００２６】
まず熱伝導度情報８０１について説明する。図９は、熱伝導度情報８０１の内容例を示す図である。本図に示されるように、熱伝導度情報８０１は、三次元集積回路の各モジュールの構成材料（Ｃｕ、Ｓｉ等）と、各構成材料の熱伝導度の情報を含む。熱伝導度情報８０１を参照することで、積層チップの熱伝導度を求めることができる。
【００２７】
続いてチップ積層情報８０３について説明する。図１０は、チップ積層情報８０３の内容例を示す図である。本図に示されるように、チップ積層情報８０３は、積層チップの各層の構成モジュール名と積層チップの各層の厚さの情報を含む。本図の例では、例えば積層チップの第２層はモジュール“mc#top”で構成され、その厚さは１０μｍであることが示されている。以上が積層構造情報格納部２０５についての説明である。続いて、ワースト温度算出部２０６について説明する。
＜ワースト温度算出部２０６＞
ワースト温度算出部２０６は、発熱量情報格納部２０４に格納される三次元集積回路の各層の発熱量の情報と、積層構造情報格納部２０５に格納される積層情報とに基づき、各層の積層チップの熱抵抗Ｒと電力密度φを求め、その熱抵抗Ｒと電力密度φに基づき、各積層チップのワースト温度を算出する。
【００２８】
算出したワースト温度がシステム上で許容される温度よりも高い場合は、サーマルビアを挿入する。サーマルビアとはチップ間の熱伝導を主目的として使用されるＳｉ貫通電極であり、発熱量の多いチップから発熱量の少ないチップ、またはヒートシンク側のチップに熱を伝導させることができる。サーマルビアを挿入した場合は、再度ワースト温度の算出を行う。以下では、ワースト温度算出処理について、「熱抵抗Ｒの導出」、「ワースト温度の算出」に項目分けして説明する。
（熱抵抗Ｒの導出）
図１１は、三次元集積回路の構造を示す図である。配線層は金属配線層と絶縁層からなるが、簡単のためひとつの領域としてワースト温度の計算を行う。熱抵抗Ｒは、熱伝導度の逆数に厚さを乗じたものと定義される。すなわち、第ｊ層の熱抵抗＝（第ｊ層のＳｉ基板の厚さ÷第ｊ層のＳｉ基板の熱伝導度）＋（第ｊ層の配線層の厚さ÷第ｊ層の配線層の熱伝導度）＋（第ｊ層の接着剤の厚さ÷第ｊ層の接着剤の熱伝導度）の関係が成り立つ。ここでＳｉ基板等の厚さは、チップ積層情報８０３から得られる。またＳｉ基板等の熱伝導度は、熱伝導度情報８０１から得られる。以上のようにして、ワースト温度算出部２０６は、各積層チップの熱抵抗Ｒを導出する。なお、サーマルビア等により、積層チップの熱抵抗の値はかわる。そこでサーマルビア等を挿入する場合は、サーマルビア等の熱抵抗値を考慮して積層チップの熱抵抗Ｒを導出する。以上が熱伝導Ｒの導出についての説明である。続いて、ワースト温度の算出について説明する。
（ワースト温度の算出）
熱抵抗Ｒと電力密度φと温度上昇ΔＴの関係は、ΔＴ＝Ｒ×φとなる。これはオームの法則：電圧降下＝電気抵抗×電流と同じ関係となり、熱抵抗と熱流を抵抗と電流源に置き換えた電気回路モデルを用いて温度変化を算出することができる。なお電力密度φは、単位面積当たりの消費電力であり、積層チップの消費電力Ｐと積層チップの面積Ａを用いてφ＝Ｐ÷Ａと表される。従って、前述の熱抵抗と熱流を抵抗と電流源に置き換えた電気回路モデルを考えると、ｎ層から成る三次元集積回路における第ｊ層の温度変化は、以下の数式により算出できる。
【００２９】
【数１】
2012120792.tif 000003
上記の数式において、Ｒは積層チップの熱抵抗、Ｐは積層チップの消費電力、Ａは積層チップの面積を示す。また、Δはマージン量を示す。このマージン量は回路設計者により経験的に定められる。
【００３０】
ワースト温度算出部２０６は、発熱量情報２０４から積層チップの消費電力Ｐを取得し、数１を用いて積層チップの温度変化ΔＴを算出する。そして、算出した温度変化ΔＴに、冷却・使用温度情報８０２に含まれる設計対象の集積回路の想定される使用環境下における使用温度Ｔ0の値を足し合わせ、ワースト温度Ｔを算出する。以上がワースト温度算出部２０６についての説明である。続いてスタンダードセルライブラリ格納部２０７について説明する。
＜スタンダードセルライブラリ格納部２０７＞
スタンダードセルライブラリ格納部２０７は、スタンダードセルライブラリを格納する。スタンダードセルライブラリは、種々の論理機能を実現するスタンダードセルを集めたデータベースである。図１２は、スタンダードセルライブラリ２０７のデータ構造を示す模式図である。本図に示されるとおり、スタンダードセルライブラリ２０７は、使用温度に応じた複数のライブラリ１２０１を含む。スタンダードセルの駆動能力や消費電力等の特性は、使用温度により変化するためである。
【００３１】
図１３は、スタンダードセルライブラリ２０７の内容例を示す図である。図１３（ａ）は温度１２０度に対応するセルライブラリ、図１３（ｂ）は温度１００度に対応するセルライブラリ、図１３（ｃ）は温度８０度に対応するセルライブラリを示す。スタンダードセルライブラリには、１つの論理機能について１種類だけでなく、駆動能力が異なる複数種類のスタンダードセルが用意されている。図中の“Ｄ１”、“Ｄ４”等はセルの駆動能力を示す。数値が高いほど駆動能力が高いセルを示す。論理合成では、遅延時間、回路面積、消費電力等の制約条件に基づき、かかるスタンダードセルライブラリから適切なスタンダードセルを選択することで回路を最適化する。以上がスタンダードセルライブラリ格納部２０７についての説明である。続いて論理合成ライブラリ選択部２０８について説明する。
＜論理合成ライブラリ選択部２０８＞
論理合成ライブラリ選択部２０８は、ワースト温度算出部２０６が算出したワースト温度に基づき、積層チップの論理合成に用いるスタンダードセルライブラリを選択する。スタンダードセルライブラリは、使用温度に応じた複数のライブラリがあり、論理合成ライブラリ選択部２０８は、高温側でワースト温度に最も近い温度のライブラリを選択する。ただし、温度が下がるほどライブラリ内のセルの性能が下がる場合は、低温側でワースト温度に最も近い温度のライブラリを選択する。
【００３２】
なお、論理合成ライブラリ選択部２０８は、三次元集積回路の他の層に同一回路構成の積層チップを用いる場合には、その他の層の積層チップのワースト温度を考慮して論理合成ライブラリを選択する。具体的には、同一回路構成の積層チップを用いる他の層のワースト温度との比較を行い、より高い方の温度に近い温度のライブラリを選択する。これは、同一回路構成のチップを複数の層に用いる場合において、別々の論理合成を行うことを避けるためである。
＜論理合成部２０９＞
論理合成部２０９は、論理合成ライブラリ選択部２０８で選択されたライブラリを用いて、積層チップ毎に全ての層の積層チップに対して論理合成を行う。論理合成とは、ＲＴＬ記述３０１を、合成制約３０４に示されたチップ面積、遅延時間、消費電力の制約条件に従い、スタンダードセルの組み合わせからなるネットリストに置き換える処理である。ネットリストとは、集積回路における端子間の接続情報を示したものである。図１４は、ネットリストの内容例を示す図である。本図は、図４に示したＲＴＬ記述３０１の内容例に対応する。本図において、符号１４０１の部分は、図４の符号４０４部分のポート“mc#uid”に対する信号の継続的代入をスタンダードセルを用いて置き換えたものである。
【００３３】
このように、集積回路設計装置２００は、積層チップの各層の発熱量に基づき、積層チップの動作時の温度を算出する。そして、算出した温度に対応するスタンダードセルライブラリを選択し、論理合成を行う。以下では、積層チップ毎に各層の発熱量を考慮してワースト温度を算出し、そのワースト温度に応じたスタンダードセルライブラリを選択し論理合成を行うことの技術的意義について説明する。
【００３４】
図１５は、ワースト温度に応じたスタンダードセルライブラリを用いて論理合成した例を示す図である。本図の例は、図１４に示したネットリストの“NAND2D1 m200 (.A(valid), .B(dp[3]), .Y(w200));”、“INVD1 m203 (.A(w200), .Y(mc#uid[2]));”の２行で示される集積回路の例である。また、クロックポート“clk200um”に２００ＭＨｚの合成制約が与えられている。説明のため組み合わせ回路部分の遅延値を固定（４．９２ｎｓ）とすると、ＮＡＮＤ２、ＩＮＶ部分の遅延値は０．０８ｎｓとなる。論理合成では、この遅延値０．０８ｎｓを満たす中で面積、消費電力が小さくなるようにスタンダードセルを割り当てる。図１５（ａ）は、図１３に示される温度１２０度用のスタンダードセルライブラリを用いて論理合成を行った例を示す。この場合、遅延値０．０８ｎｓの制約条件のもと、駆動能力“Ｄ４”のＮＡＮＤ２と、駆動能力“Ｄ４”のＩＮＶを割り当てる。その結果、ゲート数は１２、リーク電力は５０ｎＷとなる。一方、図１５（ｂ）は、図１３に示される温度８０度用のスタンダードセルライブラリを用いて論理合成を行った例を示す。この場合、遅延値０．０８ｎｓのもと、駆動能力“Ｄ１”のＮＡＮＤ２と、駆動能力“Ｄ１”のＩＮＶを割り当てる。その結果、ゲート数は３、リーク電力は８ｎＷとなる。
【００３５】
このように、集積回路のゲート数、消費電力は、設定するワースト温度により大きく異なる。そのため、実際の動作温度により近いワースト温度を設定することが重要となる。二次元の集積回路では、平面にヒートシンクが貼り付けられているため、熱平衡により回路全体の温度がほぼ均一になり、回路全体に設定されたワースト温度と実際の動作温度との隔たりは小さい。しかし、三次元集積回路では、各層の積層チップが発熱源であり、実際の動作温度は層毎に大きく異なる。そこで、本実施の形態にかかる集積回路設計装置２００は、各層の発熱量を考慮し、層毎にワースト温度の計算を行うものである。これにより、積層チップの実際の動作温度に近い適切なワースト温度を算出でき、そのワースト温度に応じたスタンダードセルライブラリを選択して論理合成を行うので、性能マージンの少ない集積回路を設計することができる。以上が集積回路設計装置２００の構成についての説明である。続いて、上記構成を備える集積回路設計装置２００の動作について説明する。
＜動作＞
図１６は、集積回路設計装置２００の動作を示すフロー図である。本図に示されるように、入力部２０１により発熱量情報の外部入力がある場合（ステップＳ１６０１、ＹＥＳ）、発熱量情報格納部２０４は、入力された発熱量情報を格納する（ステップＳ１６０２）。
【００３６】
入力部２０１による発熱量情報の外部入力がない場合は（ステップＳ１６０１、ＮＯ）、発熱量算出部２０３はその層の発熱量を算出する（ステップＳ１６０３〜ステップＳ１６０５）。すなわち、まず発熱量算出部２０３は、ＲＴＬ記述３０１をゲートレベルの回路構造記述に構造変換する（ステップＳ１６０３）。次に発熱量算出部２０３は、構造変換後のＲＴＬ記述３０１と動作ベクタに基づきトグル率を算出する（ステップＳ１６０４）。具体的には、ゲートレベルの回路構造記述に対して動作ベクタ３０３を用いてＲＴＬシミュレーションを行うことでトグル率を算出する。そして、発熱量算出部２０３は、ステップＳ１６０２で算出したトグル率に基づき、積層チップの発熱量を算出し、算出した発熱量を発熱量情報格納部２０４に格納する（ステップＳ１６０５）。以上のステップＳ１６０１からステップＳ１６０５までの発熱量算出処理を、三次元集積回路を構成する全ての層（第１層〜第ｎ層）の積層チップに対して行う。
【００３７】
全ての層の発熱量を算出した後、ワースト温度算出部２０６は、発熱量情報格納部２０４に格納された各層の発熱量情報と、積層構造情報２０５に基づき積層チップ毎に全ての層に対してワースト温度の算出を行う（ステップＳ１６０６）。
【００３８】
論理合成ライブラリ選択部２０８は、三次元集積回路の他の層に同一回路構成の積層チップが用いられているかを判定する（ステップＳ１６０７）。同一回路構成の積層チップが用いられていない場合（ステップＳ１６０７、ＮＯ）、論理合成ライブラリ選択部２０８は、ステップＳ１６０６で算出された温度を、論理合成ライブラリの選択に用いるワースト温度に決定する（ステップＳ１６０８）。同一回路構成の積層チップが用いられている場合（ステップＳ１６０７、ＹＥＳ）、論理合成ライブラリ選択部２０８は、同一回路構成の積層チップが用いられている他の層のワースト温度との比較を行い、より高い方の温度を、論理合成ライブラリの選択に用いるワースト温度に決定する（ステップＳ１６０９）。そして、論理合成ライブラリ選択部２０８は、ステップＳ１６０８またはステップＳ１６０９で決定したワースト温度に応じたスタンダードセルライブラリを選択する（ステップＳ１６１０）。
【００３９】
論理合成部２０９は、ステップＳ１６１０で選択されたスタンダードセルライブラリを用いて、積層チップ毎に全ての層に対して論理合成を行う（ステップＳ１６１１）。これにより三次元集積回路を構成する全ての層（第１層〜第ｎ層）の積層チップのネットリストが得られる。以上が、集積回路設計装置２００の動作についての説明である。
【００４０】
以上のように本実施形態によれば、論理合成段階において、各層の発熱量を算出し、算出した各層の発熱量に基づき、積層チップのワースト温度を算出し、算出したワースト温度に基づきスタンダードセルライブラリを選択して論理合成を行うので、集積チップの実際の動作温度に近いワーストケースの温度を設定することができ、性能マージンの少ない三次元集積回路を設計することができる。
≪実施の形態２≫
実施の形態２にかかる集積回路設計装置は、実施の形態１にかかる集積回路設計装置２００と同様に、論理合成段階において、三次元集積回路の各層の発熱量に基づき、積層チップのワースト温度を算出し、算出したワースト温度に基づきスタンダードセルライブラリを選択して論理合成を行う集積回路設計装置であるが、各層の発熱量の算出処理が異なる。実施の形態２にかかる集積回路設計装置は、ＲＴＬ記述と合成制約に基づきトグル率を算出し、各層の発熱量を算出する。これにより、動作ベクタを用いたＲＴＬシミュレーションを行わず、高速に各層の発熱量を算出することができる。以下、実施の形態１と異なる発熱量算出処理について具体的に説明する。
【００４１】
図１７は、実施の形態２にかかる集積回路設計装置の動作を示すフロー図である。図１６に示す実施の形態１に係る映像処理装置２００の動作と同じ部分については、同符号を付して説明を略し、発熱量算出処理部分（ステップＳ１６０３、ステップＳ１７０１、ステップＳ１６０５）を中心に説明する。
【００４２】
発熱量算出部は、ＲＴＬ記述をゲートレベルの回路構造記述に構造変換する（ステップＳ１６０３）。ここでの構造変換は、実施の形態１にかかる集積回路設計装置と同じ処理である。ステップＳ１６０３の処理後、発熱量算出部は、ＲＴＬ記述と合成制約に基づきトグル率を算出する（ステップＳ１７０１）。以下、トグル率算出方法について具体的に説明する。
【００４３】
トグル率は、動作信号の周波数×ゲート稼働率で表される。本実施の形態では、動作信号の周波数を論理合成の制約条件から取得する。例えば、200MHzの合成制約が与えられている場合、動作信号の周波数を200MHzとする。また、ゲートの稼働率は経験的・統計的に得られるスイッチングモデルから取得する。例えば、放送ストリームを扱うプロセッサは稼働率が７０％くらいであると設計者が経験的に分かっている場合は、その経験から得られた値から稼働率を取得する。また同等の過去品種のチップの測定値から統計値として存在する場合は、その統計値から稼働率を取得する。以上のようにして得られた動作信号の周波数とゲート稼働率を乗じることでトグル率を算出することができる。以上がトグル率算出方法についての説明である。
【００４４】
発熱量算出部は、ステップＳ１７０１の処理で算出されたトグル率を用いて、各層の発熱量を算出する（ステップＳ１６０５）。ここでのトグル率を用いた発熱量の算出処理は、実施の形態１に係る集積回路設計装置と同じ処理である。
【００４５】
上述の発熱量算出処理以外の他の処理は、実施形態１に係る映像処理装置２００の動作処理と同じであり、説明を略する。
【００４６】
以上のように本実施形態によれば、動作ベクタを用いたＲＴＬシミュレーションを行わず、高速に各層の発熱量を算出することができ、集積チップの実際の動作温度に近いワーストケースの温度を設定することができる。
≪実施の形態３≫
実施の形態３にかかる集積回路設計装置は、実施の形態１にかかる集積回路設計装置２００と同様に、論理合成段階において、三次元集積回路の各層の発熱量に基づき、積層チップのワースト温度を算出し、算出したワースト温度に基づきスタンダードセルライブラリを選択して論理合成を行う集積回路設計装置であるが、各層の発熱量の算出処理が異なる。実施の形態３にかかる集積回路設計装置は、ＲＴＬ記述と、ＲＴＬ記述における各モジュールの回路種別を示す回路種別情報と、算出した各モジュールの回路規模と、各モジュールに対する電源電圧値を示す電源電圧情報とに基づき、所定の発熱量テーブルを参照して各層の積層チップの発熱量を算出する。これにより、動作ベクタを用いたＲＴＬシミュレーションを行わず、高速に各層の発熱量を算出することができる。以下、実施の形態１と異なる発熱量算出処理について具体的に説明する。
【００４７】
発熱量算出部は、ＲＴＬ記述３０１と、回路種別情報と、各モジュールの回路規模と、各モジュールに対する電源電圧値を示す電源電圧情報３０２とに基づき、所定の発熱量テーブルを参照する。そして、積層チップを構成する各モジュールの発熱量を足し合わせることにより、各層の積層チップの発熱量を算出することができる。ここで、ＲＴＬ記述３０１と回路種別情報と電源電圧情報３０２は、入力部２０１を用いて設計者により入力される情報である。また、各モジュールの回路規模は、実施の形態１で説明したとおり、ＲＴＬ記述３０１をゲートレベルの回路構造記述に構造変換し、構造変換により得られた回路構造記述から回路規模を算出する。ＲＴＬ記述３０１、電源電圧情報３０２については、実施の形態１の記載にて既に説明したので、以下では、発熱量算出に用いる回路種別情報と発熱量テーブルについて説明する。
【００４８】
回路種別情報は、ＲＴＬ記述における各モジュールの回路種別を示す情報である。回路種別情報は、回路設計者により入力部２０１を用いて入力される。図１８は、回路種別情報の内容例を示す図である。本図に示されるように、回路種別情報にはＲＴＬ記述におけるモジュールの回路種別（プロセッサ、メモリ等）が示されている。例えば本図では、モジュール“mc#cpu”は、ＣＰＵであることが示されている。以上が回路種別情報についての説明である。続いて発熱量テーブルについて説明する。
【００４９】
発熱量テーブルは、回路種別、回路規模、電源電圧値に応じた発熱量が示されている。発熱量テーブルは、経験的・統計的データとして得られる。具体的には、他の品種チップの測定結果から統計的に作成する。また回路シミュレーションにより作成してもよい。図１９は、発熱量テーブルの内容例を示す図である。本図の例では、回路規模１０万Ｔｒ（トランジスタ数）のプロセッサの発熱量は１０００００であることが示されている。以上が発熱量算出処理についての説明である。続いてこの発熱量算出処理を含む実施の形態３にかかる集積回路設計装置の動作について説明する。
【００５０】
図２０は、実施の形態３にかかる集積回路設計装置の動作を示すフロー図である。図１６に示す実施の形態１に係る映像処理装置２００の動作と同じ部分については、同符号を付して説明を略し、発熱量算出処理部分（ステップＳ１６０３、ステップＳ２００１、ステップＳ２００２）を中心に説明する。
【００５１】
発熱量算出部はまず、ＲＴＬ記述をゲートレベルの回路構造記述に構造変換する（ステップＳ１６０３）。ここでの構造変換は、実施の形態１にかかる集積回路設計装置と同じ処理である。ステップＳ１６０３の処理後、発熱量算出部は回路種別情報を生成する（ステップＳ２００１）。そして、発熱量算出部は、ＲＴＬ記述と、ＲＴＬ記述における各モジュールの回路種別を示す回路種別情報と、算出した各モジュールの回路規模と、各モジュールに対する電源電圧値を示す電源電圧情報等に基づき、発熱量テーブルを参照して発熱量を算出する（ステップＳ２００２）。
【００５２】
上述の発熱量算出処理以外の他の処理は、実施形態１に係る映像処理装置２００の動作処理と同じであり、説明を略する。
【００５３】
以上のように本実施形態によれば、動作ベクタを用いたＲＴＬシミュレーションを行わず、高速に各層の発熱量を算出することができ、集積チップの実際の動作温度に近いワーストケースの温度を設定することができる。
≪補足≫
なお、上記の実施の形態に基づいて説明してきたが、本発明は上記の実施の形態に限定されないことはもちろんである。以下のような場合も本発明に含まれる。
（ａ）本発明は、各実施形態で説明した処理手順が開示するアプリケーション実行方法であるとしてもよい。また、前記処理手順でコンピュータを動作させるプログラムコードを含むコンピュータプログラムであるとしてもよい。
（ｂ）本発明は、アプリケーション実行制御を行うＩＣ、ＬＳＩその他の集積回路のパッケージとして構成されるものとしてもよい。このパッケージは各種装置に組み込まれて利用に供され、これにより各種装置は、各実施形態で示したような各機能を実現するようになる。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または、汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）やＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。このような技術には、バイオ技術の適用等が可能性としてありえる。
（ｃ）実施の形態１、２では、熱抵抗と熱流を抵抗と電流源に置き換えた電気回路モデルを考え、数１を用いて積層チップの発熱量を算出したが、本発明は必ずしもこの場合に限定されない。他の算出方法により積層チップの発熱量を算出するものであってもよい。例えば、有限要素法等に基づくシミュレーションを行い、積層チップの発熱量を算出してもよい。
（ｄ）実施の形態１、２では、三次元集積回路を構成する全ての層の積層チップの発熱量を考慮して合成対象の積層チップのワースト温度の算出を行ったが、本発明は必ずしもこの場合に限定されない。合成対象の積層チップの上下の数枚の積層チップの発熱量のみを考慮して合成対象の積層チップのワースト温度を算出してもよい。
（ｅ）実施の形態１、２では、ＲＴＬ記述３０１は回路設計者による入力情報であるとしたが、本発明は必ずしもこの場合に限定されない。ＲＴＬ記述３０１は、ＲＴＬ記述より抽象度の高い動作記述に基づき動作合成した結果として得られたものであってもよい。
（ｆ）上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【００５４】
本発明にかかる集積回路設計装置によれば、設計対象の三次元集積回路の各層の発熱量および集積チップの厚さ等の集積構造を考慮して、積層チップのワースト温度を算出し、算出したワースト温度に応じたスタンダードセルライブラリを用いて論理合成を行うので、論理合成段階において性能マージンが少ない三次元集積回路を設計することが有益である。
【符号の説明】
【００５５】
２００  集積回路設計装置
２０１  入力部
２０２  設計情報格納部
２０３  発熱量算出部
２０４  発熱量情報格納部
２０５  積層構造情報格納部
２０６  ワースト温度算出部
２０７  スタンダードセルライブラリ格納部
２０８  論理合成ライブラリ選択部
２０９  論理合成部
３０１  ＲＴＬ記述
３０２  電源電圧情報
３０３  動作ベクタ
３０４  合成制約
８０１  熱伝導度情報
８０２  冷却・使用温度情報
８０３  チップ積層情報
【図１】
2012120792.tif 000004
【図２】
2012120792.tif 000005
【図３】
2012120792.tif 000006
【図４】
2012120792.tif 000007
【図５】
2012120792.tif 000008
【図６】
2012120792.tif 000009
【図７】
2012120792.tif 000010
【図８】
2012120792.tif 000011
【図９】
2012120792.tif 000012
【図１０】
2012120792.tif 000013
【図１１】
2012120792.tif 000014
【図１２】
2012120792.tif 000015
【図１３】
2012120792.tif 000016
【図１４】
2012120792.tif 000017
【図１５】
2012120792.tif 000018
【図１６】
2012120792.tif 000019
【図１７】
2012120792.tif 000020
【図１８】
2012120792.tif 000021
【図１９】
2012120792.tif 000022
【図２０】
2012120792.tif 000023
【国際調査報告】
2012120792.tif 000024
2012120792.tif 000025