(57)【特許請求の範囲】
【請求項１】
電源配線部が半導体チップ領域上に電源配線を配置し、前記電源配線の配置情報を電源配線配置領域に格納するステップと、
回路配置部が前記半導体チップ領域上に複数のマクロセルを配置し、前記複数のマクロセルの配置情報を回路配置情報領域に格納するステップと、
前記回路配置部が前記複数のマクロセルの配置変更を行いながら前記半導体チップ領域上に複数の論理セル及びセル間配線の配置を行って回路配置を行い、前記回路配置の情報を前記回路配置情報領域に格納するステップと、
前記回路配置の評価結果に基づき前記回路配置部が前記回路配置を変更した後、回路接続部が前記複数のマクロセルと前記電源配線を接続するステップ
とを含むことを特徴とする半導体集積回路の自動設計方法。
【請求項２】
前記複数のマクロセルにそれぞれ設定される禁止領域に配置する前記電源配線の一部を削除するステップを更に含むことを特徴とする請求項１に記載の半導体集積回路の自動設計方法。
【請求項３】
多層配線の配線層毎に前記禁止領域が設定されていることを特徴とする請求項２に記載の半導体集積回路の自動設計方法。
【請求項４】
前記複数のマクロセルと前記電源配線を接続するステップは、前記複数のマクロセルと前記電源配線を接続する配線を前記禁止領域に配置することを特徴とする請求項２又は３に記載の半導体集積回路の自動設計方法。
【請求項５】
前記電源配線部が、前記電源配線の配置の変更を行うステップを更に含むことを特徴とする請求項１乃至４のいずれか１項に記載の半導体集積回路の自動設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路の自動設計方法に関する。
【背景技術】
【０００２】
従来用いられてきた半導体集積回路の自動設計方法では、先ず仮想的な半導体チップ領域上にマクロセルを配置し、次に半導体チップ領域全面に電源配線の配置を行う。そして、この段階でマクロセルと電源配線の接続情報を作成し、マクロセルと電源配線を接続するビアの配置等を行う。その後、論理セルの配置、クロック配線の配置、信号配線の配置等を行う。そして、クロックスキューやタイミングのばらつき、隣接配線間のクロストークの発生、電源配線の抵抗による半導体チップ内での電源電位降下（以下において、「ＩＲドロップ」という。）等による半導体集積回路の特性への影響の検討を行う。
【０００３】
半導体集積回路が所望の特性を満足しないと判断された場合、マクロセルの配置変更等の設計のやり直しが行われる。しかし、マクロセルが移動された領域に電源配線がない場合や、マクロセルの動作に必要な電流を供給するには電源配線が足りない場合がある。逆に、移動後のマクロセルの位置と重なる電源配線が発生する場合がある。そのため、マクロセルの配置の変更が必要な場合は、先ず電源配線を削除し、マクロセルの再配置後に電源配線からやり直す（例えば、特許文献１参照。）。
【０００４】
即ち、特許文献１で提案された設計方法では、設計途中でマクロセルの配置の変更が必要になった場合、設計フローの初期段階まで戻り、電源配線及び電源配線とマクロセルとの接続の削除、追加が必要となり、多くの修正時間と作業が必要である。
【特許文献１】特開２０００−２１９８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、マクロセルの配置の変更に伴う設計の修正に必要な時間の増大を抑制することができる半導体集積回路の自動設計方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の特徴は、（イ）電源配線部が半導体チップ領域上に電源配線を配置し、電源配線の配置情報を電源配線配置領域に格納するステップと、（ロ）回路配置部が半導体チップ領域上に複数のマクロセルを配置し、複数のマクロセルの配置情報を回路配置情報領域に格納するステップと、（ハ）回路配置部が複数のマクロセルの配置変更を行いながら半導体チップ領域上に複数の論理セル及びセル間配線の配置を行って回路配置を行い、回路配置の情報を回路配置情報領域に格納するステップと、（ニ）回路配置の評価結果に基づき前期回路配置部が回路配置を変更した後、回路接続部が複数のマクロセルと電源配線を接続するステップとを含む半導体集積回路の自動設計方法であることを要旨とする。
【発明の効果】
【０００７】
本発明によれば、マクロセルの配置の変更に伴う設計の修正に必要な時間の増大を抑制することができる半導体集積回路の自動設計方法を提供することができる。
【発明を実施するための最良の形態】
【０００８】
次に、図面を参照して、本発明の第１乃至第３の実施の形態を説明する。以下の図面の記載において、同一又は類似の部分には同一又は類似の符号を付している。ただし、図面は模式的なものであり、厚みと平面寸法との関係、各層の厚みの比率等は現実のものとは異なることに留意すべきである。したがって、具体的な厚みや寸法は以下の説明を参酌して判断すべきものである。又図面相互間においても互いの寸法の関係や比率が異なる部分が含まれていることは勿論である。
【０００９】
又、以下に示す第１乃至第３の実施の形態は、この発明の技術的思想を具体化するための装置や方法を例示するものであって、この発明の技術的思想は、構成部品の材質、形状、構造、配置等を下記のものに特定するものでない。この発明の技術的思想は、特許請求の範囲において、種々の変更を加えることができる。
【００１０】
（第１の実施の形態）
図１に示す本発明の第１の実施の形態に係る自動設計方法は、例えば図２に示す設計装置によって実行することが可能である。そのため、図１の自動設計方法を説明する前に、図２に示す設計装置を説明する。
【００１１】
図２に示す設計装置は、中央演算処理装置（ＣＰＵ）１０と、記憶装置２０と、入力装置３０及び出力装置４０を備える。更に、ＣＰＵ１０は、電源配線部１１０、回路配置部１２０、評価部１３０、回路接続部１４０及び配置情報抽出部１５０を備える。
【００１２】
電源配線部１１０は半導体チップ領域上に電源配線を配置し、電源配線の配置情報を作成する。回路配置部１２０は、電源配線部１１０により電源配線が配置された半導体チップ領域上に回路配置を行い、回路配置情報を作成する。更に、回路配置部１２０は、マクロセルを配置するマクロセル配置部１２１、論理セルを配置する論理セル配置部１２２、クロック配線を配置するクロック配線部１２３及び信号配線を配置する信号配線部１２４を備える。以下において、クロック配線及び信号配線を「セル間配線」という。
【００１３】
評価部１３０は、回路配置部１２０によって配置される回路が所望の特性を満足するかを評価する。評価部１３０は、回路内のクロックやタイミングのばらつき等を評価するタイミング評価部１３１、配線間のクロストークの影響を評価するクロストーク評価部１３２を備える。
【００１４】
回路接続部１４０は、電源配線とマクロセル等の回路素子との接続や、設計対象となる半導体集積回路の動作に不要な電源配線の削除を行い、半導体集積回路の設計情報を作成する。
【００１５】
配置情報抽出部１５０は、電源配線部１１０が作成する電源配線の配置情報や回路配置部１２０が作成する回路配置情報から、電源配線やマクロセル、論理セル、セル間配線等の配置情報や、配置された電源配線やマクロセル、論理セル、セル間配線の接続情報等を抽出する。
【００１６】
又、記憶装置２０は、回路情報領域２０１、評価条件領域２０２、セル情報領域２０３、電源配線配置領域２１１、回路配置情報領域２１２、設計情報領域２１３、抽出情報領域２１４を備える。
【００１７】
回路情報領域２０１には、図２に示した設計装置によって配置を行う半導体集積回路の論理情報や接続情報等の回路情報が格納される。評価条件領域２０２には、評価部１３０が行う評価の判定基準が格納される。セル情報領域２０３には、複数のマクロセルの情報や論理セルの情報等が格納される。電源配線配置領域２１１には、電源配線部１１０によって配置された電源配線の配置情報が格納される。回路配置情報領域２１２には、回路配置部１２０によって配置された回路配置情報が格納される。設計情報領域２１３には、回路接続部１４０が作成する設計情報が格納される。抽出情報領域２１４には、配置情報抽出部１５０が抽出する配置情報や接続情報が格納される。
【００１８】
更に、入力装置３０を介して、図２に示した設計装置によって設計対象となる半導体集積回路の回路情報等が読み込まれて、記憶装置２０に格納される。入力装置３０はキーボード、マウス、ライトペン又はフレキシブルディスク装置などで構成される。
【００１９】
又、出力装置４０としては、設計結果を表示するディスプレイやプリンタ、或いはコンピュータ読み取り可能な記録媒体に保存する記録装置等が使用可能である。ここで、「コンピュータ読み取り可能な記録媒体」とは、例えばコンピュータの外部メモリ装置、半導体メモリ、磁気ディスク、光ディスク、光磁気ディスク、磁気テープなどの電子データを記録することができるような媒体などを意味する。具体的には、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯディスク、カセットテープ、オープンリールテープなどが「コンピュータ読み取り可能な記録媒体」に含まれる。
【００２０】
次に、図１に示す本発明の第１の実施の形態に係る自動設計方法を、図２に示す設計装置及び図３〜図６を用いて例示的に説明する。
【００２１】
（イ）先ず、図１に示すステップＳ１０１において、図２に示す入力装置３０を介して、設計対象となる半導体集積回路の回路情報が入力され、回路情報領域２０１に格納される。又、半導体集積回路の特性評価の基準となる評価条件及び半導体集積回路に使用される複数のマクロセル情報が、それぞれ評価条件領域２０２及びセル情報領域２０３に格納される。なお、半導体集積回路の特性評価の基準となる評価条件及び半導体集積回路に使用される複数のマクロセル情報は、予め評価条件領域２０２及びセル情報領域２０３にそれぞれ格納されていてもよい。
【００２２】
（ロ）次に、ステップＳ１０２において、電源配線部１１０によって、図３に示すように半導体チップ領域５０上の全面に、例えば格子状に電源配線６０を配置する。配置した電源配線６０の配置情報は電源配線配置領域２１１に格納される。電源配線６０の配置は、設計対象となる半導体集積回路の回路情報に基づき、電源配線部１１０が自動発生する。或いは、設計者が任意に設定することができる。
【００２３】
（ハ）次に、ステップＳ１０３において、マクロセル配置部１２１が、回路情報領域２０１から読み出す回路情報に基づき、セル情報領域２０３から設計対象となる半導体集積回路に使用するマクロセル７１、７２、・・・・・を読み出す。そして、マクロセル配置部１２１はマクロセルの配置を決定する。この段階では、電源配線６０とマクロセル７１、７２、・・・・・の電気的な接続情報は作成されない。決定されたマクロセル７１、７２、・・・・・の配置情報は回路配置情報領域２１２に格納される。又、例えば配置されたマクロセル７１の消費電力が大きく、マクロセル７１の近傍に配置済みの電源配線６０では供給する電流が不足すると予測される場合は、例えば図５に示すようにマクロセル７１の近傍に補強電源配線６１０を追加して配置する。補強電源配線６１０の配置情報は、電源配線配置領域２１１に格納されている電源配線６０の配置情報に追加される。
【００２４】
（ニ）ステップＳ１０４において、回路情報領域２０１から読み出す回路情報に基づき、論理セル配置部１２２が、図６に示すように論理セル８１、８２、・・・・・の配置を決定する。決定された論理セル８１、８２、・・・・・の配置情報は回路配置情報領域２１２に格納される。論理セル８１、８２、・・・・・の配置をする場合に、電源配線６０の配置の変更が必要であれば、電源配線６０の配置を変更する。電源配線６０の配置を変更した内容は、電源配線配置領域２１１に格納されている電源配線６０の配置情報に追加される。
【００２５】
（ホ）ステップＳ１０５において、クロック配線部１２３が、回路情報領域２０１から読み出す回路情報に基づき、図示を省略するクロック配線の配置を決定する。更に、ステップＳ１０６において、信号配線部１２４が、回路情報領域２０１から読み出す回路情報に基づき、図示を省略する信号配線の配置を決定する。クロック配線及び信号配線等のセル間配線の配置情報は、回路配置情報領域２１２に格納される。セル間配線の配置をする場合に、電源配線６０の配置の変更が必要であれば、電源配線６０の配置を変更する。電源配線６０の配置を変更した内容は、電源配線配置領域２１１に格納されている電源配線６０の配置情報に追加される。又、セル間配線の配置をする場合に、マクロセル７１、７２、・・・・・の移動が必要であれば、移動が必要になったマクロセル７１、７２、・・・・・の再配置を行い、マクロセル７１、７２、・・・・・の配置を変更した内容は、回路配置情報領域２１２に格納されている回路配置情報に追加される。
【００２６】
（ヘ）次に、ステップＳ１０７において、タイミング評価部１３１がクロック及び信号配線情報を回路配置情報領域２１２から読み出す。そして、タイミング評価部１３１は、評価条件領域２０２から読み出す評価基準に基づき、クロックスキューやタイミングのばらつき等、信号配線による半導体集積回路のタイミング評価を行う。又、クロストーク評価部１３２がセル間配線情報を回路配置情報領域２１２から読み出す。そして、クロストーク評価部１３２は、評価条件領域２０２から読み出す評価基準に基づき、セル間配線間のクロストークの影響による半導体集積回路への影響の評価を行う。そして、タイミングやセル間配線間クロストークによる半導体集積回路への影響が、評価条件領域２０２から読み出す評価基準を満足しないと判断された場合は、ステップＳ１０３に戻ってマクロセル７１、７２、・・・・・の配置から再設計を行う。電源配線６０とマクロセル７１、７２、・・・・・は接続されていないため、電源配線６０の配置を修正することなくマクロセル７１、７２、・・・・・を移動させることができる。そのため、マクロセル７１、７２、・・・・・の移動に伴って配置を修正する時間を短縮することができる。一方、クロック信号やセル間配線間クロストークによる半導体集積回路への影響が、評価基準を満足すると判断された場合は、ステップＳ１０８に進む。
【００２７】
（ト）ステップＳ１０８において、回路接続部１４０が、電源配線配置領域２１１及び回路配置情報領域２１２から、それぞれ電源配線６０の配置情報及びマクロセル７１、７２、・・・・・の配置情報を読み出す。そして、回路接続部１４０は、配置された電源配線６０とマクロセル７１、７２、・・・・・の電気的な接続情報を作成する。更に、回路接続部１４０は、マクロセル７１、７２、・・・・・と配置が重なった電源配線６０や、設計した半導体集積回路の動作に不要な電源配線６０の未使用部分を削除して設計情報を作成する。作成された設計情報は、設計情報領域２１３に格納される。設計情報領域２１３に格納された設計情報は出力装置４０から電子ファイル等の形式で出力が可能であり、フォトリソグラフィ用マスクやレチクルの作製等に使用される。
【００２８】
次に、電源配線６０とマクロセル７１、７２、・・・・・を接続する方法を説明する。先ず、マクロセルのレイアウトについて、図７に示すマクロセル７０を例にして説明する。図７に示すように、マクロセル７０は、マクロセル本体７０１と、マクロセル７０と電源配線６０を接続する電源ポート７０２と、電源配線６０が禁止される禁止領域７０３によって構成される。一般に、禁止領域７０３はマクロセル本体７０１の外側に配置される。禁止領域７０３の設定情報は、セル情報領域２０３に格納されるマクロセル７０の情報に含ませておくことができる。又は、半導体チップ領域５０上にマクロセル７０を配置した場合に、マクロセル７０の大きさや配置情報等から禁止領域７０３をマクロセル配置部１２１が設定してもよい。或いは、設計者が入力装置３０を介して半導体チップ領域５０上に禁止領域７０３を設定してもよい。以下に、図８のフローチャートと図２に示す設計装置、及び図９〜図１０を用いて、マクロセル７０と電源配線６０を接続する方法を例示的に説明する。図９〜図１０では、半導体チップ領域５０上に電源配線６０及びマクロセル７０が配置されている。
【００２９】
（イ）先ず、図８のステップＳ２０１において、図２に示す回路接続部１４０が電源配線配置領域２１１及び回路配置情報領域２１２から、それぞれ電源配線６０の配置情報及びマクロセル７０の配置情報を読み出す。そして、図９に示すように、回路接続部１４０はマクロセル７０と配置が重なる電源配線６０を削除する。図９に、一部が削除された電源配線６０の端部６０１、６０２、・・・・・、６０８を示す。
【００３０】
（ロ）次に、ステップＳ２０２において、回路接続部１４０は、図１０に示すように、ステップＳ２０１において一部が削除された電源配線６０の端部６０１と、マクロセル７０の電源ポート７０２を、マクロセル７０の禁止領域７０３上にマクロセルへ接続する電源配線６２０を配置して接続する。電源配線６０の端部が複数ある場合には、一般的には、マクロセル７０の電源ポート７０２に最も近い電源配線６０の端部と接続する。図１０では、マクロセルへ接続する電源配線６２０が電源ポート７０２と電源配線６０の端部６０１を接続する例を示している。
【００３１】
次に、電源配線６０とマクロセル７１、７２、・・・・・を接続する別の方法として、図１１に示すように、マクロセル７０ａが電源リング７０４を有する場合を説明する。マクロセル７０ａの電源ポート７０２に接続する電源リング７０４は、マクロセル本体７０１を囲むように禁止領域７０３に配置される。電源配線６０を電源リング７０４の任意の位置で接続することができる。そして、電源リング７０４を介して、マクロセル７０ａに電流が供給される。以下に、図１２のフローチャートと図２に示す設計装置、及び図１３〜図１４を用いて、電源リング７０４を有するマクロセル７０ａと電源配線６０を接続する方法を例示的に説明する。図１３〜図１４では、半導体チップ領域５０上に電源配線６０及びマクロセル７０ａが配置されている。
【００３２】
（イ）先ず、図１２のステップＳ３０１において、図２に示す回路接続部１４０が電源配線配置領域２１１及び回路配置情報領域２１２から、それぞれ電源配線６０の配置情報及びマクロセル７０ａの配置情報を読み出す。そして、図１３に示すように、回路接続部１４０は電源配線６０とマクロセル７０ａの電源リング７０４を、マクロセル７０ａの禁止領域７０３上で交差する複数の位置７０４１〜７０４８でそれぞれ接続する。
【００３３】
（ロ）次に、ステップＳ３０２において、回路接続部１４０は、図１４に示すように、マクロセル７０ａの電源リング７０４の内側の電源配線６０を削除する。
【００３４】
ところで、一般的には、それぞれのマクロセルによって電源リングや電源ポートが配置される位置や配線層が異なる。例えば、マクロセル７０ｂの第４配線層Ｍ４の上面図を示す図１５（ａ）、第３配線層Ｍ３の上面図を示す図１５（ｂ）、図１５（ａ）〜図１５（ｂ）のＩ−Ｉ方向に沿った配線層の断面図を示す図１５（ｃ）に示すように、マクロセル７０ｂは第１配線層Ｍ１〜第４配線層Ｍ４を使用し、電源リング７０４が第４配線層Ｍ４、電源ポート７０２ａ〜７０２ｄが第３配線層Ｍ３、電源ポート７０２ｅ、７０２ｆが第４配線層Ｍ４に配置されている。そして、電源リング７０４と電源ポート７０２ａ〜７０２ｄは、第３配線層Ｍ３−第４配線層Ｍ４間のビア７０５ａ〜７０５ｄ及び第３配線層Ｍ３に配置された接続電源配線７０６ａ〜７０６ｄを介して接続されている。第１配線層Ｍ１、第２配線層Ｍ２には電源リングや電源ポートが配置されていない。したがって、図１５（ａ）、図１５（ｂ）に示すように、マクロセル７０ｂでは、第３配線層Ｍ３及び第４配線層Ｍ４に禁止領域７０３が設定される。
【００３５】
そして、第１配線層Ｍ１〜第６配線層Ｍ６を有する半導体集積回路にマクロセル７０ｂを使用する場合、第５配線層Ｍ５、第６配線層Ｍ６にはマクロセル７０ｂの禁止領域がないため、マクロセル７０ｂが配置されている領域の第５配線層Ｍ５、第６配線層Ｍ６に電源配線を配置することができる。そして、図１５（ａ）に示すように、マクロセル７０ｂの最上層である第４配線層Ｍ４に電源ポート７０２ｅ、７０２ｆが配置されている場合、第５配線層Ｍ５、第６配線層Ｍ６から電流を供給することができる。例えば図１５（ｃ）に示すように、第４配線層Ｍ４−第５配線層Ｍ５間のビア６５０４ａを介して、第５配線層Ｍ５に配置した電源配線６５０とマクロセル７０ｂの電源ポート７０２ｅを接続できる。又、第５配線層Ｍ５−第６配線層Ｍ６間のビア６６０５、第５配線層Ｍ５のセル内電源配線６５１及び第４配線層Ｍ４−第５配線層Ｍ５間のビア６５０４ｂを介して、第６配線層Ｍ６に配置した電源配線６６０とマクロセル７０ｂの電源ポート７０２ｆを接続できる。
【００３６】
以上に説明したように、マクロセル毎に必要な配線層のみに禁止領域を設定することにより、セル内電源配線の配置の自由度が高い設計を行うことができる。
【００３７】
ところで、図１に示す自動設計方法においては、ステップＳ１０４〜Ｓ１０６において配置された論理セルやセル間配線等と、ステップＳ１０７からステップＳ１０３に戻って再配置したマクロセル７１、７２、・・・・・の配置が重なる場合がある。以下に、図１６のフローチャートと図２の設計装置、及び図１７〜図１９を用いて、配置の変更が必要な論理セルやセル間配線等の再配置を行う方法を例示的に説明する。図１７〜図１９では、半導体チップ領域５０上に電源配線６０、マクロセル７０及び論理セル８１〜８５が配置されている。更に、論理セル８１と論理セル８２がセル間配線９１によって接続されている。又、論理セル８３〜８５が、セル間配線９２〜９４によってそれぞれマクロセル７０に接続されている。
【００３８】
（イ）図１６のステップＳ４０１において、図２のマクロセル配置部１２１が、図１７に示すように配置されたマクロセル７０を、図１８に示すように再配置して、マクロセル７０の配置情報を回路配置情報領域２１２に格納する。
【００３９】
（ロ）次に、ステップＳ４０２において、配置情報抽出部１５０が回路配置情報領域２１２から回路配置情報を読み出して、マクロセル７０と配置が重なる論理セル８２やセル間配線９１の情報を抽出する。更に、配置情報抽出部１５０は、マクロセル７０に接続される論理セル８３〜８５やセル間配線９２〜９４の情報を抽出する。抽出した情報は、抽出情報領域２１４に格納される。
【００４０】
（ハ）ステップＳ４０３において、回路配置部１２０が抽出情報領域２１４の情報を読み出し、図１９に示すように、マクロセル７０の再配置によって移動が必要になった論理セル８１〜８５やセル間配線９１〜９４の再配置を行う。
【００４１】
図１に示す自動設計方法においては、図６に示したマクロセル７１、７２、・・・・・のうちいずれかのマクロセルの配置を変更した場合、電源配線６０の変更が必要ないために、すべてのマクロセル７１、７２、・・・・・や論理セル８１、８２、・・・・・、セル間配線等の配置をやり直す必要がない。そのため、必要な個所だけの論理セルやセル間配線等の再配置を行う方法により、再設計の時間が短縮できる。したがってマクロセル７１、７２、・・・・・の配置を変更、及びマクロセル７１、７２、・・・・・の配置を変更に伴う半導体集積回路全体の設計変更が容易であり、再設計にかかる時間を短縮することができる。
【００４２】
又、図１に示した一連の自動設計操作は、図１と等価なアルゴリズムのプログラムにより、図２に示した設計装置を制御して実行できる。このプログラムは、図２に示した設計装置を構成する記憶装置２０に記憶させればよい。又、このプログラムは、コンピュータ読み取り可能な記録媒体に保存し、この記録媒体を図２に示した記憶装置２０に読み込ませることにより、本発明の一連の自動設計操作を実行することができる。
【００４３】
（第２の実施の形態）
本発明の第２の実施の形態に係る自動設計方法は、図２０に示すように、ステップＳ１０７後に設計情報の作成を行い、更にＩＲドロップの評価を行う点が図１の自動設計方法と異なる。ＩＲドロップの評価を行うためには、電源配線６０に流れる電流値を知る必要がある。そのため、設計途中で電源配線６０とマクロセル７１、７２、・・・・・の電気的な接続情報を作成し、ＩＲドロップの評価を行う。図２０に示す評価方法は、例えば図２１に示す設計装置によって実行可能であるので、図２１を先に説明する。
【００４４】
図２１に示す設計装置は、評価部１３０がＩＲドロップの評価を行うＩＲドロップ評価部１３３を更に備えることが、図２と異なる点である。その他の構成については、図２に示した設計装置と同様である。
【００４５】
以下に、図２０に示す自動設計方法を、図２１の設計装置を用いて実行する例を説明する。
【００４６】
（イ）先ず、図１に示す自動設計方法と同様にして、図２０に示すステップＳ１０１〜ステップＳ１０７を実行する。
【００４７】
（ロ）ステップＳ１１１において、図２１に示す回路接続部１４０が、電源配線配置領域２１１及び回路配置情報領域２１２から、図６に示す電源配線６０の配置情報及びマクロセル７１、７２、・・・・・の配置情報をそれぞれ読み出す。そして、回路接続部１４０は、図８や図１２で説明した方法等により、配置された電源配線６０とマクロセル７１、７２、・・・・・を接続し、設計対象となる半導体集積回路の動作に不要な未使用の電源配線６０を削除した設計情報を作成する。
【００４８】
（ハ）次に、ステップＳ１１２において、回路接続部１４０によって作成された設計情報に基づき、ＩＲドロップ評価部１３３がＩＲドロップを計算する。そして、ＩＲドロップ評価部１３３は、評価条件領域２０２から読み出す評価基準に基づき、ＩＲドロップの影響による半導体集積回路への影響の評価を行う。ＩＲドロップによる半導体集積回路への影響が、評価条件領域２０２から読み出す評価基準を満足しないと判断された場合は、ステップＳ１０３に戻ってマクロセル７１、７２、・・・・・の配置から再設計を行う。その場合、電源配線配置領域２１１に格納された電源配線６０の配置情報及び回路配置情報領域２１２に格納された配置情報に基づき再設計を行う。したがって、半導体集積回路の再設計にかかる時間を短縮することができる。又、ＩＲドロップによる半導体集積回路への影響が、評価条件領域２０２から読み出す評価基準を満足しないと判断された場合に、電源配線６０の配置を変更することも可能である。電源配線６０を変更した内容は、電源配線配置領域２１１に格納されている電源配線６０の配置情報に追加される。その後、電源配線配置領域２１１に格納された電源配線６０の配置情報及び回路配置情報領域２１２に格納された配置情報に基づき、半導体集積回路の設計を続行することができる。したがって、電源配線６０の再配置に伴う半導体集積回路の再設計にかかる時間を短縮することができる。一方、ＩＲドロップによる半導体集積回路への影響が、評価基準を満足すると判断された場合は、ステップＳ１０８に進む。他は、第１の実施の形態と実質的に同様であり、重複した記載を省略する。
【００４９】
以上の説明では、ＩＲドロップの評価をクロック信号や配線間クロストークによる半導体集積回路への影響を評価した後に行う例を示した。しかし、ＩＲドロップの評価をクロック信号や配線間クロストークの評価の前に行い、その後、電源配線配置領域２１１に格納された電源配線６０の配置情報を使用してクロック信号や配線間クロストークの評価を行うことも可能である。又、ＩＲドロップの評価以外の電源配線の接続情報が必要な評価も、同様の方法によって設計途中で評価を行うことができる。
【００５０】
（第３の実施の形態）
１つの半導体集積回路の設計を、複数の設計装置を使用して行う場合がある。その場合、設計中の半導体集積回路の回路情報や配置済みの電源配線配置情報及び回路配置情報を、複数の設計装置で使用可能な共通フォーマットのファイル（以下において「設計情報ファイル」という。）によって、複数の設計装置間で交換する必要がある。図２２に示す本発明の第３の実施の形態に係る自動設計方法は、ステップＳ１０４後に設計情報ファイルを作成して出力してクロック配線の配置を行い、更に設計情報ファイルを作成して出力する点が、図１の自動設計方法と異なる。図２２に示す評価方法は、例えば図２３に示す設計装置によって実行可能であるので、先ず、図２３を説明する。
【００５１】
図２３に示す設計装置は、ＣＰＵ１０が設計情報処理部１６０を更に備えることが、図２と異なる点である。その他の構成については、図２に示した設計装置と同様である。設計情報処理部１６０は、回路情報領域２０１、電源配線配置領域２１１、回路配置情報領域２１２及び設計情報領域２１３にそれぞれ格納された情報を読み出し、設計情報ファイルを作成する。
【００５２】
図２２に示す自動設計方法を、図２４に示す第１の設計装置１及び第２の設計装置２を用いて実行する例を説明する。図２４に示す第１の設計装置１及び第２の設計装置２は、例えば図２３に示す設計装置が採用可能である。クロック配線の配置を図２３に示す設計装置を採用した第２の設計装置２を用いて行い、クロック配線の配置以外の自動設計を図２３に示す設計装置を採用した第１の設計装置１を用いて行う場合を以下に例示的に説明する。説明を分かりやすくするために、第２の設計装置２に含まれるそれぞれの装置や記憶装置２０に含まれる各領域、ＣＰＵ１０に含まれる各部の符号の末尾に符号「ｂ」を付加して、以下の説明を行う。
【００５３】
（イ）先ず、図１に示す自動設計方法と同様にして、図２４に示す第１の設計装置１によって、図２２に示すステップＳ１０１〜ステップＳ１０４を実行する。
【００５４】
（ロ）次に、ステップＳ１２１において、第１の設計装置１の回路接続部１４０が、第１の設計装置１の電源配線配置領域２１１及び回路配置情報領域２１２から、図６に示す電源配線６０の配置情報及びマクロセル７１、７２、・・・・・の配置情報をそれぞれ読み出す。そして、第１の設計装置１の回路接続部１４０は、図８や図１２で説明した方法により、配置された電源配線６０とマクロセル７１、７２、・・・・・を接続し、設計対象となる半導体集積回路の動作に不要な未使用の電源配線６０を削除した設計情報を作成する。作成された設計情報は第１の設計装置１の設計情報領域２１３に格納される。次いで、第１の設計装置１の設計情報処理部１６０が、第１の設計装置１の電源配線配置領域２１１に格納された電源配線６０の配置情報、回路配置情報領域２１２に格納された回路配置情報、設計情報領域２１３に格納された設計情報及び回路情報領域２０１に格納された設計対象の半導体集積回路の回路情報をそれぞれ読み出して、設計情報ファイルを作成する。設計情報ファイルの形式は、例えばデザイン・イクスチェンジ・フォーマット形式（以下において「ＤＥＦ形式」という。）等が採用可能である。
【００５５】
（ハ）ステップＳ１２２において、ステップＳ１２１で作成された設計情報ファイルが、第１の設計装置１の出力装置４０を介して出力され、第２の設計装置２の入力装置３０ｂを介して第２の設計装置２の記憶装置２０ｂに入力される。そして、第２の設計装置２の設計情報処理部１６０ｂによって、入力された設計情報ファイルの電源配線６０の配置情報、回路配置情報、設計情報及び設計対象の半導体集積回路の回路情報が、第２の設計装置２の電源配線配置領域２１１ｂ、回路配置情報領域２１２ｂ、設計情報領域２１３ｂ及び回路情報領域２０１ｂにそれぞれ格納される。
【００５６】
（ニ）次に、ステップＳ１２３において、第２の設計装置２のクロック配線部１２３ｂが、第２の設計装置２の回路情報領域２０１ｂから読み出す回路情報に基づき、クロック配線の配置を行う。クロック配線の配置情報は、第２の設計装置２の回路配置情報領域２１２ｂに格納される。クロック配線の配置をする場合に、電源配線６０の配置の変更が必要であれば、電源配線６０の配置を変更する。電源配線６０の配置を変更した内容は、第２の設計装置２の電源配線配置領域２１１ｂに格納されている電源配線配置情報に追加される。
【００５７】
（ホ）次に、ステップＳ１２４において、ステップＳ１２１と同様にして第２の設計装置２の回路接続部１４０ｂが、第２の設計装置２の電源配線配置領域２１１ｂ及び回路配置情報領域２１２ｂに格納された情報に基づき、設計情報を作成する。作成された設計情報は第２の設計装置２の設計情報領域２１３ｂに格納される。次いで、第２の設計装置２の設計情報処理部１６０ｂが、ステップＳ１２１と同様にして、電源配線６０の配置情報、回路配置情報、設計情報及び設計対象の半導体集積回路の回路情報からなる、例えばＤＥＦ形式の設計情報ファイルを作成する。
【００５８】
（ヘ）ステップＳ１２５において、ステップＳ１２４で作成された設計情報ファイルが、第２の設計装置２の出力装置４０ｂを介して出力され、第１の設計装置１の入力装置３０を介して、第１の設計装置１の記憶装置２０に入力される。そして、第１の設計装置１の設計情報処理部１６０によって、設計情報ファイルの電源配線６０の配置情報、回路配置情報、設計情報及び設計対象の半導体集積回路の回路情報が、それぞれ第１の設計装置１の電源配線配置領域２１１、回路配置情報領域２１２、設計情報領域２１３及び回路情報領域２０１に格納される。
【００５９】
（ト）その後、図１に示す自動設計方法と同様にして、第１の設計装置１によって、図２２に示すステップＳ１０６以降の設計を行う。他は、第１の実施の形態と実質的に同様であり、重複した記載を省略する。
【００６０】
上記の説明では、設計情報ファイルが電源配線配置情報、回路配置情報、設計情報及び半導体集積回路の回路情報を含む場合を説明した。しかし、例えば電源配線配置情報、回路配置情報及び設計情報を含んだ設計情報ファイルと、設計情報ファイルとは別の、半導体集積回路の回路情報を含んだ回路情報ファイルによって、複数の設計装置間で電源配線配置情報や回路配置情報、半導体集積回路の回路情報が交換されてもよい。
【００６１】
図２２に示す自動設計方法の説明では、クロック配線を配置するステップのみを第２の設計装置２で実行する例を述べたが、共通フォーマットの設計ファイルを交換することで、マクロセルの配置やセル間配線の配置等を第２の設計装置２で実行することができる。又、設計している半導体集積回路のクロックスキューやタイミング、配線間クロストーク、ＩＲドロップ等を評価するステップを第２の設計装置２で実行することができる。更に、複数のステップを第２の設計装置２で実行したり、３つ以上の設計装置を使用して１つの半導体集積回路の設計を行うことができる。又、上記の説明では、第１の設計装置１と第２の設計装置２が同一の構成である場合を例にしたが、構成が異なる複数の設計装置を使用することができるのは勿論である。  
（その他の実施の形態）
上記のように、本発明は第１乃至第３の実施の形態によって記載したが、この開示の一部をなす論述及び図面はこの発明を限定するものであると理解すべきではない。この開示から当業者には様々な代替実施の形態、実施例及び運用技術が明らかとなろう。
【００６２】
例えば、既に述べた第１乃至第３の実施の形態の説明においては、半導体集積回路の設計段階において評価する項目として、クロックスキューやタイミング等のクロック配線の影響、配線間のクロストークの影響、ＩＲドロップの影響を評価する自動設計方法を示した。その他に信号配線での配線遅延等の評価を含む自動設計方法を実現することができる。
【００６３】
このように、本発明はここでは記載していない様々な実施の形態等を含むことは勿論である。したがって、本発明の技術的範囲は上記の説明から妥当な特許請求の範囲に係る発明特定事項によってのみ定められるものである。
【図面の簡単な説明】
【００６４】
【図１】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法を説明するフローチャートである。
【図２】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法を実行する設計装置を示す模式的な構成図である。
【図３】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による半導体集積回路の配置を説明するための半導体チップ領域の上面図である（その１）。
【図４】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による半導体集積回路の配置を説明するための半導体チップ領域の上面図である（その２）。
【図５】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による半導体集積回路の配置を説明するための半導体チップ領域の上面図である（その３）。
【図６】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による半導体集積回路の配置を説明するための半導体チップ領域の上面図である（その４）。
【図７】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による電源配線との接続方法を説明するためのマクロセルの上面図である。
【図８】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による電源配線とマクロセルの接続方法を説明するためのフローチャートである。
【図９】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による電源配線とマクロセルの接続方法を説明するための半導体チップ領域の上面図である（その１）。
【図１０】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による電源配線とマクロセルの接続方法を説明するための半導体チップ領域の上面図である（その２）。
【図１１】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による電源配線との別の接続方法を説明するためのマクロセルの上面図である。
【図１２】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による電源配線とマクロセルの別の接続方法を説明するためのフローチャートである。
【図１３】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による電源配線とマクロセルの別の接続方法を説明するための半導体チップ領域の上面図である（その１）。
【図１４】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による電源配線とマクロセルの別の接続方法を説明するための半導体チップ領域の上面図である（その２）。
【図１５】図１５（ａ）は本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による電源配線の更に別の接続方法を説明するためのマクロセルの第４配線層Ｍ４の上面図、図１５（ｂ）はマクロセルの第３配線層Ｍ３の上面図、図１５（ｃ）は図１５（ａ）のＩ−Ｉ方向に沿った配線層の断面図である。
【図１６】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による論理セル及びセル間配線の再配置方法を説明するためのフローチャートである。
【図１７】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による論理セル及びセル間配線の再配置方法を説明するための半導体チップ領域の上面図である（その１）。
【図１８】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による論理セル及びセル間配線の再配置方法を説明するための半導体チップ領域の上面図である（その２）。
【図１９】本発明の第１の実施の形態に係る半導体集積回路の自動設計方法による論理セル及びセル間配線の再配置方法を説明するための半導体チップ領域の上面図である（その３）。
【図２０】本発明の第２の実施の形態に係る半導体集積回路の自動設計方法を説明するフローチャートである。
【図２１】本発明の第２の実施の形態に係る半導体集積回路の自動設計方法を実行する設計装置を示す模式的な構成図である。
【図２２】本発明の第３の実施の形態に係る半導体集積回路の自動設計方法を説明するフローチャートである。
【図２３】本発明の第３の実施の形態に係る半導体集積回路の自動設計方法を実行する設計装置を示す模式的な構成図である。
【図２４】本発明の第３の実施の形態に係る半導体集積回路の自動設計方法を実行する複数の設計装置を示す模式的な構成図である。
【符号の説明】
【００６５】
５０…半導体チップ領域
６０…電源配線
７１、７２、…マクロセル
８１、８２、…論理セル
９１〜９４…セル間配線
１１０…電源配線部
１２０…回路配置部
１４０…回路接続部
２１１…電源配線配置領域
２１２…回路配置情報領域
７０３…禁止領域
【図１】
0004643157.tif 000002
【図２】
0004643157.tif 000003
【図３】
0004643157.tif 000004
【図４】
0004643157.tif 000005
【図５】
0004643157.tif 000006
【図６】
0004643157.tif 000007
【図７】
0004643157.tif 000008
【図８】
0004643157.tif 000009
【図９】
0004643157.tif 000010
【図１０】
0004643157.tif 000011
【図１１】
0004643157.tif 000012
【図１２】
0004643157.tif 000013
【図１３】
0004643157.tif 000014
【図１４】
0004643157.tif 000015
【図１５】
0004643157.tif 000016
【図１６】
0004643157.tif 000017
【図１７】
0004643157.tif 000018
【図１８】
0004643157.tif 000019
【図１９】
0004643157.tif 000020
【図２０】
0004643157.tif 000021
【図２１】
0004643157.tif 000022
【図２２】
0004643157.tif 000023
【図２３】
0004643157.tif 000024
【図２４】
0004643157.tif 000025