(57)【要約】【課題】検証期間を短縮する。【解決手段】制御部３は、露光工程で欠陥を発生させるか否かを示す欠陥情報が割り当てられたレイアウトパターン１０ｐ１〜１０ｐｎの各々に、これらの形状に基づいて複数の第１のノードを設定し、複数の第１のノードの各々にそれらの設定場所の属性を示す第１のラベルを割り当てる。制御部３は、欠陥情報に基づき、欠陥に対する属性の寄与の大きさを示す欠陥寄与度を算出して、それを第１のラベルの各々に対応付ける。プロセッサは、入力部２または記憶部５から検証対象パターン１４を取得し、検証対象パターン１４に、その形状に基づいて複数の第２のノードを設定し、複数の第２のノードの各々にそれらの設定場所の属性を示す第２のラベルを割り当てる。制御部３は、複数の第２のノードのうち、欠陥寄与度が第１の値よりも大きい第１のラベルと同じ値をもつ第２のラベルが割り当てられたノードの位置を表示部４に表示させる。【選択図】図１
2017073046.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサが、露光工程で欠陥を発生させるか否かを示す欠陥情報が割り当てられた複数の第１のレイアウトパターンの各々に、前記複数の第１のレイアウトパターンの形状に基づいて複数の第１のノードを設定するとともに、前記複数の第１のノードの各々に、前記複数の第１のノードの各々の第１の設定場所の第１の属性を示す第１のラベルを割り当て、
前記プロセッサが、前記欠陥情報に基づき、前記欠陥に対する前記第１の属性の寄与の大きさを示す欠陥寄与度を算出して、前記欠陥寄与度を前記第１のラベルの各々に対応付け、
前記プロセッサが、入力部を介して入力された、または記憶部に記憶されている検証対象の第２のレイアウトパターンを取得し、前記第２のレイアウトパターンに、前記第２のレイアウトパターンの形状に基づいて複数の第２のノードを設定するとともに、前記複数の第２のノードの各々に、前記複数の第２のノードの各々の第２の設定場所の第２の属性を示す第２のラベルを割り当て、
前記プロセッサが、前記複数の第２のノードのうち、対応付けられた前記欠陥寄与度が第１の値よりも大きい前記第１のラベルと同じ値をもつ前記第２のラベルが割り当てられたノードの位置を表示部に表示させる、
ことを特徴とするレイアウト検証方法。
【請求項２】
前記プロセッサは、前記欠陥情報と前記第１のラベルに基づき、前記第２のレイアウトパターンにより前記欠陥が発生するか否かを判定するための欠陥識別モデルを、機械学習で生成し、
前記プロセッサは、前記欠陥識別モデルと前記第２のラベルに基づき、前記第２のレイアウトパターンが前記欠陥を発生させるか否かを判定する、ことを特徴とする請求項１に記載のレイアウト検証方法。
【請求項３】
前記プロセッサは、第２の値の前記第１のラベルが、前記複数の第１のレイアウトパターンのうち、前記欠陥を発生させる第３のレイアウトパターンに設定した前記複数の第１のノードに割り当てられる第１の回数と、前記欠陥を発生させない第４のレイアウトパターンに設定した前記複数の第１のノードに割り当てられる第２の回数とに基づき、前記欠陥寄与度を算出する、ことを特徴とする請求項１または２に記載のレイアウト検証方法。
【請求項４】
前記プロセッサは、前記第１のラベルの値ごとの前記第１の回数と前記第２の回数を示すラベル情報を生成し、
前記プロセッサは、前記ラベル情報に基づき、前記欠陥寄与度を算出すること、を特徴とする請求項３に記載のレイアウト検証方法。
【請求項５】
前記プロセッサは、第２の値の前記第１のラベルが、前記複数の第１のレイアウトパターンの各々に設定した前記複数の第１のノードに割り当てられる回数と、前記欠陥識別モデルに含まれる、前記複数の第１のレイアウトパターンの各々に対応付けられた重み値とに基づき、前記欠陥寄与度を算出する、ことを特徴とする請求項２に記載のレイアウト検証方法。
【請求項６】
前記プロセッサは、前記複数の第１のレイアウトパターンの各々に対応付けられた前記重み値と、前記第１のラベルの値ごとの前記回数を示すラベル情報を生成し、
前記プロセッサは、前記ラベル情報に基づき、前記欠陥寄与度を算出すること、を特徴とする請求項５に記載のレイアウト検証方法。
【請求項７】
露光工程で欠陥を発生させるか否かを示す欠陥情報が割り当てられた複数の第１のレイアウトパターンの各々に、前記複数の第１のレイアウトパターンの形状に基づいて複数の第１のノードを設定するとともに、前記複数の第１のノードの各々に、前記複数の第１のノードの各々の第１の設定場所の第１の属性を示す第１のラベルを割り当てる第１の設定部と、
前記欠陥情報に基づき、前記欠陥に対する前記第１の属性の寄与の大きさを示す欠陥寄与度を算出して、前記欠陥寄与度を前記第１のラベルの各々に対応付ける欠陥寄与度算出部と、
入力部を介して入力された、または記憶部に記憶されている検証対象の第２のレイアウトパターンを取得し、前記第２のレイアウトパターンに、前記第２のレイアウトパターンの形状に基づいて複数の第２のノードを設定するとともに、前記複数の第２のノードの各々に、前記複数の第２のノードの各々の第２の設定場所の第２の属性を示す第２のラベルを割り当てる第２の設定部と、
前記複数の第２のノードのうち、対応付けられた前記欠陥寄与度が第１の値よりも大きい前記第１のラベルと同じ値をもつ前記第２のラベルが割り当てられたノードの位置を表示部に表示させる出力部と、
を有することを特徴とするレイアウト検証装置。
【請求項８】
露光工程で欠陥を発生させるか否かを示す欠陥情報が割り当てられた複数の第１のレイアウトパターンの各々に、前記複数の第１のレイアウトパターンの形状に基づいて複数の第１のノードを設定するとともに、前記複数の第１のノードの各々に、前記複数の第１のノードの各々の第１の設定場所の第１の属性を示す第１のラベルを割り当て、
前記欠陥情報に基づき、前記欠陥に対する前記第１の属性の寄与の大きさを示す欠陥寄与度を算出して、前記欠陥寄与度を前記第１のラベルの各々に対応付け、
入力部を介して入力された、または記憶部に記憶されている検証対象の第２のレイアウトパターンを取得し、前記第２のレイアウトパターンに、前記第２のレイアウトパターンの形状に基づいて複数の第２のノードを設定するとともに、前記複数の第２のノードの各々に、前記複数の第２のノードの各々の第２の設定場所の第２の属性を示す第２のラベルを割り当て、
前記複数の第２のノードのうち、対応付けられた前記欠陥寄与度が第１の値よりも大きい前記第１のラベルと同じ値をもつ前記第２のラベルが割り当てられたノードの位置を表示部に表示させる、
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウト検証方法、レイアウト検証装置及びプログラムに関する。
【背景技術】
【０００２】
半導体集積回路のレイアウトパターンを露光工程時に基板上に転写して配線などを形成する際、光近接効果などの影響により、レイアウトパターンの寸法通りには転写されず、形成された配線に断線などの欠陥が生じる可能性がある。そのため、転写時に欠陥を生じさせるか否かが既知のレイアウトパターンを用いた機械学習で、転写時に欠陥を生じさせる可能性のあるレイアウトパターンをレイアウトデータから検出し、補正する方法があった。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１８２２２０号公報
【特許文献２】特開２００９−１７０７２０号公報
【特許文献３】特開２００８−２６８５６０号公報
【特許文献４】特開２００７−２６６３９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方法では、検出されたレイアウトパターンの、どの箇所が原因で欠陥が発生するのかが提示されず、修正すべき箇所の特定に時間がかかり、検証期間が長くなってしまうという問題がある。
【課題を解決するための手段】
【０００５】
発明の一観点によれば、プロセッサが、露光工程で欠陥を発生させるか否かを示す欠陥情報が割り当てられた複数の第１のレイアウトパターンの各々に、前記複数の第１のレイアウトパターンの形状に基づいて複数の第１のノードを設定するとともに、前記複数の第１のノードの各々に、前記複数の第１のノードの各々の第１の設定場所の第１の属性を示す第１のラベルを割り当て、前記プロセッサが、前記欠陥情報に基づき、前記欠陥に対する前記第１の属性の寄与の大きさを示す欠陥寄与度を算出して、前記欠陥寄与度を前記第１のラベルの各々に対応付け、前記プロセッサが、入力部を介して入力された、または記憶部に記憶されている検証対象の第２のレイアウトパターンを取得し、前記第２のレイアウトパターンに、前記第２のレイアウトパターンの形状に基づいて複数の第２のノードを設定するとともに、前記複数の第２のノードの各々に、前記複数の第２のノードの各々の第２の設定場所の第２の属性を示す第２のラベルを割り当て、前記プロセッサが、前記複数の第２のノードのうち、対応付けられた前記欠陥寄与度が第１の値よりも大きい前記第１のラベルと同じ値をもつ前記第２のラベルが割り当てられたノードの位置を表示部に表示させる、レイアウト検証方法が提供される。
【０００６】
また、発明の一観点によれば、露光工程で欠陥を発生させるか否かを示す欠陥情報が割り当てられた複数の第１のレイアウトパターンの各々に、前記複数の第１のレイアウトパターンの形状に基づいて複数の第１のノードを設定するとともに、前記複数の第１のノードの各々に、前記複数の第１のノードの各々の第１の設定場所の第１の属性を示す第１のラベルを割り当てる第１の設定部と、前記欠陥情報に基づき、前記欠陥に対する前記第１の属性の寄与の大きさを示す欠陥寄与度を算出して、前記欠陥寄与度を前記第１のラベルの各々に対応付ける欠陥寄与度算出部と、入力部を介して入力された、または記憶部に記憶されている検証対象の第２のレイアウトパターンを取得し、前記第２のレイアウトパターンに、前記第２のレイアウトパターンの形状に基づいて複数の第２のノードを設定するとともに、前記複数の第２のノードの各々に、前記複数の第２のノードの各々の第２の設定場所の第２の属性を示す第２のラベルを割り当てる第２の設定部と、前記複数の第２のノードのうち、対応付けられた前記欠陥寄与度が第１の値よりも大きい前記第１のラベルと同じ値をもつ前記第２のラベルが割り当てられたノードの位置を表示部に表示させる出力部と、を有するレイアウト検証装置が提供される。
【０００７】
また、発明の一観点によれば、露光工程で欠陥を発生させるか否かを示す欠陥情報が割り当てられた複数の第１のレイアウトパターンの各々に、前記複数の第１のレイアウトパターンの形状に基づいて複数の第１のノードを設定するとともに、前記複数の第１のノードの各々に、前記複数の第１のノードの各々の第１の設定場所の第１の属性を示す第１のラベルを割り当て、前記欠陥情報に基づき、前記欠陥に対する前記第１の属性の寄与の大きさを示す欠陥寄与度を算出して、前記欠陥寄与度を前記第１のラベルの各々に対応付け、入力部を介して入力された、または記憶部に記憶されている検証対象の第２のレイアウトパターンを取得し、前記第２のレイアウトパターンに、前記第２のレイアウトパターンの形状に基づいて複数の第２のノードを設定するとともに、前記複数の第２のノードの各々に、前記複数の第２のノードの各々の第２の設定場所の第２の属性を示す第２のラベルを割り当て、前記複数の第２のノードのうち、対応付けられた前記欠陥寄与度が第１の値よりも大きい前記第１のラベルと同じ値をもつ前記第２のラベルが割り当てられたノードの位置を表示部に表示させる、処理をコンピュータに実行させるプログラムが提供される。
【発明の効果】
【０００８】
開示のレイアウト検証方法、レイアウト検証装置及びプログラムによれば、検証期間を短縮できる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施の形態のレイアウト検証方法及びレイアウト検証装置の一例を示す図である。
【図２】第１の実施の形態のレイアウト検証装置の一例の機能ブロック図である。
【図３】第２の実施の形態のレイアウト検証装置の一例を示す図である。
【図４】第２の実施の形態のレイアウト検証方法の一例の処理の流れを示すフローチャートである。
【図５】ホットスポット検出処理の一例の流れを示す図である。
【図６】欠陥識別モデル／欠陥寄与度算出処理の一例の流れを示す図である。
【図７】グラフの他の例を示す図である。
【図８】ラベル付きノード情報の一例を示す図である。
【図９】欠陥識別モデル情報の一例を示す図である。
【図１０】欠陥寄与度の算出方法の一例の流れを示す図である。
【図１１】算出された欠陥寄与度を含む欠陥寄与度情報の一例を示す図である。
【図１２】教師データのラベル情報の一例を示す図である。
【図１３】欠陥寄与度の算出方法の他の例の流れを示す図である。
【図１４】教師データのラベル情報の一例を示す図である。
【図１５】検証対象パターン識別処理の一例の流れを示す図である。
【図１６】ラベル／ノード座標情報の一例を示す図である。
【図１７】欠陥寄与度の高いノード位置の表示例を示す図である。
【発明を実施するための形態】
【００１０】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態のレイアウト検証方法及びレイアウト検証装置の一例を示す図である。
【００１１】
また、図２は、第１の実施の形態のレイアウト検証装置の一例の機能ブロック図である。
レイアウト検証装置１は、たとえば、コンピュータであり、入力部２、制御部３、表示部４、記憶部５を有している。なお、レイアウト検証装置１は、複数のコンピュータで実現されるものであってもよい。
【００１２】
入力部２は、たとえば、ネットワークインタフェース、メモリ装置などが接続される機器接続インタフェース、キーボードやマウスなどを用いてユーザから入力された情報をレイアウト検証装置１内に取り込むための入力インタフェースなどである。
【００１３】
制御部３は、たとえば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＦＰＧＡ（Field Programmable Gate Array）などのプロセッサである。制御部３は、記憶部５に記憶されている各種データ及びプログラムに基づき、図２に示すような、各機能を実現する。制御部３は、たとえば、取得部３ａ、ラベル付きノード設定部３ｂ、欠陥識別モデル生成部３ｃ、欠陥寄与度算出部３ｄ、取得部３ｅ、ラベル付きノード設定部３ｆ、欠陥判定部３ｇ、出力部３ｈの機能を実現する。なお、制御部３は、複数のプロセッサを有していてもよい。
【００１４】
表示部４は、グラフィック処理装置などであり、制御部３の制御のもと、図示しない表示装置に、たとえば、欠陥判定結果や後述する欠陥寄与度が閾値より大きいノードの位置などを表示する。
【００１５】
記憶部５は、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）などである。記憶部５は、制御部３が実行するプログラムや、各種データを記憶する。記憶部５が記憶するデータとしては、たとえば、図２に示すように、レイアウトパターン情報５ａ、ラベル付きノード情報５ｂ、欠陥識別モデル情報５ｃ、欠陥寄与度情報５ｄが含まれる。なお、記憶部５は、検証対象のレイアウトパターン（以下検証対象パターンという）を記憶していてもよい。
【００１６】
以下、上記のようなレイアウト検証装置１を用いたレイアウトパターン抽出方法の一例を、図１、図２を用いて説明する。
ステップＳ１：取得部３ａは、記憶部５に格納されているレイアウトパターン情報５ａに含まれる半導体集積回路（以下ＬＳＩ（Large Scale Integrated circuit）という）のレイアウトパターン１０ｐ１，１０ｐ２，…，１０ｐｎを取得する。
【００１７】
レイアウトパターン１０ｐ１〜１０ｐｎは、たとえば、ＬＳＩの配線パターン、ビアパターン、ゲート電極パターンなどを含む。
また、レイアウトパターン１０ｐ１〜１０ｐｎには、露光工程でこれらを使用することで欠陥（断線やショートなど）が発生するか否かを示す欠陥情報が割り当てられている。つまり、これらのレイアウトパターン１０ｐ１〜１０ｐｎは、欠陥発生の有無が既知のレイアウトパターンといえる。
【００１８】
なお、レイアウトパターンにおいて、転写されたときに欠陥を発生する箇所は、ホットスポットと呼ばれている。
ステップＳ２：ラベル付きノード設定部３ｂは、レイアウトパターン１０ｐ１〜１０ｐｎの各々に、レイアウトパターン１０ｐ１〜１０ｐｎの各々の形状に基づいて複数のノードを設定する。また、ラベル付きノード設定部３ｂは、複数のノードの各々に、複数のノードの各々の設定場所の属性を示すラベルを割り当てる。
【００１９】
図１には、ドロネー三角分割（Delaunay Triangulation）により、配線パターン１１ａ，１１ｂを含むレイアウトパターン１０ｐ１にノードが設定される例が示されている。
ラベル付きノード設定部３ｂは、たとえば、レイアウトパターン１０ｐ１に対して、まず、ボロノイ図（Voronoi diagram）を生成し、その後、図１に示すような複数の三角形（破線で示されている）を含むドロネー図（Delaunay diagram）を生成する。なお、ラベル付きノード設定部３ｂは、たとえば、逐次添加法を用いて、ボロノイ図を生成することなく、配線パターン１１ａ，１１ｂの各頂点座標からドロネー図を生成することも可能である。
【００２０】
そして、ラベル付きノード設定部３ｂは、各三角形の中心にノードを設定するとともに、各ノードに、各ノードの設定場所の属性を示すラベルを割り当てる。
各ノードの設定場所の属性とは、そのノードが設定される三角形における辺の長さや面積の情報、三角形の頂点が、配線パターン１１ａ，１１ｂの凹部の頂点か、凸部の頂点かを示す情報、隣接する三角形がどのような三角形かを示す情報などである。このような属性を示すラベルは、たとえば、ビット列で表される。
【００２１】
たとえば、図１の例では、ノード１２ａには、“０１１０１１０”という値のラベル１３ａが割り当てられている。また、ノード１２ｂには、“００１０１１０”という値のラベル１３ｂが割り当てられている。なお、複数のノードにおいて、設定場所の全ての属性が同じ場合には、ラベルの値は同じとなる。
【００２２】
上記のように生成された複数の三角形や、それらの中心に設定される複数のノードは、レイアウトパターンの特徴を２次元的に表すグラフととらえることができる。
ラベル付きノード設定部３ｂは、ラベル付きノードを、各レイアウトパターン１０ｐ１〜１０ｐｎについて設定し、図２に示すように、ラベル付きノード情報５ｂとして記憶部５に記憶する。
【００２３】
なお、ラベル付きノード設定部３ｂは、ノードを、ドロネー図の各三角形の頂点に設定するようにしてもよい。また、ラベル付きノード設定部３ｂは、ドロネー図を生成せず、配線パターンなどにおける各辺の中心にノードを設定するようにしてもよい（後述の図７参照）。
【００２４】
ステップＳ３：欠陥識別モデル生成部３ｃは、上記のラベルや欠陥情報に基づき、検証対象パターンが欠陥を発生させる否かを判定する際に用いる欠陥識別モデルを生成する。欠陥識別モデル及びその生成方法については後述する。欠陥識別モデル生成部３ｃは、生成した欠陥識別モデルを、図２に示すように、欠陥識別モデル情報５ｃとして、記憶部５に記憶する。
【００２５】
ステップＳ４：欠陥寄与度算出部３ｄは、欠陥情報に基づき、欠陥に対する上記の属性の寄与の大きさを示す欠陥寄与度を算出して、上記のラベルの各々に対応付ける。
たとえば、欠陥寄与度算出部３ｄは、欠陥を発生させるレイアウトパターンに頻出するラベルについては、他のラベルよりも高い欠陥寄与度を算出し、欠陥を発生させないレイアウトパターンに頻出するラベルについては、他のラベルよりも低い欠陥寄与度を算出する。欠陥寄与度の計算方法の例については後述する。欠陥寄与度算出部３ｄは、各ラベルに割り当てた欠陥寄与度を、欠陥寄与度情報５ｄとして、記憶部５に記憶する。
【００２６】
図１には、欠陥寄与度情報５ｄの一例が示されている。ビット列で表されるラベルごとの欠陥寄与度が示されている。たとえば、前述した“０１１０１１０”という値のラベル１３ａには、−０．０４５という欠陥寄与度が対応付けられており、“００１０１１０”という値のラベル１３ｂには、０．０４６という欠陥寄与度が対応付けられている。このため、ラベル１３ｂが割り当てられるノード１２ｂの設定場所は、ラベル１３ａが割り当てられるノード１２ａの設定場所よりも、欠陥寄与度が高いことがわかる。
【００２７】
ステップＳ５：取得部３ｅは、たとえば、入力部２を介して入力された検証対象パターンを取得する。図１、図２の例では、検証対象パターン１４は、配線パターン１５ａ，１５ｂを有している。
【００２８】
なお、検証対象パターンは予め記憶部５に記憶されていてもよく、取得部３ｅは、記憶部５に記憶されているその検証対象パターンを取得するようにしてもよい。また、制御部３は、検証したいＬＳＩのレイアウトデータを分割して、たとえば、前述したレイアウトパターン１０ｐ１〜１０ｐｎと同じサイズの検証対象パターンを生成してもよい。
【００２９】
ステップＳ６：ラベル付きノード設定部３ｆは、検証対象パターンに対して、ステップＳ２と同様の処理により、ラベル付きノードを設定する。
ステップＳ７：欠陥判定部３ｇは、欠陥識別モデル情報５ｃに含まれる欠陥識別モデルに基づき、検証対象パターンを用いることによる欠陥発生の有無を判定する。
【００３０】
図１の例では、検証対象パターン１４は、欠陥を発生させる（欠陥判定結果：あり）と判定されている。
ステップＳ８：出力部３ｈは、対応付けられた欠陥寄与度が閾値より大きいラベル（レイアウトパターン１０ｐ１〜１０ｐｎのノードに割り当てられたもの）と同じ値をもつラベルが割り当てられた、検証対象パターンのノード位置を出力し表示部４に表示させる。
【００３１】
たとえば、検証対象パターン１４のノード１６ａに割り当てられたラベル１７ａが“００１０１１０”であるとすると、このラベルに対応付けられた欠陥寄与度は、図１の欠陥寄与度情報５ｄから０．０４６である。閾値が０であるとすると０．０４６＞０であるため、このラベルが割り当てられたノード１６ａの位置が表示されることになる。図１の例では、さらにノード１６ｂの位置が表示されている。
【００３２】
ステップＳ８の処理後は、たとえば、欠陥を発生させると判定された検証対象パターンにおいて、欠陥寄与度が高いラベルが割り当てられたノード位置を中心にしたパターン修正処理（ＯＰＣ（Optical Proximity Correction）など）が行われる。
【００３３】
このように欠陥寄与度が閾値より大きいラベルが割り当てられているノード位置を表示することで、ユーザは、検証対象パターンにおいて、修正すべき箇所を容易に把握可能となり、レイアウトの検証期間を短縮できる。
【００３４】
なお、ステップＳ１〜Ｓ８の処理の順序は、上記の順序に限定されない。
（第２の実施の形態）
以下、第２の実施の形態のレイアウト検証方法及びレイアウト検証装置の一例を示す。
【００３５】
図３は、第２の実施の形態のレイアウト検証装置の一例を示す図である。
レイアウト検証装置は、たとえば、コンピュータ２０であり、プロセッサ２１によって装置全体が制御されている。プロセッサ２１には、バス２９を介してＲＡＭ（Random Access Memory）２２と複数の周辺機器が接続されている。プロセッサ２１は、マルチプロセッサであってもよい。プロセッサ２１は、たとえばＣＰＵ、ＭＰＵ、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ２１は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００３６】
ＲＡＭ２２は、コンピュータ２０の主記憶装置として使用される。ＲＡＭ２２には、プロセッサ２１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ２２には、プロセッサ２１による処理に必要な各種データが格納される。
【００３７】
バス２９に接続されている周辺機器としては、ＨＤＤ２３、グラフィック処理装置２４、入力インタフェース２５、光学ドライブ装置２６、機器接続インタフェース２７及びネットワークインタフェース２８がある。
【００３８】
ＨＤＤ２３は、内蔵したディスクに対して、磁気的にデータの書き込み及び読み出しを行う。ＨＤＤ２３は、コンピュータ２０の補助記憶装置として使用される。ＨＤＤ２３には、ＯＳのプログラム、アプリケーションプログラム、及び各種データが格納される。なお、ＨＤＤ２３に代えて、ＳＳＤなどの種々の記憶装置を用いてもよい。
【００３９】
グラフィック処理装置２４には、モニタ２４ａが接続されている。グラフィック処理装置２４は、プロセッサ２１からの命令にしたがって、画像をモニタ２４ａの画面に表示させる。モニタ２４ａとしては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００４０】
入力インタフェース２５には、キーボード２５ａとマウス２５ｂとが接続されている。入力インタフェース２５は、キーボード２５ａやマウス２５ｂから送られてくる信号をプロセッサ２１に送信する。なお、マウス２５ｂは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４１】
光学ドライブ装置２６は、レーザ光などを利用して、光ディスク２６ａに記録されたデータの読み取りを行う。光ディスク２６ａは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２６ａには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４２】
機器接続インタフェース２７は、コンピュータ２０に周辺機器を接続するための通信インタフェースである。たとえば機器接続インタフェース２７には、メモリ装置２７ａやメモリリーダライタ２７ｂを接続することができる。メモリ装置２７ａは、機器接続インタフェース２７との通信機能を搭載した記録媒体である。メモリリーダライタ２７ｂは、メモリカード２７ｃへのデータの書き込み、またはメモリカード２７ｃからのデータの読み出しを行う装置である。メモリカード２７ｃは、カード型の記録媒体である。
【００４３】
ネットワークインタフェース２８は、ネットワーク２８ａに接続されている。ネットワークインタフェース２８は、ネットワーク２８ａを介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００４４】
以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、図１に示した第１の実施の形態のレイアウト検証装置１も、図３に示したコンピュータ２０と同様のハードウェアにより実現できる。
【００４５】
コンピュータ２０は、たとえばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。コンピュータ２０に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、コンピュータ２０に実行させるプログラムをＨＤＤ２３に格納しておくことができる。プロセッサ２１は、ＨＤＤ２３内のプログラムの少なくとも一部をＲＡＭ２２にロードし、プログラムを実行する。またコンピュータ２０に実行させるプログラムを、光ディスク２６ａ、メモリ装置２７ａ、メモリカード２７ｃなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ２１からの制御により、ＨＤＤ２３にインストールされた後、実行可能となる。またプロセッサ２１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４６】
（レイアウト検証方法の一例）
図４は、第２の実施の形態のレイアウト検証方法の一例の処理の流れを示すフローチャートである。
【００４７】
なお、以下では、図３に示したような１つのコンピュータ２０を用いて処理が行われるものとして説明する。複数のコンピュータを用いて以下の処理が行われるようにしてもよい。
【００４８】
コンピュータ２０において、プロセッサ２１は、たとえば、ＨＤＤ２３に格納されたプログラムを読み出してＲＡＭ２２上に展開して、図４に示すような各ステップの処理を実行する。
【００４９】
ステップＳ１０：レイアウト検証処理が開始すると、プロセッサ２１は、ホットスポット検出処理を行う。
ステップＳ１１：その後、プロセッサ２１は、ユーザによる入力に基づき、レイアウトデータに対してＯＰＣ処理を行う。これによりレイアウト検証処理が終了し、マスクの製造や、マスクを用いた露光工程などのＬＳＩの製造工程が行われる。
【００５０】
図５は、ホットスポット検出処理の一例の流れを示す図である。
ホットスポット検出処理は、図５に示すように、欠陥識別モデル／欠陥寄与度算出処理（ステップＳ２０）と、検証対象パターン識別処理（ステップＳ２１）を含む。
【００５１】
（欠陥識別モデル／欠陥寄与度算出処理）
図６は、欠陥識別モデル／欠陥寄与度算出処理の一例の流れを示す図である。
ステップＳ３０：まず、プロセッサ２１は、たとえば、ＨＤＤ２３に格納されているレイアウトパターン情報に含まれるＬＳＩの複数のレイアウトパターンを取得する。
【００５２】
レイアウトパターンは、たとえば、ＬＳＩの配線パターン、ビアパターン、ゲート電極パターンなどを含む。また、これらのレイアウトパターンには、前述の欠陥情報が付加されている。
【００５３】
なお、プロセッサ２１は、たとえば、光学ドライブ装置２６、機器接続インタフェース２７またはネットワークインタフェース２８を介して入力されたレイアウトパターン情報を取得するようにしてもよい。
【００５４】
ステップＳ３１：プロセッサ２１は、ステップＳ３０の処理で取得した各レイアウトパターンに対して、前述したドロネー図などを利用したグラフを生成する。各グラフには、複数のノードが設定される。たとえば、図１に示したレイアウトパターン１０ｐ１に対して生成されたグラフには、ドロネー図の各三角形の中心にノード（たとえば、ノード１２ａ，１２ｂ）が設定されている。
【００５５】
なお、プロセッサ２１は、ドロネー図を利用してグラフを生成する代わりに、以下のようなグラフを生成するようにしてもよい。
図７は、グラフの他の例を示す図である。
【００５６】
図７では、図１に示したレイアウトパターン１０ｐ１に対して生成された他のグラフの例が示されている。図７の例では、配線パターン１１ａ，１１ｂの各辺の中心にノード（たとえば、ノード３０，３１，３２，３３，３４）が設定されている。そして、２つの辺が接続するノード間（たとえば、ノード３０とノード３２との間）がエッジ（破線で示されている）で接続されている。さらに、ノード間の距離が所定の閾値ｄ以下の場合にエッジで接続されている。たとえば、ノード３０とノード３１の間の距離ｄ１は、閾値ｄ以下であるため、エッジで接続されている。閾値ｄは、たとえば、露光工程時に描画される基準線長に基づき設定される。たとえば、閾値ｄは、基準線長の２倍に設定されている。
【００５７】
ステップＳ３２：プロセッサ２１は、ステップＳ３１の処理で生成したグラフの各ノードに対して割り当てるラベルを生成する。
ラベルは、各ノードの設定場所の属性を示し、ビット列で表される。ドロネー図を用いた場合、属性には、ノードが設定される三角形の辺の長さ（周囲長）や面積の情報、三角形の頂点が、配線パターンなどの凹部の頂点か、凸部の頂点かを示す情報（頂点種別）、隣接する三角形がどのような三角形かを示す情報などがある。
【００５８】
プロセッサ２１は、ステップＳ３０の処理で取得された各レイアウトパターンの情報（座標や辺の長さなど）に基づき、これらの属性の情報を算出することができる。そして、プロセッサ２１は、これらの属性の情報をビット列に変換する。
【００５９】
たとえば、プロセッサ２１は、三角形の辺の長さが第１の範囲のとき、“０００”、三角形の辺の長さが第１の範囲よりも長い第２の範囲のとき、“００１”、などと、三角形の辺の長さをビット列に変換する。また、プロセッサ２１は、三角形の面積が第１の範囲のとき、“０００”、三角形の面積が第１の範囲よりも大きい第２の範囲のとき、“００１”、などと、三角形の面積をビット列に変換する。また、プロセッサ２１は、上記の頂点種別が凸部の頂点のとき、“０００”、頂点種別が凹部の頂点のとき、“００１”、頂点種別が凸部と凹部の両方の頂点のとき、“０１０”、などと頂点種別をビット列に変換してもよい。
【００６０】
このように複数の属性があるときには、各属性のビット列を組み合わせてラベルが生成される。たとえば、上記のような辺の長さと面積の大きさの２つの属性をラベルとしてノードに割り当てる場合、ビット列は、たとえば、辺の長さを示す“００１”と面積の大きさを示す“００１”とを組み合わせて、“００１００１”などとなる。また、隣接する三角形の属性もラベルに含めるときは、たとえば、“００１００１”の下位ビット側に、隣接する三角形の属性を示すビット列を結合すればよい。プロセッサ２１は、このようなビット列に対する演算を、たとえば、排他的論理和演算などを用いて行うことで、ラベルを生成することができる。
【００６１】
なお、図７に示したようなグラフを用いた場合、属性には、たとえば、以下のものがある。ノードが設定された辺の長さ、ノードが設定された辺の２つの端点が配線パターンなどの凹部の頂点か、凸部の頂点かを示す情報、ノードに接続するエッジが、異なる多角形（配線パターンなど）のノードに接続するか否かを示す情報などである。これらの属性も、同様にビット列で表すことができる。
【００６２】
なお、どのような属性を、どのようなビット列で表すかを示す情報は、予め、たとえば、ＨＤＤ２３などに記憶されており、プロセッサ２１は、その情報を読み出してラベルを生成することができる。
【００６３】
プロセッサ２１は、上記のようなラベルが割り当てられたノードの情報（ラベル付きノード情報）を、たとえば、ＨＤＤ２３に記憶する。
図８は、ラベル付きノード情報の一例を示す図である。
【００６４】
ラベル付きノード情報４０には、各レイアウトパターンについてのデータを示す教師データが含まれている。
たとえば、“教師データＩＤ：１”のレイアウトパターンの教師データは、そのレイアウトパターンに設定されたｎ個のノードのＩＤと、各ノードに割り当てられたラベルを含む。“教師データＩＤ：２”のレイアウトパターンの教師データは、そのレイアウトパターンに設定されたｍ個のノードのＩＤと、各ノードに割り当てられたラベルを含む。
【００６５】
さらに、教師データは、レイアウトパターンが欠陥を発生させるか否か（ホットスポットが存在するか否か）を示す欠陥情報“ｔｙｐｅ”を含む。“ｔｙｐｅ”が“ＨＳ”のときには、そのレイアウトパターンにホットスポットが存在し、欠陥を発生させることを示し、“ｔｙｐｅ”が“ＮＨＳ”のときには、そのレイアウトパターンにホットスポットが存在せず、欠陥を発生させないことを示す。図８の例では、“教師データＩＤ：１”及び“教師データＩＤ：２”のレイアウトパターンは、いずれもホットスポットが存在することを示している。
【００６６】
ステップＳ３３：プロセッサ２１は、取得したレイアウトパターンにおける欠陥情報と、ラベルに基づき、検証対象パターンが欠陥を発生するか否かを判定する際に用いる欠陥識別モデルを生成する。
【００６７】
たとえば、プロセッサ２１は、機械学習を利用して以下の式（１）から各教師データに対応した重み値ｗjを計算し、その重み値ｗjを用いた欠陥識別モデルを生成する。
【００６８】
【数１】
2017073046.tif 000003
【００６９】
式（１）において、ｘjは、機械学習における教師データであり、ここでは、欠陥を発生させるか否かが既知のｎ個のレイアウトパターンのうち、ｊ番目のレイアウトパターンにおいて設定されたノードに割り当てられたラベルの集合を示す。ｘは、テストデータであり、欠陥を発生させるか否かが未知のレイアウトパターンにおいて設定されたノードに割り当てられたラベルの集合を示す。Ｋ（ｘj，ｘ）は教師データｘjとテストデータｘとの類似度に基づくカーネル関数であり、ｂはバイアス値である。また、ｓｉｇｎ（…）は、カッコ内の値が０より大きければ１、０であれば０、０より小さければ−１となるシグナム関数である。
【００７０】
カーネル関数の例としては、グラフカーネルの他に、ＲＢＦ（Radial Basis Function）カーネル、線形カーネルなどがある。
プロセッサ２１は、サポートベクタマシンに代表されるカーネル学習と呼ばれる機械学習手法に基づき、式（１）の重み値ｗjを算出する。たとえば、プロセッサ２１は、欠陥を発生させるレイアウトパターンに基づく教師データと類似するテストパターンが入力されたときには、ｆ（ｘ）が１となるように、重み値を算出する。また、プロセッサ２１は、欠陥を発生させないレイアウトパターンに基づく教師データと類似するテストパターンが入力されたときには、ｆ（ｘ）が−１となるように、重み値を算出する。
【００７１】
式（１）に算出した各重み値ｗj（ｊ＝１〜ｎ）を代入したものが欠陥識別モデルとなる。
プロセッサ２１は、各教師データに対応した重み値を欠陥識別モデル情報として、たとえば、ＨＤＤ２３に記憶する。
【００７２】
図９は、欠陥識別モデル情報の一例を示す図である。
欠陥識別モデル情報４１には、教師データＩＤ（式（１）のｊ）と、その教師データＩＤで示される教師データに対応した重み値ｗjが示されている。たとえば、教師データＩＤが１の教師データについての重み値ｗj（ｊ＝１）は、０．３となっている。また、教師データＩＤが５の教師データについての重み値ｗj（ｊ＝５）は、−０．４となっている。
【００７３】
欠陥を発生させるレイアウトパターンに基づく教師データの重み値は、欠陥を発生させないレイアウトパターンに基づく教師データの重み値よりも大きくなる。たとえば、欠陥を発生させるレイアウトパターンに基づく教師データの重み値は正の値となり、欠陥を発生させないレイアウトパターンに基づく教師データの重み値は負の値となる。
【００７４】
ステップＳ３４：プロセッサ２１は、ラベルごとの欠陥寄与度を算出し、各ラベルに欠陥寄与度を対応付ける。
なお、上記の処理の順序は一例であり、たとえば、ステップＳ３３の処理とステップＳ３４の処理の順序は入れ替えてもよい。
【００７５】
以下、欠陥寄与度の算出方法の２つの例を説明する。
（欠陥寄与度の算出方法１）
図１０は、欠陥寄与度の算出方法の一例の流れを示す図である。
【００７６】
なお、以下では、前述した複数のラベルのうち、ｉ番目のラベルを、“ラベルＬi”と表記する。
ステップＳ４０：プロセッサ２１は、ｉ＝１とする。
【００７７】
ステップＳ４１：プロセッサ２１は、ラベルＬiを選択する。たとえば、“０００１”，“００１０”，“０１００”，“０１１０”，“１０００”という５つのラベルがあるときには、プロセッサ２１は、たとえば、まず、“０００１”を選択する。
【００７８】
ステップＳ４２：プロセッサ２１は、図８に示したようなラベル付きノード情報４０に基づき、ラベルＬiが、欠陥情報“ｔｙｐｅ”が“ＨＳ”となっている教師データに出現する回数Ｈｃiをカウントする。
【００７９】
ステップＳ４３：プロセッサ２１は、図８に示したようなラベル付きノード情報４０に基づき、ラベルＬiが、欠陥情報“ｔｙｐｅ”が“ＮＨＳ”となっている教師データに出現する回数Ｎｃiをカウントする。
【００８０】
ステップＳ４４：プロセッサ２１は、以下の式（２）でラベルＬiに対応付ける欠陥寄与度Ｃ（Ｌi）を算出し、たとえば、ＨＤＤ２３に記憶する。
Ｃ（Ｌi）＝（Ｈｃi／ｔｙｐｅ：ＨＳの教師データのノード総数）−（Ｎｃi／ｔｙｐｅ：ＮＨＳの教師データのノード総数）        （２）
ステップＳ４５：プロセッサ２１は、全ラベルを選択したか否かを判定する。プロセッサ２１は、全ラベルを選択したときには、欠陥寄与度の算出を終了し、全ラベルを選択していないときには、ステップＳ４６の処理を行う。
【００８１】
ステップＳ４６：プロセッサ２１は、ｉ＝ｉ＋１とし、ステップＳ４１からの処理を繰り返す。
なお、上記の処理の順序は一例である。たとえば、ステップＳ４２とステップＳ４３の処理などは入れ替えてもよい。
【００８２】
図１１は、算出された欠陥寄与度を含む欠陥寄与度情報の一例を示す図である。
図１１の欠陥寄与度情報４２の例では、ｉ＝１〜４のラベルＬiに対する、回数Ｈｃi，Ｎｃiと、欠陥寄与度Ｃ（Ｌi）の算出例が示されている。なお、欠陥寄与度Ｃ（Ｌi）は、ｔｙｐｅ：ＨＳの教師データのノード総数が１０００、ｔｙｐｅ：ＮＨＳの教師データのノード総数が２０００であるものとして計算されている。
【００８３】
図１１に示すように、欠陥を発生させるレイアウトパターン（ｔｙｐｅ：ＨＳの教師データ）に頻出するラベル（たとえば、“００００”や“０００１”）については、他のラベルよりも高い欠陥寄与度となっている。一方、欠陥を発生させないレイアウトパターン（ｔｙｐｅ：ＮＨＳの教師データ）に頻出するラベル（たとえば、“００１０”）については、他のラベルよりも低い欠陥寄与度となっている。
【００８４】
プロセッサ２１は、たとえば、このような欠陥寄与度情報４２を、ＨＤＤ２３に記憶する。
なお、プロセッサ２１は、上記のようなステップＳ４２〜Ｓ４４の処理を効率よく行うために、図８に示したラベル付きノード情報４０に基づき、予め以下に示すような教師データのラベル情報を生成しておいてもよい。
【００８５】
図１２は、教師データのラベル情報の一例を示す図である。
教師データのラベル情報４３は、各教師データＩＤに対応した教師データごとの、欠陥情報“ｔｙｐｅ”と、各ラベルの出現回数を含む。
【００８６】
図１２の例では、“０００１”，“００１０”，“０１００”，“０１１０”，“１０００”という５つのラベルの出現回数が示されている。このようなラベル情報４３から、たとえば、教師データＩＤ：１の教師データでは、“０００１”，“００１０”というラベルがそれぞれ１回、“０１００”というラベルが２回出現し、“０１１０”，“１０００”というラベルは出現しないことが分かる。
【００８７】
プロセッサ２１は、前述したステップＳ４２の処理では、上記のようなラベル情報４３に基づき、たとえば、“０００１”というラベルについては、回数Ｈｃi＝１＋２＋１＝４、回数Ｎｃi＝０＋０＝０などと計算を行うことができる。
【００８８】
（欠陥寄与度の算出方法２）
図１３は、欠陥寄与度の算出方法の他の例の流れを示す図である。
なお、以下では、前述した複数のラベルのうち、ｉ番目のラベルを、“ラベルＬi”と表記する。また前述した複数の教師データのうち、ｊ番目の教師データを、ｘj、その重み値をｗjと表記する。
【００８９】
ステップＳ５０：プロセッサ２１は、ｉ＝１，ｊ＝１とする。
ステップＳ５１：プロセッサ２１は、ラベルＬiを選択する。たとえば、“０００１”，“００１０”，“０１００”，“０１１０”，“１０００”という５つのラベルがあるときには、プロセッサ２１は、たとえば、まず、“０００１”を選択する。
【００９０】
ステップＳ５２：プロセッサ２１は、欠陥寄与度Ｃ（Ｌi）を０に初期化する。
ステップＳ５３：プロセッサ２１は、教師データｘjと重み値ｗjを選択する。
たとえば、図８に示したような教師データＩＤが１の教師データが選択されたとき、ステップＳ３３の処理で算出された、その教師データに対応した重み値が選択される。
【００９１】
ステップＳ５４：プロセッサ２１は、教師データｘjにラベルＬiがｋ個以上あるか否かを判定する。ｋは、１以上の所定の値である。なお、ｋは、後述の検証対象パターンの識別処理の結果に基づき、ユーザが指定（変更）するようにしてもよい。
【００９２】
教師データｘjにラベルＬiが、ｋ個以上あるときには、ステップＳ５５の処理が行われ、ｋ個未満のときには、ステップＳ５６の処理が行われる。
ステップＳ５５：プロセッサ２１は、Ｃ（Ｌi）＝Ｃ（Ｌi）＋ｗjを算出し、欠陥寄与度Ｃ（Ｌi）を更新する。
【００９３】
ステップＳ５６：プロセッサ２１は、全教師データを選択したか否かを判定する。全教師データが選択されたときには、ステップＳ５８の処理が行われる。全教師データが選択されていないときには、ステップＳ５７の処理が行われる。
【００９４】
ステップＳ５７：プロセッサ２１は、ｊ＝ｊ＋１とし、ステップＳ５３からの処理を繰り返す。
ステップＳ５８：プロセッサ２１は、ステップＳ５５の処理で算出された欠陥寄与度Ｃ（Ｌi）をラベルＬiに対応付けて、たとえば、ＨＤＤ２３に記憶する。
【００９５】
ステップＳ５９：プロセッサ２１は、全ラベルを選択したか否かを判定する。全ラベルが選択されたときには、欠陥寄与度の算出が終了する。全ラベルが選択されていないときには、ステップＳ６０の処理が行われる。
【００９６】
ステップＳ６０：プロセッサ２１は、ｉ＝ｉ＋１とし、ステップＳ５１からの処理を繰り返す。
なお、上記の処理の順序は、一例である。
【００９７】
また、プロセッサ２１は、ステップＳ５２〜Ｓ５７の処理の代わりに、以下の式（３）により、欠陥寄与度Ｃ（Ｌi）を算出するようにしてもよい。
【００９８】
【数２】
2017073046.tif 000004
【００９９】
式（３）において、ｐは、教師データｘjの数であり、ｅｘｉｓｔ（Ｌi，ｘj，ｋ）は、ラベルＬiが、教師データｘjにｋ個以上出現するときに１、ｋ個以上出現しないときに０となる関数である。
【０１００】
このような式（３）を用いても欠陥寄与度Ｃ（Ｌi）を算出できる。
なお、プロセッサ２１は、上記のようなステップＳ５３〜Ｓ５４の処理や式（３）の計算を効率よく行うため、図８に示したラベル付きノード情報４０や、図９に示した欠陥識別モデル情報４１に基づき、予め以下に示すようなラベル情報を生成しておいてもよい。
【０１０１】
図１４は、教師データのラベル情報の一例を示す図である。
教師データのラベル情報４４は、図１２に示したラベル情報４３に含まれる各教師データＩＤに対応した教師データごとの、前述した欠陥情報“ｔｙｐｅ”と、各ラベルの出現回数のほか、ステップＳ３３の処理で算出された重み値を含む。
【０１０２】
ｋ＝１とすると、たとえば、“０００１”及び“０１１０”というラベルに対応付ける欠陥寄与度は以下のように算出される。
図１４の例では、“０００１”は、教師データＩＤが１，２，３の教師データに出現し、これらに対応する重み値は０．３，０．２，０．１であるため、式（３）より、Ｃ（“０００１”）＝０．３＋０．２＋０．１＝０．６と算出される。
【０１０３】
また、図１４の例では、“０１１０”は、教師データＩＤが３，４，５の教師データに出現し、これらに対応する重み値は０．１，−０．２，−０．１である。そのため、式（３）より、Ｃ（“０１１０”）＝０．１＋（−０．２）＋（−０．４）＝−０．５と算出される。
【０１０４】
値のより小さい欠陥寄与度が対応付けられるラベルが割り当てられるノードの設定場所ほど、欠陥への寄与が小さい。値のより大きい欠陥寄与度が対応付けられるラベルが割り当てられるノードの設定場所ほど、欠陥への寄与が大きい。
【０１０５】
以下、図５に示した検証対象パターン識別処理の一例を説明する。
（検証対象パターン識別処理）
図１５は、検証対象パターン識別処理の一例の流れを示す図である。
【０１０６】
ステップＳ６１：プロセッサ２１は、たとえば、光学ドライブ装置２６、機器接続インタフェース２７またはネットワークインタフェース２８などを介して入力された検証対象パターンを取得する。
【０１０７】
なお、プロセッサ２１は、検証したいＬＳＩのレイアウトデータを分割して、たとえば、前述したレイアウトパターンと同じサイズの検証対象パターンを生成してもよい。
また、プロセッサ２１は、たとえば、ＨＤＤ２３に格納されている検証対象パターンを取得するようにしてもよい。
【０１０８】
ステップＳ６２，Ｓ６３：プロセッサ２１は、図６に示したステップＳ３１，Ｓ３２と同様の処理により、検証対象パターンに対して、ノード設定及びラベル生成を行う。なお、プロセッサ２１は、ステップＳ６３の処理結果に基づいて、以下に示すようなラベルとノード座標との関係を示すラベル／ノード座標情報を生成し、たとえば、ＨＤＤ２３に格納するようにしてもよい。
【０１０９】
図１６は、ラベル／ノード座標情報の一例を示す図である。
ラベル／ノード座標情報４５は、検証対象パターンに設定されたノードの座標と、ノードに割り当てられたラベルが示されている。１つのノードには１つのラベルが割り当てられている。同一のラベルが割り当てられたノードが複数存在する場合もある。たとえば、図１６に示すようにノード座標が（１０，２０）のノードと、ノード座標が（８５，１５）のノードには、同一のラベル“０００１”が割り当てられている。
【０１１０】
ステップＳ６４，Ｓ６５：プロセッサ２１は、図６に示したステップＳ３３の処理で生成された欠陥識別モデルに基づき、検証対象パターンを用いることによる欠陥発生の有無を判定する。
【０１１１】
たとえば、プロセッサ２１は、式（１）において、テストデータｘとして、検証対象パターンに対して生成されたラベルの集合を適用するとともに、機械学習で得られた重み値ｗj（ｊ＝１〜ｎ）を適用し、ｆ（ｘ）の値を算出する。プロセッサ２１は、たとえば、ｆ（ｘ）の値が１であれば、検証対象パターンは欠陥を発生させると判定し、ｆ（ｘ）の値が−１であれば、検証対象パターンは欠陥を発生させないと判定する。
【０１１２】
プロセッサ２１は、検証対象パターンが欠陥を発生させると判定したときには、ステップＳ６６の処理を行い、検証対象パターンが欠陥を発生させないと判定したときには、検証対象パターン識別処理を終了する。なお、プロセッサ２１は、グラフィック処理装置２４を制御して、検証対象パターンが欠陥を発生させない旨を、モニタ２４ａに表示させるようにしてもよい。
【０１１３】
ステップＳ６６：プロセッサ２１は、ｉ＝１とする。
ステップＳ６７：プロセッサ２１は、ラベルＬiを選択する。たとえば、“０００１”，“００１０”，“０１００”，“０１１０”，“１０００”という５つのラベルがあるときには、プロセッサ２１は、たとえば、まず、“０００１”を選択する。
【０１１４】
ステップＳ６８：プロセッサ２１は、ラベルＬiに対応付けられた欠陥寄与度を、たとえば、図１１に示したような欠陥寄与度情報４２から取得する。
ステップＳ６９：プロセッサ２１は、取得した欠陥寄与度が閾値αより大きいか否かを判定する。プロセッサ２１は、取得した欠陥寄与度が閾値αより大きいときにはステップＳ７０の処理を行い、取得した欠陥寄与度が閾値α以下のときには、ステップＳ７１の処理を行う。
【０１１５】
なお、閾値αは、予め決められている値であるが、変更するようにしてもよい。たとえば、閾値αより大きい欠陥寄与度が対応付けられているラベルが比較的少ない場合には、閾値αを小さくし、閾値αより大きい欠陥寄与度が対応付けられているラベルが比較的多い場合には、閾値αを大きくするようにしてもよい。閾値αの変更は、ユーザによる入力に基づいて行われるようにしてもよい。また、閾値αは、前述の２つの欠陥寄与度の算出方法のどちらを採用するかに基づき、値を変更してもよい。
【０１１６】
ステップＳ７０：プロセッサ２１は、たとえば、図１６に示したようなラベル／ノード座標情報４５に基づき、ラベルＬiが割り当てられたノード位置（座標）を出力し、グラフィック処理装置２４を制御して、たとえば、モニタ２４ａに表示させる。
【０１１７】
図１７は、欠陥寄与度の高いノード位置の表示例を示す図である。
画面５０には、検証対象パターン５１上に、欠陥寄与度が閾値αより大きいラベルが割り当てられたノード５２，５３，５４が表示されている。さらに、ノードのＩＤとそのノードの位置（座標）及び、そのノードに対応する欠陥寄与度が表示されている。
【０１１８】
このような画面５０を参照することで、ユーザは、検証対象パターン５１において、修正すべき箇所（ホットスポット発生箇所）を容易に把握可能となり、レイアウトの検証期間を短縮できる。
【０１１９】
なお、プロセッサ２１は、上記のＩＤ、ノード位置、欠陥寄与度の関係を示すデータファイルを生成して、たとえば、ＨＤＤ２３に記憶するようにしてもよい。また、プロセッサ２１は、全てのノードのＩＤ、ノード位置、欠陥寄与度の関係を示すデータファイルを生成するようにしてもよい。
【０１２０】
ステップＳ７１：プロセッサ２１は、全ラベルを選択したか否かを判定する。全ラベルが選択されたときには、検証対象パターン識別処理が終了する。全ラベルが選択されていないときには、ステップＳ７２の処理が行われる。
【０１２１】
ステップＳ７２：プロセッサ２１は、ｉ＝ｉ＋１とし、ステップＳ６７からの処理を繰り返す。
なお、上記の処理の順序は一例である。
【０１２２】
上記のような検証対象パターン識別処理後は、図４に示したＯＰＣ処理が行われる。プロセッサ２１は、たとえば、ユーザによる入力に基づき、欠陥を発生させると判定した検証対象パターンにおいて、上記のように表示したノード位置を中心にしたＯＰＣ処理を行う。
【０１２３】
以上、実施の形態に基づき、本発明のレイアウト検証方法、レイアウト検証装置及びプログラムの一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【符号の説明】
【０１２４】
１  レイアウト検証装置（コンピュータ）
２  入力部
３  制御部（プロセッサ）
３ａ，３ｅ  取得部
３ｂ，３ｆ  ラベル付きノード設定部
３ｃ  欠陥識別モデル生成部
３ｄ  欠陥寄与度算出部
３ｇ  欠陥判定部
３ｈ  出力部
４  表示部
５  記憶部
５ａ  レイアウトパターン情報
５ｂ  ラベル付きノード情報
５ｃ  欠陥識別モデル情報
５ｄ  欠陥寄与度情報
１０ｐ１〜１０ｐｎ  レイアウトパターン
１１ａ，１１ｂ，１５ａ，１５ｂ  配線パターン
１２ａ，１２ｂ，１６ａ，１６ｂ  ノード
１３ａ，１３ｂ，１７ａ  ラベル
１４  検証対象パターン
【図１】
2017073046.tif 000005
【図２】
2017073046.tif 000006
【図３】
2017073046.tif 000007
【図４】
2017073046.tif 000008
【図５】
2017073046.tif 000009
【図６】
2017073046.tif 000010
【図７】
2017073046.tif 000011
【図８】
2017073046.tif 000012
【図９】
2017073046.tif 000013
【図１０】
2017073046.tif 000014
【図１１】
2017073046.tif 000015
【図１２】
2017073046.tif 000016
【図１３】
2017073046.tif 000017
【図１４】
2017073046.tif 000018
【図１５】
2017073046.tif 000019
【図１６】
2017073046.tif 000020
【図１７】
2017073046.tif 000021