(57)【要約】【課題】設計した半導体集積回路のレイアウトを少ない戻り量で容易に修正する。【解決手段】レイアウト設計装置は、半導体集積回路のコア領域上に、スタンダードセル領域及びハードマクロ領域を定め（Ｓ１０５ｃ）、スタンダードセル領域及びハードマクロ領域上に、複数の通常メッシュ電源配線を一定の間隔で配置する（Ｓ１１０ｂ）とともに、ハードマクロ領域上の通常メッシュ電源配線と通常メッシュ電源配線との間に、細密メッシュ電源配線を配置した（Ｓ１１０ｄ）後、スタンダードセル領域及びハードマクロ領域上に、信号配線を配置し（Ｓ１４５）、ハードマクロ領域上に配置された信号配線に対して収束しているか否かを判定し（Ｓ１５０）、信号配線が収束していない場合に、信号配線の収束を阻害している細密メッシュ電源配線を削除して（Ｓ１５２）から、信号配線を配置し直す（Ｓ１４５）。【選択図】図１
2009246176.tif 000002
【特許請求の範囲】
【請求項１】
レイアウト設計装置を用いて、設計上の制約違反を回避して、半導体集積回路のレイアウトを設計する半導体集積回路のレイアウト設計方法において、
前記レイアウト設計装置は、
半導体集積回路のコア領域上に、スタンダードセルを配置するためのスタンダードセル領域及びハードマクロを配置するためのハードマクロ領域を定め、
前記スタンダードセル領域及びハードマクロ領域上に、通常メッシュ電源配線として、メッシュ状に交差する複数の電源配線を一定の間隔で仮想的に配置するとともに、前記ハードマクロ領域上の当該通常メッシュ電源配線と当該通常メッシュ電源配線との間のそれぞれに、細密メッシュ電源配線として、メッシュ状に交差する複数の電源配線を仮想的に配置した後、
前記スタンダードセル領域及び前記ハードマクロ領域上に、信号配線を仮想的に配置し、
さらに、前記ハードマクロ領域上に配置された前記信号配線に対して、収束しているか否かを、当該信号配線のショート箇所の発生の有無及び接続すべき当該信号配線の未接続箇所の発生の有無によって判定し、当該信号配線が収束していない場合に、当該信号配線の収束を阻害している前記細密メッシュ電源配線を削除してから、当該信号配線を配置し直す
ことを特徴とする半導体集積回路のレイアウト設計方法。
【請求項２】
請求項１に記載の半導体集積回路のレイアウト設計方法において、
前記レイアウト設計装置は、
前記配置し直す際に、削除された前記細密メッシュ電源配線が配置されていた位置に、収束していなかった前記信号配線を配置する
ことを特徴とする半導体集積回路のレイアウト設計方法。
【請求項３】
フロアプラン決定部と配置部と違反対策部と検証部とを有するレイアウト設計装置を用いて、設計上の制約違反を回避して、半導体集積回路のレイアウトを設計する半導体集積回路のレイアウト設計方法において、
前記フロアプラン決定部が、前記半導体集積回路の仕様を定めた設計データに基づいて、当該半導体集積回路のチップサイズを定め、さらに、当該半導体集積回路のコア領域上に、スタンダードセルを配置するためのスタンダードセル領域及びハードマクロを配置するためのハードマクロ領域を定めることによって、半導体集積回路の基本的なレイアウトであるフロアプランを生成するフロアプラン決定工程と、
前記フロアプラン決定工程で生成された前記フロアプランに対して、前記配置部が、前記コア領域の周囲に、電源幹線を仮想的に配置する動作と、前記スタンダードセル領域及びハードマクロ領域上に、通常メッシュ電源配線として、メッシュ状に交差する複数の電源配線を一定の間隔で仮想的に配置する動作と、前記スタンダードセル領域上に、複数の電源支線を仮想的に配置する動作と、前記ハードマクロ領域上の当該通常メッシュ電源配線と当該通常メッシュ電源配線との間のそれぞれに、細密メッシュ電源配線として、メッシュ状に交差する複数の電源配線を仮想的に配置する動作とを行う電源配線配置工程と、
前記電源配線配置工程で生成されたレイアウトに対して、前記配置部が、前記スタンダードセル領域上に、前記スタンダードセルを仮想的に配置するスタンダードセル配置工程と、
前記スタンダードセル配置工程で生成されたレイアウトに対して、前記配置部が、前記スタンダードセル領域及び前記ハードマクロ領域上に、仮信号配線として、複数の信号配線を仮想的に配置する仮信号配線配置工程と、
前記仮信号配線配置工程で生成されたレイアウトの中の各々の前記仮信号配線に対して、前記検証部が、収束しているか否かを、当該仮信号配線のショート箇所の発生の有無及び接続すべき当該仮信号配線の未接続箇所の発生の有無によって判定する仮信号配線収束判定工程と、
前記仮信号配線配置工程で生成されたレイアウトに対して、前記違反対策部が、各々の前記仮信号配線の配置位置が予め定められたクロストーク・ルールに違反しないように、クロストーク違反対策として予め定められたレイアウト変更を行うクロストーク違反対策工程と、
前記クロストーク違反対策工程で生成されたレイアウトに対して、前記配置部が、前記スタンダードセル領域及び前記ハードマクロ領域上に、詳細信号配線として、複数の信号配線を仮想的に配置する詳細信号配線配置工程と、
前記詳細信号配線配置工程で生成されたレイアウトの中の前記ハードマクロ領域上に配置された各々の前記詳細信号配線に対して、前記検証部が、収束しているか否かを、当該詳細信号配線のショート箇所の発生の有無及び接続すべき当該詳細信号配線の未接続箇所の発生の有無によって判定する詳細信号配線収束判定工程と、
前記詳細信号配線収束判定工程で前記詳細信号配線が収束していないと判定された場合に、前記詳細信号配線配置工程で生成されたレイアウトの中の前記細密メッシュ電源配線に対して、前記違反対策部が、当該詳細信号配線の収束を阻害している線を削除する細密メッシュ電源配線削除工程と、
前記詳細信号配線配置工程で生成されたレイアウトの中の各々の前記詳細信号配線に対して、前記検証部が、クロストーク違反の発生の有無を判定するクロストーク違反判定工程とを有しており、かつ、
前記仮信号配線収束判定工程で前記仮信号配線が収束していないと判定された場合に、レイアウト変更を行いながら、前記フロアプラン決定工程から前記仮信号配線収束判定工程までの動作を行い、
前記詳細信号配線収束判定工程で前記詳細信号配線が収束していないと判定された場合に、レイアウト変更を行いながら、前記細密メッシュ電源配線削除工程を行った後、前記クロストーク違反対策工程から前記詳細信号配線収束判定工程までの動作を行い、及び、
前記クロストーク違反判定工程でクロストーク違反があると判定された場合に、レイアウト変更を行いながら、前記クロストーク違反対策工程から前記クロストーク違反判定工程までの動作を行う
ことを特徴とする半導体集積回路のレイアウト設計方法。
【請求項４】
請求項３に記載の半導体集積回路のレイアウト設計方法において、
さらに、前記仮信号配線収束判定工程と前記詳細信号配線収束判定工程との間で、かつ、前記クロストーク違反対策工程の前または後に、直前の工程で生成されたレイアウトの中の各々の前記仮信号配線に対して、前記違反対策部が、当該仮信号配線によって伝搬される信号の伝搬時間がセットアップタイム及びホールドタイムとして予め定められたタイミングに違反しないように、タイミング違反対策として予め定められたレイアウト変更を行うタイミング違反対策工程と、
前記詳細信号配線収束判定工程の後で、かつ、前記クロストーク違反判定工程の前または後に、直前の工程で生成されたレイアウトの中の各々の前記詳細信号配線に対して、前記検証部が、当該詳細信号配線によって伝搬される信号の伝搬時間のタイミング違反の有無を判定するタイミング違反判定工程とを有しており、かつ、
前記タイミング違反判定工程でタイミング違反があると判定された場合に、レイアウト変更を行いながら、前記タイミング違反対策工程から前記タイミング違反判定工程までの動作を行う
ことを特徴とする半導体集積回路のレイアウト設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、設計した半導体集積回路のレイアウトを、少ない戻り量で容易に修正することができる半導体集積回路のレイアウト設計方法に関する。
【背景技術】
【０００２】
半導体集積回路の設計は、半導体集積回路の論理設計、レイアウト設計、レイアウト検証の順で行われる（例えば、特許文献１参照）。
【０００３】
半導体集積回路の論理設計は、半導体集積回路の機能的或いは論理的な単位となる素子や部品に関するデータが基本素子（セル）を表すデータとしてデータベースサーバのライブラリと称される格納領域に登録されており、そのライブラリに登録されたセルデータの中から必要なセルを選択して、セル同士を接続させることにより行われる。論理設計により接続されたセルに関するデータは、セルの相互接続データとしてデータベースサーバのネットリストと称される格納領域に登録される。以下、ライブラリに登録されたデータを「ライブラリデータ」または「セルデータ」と称し、ネットリストに登録されたデータを「ネットリストデータ」または「セルの相互接続データ」と称する。
【０００４】
半導体集積回路のレイアウト設計は、通信網を介してデータベースサーバと接続自在に配置されたレイアウト設計装置によって行われる。なお、「レイアウト設計装置」とは、半導体集積回路のレイアウト設計を行うためのプログラム（以下、「設計ツールプログラム」と称する）がインストールされたコンピュータ端末である。レイアウト設計装置の構造は、設計ツールプログラムの仕様によって様々である。しかしながら、レイアウト設計装置の動作は、ほぼ同様である。
【０００５】
レイアウト設計装置は、データベースサーバから、ライブラリデータやネットリストデータ、信号配線によって伝搬される信号の伝搬時間に対するタイミング制約を規定するデータ（以下、「タイミング制約データ」と称する）等を半導体集積回路の設計データとして取得し、その設計データに基づいて、設計ツールプログラムによって規定された条件に適合するように、半導体集積回路のレイアウト設計を行う。レイアウト設計装置は、半導体集積回路のレイアウト設計を行うと、設計した半導体集積回路のレイアウトを表すデータ（以下、「レイアウトデータ」と称する）を、通信網を介してレイアウト設計装置と接続自在に配置されたレイアウト検証装置に出力して、レイアウトデータの最終的な違反検証を行わせる。
【０００６】
なお、「レイアウト検証装置」とは、半導体集積回路のレイアウトに対して違反検証すなわち予め定められた何らかの制約に違反する箇所の検出を行うためのプログラム（以下、「検証ツールプログラム」と称する）がインストールされたコンピュータ端末である。レイアウト検証装置の構造は、検証ツールプログラムの仕様によって様々である。しかしながら、レイアウト検証装置の動作は、ほぼ同様である。レイアウト検証装置は、検証ツールプログラムによって規定された条件に基づいて、レイアウト設計装置が設計した半導体集積回路のレイアウトに対して最終的な違反検証を行う。レイアウト検証装置は、違反箇所を検出した場合に、違反箇所が存在する旨を表す検証結果をレイアウト設計装置に出力する。この場合、レイアウト設計装置は、レイアウト検証装置による最終的な違反検証で違反箇所が検出されなくなるまで、半導体集積回路のレイアウト変更を繰り返す。他方、レイアウト検証装置は、違反箇所を検出できなかった場合に、違反箇所が存在しない旨を表す検証結果をレイアウト設計装置に出力する。この場合、レイアウト設計装置は、設計した半導体集積回路のレイアウトをデータベースサーバに出力して登録させる。
【０００７】
以下に、図１２並びに図１３（Ａ）及び（Ｂ）を参照して、従来の半導体集積回路のレイアウト設計方法を説明する。なお、図１２は、従来のレイアウト設計方法を示すフローチャートである。また、図１３（Ａ）及び（Ｂ）は、それぞれ、従来の方法によって設計されたレイアウトの一例を示す図である。図１３（Ａ）は、上面方向から見た半導体集積回路のレイアウトを示している。また、図１３（Ｂ）は、図１３（Ａ）に示す半導体集積回路をＡ−Ａ’線に沿って切断して得られる切り口すなわち断面を、側面方向から見たレイアウトを示している。なお、図１３（Ａ）に示すスタンダードセル領域１２の上には、図が煩雑になるため省略されているが、図示せぬ複数の電源支線が配置されている。
【０００８】
レイアウト設計装置のオペレータは、レイアウト設計装置のキーボードやマウス等の入力機器を操作して、レイアウト設計装置の設計ツールを起動させ、さらに、レイアウト設計装置をデータベースサーバに接続させて、レイアウト設計装置に、データベースサーバから論理設計された１乃至複数の半導体集積回路のリストを取得させる。これにより、レイアウト設計装置は、取得した半導体集積回路のリストをディスプレイに表示する。オペレータは、入力機器を操作して、ディスプレイに表示された半導体集積回路のリストの中からレイアウト設計を行う半導体集積回路を指定し、さらに、レイアウト設計を開始させるための指示（以下、「レイアウト設計開始指示」と称する）をレイアウト設計装置に入力する。これにより、レイアウト設計装置は、半導体集積回路のレイアウト設計を開始する。
【０００９】
半導体集積回路のレイアウト設計では、図１２に示すように、レイアウト設計装置が、まず、フロアプラン決定工程を行う（Ｓ１０５）。このフロアプラン決定工程では、レイアウト設計装置は、まず、データベースサーバからレイアウト設計を行う半導体集積回路の設計データを取得し（Ｓ１０５ａ）、図１３（Ａ）及び（Ｂ）に示すように、取得した設計データに基づいて、半導体集積回路１０のチップサイズやコア領域１１のサイズを仮決めし（Ｓ１０５ｂ）、コア領域１１上に、スタンダードセル領域１２及びハードマクロ領域１４を決定して（Ｓ１０５ｃ）、レイアウト設計する半導体集積回路１０の基本的なレイアウトを表すデータ（以下、「フロアプランデータ」と称する）を生成して、レイアウト設計装置の格納部に格納する。なお、図１３（Ａ）中、スタンダードセル領域１２は、スタンダードセル１３が配置される領域である。また、ハードマクロ領域１４は、ＲＡＭやＲＯＭ等のハードマクロ１５が配置される領域である。
【００１０】
次に、レイアウト設計装置は、電源配線の配置工程を行う（Ｓ１１０）。この電源配線の配置工程では、レイアウト設計装置は、まず、フロアプランデータが表すレイアウトに対して、図１３（Ａ）に示すコア領域１１の周囲に、電源幹線（以下、「電源リング」と称する）１６を仮想的に配置する（Ｓ１１０ａ）。次に、レイアウト設計装置は、メッシュ状に交差する複数の電源配線（以下、「メッシュ電源配線」と称する）１８の線幅と間隔を決定し、フロアプランデータが表すレイアウトの中のスタンダードセル領域１２及びハードマクロ領域１４上に、メッシュ電源配線１８を仮想的に配置する（Ｓ１１０ｂ）。なお、メッシュ電源配線１８の階層は、図１３（Ｂ）に示すように、縦方向に配置されたメッシュ電源配線１８（以下、「縦方向メッシュ電源配線１８−１」と称する）と横方向に配置されたメッシュ電源配線１８（以下、「横方向メッシュ電源配線１８−２」と称する）とで階層が異なる。次に、レイアウト設計装置は、格納部に予め用意された参照データに基づいて、スタンダードセル領域１２上に、予め定められた線幅及び間隔で図示せぬ複数の電源支線を仮想的に配置する（Ｓ１１０ｃ）。なお、レイアウト設計装置は、フロアプランデータが表すレイアウトに対して各種の構成要素を配置したときに、各種の構成要素が配置されたレイアウトを表すデータ（以下、「レイアウトデータ」と称する）を生成する。このレイアウトデータは、レイアウト設計装置の格納部に一旦格納され、新たな構成要素が配置されたときや、構成要素の位置やサイズが変更されたときに、適宜更新される。
【００１１】
次に、レイアウト設計装置は、スタンダードセルの配置工程を行う（Ｓ１１５）。このスタンダードセルの配置工程では、レイアウト設計装置は、レイアウトデータが表すレイアウトのスタンダードセル領域１２上に、スタンダードセル１３を配置する。
【００１２】
次に、レイアウト設計装置は、仮信号配線の配置工程を行う（Ｓ１２０）。このとき、レイアウト設計装置は、レイアウトデータが表すレイアウトのスタンダードセル領域１２及びハードマクロ領域１４上に、仮信号配線２１を配置する。
【００１３】
次に、レイアウト設計装置は、仮信号配線の収束の検証工程を行う（Ｓ１２５）。このとき、レイアウト設計装置は、予め用意された参照データに基づいて、仮信号配線２１が収束しているか否かを、仮信号配線２１のショート（短絡）箇所の発生の有無及び接続すべき仮信号配線２１の未接続箇所の発生の有無によって判定する。なお、「収束」とは、事態のおさまりをつけることすなわち障害が解消された状態にすることを意味している。信号配線は、一定面積に集中して配置されている場合に、ショート箇所や未接続箇所が発生し易くなり、未収束になり易い。Ｓ１２５の判定で、「仮信号配線が収束している“Ｙｅｓ”」と判定された場合に、工程はＳ１３０に進む。他方、Ｓ１２５の判定で、「仮信号配線が収束していない“Ｎｏ”」と判定された場合に、フロアプラン決定工程（Ｓ１０５）に戻る。この場合、レイアウト設計装置は、予め定められた回数を上限にして、仮信号配線２１が収束していると判定されるまで、各工程で値を変更してレイアウト変更を行いながら、Ｓ１０５〜Ｓ１２５の動作を繰り返す。なお、Ｓ１２５の判定は、設計ツールプログラムの仕様によっては、配線の混雑度を表すマップをレイアウト設計装置のディスプレイに表示させて、表示されたマップに基づいて、オペレータに、信号配線が収束するか否かを判定させる場合もある。
【００１４】
Ｓ１２５の判定で、「仮信号配線が収束している“Ｙｅｓ”」と判定された場合に、レイアウト設計装置は、クロック合成工程を行う（Ｓ１３０）。このとき、レイアウト設計装置は、格納部に予め用意された制御データに基づいて、半導体集積回路１０の各種の構成要素の動作を検証する際に用いるクロックデータを生成して、レイアウト設計装置の格納部に格納する。このクロックデータは、例えば、後述のタイミング違反対策工程で、ＬＳＩ端子の１つであるクロックピンからクロックデータによって制御されるレジスタまでの信号の伝搬遅延を同一にするために、レイアウト変更を行う際に用いられる。この変更により、レジスタのタイミング違反を抑えることができる。
【００１５】
次に、レイアウト設計装置は、タイミング違反対策工程を行う（Ｓ１３５）。このとき、レイアウト設計装置は、予め用意された参照データに基づいて、バッファサイジングすなわち波形が鈍っている箇所をなくすために図示せぬバッファの挿入やドライブ能力の調整等を行った後、タイミング違反がなくなるまで、タイミング違反対策、すなわち、Ｓ１３０で生成されたクロックデータを用いて、仮信号配線２１によって伝搬される信号の伝搬時間がセットアップタイム及びホールドタイムとして予め定められたタイミングに違反しないように、タイミング違反対策として予め定められたレイアウト変更、例えば、図示せぬバッファの挿入や削除、ドライブ能力の調整、セルの移動等を行う。
【００１６】
次に、レイアウト設計装置は、クロストーク違反対策工程を行う（Ｓ１４０）。このとき、クロストーク違反（すなわち、クロストーク・ルール上の違反）は信号配線が隣接して並行配線されている場合に発生することが多いため、レイアウト設計装置は、予め用意された参照データに基づいて、クロストーク違反対策、すなわち、仮信号配線２１の配置位置が予め定められたクロストーク・ルールに違反しないように、クロストーク違反対策として予め定められたレイアウト変更、例えば、仮信号配線２１の配置位置の移動や、仮信号配線２１が長くならないように、仮信号配線２１の途中へのバッファの挿入等を行う。
【００１７】
次に、レイアウト設計装置は、詳細信号配線の配置工程を行う（Ｓ１４５）。このとき、レイアウト設計装置は、レイアウトデータが表すレイアウトのスタンダードセル領域１２及びハードマクロ領域１４上に、詳細信号配線２２を配置する。
【００１８】
次に、レイアウト設計装置は、詳細信号配線の収束の検証工程を行う（Ｓ１５０）。このとき、レイアウト設計装置は、予め用意された参照データに基づいて、詳細信号配線２２が収束しているか否かを、詳細信号配線２２のショート箇所の発生の有無及び接続すべき詳細信号配線２２の未接続箇所の発生の有無によって判定する。Ｓ１５０の判定で、「詳細信号配線が収束している“Ｙｅｓ”」と判定された場合に、工程はＳ１５５に進む。他方、Ｓ１５０の判定で、「詳細信号配線が収束していない“Ｎｏ”」と判定された場合に、フロアプラン決定工程（Ｓ１０５）に戻る。この場合、レイアウト設計装置は、予め定められた回数を上限にして、詳細信号配線２２が収束していると判定されるまで、各工程で値を変更してレイアウト変更を行いながら、Ｓ１０５〜Ｓ１５０の動作を繰り返す。なお、Ｓ１５０の判定は、設計ツールプログラムの仕様によっては、配線が未収束となっている場合に、ショート発生箇所や未接続配線の発生箇所をレイアウト設計装置のディスプレイに表示させて、表示された箇所に基づいて、オペレータに、信号配線が収束するか否かを判定させる場合もある。
【００１９】
Ｓ１５０の判定で、「詳細信号配線が収束している“Ｙｅｓ”」と判定された場合に、レイアウト設計装置は、タイミング違反の検証工程を行う（Ｓ１５５）。このとき、レイアウト設計装置は、予め用意された参照データに基づいて、タイミング違反がないか、すなわち、詳細信号配線２２によって伝搬される信号の伝搬時間がセットアップタイム及びホールドタイムとして予め定められたタイミングに違反していないかを判定する。Ｓ１５５の判定で、「タイミング違反がない“Ｙｅｓ”」と判定された場合に、工程はＳ１６０に進む。他方、Ｓ１５５の判定で、「タイミング違反がある“Ｎｏ”」と判定された場合に、タイミング違反対策工程（Ｓ１３５）に戻る。この場合、レイアウト設計装置は、予め定められた回数を上限にして、タイミング違反がないと判定されるまで、Ｓ１３５で値を変更してレイアウト変更を行いながら、Ｓ１３５〜Ｓ１５５の動作を繰り返す。
【００２０】
Ｓ１５５の判定で、「タイミング違反がない“Ｙｅｓ”」と判定された場合に、レイアウト設計装置は、クロストーク違反の検証工程を行う（Ｓ１６０）。このとき、レイアウト設計装置は、予め用意された参照データに基づいて、クロストーク違反がないか、すなわち、詳細信号配線２２の配置位置が予め定められたクロストーク・ルールに違反していないかを判定する。Ｓ１６０の判定で、「クロストーク違反がない“Ｙｅｓ”」と判定された場合に、工程はＳ１６５に進む。他方、Ｓ１６０の判定で、「クロストーク違反がある“Ｎｏ”」と判定された場合に、クロストーク違反対策工程（Ｓ１４０）に戻る。この場合、レイアウト設計装置は、予め定められた回数を上限にして、クロストーク違反がないと判定されるまで、Ｓ１４０で値を変更してレイアウト変更を行いながら、Ｓ１４０〜Ｓ１６０の動作を繰り返す。
【００２１】
Ｓ１６０の判定で、「クロストーク違反がない“Ｙｅｓ”」と判定された場合に、レイアウト設計装置は、格納部に格納されたレイアウトデータを、通信網を介して接続自在に配置されたレイアウト検証装置に出力して、レイアウトデータの最終的な違反検証を行わせる（Ｓ１６５）。このとき、レイアウト検証装置は、レイアウトデータの最終的な違反検証、例えば、「タイミング違反の検証」、「クロストーク違反の検証」、「デザイン・ルールの検証」、及び「レイアウトと回路の等価検証」等の検証を行う。なお、「デザイン・ルールの検証」とは、半導体集積回路１０を製造する際の、物理的基準を満たしているか否かを検証することを意味している。また、「レイアウトと回路の等価検証」とは、物理的基準を満たしたパターンがネットリストデータ（機能的に検証確認できたもの）と一致しているか否かを検証することを意味している。
【００２２】
レイアウト検証装置は、レイアウトデータが表すレイアウトの中から何らかの違反箇所を検出した場合に、違反箇所が存在する旨を表す検証結果をレイアウト設計装置に出力する。この場合、レイアウト設計装置は、レイアウト検証装置による最終的な違反検証で違反箇所が検出されなくなるまで、各工程で値を変更してレイアウト変更を行いながら、図１２に示す動作を繰り返す。
【００２３】
他方、レイアウト検証装置は、レイアウトデータが表すレイアウトの中から違反箇所を検出できなかった場合に、違反箇所が存在しない旨を表す検証結果をレイアウト設計装置に出力する。この場合、レイアウト設計装置は、格納部に格納されている、設計した半導体集積回路１０のレイアウトデータを読み出して、データベースサーバに出力して登録させる。
【特許文献１】特開２００７−２４９４９２号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
しかしながら、従来のレイアウト設計方法は、近年の半導体集積回路の微細化に伴って、信号配線を収束することが困難になってきた。そのため、従来のレイアウト設計方法は、設計期間が長期化し、コストが増大する傾向にあるという課題があった。
【００２５】
具体的には、近年の半導体集積回路の微細化に伴って、各種の違反の発生が著しく増加している。そのため、従来のレイアウト設計方法は、各種の違反対策工程でかかる処理時間が増加する傾向にある。
【００２６】
さらに、例えば、ハードマクロの上に跨る信号配線においては、ハードマクロの端から端までの長い領域にわたって、平行して配線される場合がある。そのため、クロストーク違反は、特に、ＲＡＭやＲＯＭ等のハードマクロの上やその周囲で発生し易い。そこで、従来のレイアウト設計方法は、ハードマクロの上に跨る信号配線にクロストーク違反が発生しないように、ハードマクロの上やその周囲に対して重点的にクロストーク違反対策を実行してレイアウト設計を行っている。しかしながら、従来のレイアウト設計方法は、半導体集積回路のレイアウトが微細化されているにも関わらず、違反が検出されない限り、レイアウトを詰めて設計する傾向にある。そのため、従来のレイアウト設計方法は、レイアウト検証装置による最終的な検証で違反を検出する場合が増加している。このような場合に、従来のレイアウト設計方法は、レイアウト設計のやり直しが必要になるときがあった。したがって、従来のレイアウト設計方法は、レイアウト設計をやり直すための工程の戻り、例えば、フロアプラン決定工程で、チップのサイズを大きく変更したり、ハードマクロを移動したり、または、電源配線の配置工程で、メッシュ電源配線を配置し直したり、電源支線を配置し直したりするための工程の戻りが発生する傾向にある。
【００２７】
その結果、従来のレイアウト設計方法は、これらの要因により、設計期間が長期化し、コストが増大する傾向にあった。
【００２８】
この発明の目的は、従来よりも効率のよい、すなわち、コストを増大させることなくレイアウト設計期間を短縮することができる半導体集積回路のレイアウト設計方法を提供することにある。
【課題を解決するための手段】
【００２９】
上述の課題を解決するために、この発明に係る半導体集積回路のレイアウト設計方法は、半導体集積回路のコア領域上に、スタンダードセルを配置するためのスタンダードセル領域及びハードマクロを配置するためのハードマクロ領域を定め、スタンダードセル領域及びハードマクロ領域上に、通常メッシュ電源配線として、メッシュ状に交差する複数の電源配線を一定の間隔で仮想的に配置するとともに、ハードマクロ領域上の通常メッシュ電源配線と通常メッシュ電源配線との間のそれぞれに、細密メッシュ電源配線として、メッシュ状に交差する複数の電源配線を仮想的に配置した後、スタンダードセル領域及びハードマクロ領域上に、信号配線を仮想的に配置し、さらに、ハードマクロ領域上に配置された信号配線に対して、収束しているか否かを、信号配線のショート箇所の発生の有無及び接続すべき信号配線の未接続箇所の発生の有無によって判定し、信号配線が収束していない場合、すなわち、信号配線のショート箇所が発生する場合または接続すべき信号配線の未接続箇所が発生する場合に、信号配線の収束を阻害している細密メッシュ電源配線を削除してから、信号配線を配置し直す。
【００３０】
なお、この発明は、好ましくは、配置し直す際に、削除された細密メッシュ電源配線が配置されていた位置に、収束していなかった信号配線を配置するとよい。
【発明の効果】
【００３１】
この発明の半導体集積回路のレイアウト設計方法によれば、特にクロストーク違反が発生し易いハードマクロ領域上において、詳細信号配線が隣接して配置されなくなるので、クロストーク違反を低減することができる。
【００３２】
また、この発明の方法によれば、ハードマクロ領域上でクロストーク違反が発生した場合に、フロアプランを修正することなく、詳細信号配線の収束を実現することができる。したがって、この発明の方法によれば、設計した半導体集積回路のレイアウトを、従来の方法よりも少ない戻り量で容易に修正することができる。
【００３３】
その結果、この発明の方法によれば、従来よりも効率のよい、すなわち、コストを増大させることなくレイアウト設計期間を短縮することができるという効果を得ることができる。
【発明を実施するための最良の形態】
【００３４】
以下、図を参照して、この発明の実施の形態につき説明する。なお、各図は、各構成要素の形状、大きさおよび配置関係を、この発明を理解できる程度に、概略的に示しているに過ぎない。よって、この発明は、図示例のみに限定されるものではない。また、各図において、共通する構成要素や同様な構成要素については、同一の符号を付し、それらの重複する説明を省略する。
【００３５】
以下、この発明の実施の形態の半導体集積回路のレイアウト設計方法につき、レイアウト設計方法の主要手順の概要、レイアウト設計装置の概要、レイアウト設計方法の具体例の概要、レイアウト設計方法の具体例の詳細、及びレイアウト設計方法の具体例の未収束時の動作の順で説明する。
【００３６】
＜レイアウト設計方法の主要手順の概要＞
以下に説明するこの発明の実施の形態の半導体集積回路のレイアウト方法によれば、特にクロストーク違反が発生し易いハードマクロ領域上に、２種類のメッシュ電源配線を仮想的に配置する。ここで、一方のメッシュ電源配線は、従来と同様のものである。さらに、以下、このメッシュ電源配線を「通常メッシュ電源配線」と称する。他方のメッシュ電源配線は、通常メッシュ電源配線と通常メッシュ電源配線との間のそれぞれに、仮想的に配置される配線である。さらに、以下、このメッシュ電源配線を「細密メッシュ電源配線」と称する。この発明の実施の形態のレイアウト方法によれば、さらに、詳細信号配線を配置した場合に、特にクロストーク違反が発生し易いハードマクロ領域に対して詳細信号配線の収束検証を行い、詳細信号配線が未収束になるときに、詳細信号配線の収束を阻害している細密メッシュ電源配線を削除する。これにより、詳細信号配線が配置可能な領域を広げる。その後、この実施の形態のレイアウト方法では、詳細信号配線を配置し直す。
【００３７】
＜レイアウト設計装置の概要＞
以下、図４及び図５を参照して、レイアウト設計装置の概要につき説明する。なお、図４は、この発明の実施の形態に用いるレイアウト設計装置の構成の一例を示す図である。また、図５は、レイアウト設計装置の動作説明図である。図５中、点線で描写された矢印は各工程で動作する構成要素の順序を示しており、実線で描写された矢印はデータの流れを示している。なお、図５に示すデータの流れについては、後述の「この発明のレイアウト設計方法の詳細」の章で説明する。
【００３８】
レイアウト設計装置１は、設計ツールプログラム３がインストールされたコンピュータ端末である。レイアウト設計装置１は、図示せぬ通信回線を介して、データベースサーバ４と通信自在に配置されている。
【００３９】
レイアウト設計装置１は、内部に、演算部１００や、格納部２００、入力インターフェース部３００、出力インターフェース部４００等を有しており、外部に、入力機器５００や、出力機器６００等を有している。これらの構成要素は、装置内部のデータバス７００によって接続されている。
【００４０】
演算部１００は、各種の演算を実行する構成要素である。演算部１００は、ＣＰＵによって構成されている。演算部１００は、設計ツールプログラム３の実行によって、内部に、主制御部１１０、フロアプラン決定部１２０、配置部１３０、クロック合成部１４０、違反対策部１５０、検証部１６０等の機能手段が構築される。なお、各機能手段は、任意の処理を行う場合に、格納部２００から所望のデータを読み出して、読み出したデータを参照して処理を行う。また、各機能手段は、データを生成した場合に、生成したデータを格納部２００に一旦読み出し自在に格納する。これらの一連の動作は、読み出し自在に格納部２００に格納された設計ツールプログラム３によって規定されている。以下、この点については、その詳細な説明を省略する。
【００４１】
主制御部１１０は、演算部１００内部の各機能手段の動作を制御する機能手段である。主制御部１１０の動作は、設計ツールプログラム３によって規定されている。主制御部１１０は、設計ツールプログラム３に基づいて図示せぬ制御信号を生成して各機能手段に出力することによって、各機能手段を作動させる。また、主制御部１１０は、各機能手段によって実行された各工程の実行内容を表すデータ（以下、「工程データ」と称する）を生成して格納部２００の後述の工程データ格納領域２４０に格納する。以下、主制御部１１０の動作については、説明を省略する。
【００４２】
フロアプラン決定部１２０は、例えば、半導体集積回路の外形の大きさ（以下、「チップサイズ」と称する）や、スタンダードセルを配置する領域（以下、「スタンダードセル領域」と称する）、ＲＡＭやＲＯＭ等のハードマクロを配置する領域（以下、「ハードマクロ領域」と称する）等を決定することによって、半導体集積回路の基本的なレイアウト（以下、「フロアプラン」と称する）を生成する機能手段である。フロアプラン決定部１２０は、フロアプランを表すデータ（以下、「フロアプランデータ」と称する）を生成して格納部２００の後述のレイアウトデータ格納領域２５０に格納する。
【００４３】
配置部１３０は、フロアプランに対して、半導体集積回路の各種の構成要素（例えば、電源や、スタンダードセル、信号配線等）を仮想的に配置することによって、半導体集積回路の概略的なレイアウトを表すデータを生成する機能手段である。配置部１３０は、フロアプランに半導体集積回路の各種の構成要素（例えば、電源や、スタンダードセル、信号配線等）を配置したレイアウトを表すデータ（以下、「レイアウトデータ」と称する）を生成して格納部２００の後述のレイアウトデータ格納領域２５０に格納する。
【００４４】
クロック合成部１４０は、半導体集積回路の各種の構成要素の動作を検証する際に用いるクロックデータを生成する機能手段である。クロック合成部１４０は、生成したクロックデータを格納部２００の後述のクロックデータ格納領域２６０に格納する。
【００４５】
違反対策部１５０は、レイアウトデータが表すレイアウトの中から各種の違反が検出された場合に、検出された違反に応じて予め定められたレイアウト変更を行う機能手段である。違反対策部１５０は、更新用のレイアウトデータとして変更されたレイアウトを表すデータを生成して格納部２００の後述のレイアウトデータ格納領域２５０に格納する。
【００４６】
検証部１６０は、レイアウトデータが表すレイアウトに対して、各種の検証を行う機能手段である。検証部１６０は、検証結果を表すデータ（以下、「検証結果データ」と称する）を生成して格納部２００の後述の検証結果データ格納領域２７０に格納する。
【００４７】
格納部２００は、各種のデータを格納する構成要素である。格納部２００は、ＲＡＭによって構成されている。格納部２００は、設計ツールプログラム３によって、内部に、制御データ格納領域２１０、参照データ格納領域２２０、設計データ格納領域２３０、工程データ格納領域２４０、レイアウトデータ格納領域２５０、クロックデータ格納領域２６０、検証結果データ格納領域２７０等の領域が確保される。
【００４８】
制御データ格納領域２１０は、演算部１００の各機能手段を制御するためのデータを格納する領域である。なお、ここでは、制御データ格納領域２１０は、設計ツールプログラム３等のプログラムも格納しているものとして説明する。
【００４９】
参照データ格納領域２２０は、半導体集積回路を設計する際に参照される各種のデータ（以下、「参照データ」と称する）を予め格納する領域である。なお、ここでは、「参照データ」は、例えば、フロアプランを決定する際に参照されるデータや、電源幹線、電源配線、信号線を配置する際に参照されるデータ、信号配線の収束を検証する際に参照されるデータ、セットアップタイム違反やホールドタイム違反等のタイミング違反の有無を検証する際に参照されるデータ、タイミング違反に対する対策を行う際に参照されるデータ、クロストーク違反の有無を検証する際に参照されるデータ、及びクロストーク違反に対する対策を行う際に参照されるデータ等を含んでいるものとして説明する。
【００５０】
設計データ格納領域２３０は、半導体集積回路の論理設計に関するデータ（以下、「設計データ」と称する）５を格納する領域である。なお、ここでは、「設計データ」５としては、ライブラリデータ５ａや、ネットリストデータ５ｂ、タイミング制約データ５ｃ等を含んでいるものとして説明する。設計データ格納領域２３０は、内部に、ライブラリデータ５ａを格納するライブラリデータ格納領域２３０ａや、ネットリストデータ５ｂを格納するネットリストデータ格納領域２３０ｂ、タイミング制約データ５ｃを格納するタイミング制約データ格納領域２３０ｃ等が確保されている。
【００５１】
工程データ格納領域２４０は、前述の工程データを格納する領域である。工程データ格納領域２４０に格納された工程データは、レイアウト設計の工程が進行する度に、各工程で実行された内容が追加して書き込まれる。以下、工程データについては、説明を省略する。
【００５２】
レイアウトデータ格納領域２５０は、前述のフロアプランデータや、レイアウトデータ等を格納する領域である。レイアウトデータ格納領域２５０に格納されたレイアウトデータは、配置部１３０や違反対策部１５０によってレイアウト変更が行われると、これに応じて、更新される。
【００５３】
クロックデータ格納領域２６０は、前述のクロックデータを格納する領域である。クロックデータ格納領域２６０に格納されたクロックデータは、配置部１３０や、違反対策部１５０、検証部１６０等に、読み出されて利用される。
【００５４】
検証結果データ格納領域２７０は、前述の検証結果データを格納する領域である。
【００５５】
入力インターフェース部３００は、外部から各種のデータや、プログラム、指示等を入力する構成要素である。レイアウト設計装置１は、例えば、入力インターフェース部３００を介して、データベースサーバ４から設計データ５を入力する。レイアウト設計装置１の演算部１００は、データベースサーバ４から入力された設計データ５を設計データ格納領域２３０に一旦格納した後、設計データ格納領域２３０から読み出して、半導体集積回路のレイアウト設計に利用する。
【００５６】
出力インターフェース部４００は、外部に各種のデータを出力する構成要素である。レイアウト設計装置１は、例えば、出力インターフェース部４００を介して、設計した半導体集積回路のレイアウトを表すデータ（以下、「レイアウトデータ」と称する）をデータベースサーバ４に出力して登録する。また、レイアウト設計装置１は、例えば、出力インターフェース部４００を介して、設計した半導体集積回路のレイアウトデータをレイアウト検証装置７（図５参照）に出力して最終的な検証を行わせる。なお、「レイアウト検証装置」とは、半導体集積回路のレイアウトに対して違反検証すなわち予め定められた何らかの制約に違反する箇所の検出を行うためのプログラム（以下、「検証ツールプログラム」と称する）がインストールされたコンピュータ端末である。レイアウト検証装置７は、レイアウト設計装置１から設計された半導体集積回路１０のレイアウトデータを取得して、格納部に予め用意された参照データを用いて、レイアウトデータの最終的な違反検証、例えば、「タイミング違反の検証」、「クロストーク違反の検証」、「デザイン・ルールの検証」、及び「レイアウトと回路の等価検証」等の検証を行う。
【００５７】
入力機器５００は、外部から各種のデータや、指示等を入力する構成要素である。入力機器５００は、構成の一種として、例えば、キーボードや、マウス、各種の記録媒体（具体的には、ＤＶＤ−Ｒや、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、メモリカード等）のリーダ等を備えている。レイアウト設計装置１は、例えば、入力機器５００のリーダを介して、ＤＶＤやＣＤ−ＲＯＭ等の記録媒体２から設計ツールプログラム３をインストールする。なお、入力機器５００のリーダと出力機器６００の後述のライタは、単一の装置として構成することができる。
【００５８】
出力機器６００は、外部に各種のデータ等を出力する構成要素である。出力機器６００は、構成の一種として、例えば、ディスプレイや、プリンタ、各種の記録媒体や記録装置のライタ等を備えている。
【００５９】
＜レイアウト設計方法の具体例の概要＞
以下、図１、図２（Ａ）及び（Ｂ）、並びに図３を参照して、この発明の実施の形態のレイアウト設計方法の具体例につきその概要を説明する。なお、図１は、レイアウト設計方法を説明するためのフローチャートである。また、図２（Ａ）及び（Ｂ）は、それぞれ、この方法によって設計されたレイアウトの一例を示す図である。図２（Ａ）は、上面方向から見た半導体集積回路のレイアウトを示している。図２（Ｂ）は、図２（Ａ）に示す半導体集積回路をＡ−Ａ’線に沿って切断して得られる切り口すなわち断面を、側面方向から見たレイアウトを示している。なお、図２（Ａ）に示すスタンダードセル領域１２の上には、図が煩雑になるため省略されているが、図示せぬ複数の電源支線が配置されている。また、図２（Ｂ）は、実際のチップの階層が深いため、ハードマクロ１５と通常メッシュ電源配線１８の周辺のみを概略的に示している。また、図３は、この方法によって設計されたレイアウトの一例を示す図である。図３に示す例では、細密メッシュ電源配線１９は、縦方向通常メッシュ電源配線１８−１に沿って、縦方向通常メッシュ電源配線１８−１同士の間のそれぞれに配置された縦方向細密メッシュ電源配線１９−１と、横方向通常メッシュ電源配線１８−２に沿って、横方向通常メッシュ電源配線１８−２同士の間のそれぞれに配置された横方向細密メッシュ電源配線１９−２とを含んでいる。なお、細密メッシュ電源配線１９−１及び１９−２の階層は、図２（Ｂ）に示すように、縦方向と横方向とで階層が異なる。縦方向細密メッシュ電源配線１９−１は、縦方向通常メッシュ電源配線１８−１と同階層となり、横方向細密メッシュ電源配線１９−２は、横方向通常メッシュ電源配線１８−２と同階層となる。なお、半導体集積回路１０の各構成要素のサイズは、製品によって全く異なる。図２（Ａ）及び（Ｂ）に一例として示す半導体集積回路１０は、例えば、チップ面積が４．５ｍｍ２程度となっている。また、ハードマクロ領域１５は、一辺の長さが１００〜３００μｍ程度である。電源リング１６は、線幅が２０μｍ程度である。通常メッシュ電源配線１８の線幅は、０．２〜０．５μｍ程度である。
【００６０】
図１に示すように、レイアウト設計装置１は、従来と同様に、Ｓ１０５の動作（フロアプラン決定工程）を行う。
【００６１】
Ｓ１０５の動作（フロアプラン決定工程）の後、レイアウト設計装置１は、Ｓ１１０の動作（電源配線の配置工程）を行う。ただし、この発明では、Ｓ１１０の電源配線の配置工程は、従来のＳ１１０ａ〜Ｓ１１０ｃの動作に加え、以下のＳ１１０ｄの動作を含んでいる。
【００６２】
すなわち、図３に示すように、レイアウト設計装置１の配置部１３０が、制御データに基づいて、フロアプランデータが表すレイアウトの中のハードマクロ領域１４上に、Ｓ１１０ｂで配置された通常メッシュ電源配線１８と通常メッシュ電源配線１８との間のそれぞれに、通常メッシュ電源配線１８に沿って、細密メッシュ電源配線１９として、メッシュ状に交差する複数の電源配線を、仮想的に配置する（Ｓ１１０ｄ）。なお、細密メッシュ電源配線１９の本数は、細密メッシュ電源配線１９の間隔が広くなり過ぎると、クロストーク違反対策への効果が下がるとことが想定されるため、１箇所の通常メッシュ電源配線１８と通常メッシュ電源配線１８との間につき、１〜５本程度が好ましい。特に、実際に試行した結果では、細密メッシュ電源配線１９の本数が２本の場合に、クロストーク違反を最も抑えることができたので、細密メッシュ電源配線１９の本数は２本が好ましい。
【００６３】
細密メッシュ電源配線１９の間隔Ｔ１及び線幅Ｔ２は、標準的な値が予め定められている。図３に示す例では、細密メッシュ電源配線１９の間隔Ｔ１は、詳細信号配線２２が２本配置できる大きさとなっている。なお、細密メッシュ電源配線１９の間隔Ｔ１は、通常メッシュ電源配線１８と通常メッシュ電源配線１８との間隔よりも狭い間隔が好ましい。また、細密メッシュ電源配線１９の線幅Ｔ２は、詳細信号配線２２の最小の線幅と同じ大きさとなっている。なお、細密メッシュ電源配線１９の線幅Ｔ２は、製品によって異なるが、例えば、０．２〜０．３μｍ程度である。参照データは、これら標準的な値を含んでいる。配置部１３０は、参照データを参照して、細密メッシュ電源配線１９の間隔Ｔ１及び線幅Ｔ２を特定し、フロアプランデータが表すレイアウトの中のハードマクロ領域上に、詳細信号配線２２が２本配置できる大きさの間隔Ｔ１を空けて、詳細信号配線２２の最小の線幅と同じ線幅Ｔ２の細密メッシュ電源配線１９を、ＶＤＤ用とＧＮＤ用とに交互に、仮想的に配置する。
【００６４】
Ｓ１１０の動作（電源配線の配置工程）の後、レイアウト設計装置１は、従来と同様に、Ｓ１１５（スタンダードセルの配置工程）〜Ｓ１５０（詳細信号配線の収束検証工程）を行う。ただし、この方法では、Ｓ１５０の判定で検証部１６０が「詳細信号配線が収束していない（“Ｎｏ”）」と判定すると、これに応答して、レイアウト設計装置１は、細密メッシュ電源配線の削除工程を行う（Ｓ１５２）。
【００６５】
Ｓ１５２の動作（細密メッシュ電源配線の削除工程）の後、工程は、Ｓ１４０（クロストーク違反対策工程）に戻る。そして、Ｓ１４０で、クロストーク違反対策が行われ、Ｓ１４５で詳細信号配線２２の配置し直しが行われる。この場合、レイアウト設計装置１は、予め定められた回数を上限にして、詳細信号配線２２が収束していると判定されるまで、各工程で値を変更してレイアウト変更を行いながら、Ｓ１４０〜Ｓ１５０の動作を繰り返す。そして、Ｓ１５０の判定で検証部１６０が「詳細信号配線が収束している（“Ｙｅｓ”）」と判定すると、これに応答して、レイアウト設計装置１は、タイミング違反の検証工程を行う（Ｓ１５５）。以下、従来の方法と同様に、Ｓ１５５〜Ｓ１６５の動作を行う。
【００６６】
なお、ハードマクロ領域１４でクロストーク違反が発生していなければ、スタンダードセル領域１２もクロストーク違反が発生していない場合が多い。そこで、この実施の形態例では、細密メッシュ電源配線１９をスタンダードセル領域１２上に配置せずに、ハードマクロ領域１４上にのみ配置することによって、レイアウト設計時間が増加するのを抑制している。
【００６７】
＜レイアウト設計方法の具体例の詳細＞
以下、図１、図４、及び図５を参照して、この発明の実施の形態の半導体集積回路のレイアウト設計方法につきその詳細を説明する。
【００６８】
レイアウト設計装置１のオペレータは、キーボードやマウス等の入力機器５００を操作して、レイアウト設計装置１の設計ツールを起動させ、さらに、レイアウト設計装置１をデータベースサーバ４に接続させて、レイアウト設計装置１に、データベースサーバ４から論理設計された１乃至複数の半導体集積回路のリストを取得させる。このとき、レイアウト設計装置１の主制御部１１０は、入力インターフェース部３００を介して、データベースサーバ４から、半導体集積回路のリストを取得し、取得したリストを格納部２００の設計データ格納領域２３０に格納する。そして、主制御部１１０は、設計データ格納領域２３０から半導体集積回路のリストを読み出して、リストを出力機器６００のディスプレイに出力する。これにより、レイアウト設計装置１は、取得した半導体集積回路のリストを出力機器６００のディスプレイに表示する。
【００６９】
次に、オペレータは、キーボードやマウス等の入力機器５００を操作して、出力機器６００のディスプレイに表示された半導体集積回路のリストの中からレイアウト設計を行う半導体集積回路を指定し、さらに、レイアウト設計開始指示をレイアウト設計装置１に入力する。これにより、レイアウト設計装置１は、半導体集積回路のレイアウト設計を開始する。
【００７０】
半導体集積回路のレイアウト設計では、図１に示すように、レイアウト設計装置１は、まず、フロアプラン決定工程を行う（Ｓ１０５）。
【００７１】
このフロアプラン決定工程は、以下のようにして行われる。すなわち、まず、フロアプラン決定部１２０が、入力インターフェース部３００を介して、データベースサーバ４からレイアウト設計を行う半導体集積回路の設計データ５を取得し（Ｓ１０５ａ）、取得した設計データ５を格納部２００の設計データ格納領域２３０に格納する。そして、フロアプラン決定部１２０は、格納部２００の設計データ格納領域２３０からレイアウト設計を行う半導体集積回路の設計データ５を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。次に、フロアプラン決定部１２０は、読み出した設計データ５及び参照データに基づいて、図２（Ａ）に示すように、半導体集積回路１０のチップの形状及びサイズ、コア領域１１の形状及びサイズを仮決めし（Ｓ１０５ｂ）、さらに、コア領域１１上に、スタンダードセル領域１２及びハードマクロ領域１４を決定する（Ｓ１０５ｃ）。
【００７２】
なお、半導体集積回路のチップの形状及びサイズ、コア領域の形状及びサイズ、スタンダードセル領域の形状、サイズ、及び配置位置、ハードマクロ領域の形状、サイズ、及び配置位置等は、標準的な値が予め定められている。参照データは、これら標準的な値を含んでいる。フロアプラン決定部１２０は、参照データを参照して、Ｓ１０５ｂ及びＳ１０５ｃの動作を実行する。
【００７３】
このようにして、フロアプラン決定部１２０は、半導体集積回路のフロアプランを決定する。フロアプラン決定部１２０は、半導体集積回路のフロアプランを決定すると、これに応答して、決定したフロアプランを表すフロアプランデータ５１を生成して格納部２００に出力する。格納部２００は、フロアプランデータ５１が入力されると、これに応答して、フロアプランデータ５１をレイアウトデータ格納領域２５０に格納する。
【００７４】
格納部２００がフロアプランデータ５１をレイアウトデータ格納領域２５０に格納すると、これに応答して、レイアウト設計装置１は、電源配線の配置工程を行う（Ｓ１１０）。
【００７５】
この電源配線の配置工程は、以下のようにして行われる。すなわち、まず、配置部１３０が、格納部２００のレイアウトデータ格納領域２５０からフロアプランデータ５１を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、配置部１３０は、フロアプランデータ５１に基づいて、フロアプランデータ５１が表すレイアウトを仮想的に描写し、さらに、参照データに基づいて、フロアプランデータ５１が表すレイアウトの中のコア領域１１の周囲に、電源リング１６を仮想的に配置する（Ｓ１１０ａ）。なお、ここでは、ハードマクロ領域１４上に配置する電源配線は、ハードマクロ領域１４内で使用している最上位の信号配線よりも上層の配線層を使用して配置するものとして説明する。なお、電源リング１６の線幅及び配置位置は、標準的な値が予め定められている。参照データは、これら標準的な値を含んでいる。配置部１３０は、参照データを参照して、Ｓ１１０ａの動作を実行する。次に、配置部１３０は、参照データに基づいて、通常メッシュ電源配線１８の線幅と間隔を決定し、フロアプランデータ５１が表すレイアウトの中のスタンダードセル領域１２及びハードマクロ領域１４上に、通常メッシュ電源配線１８を仮想的に配置する（Ｓ１１０ｂ）。なお、通常メッシュ電源配線１８の線幅と間隔は、レイアウトの形状によって適宜変化する。参照データは、通常メッシュ電源配線１８の線幅及び間隔とレイアウトの形状との関係を表すデータを含んでいる。配置部１３０は、参照データを参照して、Ｓ１１０ｂの動作を実行する。次に、配置部１３０は、参照データに基づいて、フロアプランデータ５１が表すレイアウトの中のスタンダードセル領域１２上に、図示せぬ複数の電源支線を仮想的に配置する（Ｓ１１０ｃ）。なお、電源支線の線幅及び間隔は、製造プロセスやスタンダードセルのトポロジ（特に、高さ等）によって異なるものの、標準的な値が予め定められている。参照データは、これら標準的な値を含んでいる。配置部１３０は、参照データを参照して、Ｓ１１０ｃの動作を実行する。次に、配置部１３０は、参照データに基づいて、フロアプランデータ５１が表すレイアウトの中のハードマクロ領域１４上に、通常メッシュ電源配線１８と通常メッシュ電源配線１８との間のそれぞれに、通常メッシュ電源配線１８に沿って、細密メッシュ電源配線１９を、仮想的に配置する（Ｓ１１０ｄ）。なお、細密メッシュ電源配線１９の線幅と間隔は、レイアウトの形状によって適宜変化する。参照データは、細密メッシュ電源配線１９の線幅及び間隔とレイアウトの形状との関係を表すデータを含んでいる。配置部１３０は、参照データに基づいて、Ｓ１１０ｄの動作を実行する。
【００７６】
このようにして、配置部１３０は、フロアプランデータ５１が表すレイアウト上に、電源配線を配置する。配置部１３０は、電源配線を配置すると、これに応答して、電源配線が配置されたレイアウトを表すレイアウトデータ６１を生成して格納部２００に出力する。格納部２００は、レイアウトデータ６１が入力されると、これに応答して、レイアウトデータ６１をレイアウトデータ格納領域２５０に格納する。
【００７７】
格納部２００がレイアウトデータ６１をレイアウトデータ格納領域２５０に格納すると、これに応答して、レイアウト設計装置１は、スタンダードセルの配置工程を行う（Ｓ１１５）。
【００７８】
このスタンダードセル配置工程は、以下のようにして行われる。すなわち、まず、配置部１３０が、格納部２００のレイアウトデータ格納領域２５０から電源配線が配置されたレイアウトデータ６１を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、配置部１３０は、レイアウトデータ６１に基づいて、レイアウトデータ６１が表すレイアウトを仮想的に描写し、さらに、参照データに基づいて、レイアウトデータ６１が表すレイアウトの中のスタンダードセル領域１２上に、スタンダードセル１３を配置する。なお、スタンダードセル１３の形状及びサイズは、標準的な値が予め定められている。参照データは、これら標準的な値を含んでいる。配置部１３０は、参照データを参照して、Ｓ１１５の動作を実行する。
【００７９】
このようにして、配置部１３０は、レイアウトデータ６１が表すレイアウトの中のスタンダードセル領域１２上に、スタンダードセル１３を配置する。配置部１３０は、スタンダードセル１３を配置すると、これに応答して、電源配線に加え、スタンダードセル１３が配置されたレイアウトを表すデータを更新用のレイアウトデータ６２として生成して格納部２００に出力する。格納部２００は、更新用のレイアウトデータ６２が入力されると、これに応答して、更新用のレイアウトデータ６２をレイアウトデータ格納領域２５０に格納する。このとき、更新用のレイアウトデータ６２は、Ｓ１１０ｃでレイアウトデータ格納領域２５０に格納されたレイアウトデータ６１の上に書き込まれる。
【００８０】
格納部２００が更新用のレイアウトデータ６２をレイアウトデータ格納領域２５０に格納すると、これに応答して、レイアウト設計装置１は、仮信号配線の配置工程を行う（Ｓ１２０）。
【００８１】
この仮信号配線の配置工程は、以下のようにして行われる。すなわち、まず、配置部１３０が、格納部２００のレイアウトデータ格納領域２５０から電源配線及びスタンダードセル１３が配置されたレイアウトデータ６２を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、配置部１３０は、レイアウトデータ６２に基づいて、レイアウトデータ６２が表すレイアウトを仮想的に描写し、さらに、参照データに基づいて、レイアウトデータ６２が表すレイアウトの中のスタンダードセル領域１２及びハードマクロ領域１４上に、仮信号配線２１を仮想的に配置する。なお、仮信号配線２１の線幅及び配置位置は、標準的な値が予め定められている。参照データは、これら標準的な値を含んでいる。配置部１３０は、参照データを参照して、Ｓ１２０の動作を実行する。
【００８２】
このようにして、配置部１３０は、レイアウトデータ６２が表すレイアウトの中のスタンダードセル領域１２及びハードマクロ領域１４に上に、仮信号配線２１を配置する。配置部１３０は、仮信号配線２１を配置すると、これに応答して、電源配線及びスタンダードセル１３に加え、仮信号配線２１が配置されたレイアウトを表すデータを更新用のレイアウトデータ６３として生成して格納部２００に出力する。格納部２００は、更新用のレイアウトデータ６３が入力されると、これに応答して、更新用のレイアウトデータ６３をレイアウトデータ格納領域２５０に格納する。このとき、更新用のレイアウトデータ６３は、Ｓ１１５でレイアウトデータ格納領域２５０に格納されたレイアウトデータ６２の上に書き込まれる。
【００８３】
格納部２００が更新用のレイアウトデータ６３をレイアウトデータ格納領域２５０に格納すると、これに応答して、レイアウト設計装置１は、仮信号配線の収束検証工程を行う（Ｓ１２５）。
【００８４】
この仮信号配線の収束検証工程は、以下のようにして行われる。すなわち、まず、検証部１６０が、格納部２００のレイアウトデータ格納領域２５０から電源配線とスタンダードセル１３と仮信号配線２１とが配置されたレイアウトデータ６３を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、検証部１６０は、レイアウトデータ６３に基づいて、レイアウトデータ６３が表すレイアウトを仮想的に描写し、このレイアウトに対して、参照データに基づいて、仮信号配線２１が収束しているか否かを、仮信号配線２１のショート箇所の発生の有無及び接続すべき仮信号配線２１の未接続箇所の発生の有無によって判定する。なお、参照データは、仮信号配線２１が収束しない場合の条件を表すデータを含んでいる。検証部１６０は、参照データを参照して、Ｓ１２５の動作を実行する。検証部１６０は、仮信号配線２１が収束しているか否かを判定すると、これに応答して、仮信号配線２１が収束しているか否かを表すデータを検証結果データ７１として生成して格納部２００に出力する。格納部２００は、検証結果データ７１が入力されると、これに応答して、検証結果データ格納領域２７０に格納する。
【００８５】
Ｓ１２５の判定で「仮信号配線が収束している（“Ｙｅｓ”）」と判定された場合に、工程は、Ｓ１３０に進む。他方、Ｓ１２５の判定で「仮信号配線が収束していない（“Ｎｏ”）」と判定された場合に、工程は、Ｓ１０５に戻る。この場合、レイアウト設計装置１は、予め定められた回数を上限にして、仮信号配線２１が収束していると判定されるまで、各工程で値を変更してレイアウト変更を行いながら、Ｓ１０５〜Ｓ１２５の動作を繰り返す。
【００８６】
Ｓ１２５の判定で検証部１６０が「仮信号配線が収束している（“Ｙｅｓ”）」と判定すると、これに応答して、レイアウト設計装置１は、クロック合成工程を行う（Ｓ１３０）。
【００８７】
このクロック合成工程は、以下のようにして行われる。すなわち、まず、クロック合成部１４０が、格納部２００の制御データ格納領域２１０から制御データ８１を読み出す。そして、クロック合成部１４０は、制御データ８１に基づいて、半導体集積回路１０の各種の構成要素の動作を検証する際に用いるクロックデータ８２を生成する。
【００８８】
クロック合成部１４０は、クロックデータ８２を生成すると、これに応答して、クロックデータ８２を格納部２００に出力する。格納部２００は、クロックデータ８２が入力されると、これに応答して、クロックデータ格納領域２６０に格納する。
【００８９】
格納部２００がクロックデータ８２をクロックデータ格納領域２６０に格納すると、これに応答して、レイアウト設計装置１は、タイミング違反対策工程を行う（Ｓ１３５）。
【００９０】
このタイミング違反対策工程は、以下のようにして行われる。すなわち、まず、違反対策部１５０が、格納部２００のレイアウトデータ格納領域２５０から電源配線とスタンダードセル１３と仮信号配線２１とが配置されたレイアウトデータ６３を読み出し、格納部２００のタイミング制約データ格納領域２３０ｃからタイミング制約データ５ｃを読み出し、クロックデータ格納領域２６０からクロックデータ８２を読み出し、さらに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、違反対策部１５０は、レイアウトデータ６３に基づいて、レイアウトデータ６３が表すレイアウトを仮想的に描写し、バッファサイジングすなわち波形が鈍っている箇所をなくすために図示せぬバッファの挿入やドライブ能力の調整等を行い、さらに、タイミング違反がなくなるまで、このレイアウトの中の各々の仮信号配線２１に対して、タイミング制約データ５ｃ及びクロックデータ８２を用いて、仮信号配線２１によって伝搬される信号の伝搬時間がセットアップタイム及びホールドタイムとして予め定められたタイミングに違反するか否かを検証しながら、信号の伝搬時間がタイミングに違反しないように、参照データに基づいて、タイミング違反対策として予め定められたレイアウト変更、例えば、図示せぬバッファの挿入や削除、ドライブ能力の調整、セルの移動等を行う。
【００９１】
このようにして、違反対策部１５０は、タイミング違反対策を行う。違反対策部１５０は、タイミング違反対策を行うと、これに応答して、タイミング違反対策として変更されたレイアウトを表すデータを更新用のレイアウトデータ６４として生成して格納部２００に出力する。格納部２００は、更新用のレイアウトデータ６４が入力されると、これに応答して、更新用のレイアウトデータ６４をレイアウトデータ格納領域２５０に格納する。このとき、更新用のレイアウトデータ６４は、Ｓ１２０でレイアウトデータ格納領域２５０に格納されたレイアウトデータ６３の上に書き込まれる。
【００９２】
格納部２００がレイアウトデータをレイアウトデータ格納領域２５０に格納すると、これに応答して、レイアウト設計装置１は、クロストーク違反対策工程を行う（Ｓ１４０）。
【００９３】
このクロストーク違反対策工程は、以下のようにして行われる。すなわち、まず、違反対策部１５０が、格納部２００のレイアウトデータ格納領域２５０からタイミング違反対策が行われたレイアウトデータ６４を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、違反対策部１５０は、レイアウトデータ６４に基づいて、レイアウトデータ６４が表すレイアウトを仮想的に描写し、さらに、クロストーク違反は信号配線が隣接して並行配線されている場合に発生することが多いため、このレイアウトの中の各々の仮信号配線２１に対して、仮信号配線２１の配置位置が予め定められたクロストーク・ルールに違反しないように、参照データに基づいて、クロストーク違反対策として予め定められたレイアウト変更、例えば、仮信号配線２１の配置位置の移動や、仮信号配線２１が長くならないように、仮信号配線２１の途中へのバッファの挿入等を行う。このようにして、違反対策部１５０は、Ｓ１４０の動作を実行する。
【００９４】
違反対策部１５０は、クロストーク違反対策を行うと、これに応答して、クロストーク違反対策として変更されたレイアウトを表すデータを更新用のレイアウトデータ６５として生成して格納部に出力する。格納部２００は、更新用のレイアウトデータ６５が入力されると、これに応答して、更新用のレイアウトデータ６５をレイアウトデータ格納領域２５０に格納する。このとき、更新用のレイアウトデータ６５は、Ｓ１３５でレイアウトデータ格納領域２５０に格納されたレイアウトデータ６４の上に書き込まれる。
【００９５】
格納部２００が更新用のレイアウトデータ６５をレイアウトデータ格納領域２５０に格納すると、これに応答して、レイアウト設計装置１は、詳細信号配線の配置工程を行う（Ｓ１４５）。
【００９６】
この詳細信号配線の配置工程は、以下のようにして行われる。すなわち、まず、配置部１３０が、格納部２００のレイアウトデータ格納領域２５０からタイミング違反対策及びクロストーク違反対策が行われたレイアウトデータ６５を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、配置部１３０は、レイアウトデータ６５に基づいて、レイアウトデータ６５が表すレイアウトを仮想的に描写し、さらに、参照データに基づいて、レイアウトデータ６５が表すレイアウトの中のスタンダードセル領域１２及びハードマクロ領域１４上に、詳細信号配線２２を配置する。なお、詳細信号配線２２の線幅及び配置位置は、標準的な値が予め定められている。参照データは、これら標準的な値を含んでいる。配置部１３０は、参照データを参照して、Ｓ１４５の動作を実行する。
【００９７】
配置部１３０は、詳細信号配線２２を配置すると、これに応答して、電源配線とスタンダードセル１３と仮信号配線２１に加え、詳細信号配線２２が配置されたレイアウトを表すデータを更新用のレイアウトデータ６６として生成して格納部２００に出力する。格納部２００は、更新用のレイアウトデータ６６が入力されると、これに応答して、更新用のレイアウトデータ６６をレイアウトデータ格納領域２５０に格納する。このとき、更新用のレイアウトデータ６６は、Ｓ１４０でレイアウトデータ格納領域２５０に格納されたレイアウトデータ６５の上に書き込まれる。
【００９８】
格納部２００が更新用のレイアウトデータ６６をレイアウトデータ格納領域２５０に格納すると、これに応答して、レイアウト設計装置１は、詳細信号配線の収束検証工程を行う（Ｓ１５０）。
【００９９】
この詳細信号配線の収束検証工程は、以下のようにして行われる。すなわち、まず、検証部１６０が、格納部２００のレイアウトデータ格納領域２５０から、電源配線とスタンダードセル１３と仮信号配線２１と詳細信号配線２２とが配置されたレイアウトデータ６６を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、検証部１６０は、レイアウトデータ６６に基づいて、レイアウトデータ６６が表すレイアウトを仮想的に描写し、このレイアウトに対して、参照データに基づいて、詳細信号配線２２が収束しているか否かを、詳細信号配線２２のショート箇所の発生の有無及び接続すべき詳細信号配線２２の未接続箇所の発生の有無によって判定する。なお、参照データは、詳細信号配線２２が収束しない場合の条件を表すデータを含んでいる。検証部１６０は、参照データを参照して、Ｓ１５０の動作を実行する。検証部１６０は、詳細信号配線２２が収束しているか否かを判定すると、これに応答して、詳細信号配線２２が収束しているか否かを表すデータを検証結果データ７６として生成して格納部２００に出力する。格納部２００は、検証結果データ７６が入力されると、これに応答して、検証結果データ７６を検証結果データ格納領域２７０に格納する。
【０１００】
Ｓ１５０の判定で「詳細信号配線が収束している（“Ｙｅｓ”）」と判定された場合に、工程は、Ｓ１５５に進む。他方、Ｓ１５０の判定で「詳細信号配線が収束していない（“Ｎｏ”）」と判定された場合に、この方法では、従来の方法と異なり、工程は、Ｓ１５２に進む。すなわち、Ｓ１５０の判定で検証部１６０が「詳細信号配線が収束していない（“Ｎｏ”）」と判定すると、これに応答して、レイアウト設計装置１は、細密メッシュ電源配線の削除工程を行う（Ｓ１５２）。
【０１０１】
この細密メッシュ電源配線の削除工程は、以下のようにして行われる。すなわち、配置部１３０が、格納部２００のレイアウトデータ格納領域２５０から詳細信号配線２２が配置されたレイアウトデータ６６を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、配置部１３０は、レイアウトデータ６６に基づいて、レイアウトデータ６６が表すレイアウトを仮想的に描写し、さらに、詳細信号配線２２の収束を阻害している１乃至複数の細密メッシュ電源配線１９を削除する。なお、細密メッシュ電源配線１９の削除は、設計ツールプログラムの仕様によっては、ショート発生箇所や未接続配線の発生箇所をレイアウト設計装置のディスプレイに表示させて、表示された箇所に基づいて、オペレータに、必要な本数だけ削除させるようにしてもよい。配置部１３０は、細密メッシュ電源配線１９を削除すると、これに応答して、詳細信号配線２２の収束を阻害している細密メッシュ電源配線１９が削除されたレイアウトを表すデータを更新用のレイアウトデータ６７として生成して格納部２００に出力する。格納部２００は、更新用のレイアウトデータ６７が入力されると、これに応答して、更新用のレイアウトデータ６７をレイアウトデータ格納領域２５０に格納する。このとき、更新用のレイアウトデータ６７は、Ｓ１４０でレイアウトデータ格納領域２５０に格納されたレイアウトデータ６６の上に書き込まれる。
【０１０２】
Ｓ１５２の動作（細密メッシュ電源配線の削除工程）の後、工程は、Ｓ１４０（クロストーク違反対策工程）に戻る。そして、Ｓ１４０で、クロストーク違反対策が行われ、Ｓ１４５で詳細信号配線２２の配置し直しが行われる。この場合、レイアウト設計装置１は、予め定められた回数を上限にして、詳細信号配線２２が収束していると判定されるまで、各工程で値を変更してレイアウト変更を行いながら、Ｓ１４０〜Ｓ１５０の動作を繰り返す。
【０１０３】
なお、この場合のＳ１４０の動作（クロストーク違反対策工程）は、以下のようにして行われる。すなわち、まず、違反対策部１５０が、格納部２００のレイアウトデータ格納領域２５０から、レイアウトデータ６４の代わりに、Ｓ１５２で詳細信号配線２２の収束を阻害している細密メッシュ電源配線１９が削除されたレイアウトデータ６７を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、違反対策部１５０は、レイアウトデータ６７に基づいて、レイアウトデータ６７が表すレイアウトを仮想的に描写し、さらに、このレイアウトの中の各々の詳細信号配線２２に対して、詳細信号配線２２の配置位置が予め定められたクロストーク・ルールに違反しないように、参照データに基づいて、クロストーク違反対策として予め定められたレイアウト変更、例えば、詳細信号配線２２の配置位置の移動や、詳細信号配線２２が長くならないように、詳細信号配線２２の途中へのバッファの挿入等を行う。このようにして、違反対策部１５０は、Ｓ１４０の動作、すなわち、細密メッシュ電源配線１９が削除されたレイアウトに対してクロストーク違反対策を行う。違反対策部１５０は、細密メッシュ電源配線１９が削除されたレイアウトに対してクロストーク違反対策を行うと、これに応答して、クロストーク違反対策として変更されたレイアウトを表すデータを更新用のレイアウトデータ６８として生成して格納部に出力する。格納部２００は、更新用のレイアウトデータ６８が入力されると、これに応答して、更新用のレイアウトデータ６８をレイアウトデータ格納領域２５０に格納する。このとき、更新用のレイアウトデータ６８は、Ｓ１５２でレイアウトデータ格納領域２５０に格納されたレイアウトデータ６７の上に書き込まれる。
【０１０４】
また、この場合のＳ１４５の動作（詳細信号配線の配置工程）は、以下のようにして行われる。すなわち、まず、配置部１３０が、格納部２００のレイアウトデータ格納領域２５０から、レイアウトデータ６５の代わりに、細密メッシュ電源配線１９が削除されたレイアウトに対してクロストーク違反対策が行われたレイアウトデータ６８を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。そして、配置部１３０は、レイアウトデータ６８に基づいて、レイアウトデータ６８が表すレイアウトを仮想的に描写し、さらに、参照データに基づいて、Ｓ１５０の判定で未収束と判定された詳細信号配線２２を移動させて配置し直す。このようにして、配置部１３０は、Ｓ１４５の動作、すなわち、Ｓ１５０の判定で未収束と判定された詳細信号配線２２の配置し直しを行う。配置部１３０は、Ｓ１５０の判定で未収束と判定された詳細信号配線２２の配置し直しを行うと、これに応答して、詳細信号配線２２が配置し直されたレイアウトを表すデータを更新用のレイアウトデータ６９として生成して格納部２００に出力する。格納部２００は、更新用のレイアウトデータ６９が入力されると、これに応答して、更新用のレイアウトデータ６９をレイアウトデータ格納領域２５０に格納する。このとき、更新用のレイアウトデータ６９は、Ｓ１４０でレイアウトデータ格納領域２５０に格納されたレイアウトデータ６８の上に書き込まれる。
【０１０５】
Ｓ１５０の判定で検証部１６０が「詳細信号配線が収束している（“Ｙｅｓ”）」と判定すると、これに応答して、レイアウト設計装置１は、タイミング違反の検証工程を行う（Ｓ１５５）。
【０１０６】
このタイミング違反の検証工程は、以下のようにして行われる。すなわち、まず、検証部１６０が、格納部２００のレイアウトデータ格納領域２５０からレイアウトデータ６９または６６を読み出し、格納部２００のタイミング制約データ格納領域２３０ｃからタイミング制約データ５ｃを読み出し、クロックデータ格納領域２６０からクロックデータ８２を読み出し、さらに、格納部２００の参照データ格納領域２２０から参照データを読み出す。なお、検証部１６０は、当該Ｓ１５５の動作がＳ１５２の動作（細密メッシュ電源配線の削除工程）を経ている場合にレイアウトデータ６９を読み出し、当該Ｓ１５５の動作がＳ１５２の動作（細密メッシュ電源配線の削除工程）を経ていない場合にレイアウトデータ６６を読み出す。当該Ｓ１５５の動作がＳ１５２の動作（細密メッシュ電源配線の削除工程）を経ているか否かは、工程データ格納領域２４０に格納されている工程データを参照することによって判定される。ここでは、当該Ｓ１５５の動作がＳ１５２の動作（細密メッシュ電源配線の削除工程）を経ており、検証部１６０はレイアウトデータ６９を読み出すものとして説明する。検証部１６０は、レイアウトデータ６９に基づいて、レイアウトデータ６９が表すレイアウトを仮想的に描写し、さらに、このレイアウトの中の各々の詳細信号配線２２に対して、タイミング制約データ５ｃ及びクロックデータ８２に基づいて、詳細信号配線２２によって伝搬される信号の伝搬時間がセットアップタイム及びホールドタイムとして予め定められたタイミングに違反していないかを判定する。検証部１６０は、タイミング違反があるか否かを判定すると、これに応答して、タイミング違反があるか否かを表す検証結果データ７７を生成して格納部２００に出力する。格納部２００は、検証結果データ７７が入力されると、これに応答して、検証結果データ７７を検証結果データ格納領域２７０に格納する。
【０１０７】
Ｓ１５５の判定で「タイミング違反がない（“Ｙｅｓ”）」と判定された場合に、工程は、Ｓ１６０に進む。他方、Ｓ１５５の判定で「タイミング違反がある（“Ｎｏ”）」と判定された場合に、工程は、Ｓ１３５に戻る。この場合、レイアウト設計装置１は、予め定められた回数を上限にして、タイミング違反がないと判定されるまで、Ｓ１３５で値を変更してレイアウト変更を行いながら、Ｓ１３５〜Ｓ１５５の動作を繰り返す。
【０１０８】
Ｓ１５５の判定で検証部１６０が「タイミング違反がない（“Ｙｅｓ”）」と判定すると、これに応答して、レイアウト設計装置１は、クロストーク違反の検証工程を行う（Ｓ１６０）。
【０１０９】
このクロストーク違反の検証工程は、以下のようにして行われる。すなわち、まず、検証部１６０が、格納部２００のレイアウトデータ格納領域２５０からレイアウトデータ６９または６６を読み出すとともに、格納部２００の参照データ格納領域２２０から参照データを読み出す。なお、検証部１６０は、当該Ｓ１６０の動作がＳ１５２の動作（細密メッシュ電源配線の削除工程）を経ている場合にレイアウトデータ６９を読み出し、当該Ｓ１６０の動作がＳ１５２の動作（細密メッシュ電源配線の削除工程）を経ていない場合にレイアウトデータ６６を読み出す。ここでは、当該Ｓ１５５の動作がＳ１５２の動作（細密メッシュ電源配線の削除工程）を経ており、検証部１６０はレイアウトデータ６９を読み出すものとして説明する。検証部１６０は、レイアウトデータ６９に基づいて、レイアウトデータ６９が表すレイアウトを仮想的に描写し、さらに、このレイアウトの中の各々の詳細信号配線２２に対して、詳細信号配線２２の配置位置が予め定められたクロストーク・ルールに違反していないかを判定する。検証部１６０は、クロストーク違反があるか否かを判定すると、これに応答して、クロストーク違反があるか否かを表す検証結果データ７８を生成して格納部２００に出力する。格納部２００は、検証結果データ７８が入力されると、これに応答して、検証結果データ７８を検証結果データ格納領域２７０に格納する。
【０１１０】
Ｓ１６０の判定で「クロストーク違反がない（“Ｙｅｓ”）」と判定された場合に、工程は、Ｓ１６５に進む。他方、Ｓ１６０の判定で「クロストーク違反がある（“Ｎｏ”）」と判定された場合に、工程は、Ｓ１４０に戻る。この場合、レイアウト設計装置１は、予め定められた回数を上限にして、タイミング違反がないと判定されるまで、Ｓ１４０で値を変更してレイアウト変更を行いながら、Ｓ１４０〜Ｓ１６０の動作を繰り返す。
【０１１１】
Ｓ１６０の判定で検証部１６０が「クロストーク違反がない（“Ｙｅｓ”）」と判定すると、これに応答して、レイアウト設計装置１は、レイアウト検証装置へのデータ出力工程を行う（Ｓ１６５）。
【０１１２】
このレイアウト検証装置へのデータ出力工程は、主制御部１１０が、格納部２００のレイアウトデータ格納領域２５０から最終的に生成されたレイアウトデータ６９または６６を読み出して、出力インターフェース部４００を介して、レイアウト検証装置７に出力することによって行われる。なお、主制御部１１０は、当該Ｓ１６５の動作がＳ１５２の動作（細密メッシュ電源配線の削除工程）を経ている場合にレイアウトデータ６９を読み出し、当該Ｓ１６５の動作がＳ１５２の動作（細密メッシュ電源配線の削除工程）を経ていない場合にレイアウトデータ６６を読み出して、レイアウト検証装置７に出力する。これにより、レイアウト設計装置１による半導体集積回路のレイアウト設計が終了する。
【０１１３】
なお、レイアウト検証装置７は、レイアウトデータ６９または６６が入力されると、これに応答して、予め用意された参照データを用いて、レイアウトデータ６９または６６の最終的な違反検証、例えば、「タイミング違反の検証」、「クロストーク違反の検証」、「デザイン・ルールの検証」、及び「レイアウトと回路の等価検証」等の検証を行う。
【０１１４】
レイアウト検証装置７は、レイアウトデータ６９または６６が表すレイアウトの中から何らかの違反箇所を検出した場合に、違反箇所が存在する旨を表す検出結果９１をレイアウト設計装置１に出力する。この場合、レイアウト設計装置１は、検出結果９１が入力されると、これに応じて、レイアウト検証装置７による最終的な違反検証で違反箇所が検出されなくなるまで、各工程で値を変更してレイアウト変更を行いながら、図１に示す動作を繰り返す。
【０１１５】
他方、レイアウト検証装置７は、レイアウトデータ６９または６６が表すレイアウトの中から違反箇所を検出できなかった場合に、違反箇所が存在しない旨を表す検証結果９２をレイアウト設計装置１に出力する。この場合、レイアウト設計装置１は、検出結果９２が入力されると、これに応じて、主制御部１１０が、格納部２００のレイアウトデータ格納領域２５０から最終的に生成されたレイアウトデータ６９または６６を読み出して、出力インターフェース部４００を介して、データベースサーバ４に出力して登録させる。
【０１１６】
＜レイアウト設計方法の具体例の未収束時の動作＞
以下、図６〜図１１を用いて、この発明の実施の形態のレイアウト設計方法における未収束時の動作につき説明する。なお、図６〜図８は、それぞれ、クロストーク違反による未収束時の動作を説明する図である。また、図９〜図１１は、それぞれ、ショート（短絡）違反による未収束時の動作を説明する図である。
【０１１７】
レイアウト設計装置１は、Ｓ１５０（詳細信号配線の収束検証工程）で、設計した半導体集積回路のレイアウトに対して、検証部１６０によって、各種の違反の有無を検証する。
【０１１８】
ここで、検証部１６０が、図６に示すように、詳細信号配線２２−１と詳細信号配線２２−２との隣接配置が原因で、詳細信号配線２２−１の上に、クロストーク違反箇所２４を検出したものとする。この場合に、レイアウト設計装置１の配置部１３０は、Ｓ１５２（細密メッシュ電源配線の削除工程）で、図７に示すように、クロストーク違反箇所２４の周辺の、詳細信号配線２２−１の収束を阻害している細密メッシュ電源配線１９−３を必要な本数だけ削除する。なお、細密メッシュ電源配線１９−３の削除は、設計ツールプログラムの仕様によっては、オペレータに、必要な本数だけ削除させるようにしてもよい。そして、レイアウト設計装置１の配置部１３０は、Ｓ１４５（詳細信号配線の配置工程）で、図８に示すように、違反が検出されていた詳細信号配線２２−１を、元の位置（図８のドットパターンで示された位置）から、削除した細密メッシュ電源配線１９−３が配置されていた位置に移動させる。
【０１１９】
または、検証部１６０が、図９に示すように、例えば細密メッシュ電源配線１９−４と詳細信号配線２２−３との重なりが原因で、詳細信号配線２２−３の上に、ショート箇所２５を検出したものとする。この場合に、レイアウト設計装置１の配置部１３０は、Ｓ１５２（細密メッシュ電源配線の削除工程）で、図１０に示すように、ショート違反箇所２５の周辺の、詳細信号配線２２−３の収束を阻害している細密メッシュ電源配線１９−４を削除する。なお、細密メッシュ電源配線１９−４の削除は、設計ツールプログラムの仕様によっては、オペレータに、必要な本数だけ削除させるようにしてもよい。そして、レイアウト設計装置１の配置部１３０は、Ｓ１４５（詳細信号配線の配置工程）で、図１１に示すように、違反が検出されていた詳細信号配線２２−３を若干移動させて、位置を調整する。
【０１２０】
この発明は、上述の実施の形態例に限定されることなく、この発明の要旨を逸脱しない範囲で種々の変更や変形を行うことができる。
【０１２１】
例えば、この実施の形態では細密メッシュ電源配線１９の間隔Ｔ１は詳細信号配線２２が２本配置できる大きさとしたが、この間隔Ｔ１は変更することができる。
【０１２２】
また、この実施の形態では細密メッシュ電源配線１９の線幅Ｔ２は詳細信号配線２２の最小の線幅と同じ大きさとしたが、この線幅Ｔ２は変更することができる。
【０１２３】
また、この実施の形態では細密メッシュ電源配線１９の配線順番はＶＤＤ用とＧＮＤ用とに交互に配置するとしたが、配線順番は変更することができる。例えば、配線順番は、ＶＤＤ用及びＶＤＤ用、並びに、ＧＮＤ用及びＧＮＤ用のように、２本ずつ交互に配置しるようにしてもよい。なお、ＶＤＤ用とＧＮＤ用の細密メッシュ電源配線１９の本数は、同等が好ましい。
【０１２４】
また、この実施の形態例ではタイミング違反対策工程（Ｓ１３５）はクロストーク違反対策工程（Ｓ１４０）の前に行っているが、タイミング違反対策工程をクロストーク違反対策工程の後に変更することができる。
【図面の簡単な説明】
【０１２５】
【図１】この発明の実施の形態によるレイアウト設計方法の説明に供するフローチャートである。
【図２】（Ａ）及び（Ｂ）は、それぞれ、この発明の実施の形態の方法によって設計されたレイアウトの一例を示す図である。
【図３】この発明の実施の形態の方法によって設計された細密メッシュ電源配線のレイアウトの一例を示す図である。
【図４】この発明の実施の形態の方法の実施に用いられるレイアウト設計装置の構成の一例を示す図である。
【図５】この発明の実施の形態の方法の実施に用いられるレイアウト設計装置の動作説明図である。
【図６】この発明の実施の形態の方法において発生するクロストーク違反による未収束時の動作説明図（１）である。
【図７】この発明の実施の形態の方法において発生するクロストーク違反による未収束時の動作説明図（２）である。
【図８】この発明の実施の形態の方法において発生するクロストーク違反による未収束時の動作説明図（３）である。
【図９】この発明の実施の形態の方法において発生するショート違反による未収束時の動作説明図（１）である。
【図１０】この発明の実施の形態の方法において発生するショート違反による未収束時の動作説明図（２）である。
【図１１】この発明の実施の形態の方法において発生するショート違反による未収束時の動作説明図（３）である。
【図１２】従来のレイアウト設計方法の説明に供するフローチャートである。
【図１３】（Ａ）及び（Ｂ）は、それぞれ、従来の方法によって設計されたレイアウトの一例を示す図である。
【符号の説明】
【０１２６】
１０    …半導体集積回路
１１    …コア領域
１２    …スタンダードセル領域
１３    …スタンダードセル
１４    …ハードマクロ領域
１５    …ハードマクロ（ＲＡＭ，ＲＯＭ）
１６    …電源リング
１８    …通常メッシュ電源配線
１８−１    …縦方向通常メッシュ電源配線
１８−２    …横方向通常メッシュ電源配線
１９    …細密メッシュ電源配線
１９−１    …縦方向細密メッシュ電源配線
１９−２    …横方向細密メッシュ電源配線
２１    …仮信号配線
２２    …詳細信号配線
【図１】
2009246176.tif 000003
【図２】
2009246176.tif 000004
【図３】
2009246176.tif 000005
【図４】
2009246176.tif 000006
【図５】
2009246176.tif 000007
【図６】
2009246176.tif 000008
【図７】
2009246176.tif 000009
【図８】
2009246176.tif 000010
【図９】
2009246176.tif 000011
【図１０】
2009246176.tif 000012
【図１１】
2009246176.tif 000013
【図１２】
2009246176.tif 000014
【図１３】
2009246176.tif 000015