JP6464763B2 - レイアウト検証装置、レイアウト検証方法およびレイアウト検証プログラム - Google Patents

レイアウト検証装置、レイアウト検証方法およびレイアウト検証プログラム Download PDF

Info

Publication number
JP6464763B2
JP6464763B2 JP2015007248A JP2015007248A JP6464763B2 JP 6464763 B2 JP6464763 B2 JP 6464763B2 JP 2015007248 A JP2015007248 A JP 2015007248A JP 2015007248 A JP2015007248 A JP 2015007248A JP 6464763 B2 JP6464763 B2 JP 6464763B2
Authority
JP
Japan
Prior art keywords
node
unit
label
adjacent
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2015007248A
Other languages
English (en)
Other versions
JP2016133936A (ja
Inventor
泉 新田
泉 新田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015007248A priority Critical patent/JP6464763B2/ja
Publication of JP2016133936A publication Critical patent/JP2016133936A/ja
Application granted granted Critical
Publication of JP6464763B2 publication Critical patent/JP6464763B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Preparing Plates And Mask In Photomechanical Process (AREA)

Description

本発明は、レイアウト検証装置、レイアウト検証方法およびレイアウト検証プログラムに関する。
近年LSI(Large Scale Integration)等の集積回路は、微細化技術の発展により、トランジスタや配線の寸法が光の波長よりも小さくなっている。この影響により、リソグラフィ工程において、設計されたレイアウトパターンどおりに形成されたマスクにより露光を行っても、光近接効果(Optical Proximity Effect)により、レイアウトパターンどおりに露光できない箇所が集積回路に生じる場合がある。例えば、レイアウトパターンどおりに形成されたマスクによりウエハ上に配線パターンを露光しても、ウエハ上に形成される配線パターンが細かくなって断線したり、逆に配線パターンが太くなってショートしたり、といった欠陥が発生する場合がある。
また、レイアウトパターンを事前に検証し、リソグラフィ欠陥の有無を判定することにより、LSI製造段階から設計段階への手戻りを防止する技術が知られている。このようなレイアウトパターンの設計検証は、リソグラフィシミュレーションを用いることで厳密な検証が可能であるが、これには多大な計算リソースを必要とする。一方、高速に検証を行うにはパターンマッチングと呼ばれる手法が用いられる。パターンマッチングとして、探索対称画像(テンプレート画像)を撮影画像等の非検証画像の全体内で網羅的に探すといった手法を用いることが一般的であるが、テンプレート画像との微小な差異がある場合に欠陥パターンと認識するかどうかの判断が難しい。欠陥の見逃しをゼロにするために、パターン間の微少な差異を許容すると、多数の欠陥ではない箇所が欠陥箇所として識別されることになり、検証工数の増大につながる。
このため、例えば、リソグラフィ工程において欠陥が発生する配線層および配線層に隣接する隣接配線層の欠陥箇所の周辺のレイアウトパターンの特徴を示す特徴情報を抽出し、抽出した特徴情報に基づいて欠陥箇所を識別する技術が提案されている。
特開2011−233069号公報 特開2013−175016号公報
しかしながら、上記の従来技術では、レイアウトパターンを精度よく検証できるとは限らない。具体的には、上記の従来技術は、レイアウトパターンに基づくグラフにおいて、例えば、ノード数やエッジ数等の特徴項目をそれぞれ抽出し、固定長の特徴ベクトルとして表現する。上記の従来技術はパターンの隣接関係をグラフによって精度良く表現することができるが、グラフの接続情報を特徴ベクトルとして抽出することが難しいという問題がある。グラフの各ノードがどのノードと接続するかを特徴として抽出すると、かかる特徴項目の数が増えるという問題だけでなく、グラフのノード数に応じて項目数が異なるため固定長の特徴ベクトルで表現することが難しいという問題がある。また、一般的に特徴項目の増大は、学習データから識別モデルを生成する際にオーバーフィテッィングを起こし、未知のパターンに対する識別精度の低下につながる可能性がある。つまり、上記の従来技術では、レイアウトパターンを精度よく検証できるとは限らない。
一側面では、レイアウトパターンを精度よく検証できるレイアウト検証装置、レイアウト検証方法およびレイアウト検証プログラムを提供することを目的とする。
本発明の一側面によれば、レイアウト検証装置は、ラベル生成部と、算出部と、検証部とを有する。ラベル生成部は、第一のレイアウトパターンに含まれるノード毎に、当該ノードの属性情報および当該ノードに隣接するノードとの属性情報とに基づいたラベルを生成する。算出部は、欠陥に係る情報が付与された第二のレイアウトパターンと、第一のレイアウトパターンとの類似度を、ラベルを用いて算出する。検証部は、類似度に基づいて、第一のレイアウトパターンの欠陥を検証する。
レイアウトパターンを精度よく検証できる。
図1は、レイアウト検証装置の全体構成を示す図である。 図2は、既知パターンデータに含まれる既知パターンの一例を示す図である。 図3Aは、属性情報とビット列との対応付けの一例を示す図である。 図3Bは、頂点種別の一例を示す図である。 図4は、ドロネー三角分割の流れを説明する図である。 図5は、属性情報に基づくノードラベルの生成方法を説明する図である。 図6Aは、自ノードと隣接ノードとの接続関係を示す図である。 図6Bは、自ノードラベルに隣接情報を付与する方法を説明する図である。 図7は、2つのグラフにおけるノードラベルを比較する図である。 図8は、2つのグラフの類似度算出方法を説明する図である。 図9は、識別モデル生成に関する全体的な処理の流れを示したフローチャートである。 図10は、自ノードの属性情報に基づくラベル生成手順を示すフローチャートである。 図11は、隣接情報付与手順を示すフローチャートである。 図12は、類似度算出の手順を示すフローチャートである。 図13は、未知パターンの欠陥に関する情報と、既知パターンを未知パターンとの類似度の高い順に表示した画面の一例を示す図である。 図14は、未知パターンにおける欠陥の検証に関する全体的な処理の流れを示したフローチャートである。 図15は、レイアウト検証プログラムを実行するコンピュータを示す図である。
以下に、本発明にかかるレイアウト検証装置、レイアウト検証方法およびレイアウト検証プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
実施例1に係るレイアウト検証装置10について説明する。図1は、レイアウト検証装置10の全体構成を示す図である。レイアウト検証装置10は、欠陥の有無が未知のレイアウトパターンにおいて、その欠陥を検証する装置である。そして、図1に示すように、レイアウト検証装置10は、欠陥の検証に用いる識別モデルを生成する識別モデル生成装置20と、実際に欠陥の検証を行うレイアウト検証部60によって構成される。まず、識別モデル生成装置20について説明する。なお、以下の実施例では、欠陥の有無が未知のレイアウトパターンを「未知パターン」、欠陥に係る情報が付与されている、すなわち、欠陥の有無が既知のレイアウトパターンを「既知パターン」と表記する場合がある。
(識別モデル生成装置)
識別モデル生成装置20は、例えば、パーソナルコンピュータやサーバコンピュータ等のコンピュータなどである。識別モデル生成装置20は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例1では、識別モデル生成装置20を1台のコンピュータとした場合を例として説明する。識別モデル生成装置20は、CAD(Computer Aided Design)装置などの設計者による集積回路の設計を支援する回路設計ソフトウェアが動作する設計装置であってもよい。図1に示すように、識別モデル生成装置20は、記憶部30と、制御部31とを有する。なお、図示しないが、識別モデル生成装置20は、入力部、表示部および通信I/F(インタフェース)を有してもよい。
記憶部30は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの記憶装置である。なお、記憶部23は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)等のデータを書き換え可能な半導体メモリであってもよい。
記憶部30は、制御部31で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部30は、識別モデル生成に用いる各種のプログラムを記憶する。さらに、記憶部30は、制御部31で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部30は、既知パターンデータ40と、ビットデータ41と、類似度データ42と、識別モデル情報43とを有する。
既知パターンデータ40は、既知パターン集合に関する一連の情報を記憶したデータである。そして、以下の実施例では、識別モデル生成装置20は、既知パターン集合として既知パターン集合P1,・・・,の入力を受け付けたものとして説明する。既知パターン集合P1,・・・,は、識別モデルの生成対象として入力されるものである。
既知パターンデータ40は、既知パターン集合P1,・・・,において、各既知パターンを構成する矩形や多角形の頂点座標リストを含む。例えば、各既知パターンP(i=1,・・・,n)を構成する矩形や多角形の集合を、P:{P,P,・・・,P,P}と表すことができる。また、多角形Pの頂点座標を、P={(xk1,yk1),・・・,(xkn,ykn),L}と表すことができる。Lは、多角形Pが存在する配線層を識別するための記号である。
図2は、既知パターンデータ40に含まれる既知パターンの一例を示す図である。図2の例では、既知パターン毎に、既知パターンを構成する各構成部品の頂点座標リストが記録されている。この頂点座標リストには、構成部品を示す図形のそれぞれの頂点座標が1行毎に記録されている。例えば、図2の例では、既知パターンPATTERN1の頂点座標リストとして、矩形RECT1の4つの頂点座標や、多角形POLY2の7つの頂点座標が示されている。頂点座標リストとしては、GDS(Graphic Data System)、OASIS(Open Artwork System Interchange Standard)等の既存の図形データフォーマットを利用してもよい。
また、既知パターンデータ40には、各既知パターンにおける欠陥の有無に関する情報(以下の実施例において、「欠陥有無情報」と表記する場合がある)も含まれる。例えば、既知パターンデータ40には、既知パターン集合P1,・・・,に対応付けて、欠陥有無情報e1,・・・,も含まれる。なお、ここでは、欠陥有無情報として概念的な記号を用いているが、実際には、例えば、欠陥を有するレイアウトパターンには「YES」、欠陥なしのレイアウトパターンには「NO」が対応付けられることが考えられる。また、欠陥有無情報は、上記の座標等とともに入力されるものである。
また、既知パターンデータ40には、グラフ生成部51により各既知パターンから生成された配線層毎のドロネー三角形のグラフ情報も含まれる。さらに、既知パターンデータ40には、かかるグラフの各ノードを識別するためのラベルであって、各ノードの属性情報と各ノードに隣接するノード(隣接ノード)の属性である隣接情報を考慮したラベルも含まれる。レイアウトパターンや、そこから生成されるドロネー三角形は一種のグラフととらえることができ、そのようなグラフの頂点はノードと呼ばれる。なお、以下の実施例では、ノードのラベルを「ノードラベル」と表記する場合がある。ノードラベルは、後述する自ノード部52aにより基盤が生成され、隣接ノード部52bによりさらに処理が加えられることで生成される。
例えば、既知パターン集合P1,・・・,から生成されたドロネー三角形D1,・・・,において、各ドロネー三角形D=(V,E)(i=1,・・・,n)のように形式的に定義することができる。Vは、ノード集合であり、V:{v,v,・・・,v,v=(x,y)}と表すことができる。例えば、ノードvは、座標(x,y)に位置することを示す。Eは、枝集合であり、E={e,e,・・・,e,e=(vj1,vj2)}と表すことができる。つまり、各枝eは、2つのノードvj1とvj2の間の無向枝であることを示す。
また、ドロネー三角形D1,・・・,の各ノードに対して、当該ノードの属性情報に基づいてラベルが生成された各ドロネー三角形Dは、D=(V,E,l)(i=1,・・・,n)のように形式的に定義することができる。VおよびEは、上記の通りである。lは、各ノードラベルを示し、l:{l1,l2,・・・,ln,li∈Σ,Σ={0,1}}と表すことができる。つまり、ノードラベルlは、l1からln要素を含み、長さpのビット列で表現されることを示す。
また、ドロネー三角形D1,・・・,の各ノードラベル対して、さらに隣接情報が付与された各ドロネー三角形DLiも、例えば、DLi=(V,E,l)(i=1,・・・,n)のように形式的に定義することができる。VおよびEは、上記の通りである。各ノードラベルlは、l1からln要素を含み、さらに隣接情報が考慮されたためにビット数が増える。このときの、ビット列の長さをqとすると、l:{l1,l2,・・・,ln,li∈Σ,Σ={0,1}}と表すことができる。すなわち、既知パターンデータ40は、ドロネー三角形DおよびDLnに関する情報を記憶したデータである。
なお、後述するが、レイアウト検証部60の算出部93は、かかる既知パターンデータ40から、例えば、既知パターン毎にノードラベル情報を取得し、既知パターンと未知パターンとの類似度を算出する。
ビットデータ41は、自ノード部52aがノードそれぞれについて、自ノードの属性情報をビット列で表現したラベルを生成する際に用いるデータである。すなわち、ビットデータ41は、ラベル生成のためのルールを記憶したデータといえ、例えば、属性情報毎に所定のビット列が対応付けられている。
後述するが、自ノード部52aは、自ノードの属性情報に基づくラベルを生成する。その際に、自ノード部52aは、かかるビットデータ41を用いる。具体的には、自ノード部52aは、まず、自ノードの属性情報を特定する。そして、自ノード部52aは、特定した属性情報に対応するビット列をビットデータ41から用いることにより、ビット列で表現したラベルを生成し、生成したラベルを既知パターンデータ40として各既知パターンに対応付けて格納する。なお、自ノードとは、ラベル生成対象または以下に示す隣接情報付与対象となっているノードを示す。
ここで、図3Aは、ノードの属性情報とビット列との対応付けの一例を示す図である。図3Aに示すように、ノードの属性情報としては、「頂点種別」、「パターン中心からの距離」、「隣接ノード数」および「隣接ノード間最短距離」がある。
例えば、図3AのデータD1に示すように、ビットデータ41は、頂点種別とビット列とを対応付けて記憶する。上述したように、頂点とはノードのことを指す。ここで、図3Bは、頂点種別の一例を示す図である。頂点種別としては、図3Bのように、凸頂点、凹頂点、ビア頂点がある。また、これらを組み合わせて、凸頂点とビア頂点との両方に対応する頂点(凸頂点+ビア頂点)、凹頂点とビア頂点との両方に対応する頂点(凹頂点+ビア頂点)がある。そして、各頂点種別に対応するビット列は、任意に定められてよいが重複はしない。
また、図3AのデータD2に示すように、ビットデータ41は、パターン中心から自ノードまでの距離とビット列とを対応付けて記憶する。各パターン中心からの距離に対応するビット列は、任意に定められてよいが重複はしない。
また、図3AのデータD3に示すように、ビットデータ41は、ラベル生成対象のノードに対する隣接ノード数とビット列とを対応付けて記憶する。各隣接ノード数に対応するビット列は、任意に定められてよいが重複はしない。
また、図3AのデータD4に示すように、ビットデータ41は、自ノードとの距離が最短である隣接ノードとの距離である隣接ノード間最短距離と、ビット列とを対応付けて記憶する。各隣接ノード間最短距離に対応するビット列は、任意に定められてよいが重複はしない。
なお、属性情報は、必ずしも図3Aに示す4種類の属性情報だけである必要はない。例えば、属性情報として、「パターン中心からの方向」、「異図形ノード間最短距離」、「異図形ノード間最長距離」等があってもよい。「パターン中心からの方向」は、パターン中心から見た自ノードの方向を示す。また、図3Bにおいて配線を示すパターンA1およびA2は、異図形ととらえることができる。つまり、「異図形ノード間最短距離」は、自ノードを含む図形から見て、自ノードを含まない図形のノードの中で、自ノードとの距離が最短であるノードとの距離を示す。一方、「異図形ノード間最長距離」は、自ノードを含む図形から見て、自ノードを含まない図形のノードの中で、自ノードとの距離が最長であるノードとの距離を示す。そして、それぞれの属性情報についてビット列を対応付けたテーブルがビットデータ41としてさらに設定されてもよい。
図1に戻り、類似度データ42は、既知パターン集合P1,・・・,における2つのレイアウトパターンの組合せであって、成立する全ての組合せにおける類似度をその組み合わせに対応付けて記憶したデータである。類似度データ42は、後述する算出部53により算出される。例えば、算出部53により既知パターンPとPとの類似度が「0.66」と算出された場合には、「0.66」が既知パターンPとPとの組み合わせに対応付けられ類似度データ42に格納される。また、類似度は、数値「0」〜「1」の範囲で表現され、数値「1」に近付くほど類似度は高くなる。
識別モデル情報43は、欠陥の検証に用いる識別モデルを記憶したデータである。識別モデル情報43には、後述する識別モデル生成部54により生成され、後述する式(4)で表現される。例えば、識別モデル43は、式(4)に示される重み係数αの値と、フィッティング係数βとを対応付けたものとして格納される。
制御部31は、識別モデル生成装置20を制御するデバイスである。制御部31としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部31は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部31は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部31は、受付部50と、グラフ生成部51と、ラベル生成部52と、算出部53と、識別モデル生成部54とを有する。
受付部50は、各種の受付を行う。例えば、受付部50は、図示しない所定の入力部を介して入力された既知パターン集合や、各既知パターンにおける欠陥有無情報を受け付ける。そして、受付部50は、受け付けた既知パターンを既知パターンデータ40として格納する。なお、受付部50は、入力部70を介して各種の受付を行うように構成されてもよい。
グラフ生成部51は、レイアウトパターンを構成する図形の頂点を結んでドロネー三角分割(Delaunay triangulation)を配線層毎に行って、図形の頂点を結んで得られる複数の三角形を求める。このような三角形は、ドロネー三角形と呼ばれる。グラフ生成部51は、例えば、既知パターン集合P1,・・・,それぞれから生成したドロネー三角形D1,・・・,に関する情報(座標等)を既知パターンデータ40として、既知パターン集合P1,・・・,のそれぞれに対応付けて格納する。
図4は、ドロネー三角分割の流れを説明する図である。図4(A)は、配線パターンの一例を示している。図4(B)は、図4(A)に示す配線パターンに対し生成されるボロノイ図(Voronoi diagram)を示している。図4(C)は、図4(A)に示す配線パターンもしくは図4(B)に示すボロノイ図に対し生成されるドロネー図(Delaunay diagram)である。なお、図4において、ドットのパターン部分は、配線部分を示している。
グラフ生成部51は、図4(A)に示すレイアウトパターンの配線部分の頂点座標を求め、求められた頂点座標から図4(B)に示すボロノイ図を生成する。ボロノイ図は、平面または空間上の点集合の各点について、どの点に最も近いかによって分割して生成される図である。そして、グラフ生成部51は、図4(B)に示すボロノイ図から、隣接する領域の母点(generatrix)同士を結ぶことにより、図4(C)に示すドロネー図を生成する。このドロネー図は、各図形間の相対位置関係を表現する。レイアウトパターンやドロネー三角形は、頂点であるノードとノード間をつなぐエッジにより構成されるため一種のグラフととらえることができる。
ラベル生成部52は、既知パターンに含まれるノード毎に、自ノードの属性情報および自ノードに隣接する隣接ノードとの属性情報である隣接情報とに基づいたラベルを生成する。図1に示すように、ラベル生成部52は、自ノード部52aと隣接ノード部52bとを有する。ここで、属性情報とは、図3Aに示した頂点種別、パターン中心からの距離、隣接ノード数および隣接ノード間最短距離である。
まず、自ノード部52aによる処理について説明する。自ノード部52aは、既知パターンに含まれるノード毎に、自ノードの属性情報に基づく基盤となるラベルを生成する。具体的には、自ノード部52aは、既知パターンから生成されたドロネー三角形のノード毎に、自ノードの属性情報を所定長のビット列表現したラベルを生成する。例えば、自ノード部52aは、ビットデータ41を参照し、記憶されているドロネー三角形D1,・・・,それぞれについてノード毎に、自ノードの属性情報を所定長のビット列で表現したラベルを生成する。そして、自ノード部52aは、生成したノードラベルの情報(ビット列)を既知パターンデータ40として、既知パターンP1,・・・,に対応付けて格納する。
図5は、属性情報に基づくノードラベルの生成方法を説明する図である。図5に示すように、ノードAをラベル生成の対象である自ノードとして説明する。まず、自ノード部52aは、ノードAの属性情報として頂点種別を特定する。例えば、ノードAは、凹頂点であるとともに、ビア上に存在するためビア頂点でもあるため、自ノード部52aは、ノードAの頂点種別を「凹頂点+ビア頂点」と特定する。そして、自ノード部52aは、ビットデータ41を参照し、特定した頂点種別に対応するビット列を取得する。例えば、自ノード部52aは、図3Aに示すビットデータ41のD1より、「凹頂点+ビア頂点」に対応するビット列「100」を取得する。なお、このような頂点種別に基づくビット列要素をl1とする。
また、自ノード部52aは、属性情報としてパターン中心から自ノードまでの距離を求める。距離は、各ノードの座標から求めることができる。例えば、自ノード部52aは、ノードAはパターン中心からの距離「30」に位置すると算出したとする。そして、自ノード部52aは、ビットデータ41を参照し、算出したパターン中心からの距離に対応するビット列を取得する。例えば、自ノード部52aは、図3Aに示すビットデータ41のD2より、パターン中心からの距離「30」に対応するビット列「000」を取得する。なお、このようなパターン中心からの距離に基づくビット列要素をl2とする。
また、自ノード部52aは、属性情報として自ノードに対する隣接ノード数を求める。図5の例では、自ノード部52aは、ノードAに対する隣接ノード数「7」を算出する。そして、自ノード部52aは、ビットデータ41を参照し、算出した隣接ノード数に対応するビット列を取得する。例えば、自ノード部52aは、図3Aに示すビットデータ41のD3より、隣接ノード数「7」に対応するビット列「111」を取得したとする。なお、このような隣接ノード数に基づくビット列要素をl3とする。
また、自ノード部52aは、属性情報として自ノードとの距離が最短である隣接ノードとの距離である隣接ノード間最短距離を求める。図5の例では、ノードAに対する隣接ノードのうち、ノードAとの距離が最短であるノードはパターン中心である。すなわち、自ノード部52aは、ノードAおよび各隣接ノードの座標に基づいて、隣接ノード間最短距離がパターン中心との距離「30」と算出する。そして、自ノード部52aは、ビットデータ41を参照し、算出した隣接ノード間最短距離に対応するビット列を取得する。例えば、自ノード部52aは、図3Aに示すビットデータ41のD4より、隣接ノード間最短距離「30」に対応するビット列「000」を取得する。なお、このような隣接ノード間最短距離に基づくビット列要素をl4とする。
ここで、自ノード部52aは、各ビット列要素l1〜l4を用いてノードラベルを生成する。具体的には、自ノード部52aは、各要素を順に結合することにより、ノードラベル「100000111000」を生成する。このようにして、自ノード部52aは、長さ12(12ビット)のビット列を生成する。なお、自ノード部52aによって生成されるビット列は、12ビットである必要はなく、例えば、16ビット等でもよい。つまり、ビット列を構成する要素が上記のように4つである必要はない。例えば、図3Aに示すビットデータ41として、データD1〜D4だけでなく、さらに多くの属性情報に関するテーブルを登録しておいてもよい。例えば、パターン中心に対する自ノードの方向(パターン中心からの方向)にビット列を対応付けたテーブルが登録されてもよい。これにより、ラベル生成部は、かかる属性情報に対応した要素分さらに長いビット列をノードラベルとして生成する。また、自ノード部52aは、このようなラベル生成処理を、記憶されている既知パターン集合それぞれの全てのノードについて行う。
次に、隣接ノード部52bによる処理について説明する。隣接ノード部52bは、自ノード部52aにより自ノードの属性情報に基づき生成されたノードラベル毎に、さらに隣接情報を付与する。隣接情報とは、自ノードに隣接する隣接ノードとの属性情報が表現された所定長のビット列である。具体的には、隣接ノード部52bは、自ノードの属性情報が表現された所定長のビット列と、隣接ノードとの属性情報が表現された所定長のビット列とを重なりなく結合することにより、属性情報に基づく基盤ラベルにさらに隣接情報を付与したノードラベルを生成する。この点について、図6Aおよび6Bを用いて説明する。
図6Aは、自ノードと隣接ノードとの接続関係を示す図である。また、図6Bは、自ノードラベルに隣接情報を付与する方法を説明する図である。図6Aに示すグラフG1は、既知パターンPから生成されたドロネー三角形に基づくグラフであるとする。自ノードをvとして、vにおける属性情報に基づき生成されたノードラベルに隣接情報を付与する例について以下で説明する。
図6Aより、自ノードvと隣接する隣接ノードは、ノードv、v、vおよびvである。ここで、図6BのF1に着目すると、自ノードvと隣接するノードのラベルである隣接ノードラベルL(v)〜L(v)の長さは「r」として示されている。また、自ノードラベルL(v)の長さは「p」として示されている。ノードの長さは、ビット数を示すが、ここでは概念的な記号で示すことにする。隣接ノード部52bは、自ノードラベルと隣接ノードラベルとの排他的論理和(XOR)により、近接ハッシュラベルを求める。算出された近接ハッシュラベルは、自ノードラベルを左詰めとして隣接ノードラベルが重なりなく付与されるため、その長さは「r+p」で示される。しかし、単に、自ノードラベルと隣接ノードラベルとをXORしてもこのような重なりのない構造のビット列のラベル(以下の実施例では、「ビットラベル」と表記する場合がある)は得られない。そこで、図6BのF2を用いて、隣接ノード部52bによるさらに具体的な処理を示す。
まず、隣接ノード部52bは、隣接ノードラベルL(v)〜L(v)全てをXORしたビットラベルである隣接ノードハッシュラベルNを算出する(ステップS1)。また、隣接ノード部52bは、自ノードラベルL(v)を左詰めしたビットラベルL(v)’を算出する(ステップS2)。左詰めするとは、HTMLタグとして「LEFTALIGN」を入力することに相当する。例えば、隣接ノード部52bは、4ビットのビット列「1000」で示される自ノードラベルL(v)を、7ビットのビット列に左詰めしたビットラベルとして算出する場合には、7ビットのビット列「0000000」を用いて、かかるビット列に対し「1000」を左詰めした「1000000」を、ビットラベルL(v)’として算出することになる。
次に、隣接ノード部52bは、隣接ノードハッシュラベルNと左詰めしたビットラベルL(v)’とのXORを算出する(ステップS3)。これにより、隣接ノード部52bは、自ノードラベルL(v)において隣接情報をハッシュして付与したラベルである隣接情報考慮ハッシュラベルN(v)を算出する。そして、このような処理は、下記の(1)式によって示される。
N(v)=XOR(XOR(L(v),L(v),L(v),L(v)),LEFTALIGNL(v)) (1)
そして、隣接ノード部52bは、隣接情報を付与したラベル情報を既知パターンデータ40として、既知パターンPに対応付けて格納する。また、隣接ノード部52bは、このような隣接情報付与処理を、記憶されている既知パターン集合それぞれの全てのノードラベルについて行う。なお、隣接ノード部52bにより隣接情報が付与されたノードラベルを有するドロネー三角形を、以下の実施例では、「隣接情報考慮ラベル付ドロネー三角形」と表記する場合がある。例えば、既知パターンPに対応した隣接情報考慮ラベル付ドロネー三角形は、隣接情報考慮ラベル付ドロネー三角形DLnと表記できる。そして、隣接ノード部52bは、このような隣接情報付与処理を、記憶されている既知パターン集合それぞれの全てのノードラベルについて行う。
このように、隣接ノード部52bは、自ノードに対して隣接する全ての隣接ノードのラベルをXORする。そして、隣接ノード部52bは、かかるXORによって得られたビットラベル(隣接ノードハッシュラベル)と、自ノードラベルを左詰めした新たなビットラベルとをXORすることにより、自ノードラベルにおける隣接情報考慮ハッシュラベルを算出する。すなわち、隣接ノード部52bは、自ノードラベルを示すビット列に対し、隣接ノードラベルのハッシュ値であるビット列を隣接情報として付与する。これにより、隣接ノード部52bは、ビットラベルが一致することによるハッシュ衝突を回避することができるので、例えば、後述する類似度算出等に基づくレイアウト検証の精度を向上させることができる。
なお、隣接ノード部52bは、隣接情報を付与した自ノードのラベルに対し、さらにかかる自ノードの近傍に位置するノードのラベル情報である近傍ノードラベルを付与してもよい。例えば、図6Aの例では、自ノードvに対しノードv、v、vおよびvは、隣接していないが近傍に存在している近傍ノードといえる。隣接ノード部52bは、上記のように算出した隣接情報考慮ハッシュラベルN(v)に対し、さらに近傍ノードラベルL(v)〜L(v)をXORしたハッシュ値を近傍情報として付与してもよい。
そして、隣接ノード部52bは、かかる処理を所定回数繰り返してよい。例えば、自ノードvからエッジを1ステップ進めたノードが隣接ノードv〜vである。また、自ノードvから隣接ノードv〜vを経由してエッジを2ステップ進めたノードが近傍ノードv〜vである。例えば、レイアウト検証装置10に繰り返し回数「1」が設定されている場合、隣接ノード部52bは、自ノードvからエッジを1ステップ進めたノードである隣接ノードv〜vに基づく隣接情報を、自ノードラベルL(v)に付与した隣接情報考慮ハッシュラベルN(v)を算出する。また、レイアウト検証装置10に繰り返し回数「2」が設定されている場合、隣接ノード部52bは、まず、自ノードラベルL(v)に隣接情報を付与した隣接情報考慮ハッシュラベルN(v)を算出する。次に、隣接ノード部52bは、自ノードvからエッジを2ステップ進めたノードである近傍ノードのラベルL(v)〜L(v)をXORしたハッシュ値を近傍情報として、隣接情報考慮ハッシュラベルN(v)とのXORにより付与する。
次に、隣接ノード部52bの隣接情報付与処理について具体的な値を用いて説明する。図7は、2つのグラフにおけるノードラベルを比較する図である。そして、各グラフのノードには、自ノード部52aにより、例えば、4ビットのビット列で表現された属性情報に基づくノードラベルが生成されているものとする。上記では、自ノード部52aは、12ビットのビットラベルを生成する例を示したが、ここでは説明を簡単にするために4ビットのビットラベルとする。
ここで、隣接ノード部52bによる処理後のノードラベルは、7ビットで表現されるものとする。7ビットのうち4ビットは自ノードラベルに対応するため、残り3ビットが隣接ノードラベルに基づく隣接情報に対応する。なお、隣接ノード部52bによる処理後のノードラベルを何ビットとするかは、予めレイアウト検証装置10に対して任意の値が設定されるものであってよい。例えば、隣接ノード部52bによる処理前のノードラベルが12ビットで表現されているなら、処理後を16ビットとしてもよいし、24ビットとしてもよい。
図7のグラフG2を用いて、隣接ノード部52bによって自ノードvのノードラベルL(v)に隣接情報が付与される例について説明する。上記のように、隣接ノード部52bによる処理後のノードラベル、すなわち、隣接情報配慮ハッシュラベルN(v)は、7ビットで表現され、そのうち左4ビットは、自ノードラベルL(v)に対応し、残り3ビットは、隣接ノードラベルL(v)とL(v)とをXORしたハッシュ値Nに対応するものとする。
具体的には、隣接ノード部52bは、まず、隣接ノードラベルL(v)とL(v)とから上位3ビットを取得する。すなわち、隣接ノード部52bは、ノードラベルL(v)の上位3ビット「111」およびノードラベルL(v)の上位3ビット「110」を取得する。そして、隣接ノード部52bは、これらをXORした値であるハッシュ値「001」を算出する。
次に、隣接ノード部52bは、自ノードラベルL(v)を7ビットのビット列に対し左詰めしたノードラベルL(v)’を算出する。具体的には、隣接ノード部52bは、ノードラベルL(v)を示すビット列「1000」を用いて、かかる4ビットのビット列を7ビットのビット列に対し左詰めしたノードラベルL(v)’である「1000000」を算出する。
そして、隣接ノード部52bは、隣接ノードラベルのハッシュ値Nと左詰めしたノードラベルL(v)’とのXORにより、自ノードラベルvの隣接情報考慮ハッシュラベルN(v)を算出する。具体的には、隣接ノード部52bは、「001」と「1000000」とのXORにより、自ノードラベルvにおける隣接情報考慮ハッシュラベル「1000001」を算出する。このような7ビットのビット列は、隣接ノード部52bにより、左4ビットを自ノードvのビットラベル「1000」に対して、隣接ノードvとvに基づくハッシュ値「001」を隣接情報として付与したものとして算出される。なお、グラフG3においても同様の処理により、例えば、自ノードvにおける隣接ハッシュラベル「0001000」が算出される。
ここで、グラフG2とG3を比較した場合、一見同形であるが、属性情報および隣接情報に基づくビット列で表現されたノードラベルを比較すると異なる場合がある。つまり、グラフG2とG3では、ノードvとノードvとが対応することが考えられるが、隣接情報考慮ハッシュラベル値で比較すると、その値は異なりハッシュ衝突しない。このことを利用して、レイアウト検証装置10は、2つのグラフの類似度を精度よく算出することにつなげることができる。
ここで、隣接情報の付与に関するスケーラビリティについて説明する。例えば、既知手法として、あるノードに対する近傍ハッシュを求めるために、d個の近接ノードを扱い、d+1個のビットラベルに対してXORを適応するものがある。ここで、近傍ハッシュの長さをpとすると、その長さpの近傍ハッシュは、ノード次数dに線形の時間で計算が可能である(O(pd))。一方、本実施例1では、図6Bに示したように、長さpのラベルに対し長さrの隣接情報を付与するため、隣接ノード部52bにより隣接情報が付与されたノードラベルの長さは、p+r≦2pとなる。すなわち、実施例1に係るレイアウト検証装置10では、隣接情報の付与に関する計算量は、O((p+r)d)≦O(2pd)=2×O(pd)となり、既知手法の2倍以内の計算時間に収めることができるうえに、上記のように検証精度も向上させることができる。また、実施例1に係るレイアウト検証装置10でも、ノード次数dに線形の時間で計算が可能である。
図1に戻り、算出部53は、所定の2つのレイアウトパターンの類似度を算出する。具体的には、算出部53は、既知パターン集合における2つのパターンの組合せであって、成立する全ての組合せにおける類似度を算出する。例えば、算出部53は、既知パターン集合P1,・・・,に対応する隣接情報考慮ラベル付ドロネー三角形D1,・・・,に基づくグラフにおいて、2つのグラフの組合せであって、成立する全ての組合せにおける類似度を算出する。なお、算出部53は、既知パターンデータ40からノードラベル情報を取得し、各組合せの類似度を算出し、算出した類似度を類似度データ42としてその組み合わせに対応付けて格納する。
図8は、2つのグラフの類似度算出方法を説明する図である。グラフG4およびG5は、所定の2つの既知パターンからそれぞれ生成されたドロネー三角形に基づくグラフである。
算出部53は、グラフ毎に各ノードのラベルでソートしたノードリストを生成し、生成したノードリストを用いて、2つのグラフにおいてどれだけのノードラベルが一致しているかを示すマッチング値kを算出する。また、算出部53は、算出結果である類似度を類似度データ42として格納する。
なお、算出部53は、ノードラベルの一致の判定基準をチューニング可能とする。具体的には、算出部53は、ノードリストにおいて対応するノードラベルの完全な一致に基づくマッチング値kの算出と、ノードリストにおいて対応するノードラベルの上位所定数一致に基づくマッチング値kの算出とを切り替えて行うことができる。
算出部53は、ノードリストにおいて対応するノードラベルの完全な一致に基づくマッチング値kを算出する場合、下記の(2)式を用いて算出する。cは、一致したラベルの数を示す。n1およびn2は各ノードリストの長さを示す。
k=c/(n1+n2−c) (2)
また、算出部53は、ノードリストにおいて対応するノードラベルの上位所定数一致に基づくマッチング値kを算出する場合、下記の(3)式を用いて算出する。size(n1,n2)は、比較するグラフのノード数の最小値、最大値、平均値等である。
k=c/size(n1,n2) (3)
ここで、算出部53の具体的な処理について説明する。例えば、グラフG4およびG5は、図8に示すような隣接情報が付与されたノードラベルを有するとする。ここでは、説明を簡単にするために、かかるノードラベルを4ビットのビットラベルとする。
算出部53は、基数ソートを用いて、グラフG4およびG5それぞれに対応するノードリストL4およびL5を生成する。算出部53によって生成されたノードリストL4およびL5を図8にさらに示す。図8の例では、ノードリストL4およびL5において、同番号のノードラベルが対応していることを示す。
以下では、まず、算出部53による対応するノードラベルの完全な一致に基づくマッチング値kの算出処理について説明する。算出部53は、生成したノードリストL4およびL5を参照し、対応するノードラベル同士が完全に一致しているか否かを判定する。そして、算出部53は、対応するノードラベル同士が完全に一致している場合には、カウンターcを「1」増やす。また、算出部53は、対応するノードラベル同士が一致していない場合には、カウンターcを増やさない。そして、算出部53は、最終的に求めたカウンターcの値を用いてマッチング値を算出する。
具体的には、算出部53は、まず、ノードリストL4およびL5の1番目のノードラベルを比較する。算出部53は、ノードラベル「0001」で完全一致していると判定し、カウンターcを1増やしてカウンターc「1」とする。次に、算出部53は、2番目のノードラベルを比較する。算出部53は、ノードラベル「0010」で完全一致していると判定し、カウンターcをさらに1増やしてカウンターc「2」とする。次に、算出部53は、3番目のノードラベルを比較する。算出部53は、ノードラベル「0100」と「0101」は一致していないと判定し、カウンターcを増やさずカウンターc「2」のままとする。算出部53は、このような操作を、最後(6番目)まで繰り返す。そして、算出部53は、1、2、4番目のノードラベルが完全一致していることから、最終的に、カウンターc「3」を取得する。
そして、算出部53は、(2)式を用いてマッチング値kを算出する。図8の例では、c=3、n1=6、n2=6となることから、算出部53は、k=3/(6+6−3)より、マッチング値k「0.33」を算出する。すなわち、算出部53は、グラフG4に対応するレイアウトパターンとグラフG5に対応するレイアウトパターンとの類似度「0.33」を得ることになる。なお、かかる2つのレイアウトパターンが同一である場合、c=n1=n2となることから、算出部53は、k=6/(6+6−6)より、マッチング値k「1」となることから、類似度「1」を得る。
次に、算出部53による対応するノードラベルの上位所定数一致に基づくマッチング値kの算出について説明する。ここでは、算出部53は、上位3ビットの一致を判定するものとする。算出部53は、生成したノードリストL4およびL5を参照し、対応するノードラベルの上位3ビットが一致しているか否かを判定する。そして、算出部53は、対応するノードラベルの上位3ビットが一致している場合には、カウンターcを「1」増やす。また、算出部53は、対応するノードラベルの上位3ビットが一致していない場合には、カウンターcを増やさない。そして、算出部53は、最終的に求めたカウンターcの値を用いてマッチング値kを算出する。
具体的には、算出部53は、まず、ノードリストL4およびL5の1番目のノードラベルを比較する。算出部53は、ノードラベル「0001」と「0001」との上位3ビットが「000」で一致していると判定し、カウンターcを1増やしてカウンターc「1」とする。次に、算出部53は、2番目のノードラベルを比較する。算出部53は、ノードラベル「0010」と「0010」との上位3ビットが「001」で一致していると判定し、カウンターcをさらに1増やしてカウンターc「2」とする。次に、算出部53は、3番目のノードラベルを比較する。算出部53は、ノードラベル「0100」と「0101」との上位3ビットが「010」で一致していると判定し、カウンターcをさらに1増やしてカウンターc「3」とする。算出部53は、このような操作を、最後(6番目)まで繰り返す。そして、算出部53は、1、2、3、4番目のノードラベルにおいて上位3ビットが一致していることから、最終的に、カウンター「4」を取得する。
そして、算出部53は、(3)式を用いてマッチング値kを算出する。図8の例では、c=4、また、比較するグラフG4およびG5のノード数の最小値を用いるとすると、size(n1,n2)=min(n1,n2)=6となる。このため、算出部53は、k=4/6より、マッチング値k「0.66」を算出する。すなわち、算出部53は、グラフG4に対応するレイアウトパターンとグラフG5に対応するレイアウトパターンとの類似度「0.66」を得る。
なお、図8の例では、グラフG4およびG5においてノード数が同じであるため、マッチング値kの算出に用いるノード数の最小値および最大値はいずれも「6」となる。しかし、算出部53は、例えば、グラフG4のノード数「10」、グラフG5のノード数「5」である場合は、size(n1,n2)=max(n1,n2)=10、または、size(n1,n2)=min(n1,n2)=5を用いることになる。
図1に戻り、識別モデル生成部54は、欠陥の有無が未知のレイアウトパターンにおいて欠陥を検証する識別モデルを生成する。例えば、識別モデル生成部54は、既知パターン集合P1,・・・,に対応する隣接情報考慮ラベル付ドロネー三角形D1,・・・,Lnにおいて、各ドロネー三角形とかかる既知パターンそれぞれの欠陥有無情報との組み合わせに基づく学習データセットT={(DLi,e),i=1,・・・,n}を生成する。また、識別モデル生成部54は、隣接情報考慮ラベル付ドロネー三角形DL1,・・・,Lnの類似度に基づく全部分カーネル行列Kを生成する。例えば、識別モデル生成部54は、隣接情報考慮ラベル付ドロネー三角形集合DL1,・・・,Lnの各組合せの類似度計算によってカーネル行列Kの各要素Kij=K(DLi,Lj)を計算する。
K(DLi,Lj)は、既知パターン集合P1,・・・,のうち、既知パターンPとP(i≠j)との類似度に基づくカーネル行列を示す。そして、識別モデル生成部54は、学習データセットTとカーネル行列Kijから、下記の(4)式によって示される識別モデルf(D)を生成する。αは、各演算式の重み係数であり、βは、識別モデルと学習データセットTのフィッティング係数である。
Figure 0006464763
識別モデル生成部54は、αをパラメータとし、例えば、最小二乗法、サポートベクタ回帰といった既知の回帰分析手法を用いた機械学習によりフィッティングを行い、f(D)に近い値が得られる重み係数αの値を求める。このようにして、識別モデル生成装置50は、求めた重み係数αの値を代入した(4)式を識別モデルとして生成する。そして、識別モデル生成部54は、例えば、重み係数αの値と、フィッティング係数βの値とを対応付けたものを、識別モデル情報43として格納する。
次に、本実施例1に係る識別モデル生成装置20が実行する処理の流れを図9を参照しながら説明する。図9は、識別モデル生成に関する全体的な処理の流れを示したフローチャートである。
受付部50は、既知パターン集合P1,・・・,に関するデータおよび各既知パターンにおける欠陥有無情報の入力を受け付けたか否かを判定する(S101)。既知パターン集合P1,・・・,に関するデータとは、各既知パターンPを構成する矩形や多角形の集合P:{P,P,・・・,P,P}や、例えば、各多角形Pの頂点座標(xkn,ykn)やその多角形が存在する配線層の識別情報Lである。また、既知パターンP1,・・・,のそれぞれに対応する欠陥有無情報e1,・・・,である。
受付部50は、各種情報を受け付けたと判定した場合には(S101;Yes)、受け付けた情報を既知パターンデータ40として格納するとともに、グラフ生成部51へと処理を移行する。一方、受付部50は、既知パターン集合P1,・・・,に関するデータを受け付けていないと判定した場合には(S101;No)、受け付けるまで待機する。
グラフ生成部51は、既知パターン集合P1,・・・,に対応するドロネー三角形D1,・・・,を生成する(S102)。具体的には、グラフ生成部51は、既知パターン集合P1,・・・,それぞれにおいて、各既知パターンを構成する図形の頂点を結んでドロネー三角分割を行い、図形の頂点を結んで得られる複数の三角形を求める。また、グラフ生成部51は、生成したドロネー三角形D1,・・・,それぞれにおける座標等の各種情報を、既知パターンデータ40として既知パターン集合P1,・・・,それぞれに対応付けて格納するとともに、ラベル生成部52へ処理を移行する。
ラベル生成部52は、既知パターンに含まれるノード毎に、自ノードの属性情報および自ノードに隣接する隣接ノードとの属性情報である隣接情報とに基づいたラベルを生成する。
まず、ラベル生成部52における自ノード部52aが、既知パターン集合P1,・・・,から生成されたドロネー三角形D1,・・・,それぞれについてノード毎に、自ノードの属性情報を所定長のビット列で表現した基盤となるラベルを生成する(S103)。なお、自ノード部52aによるラベル生成処理は、S201〜S208で詳細に説明する。
自ノード部52aは、自ノードの属性情報に基づくラベルを生成した各ドロネー三角形D(D=(V,E,l))の各ノードラベルlの値(ビット列)を、既知パターンデータ40として既知パターン集合P1,・・・,それぞれに対応付けて格納する。そして、自ノード部52aは、隣接ノード部52bへ処理を移行する。
次に、ラベル生成部52における隣接ノード部52bは、ドロネー三角形D1,・・・,それぞれについて、自ノード部52aにより自ノードの属性情報に基づき生成されたノードラベル毎に、さらに隣接情報を付与する(S104)。隣接情報とは、自ノードに隣接する隣接ノードとの属性情報が表現された所定長のビット列である。具体的には、隣接ノード部52bは、自ノードの属性情報が表現された所定長のビット列と、隣接ノードとの属性情報が表現された所定長のビット列とを重なりなく結合することで、属性情報に基づく基盤ラベルにさらに隣接情報を付与したノードラベルを生成する。なお、隣接ノード部52bによる隣接情報付与処理は、S301〜S310で詳細に説明する。
隣接ノード部52bは、隣接情報を付与した各ドロネー三角形DLi{DLi=(V,E,l),i=1,・・・,n}の各ノードラベルlの値(ビット列)を、既知パターンデータ40として既知パターン集合P1,・・・,それぞれに対応付けて格納する。そして、隣接ノード部52bは、算出部53へ処理を移行する。
算出部53は、所定の2つのレイアウトパターンの類似度を算出する。具体的には、算出部53は、既知パターン集合P1,・・・,における2つのパターンの組合せであって、成立する全ての組合せにおける類似度を算出する(S105)。そして、算出部53は、算出した類似度を類似度データ42として格納するとともに、識別モデル生成部54へ処理を移行する。なお、算出部53による類似度算出処理は、S401〜S405で詳細に説明する。
識別モデル生成部54は、未知パターンにおける欠陥を検証するための識別モデルを生成する(S106)。具体的には、識別モデル生成部54は、学習データセットTとカーネル行列Kとを用いて、(4)式に示す識別モデルを生成する。そして、識別モデル生成部54は、生成した識別モデルにおいて重み係数αの値と、フィッティング係数βの値とを対応付けたものを識別モデル情報43として格納し、処理を終了する。
次に、ラベル生成部52によるラベル生成処理の詳細な流れについて説明する。上述したように、ラベル生成部52は、自ノード部52aと、隣接ノード部52bとによって構成され、これら各部の処理により、最終的には属性情報および隣接情報に基づくノードラベルを生成する。
自ノード部52aは、既知パターン集合P1,・・・,から生成されたドロネー三角形D1,・・・,それぞれについてノード毎に、自ノードの属性情報を所定長のビット列表現した基盤となるラベルを生成する。図10は、自ノードの属性情報に基づくラベル生成の手順を示すフローチャートである。なお、ここでは、既知パターン集合のうちの一つである既知パターンPに対応するドロネー三角形Dのノード毎に、ラベルを生成する例について説明する。しかし、ラベル生成部52は、実際は、既知パターンデータ40に格納されている全ての既知パターン(既知パターン集合P1,・・・,)について同様の処理を行う。
まず、自ノード部52aは、既知パターンデータ40からドロネー三角形Dの情報を取得し、ノードのインデックスi=1と設定する(S201)(ノードvを自ノードとして処理を行うための命令)。そして、自ノード部52aは、ラベル生成対象である自ノードvの頂点種別を特定し、特定した頂点種別に対応するビット列要素(l1)をビットデータ41から取得する(S202)。
次に、自ノード部52aは、ノードvのパターン中心からの距離を求め、求めた距離に対応するビット列要素(l2)をビットデータ41から取得する(S203)。また、自ノード部52aは、ノードvに対する隣接ノード数を求め、求めた数に対応するビット列要素(l3)をビットデータ41から取得する(S204)。また、自ノード部52aは、ノードvとの距離が最短である隣接ノードとの距離である隣接ノード間最短距離を求め、求めた数に対応するビット列要素(l4)をビットデータ41から取得する(S205)。そして、自ノード部52aは、ビット列要素l1〜l4を順に結合することにより、ノードvの属性情報に基づくノードラベルlviを生成する(S206)。このようなノードラベルは、隣接情報を付与するうえでの基盤となるラベルである。
ドロネー三角形Dがn個のノードを有しているとすると、自ノード部52aは、かかるn個のノード全てにS202〜206の処理を行ったか否かを判定する。つまり、自ノード部52aは、i=nであるか否かを判定する(S207)。自ノード部52aは、i=nである場合には(S207;Yes)、S202〜206の処理を終了し、自ノードの属性情報に基づくラベルが生成されたドロネー三角形D(D=V,E,l)を得る。そして、自ノード部52aは、生成したノードラベルの値を既知パターンデータ40として、既知パターンPに対応付けて格納するとともに、隣接ノード部52bの処理S301へ移行する(S208)。一方、自ノード部52aは、i=nでない場合には(S207;No)、i=i+1としてS202〜206の処理を繰り返す(S209)。すなわち、自ノード部52aは、i=nを満たすまでS202〜206の処理を繰り返すことになる。なお、自ノード部52aによる自ノードの属性情報に基づくラベル生成処理は、必ずしもS202〜206の順で行われる必要はなく、これらの順は、任意の順で行われてよい。
上述したように、ここでは、既知パターン集合のうち、一つの既知パターンPに対応するドロネー三角形Dのノード毎に、ラベルを生成する例について説明した。しかし、記憶されている全ての既知パターンに対応するドロネー三角形について、このようなラベル生成処理が行われる必要がある。そこで、自ノード部52aは、一つの既知パターンの全てのノードに、自ノードの属性情報に基づくラベル生成処理を行った時点で、次の既知パターンを取得し、その全てのノードに自ノードの属性情報に基づくラベル生成処理を行うことを繰り返すよう設定されてよい。これにより、自ノード部52aは、既知パターン集合P1,・・・,それぞれについて、全てのノードに自ノードの属性情報に基づくラベルを生成する。
次に、隣接ノード部52bによる隣接情報付与処理の詳細な流れについて説明する。隣接ノード部52bは、既知パターン集合P1,・・・,から生成されたドロネー三角形D1,・・・,それぞれについて、自ノード部52aにより自ノードの属性情報に基づき生成されたノードラベル毎に、さらに隣接情報を付与する。具体的には、隣接ノード部52bは、自ノードの属性情報が表現された所定長のビット列と、隣接ノードとの属性情報が表現された所定長のビット列とを重なりなく結合することで、属性情報に基づく基盤ラベルにさらに隣接情報を付与したノードラベルを生成する。図11は、隣接情報付与の手順を示すフローチャートである。なお、ここでも、既知パターン集合のうちの一つである既知パターンPに対応するドロネー三角形Dのノード毎に、隣接情報を付与する例について説明する。
まず、隣接ノード部52bは、既知パターンデータ40からドロネー三角形Dの情報を取得し、ノードのインデックスi=1と設定する(S301)(ノードvを自ノードとして処理を行うための命令)。また、隣接ノード部52bは、繰り返し数itr=1と設定する(S302)。繰り返し数とは、上述したように、隣接情報付与対象の自ノードvに対し、エッジ何ステップ先のノードまでの情報を考慮するために処理を繰り返すかを示すものである。例えば、itr=1の場合には、隣接ノード部52bは、ノードvのラベルに、ノードvの隣接ノードに関する隣接情報を付与する。また、itr=2の場合には、隣接ノード部52bは、隣接情報を付与したノードvのラベルにさらに、ノードvから2ステップ先の近傍ノードに関する近傍情報を付与するために処理を繰り返す。なお、繰り返し数は、レイアウト検証装置10に予め設定されてよい。
そして、隣接ノード部52bは、ノードvの隣接ノードvil,・・・,imのラベルlil,・・・,imについて、隣接情報を付与するために必要な部分ビット列bil,・・・,imを取り出す(S303)。なお、上位何ビット取り出すかは、レイアウト検証装置10に対し予め任意の値が設定されてよい。次に、隣接ノード部52bは、取り出した部分ビット列bil,・・・,imのXORにより、隣接ノードハッシュラベルNを算出する(S304)。このような、隣接ノードハッシュラベルNがノードvの隣接情報ということになる。
次に、隣接ノード部52bは、ノードvのノードラベルlviを左詰めしたラベルlvi’を算出する(S305)。例えば、ノードラベルlviが12ビットのビットラベルであるとし、付与処理後のノードラベルを16ビットのビットラベルで表現するようレイアウト検証装置10に予め設定されているとする。この場合、隣接ノード部52bは、16ビットのビットラベルに対して、12ビットのノードラベルlviを左詰したノードラベルlvi’を算出する。
そして、隣接ノード部52bは、隣接ノードハッシュラベルNとノードラベルlvi’とのXORにより、ノードラベルlviに隣接情報を付与したラベルである隣接情報考慮ハッシュラベルlvi_newを算出する(S306)。
ここで、隣接ノード部52bは、設定されている繰り返し数itr=Rを満たしているか否かを判定する(S307)。隣接ノード部52bは、繰り返し数itr=Rが満たされていないと判定した場合(S307;No)は、itr=itr+1としてS303〜306の処理を繰り返す(S308)。すなわち、隣接ノード部52bは、ノードvからエッジ2ステップ進めたところに存在する各ノードを隣接ノードと見なし(実際は、近傍ノード)、S303〜306の処理を繰り返す。そして、隣接ノード部52bは、itr=Rを満たすまでかかる処理を繰り返すことになる。
一方、隣接ノード部52bは、繰り返し数itr=Rが満たされていると判定した場合(S307;Yes)、ドロネー三角形Dが有するn個のノード全てに隣接情報を付与したか否かを判定する。つまり、隣接ノード部52bは、i=nであるか否かを判定する(S309)。隣接ノード部52bは、i=nでないと判定した場合には(S309;No)、i=i+1としてS303〜306の処理を繰り返す(S310)。すなわち、隣接ノード部52bは、i=nを満たすまでS303〜306の処理を繰り返すことになる。
一方、隣接ノード部52bは、i=nである場合には(S309;Yes)、S303〜306の処理を終了し、隣接情報考慮ラベル付ドロネー三角形DL1(DL1=V,E,l)を得る。そして、隣接ノード部52bは、隣接情報を付与したノードラベルの値を既知パターンデータ40として、既知パターンPに対応付けて格納するとともに、算出部53の処理S401へ移行する(S311)。
なお、隣接ノード部52bは、自ノード部52aと同様に、一つの既知パターンの全てのノードラベルに、隣接情報付与処理を行った時点で、次の既知パターンを取得し、その全てのノードラベルに、隣接情報付与処理を行うことを繰り返すよう設定されてよい。これにより、隣接ノード部52bは、既知パターン集合P1,・・・,それぞれについて、全てのノードラベルに、隣接情報付与処理を行う。
次に、算出部53による類似度算出処理の詳細な流れについて説明する。算出部53は、所定の2つのレイアウトパターンの類似度を算出する。具体的には、算出部53は、記憶されている既知パターン集合(既知パターン集合P1,・・・,)における2つのパターンの組合せであって、成立する全ての組合せにおける類似度を算出する。例えば、算出部53は、既知パターン集合P1,・・・,に対応する隣接情報考慮ラベル付ドロネー三角形DL1,・・・,Lnに基づくグラフにおいて、2つのグラフの組合せであって、成立する全ての組合せにおける類似度を算出する。
ここでは、算出部53は、既知パターンPに基づく隣接情報考慮ラベル付ドロネー三角形DL1と、既知パターンPに基づく隣接情報考慮ラベル付ドロネー三角形DL2との類似度を算出する場合を例に挙げる。図12は、類似度算出の手順を示すフローチャートである。
まず、算出部53は、既知パターンデータ40から、隣接情報考慮ラベル付ドロネー三角形DL1と、隣接情報考慮ラベル付ドロネー三角形DL2とのノードラベル情報を取得する(S401)。
次に、算出部53は、各ドロネー三角形毎に、各ノードのラベルで基数ソートしたノードリストを生成する(S402)。そして、算出部53は、2つのノードリストにおいて対応するノードラベルが一致しているか否かを判定していくことにより(S403)、2つのドロネー三角形においてどれだけのノードラベルが一致しているかを示すマッチング値kを算出する(S404)。このとき、算出部53がノードリストにおいて対応するノードラベルが完全に一致しているか否かを判定する、または、ノードリストにおいて対応するノードラベルの上位所定数が一致しているか否かを判定するかは任意に設定されてよい。
続いて、算出部53は、かかるマッチング値kを既知パターンPとPとの類似度として類似度データ42に格納するとともに、識別モデル生成部54の処理S106へ移行する(S405)。なお、ここでは、算出部53は、既知パターンPとPとの類似度を算出する例について説明したが、上述したように、既知パターン集合P1,・・・,において成立する全ての組合せでの類似度を算出する。
(レイアウト検証部)
図1に戻り、レイアウト検証部60について説明する。レイアウト検証部60は、上述してきた識別モデル生成装置20により生成された既知パターンの類似度に基づく識別モデルを用いて、未知パターンにおける欠陥を検証する。例えば、レイアウト検証部60は、かかる識別モデルを用いて、未知パターンにおける欠陥の有無を識別する。以下では、レイアウト検証部60の欠陥検証に関する一連の処理について説明する。
なお、上述してきた識別モデル生成装置20は、既知パターンの集合を受け付け、各既知パターンに対応するドロネー三角形それぞれのノードにおいて、属性情報および隣接情報に基づくラベルを生成する。そして、識別モデル生成装置20は、生成したノードラベルを用いて算出した各既知パターン同士の類似度に基づいて識別モデルを生成する。これに対し、レイアウト検証部60は、検証対象である未知パターンを受け付け、受け付けた未知パターンに対応するドロネー三角形において、ノードの属性情報および隣接情報に基づくラベルを生成する。そして、レイアウト検証部60は、生成したノードラベルを用いて、既知パターンとの類似度算出や、欠陥の有無に関する検証を行う。このため、レイアウト検証部60の多くの部位は、識別モデル生成装置20の部位と同様の処理を行うと対応する。なお、同様の処理を行う部位についての詳細な説明は省略する。
レイアウト検証部60は、例えば、パーソナルコンピュータやサーバコンピュータ等のコンピュータなどである。レイアウト検証部60は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例1では、レイアウト検証部60を1台のコンピュータとした場合を例として説明する。レイアウト検証部60は、CAD装置などの設計者による集積回路の設計を支援する回路設計ソフトウェアが動作する設計装置であってもよい。図1に示すように、レイアウト検証部60は、入力部70と、表示部71と、通信I/F(インタフェース)部72と、記憶部73と、制御部74とを有する。
入力部70は、各種の情報を入力する入力デバイスである。入力部70としては、マウスやキーボード等の操作の入力を受け付ける入力デバイスが挙げられる。入力部70は、各種の入力を受け付ける。例えば、入力部70は、未知パターンおける欠陥の有無判定に関する各種の入力を受け付ける。入力部70は、ユーザからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部74に入力する。
表示部71は、各種情報を表示する表示デバイスである。表示部71としては、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)等の表示デバイスが挙げられる。表示部71は、各種情報を表示する。例えば、表示部71は、登録画面や、操作画面、検証結果画面など各種の画面を表示する。
通信I/F部72は、他の装置との間で通信制御を行うインタフェースである。通信I/F部72は、不図示のネットワークを介して他の装置と各種情報を送受信する。例えば、通信I/F部72としては、LANカードなどのネットワークインタフェースカードを採用できる。
記憶部73は、ハードディスク、SSD、光ディスクなどの記憶装置である。なお、記憶部73は、RAM、フラッシュメモリ、NVSRAM等のデータを書き換え可能な半導体メモリであってもよい。
記憶部73は、制御部74で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部73は、後述する欠陥の検証に用いる各種のプログラムを記憶する。さらに、記憶部73は、制御部74で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部73は、未知パターンデータ80と、ビットデータ81と、類似度データ82とを記憶する。
未知パターンデータ80は、例えば、一つの未知パターンPに関する情報を記憶したデータである。未知パターンPは、レイアウトパターンの検証対象として入力部70を介して入力される。未知パターンデータ80は、未知パターンPを構成する矩形や多角形の頂点座標リストを含む。例えば、未知パターンPを構成する矩形や多角形の集合を、P:{P,P,・・・,P,P}と表すことができる。また、多角形Pの頂点座標を、P={(xk1,yk1),・・・,(xkn,ykn),L}と表すことができる。Lは、多角形Pが存在する配線層を識別するための記号である。ここで、図2は、既知パターンデータ40に含まれる既知パターンの一例を示す図であるが、未知パターンにも対応するものである。
また、未知パターンデータ80には、グラフ生成部91により未知パターンPから生成された配線層毎のドロネー三角形のグラフ情報も含まれる。さらに、未知パターンデータ80には、かかるグラフの各ノード毎に生成された、属性情報および隣接情報に基づくラベルも含まれる。
例えば、未知パターンPから生成されたドロネー三角形Dにおいて、D=(V,E)のように形式的に定義することができる。Vは、ノード集合であり、V:{v,v,・・・,v,v=(x,y)}と表すことができる。ここで、各ノードvは、座標(x,y)に位置することを示す。Eは、枝集合であり、E={e,e,・・・,e,e=(vj1,vj2)}と表すことができる。つまり、各枝eは、2つのノードvj1とvj2の間の無向枝であることを示す。
また、ドロネー三角形Dの各ノードに対して、当該ノードの属性情報に基づいてラベルが生成されたドロネー三角形Dは、D=(V,E,l)のように形式的に定義することができる。VおよびEは、上記の通りである。lは、各ノードラベルを示し、l:{l1,l2,・・・,ln,li∈Σ,Σ={0,1}}と表すことができる。つまり、ノードラベルlは、l1からln要素を含み、長さpのビット列で表現されることを示す。
また、ドロネー三角形Dの各ノードラベル対して、さらに隣接情報が付与された各ドロネー三角形DLuも、例えば、DLu=(V,E,l)のように形式的に定義することができる。VおよびEは、上記の通りである。各ノードラベルlは、l1からln要素を含み、さらに隣接情報が考慮されたためにビット数が増える。このときの、ビット列の長さをqとすると、l:{l1,l2,・・・,ln,li∈Σ,Σ={0,1}}と表すことができる。すなわち、未知パターンデータ80は、ドロネー三角形DおよびDLnに関する情報を記憶したデータである。
ビットデータ81は、自ノード部92aがノードそれぞれについて、自ノードの属性情報をビット列で表現したラベルを生成する際に用いるデータであり、属性情報毎に所定のビット列が対応付けられている。すなわち、ビットデータ81は、ラベル生成のためのルールを記憶したデータといえる。また、ビットデータ81は、識別モデル生成装置20のビットデータ41に対応し、データ内容は図3Aに示した通りである。
類似度データ82は、検証対象として入力された未知パターンと、既知パターンとの類似度をその組み合わせに対応付けて記憶したデータである。
欠陥情報83は、検証部94により検証された結果を記憶したデータである。例えば、欠陥情報83は、未知パターンにおける欠陥の有無に関する情報やその情報の信頼度といった検証結果を記憶したデータである。
制御部74は、レイアウト検証部60を制御するデバイスである。制御部74としては、CPU、MPU等の電子回路や、ASIC、FPGA等の集積回路を採用できる。制御部74は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部74は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部74は、受付部90と、グラフ生成部91と、ラベル生成部92と、算出部93と、検証部94と、提示部95とを有する。
受付部90は、各種の受付を行う。例えば、受付部90は、未知パターンデータ80として用いる未知パターンの入力を受け付ける。例えば、受付部90は、図示しない入力画面を表示させ、入力画面から未知パターンデータ80として用いる未知パターンの入力を受付ける。入力された未知パターンは、未知パターンデータ80として記憶される。
グラフ生成部91は、レイアウトパターンを構成する図形の頂点を結んでドロネー三角分割を配線層毎に行って、図形の頂点を結んで得られる複数の三角形を求める。すなわち、グラフ生成部91は、識別モデル生成装置20のグラフ生成部51と同様の処理を行う部位であるため詳細な説明は省略する。なお、グラフ生成部91は、例えば、未知パターンPから生成したドロネー三角形Dに関する情報(座標等)を未知パターンデータ80として、未知パターンPに対応付けて格納する。
ラベル生成部92は、未知パターンに含まれるノード毎に、自ノードの属性情報および自ノードに隣接する隣接ノードとの属性情報である隣接情報とに基づいたラベルを生成する。図1に示すように、ラベル生成部92は、自ノード部92aと隣接ノード部92bとを有する。
自ノード部92aは、未知パターンに含まれるノード毎に、自ノードの属性情報に基づく基盤となるラベルを生成する。具体的には、自ノード部92aは、未知パターンから生成されたドロネー三角形のノード毎に、自ノードの属性情報を所定長のビット列表現したラベルを生成する。例えば、自ノード部92aは、グラフ生成部91により未知パターンPから生成されたドロネー三角形Dのノード毎に、自ノードの属性情報を所定長のビット列表現したラベルを生成する。そして、自ノード部92aは、生成したラベル情報を未知パターンデータ80として、未知パターンPに対応付けて格納する。
また、隣接ノード部92bは、自ノード部92aにより自ノードの属性情報に基づき生成されたノードラベル毎に、さらに隣接情報を付与する。上述したように、隣接情報とは、自ノードに隣接する隣接ノードとの属性情報が表現された所定長のビット列である。具体的には、隣接ノード部92bは、自ノードの属性情報が表現された所定長のビット列と、隣接ノードとの属性情報が表現された所定長のビット列とを重なりなく結合することにより、属性情報に基づく基盤ラベルにさらに隣接情報を付与したノードラベルを生成する。例えば、隣接ノード部92bは、ドロネー三角形Dにおいて、自ノード部92aにより自ノードの属性情報に基づいて生成されたノードラベル毎に、当該ノードラベルと重ならないよう隣接情報を付与する。そして、隣接ノード部92bは、隣接情報を付与したラベル情報を未知パターンデータ80として、未知パターンPに対応付けて格納する。
以上のことから、対象が未知パターンか既知パターンであるかの違いだけであり、ラベル生成部92における自ノード部92aおよび隣接ノード部92bは、識別モデル生成装置20の自ノード部52aおよび隣接ノード部52bと同様の処理を行う部位である。よって、詳細な説明は省略する。
算出部93は、所定の2つのレイアウトパターンの類似度を算出する。具体的には、算出部93は、未知パターンと、既知パターンデータ40に格納されている全ての既知パターンとの類似度を算出する。例えば、算出部93は、未知パターンPと、既知パターン集合P1,・・・,における全ての既知パターンとの類似度を算出する。つまり、算出部93は、既知パターンデータ40から一つの既知パターン(例えば、既知パターンP)を取得し、未知パターンPとの類似度を算出する。そして、算出部93は、未知パターンPと既知パターンPといった組み合わせに対応付けて、算出した類似度を類似度データ82として格納する。次に、算出部93は、既知パターンデータ40から別の一つの既知パターンを取得し、同様に未知パターンPとの類似度を算出し、算出結果を格納する。算出部93は、このような処理を全ての組合せについて行う。
具体的な処理としては、算出部93は、例えば、未知パターンPに対応するドロネー三角形Dと、既知パターンPに対応するドロネー三角形Dにおいて、対応するノードラベルのマッチング値kを算出する。ここで、算出部53の説明で記載したように、算出部93は、対応するノードにおいて、そのビット列の完全一致を判定するか、あるいは、上位所定数一致を判定するかをチューニング可能にされる。そして、算出部93は、算出したマッチング値kを類似度として格納する。
以上のことから、未知パターンと既知パターンとの類似度を算出する、または、既知パターン同士の類似度を算出するかの違いだけであって、算出部93は、算出部53と同様の処理を行う部位である。よって、詳細な説明は省略する。
検証部94は、算出部93により算出された未知パターンと既知パターンとの各組合せの類似度と、識別モデル生成部54により生成された識別モデルとを用いて、未知パターンの欠陥の有無を検証する。また、検証部94は、検証結果の信頼度を算出する。
具体的には、検証部94は、上記の(4)式として示した識別モデルf(D)に基づく下記の(5)式を解くことにより、例えば、隣接情報考慮ラベル付ドロネー三角形DLu、すなわち、未知パターンPに対する欠陥の有無を判定する。
Figure 0006464763
検証部94は、既知パターン集合P1,・・・,に基づく隣接情報考慮ラベル付ドロネー三角形集合DL1,・・・,Lnと、未知パターンPに基づく隣接情報考慮ラベル付ドロネー三角形集合DLuとの類似度に基づくカーネル行列K(DLi,Lu)を生成する。そして、検証部94は、生成したカーネル行列を(5)式に代入することで、(5)式の解を得る。
そして、検証部94は、f(DLu)≧0の場合は、欠陥ありと識別し、f(DLu)<0の場合は、欠陥なしと識別する。また、検証部94は、このような欠陥に関する情報の信頼度として|f(DLu)|を算出する。また、検証部94は、このような欠陥に関する情報やその情報の信頼度を欠陥情報83として、未知パターンPに対応付けて格納する。
提示部95は、算出部93により算出された類似度に基づいて、既知パターンを未知パターンとの類似度が高い順に提示する。このとき、提示部95は、検証部94により求められた欠陥の有無に関する情報やその情報の信頼度も提示する。例えば、提示部95は、検証部94から未知パターンPの検証終了を示す信号を受け付けた場合に、類似度データ82を参照し、未知パターンPとの類似度の大きさに応じた順位付けを各既知パターンに対して行う。そして、提示部95は、例えば、各順位に既知パターン名と、パターンの図面と、類似度とを対応付け、表示部71を介して提示する。また、提示部95は、欠陥情報83から、未知パターンPの欠陥の有無に関する情報やその情報の信頼度を取得し、表示部71を介して提示する。
ここで、図13に、表示部71により表示された画面の一例を示す。図13は、未知パターンの欠陥に関する情報と、既知パターンを未知パターンとの類似度の高い順に表示した画面の一例を示す図である。図13の例は、検証部94が未知パターン「U10022」は欠陥ありと識別し、その検証結果の信頼度を「0.97」と算出したことを示している。また、図13の例は、算出部93が未知パターン「U10022」と、既知パターン「P025」、「P002」、「P008」、「P027」それぞれとの類似度を、「0.99」、「0.98」、「0.97」、「0.58」と算出したことを示す。さらに、図13の例は、提示部95が、未知パターン「U10022」との類似度の大きさに応じた順位として、「P025:1位」、「P002:2位」、「P008:3位」、「P027:4位」といった順位付けを行ったことを示す。
なお、図13では、表示部71を介して順位1位〜4位までの既知パターンを提示する例を示しているが、この例に限らず、例えば、1〜10位までであってもよい。すなわち、どの順位まで提示するかは、提示部95に対し任意に設定されてよい。
次に、本実施例1に係るレイアウト検証部60が実行する処理の流れを図14を参照しながら説明する。ここでは、図14は、未知パターンPにおける欠陥の検証に関する全体的な処理の流れを示したフローチャートである。なお、各部の詳細なフローについては、図10〜図12を用いて上記しているためここでは省略する。
受付部90は、未知パターンPに関するデータ入力を受け付けたか否かを判定する(S501)。未知パターンPに関するデータとは、未知パターンPを構成する矩形や多角形の集合P:{P,P,・・・,P,P}や、例えば、各多角形Pの頂点座標(xkn,ykn)やその多角形が存在する配線層の識別情報L等である。
受付部90は、未知パターンPに関するデータを受け付けたと判定した場合には(S501;Yes)、受け付けた情報を未知パターンデータ80として格納するとともに、グラフ生成部91へと処理を移行する。一方、受付部90は、未知パターンPに関するデータを受け付けていないと判定した場合には(S501;No)、受け付けるまで待機する。
グラフ生成部91は、未知パターンPに対するドロネー三角形Dを生成する(S502)。具体的には、グラフ生成部91は、未知パターンPを構成する図形の頂点を結んでドロネー三角分割を行い、図形の頂点を結んで得られる複数の三角形を求める。また、グラフ生成部91は、生成したドロネー三角形Dにおける座標等の各種情報を、未知パターンデータ80として未知パターンPに対応付けて格納するとともに、ラベル生成部92へ処理を移行する。
ラベル生成部92は、未知パターンに含まれるノード毎に、自ノードの属性情報および自ノードに隣接する隣接ノードとの属性情報である隣接情報とに基づいたラベルを生成する。
まず、ラベル生成部92における自ノード部92aが、未知パターンPから生成されたドロネー三角形Dについてノード毎に、自ノードの属性情報を所定長のビット列で表現した基盤となるラベルを生成する(S503)。
自ノード部92aは、自ノードの属性情報に基づくラベルを生成したドロネー三角形D(D=(V,E,l))の各ノードラベルlの値(ビット列)を、未知パターンデータ80として未知パターンPに対応付けて格納する。そして、自ノード部92aは、隣接ノード部92bへ処理を移行する。
次に、ラベル生成部92における隣接ノード部92bは、ドロネー三角形Dそれぞれについて、自ノード部92aにより自ノードの属性情報に基づき生成されたノードラベル毎に、さらに隣接情報を付与する(S504)。隣接情報とは、自ノードに隣接する隣接ノードとの属性情報が表現された所定長のビット列である。具体的には、隣接ノード部92bは、自ノードの属性情報が表現された所定長のビット列と、隣接ノードとの属性情報が表現された所定長のビット列とを重なりなく結合することで、属性情報に基づく基盤ラベルにさらに隣接情報を付与したノードラベルを生成する。
隣接ノード部92bは、隣接情報を付与したドロネー三角形DLu(DLu=(V,E,l))の各ノードラベルlの値(ビット列)を、未知パターンデータ80として、未知パターンPに対応付けて格納する。そして、隣接ノード部92bは、算出部93へ処理を移行する。
算出部93は、所定の2つのレイアウトパターンの類似度を算出する。具体的には、算出部93は、未知パターンと、既知パターンデータ40に格納されている全ての既知パターンとの類似度を算出する(S505)。例えば、算出部93は、未知パターンデータ80から未知パターンPの属性情報および隣接情報に基づくノードラベルを取得する。また、算出部93は、既知パターンデータ40から1つの既知パターンの属性情報および隣接情報に基づくノードラベルを取得する。そして、算出部93は、各パターンについて、取得したノードラベルを基数ソートし、未知パターンPと所定の1つの既知パターンとで対応するノードラベルの一致を判定することによりマッチング値kを算出する。算出部93は、算出したマッチング値kを類似度データ82として、未知パターンPと既知パターンの組合せに対応付けて格納する。そして、算出部93は、既知パターンデータ40から別の1つの既知パターンのノードラベルを取得することにより、未知パターンPとの類似度を算出することを繰り返し、全ての既知パターンに対してこれを行う。
検証部94は、未知パターンの欠陥を検証する。具体的には、検証部94は、算出部93により算出された未知パターンと既知パターンとの各組合せの類似度と、識別モデル生成部54により生成された識別モデルとを用いて、未知パターンの欠陥の有無を検証する(S506)。また、検証部94は、検証結果である欠陥の有無に関する情報の信頼度も算出する。具体的には、検証部94は、上記の(5)式に、かかる類似度に基づくカーネル行列を代入することで、欠陥の有無を示す解を算出する。そして、検証部94は、求めた欠陥に関する情報やその情報の信頼度を欠陥情報83として、未知パターンPに対応付けて格納するとともに、提示部95へ処理を移行する。
提示部95は、算出部93により算出された類似度に基づいて、既知パターンを未知パターンとの類似度が高い順に提示する(S507)。このとき、提示部95は、検証部94により求められた欠陥の有無に関する情報やその情報の信頼度も提示する。例えば、提示部95は、検証部94から未知パターンPの検証終了を示す信号を受け付けた場合に、類似度データ82を参照し、未知パターンPとの類似度の大きさに応じた順位付けを各既知パターンに対して行う。また、提示部95は、欠陥情報83から、未知パターンPの欠陥の有無に関する情報やその情報の信頼度を取得する。そして、提示部95は、例えば、既知パターン名、パターン図面、類似度を順位に対応付け、未知パターンPの欠陥の有無に関する情報やその情報の信頼度とともに提示する。
上述してきたように、レイアウト検証装置10は、ラベル生成部92(ラベル生成部52)と、算出部93(算出部53)と、検証部94とを有する。ラベル生成部92は、第一のレイアウトパターンに含まれるノード毎に、当該ノードの属性情報および当該ノードに隣接するノードとの属性情報とに基づいたラベルを生成する。算出部93は、欠陥に係る情報が付与された第二のレイアウトパターンと、第一のレイアウトパターンとの類似度を、ラベルを用いて算出する。検証部94は、類似度に基づいて第一のレイアウトパターンの欠陥を検証する。これにより、レイアウト検証装置10は、第一のレイアウトパターンを精度よく検証することができる。
また、レイアウト検証装置10においてラベル生成部92は、自ノードの属性情報が表現された所定長のビット列と、隣接するノードの属性情報が表現された所定長のビット列とを、重なりなく結合して前記ラベルを生成する。これにより、レイアウト検証装置10は、各ノードについて、自ノードの属性情報と隣接情報とを考慮した一つのノードラベルとして表現することができるため、例えば、特徴項目が増えることによる検証の際のオーバーフィッティングを回避することができる。このためレイアウト検証装置10は、類似度を高精度に算出することにつなげることができる。
また、レイアウト検証装置10においてラベル生成部92は、属性情報として、配線であるかビアであるかを示す情報、凸点であるか凹点であるかを示す情報、パターン中心からの距離、隣接するノードの個数、隣接するノード間の最短距離のいずれか一つまたは複数に基づいて、ラベルを生成する。これにより、レイアウト検証装置10は、各ノードについて、自ノードの複数の属性情報と隣接情報とを考慮した一つのノードラベルとして表現することができるため、例えば、特徴項目が増えることによる検証の際のオーバーフィッティングを回避することができる。このため、レイアウト検証装置10は、類似度を高精度に算出することにつなげることができる。
また、レイアウト検証装置10において識別モデル生成部54は、複数の第二のレイアウトパターンと欠陥の有無とを対応付けたデータセットと、第二のレイアウトパターン同士の類似度に基づく類似度行列とを用いて、欠陥の有無を識別する識別モデルを生成する。これにより、レイアウト検証装置10は、第一のレイアウトパターンにおける欠陥の有無の検証を高精度に行うことができる。
また、レイアウト検証装置10において提示部95は、第二のレイアウトパターンを、第一のレイアウトパターンとの類似度が高い順に提示する。これにより、レイアウト検証装置10は、ユーザに対し、第一のレイアウトパターンとの類似度の大きさに応じて第二のレイアウトパターンをその類似度とともに複数一度に視認させることができるため、ユーザの満足度を高めることができる。
上述してきたように、レイアウト検証装置10は、欠陥の検証に用いる識別モデルを生成する識別モデル生成装置20と、実際に欠陥の検証を行うレイアウト検証部60といった異なる2つの装置によって構成される例について説明してきた。しかし、レイアウト検証装置10は、識別モデル生成装置20と、レイアウト検証部60とが1つの装置として構成されてもよい。
すなわち、識別モデル生成装置20と、レイアウト検証部60とが一体化された装置をレイアウト検証装置10としてもよく、このような場合、図1を参照し、同一名の部位を一つの部位として構成させることができる。例えば、受付部50と90、グラフ生成部51と91、ラベル生成部52と92、算出部53と93において、これら各組合せの部位が行う処理は、互いに同一であり対応している部位であるため、一つの部位として構成させることができる。具体的には、上記各組合せの部位において、処理対象が未知パターンであるか、既知パターンであるか、また、処理対象の組合せが既知パターン同士であるか、未知パターンと既知パターンであるかの違いであり、処理動作そのものに違いはないため、一つの部位として構成させることができる。また、ビットデータ41および81も記憶しているデータ内容は同一のものであるため、一つの部位として構成させることができる。
さて、これまでレイアウト検証装置10について、実施例1および実施例2で説明してきた。しかし、レイアウト検証装置10は、かかる実施例以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
実施例1では、レイアウト検証装置10は、未知パターンとして、1つの未知パターンPの入力を受け付け、その欠陥を検証する例について説明してきたが、この例に限定されるものではない。例えば、レイアウト検証装置10は、複数の未知パターンの入力を受け付けてもよい。そして、レイアウト検証装置10は、受け付けた複数の未知パターンの全てを同時に、または、順に検証してもよい。また、レイアウト検証装置10は、受け付けた複数の未知パターンのうち所定数を選択させ、それらを同時に、または、順に検証してもよい。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[レイアウト検証プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図15は、欠陥箇所予測プログラムを実行するコンピュータを示す図である。
図15に示すように、コンピュータ300は、CPU310、ROM(Read Only Memory)320、HDD(Hard Disk Drive)330、RAM(Random Access Memory)340を有する。これら310〜340の各部は、バス400を介して接続される。
ROM320には上記実施例の各処理部と同様の機能を発揮するレイアウト検証プログラム320aが予め記憶される。例えば、上記実施例の受付部90、グラフ生成部91、ラベル生成部92、算出部93、検証部94および提示部95と同様の機能を発揮するレイアウト検証プログラム320aを記憶させる。なお、欠陥箇所予測プログラム320aについては、適宜分離しても良い。
HDD330には、各種データを記憶する。例えば、HDD330は、OSや各種データを記憶する。
そして、CPU310が、レイアウト検証プログラム320aをROM320から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、欠陥箇所予測プログラム320aは、実施例の受付部90、グラフ生成部91、ラベル生成部92、算出部93、検証部94および提示部95と同様の動作を実行する。
なお、上記した欠陥箇所予測プログラム320aについては、必ずしも最初からROM320に記憶させることを要しない。レイアウト検証プログラム320aはHDD330に記憶させてもよい。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)第一のレイアウトパターンに含まれるノード毎に、当該ノードの属性情報および当該ノードに隣接するノードとの属性情報とに基づいたラベルを生成するラベル生成部と、
欠陥に係る情報が付与された第二のレイアウトパターンと、前記第一のレイアウトパターンとの類似度を、前記ラベルを用いて算出する算出部と、
前記類似度に基づいて、前記第一のレイアウトパターンの欠陥を検証する検証部と
を有することを特徴とするレイアウト検証装置。
(付記2)前記ラベル生成部は、自ノードの属性情報が表現された所定長のビット列と、前記隣接するノードの属性情報が表現された所定長のビット列とを、重なりなく結合して前記ラベルを生成する
ことを特徴とする付記1に記載のレイアウト検証装置。
(付記3)前記ラベル生成部は、前記属性情報として、配線であるかビアであるかを示す情報、凸点であるか凹点であるかを示す情報、パターン中心からの距離、隣接するノードの個数、隣接するノード間の最短距離のいずれか一つまたは複数に基づいて、前記ラベルを生成する
ことを特徴とする付記1または2に記載のレイアウト検証装置。
(付記4)複数の前記第二のレイアウトパターンと欠陥の有無とを対応付けたデータセットと、前記第二のレイアウトパターン同士の類似度に基づく類似度行列とを用いて、前記欠陥の有無を識別する識別モデルを生成する識別モデル生成部をさらに有し、
前記検証部は、前記識別モデルを用いて、前記第一のレイアウトパターンの欠陥を検証する
ことを特徴とする付記1〜3の何れか一つに記載のレイアウト検証装置。
(付記5)前記第二のレイアウトパターンを、前記第一のレイアウトパターンとの前記類似度が高い順に提示する提示部をさらに有する
ことを特徴とする付記1〜4の何れか一つに記載のレイアウト検証装置。
(付記6)コンピュータが、
第一のレイアウトパターンに含まれるノード毎に、当該ノードの属性情報および当該ノードに隣接するノードとの属性情報とに基づいたラベルを生成するラベル生成し、
欠陥に係る情報が付与された第二のレイアウトパターンと、前記第一のレイアウトパターンとの類似度を、前記ラベルを用いて算出する算出し、
前記類似度に基づいて、前記第一のレイアウトパターンの欠陥を検証する検証する
処理を実行することを特徴とするレイアウト検証方法。
(付記7)自ノードの属性情報が表現された所定長のビット列と、前記隣接するノードの属性情報が表現された所定長のビット列とを、重なりなく結合して前記ラベルを生成する
ことを特徴とする付記6に記載のレイアウト検証方法。
(付記8)前記属性情報として、配線であるかビアであるかを示す情報、凸点であるか凹点であるかを示す情報、パターン中心からの距離、隣接するノードの個数、隣接するノード間の最短距離のいずれか一つまたは複数に基づいて、前記ラベルを生成する
ことを特徴とする付記6または7に記載のレイアウト検証方法。
(付記9)複数の前記第二のレイアウトパターンと欠陥の有無とを対応付けたデータセットと、前記第二のレイアウトパターン同士の類似度に基づく類似度行列とを用いて、前記欠陥の有無を識別する識別モデルを生成する識別モデル生成し、
前記識別モデルを用いて、前記第一のレイアウトパターンの欠陥を検証する
ことを特徴とする付記6〜8の何れか一つに記載のレイアウト検証方法。
(付記10)前記第二のレイアウトパターンを、前記第一のレイアウトパターンとの前記類似度が高い順に提示する
ことを特徴とする付記6〜9の何れか一つに記載のレイアウト検証装置。
(付記11)コンピュータが、
第一のレイアウトパターンに含まれるノード毎に、当該ノードの属性情報および当該ノードに隣接するノードとの属性情報とに基づいたラベルを生成するラベル生成し、
欠陥に係る情報が付与された第二のレイアウトパターンと、前記第一のレイアウトパターンとの類似度を、前記ラベルを用いて算出する算出し、
前記類似度に基づいて、前記第一のレイアウトパターンの欠陥を検証する検証する
処理を実行することを特徴とするレイアウト検証プログラム。
(付記12)自ノードの属性情報が表現された所定長のビット列と、前記隣接するノードの属性情報が表現された所定長のビット列とを、重なりなく結合して前記ラベルを生成する
ことを特徴とする付記11に記載のレイアウト検証プログラム。
(付記13)前記属性情報として、配線であるかビアであるかを示す情報、凸点であるか凹点であるかを示す情報、パターン中心からの距離、隣接するノードの個数、隣接するノード間の最短距離のいずれか一つまたは複数に基づいて、前記ラベルを生成する
ことを特徴とする付記11または12に記載のレイアウト検証プログラム。
(付記14)複数の前記第二のレイアウトパターンと欠陥の有無とを対応付けたデータセットと、前記第二のレイアウトパターン同士の類似度に基づく類似度行列とを用いて、前記欠陥の有無を識別する識別モデルを生成する識別モデル生成し、
前記識別モデルを用いて、前記第一のレイアウトパターンの欠陥を検証する
ことを特徴とする付記11〜13の何れか一つに記載のレイアウト検証プログラム。
(付記15)前記第二のレイアウトパターンを、前記第一のレイアウトパターンとの前記類似度が高い順に提示する
ことを特徴とする付記11〜14の何れか一つに記載のレイアウト検証プログラム。
10 レイアウト検証装置
20 識別モデル生成装置
30 記憶部
31 制御部
40 既知パターンデータ
41 ビットデータ
42 類似度データ
43 識別モデル情報
50 受付部
51 グラフ生成部
52 ラベル生成部
52a 自ノード部
52b 隣接ノード部
53 算出部
54 識別モデル生成部
60 レイアウト検証部
70 入力部
71 表示部
72 通信I/F部
73 記憶部
74 制御部
80 未知パターンデータ
81 ビットデータ
82 類似度データ
83 欠陥情報
90 受付部
91 グラフ生成部
92 ラベル生成部
92a 自ノード部
92b 隣接ノード部
93 算出部
94 検証部
95 提示部

Claims (7)

  1. 第一のレイアウトパターンに含まれるノード毎に、当該ノードの属性情報および当該ノードに隣接するノードとの属性情報とに基づいたラベルを生成するラベル生成部と、
    欠陥に係る情報が付与された第二のレイアウトパターンと、前記第一のレイアウトパターンとの類似度を、前記ラベルを用いて算出する算出部と、
    前記類似度に基づいて、前記第一のレイアウトパターンの欠陥を検証する検証部と、
    を有することを特徴とするレイアウト検証装置。
  2. 前記ラベル生成部は、自ノードの属性情報が表現された所定長のビット列と、前記隣接するノードの属性情報が表現された所定長のビット列とを、重なりなく結合して前記ラベルを生成する
    ことを特徴とする請求項1に記載のレイアウト検証装置。
  3. 前記ラベル生成部は、前記属性情報として、配線であるかビアであるかを示す情報、凸点であるか凹点であるかを示す情報、パターン中心からの距離、隣接するノードの個数、隣接するノード間の最短距離のいずれか一つまたは複数に基づいて、前記ラベルを生成する
    ことを特徴とする請求項1または2に記載のレイアウト検証装置。
  4. 複数の前記第二のレイアウトパターンと欠陥の有無とを対応付けたデータセットと、前記第二のレイアウトパターン同士の類似度に基づく類似度行列とを用いて、前記欠陥の有無を識別する識別モデルを生成する識別モデル生成部をさらに有し、
    前記検証部は、前記識別モデルを用いて、前記第一のレイアウトパターンの欠陥を検証する
    ことを特徴とする請求項1〜3の何れか一つに記載のレイアウト検証装置。
  5. 前記第二のレイアウトパターンを、前記第一のレイアウトパターンとの前記類似度が高い順に提示する提示部をさらに有する
    ことを特徴とする請求項1〜4の何れか一つに記載のレイアウト検証装置。
  6. コンピュータが、
    第一のレイアウトパターンに含まれるノード毎に、当該ノードの属性情報および当該ノードに隣接するノードとの属性情報とに基づいたラベルを生成し、
    欠陥に係る情報が付与された第二のレイアウトパターンと、前記第一のレイアウトパターンとの類似度を、前記ラベルを用いて算出し、
    前記類似度に基づいて、前記第一のレイアウトパターンの欠陥を検証する
    処理を実行することを特徴とするレイアウト検証方法。
  7. コンピュータが、
    第一のレイアウトパターンに含まれるノード毎に、当該ノードの属性情報および当該ノードに隣接するノードとの属性情報とに基づいたラベルを生成し、
    欠陥に係る情報が付与された第二のレイアウトパターンと、前記第一のレイアウトパターンとの類似度を、前記ラベルを用いて算出し、
    前記類似度に基づいて、前記第一のレイアウトパターンの欠陥を検証する
    処理を実行することを特徴とするレイアウト検証プログラム。
JP2015007248A 2015-01-16 2015-01-16 レイアウト検証装置、レイアウト検証方法およびレイアウト検証プログラム Expired - Fee Related JP6464763B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015007248A JP6464763B2 (ja) 2015-01-16 2015-01-16 レイアウト検証装置、レイアウト検証方法およびレイアウト検証プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015007248A JP6464763B2 (ja) 2015-01-16 2015-01-16 レイアウト検証装置、レイアウト検証方法およびレイアウト検証プログラム

Publications (2)

Publication Number Publication Date
JP2016133936A JP2016133936A (ja) 2016-07-25
JP6464763B2 true JP6464763B2 (ja) 2019-02-06

Family

ID=56437990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015007248A Expired - Fee Related JP6464763B2 (ja) 2015-01-16 2015-01-16 レイアウト検証装置、レイアウト検証方法およびレイアウト検証プログラム

Country Status (1)

Country Link
JP (1) JP6464763B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018209562B3 (de) * 2018-06-14 2019-12-12 Carl Zeiss Smt Gmbh Vorrichtungen und Verfahren zur Untersuchung und/oder Bearbeitung eines Elements für die Photolithographie

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5880129B2 (ja) * 2012-02-24 2016-03-08 富士通株式会社 欠陥箇所予測装置,欠陥箇所予測プログラムおよび欠陥箇所予測方法
JP2014182219A (ja) * 2013-03-18 2014-09-29 Fujitsu Ltd 欠陥箇所予測装置、識別モデル生成装置、欠陥箇所予測プログラムおよび欠陥箇所予測方法

Also Published As

Publication number Publication date
JP2016133936A (ja) 2016-07-25

Similar Documents

Publication Publication Date Title
US20200272777A1 (en) Machine-Learning Design Enablement Platform
Shin et al. Accurate lithography hotspot detection using deep convolutional neural networks
CN112148932B (zh) 可视化方法、系统、计算机设备和存储介质
TWI683228B (zh) 開發電子裝置的電子架構設計的系統、開發多個標準電路元件庫的方法及將電子裝置製作至半導體基底上的系統
US20180089151A1 (en) Recognizing unseen fonts based on visual similarity
US9292650B2 (en) Identifying layout pattern candidates
US20210295527A1 (en) Algorithmic approach to finding correspondence between graphical elements
CN111597768B (zh) 用于构建版图图案集的方法、设备和计算机可读存储介质
JP5731837B2 (ja) 設計支援装置およびその情報処理方法
Tian et al. Triple patterning aware detailed placement with constrained pattern assignment
US20080244493A1 (en) Pattern based elaboration of hierarchical l3go designs
US9026958B1 (en) Method and system for double patterning technology (DPT) odd loop visualization for an integrated circuit layout
US20130195368A1 (en) Scalable pattern matching between a pattern clip and a pattern library
JP6464763B2 (ja) レイアウト検証装置、レイアウト検証方法およびレイアウト検証プログラム
JP2017191556A (ja) 類似度検索装置、類似度検索方法および類似度検索プログラム
US11467851B1 (en) Machine learning (ML)-based static verification for derived hardware-design elements
JP2014182219A (ja) 欠陥箇所予測装置、識別モデル生成装置、欠陥箇所予測プログラムおよび欠陥箇所予測方法
JP6668494B2 (ja) データ分析装置およびデータ分析方法
Pathak et al. Methodology to extract, data mine and score geometric constructs from physical design layouts for analysis and applications in semiconductor manufacturing
JP6598291B2 (ja) 検索式可視化装置、検索システム、検索式可視化方法および検索式可視化プログラム
US9437020B2 (en) System and method to check the correct rendering of a font
JP6191290B2 (ja) ファイル評価プログラム、ファイル特定装置、およびファイル評価方法
JP2017120514A (ja) 半導体設計支援装置、半導体設計支援方法、及び半導体設計支援プログラム
Wang et al. Optimization of self-aligned double patterning (SADP)-compliant layout designs using pattern matching for 10nm technology nodes and beyond
Chang et al. iClaire: A fast and general layout pattern classification algorithm with clip shifting and centroid recreation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181012

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181224

R150 Certificate of patent or registration of utility model

Ref document number: 6464763

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees