(57)【特許請求の範囲】
【請求項１】
ａ）半導体装置中の回路構成要素の配置を表す物理レイアウトを準備する工程と、
ｂ）前記物理レイアウト中、少なくとも位相が干渉して所定の設計ルールに合致しない矛盾個所を検出する工程と、
ｃ）前記物理レイアウトをグラフ化する工程であって、
ｃ−１）前記物理レイアウトから回路素子、回路素子外のコンタクト、および配線の分岐点と端点からなるノードと、ノード間を接続するブランチとを検出する工程と、
ｃ−２）ノードとブランチをグラフ化する工程と、
ｃ−３）前記ブランチに一定のルールに従って向きを付与する工程と、
を含む工程と、
ｄ）グラフ中の矛盾個所を解消する工程であって、
ｄ−１）グラフ中のノードの矛盾個所を解消する工程と、
ｄ−２）ブランチにベクトルを挿入する工程を含み、グラフ中のブランチの矛盾個所を解消する工程と、
を含む工程と、
ｅ）でき上がったグラフを物理レイアウトへ変換する工程と
を含む半導体装置のレイアウト変更方法。
【請求項２】
前記工程ｄ−２）が、２つのグラフから１つのグラフを発生させる工程を含む請求項１記載の半導体装置のレイアウト変更方法。
【請求項３】
前記２つのグラフから１つのグラフを発生させる工程が、共通のある箇所で各グラフを分割し、各グラフの分割した異なる部分を結合する工程を含む請求項２記載の半導体装置のレイアウト変更方法。
【請求項４】
前記２つのグラフから１つのグラフを発生させる工程が、２つのグラフの対応するブランチの平均化を行う工程を含む請求項２記載の半導体装置のレイアウト変更方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は半導体装置の製造方法に関し、特に微細パターンを有する半導体装置の製造方法に関する。
【０００２】
【従来の技術】
半導体装置等のホトリソグラフィにおいて、ホトマスク上の微細パターンをホトレジスト上に転写する技術が用いられている。パターンが露光波長と同程度の寸法になるとパターン形状に対して、光の回折、干渉が無視できなくなる。たとえば隣接する開口間の距離が短くなると、各開口を通過した光が回折によって拡がり、開口間の領域等で互いに干渉して露光レベルを持ち上げてしまう。この結果、隣接する開口を分解できなくなる。
【０００３】
このような問題を解決する１つの方法として、たとえばレベンソン型位相シフトマスクが提案されている。隣接する開口の一方に位相差π（ラジアン）を生じさせる位相シフタを配することにより、隣接する開口を通過する光の位相を逆位相とする。すると回折干渉する光の位相が互いに逆位相となり、合成光の強度を弱める。この結果、隣接する開口を分解できるようになる。
【０００４】
ところでレベンソン型位相シフトマスクには大きな制約がある。３つの開口Ａ、Ｂ、Ｃが互いに隣接している場合、Ａに対してＢとＣを逆位相とすると、ＢとＣは必然的に同位相となってしまう。すなわち全ての隣接する開口を逆位相にすることは理論的に不可能である。
【０００５】
そこで、このような矛盾個所に設計変更を行うことが必要になる。ＬＳＩは、通常極めて多くの回路素子をできるだけ狭い面積内に配置している。１つの設計変更は他にも影響を与え、複数個所の設計変更を行おうとすると莫大な数の選択肢が生じる。また、１つの設計変更が全体として良い結果を生むか悪い結果になるか予測することも困難である。
【０００６】
設計者がマニュアルで設計変更を行おうとすると、経験、知識に加え、長時間の作業が必要である。ＣＡＤメーカが半自動的に設計変更を行う簡易ツールを提供しているが、簡易ツールを利用するためにはそのためのデータを別に作成せねばならず、多くの工数も必要である。
【０００７】
【発明が解決しようとする課題】
半導体装置の物理レイアウトに矛盾箇所が存在する場合、設計変更を自動的に行って矛盾個所を解消することが望まれている。
【０００８】
本発明の目的は、半導体装置の物理レイアウトの矛盾個所を自動的に解消することの可能な半導体装置のレイアウト変更方法を提供することである。
【０００９】
【課題を解決するための手段】
本発明の一観点によれば、
ａ）半導体装置中の回路構成要素の配置を表す物理レイアウトを準備する工程と、
ｂ）前記物理レイアウト中、少なくとも位相が干渉して所定の設計ルールに合致しない矛盾個所を検出する工程と、
ｃ）前記物理レイアウトをグラフ化する工程であって、
ｃ−１）前記物理レイアウトから回路素子、回路素子外のコンタクト、および配線の分岐点と端点からなるノードと、ノード間を接続するブランチとを検出する工程と、
ｃ−２）ノードとブランチをグラフ化する工程と、
ｃ−３）前記ブランチに一定のルールに従って向きを付与する工程と、
を含む工程と、
ｄ）グラフ中の矛盾個所を解消する工程であって、
ｄ−１）グラフ中のノードの矛盾個所を解消する工程と、
ｄ−２）ブランチにベクトルを挿入する工程を含み、グラフ中のブランチの矛盾個所を解消する工程と、
を含む工程と、
ｅ）でき上がったグラフを物理レイアウトへ変換する工程と
を含む半導体装置のレイアウト変更方法
が提供される。
【００１０】
物理レイアウトそのものをグラフ化することにより、新たなデータを作成することなく、設計変更の自動化が可能となる。計算機シュミレーション等により、より良いレイアウトを見い出すことができる。十分改善された結果を得た時には、得られたグラフを物理レイアウトに変換すればよい。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の実施例を説明する。なお、レベンソン型位相シフトマスクのシフター配置に対する設計変更を行う場合を例に取って説明するが、本発明はこれに限られるものではない。
【００１２】
図１は、本発明の実施例による半導体装置の設計変更方法の全体を概略的に示すフローチャートである。
【００１３】
先ず、位相シフトマスクを用いて製造する半導体装置のレイアウトがＣＡＤ等により作成されたとする。このレイアウトは一次的なものであり、未だ矛盾箇所を含むものである。
【００１４】
ステップＳ１において、所定のデザインルールに基づき、作成されたレイアウトを検査し、設計変更すべき矛盾箇所を検出する。例えば、レベンソンマスクの隣接する開口対は、同位相なら０．５μｍ以上、逆位相なら０．３μｍ以上離隔させる規則を適用する。デザインルールとしては、他に配線の幅や間隔などがあり得る。
【００１５】
ステップＳ１の検出工程が終了すると、この物理レイアウト中設計変更すべき矛盾箇所が洗い出される。
【００１６】
図２は、物理レイアウト中に存在し得る矛盾箇所の例を示す。
図２（Ａ）は、同一の層に属する３つのパターンの配置例を示す。パターン  Ｌ１にパターンＬ２およびＬ３が直交する形で配置され、これらのパターンＬ２、Ｌ３が互いに平行に配置されている。これらのパターンＬ１、Ｌ２、Ｌ３は互いに最小間隔、たとえば０．３μｍで配置されている。
【００１７】
パターンＬ１を位相０とし、パターンＬ２を位相πに設定する。パターンＬ３を位相０に設定すると、パターンＬ２とＬ３とは逆位相となるが、パターンＬ１とＬ３とは同位相となってしまう。このため実線のハッチングで示した領域がレベンソン型位相シフトマスクとしては矛盾箇所となる。
【００１８】
パターンＬ３を位相πに設定し、パターンＬ２を位相０に設定すれば、今度はパターンＬ２とＬ１の間の領域が矛盾箇所となる。パターンＬ２とＬ３とを共に位相πに設定すれば、これらのパターンとパターンＬ１との間の領域には矛盾箇所が発生しないが、パターンＬ２とＬ３との間の領域が矛盾箇所となってしまう。
【００１９】
１本のパターンＬ１に２本のパターンＬ２、Ｌ３が近接配置される場合を説明したが、１本のパターンに３本以上のパターンが近接配置される時も同様の問題が生じる。
【００２０】
このように、互いに隣接する３つのパターンがある場合、隣接する対のパターンを全て逆位相の関係に設定することは不可能である。逆位相のパターンであれば、０．３μｍの間隔に配置できるパターンも同位相となると０．５μｍの間隔に配置しなければならない。そのために設計変更を行うこととなる。
【００２１】
図２（Ｂ）は、途中で分岐するパターンの分岐間の問題を示す。パターンＬ４は、ある点でパターンＬ４１とＬ４２とに分岐する。これらの分岐パターンＬ４１とＬ４２とが互いに近接している領域においては、矛盾箇所が発生する。
【００２２】
図２（Ｃ）は、Ｕ字型のパターンＬ５の２つの垂直な腕の間に、２つのパターンＬ６とＬ７が配置された構成を示す。パターンＬ５を位相０に設定し、パターンＬ６を位相π、パターンＬ７を位相０に設定すると、パターンＬ５とＬ７との間が矛盾箇所となる。
【００２３】
パターンＬ６とＬ７の位相を反転すれば、パターンＬ５とＬ６の間に矛盾箇所が発生する。パターンＬ６とＬ７を共に位相πに設定すれば、パターンＬ６とＬ７の間が矛盾箇所となる。この関係は、図２（Ａ）の場合と同様である。
【００２４】
図１のステップＳ１においては、上述のような物理レイアウト中の矛盾箇所を検出し、これらの箇所の設計変更を行うことを決定する。
【００２５】
ステップＳ２においては、設計変更を行うため、まず物理レイアウトの構成要素の検出を行う。
【００２６】
図３（Ａ）は、物理レイアウトの１部の構成例を示す。図中上方には並列トランジスタＴｒ１が配置され、下方にはダブルゲートのトランジスタＴｒ２が配置されている。トランジスタＴｒ１は、中央にドレイン領域を構成する拡散層が配置され、その両側に多結晶（ポリ）シリコンのゲート電極を介して２つのソース領域を構成する拡散層が配置されている。
【００２７】
ソース領域、ドレイン領域の拡散層の上にはメタル配線層が配置され、各々４つのコンタクトを介して拡散層に電気的に接続されている。２つのソース領域は、上方に引き出され、コンタクトＣ１、Ｃ２を介して水平方向に延びるメタル配線Ｍ２に接続されている。
【００２８】
ドレイン領域に接続された金属配線Ｍ５は下方に引き出された後右方に曲げられ、コンタクトＣ３を介してポリシリコン電極Ｐ５に接続されている。
【００２９】
並列トランジスタＴｒ１の２つのゲート電極は下方に引き出され、間隔を狭めてトランジスタＴｒ２内に配置されている。これら２つのゲート電極を挟むように、ソース領域、ドレイン領域を構成する拡散層が形成されている。なお、２つのゲート電極の間の領域にも拡散層が形成されている。
【００３０】
トランジスタＴｒ２のドレイン領域は、３つのコンタクトを介してその上のメタル配線に接続されている。このメタル配線がトランジスタＴｒ２外のメタル配線Ｍ６となってトランジスタＴｒ１のドレイン領域に接続されたメタル配線Ｍ５と接続されている。
【００３１】
ソース領域の拡散層は、そのまま下方に延在し、拡散層Ｆ３を構成している。この拡散層上にはソース領域上のメタル配線と接続されたメタル配線Ｍ７が配置され、コンタクトＣ４で拡散層Ｆ３と接続されている。コンタクトＣ４から右方に、メタル配線Ｍ８が延在している。また、２つのゲート電極は下方に引き出され、メタル配線Ｍ８の下を通るポリシリコン配線Ｐ３とＰ４を構成している。
【００３２】
図３（Ｂ）は、図３（Ａ）に示す物理レイアウトをグラフ化した構成を示す。グラフは、図中丸で示すノードと線分で示すブランチで構成される。ノードは、トランジスタ、コンタクト、または配線の端点（分岐点を含む）を表す。すなわち、物理レイアウト中の回路構成素子、異なる層間のコンタクトおよび配線の端点がノードとなる。トランジスタ等の回路構成素子は、その内部の層構造やコンタクトを含めて１つのノードとして扱う。ノード間を接続する配線はブランチを構成する。
【００３３】
図３（Ｂ）に示すグラフ化は、図３（Ａ）に示す物理レイアウトを判別することにより自動的に行うことができる。たとえば、ポリシリコンパターンを挟んで拡散層が配置されている領域は、トランジスタＴｒのノードと判別すればよい。トランジスタ外の領域におけるコンタクトは、コンタクトを構成するノードと判別される。
【００３４】
トランジスタ、コンタクト外の領域における配線の端点は、配線の端点を構成するノードと判別される。配線中に分岐が存在する場合も、分岐が配線の端点と扱えるため、仮想的にノードと識別される。但し、配線の分岐は、他のノードとは取り扱いを別にすることが好ましい。たとえば、仮想ノードとし、他の正常ノードとは区別する。
【００３５】
検出したノードには、そのノードの情報を付随させる。たとえば、ノードの表すオブジェクト（トランジスタ、コンタクト、配線の端点等）の座標を含むデータと、ノードに直接つながっているブランチのデータを付随させる。ノード内の座標は、全てノードの代表点（たとえば重心座標）を原点とした相対座標で表す。また、レベンソン型位相シフトマスク等の場合、各パターンがどの層に属するかは重要な情報である。
【００３６】
ノードの表すオブジェクトのデータとしては、構成要素の層、構成要素の座標等がある。また、ノードに直接接続されているブランチのデータは、接続点の識別子、接続点の相対座標、接続されているブランチの識別子を含む。
【００３７】
ブランチは、ノード間を接続する配線情報である。ブランチの情報は、配線の両端のノードと接続点の識別子等の他、配線の方向を示すベクトル（配線が途中で方向を変えている時は複数のベクトル、なおベクトルの向きは後述の方法で定める）、配線を構成するベクトル毎の太さを含む。
【００３８】
図３（Ａ）に示すような物理レイアウトから、その構成を読み取り、図３（Ｂ）に示すようなグラフに変換する。すなわち、設計変更の工程上、図３（Ａ）に示す物理レイアウトと、図３（Ｂ）に示すグラフとは等価のものとなる。このグラフでは、ブランチは向きを持たない無向ベクトルで表されている。
【００３９】
図３（Ｃ）は、図３（Ａ）、（Ｂ）に示す回路の等価回路である。すなわち、図３（Ａ）、（Ｂ）に示す回路は、図３（Ｃ）に示すようにナンド回路を構成する。入力Ａ、Ｂに応じ、出力端子にＮＡＮＤ出力が発生する。
【００４０】
本実施例においては、設計変更の便宜上、各ブランチに向きを与える。ブランチに向きを与えることにより、各ブランチをベクトルとして扱うことができる。ベクトルの始点を上流、終点を下流とし、１つのベクトルの変更は下流に影響を及ぼすこととする。このような約束により探索空間を小さくすることができる。
【００４１】
図４（Ａ）は、グラフ化の対象とする物理レイアウトの構成例を概略的に示す。便宜的に与えられた原点Ｏを有するｘｙ座標中にトランジスタＴｒ、メタル配線Ｍ、コンタクトＣが配置されているとする。メタル配線ＭとトランジスタＴｒとの接続は、代表点ｒ１＝（０．３、０．７）で表される。同様に、メタル配線ＭとコンタクトＣとの接続は、代表点ｒ２（０．３、０．４）で表される。
【００４２】
図４（Ｂ）は、図４（Ａ）に示す物理レイアウトから読み取ったグラフの構成を示す。トランジスタＴｒを表すノードからコンタクトＣを表すノードまでメタル配線Ｍのブランチが延在している。ここで、メタル配線Ｍと両側のノードとの接続の代表点が、原点Ｏからどの程度離れているかを判別する。図４（Ａ）に示した構成の場合、ベクトルｒ１の大きさはベクトルｒ２の大きさよりも大きい。
【００４３】
ブランチの向きは、たとえば代表点のベクトルの小さな接続位置から代表点のベクトルの大きな接続位置に向かうものとする。このような規則に従えば、ブランチＭは、コンタクトＣからトランジスタＴｒに向かう向きが付与される。
【００４４】
図４（Ｃ）は、このようにして決定された向きを付与されたブランチを示す。すなわち、メタル配線Ｍのブランチは、コンタクトＣからトランジスタＴｒに向かう向きを有する。このようにして、各ブランチに向きを付与する有向化工程が行なわれる。
【００４５】
図５は、物理レイアウトから読み取ったグラフの有向化工程を示す。図５（Ａ）は、物理レイアウトから読み取ったままの、向きのない無向ブランチを含むグラフである。図５（Ｂ）は、上述のような一定の規則により、各ブランチに向きを与えた有向グラフを示す。図１のステップＳ３において、各ブランチに向きを与え、有向グラフを形成する。
【００４６】
図６は、配線（ブランチ）の方向ベクトル表現を説明するための概略図である。図６（Ａ）は、配線の物理レイアウトの例を示す。配線を表すパターンＬは、始点Ｓから下方に一定距離進み、４５度折り曲げられて斜め下方に進み、さらに４５度折り曲げられて水平方向に進み、終点Ｅに至る。配線Ｌは、始点から終点に至るまで０．５（μｍ）の幅を有する。
【００４７】
図６（Ｂ）は、図６（Ａ）に示す物理レイアウトの配線を読み取り、どの様なブランチを作成するか示す。始点Ｓから下方に向かう部分はｘ方向の位置が変わらず、ｙ方向が−１変化する。従って、始点Ｓから下方に向かうベクトルは、（０．０、−１，０）の大きさ（向き）を含むベクトルである。また、配線情報としてこの領域の配線の幅０．５を付与する。
【００４８】
中間領域においては、配線は右下方に進む。この部分において、ｘ座標が−０．７５増加し、ｙ座標が−０．７５変化するとする。すると、この中間領域のベクトルは（０．７５、−０．７５）となる。グラフ中においては、このベクトルの大きさと幅０．５が与えられる。中間領域と終点Ｅを接続する部分は、同様にベクトル（１．０、０．０）と幅０．５によって表現される。
【００４９】
以上の準備工程により、物理レイアウトの有向グラフ化が行なわれ、設計変更の準備が完了する。
【００５０】
続いて、ステップＳ４に示すグラフの最適化を行う。グラフの最適化の例は、後述する。グラフの最適化とは、グラフ化したレイアウトにおいて矛盾箇所をなるべく解消するような処理を指し、必ずしも全ての矛盾箇所の解消を意味しない。
【００５１】
ステップＳ５においては、最適化されたグラフから物理レイアウトへの変換が行われる。すなわち、グラフの状態において最適化処理が行われた後、物理レイアウトに戻される。
【００５２】
ステップＳ６においては、グラフの最適化を行っても解消することのできなかった矛盾箇所、すなわち変更不能箇所、の表示が行われる。これ以後、始めてマニュアルによる設計変更が行われる。
【００５３】
次に、ステップＳ４におけるグラフの最適化工程を説明する。
まず、ノード内の矛盾箇所を解消する。ノード内における矛盾箇所を解消できることは理論的に解明された。
【００５４】
図７は、トランジスタ内の矛盾箇所の回避の例を示す。図７（Ａ）は、ソースＳ、ドレインＤが近接しすぎ、矛盾箇所を発生している状態を示す。
【００５５】
図７（Ｂ）は、矛盾を解消したトランジスタの構成を示す。この例においては、ソースＳとドレインＤの距離を離し、矛盾を解消している。なお、物理レイアウトを作成する際に設計ルールを付加することによりこのような矛盾が生じない物理レイアウトを初めから作成することも可能である。他のノードにおいても、同様の手法により矛盾箇所を解消する。
【００５６】
ノード内の矛盾箇所を解消した後、ノード間を接続するブランチの矛盾箇所を解消する。但し、この工程は完全に矛盾箇所を解消することができるとは限らない。必要に応じてグラフは分割し、分割化した領域毎に矛盾個所を解消する処理を行なう。
【００５７】
グラフ化したレイアウトを改良し、矛盾箇所を解消する際には、以下のような評価に従って行う。
【００５８】
１）変更の結果得られるグラフが設計ルールを満たすこと、
２）変更の結果得れるグラフが元の結線情報を保存していること、
３）変更の結果得られるグラフにおいて、トランジスタのノードのゲート長およびゲート幅が保存されていること、
４）変更の結果得られるグラフにおいて、トランジスタのソース／ドレインの位置関係がなるべく保存されていること、
５）変更の結果得られるグラフにおいて、ブランチの長さはなるべく保存されていること、
６）変更の結果得られるグラフにおいて、ブランチの太さがなるべく保存されていること、および
７）変更の結果得られるグラフにおいて、変更対象の単位としている領域において、端点の座標がなるべく保存されていること。
【００５９】
上述の基準の内、１）、２）、３）の基準は絶対守らなければならない基準である。これに対し、４）〜７）の基準は守ることが好ましい基準である。これらが守られない場合には、一定の評価基準に従ってエラー値を算出することが好ましい。また、配線を示すブランチの内ポリシリコンのブランチとメタル配線のブランチとを異なる評価とすることもできる。
【００６０】
図８は、ブランチすなわち配線の最適化工程を説明するための概略図である。まず、ブランチを表す各ベクトルに付与された太さを設計ルール内で調整し、矛盾箇所を回避する試みを行う。
【００６１】
図８（Ａ）、（Ｂ）は、このような矛盾解消工程を示す概略図である。図８（Ａ）において、パターンＬ１１とパターンＬ１２とが近接し過ぎ、その間の領域が矛盾箇所となっているものとする。
【００６２】
図８（Ｂ）に示すように、設計ルール内においてパターンＬ１１とパターンＬ１２の太さを減少させる。パターンの太さを減少させることにより矛盾箇所が解消した時はその結果を採用する。しかしながら、配線の幅は無制限に減少させることはできず、一定幅以上を有することが要求される。従って、このような操作により解消される矛盾箇所には制限がある。
【００６３】
太さの変更により解消できる矛盾箇所を解消した後、残った矛盾箇所を解消するためにブランチに新たな方向ベクトルを付加する工程を行う。なお、方向ベクトルの向きは、設計ルールにより定められた範囲内で行う。たとえば、ｘ方向とｙ方向のベクトルのみを許す場合や、さらに４５度方向のベクトルを許す場合、全方向のベクトルを許す場合等がある。
【００６４】
図８（Ｃ）〜（Ｆ）は、ブランチへのベクトルの挿入で矛盾箇所を回避する工程を概略的に示す。
【００６５】
図８（Ｃ）は、矛盾箇所を有するブランチのレイアウトの構成例を示す。パターンＬ１３、Ｌ１４、Ｌ１５は、連続して一つの配線を構成し、パターンＬ１３とＬ１５とが近接し過ぎており矛盾箇所を発生させている。
【００６６】
図８（Ｄ）は、図８（Ｃ）をグラフ化した状態を示す。パターンＬ１３〜Ｌ１５に対応し、ベクトルＶ１３〜Ｖ１５が形成されている。
【００６７】
図８（Ｅ）は、図８（Ｄ）に示すグラフに、ベクトルＶ１４とＶ１５との間にベクトルＶ２０を挿入した状態を示す。ベクトルＶ２０の始点は、ベクトルＶ１４の終点に接続され、ベクトルＶ２０の終点に次のベクトルｖ１５の始点が接続される。従って、ベクトルＶ１５は右方に移動されている。ベクトルＶ２０がベクトルＶ１４と逆方向であれば、ベクトルＶ１５は左方に移動されることになる。
【００６８】
図８（Ｆ）は、図８（Ｅ）に示すグラフを物理レイアウトに変換した状態を示す。ベクトルＶ１３に対応するパターンＬ１３は、図８（Ｃ）に示すものと同一である。パターンＬ１４ａは、図８（Ｅ）に示すようにベクトルＶ１４とＶ２０との和であり、図８（Ｃ）に示すパターンＬ１４よりも長くなっている。このため、パターンＬ１４ａに接続されるパターンＬ１５は、パターンＬ１３からより離されている。この様なベクトルの挿入により、パターンＬ１３とパターンＬ１５とが離れ、矛盾箇所が解消する。
【００６９】
図８（Ｃ）〜（Ｆ）に示した操作は極めて簡単な例であり、ＬＳＩのレイアウトにおいてすべての矛盾箇所がこのように簡単に解消するとは限らない。以下、ブランチへのベクトル挿入により矛盾箇所を解消する作業をより詳細に説明する。
【００７０】
先ず、ブランチの太さを変更することにより、解消できる矛盾箇所は全て解消されているものとする。この状態を初期状態として設定する。初期状態において解消できなかった矛盾箇所をエラーとし、一定の規則に基づき、エラーを数量化する。各エラーのエラー値は、たとえば前述の規則１）〜７）のような基準に基づいて算出される。
【００７１】
先ず、初期状態の目的関数を算出する。目的関数Ｏは、エラー値Ｅの総和として定義される。
【００７２】
Ｏ（Ｘｉ）＝ΣＥ（ｎ）
ここで、Ｘｉは１つの物理レイアウトを示し、Ｏはその目的関数を示す。Ｅ（ｎ）は、１つの物理レイアウト中に含まれる各エラーｎのエラー値を示す。各エラーは、設計変更を必要とする矛盾箇所を示している。
【００７３】
グラフの最適化のため、遺伝的アルゴリズムを用いる。まず、初期状態（初期値）のグラフを親とし、子供を突然変異によって発生させる。すなわち、任意の設計変更箇所ｎのエラーを解消するために、適当な方向ベクトルをｎ又はｎよりもベクトルの流れ的に上流のブランチに挿入する。このような操作により、先ず初期値のグラフからｋ個の子供を発生させる。
【００７４】
ｋ個の子供が発生した後は、クロスオーバ（勾配）およびミューテーション（突然変異）によりさらに次の世代を発生させる。
【００７５】
クロスオーバーは、個体（レイアウト）ｉの染色体（レイアウト）Ｘｉと個体ｊの染色体Ｘｊをある共通部分で切断し、組み合わせを変えて結合する操作、又は平均を取って新しい染色体を構成する操作を指す。
【００７６】
ミューテーションの手法としては、例えば以下のような方法が採用される。
【００７７】
〔ヒューリステック手法〕
ｉ）対象とする世代の内、最も優秀な染色体に対してある設計変更箇所ｎのエラーを解消するためにどの部分にベクトルを投入したら良いか、あるノードに対して総当たりし、最もよい部分にベクトルを挿入する。これを全ての設計変更箇所に対して行う。
【００７８】
ｉｉ）経験的に結果が改良されると判明している変更を行う。たとえば、一方にレイアウトが存在しない場合、パターンを外側に広げる等である。
【００７９】
このような遺伝的手法により、次世代を発生させると個体数は膨大な数に増大してしまう。個体数を抑制するため、評価関数を用いることができる。
【００８０】
〔評価関数（ｆｉｔｎｅｓｓ  ｆｕｎｃｔｉｏｎ）〕
目的関数Ｏ（Ｘｉ）に対し評価関数Ｆ（Ｘｉ）を次のように定義する。
【００８１】
Ｆ（Ｘｉ）＝Ｏ（Ｘ０）／Ｏ（Ｘｉ）＋ε
Ｏ（Ｘ０）は、初期値である。εは、微小量でＯ（Ｘｉ）が０になった場合のオーバーフローを防止するためのものである。
【００８２】
評価関数は上述の形式に制限されないが、目的関数の変化による評価関数の変化を敏感に、かつ敏感すぎないように表すためには上述の形式が適している。
【００８３】
交配等を行う場合、個体Ｘｉが選択される確率Ｐ（Ｘｉ）を以下のように設定することができる。
【００８４】
Ｐ（Ｘｉ）＝Ｆ（Ｘｉ）a ／ΣＦ（Ｘｉ）a 
これは、強調型ルーレットホイールの方法であり、交配等において選択される親のパラメータに強調因子ａによって差を付けることができる。
【００８５】
例えば、両親の内一方に極めて優れた超個体を選択したとき、他方の親としては比較的平凡な個体を選ぶと次の世代として優秀な個体を得られることが経験的に判明している。このような選択を強調因子の設定により行うことができる。ａ＝１とした時通常の比例関係となり、１＜ａとすれば個体は強調され、１＞ａとすれば選択はランダムに近づく。
【００８６】
評価関数を利用し、親よりも優れた個体のみを選択して次世代の個体を発生させる。同様の遺伝的処理によりさらに次世代の個体を発生させる。同一世代の固体数は、初期値を除き、一定とすることが好ましい。このような遺伝的処理により、全ての設計変更箇所が解消された時には、世代交代を停止させる。また、世代交代が所定数進んでも、最優秀個体の評価関数が更新されない場合には、同様に世代交代を停止させる。なお、世代交代を停止させる世代数は、ノード数等に依存して決定することができる。なお、このような遺伝的手法は、例えば特願平４−３９５６８７（米国特許第５，４１５，９５２号）の実施例の記載を参照することができる。
【００８７】
以上、レベンソン型位相シフトマスクを例にとって説明したが、同様の方法が他のレイアウトの自動変更にも利用できることは当業者に自明であろう。
【００８８】
以上本発明を実施例に沿って説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組み合わせ等が可能なことは当業者に自明であろう。
【００８９】
【発明の効果】
以上説明したように、本発明によれば、物理レイアウトに基づいて設計変更を自動的に行うことができる。
【図面の簡単な説明】
【図１】本発明の実施例の処理を示すフローチャートである。
【図２】物理レイアウトの矛盾箇所を説明するための概略平面図である。
【図３】物理レイアウトのグラフ化を説明するための概略平面図および等価回路図である。
【図４】ブランチの向きの決定方法を説明するための線図および概略平面図である。
【図５】グラフの有向化処理を説明するための概略線図ある。
【図６】配線の方向ベクトル表現を説明するための概略平面図および線図である。
【図７】ノード内の矛盾箇所の回避を説明するための概略平面図である。
【図８】配線の最適化を説明するための概略平面図および線図である。
【符号の説明】
Ｌ  パターン
Ｔｒ  トランジスタ
Ｍ  メタル配線
Ｃ  コンタクト
Ｆ    拡散層
Ｐ  多結晶シリコン層
Ｘ  端点
【図１】
0004058127.tif 000002
【図２】
0004058127.tif 000003
【図３】
0004058127.tif 000004
【図４】
0004058127.tif 000005
【図５】
0004058127.tif 000006
【図６】
0004058127.tif 000007
【図７】
0004058127.tif 000008
【図８】
0004058127.tif 000009