(57)【特許請求の範囲】
【請求項１】
半導体装置のレイアウト設計を行うレイアウト設計装置において、
設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶する入力手段と、
前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算する消費電力計算手段と、
前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶する改善対象セル抽出手段と、
前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記消費電力計算手段が計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定する消費電力削減可否判定手段と、
前記消費電力削減可否判定手段が消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するパス抽出手段と、
前記パス抽出手段によって抽出されたパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するセル移動可能距離計算手段と、
前記セル移動可能距離計算手段が計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを判別するセル移動可能判別手段と、
前記セル移動可能判別手段が移動可能であると判別した場合、前記セル移動可能距離計算手段が計算した改善対象セルの移動距離の範囲内で前記改善対象セルを移動し、前記配置配線情報を更新するレイアウト変更手段と、
前記セル移動可能判別手段が移動可能でないと判別した場合、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パス抽出手段によって抽出されたパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するセル移動可能距離再計算手段と、
前記セル移動可能距離再計算手段が再計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを再判別するセル移動可能再判別手段と、
前記セル移動可能再判別手段が移動可能であると判別した場合、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算された消費電力が、前記消費電力計算手段によって計算された消費電力以下となる前記改善対象セルの移動距離の最小値を求める最小移動距離計算手段とを備え、
前記レイアウト変更手段は、前記最小移動距離計算手段が計算した移動距離の最小値が、前記セル移動可能距離再計算手段が再計算した移動距離の範囲の上限値以下のとき、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新する、
ことを特徴とするレイアウト設計装置。
【請求項２】
前記消費電力計算手段によって計算された消費電力と、所定の消費電力制限値とを比較し、前記計算された消費電力が前記消費電力制限値を超えるか否かを判定する消費電力制限違反判定手段を更に備え、前記改善対象セル抽出手段は、前記消費電力制限違反判定手段が前記計算された消費電力が前記消費電力制限値を超えると判定すると、改善対象ネットを抽出する、請求項１に記載のレイアウト設計装置。
【請求項３】
前記消費電力計算手段は、各ネットでの消費電力と、各セルでの消費電力とをそれぞれ計算し、各ネットでの消費電力及び各セルでの消費電力の総和を、前記設計対象の半導体装置の消費電力として算出し、
前記改善対象セル抽出手段は、前記消費電力計算手段による消費電力の計算で消費電力値が最も大きいネットから順に改善対象ネットとして選択し、前記回路接続情報を参照して、前記抽出された改善対象ネットに接続されるセルのうちの何れかを改善対象セルとして抽出する、請求項１又は２に記載のレイアウト設計装置。
【請求項４】
前記改善対象セル抽出手段は、前記消費電力削減可否判定手段が、消費電力の削減が不可能であると判定すると、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する、請求項３に記載のレイアウト設計装置。
【請求項５】
前記改善対象セル抽出手段は、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記セル移動可能距離再計算手段が再計算した改善対象セルの移動距離の範囲とが重複しないとき、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する、請求項３に記載のレイアウト設計装置。
【請求項６】
前記改善対象セル抽出手段は、前記最小移動距離計算手段が、前記最小移動距離計算手段が計算した移動距離の最小値が、前記セル移動可能距離再計算手段が再計算した移動距離の範囲の上限値よりも大きいとき、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する、請求項３に記載のレイアウト設計装置。
【請求項７】
前記改善対象セル抽出手段は、前記改善対象ネットに接続された全てのセルを改善対象セルとして抽出すると、次の改善対象ネットを選択する、請求項３〜６の何れか一に記載のレイアウト設計装置。
【請求項８】
前記消費電力削減可否判定手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する、請求項３〜７の何れか一に記載のレイアウト設計装置。
【請求項９】
前記セル移動可能距離計算手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する、請求項３〜７の何れか一に記載のレイアウト設計装置。
【請求項１０】
前記セル移動可能距離計算手段は、前記改善対象セルの移動により、該改善対象セルに接続するネットのうちで、前記改善対象ネット以外のネットの配線長が、前記改善対象ネットの配線長が短くなった分と同じ分だけ長くなることを想定する、請求項９に記載のレイアウト設計装置。
【請求項１１】
前記セル移動可能距離再計算手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する、請求項３〜１０の何れか一に記載のレイアウト設計装置。
【請求項１２】
前記セル移動可能距離再計算手段は、前記改善対象セルの移動により、該改善対象セルに接続するネットのうちで、前記改善対象ネット以外のネットの配線長が、前記改善対象ネットの配線長が短くなった分と同じ分だけ長くなることを想定する、請求項１１に記載のレイアウト設計装置。
【請求項１３】
前記消費電力計算手段は、各ネットを通過する信号の波形図を示すシミュレーションパタンを記憶する記憶装置と、前記回路接続情報とを参照して、各シミュレーション区間における各ネットの信号動作率を決定し、該決定した信号動作率を用いて、各ネットでのシミュレーション区間ごとの消費電力を計算する、請求項３に記載のレイアウト設計装置。
【請求項１４】
コンピュータを用いて、半導体装置のレイアウト設計を行う方法であって、
設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶するステップと、
前記コンピュータが、前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算するステップと、
前記コンピュータが、前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶するステップと、
前記コンピュータが、前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定するステップと、
前記コンピュータが、消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するステップと、
前記コンピュータが、前記抽出したパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するステップと、
前記コンピュータが、前記計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを判別するステップと、
前記コンピュータが、前記改善対象セルが移動可能であると判別すると、前記タイミング制約を満たす前記改善対象セルの移動距離の範囲内で前記改善対象セルを移動し、前記配置配線情報を更新してレイアウトを変更するステップと、
前記コンピュータが、前記改善対象セルが移動可能でないと判別すると、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パスを抽出するステップで抽出したパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するステップと、
前記コンピュータが、前記再計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを再判別するステップと、
前記コンピュータが、前記改善対象セルが移動可能であると再判別すると、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算した消費電力が、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力以下となる前記改善対象セルの移動距離の最小値を求めるステップと、
前記計算した移動距離の最小値が、前記再計算した移動距離の範囲の上限値以下のとき、前記コンピュータが、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新するステップと、
を有することを特徴とする方法。
【請求項１５】
コンピュータに、半導体装置のレイアウト設計を行う処理を実行させるプログラムであって、前記コンピュータに、
設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶するステップと、
前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算するステップと、
前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶するステップと、
前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定するステップと、
消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するステップと、
前記抽出したパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するステップと、
前記計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを判別するステップと、
前記改善対象セルが移動可能であると判別すると、前記タイミング制約を満たす前記改善対象セルの移動距離の範囲内で前記改善対象セルを移動し、前記配置配線情報を更新してレイアウトを変更するステップと、
前記改善対象セルが移動可能でないと判別すると、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パスを抽出するステップで抽出したパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するステップと、
前記再計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを再判別するステップと、
前記改善対象セルが移動可能であると再判別すると、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算した消費電力が、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力以下となる前記改善対象セルの移動距離の最小値を求めるステップと、
前記計算した移動距離の最小値が、前記再計算した移動距離の範囲の上限値以下のとき、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新するステップと、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト設計装置、方法、及び、プログラムに関し、更に詳しくは、ＬＳＩ（大規模論理集積回路）等の半導体装置のレイアウトを設計するレイアウト設計装置、方法、及び、プログラムに関する。
【背景技術】
【０００２】
ＬＳＩ等の半導体装置の設計では、計算機援用設計（ＣＡＤ）が用いられることが多い。計算機援用設計では、回路の配置位置や、回路間の接続情報に基づいて、自動レイアウト設計が行われ、半導体装置上での各回路の位置や、回路間の配線ルートが決定される。レイアウト設計が終了すると、設計されたレイアウトで、回路間のタイミング制約が満たされるか否か、消費電力が設定した制限値以内に収まっているか否かなどの検証が行われる。この検証で、タイミング制約が満たされない、或いは、消費電力が制限値以内に収まらないと判定されると、回路の配置位置の変更などを行って、レイアウトを再設計する。
【０００３】
タイミング制約を満たしつつ低消費電力を実現するためのＬＳＩレイアウト手法としては、特許文献１に記載された技術がある。特許文献１では、レイアウト設計後、指示されたテストパターンに基づいてシミュレーションを行い、消費電力を削減するのに効果的な信号配線を求める。その信号配線に対してレイアウト修正を行い、それら信号配線の配線長を短くすることにより、消費電力を削減する。レイアウト変更後、タイミング解析を行い、タイミングエラーとなった箇所について再度レイアウト修正を行う。特許文献１では、このようなレイアウト設計により、動作周波数を満足しつつ、低電力を実現するＬＳＩレイアウトを実現できるとしている。
【０００４】
【特許文献１】特開平１１−６７９２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１では、低消費電力特性を満足させるためにレイアウトを変更し、その後、レイアウト変更によって生じたタイミングエラーを補正するために、再度レイアウト変更を行っている。特許文献１では、このように、レイアウト変更を、計２回実施しており、多大な処理時間を伴うという問題がある。また、ＬＳＩのレイアウトによっては、消費電力を削減するために効果的な配線と、タイミングエラーを起こしそうな別の配線とが、同一のセル（回路部分）に接続しているケースが存在する。そのようなケースでは、タイミング及び消費電力削減の双方を満足する修正解があるにもかかわらず、タイミングのみを尺度としてエラーを補正することで、消費電力を削減するために効果的な配線が逆に長くなり、結果として、充分な消費電力削減の効果が得られない場合があるという問題もある。
【０００６】
本発明は、タイミング制約を満足しつつ、消費電力量を削減できるレイアウトを、１度のレイアウト修正処理で実現できるレイアウト設計装置、方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明のレイアウト設計装置は、半導体装置のレイアウト設計を行うレイアウト設計装置において、設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶する入力手段と、前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算する消費電力計算手段と、前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶する改善対象セル抽出手段と、前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記消費電力計算手段が計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定する消費電力削減可否判定手段と、前記消費電力削減可否判定手段が消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するパス抽出手段と、前記パス抽出手段によって抽出されたパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するセル移動可能距離計算手段と、前記セル移動可能距離計算手段が計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを判別するセル移動可能判別手段と、前記セル移動可能判別手段が移動可能であると判別した場合、前記セル移動可能距離計算手段が計算した改善対象セルの移動距離の範囲内で前記改善対象セルを移動し、前記配置配線情報を更新するレイアウト変更手段と、前記セル移動可能判別手段が移動可能でないと判別した場合、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パス抽出手段によって抽出されたパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するセル移動可能距離再計算手段と、前記セル移動可能距離再計算手段が再計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを再判別するセル移動可能再判別手段と、前記セル移動可能再判別手段が移動可能であると判別した場合、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算された消費電力が、前記消費電力計算手段によって計算された消費電力以下となる前記改善対象セルの移動距離の最小値を求める最小移動距離計算手段とを備え、前記レイアウト変更手段は、前記最小移動距離計算手段が計算した移動距離の最小値が、前記セル移動可能距離再計算手段が再計算した移動距離の範囲の上限値以下のとき、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新することを特徴とする。
【０００８】
本発明のレイアウト設計方法は、コンピュータを用いて、半導体装置のレイアウト設計を行う方法であって、設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶するステップと、前記コンピュータが、前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算するステップと、前記コンピュータが、前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶するステップと、前記コンピュータが、前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定するステップと、前記コンピュータが、消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するステップと、前記コンピュータが、前記抽出したパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するステップと、前記コンピュータが、前記計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを判別するステップと、前記コンピュータが、前記改善対象セルが移動可能であると判別すると、前記タイミング制約を満たす前記改善対象セルの移動距離の範囲内で前記改善対象セルを移動し、前記配置配線情報を更新してレイアウトを変更するステップと、前記コンピュータが、前記改善対象セルが移動可能でないと判別すると、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パスを抽出するステップで抽出したパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するステップと、前記コンピュータが、前記再計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを再判別するステップと、前記コンピュータが、前記改善対象セルが移動可能であると再判別すると、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算した消費電力が、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力以下となる前記改善対象セルの移動距離の最小値を求めるステップと、前記計算した移動距離の最小値が、前記再計算した移動距離の範囲の上限値以下のとき、前記コンピュータが、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新するステップと、を有することを特徴とする。
【０００９】
本発明のプログラムは、コンピュータに、半導体装置のレイアウト設計を行う処理を実行させるプログラムであって、前記コンピュータに、設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶するステップと、前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算するステップと、前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶するステップと、前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定するステップと、消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するステップと、前記抽出したパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するステップと、前記計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを判別するステップと、前記改善対象セルが移動可能であると判別すると、前記タイミング制約を満たす前記改善対象セルの移動距離の範囲内で前記改善対象セルを移動し、前記配置配線情報を更新してレイアウトを変更するステップと、前記改善対象セルが移動可能でないと判別すると、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パスを抽出するステップで抽出したパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するステップと、前記再計算した前記改善対象セルの移動距離の範囲に基づいて、該改善対象セルが移動可能であるか否かを再判別するステップと、前記改善対象セルが移動可能であると再判別すると、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算した消費電力が、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力以下となる前記改善対象セルの移動距離の最小値を求めるステップと、前記計算した移動距離の最小値が、前記再計算した移動距離の範囲の上限値以下のとき、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新するステップと、を実行させることを特徴とする。
【００１０】
本発明のレイアウト設計装置、方法、及び、プログラムでは、改善対象セルの移動を想定して消費電力の削減が可能か否かを判定し、削減が可能なときには、改善対象セルを含むパスがタイミング制約を満たす改善対象セルの移動距離の範囲を求める。このようにして求めた移動距離の範囲と、消費電力の削減が可能な改善対象セルの移動距離の範囲とが重複するときには、その重複する範囲内で改善対象セルを移動し、レイアウトを変更する。このようにすることで、消費電力の削減が可能で、かつ、タイミング制約を満たすレイアウトを、１回のレイアウト修正で得ることができる。
【００１１】
また、本発明のレイアウト設計装置、方法、及び、プログラムでは、改善対象セルの移動のみではタイミング制約が満たされない場合には、リピータ挿入を併用し、リピータを挿入した場合にタイミング制約を満たす改善対象セルの移動距離の範囲を求める。タイミング制約を満たす移動距離の範囲が得られたら、リピータ挿入後の消費電力を計算し、消費電力の削減が可能な改善対象セルの移動距離の範囲（移動距離の最小値）を求める。このようにして求めた移動距離の最小値が、再計算した、タイミング制約を満たす改善対象セルの移動距離の範囲の上限値以下のときには、その最小値以上で上限値以下の範囲で改善対象セルを移動し、かつ、改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、レイアウトを変更する。これにより、消費電力の削減が可能で、かつ、リピータ挿入によってタイミング制約を満たすレイアウトを、１回のレイアウト修正で得ることができる。
【００１２】
本発明のレイアウト設計装置は、前記消費電力計算手段によって計算された消費電力と、所定の消費電力制限値とを比較し、前記計算された消費電力が前記消費電力制限値を超えるか否かを判定する消費電力制限違反判定手段を更に備え、前記改善対象セル抽出手段は、前記消費電力制限違反判定手段が前記計算された消費電力が前記消費電力制限値を超えると判定すると、改善対象ネットを抽出する構成を採用できる。この場合、消費電力違反が解消されるまで、改善対象セルを抽出して消費電力が削減するようにレイアウト変更を行うことにより、消費電力が制限値以内に収まり、かつ、タイミング制約が満たされるレイアウトを得ることができる。
【００１３】
本発明のレイアウト設計装置では、前記消費電力計算手段は、各ネットでの消費電力と、各セルでの消費電力とをそれぞれ計算し、各ネットでの消費電力及び各セルでの消費電力の総和を、前記設計対象の半導体装置の消費電力として算出し、前記改善対象セル抽出手段は、前記消費電力計算手段による消費電力の計算で消費電力値が最も大きいネットから順に改善対象ネットとして選択し、前記回路接続情報を参照して、前記抽出された改善対象ネットに接続されるセルのうちの何れかを改善対象セルとして抽出する構成を採用できる。消費電力が高いネットを短くすることで、消費電力の削減を期待することができるため、そのようなネットに接続するセルを改善対象セルとして抽出することで、消費電力の削減を期待できる。
【００１４】
本発明のレイアウト設計装置では、前記改善対象セル抽出手段は、前記消費電力削減可否判定手段が、消費電力の削減が不可能であると判定すると、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する構成を採用できる。抽出された改善対象セルの移動では消費電力の削減が不可能な場合には、同じ改善対象ネットに接続される他のセルを改善対象セルとして抽出して、消費電力の削減が可能か否かを判定すればよい。
【００１５】
本発明のレイアウト設計装置では、前記改善対象セル抽出手段は、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記セル移動可能距離再計算手段が再計算した改善対象セルの移動距離の範囲とが重複しないとき、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する構成を採用できる。消費電力の削減を可能とする改善対象セルの移動距離の範囲と、再計算により得られた、リピータ挿入によってタイミング制約を満たす改善対象セルの移動距離の範囲とは、別個の計算によって求められるため、数学的にはそれぞれの範囲が求められても、実数解が得られない場合や、範囲が重複しない場合がある。そのような場合には、消費電力の削減とタイミング制約を満たすことの双方を同時に実現することは不可能であるので、抽出された改善対象セルの移動をあきらめて、他の改善対象セルを抽出すればよい。
【００１６】
本発明のレイアウト設計装置では、前記改善対象セル抽出手段は、前記最小移動距離計算手段が、前記最小移動距離計算手段が計算した移動距離の最小値が、前記セル移動可能距離再計算手段が再計算した移動距離の範囲の上限値よりも大きいとき、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する構成を採用できる。消費電力の削減を可能とする改善対象セルの移動距離の最小値が、再計算された、リピータ挿入によってタイミング制約を満たす改善対象セルの移動距離の範囲の上限値を超える場合には、消費電力の削減とタイミング制約を満たすことの双方を同時に実現することは不可能である。この場合には、抽出された改善対象セルの移動をあきらめて、他の改善対象セルを抽出すればよい。
【００１７】
本発明のレイアウト設計装置では、前記改善対象セル抽出手段は、前記改善対象ネットに接続された全てのセルを改善対象セルとして抽出すると、次の改善対象ネットを選択する構成を採用できる。抽出された改善対象ネットに接続する全てのセルを改善対象セルとして抽出しても、消費電力の削減とタイミング制約との双方を満足できない場合には、別のネットを改善対象ネットとして抽出し、そのネットに接続するセルを、改善対象セルとして抽出すればよい。
【００１８】
本発明のレイアウト設計装置では、前記消費電力削減可否判定手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する構成を採用できる。この場合、消費電力削減可否判定手段は、改善対象セルの移動を、改善対象ネットの配線長が短くなる方向に移動した際に、消費電力の削減が可能か否かを判定する。
【００１９】
本発明のレイアウト設計装置では、前記セル移動可能距離計算手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する構成を採用できる。この場合、セル移動可能距離計算手段は、改善対象セルを、改善対象ネットの配線長が短くなる方向に移動した際の、タイミング制約を満たす改善対象セルの移動距離の範囲を計算する。
【００２０】
本発明のレイアウト設計装置では、前記セル移動可能距離計算手段は、前記改善対象セルの移動により、該改善対象セルに接続するネットのうちで、前記改善対象ネット以外のネットの配線長が、前記改善対象ネットの配線長が短くなった分と同じ分だけ長くなることを想定する構成を採用できる。改善対象ネットの配線長を短くした場合に、他のネットの配線長がどのように変化するかは、実際にレイアウト設計を行わないと、正確には求められない。しかしながら、他のネットは、改善対処ネットの配線長が短くなった分だけ長くなると考えられるから、セル移動可能距離計算手段による移動可能距離の計算では、そのように仮定して、計算を行えばよい。
【００２１】
本発明のレイアウト設計装置では、前記セル移動可能距離再計算手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する構成を採用できる。この場合、前記セル移動可能距離再計算手段は、前記改善対象セルの移動により、該改善対象セルに接続するネットのうちで、前記改善対象ネット以外のネットの配線長が、前記改善対象ネットの配線長が短くなった分と同じ分だけ長くなることを想定する構成を採用できる。
【００２３】
本発明のレイアウト設計装置では、前記消費電力計算手段は、各ネットを通過する信号の波形図を示すシミュレーションパタンを記憶する記憶装置と、前記回路接続情報とを参照して、各シミュレーション区間における各ネットの信号動作率を決定し、該決定した信号動作率を用いて、各ネットでのシミュレーション区間ごとの消費電力を計算する構成を採用できる。この場合、信号パタンに応じて、各ネットでの消費電力を計算できる。
【発明の効果】
【００２４】
本発明のレイアウト設計装置、方法、及び、プログラムでは、改善対象セルの移動を想定して消費電力の削減が可能か否かを判定し、削減が可能なときには、改善対象セルを含むパスがタイミング制約を満たす改善対象セルの移動距離の範囲を求める。このようにして求めた移動距離の範囲と、消費電力の削減が可能な改善対象セルの移動距離の範囲とが重複するときには、その重複する範囲内で改善対象セルを移動し、レイアウトを変更する。このようにすることで、消費電力の削減が可能で、かつ、タイミング制約を満たすレイアウトを、１回のレイアウト修正で得ることができる。これにより、レイアウト設計の時間を短縮すると共に、レイアウト設計のコストを低減できる。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図１は、本発明の一実施形態のレイアウト設計装置の構成を示している。レイアウト設計装置１００は、各種情報入力手段１０１、信号動作率決定手段１０２、消費電力計算手段１０３、消費電力制限違反判定手段１０４、改善対象ネット抽出手段１０５、改善対象セル抽出手段１０６、遅延計算対象パス抽出手段１０７、消費電力削減可否判定手段１０８、遅延時間・セル移動可能距離計算手段１０９、遅延時間・セル移動可能距離再計算手段１１０、最小移動距離計算手段１１１、レイアウト変更手段１１２、配置配線情報出力手段１１３、及び、制御手段１１４を備える。レイアウト設計装置１００は、コンピュータシステムで構成され、所定のプログラムを動作させることにより動作する。
【００２６】
各種情報入力手段１０１は、ＬＳＩの回路接続情報１２１、配置配線情報１２２、及び、物理ライブラリ情報１２３などのＬＳＩレイアウトを行う際に必要な情報と、制約となるＬＳＩのタイミング制約１２５及び消費電力制限値１２６とを入力し、記憶装置に記憶する。また、各種情報入力手段１０１は、遅延時間・消費電力計算に必要なシミュレーションパタン１２７と、遅延・消費電力ライブラリ情報１２４とを入力し、記憶装置に記憶する。
【００２７】
信号動作率決定手段１０２は、シミュレーションパタン１２７と回路接続情報１２１とを参照して、回路内の信号動作率１２８を算出し、記憶装置に記憶する。消費電力計算手段１０３は、回路接続情報１２１、配置配線情報１２２、遅延・消費電力ライブラリ情報１２４、及び、信号動作率決定手段１０２が算出したＬＳＩ回路内の信号動作率１２８を参照して、ＬＳＩの消費電力値１２９を計算し、記憶装置に記憶する。消費電力制限違反判定手段１０４は、各種情報入力手段１０１によって入力された消費電力制限値１２６と、消費電力計算手段１０３が計算した消費電力値１２９とを比較し、消費電力の削減が必要か否かを判定する。
【００２８】
改善対象ネット抽出手段１０５は、消費電力値１２９を参照し、改善対象ネット１３０を抽出して記憶装置に記憶する。改善対象セル抽出手段１０６は、回路接続情報１２１を参照し、改善対象ネット１３０に接続する改善対象セル１３１を抽出して記憶装置に記憶する。遅延計算対象パス抽出手段１０７は、回路接続情報１２１を参照し、改善対象セル１３１を含む遅延計算対象パス１３２を抽出し、記憶装置に記憶する。消費電力削減可否判定手段１０８は、改善対象セル１３１の移動を想定した場合に、消費電力の削減が可能か否かを判定する。
【００２９】
遅延時間・セル移動可能距離計算手段１０９は、改善対象セル１３１の移動を想定して遅延計算対象パス１３２の遅延時間を計算し、遅延時間の計算結果から改善対象セル１３１のセル移動可能距離１３３を逆算して記憶装置に記憶する。遅延時間・セル移動可能距離再計算手段１１０は、遅延時間・セル移動可能距離計算手段１０９によってセル移動可能距離１３３が求められないとき、改善対象セル１３１の移動で配線長が長くなるネットに対するリピータ挿入を想定して、遅延計算対象パス１３２の遅延時間を計算し、その遅延時間の計算結果から、改善対象セル１３１のセル移動可能距離１３３を逆算する。
【００３０】
最小移動距離計算手段１１１は、遅延時間・セル移動可能距離再計算手段１１０によって、セル移動可能距離１３３の解が求められた場合には、消費電力の削減が可能となる改善対象セル１３１の最小移動距離１３４を求める。レイアウト変更手段１１２は、遅延時間・セル移動可能距離計算手段１０９によって求められたセル移動可能距離１３３と、最小移動距離計算手段１１１によって求められた最小移動距離１３４とを参照し、改善対象セル１３１の移動やリピータの挿入、及び、それらセル、リピータに接続するネットに対する再配線を行い、回路接続情報１２１及び配置配線情報１２２を更新する。配置配線情報出力手段１１３は、レイアウト変更手段１１２によって更新されたＬＳＩの配置配線情報１２２を出力する。制御手段１１４は、各種手段を制御する。
【００３１】
図２は、レイアウト設計装置１００の動作手順を示している。各種情報入力手段１０１は、ＬＳＩの回路接続情報１２１、配置配線情報１２２、及び、物理ライブラリ情報１２３などのＬＳＩレイアウトを行う際に必要な情報と、制約となるＬＳＩのタイミング制約１２５及び消費電力制限値１２６と、遅延時間・消費電力計算に必要なシミュレーションパタン１２７及び遅延・消費電力ライブラリ情報１２４とを入力する（ステップＳ１）。
【００３２】
図３は、ステップＳ１で入力される回路接続情報１２１の具体例を示す。同図では、説明の簡略化のために、回路の一部分のみを示している。回路接続情報１２１は、ＬＳＩの回路内で使用されるセルと、セル間の接続情報とを含む。同図では、セルとして、フリップフロップ、ＮＡＮＤ回路、及び、ＯＲ回路の３種類のセルが含まれており、フリップフロップのセルＣ１、Ｃ４と、ＯＲ回路のセルＣ２、及び、ＮＡＮＤ回路のセルＣ３とが、ネットＮ１〜Ｎ３によって接続されている。この回路に対応する配置配線情報１２２を図４に示す。同図では、説明簡略化のため、フリップフロップのセルＣ１、Ｃ４のクロック端子については省略している。配置配線情報１２２は、ＬＳＩ上での配置配線図（同図（ａ））と、各ネットの配線長（同図（ｂ））とを含む。
【００３３】
ステップＳ１で入力されるタイミング制約１２５は、設計対象のＬＳＩが動作すべきクロックの周波数に依存して決定され、固定値が設定される。また、消費電力制限値１２６は、ＬＳＩの冷却構造や、バッテリーの駆動時間などの要因により決定され、固定値が設定される。ステップＳ１では、例えばタイミング制約１２５の値として「３００」が入力され、消費電力制限値１２６の値としては「８」が入力される。なお、以下では、入力された回路はタイミング制約１２５を満たしているとして説明する。
【００３４】
図２に戻り、信号動作率決定手段１０２は、ＬＳＩ回路内の各ネットを通過する信号の波形図を示すシミュレーションパタン１２７と、回路接続情報１２１とを参照し、回路内の信号動作率１２８を求める（ステップＳ２）。図５（ａ）は、シミュレーションパタン１２７の具体例を示しており、同図（ｂ）は、信号動作率１２８の具体例を示している。シミュレーションパタン１２７における波形Ｈ１〜Ｈ３は、それぞれ図３に示すネットＮ１〜Ｎ３の信号波形を示している。波形Ｈ０は、クロック信号を示しており、周期的に、ハイレベルとローレベルとを交互に繰り返す。
【００３５】
波形Ｈ１〜Ｈ３の各値は、波形Ｈ０がローレベルからハイレベルに変化した瞬間に、ハイレベル又はローレベルに確定する。また、波形Ｈ１〜Ｈ３の値は、ネットの前後に接続するセルの機能と、そのセルに入力される波形の値と、セルの接続関係とによって決定される。動作率は、あるクロック周期内における信号変化の回数を、クロック信号（Ｈ０）がローレベルからハイレベルに変化した回数で割ったもので定義する。例えば、図５（ａ）の区間Ｓ１におけるネットＮ１（波形Ｈ１）の動作率Ａ１は、クロック波形Ｈ０がローレベルからハイレベルに２回変化している間に、波形Ｈ１が１回だけ変化しているので、１／２＝０．５と計算される。各区間について、各ネットの信号動作率を求めると、信号動作率１２８は、同図（ｂ）に示すようになる。
【００３６】
信号動作率１２８が求まると、消費電力計算手段１０３は、回路接続情報１２１、配置配線情報１２２、遅延・消費電力ライブラリ情報１２４、及び、信号動作率決定手段１０２で求めた信号動作率１２８を参照し、ＬＳＩ内の消費電力値１２９を求める（ステップＳ３）。消費電力は、回路内のセルやフリップフロップなどの素子が持つ消費電力（セル消費電力）ＰＣと、素子間の配線が持つ消費電力（配線消費電力）ＰＮとに大別される。セル消費電力ＰＣは、回路内で使用される各セルで固有の値を持ち、その値は、遅延・消費電力ライブラリ情報１２４として、各種情報入力手段１０１によって与えられる。
【００３７】
図６は、遅延・消費電力ライブラリ情報１２４の具体例を示している。同図（ａ）は、各セルと、セル遅延時間、端子抵抗、及び、セル消費電力との対応関係を示している。また、同図（ｂ）は、配線の単位長当たりの配線抵抗及び配線容量を示し、同図（ｃ）は、配線の遅延時間を計算する際に使用する係数を示している。これら情報は、各種情報入力手段１０１を用いて入力されている。
【００３８】
配線消費電力の計算式としては、「デジタルシステム工学  （丸善株式会社）  」の２６１頁に、式(4-68)として記載された下記式、
配線消費電力ＰＮ＝Ｃ×Ｖｄｄ２×Ｋｄ×ｆｃｋ  （１）
を用いる。式（１）の“Ｃ”は、セルの出力端子の負荷容量である。また、Ｖｄｄは、電源電圧であり、ｆｃｋは、クロック周波数である。Ｋｄは、デューティファクタ（クロック周期に対する信号の最大変化率）であり、動作率＝１のときには、Ｋｄ=０．５となる。式（１）では、Ｖｄｄ２とｆｃｋは固定の値であるため、Ｖｄｄ２×ｆｃｋを仮に１として、式（１）を、下記式（２）で簡略化する。
ＰＮ＝（１／２）×Ｃ×Ａ  （２）
式（２）における、Ａはあるシミュレーション区間内での動作率を示している。
【００３９】
式（２）における負荷容量Ｃは、出力端子に接続するネットの配線容量と、セルの入力端子容量とで構成されるが、このうちの配線容量については、計算を簡略化するために、一般的に単位配線長当たりの値が用いられる近似計算が行われており、配線容量は配線長に比例した値を持つ。単位配線長当たりの配線容量Ｃｌは、遅延・消費電力ライブラリ情報１２４（図６（ｂ））を参照することで取得でき、配線長は、配置配線情報１２２（図４（ｂ））から取得できる。なお、セルの入力端子容量については、説明の簡略化のため、その説明を省略する。
【００４０】
以上から、区間Ｓ１におけるネットＮ１の配線消費電力ＰＮ１は、下記式（３）で計算できる。
ＰＮ１＝（１／２）×Ｃｌ×Ｌ１×Ａ１  （３）
式（３）におけるＬ１は、ネットＮ１の配線長であり、配置配線情報１２２（図４（ｂ））を参照すると、Ｎ１＝１０である。また、区間Ｓ１におけるネットＮ１の動作率Ａ１は、信号動作率決定手段１０２が求めた信号動作率１２８（図５（ｂ））を参照すると、Ａ１＝０．５である。これにより、区間Ｓ１におけるネットＮ１の配線消費電力ＰＮ１は、
ＰＮ１＝（１／２）×１×１０×０．５＝２．５
と求まる。他の区間、他のネットについても同様に、配線消費電力を計算する。
【００４１】
図７（ａ）は、区間ごとの各ネットの配線消費電力を示し、同図（ｂ）は、区間ごとのセル消費電力と配線消費電力と総消費電力とを示している。各ネットについて配線消費電力を計算すると、同図（ａ）に示す表が得られる。セル消費電力は、区間ごとの、ＬＳＩを構成する各セルについてのセル消費電力の総和である。配線消費電力は、区間ごとの、各ネットにおける配線消費電力の総和であり、同図（ａ）に示す表を、区間ごとに集計することで得られる。総消費電力は、これらセル消費電力と配線消費電力の和であり、区間ごとのＬＳＩ全体の消費電力を示す。
【００４２】
消費電力計算手段１０３は、全ての区間及びパタンについて計算した各ネットの配線消費電力（図７（ａ））と、全ての区間におけるセル消費電力の総和、配線消費電力の総和、及びそれらの和である総消費電力（図７（ｂ））とを、消費電力値１２９として記憶する。なお、消費電力削減の考え方としては、シミュレーションの全区間の平均動作率の高いネットの消費電力を削減する手法（平均消費電力削減）と、シミュレーション区間ごとの消費電力量のうち、局所的に高いものを削減する手法（ピーク消費電力削減）との２種類が存在するが、本実施形態では、ピーク消費電力削減を採用する。
【００４３】
消費電力が求まると、消費電力制限違反判定手段１０４は、消費電力制限値１２６と、消費電力計算手段１０３によって計算された消費電力値１２９とを比較し、消費電力制限違反が発生しているか否か、つまり、消費電力の削減が必要か否かを判定する（ステップＳ４）。具体的には、消費電力制限値１２６の値よりも、消費電力値１２９の総消費電力の最大値が大きい場合には、消費電力の削減が必要と判断し、それ以下の場合には消費電力の削減が必要ないと判断する。ステップＳ４で消費電力の削減が必要でないと判定された場合には、配置配線情報出力手段１１３は、配置配線情報１２２を出力して（ステップＳ１８）、処理を終了する。図７（ｂ）では、区間Ｓ２の総消費電力が「９」であり、ステップＳ１で入力された消費電力制限値１２６の値「８」を超えている。従って、この場合には、消費電力の削除が必要と判定される。
【００４４】
ステップＳ４で、消費電力の削減が必要と判定されると、改善対象ネット抽出手段１０５は、ステップＳ３で計算された消費電力値１２９を参照して、消費電力改善対象ネット１３０を抽出する（ステップＳ５）。具体的には、消費電力値１２９（図７）を参照し、シミュレーション区間のうちで最も総消費電力が高い区間を選び、その区間内における配線消費電力が高いネットから順に、消費電力改善対象ネット１３０として選択する。図７（ｂ）では、区間Ｓ２が最も消費電力が高い区間であり、また、図７（ａ）を参照すると、区間Ｓ２内で最も配線消費電力が高いネットはＮ２であるので、Ｎ２を、消費電力改善対象ネット１３０として選択する。改善対象ネット抽出手段１０５は、全てのネットを処理したか否かを判断し（ステップＳ６）、全てのネットを処理したと判断すると、レイアウト変更は不可能であることから、ステップＳ１８へ移行して、配置配線情報１２２を出力する。
【００４５】
改善対象セル抽出手段１０６は、回路接続情報１２１を参照し、改善対象ネット１３０に接続する改善対象セル１３１を抽出する（ステップＳ７）。具体的には、回路接続情報１２１（図３）を参照し、改善対象ネット１３０に接続するセルのうちの１つを、改善対象セル１３１として選択する。図３では、改善対象ネットＮ２には、セルＣ２とＣ３とが接続されている。この場合、ステップＳ７では、セルＣ２とＣ３との何れか、例えばセルＣ３が、改善対象セル１３１として抽出される。改善対象セル抽出手段１０６は、現在の改善対象ネット１３０に接続する全てのセルについて処理を行ったか否かを判断する（ステップＳ８）。全てのセルに対して処理を行った場合には、次の改善対象ネット１３０を選択するために、ステップＳ５へ戻る。
【００４６】
改善対象セル１３１が抽出されると、遅延計算対象パス抽出手段１０７は、回路接続情報１２１を参照し、改善対象セル１３１を含む遅延計算対象パス１３２を抽出する（ステップＳ９）。遅延計算対象パス１３２は、ＬＳＩの入力端子とフリップフロップとの間、又は、フリップフロップ相互間をつなぐ経路であり、回路接続情報１２１を参照し、セルとネットとの接続関係をトレースすることで求められる。図３の例では、フロップフロップＣ１の入力端子からネットＮ１、セルＣ３、及び、ネットＮ３を経由して接続するフリップフロップＣ４の入力端子までのパス（セルＣ１からＣ４までのパス）が１つ存在し、このパスが抽出される。パスが複数存在する場合には、全てのパスが抽出される。
【００４７】
消費電力削減可否判定手段１０８は、改善対象セル１３１の移動を想定した場合に、消費電力の削減が可能か否かを判定する（ステップＳ１０）。図８は、改善対象セル１３１の移動の具体例を示しており、同図（ａ）は移動前の状態を、同図（ｂ）は、移動後の状態を示している。同図（ｂ）では、改善対象セルＣ３の位置を、同図（ａ）に示す位置から、改善対象ネットＮ２が、長さΔＬ（ΔＬ＞０）だけ短くなるように移動する。この場合、他のネットＮ１、Ｎ３の配線長は、移動前に比して長くなる。延びた配線長は、ΔＬである、つまり、改善対象ネットＮ２の配線長の短縮分と同じ分だけであると仮定する。この場合、長くなったネットＮ１の配線消費電力は、式（３）から、
ＰＮ１＝（１／２）×Ｃｌ×（Ｌ１＋ΔＬ）×Ａ１
となり、移動前に比して、（１／２）×Ｃｌ（ΔＬ）×Ａ１だけ増加する。また、短くなったネットＮ２の配線消費電力は、（１／２）×Ｃｌ（ΔＬ）×Ａ２だけ減少し、長くなったネットＮ３の配線消費電力は、（１／２）×Ｃｌ（ΔＬ）×Ａ３だけ増加する。
【００４８】
改善対象セル１３１の移動に伴う消費電力の削減分をΔＰ１とすると、ΔＬ＞０、つまりネットＮ２の配線長Ｌ２が短くなる場合には、
ΔＰ１＝（１／２）×Ｃｌ×ΔＬ×｛Ａ２−（Ａ１＋Ａ３）｝
が０よりも大きければ、移動前に比して消費電力は小さくなる。図６（ｂ）を参照すると、単位当たりの配線容量Ｃｌは、「１」であり、図５（ｂ）を参照すると、区間Ｓ２における各ネットの動作率Ａ１、Ａ２、Ａ３は、それぞれ「０」、「１」、「０」である。この場合、ΔＰ１は、
ΔＰ１＝（１／２）×ΔＬ
となる。ΔＬ＞０であるから、ΔＰ１＞０であり、この場合、ステップＳ１０では、消費電力の削減が可能であると判定される。ステップＳ１０で、消費電力の削減が不可能であると判定された場合には、ステップＳ７へ戻って、改善対象ネット１３０に接続する別のセルを改善対象セル１３１として選択する。
【００４９】
消費電力の削減が可能であると判定されると、遅延時間・セル移動可能距離計算手段１０９は、改善対象セル１３１の移動を想定して遅延計算対象パス１３２の遅延時間を計算し、その計算結果から、改善対象セル１３１の移動可能距離を逆算する（ステップＳ１１）。その後、逆算した移動可能距離に基づいて、改善対象セル１３１の移動が可能であるか否かを判断する（ステップＳ１２）。移動可能である場合には、レイアウト変更を行うために、ステップＳ１７へ進む。
【００５０】
ステップＳ１１の詳細手順の説明に先立って、パス遅延時間の計算について説明する。パス遅延時間は、信号が、パス、つまり、ＬＳＩの入出力端子とフリップフロップとの間、又は、フリップフロップ相互間を通過するのに要する時間である。図３では、フリップフロップＣ１の入力端子から、ネットＮ１、セルＣ３、及び、ネットＮ３を経由して、フリップフロップＣ４の入力端子までのパスについて、信号が通過する時間を計算する。
【００５１】
パス遅延時間の構成要素は、信号がセルの入力端子から出力端子までを通過する際に生じるセル遅延時間と、信号が配線を通過する際に生じる配線遅延時間との２種類に分けられる。図３のセルＣ１からセルＣ４の入力までのパスの遅延時間Ｔは、セルＣ１、Ｃ３のセル遅延時間をそれぞれＴＣ１、ＴＣ３とし、ネットＮ１〜Ｎ３の配線遅延時間をＴＮ１〜ＴＮ３とすると、
Ｔ＝ＴＮ１＋ＴＮ３＋ＴＣ１＋ＴＣ３  （４）
と表すことができる。各セルの遅延時間は、セルの種類ごとに固定値が用意されており、この値は、遅延・消費電力ライブラリ情報１２４（図６（ａ））に記憶されている。セル遅延時間は、厳密には、入力端子と出力端子との組み合わせなどにより、複数の遅延値が存在するが、ここでは説明の簡単化のため、単一の遅延値をもつものとする。
【００５２】
配線遅延時間の計算については、各種手法が提案されているが、ここでは、Elmoreの配線遅延モデルを用いる（Elmoreの配線遅延モデルについては、電気情報通信学会技術研究報告 VLD2000--48〜56 [VLSI設計技術] VLD2000-51 シュリンク向けクロック木生成 井上浩明・枝廣正人を参照）。Elmoreの遅延モデルでは、出力点からある入力点までの配線経路の遅延時間は、経路上の２点間に存在する抵抗と、２点間を含んで下流に存在する容量（キャパシタンス）との積の総和によって表わされる。このような公式に基づいて、端子抵抗、配線抵抗と配線容量とから、配線遅延を求める。厳密には、負荷容量は、配線容量のほかにセルの入力端子容量も存在するが、説明の簡単化のため省略する。
【００５３】
ネットＮ１に対する配線遅延時間ＴＮ１は、下記式（５）で表すことができる。
ＴＮ１＝Ｋ１×ＲＯ１×（ＣＮ１）＋Ｋ２×ＲＮ１×（ＣＮ１）  （５）
式（５）におけるＲＯ１は、セルＣ１の出力端子抵抗値である。この出力端子抵抗ＲＯ１は、使用しているセルの種類に応じた固定の値を持ち、その値は、遅延・消費電力ライブラリ情報１２４（図６（ａ））に記憶されている。配線抵抗ＲＮ１と、配線容量ＣＮ１とについては、計算を簡易化するために、一般的に単位配線長当たりの値が用いられる近似計算が行われており、配線抵抗及び容量は、それぞれ配線長に比例した値を持つ。単位配線長あたりの配線抵抗及び配線容量は、それぞれＲｌ、Ｃｌとして遅延・消費電力ライブラリ情報１２４（図６（ｂ））に記憶されている。式（５）における係数Ｋ１、Ｋ２は、それぞれ定数であり、遅延・消費電力ライブラリ情報１２４（図６（ｃ））に記憶されている。
【００５４】
ネットＮ１に対する配線遅延時間ＴＮ１は、遅延・消費電力ライブライブラリ情報１２４に記憶された値を用いて、式（５）から下記式（６）に変形できる。
ＴＮ１＝Ｋ１×ＲＯ１×（Ｃｌ×Ｌ１）
＋Ｋ２×（Ｒｌ×Ｌ１）×（Ｃｌ×Ｌ１）  （６）
Ｌ１は、ネットＮ１の配線長であり、配置配線情報１２２（図４（ｂ））を参照すると、「１０」である。また、遅延・消費電力ライブラリ情報１２４（図６）を参照すると、係数Ｋ１、Ｋ２は、それぞれ「２」、「１」であり、ＲＯ１は「２」、配線長当たりの配線容量Ｃｌは「１」、配線長当たりの配線抵抗Ｒｌは「１」であるから、ネットＮ１に対する配線遅延時間ＴＮ１は、
ＴＮ１＝２×２×（１×１０）＋１×（１×１０）×（１×１０）＝１４０
と計算される。配線に分岐がない場合には、配線遅延時間の計算式における構成要素は、式（６）と同様となり、パスを構成する別のネットＮ３に対する配線遅延時間ＴＮ３は、下記式（７）で計算できる。
ＴＮ３＝Ｋ１×ＲＯ３×（Ｃｌ×Ｌ３）
＋Ｋ２×（Ｒｌ×Ｌ３）×（Ｃｌ×Ｌ３）  （７）
配置配線情報１２２（図４（ｂ））及び遅延・消費電力ライブラリ情報１２４（図６）を参照してＴＮ３を計算すると、ＴＮ３＝１４０となる。
【００５５】
セル遅延時間ＴＣ１及びＴＣ３は、遅延・消費電力ライブラリ情報１２４（図６（ａ））を参照すると、それぞれ「１０」である。これらを式（４）に代入すると、パスの遅延時間Ｔは、
Ｔ＝ＴＮ１＋ＴＮ３＋ＴＣ１＋ＴＣ３
＝１４０＋１４０＋１０＋１０＝３００
となる。ステップＳ１で入力されたタイミング制約１２５の値が３００であるとすると、このパスは、タイミング制約をちょうど満たすパスである。
【００５６】
ステップＳ１１の移動可能距離の計算について説明する。図８（ｂ）に示すように、改善対象ネットＮ２が長さΔＬだけ短くなることにより、他のネットＮ１、Ｎ３がΔＬだけ長くなると場合には、ネットＮ１、Ｎ３の配線遅延時間ＴＮ１’、ＴＮ３’は、それぞれ、
ＴＮ１’＝Ｋ１×ＲＯ１×（Ｃｌ×（Ｌ１＋ΔＬ））
＋Ｋ２×（Ｒｌ×（Ｌ１＋ΔＬ））×（Ｃｌ×（Ｌ１＋ΔＬ））  （８）
ＴＮ３’＝Ｋ１×ＲＯ３×（Ｃｌ×（Ｌ３＋ΔＬ））
＋Ｋ２×（Ｒｌ×（Ｌ３＋ΔＬ））×（Ｃｌ×（Ｌ３＋ΔＬ））  （９）
となる。ここで、ΔＬ以外は全て既知の値であるので、
ＴＮ１’＝ΔＬ２＋２４×ΔＬ＋１４０  ，
ＴＮ３’＝ΔＬ２＋２４×ΔＬ＋１４０    （１０）
となる。
【００５７】
改善対象セル１３１の移動に伴い、パス遅延時間Ｔ’は、
Ｔ’＝ＴＮ１’＋ＴＮ３’＋ＴＣ１＋ＴＣ３  （１１）
となる。図６（ａ）を参照すると、セル遅延時間ＴＣ１、ＴＣ３は、それぞれ「１０」であるため、式（１１）は、
Ｔ’＝ΔＬ２＋２４×ΔＬ＋１４０＋ΔＬ２＋２４×ΔＬ＋１４０＋１０＋１０
＝２×ΔＬ２＋４８×ΔＬ＋３００
として計算される。このように計算されたＴ’がセル移動後のパスの遅延時間であり、このＴ’は、タイミング制約１２５の値である３００以下である必要があり、
Ｔ’＝２×ΔＬ２＋４８×ΔＬ＋３００≦３００
を満たす必要がある。上記式を簡略化すると、
ΔＬ２＋２４×ΔＬ≦０  （１２）
となる。
【００５８】
上記式（１２）は、ΔＬについての２次不等式であり、これをΔＬについて解いたときのΔＬの範囲として実数範囲が得られ、かつ、この範囲と消費電力削減の前提条件（ΔＬ＞０）とに重複する範囲があれば、つまり、ΔＬの解として正の実数解が得られれば、ステップＳ１２で移動可能と判断し、その正の実数値（ΔＬの範囲の上限値）を、セル移動可能距離１３３として記憶する。パスが複数存在する場合には、全てのパスについて、タイミング制約１２５を満たす改善対象セル１３１の移動量ΔＬを計算し、全てのパスでΔＬの解が正の実数値となれば、移動可能と判断し、各パスのΔＬのうちで、改善対象ネット１３０の配線長を最短とするものを、セル移動可能距離１３３として記憶する。何れかのパスで正の実数値が得られないときには、解なしと判断し、移動不可と判断する。上記式（１２）の解は、−２４≦ΔＬ≦０であり、０以下であるので解なしとなる。このため、ステップＳ１２では、移動不可と判断される。
【００５９】
ステップＳ１２で、移動不可と判断されると、遅延時間・セル移動可能距離再計算手段１１０は、改善対象セル１３１に移動の伴って配線長が長くなるネットに対するリピータ挿入を想定して遅延計算対象パス１３２の遅延時間を計算し、その計算結果から、改善対象セル１３１のセル移動可能距離１３３を逆算する（ステップＳ１３）。遅延時間・セル移動可能距離再計算手段１１０は、逆算したセル移動可能距離１３３に基づいて、改善対象セル１３１の移動が可能か否かを判断する（ステップＳ１４）。
【００６０】
図９は、改善対象セル１３１の移動の具体例を示しており、同図（ａ）は移動前の状態を、同図（ｂ）は、移動後の状態を示している。同図（ａ）に示す状態から、改善対象ネットＮ２の配線長を短くすることにより、同図（ｂ）に示すように、他のネットＮ１、Ｎ３の配線長が長くなる。この長くなったネットＮ１、Ｎ３が、リピータ挿入対象ネットとして抽出される。リピータの挿入を想定した配線遅延時間の計算では、ステップＳ１０と同様に、改善対象ネットＮ２の長さがΔＬだけ短くなったことによって、他のネットＮ１、Ｎ３が同じ分だけ（ΔＬ）長くなった場合を考える。また、リピータ挿入により、ネットが２分割されたときには、分割されたネットの配線長は、それぞれ元のネットの配線長にΔＬを加えたものの０．５倍とする。
【００６１】
図１０は、リピータ挿入の具体例を示している。ネットＮ１にリピータ（セル）Ｃ５が挿入され、リピータセルＣ５の挿入により、ネットＮ１は、ネットＮ４とＮ５とに２分割される。このネットＮ４、Ｎ５の配線長は、それぞれ、（ネットＮ１の配線長Ｌ１＋ΔＬ）／２とする。同様に、リピータＣ６の挿入により、ネットＮ３がネットＮ６とＮ７とに２分割される。ネットＮ６、Ｎ７の配線長は、それぞれ、（ネットＮ３の配線長Ｌ３＋ΔＬ）／２とする。
【００６２】
リピータ挿入後（図１０）における各ネットＮ４〜Ｎ７の配線遅延時間ＴＮ４’〜ＴＮ７’は、以下のように計算できる。
ＴＮ４’=K1×RO1×Cl×((L1+ΔL)/2)
+K2×Rl×((L1+ΔL)/2)×Cl×((L1+ΔL)/2)  （１３）
ＴＮ５’=K1×RO5×Cl×((L1+ΔL)/2)
+K2×Rl×((L1+ΔL)/2)×Cl×((L1+ΔL)/2)  （１４）
ＴＮ６’=K1×RO3×Cl×((L3+ΔL)/2)
+K2×Rl×((L3+ΔL)/2)×Cl×((L3+ΔL)/2)  （１５）
ＴＮ７’=K1×RO6×Cl×((L3+ΔL)/2)
+K2×Rl×((L3+ΔL)/2)×Cl×((L3+ΔL)/2)  （１６）
ＲＯ５及びＲＯ６はリピータセルＣ５、Ｃ６の出力端子抵抗であり、図６（ａ）を参照すると、その値はそれぞれ「１」である。ΔＬ以外の値は、全て既知であり、式（１３）〜（１６）は、
ＴＮ４’＝２０＋２×ΔＬ＋（１００＋２×Ｌ１＋ΔＬ２）／４
ＴＮ５’＝１０＋ΔＬ＋（１００＋２×Ｌ１＋ΔＬ２）／４
ＴＮ６’＝２０＋２×ΔＬ＋（１００＋２×Ｌ１＋ΔＬ２）／４
ＴＮ７’＝１０＋ΔＬ＋（１００＋２×Ｌ１＋ΔＬ２）／４
と計算できる。
【００６３】
図１０に示すリピータ挿入後の状態におけるセルＣ１からセルＣ４までのパス遅延時間Ｔ’は、
Ｔ’＝ＴＮ４＋ＴＮ５＋ＴＮ６＋ＴＮ７＋ＴＣ１＋ＴＣ３＋ＴＣ５＋ＴＣ６  （１７）
で計算できる。ＴＣ５及びＴＣ６は、挿入されたリピータセルＣ５及びＣ６のセル遅延時間であり、図６（ａ）を参照すると、それぞれの値は「１０」である。式（１７）に、各値を代入し、整理すると、
Ｔ’＝ΔＬ２＋８×ΔＬ＋２００
となる。このＴ’がタイミング制約１２５の値である３００以下であれば良いので、
ΔＬ２＋８×ΔＬ＋２００≦  ３００
ΔＬ２＋８×ΔＬ−１００≦０    （１８）
を満たすΔＬの正の実数解が、求めるべきセル移動可能距離１３３となる。
【００６４】
式（１８）を、ΔＬについて解き、ΔＬの解が正の実数値であれば、ステップＳ１４で、セル移動及びリピータ挿入可能と判断し、そのΔＬを、セル移動可能距離１３３として記憶する。正の実数値が得られないときには、移動不可と判断し、ステップＳ７へ戻って、他のセルを、改善対象セル１３１として選択する。パスが複数存在する場合には、ステップＳ１２と同様に、全てのパスで正の実数解が得られたときにセル移動及びリピータ挿入可能と判断し、何れかのパスで正の実数解が得られないときには、セル移動及びリピータ挿入不可と判断する。式（１８）を解くと、−１４．７５≦ΔＬ≦６．７５となり、正の実数解を持つので、その範囲におけるΔＬの最大値、つまりは、改善対象ネットＮ２の配線長を最少とするΔＬ＝６．７５を、セル移動可能距離１３３として記憶する。
【００６５】
ここで、配線遅延時間は、式（４）で示されるとおり、配線抵抗と配線容量の積で計算される項があり、また、配線抵抗と配線容量は配線長に比例した値となる。そのため、配線遅延時間は、配線長の２乗に比例して増加する項が存在する。このことは、セルの移動によりネットの配線長が増加しても、リピータにより配線を分割して個々の配線長を短くすることにより、配線遅延時間を変化させない、或いは、配線遅延時間を短縮することが可能なことを示している。リピータ挿入によって、その分だけセル遅延時間が増加しても、配線分割による配線遅延削減分が、リピータ挿入によるセル内遅延時間増加分より大きければ、結果としてパス遅延時間が増加させないことが可能となる。
【００６６】
遅延時間・セル移動可能距離再計算手段１１０によって、セルを移動し、かつ、リピータを挿入した場合のセル移動可能距離１３３が求まると、最小移動距離計算手段１１１は、消費電力の削減が可能となる改善対象セル１３１の最小移動距離１３４を求める（ステップＳ１５）。具体的には、リピータ挿入後の回路状態（図１０）における消費電力を計算し、計算した消費電力が、ステップＳ３で計算した消費電力よりも小さくなるΔＬを計算して、最小移動距離１３４を求める。最小移動距離１３４を求める際の消費電力の計算の対象となる区間は、ステップＳ５で改善対象ネット１３０を選定する際に使用された、図７（ｂ）で総消費電力が最大となる区間Ｓ２を採用する。最小移動距離１３４が求まると、最小移動距離１３４と、ステップＳ１３で求めたセル移動可能距離１３３とを比較し、セル移動及びリピータ挿入により、消費電力の削減が可能であるか否かを判断する（ステップＳ１６）。
【００６７】
図１０では、ネットＮ１、Ｎ３にそれぞれリピータＣ５、Ｃ６が挿入されているが、各ネットの動作率は、分割の前後で変化しない。このため、ネットＮ４、Ｎ５の動作率としては、分割前のネットＮ１の動作率（図５（ｂ）のＡ１）を使用できる。また、ネットＮ６、Ｎ７の動作率としては、分割前のネットＮ３の動作率（Ａ３）を使用できる。セルＣ１〜Ｃ６の消費電力をＰＣ１’〜ＰＣ６’とし、ネットＮ２、Ｎ４〜Ｎ７の配線消費電力をＰＮ２’、ＰＮ４’〜ＰＮ７ ’とすると、図１０に示す回路全体の消費電力Ｐ’は、
Ｐ’＝ＰＣ１’＋ＰＣ２’＋ＰＣ３’＋ＰＣ４’＋ＰＣ５’＋ＰＣ６’
＋ＰＮ２’＋ＰＮ４’＋ＰＮ５’＋ＰＮ６’＋ＰＮ７’
と表せる。
【００６８】
ネットＮ２、ネットＮ４、ネットＮ５、ネットＮ６、ネットＮ７の配線消費電力ＰＮ２’〜ＰＮ７’は、
ＰＮ２’＝（１／２）×Ｃｌ×（Ｌ２−ΔＬ）／２×Ａ２
＝（１／２）×１×（１４−ΔＬ）×１＝７−ΔＬ／２
ＰＮ４’＝（１／２）×Ｃｌ×（Ｌ１＋ΔＬ）／２×Ａ１
＝（１／２）×１×（１０＋ΔＬ）／２×０＝０
ＰＮ５’＝（１／２）×Ｃｌ×（Ｌ１＋ΔＬ）／２×Ａ１
＝（１／２）×１×（１０＋ΔＬ）／２×０＝０
ＰＮ６’＝（１／２）×Ｃｌ×（Ｌ３＋ΔＬ）／２×Ａ３
＝（１／２）×１×（１０＋ΔＬ）／２×０＝０
ＰＮ７’＝（１／２）×Ｃｌ×（Ｌ３＋ΔＬ）／２×Ａ３
＝（１／２）×１×（１０＋ΔＬ）／２×０＝０
と計算される。また、図６（ａ）を参照すると、セルＣ１〜４のセル消費電力、及び、リピータセルＣ５、Ｃ６のセル消費電力は、それぞれ０．５であるため、図１０に示す回路全体の消費電力Ｐ’は、
Ｐ´＝１０−ΔＬ／２
となる。このようにして求めたＰ’が、ステップＳ３で求めた区間Ｓ２の総消費電力「９」（図７（ｂ））よりも小さければ、セル移動及びリピータ挿入によって、消費電力が削減されたことになる。Ｐ’＝１０−ΔＬ／２＜９を満たすΔＬは、ΔＬ＞２である。この場合、ΔＬ＝２を、最小移動距離１３４として保存する。
【００６９】
ステップＳ１６では、最小移動距離１３４が、ステップＳ１３で求めたセル移動可能距離１３３以下で、かつ、最小移動距離１３４がネットＮ２の配線長（Ｌ２＝１０）よりも短いと判断すると、消費電力の削減が可能であると判断する。それ以外の場合には、消費電力の削減は不可であると判断し、ステップＳ７へ戻って、他の改善対象セル１３１を選択する。上記の例では、最小移動距離１３４の値は「２」であり、これは、セル移動可能距離１３３の値「６．７５」よりも小さい。このため、消費電力の削減が可能である判断される。
【００７０】
レイアウト変更手段１１２は、ステップＳ１６で、消費電力の削減が可能と判断された場合には、セル移動可能距離１３３及び最小移動距離１３４を参照し、改善対象セル１３１の移動、及び、リピータの挿入を行ってレイアウトの変更を実施する（ステップＳ１７）。レイアウト変更後、それらセル及びリピータに接続するネットに対する再配線を行い、回路接続情報１２１と配置配線情報１２２とを更新する。ステップＳ１７では、改善対象セル１３１は、セル移動可能距離１３３以下で、かつ、最小移動距離１３４よりも長い範囲で、改善対象ネット１３０が短くなるように移動させる。
【００７１】
図１１は、レイアウト変更の具体例を示している。ステップＳ１７では、改善対象セルＣ３を、改善対象ネットＮ２が短くなるように、空いている領域へ移動する。改善対象セルＣ３の移動量は、セル移動可能距離１３３が「６．７５」で、最小移動距離１３４が「２」であるため、２〜６．７５の範囲内であり、例えば「４」とする。リピータセルＣ５、Ｃ６挿入では、改善対象セルＣ３を移動することによって配線長が長くなるネット（図９（ｂ）のネットＮ１、Ｎ３）を分割するようにリピータセルＣ５、Ｃ６を挿入する。挿入されたリピータＣ５、Ｃ６の位置は、分割されたネットＮ４とＮ５、及び、Ｎ６とＮ７が相互に等しい長さとなり、かつ、分割後のネットの配線長の和（Ｎ４＋Ｎ５、Ｎ６＋Ｎ７）が、分割前のネットの配線長よりも長くならない位置とする。
【００７２】
図１２は、レイアウト変更後の回路接続情報１２１を示している。また、図１３（ａ）及び（ｂ）は、レイアウト変更後の配置配線情報１２２を示している。レイアウト変更手段１１２は、レイアウト変更に伴って、回路接続情報１２１及び配置配線情報１２２を、図１２、図１３に示すように更新する。このようにすることで、タイミング制約１２５を満足させつつ、消費電力を削減した回路を得ることができる。
【００７３】
ステップＳ１２で移動可能と判断され、その後、ステップＳ１７へ進んだ場合には、レイアウト変更手段１１２は、セル移動可能距離１３３を参照して改善対象セル１３１の移動を行い、レイアウトを変更する。図１４は、ステップＳ１２からステップＳ１７へ進んだ場合のレイアウト変更の具体例を示している。この例では、改善対象セルＣ３は、セル移動可能距離１３３の範囲内で、改善対象ネットＮ２が短くなるように、空いている領域に移動される。その後、改善対象セル１３１に接続されるネットの再配線を行い、配置配線情報１２２を更新する。
【００７４】
レイアウト変更が終了すると、ステップＳ３へ戻り、消費電力計算手段１０３により、レイアウト変更後の配置配線情報１２２を用いて、消費電力を再計算する。この再計算は、ステップＳ３での計算と同様であるが、ステップＳ１２のレイアウト変更によって変更を受けない部分については消費電力を再計算する必要はなく、レイアウト変更によって追加、変更され部分についてのみ行えばよい。また、レイアウト変更により、回路接続情報１２１が更新されている場合には、信号動作率決定手段１０２により、更新後の回路の各ネットに対応する信号動作率１２８を求めておく。
【００７５】
図１５（ａ）は、レイアウト変更後の各ネットの信号動作率１２８を示し、同図（ｂ）は、レイアウト変更後の各区間の消費電力を示している。信号動作率決定手段１０２は、図５（ａ）に示すシミュレーションパタン１２７を用いて、ネットネットＮ２、Ｎ４〜Ｎ７の信号動作率を求める。前述のように、ネットＮ４とＮ５は、分割前のネットＮ１に対応するため、図５（ａ）に示す波形Ｈ１から動作率を求めればよい。また、ネットＮ６とＮ７については、図５（ａ）に示す波形Ｈ３から動作率を求めればよい。計算された動作率を参照して、各区間での各セルのセル消費電力、各ネットの配線消費電力、及び、総消費電力を求めると、図１５（ｂ）に示す表のようになる。
【００７６】
消費電力の再計算後、ステップＳ４へ進み、消費電力制限違反判定手段１０４により、再計算された消費電力値１２９（図１５（ｂ））と、消費電力制限値１２６とを比較して、消費電力制限違反が発生しているか否かを判定する。レイアウト変更後においても消費電力違反が発生する場合には、ステップＳ５へ進み、更なるレイアウト変更を試みる。消費電力値１２９が、消費電力制限値１２６以下であれば、ステップＳ１８へ進んで、配置配線情報出力手段１１３により、配置配線情報１２２を出力する。図１５（ｂ）では、総消費電力は、区間Ｓ２で最大値「８」となり、この値は消費電力制限値１２６の値「８」と同じであるので、ステップＳ１８へ進んで、配置配線情報１２２が出力される。
【００７７】
本実施形態では、消費電力の削減が必要な場合には、特定のセルの移動を想定して消費電力の削減が可能か否かを判断し、削減が可能な場合には、特定のセルの移動に伴ってタイミング制約違反が発生するか否かを判断し、消費電力の削減が可能であり、かつ、タイミング制約が満たされる場合には、消費電力が削減され、かつ、タイミング制約を満たす範囲で特定のセルを移動し、レイアウトを変更する。このように、本実施形態では、消費電力の改善と、遅延時間の改善とを、１度のレイアウト修正で実現でき、レイアウト修正が２度必要な従来技術に比して、処理時間を短縮できる。
【００７８】
また、消費電力を削減するために特定のセルを移動するとタイミング制約が満たされなくなる場合については、特定のセルの移動を想定した上でリピータを挿入し、タイミング制約を満たすか否かを判断する。タイミング制約を満たす場合には、消費電力の削減を可能とする特定のセルの移動距離を求め、消費電力が削減され、かつ、タイミング制約を満たす範囲で特定のセルを移動し、レイアウトを変更する。このように、特定のセルの移動のみではタイミング制約が満たされない場合については、リピータ挿入を併用することにより、パス遅延時間の悪化を伴わずに消費電力を改善でき、従来技術に比して、高い消費電力削減の効果を得ることができる。
【００７９】
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のレイアウト設計装置、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
【図面の簡単な説明】
【００８０】
【図１】本発明の一実施形態のレイアウト設計装置の構成を示すブロック図。
【図２】レイアウト設計装置の動作手順を示すフローチャート。
【図３】回路接続情報の具体例を示す図。
【図４】（ａ）及び（ｂ）は、図３の回路に対応する配置配線情報を示す図。
【図５】（ａ）は、シミュレーションパタンの具体例を示す波形図、（ｂ）は、信号動作率の具体例を示す表。
【図６】遅延・消費電力ライブラリの具体例を示し、（ａ）は、各セルと、セル遅延時間、端子抵抗、及び、セル消費電力との対応関係を示す表、（ｂ）は、配線長あたりの抵抗及び容量を示す表、（ｃ）は、消費電力計算で用いる係数を示す表。
【図７】（ａ）は、区間ごとの各ネットの配線消費電力を示す表、（ｂ）は、区間ごとのセル消費電力と配線消費電力と総消費電力とを示す表。
【図８】改善対象セルの移動の具体例を示し、（ａ）は移動前の状態を示す回路接続図、（ｂ）は、移動後の状態を示す回路接続図。
【図９】リピータ挿入を併用した改善対象セルの移動の具体例を示し、（ａ）は移動前の状態を示す回路接続図、同図（ｂ）は移動後の状態を示す回路接続図。
【図１０】リピータ挿入の具体例を示す回路接続図。
【図１１】レイアウト変更の具体例を示す回路接続図。
【図１２】レイアウト変更後の回路接続情報を示す図。
【図１３】（ａ）及び（ｂ）は、レイアウト変更後の配置配線情報を示す図。
【図１４】リピータの挿入を伴わない場合のレイアウト変更の具体例を示す回路接続図。
【図１５】（ａ）は、レイアウト変更後の各ネットの信号動作率を示す表、（ｂ）は、レイアウト変更後の各区間の消費電力を示す表。
【符号の説明】
【００８１】
１００：レイアウト設計装置
１０１：各種情報入力手段
１０２：信号動作率決定手段
１０３：消費電力計算手段
１０４：消費電力制限違反判定手段
１０５：改善対象ネット抽出手段
１０６：改善対象セル抽出手段
１０７：遅延計算対象パス抽出手段
１０８：消費電力削減可否判定手段
１０９：遅延時間・セル移動可能距離計算手段
１１０：遅延時間・セル移動可能距離再計算手段
１１１：最小移動距離計算手段
１１２：レイアウト変更手段
１１３：配置配線情報出力手段
１１４：制御手段
１２１：回路接続情報
１２２：配置配線情報
１２３：物理ライブラリ情報
１２４：遅延・消費電力ライブラリ情報
１２５：タイミング制約
１２６：消費電力制限値
１２７：シミュレーションパタン
１２８：信号動作率
１２９：消費電力値
１３０：改善対象ネット
１３１：改善対象セル
１３２：遅延計算対象パス
１３３：セル移動可能距離
１３４：最小移動距離
【図１】
0004696988.tif 000002
【図２】
0004696988.tif 000003
【図３】
0004696988.tif 000004
【図４】
0004696988.tif 000005
【図５】
0004696988.tif 000006
【図６】
0004696988.tif 000007
【図７】
0004696988.tif 000008
【図８】
0004696988.tif 000009
【図９】
0004696988.tif 000010
【図１０】
0004696988.tif 000011
【図１１】
0004696988.tif 000012
【図１２】
0004696988.tif 000013
【図１３】
0004696988.tif 000014
【図１４】
0004696988.tif 000015
【図１５】
0004696988.tif 000016