JP2007257011A - レイアウト設計装置、方法、及び、プログラム - Google Patents

レイアウト設計装置、方法、及び、プログラム Download PDF

Info

Publication number
JP2007257011A
JP2007257011A JP2006076787A JP2006076787A JP2007257011A JP 2007257011 A JP2007257011 A JP 2007257011A JP 2006076787 A JP2006076787 A JP 2006076787A JP 2006076787 A JP2006076787 A JP 2006076787A JP 2007257011 A JP2007257011 A JP 2007257011A
Authority
JP
Japan
Prior art keywords
power consumption
improvement target
cell
target cell
net
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006076787A
Other languages
English (en)
Other versions
JP4696988B2 (ja
Inventor
Takashi Goto
崇 後藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006076787A priority Critical patent/JP4696988B2/ja
Priority to US11/723,320 priority patent/US7681167B2/en
Publication of JP2007257011A publication Critical patent/JP2007257011A/ja
Application granted granted Critical
Publication of JP4696988B2 publication Critical patent/JP4696988B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】タイミング制約を満足させつつ、消費電力量を削減できるレイアウトを、1度のレイアウト修正処理で実現できるレイアウト設計装置を提供する。
【解決手段】消費電力削減可否判定手段108は、改善対象セル131の移動を想定して、消費電力の削減が可能か否かを判定する。消費電力の削減が可能である場合には、遅延時間・セル移動可能距離計算手段109によって、改善対象セル131の移動を想定した場合の、改善対象セル131を含む遅延計算対象パス132の遅延時間を計算し、タイミング制約125が満たされる改善対象セル131の移動距離の範囲を求める。レイアウト変更手段112は、消費電力を削減し、かつ、タイミング制約125が満たされる範囲で改善対象セル131を移動し、レイアウトを変更する。
【選択図】図1

Description

本発明は、レイアウト設計装置、方法、及び、プログラムに関し、更に詳しくは、LSI(大規模論理集積回路)等の半導体装置のレイアウトを設計するレイアウト設計装置、方法、及び、プログラムに関する。
LSI等の半導体装置の設計では、計算機援用設計(CAD)が用いられることが多い。計算機援用設計では、回路の配置位置や、回路間の接続情報に基づいて、自動レイアウト設計が行われ、半導体装置上での各回路の位置や、回路間の配線ルートが決定される。レイアウト設計が終了すると、設計されたレイアウトで、回路間のタイミング制約が満たされるか否か、消費電力が設定した制限値以内に収まっているか否かなどの検証が行われる。この検証で、タイミング制約が満たされない、或いは、消費電力が制限値以内に収まらないと判定されると、回路の配置位置の変更などを行って、レイアウトを再設計する。
タイミング制約を満たしつつ低消費電力を実現するためのLSIレイアウト手法としては、特許文献1に記載された技術がある。特許文献1では、レイアウト設計後、指示されたテストパターンに基づいてシミュレーションを行い、消費電力を削減するのに効果的な信号配線を求める。その信号配線に対してレイアウト修正を行い、それら信号配線の配線長を短くすることにより、消費電力を削減する。レイアウト変更後、タイミング解析を行い、タイミングエラーとなった箇所について再度レイアウト修正を行う。特許文献1では、このようなレイアウト設計により、動作周波数を満足しつつ、低電力を実現するLSIレイアウトを実現できるとしている。
特開平11−67925号公報
特許文献1では、低消費電力特性を満足させるためにレイアウトを変更し、その後、レイアウト変更によって生じたタイミングエラーを補正するために、再度レイアウト変更を行っている。特許文献1では、このように、レイアウト変更を、計2回実施しており、多大な処理時間を伴うという問題がある。また、LSIのレイアウトによっては、消費電力を削減するために効果的な配線と、タイミングエラーを起こしそうな別の配線とが、同一のセル(回路部分)に接続しているケースが存在する。そのようなケースでは、タイミング及び消費電力削減の双方を満足する修正解があるにもかかわらず、タイミングのみを尺度としてエラーを補正することで、消費電力を削減するために効果的な配線が逆に長くなり、結果として、充分な消費電力削減の効果が得られない場合があるという問題もある。
本発明は、タイミング制約を満足しつつ、消費電力量を削減できるレイアウトを、1度のレイアウト修正処理で実現できるレイアウト設計装置、方法、及び、プログラムを提供することを目的とする。
上記目的を達成するために、本発明のレイアウト設計装置は、半導体装置のレイアウト設計を行うレイアウト設計装置において、設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶する入力手段と、前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算する消費電力計算手段と、前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶する改善対象セル抽出手段と、前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記消費電力計算手段が計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定する消費電力削減可否判定手段と、前記消費電力削減可否判定手段が消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するパス抽出手段と、前記パス抽出手段によって抽出されたパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するセル移動可能距離計算手段と、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記セル移動可能距離計算手段が計算した改善対象セルの移動距離の範囲とが重複するとき、該重複する範囲内で前記改善対象セルを移動し、前記配置配線情報を更新するレイアウト変更手段とを備えることを特徴とする。
本発明のレイアウト設計方法は、コンピュータを用いて、半導体装置のレイアウト設計を行う方法であって、設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶するステップと、前記コンピュータが、前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算するステップと、前記コンピュータが、前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶するステップと、前記コンピュータが、前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定するステップと、前記コンピュータが、消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するステップと、前記コンピュータが、前記抽出したパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するステップと、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記タイミング制約を満たす前記改善対象セルの移動距離の範囲とが重複するとき、前記コンピュータが、該重複する範囲内で前記改善対象セルを移動し、前記配置配線情報を更新してレイアウトを変更するステップとを有することを特徴とする方法。
本発明のプログラムは、コンピュータに、半導体装置のレイアウト設計を行う処理を実行させるプログラムであって、設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶するステップと、前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算するステップと、前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶するステップと、前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定するステップと、消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するステップと、前記抽出したパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するステップと、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記タイミング制約を満たす前記改善対象セルの移動距離の範囲とが重複するとき、該重複する範囲内で前記改善対象セルを移動し、前記配置配線情報を更新してレイアウトを変更するステップとを実行させることを特徴とする。
本発明のレイアウト設計装置、方法、及び、プログラムでは、改善対象セルの移動を想定して消費電力の削減が可能か否かを判定し、削減が可能なときには、改善対象セルを含むパスがタイミング制約を満たす改善対象セルの移動距離の範囲を求める。このようにして求めた移動距離の範囲と、消費電力の削減が可能な改善対象セルの移動距離の範囲とが重複するときには、その重複する範囲内で改善対象セルを移動し、レイアウトを変更する。このようにすることで、消費電力の削減が可能で、かつ、タイミング制約を満たすレイアウトを、1回のレイアウト修正で得ることができる。
本発明のレイアウト設計装置は、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記タイミング制約を満たす改善対象セルの移動距離の範囲とが重複しないとき、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パス抽出手段によって抽出されたパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するセル移動可能距離再計算手段と、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記セル移動可能距離再計算手段が再計算した改善対象セルの移動距離の範囲とが重複するとき、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算された消費電力が、前記消費電力計算手段によって計算された消費電力以下となる前記改善対象セルの移動距離の最小値を求める最小移動距離計算手段とを更に備え、前記レイアウト変更手段は、前記最小移動距離計算手段が計算した移動距離の最小値が、前記セル移動可能距離再計算手段が再計算した移動距離の範囲の上限値以下のとき、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新する構成を採用できる。また、本発明のレイアウト設計方法及びプログラムは、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記タイミング制約を満たす改善対象セルの移動距離の範囲とが重複しないとき、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パスを抽出するステップで抽出したパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するステップと、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記再計算した改善対象セルの移動距離の範囲とが重複するとき、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算した消費電力が、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力以下となる前記改善対象セルの移動距離の最小値を求めるステップと、前記計算した移動距離の最小値が、前記再計算した移動距離の範囲の上限値以下のとき、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新するステップとを更に有する構成を採用できる。改善対象セルの移動のみではタイミング制約が満たされない場合には、リピータ挿入を併用し、リピータを挿入した場合にタイミング制約を満たす改善対象セルの移動距離の範囲を求める。タイミング制約を満たす移動距離の範囲が得られたら、リピータ挿入後の消費電力を計算し、消費電力の削減が可能な改善対象セルの移動距離の範囲(移動距離の最小値)を求める。このようにして求めた移動距離の最小値が、再計算した、タイミング制約を満たす改善対象セルの移動距離の範囲の上限値以下のときには、その最小値以上で上限値以下の範囲で改善対象セルを移動し、かつ、改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、レイアウトを変更する。これにより、消費電力の削減が可能で、かつ、リピータ挿入によってタイミング制約を満たすレイアウトを、1回のレイアウト修正で得ることができる。
本発明のレイアウト設計装置は、前記消費電力計算手段によって計算された消費電力と、所定の消費電力制限値とを比較し、前記計算された消費電力が前記消費電力制限値を超えるか否かを判定する消費電力制限違反判定手段を更に備え、前記改善対象セル抽出手段は、前記消費電力制限違反判定手段が前記計算された消費電力が前記消費電力制限値を超えると判定すると、改善対象ネットを抽出する構成を採用できる。この場合、消費電力違反が解消されるまで、改善対象セルを抽出して消費電力が削減するようにレイアウト変更を行うことにより、消費電力が制限値以内に収まり、かつ、タイミング制約が満たされるレイアウトを得ることができる。
本発明のレイアウト設計装置では、前記改善対象セル抽出手段は、前記消費電力計算手段による消費電力の計算で消費電力値が最も大きいネットから順に改善対象ネットとして選択し、前記回路接続情報を参照して、前記抽出された改善対象ネットに接続されるセルのうちの何れかを改善対象セルとして抽出する構成を採用できる。消費電力が高いネットを短くすることで、消費電力の削減を期待することができるため、そのようなネットに接続するセルを改善対象セルとして抽出することで、消費電力の削減を期待できる。
本発明のレイアウト設計装置では、前記改善対象セル抽出手段は、前記消費電力削減可否判定手段が、消費電力の削減が不可能であると判定すると、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する構成を採用できる。抽出された改善対象セルの移動では消費電力の削減が不可能な場合には、同じ改善対象ネットに接続される他のセルを改善対象セルとして抽出して、消費電力の削減が可能か否かを判定すればよい。
本発明のレイアウト設計装置では、前記改善対象セル抽出手段は、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記セル移動可能距離再計算手段が再計算した改善対象セルの移動距離の範囲とが重複しないとき、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する構成を採用できる。消費電力の削減を可能とする改善対象セルの移動距離の範囲と、再計算により得られた、リピータ挿入によってタイミング制約を満たす改善対象セルの移動距離の範囲とは、別個の計算によって求められるため、数学的にはそれぞれの範囲が求められても、実数解が得られない場合や、範囲が重複しない場合がある。そのような場合には、消費電力の削減とタイミング制約を満たすことの双方を同時に実現することは不可能であるので、抽出された改善対象セルの移動をあきらめて、他の改善対象セルを抽出すればよい。
本発明のレイアウト設計装置では、前記改善対象セル抽出手段は、前記最小移動距離計算手段が、前記最小移動距離計算手段が計算した移動距離の最小値が、前記セル移動可能距離再計算手段が再計算した移動距離の範囲の上限値よりも大きいとき、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する構成を採用できる。消費電力の削減を可能とする改善対象セルの移動距離の最小値が、再計算された、リピータ挿入によってタイミング制約を満たす改善対象セルの移動距離の範囲の上限値を超える場合には、消費電力の削減とタイミング制約を満たすことの双方を同時に実現することは不可能である。この場合には、抽出された改善対象セルの移動をあきらめて、他の改善対象セルを抽出すればよい。
本発明のレイアウト設計装置では、前記改善対象セル抽出手段は、前記改善対象ネットに接続された全てのセルを改善対象セルとして抽出すると、次の改善対象ネットを選択する構成を採用できる。抽出された改善対象ネットに接続する全てのセルを改善対象セルとして抽出しても、消費電力の削減とタイミング制約との双方を満足できない場合には、別のネットを改善対象ネットとして抽出し、そのネットに接続するセルを、改善対象セルとして抽出すればよい。
本発明のレイアウト設計装置では、前記消費電力削減可否判定手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する構成を採用できる。この場合、消費電力削減可否判定手段は、改善対象セルの移動を、改善対象ネットの配線長が短くなる方向に移動した際に、消費電力の削減が可能か否かを判定する。
本発明のレイアウト設計装置では、前記セル移動可能距離計算手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する構成を採用できる。この場合、セル移動可能距離計算手段は、改善対象セルを、改善対象ネットの配線長が短くなる方向に移動した際の、タイミング制約を満たす改善対象セルの移動距離の範囲を計算する。
本発明のレイアウト設計装置では、前記セル移動可能距離計算手段は、前記改善対象セルの移動により、該改善対象セルに接続するネットのうちで、前記改善対象ネット以外のネットの配線長が、前記改善対象ネットの配線長が短くなった分と同じ分だけ長くなることを想定する構成を採用できる。改善対象ネットの配線長を短くした場合に、他のネットの配線長がどのように変化するかは、実際にレイアウト設計を行わないと、正確には求められない。しかしながら、他のネットは、改善対処ネットの配線長が短くなった分だけ長くなると考えられるから、セル移動可能距離計算手段による移動可能距離の計算では、そのように仮定して、計算を行えばよい。
本発明のレイアウト設計装置では、前記セル移動可能距離再計算手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する構成を採用できる。この場合、前記セル移動可能距離再計算手段は、前記改善対象セルの移動により、該改善対象セルに接続するネットのうちで、前記改善対象ネット以外のネットの配線長が、前記改善対象ネットの配線長が短くなった分と同じ分だけ長くなることを想定する構成を採用できる。
本発明のレイアウト設計装置では、前記消費電力計算手段は、各ネットでの消費電力と、各セルでの消費電力とをそれぞれ計算し、各ネットでの消費電力及び各セルでの消費電力の総和を、前記設計対象の半導体装置の消費電力として算出する構成を採用できる。一般に、半導体装置の消費電力は、配線部分で消費される電力と、回路部分(セル)に固有の消費電力との和で求められるため、消費電力計算手段によって、各ネットで消費される電力と、各セルで消費電力とをそれぞれ計算して、その和を、設計対象の半導体装置の消費電力とすればよい。
本発明のレイアウト設計装置では、前記消費電力計算手段は、各ネットを通過する信号の波形図を示すシミュレーションパタンを記憶する記憶装置と、前記回路接続情報とを参照して、各シミュレーション区間における各ネットの信号動作率を決定し、該決定した信号動作率を用いて、各ネットでのシミュレーション区間ごとの消費電力を計算する構成を採用できる。この場合、信号パタンに応じて、各ネットでの消費電力を計算できる。
本発明のレイアウト設計装置、方法、及び、プログラムでは、改善対象セルの移動を想定して消費電力の削減が可能か否かを判定し、削減が可能なときには、改善対象セルを含むパスがタイミング制約を満たす改善対象セルの移動距離の範囲を求める。このようにして求めた移動距離の範囲と、消費電力の削減が可能な改善対象セルの移動距離の範囲とが重複するときには、その重複する範囲内で改善対象セルを移動し、レイアウトを変更する。このようにすることで、消費電力の削減が可能で、かつ、タイミング制約を満たすレイアウトを、1回のレイアウト修正で得ることができる。これにより、レイアウト設計の時間を短縮すると共に、レイアウト設計のコストを低減できる。
以下、図面を参照し、本発明の実施の形態を詳細に説明する。図1は、本発明の一実施形態のレイアウト設計装置の構成を示している。レイアウト設計装置100は、各種情報入力手段101、信号動作率決定手段102、消費電力計算手段103、消費電力制限違反判定手段104、改善対象ネット抽出手段105、改善対象セル抽出手段106、遅延計算対象パス抽出手段107、消費電力削減可否判定手段108、遅延時間・セル移動可能距離計算手段109、遅延時間・セル移動可能距離再計算手段110、最小移動距離計算手段111、レイアウト変更手段112、配置配線情報出力手段113、及び、制御手段114を備える。レイアウト設計装置100は、コンピュータシステムで構成され、所定のプログラムを動作させることにより動作する。
各種情報入力手段101は、LSIの回路接続情報121、配置配線情報122、及び、物理ライブラリ情報123などのLSIレイアウトを行う際に必要な情報と、制約となるLSIのタイミング制約125及び消費電力制限値126とを入力し、記憶装置に記憶する。また、各種情報入力手段101は、遅延時間・消費電力計算に必要なシミュレーションパタン127と、遅延・消費電力ライブラリ情報124とを入力し、記憶装置に記憶する。
信号動作率決定手段102は、シミュレーションパタン127と回路接続情報121とを参照して、回路内の信号動作率128を算出し、記憶装置に記憶する。消費電力計算手段103は、回路接続情報121、配置配線情報122、遅延・消費電力ライブラリ情報124、及び、信号動作率決定手段102が算出したLSI回路内の信号動作率128を参照して、LSIの消費電力値129を計算し、記憶装置に記憶する。消費電力制限違反判定手段104は、各種情報入力手段101によって入力された消費電力制限値126と、消費電力計算手段103が計算した消費電力値129とを比較し、消費電力の削減が必要か否かを判定する。
改善対象ネット抽出手段105は、消費電力値129を参照し、改善対象ネット130を抽出して記憶装置に記憶する。改善対象セル抽出手段106は、回路接続情報121を参照し、改善対象ネット130に接続する改善対象セル131を抽出して記憶装置に記憶する。遅延計算対象パス抽出手段107は、回路接続情報121を参照し、改善対象セル131を含む遅延計算対象パス132を抽出し、記憶装置に記憶する。消費電力削減可否判定手段108は、改善対象セル131の移動を想定した場合に、消費電力の削減が可能か否かを判定する。
遅延時間・セル移動可能距離計算手段109は、改善対象セル131の移動を想定して遅延計算対象パス132の遅延時間を計算し、遅延時間の計算結果から改善対象セル131のセル移動可能距離133を逆算して記憶装置に記憶する。遅延時間・セル移動可能距離再計算手段110は、遅延時間・セル移動可能距離計算手段109によってセル移動可能距離133が求められないとき、改善対象セル131の移動で配線長が長くなるネットに対するリピータ挿入を想定して、遅延計算対象パス132の遅延時間を計算し、その遅延時間の計算結果から、改善対象セル131のセル移動可能距離133を逆算する。
最小移動距離計算手段111は、遅延時間・セル移動可能距離再計算手段110によって、セル移動可能距離133の解が求められた場合には、消費電力の削減が可能となる改善対象セル131の最小移動距離134を求める。レイアウト変更手段112は、遅延時間・セル移動可能距離計算手段109によって求められたセル移動可能距離133と、最小移動距離計算手段111によって求められた最小移動距離134とを参照し、改善対象セル131の移動やリピータの挿入、及び、それらセル、リピータに接続するネットに対する再配線を行い、回路接続情報121及び配置配線情報122を更新する。配置配線情報出力手段113は、レイアウト変更手段112によって更新されたLSIの配置配線情報122を出力する。制御手段114は、各種手段を制御する。
図2は、レイアウト設計装置100の動作手順を示している。各種情報入力手段101は、LSIの回路接続情報121、配置配線情報122、及び、物理ライブラリ情報123などのLSIレイアウトを行う際に必要な情報と、制約となるLSIのタイミング制約125及び消費電力制限値126と、遅延時間・消費電力計算に必要なシミュレーションパタン127及び遅延・消費電力ライブラリ情報124とを入力する(ステップS1)。
図3は、ステップS1で入力される回路接続情報121の具体例を示す。同図では、説明の簡略化のために、回路の一部分のみを示している。回路接続情報121は、LSIの回路内で使用されるセルと、セル間の接続情報とを含む。同図では、セルとして、フリップフロップ、NAND回路、及び、OR回路の3種類のセルが含まれており、フリップフロップのセルC1、C4と、OR回路のセルC2、及び、NAND回路のセルC3とが、ネットN1〜N3によって接続されている。この回路に対応する配置配線情報122を図4に示す。同図では、説明簡略化のため、フリップフロップのセルC1、C4のクロック端子については省略している。配置配線情報122は、LSI上での配置配線図(同図(a))と、各ネットの配線長(同図(b))とを含む。
ステップS1で入力されるタイミング制約125は、設計対象のLSIが動作すべきクロックの周波数に依存して決定され、固定値が設定される。また、消費電力制限値126は、LSIの冷却構造や、バッテリーの駆動時間などの要因により決定され、固定値が設定される。ステップS1では、例えばタイミング制約125の値として「300」が入力され、消費電力制限値126の値としては「8」が入力される。なお、以下では、入力された回路はタイミング制約125を満たしているとして説明する。
図2に戻り、信号動作率決定手段102は、LSI回路内の各ネットを通過する信号の波形図を示すシミュレーションパタン127と、回路接続情報121とを参照し、回路内の信号動作率128を求める(ステップS2)。図5(a)は、シミュレーションパタン127の具体例を示しており、同図(b)は、信号動作率128の具体例を示している。シミュレーションパタン127における波形H1〜H3は、それぞれ図3に示すネットN1〜N3の信号波形を示している。波形H0は、クロック信号を示しており、周期的に、ハイレベルとローレベルとを交互に繰り返す。
波形H1〜H3の各値は、波形H0がローレベルからハイレベルに変化した瞬間に、ハイレベル又はローレベルに確定する。また、波形H1〜H3の値は、ネットの前後に接続するセルの機能と、そのセルに入力される波形の値と、セルの接続関係とによって決定される。動作率は、あるクロック周期内における信号変化の回数を、クロック信号(H0)がローレベルからハイレベルに変化した回数で割ったもので定義する。例えば、図5(a)の区間S1におけるネットN1(波形H1)の動作率A1は、クロック波形H0がローレベルからハイレベルに2回変化している間に、波形H1が1回だけ変化しているので、1/2=0.5と計算される。各区間について、各ネットの信号動作率を求めると、信号動作率128は、同図(b)に示すようになる。
信号動作率128が求まると、消費電力計算手段103は、回路接続情報121、配置配線情報122、遅延・消費電力ライブラリ情報124、及び、信号動作率決定手段102で求めた信号動作率128を参照し、LSI内の消費電力値129を求める(ステップS3)。消費電力は、回路内のセルやフリップフロップなどの素子が持つ消費電力(セル消費電力)PCと、素子間の配線が持つ消費電力(配線消費電力)PNとに大別される。セル消費電力PCは、回路内で使用される各セルで固有の値を持ち、その値は、遅延・消費電力ライブラリ情報124として、各種情報入力手段101によって与えられる。
図6は、遅延・消費電力ライブラリ情報124の具体例を示している。同図(a)は、各セルと、セル遅延時間、端子抵抗、及び、セル消費電力との対応関係を示している。また、同図(b)は、配線の単位長当たりの配線抵抗及び配線容量を示し、同図(c)は、配線の遅延時間を計算する際に使用する係数を示している。これら情報は、各種情報入力手段101を用いて入力されている。
配線消費電力の計算式としては、「デジタルシステム工学 (丸善株式会社) 」の261頁に、式(4-68)として記載された下記式、
配線消費電力PN=C×Vdd×Kd×fck (1)
を用いる。式(1)の“C”は、セルの出力端子の負荷容量である。また、Vddは、電源電圧であり、fckは、クロック周波数である。Kdは、デューティファクタ(クロック周期に対する信号の最大変化率)であり、動作率=1のときには、Kd=0.5となる。式(1)では、Vddとfckは固定の値であるため、Vdd×fckを仮に1として、式(1)を、下記式(2)で簡略化する。
PN=(1/2)×C×A (2)
式(2)における、Aはあるシミュレーション区間内での動作率を示している。
式(2)における負荷容量Cは、出力端子に接続するネットの配線容量と、セルの入力端子容量とで構成されるが、このうちの配線容量については、計算を簡略化するために、一般的に単位配線長当たりの値が用いられる近似計算が行われており、配線容量は配線長に比例した値を持つ。単位配線長当たりの配線容量Clは、遅延・消費電力ライブラリ情報124(図6(b))を参照することで取得でき、配線長は、配置配線情報122(図4(b))から取得できる。なお、セルの入力端子容量については、説明の簡略化のため、その説明を省略する。
以上から、区間S1におけるネットN1の配線消費電力PN1は、下記式(3)で計算できる。
PN1=(1/2)×Cl×L1×A1 (3)
式(3)におけるL1は、ネットN1の配線長であり、配置配線情報122(図4(b))を参照すると、N1=10である。また、区間S1におけるネットN1の動作率A1は、信号動作率決定手段102が求めた信号動作率128(図5(b))を参照すると、A1=0.5である。これにより、区間S1におけるネットN1の配線消費電力PN1は、
PN1=(1/2)×1×10×0.5=2.5
と求まる。他の区間、他のネットについても同様に、配線消費電力を計算する。
図7(a)は、区間ごとの各ネットの配線消費電力を示し、同図(b)は、区間ごとのセル消費電力と配線消費電力と総消費電力とを示している。各ネットについて配線消費電力を計算すると、同図(a)に示す表が得られる。セル消費電力は、区間ごとの、LSIを構成する各セルについてのセル消費電力の総和である。配線消費電力は、区間ごとの、各ネットにおける配線消費電力の総和であり、同図(a)に示す表を、区間ごとに集計することで得られる。総消費電力は、これらセル消費電力と配線消費電力の和であり、区間ごとのLSI全体の消費電力を示す。
消費電力計算手段103は、全ての区間及びパタンについて計算した各ネットの配線消費電力(図7(a))と、全ての区間におけるセル消費電力の総和、配線消費電力の総和、及びそれらの和である総消費電力(図7(b))とを、消費電力値129として記憶する。なお、消費電力削減の考え方としては、シミュレーションの全区間の平均動作率の高いネットの消費電力を削減する手法(平均消費電力削減)と、シミュレーション区間ごとの消費電力量のうち、局所的に高いものを削減する手法(ピーク消費電力削減)との2種類が存在するが、本実施形態では、ピーク消費電力削減を採用する。
消費電力が求まると、消費電力制限違反判定手段104は、消費電力制限値126と、消費電力計算手段103によって計算された消費電力値129とを比較し、消費電力制限違反が発生しているか否か、つまり、消費電力の削減が必要か否かを判定する(ステップS4)。具体的には、消費電力制限値126の値よりも、消費電力値129の総消費電力の最大値が大きい場合には、消費電力の削減が必要と判断し、それ以下の場合には消費電力の削減が必要ないと判断する。ステップS4で消費電力の削減が必要でないと判定された場合には、配置配線情報出力手段113は、配置配線情報122を出力して(ステップS18)、処理を終了する。図7(b)では、区間S2の総消費電力が「9」であり、ステップS1で入力された消費電力制限値126の値「8」を超えている。従って、この場合には、消費電力の削除が必要と判定される。
ステップS4で、消費電力の削減が必要と判定されると、改善対象ネット抽出手段105は、ステップS3で計算された消費電力値129を参照して、消費電力改善対象ネット130を抽出する(ステップS5)。具体的には、消費電力値129(図7)を参照し、シミュレーション区間のうちで最も総消費電力が高い区間を選び、その区間内における配線消費電力が高いネットから順に、消費電力改善対象ネット130として選択する。図7(b)では、区間S2が最も消費電力が高い区間であり、また、図7(a)を参照すると、区間S2内で最も配線消費電力が高いネットはN2であるので、N2を、消費電力改善対象ネット130として選択する。改善対象ネット抽出手段105は、全てのネットを処理したか否かを判断し(ステップS6)、全てのネットを処理したと判断すると、レイアウト変更は不可能であることから、ステップS18へ移行して、配置配線情報122を出力する。
改善対象セル抽出手段106は、回路接続情報121を参照し、改善対象ネット130に接続する改善対象セル131を抽出する(ステップS7)。具体的には、回路接続情報121(図3)を参照し、改善対象ネット130に接続するセルのうちの1つを、改善対象セル131として選択する。図3では、改善対象ネットN2には、セルC2とC3とが接続されている。この場合、ステップS7では、セルC2とC3との何れか、例えばセルC3が、改善対象セル131として抽出される。改善対象セル抽出手段106は、現在の改善対象ネット130に接続する全てのセルについて処理を行ったか否かを判断する(ステップS8)。全てのセルに対して処理を行った場合には、次の改善対象ネット130を選択するために、ステップS5へ戻る。
改善対象セル131が抽出されると、遅延計算対象パス抽出手段107は、回路接続情報121を参照し、改善対象セル131を含む遅延計算対象パス132を抽出する(ステップS9)。遅延計算対象パス132は、LSIの入力端子とフリップフロップとの間、又は、フリップフロップ相互間をつなぐ経路であり、回路接続情報121を参照し、セルとネットとの接続関係をトレースすることで求められる。図3の例では、フロップフロップC1の入力端子からネットN1、セルC3、及び、ネットN3を経由して接続するフリップフロップC4の入力端子までのパス(セルC1からC4までのパス)が1つ存在し、このパスが抽出される。パスが複数存在する場合には、全てのパスが抽出される。
消費電力削減可否判定手段108は、改善対象セル131の移動を想定した場合に、消費電力の削減が可能か否かを判定する(ステップS10)。図8は、改善対象セル131の移動の具体例を示しており、同図(a)は移動前の状態を、同図(b)は、移動後の状態を示している。同図(b)では、改善対象セルC3の位置を、同図(a)に示す位置から、改善対象ネットN2が、長さΔL(ΔL>0)だけ短くなるように移動する。この場合、他のネットN1、N3の配線長は、移動前に比して長くなる。延びた配線長は、ΔLである、つまり、改善対象ネットN2の配線長の短縮分と同じ分だけであると仮定する。この場合、長くなったネットN1の配線消費電力は、式(3)から、
PN1=(1/2)×Cl×(L1+ΔL)×A1
となり、移動前に比して、(1/2)×Cl(ΔL)×A1だけ増加する。また、短くなったネットN2の配線消費電力は、(1/2)×Cl(ΔL)×A2だけ減少し、長くなったネットN3の配線消費電力は、(1/2)×Cl(ΔL)×A3だけ増加する。
改善対象セル131の移動に伴う消費電力の削減分をΔP1とすると、ΔL>0、つまりネットN2の配線長L2が短くなる場合には、
ΔP1=(1/2)×Cl×ΔL×{A2−(A1+A3)}
が0よりも大きければ、移動前に比して消費電力は小さくなる。図6(b)を参照すると、単位当たりの配線容量Clは、「1」であり、図5(b)を参照すると、区間S2における各ネットの動作率A1、A2、A3は、それぞれ「0」、「1」、「0」である。この場合、ΔP1は、
ΔP1=(1/2)×ΔL
となる。ΔL>0であるから、ΔP1>0であり、この場合、ステップS10では、消費電力の削減が可能であると判定される。ステップS10で、消費電力の削減が不可能であると判定された場合には、ステップS7へ戻って、改善対象ネット130に接続する別のセルを改善対象セル131として選択する。
消費電力の削減が可能であると判定されると、遅延時間・セル移動可能距離計算手段109は、改善対象セル131の移動を想定して遅延計算対象パス132の遅延時間を計算し、その計算結果から、改善対象セル131の移動可能距離を逆算する(ステップS11)。その後、逆算した移動可能距離に基づいて、改善対象セル131の移動が可能であるか否かを判断する(ステップS12)。移動可能である場合には、レイアウト変更を行うために、ステップS17へ進む。
ステップS11の詳細手順の説明に先立って、パス遅延時間の計算について説明する。パス遅延時間は、信号が、パス、つまり、LSIの入出力端子とフリップフロップとの間、又は、フリップフロップ相互間を通過するのに要する時間である。図3では、フリップフロップC1の入力端子から、ネットN1、セルC3、及び、ネットN3を経由して、フリップフロップC4の入力端子までのパスについて、信号が通過する時間を計算する。
パス遅延時間の構成要素は、信号がセルの入力端子から出力端子までを通過する際に生じるセル遅延時間と、信号が配線を通過する際に生じる配線遅延時間との2種類に分けられる。図3のセルC1からセルC4の入力までのパスの遅延時間Tは、セルC1、C3のセル遅延時間をそれぞれTC1、TC3とし、ネットN1〜N3の配線遅延時間をTN1〜TN3とすると、
T=TN1+TN3+TC1+TC3 (4)
と表すことができる。各セルの遅延時間は、セルの種類ごとに固定値が用意されており、この値は、遅延・消費電力ライブラリ情報124(図6(a))に記憶されている。セル遅延時間は、厳密には、入力端子と出力端子との組み合わせなどにより、複数の遅延値が存在するが、ここでは説明の簡単化のため、単一の遅延値をもつものとする。
配線遅延時間の計算については、各種手法が提案されているが、ここでは、Elmoreの配線遅延モデルを用いる(Elmoreの配線遅延モデルについては、電気情報通信学会技術研究報告 VLD2000--48〜56 [VLSI設計技術] VLD2000-51 シュリンク向けクロック木生成 井上浩明・枝廣正人を参照)。Elmoreの遅延モデルでは、出力点からある入力点までの配線経路の遅延時間は、経路上の2点間に存在する抵抗と、2点間を含んで下流に存在する容量(キャパシタンス)との積の総和によって表わされる。このような公式に基づいて、端子抵抗、配線抵抗と配線容量とから、配線遅延を求める。厳密には、負荷容量は、配線容量のほかにセルの入力端子容量も存在するが、説明の簡単化のため省略する。
ネットN1に対する配線遅延時間TN1は、下記式(5)で表すことができる。
TN1=K1×RO1×(CN1)+K2×RN1×(CN1) (5)
式(5)におけるRO1は、セルC1の出力端子抵抗値である。この出力端子抵抗RO1は、使用しているセルの種類に応じた固定の値を持ち、その値は、遅延・消費電力ライブラリ情報124(図6(a))に記憶されている。配線抵抗RN1と、配線容量CN1とについては、計算を簡易化するために、一般的に単位配線長当たりの値が用いられる近似計算が行われており、配線抵抗及び容量は、それぞれ配線長に比例した値を持つ。単位配線長あたりの配線抵抗及び配線容量は、それぞれRl、Clとして遅延・消費電力ライブラリ情報124(図6(b))に記憶されている。式(5)における係数K1、K2は、それぞれ定数であり、遅延・消費電力ライブラリ情報124(図6(c))に記憶されている。
ネットN1に対する配線遅延時間TN1は、遅延・消費電力ライブライブラリ情報124に記憶された値を用いて、式(5)から下記式(6)に変形できる。
TN1=K1×RO1×(Cl×L1)
+K2×(Rl×L1)×(Cl×L1) (6)
L1は、ネットN1の配線長であり、配置配線情報122(図4(b))を参照すると、「10」である。また、遅延・消費電力ライブラリ情報124(図6)を参照すると、係数K1、K2は、それぞれ「2」、「1」であり、RO1は「2」、配線長当たりの配線容量Clは「1」、配線長当たりの配線抵抗Rlは「1」であるから、ネットN1に対する配線遅延時間TN1は、
TN1=2×2×(1×10)+1×(1×10)×(1×10)=140
と計算される。配線に分岐がない場合には、配線遅延時間の計算式における構成要素は、式(6)と同様となり、パスを構成する別のネットN3に対する配線遅延時間TN3は、下記式(7)で計算できる。
TN3=K1×RO3×(Cl×L3)
+K2×(Rl×L3)×(Cl×L3) (7)
配置配線情報122(図4(b))及び遅延・消費電力ライブラリ情報124(図6)を参照してTN3を計算すると、TN3=140となる。
セル遅延時間TC1及びTC3は、遅延・消費電力ライブラリ情報124(図6(a))を参照すると、それぞれ「10」である。これらを式(4)に代入すると、パスの遅延時間Tは、
T=TN1+TN3+TC1+TC3
=140+140+10+10=300
となる。ステップS1で入力されたタイミング制約125の値が300であるとすると、このパスは、タイミング制約をちょうど満たすパスである。
ステップS11の移動可能距離の計算について説明する。図8(b)に示すように、改善対象ネットN2が長さΔLだけ短くなることにより、他のネットN1、N3がΔLだけ長くなると場合には、ネットN1、N3の配線遅延時間TN1’、TN3’は、それぞれ、
TN1’=K1×RO1×(Cl×(L1+ΔL))
+K2×(Rl×(L1+ΔL))×(Cl×(L1+ΔL)) (8)
TN3’=K1×RO3×(Cl×(L3+ΔL))
+K2×(Rl×(L3+ΔL))×(Cl×(L3+ΔL)) (9)
となる。ここで、ΔL以外は全て既知の値であるので、
TN1’=ΔL+24×ΔL+140 ,
TN3’=ΔL+24×ΔL+140 (10)
となる。
改善対象セル131の移動に伴い、パス遅延時間T’は、
T’=TN1’+TN3’+TC1+TC3 (11)
となる。図6(a)を参照すると、セル遅延時間TC1、TC3は、それぞれ「10」であるため、式(11)は、
T’=ΔL+24×ΔL+140+ΔL+24×ΔL+140+10+10
=2×ΔL+48×ΔL+300
として計算される。このように計算されたT’がセル移動後のパスの遅延時間であり、このT’は、タイミング制約125の値である300以下である必要があり、
T’=2×ΔL+48×ΔL+300≦300
を満たす必要がある。上記式を簡略化すると、
ΔL+24×ΔL≦0 (12)
となる。
上記式(12)は、ΔLについての2次不等式であり、これをΔLについて解いたときのΔLの範囲として実数範囲が得られ、かつ、この範囲と消費電力削減の前提条件(ΔL>0)とに重複する範囲があれば、つまり、ΔLの解として正の実数解が得られれば、ステップS12で移動可能と判断し、その正の実数値(ΔLの範囲の上限値)を、セル移動可能距離133として記憶する。パスが複数存在する場合には、全てのパスについて、タイミング制約125を満たす改善対象セル131の移動量ΔLを計算し、全てのパスでΔLの解が正の実数値となれば、移動可能と判断し、各パスのΔLのうちで、改善対象ネット130の配線長を最短とするものを、セル移動可能距離133として記憶する。何れかのパスで正の実数値が得られないときには、解なしと判断し、移動不可と判断する。上記式(12)の解は、−24≦ΔL≦0であり、0以下であるので解なしとなる。このため、ステップS12では、移動不可と判断される。
ステップS12で、移動不可と判断されると、遅延時間・セル移動可能距離再計算手段110は、改善対象セル131に移動の伴って配線長が長くなるネットに対するリピータ挿入を想定して遅延計算対象パス132の遅延時間を計算し、その計算結果から、改善対象セル131のセル移動可能距離133を逆算する(ステップS13)。遅延時間・セル移動可能距離再計算手段110は、逆算したセル移動可能距離133に基づいて、改善対象セル131の移動が可能か否かを判断する(ステップS14)。
図9は、改善対象セル131の移動の具体例を示しており、同図(a)は移動前の状態を、同図(b)は、移動後の状態を示している。同図(a)に示す状態から、改善対象ネットN2の配線長を短くすることにより、同図(b)に示すように、他のネットN1、N3の配線長が長くなる。この長くなったネットN1、N3が、リピータ挿入対象ネットとして抽出される。リピータの挿入を想定した配線遅延時間の計算では、ステップS10と同様に、改善対象ネットN2の長さがΔLだけ短くなったことによって、他のネットN1、N3が同じ分だけ(ΔL)長くなった場合を考える。また、リピータ挿入により、ネットが2分割されたときには、分割されたネットの配線長は、それぞれ元のネットの配線長にΔLを加えたものの0.5倍とする。
図10は、リピータ挿入の具体例を示している。ネットN1にリピータ(セル)C5が挿入され、リピータセルC5の挿入により、ネットN1は、ネットN4とN5とに2分割される。このネットN4、N5の配線長は、それぞれ、(ネットN1の配線長L1+ΔL)/2とする。同様に、リピータC6の挿入により、ネットN3がネットN6とN7とに2分割される。ネットN6、N7の配線長は、それぞれ、(ネットN3の配線長L3+ΔL)/2とする。
リピータ挿入後(図10)における各ネットN4〜N7の配線遅延時間TN4’〜TN7’は、以下のように計算できる。
TN4’=K1×RO1×Cl×((L1+ΔL)/2)
+K2×Rl×((L1+ΔL)/2)×Cl×((L1+ΔL)/2) (13)
TN5’=K1×RO5×Cl×((L1+ΔL)/2)
+K2×Rl×((L1+ΔL)/2)×Cl×((L1+ΔL)/2) (14)
TN6’=K1×RO3×Cl×((L3+ΔL)/2)
+K2×Rl×((L3+ΔL)/2)×Cl×((L3+ΔL)/2) (15)
TN7’=K1×RO6×Cl×((L3+ΔL)/2)
+K2×Rl×((L3+ΔL)/2)×Cl×((L3+ΔL)/2) (16)
RO5及びRO6はリピータセルC5、C6の出力端子抵抗であり、図6(a)を参照すると、その値はそれぞれ「1」である。ΔL以外の値は、全て既知であり、式(13)〜(16)は、
TN4’=20+2×ΔL+(100+2×L1+ΔL)/4
TN5’=10+ΔL+(100+2×L1+ΔL)/4
TN6’=20+2×ΔL+(100+2×L1+ΔL)/4
TN7’=10+ΔL+(100+2×L1+ΔL)/4
と計算できる。
図10に示すリピータ挿入後の状態におけるセルC1からセルC4までのパス遅延時間T’は、
T’=TN4+TN5+TN6+TN7+TC1+TC3+TC5+TC6 (17)
で計算できる。TC5及びTC6は、挿入されたリピータセルC5及びC6のセル遅延時間であり、図6(a)を参照すると、それぞれの値は「10」である。式(17)に、各値を代入し、整理すると、
T’=ΔL+8×ΔL+200
となる。このT’がタイミング制約125の値である300以下であれば良いので、
ΔL+8×ΔL+200≦ 300
ΔL+8×ΔL−100≦0 (18)
を満たすΔLの正の実数解が、求めるべきセル移動可能距離133となる。
式(18)を、ΔLについて解き、ΔLの解が正の実数値であれば、ステップS14で、セル移動及びリピータ挿入可能と判断し、そのΔLを、セル移動可能距離133として記憶する。正の実数値が得られないときには、移動不可と判断し、ステップS7へ戻って、他のセルを、改善対象セル131として選択する。パスが複数存在する場合には、ステップS12と同様に、全てのパスで正の実数解が得られたときにセル移動及びリピータ挿入可能と判断し、何れかのパスで正の実数解が得られないときには、セル移動及びリピータ挿入不可と判断する。式(18)を解くと、−14.75≦ΔL≦6.75となり、正の実数解を持つので、その範囲におけるΔLの最大値、つまりは、改善対象ネットN2の配線長を最少とするΔL=6.75を、セル移動可能距離133として記憶する。
ここで、配線遅延時間は、式(4)で示されるとおり、配線抵抗と配線容量の積で計算される項があり、また、配線抵抗と配線容量は配線長に比例した値となる。そのため、配線遅延時間は、配線長の2乗に比例して増加する項が存在する。このことは、セルの移動によりネットの配線長が増加しても、リピータにより配線を分割して個々の配線長を短くすることにより、配線遅延時間を変化させない、或いは、配線遅延時間を短縮することが可能なことを示している。リピータ挿入によって、その分だけセル遅延時間が増加しても、配線分割による配線遅延削減分が、リピータ挿入によるセル内遅延時間増加分より大きければ、結果としてパス遅延時間が増加させないことが可能となる。
遅延時間・セル移動可能距離再計算手段110によって、セルを移動し、かつ、リピータを挿入した場合のセル移動可能距離133が求まると、最小移動距離計算手段111は、消費電力の削減が可能となる改善対象セル131の最小移動距離134を求める(ステップS15)。具体的には、リピータ挿入後の回路状態(図10)における消費電力を計算し、計算した消費電力が、ステップS3で計算した消費電力よりも小さくなるΔLを計算して、最小移動距離134を求める。最小移動距離134を求める際の消費電力の計算の対象となる区間は、ステップS5で改善対象ネット130を選定する際に使用された、図7(b)で総消費電力が最大となる区間S2を採用する。最小移動距離134が求まると、最小移動距離134と、ステップS13で求めたセル移動可能距離133とを比較し、セル移動及びリピータ挿入により、消費電力の削減が可能であるか否かを判断する(ステップS16)。
図10では、ネットN1、N3にそれぞれリピータC5、C6が挿入されているが、各ネットの動作率は、分割の前後で変化しない。このため、ネットN4、N5の動作率としては、分割前のネットN1の動作率(図5(b)のA1)を使用できる。また、ネットN6、N7の動作率としては、分割前のネットN3の動作率(A3)を使用できる。セルC1〜C6の消費電力をPC1’〜PC6’とし、ネットN2、N4〜N7の配線消費電力をPN2’、PN4’〜PN7 ’とすると、図10に示す回路全体の消費電力P’は、
P’=PC1’+PC2’+PC3’+PC4’+PC5’+PC6’
+PN2’+PN4’+PN5’+PN6’+PN7’
と表せる。
ネットN2、ネットN4、ネットN5、ネットN6、ネットN7の配線消費電力PN2’〜PN7’は、
PN2’=(1/2)×Cl×(L2−ΔL)/2×A2
=(1/2)×1×(14−ΔL)×1=7−ΔL/2
PN4’=(1/2)×Cl×(L1+ΔL)/2×A1
=(1/2)×1×(10+ΔL)/2×0=0
PN5’=(1/2)×Cl×(L1+ΔL)/2×A1
=(1/2)×1×(10+ΔL)/2×0=0
PN6’=(1/2)×Cl×(L3+ΔL)/2×A3
=(1/2)×1×(10+ΔL)/2×0=0
PN7’=(1/2)×Cl×(L3+ΔL)/2×A3
=(1/2)×1×(10+ΔL)/2×0=0
と計算される。また、図6(a)を参照すると、セルC1〜4のセル消費電力、及び、リピータセルC5、C6のセル消費電力は、それぞれ0.5であるため、図10に示す回路全体の消費電力P’は、
P´=10−ΔL/2
となる。このようにして求めたP’が、ステップS3で求めた区間S2の総消費電力「9」(図7(b))よりも小さければ、セル移動及びリピータ挿入によって、消費電力が削減されたことになる。P’=10−ΔL/2<9を満たすΔLは、ΔL>2である。この場合、ΔL=2を、最小移動距離134として保存する。
ステップS16では、最小移動距離134が、ステップS13で求めたセル移動可能距離133以下で、かつ、最小移動距離134がネットN2の配線長(L2=10)よりも短いと判断すると、消費電力の削減が可能であると判断する。それ以外の場合には、消費電力の削減は不可であると判断し、ステップS7へ戻って、他の改善対象セル131を選択する。上記の例では、最小移動距離134の値は「2」であり、これは、セル移動可能距離133の値「6.75」よりも小さい。このため、消費電力の削減が可能である判断される。
レイアウト変更手段112は、ステップS16で、消費電力の削減が可能と判断された場合には、セル移動可能距離133及び最小移動距離134を参照し、改善対象セル131の移動、及び、リピータの挿入を行ってレイアウトの変更を実施する(ステップS17)。レイアウト変更後、それらセル及びリピータに接続するネットに対する再配線を行い、回路接続情報121と配置配線情報122とを更新する。ステップS17では、改善対象セル131は、セル移動可能距離133以下で、かつ、最小移動距離134よりも長い範囲で、改善対象ネット130が短くなるように移動させる。
図11は、レイアウト変更の具体例を示している。ステップS17では、改善対象セルC3を、改善対象ネットN2が短くなるように、空いている領域へ移動する。改善対象セルC3の移動量は、セル移動可能距離133が「6.75」で、最小移動距離134が「2」であるため、2〜6.75の範囲内であり、例えば「4」とする。リピータセルC5、C6挿入では、改善対象セルC3を移動することによって配線長が長くなるネット(図9(b)のネットN1、N3)を分割するようにリピータセルC5、C6を挿入する。挿入されたリピータC5、C6の位置は、分割されたネットN4とN5、及び、N6とN7が相互に等しい長さとなり、かつ、分割後のネットの配線長の和(N4+N5、N6+N7)が、分割前のネットの配線長よりも長くならない位置とする。
図12は、レイアウト変更後の回路接続情報121を示している。また、図13(a)及び(b)は、レイアウト変更後の配置配線情報122を示している。レイアウト変更手段112は、レイアウト変更に伴って、回路接続情報121及び配置配線情報122を、図12、図13に示すように更新する。このようにすることで、タイミング制約125を満足させつつ、消費電力を削減した回路を得ることができる。
ステップS12で移動可能と判断され、その後、ステップS17へ進んだ場合には、レイアウト変更手段112は、セル移動可能距離133を参照して改善対象セル131の移動を行い、レイアウトを変更する。図14は、ステップS12からステップS17へ進んだ場合のレイアウト変更の具体例を示している。この例では、改善対象セルC3は、セル移動可能距離133の範囲内で、改善対象ネットN2が短くなるように、空いている領域に移動される。その後、改善対象セル131に接続されるネットの再配線を行い、配置配線情報122を更新する。
レイアウト変更が終了すると、ステップS3へ戻り、消費電力計算手段103により、レイアウト変更後の配置配線情報122を用いて、消費電力を再計算する。この再計算は、ステップS3での計算と同様であるが、ステップS12のレイアウト変更によって変更を受けない部分については消費電力を再計算する必要はなく、レイアウト変更によって追加、変更され部分についてのみ行えばよい。また、レイアウト変更により、回路接続情報121が更新されている場合には、信号動作率決定手段102により、更新後の回路の各ネットに対応する信号動作率128を求めておく。
図15(a)は、レイアウト変更後の各ネットの信号動作率128を示し、同図(b)は、レイアウト変更後の各区間の消費電力を示している。信号動作率決定手段102は、図5(a)に示すシミュレーションパタン127を用いて、ネットネットN2、N4〜N7の信号動作率を求める。前述のように、ネットN4とN5は、分割前のネットN1に対応するため、図5(a)に示す波形H1から動作率を求めればよい。また、ネットN6とN7については、図5(a)に示す波形H3から動作率を求めればよい。計算された動作率を参照して、各区間での各セルのセル消費電力、各ネットの配線消費電力、及び、総消費電力を求めると、図15(b)に示す表のようになる。
消費電力の再計算後、ステップS4へ進み、消費電力制限違反判定手段104により、再計算された消費電力値129(図15(b))と、消費電力制限値126とを比較して、消費電力制限違反が発生しているか否かを判定する。レイアウト変更後においても消費電力違反が発生する場合には、ステップS5へ進み、更なるレイアウト変更を試みる。消費電力値129が、消費電力制限値126以下であれば、ステップS18へ進んで、配置配線情報出力手段113により、配置配線情報122を出力する。図15(b)では、総消費電力は、区間S2で最大値「8」となり、この値は消費電力制限値126の値「8」と同じであるので、ステップS18へ進んで、配置配線情報122が出力される。
本実施形態では、消費電力の削減が必要な場合には、特定のセルの移動を想定して消費電力の削減が可能か否かを判断し、削減が可能な場合には、特定のセルの移動に伴ってタイミング制約違反が発生するか否かを判断し、消費電力の削減が可能であり、かつ、タイミング制約が満たされる場合には、消費電力が削減され、かつ、タイミング制約を満たす範囲で特定のセルを移動し、レイアウトを変更する。このように、本実施形態では、消費電力の改善と、遅延時間の改善とを、1度のレイアウト修正で実現でき、レイアウト修正が2度必要な従来技術に比して、処理時間を短縮できる。
また、消費電力を削減するために特定のセルを移動するとタイミング制約が満たされなくなる場合については、特定のセルの移動を想定した上でリピータを挿入し、タイミング制約を満たすか否かを判断する。タイミング制約を満たす場合には、消費電力の削減を可能とする特定のセルの移動距離を求め、消費電力が削減され、かつ、タイミング制約を満たす範囲で特定のセルを移動し、レイアウトを変更する。このように、特定のセルの移動のみではタイミング制約が満たされない場合については、リピータ挿入を併用することにより、パス遅延時間の悪化を伴わずに消費電力を改善でき、従来技術に比して、高い消費電力削減の効果を得ることができる。
以上、本発明をその好適な実施形態に基づいて説明したが、本発明のレイアウト設計装置、方法、及び、プログラムは、上記実施形態にのみ限定されるものではなく、上記実施形態の構成から種々の修正及び変更を施したものも、本発明の範囲に含まれる。
本発明の一実施形態のレイアウト設計装置の構成を示すブロック図。 レイアウト設計装置の動作手順を示すフローチャート。 回路接続情報の具体例を示す図。 (a)及び(b)は、図3の回路に対応する配置配線情報を示す図。 (a)は、シミュレーションパタンの具体例を示す波形図、(b)は、信号動作率の具体例を示す表。 遅延・消費電力ライブラリの具体例を示し、(a)は、各セルと、セル遅延時間、端子抵抗、及び、セル消費電力との対応関係を示す表、(b)は、配線長あたりの抵抗及び容量を示す表、(c)は、消費電力計算で用いる係数を示す表。 (a)は、区間ごとの各ネットの配線消費電力を示す表、(b)は、区間ごとのセル消費電力と配線消費電力と総消費電力とを示す表。 改善対象セルの移動の具体例を示し、(a)は移動前の状態を示す回路接続図、(b)は、移動後の状態を示す回路接続図。 リピータ挿入を併用した改善対象セルの移動の具体例を示し、(a)は移動前の状態を示す回路接続図、同図(b)は移動後の状態を示す回路接続図。 リピータ挿入の具体例を示す回路接続図。 レイアウト変更の具体例を示す回路接続図。 レイアウト変更後の回路接続情報を示す図。 (a)及び(b)は、レイアウト変更後の配置配線情報を示す図。 リピータの挿入を伴わない場合のレイアウト変更の具体例を示す回路接続図。 (a)は、レイアウト変更後の各ネットの信号動作率を示す表、(b)は、レイアウト変更後の各区間の消費電力を示す表。
符号の説明
100:レイアウト設計装置
101:各種情報入力手段
102:信号動作率決定手段
103:消費電力計算手段
104:消費電力制限違反判定手段
105:改善対象ネット抽出手段
106:改善対象セル抽出手段
107:遅延計算対象パス抽出手段
108:消費電力削減可否判定手段
109:遅延時間・セル移動可能距離計算手段
110:遅延時間・セル移動可能距離再計算手段
111:最小移動距離計算手段
112:レイアウト変更手段
113:配置配線情報出力手段
114:制御手段
121:回路接続情報
122:配置配線情報
123:物理ライブラリ情報
124:遅延・消費電力ライブラリ情報
125:タイミング制約
126:消費電力制限値
127:シミュレーションパタン
128:信号動作率
129:消費電力値
130:改善対象ネット
131:改善対象セル
132:遅延計算対象パス
133:セル移動可能距離
134:最小移動距離

Claims (19)

  1. 半導体装置のレイアウト設計を行うレイアウト設計装置において、
    設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶する入力手段と、
    前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算する消費電力計算手段と、
    前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶する改善対象セル抽出手段と、
    前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記消費電力計算手段が計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定する消費電力削減可否判定手段と、
    前記消費電力削減可否判定手段が消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するパス抽出手段と、
    前記パス抽出手段によって抽出されたパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するセル移動可能距離計算手段と、
    前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記セル移動可能距離計算手段が計算した改善対象セルの移動距離の範囲とが重複するとき、該重複する範囲内で前記改善対象セルを移動し、前記配置配線情報を更新するレイアウト変更手段とを備えることを特徴とするレイアウト設計装置。
  2. 前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記タイミング制約を満たす改善対象セルの移動距離の範囲とが重複しないとき、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パス抽出手段によって抽出されたパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するセル移動可能距離再計算手段と、
    前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記セル移動可能距離再計算手段が再計算した改善対象セルの移動距離の範囲とが重複するとき、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算された消費電力が、前記消費電力計算手段によって計算された消費電力以下となる前記改善対象セルの移動距離の最小値を求める最小移動距離計算手段とを更に備え、
    前記レイアウト変更手段は、前記最小移動距離計算手段が計算した移動距離の最小値が、前記セル移動可能距離再計算手段が再計算した移動距離の範囲の上限値以下のとき、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新する、請求項1に記載のレイアウト設計装置。
  3. 前記消費電力計算手段によって計算された消費電力と、所定の消費電力制限値とを比較し、前記計算された消費電力が前記消費電力制限値を超えるか否かを判定する消費電力制限違反判定手段を更に備え、前記改善対象セル抽出手段は、前記消費電力制限違反判定手段が前記計算された消費電力が前記消費電力制限値を超えると判定すると、改善対象ネットを抽出する、請求項1又は2に記載のレイアウト設計装置。
  4. 前記改善対象セル抽出手段は、前記消費電力計算手段による消費電力の計算で消費電力値が最も大きいネットから順に改善対象ネットとして選択し、前記回路接続情報を参照して、前記抽出された改善対象ネットに接続されるセルのうちの何れかを改善対象セルとして抽出する、請求項1〜3の何れか一に記載のレイアウト設計装置。
  5. 前記改善対象セル抽出手段は、前記消費電力削減可否判定手段が、消費電力の削減が不可能であると判定すると、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する、請求項4に記載のレイアウト設計装置。
  6. 前記改善対象セル抽出手段は、前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記セル移動可能距離再計算手段が再計算した改善対象セルの移動距離の範囲とが重複しないとき、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する、請求項4に記載のレイアウト設計装置。
  7. 前記改善対象セル抽出手段は、前記最小移動距離計算手段が、前記最小移動距離計算手段が計算した移動距離の最小値が、前記セル移動可能距離再計算手段が再計算した移動距離の範囲の上限値よりも大きいとき、前記改善対象ネットに接続される他のセルを改善対象セルとして抽出する、請求項4に記載のレイアウト設計装置。
  8. 前記改善対象セル抽出手段は、前記改善対象ネットに接続された全てのセルを改善対象セルとして抽出すると、次の改善対象ネットを選択する、請求項4〜7の何れか一に記載のレイアウト設計装置。
  9. 前記消費電力削減可否判定手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する、請求項4〜8の何れか一に記載のレイアウト設計装置。
  10. 前記セル移動可能距離計算手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する、請求項4〜8の何れか一に記載のレイアウト設計装置。
  11. 前記セル移動可能距離計算手段は、前記改善対象セルの移動により、該改善対象セルに接続するネットのうちで、前記改善対象ネット以外のネットの配線長が、前記改善対象ネットの配線長が短くなった分と同じ分だけ長くなることを想定する、請求項10に記載のレイアウト設計装置。
  12. 前記セル移動可能距離再計算手段は、前記改善対象ネットの配線長が短くなる方向に前記改善対象セルを移動することを想定する、請求項4〜11の何れか一に記載のレイアウト設計装置。
  13. 前記セル移動可能距離再計算手段は、前記改善対象セルの移動により、該改善対象セルに接続するネットのうちで、前記改善対象ネット以外のネットの配線長が、前記改善対象ネットの配線長が短くなった分と同じ分だけ長くなることを想定する、請求項12に記載のレイアウト設計装置。
  14. 前記消費電力計算手段は、各ネットでの消費電力と、各セルでの消費電力とをそれぞれ計算し、各ネットでの消費電力及び各セルでの消費電力の総和を、前記設計対象の半導体装置の消費電力として算出する、請求項1〜13の何れか一に記載のレイアウト設計装置。
  15. 前記消費電力計算手段は、各ネットを通過する信号の波形図を示すシミュレーションパタンを記憶する記憶装置と、前記回路接続情報とを参照して、各シミュレーション区間における各ネットの信号動作率を決定し、該決定した信号動作率を用いて、各ネットでのシミュレーション区間ごとの消費電力を計算する、請求項14に記載のレイアウト設計装置。
  16. コンピュータを用いて、半導体装置のレイアウト設計を行う方法であって、
    設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶するステップと、
    前記コンピュータが、前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算するステップと、
    前記コンピュータが、前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶するステップと、
    前記コンピュータが、前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定するステップと、
    前記コンピュータが、消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するステップと、
    前記コンピュータが、前記抽出したパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するステップと、
    前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記タイミング制約を満たす前記改善対象セルの移動距離の範囲とが重複するとき、前記コンピュータが、該重複する範囲内で前記改善対象セルを移動し、前記配置配線情報を更新してレイアウトを変更するステップとを有することを特徴とする方法。
  17. 前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記タイミング制約を満たす改善対象セルの移動距離の範囲とが重複しないとき、前記コンピュータが、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パスを抽出するステップで抽出したパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するステップと、
    前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記再計算した改善対象セルの移動距離の範囲とが重複するとき、前記コンピュータが、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算した消費電力が、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力以下となる前記改善対象セルの移動距離の最小値を求めるステップと、
    前記計算した移動距離の最小値が、前記再計算した移動距離の範囲の上限値以下のとき、前記コンピュータが、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新するステップとを更に有する、請求項16に記載の方法。
  18. コンピュータに、半導体装置のレイアウト設計を行う処理を実行させるプログラムであって、前記コンピュータに、
    設計対象の半導体装置に含まれるセル及びセル間の接続情報を含む回路接続情報と、前記セル間を接続するネットの配線長を含む配置配線情報とを入力し、記憶装置に記憶するステップと、
    前記回路接続情報、前記配置配線情報、及び、各セル及び配線での消費電力を計算するために必要な情報を含む消費電力ライブラリを記憶する記憶装置を参照して、設計対象の半導体装置の消費電力を計算するステップと、
    前記回路接続情報を参照して改善対象のセルを抽出し、記憶装置に記憶するステップと、
    前記改善対象セルの移動を想定して該改善対象セルに接続されるネットの配線長が変更されたことを想定し、前記消費電力ライブラリを参照して前記改善対象セルを移動した際の消費電力を計算し、該計算した消費電力値と、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力とを比較して、前記改善対象セルを移動することで消費電力の削減が可能か否かを判定するステップと、
    消費電力を削減可能と判定すると、前記回路接続情報を参照して前記改善対象セルを含むパスを抽出するステップと、
    前記抽出したパスについて、各セル及び配線の遅延時間を計算するために必要な情報を含む遅延時間ライブラリを記憶する記憶装置を参照して、前記改善対象セルの移動を想定した場合の信号遅延時間を算出し、該算出した信号遅延時間に基づいて、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を計算するステップと、
    前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記タイミング制約を満たす前記改善対象セルの移動距離の範囲とが重複するとき、該重複する範囲内で前記改善対象セルを移動し、前記配置配線情報を更新してレイアウトを変更するステップとを実行させることを特徴とするプログラム。
  19. 前記コンピュータに、
    前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記タイミング制約を満たす改善対象セルの移動距離の範囲とが重複しないとき、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入することを想定し、前記遅延時間ライブラリを参照して、前記パスを抽出するステップで抽出したパスについて、前記改善対象セルを移動し、かつ、前記リピータを挿入することを想定した場合の信号遅延時間を算出し、所定のタイミング制約を満たす前記改善対象セルの移動距離の範囲を再計算するステップと、
    前記消費電力の削減を可能とする改善対象セルの移動距離の範囲と、前記再計算した改善対象セルの移動距離の範囲とが重複するとき、前記消費電力ライブラリを参照して、前記改善対象セルの移動及びリピータ挿入後の半導体装置の消費電力を計算し、該計算した消費電力が、前記設計対象の半導体装置の消費電力を計算するステップで計算した消費電力以下となる前記改善対象セルの移動距離の最小値を求めるステップと、
    前記計算した移動距離の最小値が、前記再計算した移動距離の範囲の上限値以下のとき、前記計算された移動距離の最小値以上で、かつ、前記改善対象セルの移動距離の範囲の上限値以下で前記改善対象セルを移動し、かつ、前記改善対象セルの移動に伴って配線長が長くなるネットにリピータを挿入して、前記回路接続情報及び前記配置配線情報を更新するステップとを更に実行させる、請求項18に記載のプログラム。
JP2006076787A 2006-03-20 2006-03-20 レイアウト設計装置、方法、及び、プログラム Expired - Fee Related JP4696988B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006076787A JP4696988B2 (ja) 2006-03-20 2006-03-20 レイアウト設計装置、方法、及び、プログラム
US11/723,320 US7681167B2 (en) 2006-03-20 2007-03-19 System and apparatus for designing layout of a LSI

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006076787A JP4696988B2 (ja) 2006-03-20 2006-03-20 レイアウト設計装置、方法、及び、プログラム

Publications (2)

Publication Number Publication Date
JP2007257011A true JP2007257011A (ja) 2007-10-04
JP4696988B2 JP4696988B2 (ja) 2011-06-08

Family

ID=38519483

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006076787A Expired - Fee Related JP4696988B2 (ja) 2006-03-20 2006-03-20 レイアウト設計装置、方法、及び、プログラム

Country Status (2)

Country Link
US (1) US7681167B2 (ja)
JP (1) JP4696988B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008250583A (ja) * 2007-03-30 2008-10-16 Nec Corp レイアウト設計装置及びレイアウト方法
JP2011035210A (ja) * 2009-08-03 2011-02-17 Renesas Electronics Corp 半導体集積回路、及び半導体集積回路のレイアウト方法
DE112011102691B4 (de) * 2010-08-09 2019-05-09 Charter Ip Llc Verfahren und System zur Umwandlung von Zeitsteuerungsberichten in Zeitsteuerungswellenformen
US10192019B2 (en) * 2013-09-25 2019-01-29 Synopsys, Inc. Separation and minimum wire length constrained maze routing method and system
US10255396B2 (en) * 2016-04-07 2019-04-09 Mentor Graphics Corporation Graphical analysis of complex clock trees

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0836600A (ja) * 1994-07-21 1996-02-06 Hitachi Ltd 配置配線方法及び半導体集積回路
JPH10223761A (ja) * 1997-02-05 1998-08-21 Hitachi Ltd 配置修正表示装置
JPH1167925A (ja) * 1997-08-25 1999-03-09 Nec Corp 低消費電力自動レイアウト方法および装置
JPH11126826A (ja) * 1997-10-22 1999-05-11 Motorola Kk 消費電力を削減するレイアウト・パターンの決定方法および装置ならびにレイアウト・パターン決定プログラムを記録した記録媒体
JPH11338902A (ja) * 1998-05-25 1999-12-10 Mitsubishi Electric Corp 仮想配線長見積り方法
JP2002230067A (ja) * 2001-02-05 2002-08-16 Toshiba Corp プリント板回路部品配置支援装置
JP2002342400A (ja) * 2001-05-22 2002-11-29 Nec Microsystems Ltd Lsiの自動設計方法
JP2006065669A (ja) * 2004-08-27 2006-03-09 Renesas Technology Corp 自動配置配線装置及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3335250B2 (ja) * 1994-05-27 2002-10-15 株式会社東芝 半導体集積回路の配線方法
US6415426B1 (en) * 2000-06-02 2002-07-02 Incentia Design Systems, Inc. Dynamic weighting and/or target zone analysis in timing driven placement of cells of an integrated circuit design
US6691293B2 (en) * 2000-11-01 2004-02-10 Fujitsu Limited Layout instrument for semiconductor integrated circuits, layout method for semiconductor integrated circuits and recording medium that stores a program for determining layout of semiconductor integrated circuits
US7137093B2 (en) * 2003-08-08 2006-11-14 Cadence Design Systems, Inc. Post-placement timing optimization of IC layout

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0836600A (ja) * 1994-07-21 1996-02-06 Hitachi Ltd 配置配線方法及び半導体集積回路
JPH10223761A (ja) * 1997-02-05 1998-08-21 Hitachi Ltd 配置修正表示装置
JPH1167925A (ja) * 1997-08-25 1999-03-09 Nec Corp 低消費電力自動レイアウト方法および装置
JPH11126826A (ja) * 1997-10-22 1999-05-11 Motorola Kk 消費電力を削減するレイアウト・パターンの決定方法および装置ならびにレイアウト・パターン決定プログラムを記録した記録媒体
JPH11338902A (ja) * 1998-05-25 1999-12-10 Mitsubishi Electric Corp 仮想配線長見積り方法
JP2002230067A (ja) * 2001-02-05 2002-08-16 Toshiba Corp プリント板回路部品配置支援装置
JP2002342400A (ja) * 2001-05-22 2002-11-29 Nec Microsystems Ltd Lsiの自動設計方法
JP2006065669A (ja) * 2004-08-27 2006-03-09 Renesas Technology Corp 自動配置配線装置及びプログラム

Also Published As

Publication number Publication date
US20070220473A1 (en) 2007-09-20
JP4696988B2 (ja) 2011-06-08
US7681167B2 (en) 2010-03-16

Similar Documents

Publication Publication Date Title
US5197015A (en) System and method for setting capacitive constraints on synthesized logic circuits
US5402357A (en) System and method for synthesizing logic circuits with timing constraints
US8015522B2 (en) System for implementing post-silicon IC design changes
US8893070B2 (en) Method for repeated block modification for chip routing
EP1192559B1 (en) Updating placement during technology mapping
US6651232B1 (en) Method and system for progressive clock tree or mesh construction concurrently with physical design
JP4696988B2 (ja) レイアウト設計装置、方法、及び、プログラム
US6513149B1 (en) Routing balanced clock signals
US11748548B2 (en) Hierarchical clock tree implementation
US6763513B1 (en) Clock tree synthesizer for balancing reconvergent and crossover clock trees
CN112214960A (zh) 一种兼顾集成电路时序的冗余金属填充方法及系统
US7134112B1 (en) Incremental routing in integrated circuit design
US7930668B1 (en) Placement and routing using inhibited overlap of expanded areas
US6684373B1 (en) Optimize global net timing with repeater buffers
KR100704577B1 (ko) 타이밍 버지트 설계 방법
US20130055187A1 (en) Floorplan creation information generating method, floorplan creation information generating program, floorplan creation information generating device, floorplan optimizing method, floorplan optimizing program, and floorplan optimizing device
US20030074642A1 (en) Clock skew verification methodology for grid-based design
US7526746B2 (en) Incremental geotopological layout for integrated circuit design
US20080022238A1 (en) Layout evaluating apparatus
US7131095B2 (en) Routed layout optimization with geotopological layout encoding for integrated circuit designs
US7010765B2 (en) Method for identifying removable inverters in an IC design
US9213794B2 (en) System and method for routing buffered interconnects in an integrated circuit
US6507939B1 (en) Net delay optimization with ramptime violation removal
JP2001267429A (ja) レイアウト設計装置およびレイアウト設計方法
Chen et al. A novel framework for multilevel full-chip gridless routing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100223

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101209

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110214

LAPS Cancellation because of no payment of annual fees