(57)【要約】【課題】  レイアウト設計の早期の段階でＬＶＳ検証が可能な集積回路のレイアウト設計方式を得る。【解決手段】  配置配線手段１０１はショートを許容して配線を行いレイアウトを出力する。ショート修正手段１０２は配線のショートしている部分を除去し新たに定義した仮の配線層に乗り換えて接続し直し、また、仮の配線層と元の配線層との層間接続方法の記述を、層間接続情報ファイル１１１に出力する。レイアウト検証手段１０３は、修正されたレイアウトと層間接続方法を反映したＬＶＳルールファイル１１２とを用いて、ショート箇所が仮配線層により正しい接続に修正されたレイアウトでのＬＶＳを行う。【選択図】      図１
2006259943.tif 000002
【特許請求の範囲】
【請求項１】
集積回路のレイアウト設計システムであって、配線のショートを修正するショート修正手段と、このショート修正手段による修正後のレイアウトと前記集積回路との比較照合をなすレイアウト検証手段とを含むことを特徴とするレイアウト設計システム。
【請求項２】
前記ショート修正手段は、前記配線のショート部分を別に定義された仮の配線層に置換して接続し直す手段と、前記仮の配線層と元の配線層との間の層間接続方法を記述する手段とを有し、前記レイアウト検証手段は、前記修正後のレイアウトに対して前記層間接続方法を反映したルールを用いて照合をなすよう構成されていることを特徴とする請求項１記載のレイアウト設計システム。
【請求項３】
前記接続し直す手段は、前記元の配線層と前記仮の配線層との間の重なりに仮想のヴィア層を配置して元の配線層との接続を維持するようにしたことを特徴とする請求項２記載のレイアウト設計システム。
【請求項４】
集積回路のレイアウト設計方法であって、配線のショートを修正するショート修正ステップと、この修正後のレイアウトと前記集積回路との比較照合をなすレイアウト検証ステップとを含むことを特徴とするレイアウト設計方法。
【請求項５】
前記ショート修正ステップは、前記配線のショート部分を別に定義された仮の配線層に置換して接続し直すステップと、前記仮の配線層と元の配線層との間の層間接続方法を記述するステップとを有し、前記レイアウト検証ステップは、前記修正後のレイアウトに対して前記層間接続方法を反映したルールを用いて照合をなすステップを有することを特徴とする請求項４記載のレイアウト設計方法。
【請求項６】
前記接続し直すステップは、前記元の配線層と前記仮の配線層との間の重なりに仮想のヴィア層を配置して元の配線層との接続を維持するようにしたことを特徴とする請求項５記載のレイアウト設計方法。
【請求項７】
集積回路のレイアウト設計方法をコンピュータにより実行させるためのプログラムであって、配線のショートを修正するショート修正処理と、この修正後のレイアウトと前記集積回路との比較照合をなすレイアウト検証処理とを含むことを特徴とするプログラム。
【請求項８】
前記ショート修正処理は、前記配線のショート部分を別に定義された仮の配線層に置換して接続し直す処理と、前記仮の配線層と元の配線層との間の層間接続方法を記述する処理とを有し、前記レイアウト検証処理は、前記修正後のレイアウトに対して前記層間接続方法を反映したルールを用いて照合をなす処理を有することを特徴とする請求項７記載のプログラム。
【請求項９】
前記接続し直す処理は、前記元の配線層と前記仮の配線層との間の重なりに仮想のヴィア層を配置して元の配線層との接続を維持するようにしたことを特徴とする請求項８記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路のレイアウト設計システム及びその方法並びにプログラムに関し、特に半導体集積回路のレイアウト設計におけるレイアウト検証方式に関するものである。
【背景技術】
【０００２】
従来の半導体集積回路のレイアウト設計方式の例として、図１５に示すような技術があり、図１５を参照すると、配置配線手段１６０１、レイアウト検証手段１６０２、ＬＶＳ（レイアウトと回路図との比較照合）ルールファイル１６１１、レイアウトデータベース１６１２を有しており、図１６のフローチャートに示す手順により、レイアウト検証が進められてる。
【０００３】
図１６を参照すると、先ず、基本論理ゲートセルやマクロセル、下地等のライブラリのマスクレイアウトおよびマスクレイアウトから、端子図形や配線禁止領域のみを抽出した配置配線手段１６０１用のレイアウトを予め作成し（ステップ１）、レイアウト検証手段１６０２により、ライブラリ単体のマスクレイアウトでのレイアウト検証を行って、エラーがなくなったら（ステップ２）、レイアウトデータベース１６１２に格納する。
【０００４】
次に、配置配線手段１６０１によりセルを配置しセル間を配線する（ステップ３）。配置配線手段１６０１は配置配線手段用のレイアウトに基づくデザインルールチェックを行い、エラーがなくなるまで配線をやり直し、エラーがなくなったら（ステップ４）、配置配線結果のマスクレイアウトをレイアウトデータベース１６１２に出力する。そして、レイアウト検証手段１６０２により、セル、下地等ライブラリと配置配線結果のマスクレイアウトをレイアウトデータベース１６１２から取得し、ＬＶＳルールファイル１６１１に基づいてＬＶＳ検証を行い（ステップ５）、エラーが見つかったらライブラリ修正（ステップ１）もしくは配置配線（ステップ３）からやり直す（ステップ６）。エラーがなくなったら、レイアウト設計を完了する。
【０００５】
なお、レイアウト設計においてＬＶＳ検証を行う技術が、特許文献１に開示されている。
【特許文献１】特開平６−３７１８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
図１５に示した従来のレイアウト設計システムによる図１６の設計手順では、配線エラーがなくなってからＬＶＳを行っている。ここで、ＬＶＳ検証はレイアウトと回路図で不一致が多いほどエラー箇所の特定の精度が下がり、エラー出力が増えてエラー解析が困難となり、また、配線エラーのうち特に配線ショートは誤った接続により回路図との不一致箇所となるので、配線ショートが十分少なくなるまでＬＶＳは実行できない。
【０００７】
また、同設計手順では、ＬＶＳ検証でエラーが見つかると、ライブラリ作成もしくは配置配線に戻っている。特に、新規ライブラリ開発を伴う設計では、ライブラリ設計と配置配線設計が並行して行われ、ライブラリのマスクレイアウトのエラーが多く検出されてライブラリ作成に戻りライブラリのレイアウト修正を行うことが多い。
【０００８】
このように、従来のレイアウト設計システムでは、配線ショートが十分少なくなるまではＬＶＳ検証を行うことができず、ＬＶＳ検証でエラーが検出されるとしばしばライブラリ修正への後戻り作業が発生するので、レイアウト設計が完了間際に予期せぬ作業で遅延するという問題があった。
【０００９】
上記特許文献１では、ＬＶＳでのエラーのうち、一部のタイプのエラーを別の検証手段を用いて早期に発見することにより、ＬＶＳで発見されるエラーを少なくして、ＬＶＳのエラー解析の効率化を図るものであるが、レイアウト設計の途中の段階での配線ショートについては何等言及されておらず、よって、この特許文献１の技術でも、配線ショートが十分少なくなるまではＬＶＳ検証を行うことができず、上記問題は依然として存在することになる。
【００１０】
本発明の目的は、レイアウト設計の早期の段階でＬＶＳ検証が可能な集積回路の及びその方法並びにプログラムを提供することである。
【課題を解決するための手段】
【００１１】
本発明によるレイアウト設計システムは、集積回路のレイアウト設計システムであって、配線のショートを修正するショート修正手段と、このショート修正手段による修正後のレイアウトと前記集積回路との比較照合をなすレイアウト検証手段とを含むことを特徴とする。
【００１２】
本発明によるレイアウト設計方法は、集積回路のレイアウト設計方法であって、配線のショートを修正するショート修正ステップと、この修正後のレイアウトと前記集積回路との比較照合をなすレイアウト検証ステップとを含むことを特徴とする。
【００１３】
本発明によるプログラムは、集積回路のレイアウト設計方法をコンピュータにより実行させるためのプログラムであって、配線のショートを修正するショート修正処理と、この修正後のレイアウトと前記集積回路との比較照合をなすレイアウト検証処理とを含むことを特徴とする。
【発明の効果】
【００１４】
本発明によれば、配置配線設計工程の完了前の配線ショートがあるレイアウトでＬＶＳ検証を行うことができるという効果がある。その理由は、配線のショート箇所を新たに定義した仮の配線層を用いてショートがないように修正し、かつ、仮の配線層と元の配線層との層間接続方法を出力して、ＬＶＳルールファイルに仮の配線層の層間接続を反映し、レイアウト検証手段に仮の配線層を含めるとショートのないレイアウトを入力可能としたためである。
【発明を実施するための最良の形態】
【００１５】
以下に、図面を参照しつつ本発明の実施の形態について詳細に説明する。図１は本発明の実施の形態のシステムブロック図である。図１を参照すると、本実施の形態の全体構成は、配置配線手段１０１と、ショート修正手段１０２と、レイアウト検証手段１０３とを含み、また、層間接続情報ファイル１１１と、ＬＶＳルールファイル１１２と、レイアウトデータベース１１３とをも含んでいる。各手段１０１〜１０３はそれぞれ概略次のように動作する。
【００１６】
配置配線手段１０１は、配置後配線を行い、配線困難なネットについてはショートを許容して配線を行い、配置配線結果をレイアウトデータベース１１３に出力する。ショート修正手段１０２は、ショートを起こしたネットの配線レイアウトをレイアウトデータベース１１３から読み込み、ショート箇所を新たに定義した仮の配線層で修正し、レイアウトデータベース１１３に出力すると共に、また、仮の配線層と元の配線層との層間接続方法の記述を層間接続情報ファイル１１１に出力する。層間接続方法の記述には、接続したい２つの配線層と、それらの２つの配線層をつなぐ接続層（ヴィア層）の３層の組が最低限含まれる。
【００１７】
レイアウト検証手段１０３は、層間接続情報ファイル１１１を反映したＬＶＳルールファイル１１２とショートを修正したレイアウトデータをレイアウトデータベース１１３から読み取り、ＬＶＳを実行するものである。
【００１８】
以下に、本発明の実施の形態の動作を、図２のフローチャートに従って説明する。図２において、図１６と同等ステップは同一符号により示している。先ず、図１６の従来の設計手順と同様に、ライブラリを作成し（ステップ１）、検証エラーがなくなったら（ステップ２）、ライブラリのレイアウトをレイアウトデータベース１１３に格納する。次に、配置配線手段１０１でセルを配置しセル間を配線する（ステップ３）。配置配線手段１０１は配置配線手段用レイアウトに基づくデザインルールチェックを行い、エラーがあれば（ステップ４）、従来の設計手順と同様に、ステップ３に戻って配置配線をやり直す。
【００１９】
また、ステップ４においてエラーがあれば、ステップ７へも進み、配線結果をレイアウトデータベース１１３に出力し、ショート修正手段１０２でレイアウトデータベース１１３を読み書きし、ショート箇所を仮の配線層を用いて修正し、また、仮の配線層の層間接続方法の記述を層間接続情報ファイル１１１に出力する。
【００２０】
次に、レイアウト検証手段１０３により、セル、下地等のライブラリのマスクレイアウトと、修正された配置配線結果のマスクレイアウトとを、レイアウトデータベース１１３から取得し、人手などにより予め組み込んでおいたＬＶＳルールファイル１１２によって、層間接続情報ファイル１１１のＬＶＳ検証を行い（ステップ８）、エラーが見つかったら（ステップ９）、ライブラリ作成（ステップ１）に戻ってライブラリを修正し、エラーが無ければ（ステップ９）、次の配置配線結果に対して同様の処理を行うために、ステップ３に戻る。
【００２１】
ステップ３，４での配置配線の繰り返しと、ステップ７〜９でのショート修正およびＬＶＳは並行して行われる。ステップ４で配線エラーがなくなった場合の以降の手順は、図１６の従来の設計手順と同じである（ステップ５，６）。
【００２２】
図３は図１に示したショート修正手段１０２の第一の実施例の構成を示すブロック図である。図３を参照すると、ショート修正手段１０２は、データ入力手段３０１、図形論理演算手段３０２、パス分割手段３０３、パス―ポリゴン重なり検出手段３０４、パス隣接検出手段３０５、レイアウト編集手段３０６、層定義作成手段３０７、データ出力手段３０８、レイアウト記憶装置３１１、層定義記憶装置３１２を有する。
【００２３】
これら各手段及び記憶装置はそれぞれ概略次のように動作する。レイアウト記憶装置３１１は、端点の集合と幅、層からなるパスや上下の座、ヴィアのポリゴンからなるヴィアセルおよびポリゴンを記憶する。配線レイアウトはパス、ヴィアセルの集合として保持され、図形論理演算の結果はポリゴンの集合として保持される。層定義記憶装置３１２は、元の配線層毎に、仮の配線層名と仮の配線層と元の配線層をつなぐ仮想のヴィア層名の対を任意の数だけ保持する。
【００２４】
データ入力手段３０１は、レイアウトデータベース１１３から、ネット毎にパス、ヴィアセルからなる配線レイアウトを読み込み、ネット毎に配線レイアウトをレイアウト記憶装置３１１に書き込む。図形論理演算手段３０２は、レイアウト記憶装置３１１から、ポリゴン図形の集合もしくはパス、ヴィアセルの集合を読み込み、ポリゴン図形同士もしくはポリゴン図形とパス、ヴィアセルの外形のポリゴン図形との図形ＡＮＤ演算および図形ＯＲ演算処理を行い、得られたポリゴンの集合をレイアウト記憶装置３１１に書き込む。
【００２５】
パス分割手段３０３は、指定されたパスをレイアウト記憶装置３１１から読み込み、任意に指定可能な最小分割幅の間隔でパスの端点間をつなぐ直線を曲がり角を除いて分割し、得られたパスをレイアウト記憶装置３１１に書き込む。パス―ポリゴン重なり検出手段３０４は、指定されたポリゴンをレイアウト記憶装置３１１から読み込み、レイアウト記憶装置３１１内のパスを検索し、ポリゴン図形と外形で重なりのあるパスを検出する。
【００２６】
パス隣接検出手段３０５は、指定されたパスをレイアウト記憶装置３１１から読み込み、レイアウト記憶装置３１１内のパスを検索し、端点のいずれかの一致するパスを検出する。レイアウト編集手段３０６は、レイアウト記憶装置３１１を読み書きし、パス、ヴィアセルの作成、コピー、除去、層変更を行う。層定義作成手段３０７は、指定された配線層の仮の配線層名および仮想のヴィア層名を作成し、層定義記憶装置３１２に書き込む。
【００２７】
データ出力手段３０８は、レイアウト記憶装置３１１からネットの配線レイアウトを読み込み、図１のレイアウトデータベース１１３に書き込む。また、層定義記憶装置３１２から、層定義を読み込み、使用した仮配線層について、元の配線層名と仮の配線層名と仮想のヴィア層名の組を含む層間接続方法の記述を図１の層間接続情報ファイル１１１に出力する。
【００２８】
次に、図３に示したショート修正手段１０２に基づく本発明の第一の実施例の動作を、図４のフローチャートを参照して詳細に説明する。先ず、データ入力手段３０１により、図１のレイアウトデータベース１１３から互いにショートしているネットの配線レイアウトをネット毎に読み込み、ネット毎にレイアウト記憶装置３１１に書き込む（ステップ１１）。次に、入力された配線レイアウトの全ての配線層の各々に対して、入力されたネット数―１の分の仮配線層の定義を層定義作成手段３０７により作成し層定義記憶装置３１２に書き込む（ステップ１２）。
【００２９】
次に、入力されたネットから２つのネットを選択し、図形論理演算手段３０２により、レイアウト記憶装置３１１から２つのネットの配線レイアウトを取得してＡＮＤ処理を行い、２つのネットの選択の全ての組み合わせについて、同じくＡＮＤ処理を行い、得られた全てのポリゴンのＯＲ処理を行って、レイアウト記憶装置３１１に書き込む（ステップ１３）。次に、パス分割手段３０３により、レイアウト記憶装置３１１内の配線レイアウトのパスを指定された最小分割幅の間隔で分割する（ステップ１４）。但し、パスの連続する二つの端点間をつなぐ直線を作成し、端点に複数の直線がつながっているとき、直線同士の角度から曲がり角の開始、終了地点を求めるなどして、曲がり角の領域内では分割を行わない。
【００３０】
次に、パス―ポリゴン重なり検出手段３０４により、レイアウト記憶装置３１１内の配線レイアウトを調べ、ステップ１３で作成したポリゴン図形と重なりのあるパスを検出し、検出されたパスを０番に番号づけする（ステップ１５）。次に、パス隣接検出手段３０５により、レイアウト記憶装置３１１内の配線レイアウトのパスを調べ、前ステップ１５で０番に番号づけされたパスに隣接する、すなわち端点のいずれかが一致するパスを検出し、１番と番号づけする。更に、１番と番号づけされたパスに隣接するパスを検出し、２番と番号づけする（ステップ１６）。
【００３１】
次に、全ネットのうち修正対象外のネットを除外し残るネットから１つのネットを選択し、層定義記憶装置３１２からネットの配線層に対する一つの仮配線層を取得する（ステップ１７）。ここで、修正対象外とするネットは、配線長、端子図形との重なりの有無、配線優先順位などの指標を用い適宜に決定する。
【００３２】
次に、レイアウト修正手段３０６により、レイアウト記憶装置３１１内の現ネットの配線レイアウトのうち、０，１，２に番号付けされたパスのコピーを作成し、コピーされたパスの配線層を仮配線層に、２番のパスのコピーを仮配線層と対になっている仮想ヴィア層に置換し、１番のパスを除去する（ステップ１８）。そして、選択するネットがまだあればステップ１７に戻り、なければ次に進む（ステップ１９）。
【００３３】
最後に、データ出力手段３０８により、レイアウト記憶装置３１１のネット毎の配線レイアウトを図１のレイアウトデータベース１１３に出力する。また、使用した仮配線層について、層定義記憶装置３１２に記憶されている元の配線層名と仮配線層名と仮想ヴィア層名の組を図１の層間接続情報ファイル１１１に出力する（ステップ２０）。
【００３４】
以下に、上述した本発明の第一の実施例をより良く理解すべく、具体的な配線パターンレイアウトを用いて説明する。図５は、図３のデータ入力手段３０１によつて、図１のレイアウトデータベース１１３から読み込まれ、図３のレイアウト記憶手段３１１に書き込まれた配線レイアウトの一例である。図５の６１１，６２１，６３１はポリシリコン―メタル１層ヴィアセルであり、６１２，６２２，６３２はメタル１層パスを示している。また、６１３，６２３，６３３はメタル１層―メタル２層ヴィアセルである。
【００３５】
また、６１１，６１２，６１３はネットＡの配線レイアウトを構成しており、６２１，６２２，６２３はネットＢの配線レイアウトを構成しており、６３１，６３２，６３３はネットＣの配線レイアウトを構成している。そして、これらネットＡ，Ｂ，Ｃがメタル１層パス上においてショートしているものとして示している。
【００３６】
これら３つのネットＡ，Ｂ，Ｃがショートしていることから、ポリシリコン、メタル１層、メタル２層の各層に対して、２つの仮配線層を、図３の層定義作成手段３０７により作成し、図３の層定義記憶装置３１２に書き込む（ステップ１２）。層定義記憶装置３１２に書き込まれた層定義の例と、層間接続を表す模式図を図６に示している。
【００３７】
図６において、元の配線層のポリシリコン、メタル１層、メタル２層はそれぞれＰＯＬＹ，Ｍ１，Ｍ２として表記し、元のヴィア層のポリシリコン―メタル１層ヴィア層、メタル１層―メタル２層ヴィア層は、それぞれＶ１，Ｖ２として表記し、配線層を矩形状で表記し、配線層間のヴィア層を直線で表記している。例えば、Ｍ１層の仮の配線層を、第一の仮配線層Ｍ１＿１と、第二仮配線層のＭ１＿２と定義し、また、これら仮の配線層と対になっている仮想ヴィア層を、それぞれＭ１＿１Ｖ、Ｍ１＿２Ｖとして定義したものである。
【００３８】
これらネットＡ〜Ｃのなかから２つのネットを選択する３つの組み合わせのそれぞれについて、図形論理演算手段３０２により、ネットの配線レイアウトのＡＮＤ処理を行うと、ネットＡとＢとから、図７の７０１（左下がりの斜線部分）、ネットＢとネットＣとから、図７の７０２（点線部分）、ネットＣとネットＡとから、図７の７０３（右下がりの斜線部分）のポリゴン（多角形状）が得られる。これらポリゴン７０１と７０２と７０３のＯＲ処理を行うと、図８の８０４（斜線部）のポリゴンが得られる（ステップ１３）。
【００３９】
次に、３ネットのうち、ネットＢ，Ｃを修正対象とし、パス分割手段３０３により両ネットの配線レイアウトに含まれるパスを分割すると、図８の８０１を例とする点線のように分割される（ステップ１４）。パスの同層の曲がり角では分割されないために、本例のように、直角に曲がっているパスの曲がり角は、辺の長さがパス幅と等しい正方形となる（図８の８０２，８０３）。
【００４０】
次に、ステップ１３で作成したポリゴンと重なりのあるパスをパス―ポリゴン重なり検出手段３０４により検出し、０番と番号づけ（ステップ１５）、パス隣接検出手段３０５により、０番のパスに隣接するパスを１番とし、１番に隣接するパスを２番と番号づけると、図８に示すようになる（ステップ１６）。次に、修正対象のネットＢ，ＣのうちネットＢを選択して、層定義記憶手段３１２よりメタル１層の第一の仮配線層Ｍ１＿１を取得し（ステップ１７）、レイアウト編集手段３０６により、０〜２番のパスをコピーしてＭ１＿１層に置換すると，図９の９０１が得られる（ステップ１８）。更に、２番のパスをコピーして、Ｍ１＿１と対になっている仮想ヴィア層Ｍ１＿１Ｖに置換すると、図９の９０２，９０３が得られる。更に、０、１番のパスを除去すると、Ｍ１のパスは図９の９０４，９０５のように残される（ステップ１９）。
【００４１】
次に、ネットＣを選択して、層定義記憶手段３１２よりメタル１層の第二の仮配線層Ｍ１＿２を取得し（ステップ１７）、ステップ１８を同様に行うと、Ｍ１＿２のパスが図９の９１１に置かれ、Ｍ１＿２Ｖの仮想ヴィア層のパスが図９の９１２，９１３に置かれ、Ｍ１のパスが９１４，９１５に残される。次に選択するネットがないので、次のステップ２０に進み、データ出力手段３０８により、レイアウト記憶装置３１１に格納された配線レイアウトおよび層定義記憶手段３１２に格納された仮配線層の定義を参照し、仮配線層の層間接続方法を図１の層間接続情報ファイル１１１に出力する（ステップ２０）。
【００４２】
層間接続方法を、例えば、（接続したい配線層１、接続したい配線層２、ヴィア層）と表記すると、本実施例の出力は（Ｍ１，Ｍ１＿１，Ｍ１＿１Ｖ）と（Ｍ１，Ｍ１＿２，Ｍ１＿２Ｖ）となる。
【００４３】
上述した本発明の第一の実施例の効果について説明する。ネットＡ、ネットＢ、ネットＣの重なった領域上で、ネットＡは元の配線層Ｍ１のままで、ネットＢは第一の仮配線層Ｍ１＿１層に置換され、ネットＣは第二の仮配線層Ｍ１＿２層に置換されるので、ショートは解消される。これに加えて、ネットＢの元の配線層Ｍ１と仮配線層Ｍ１＿１との重なり部には、Ｍ１＿１Ｖ層が配置され、ネットＣの元の配線層Ｍ１と仮配線層Ｍ１＿２の重なり部にはＭ１＿２Ｖ層が配置され、Ｍ１とＭ１＿１とはＭ１＿１Ｖとの重なりで接続し、Ｍ１とＭ１＿２とはＭ１＿２Ｖとの重なりで接続する層間接続方法が、レイアウト検証手段に指定されることにより、仮配線層と元の配線との接続も保たれる。
【００４４】
ショート部が仮の配線層に置換され、仮の配線層と元の配線層との重なりに、仮想のヴィア層が配置されて元の配線層と接続を保つことにより、本発明の第一の実施例のショート修正後のレイアウトを、レイアウト検証手段で回路抽出した結果は、ショートなしに配線が引かれた場合と同じ回路接続を有することになる。
【００４５】
次に、本発明の第２の実施例の構成について、図面を参照して詳細に説明する。この第２の実施例の全体構成は第一の実施例の場合（図１）と同じであるので、その説明を省略する。図１０は図１のショート修正手段１０２の第二の実施例であり、図３と同等部分は同一符号により示している。図１０を参照すると、ショート修正手段１０２は、データ入力手段３０１と、図形論理演算手段３０２と、パス―ポリゴン重なり検出手段３０４と、セル―ポリゴン重なり検出手段３０９と、レイアウト編集手段３０６と、ヴィア層決定手段３１０と、層定義作成手段３０７と、データ出力手段３０８と、レイアウト記憶装置３１１と、層定義記憶装置３１２とを有している。
【００４６】
これらの各手段及び装置はそれぞれ概略次のように動作する。レイアウト記憶装置３１１は、図３のレイアウト記憶装置３１１と同じである。層定義記憶装置３１２は、元の配線層毎に、仮の配線層名を任意の数だけ保持する。また、仮の配線層も含めた連続した２層の組に一対一に対応づけられた仮のヴィア層名を保持する。データ入力手段３０１は、図３のデータ入力手段３０１と同じである。図形論理演算手段３０２は、図３の図形論理演算手段３０２と同じである。パス―ポリゴン重なり検出手段３０４は、図３のパス―ポリゴン重なり検出手段３０４と同じである。
【００４７】
セル―ポリゴン重なり検出手段３０９は、指定されたポリゴンをレイアウト記憶装置３１１から読み込み、レイアウト記憶装置３１１内のセルを検索し、ポリゴンとセルに含まれる図形で重なりのあるセルを検出する。レイアウト編集手段３０６は、図３のレイアウト編集手段３０６と同じである。ヴィア層決定手段３１０は、ヴィアセルの上下の座の配線層を調べ、２つの配線層間に対応づけをもつヴィア層名を、層定義記憶装置３１２を検索して取得する。層定義作成手段３０７は、指定された配線層の仮の配線層名および仮の配線層も含めた連続した２層の組に一対一に対応づけられた仮のヴィア層名を作成して、層定義記憶手段３１２に書き込む。データ出力手段３０８は、図３のデータ出力手段３０８と同じである。
【００４８】
データ出力手段３０８は、レイアウト記憶装置３１１からネットの配線レイアウトを読み込み、図１のレイアウトデータベース１１３に書き込む。また、層定義記憶装置３１２から、層定義を読み込み、使用した仮配線層について、元の配線層名と仮の配線層名と前記２層に対応づけられた仮のヴィア層名を含む層間接続方法の記述を、図１の層間接続情報ファイル１１１に出力する。
【００４９】
以下に、図１１のフローチャートを参照して、本発明の第２の実施例の動作について詳細に説明する。なお、図１１において、図４のステップと同等ステップについては、同一符号により示している。先ず、データ入力手段３０１により、図１のレイアウトデータベース１１３から互いにショートしているネットの配線レイアウトをネット毎に読み込み、ネット毎にレイアウト記憶装置３１１に書き込む（ステップ１１）。
【００５０】
次に、入力された配線レイアウトの全配線層について、入力されたネット数―１の分の仮配線層の定義および仮の配線層も含めて、可能な連続した２層の組に対応づけられた仮のヴィア層名を層定義記憶装置３１２に書き込む（ステップ１２）。次に、図形論理演算手段３０２により、レイアウト記憶装置３１１から配線レイアウトを読み込み、全ネットの配線レイアウトのＯＲ処理を行い、同層内で等電位な領域を示すポリゴン図形を作成し、レイアウト記憶装置３１１に書き込む（ステップ２１）。
【００５１】
次に、一つのネットを選択してネットの配線層に対応する第一の仮配線層の定義を取得する（ステップ１７）。修正対象外とするネットは、配線長、端子図形との重なりの有無、配線優先順位などの指標を用い適宜に決定する。次に、パス―ポリゴン重なり検出手段３０４により、レイアウト記憶装置３１１の現ネットの配線レイアウトを調べ、前ステップで作成されたポリゴンと重なりのあるパスを検出し、レイアウト編集手段３０６により、検出されたパスの配線層を仮の配線層に置換する（ステップ２２）。
【００５２】
次に、セル―ポリゴン重なり検出手段３０９により、レイアウト記憶装置３１１の配線レイアウトを調べ、ステップ２１で作成されたポリゴンと重なりのあるヴィアを検出し、レイアウト編集手段３０６により、検出されたヴィアの一方の座の配線層を仮の配線層に、ヴィアホールのヴィア層をヴィア層決定手段３１０により取得した仮のヴィア層に置換する（ステップ２３）。次に選択するネットがまだあれば、ステップ１７に戻り、なければ次に進む（ステップ１９）。
【００５３】
最後に、データ出力手段３０８により、レイアウト記憶装置３１１に格納されたネットの配線レイアウトを、図１のレイアウトデータベース１１３に出力する。また、使用した仮配線層について、層定義記憶装置３１２に記憶されている元の配線層名と仮配線層名と前記２層に対応する仮ヴィア層名の組を、図１の層間接続情報ファイル１１１に出力する（ステップ２０）。
【００５４】
以下に、本発明の第二の実施例の動作をより良く理解すべく、具体的なパータンレイアウトの例を用いて説明するが、この場合のパータンレイアウトの例は、先の第一の実施例において説明した図５のパータンレイアウトと同一とする。
【００５５】
先ず、図５の例においては、３つのネットＡ〜Ｃがショートしていることから、ポリシリコン、メタル１層、メタル２層の各層に、２つの仮配線層を層定義作成手段１１０７により作成して層定義記憶装置３１２に書き込む（ステップ１２）。層定義記憶装置３１２に書き込まれた層定義の例と、層間接続を表す模式図を図１２に示す。
【００５６】
図１２においては、元のポリシリコン、メタル１層、メタル２層は、それぞれＰＯＬＹ，Ｍ１，Ｍ２として表記し、元のヴィア層のポリシリコン―メタル１層ヴィア層、メタル１層―メタル２層は、それぞれＶ１，Ｖ２として表記し、配線層を矩形状で表記し、配線層間のヴィア層を直線で表記している。ポリシリコン層の仮配線層名をＰＯＬＹ＿１、ＰＯＬＹ＿２とし、メタル１層の仮配線層名をＭ１＿１とＭ１＿２とし、メタル２層の仮配線層をＭ２＿１、Ｍ２＿２とし、ＰＯＬＹ―Ｍ１＿１間をつなぐヴィア層名をＶ１＿０＿１とし、ＰＯＬＹ―Ｍ１＿２間をつなぐヴィア層名をＶ１＿０＿１とし、Ｍ１＿１―Ｍ２間をつなぐヴィア層名をＶ２＿１＿０とし、Ｍ１＿２―Ｍ２間をつなぐヴィア層名をＶ２＿２＿０とした例である。その他のヴィア層は直線で示すのみであり、名称は省略している。
【００５７】
次に、図形論理演算手段３０２により、全ネットの配線レイアウトＯＲ処理を行うと、図１３の１４０１のような図形（斜線で示す）が得られる（ステップ２１）。次に、３ネットのうち、ネットＢ，Ｃを修正対象とする。先ず、ネットＢを選択し、メタル１層の第一の仮配線層Ｍ１＿１を取得する（ステップ１７）。次に、パス―ポリゴン重なり検出手段３０４により、図１３の１４０１と重なりのあるネットＢのメタル１層のパスを検出すると、図５の６２２が得られ、これをレイアウト編集手段３０６により、Ｍ１＿１に置換したものが、図１４の１５０１である（ステップ２２）。
【００５８】
次に、セル―ポリゴン重なり検出手段３０６により、図１３の１４０１と重なりのあるヴィアセルを検出すると、図５の６２１と６２３が得られる。図５の６２１はポリシリコン―メタル１層ヴィアセルであり、ヴィアセルの二つの座はそれぞれＰＯＬＹ，Ｍ１である。そこで、先ず、Ｍ１の座をレイアウト編集手段３０６により、仮配線層Ｍ１＿１に置換したものが、図１４の１５０２である。次に、ヴィア層決定手段３１０により、ヴィアセルを調べ座のＰＯＬＹとＭ１＿１の二層をつなぐヴィア層を、層定義記憶装置３１２から取得し、Ｖ１のヴィア層をＶ１＿０＿１に置換する。置換したものが図１４の１５０４である。
【００５９】
また、図５の６２３はメタル１層―メタル２層ヴィアセルであり、ヴィアセルの二つの座はそれぞれＭ１とＭ２である。そこで、先ず、メタル１層の座をレイアウト編集手段３０６により、仮配線層Ｍ１＿１に置換したものが、図１４の１５０３である。次に、ヴィア層決定手段３１０により、ヴィアセルを調べると、座はＭ１＿１とＭ２とからなり、これらの二層をつなぐヴィア層を層定義記憶装置３１２から取得し、Ｖ２のヴィア層をＶ２＿１＿０に置換する。置換した結果が図１４の１５０４である（ステップ２３）。
【００６０】
次に、ネットＣを選択して、層定義記憶手段３１２よりメタル１層の第二の仮配線層Ｍ１＿２を取得し（ステップ１７）、ステップ２３，１９を行うと、図１４の１５１１，１５１２，１５１３がＭ１＿２であり、１５１４がＰＯＬＹ―Ｍ１＿２間のヴィア層のＶ１＿０＿２であり、１５１５がＭ１＿２―Ｍ２間のヴィア層のＶ２＿２＿０となる。
【００６１】
次に選択するネットがないので、次のステップに進み、データ出力手段３０８により、レイアウト記憶装置３１１に格納された配線レイアウトおよび層定義記憶装置３１２に格納された仮配線層の定義を参照し、仮配線層の層間接続方法を図１の層間接続情報ファイル１１１に出力する（ステップ２０）。層間接続方法を、例えば（接続したい配線層１、接続したい配線層２、ヴィア層）と表記すると、本実施例の出力は（ＰＯＬＹ，Ｍ１＿１，Ｖ１＿０＿１）、（ＰＯＬＹ，Ｍ１＿２，Ｖ１＿０＿２）、（Ｍ１＿１，Ｍ２，Ｖ２＿１＿０）、（Ｍ１＿２，Ｍ２，Ｖ２＿２＿０）となる。
【００６２】
上述した第２の実施例の効果について説明する。ネットＡ〜Ｃがメタル１層パス上で重なっているときに、ネットＡは元の配線層Ｍ１のままで、ネットＢ、ネットＣのヴィアセル間をつなぐパスが、ネットＢはメタル１層の第一の仮配線層Ｍ１＿１に置換され、ネットＣはメタル１層の第二の仮配線層Ｍ１＿２に置換されるので、ショートが解消される。
【００６３】
加えて、ポリシリコン―メタル１層ヴィア層が、ネットＢは仮のヴィア層Ｖ１＿０＿１に、ネットＣは仮のヴィア層Ｖ１＿０＿２に、メタル１層―メタル２層ヴィア層が、ネットＢは仮のヴィア層Ｖ２＿１＿０に、ネットＣは仮のヴィア層Ｖ２＿２＿０に、それぞれ置換され、そして、ポリシリコンとＭ１＿１はＶ１＿０＿１との重なりで接続し、ポリシリコンとＭ１＿２はＶ１＿０＿２との重なりで接続し、Ｍ１＿１とＭ２はＶ２＿１＿０との重なりで接続し、Ｍ１＿２とＭ２はＶ２＿２＿０との重なりで接続する層間接続方法が、レイアウト検証手段１０３に指定されることにより、仮配線層と元の配線層は仮のヴィア層で接続される。
【００６４】
そして、ショートしているパスが仮の配線層に置換され、仮の配線層がヴィアセル上で仮のヴィア層により元の配線層と接続を保つことにより、本発明の第二の実施例のショート修正後のレイアウトを、レイアウト検証手段１０３で回路抽出した結果は、ショートなしに配線が引かれたのと同じ回路接続を持つことになる。
【００６５】
上記の実施の形態及び実施例の各動作フローは、予めその動作手順をプログラムとしてＲＯＭなどの記録媒体に格納しておき、これをコンピュータであるＣＰＵにより読み取らせて実行させるよう構成できることは明白である。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態の構成を示す機能ブロック図である。
【図２】本発明の実施の形態の動作を示すフローチャートである。
【図３】本発明の第一の実施例に使用されるショート修正手段の具体的構成を示す機能ブロック図である。
【図４】図３のショート修正手段の動作を示すフローチャートである。
【図５】実施例の動作をより良く説明するためのパターンレイアウトの具体例である。
【図６】本発明の第一の実施例に使用される層定義の例と層間接続を表す模式図である。
【図７】図５のパターンレイアウトにおけるショート領域のポリゴンの例を示す図である。
【図８】図７のポリゴンにおけるパス分割の例を示す図である。
【図９】図８のパス分割後のパス仮想配線によるショート修正例を説明する図である。
【図１０】本発明の第二の実施例に使用されるショート修正手段の具体的構成を示す機能ブロック図である。
【図１１】図１０のショート修正手段の動作を示すフローチャートである。
【図１２】本発明の第二の実施例に使用される層定義の例と層間接続を表す模式図である。
【図１３】本発明の第二の実施例における同層内等電位領域ポリゴンの例を示す図である。
【図１４】図１３の例におけるパス仮想配線によるショート修正例を説明する図である。
【図１５】従来技術を説明するための機能ブロック図である。
【図１６】図１５の従来例の動作を説明するフローチャートである。
【符号の説明】
【００６７】
１０１  配置配線手段
１０２  ショート修正手段
１０３  レイアウト検証手段
１１１  層間接続情報ファイル
１１２  ＬＶＳルールファイル
１１３  レイアウトデータベース
３０１  データ入力手段
３０２  図形論理演算手段
３０３  パス分割手段
３０４  パス−ポリゴン重なり検出手段
３０５  パス隣接検出手段
３０６  レイアウト編集手段
３０７  層定義作成手段
３０８  データ出力手段
３０９  セル−ポリゴン重なり検出手段
３１０  ヴィア層決定手段
３１１  レイアウト記憶装置
３１２  層定義記憶装置
【図１】
2006259943.tif 000003
【図２】
2006259943.tif 000004
【図３】
2006259943.tif 000005
【図４】
2006259943.tif 000006
【図５】
2006259943.tif 000007
【図６】
2006259943.tif 000008
【図７】
2006259943.tif 000009
【図８】
2006259943.tif 000010
【図９】
2006259943.tif 000011
【図１０】
2006259943.tif 000012
【図１１】
2006259943.tif 000013
【図１２】
2006259943.tif 000014
【図１３】
2006259943.tif 000015
【図１４】
2006259943.tif 000016
【図１５】
2006259943.tif 000017
【図１６】
2006259943.tif 000018