(57)【要約】【課題】レイアウト設計の段階でエレクトロマイグレーションを抑制して、設計時間の短縮化を図る。【解決手段】論理回路設計装置２００で作成されたロジック設計時の検証データから、各セル間の信号の動作を規定する遷移係数（信号遷移係数）を求め、この信号遷移係数を評価基準としてレイアウト設計を行う。セルの配置処理を行う際に、仮想配線長や配線混雑度に加えて、各セル間の信号遷移係数を用いて、消費電力がチップ内で均一化されるように、セルの配置位置を決定する。また、配置配線処理の対象となるセルブロックを決定し、そのセルブロック単位で配置処理を行う場合には、各セル間の信号遷移係数および各セルの消費電力を評価基準として、セルブロックの分割・併合を行う。概略配線処理および詳細配線処理を行う際には、配線要求に対する信号遷移係数の値が大きなものから順番に配線経路を決定する。【選択図】　　図１
2004104039.tif 000002
【特許請求の範囲】
【請求項１】
集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、
該設計処理は、論理回路設計時の検証結果から各論理回路素子間の信号遷移係数を求める処理と、求められた信号遷移係数を評価基準として配置配線処理を行う処理とを有する集積回路の自動配置配線設計方法。
【請求項２】
集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、
該設計処理は、論理回路設計時の検証結果から、各論理回路素子間の信号遷移係数を求める処理と、該信号遷移係数から計算される各論理回路素子の消費電力および配線の消費電力がチップ内で均一化されるように、各論理回路素子の配置位置を決定する処理とを有する集積回路の自動配置配線設計方法。
【請求項３】
集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、
配置配線対象となる論理回路素子の部分集合を決定して、部分集合単位で配置処理を行う場合に、
論理回路設計時の検証結果から、各論理回路素子間の信号遷移係数を求め、求められた信号遷移係数から各論理回路素子の消費電力を求める処理と、
消費電力が大きい論理回路素子を予め指定された部分集合数の整数倍だけ選択し、全ての論理回路素子を、選択された論理回路素子を含む部分集合に初期分割する処理と、
全ての部分集合について、各部分集合間での消費電力が均一化されるように論理回路素子を一つづつ異なる部分集合に移動させる処理を、移動後の各部分集合間での消費電力が所定の偏差になるまで繰り返す処理と、
各部分集合間での消費電力が均一化されるように部分集合を併合する処理を、部分集合数が指定された部分集合数に達するまで繰り返す処理とを有する集積回路の自動配置配線設計方法。
【請求項４】
集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、
概略配線処理を行う際に、
チップ上に水平方向および垂直方向の直線からなる概略配線用格子を生成し、該概略配線用格子を構成する概略配線用矩形の中心点間を直線で結ぶ辺からなる概略配線グラフを形成する処理と、
該概略配線グラフの各辺を通過する配線通過容量を算出して、算出された配線通過容量が該概略配線グラフの配線容量を超えず、かつ、配線密度が均一化されるように、概略配線経路を決定する処理とを有する集積回路の自動配置配線設計方法。
【請求項５】
論理回路設計時の検証結果から、配線要求に対する信号遷移係数を求め、求められた信号遷移係数が大きいものから順番に概略配線処理を行う処理を有する請求項４記載の集積回路の自動配置配線設計方法。
【請求項６】
集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、
熱放出素子の配置位置を決定する際に、
概略配線用グラフの各辺を通過する配線通過本数を求める処理と、
論理回路設計時の検証結果から、各論理回路素子間の信号遷移係数を求め、求められた信号遷移係数から、概略配線用格子を構成する各概略配線用矩形内の論理回路素子および配線通過本数によって発生する放出熱量を算出する処理と、
算出された放出熱量が所定の値を超える場合に、その概略配線用矩形内に設けられたＭＯＳトランジスタのうち、発生熱量が大きいＭＯＳトランジスタに対して、熱放出素子を配置する処理とを有する集積回路の自動配置設計方法。
【請求項７】
集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、
詳細配線処理を行う際に、
概略配線用格子を構成する概略配線用矩形の各辺上に、その辺を通過する配線用の信号端子を配置する処理と、
配置された信号端子および概略配線用矩形内に含まれる論理回路素子の端子の間の配線要求に対して、配線容量成分および経路によって算出される抵抗成分を求め、求められた配線容量成分および抵抗成分から熱量を算出し、算出された熱量が最小となるように、詳細配線経路を決定する処理とを有する集積回路の自動配置配線設計方法。
【請求項８】
論理回路設計時の検証結果から、配線要求に対する信号遷移係数を求め、求められた信号遷移係数が大きいものから順番に詳細配線処理を行う処理を有する請求項７記載の集積回路の自動配置配線設計方法。
【請求項９】
請求項１〜８のいずれかに記載の自動配置配線設計方法の各処理手順をコンピュータに実行させる制御プログラム。
【請求項１０】
請求項９記載の制御プログラムが記録されたコンピュータ読み取り可能な可読記録媒体。
【請求項１１】
請求項９記載の制御プログラムが記憶される第１記憶手段と、
論理回路設計データが記憶される第２記憶手段と、
論理回路設計時の検証結果データが記憶される第３記憶手段と、
論理回路素子の配置データが記憶される第４記憶手段と、
論理回路素子間の配線データが記憶される第５記憶手段と、
外部からデータが入力されると共に、外部にデータを出力する入出力手段と、
配置パラメータおよび配線パラメータの入力処理を可能とするパラメータ入力手段と、
該第１記憶手段に記憶された制御プログラムに従って、請求項１〜８のいずれかに記載の自動配置配線設計方法の各処理手順をコンピュータに実行させる制御手段とを備えた集積回路の自動配置配線設計装置。
【請求項１２】
請求項１１記載の自動配置配線設計装置の入出力手段に、論理回路設計およびその検証を行って論理回路設計データおよび論理回路設計時の検証結果データを得る論理回路設計装置と、前記配置配線処理の結果データに基づいて集積回路製造用マスクデータを生成するマスク生成装置とが接続されている集積回路の自動配置配線設計システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばＶＬＳＩ（Ｖｅｒｙ　Ｌａｒｇｅ　Ｓｃａｌｅ　ＩｎｔｅｇｒａｔｅｄＣｉｒｃｕｉｔ）などの集積回路において、論理回路素子の位置情報および論理回路素子間の配線情報を決定するレイアウト設計処理に用いられる集積回路の自動配置配線設計方法、その自動配置配線設計装置、その自動配置配線設計システム、制御プログラムおよび可読記録媒体に関する。
【０００２】
【従来の技術】
例えばＶＬＳＩ（Ｖｅｒｙ　Ｌａｒｇｅ　Ｓｃａｌｅ　ＩｎｔｅｇｒａｔｅｄＣｉｒｃｕｉｔ：超大規模集積回路）においては、搭載される回路規模の更なる増大、高性能化、多機能化などが強く要求されている。
【０００３】
製造プロセスの微細化に伴って、ＶＬＳＩに搭載可能な回路規模は非常に大きなものとなってきており、その設計は従来と比べて複雑になり、設計期間が非常に長くなってきている。その一方で、ＶＬＳＩが搭載される製品の市場ではライフサイクルの短縮化が進んでおり、ＶＬＳＩについても設計期間の短縮化が必要とされている。このような背景から、集積回路の設計においては、自動化技術が用いられている。
【０００４】
集積回路の設計においては、まず、所望の機能が得られるように動作や構成を決定するアーキテクチャ設計（システム設計）が行われる。次に、アーキテクチャ設計で決定された仕様に基づいて、機能ブロック間の関係と機能ブロック内部の動作を決定し（レジスタ転送レベル設計）、各機能ブロックを基本ゲート回路（ＮＡＮＤ、ＮＯＲ回路など）の組み合せで構成し（ゲートレベル設計）、トランジスタレベルで回路と素子の特性を決定（回路設計）するロジック設計（論理回路設計）が行われる。その後、所望の特性を確保しつつ、チップ面積が最小となるように、チップ内の各機能ブロックや素子の配置および配線を決定するレイアウト設計（配置配線設計）が行われ、各製造工程毎に用いられるマスクパターンを作製するパターン設計が行われる。また、各設計段階では、コンピューターによるシミュレーションおよび検証が行われる。
【０００５】
このうち、特に、レイアウト設計では、部品化された論理回路素子（セル）を用いて、その部品の位置を決定する配置処理、および部品間の接続を金属材料を用いて行う配線処理の研究が古くから行われている。このような部品化された論理回路素子としては、ＣＰＵコアなどのような特定の機能を有するマクロセルブロック、フリップフロップ回路、ラッチ回路、ＮＡＮＤ回路およびＮＯＲ回路などのように基本的な機能を実現し、高さおよび幅がほぼ等しいかまたはその整数倍であるスタンダードセルなどが挙げられる。
【０００６】
また、回路規模が大きい場合には、配置配線処理の対象となる論理的な機能ブロック（部分集合）を決定して、その部分集合単位で配置配線処理を行う方法も用いられている。
【０００７】
このレイアウト設計では、論理回路素子（セル）やその部分集合（セルブロック）の配置処理を行った後で、セル間やセルブロック間の配線処理を行うため、配線長、配線密度などによって表される配線の品質は、セルやセルブロックの配置に依存する。よって、配置処理を行う際に配線の品質を評価する基準が必要とされ、配置処理の段階で、仮想配線長や配線混雑度の予測を行うことによって、配線の品質が評価されている。
【０００８】
しかしながら、製造プロセスの微細化に伴って、従来では見られなかった物理的な現象がＶＬＳＩなどの動作に影響を与え、設計段階で正常な動作が確認されているにもかかわらず、製造後の検査でＶＬＳＩが正常に動作しないといった問題が発生するようになってきている。
【０００９】
具体的には、配線に用いられる金属材料に過大な電流が流れたり、配線の局所的な集中によって電力消費が過大な部分が発生して、配線・素子が熔断するというエレクトロマイグレーションが生じ、断線やショートが発生するなど、熱的な問題が無視できなくなっており、レイアウト設計の信頼性に関して、より注意を払うことが必要となってきている。
【００１０】
この問題に対して、従来技術では、ロジック設計の段階で、論理レベルが”０”から”１”へ、”１”から”０”へ変化する信号の遷移係数を論理シミュレーションの結果から計算して、その信号遷移係数を用いて消費電力を計算し、どの箇所で問題が発生するのかを調べるというように、現象を解析することを主眼とした手法がほとんどである。
【００１１】
【発明が解決しようとする課題】
例えばＶＬＳＩなどの設計において、アーキテクチャ設計、ロジック設計、レイアウト設計というように、各設計段階で扱うデータによって表現される内容は、抽象度の高いものから低いものへと順次移行していく。
【００１２】
従来技術では、エレクトロマイグレーションなどの熱的な問題に対して、ロジック設計などのように比較的抽象度の高い段階での情報に基づいて現象を解析するというものであり、その情報を積極的にレイアウト設計で活用する手法については提案されていない。
【００１３】
このように、従来技術では、レイアウト設計が終わった後、製造後の検査などで発生した不具合箇所を解析結果から見い出し、その修正と解析とを行うことによって問題を解決する設計手法であるため、集積回路の設計に長い時間が必要となっている。
【００１４】
本発明は、上記従来の問題を解決するもので、レイアウト設計の段階でエレクトロマイグレーションを防いで、全設計時間の短縮化を図ることができる集積回路の自動配置配線設計方法、その自動配置配線設計装置、その自動配置配線設計システム、制御プログラムおよび可読記録媒体を提供することを目的とする。
【００１５】
【課題を解決するための手段】
本発明の集積回路の自動配置配線設計方法は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、設計処理は、論理回路設計時の検証結果から各論理回路素子間の信号遷移係数を求める処理と、求められた信号遷移係数を評価基準として配置配線処理を行う処理とを有するものであり、そのことにより上記目的が達成される。
【００１６】
また、本発明の集積回路の自動配置配線設計方法は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、設計処理は、論理回路設計時の検証結果から、各論理回路素子間の信号遷移係数を求める処理と、信号遷移係数から計算される各論理回路素子の消費電力および配線の消費電力がチップ内で均一化されるように、各論理回路素子の配置位置を決定する処理とを有するものであり、そのことにより上記目的が達成される。
【００１７】
さらに、本発明の集積回路の自動配置配線設計方法は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、配置配線対象となる論理回路素子の部分集合を決定して、部分集合単位で配置処理を行う場合に、論理回路設計時の検証結果から、各論理回路素子間の信号遷移係数を求め、求められた信号遷移係数から各論理回路素子の消費電力を求める処理と、消費電力が大きい論理回路素子を予め指定された部分集合数の整数倍だけ選択し、全ての論理回路素子を、選択された論理回路素子を含む部分集合に初期分割する処理と、全ての部分集合について、各部分集合間での消費電力が均一化されるように論理回路素子を一つづつ異なる部分集合に移動させる処理を、移動後の各部分集合間での消費電力が所定の偏差になるまで繰り返す処理と、各部分集合間での消費電力が均一化されるように部分集合を併合する処理を、部分集合数が指定された部分集合数に達するまで繰り返す処理とを有するものであり、そのことにより上記目的が達成される。
【００１８】
さらに、本発明の集積回路の自動配置配線設計方法は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、概略配線処理を行う際に、チップ上に水平方向および垂直方向の直線からなる概略配線用格子を生成し、概略配線用格子を構成する概略配線用矩形の中心点間を直線で結ぶ辺からなる概略配線グラフを形成する処理と、概略配線グラフの各辺を通過する配線通過容量を算出して、算出された配線通過容量が概略配線グラフの配線容量を超えず、かつ、配線密度が均一化されるように、概略配線経路を決定する処理とを有するものであり、そのことにより上記目的が達成される。
【００１９】
さらに、好ましくは、本発明の集積回路の自動配置配線設計方法における論理回路設計時の検証結果から、配線要求に対する信号遷移係数を求め、求められた信号遷移係数が大きいものから順番に概略配線処理を行う処理を有する。
【００２０】
さらに、本発明の集積回路の自動配置配線設計方法は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、熱放出素子の配置位置を決定する際に、概略配線用グラフの各辺を通過する配線通過本数を求める処理と、論理回路設計時の検証結果から、各論理回路素子間の信号遷移係数を求め、求められた信号遷移係数から、概略配線用格子を構成する各概略配線用矩形内の論理回路素子および配線通過本数によって発生する放出熱量を算出する処理と、算出された放出熱量が所定の値を超える場合に、その概略配線用矩形内に設けられたＭＯＳトランジスタのうち、発生熱量が大きいＭＯＳトランジスタに対して、熱放出素子を配置する処理とを有するものであり、そのことにより上記目的が達成される。
【００２１】
さらに、本発明の集積回路の自動配置配線設計方法は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計方法において、詳細配線処理を行う際に、概略配線用格子を構成する概略配線用矩形の各辺上に、その辺を通過する配線用の信号端子を配置する処理と、配置された信号端子および概略配線用矩形内に含まれる論理回路素子の端子間の配線要求に対して、配線容量成分および経路によって算出される抵抗成分を求め、求められた配線容量成分および抵抗成分から熱量を算出し、算出された熱量が最小となるように、詳細配線経路を決定する処理とを有するものであり、そのことにより上記目的が達成される。
【００２２】
さらに、好ましくは、本発明の集積回路の自動配置配線設計方法において、論理回路設計時の検証結果から配線要求に対する信号遷移係数を求め、求められた信号遷移係数が大きいものから順番に詳細配線処理を行う処理を有する。
【００２３】
本発明の制御プログラムは、請求項１〜８のいずれかに記載の自動配置配線設計方法の各処理手順をコンピュータに実行させるものであって、そのことにより上記目的が達成される。
【００２４】
本発明の可読記録媒体は、請求項９記載の制御プログラムが記録されたコンピュータ読み取り可能であって、そのことにより上記目的が達成される。
【００２５】
本発明の集積回路の自動配置配線設計装置は、請求項９記載の制御プログラムが記憶される第１記憶手段と、論理回路設計データが記憶される第２記憶手段と、論理回路設計時の検証結果データが記憶される第３記憶手段と、論理回路素子の配置データが記憶される第４記憶手段と、論理回路素子間の配線データが記憶される第５記憶手段と、外部からデータが入力されると共に、外部にデータを出力する入出力手段と、配置パラメータおよび配線パラメータの入力処理を可能とするパラメータ入力手段と、第１記憶手段に記憶された制御プログラムに従って配置配線処理手順を実行させる制御手段とを備えており、そのことにより上記目的が達成される。
【００２６】
また、本発明の集積回路の自動配置配線設計システムは、請求項１１記載の自動配置配線設計装置の入出力手段に、論理回路設計およびその検証を行って論理回路設計データおよび論理回路設計時の検証結果データを得る論理回路設計装置と、配置配線処理の結果データに基づいて集積回路製造用のマスクデータを生成するマスク生成装置とが接続されており、そのことにより上記目的が達成される。
【００２７】
以上の本発明の集積回路の自動配置配線設計方法を装置として表現すると、本発明の集積回路の自動配置配線設計装置は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計装置において、設計処理は、論理回路設計時の検証結果から各論理回路素子間の信号遷移係数を求める手段と、求められた信号遷移係数を評価基準として配置配線処理を行う手段とを有するものであり、そのことにより上記目的が達成される。
【００２８】
また、本発明の集積回路の自動配置配線設計装置は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計装置において、設計処理は、論理回路設計時の検証結果から、各論理回路素子間の信号遷移係数を求める手段と、信号遷移係数から計算される各論理回路素子の消費電力および配線の消費電力がチップ内で均一化されるように、各論理回路素子の配置位置を決定する手段とを有するものであり、そのことにより上記目的が達成される。
【００２９】
さらに、本発明の集積回路の自動配置配線設計装置は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計装置において、配置配線対象となる論理回路素子の部分集合を決定して、部分集合単位で配置処理を行う場合に、論理回路設計時の検証結果から、各論理回路素子間の信号遷移係数を求め、求められた信号遷移係数から各論理回路素子の消費電力を求める手段と、消費電力が大きい論理回路素子を予め指定された部分集合数の整数倍だけ選択し、全ての論理回路素子を、選択された論理回路素子を含む部分集合に初期分割する手段と、全ての部分集合について、各部分集合間での消費電力が均一化されるように論理回路素子を一つづつ異なる部分集合に移動させる処理を、移動後の各部分集合間での消費電力が所定の偏差になるまで繰り返す手段と、各部分集合間での消費電力が均一化されるように部分集合を併合する処理を、部分集合数が指定された部分集合数に達するまで繰り返す手段とを有するものであり、そのことにより上記目的が達成される。
【００３０】
さらに、本発明の集積回路の自動配置配線設計装置は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計装置において、概略配線処理を行う際に、チップ上に水平方向および垂直方向の直線からなる概略配線用格子を生成し、概略配線用格子を構成する概略配線用矩形の中心点間を直線で結ぶ辺からなる概略配線グラフを形成する手段と、概略配線グラフの各辺を通過する配線通過容量を算出して、算出された配線通過容量が概略配線グラフの配線容量を超えず、かつ、配線密度が均一化されるように、概略配線経路を決定する手段とを有するものであり、そのことにより上記目的が達成される。
【００３１】
さらに、好ましくは、本発明の集積回路の自動配置配線設計装置は、論理回路設計時の検証結果から、配線要求に対する信号遷移係数を求め、求められた信号遷移係数が大きいものから順番に概略配線処理を行う手段を有する。
【００３２】
さらに、本発明の集積回路の自動配置配線設計装置は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計装置において、熱放出素子の配置位置を決定する際に、概略配線用グラフの各辺を通過する配線通過本数を求める手段と、論理回路設計時の検証結果から、各論理回路素子間の信号遷移係数を求め、求められた信号遷移係数から、概略配線用格子を構成する各概略配線用矩形内の論理回路素子および配線通過本数によって発生する放出熱量を算出する手段と、算出された放出熱量が所定の値を超える場合に、その概略配線用矩形内に設けられたＭＯＳトランジスタのうち、発生熱量が大きいＭＯＳトランジスタに対して、熱放出素子を配置する手段とを有するものであり、そのことにより上記目的が達成される。
【００３３】
さらに、本発明の集積回路の自動配置配線設計装置は、集積回路を構成する論理回路素子の配置および論理回路素子間の配線をコンピュータが設計処理する自動配置配線設計装置において、詳細配線処理を行う際に、概略配線用格子を構成する概略配線用矩形の各辺上に、その辺を通過する配線用の信号端子を配置する手段と、配置された信号端子および概略配線用矩形内に含まれる論理回路素子の端子間の配線要求に対して、配線容量成分および経路によって算出される抵抗成分を求め、求められた配線容量成分および抵抗成分から熱量を算出し、算出された熱量が最小となるように、詳細配線経路を決定する手段とを有するものであり、そのことにより上記目的が達成される。
【００３４】
さらに、好ましくは、本発明の集積回路の自動配置配線設計装置において、論理回路設計時の検証結果から配線要求に対する信号遷移係を求め、求められた信号遷移係数が大きいものから順番に詳細配線処理を行う手段を有する。
【００３５】
以下に、本発明の作用について説明する。
【００３６】
本発明にあっては、論理回路設計（ロジック設計）工程の検証（シミュレーション）で用いた入力波形に対して、各セル間の信号の動作を規定する遷移係数（信号遷移係数）を求め、この信号遷移係数を評価基準として、論理回路素子（セル）の配置および論理回路素子間の配線を設計するレイアウト設計を行う。これによって、レイアウト設計の信頼性に起因するエレクトロマイグレーションを抑制して、レイアウト設計工程およびロジック設計工程間の設計作業時間を短縮化することができるため、従来技術では困難であった、開発期間の短期間化とチップの信頼性向上という相反する要望を、同時に満足することが可能となる。
【００３７】
自動レイアウト設計においては、論理回路素子（セル）の配置処理を行った時点で配置の品質を評価する必要がある。本発明では、その評価内容として、従来から用いられている仮想配線長や配線混雑度に加えて、信号遷移係数を用いる。セルの配置処理を行う時点で、消費電力を表す信号遷移係数を考慮することによって、チップ内で消費電力が集中することを緩和して、エレクトロマイグレーションの発生を抑制することができる。
【００３８】
自動レイアウト設計において、搭載される回路規模が大きい場合には、配置配線処理の対象となるセルの部分集合（論理的なブロック：セルブロック）を決定し、そのセルブロック単位で配置処理を行うことがある。この場合、回路の分割操作を行い、ある回路規模になった時点で分割されたセルブロックを併合することによって、所望のセルブロックが作成される。このセルブロック決定処理を行うときに、配線要求に対する信号遷移係数、および各セルの動作遷移係数（または各セルの消費電力）を分割・併合の品質を表す評価項目として考慮する。まず、全てのセルの消費電力を求め、消費電力が大きい論理回路素子を種として、セルブロックを初期分割する。各セルブロック内で消費電力が均一になるように、セルブロック間でのセルの移動・セルブロックの併合を行う。
【００３９】
自動レイアウト設計において、セルの配置処理後にセル間の配線処理を行う際には、チップ領域を重なりがない矩形領域（概略配線用矩形）に分割して、矩形領域単位で概略配線処理を行った後に、実際の配線コンポーネントの配置位置を決定する詳細配線処理を行う。これらの配線処理は配線要求毎に行われるが、その処理順序は配線の品質に大きな影響を与える。配線要求に対する信号遷移係数の値に従って、値の大きなものから順に配線処理を行うことにより、消費電力が大きい配線経路が過度に集中することを緩和して、エレクトロマイグレーションの発生を抑制することができる。また、消費電力が大きい配線経路を短くすることができるため、低消費電力化を図ることができる。
【００４０】
また、概略配線処理後に、概略配線用矩形内のセルおよび配線通過本数によって発生する放出熱量を算出し、所定の放出熱量を超える場合には、発生熱量が大きいＭＯＳトランジスタに対して、過剰な熱を放出する熱放出素子を配置して、例えばチップ上部に熱を放出させる。これによって、回路動作に伴うセル内のトランジスタでの潜熱を空中に放出し、局所的な熱発生によって生じるデバイスの破壊を防ぐことができる。また、詳細配線処理において、配線コンポートの選択および配線コンポーネント間の容量結合を調整して、セルで消費される電力を規定値以下に抑えることが困難な場合にも、熱放出素子を配置して、熱を放出させることによって、デバイスの破壊を防ぐことができる。
【００４１】
概略配線処理後には、概略配線の結果を元にして、実際の配線コンポーネント（ラインコンポーネント、ビアコンポーネント）を用いて詳細配線を行う。その際に、縦方向の配線および横方向の配線に対してはそれぞれ異なる配線層が割り付けられ、例えば縦方向の配線を１層目の金属層、横方向の配線を２層目の金属層等として割り付けられる。また、縦方向の配線と横方向の配線とを同電位とするためには、両配線層の交点位置に配線接続のためのビアコンポーネントが配置される。また、配線コンポーネントの配置位置は、異なる信号配線に対して、物理的に作成可能な最小距離が設定される。しかしながら、配線が集中する個所において、各配線は他の配線に対して容量結合による配線容量付加値を有することになり、その箇所で消費電力が大きくなる。そこで、この容量結合を削減するために、配線コンポーネントを選択すると共に、配線コンポーネントの配置間隔を広げるように配線経路を決定する。この配線経路は、配線容量成分と経路によって算出される抵抗成分とを求め、求められた配線容量成分および抵抗成分から熱量を算出し、算出された熱量が最小となるように決定される。これによって、配線コンポーネント間の容量結合を調整して、当該個所での容量成分による消費電力を抑え、エレクトロマイグレーションが発生することを抑制することができる。
【００４２】
【発明の実施の形態】
以下に、本発明の集積回路の自動配置配線設計システムの実施形態について、図面を参照しながら説明する。なお、以下の説明において、各処理手法や条件などは、通常のレイアウト設計技術において用いられているものと同等であり、特段の場合を除いて、その詳細な説明は省略する。
【００４３】
まず、本実施形態の自動配置配線設計装置のハードウェア構成について説明する。
【００４４】
図１は、本発明の一実施形態である自動配置配線設計システムの要部構成を示すブロック図である。
【００４５】
図１において、この自動配置配線設計システム１は、自動配置配線設計装置１００と、外部装置としての論理回路設計装置２００およびマスク生成用装置３００とを有している。
【００４６】
この自動配置配線設計装置１００は、外部装置に対して情報信号を入出する入出力手段１０と、制御手段２０と、一時記憶手段３０と、パラメータ入力手段４０と、第１の記憶手段５０と、第２の記憶手段６０と、第３の記憶手段７０と、第４の記憶手段８０と、第５の記憶手段９０とを有している。これらの一時記憶手段３０および第１〜５の記憶手段５０〜９０はコンピュータ読み出し可能な記録媒体である。
【００４７】
入出力手段１０には、外部装置である論理回路設計装置２００と接続されており、論理回路設計装置２００によって生成された論理回路設計データと、論理回路設計時のシミュレーション結果である論理検証設計データとが入力される。また、入出力手段１０からは、外部装置であるマスク生成用装置３００と接続されており、本実施形態の自動配置配線設計装置１００によって生成されたセル（論理回路素子）の配置配線結果データがマスク生成用装置３００に出力される。また、入出力手段１０には制御手段２０が接続されており、外部から入出力手段１０に入力されたデータは制御手段２０を介して各構成部に供給され、各構成部からのデータは制御手段２０を介して入出力手段１０に供給されて外部装置に対して出力される。このマスク生成用装置３００では、入力されたセルの配置配線結果データに基づいて、集積回路製造用のマスクデータが生成される。
【００４８】
制御手段２０は、中央演算処理装置２０ａ（ＣＰＵ）、メインプログラム２０ｂを記憶した記録媒体としての記憶部のＲＯＭとを有している。
【００４９】
中央演算処理装置２０ａは、ＲＯＭ内のメインプログラム２０ｂに基づいて、各構成部の制御処理、データの選択処理、データの転送処理、一時記憶手段３０に対する情報の一時記憶処理などが行われる。さらに、中央演算処理装置２０ａは、メインプログラム２０ｂおよび第１の記憶手段５０内の制御プログラムに基づいて、エレクトロマイグレーションを防止するべく、以下に詳細に後述するが、論理回路設計時の検証結果などに基づいて自動配置配線処理を行う。
【００５０】
一時記憶装置３０は、中央演算処理装置２０ａによる処理結果のデータなどが一時的に記憶されるワークメモリである。
【００５１】
パラメータ入力手段４０には、本実施形態においてセルの配置設計を行うために必要な配置パラメータとして、例えば論理回路設計データ中のバス情報やセルブロック数などが、また、セル間の配線設計を行うために必要な配線パラメータとして、例えば配線コンポーネントや配線コンポーネント間距離を記述した技術情報などが、設計者によって入力される。入力されたパラメータは制御手段２０に供給される。
【００５２】
第１の記憶手段５０には、本実施形態においてセルの配置配線設計処理を制御するための制御プログラムが記憶されており、この制御プログラムは、制御手段２０のメインプログラム２０ｂによって実行される。
【００５３】
第２の記憶手段６０には、論理回路設計装置２００で作成された論理回路設計データ（回路設計データＡ、Ｂ、Ｃ、・・・）が制御手段２０を介して供給されて記憶されている。
【００５４】
第３の記憶手段７０には、論理回路設計装置２００で作成された論理検証設計データ（論理検証設計データＡ、Ｂ、Ｃ、・・・）が制御手段２０を介して供給されてい記憶されている。この論理検証設計データには、論理回路設計時の検証で用いた入力波形情報に対応する内部信号の遷移情報（入出力波形情報）などが含まれている。
【００５５】
第４の記憶手段８０には、本実施形態においてセルの配置設計を行った結果のデータ（配置データ１〜ｍ）が記憶されている。この配置データ１〜ｍには、各セルのチップ上での位置情報と、その配置状態を表す方向性情報とが含まれている。
【００５６】
第５の記憶手段９０には、本実施形態においてセル間の配線設計を行った結果のデータ（配線データ１〜ｎ）が記憶されている。これらの配線データ１〜ｎには、各配線要求で用いられる配線コンポーネントと、その位置情報とが含まれている。
【００５７】
上記構成により、本発明の自動配置配線設計システム１の動作について説明する。
【００５８】
まず、制御手段２０によって、論理回路設計装置２００に記憶されている論理回路設計データおよび論理検証設計データが入出力手段１０を介して読み出され、第２の記憶手段６０および第３の記憶手段７０に書き込まれて記憶される。この処理は、自動配置配線設計の対象である集積回路の全ての論理回路設計（ロジック設計）データが第２の記憶手段６０に書き込まれ、論理設計時の検証で用いられた入力波形情報に対応する内部信号の遷移情報が第３の記憶手段７０に書き込まれるまで繰り返される。
【００５９】
一方、制御手段２０には、パラメータ入力手段４０を介して、配置配線処理に必要なパラメータデータが入力処理される。制御手段２０に入力されたパラメータデータは、一時記憶手段３０に一旦書き込まれて記憶される。
【００６０】
次に、制御手段２０によって、第２の記憶手段６０に記憶されているデータと、第３の記憶手段７０に記憶されているデータと、一時記憶手段３０に一旦記憶されているパラメータデータとを元に、第１の記憶手段５０に記憶されている制御プログラムにしたがって、所望の配置配線設計データが自動生成され、この自動生成された配置設計データが逐次第４の記憶手段８０に書き込まれて記憶され、生成された配置設計データが逐次第５の記憶手段９０に書き込まれて記憶される。この処理は、集積回路の全ての論理回路設計データに対する配置配線設計データが生成されるまで繰り返される。
【００６１】
このようにして生成された配置配線設計データは、制御手段２０から入出力手段１０を介してマスク生成用装置３００に出力される。マスク生成用装置３００では、配置配線設計データを元に集積回路製造のためのマスク（マスクパターン）が自動生成され、そのマスクおよび半導体製造装置を用いて所望の集積回路が製造される。
【００６２】
次に、自動配置配線処理の対象となる半導体集積回路のレイアウトモデルについて説明する。
【００６３】
図２は、本実施形態においてセルの配置配線設計が行われるチップ表面のレイアウトモデルを説明するための図であり、半導体集積回路（チップ）の概略構成を示す平面図である。
【００６４】
図２において、チップ内部は、マクロセルブロック２２とスタンダードセル２１１とを配置するための領域（スタンダードセル部）で占められており、各領域は矩形形状となっている。マクロセルブロック２２は、任意の大きさの矩形形状であり、その矩形の周辺にマクロセルブロックの外部と接続するための接続用端子（ボンディングパッドＰＡＤ）２２１が設けられている。なお、電源端子およびグランド端子については、それぞれが１層目の配線層および２層目の配線層のそれぞれの同一座標位置に設けられており、いずれの配線層にも接続可能となっているが、本実施形態におけるセルの配置処理には直接関係しないので、ここでは図示を省略している。
【００６５】
スタンダードセルの配置領域（スタンダードセル部）２１には、図２の下部に示すようなスタンダードセル２１１が複数設けられており、各スタンダードセル２１１内には、スタンダードセルを外部と接続するための接続用端子２１１１が設けられている。ここでは、各スタンダードセルの高さおよび幅が同じである場合を示しているが、それに限られず、標準の高さおよび幅の整数倍であってもよい。
【００６６】
チップの外周部には、入出力用セル（ＩＯセル）２３および電源供給セルが配置されている。入出力セル（ＩＯ）２３および電源供給セルは、ほぼ同じ高さを有する矩形形状のセルであり、チップ内部の論理回路と接続するための接続用端子（ＰＡＤ）２４が上部に設けられている。なお、図２では、電源供給セルは、セルの配置処理に関係がないために図示を省略している。
【００６７】
次に集積回路の消費電力と信号遷移との関係、および論理回路設計時の検証結果から算出される信号遷移定数について説明する。
【００６８】
ＣＭＯＳ　ＬＳＩにおいて、消費電力Ｐは、以下の式（１）のように表される。
【００６９】
【数１】
2004104039.tif 000003
【００７０】
上記式（１）において、Ｃは負荷容量、ｆは周波数、Ｖは電源電圧、Ｎはセル間の信号の動作を規定する信号遷移係数、Ｑはセル内の貫通電流による電荷、Ｉ１はリーク電流を示している。右辺の第１項は信号のスイッチングにより発生する消費電力、第２項はセル内の貫通電流による消費電力、第３項はリーク電流による消費電力を示している。
【００７１】
また、上記式（１）において、第１項および第２項が回路の消費電力のほとんどを占めており、信号遷移係数Ｎは第１項および第２項に対して影響を与えている。従って、回路内の信号遷移に着目することによって、集積回路の消費電力について検討することができる。
【００７２】
信号遷移係数Ｎは、論理回路設計時の検証において、入力テストベクタによるシミュレーションを行った結果から計算することができる。ただし、回路構成が同期回路、非同期回路のいずれであっても用いることができるように、信号遷移係数を定義する必要がある。
【００７３】
本実施形態では、シミュレーション時間をある時間間隔ｔｓに分割して、その時間内で回路中の全ての信号数に対して変化している信号数とその変化継続時間とから、信号ｉに対する信号遷移係数Ｔｉを以下の式（２）によって計算する。
【００７４】
【数２】
2004104039.tif 000004
【００７５】
上記式（２）において、Ｄｓは総シミュレーション時間を時間間隔ｔｓで割った値であり、ｔｓは信号遷移標本時間であり、ｔＣｉｊは信号遷移標本時間ｊにおける信号ｉの信号変化継続時間である。また、Ｓｔｏｔａｌは総信号数であり、Ｓａｃｔは信号遷移標本時間ｊにおいて信号遷移があった信号数であり、ＮＣｉｊは信号ｉが０から１、１から０へ変化する回数である。
【００７６】
このようにして求められる信号遷移係数を、自動レイアウトの配置配線処理において評価基準の一つとして考慮し、最適化を図ることによって、消費電力により発生する熱量も削減することができる。
【００７７】
上記式（２）の信号遷移係数Ｔｉを上記式（１）の信号遷移係数Ｎとして、信号毎に各セルおよび各配線の消費電力を求める。また、熱放出セル配置位置決定処理において、放出熱量は信号遷移係数Ｔｉから計算される。また、詳細設計では、配線容量成分と抵抗成分から熱量が計算される。
【００７８】
次に、本実施形態の自動配置配線設計装置を用いた自動配置配線設計方法について詳細に説明する。
【００７９】
図３は、本発明の一実施形態である集積回路の自動配置配線設計方法による動作手順を示すフローチャートである。これらの処理手順は、制御手段２０が、図１に示す第１の記憶手段５０に記憶された制御プログラムに従って各手段を制御することによって行われる。
【００８０】
図３に示すように、まず、ステップＳ１（Ｓｔｅｐ１）において、セルブロック（セルの部分集合）を決定する。チップ上で配置処理の対象となるセルの部分集合はセルブロックと称され、第２の記憶手段６０内の論理回路設計データを元に作成されるチップ全体のネットリストデータから、セルの分割・併合を行うことによってセルブロックを決定する。
【００８１】
初めに、消費電力が大きいセルをセルブロック数の整数倍だけ選択し、その消費電力が大きいセルとの接続要求が大きく、かつ消費電力の小さいセルを選択して、セルブロックを順次作成することにより初期分割を行う。
【００８２】
次に、各セルブロック間で信号配線数が最小化され、かつ各セルブロック間でセルの消費電力および信号遷移係数が均一化されるようにセルの移動を行う。その後、セルブロック間で消費電力が均一化されるように、指定されたセルブロック数に達するまでセルブロックを併合して、セルブロック部分集合を決定する。
【００８３】
次に、ステップＳ２においてセルの配置位置を決定する。
【００８４】
初めに、ステップＳ１で決定されたセルブロック単位でチップ上での位置を決定した後、セルブロックの配置領域を矩形として決定する。ここでは、セルブロックに含まれるセルによって占有される面積と信号配線数とによって推定される配線領域面積からセルブロックの矩形面積を算出し、チップ上で矩形を割り付けてセルブロック配置領域（矩形）を決定する。このとき、セルブロック間の配線要求に応じて、その配線要求に対する信号遷移係数から算出される消費電力がチップ内で分散されて均一化されるように、矩形の割り付けを行う。
【００８５】
次に、セルブロックの配置領域（矩形）を決定した後、その矩形内でセルの配置位置を決定する。ここでは、セル間の配線要求に対する信号遷移係数により算出される配線での消費電力および各セルの消費電力が矩形内で均一化されるように、セルの配置位置を決定する。
【００８６】
次に、ステップＳ３において、チップ上に形成した概略配線用格子を元に概略配線経路を決定する。概略配線用格子は、チップ上に均一な間隔で水平方向および垂直方向に配線用格子線を定義し、その格子線により囲まれた矩形（概略配線用矩形）に対して、ステップＳ２で決定されたセル配置位置からその矩形内に含まれるセルの配線要求が矩形の中心にあるものとして、矩形単位で経路を決定する。ここでは、概略配線用矩形の中心点間を直線で結ぶ概略配線グラフ上を通過する配線通過容量が概略配線グラフの配線容量を超えず、かつ、配線密度が均一化されるように、概略信号経路を決定する。概略配線用矩形の中心点間を直線で結ぶ概略配線グラフ上を通過する信号経路の数および各信号経路に対してその信号配線を駆動するセルからの距離に応じた消費電力割り付け量が均一化されるように、信号経路を決定する。
【００８７】
また、このとき、論理回路設計時の検証結果から、各セル間の接続要求に対する信号遷移係数を求め、求められた信号遷移係数が大きいものから順番に概略信号経路を決定する。
【００８８】
次に、ステップＳ４において熱放出セルの配置位置を決定する。
【００８９】
初めに、ステップＳ２で決定されたセル配置位置と、ステップＳ３で決定された概略配線経路とから、各概略配線用矩形に対して、各セルの消費電力および配線要求に対する信号遷移係数により算出される配線での消費電力を計算し、概略配線用矩形内で発生する放出熱量を算出する。その結果から、放出熱量が規定量を超える矩形内のセルの出力端子（ＭＯＳトランジスタ）に対して熱放出セルを配置し、矩形内で生じる放出熱量を削減する。
【００９０】
次に、ステップＳ５の処理において、ステップＳ３の処理で決定された概略配線経路から、詳細配線コンポーネントの配置位置を決定する。
【００９１】
初めに、概略配線用矩形の境界（各辺）に、その境界線上を通過する信号配線用の信号端子（通過端子）を配置する。その信号配線の境界線上での通過順序は、配線要求に対する信号遷移係数を元に決定する。
【００９２】
次に、概略配線用矩形内でセルの端子および境界上の通過端子間の詳細配線を、全ての概略配線用矩形に対して行う。このとき、各端子間の配線要求に対して、配線容量成分と経路に基づいて算出される抵抗成分とを求め、配線容量成分および抵抗成分から算出される熱量が最小となるように、詳細配線経路を決定する。また、このとき、論理回路設計時の検証結果から、各セル間の接続要求に対する信号遷移係数を求め、求められた信号遷移係数が大きいものから順番に詳細信号経路を決定する。
【００９３】
ここで用いられる配線コンポーネントは、単位長さ当りの抵抗値および容量値が定義されているため、詳細配線処理においては、これらの物理定数を元に、その長さから詳細な消費電力量を計算し、発生熱量が規定値以下（または規定値以下であって消費電力が最小）となる配線コンポーネント（ラインコンポーネントおよびビアコンポーネント）を決定する。また、そのコンポーネントの配置位置については、半導体製造技術で規定される最小距離を優先するが、他のコンポーネントおよびセルからの距離は、熱抵抗が規定値以下（または消費電力が単位面積内で規定値以下）となるように決定する。
【００９４】
次に、上記ステップＳ１〜Ｓ５の各処理について更に詳細に説明する。
まず、図３に示すステップＳ１のセルブロック部分集合決定処理について説明する。
【００９５】
図４は、図３のセルブロック部分集合決定処理（ステップＳ１）の動作手順を示すフローチャートである。
【００９６】
まず、ステップＳ１０１において、設計者は、パラメータ入力手段４０を用いてセルブロックの数およびセルブロック内の最大消費電力を入力する。
【００９７】
次に、ステップＳ１０２において、制御手段２０によって、第２の記憶手段６０から回路設計データを読み出す。
【００９８】
次に、ステップＳ１０３において、制御手段２０によって、回路設計データから、回路を構成するセルと各セル間の接続要求とによって構成されるネットリストデータを作成して、これを一時記憶手段３０に記憶する。
【００９９】
次に、ステップＳ１０４において、制御手段２０によって、第３の記憶手段７０から回路検証設計データを読み出す。
【０１００】
次に、ステップＳ１０５において、制御手段２０によって、回路検証設計データを用いて、ネットリスト中の各接続要求に対する信号遷移係数を計算し、信号遷移係数とセルの入力信号の変化とから単位時間当りのセルの消費電力を計算して、一時記憶手段３０に格納する。各接続要求に対する信号遷移係数は上記式（２）に従って算出される。また、セルの消費電力は上記式（１）の第２項から算出される。
【０１０１】
次に、ステップＳ１０６において、制御手段２０によって、ネットリスト中の全てのセルから消費電力が大きいセルをセルブロック数の整数倍だけ選択し、その選択されたセルと、接続要求が大きくかつ消費電力が小さいセルとを含む部分集合に初期分割する。このとき、セルブロック間の交差ネット数についても、小さくなるように初期分割する。
【０１０２】
次に、ステップＳ１０７において、制御手段２０によって、全てのセルブロックについて、一つのセルを異なるセルブロックに移動させるように試みる。セルブロック内の全てのセルが移動対象となった時点でステップＳ１０８の処理に進む。
【０１０３】
次に、ステップＳ１０８において、制御手段２０によって、セルの移動に伴うセルブロック間の交差ネット数の増減を確認する。ここでは、ステップＳ１０６において初期分割を行った直後のセルブロック間の交差ネット数（セルブロック間の配線要求の数）を基準として、セルの移動後のセルブロック間の交差ネット数の増減を確認する。セルブロック間の交差ネット数が増加する場合にはステップＳ１０７の処理に戻り、移動対象となったセルを元のセルブロックに戻した上で異なるセルを選択して、再度セルの移動を試みる。また、セルブロック間の交差ネット数が減少する場合にはステップＳ１０９の処理に進む。
【０１０４】
次に、ステップＳ１０９において、制御手段２０によって、セルブロック内での各セル間の接続要求に対する信号遷移係数の和およびセルの消費電力の和を算出し、各セルブロック間でのこれらの数値のばらつきを偏差により確認する。この偏差が増加する場合であって偏差が所定の値と不一致の場合にはステップＳ１０７の処理に戻り、移動対象となったセルを元のセルブロックに戻した上で異なるセルを選択して、再度、セルの移動を試みる。また、偏差が減少する場合であって偏差が所定の値と不一致の場合には、移動対象となったセルを元のセルブロックに戻さずにステップＳ１０７の処理に進み、偏差が所定の値になるまで、ステップＳ１０７〜ステップＳ１０９の処理を繰り返す。偏差が所定の値と一致した場合にステップＳ１１０の処理に進む。
【０１０５】
次に、ステップＳ１１０において、制御手段２０によって、二つのセルブロックを併合し、新しいセルブロックを生成する。ここでは、交差ネット数が減少されるように、また、各セルブロック間での消費電力が均一化されるように併合される候補を選択し、指定セルブロック数になるまでセルブロックの併合処理を繰り返す。
【０１０６】
次に、ステップＳ１１１において、全てのセルブロック中に含まれるセルの集合とセルブロックの入出力端子の接続要求をセルブロック情報として一時記憶手段３０に格納して、処理を終了する。
【０１０７】
図５は、上記セルブロック部分集合決定処理によって決定されるセルブロックの例を示す模式図である。
【０１０８】
図５では、分割数（セルブロック数）＝５と指定されており、回路に含まれるセルが五つの部分集合に分割されて、セルブロック１〜セルブロック５が生成されている。各セルブロック１〜セルブロック５の間は、信号配線３０１〜３０８によってそれぞれ接続されており、セルブロック間の交差ネット数は８となっている。また、セルブロック１、セルブロック２およびセルブロック４には入力端子３１０が接続され、セルブロック３〜セルブロック５には出力端子３２０が接続されている。
【０１０９】
次に、図３に示すステップＳ２のセル配置位置決定処理について説明する。
【０１１０】
図６は、図３のセル配置位置決定処理（ステップＳ２）の動作手順を示すフローチャートである。
【０１１１】
図６に示すように、まず、ステップＳ２０１において、制御手段２０によって、第２の記憶手段６０から回路設計データを読み出す。
【０１１２】
次に、ステップＳ２０２において、制御手段２０によって、第３の記憶手段７０から回路検証設計データを読み出す。
【０１１３】
次に、ステップＳ２０３において、制御手段２０によって、図３のステップＳ１で決定されたセルブロック情報を一時記憶手段３０から読み出し、各セルブロックに含まれるセルの面積の和、および配線要求数（接続要求数）から算出される配線推定面積から、各セルブロックの面積を算出する。
【０１１４】
次に、ステップＳ２０４において、制御手段２０によって、セルブロックを矩形形状として、各セルブロック間の重なりが生じないように、セルブロックをチップ上に配置する。ここでは、セルブロック間の配線要求に対して、セルブロックの中心に仮想端子が存在するものとし、その配線要求の仮想端子を包含する最小矩形を仮想配線として、その仮想配線長が最小となり、かつ、矩形形状の重なりが最小となるように、矩形をチップ上に割り付ける。また、このとき、配線要求に対する信号遷移係数から計算される配線での消費電力がセルブロック間で均一となるように、セルブロックの配置を決定する。各配線要求に対する信号遷移係数は上記式（２）に従って算出される。また、配線での消費電力は上記式（１）の第１項から算出される。
【０１１５】
次に、ステップＳ２０５において、制御手段２０によって、各セルブロック内におけるセルの初期配置を行う。ここでは、セルブロック内にセル行を設定し、そのセル行にセルを割り付ける。セル行へのセルの割り付けの際には、図３のステップＳ１で求めたセルの消費電力が各セル行で均一となるように、かつ、配線要求によって計算される仮想配線長が最小となるように、セルの配置を決定する。
【０１１６】
全てのセルブロック内でセルの配置を決定した後、ステップＳ２０６において、制御手段２０によって、特定のセルブロックに注目し、他のセルブロック中のセルの配置位置を参照しながら、セルの配置を改善する。ここでは、セルブロックの矩形内での移動のみを行い、配線要求に対する信号遷移係数から計算された配線での消費電力がセルブロック内で均一となるように、セルを移動することにより、セルの配置を改善する。
【０１１７】
次に、ステップＳ２０７において、制御手段２０によって、セルブロック間を結ぶ接続要求を有するセルに注目して、セルの移動を試みる。ここでは、セルの移動範囲をセルブロック外まで探索することによって、大局的にセルの配置の最適化を行う。セルの移動候補が無くなった時点でステップＳ２０８の処理に進む。
【０１１８】
次に、ステップＳ２０８において、制御手段２０によって、全てのセルの配置を第４の記憶手段８０に格納して、処理を終了する。以上の処理により、全てのセルの位置および方向性を決定することができる。
【０１１９】
図７は、上記セル配置位置決定処理によるセルブロックの矩形割り付け例を示す図であり、（ａ）は図３のステップＳ１で決定された階層構造を示しており、（ｂ）は半導体集積回路（チップ）の概略レイアウト構成を示す平面図である。
【０１２０】
図３のステップＳ１では図７（ａ）に示すチップレベルデザイン（論理階層構造）からセルブロック１〜セルブロック５が決定されている。また、図３のステップＳ２では、図７（ｂ）に示すように、スタンダードセルおよびマクロセルブロックを配置するための領域に矩形形状のセルブロック１〜セルブロック５が割り付けられている。セルブロック１〜セルブロック５内にはスタンダードセルブロック２１１が配置されており、セルブロック２およびセルブロック５内にはマクロセルブロック２２が配置されている。
【０１２１】
次に、図３に示すステップＳ３の概略配線経路決定処理について説明する。
【０１２２】
図８は、図３の概略配線決定処理の動作手順を示すフローチャートである。
【０１２３】
図８に示すように、まず、ステップＳ３０１において、制御手段２０によって、第２の記憶手段６０から回路設計データを読み出す。
【０１２４】
次に、ステップＳ３０２において、制御手段２０によって、第３の記憶手段７０から回路検証設計データを読み出す。
【０１２５】
次に、ステップＳ３０３において、制御手段２０によって、図３のステップＳ２で決定された各セルの配置情報を第４の記憶手段８０から読み出す。
【０１２６】
次に、ステップＳ３０４において、制御手段２０によって、チップ上に概略配線用格子を生成する。概略配線用格子は、チップ上に水平方向および垂直方向の直線を想定し、その直線によって構成される各矩形を概略配線用矩形とする。実際の経路探索は、概略配線用矩形の中心に頂点を配置し、その頂点間を直線で結ぶ辺からなる概略配線グラフを定義して、概略配線グラフ上で行う。これを図９（ａ）および図９（ｂ）に示している。
【０１２７】
図９（ａ）および図９（ｂ）は、図３の概略配線経路決定処理（ステップＳ３）に用いられる配線モデルを示す半導体集積回路の平面図である。
【０１２８】
図９（ａ）および図９（ｂ）では、チップ上に水平方向および垂直方向の直線からなる概略配線用格子４０１が生成されており、その概略配線用格子４０１により構成される概略配線用矩形４０２の中心に経路探索頂点４１１が配置されている。その経路探索頂点４１１間を直線で結ぶ辺を経路探索辺４１２として、図９（ｂ）に示す概略配線グラフ４０３が定義されている。
【０１２９】
次に、ステップＳ３０５において、制御手段２０によって、ステップＳ３０４で配置された経路探索頂点４１１に対して、概略配線用矩形４０２内に配置されたセルの配線要求を割り付けてネットリストを作成する。また、経路探索辺に対しては、概略配線用矩形内に配置されたセルの配置情報を元に、配線で使用されるレイアウト層（配線層）の配線通過可能容量を算出し、その値を設定する。この値は、ステップＳ３０６，Ｓ３０７で配線経路を決定する度に動的に変更する。
【０１３０】
次に、ステップＳ３０６において、制御手段２０によって、ステップＳ３０４で作成した概略配線グラフ上で各配線要求に対する配線経路を決定する。ここでは、ステップＳ３０２で読み込んだ回路検証設計データから、各配線要求に対する信号遷移係数を求め、信号遷移係数が大きいものから順に、ステップＳ３０１で読み込んだ回路設計データにおける出力端子から入力端子に向かって配線経路を決定する。この処理を全ての配線要求に対して行う。
【０１３１】
次に、ステップＳ３０７において、制御手段２０によって、ステップＳ３０６で決定した配線経路に対して、概略配線グラフの各辺を通過する配線容量が概略配線グラフの配線容量を超えず、かつ配線密度が均一化されるように、配線経路を変更して改善する。
【０１３２】
次に、ステップＳ３０８において、制御手段２０によって、全ての配線要求に対する概略配線グラフ上での経路、概略配線グラフ上の配線通過本数、および処理終了時点における配線通過可能容量を一時記憶手段３０に格納して処理を終了する。
【０１３３】
次に、図３に示すステップＳ４の熱放出セル配置位置決定処理について説明する。
【０１３４】
図１０は、図３の熱放出セル配置位置決定処理の動作手順を示すフローチャートである。
【０１３５】
図１０に示すように、まず、ステップＳ４０１において、制御手段２０によって、第２の記憶手段６０から回路設計データを読み出す。
【０１３６】
次に、ステップＳ４０２において、制御手段２０によって、第３の記憶手段７０から回路検証設計データを読み出す。
【０１３７】
次に、ステップＳ４０３において、制御手段２０によって、ステップＳ２で決定された各セルの配置情報を第４の記憶手段８０から読み出す。
【０１３８】
次に、ステップＳ４０４において、制御手段２０によって、ステップＳ３で決定した全ての配線要求に対する概略配線グラフ上での経路、概略配線グラフ上の配線通過本数および処理終了時点における配線通過可能容量を一時記憶手段３０から読み出す。
【０１３９】
次に、ステップＳ４０５において、制御手段２０によって、概略配線用矩形内のセルおよび概略配線グラフ上の配線通過本数によって発生する放出熱量を算出する。セルおよび配線要求（配線通過本数）による放出熱量は、ステップＳ４０２で読み込んだ回路検証設計データから、各セル間の信号遷移係数を求め、その信号遷移係数を元に計算する。なお、概略配線グラフ上への放出熱量は、出力端子からの距離に応じた関数によって熱量を割り付ける。
【０１４０】
次に、ステップＳ４０６において、全ての概略配線用矩形内での放出熱量から、物理的にトランジスタが破壊される規定値を超える概略配線用矩形を全て見い出す。その概略配線用矩形内で発生熱量が大きいＭＯＳトランジスタデバイスを選択し、選択されたＭＯＳトランジスタデバイスのソース端子またはドレイン端子に対して、熱放出セルを配置する。また、熱放出セルを配置することによって、概略配線グラフ上での配線通過可能容量を変更する。全ての概略配線用矩形内で熱放出セルの配置が完了した時点で、概略配線グラフ上での配線容量を超えず、かつ、配線密度が均一化されるように経路を変更する。
【０１４１】
図１１は、熱放出セルの配置例を示す半導体集積回路（チップ）の断面模式図である。
【０１４２】
図１１では、Ｐ型シリコン基板５０１上にＰウェル５０２およびＮウェル５０３が隣接して設けられている。Ｐウェル５０２上には酸化膜５０４を介してゲート電極５０５が設けられてＮ型ＭＯＳトランジスタ５０６が構成され、Ｎウェル５０３上には酸化膜５０４を介してゲート電極５０５が設けられてＰ型ＭＯＳトランジスタ５０７が構成されている。酸化膜５０４は、両トランジスタの周囲が厚く形成されており、素子分離酸化膜としても機能している。その上には、絶縁層を介して複数の配線層５０８が形成されている。この例では、Ｎ型ＭＯＳトランジスタ５０６およびＰ型ＭＯＳトランジスタ５０７は、放出熱量が規定値を超える概略配線用矩形内に形成されており、発生熱量が大きいものであるため、熱放出セル５１０が配置されてソース端子またはドレイン端子に接続されている。また、発生熱量が大きいトランジスタ近傍の配線層５０８にも、熱放出セル５１１が接続されている。
【０１４３】
次に、ステップＳ４０７において、制御手段２０によって、ステップＳ４０６で決定した熱放出セル５１０，５１１の配置情報、全ての配線要求に対する概略配線グラフ上での経路、概略配線グラフ上での配線通過本数、および処理終了時点における配線通過可能容量を一時記憶手段３０に格納して処理を終了する。
【０１４４】
次に、図３に示すステップＳ５の詳細配線コンポーネント配置位置決定処理について説明する。
【０１４５】
図１２は、図３の詳細配線コンポーネント配置位置決定処理（ステップＳ５）の処理手順を示すフローチャートである。
【０１４６】
最初に配線コンポーネント、配線コンポーネント間距離などの配線パラメータをパラメータ入力する。
【０１４７】
図１２に示すように、まず、ステップＳ５０１において、制御手段２０によって、第２の記憶手段６０から回路設計データを読み出す。
【０１４８】
次に、ステップＳ５０２において、制御手段２０によって、第３の記憶手段７０から回路検証設計データを読み出す。
【０１４９】
次に、ステップＳ５０３において、制御手段２０によって、ステップＳ２で決定された各セルの配置情報を第４の記憶手段８０から読み出す。
【０１５０】
次に、ステップＳ５０４において、制御手段２０によって、ステップＳ４で決定された熱放出セル５１０，５１１などの配置情報、全ての配線要求に対する概略配線グラフ上での経路、概略配線グラフ上の配線通過本数および処理終了時点における配線通過可能容量を一時記憶手段３０から読み出す。
【０１５１】
次に、ステップＳ５０５において、制御手段２０によって、概略配線用矩形の辺（境界）上にその辺を通過する配線用の信号端子を配置する。端子の間隔は、半導体製造技術で規定される配線層の最小間隔を用いる。また、辺内での端子位置は、ステップＳ５０４で読み出した概略配線グラフ上での配線経路と概略配線用矩形内のセルの配置情報を元に、詳細配線が容易になるように端子位置を決定する。
【０１５２】
次に、ステップＳ５０６において、制御手段２０によって、各概略配線用矩形内に含まれる配線要求について詳細配線経路を決定し、各配線経路に対して配線層を割り付ける。詳細経路は、概略配線用矩形内に配線層に対応した面を有する詳細配線格子を定義し、その格子上で配線経路を探索することにより決定する。
【０１５３】
ここでは、ステップＳ５０２で読み込んだ回路検証設計データから、各配線要求に対する信号遷移係数を求め、信号遷移係数が大きいものから順に、ステップＳ５０１で読み込んだ回路設計データにおける出力端子から入力端子に向かって配線経路を決定する。この処理を全ての配線要求に対して行う。配線経路探索時には、その探索している配線経路と既配線経路との間の容量成分および探索している配線経路とその下層のデバイスとの間の容量成分、並びに既配線経路によって算出される抵抗成分を、配線コンポーネントの単位長さ当たりの抵抗値および容量値などの物理係数を元に動的に計算する。算出された容量成分と抵抗成分から、その配線経路によって発生する熱量が最小となるような配線経路を見い出す。また、配線経路決定時には、同時に同層間での配線密度を算出しながら配線密度が均一化されるように、配線経路を決定する。
【０１５４】
以上の処理の後に、配線層が変わる詳細配線格子の交点箇所に、配線層を接続するためのビアコンポーネントを配置する。ここで、各経路は配線コンポーネントを表しており、各配線コンポーネント間での熱抵抗が規定値以下となるように、複数の候補の中からビアコンポーネントを選択する。
【０１５５】
次に、ステップＳ５０７において、制御手段２０によって、複数の各概略配線用矩形を対象として、詳細配線経路を改善する。その際に、ステップＳ５０２で読み込んだ回路検証設計データから、各配線要求に対する信号遷移係数が大きいものから順に、その経路での消費電力が少なくなるように、配線経路の変更、使用されるラインコンポーネントおよびビアコンポーネントの変更を行う。ここでは、経路長の短縮化および消費電力の最小化を評価基準として処理を行い、各概略配線用矩形間での発生熱量の偏差が規定値以下になるまで、処理を繰り返す。
【０１５６】
次に、ステップＳ５０８において、制御手段２０によって、ステップＳ５０７で決定された各配線コンポーネント（ラインコンポーネントおよびビアコンポーネント）およびその位置情報を第５の記憶手段９０に格納する。また、ステップＳ５０４で決定された熱放出セルの配置情報を一時記憶手段３０から第４の記憶手段８０に追加格納し、処理を終了する。
【０１５７】
図１３（ａ）は、詳細配線経路決定処理を説明するための半導体集積回路（チップ）の表面図であり、図１３（ｂ）〜図１３（ｄ）はその部分拡大図である。
【０１５８】
図１３（ａ）に示すような概略配線用格子４０１を構成する概略配線用矩形４０２において、図１３（ｂ）に示す概略配線用矩形４０２内の概略配線グラフ４０３上に、２本の概略配線経路ネットＡおよびネットＢが配置されている。この概略配線用矩形４０２の各辺に、その辺を通過する配線用の信号端子６０１〜６０６が配置される。例えば、左辺にはネットＢ用の信号端子６０１およびネットＡ用の信号端子６０２が配置され、上辺にはネットＢ用の信号端子６０３が配置され、右辺にはネットＢ用の信号端子６０４が配置され、下辺にはネットＡ用の信号端子６０５およびネットＢ用の信号端子６０６が配置される。
【０１５９】
この概略配線用矩形４０２に対して、図１３（ｃ）に示すような詳細配線格子６１０が定義される。そして、図１３（ｄ）に示すように、概略配線用矩形４０２内に配置されているセル１およびセル２の端子６１１および６１２と、信号端子６０１〜６０６とを接続するために、配線コンポーネントＡおよび配線コンポーネントＢが配置される。例えば、配線コンポーネントＡは、概略配線経路ネットＡに対応して、セル２の端子６１２と信号端子６０２および６０５とを接続している。また、配線コンポーネントＢは、概略配線経路ネットＢに対応して、セル１の端子６１１と信号端子６０２、６０３、６０４および６０６とを接続すると共に、セル２の端子６１３とセル１の端子６１１とを接続している。
【０１６０】
以上により、集積回路のレイアウト設計を行う本実施形態の自動配置配線装置１００によれば、論理回路設計装置２００で作成されたロジック設計時の検証データから、各セル間の信号の動作を規定する遷移係数（信号遷移係数）を求め、この信号遷移係数を評価基準としてレイアウト設計を行う。セルの配置処理を行う際に、仮想配線長や配線混雑度に加えて、各セル間の信号遷移係数を用いて、消費電力がチップ内で均一化されるように、セルの配置位置を決定する。また、配置配線処理の対象となるセルブロックを決定し、そのセルブロック単位で配置処理を行う場合には、各セル間の信号遷移係数および各セルの消費電力を評価基準として、セルブロックの分割・併合を行う。概略配線処理および詳細配線処理を行う際には、配線要求に対する信号遷移係数の値が大きなものから順番に配線経路を決定する。これによって、レイアウト設計の段階でエレクトロマイグレーションを抑制して、設計時間の短縮化を図ることができる。
【０１６１】
【発明の効果】
以上のように、本発明によれば、ロジック設計工程の検証データから各セル間の信号の動作を規定する信号遷移係数を求め、この信号遷移係数を評価基準として、セルの消費電力および配線での消費電力を考慮して、自動配置配線を行う。このことによって、エレクトロマイグレーションが発生しにくいレイアウト結果を得ることができる。従来技術のように、レイアウト設計が終わった後で不具合箇所を解析して修正を行う必要がないため、集積回路の開発期間を短縮化することができる。
【０１６２】
また、論理レベルの階層構造からレイアウト対象となるセルブロックを決定する際に、信号遷移係数およびセルの消費電力を考慮することによって、局所的に消費電力が大きくなることを防ぎ、論理レベルの階層構造から熱源の均一化を図ることができる。
【０１６３】
さらに、概略配線処理を行うときに、概略配線グラフの各辺の配線通過容量を算出し、算出された容量が概略配線グラフの配線容量を超えず、かつ、配線密度が均一化されるように経路を決定することによって、信号の配線順序を一意的に決定することができる。このとき、各配線要求に対する信号遷移係数を求め、求められた信号遷移係数が大きいものから順番に概略配線処理を行うことにより、消費電力が大きくなる配線経路が過度に集中することを防いでエレクトロマイグレーションを防ぐことができる。また、消費電力が大きくなる配線経路を短くすることができるため、消費電力を低減することができる。
【０１６４】
さらに、概略配線処理後に、概略配線用矩形内のセルおよび配線通過本数によって発生する放出熱量が所定の熱量を超える場合に、発生熱量が大きいＭＯＳトランジスタに対して、熱放出セルを配置することによって、エレクトロマイグレーションを防ぐことができる。
【０１６５】
さらに、詳細配線処理を行うときに、配線容量成分と経路によって算出される抵抗成分とから熱量を算出し、算出された熱量が最小となるように経路を決定することによって、エレクトロマイグレーションを防ぐことができる。このとき、各配線要求に対する信号遷移係数を求め、求められた信号遷移係数が大きいものから順番に概略配線処理を行うことにより、消費電力が大きくなる配線経路が過度に集中することを防いでエレクトロマイグレーションを防ぐことができる。また、消費電力が大きくなる配線経路を短くすることができるため、消費電力を低減することができる。
【図面の簡単な説明】
【図１】本発明の一実施形態である集積回路の自動配置配線設計システムの構成を示すブロック図である。
【図２】レイアウトモデルを示す半導体集積回路の平面図である。
【図３】本発明の一実施形態である集積回路の自動配置配線設計方法の処理手順を示すフローチャートである。
【図４】図３のセルブロック部分集合決定処理の動作手順を示すフローチャートである。
【図５】図４のセルブロック部分集合決定処理によって作成されるセルブロックの例を示す模式図である。
【図６】図３のセル配置位置決定処理の動作手順を示すフローチャートである。
【図７】（ａ）は、セル配置位置決定処理によるセルブロックの割り付け例を説明するための階層構造を示す図であり、（ｂ）は半導体集積回路の平面図である。
【図８】図３の概略配線経路決定処理の動作手順を説明するためのフローチャートである。
【図９】（ａ）および（ｂ）は、図８の概略配線経路決定処理に用いられる配線モデルを示す半導体集積回路の平面図である。
【図１０】図３の熱放出セル配置位置決定処理の動作手順を説明するためのフローチャートである。
【図１１】図１０での熱放出セルの配置例を示す半導体集積回路の断面模式図である。
【図１２】図３の詳細配線コンポーネント配置位置決定処理の動作手順を示すフローチャートである。
【図１３】（ａ）は、詳細配線経路決定処理を説明するための半導体集積回路の平面図であり、（ｂ）〜（ｄ）は、（ａ）の部分拡大図である。
【符号の説明】
１　自動配置配線設計システム
１０　　入出力手段
２０　　制御手段
２０ａ　　中央演算装置
２０ｂ　　メインプログラム
３０　　一時記憶手段
４０　　パラメータ入力手段
５０　　第１の記憶手段
６０　　第２の記憶手段
７０　　第３の記憶手段
８０　　第４の記憶手段
９０　　第５の記憶手段
１００　　自動配置配線設計装置
２００　　論理回路設計装置
３００　　マスク生成用装置
２１　　スタンダードセル部
２１１　　スタンダードセル
２１１１　　接続用端子
２２　　マクロセルブロック
２２１　　接続用端子
２３　　ＩＯセル
２４　　ＰＡＤ
３０１〜３０８　　セルブロック間を接続する信号配線
３１０　　入力端子
３２０　　出力端子
４０１　　概略配線用格子
４０２　　概略配線用矩形
４０３　　概略配線グラフ
４１１　　経路探索頂点
４１２　　経路探索辺
５０１　　Ｐ型シリコン基板
５０２　　Ｐウェル
５０３　　Ｎウェル
５０４　　素子分離酸化膜
５０５　　ポリシリコンゲート電極
５０６　　Ｎ型トランジスタ
５０７　　Ｐ型トランジスタ
５０８　　配線層
５１０、５１１　　熱放出セル
６０１〜６０６　　信号通過端子
６１０　　詳細配線格子
６１１〜６１３　　セルの端子
【図１】
2004104039.tif 000005
【図２】
2004104039.tif 000006
【図３】
2004104039.tif 000007
【図４】
2004104039.tif 000008
【図５】
2004104039.tif 000009
【図６】
2004104039.tif 000010
【図７】
2004104039.tif 000011
【図８】
2004104039.tif 000012
【図９】
2004104039.tif 000013
【図１０】
2004104039.tif 000014
【図１１】
2004104039.tif 000015
【図１２】
2004104039.tif 000016
【図１３】
2004104039.tif 000017