(57)【要約】      （修正有）【課題】回路変更が生じた場合に変更マスク数を最小限に抑えることにより、開発コストの抑制および開発期間の短縮を実現する半導体集積回路のレイアウト設計方法を提供する。【解決手段】集積回路の接続情報に基づいて多層構造の半導体集積回路の各層毎のレイアウトを生成する半導体集積回路のレイアウト生成装置において、集積回路の接続情報の入力を受け付ける接続情報入力手段と、他の集積回路の接続情報に基づいて生成された基準レイアウトデータの入力を受け付ける基準レイアウトデータ入力手段と、入力された接続情報に基づいて基準レイアウトを構成するレイアウトの変更を行い新たなレイアウトを生成する変更レイアウト生成手段と、変更レイアウト生成手段がレイアウト変更を行う際の基準レイアウトの変更可能層を指定する変更可能層指定手段と、を有する。【選択図】図２
2009283657.tif 000002
【特許請求の範囲】
【請求項１】
集積回路の接続情報に基づいて多層構造を有する半導体集積回路の各層毎の層レイアウトを生成する半導体集積回路のレイアウト生成装置であって、
前記集積回路の接続情報の入力を受け付ける接続情報入力手段と、
前記接続情報とは異なる他の集積回路の接続情報に基づいて生成された基準レイアウトに対応する基準レイアウトデータの入力を受け付ける基準レイアウトデータ入力手段と、
入力された接続情報に基づいて、前記基準レイアウトを構成する少なくとも１つの層レイアウトに対してレイアウト変更を行って新たなレイアウトを生成する変更レイアウト生成手段と、
前記変更レイアウト生成手段がレイアウト変更を行うべき前記基準レイアウトの少なくとも１つの層レイアウトを指定する変更可能層指定手段と、を含み、
前記変更レイアウト生成手段は、前記変更可能層指定手段によって指定された層レイアウトに対してのみレイアウト変更を行うことを特徴とする半導体集積回路のレイアウト生成装置。
【請求項２】
前記変更可能層指定手段は、前記変更レイアウト生成手段がレイアウト変更を行うべき前記基準レイアウトの層数を指定する層数指定手段と、前記基準レイアウトを構成する複数の層レイアウトのうちから前記層数指定手段によって指定された層数を選択する全ての組み合わせを抽出する組み合わせ抽出手段と、を有し、
前記変更レイアウト生成手段は、前記組み合わせ抽出手段によって抽出された組み合わせの各々について、当該組み合わせに係る前記基準レイアウトの層レイアウトの各々に対してレイアウト変更を行うことを特徴とする請求項１に記載の半導体集積回路のレイアウト生成装置。
【請求項３】
前記新たなレイアウトに対して所定の電気特性について検証を行う検証手段と、
前記検証手段による検証結果に応じて当該新たなレイアウトに対応する変更レイアウトデータを記録媒体に保存する変更レイアウトデータ保存手段と、を更に含むことを特徴とする請求項２に記載の半導体集積回路のレイアウト生成装置。
【請求項４】
前記記録媒体に保存された変更レイアウトデータが複数存在する場合において、そのうちの１つを選定する選定手段を更に含むことを特徴とする請求項３に記載の半導体集積回路のレイアウト生成装置。
【請求項５】
前記選定手段は、前記検証手段による検証結果に基づいて選定を行うことを特徴とする請求項４に記載の半導体集積回路のレイアウト生成装置。
【請求項６】
前記記録媒体に保存された変更レイアウトデータの１つを変更マスクデータとして出力する変更マスクデータ出力手段を更に含むことを特徴とする請求項３に記載の半導体集積回路のレイアウト生成装置。
【請求項７】
前記変更レイアウト生成手段は、前記組み合わせ抽出手段によって抽出された各組み合わせについて、並行してレイアウト生成を行うことを特徴とする請求項２に記載の半導体集積回路のレイアウト生成装置。
【請求項８】
集積回路の接続情報に基づいて多層構造を有する半導体集積回路の各層毎の層レイアウトを設計する半導体集積回路のレイアウト設計方法であって、
集積回路の接続情報の入力を受け付ける接続情報入力ステップと、
前記接続情報とは異なる他の接続情報に基づいて生成された基準レイアウトに対応する基準レイアウトデータの入力を受け付ける基準レイアウトデータ入力ステップと、
入力された接続情報に基づいて、前記基準レイアウトを構成する少なくとも１つの層レイアウトに対してレイアウト変更を行って新たなレイアウトを生成する変更レイアウト生成ステップと、
前記変更レイアウト生成ステップにおいて、レイアウト変更を行うべき少なくとも１つの層レイアウトを指定する変更可能層指定ステップと、を含み、
前記変更レイアウト生成ステップは、前記変更可能層指定ステップにおいて指定された層レイアウトに対してのみレイアウト変更を行うステップであることを特徴とする半導体集積回路のレイアウト設計方法。
【請求項９】
前記変更可能層指定ステップは、前記変更レイアウト生成ステップにおいてレイアウト変更を行うべき前記基準レイアウトの層数を指定する層数指定ステップと、前記基準レイアウトを構成する複数の層レイアウトのうちから前記層数指定ステップにおいて指定された層数を選択する全ての組み合わせを抽出する組み合わせ抽出ステップと、を含み、
前記変更レイアウト生成ステップは、前記組み合わせ抽出ステップにおいて抽出された組み合わせの各々について、当該組み合わせに係る前記基準レイアウトの層レイアウトの各々に対してレイアウト変更を行うステップであることを特徴とする請求項８に記載の半導体集積回路のレイアウト設計方法。
【請求項１０】
前記新たなレイアウトに対して所定の電気特性について検証を行う検証ステップと、
前記検証ステップにおける検証結果に応じて当該新たなレイアウトに対応する変更レイアウトデータを記録媒体に保存するレイアウトデータ保存ステップと、を更に含むことを特徴とする請求項９に記載の半導体集積回路のレイアウト設計方法。
【請求項１１】
前記記録媒体に保存された変更レイアウトデータが複数存在する場合において、そのうちの１つを選定する選定ステップを更に含むことを特徴とする請求項１０に記載の半導体集積回路のレイアウト設計方法。
【請求項１２】
前記選定ステップは、前記検証ステップにおける検証結果に基づいて選定を行うステップであることを特徴とする請求項１１に記載の半導体集積回路のレイアウト設計方法。
【請求項１３】
前記記録媒体に保存された変更レイアウトデータの１つを変更マスクデータとして出力する変更マスクデータ出力ステップを更に含むことを特徴とする請求項１０に記載の半導体集積回路のレイアウト設計方法。
【請求項１４】
前記変更レイアウト生成ステップは、前記組み合わせ抽出ステップにおいて抽出された各組み合わせについて、並行してレイアウト生成を行うステップであることを特徴とする請求項９に記載の半導体集積回路のレイアウト設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウト設計装置およびレイアウト設計方法に関する。
【背景技術】
【０００２】
半導体集積回路は、エッチング、イオン注入、配線形成等の各工程において複数のマスクを用いて製造される。半導体集積回路の設計段階において、回路変更が生じた場合には、変更内容に応じてセルの配置や配線の接続状態等のレイアウトを検討し、対応する１層又は２層以上のマスクパターンを新たに設計して対応することが行われている。
【０００３】
図１は、半導体集積回路のレイアウト設計において回路変更が生じた場合の従来の設計変更手順を示すフローチャートである。
【０００４】
半導体集積回路のレイアウト設計は、自動配置配線装置が用いて行われる。自動配置配線装置とは、ＥＤＡ（Electronic Design Automation）の一部であって、内部プログラムによりマクロセルの接続情報（すなわち論理回路の設計結果）に基づいて、マクロセルを自動配置し、各セル間に自動配線を行うことにより半導体チップ上のレイアウトを自動生成する装置をいう。
【０００５】
はじめに、自動配置配線装置に回路変更前の前回のレイアウトデータを読み込む（Ｓ１０１）。次に、自動配置配線装置に回路変更後の集積回路の接続情報（ネットリスト）を入力する（Ｓ１０２）。
【０００６】
次に、自動配置配線装置は、変更回路の接続情報（ネットリスト）に基づいてセルの再配置、削除、追加を行う（Ｓ１０３）。変更部分に対応していないセルについては、回路変更前と同じ配置を維持する。その後、自動配置配線装置は、配置が定まった各セル間を配線する（Ｓ１０４）。この際、変更部分に対応していないセル間の配線については、極力変更前の状態を維持するように配線が形成される。
【０００７】
次に、新たに生成されたレイアウトに対してタイミング検証、クロストークやＩＲドロップなどのＳＩ（Signal Integrity）検証およびパワー検証を行う（Ｓ１０５）。尚、クロストークとは、配線間で生じた電磁的な結合により、一方の配線の信号が他方の配線の信号に重畳してしまうことをいう。また、ＩＲドロップとは、配線の抵抗成分による電位降下をいう。ＩＲドロップは電源線で問題になることが多い。検証の結果、各検証項目において問題のないことが確認された場合には、回路変更前と回路変更後のレイアウトデータを比較して、回路変更に伴って変更が生じることとなる層のマスクデータを抽出する（ステップＳ１０６）。回路変更前後を通じて変更が不要な層に関しては前回作成したマスクデータをそのまま維持することとなる。つまり、変更が生じない層については、前回設計したマスクをそのまま使用する。
【０００８】
最後に、変更が生じたマスクデータを出力して本ルーチンを終了する（ステップＳ１０７）。一方、ステップＳ１０５において検証を行った結果、問題があることが判明した場合には、必要に応じて配線工程（ステップＳ１０４）、セルの再配置工程（ステップＳ１０３）、ネットリストの入力工程（ステップＳ１０２）に戻って、設計をやり直す。
【特許文献１】特開平１０−１２５７９２号公報
【特許文献２】特開平１１−６７９１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記した従来の自動配置配線装置を用いた設計変更手順によれば、変更が生じることとなるマスク数に制約がないため、常に全メタル配線層を変更する可能性があった。変更マスクの枚数が増加するとマスク費用の増加およびマスク製造期間の長期化に伴う設計期間の増大を招く結果となる。更に変更マスクの枚数が増加すると、変更前よりもＳＩ検証、タイミング検証、パワー検証において良好な結果が得られないリスクが高くなる。その結果、レイアウトの見直しや、最悪の場合、回路変更（ネットリストの作成）から見直しが必要になるといった手戻りが生じるリスクも高まることとなり、かかる点においても設計期間の増大を招く結果となる。
【００１０】
本発明は、上記した点に鑑みてなされたものであり、半導体集積回路のレイアウト設計において回路変更が生じた場合に変更マスク数を最小限に抑えることにより、開発コストの抑制および開発期間の短縮を実現する半導体集積回路のレイアウト生成装置および半導体集積回路のレイアウト設計方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る半導体集積回路のレイアウト生成装置は集積回路の接続情報に基づいて多層構造を有する半導体集積回路の各層毎の層レイアウトを生成する半導体集積回路のレイアウト生成装置であって、前記集積回路の接続情報の入力を受け付ける接続情報入力手段と、前記接続情報とは異なる他の集積回路の接続情報に基づいて生成された基準レイアウトに対応する基準レイアウトデータの入力を受け付ける基準レイアウトデータ入力手段と、入力された接続情報に基づいて、前記基準レイアウトを構成する少なくとも１つの層レイアウトに対してレイアウト変更を行って新たなレイアウトを生成する変更レイアウト生成手段と、前記変更レイアウト生成手段がレイアウト変更を行うべき前記基準レイアウトの少なくとも１つの層レイアウトを指定する変更可能層指定手段と、を含み、前記変更レイアウト生成手段は、前記変更可能層指定手段によって指定された層レイアウトに対してのみレイアウト変更を行うことを特徴とする半導体集積回路のレイアウト生成装置。
【００１２】
また、本発明に係る半導体集積回路のレイアウト設計方法は、集積回路の接続情報に基づいて多層構造を有する半導体集積回路の各層毎の層レイアウトを設計する半導体集積回路のレイアウト設計方法であって、集積回路の接続情報の入力を受け付ける接続情報入力ステップと、前記接続情報とは異なる他の接続情報に基づいて生成された基準レイアウトに対応する基準レイアウトデータの入力を受け付ける基準レイアウトデータ入力ステップと、入力された接続情報に基づいて、前記基準レイアウトを構成する少なくとも１つの層レイアウトに対してレイアウト変更を行って新たなレイアウトを生成する変更レイアウト生成ステップと、前記変更レイアウト生成ステップにおいて、レイアウト変更を行うべき少なくとも１つの層レイアウトを指定する変更可能層指定ステップと、を含み、前記変更レイアウト生成ステップは、前記変更可能層指定ステップにおいて指定された層レイアウトに対してのみレイアウト変更を行うステップであることを特徴とする半導体集積回路のレイアウト設計方法。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施例について図面を参照しつつ説明する。尚、以下に示す図において、実質的に同一又は等価な構成要素又は部分には同一の参照符を付している。
【００１４】
（第１実施例）
図２は本発明の第１実施例に係る半導体集積回路のレイアウト生成装置の構成を示すブロック図である。回路接続情報入力部１０は、既に作成された集積回路の端子間の接続情報（ネットリスト）の入力を受け付け、これを装置内部に読み込む部分である。回路変更が生じた場合において、変更後のレイアウト設計を行う場合には、回路接続情報入力部１０により、変更後の回路の接続情報の読み込みが行われる。集積回路の接続情報の入力は、例えば作成された集積回路の回路図を入力すること等により行うことができる。入力された集積回路の接続情報は、後述する自動配置配線部３３に供給される。
【００１５】
基準レイアウトデータ入力部２０は、前回作成された回路変更前のレイアウト（以下基準レイアウトと称する）に対応する基準レイアウトデータの入力を受け付ける部分である。基準レイアウトデータ入力部２０は、基準レイアウトデータを記憶した装置外部又は装置内部の記録媒体からデータを読み込むことで、その取り込みを行う。入力された基準レイアウトデータは、後述する自動配置配線部３３に供給される。尚、基準レイアウトとは、多層構造を有する半導体集積回路を構成する複数の層の各層毎のレイアウト（以下、層レイアウトと称する）が組み合わされたものをいう。
【００１６】
変更レイアウト生成部３０は、後述する制約条件指定部３１より指定される制約条件の下で、変更回路の接続情報に基づいて回路変更前の基準レイアウトを構成する少なくとも１つの層レイアウトに対してレイアウト変更を行って、変更回路を反映した１又は２以上の新たなレイアウトの生成を行う。変更レイアウト生成部３０は、制約条件指定部３１、変更マスク抽出部３２、自動配置配線部３３、検証部３４、変更レイアウトデータ保存部３５、選定部３６により構成される。
【００１７】
制約条件指定部３１は、回路変更に伴うマスク変更に関する制約条件の指定を行う部分である。制約条件指定部３１は、例えばユーザからの指示に基づいて、レイアウト変更を行う際の変更マスクの許容枚数や、変更可能なマスク名を直接指定することで、レイアウト生成を行う際の制約条件を与える。
【００１８】
変更マスク抽出部３２は、制約条件指定部３１により指定された制約条件を満たす変更マスクの組み合わせの全てを抽出し、抽出した組み合わせを自動配置配線部３３に供給する。
【００１９】
自動配置配線部３３は、ＥＤＡ（Electronic Design Automation）の一部であって、内部プログラムによりマクロセルの接続情報（すなわち論理回路の設計結果）に基づいて、マクロセルを自動配置し、各セル間に自動配線を行うことにより半導体チップ上のレイアウトを自動生成する。自動配置配線部３３は、回路接続情報入力部１０および基準レイアウトデータ入力部２０より供給される集積回路の接続情報（ネットリスト）および回路変更前の基準レイアウトデータに基づいて、基準レイアウトを構成する少なくとも１つの層レイアウトに対してレイアウト変更を行う。このとき、自動配置配線部３３は、変更マスク抽出部３２から与えられる変更マスクの組み合わせの各々に基づいてレイアウト変更を行う層を限定してレイアウト生成を行う。
【００２０】
検証部３４は、自動配置配線部３３より生成された変更回路のレイアウトについてタイミング検証、ＳＩ検証、パワー検証を行い、各検証項目について要求スペックを満たすか否かを判断し、検証結果のレポートを作成する。
【００２１】
変更レイアウトデータ保存部３５は、自動配置配線部３３により生成された変更回路のレイアウトのうち、検証部３４による検証の結果、要求スペックを満たすものを変更レイアウトデータとして内部の記録媒体に保存する。
【００２２】
選定部３６は、変更レイアウトデータ保存部３５に２以上の変更レイアウトデータが保存されている場合にそのうちの１つを選定する。選定部３６は、例えばユーザの指示に基づいて変更レイアウトデータの選定を行う。
【００２３】
出力部４０は、選定部３６によって選定された変更レイアウトデータを変更マスクデータとして出力する部分である。
【００２４】
図３は、半導体集積回路のレイアウト設計において回路変更が生じた場合に、上記した構成を有する本発明のレイアウト生成装置が変更回路を反映した新たなレイアウトを生成し、変更マスクデータを得るまでの各処理を示すフローチャートである。
【００２５】
まず、基準レイアウトデータ入力部２０は、回路変更前の前回のレイアウトデータを基準レイアウトデータとして読み込む（ステップＳ１０）。読み込まれた基準レイアウトデータは、自動配置配線部３３によるレイアウト生成の際のベースとして使用され、基準レイアウトに対して変更、修正を加える形で変更回路のレイアウトが生成されることとなる。
【００２６】
次に、回路接続情報入力部１０は、回路図の入力等の方法により変更回路の接続情報（ネットリスト）の入力を受付け、その読み込みを行う（ステップＳ２０）。
【００２７】
次に、変更レイアウト生成部３０は、読み込んだ基準レイアウトを構成する層レイアウトに対して、指定された制約条件の下で変更回路の接続情報（ネットリスト）に基づいてレイアウト変更を行って、変更回路を反映した新たなレイアウトを生成する（ステップＳ３０）。
【００２８】
次に、出力部４０は、変更レイアウト生成部３０によって生成された新たなレイアウトを変更マスクデータとして出力する（ステップＳ４０）。
【００２９】
図３は、図２のステップＳ３０において行われる変更回路のレイアウト生成処理をより具体的に示したフローチャートである。
【００３０】
ここでは理解を容易にするために具体例を挙げて説明することとする。回路変更の対象となる半導体集積回路は、例えば３層からなる第１〜第３メタル配線層を有し、第１メタル配線層と第２メタル配線層とを繋ぐ第１ビア層、第２メタル配線層と第３メタル配線層とを繋ぐ第２ビア層、第１メタル配線層と半導体層とを繋ぐコンタクト層を有しているものとする。本発明のレイアウト生成装置は、かかる構造の半導体集積回路において回路変更が生じた場合に、変更内容に応じてコンタクト層、各メタル配線層および各ビア層のいずれか１つ以上の層についてレイアウト変更を行い、変更マスクデータを生成する。つまり、レイアウト変更は、各層毎に行われ、各層毎に変更マスクの作成がなされる。この具体例の場合においては、コンタクト層、第１メタル配線層、第２メタル配線層、第３メタル配線層、第１ビア層、第２ビア層がレイアウト変更の対象となり、レイアウト変更に伴ってコンタクトマスク、第１メタルマスク、第２メタルマスク、第３メタルマスク、第１ビアマスク、第２ビアマスクのいずれか１つ以上のマスクデータが新たに生成されることとなる。
【００３１】
上記ステップＳ３０の変更回路のレイアウト試行処理においては、制約条件指定部３１が、レイアウト変更に伴うマスク変更に関する制約条件の設定を受け付ける（ステップＳ３１）。制約条件指定部３１は、ユーザの指示に基づいて例えば上記６枚のマスクのうち変更可能なマスクの数（すなわち、レイアウト変更を行う層数）を予め指定したり、変更するマスク名（すなわち、レイアウト変更を層）を直接指定することにより、レイアウト生成する際の制約条件を与える。
【００３２】
変更マスク抽出部３２は、制約条件指定部３１によって指定された制約条件を満たす変更マスクの組み合わせを抽出する。例えば、ステップＳ３１において、レイアウト変更に際して変更可能なマスク数を３枚にすべき制約条件が指定された場合には、変更マスク抽出部３２は、この制約条件に基づいて上記６枚のマスクのうち変更対象とする３枚を選択する全ての組み合わせを抽出する。すなわち、変更マスク抽出部３２は図５に示す２０通りの変更マスクの組み合わせを抽出する。変更マスク抽出部３２は抽出した２０通りの組み合わせを自動配置配線部３３に供給する（ステップＳ３２）。変更マスク抽出部３２によって抽出される変更マスクの組み合わせの各々は、自動配置配線部３３が変更回路のレイアウト生成を行う際に回路変更前の基準レイアウトに対してレイアウト変更を行うことができる層を指定するものである。
【００３３】
尚、変更マスク抽出部３２は、ステップＳ３１において制約条件の設定がなされなかった場合、すなわち、レイアウト変更に際して変更可能なマスク数の指定や変更するマスク名の指定等がなされなかった場合には、想定し得る全ての変更マスクの組み合わせを抽出し、抽出した各組み合わせを自動配置配線部３３に供給する。つまり、この場合、変更マスク抽出部３２は、全６層のうち１層のみを変更する６通り、全６層のうち２層を変更する１５通り、全６層のうち３層を変更する２０通り、全６層のうち４層を変更する１５通り、全６層のうち５層を変更する６通り、６層全てを変更する１通りの変更マスクの組み合わせを抽出する。
【００３４】
次に、自動配置配線部３３は、読み込んだ変更回路の接続情報（ネットリスト）、基準レイアウトデータに基づいて変更回路のレイアウト生成を試行する。この際、自動配置配線部３３は、与えられた制約条件を満たすべく変更マスク抽出部３２より抽出された変更マスクの組み合わせの各々によって示されるレイアウト変更を行うことができる層についてのみレイアウト変更を試行する。例えば、変更マスク抽出部３３により変更マスクの組み合わせとして「コンタクト、第１メタル、第１ビア」が与えられた場合には、自動配置配線部３３は、コンタクト層、第１メタル層、第１ビア層についてのみレイアウト変更を試行し、かかる制約の下で変更回路を反映したレイアウト生成を試行する。これら以外の他の層についてはレイアウト変更は行わず基準レイアウトの状態を維持する。変更マスク抽出部３２より与えられる変更マスク組み合わせ（例えばコンタクト、第１メタル、第１ビア）では、変更回路の接続状態を反映することができない等、回路変更を達成できない場合には、レイアウト生成は行わない（ステップＳ３３）。自動配置配線部３３は、変更マスク抽出部３２により抽出された変更マスクの組み合わせの全て（例えば図５に示す２０通りの組み合わせ）について順次レイアウト生成を試行する。自動配置配線部３３がレイアウト生成を行う際には、変更回路の接続情報（ネットリスト）に従って、回路変更前の基準レイアウトに対してセルの追加、削除、配置変更等の配置変更処理を先行して行い、その後配線の追加、削除、経路変更などの配線変更処理を行う。
【００３５】
尚、ステップＳ３１において制約条件の設定がなされなかった場合には、変更マスク抽出部３２により抽出された変更マスクの全組み合わせのうち、変更マスクの数が少ない組み合わせから順に自動配置配線処理が行われる。すなわち、自動配置配線処理部３３は、１層のみ変更する６通りの組み合わせについてレイアウト生成を試行し、続いて２層を変更する１５通りの組み合わせについてレイアウト生成を試行し、最後に全６層を変更する組み合わせについてレイアウト生成を試行する。ただし、自動配置配線部３３により追加、削除等されるべきセル内にメタル配線が存在する場合や、配線の経路変更や削除等がなされるべき配線が存在することにより、レイアウト変更が必要となる層が必然的に定まる場合には、その層を含む組み合わせから順にレイアウト生成を行う。
【００３６】
ここで図６（ａ）〜（ｃ）に自動配置配線部３３により行われるレイアウト変更処理の具体的な態様を示す。図６（ａ）は、回路変更前のレイアウトを示している。セル５１０は、第１メタル層のピン５０３と、第２メタル層の内部配線５０２と、第１メタル層の内部配線５０１を有する。ピン５０３には第１メタル層の配線５０４が接続され、図中横方向に伸張している。配線５０４は第１ビア層のビアプラグ５０８を介して図中縦方向に伸長する第２メタル層の配線５０５に接続されている。配線５０５は第２ビア層のビアプラグ５０９を介して図中横方向に伸張する第３配線層の配線５０６に接続されている。また、セル５１０の上方を第２メタル層の配線５０７が図中縦方向に通過している。
【００３７】
図６（ｂ）は、自動配置配線部３３により、配置変更処理が行われた後のレイアウトを示している。回路変更前のレイアウトと比較すると、第１メタル層のピン５０３が図中右方向にシフトしてセルの面積が拡大している。これに伴って、第１メタル層の配線５０４が冗長配線となっている。また、第２メタル層の内部配線５０２は図中左方向にシフトしている。これに伴って、第２メタル層の配線５０７と内部配線５０２とが短絡状態となっている。
【００３８】
図６（ｃ）は、自動配置配線部３３により、配線変更処理が行われた後のレイアウトを示している。第２メタル層の配線５０７は、第２メタル層の内部配線５０２を迂回するように経路変更がなされ、上記の短絡の問題を解消している。また、第１メタル層の配線５０４は余分なセグメントが削除され、上記の冗長配線の問題を解消している。図６に示す例において、上記の如きレイアウト変更に伴って変更が必要となる層は、第１メタル層、第２メタル層、第１ビア層であり、コンタクト層、第２ビア層、第３メタル層についてはレイアウト変更を行っていない。つまり、図６に示すレイアウト変更は、図５における１１番目の変更マスクの組み合わせによって示される制約条件の下でレイアウト生成を行った例である。
【００３９】
レイアウト生成処理が完了すると、検証部３４は、生成されたレイアウトについてタイミング検証、ＳＩ検証、パワー検証を行い、検証結果についてレポートを作成する（ステップＳ３４）。
【００４０】
検証部３４による各種検証の結果、全ての検証項目において要求スペックが満たされている場合には、生成されたレイアウトは、検証レポートとともに変更レイアウトデータとして変更レイアウトデータ保存部３５に保存される。一方、検証の結果、問題が確認された場合にはそのレイアウトは保存されない（ステップＳ３５）。
【００４１】
次に、自動配置配線部３３は、変更マスク抽出部３２より抽出された全ての変更マスクの組み合わせについてレイアウト生成を試行した否かの判断を行う（ステップＳ３６）。全ての変更マスクの組み合わせについてレイアウト生成の試行が完了していない場合には、ステップＳ３３に戻り、新たな変更マスクの組み合わせについてレイアウト生成を試行する。例えば、図５に示す１番目の変更マスクの組み合わせに（コンタクト、第１メタル、第１ビア）ついてレイアウト生成、検証、変更レイアウトデータの保存の一連の処理が完了した場合には、これに続いて２番目の変更マスクの組み合わせ（コンタクト、第１メタル、第２メタル）についても同様の処理を実施する。かかる一連の処理は、変更マスク抽出部３２より抽出された全ての変更マスクの組み合わせについて処理が完了するまで繰り返し実行される。
【００４２】
図７は、変更レイアウト生成部３０が図５に示す変更マスクの組み合わせの各々についてレイアウト生成を試行した結果を例示したものである。図７の例においては、自動配置配線部３３は、２番目と１１番目の変更マスクの組み合わせにおいて、変更回路の接続状態を反映した配置配線処理を行うことができたことを示しており、他の組み合わせにおいては、変更回路の接続状態を反映したレイアウトを生成することができなかったことを示している。また、図７には、生成された２つのレイアウトについてタイミング検証、ＳＩ検証、パワー検証が行われ、２番目の組み合わせにおいては、タイミングスペックを満たすことができなかったことが示されている。一方、１１番目の組み合わせにおいては、全ての検証項目において要求スペックを満たすことができたことが示されている。尚、レイアウト生成を行うことができなかったものについては、その後の検証処理は行われない。すなわち、この図７に示す例においては、変更マスクの枚数を３枚とする制約条件の下でレイアウトの生成を試行した結果、図５の１１番目に示す変更マスクの組み合わせで電気特性の要求スペックをも満たす回路変更が実現できたことが示されている。この１１番目の変更マスクの組み合わせにおいて生成されたレイアウトは、変更レイアウトデータとして変更レイアウトデータ保存部３５に保存される。
【００４３】
変更レイアウトデータ保存部３５には、指定された制約条件を満たし、変更回路の接続状態を反映し、各種検証を行った結果要求スペックを満たす変更レイアウトデータが、繰り返し実行されるステップＳ３３からステップＳ３６の処理を通じて順次保存されていくこととなる。変更レイアウトデータ保存部に２以上の変更レイアウトデータが保存されている場合には、選定部３６は、いずれか１つを選定する選定指示を受け付ける（ステップＳ３７）。選定部３６は、例えばユーザからの選定指示に基づいて変更レイアウト保存部に保存された２以上の変更レイアウトデータのうちから１つを選定する。
【００４４】
出力部４０は、選定指示に基づいて、変更レイアウトデータ保存部３５に保存されている変更レイアウトデータのうちの１つを抽出し、これを変更マスクデータとして出力する。変更マスクデータは、基準レイアウトに対してレイアウト変更を行った層のレイアウトのみによって構成されるので、図１に示す従来例の如きマスク差分抽出工程は省略することができる。つまり、本発明のレイアウト生成装置から出力される変更マスクデータは、変更マスクを発注する際にそのまま使用することができる。
【００４５】
尚、ステップＳ３１において制約条件の設定がなされなかった場合には、変更マスクの枚数等についての制約が課されることなく変更回路のレイアウト生成が試行され、各種検証を行った結果、要求スペックを満たす１又は２以上のレイアウトデータがレイアウトデータ保存部３５に保存されることとなる。この場合、ユーザは、ステップＳ３７の選定ステップにおいは、変更マスクの枚数が最も少ないレイアウトを選定したり、回路の仕様を考慮してタイミング、パワー、ＳＩのどれを優先するかによって検証結果のレポートを参照した上でレイアウトを選定することが可能である。
【００４６】
以上の説明から明らかなように、本発明のレイアウト生成装置およびこれを用いた半導体集積回路の設計方法によれば、回路変更が生じ、新たにレイアウト設計行う際に、変更マスクの枚数等について予め制約を設け、設定された制約の範囲内でレイアウト生成を試行するようにしたので、回路変更に伴う変更マスクの枚数を最小限に抑えることが可能となる。その結果、マスク費用の抑制および開発期間の短縮を図ることが可能となる。
【００４７】
また、指定された制約条件を満たす全ての変更マスクの組み合わせについてレイアウト生成を試行し、検証、レイアウトデータの保存までの処理を一括して行うこととし、配線処理、各種検証項目をクリアしたレイアウトのみを抽出することとしたので、かかる一連の処理を実行した後に前の工程に戻って再度レイアウトの見直しを行うといった手戻りがないので、作業の効率化を図ることができる。
【００４８】
また、レイアウト変更を行う層は、予め制約条件として設定しており、許容された層についてのみレイアウト変更を行い、レイアウト変更を行った層についてのみ変更マスクデータとして出力するように構成したので、従来の回路変更フローで実行されていたマスク差分抽出工程の削減も可能となり、変更マスクの発注作業も容易となる。
【００４９】
（第２実施例）
図８は、本発明の第２実施例に係る半導体集積回路のレイアウト生成装置の構成を示すブロック図である。上記した第１実施例に係るレイアウト生成装置では、変更マスク抽出部３２によって抽出された変更マスクの組み合わせについて、自動配置配線部３３が１つずつレイアウト生成を行い、検証部３４が作成されたレイアウトに対して１つずつ検証を行い、かかる一連の処理を抽出されたすべての組み合わせについて順次繰り返す構成となっていた。これに対して第２実施例に係る装置では、抽出された複数の変更マスクの組み合わせについて並行処理を行う構成となっている。
【００５０】
すなわち、本実施例に係る変更レイアウト生成部３０´は、３つの自動配置配線部３３ａ、３３ｂ、３３ｃと、これらの各々に対応する３つの検証部３４ａ、３４ｂ、３４ｄと、を有する。自動配置配線部３３ａ、３３ｂ、３３ｃは、変更マスク抽出部３２により抽出された複数の変更マスクの組み合わせについて、それぞれ分担して並行してレイアウト生成を試行する。検証部３４ａ、３４ｂ、３４ｃは、自身に対応する自動配置配線部により生成されたレイアウトについてそれぞれ並行して各種検証処理を行い、その結果についてレポートを作成する。
【００５１】
各検証部３３ａ、３３ｂ、３３ｃによる検証の結果、要求スペックを満たすレイアウトデータは、第１実施例の場合と同様、変更レイアウトデータ保存部３５に保存される。
【００５２】
自動選定部３６´は、レイアウトデータ保存部３５に２つ以上のレイアウトデータが存在する場合に、予め定められた所定の項目（例えば、配線バイオレーション、変更マスク数、タイミング、ＳＩ、パワー等）についての優先順位に従って、最も適切なレイアウトデータを１つ選定する。つまり、自動選定部３６´は、ユーザの指示によらず生成された２以上のレイアウトについての検証部による結果に基づいて自動で選定を行う。更に、自動選定部３６´は、選定されなかったレイアウトデータについてはレイアウトデータ保存部３５から消去して、変更レイアウトデータ保存部３５の記録領域を確保する。
【００５３】
出力部４０は、自動選定部３６´による選定結果に基づいて、レイアウトデータ保存部３５に保存されているデータのうちの１つを抽出してこれを変更マスクデータとして出力する。
【００５４】
このように、第２実施例のレイアウト生成装置によれば、１つの変更マスクの組み合わせについての一連の処理が完了するのを待つことなく、複数の変更マスクの組み合わせについて並行して処理を行うこととしたので、レイアウト変更の設計時間を大幅に短縮させることが可能となる。
【００５５】
尚、図８において並行処理を行う自動配置配線部および検証部をそれぞれ３つとしたが、これに限定されるものではなく、変更マスクの組み合わせの規模等に応じて適宜増減することが可能である。並行処理を行う構成部分、すなわち、自動配置配線部３３ａ〜３３ｃおよび検証部３４ａ〜３４ｃと、自動選定部３６´以外の構成部分については、第１実施例の装置と同様であるのでその説明については省略する。
【図面の簡単な説明】
【００５６】
【図１】回路変更が生じた場合の従来の設計変更手順を示すフローチャートである。
【図２】本発明の実施例である半導体集積回路のレイアウト生成装置の構成を示すブロック図である。
【図３】本発明の実施例であるレイアウト生成装置の動作を示すフローチャートである。
【図４】本発明の実施例であるレイアウト生成装置の動作を示すフローチャートである。
【図５】本発明の実施例である変更マスク抽出部により抽出された変更マスクの組み合わせの一例である。
【図６】本発明の実施例であるレイアウト生成装置によるレイアウト変更処理の具体的態様を示す図である。
【図７】本発明の実施例であるレイアウト生成装置によりレイアウト生成を試行した結果の一例を示す図である。
【図８】本発明の他の実施例である半導体集積回路のレイアウト生成装置の構成を示すブロック図である。
【符号の説明】
【００５７】
１０  回路接続情報入力部
２０  基準レイアウトデータ入力部
３０  変更レイアウト生成部
３１  制約条件指定部
３２  変更マスク抽出部
３３  自動配置配線部
３４  検証部
３５  変更レイアウトデータ保存部
３６  選定部
４０  出力部
【図１】
2009283657.tif 000003
【図２】
2009283657.tif 000004
【図３】
2009283657.tif 000005
【図４】
2009283657.tif 000006
【図５】
2009283657.tif 000007
【図６】
2009283657.tif 000008
【図７】
2009283657.tif 000009
【図８】
2009283657.tif 000010