(57)【要約】【課題】局所的に高温となる領域の温度を低下させること。【解決手段】  設計支援装置は、設計対象回路のレイアウトデータ１００内で所定温度以上となる領域１を有する熱解析結果と、当該レイアウトデータ１００内のパスに関する解析結果とを取得する。そして、領域１内に配置されているセルの中から非クリティカルパス上の任意のセルを領域１の温度を低下させる対象セルに決定し、決定結果を出力する。つぎに、決定された対象セルに対して温度を低下させる処理を実施する。対象セルの出力に抵抗素子を接続させる。または、対象セルの配置位置を領域１の外に再配置させるか、対象セルのセルタイプを消費電力値の低いセルタイプに変換する。【選択図】図１
2011034489.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
設計対象回路の回路情報内で所定温度以上となる領域の情報を有する熱解析結果と、前記回路情報のパスに関する解析結果とを取得する取得手段、
前記取得手段により取得された熱解析結果が有する領域に配置されているセルの中から、前記取得手段により取得された解析結果に基づいて非クリティカルパス上の任意のセルを前記領域の温度を低下させる対象セルに決定する決定手段、
前記決定手段により決定された決定結果を出力する出力手段、
として機能させることを特徴とする設計支援プログラム。
【請求項２】
前記決定手段は、
前記領域に配置されているセルの中から、前記非クリティカルパス上であり、かつ消費電力値の最も高いセルを対象セルに決定することを特徴とする請求項１に記載の設計支援プログラム。
【請求項３】
前記コンピュータを、
前記取得手段により取得された熱解析結果が有する領域に配置されているセルの中から、前記所定温度以上のセルであり、かつ前記取得手段により取得された解析結果に基づいてクリティカルパス上のセルを選択する選択手段、
前記選択手段により選択されたクリティカルパス上のセルから前記領域に配置されている前記非クリティカルパス上の各セルまでの距離を算出する算出手段、として機能させ、
前記決定手段は、
前記領域に配置されている前記非クリティカルパス上のセルのうち、前記算出手段により算出された算出結果に基づいて前記クリティカルパス上のセルから最短となるセルを、前記領域の温度を低下させる対象セルに決定し、
前記出力手段は、
前記決定手段により決定された決定結果を出力することを特徴とする請求項１に記載の設計支援プログラム。
【請求項４】
前記コンピュータを、
前記領域を、前記決定手段により決定された対象セルの配置禁止領域に指定する指定手段、として機能させ、
前記出力手段は、
前記指定手段により指定された指定結果を出力することを特徴とする請求項１〜３のいずれか１つに記載の設計支援プログラム。
【請求項５】
前記コンピュータを、
前記決定手段により決定された対象セルを、前記対象セルと同一機能で前記対象セルより消費電力値の低くなるセルに変換する変換手段、として機能させ、
前記出力手段は、
前記変換手段により変換された後の回路情報を出力することを特徴とする請求項１〜３のいずれか１つに記載の設計支援プログラム。
【請求項６】
前記コンピュータを、
前記対象セルの出力に抵抗素子を接続する接続手段、として機能させ、
前記出力手段は、
前記接続手段により接続された接続後の回路情報を出力することを特徴とする請求項１〜３のいずれか１つに記載の設計支援プログラム。
【請求項７】
前記解析結果が、前記回路情報内のパスのタイミングに関する解析結果であることを特徴とする請求項１〜６のいずれか１つに記載の設計支援プログラム。
【請求項８】
前記解析結果が、前記回路情報内のパスのエレクトロマイグレーションに関する解析結果であることを特徴とする請求項１〜６のいずれか１つに記載の設計支援プログラム。
【請求項９】
設計対象回路の回路情報内で所定温度以上となる領域の情報を有する熱解析結果と、前記回路情報のパスに関する解析結果とを取得する取得手段、
前記取得手段により取得された熱解析結果が有する領域に配置されているセルの中から、前記取得手段により取得された解析結果に基づいて非クリティカルパス上の任意のセルを前記領域の温度を低下させる対象セルに決定する決定手段、
前記決定手段により決定された決定結果を出力する出力手段、
を備えることを特徴とする設計支援装置。
【請求項１０】
コンピュータが、
設計対象回路の回路情報内で所定温度以上となる領域の情報を有する熱解析結果と、前記回路情報のパスに関する解析結果とを取得する取得工程、
前記取得手段により取得された熱解析結果が有する領域に配置されているセルの中から、前記取得手段により取得された解析結果に基づいて非クリティカルパス上の任意のセルを前記領域の温度を低下させる対象セルに決定する決定工程、
前記決定手段により決定された決定結果を出力する出力工程、
を実行することを特徴とする設計支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト設計を支援する設計支援プログラム、設計支援装置、および設計支援方法に関する。
【背景技術】
【０００２】
従来より、設計対象回路のレイアウト後、予め利用者（設計者または検証者）が決定した温度条件に基づいてパワー解析やタイミング解析が実施されていた。パワー解析では、消費電力値の解析や、電源配線の電圧降下に関する解析や、電流が過度に流れることで配線が劣化する現象の解析（以下、エレクトロマイグレーション解析）を実施していた。そして、タイミング解析では、タイミングの制約に違反しているか否かの解析を実施していた。
【０００３】
さらに、近年では、設計対象回路のレイアウトデータ内の各セルの温度を解析し、レイアウトデータ内で所定温度以上となる領域を特定する熱解析が実施されていた。そして、熱解析結果である各セルの温度に基づいて、各セルの遅延時間を決定してタイミング解析を実施する技術（従来技術１）が知られている（下記特許文献１,２参照）。さらに、クリティカルパス上のセルと非クリティカルパス上のセルとで、異なる遅延時間を設定してタイミングの解析を実施する技術（従来技術２）が知られている（下記特許文献３参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−１６８２００号公報
【特許文献２】特開平９−２６９８３号公報
【特許文献３】特開平１０−１３４０９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、近年では、局所的に温度が高くなることに起因する不良が増加するという問題点があった。たとえば、局所的に温度が高くなることで、タイミングの不良やエレクトロマイグレーションによる配線不良など、設計対象回路に対して予め規定されている電圧や温度の動作条件にて動作しないマージン不良が発生していた。従来技術１および２では、セルの温度に応じて精度の高いタイミング解析を実施することができるが、タイミング以外の特性に関する不良を抑制することができないという問題点があった。
【０００６】
そして、タイミングおよびタイミング以外の特性に関する不良を抑制するために局所的に高温となる領域の温度を低下させるには、利用者が、領域内の消費電力値を低下させるなどの処理を手動でおこなわなければならなかった。さらに、領域内には、複数のセルが配置されているため、いずれのセルに対して消費電力値を低下させる処理を適用すればよいのかを判断するのが困難であるという問題点があった。
【課題を解決するための手段】
【０００７】
本発明の一観点によれば、設計対象回路の回路情報内で所定温度以上となる領域の情報を有する熱解析結果と前記回路情報のパスに関する解析結果とを取得する取得手段と、前記取得手段により取得された熱解析結果が有する領域に配置されているセルの中から、前記取得手段により取得された解析結果に基づいて非クリティカルパス上の任意のセルを前記領域の温度を低下させる対象セルに決定する決定手段と、前記決定手段により決定された決定結果を出力する出力手段と、を備える設計支援装置が提供される。
【発明の効果】
【０００８】
開示の設計支援プログラム、設計支援装置、および設計支援方法によれば、最適なセルを用いてパスの特性に影響を及ぼすことなく設計対象回路内で高温となる領域の温度を下げることができるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】本発明の一実施例を示す説明図である。
【図２−１】設計対象回路のレイアウトデータの一例を示す説明図である。
【図２−２】レイアウトデータ２００内の各セルの詳細の一例を示す説明図である。
【図３】各セルの温度の一例を示す説明図である。
【図４】設計支援装置のハードウェア構成を示すブロック図である。
【図５】設計支援装置の機能的構成を示すブロック図である。
【図６】抵抗素子が接続された後のレイアウトデータの一例を示す説明図である。
【図７】接続後の各セルの温度の一例を示す説明図である。
【図８】設計支援装置による設計支援処理手順の一例を示すフローチャートである。
【図９】図８で示した温度低下処理（ステップＳ８０６）の詳細な処理を示すフローチャートである。
【図１０】決定結果の出力例を示す説明図である。
【図１１】対象セルが再配置配線された後のレイアウトデータの一例を示す説明図である。
【図１２】再配置配線後の各セルの温度を示す説明図である。
【図１３】図８で示した温度低下処理（ステップＳ８０７）の詳細な説明を示すフローチャートである。
【図１４】セルの消費電力値に関するライブラリの一例を示す説明図である。
【図１５】消費電力値の最も高いセルが対象セルに決定される例を示す説明図である。
【図１６−１】変換後のレイアウトデータの一例を示す説明図である。
【図１６−２】レイアウトデータ１６００内の各セルの詳細の一例を示す説明図である。
【図１７】変換後の各セルの温度の一例を示す説明図である。
【図１８】図８で示した温度低下処理（ステップＳ８０８）の詳細な説明を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、本発明による設計支援プログラム、設計支援装置、および設計支援方法の好適な実施の形態を詳細に説明する。
【００１１】
図１は、本発明の一実施例を示す説明図である。まず、設計支援装置は、設計対象回路のレイアウトデータ１００内で所定温度以上となる複数の領域（丸印の箇所）を有する熱解析結果と、パスに関する解析結果とを取得する。ここでは、複数の領域の１つである領域１について説明する。領域１内のパスがＰ１〜Ｐ３である。Ｐ１およびＰ３が非クリティカルパスであり、Ｐ２がクリティカルパスである。そして、設計支援装置は、領域１内に配置されているセルの中から非クリティカルパス上の任意のセルを領域１の温度を低下させる対象セルに決定する。なお、レイアウトデータ１００では、理解の容易さのため各素子を回路記号で示している。
【００１２】
また、実施の形態では、対象セルが下記の様に決定される例を示す。まず、１つ目の例では、設計支援装置が、領域１内に配置され、所定温度以上であり、かつクリティカルパス上のセルから領域１内に配置されている非クリティカルパス上の各セルまでの距離を算出する。そして、各距離に基づいて対象セルを決定する。つぎに、２つ目の例では、設計支援装置が、消費電力値に基づいて対象セルを決定する。
【００１３】
さらに、実施の形態では、対象セルを用いて領域１の温度を低下させる例を示す。まず、１つ目の例では、設計支援装置が、対象セルの配置位置を変更する。つぎに、２つ目の例では、設計支援装置が、対象セルの出力に抵抗値を接続する。最後に、３つ目の例では、設計支援装置が、対象セルのセルタイプを変換する。
【００１４】
ここで、上述した対象セルが決定される例と、当該対象セルを用いて所定温度以上の領域の温度が低下される例とを実施の形態１〜３を用いて詳細に説明する。まず、実施の形態１では、領域１内に配置されている非クリティカルパス上の任意の対象セルの出力に抵抗値が接続される例を示す。
【００１５】
つぎに、実施の形態２では、領域内に配置され、所定温度以上であり、かつクリティカルパス上のセルから領域１内に配置されている非クリティカルパス上の各セルまでの距離に基づいて対象セルを決定し、当該対象セルの配置位置を変更する例を示す。最後に、実施の形態３では、消費電力値に基づいて対象セルが選択され、対象セルのセルタイプを変換する例を示す。
【００１６】
（実施の形態１）
実施の形態１では、図１を用いて説明したように対象セルを決定し、対象セルの出力に抵抗素子を挿入することを指定する。つぎに、配置配線を自動で実行可能なツールへ当該レイアウトデータと指定結果を与える。そして、対象セルの出力に抵抗が接続されているレイアウトデータを当該ツールから取得する。これにより、タイミング（またはエレクトロマイグレーション）への影響を最小限に抑え、所定温度以上の領域の温度を低下させることができる。
【００１７】
（設計対象回路のレイアウトデータ）
図２−１は、設計対象回路のレイアウトデータの一例を示す説明図である。レイアウトデータ２００は、タイミング解析およびパワー解析が実施され、タイミングの制約およびパワーの解析に関する制約を遵守しているレイアウトデータである。レイアウトデータ２００では、パス２０１上にＩＮＳＴ０１〜ＩＮＳＴ０６と、パス２０２上にＩＮＳＴ０７〜ＩＮＳＴ１１と、パス２０３上にＩＮＳＴ１２〜ＩＮＳＴ１６と、パス２０４上にＩＮＳＴ１７〜ＩＮＳＴ２１とを有している。ＩＮＳＴ１〜ＩＮＳＴ２１は、レイアウトデータ２００内の各セルを特定するために付されているインスタンス名である。そして、パス２０２が、クリティカルパスであり、パス２０１とパス２０３とパス２０４とが、非クリティカルパスである。
【００１８】
ここで、クリティカルパスについて説明する。通常では、クリティカルパスとは、レイアウトデータ内でタイミングの最も厳しいパスを示している。本実施の形態１〜３では、クリティカルパスとは、レイアウトデータ内でタイミングの最も厳しいパスの他に、レイアウトデータ内でエレクトロマイグレーションの最も厳しいパスも「クリティカルパス」として定義する。タイミングの最も厳しいパスについては、タイミングに関するクリティカルパスと称し、エレクトロマイグレーションの最も厳しいパスについては、エレクトロマイグレーションに関するクリティカルパスと称する。
【００１９】
エレクトロマイグレーションの最も厳しいパスとは、上述したようにエレクトロマイグレーション解析により当該解析の制約を遵守しているが、制約に対して余裕のないパスなどの着目すべきパスを示している。
【００２０】
実施の形態１〜３では、パス２０２をタイミングに関するクリティカルパスとして説明するが、エレクトロマイグレーションに関するクリティカルパスであっても、後述する各機能に変化はない。そして、タイミングに関するクリティカルパスであるか否かを示すパスのタイミングに関する解析結果は、タイミング解析ツールによりタイミングを解析することで得られる。実施の形態１〜３では、当該解析結果は、レイアウトデータ２００に付されていることとする。
【００２１】
なお、エレクトロマイグレーションに関するクリティカルパスであるか否かを示すパスのエレクトロマイグレーションに関する解析結果は、エレクトロマイグレーション解析ツールを用いてレイアウトデータ２００を解析することで得られる。
【００２２】
つぎに、領域Ａが、熱解析により得られる所定温度以上の領域である。ここで、所定温度以上の領域について説明する。具体的に所定温度以上の領域とは、たとえば、配置されているセルの温度の平均値が所定温度よりも高い領域や、領域Ａ内に１つでも所定温度以上のセルが配置されている領域を示している。
【００２３】
領域に関する情報は、既存のレイアウトデータ内の熱を自動で解析するツールから出力される情報である。また、レイアウトデータ内の熱を自動で解析するツールから出力される各セルの温度に関する情報に基づいて利用者が、所定温度以上の領域を作成してもよい。そして、実施の形態１〜３では、設計対象回路の動作温度範囲を―４０〜１２５℃とし、所定温度を１２６℃とする。実施の形態１〜３では、所定温度以上の領域とは、領域内に１２６℃以上のセルが１つでも存在する場合を示す。よって、領域Ａ内には、少なくとも１２６℃以上のセルが１つ含まれている。
【００２４】
なお、レイアウトデータ２００では、理解の容易さのため各素子を回路記号で示している。そして、レイアウトデータ２００は、コンピュータがアクセス可能な記憶装置に記憶されている。つぎに、図２−２にてレイアウトデータ２００内の各セルの詳細を説明する。
【００２５】
図２−２は、レイアウトデータ２００内の各セルの詳細の一例を示す説明図である。テーブル２０５では、レイアウトデータ２００内の各セルのセル名を示している。本発明の詳細な説明では、セル名がセルタイプを示している。テーブル２０５は、インスタンス名２０６とセル名２０７を有している。インスタンス名２０６は、上述したレイアウトデータ２００内の各セルのインスタンス名が記述されている。
【００２６】
まず、インスタンス名２０６がＩＮＳＴ０１の場合を例に挙げると、セル名２０７がＦＦ（Ｆｌｉｐ  Ｆｌｏｐ）１である。よって、ＩＮＳＴ０１が、フリップフロップであることを示している。つぎに、インスタンス名２０６がＩＮＳＴ０２の場合を例に挙げると、セル名２０７がＣＬＫＢＵＦ１である。よって、ＩＮＳＴ０２が、クロックバッファであることを示している。
【００２７】
さらに、インスタンス名２０６がＩＮＳＴ０３の場合を例に挙げると、セル名２０７がＣＬＫＢＵＦ２である。よって、ＩＮＳＴ０３が、クロックバッファであることを示している。ＩＮＳＴ０２およびＩＮＳＴ０３は、いずれもクロックバッファであるが、セルタイプが異なる。セルタイプが異なるとは、同一機能であっても駆動能力、サイズ、消費電力値などが異なることを示している。レイアウトデータ２００から分かるように、ＩＮＳＴ０２とＩＮＳＴ０３では、ＩＮＳＴ３の方がセルのサイズが大きい。よって、ＣＬＫＢＵＦ２の方が、ＣＬＫＢＵＦ１と比較してサイズが大きいため、駆動能力が大きく、消費電力値が高い。
【００２８】
そして、セル名２０７が、ＢＵＦ１およびＢＵＦ４の場合、バッファを示し、ＢＵＦ１とＢＵＦ４とは、セルタイプが異なることを示している。そして、インスタンス名２０６がＩＮＳＴ１０の場合、セル名２０７がＢＵＦ１であり、インスタンス名２０６がＩＮＳＴ１５の場合、セル名２０７がＢＵＦ４である。レイアウトデータ２００から分かるようにＩＮＳＴ１５は、ＩＮＳＴ１０と比較してセルのサイズが大きい、よって、ＢＵＦ４の方が、ＢＵＦ１と比較してサイズが大きいため、駆動能力が大きく、消費電力値が高い。そして、インスタンス名２０６がＩＮＳＴ２０の場合は、セル名２０７がＩＮＶ１であり、インバーターを示している。
【００２９】
実施の形態１〜３では、「ＣＬＫＢＵＦ」がクロックバッファを示し、「ＢＵＦ」がバッファを示し、「ＦＦ」がフリップフロップを示し、「ＩＮＶ」がインバーターを示していることとする。そして、同一機能であっても、番号が大きい方が、サイズが大きく、駆動能力が大きく、かつ消費電力値が高いこととする。各セルタイプの消費電力については、後述する実施の形態３にて説明する。
【００３０】
（各セルの温度）
図３は、各セルの温度の一例を示す説明図である。テーブル３００では、レイアウトデータ２００内の各セルの温度を示している。テーブル３００は、インスタンス名２０６と温度３０１を有している。インスタンス名２０６がＩＮＳＴ０２の場合を例に挙げると、温度３０１が、１１０[℃]である。
【００３１】
そして、インスタンス名２０６がＩＮＳＴ０９の場合を例に挙げると、温度３０１が、１３０[℃]である。ＩＮＳＴ０９が、所定温度（上述したように１２６[℃]）以上のセルである。したがって、実施の形態１〜３では、ＩＮＳＴ０９を１２６[℃]未満まで低下させ、かつ領域Ａ内に配置されている他のセルがすべて１２６[℃]未満となるまで、後述する設計支援装置の処理を繰り返す。なお、点線の四角で囲われている箇所が、領域Ａ内に配置されているセルである。
【００３２】
（設計支援装置のハードウェア構成）
図４は、設計支援装置のハードウェア構成を示すブロック図である。図４において、設計支援装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３と、磁気ディスクドライブ４０４と、磁気ディスク４０５と、光ディスクドライブ４０６と、光ディスク４０７と、ディスプレイ４０８と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）４０９と、キーボード４１０と、マウス４１１と、スキャナ４１２と、プリンタ４１３と、を備えている。また、各構成部はバス４００によってそれぞれ接続されている。
【００３３】
ここで、ＣＰＵ４０１は、設計支援装置の全体の制御を司る。ＲＯＭ４０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ４０３は、ＣＰＵ４０１のワークエリアとして使用される。磁気ディスクドライブ４０４は、ＣＰＵ４０１の制御にしたがって磁気ディスク４０５に対するデータのリード／ライトを制御する。磁気ディスク４０５は、磁気ディスクドライブ４０４の制御で書き込まれたデータを記憶する。
【００３４】
光ディスクドライブ４０６は、ＣＰＵ４０１の制御にしたがって光ディスク４０７に対するデータのリード／ライトを制御する。光ディスク４０７は、光ディスクドライブ４０６の制御で書き込まれたデータを記憶したり、光ディスク４０７に記憶されたデータをコンピュータに読み取らせたりする。
【００３５】
ディスプレイ４０８は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ４０８は、たとえば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００３６】
Ｉ／Ｆ４０９は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク４１４に接続され、当該ネットワーク４１４を介して他の装置に接続される。そして、Ｉ／Ｆ４０９は、ネットワーク４１４と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。Ｉ／Ｆ４０９には、たとえばモデムやＬＡＮアダプタなどを採用することができる。
【００３７】
キーボード４１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス４１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００３８】
スキャナ４１２は、画像を光学的に読み取り、設計支援装置内に画像データを取り込む。なお、スキャナ４１２は、ＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅａｄｅｒ）機能を持たせてもよい。また、プリンタ４１３は、画像データや文書データを印刷する。プリンタ４１３には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。
【００３９】
（設計支援装置の機能的構成）
図５は、設計支援装置の機能的構成を示すブロック図である。設計支援装置５００は、取得部５０１と、選択部５０２と、算出部５０３と、決定部５０４と、指定部５０５と、接続部５０６と、変換部５０７と、出力部５０８を含む構成である。各機能（取得部５０１〜出力部５０８）は、具体的には、たとえば、図４に示したＲＯＭ４０２、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されたプログラムをＣＰＵ４０１に実行させることにより、または、Ｉ／Ｆ４０９により、各機能を実現する。
【００４０】
まず、実施の形態１では、取得部５０１と、決定部５０４と、接続部５０６と、出力部５０８との具体的な機能について説明する。つぎに、実施の形態２では、取得部５０１と、選択部５０２と、算出部５０３と、決定部５０４と、指定部５０５と、出力部５０８との具体的な機能について説明する。最後に、実施の形態３では、取得部５０１と、決定部５０４と、変換部５０７と、出力部５０８との具体的な機能について説明する。
【００４１】
まず、取得部５０１は、設計対象回路のレイアウトデータ内で所定温度以上となる領域の情報を有する熱解析結果と、レイアウトデータのパスに関する解析結果とを取得する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、熱解析ツールから、領域Ａなどの所定温度以上となる領域が付与されているレイアウトデータ２００とテーブル３００を取得する。そして、自動でタイミングを解析するツールからレイアウトデータ２００のタイミング解析結果を取得する。本発明の詳細な説明では、タイミング解析結果は、レイアウトデータ２００に付与されている。
【００４２】
つぎに、決定部５０４は、取得部５０１により取得された熱解析結果が有する領域に配置されているセルの中から、取得部５０１により取得された解析結果に基づいてタイミングに関する非クリティカルパス上の任意のセルを対象セルに決定する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、領域Ｂに配置されているＩＮＳＴ０２〜ＩＮＳＴ０４と、ＩＮＳＴ０８〜ＩＮＳＴ１０と、ＩＮＳＴ１３〜ＩＮＳＴ１５の中から、タイミングに関する非クリティカルパス上の任意のセルを対象セルに決定する。タイミングに関する非クリティカルパス上のセルは、ＩＮＳＴ０２〜ＩＮＳＴ０４とＩＮＳＴ１３〜ＩＮＳＴ１５であり、ここでは、ＩＮＳＴ１４が対象セルに決定される。
【００４３】
これにより、どのセルが、タイミングに影響を及ぼすことなく領域の温度を低下させることができるかが容易に特定できる。
【００４４】
そして、出力部５０８は、決定部５０４により決定された決定結果を出力する機能を有する。出力形式としては、たとえば、ディスプレイ４０８への表示、プリンタ４１３への印刷出力、Ｉ／Ｆ４０９による外部装置への送信がある。また、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶することとしてもよい。
【００４５】
つぎに、接続部５０６は、決定部５０４により決定された対象セルの出力に抵抗素子を接続する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、記憶装置に記憶されている抵抗素子をレイアウトデータ２００内のセルおよび配線が配置されていない領域に配置する。そして、対象セルの出力先セルを特定し、抵抗素子の一方と対象セルの出力とを接続し、当該抵抗素子の他方と出力先セルの入力とを接続する。
【００４６】
そして、出力部５０８は、接続部５０６により接続された後のレイアウトデータを出力する。出力形式としては、たとえば、ディスプレイ４０８への表示、プリンタ４１３への印刷出力、Ｉ／Ｆ４０９による外部装置への送信がある。また、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶することとしてもよい。図６に出力例を示す。
【００４７】
図６は、抵抗素子が接続された後のレイアウトデータの一例を示す説明図である。レイアウトデータ６００では、対象セルであるＩＮＳＴ１４の出力に抵抗素子の一方が接続されている。そして、ＩＮＳＴ１４の出力先であるＩＮＳＴ１５の入力に抵抗素子の他方が接続されている。これにより、ＩＮＳＴ１４の消費電力値を低減させることができ、領域Ａ内の消費電力値を低減させることができる。したがって、領域Ａ内の温度を低下させることができる。図７にて対象セルの出力に抵抗素子が接続された接続後の各セルの温度を示す。
【００４８】
図７は、接続後の各セルの温度の一例を示す説明図である。テーブル７００では、対象セルの出力に抵抗素子が接続された接続後の各セルの温度を示している。点線の四角で囲われている箇所が、領域Ａ内に配置されているセルである。領域Ａ内に配置されているＩＮＳＴ１４を例に挙げると、対象セル（ここでは、ＩＮＳＴ１４）の出力に抵抗素子が接続される前のテーブル３００では、温度３０１が１２４[℃]であったが、接続後のテーブル７００では、温度３０１が１２０[℃]であり温度が低下している。
【００４９】
つぎに、領域Ａ内に配置されているＩＮＳＴ０９を例に挙げると、接続前のテーブル３００では、温度３０１が１３０[℃]であったが、接続後のテーブル７００では、温度３０１が１２８[℃]であり温度が低下している。しかしながら、ＩＮＳＴ０９は、１２６[℃]以上であるため、領域Ａは、所定温度以上の領域である。
【００５０】
つぎに、図５に戻って、設計支援装置５００では、領域Ａ内に配置されているすべてのセルが、所定温度以下となるまで、取得部５０１と、決定部５０４と、接続部５０６と、出力部５０８との処理を繰り返す。これにより、領域Ａ内の温度を低下させることができ、局所的に温度が上昇することにより発生する不具合を防止することができる。
【００５１】
（実施の形態１にかかる設計支援装置の設計支援処理手順）
つぎに、図８は、設計支援装置による設計支援処理手順の一例を示すフローチャートである。まず、取得部５０１により、設計対象回路のレイアウトデータ内で所定温度以上の領域の情報を有する熱解析結果と、タイミング解析結果を取得する（ステップＳ８０１）。本手順では、タイミング解析結果が取得されるが、エレクトロマイグレーション解析結果が取得されてもよい。よって、本手順にてクリティカルパスとは、タイミングに関するクリティカルパスであり、非クリティカルパスとは、タイミングに関する非クリティカルパスである。
【００５２】
つぎに、所定温度以上の複数の領域からタイミングに関するクリティカルパス上のセルを含む領域を検出する（ステップＳ８０２）。ここで、所定温度以上であるすべての領域を対象としてもよいが、本手順では、領域内にタイミングに関するクリティカルパス上のセルを含む領域のみを対象とする。これにより、タイミングに影響のある領域の温度を低下させることができる。
【００５３】
そして、領域が検出されたか否かを判断する（ステップＳ８０３）。検出されたと判断された場合（ステップＳ８０３：Ｙｅｓ）、検出された領域の中で未選択の領域があるか否かを判断する（ステップＳ８０４）。そして、未選択の領域があると判断された場合（ステップＳ８０４：Ｙｅｓ）、未選択の領域から１つの領域を選択し（ステップＳ８０５）、温度低下処理を実施する（ステップＳ８０６（ステップＳ８０７，Ｓ８０８））。実施の形態１の手順では、ステップＳ８０６の温度低下処理が実施され、実施の形態２の手順ではステップＳ８０７の温度低下処理が実施され、実施の形態３の手順では、ステップＳ８０８の温度低下処理が実施される。そして、ステップＳ８０６（またはステップＳ８０７，Ｓ８０８）のつぎに、ステップＳ８０４へ戻る。
【００５４】
一方、ステップＳ８０４において、未選択の領域がないと判断された場合（ステップＳ８０４：Ｎｏ）、温度低下処理後のレイアウトデータへタイミング解析ツールを用いてタイミング解析と熱解析ツールを用いて熱解析を実施する（ステップＳ８０９）。そして、ステップＳ８０１へ戻る。
【００５５】
一方、ステップＳ８０３において、領域が検出されなかった場合（ステップＳ８０３：Ｎｏ）、出力部５０８により、出力処理を実施し（ステップＳ８１０）、一連の処理を終了する。
【００５６】
つぎに、図９は、図８で示した温度低下処理（ステップＳ８０６）の詳細な処理を示すフローチャートである。まず、タイミングに関する非クリティカルパス上のセルを検出し（ステップＳ９０１）、検出されたか否かを判断する（ステップＳ９０２）。そして、検出されたと判断された場合（ステップＳ９０２：Ｙｅｓ）、検出されたセルの中から未決定のセルがあるか否かを判断する（ステップＳ９０３）。
【００５７】
つぎに、未決定のセルがあると判断された場合（ステップＳ９０３：Ｙｅｓ）、未決定のセルから１つのセルを対象セルに決定し（ステップＳ９０４）、出力に抵抗素子が未接続か否かを判断する（ステップＳ９０５）。そして、未接続であると判断された場合（ステップＳ９０５：Ｙｅｓ）、対象セルの出力に抵抗素子を接続する（ステップＳ９０６）。
【００５８】
つづいて、接続後のレイアウトデータを保存し（ステップＳ９０７）、ステップＳ８０４へ戻る。一方、ステップＳ９０５において、出力に抵抗素子が未接続でないと判断された場合（ステップＳ９０５：Ｎｏ）、ステップＳ９０３へ戻る。
【００５９】
一方、検出されなかったと判断された場合（ステップＳ９０２：Ｎｏ）、または、未決定のセルがないと判断された場合（ステップＳ９０３：Ｎｏ）、領域の温度を下げられないことを出力し（ステップＳ９０８）、ステップＳ８０４へ戻る。
【００６０】
（実施の形態２）
つぎに、実施の形態２では、所定温度以上の領域内に配置され、所定温度以上であるクリティカルパス上のセルから、当該領域内に配置されている非クリティカルパス上の各セルまでの距離を算出する。そして、算出された距離に基づいて対象セルを選択し、対象セルの配置禁止領域として当該領域を指定して出力する。実施の形態２では、実施の形態１と同様にクリティカルパスを、タイミングに関するクリティカルパスとして説明するが、エレクトロマイグレーションに関するクリティカルパスであっても各機能の詳細な説明は同一である。なお、実施の形態１で説明した構成と同一構成には同一符号を付し、各説明を省略する。
【００６１】
図５の説明に戻って、実施の形態２では、取得部５０１と、選択部５０２と、算出部５０３と、決定部５０４と、指定部５０５と、出力部５０８とについて詳細に説明する。
【００６２】
まず、取得部５０１が、実施の形態１と同様に熱解析結果とパスに関する解析結果を取得する。
【００６３】
つぎに、選択部５０２が、取得部５０１により取得された熱解析結果が有する領域に配置されているセルの中から、所定温度以上のセルであり、かつ取得部５０１により取得された解析結果に基づいてクリティカルパス上のセルを選択する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、テーブル３００からレイアウトデータ２００内の領域Ａに配置されている１２６［℃］以上であるセルを検出する。そして、検出されたセルの中から、クリティカルパス上の任意のセルを選択する。ここで、ＩＮＳＴ０９が、選択される。
【００６４】
そして、出力部５０８が、選択部５０２により選択された選択結果を出力する機能を有する。出力部５０８に関する具体的な説明については、実施の形態１で説明した出力部５０８の機能と同一であるため説明を省略する。
【００６５】
つぎに、算出部５０３が、選択部５０２により選択されたクリティカルパス上のセルから、所定温度以上の領域に配置されている非クリティカルパス上の各セルまでの距離を算出する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、領域Ａ内に配置されている非クリティカルパス上のセルをすべて検出する。ここで、ＩＮＳＴ０２〜ＩＮＳＴ０４と、ＩＮＳＴ１３〜ＩＮＳＴ１５が検出される。そして、ＩＮＳＴ０９から検出された各セルまでの距離を算出する。算出結果については、後述する図１０にて説明する。
【００６６】
つぎに、決定部５０４が、領域に配置されている非クリティカルパス上のセルの中で、算出部５０３により算出された算出結果に基づいてクリティカルパス上のセルから最短のセルを、領域の温度を低下させる対象セルに決定する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、ＩＮＳＴ０９から最短であるセルを対象セルに決定する。これにより、パスの特性が厳しいパス上のセルの近傍に配置され、かつパスの特性に影響の少ないセルを容易に特定できる。
【００６７】
そして、出力部５０８が、決定部５０４により決定された決定結果を出力する。出力部５０８に関する具体的な説明については、実施の形態１で説明した出力部５０８の機能と同一であるため説明を省略する。図１０に決定結果の出力例を示す。
【００６８】
図１０は、決定結果の出力例を示す説明図である。まず、ＩＮＳＴ０９から、領域Ａ内に配置されている非クリティカルパス上の各セルまでの距離がｄ１〜ｄ６である。ＩＮＳＴ０９からＩＮＳＴ１４までの距離がｄ１であり、ＩＮＳＴ０９からＩＮＳＴ１３までの距離がｄ２であり、ＩＮＳＴ０９からＩＮＳＴ０２までの距離がｄ３であり、ＩＮＳＴ０９からＩＮＳＴ０３までの距離がｄ４である。そして、ＩＮＳＴ０９からＩＮＳＴ０４までの距離がｄ５であり、ＩＮＳＴ０９からＩＮＳＴ１５までの距離がｄ６である。よって、ｄ１が最も短いため、ＩＮＳＴ１４が対象セルに決定されている。
【００６９】
つぎに、指定部５０５が、所定温度以上の領域を、決定部５０４により決定された対象セルの配置禁止領域に指定する機能を有する。具体的には、たとえば、領域Ａを、対象セルであるＩＮＳＴ１４の配置禁止領域に指定する。また、ここで、領域Ａ以外の所定温度以上の領域すべてを配置禁止領域に指定してもよい。
【００７０】
そして、出力部５０８が、指定部５０５により指定された指定結果を出力する機能を有する。出力形式としては、たとえば、ディスプレイ４０８への表示、プリンタ４１３への印刷出力、Ｉ／Ｆ４０９による外部装置への送信がある。また、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶することとしてもよい。
【００７１】
そして、たとえば、出力結果に基づいて利用者が、ＩＮＳＴ１４の配置を、領域Ａを除く位置に再配置する。または、たとえば、ＣＰＵ４０１が、アクセス可能な自動配置配線ツールへレイアウトデータ２００と指定結果とを入力する。そして、自動配置配線ツールが、対象セルの配置位置を、領域Ａを除く位置に再配置する。これにより、所定温度以上の領域でかつ所定温度以上のセルに密集して配置されているセルを容易に分散させることができ、当該領域および当該所定温度以上のセルの温度を低下させることができる。つぎに、図１１に対象セルが再配置配線された後のレイアウトデータを示す。
【００７２】
図１１は、対象セルが再配置配線された後のレイアウトデータの一例を示す説明図である。レイアウトデータ１１００では、ＩＮＳＴ１４が、領域Ａを除く他のセルが配置されていない位置に配置されている。これにより、所定温度以上のセルであるＩＮＳＴ０９の近傍に密集して配置されているセルを分散させることができ、ＩＮＳＴ０９の温度を低下でき、領域Ａの温度を低下させることができる。つぎに、図１２に対象セルが再配置配線された後の各セルの温度を示す。
【００７３】
図１２は、再配置配線後の各セルの温度を示す説明図である。テーブル１２００では、対象セルが再配置配線された後のレイアウトデータ内の各セルの温度を示している。点線の四角で囲われているセルが、領域Ａ内に配置されているセルである。テーブル１２００では、ＩＮＳＴ０９の温度３０１が１２７［℃］であり、再配置配線前の温度よりも低下している。
【００７４】
つぎに、図５に戻って、設計支援装置５００が、取得部５０１と、決定部５０４と、指定部５０５と、接続部５０６と、出力部５０８の処理を、領域Ａ内に配置されているセルがすべて１２６[℃]未満になるまで繰り返す。これにより、領域内に密集して配置されているセルを分散させることができ、領域内の温度を容易に低下させることができる。したがって、局所的に発生する熱に起因する不具合を容易に防止することができる。
【００７５】
（実施の形態２にかかる設計支援装置の設計支援処理手順）
つぎに、図１３は、図８で示した温度低下処理（ステップＳ８０７）の詳細な説明を示すフローチャートである。図８において、温度低下処理（ステップＳ８０７）以外の処理については、実施の形態１と同一であるため説明を省略する。まず、領域内に配置されている所定温度以上、かつクリティカルパス上のセルを検出し（ステップＳ１３０１）、セルが検出されたか否かを判断する（ステップＳ１３０２）。
【００７６】
つぎに、セルが検出されたと判断された場合（ステップＳ１３０２：Ｙｅｓ）、選択部５０２により、１つのセルを選択し（ステップＳ１３０３）、領域内に配置されている非クリティカルパス上のセルを検出する（ステップＳ１３０４）。そして、セルが検出されたか否かを判断し（ステップＳ１３０５）、検出されたと判断された場合（ステップＳ１３０５：Ｙｅｓ）、算出部５０３により、選択されたセルから検出された各セルまでの距離を算出する（ステップＳ１３０６）。決定部５０４により、最も距離が短いセルを対象セルに決定する（ステップＳ１３０７）。
【００７７】
一方、ステップＳ１３０２において、検出されなかったと判断された場合（ステップＳ１３０２：Ｎｏ）、領域内に配置されている非クリティカルパス上のセルを検出し（ステップＳ１３０８）、セルが検出されたか否かを判断する（ステップＳ１３０９）。検出されたと判断された場合（ステップＳ１３０９：Ｙｅｓ）、決定部５０４により、任意のセルを対象セルに決定する（ステップＳ１３１０）。
【００７８】
ステップＳ１３０７、またはステップＳ１３１０のつぎに、指定部５０５により、当該領域を対象セルの配置禁止領域に指定し（ステップＳ１３１１）、指定結果を配置配線ツールへ与えて配置配線を実施する（ステップＳ１３１２）。そして、出力部５０８により、配置配線後のレイアウトデータを保存し（ステップＳ１３１３）、ステップＳ８０４へ移行する。
【００７９】
一方、検出されなかったと判断された場合（ステップＳ１３０５：Ｎｏ、またはＳ１３０９：Ｎｏ）、出力部５０８により、温度を下げられないことを出力し（ステップＳ１３１４）、ステップＳ８０４へ移行する。
【００８０】
（実施の形態３）
最後に、実施の形態３では、所定温度以上の領域内に配置されている非クリティカルパス上の各セルの消費電力値に基づいて対象セルを決定する。そして、対象セルのセルタイプを、当該対象セルと同一機能で消費電力値の異なる複数のセルの中から、対象セルのセルタイプよりも消費電力値の低いセルタイプへ変換する。
【００８１】
これにより、所定温度以上の領域内で、当該領域の温度に影響を与えるセルを自動で特定することができる。そして、当該セルを用いることで領域内の温度を低下させることができる。実施の形態３では、実施の形態１および２と同様にクリティカルパスを、タイミングに関するクリティカルパスとして説明するが、エレクトロマイグレーションに関するクリティカルパスであっても各機能の詳細な説明は同一である。なお、実施の形態１で説明した構成と同一構成には同一符号を付し、各説明を省略する。
【００８２】
（消費電力値に関するライブラリ）
図１４は、セルの消費電力値に関するライブラリの一例を示す説明図である。ライブラリ１４００は、セル名２０７と、消費電力値１４０１を有している。セル名２０７がＣＬＫＢＵＦ１の場合、消費電力値１４０１は４である。そして、セル名２０７がＣＬＫＢＵＦ２の場合、消費電力値１４０１は６である。なお、ライブラリ１４００は、ＣＰＵ４０１がアクセス可能なＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶されている。
【００８３】
図５の説明に戻って、実施の形態３では、取得部５０１と、決定部５０４と、変換部５０７と、出力部５０８とについて詳細に説明する。
【００８４】
まず、取得部５０１は、実施の形態１と同様に熱解析結果とレイアウトデータ内のパスに関する解析結果とを取得する機能を有する。詳細な説明は、実施の形態１で示した機能と同一であるため省略する。
【００８５】
つぎに、決定部５０４は、取得部５０１により取得された熱解析結果が有する所定以上の温度である領域に配置されているセルの中から、非クリティカルパス上であり、かつ最も消費電力値の高いセルを対象セルに決定する機能を有する。具体的には、たとえば、ＣＰＵ４０１が、領域Ａ内に配置されている非クリティカルパス上のセルを検出する。ここで、ＩＮＳＴ０２〜ＩＮＳＴ０４と、ＩＮＳＴ１３〜ＩＮＳＴ１５が検出される。
【００８６】
つぎに、たとえば、ＣＰＵ４０１が、記憶装置に記憶されているライブラリ１４００から検出された各セルの消費電力値を検索する。そして、消費電力値の最も高いセルを、対象セルに決定する。ここで、ＩＮＳＴ１５が、対象セルに決定される。これにより、パスの特性に影響を及ぼさないセルの中で、領域内の温度上昇に影響を与えているセルを容易に特定できる。
【００８７】
そして、出力部５０８は、決定部５０４により決定された決定結果を出力する。出力形式としては、たとえば、ディスプレイ４０８への表示、プリンタ４１３への印刷出力、Ｉ／Ｆ４０９による外部装置への送信がある。また、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶することとしてもよい。図１５に出力例を示す。
【００８８】
図１５は、消費電力値の最も高いセルが対象セルに決定される例を示す説明図である。図１５では、ＩＮＳＴ１５が四角い点線で囲われ、対象セルに決定されている。ＩＮＳＴ１５は、上述したテーブル２０５から分かるようにセル名２０７がＢＵＦ４である。そして、ＢＵＦ４の消費電力値は、ライブラリ１４００から分かるように９［μＷ］である。
【００８９】
つぎに、図５に戻って、変換部５０７は、決定部５０４により決定された対象セルを、対象セルと同一機能で消費電力値の異なるセルの中から対象セルよりも消費電力値の低いセルに変換する機能を有する。
【００９０】
具体的には、たとえば、ＣＰＵ４０１が、ＩＮＳＴ１５のセル名２０７に基づいてライブラリ１４００から同一機能のセル名２０７および消費電力値１４０１を読み出す。そして、ＩＮＳＴ１５よりも消費電力値の低いセル名２０７を特定する。ここでは、ＢＵＦ１とＢＵＦ２が特定される。複数特定された場合には、任意のセル名２０７を選択する。ここでは、ＢＵＦ２を選択する。そして、テーブル２０５内のＩＮＳＴ１５のセル名２０７を、ＢＵＦ４からＢＵＦ２に変換する。
【００９１】
出力部５０８は、変換部５０７により変換された変換後のレイアウトデータを出力する。出力形式としては、たとえば、ディスプレイ４０８への表示、プリンタ４１３への印刷出力、Ｉ／Ｆ４０９による外部装置への送信がある。また、ＲＡＭ４０３、磁気ディスク４０５、光ディスク４０７などの記憶装置に記憶することとしてもよい。図１６−１および図１６―２に出力例を示す。
【００９２】
図１６−１は、変換後のレイアウトデータの一例を示す説明図である。レイアウトデータ１６００では、領域Ａ内のＩＮＳＴ１５のサイズが小さくなっている。よって、ＩＮＳＴ１５が、消費電力値の低いセルに変換されていることが分かる。図１６−２にてレイアウトデータ１６００内のセルの詳細を示す。
【００９３】
図１６−２は、レイアウトデータ１６００内の各セルの詳細の一例を示す説明図である。テーブル１６０１では、ＩＮＳＴ１５のセルタイプが変換後のレイアウトデータ１６００内の各セルのセルタイプを示している。インスタンス名２０６がＩＮＳＴ１５の場合、セル名２０７がＢＵＦ４からＢＵＦ２に変換されている（点線の四角で囲われている箇所）。図１７にてレイアウトデータ１６００内の各セルの温度を示す。
【００９４】
図１７は、変換後の各セルの温度の一例を示す説明図である。テーブル１７００では、レイアウトデータ１６００内の各セルの温度を示している。テーブル１７００は、インスタンス名２０６と温度３０１を有している。点線の四角で囲われている箇所が領域Ａ内に配置されているセルである。インスタンス名２０６が、ＩＮＳＴ０９の場合を例に挙げると、変換前のＩＮＳＴ０９の温度は、テーブル３００から分かるように１３０［℃］であったが、変換後のＩＮＳＴ０９の温度は、テーブル１７００から分かるように１２６［℃］である。よって、変換後のＩＮＳＴ０９の温度は低下している。これにより、対象セルの温度を低下させることができ、かつ対象セルの近傍のセルの温度を低下させることができる。したがって、領域内の温度を容易に低下させることができ、局所的に発生する熱に起因する不具合を容易に防止することができる。
【００９５】
変換後のＩＮＳＴ０９の温度が、１２６［℃］以上であるため、設計支援装置５００は、再度、取得部５０１と、決定部５０４と、変換部５０７と、出力部５０８の処理を繰り返す。
【００９６】
まず、決定部５０４は、取得部５０１により取得された熱解析結果が有する領域に配置されているセルの中から、取得部５０１により取得されたパスに関する解析結果に基づいて非クリティカルパス上のセルをあらたに対象セルに決定する。または、決定部５０４は、熱解析結果が有する領域に配置されているセルの中から、パスに関する解析結果に基づいて非クリティカルパス上のセルのうち最も消費電力値の高いセルをあらたに対象セルに決定する。
【００９７】
ここで、ＩＮＳＴ０２〜ＩＮＳＴ４と、ＩＮＳＴ１３〜ＩＮＳＴ１５の中から、再度ＩＮＳＴ１５が対象セルに決定される。そして、変換部５０７によりＩＮＳＴ１５のセル名２０７が、ＢＵＦ２からＢＵＦ１に変換される。つぎに、取得部５０１により変換後のレイアウトデータが熱解析された熱解析結果と、タイミング解析されたタイミング解析結果が取得される。そして、決定部５０４は、再度、対象セルを決定し、変換部５０７と、取得部５０１の処理が繰り返される。
【００９８】
また、決定部５０４は、対象セルと同一機能で消費電力値の異なるセルの中で、対象セルよりも消費電力値の低いセルが無く変換部５０７により対象セルが変換されなかった場合、すでに対象セルに選択されているセルを除くセルの中から、非クリティカルパス上でかつ消費電力値の最も高いセルを対象セルに決定する。具体的には、領域Ａ内に配置されている非クリティカルパス上のセルの中で、消費電力値の最も高いセルであっても、変換可能なセルタイプが無い場合、当該セルにおいて消費電力値の高いセルが対象セルに決定される。
【００９９】
なお、実施の形態１〜３は一例であり、たとえば、消費電力値に基づいて対象セルが選択され、当該対象セルの出力に抵抗値が接続されるなど、種々変更可能である。また、設計支援装置５００が、対象セルの配置位置を変更し、かつ対象セルの出力に抵抗値を接続するなど所定温度以上の領域の温度を低下させる機能を組み合わせてもよい。
【０１００】
（実施の形態３にかかる設計支援装置の設計支援処理手順）
つぎに、図１８は、図８で示した温度低下処理（ステップＳ８０８）の詳細な説明を示すフローチャートである。図８にて温度低下処理（ステップＳ８０８）以外の処理については、実施の形態１と同一であるため説明を省略する。図１８において、まず、領域内に配置されている非クリティカルパス上のセルを検出し（ステップＳ１８０１）、検出されたか否かを判断する（ステップＳ１８０２）。検出されたと判断された場合（ステップＳ１８０２：Ｙｅｓ）、検出された各セルの消費電力値を、セルタイプごとに消費電力値を有するライブラリから検索する（ステップＳ１８０３）。
【０１０１】
つぎに、検出されたセルの中から未決定のセルがあるか否かを判断し（ステップＳ１８０４）、未決定のセルがあると判断された場合（ステップＳ１８０４：Ｙｅｓ）、決定部５０４により、未決定のセルから消費電力値の最も高いセルを対象セルに決定する（ステップＳ１８０５）。
【０１０２】
そして、ライブラリから対象セルと同一機能で消費電力値の低いセルタイプを検索し（ステップＳ１８０６）、検索されたか否かを判断する（ステップＳ１８０７）。検索されたと判断された場合（ステップＳ１８０７：Ｙｅｓ）、変換部５０７により、対象セルのセルタイプを検索されたセルタイプに変換する（ステップＳ１８０８）。
【０１０３】
つぎに、出力部５０８により、変換後のレイアウトデータを保存し（ステップＳ１８０９）、ステップＳ８０４へ移行する。一方、ステップＳ１８０７において、検索されなかったと判断された場合（ステップＳ１８０７：Ｎｏ）、ステップＳ１８０４へ戻る。
【０１０４】
一方、ステップＳ１８０２において、検出されなかったと判断された場合（ステップＳ１８０２：Ｎｏ）、領域の温度が下げられないことを出力し（ステップＳ１８１０）、ステップＳ８０４へ移行する。また、ステップＳ１８０４において、未決定のセルがないと判断された場合（ステップＳ１８０４：Ｎｏ）、ステップＳ１８１０へ移行する。
【０１０５】
以上説明したように、設計支援プログラム、設計支援装置、および設計支援方法によれば、設計対象回路のレイアウトデータ内で所定温度以上となる領域に配置されている非クリティカルパス上のセルの中から、任意のセルを対象セルに決定する。
【０１０６】
これにより、領域内に配置されている複数のセルの中からどのセルを用いればパスの特性に影響を及ぼすことなく当該領域内の温度を低下させることができるかを容易に特定できる。そして、利用者の操作により対象セルの配置位置が領域外に再配置されることで、領域内の温度を低下させることができる。または、利用者の操作により対象セルの出力に抵抗素子が接続されることで、領域内の温度を低下させることができる。または、利用者の操作により対象セルのセルタイプが消費電力値の低いセルタイプに変換されることで、領域内の温度を低下させることができる。
【０１０７】
また、領域に配置されているセルの中から、非クリティカルパス上であり、かつ消費電力値の最も高いセルを対象セルに決定する。これにより、パスの特性に影響を及ぼさないセルの中で、領域内の温度上昇に影響を与えているセルを容易に特定できる。
【０１０８】
また、領域内に配置されている非クリティカルパス上のセルのうち、領域内に配置されている所定温度以上でありかつクリティカルパス上のセルから、最短距離であるセルを対象セルに決定する。これにより、パスの特性が厳しいパス上のセルの近傍に配置され、かつパスの特性に影響の少ないセルを容易に特定できる。
【０１０９】
また、領域を対象セルの配置禁止領域に指定することで、当該指定結果に基づいて対象セルが領域外に再配置される。これにより、領域内に密集して配置されているセルを分散させることができ、領域内の温度を容易に低下させることができる。したがって、局所的に発生する熱に起因する不具合を容易に防止することができる。
【０１１０】
また、対象セルのセルタイプを、消費電力値が低いセルタイプに変換することで、対象セルの消費電力値を低下させる。これにより、対象セルの温度が低下し、かつ対象セルの近傍のセルの温度が低下することで、領域内の温度を容易に低下させることができる。したがって、局所的に発生する熱に起因する不具合を容易に防止することができる。
【０１１１】
また、対象セルの出力に抵抗素子を接続することで、対象セルの消費電力値を容易に低下させることができる。これにより、対象セルの温度が低下し、かつ対象セルの近傍のセルの温度が低下することで、領域内の温度を容易に低下させることができる。したがって、局所的に発生する熱に起因する不具合を容易に防止することができる。
【０１１２】
また、パスに関する解析結果が、パスのタイミングに関する解析結果であり、タイミングに影響の小さいセルが、対象セルに自動で決定され、消費電力値が低下される。したがって、タイミングに影響を及ぼすことなく、領域内の温度を低下させることができる。
【０１１３】
また、パスに関する解析結果が、パスのエレクトロマイグレーションに関する解析結果であり、エレクトロマイグレーションに影響の小さいセルが、対象セルに自動で決定され、消費電力値が低下される。したがって、エレクトロマイグレーションに影響を及ぼすことなく、領域内の温度を低下させることができる。
【０１１４】
なお、本実施の形態で説明した設計支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本設計支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０１１５】
２００  レイアウトデータ
Ｐ１，Ｐ３，２０１，２０３，２０４  非クリティカルパス
Ｐ２，２０２  クリティカルパス
ＩＮＳＴ０１〜ＩＮＳＴ０６，ＩＮＳＴ１２〜ＩＮＳＴ２１  非クリティカルパス上のセル
ＩＮＳＴ０７〜ＩＮＳＴ１１  クリティカルパス上のセル
領域１，領域Ａ  所定温度以上の領域
５００  設計支援装置
５０１  取得部
５０２  選択部
５０３  算出部
５０４  決定部
５０５  指定部
５０６  接続部
５０７  変換部
５０８  出力部
【図１】
2011034489.tif 000003
【図２−１】
2011034489.tif 000004
【図２−２】
2011034489.tif 000005
【図３】
2011034489.tif 000006
【図４】
2011034489.tif 000007
【図５】
2011034489.tif 000008
【図６】
2011034489.tif 000009
【図７】
2011034489.tif 000010
【図８】
2011034489.tif 000011
【図９】
2011034489.tif 000012
【図１０】
2011034489.tif 000013
【図１１】
2011034489.tif 000014
【図１２】
2011034489.tif 000015
【図１３】
2011034489.tif 000016
【図１４】
2011034489.tif 000017
【図１５】
2011034489.tif 000018
【図１６−１】
2011034489.tif 000019
【図１６−２】
2011034489.tif 000020
【図１７】
2011034489.tif 000021
【図１８】
2011034489.tif 000022