(57)【要約】【課題】レイアウト完了データに対して論理変更を行うフリーズシリコンECOにおいて、複数の変更箇所がある場合に消費電力を抑える変更処理を実行する。【解決手段】複数の変更箇所のそれぞれにおける信号の動作率を入力し、信号動作率が高い順に優先して、変更処理の処理順序を決める。また、配線混雑エリアを迂回するスペアセル選択領域を定め、その領域に存在するスペアセルを優先して割り付ける。さらに、タイミング制約を満足できる範囲内で、より消費電力の小さいスペアセルを選択して割り付ける。  これにより、複数の変更箇所があるフリーズシリコンECOにおいても、消費電力を抑えた回路変更を行うことができる。【選択図】図１
2013191025.tif 000002
【特許請求の範囲】
【請求項１】
変更前レイアウトに対応する変更前ネットリストを、前記変更前レイアウトに含まれている複数のスペアセルのうちの１個以上のスペアセルを用いて、入力される論理変更情報に基づいて変更し、変更後ネットリストに対応する変更後レイアウトを出力する、電子計算機によって実行されるＬＳＩ設計方法であって、
前記論理変更情報に基づいて、前記変更前ネットリストにおける複数の変更箇所についてそれぞれ回路変更情報を抽出し、
前記複数の変更箇所について、前記複数の変更箇所のそれぞれにおける回路特性情報に基づいて変更処理の処理順序を決め、
前記複数の変更箇所のそれぞれにおいて、前記スペアセルを用い前記回路変更情報に基づいて前記変更前ネットリストを順次変更する前記変更処理を行い、
前記複数の変更箇所の全てについての前記変更処理が施された前記変更後ネットリストに対して配線処理を行って前記変更後レイアウトを出力する、ＬＳＩ設計方法。
【請求項２】
請求項１において、前記回路特性情報が前記変更箇所における信号動作率を含み、前記信号動作率の高い変更箇所についての前記変更処理が先に実行されるように前記処理順序を決める、ＬＳＩ設計方法。
【請求項３】
請求項１において、前記変更処理に先立って、前記複数の変更箇所のそれぞれについて、前記変更処理で追加または変更される配線のレイアウト上の概略配線経路を求める概略配線処理を実行し、
前記概略配線経路に基づいてスペアセル選択領域を定め、
前記変更処理は、前記スペアセル選択領域内のスペアセルを用い、前記回路変更情報に基づいて前記変更前ネットリストを変更する、ＬＳＩ設計方法。
【請求項４】
請求項３において、前記スペアセル選択領域内に、前記回路変更情報に適合するスペアセルが配置されていないときに、前記スペアセル選択領域を拡大する、ＬＳＩ設計方法。
【請求項５】
請求項３において、前記回路変更情報が、前記変更箇所において追加または置換されるべきスペアセルの論理機能情報を含み、
前記変更処理は、前記スペアセル選択領域内に配置されている前記スペアセルのうち、前記論理機能情報と論理的に等価なスペアセルを用いて、前記変更前ネットリストを変更する、ＬＳＩ設計方法。
【請求項６】
請求項５において、前記変更処理は、前記スペアセル選択領域内のスペアセルであって、前記論理機能情報と論理的に等価な複数のスペアセルのうち、新たにタイミング違反を発生させない範囲で消費電力の最も小さいスペアセルを用いて、前記変更前ネットリストを変更する、ＬＳＩ設計方法。
【請求項７】
請求項３において、前記回路変更情報が、前記変更箇所において追加または置換されるべきスペアセルの論理機能情報を含み、
前記変更処理は、前記スペアセル選択領域内のスペアセルのうち、前記論理機能情報と論理的に等価となる複数のスペアセルの組合せを用いて、前記変更前ネットリストを変更する、ＬＳＩ設計方法。
【請求項８】
請求項３において、前記変更処理により前記変更前ネットリストを変更した後のネットリストについて設計ルールチェックを実行し、前記設計ルール違反がある場合には、前記変更前ネットリストの変更に用いたスペアセルを別のスペアセルに置き換え、または、前記変更前ネットリストの変更に用いたスペアセルに別のスペアセルを追加する、変更処理をさらに行う、ＬＳＩ設計方法。
【請求項９】
請求項１において、前記回路特性情報が前記変更箇所における信号のタイミング余裕を含み、前記信号のタイミング余裕の小さい変更箇所についての前記変更処理が先に実行されるように前記処理順序を決める、ＬＳＩ設計方法。
【請求項１０】
請求項１において、前記変更前レイアウトの下地層と前記変更後レイアウトの下地層とが同一である、ＬＳＩ設計方法。
【請求項１１】
変更前レイアウトに対応する変更前ネットリストを、前記変更前レイアウトに含まれている複数のスペアセルのうちの１個以上のスペアセルを用いて、入力される論理変更情報に基づいて変更し、変更後ネットリストに対応する変更後レイアウトを出力する、電子計算機によって実行されるＬＳＩ設計方法であって、
前記論理変更情報に基づいて、前記変更前ネットリストにおける変更箇所について回路変更情報を抽出し、
前記変更箇所について、前記変更処理で追加または変更される配線のレイアウト上の概略配線経路を求める概略配線処理を実行し、
前記概略配線経路に基づいて、スペアセル選択領域を定め、
前記変更処理は、前記スペアセル選択領域内のスペアセルを用い、前記回路変更情報に基づいて前記変更前ネットリストを変更する前記変更処理を行い、
前記変更処理が施された前記変更後ネットリストに対して配線処理を行って前記変更後レイアウトを出力する、ＬＳＩ設計方法。
【請求項１２】
請求項１１において、前記スペアセル選択領域内に、前記回路変更情報に適合するスペアセルが配置されていないときに、前記スペアセル選択領域を拡大する、ＬＳＩ設計方法。
【請求項１３】
請求項１１において、前記回路変更情報が、前記変更箇所において追加または置換されるべきスペアセルの論理機能情報を含み、
前記変更処理は、前記スペアセル選択領域内に配置されている前記スペアセルのうち、前記論理機能情報と論理的に等価なスペアセルを用いて、前記変更前ネットリストを変更する、ＬＳＩ設計方法。
【請求項１４】
請求項１３において、前記変更処理は、前記スペアセル選択領域内のスペアセルであって、前記論理機能情報と論理的に等価な複数のスペアセルのうち、新たにタイミング違反を発生させない範囲で消費電力のより最も小さいスペアセルを用いて、前記変更前ネットリストを変更する、ＬＳＩ設計方法。
【請求項１５】
請求項１１において、前記回路変更情報が、前記変更箇所において追加または置換されるべきスペアセルの論理機能情報を含み、
前記変更処理は、前記スペアセル選択領域内のスペアセルのうち、前記論理機能情報と論理的に等価となる複数のスペアセルの組合せを用いて、前記変更前ネットリストを変更する、ＬＳＩ設計方法。
【請求項１６】
請求項１１において、前記変更処理により前記変更前ネットリストを変更した後のネットリストについて設計ルールチェックを実行し、前記設計ルール違反がある場合には、前記変更前ネットリストの変更に用いたスペアセルを別のスペアセルに置き換え、または、前記変更前ネットリストの変更に用いたスペアセルに別のスペアセルを追加する、変更処理をさらに行う、ＬＳＩ設計方法。
【請求項１７】
請求項１１において、前記変更前レイアウトの下地層と前記変更後レイアウトの下地層とが同一である、ＬＳＩ設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウトを完了した設計データに対して論理変更を行うLSI設計方法に関し、特に変更後のLSIの特性を適切に維持するLSI設計方法に好適に利用できるものである。
【背景技術】
【０００２】
設計CADを使ったLSI設計方法において、レイアウトを完了した設計データ（レイアウト完了データ）に対して論理変更を行う必要が生じる場合がある。例えば、LSIを試作した段階で論理回路にバグが発見され、それを論理変更によって対策する必要が生じた場合である。このとき、一般には、マスク費用、試作費用、マスクとLSIの作り直しに要する期間と人件費などを考慮して、下地層を維持したまま配線層の変更のみで対策することが試みられる。ここで、下地層とは、シリコンなどの半導体基板内に形成され、トランジスタなどの能動素子を構成するレイアウト層を指す。能動素子の電極である拡散層に対するコンタクト層より上の配線層と対比して下地層と呼ばれる。コンタクト層は、下地層に含まれる場合も、配線層に含まれる場合もある。
【０００３】
レイアウト完了データに対する論理変更を一般にECO（Engineering Change Order）と呼び、下地層を維持して配線層のみを変更する論理変更を、特に、フリーズシリコンECO（Freeze Silicon Engineering Change Order）と呼ぶ。下地層を維持するとは、新規に論理回路を追加することはもとより、既存の論理回路に使用されているセルの配置を変更することさえも許されないことを意味する。そのため、フリーズシリコンECOを実施するためには、変更のために使用する可能性があるセルを予めスペアセルとしてレイアウト完了データに埋め込んでおき、また実際にLSIに形成しておく。如何なる論理変更が必要となるかを予測することはできないが、経験的な予測に基づいて、ある程度の種類と数量のスペアセルがレイアウト完了データに埋め込まれている。
【０００４】
設計CADを使ったLSI設計に用いられるレイアウトツールは、ネットリストを入力してレイアウトデータを出力する。ECOを行なう場合、レイアウト完了データから逆に抽出したネットリストに対して変更を施した、ECO用ネットリストを入力し、変更のある差分に対して物理情報（レイアウトデータ）を変更する。そのフローは、以下のとおりである。
【０００５】
(1)  ECO用ネットリストの変更箇所として変更前のネットリストとの差分を抽出。
【０００６】
(2)  抽出した差分情報をもとにレイアウトに対応付けられているツール内のネットリスト情報を変更。
【０００７】
(3)  追加・削除・置換など変更となったセルに対するスペアセル割付け。
【０００８】
(4)  変更箇所に対して配線の繋ぎ換えによって変更内容を物理情報（レイアウトデータ）に実装。
【０００９】
特許文献１には、タイミング制約を満足させるようにフリーズシリコンECOを行うための技術が開示されている。フリーズシリコンECOでは、変更に必要なスペアセルの種類や数に対し、変更箇所の近傍に配置されていて実際にECOに使用可能なスペアセルが、十分に存在しているとは限らない。そのため、タイミング制約を満足するためにスペアセルが存在することを期待する方向範囲と距離範囲を検知し、その範囲のスペアセルを使って論理変更を行う。その範囲に適切なスペアセルがない場合には、既に使用されているセルをネットリストから切り離して論理変更に使用する。切り離されたセルを補うために、改めてスペアセルを探索して変更後のネットリストを完成させる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００９−３７２３号公報
【特許文献２】特開２００４−３２７８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
一般にフリーズシリコンECOにおいては、変更箇所と使用可能なスペアセルの位置関係による制約から、必ずしもタイミング制約を満たすことができるとは限らず、ましてや消費電力については考慮さえされていない。特許文献１に開示される技術は、ECOによる論理変更においても、タイミング制約を満たすことができる点で優れているが、消費電力については何ら考慮されていない。
【００１２】
消費電力を削減するためには、ECOを離れて一般に、特許文献２に開示されるように、設計された回路の設計マージンを減らす代わりに、回路の消費電力を低減する技術がある。この技術は、レイアウト結果から配線の分岐点を検出し、バッファを挿入して負荷分散を図るものである。ECOを行う設計方法にこの技術を組み合わせて適用することは、あまり現実的ではない。元来のECOによる論理変更に加えて、負荷分散のためのバッファ挿入など、さらなる回路変更が必要となるからである。
【００１３】
本願の発明者は、消費電力を考慮するECOについて検討し、さらに、複数の変更箇所がある場合のECOについて検討した。複数の変更箇所がある場合は、仮に十分なスペアセルが用意されていたとしても、必ずしもタイミング制約を満たし、消費電力の観点からも最適な回路変更が実行されるとは限らないという問題を、新たに見出した。複数の変更箇所がある場合に、例えば消費電力に対する影響の大きい変更箇所の近傍に、適切なスペアセルが存在していたとしても、そのセルが別の変更箇所の論理変更のために既に使われてしまい、消費電力に対する影響の大きい変更箇所の変更のために使うことができないという状態が発生するためである。適切なスペアセルが別の変更箇所の論理変更のために既に使われているために、より遠いスペアセルまでの配線が形成されてしまい、そのために寄生容量が増加して必要以上の電力を消費する回路が形成されてしまうためである。また、例えばタイミング制約の厳しい変更箇所の近傍に、適切なスペアセルが存在していたとしても、そのセルが別の変更箇所の論理変更のために既に使われてしまい、タイミング制約の厳しい当該変更箇所の変更のために使うことができない状態が発生することもある。
【００１４】
本願の発明者が以上のような課題が発生する原因を解析した結果、実際のLSI設計ツールは、複数の変更箇所がある場合に、変更処理を行う順序がソフトウェア上のデータの出現順によって決められしまうためであることがわかった。
【００１５】
このような課題を解決するための手段を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１６】
一実施の形態によれば、下記の通りである。
【００１７】
すなわち、複数箇所の変更処理を実行する、設計CADを使ったLSI設計方法において、複数の変更箇所のそれぞれにおける回路特性情報に基づいて変更処理の処理順序を決める。回路特性情報は、例えば、変更箇所における信号の動作率であり、また、信号のタイミング余裕であり、その両方または一方に基づいて、変更処理の処理順序を決める。ここで、信号の動作率とは、ディジタル信号において単位時間あたりに状態が遷移する頻度（回数）を表す指標であって、回路内のネットを駆動するための充放電電流による消費電力は、信号動作率に比例する。タイミング余裕とは、信号の伝搬遅延の、その伝搬遅延が許される制限値（仕様）に対する余裕（マージン）である。
【発明の効果】
【００１８】
前記一実施の形態によって得られる効果を簡単に説明すれば下記のとおりである。
【００１９】
すなわち、複数の変更箇所のECOにおいても、タイミング制約の満足と消費電力の抑制の両方または一方に効果のある、回路およびレイアウトの変更を行うことができる。
【図面の簡単な説明】
【００２０】
【図１】図１は、消費電力を考慮したフリーズシリコンECOの概略フローチャートである。
【図２】図２は、消費電力を考慮したフリーズシリコンECOの詳細フローチャートである。
【図３】図３は、信号動作率を考慮したスペアセル割り付けの処理内容の説明図である。
【図４】図４は、スペアセル選択領域を用いたスペアセル割り付けの処理内容の説明図である。
【図５】図５は、低消費電力スペアセルを選択的に割り付ける処理内容の説明図である。
【図６】図６は、複数のスペアセルの組合せを割り付ける処理内容の説明図である。
【図７】図７は、設計ルール違反を自動的に対策する処理内容の説明図である。
【発明を実施するための形態】
【００２１】
１．実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００２２】
〔１〕＜複数変更箇所のECOにおける処理順序＞
変更前レイアウト（１１）に対応する変更前ネットリストを、前記変更前レイアウトに含まれている複数のスペアセル（７１〜７５、９１〜９９）のうちの１個以上のスペアセルを用いて、入力される論理変更情報（１２）に基づいて変更し、変更後ネットリストに対応する変更後レイアウト（１４）を出力する、電子計算機によって実行されるＬＳＩ設計方法であって、以下の処理を含む。
【００２３】
前記論理変更情報に基づいて、前記変更前ネットリストにおける複数の変更箇所についてそれぞれ回路変更情報を抽出する（１５）。
【００２４】
前記複数の変更箇所について、前記複数の変更箇所のそれぞれにおける回路特性情報（１３）に基づいて変更処理の処理順序を決める（１８）。前記複数の変更箇所のそれぞれにおいて、前記スペアセルを用い前記回路変更情報に基づいて前記変更前ネットリストを順次変更する前記変更処理を行う（２０）。前記複数の変更箇所の全てについての前記変更処理が施された前記変更後ネットリストに対して配線処理を行って（２１）、前記変更後レイアウト（１４）を出力する。
【００２５】
これにより、複数の変更箇所のECOにおいても、タイミング制約の満足と消費電力の抑制の両方または一方に効果のある、回路およびレイアウトの変更を行うことができる。
【００２６】
〔２〕＜信号動作率の高い変更箇所を優先処理（複数の変更箇所）＞
項１において、前記回路特性情報（１３）が前記変更箇所における信号動作率を含み、前記信号動作率の高い変更箇所についての前記変更処理が先に実行されるように前記処理順序を決める。
【００２７】
これにより、複数の変更箇所のECOにおいても、消費電力を抑えた、回路およびレイアウトの変更を行うことができる。
【００２８】
〔３〕＜スペアセル選択領域（複数の変更箇所）＞
項１または２において、前記変更処理に先立って、前記複数の変更箇所のそれぞれについて、前記変更処理で追加または変更される配線のレイアウト上の概略配線経路（４５）を求める概略配線処理を実行し（２７）、前記概略配線経路に基づいてスペアセル選択領域（４６）を定める（２８）。前記変更処理は、前記スペアセル選択領域内のスペアセルを用い、前記回路変更情報に基づいて前記変更前ネットリストを変更する（２０）。
【００２９】
これにより、変更箇所が配線混雑領域の近傍であっても、適切なスペアセルを選択することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【００３０】
〔４〕＜スペアセル選択領域の拡大（複数の変更箇所）＞
項３において、前記スペアセル選択領域内（４６）に、前記回路変更情報に適合するスペアセルが配置されていないときに、前記スペアセル選択領域を拡大する（２９、３１）。
【００３１】
これにより、スペアセル選択領域に適切なスペアセルがない場合でも、適切なスペアセルが選択できるまで、スペアセル選択領域を拡大しながら処理を継続することができる。
【００３２】
〔５〕＜論理的に等価なスペアセルの選択（複数の変更箇所）＞
項３または４において、前記回路変更情報が、前記変更箇所において追加または置換されるべきスペアセルの論理機能情報を含み、前記変更処理は、前記スペアセル選択領域内に配置されている前記スペアセルのうち、前記論理機能情報と論理的に等価なスペアセルを用いて、前記変更前ネットリストを変更する（３２、３３）。
【００３３】
これにより、選択することができるスペアセルの自由度を拡大することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【００３４】
〔６〕＜より低消費電力のスペアセルの選択（複数の変更箇所）＞
項５において、前記変更処理は、前記スペアセル選択領域内のスペアセルであって、前記論理機能情報と論理的に等価な複数のスペアセルのうち、新たにタイミング違反を発生させない範囲で消費電力の最も小さいスペアセルを用いて、前記変更前ネットリストを変更する（３２、３３）。
【００３５】
これにより、タイミング制約に余裕がある場合に、より省電力の小さいスペアセルを選択することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【００３６】
〔７〕＜複数のスペアセルの組合せの割り付け（複数の変更箇所）＞
項３または４において、前記回路変更情報が、前記変更箇所において追加または置換されるべきスペアセルの論理機能情報を含み、前記変更処理は、前記スペアセル選択領域内のスペアセルのうち、前記論理機能情報と論理的に等価となる複数のスペアセルの組合せを用いて、前記変更前ネットリストを変更する（３２、３３）。
【００３７】
これにより、選択することができるスペアセルの自由度をさらに拡大することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【００３８】
〔８〕＜設計ルール違反の自動対策（複数の変更箇所）＞
項３乃至項７のうちの１項において、前記変更処理により前記変更前ネットリストを変更した後のネットリストについて設計ルールチェックを実行する（３４）。前記設計ルール違反がある場合には、前記変更前ネットリストの変更に用いたスペアセルを別のスペアセルに置き換え、または、前記変更前ネットリストの変更に用いたスペアセルに別のスペアセルを追加する、変更処理をさらに行う（１９〜２１）。
【００３９】
これにより、変更処理によって新たに発生した設計ルール違反を、同じECO処理の内部で自動的に対策することができる。
【００４０】
〔９〕＜タイミング余裕の小さい変更箇所を優先処理（複数の変更箇所）＞
項１において、前記回路特性情報が前記変更箇所における信号のタイミング余裕を含み、前記信号のタイミング余裕の小さい変更箇所についての前記変更処理が先に実行されるように前記処理順序を決める。
【００４１】
これにより、複数の変更箇所のECOにおいても、タイミング制約を満たす回路およびレイアウトの変更を行うことができる。
【００４２】
〔１０〕＜フリーズシリコンECO（複数の変更箇所）＞
項１乃至項９のうちの１項において、前記変更前レイアウトの下地層と前記変更後レイアウトの下地層とを同一に維持する。
【００４３】
これにより、複数の変更箇所のフリーズシリコンECOにおいても、消費電力を抑え、あるいはタイミング制約を満たす回路およびレイアウトの変更を行うことができる。
【００４４】
〔１１〕＜スペアセル選択領域（複数の変更箇所に限らない）＞
変更前レイアウト（１１）に対応する変更前ネットリストを、前記変更前レイアウトに含まれている複数のスペアセル（７１〜７５、９１〜９９）のうちの１個以上のスペアセルを用いて、入力される論理変更情報（１２）に基づいて変更し、変更後ネットリストに対応する変更後レイアウト（１４）を出力する、電子計算機によって実行されるＬＳＩ設計方法であって、以下の処理を含む。
【００４５】
前記論理変更情報に基づいて、前記変更前ネットリストにおける変更箇所について回路変更情報を抽出する（１５）。前記変更箇所について、前記変更処理で追加または変更される配線のレイアウト上の概略配線経路を求める概略配線処理（４５）を実行し（２７）、前記概略配線経路に基づいて、スペアセル選択領域（４６）を定める（１９、２８）。
【００４６】
前記変更処理は、前記スペアセル選択領域内のスペアセルを用い、前記回路変更情報に基づいて前記変更前ネットリストを変更する前記変更処理を行い、前記変更処理が施された前記変更後ネットリストに対して配線処理（２１）を行って前記変更後レイアウトを出力する。
【００４７】
これにより、変更箇所が配線混雑領域の近傍であっても、適切なスペアセルを選択することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【００４８】
〔１２〕＜スペアセル選択領域の拡大（スペアセル選択領域）＞
項１１において、前記スペアセル選択領域内に、前記回路変更情報に適合するスペアセルが配置されていないときに、前記スペアセル選択領域を拡大する（２９、３１）。
【００４９】
これにより、スペアセル選択領域に適切なスペアセルがない場合でも、適切なスペアセルが選択できるまで、スペアセル選択領域を拡大しながら処理を継続することができる。
【００５０】
〔１３〕＜論理的に等価なスペアセルの選択（スペアセル選択領域）＞
項１１または項１２において、前記回路変更情報が、前記変更箇所において追加または置換されるべきスペアセルの論理機能情報を含み、前記変更処理は、前記スペアセル選択領域内に配置されている前記スペアセルのうち、前記論理機能情報と論理的に等価なスペアセルを用いて、前記変更前ネットリストを変更する（３２、３３）。
【００５１】
これにより、選択することができるスペアセルの自由度を拡大することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【００５２】
〔１４〕＜より低消費電力のスペアセルの選択（スペアセル選択領域）＞
項１３において、前記変更処理は、前記スペアセル選択領域内のスペアセルであって、前記論理機能情報と論理的に等価な複数のスペアセルのうち、新たにタイミング違反を発生させない範囲で消費電力のより最も小さいスペアセルを用いて、前記変更前ネットリストを変更する（３２、３３）。
【００５３】
これにより、タイミング制約に余裕がある場合に、より消費電力の小さいスペアセルを選択することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【００５４】
〔１５〕＜複数のスペアセルの組合せの割り付け（スペアセル選択領域）＞
項１１または項１２において、前記回路変更情報が、前記変更箇所において追加または置換されるべきスペアセルの論理機能情報を含み、前記変更処理は、前記スペアセル選択領域内のスペアセルのうち、前記論理機能情報と論理的に等価となる複数のスペアセルの組合せを用いて、前記変更前ネットリストを変更する（３２、３３）。
【００５５】
これにより、選択することができるスペアセルの自由度をさらに拡大することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【００５６】
〔１６〕＜設計ルール違反の自動対策（スペアセル選択領域）＞
項１１乃至項１５のうちの１項において、前記変更処理により前記変更前ネットリストを変更した後のネットリストについて設計ルールチェックを実行する（３４）。前記設計ルール違反がある場合には、前記変更前ネットリストの変更に用いたスペアセルを別のスペアセルに置き換え、または、前記変更前ネットリストの変更に用いたスペアセルに別のスペアセルを追加する、変更処理をさらに行う（２０〜２２）。
【００５７】
これにより、変更処理によって新たに発生した設計ルール違反を、同じECO処理の内部で自動的に対策することができる。
【００５８】
〔１７〕＜フリーズシリコンECO（スペアセル選択領域）＞
項１１乃至項１６のうちの１項において、前記変更前レイアウトの下地層と前記変更後レイアウトの下地層とを同一に維持する。
【００５９】
これにより、フリーズシリコンECOにおいて、変更箇所が配線混雑領域の近傍であっても、適切なスペアセルを選択することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【００６０】
２．実施の形態の詳細
実施の形態について更に詳述する。
【００６１】
〔実施形態１〕＜信号動作率の高い変更箇所を優先処理（複数の変更箇所）＞
図１は、消費電力を考慮したフリーズシリコンECOの概略フローチャートである。図１に示した概略フローによるLSI設計方法であるフリーズシリコンECOは、例えば、コンピュータを含むCADシステムによって実行される。複数の変更箇所があるECOにおいて、変更箇所の回路特性情報１３に基づいて処理順序を決めるステップ１８を含む点が本実施形態の中核部分である。図１には、その他のステップについても、従来技術にない他の実施形態に係る技術的特徴を含む処理を記載した。しかし、これらを組み合わせることは必須ではなく、ステップ１９からステップ２２のすべての変更箇所についての処理は、従来技術と同じスペアセル選択ステップ２０と配線繋ぎ換えステップ２１のみよって構成することもできる。
【００６２】
レイアウトを完了した設計データ（レイアウト完了データ）が変更前レイアウトとして、レイアウト後データベース１１に格納されている。一方、論理変更内容を指定するために、論理設計者によって作成された、ECO用ネットリスト１２が入力される。ECO用ネットリスト１２は、一般には、レイアウトツールが、変更前レイアウトから変更前レイアウトに１：１対応する変更前ネットリストを抽出して出力し、これの変更前ネットリストに対して論理設計者が所望の論理変更を加えたものである。ECO用ネットリスト１２では、レイアウトされたセルと対応付けされていた論理ゲートと、論理変更のために追加または置換されレイアウトされたセルとの対応付けがされていない論理ゲートとが混在している。
【００６３】
次にネットリストの差分抽出１５を行う。変更前ネットリストと入力されたECO用ネットリスト１２とを比較して、その差分としての回路変更情報を抽出する。変更箇所は１か所とは限らないので、複数の変更箇所があればそれぞれの回路変更情報を抽出する。回路変更情報は、ECO用ネットリスト１２で論理変更のために追加または置換された論理ゲートの情報と、変更前のネットリストにおける配線を削除し、あるいは繋ぎ換えたりする情報である。追加された論理ゲートは、ECO用ネットリスト１２の段階ではレイアウト上のどのセルに対応付けるかが決まっておらず、レイアウトされたセルとの対応付けがされていない。
【００６４】
次にネットリスト変更１６を行う。ツールの内部データとして管理されており、レイアウト完了データに含まれる、レイアウトと１：１に対応付けられた論理的なネットリストを、上記の回路変更情報に基づいて変更する。結果的には、ECO用ネットリスト１２と論理的に等価のネットリストとなる。ECO用ネットリスト１２が論理設計者による編集を許すために、人間が理解できるフォーマットである必要があるのに対し、ネットリスト変更１６によって作成されるネットリストは、ツールの内部データである。本来、レイアウトと１：１に対応付けられているネットリストであるが、この段階では、上記の回路変更情報において追加または変更された論理ゲートは、論理的なネットリストには含まれているが、レイアウトされたセルとの対応付けはされていない。
【００６５】
複数の変更箇所がある場合には、変更箇所ごとの回路特性情報１３を入力し、変更箇所の処理順序を決定する（ステップ１８）。回路特性情報１３は、例えば、変更されるネットの信号動作率（スイッチングアクティビティ）であり、あるいは、変更されるネットを通過する信号のタイミング余裕である。変更箇所の処理順序は、タイミングクリティカルかつ、信号動作率（スイッチングアクティビティ）によって決定される。タイミング余裕か信号動作率の一方、または、他の回路特性情報に基づいて、変更箇所の処理順序を決めてもよい。処理順序を決める回路特性情報が、変更後の回路、レイアウトにおいて優先的に保持される回路特性となる。以降の処理は、変更箇所の処理順序決定１８で決められた順序に従って、変更箇所ごとに順次実行される。その作用および効果については、後述する。
【００６６】
次にスペアセル選択領域決定１９、スペアセル選択２０および配線繋ぎ換え２１を行う。ネットリスト変更１６で作成されたネットリストは、上述のように、回路変更情報に則って追加または変更された論理ゲートを、レイアウトされたセルとの対応付けがされていない状態で含んでいる。これらの論理ゲートに対して、変更箇所ごとに、近傍に配置されているスペアセルの中から適合するスペアセルを選択して割り付ける。これにより、追加または変更された論理ゲートが実際のレイアウトと１：１に対応付けられる。スペアセル選択領域決定１９は、選択するスペアセルを探索する領域である、スペアセル選択領域４６を定める処理である。スペアセル選択２０は、選択領域の中から変更された論理ゲートと同一機能のスペアセルを選択して割り付ける。図中「選択領域内のスペアセルのうちパワー最小となるスペアセルを選択」と記載しているが、「パワー最小となる」は、スペアセルを選択するにあたっての基準の一例に過ぎない。配線繋ぎ換え２１は、変更前のレイアウトにおいて変更された配線を削除し、新たに割り付けられたスペアセルとの間の新しい配線に繋ぎ換える。これらの処理の詳細な作用と効果については、後述する。
【００６７】
次に設計ルールチェック（DRC）２２を行う。違反がある場合に、スペアセル選択２０に戻るなどによりDRC違反を自動的に修正する工程を組み合わせることができる。選択したスペアセルが遠方の場合には、予測される配線が長くなり負荷容量が大きくなるため、信号遷移が遅くなってDRC違反を発生させる恐れがある。そのような場合には、より大きい駆動力を持つスペアセルに換えるか、途中にリピータバッファを新たに追加して、DRC違反を解消する。このような実施形態の詳細な作用と効果については、後述する。本実施形態においては、ステップ２２は、従来の設計ルールチェック（DRC）であっても良い。
【００６８】
次に、置き換えられたスペアセルと、繋ぎ換えられた配線の配線抵抗と配線容量を使って、タイミング解析を行い、タイミング仕様が満足されているか否かを調べ（ステップ２３）、タイミング制約違反があればタイミング調整２４を行う。具体的には、配線がより短い経路となるように再配線を試みるなどの方法がある。図１はステップ２３に戻る場合のみを図示するが、配線繋ぎ換え２１に戻って配線を見直し、または、スペアセル選択２０に戻って別のスペアセルに割り付けを変更し、あるいはさらにスペアセル選択領域決定１９に戻って、領域をより拡げて処理をやり直すフローをとることもできる。これにより、タイミング違反を解消することができる可能性を高めることができる。
【００６９】
全てのDRC違反とタイミング制約違反を解消した後に、レイアウトデータ１４を払い出す。
【００７０】
複数の変更箇所があるECO処理において、変更箇所の回路特性情報に基づいて、処理順序を決定した場合の作用と効果について説明する。
【００７１】
図３は、信号動作率を考慮したスペアセル割り付けの処理内容の説明図である。（a）と（b）はそれぞれ変更前と論理変更されたネットリストの論理的な接続関係を表した回路図であり、（c）と（d）はそれぞれ変更前と論理変更されたレイアウトを表した図であり、（e）は変更対象ネットの信号動作率を表したタイミングチャートである。
【００７２】
変更前ネットリストは、ゲート６１〜６３と６４〜６６による論理回路であり、それぞれレイアウトセル８１〜８３と８４〜８６が対応している。ゲート９１と９２はスペアセルであり、変更前ネットリストでは、使用されていない。CMOS回路では入力が解放状態であると貫通電流が流れるので、入力を電源接続するか接地する処理が施されているだけである。
【００７３】
（b）に示すように、ゲート６１と６３の間のネットAにゲート７１を挿入する変更と、ゲート６４と６６の間のネットBにゲート７２を挿入する変更の２か所の変更箇所がある例を示している。ここで、変更箇所であるネットAとネットBの信号動作率は、（e）に示すように、ネットBの方がネットAの信号動作率よりも高いものとして説明する。
【００７４】
従来技術においては、複数の変更箇所があっても、処理順序が規定されていないので、ネットAの変更とネットBの変更のどちらが先に行われるかは、ソフトウェア上のデータの出現順によって決まり、ユーザーからは制御することができない。仮にネットAの変更処理を先に行うと、（c）に示すようにスペアセル９１を使うかスペアセル９２を使うかの選択が行われる。この例では、変更するネットAにより近いのはスペアセル９２が選択され、ゲート７１に割り付けられる（ステップ２０）。それに伴いレイアウトデータに対して、ネットAを削除して新たにゲート８１からスペアセル９２へとスペアセル９２からゲート８３への配線が形成される（ステップ２１）。その後、ネットBについての変更処理が実行されるときには、スペアセル９２は既にネットAの変更処理で使用されているので、ゲート７２にはスペアセル９１が割り付けられ、ゲート８４からスペアセル９１へとスペアセル９１からゲート８６への配線繋ぎ換え（２１）がなされる。その結果、ネットAに代わる、８１から９２を経て８３に至る配線が短く、ネットBに代わる、８４から９１を経て８６に至る配線が長くなる。ここで、ネットBの信号動作率がネットAよりも高いと仮定しているので、信号動作率の高いネットBの配線がより長くなるように変更されたことになる。
【００７５】
一方、本実施形態においては、変更箇所の信号動作率に基づき、より信号動作率の高い変更箇所を優先するように、変更処理の順序を決める。この例では、ネットBの信号動作率がネットAよりも高いので、ネットBの変更処理が先に行われる。その結果、ゲート７２にスペアセル９２が割り付けられ、その後ゲート７１にスペアセル９１が割り付けられ、（d）に示すように配線繋ぎ換えが行われる。その結果、信号動作率の高いネットBの配線が、より近いスペアセルが他の変更処理に先に使用されてしまい、必要以上に長くなってしまう事態を回避することができる。消費電力は信号動作率と負荷容量の積で決まるので、信号動作率の高いネットBの配線がより長くなると、消費電力が必要以上に大きくなる問題があるが、ネットBの変更処理を先に行うことにより、このような消費電力の増大を防止することができる。
【００７６】
これにより、複数の変更箇所のECOにおいても、消費電力を抑えた、回路およびレイアウトの変更を行うことができる。
【００７７】
〔実施形態２〕＜タイミング余裕の小さい変更箇所を優先処理（複数の変更箇所）＞
実施形態１は、変更箇所の信号動作率に基づき、より信号動作率の高い変更箇所を優先するように、変更処理の順序を決めるものであるが、実施形態２はこれに代えて、変更箇所の信号のタイミング余裕に基づき、よりタイミング余裕の小さい変更箇所を優先するように、変更処理の順序を決める。
【００７８】
図３においてネットAよりもネットBのタイミング余裕が小さいものとし、ネットAについての変更を先に行い、実施形態１で説明したのと同様にスペアセル９２がネットAの変更に先に使用されてしまい、ネットBの変更のためにゲート７２により遠いスペアセル９１が割り付けられたとする。その場合、タイミング余裕がより大きいネットAの変更後の配線よりも、タイミング余裕がより小さいネットBの変更後の配線がより長くなってしまう。このため、ネットBの変更後の信号伝搬経路は、ゲート７２が挿入された上にさらに配線も長いものとなるため、タイミング余裕はより小さくなり、タイミング制約違反になる恐れもある。
【００７９】
これに対し、よりタイミング余裕の小さい変更箇所を優先するように、変更処理の順序を決めることにより、よりタイミング余裕の小さい変更箇所には、先により近いスペアセルを割り付けることができ、配線は必要最小限に留めることができる。このため、複数の変更箇所のECOにおいても、変更によって新たに必要以上にタイミング違反を発生させないで、回路およびレイアウトのECOを行うことができる。
【００８０】
〔実施形態３〕＜信号動作率とタイミング余裕に基づく処理順序決定（複数の変更箇所）＞
実施形態１と実施形態２は、信号動作率とタイミング余裕のいずれか一方に基づいて変更箇所の処理順序を決定する例であるが、信号動作率とタイミング余裕の両方に基づいて、処理順序を決定することができる。
【００８１】
例えば、タイミング余裕がある所定値未満の場合には、タイミング余裕の小さい変更箇所を優先し、所定値以上の場合には、信号動作率の高いものを優先させることができる。これにより、ECOによってタイミング制約違反を発生させる確率の上昇を抑えることができる。
【００８２】
タイミング余裕が同程度の場合に、信号動作率によって処理順序を決めることもできる。逆に信号動作率が高いものを優先しながら、同程度の場合にタイミング余裕の小さいものを優先させることもできる。
【００８３】
これにより、複数の変更箇所のECOにおいても、タイミング制約を満たしながら且つ消費電力を抑えた、総合的に最適な回路およびレイアウトの変更を行うことができる。
【００８４】
なお、実施形態１、２および３では、処理順序を決めるために参照する変更箇所の回路特性情報として、信号動作率をタイミング余裕について説明したが、これらに代えてまたはこれらに加えて他の回路特性情報を参照して処理順序を決めてもよい。その他の回路特性情報としては、信号遷移時間の設計制約からの余裕、信号の周波数、ノイズを発生する量や耐性の大きさ、その他種々の回路特性に基づいて処理順序を決めることもできる。処理順序を決めるにあたってより優先した回路特性は、ECOの回路・レイアウト変更による劣化を、より優先して抑えることができる。
【００８５】
〔実施形態４〕＜スペアセル選択領域（複数の変更箇所に限らない）＞
変更箇所ごとにスペアセルを選択するためにサーチする領域を指定する実施形態について説明する。変更ネットに対してスペアセルの割り付けを行なう際、従来技術では変更ネットの中間及びその周辺に存在するスペアセルを割り付けていた。より詳しくは、ECOにおける論理変更は、一般に、変更前のネットを削除して、新たなスペアセルをその間に挿入し、配線を繋ぎなおすことが多いが、削除された変更前のネットに接続されていた２個もしくはそれ以上のゲートを結ぶ直線とその周辺に配置されているスペアセルを選択して割り付けていた。しかし、変更前のネットに接続されていたゲートを結ぶ線上に配線混雑領域があると、配線繋ぎ換えステップ２１で、その配線混雑領域を迂回する長い配線が形成される場合がある。本実施形態に係るスペアセル選択領域は、配線混雑領域を予め考慮してスペアセルを選択することができる領域を指定するものである。
【００８６】
図２は、消費電力を考慮したフリーズシリコンECOの詳細フローチャートである。図２に示した詳細フローによるLSI設計方法であるフリーズシリコンECOは、例えば、コンピュータを含むCADシステムによって実行される。
【００８７】
変更箇所について、信号の動作率を入力し（ステップ１３）、タイミングクリティカルなネット且つ動作率の高い順に処理順序を決定する（ステップ１８）。このステップ１７は、実施形態１〜３で説明した、いずれの形態であってもよく、また、変更箇所が複数である場合にも限定されず、変更箇所が１か所の場合にも有効である。
【００８８】
まず、ステップ１７によって決められた処理順序に従って変更対象ネットを決める（ステップ２５）。変更セルを近傍に仮想配置し（ステップ２６）、変更対象ネットの概略配線を行う（ステップ２７）。概略配線の配線経路の近傍をスペアセル選択領域とする（ステップ２８）。概略配線は、実際のレイアウトデータ上で行うため、配線の混雑状況などを反映することができる。詳細な作用および効果については、後述する。
【００８９】
ステップ２８で決められたスペアセル選択領域をサーチして、対象スペアセルが存在するか否かを判定する（ステップ２９）。対象スペアセルとは、ECO用ネットリスト１２において変更のために追加されたセルであって、それと同じサイズ、異なるサイズ、異なる閾値電圧（Vth）などのセルを指す。
【００９０】
選択領域内に対象スペアセルがなければ、選択範囲がチップ全体と一致するまでスペアセル選択範囲を拡大する（ステップ３０、３１）。これにより、当初のスペアセル選択領域に適切なスペアセルがない場合でも、適切なスペアセルが選択できるまで、スペアセル選択領域を拡大しながら処理を継続することができる。選択範囲をチップ全体にまで拡大しても適切なスペアセルが発見できないときは、変更処理を断念して次の変更箇所の変更処理に移る。最終的には、適切なスペアセルを発見できなかった変更箇所については、修正プランを変更して再度ECOを試みることになる。
【００９１】
ステップ２９で、選択領域内に複数の対象スペアセルが発見された場合には、その１つに着目してそのスペアセルを使用した場合のタイミング計算、パワー計算などを実施し（ステップ３２）、新たなタイミング違反を発生させず、パワーが最小となるスペアセルを選択する（ステップ３３）。ステップ３２とステップ３３は、従来技術同様、ECO用ネットリスト１２で指定された、回路変更情報と同機能、同サイズ、同Vthの対象スペアセルが初めて発見された時点でそのスペアセルを選択してサーチを終わることもできる。しかし、同じ機能でさえあれば、異なるサイズ、異なる閾値電圧（Vth）などのセルをも対象スペアセルとして選択可能とすることにより、選択できるスペアセルの自由度を拡大することができ、より消費電力を抑えた回路およびレイアウトの変更を行うことができる。後述の実施形態５および６で詳述する。
【００９２】
次に、選択されたスペアセルに対し、配線の繋ぎ換えを行う（ステップ２１）。選択されたスペアセルは、選択された時点で、レイアウト上のセルと１：１に対応付けられる。変更前の配線から変更に係る配線を削除して、レイアウト上のスペアセルに対して新たな配線を形成する。
【００９３】
次に、新たな配線について、設計ルールチェック（DRC）を行う（ステップ２３）。ここで、実施形態７に後述するDRC違反の自動修正処理を行うと好適である。ただし、自動修正処理は必ずしも必須ではなく、ステップ２２は、従来の設計ルールチェックであってもよい。
【００９４】
その後は図１に示したフローチャートのように、タイミング検証（ステップ２３）とタイミング制約違反があった場合のタイミング調整（ステップ２４）を実行し、レイアウトデータ１４を出力して終了する。
【００９５】
配線混雑領域を予め考慮して、スペアセルを選択するためのサーチ領域を指定する方法について、詳しく説明する。
【００９６】
図４は、スペアセル選択領域を用いたスペアセル割り付けの処理内容の説明図である。（a）と（b）はそれぞれ、変更前と論理変更されたネットリストの論理的な接続関係を表した回路図であり、（c）と（d）はそれぞれ、変更前と論理変更されたレイアウトを表した図である。
【００９７】
変更前ネットリストは、ゲート６１〜６３による論理回路であり、それぞれレイアウトセル８１〜８３が対応している。ゲート７３は論理変更ネットリストで回路変更情報として追加されたゲートである。論理的なネットリスト上では駆動力がX3のNANDとして記述されている。駆動力とは、負荷の大きさを駆動する力を段階的に表すもので、セルベースのLSI設計で多用されている。「X」は「倍」を象徴し、最小寸法の論理ゲートの駆動力に対して相対的な駆動力の大きさを数字で表したものである。数字が大きい方が、大きな負荷を駆動することができる一方、消費電力も大きい。ゲート９３と９４はスペアセルであり、変更前ネットリストでは、使用されていない。いずれも、駆動力がX2のNANDである。
【００９８】
図４では、（b）に示すように、新たにゲート７３を追加し、ゲート６２からゲート６３に至る配線を削除して、ゲート６２から追加したゲート７３への配線を追加する回路変更を、一例として取り上げて説明する。この変更箇所の近傍に配置されているスペアセルは９３と９４である。変更によって削除される配線が４３であるため、従来技術によれば、配線４３の近傍である近傍エリア４７の中でスペアセルをサーチする。そのため、この例では、スペアセル９３が選択されることになる。しかし、（d）に示すように、ゲート８２とスペアセル９３との間には、配線混雑エリア４４が存在する。配線混雑エリアとは、配線が密集しているために、ここを通過する新たな配線を形成することができないエリアである。そのため、従来技術では、その配線混雑エリアを迂回した配線が形成されることとなる。
【００９９】
しかし、ここで取り上げた例では、追加されるスペアセル７３は、元のゲート６３の近傍である必要はない。客観的にはスペアセル９４を選択した方が、配線経路を短くすることができることが分かる。
【０１００】
そこで、本実施形態においては、概略配線を行い（ステップ２７）、それに基づいてスペアセル選択領域を設定する（ステップ２８）。まず、従来技術により、スペアセル９３を仮想配置する（ステップ２６）。そして、ゲート６２からスペアセル９３に至る配線を形成する（ステップ２７）。それが、概略配線４５である。この概略配線の周囲に、スペアセル選択領域４６を設定する（ステップ２８）。設定したスペアセル選択領域４６において、対象スペアセルをサーチすると、スペアセル９３とともに、スペアセル９４も発見することができる。スペアセル９３と９４のそれぞれについて、タイミング計算とパワー計算を行って（ステップ３２）、新たなタイミング違反を発生させず、パワーが最小となるようなスペアセルを選択する（ステップ３３）。この例では、スペアセル９４が選択される。従来技術では、配線混雑エリア４４を考慮していないので、迂回配線が生じてしまうが、本実施形態では、配線混雑エリアを考慮したより適切なスペアセルを選択してより短い配線を形成することができ、タイミング制約を満たし、かつ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【０１０１】
以上説明したように、本実施形態４は、ECOの変更箇所が複数である場合に限られず、１か所の場合でも、上記効果を奏するものである。複数の変更箇所がある場合には、実施形態１〜３で説明した実施形態と組み合わせて実施することによって、より適切なスペアセル割り付けを行い、タイミング制約を満たしながら且つ消費電力を抑えた、総合的に最適な回路およびレイアウトの変更を行うことができる。
【０１０２】
〔実施形態５〕＜より低消費電力のスペアセルの選択＞
スペアセル選択エリア４６の中に、複数の対象スペアセルが発見されたときには、タイミング計算とパワー計算を行って、最適のスペアセルを選択する（ステップ３２）。
【０１０３】
図５は、低消費電力スペアセルを選択的に割り付ける処理内容の説明図である。（a）と（b）はそれぞれ、変更前と論理変更されたネットリストの論理的な接続関係を表した回路図であり、（c）と（d）はそれぞれ、変更前と論理変更されたレイアウトを表した図である。変更前ネットリストは、ゲート６１〜６３による論理回路であり、それぞれレイアウトセル８１〜８３が対応している。ゲート７４は論理変更ネットリストで回路変更情報として追加されたゲートで、low Vthで駆動力X8のNANDが指定されているものとする。ここで、「low Vth」は閾値電圧が低いことを意味する。一般に閾値電圧を低くすると、信号の伝搬遅延が小さくなり高速の回路に使うことができる反面、リーク電力、信号遷移時の貫通電流が大きいなどのため、消費電力は大きくなる。速度と消費電力のトレードオフにおいて最適化するために、複数のVthのセルを使い分けることが回路特性上からは理想的であるが、多種類のVthのセルを提供することは、設計ツールに係る負担が大きいばかりでなく、LSIの製造工程も複雑にして製造コストを上昇させるため、一般には、高低２種類が提供されていることが多い。この図の例では、「low Vth」と「high Vth」の２種類の閾値電圧のゲートが提供されているものとして、説明する。
【０１０４】
（c）に示すように、変更前のゲート８１〜８３の近傍には、スペアセル９５と９６が存在している。ステップ２９においては、スペアセル９５と９６が発見され、スペアセル９５はlow Vthとスペアセル９６はhigh Vthであるとする。論理変更ネットリストでは、ゲート７４でlow Vthで駆動力X8のNANDが指定されているが、ステップ３２において、タイミング計算とパワー計算を行い、新たなタイミング違反を発生させない条件下でパワー最小のスペアセルを選択する（ステップ３２、３３）。ここで、スペアセル９５と９６のいずれにおいてもタイミング制約を満足する場合には、より消費電力を小さいスペアセル９６を選択する。ここで、「新たなタイミング違反を発生させない」とは、変更前のネットリストに既にタイミング違反があった場合にはそのタイミング余裕を必要以上に悪化させなければよく、変更前のネットリストにタイミング違反がない場合に、変更によって新たにタイミング違反を発生させないことを意味する。実際のLSI設計では、全てのタイミング違反が解消されているとは限らず、機能面で制約するなどの代替手段によってタイミング違反が許容あるいは実動作に悪影響を与えないように隠蔽されているネットが含まれている場合がある。このようなネットに対して変更処理を行う場合には、必ずしもタイミング制約を満足する必要はない。
【０１０５】
以上の説明した実施形態により、タイミング制約に余裕がある場合に、より消費電力の小さいスペアセルを選択することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【０１０６】
〔実施形態６〕＜複数のスペアセルの組合せの割り付け＞
スペアセル選択エリア４６の中に、対象スペアセルと同一機能のスペアセルが発見されなかったときには、スペアセル選択エリア４６の中の複数のスペアセルを組み合わせて論理的に等価となるように、スペアセルを選択する（ステップ３２）。
【０１０７】
図６は、複数のスペアセルの組合せを割り付ける処理内容の説明図である。（a）と（b）はそれぞれ、変更前と論理変更されたネットリストの論理的な接続関係を表した回路図であり、（c）と（d）はそれぞれ、変更前と論理変更されたレイアウトを表した図である。変更前ネットリストは、ゲート６１〜６３による論理回路であり、それぞれレイアウトセル８１〜８３が対応している。ゲート７４は論理変更ネットリストで回路変更情報として追加されたゲートで、駆動力X3の2入力NANDが指定されているものとする。
【０１０８】
スペアセル選択領域４６には、2入力ANDのスペアセル９７とINV（インバータ）のスペアセル９８は存在するが、NANDのスペアセルは存在しない。ここで、ステップ３１に進み、スペアセル選択領域を拡大してNANDのスペアセルのサーチを続けることもできる。しかし、その場合には、配線が長くなってタイミングと消費電力において不利となることが予想される。そこで、本実施形態６では、スペアセル選択領域４６で発見された複数のスペアセルを組み合わせて、論理変更ネットリストで回路変更情報として追加されたゲート７４と論理的に等価となる場合には、ステップ３２と３３においてその複数のスペアセルの組合せを選択するものである。図６の例では、2入力ANDのスペアセル９７とINVのスペアセル９８を組み合わせると、2入力NANDと論理的に等価となるので、スペアセル９７と９８の組合せについて、ステップ３２においてタイミング計算とパワー計算を行う。新たなタイミング違反を発生させずにパワー最小となれば、この組み合わせを選択する（ステップ３３）。
【０１０９】
これにより、選択することができるスペアセルの自由度をさらに拡大することができ、消費電力を抑えた回路およびレイアウトの変更を行うことができる。
【０１１０】
〔実施形態７〕＜設計ルール違反の自動対策＞
設計ルール（DRC）違反の自動対策について説明する。設計ルールチェック（DRC）は、例えば、コンピュータを含むCADシステムによって実行される。ここで言う設計ルールとは、主に信号の遷移時間を指す。ECO処理によって配線が長くなった結果、立上りまたは立下り波形が鈍り、設計ルールに定められた信号遷移時間の制約に違反する場合がある。このような場合には、駆動するセルをより大きな駆動力のものに変える他、長くなった配線の途中にリピータバッファを挿入することによって対策することができる。実施形態６で説明した技術は、論理的に等価な複数のスペアセルの組合せを選択するものであるので、DRC違反を修正する目的にも応用することができる。
【０１１１】
図７は、設計ルール（DRC）違反を自動的に対策する処理内容の説明図である。（a）、（c）および（f）はそれぞれ、変更前のネットリスト、論理変更された後DRCを発生したネットリスト、および発生したDRCエラーを自動修正したネットリストの論理的な接続関係を表した回路図である。（b）、（d）および（g）はそれぞれ、（a）、（c）および（f）に対応するレイアウトを表した図である。（e）と（h）は、新たに形成された配線の立上り波形を示すタイミングチャートである。
【０１１２】
（a）と（c）に示すように、ゲート６１〜６３による論理回路のゲート６１と６３の間にゲート７４を挿入する。レイアウト上では、ゲート６１〜６３に対応するセル８１〜８３の近傍に、スペアセル９５が存在している。この変更を行うと、ゲート７４と同一機能のスペアセル９５が選択され、ゲート８１とスペアセル９５の配線と、スペアセル９５とゲート８３の間の配線（ネットC）とが形成される。ネットCは、配線経路が長く、（e）に示すように立上り波形が鈍ってDRCエラーが発生している。ステップ３４でこのDRCエラーを検出すると、スペアセル選択領域４６の中に存在する他のスペアセルをさらにサーチする（ステップ２９）。スペアセル９５を発見した選択領域４６の中に発見できなければ、選択領域を拡大してサーチして（ステップ３１）。スペアセル９９を発見する。スペアセル９９はバッファであるので、既に発見しているスペアセル９５と組み合わせることにより、ゲート７４と論理的に等価である。レイアウト上は発見したスペアセル９９をリピータバッファとして挿入して配線を繋ぎ換える（ステップ２１）。（g）に示すように、ネットCはネットDとネットEに繋ぎ換えられる。（f）に示すように、論理ネットリストでは対応するスペアセル７５を、リピータバッファとして挿入する。ネットDとネットEは、ネットCに比べて短く形成することができるため、（h）に示すようにネットDとネットEの立上り波形は鈍ることはなく、DRCエラー解消することができる。
【０１１３】
これにより、変更処理によって新たに発生した設計ルール違反を、同じECO処理の内部で自動的に対策することができる。
【０１１４】
以上の説明は、使用スペアセルを決定し、詳細配線を実施（ステップ２１）した後に、設計ルールチェックを行ってDRCエラーを発見し、スペアセル選択ステップ２９に戻ってそのDRCエラーを自動修正するものであるが、上述の実施形態４で実施した概略配線をベースに最終的に信号遷移時間などのDRC違反が発生するかどうかをECO処理中に把握することも可能である。
【０１１５】
通常のECO処理によりスペアセルを割り付けた後、変更箇所でDRC違反が発生した場合、エラーネットに着目して概略配線経路上の最適な領域をスペアセル選択領域として設定する。設定したスペアセル選択領域内でリピータセル(信号遷移時間対策用セル)となり得るスペアセルを選択して割り付ける。図７では、ECOとして駆動力X3のNANDスペアセルを使用した結果、信号遷移時間エラーのDRC違反が発生するため、概略配線経路上により適切なスペアセル選択領域を設定し直し、領域内の駆動力X３のBUFであるスペアセル９９を用いてDRCエラーの対策を実施することができる。これにより、詳細配線を行うよりも早い段階でDRCエラーの発生を未然に予想して防止することができる。
【０１１６】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０１１７】
例えば、フリーズシリコンECO処理における実施形態について種々説明したが、下地層のレイアウトを維持しない通常のECO処理にも対しても同様に実施することができる。これにより、レイアウト設計を一旦完了した時点で発見された論理バクを対策するための回路変更を、大幅な手戻りなしに実施することができる。レイアウト設計を完了するためには、タイミング制約など多くの設計仕様を満足させるように調整する必要があるが、レイアウト設計完了時のレイアウトからの変更が大きくない場合には、変更箇所のみの再調整を行えば足りるからである。
【符号の説明】
【０１１８】
１１  レイアウト後データベース
１２  ECO用ネットリスト
１３  変更箇所の回路特性情報（信号動作率など）
１４  変更後のレイアウトデータ
１５  ネットリストの差分抽出
１８  変更箇所の処理順序決定
１９、２８  スペアセル選択領域決定
２０  スペアセル選択
２１  配線繋ぎ換え（配線処理）
２２  設計ルールチェック
２７  概略配線
３２  タイミング・パワー計算
３４  設計ルールチェック（DRC）
４５  概略配線
４６  スペアセル選択領域
６１〜６６  既に使われているセル（ネットリストにおける論理シンボル）
７１〜７５  スペアセル（ネットリストにおける論理シンボル）
８１〜８６  既に使われているセル（レイアウトにおけるセル）
９１〜９９  スペアセル（レイアウトにおけるセル）
【図１】
2013191025.tif 000003
【図２】
2013191025.tif 000004
【図３】
2013191025.tif 000005
【図４】
2013191025.tif 000006
【図５】
2013191025.tif 000007
【図６】
2013191025.tif 000008
【図７】
2013191025.tif 000009