(57)【要約】【課題】デザインルールチェックの妥当性を正しく確認するために用いるレイアウトパタンを簡易に生成することができるようにする。【解決手段】図形入力部２４によって、半導体装置のレイアウトパタンについて予め定められた作図基準を満足するように生成されたＯＫパタンの入力を受け付ける。基準位置指定部２８によって、ＯＫパタンに対して、作図基準を満足している部分を基準箇所として指定する入力を受け付ける。検証パタン生成部３４によって、ＯＫパタンの基準箇所に対して、所定の変更を加えることにより、作図基準を満足しないＮＧパタンを生成する。【選択図】図２
2013077263.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置のレイアウトパタンについて予め定められた作図基準を満足するように生成された基準レイアウトパタンの入力を受け付けるパタン入力手段と、
前記基準レイアウトパタンに対して、作図基準を満足している部分を基準箇所として指定する入力を受け付ける基準指定手段と、
前記基準レイアウトパタンの前記基準箇所に対して、所定の変更を加えることにより、前記作図基準を満足しないレイアウトパタンを生成する生成手段と、
を含むレイアウトパタン生成装置。
【請求項２】
半導体装置のレイアウトパタンの入力を受け付けるパタン入力手段と、
前記入力されたレイアウトパタンに対して、前記半導体装置のレイアウトパタンについて予め定められた作図基準を満足すべき部分を基準箇所として指定すると共に、前記作図基準を満足するための前記基準箇所における基準値を指定する入力を受け付ける基準指定手段と、
前記レイアウトパタンの前記基準箇所に対して、前記作図基準を満足するように、前記基準値に基づいて変更を加えることにより、基準レイアウトパタンを生成すると共に、前記基準レイアウトパタンの前記基準箇所に対して、所定の変更を加えることにより、前記作図基準を満足しないレイアウトパタンを生成する生成手段と、
を含むレイアウトパタン生成装置。
【請求項３】
前記作図基準に従って予め作成された、半導体装置のレイアウトパタンを検証する際に使用されるレイアウト検証用ルールファイルを記憶したルール記憶手段と、
前記レイアウト検証用ルールファイルを用いて、前記基準レイアウトパタンを検証すると共に、前記生成手段によって生成されたレイアウトパタンを検証する検証手段と、
前記検証手段による検証結果を出力する検証結果出力手段と、
を更に含む請求項１又は２記載のレイアウトパタン生成装置。
【請求項４】
前記作図基準を、図形の幅、図形間の間隔、及び図形間の余裕の少なくとも１つに関する基準を定めたものとした請求項１〜請求項３の何れか１項記載のレイアウトパタン生成装置。
【請求項５】
前記作図基準は、図面の幅に関する基準を定めたものであって、
前記生成手段は、前記作図基準で定められた図形の幅に関する基準に反するように、前記基準レイアウトパタンの前記基準箇所における図形の幅を変更したレイアウトパタンを生成する請求項４記載のレイアウトパタン生成装置。
【請求項６】
前記作図基準は、図面間の間隔に関する基準を定めたものであって、
前記生成手段は、前記作図基準で定められた図形間の間隔に関する基準に反するように、前記基準レイアウトパタンの基準箇所における図形間の間隔を変更したレイアウトパタン、前記基準レイアウトパタンの基準箇所における図形間の間隔をゼロにしたレイアウトパタン、及び前記基準レイアウトパタンの基準箇所において間隔を有する２つの図形が重なるように変更したレイアウトパタンを生成する請求項４記載のレイアウトパタン生成装置。
【請求項７】
前記作図基準は、図面間の余裕に関する基準を定めたものであって、
前記生成手段は、前記作図基準で定められた図形間の余裕に関する基準に反するように、前記基準レイアウトパタンの基準箇所における図形間の余裕を変更したレイアウトパタン、前記基準レイアウトパタンの基準箇所における図形間の余裕をゼロにしたレイアウトパタン、及び前記基準レイアウトパタンの基準箇所において余裕を有する２つの図形の相対位置関係が逆になるように変更したレイアウトパタンを生成する請求項４記載のレイアウトパタン生成装置。
【請求項８】
コンピュータを、
半導体装置のレイアウトパタンについて予め定められた作図基準を満足するように生成された基準レイアウトパタンの入力を受け付けるパタン入力手段、
前記基準レイアウトパタンに対して、作図基準を満足している部分を基準箇所として指定する入力を受け付ける基準指定手段、及び
前記基準レイアウトパタンの前記基準箇所に対して、所定の変更を加えることにより、前記作図基準を満足しないレイアウトパタンを生成する生成手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レイアウトパタン生成装置及びプログラムに係り、特に、半導体装置のレイアウトパタンを生成するレイアウトパタン生成装置及びプログラムに関する。
【背景技術】
【０００２】
一般に、ＬＳＩ設計において、ＬＳＩのレイアウトが作図基準通りに作成されているかを確認するために、作図基準を違反しているレイアウト箇所に対してエラーをレポートするデザインルールチェック（以降ＤＲＣと表記する）を実施している。
【０００３】
ＤＲＣは、チェックの規則や手順が記述された検証ルールを入力とし、それに従ってレイアウト内の作図基準に違反している箇所を検出し報告する。
【０００４】
ＤＲＣは、作図基準を違反している全てのレイアウトについて正確に検出し報告する必要があるが、違反していないレイアウトについては何も報告されるべきではなく、その正確性は入力である検証ルールに記述された規則や手順に依存する。
【０００５】
検証ルールに正しい規則や手順が記述されているかどうかを確認するためには、作図基準違反が存在しないレイアウトパタン（以降、ＯＫパタンと表記する）に対してＤＲＣを実施して違反箇所が報告されない事、及び作図基準違反が存在するレイアウトパタン（以降ＮＧパタンと表記する）に対してＤＲＣを実施して違反箇所と違反内容が報告される事を確認する必要がある。
【０００６】
また、ＮＧパタンについては、実際のレイアウトの複雑な組み合わせに対して作図基準違反を正確に検出することを確認するために、実際のレイアウトデータ内で想定されるレイアウトパタンの組み合わせの全てをＮＧパタンとして作成する必要がある。
【０００７】
また、一般的にひとつのプロセスに対する作図基準の項目は複数存在するため、作図基準の各項目についてＯＫパタンとＮＧパタンのレイアウト（以降ＯＫパタンとＮＧパタンを合わせて検証パタンと表記する）を作成し、検証パタンに対してＤＲＣを実行しその結果を確認する事で検証ルールの妥当性を確認する必要がある。
【０００８】
ここで、ＬＳＩレイアウト検証ルールのミスをチェックするためのテストデータを自動的に生成する技術が知られている（特許文献１、２）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平６−２９０２３５号公報
【特許文献２】特開平１０−０６３６９９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、ひとつのプロセスに対する作図基準の項目の数が非常に多いため、作図装置を用いた手作業による検証パタンの作成には非常に多くの時間を要する、という問題がある。
【００１１】
また、レイアウトデータで想定されるレイアウトパタンであるにもかかわらずＮＧパタンとして作成しなかった場合には、ＤＲＣによる作図違反の検出漏れを確認する事ができず、作図基準違反が存在するレイアウトデータが不良品として流出してしまう、という問題がある。
【００１２】
また、上記特許文献１、２に記載の技術では、検証ルールからパタンを自動的に生成しているため、生成されたパタンを用いても、検証ルール自体の妥当性を正しく確認することができない、という問題がある。
【００１３】
本発明は、上記の問題点を解決するためになされたもので、デザインルールチェックの妥当性を正しく確認するために用いるレイアウトパタンを簡易に生成することができるレイアウトパタン生成装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成するために本発明に係るレイアウトパタン生成装置は、半導体装置のレイアウトパタンについて予め定められた作図基準を満足するように生成された基準レイアウトパタンの入力を受け付けるパタン入力手段と、前記基準レイアウトパタンに対して、作図基準を満足している部分を基準箇所として指定する入力を受け付ける基準指定手段と、前記基準レイアウトパタンの前記基準箇所に対して、所定の変更を加えることにより、前記作図基準を満足しないレイアウトパタンを生成する生成手段と、を含んで構成されている。
【００１５】
本発明に係るプログラムは、コンピュータを、半導体装置のレイアウトパタンについて予め定められた作図基準を満足するように生成された基準レイアウトパタンの入力を受け付けるパタン入力手段、前記基準レイアウトパタンに対して、作図基準を満足している部分を基準箇所として指定する入力を受け付ける基準指定手段、及び前記基準レイアウトパタンの前記基準箇所に対して、所定の変更を加えることにより、前記作図基準を満足しないレイアウトパタンを生成する生成手段として機能させるためのプログラムである。
【００１６】
本発明によれば、パタン入力手段によって、半導体装置のレイアウトパタンについて予め定められた作図基準を満足するように生成された基準レイアウトパタンの入力を受け付ける。基準指定手段によって、前記基準レイアウトパタンに対して、作図基準を満足している部分を基準箇所として指定する入力を受け付ける。
【００１７】
そして、生成手段によって、前記基準レイアウトパタンの前記基準箇所に対して、所定の変更を加えることにより、前記作図基準を満足しないレイアウトパタンを生成する。
【００１８】
このように、基準レイアウトパタンに対して指定された、作図基準を満足する基準箇所について変更を加えることにより、作図基準を満足しないレイアウトパタンを生成することができるため、デザインルールチェックの妥当性を正しく確認するために用いるレイアウトパタンを簡易に生成することができる。
【発明の効果】
【００１９】
以上説明したように、本発明のレイアウトパタン生成装置及びプログラムによれば、基準レイアウトパタンに対して指定された、作図基準を満足する基準箇所について変更を加えることにより、作図基準を満足しないレイアウトパタンを生成することができるため、デザインルールチェックの妥当性を正しく確認するために用いるレイアウトパタンを簡易に生成することができる、という効果が得られる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１の実施の形態に係る検証ルールテスト装置の構成を示す概略図である。
【図２】本発明の第１の実施の形態に係る検証ルールテスト装置の構成を示す機能ブロック図である。
【図３】作図基準書の一例を示す図である。
【図４】ＯＫパタンの一例を示す図である。
【図５】（Ａ）〜（Ｃ）ＯＫパタンにマーカーを配置した例を示す図である。
【図６】ＮＧパタンの一例を示す図である。
【図７】ＯＫパタンからＮＧパタンのバリエーションを生成する様子を示す図である。
【図８】ＯＫパタンからＮＧパタンのバリエーションを生成する様子を示す図である。
【図９】ＯＫパタンからＮＧパタンのバリエーションを生成する様子を示す図である。
【図１０】本発明の第１の実施の形態に係る検証ルールテスト装置における処理ルーチンの内容を示すフローチャートである。
【図１１】本発明の第２の実施の形態に係る検証ルールテスト装置の構成を示す機能ブロック図である。
【図１２】トポロジの一例を示す図である。
【図１３】トポロジにマーカーを配置した例を示す図である。
【図１４】トポロジから生成したＯＫパタンの一例を示す図である。
【図１５】本発明の第２の実施の形態に係る検証ルールテスト装置における処理ルーチンの内容を示すフローチャートである。
【図１６】（Ａ）ＯＫパタンの一例を示す図、及び（Ｂ）ＮＧパタンの一例を示す図である。
【図１７】（Ａ）ＯＫパタンの一例を示す図、及び（Ｂ）ＮＧパタンの一例を示す図である。
【図１８】（Ａ）ＯＫパタンの一例を示す図、（Ｂ）ＮＧパタンの一例を示す図、及び（Ｃ）ＮＧパタンの一例を示す図である。
【図１９】（Ａ）ＯＫパタンの一例を示す図、（Ｂ）ＮＧパタンの一例を示す図、（Ｃ）ＮＧパタンの一例を示す図、及び（Ｄ）ＮＧパタンの一例を示す図である。
【図２０】（Ａ）ＯＫパタンの一例を示す図、（Ｂ）ＮＧパタンの一例を示す図、（Ｃ）ＮＧパタンの一例を示す図、及び（Ｄ）ＮＧパタンの一例を示す図である。
【図２１】（Ａ）ＯＫパタンの一例を示す図、（Ｂ）ＮＧパタンの一例を示す図、（Ｃ）ＮＧパタンの一例を示す図、（Ｄ）ＮＧパタンの一例を示す図、及び（Ｅ）ＮＧパタンの一例を示す図である。
【図２２】（Ａ）ＯＫパタンの一例を示す図、（Ｂ）ＮＧパタンの一例を示す図、（Ｃ）ＮＧパタンの一例を示す図、及び（Ｄ）ＮＧパタンの一例を示す図である。
【図２３】（Ａ）ＯＫパタンの一例を示す図、（Ｂ）ＮＧパタンの一例を示す図、（Ｃ）ＮＧパタンの一例を示す図、及び（Ｄ）ＮＧパタンの一例を示す図である。
【図２４】（Ａ）ＯＫパタンの一例を示す図、（Ｂ）ＮＧパタンの一例を示す図、（Ｃ）ＮＧパタンの一例を示す図、（Ｄ）ＮＧパタンの一例を示す図、及び（Ｅ）ＮＧパタンの一例を示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、検証パタンを生成すると共に、検証ルールが妥当であるか否かを確認するための検証ルールテスト装置に本発明を適用した場合を例に説明する。
【００２２】
図１に示すように、第１の実施の形態に係る検証ルールテスト装置１０は、制御部１２と、記憶部１４と、入力部１６と、表示部１８とを備えるコンピュータで構成されている。制御部１２は、ＣＰＵや当該ＣＰＵと他の構成要素との間のインターフェイス部等を備えており、検証ルールテスト装置１０の動作を統括的に制御する。記憶部１４は、ハードディスクや、フレキシブルディスク等の検証ルールテスト装置１０に着脱可能な記憶媒体を備えており、検証ルールテスト装置１０に、レイアウト検証用ルールファイルのテストを実行させるためのテストプログラムを記憶している。入力部１６は、キーボード等で構成されており、検証ルールテスト装置１０のユーザからのデータ入力を受け付ける。表示部１８は、液晶表示装置等から構成されており、各種情報を表示する。
【００２３】
制御部１２は、記憶部１４からテストプログラムを読み出して実行する。これにより、検証ルールテスト装置１０の内部には複数の機能ブロックが形成される。図２はこれらの機能ブロックを示す図である。図２に示されるように、検証ルールテスト装置１０は、検証ルール入力部２０、検証ルール格納部２２、図形入力部２４、ＯＫパタン格納部２６、基準位置指定部２８、基準位置格納部３０、検証パタン生成部３２、検証パタン格納部３４、ルール判定部３６、エラー図形格納部３８、及び図形表示部４０を備えている。なお、ルール判定部３６が、検証手段の一例であり、図形表示部４０が、検証結果出力手段の一例である。
【００２４】
検証ルール入力部２０は、ユーザが作図基準書を見ながら作成した、ＤＲＣがレイアウトデータのチェックを行う際の規則や手順を、レイアウト検証用ルールファイルとして受け付ける。検証ルール格納部２２は、入力されたレイアウト検証用ルールファイルを格納する。設計工程にてＤＲＣを実行する場合は、検証ルール格納部２２に格納された規則や手順に従いＤＲＣが実施される。
【００２５】
作図基準書は、プロセス毎に存在するレイアウトパタンの作図基準書であり、各作図層の基準値が記載されている文書である。一般的に、作図基準書には、プロセスのマスク工程に対応する全ての作図層について、幅の最小値や、間隔の最小値、図形間の余裕の最小値等、レイアウトを作成する際に守らなくてはならない作図上の値（作図基準）が全て記載されている。作図基準の記述例を図３に示す。
【００２６】
図形入力部２４は、表示部１８に図形を表示すると共に、ユーザが作図基準書を見ながら入力部１６を操作することにより、作図基準書内の全ての基準項目について、基準値通りのＯＫパタンを作成させて、作成されたＯＫパタンの入力を受け付ける。例えば、作図基準の項目として、レイヤＡの幅が２．０μｍ、レイヤＡとＢの間隔が０．５μｍ、レイヤＡとＣの余裕が１．０μｍであることが定められている場合、図４に示すように、作図基準の各項目を満足するようなレイアウトパタンが作成される。
【００２７】
ＯＫパタン格納部２６は、入力されたＯＫパタンを格納する。
【００２８】
基準位置指定部２８は、表示部１８に入力されたＯＫパタンの図形を表示すると共に、ユーザが入力部１６を操作することにより、作図基準書内の１つの基準項目について基準値を満足するように作成されている部分を、基準箇所として指定する共に、基準項目に該当する作図レイヤの名称、作図基準の種類、及び作図基準の数値を指定する入力を受け付ける。
【００２９】
例えば、図５（Ａ）〜（Ｃ）に示すように、ＯＫパタンに対して作図基準を満足する位置を示す目印（以降マーカーと表記する）を１対配置することにより、基準箇所を１つ指定する。本実施の形態では、便宜的にマーカーの形を矢印とする。当該マーカーは、ＯＫパタンのどの端部について作図基準を満たしているのかを意味する規則を持つ。例えば、矢印の最も長い辺が、作図基準を満たしているパタンの端部を示すとのルールとする。また、マーカーは、どのレイヤに対する基準を示しているかの情報を持つことができる。また、上記図５（Ａ）〜（Ｃ）に示すように複数の基準項目がある場合には、基準項目毎に、１つのマーカーを配置したＯＫパタンが得られる。
【００３０】
上記図５（Ａ）では、レイヤＡの幅が２．０μｍであるという作成基準の項目を満足する位置に、マーカーが配置された場合を示しており、マーカーには、指定対象レイヤの名称として、「レイヤＡ」という情報が与えられる。
【００３１】
上記図５（Ｂ）では、レイヤＡとＢの間隔が０．５μｍであるという作成基準の項目を満足する位置に、マーカーが配置された場合を示しており、左側のマーカーには、指定対象レイヤの名称として、「レイヤＡ」との情報が与えられ、右側のマーカーには、指定対象レイヤの名称として、「レイヤＢ」との情報が与えられる。
【００３２】
上記図５（Ｃ）では、レイヤＡとＣの余裕が１．０μｍであるという作成基準の項目を満足する位置に、マーカーが配置された場合を示しており、上側のマーカーには、指定対象レイヤの名称として、「レイヤＡ」との情報が与えられ、下側のマーカーには、指定対象レイヤの名称として、「レイヤＣ」との情報が与えられる。
【００３３】
基準位置格納部３０は、基準箇所が指定された基準項目毎に、入力された基準箇所の位置（マーカーの配置）を、ＯＫパタンと共に格納する。
【００３４】
検証パタン生成部３２は、基準位置格納部３０に格納された、全ての基準箇所の各々について、ＯＫパタンとマーカーを元に、全てのバリエーションのＮＧパタンを生成する。
【００３５】
ＮＧパタンは、まずＯＫパタンと、ＯＫパタンに付与されているマーカーとを１つの単位として、それを複製し、複製したレイアウトパタンにて、マーカーが示す、作図基準を満たしている端部をもつ図形のうち、マーカーが情報として持っている作図レイヤと同じレイヤで描かれた図形に対し、マーカーが示す端部（マーカーの最も長い辺）に対して直交する方向に当該端部を移動させて、ＮＧパタンのバリエーションを生成する。
【００３６】
端部を移動させる場合の移動量のバリエーションは、１作図単位だけ右（上）へ移動、１作図単位だけ左（下）へ移動、２つのマーカーが示す端部が重なるだけ移動、及び２つのマーカーの位置関係が逆転するだけ移動の４種類である。よって１つのＯＫパタンに対して、最大４つのバリエーションのＮＧパタンを生成する。
【００３７】
上記図５（Ｃ）の例に対してＮＧパタンを生成した場合のバリエーションを図６（Ａ）〜（Ｄ）に示す。なお、マーカーが付与された端部を移動してレイアウトのバリエーションを作成する場合、１対のマーカーの内どちらか一方のマーカーが配置された辺（端部）を有する図形のみを動かせばよい。ここでは、レイヤＣをレイヤ情報として持つ下側のマーカーが示す端部を有するレイヤＣの図形を移動する場合の例を示す。
【００３８】
図６（Ａ）では、レイヤＣの上端を１作図単位だけ上に移動させ、レイヤＡとＣの余裕が、作図基準値より１作図グリッドだけ小さいレイアウトをＮＧパタンとして生成する。なお、上側のマーカーはレイヤ情報として「レイヤＡ」を持つため、レイヤＡの図形の端部がマーカーに合わせて移動する事はない。下側のマーカーはレイヤ情報として「レイヤＡ」を持つため、「レイヤＤ」の上端がマーカーに合わせて移動する事はない。
【００３９】
図６（Ｂ）では、レイヤＣの上端を１作図単位だけ下に移動させ、レイヤＡとＣの余裕が、作図基準値より１作図グリッドだけ大きいレイアウトをＮＧパタンとして生成する。なお、上側のマーカーはレイヤ情報として「レイヤＡ」を持つため、レイヤＡの図形の端部がマーカーに合わせて移動する事はない。下側のマーカーはレイヤ情報として「レイヤＡ」を持つため、「レイヤＤ」の上端がマーカーに合わせて移動する事はない。
【００４０】
図６（Ｃ）では、レイヤＣの上端を、上側のマーカーの位置まで移動させ、レイヤＡとレイヤＣの位置が一致するレイアウト（レイヤＡとＣの余裕が０となるレイアウト）をＮＧパタンとして生成する。
【００４１】
図６（Ｄ）では、レイヤＣの上端を、上側のマーカーの位置よりさらに１作図単位だけ上に移動させ、レイヤＡとレイヤＣの位置関係を逆転させたレイアウトをＮＧパタンとして生成する。
【００４２】
検証パタン生成部３２は、上記と同様に、基準位置格納部３０に格納された、全ての基準箇所の各々について、図７〜図９に示すように、ＯＫパタンとマーカーを元に、全てのバリエーションのＮＧパタンを生成する。
【００４３】
全ての基準項目の各々について、検証パタン生成部３２で生成されたＮＧパタンの全てのバリエーションは、検証パタン格納部３４に格納される。また、対応するＯＫパタンについても、検証パタン格納部３４に格納される。
【００４４】
ルール判定部３６は、ＤＲＣを実施して、ＬＳＩ設計工程において、ＬＳＩのレイアウトデータが作図基準書通りに作成されているかどうかを、検証ルール格納部２２に記述された規則や手順に則ってチェックする。ルール判定部３６は、検証ルール格納部２２の手順に従い、検証パタン格納部３４に格納された全ての検証パタン（ＯＫパタン及びＮＧパタン）について作図基準違反の有無をチェックし、作図基準に違反しているパタンの位置をエラー図形としてエラー図形格納部３８に格納する。
【００４５】
図形表示部４０は、検証パタン格納部３４に格納された全ての検証パタン（ＯＫパタン及びＮＧパタン）とエラー図形格納部３８に格納されたＤＲＣのエラー図形を重ねて、表示部１８に表示させる。
【００４６】
ユーザは、表示部１８に表示された検証パタンの内、ＯＫパタンとＮＧパタン、及びエラー図形を確認する事により、検証ルール格納部２２のレイアウト検証用ルールファイルの内容の妥当性を確認することができる。
【００４７】
すなわち、図形表示部４０により表示された検証パタンの内、ＯＫパタンの位置にＤＲＣのエラー図形が表示されておらず、かつＮＧパタンの作図基準違反の位置にＤＲＣのエラー図形が表示されている場合（以降、検証ルールと検証パタンの一致と表記する）は、ＤＲＣを実施する際の規則と手順、すなわち検証ルール格納部２２に格納された内容が正しいことを確認できる。
【００４８】
検証ルールと検証パタンの一致が取れていない場合は、検証ルール格納部２２に格納されたＤＲＣの規則や手順を修正し、再度、ルール判定部３６により、検証パタン格納部３４の検証パタンに対してＤＲＣを実施して、図形表示部４０により表示された結果を確認する。最終的に検証ルールと検証パタンの一致が取れるまで、レイアウト検証用ルールファイルの修正及びＤＲＣの実施を繰り返す。
【００４９】
次に、本実施の形態に係る検証ルールテスト装置１０の作用について説明する。まず、ユーザが、作図基準書を見ながら入力部１６を操作して、レイアウト検証用ルールファイルを作成し、検証ルールテスト装置１０に入力する。入力されたレイアウト検証用ルールファイルは、検証ルール格納部２２に格納される。そして、制御部１２においてテストプログラムが実行されることにより、図１０に示す処理ルーチンが実行される。
【００５０】
ステップ１００で、ＯＫパタンの図形入力処理を行う。表示部１８に、レイアウトパタンの作成画面を表示すると共に、ユーザによる入力部１６の操作により作成されたＯＫパタンの入力を受け付ける。ステップ１０２では、上記ステップ１００で入力されたＯＫパタンを、ＯＫパタン格納部２６に格納する。
【００５１】
次のステップ１０４では、基準箇所の指定処理を行う。表示部１８に、入力されたＯＫパタンを表示すると共に、基準項目毎に、ユーザによる入力部１６の操作により指定されたマーカーの配置を受け付ける。ステップ１０６では、上記ステップ１０４で指定されたマーカーの配置を、ＯＫパタンと共に基準位置格納部３０に格納する。
【００５２】
そして、ステップ１０８において、基準項目毎に、ＯＫパタンを、ＮＧパタンのバリエーションの数だけ複製し、上記ステップ１０６で指定されたマーカーの配置に基づいて、複製されたそれぞれのＯＫパタンに対して所定の変更を加えて、全てのバリエーションのＮＧパタンを生成し、生成されたＮＧパタンを、ＯＫパタンと共に検証パタン格納部３４に格納する。
【００５３】
次のステップ１１０では、検証ルール格納部２２から、レイアウト検証用ルールファイルを読みこみ、ステップ１１２において、上記ステップ１１０で読み込んだレイアウト検証用ルールファイルに従って、検証パタン格納部３４に格納された全てのＯＫパタン及びＮＧパタンに対して、ＤＲＣを実施する。
【００５４】
そして、ステップ１１４において、上記ステップ１１２でのＤＲＣの結果に基づいて、作図基準に違反しているパタンの位置をエラー図形としてエラー図形格納部３８に格納する。
【００５５】
次のステップ１１６では、検証パタン格納部３４に格納された全てのＯＫパタン及びＮＧパタンと、エラー図形格納部３８に格納されたエラー図形とを重ねて、表示部１８に表示させて、処理ルーチンを終了する。
【００５６】
ユーザは、表示部１８の表示により、検証ルールと検証パタンとが一致しているか否かを確認し、検証ルールと検証パタンの一致が取れていない場合には、ユーザは、検証ルール格納部２２に格納されたレイアウト検証用ルールファイルの規則や手順を修正する。
【００５７】
以上説明したように、第１の実施の形態に係る検証ルールテスト装置によれば、入力されたＯＫパタンに対して指定された、作図基準を満足する基準箇所について、所定の変更を加えることにより、ＮＧパタンを生成することができるため、デザインルールチェックの妥当性を正しく確認するために用いる検証パタンを簡易に生成することができる。
【００５８】
また、作図基準通りに描かれたＯＫパタンを入力とする。一般的に、作図レイヤ名や作図基準値はプロセスによって変化するが、それらをＯＫパタンとして入力するため、検証ルールテスト装置の汎用性を高めることができ、その結果として、検証パタンを生成するための時間の短縮を図ることができる。
【００５９】
また、ＬＳＩのレイアウト検証を行う場合において、ＬＳＩのレイアウトパタンにおける作図基準を満足する部分及び作図基準の数値を指定することにより、レイアウトデータで想定される全てのパタンをＮＧパタンとして発生させることができる。このため、作図基準の各項目に対してＤＲＣがエラーを正常に検出できるかどうかを確認するために必要なＮＧパタンの作成の漏れを防ぐことができ、商品設計における設計基準違反の検出洩れによる不良品の流出を防止することができる。
【００６０】
また、ＯＫパタンが複雑なレイアウトパタンであっても、特定レイヤのＮＧパタンのバリエーションを生成する事が可能である。このため、チェックしたい基準に対して、複雑な前提条件（複雑な多数の認識レイヤで囲まれている場合や、周辺の作図基準が一定の値である事が前提となっている場合等）がある作図基準であっても、作図基準通りのレイアウトパタンを作成して入力することにより、容易に検証パタンを作成することができる。
【００６１】
なお、上記の実施の形態では、ＯＫパタンを作成して入力する場合を例に説明したが、これに限定されるものではなく、例えば、レイアウトデータをＯＫパタンとして使用するようにしてもよい。例えば、プロセス開発時のＴＥＧのデータをそのままＯＫパタンとして使用してもよい。この場合には、検証パタンを生成するための時間をさらに短縮することができる。
【００６２】
次に、第２の実施の形態について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【００６３】
第２の実施の形態では、ユーザが、作成基準における作図層の相対位置関係を守って作成したレイアウトを入力する点と、検証ルールテスト装置がＯＫパタンを生成している点とが、第１の実施の形態と異なっている。
【００６４】
図１１に示すように、第２の実施の形態に係る検証ルールテスト装置２１０は、検証ルール入力部２０、検証ルール格納部２２、図形入力部２４、トポロジ格納部２２６、基準位置指定部２８、基準位置格納部３０、検証パタン生成部３２、検証パタン格納部３４、ルール判定部３６、エラー図形格納部３８、及び図形表示部４０を備えている。
【００６５】
図形入力部２４は、表示部１８にレイアウトパタンの作成画面を表示すると共に、ユーザが作図基準書を見ながら入力部１６を操作することにより、作図基準書に定義された全ての基準項目について、基準書に記載されている各作図レイヤの相対位置関係を守ったレイアウトパタン（以降、トポロジと称する）を作成させて、作成されたトポロジの入力を受け付ける。トポロジを作成する場合は、基準書の各項目が示す作図レイヤの相対位置関係のみを満足する様に作成するが、作図基準の数値を満足する必要はない。作成したトポロジの例を図１２に示す。なお、上記図１２の例では、作図基準の項目として、レイヤＡの幅が２．０μｍ、レイヤＡとＢの間隔が０．５μｍ、レイヤＡとＣの余裕が１．０μｍであることが定められている。
【００６６】
トポロジ格納部２２６は、図形入力部２４によって作成された、作図基準書の各基準項目が示す相対位置関係を満足するトポロジを格納する。
【００６７】
基準位置指定部２８は、トポロジ格納部２２６に格納されたトポロジのレイアウトを表示部１８に表示し、トポロジにおいて、作図基準書の項目が示す作図基準を満足すべき部分を基準箇所として指定すると共に、当該基準箇所における作図基準の種類及び作図基準の値を指定する入力を受け付ける。
【００６８】
例えば、トポロジ格納部２２６に格納された全てのトポロジに対し、表示部１８に表示されたトポロジにおいて、入力部１６を操作して、対応する作図基準の項目に該当する位置を示すマーカーを配置する。マーカーの意味と用途は、上記の第１の実施の形態と同じであるが、加えて、作図基準の数値を指定する事により、基準値を情報として持つことができる。作図基準における、レイヤＡとＣの余裕が１．０μｍであるという項目について、上記図１２のトポロジに対してマーカーを配置した例を図１３に示す。
【００６９】
上記図１３の例では、指定対象レイヤの名称として、上側のマーカーには「レイヤＡ」、下側のマーカーには「レイヤＢ」との情報が与えられる。また、マーカーには、それが示す位置の作図基準値が１．０μｍであるとの情報が与えられる。
【００７０】
トポロジに対して指定した各マーカーの情報は、それぞれトポロジと合わせて基準位置格納部３０に格納される。
【００７１】
検証パタン生成部３２は、基準位置格納部３０に格納された全てのトポロジについて、それぞれのトポロジが持つマーカーの配置と情報に従い、以下のように、ＯＫパタンとＮＧパタンを生成する。
【００７２】
まず、検証パタン生成部３２は、トポロジとマーカーを複製し、マーカーの長辺と一致する図形の内、マーカーが持つレイヤ名と同じ図形について、その間隔が基準値となるよう図形の端部を移動し、これをＯＫパタンとする。作成されたＯＫパタンの例を、図１４に示す。
【００７３】
次に、検証パタン生成部３２は、ＯＫパタンとマーカーの位置及び情報を元に、全てのバリエーションのＮＧパタンを生成する。マーカーの情報を元にＮＧパタンを生成する方法は、上記の第１の実施の形態と同様であるため、説明を省略する。作成されたＯＫパタンと全てのバリエーションのＮＧパタンは、検証パタン格納部３４に格納される。
【００７４】
次に、本実施の形態に係る検証ルールテスト装置２１０の作用について説明する。まず、ユーザが、作図基準書を見ながら入力部１６を操作して、レイアウト検証用ルールファイルを作成し、検証ルールテスト装置１０に入力する。入力されたレイアウト検証用ルールファイルは、検証ルール格納部２２に格納される。そして、制御部１２においてテストプログラムが実行されることにより、図１５に示す処理ルーチンが実行される。なお、第１の実施の形態と同様の処理については、同一符号を付して詳細な説明を省略する。
【００７５】
まず、ステップ２５０で、トポロジの図形入力処理を行う。表示部１８に、レイアウトの作成画面を表示すると共に、ユーザによる入力部１６の操作により作成されたトポロジの入力を受け付ける。ステップ２５２では、上記ステップ２５０で入力されたトポロジを、トポロジ格納部２２６に格納する。
【００７６】
次のステップ２５４では、基準箇所の指定処理を行う。表示部１８に、入力されたトポロジを表示すると共に、基準項目毎に、ユーザによる入力部１６の操作により指定された、当該基準項目を満足すべき部分におけるマーカーの配置と、基準項目の種類及び基準値との入力を受け付ける。
【００７７】
そして、ステップ２５６において、上記ステップ２５４で入力されたマーカーの配置を、トポロジと共に基準位置格納部３０に格納する。
【００７８】
そして、ステップ２５８において、基準項目毎に、上記ステップ２５４で入力されたマーカーの配置に基づいて、トポロジの基準箇所に対して、入力された基準値を満たすように変更を加えて、指定された基準項目を満足するＯＫパタンを生成する。
【００７９】
次のステップ１０８では、基準項目毎に、上記ステップ２５８で当該基準項目について生成されたＯＫパタンを、ＮＧパタンのバリエーションの数だけ複製し、上記ステップ２５４で入力されたマーカーの配置に基づいて、複製されたそれぞれのＯＫパタンに対して所定の変更を加えて、全てのバリエーションのＮＧパタンを生成し、生成されたＮＧパタンを、ＯＫパタンと共に検証パタン格納部３４に格納する。
【００８０】
次のステップ１１０では、検証ルール格納部２２から、レイアウト検証用ルールファイルを読みこみ、ステップ１１２において、上記ステップ１１０で読み込んだレイアウト検証用ルールファイルに従って、検証パタン格納部３４に格納された全てのＯＫパタン及びＮＧパタンに対して、ＤＲＣを実施する。
【００８１】
そして、ステップ１１４において、上記ステップ１１２でのＤＲＣの結果に基づいて、作図基準に違反しているパタンの位置をエラー図形としてエラー図形格納部３８に格納する。
【００８２】
次のステップ１１６では、検証パタン格納部３４に格納された全てのＯＫパタン及びＮＧパタンと、エラー図形格納部３８に格納されたエラー図形とを重ねて、表示部１８に表示させて、処理ルーチンを終了する。
【００８３】
以上説明したように、第２の実施の形態に係る検証ルールテスト装置によれば、トポロジレイアウトを入力とするため、レイアウトの構造が類似するプロセスであれば、作図基準が異なるプロセスであっても、トポロジレイアウトを使用する事ができる。そのため、作成したトポロジレイアウトの汎用性を高めることができ、検証ルールテスト装置の汎用性を高めることができる。結果として検証パタンを生成するための時間の短縮を図ることができる。
【００８４】
次に、第３の実施の形態について説明する。なお、第３の実施の形態に係る検証ルールテスト装置の構成は、第１の実施の形態と同様の構成であるため、同一符号を付して説明を省略する。
【００８５】
第３の実施の形態では、作図基準の基準値として、最小値又は最大値が指定されている点と、基準値の種類に応じてＮＧパタンのバリエーションが変わる点とが、第１の実施の形態と異なっている。
【００８６】
第３の実施の形態に係る検証ルールテスト装置では、図形入力部２４によって、ユーザが作図基準書を見ながら入力部１６を操作することにより、作図基準書内の全ての基準項目について、作図基準を満足するＯＫパタンを作成させて、作成されたＯＫパタンの入力を受け付ける。例えば、作図基準の項目として、図形の幅の最小値が定められている場合、図形の幅が最小値となるレイアウトパタンがＯＫパタンとして作成される。作図基準の項目として、図形の幅の最大値が定められている場合、図形の幅が最大値となるレイアウトパタンがＯＫパタンとして作成される。作図基準の項目として、図形の幅の最小値及び最大値が定められている場合、図形の幅が最小値又は最大値となるレイアウトパタンがＯＫパタンとして作成される。
【００８７】
また、基準位置指定部２８は、表示部１８に入力されたＯＫパタンの図形を表示すると共に、ユーザが入力部１６を操作することにより、作図基準書内の１つの基準項目について作図基準を満足するように作成されている部分を、基準箇所として指定する共に、作図レイヤの名称、作図基準の種類、作図基準の数値、及び基準値の種類（最小値、最大値、最小値及び最大値）を指定した入力を受け付ける。
【００８８】
検証パタン生成部３２は、基準位置格納部３０に格納された、全ての基準箇所の各々について、ＯＫパタンとマーカーを元に、全てのバリエーションのＮＧパタンを生成する。
【００８９】
基準箇所に対して、作図基準の種類として、図形の幅が指定され、基準値の種類として、最小値が指定された場合には、レイアウトデータ内で想定される違反レイアウトは最小幅以下の幅のパタンである。よって、検証パタン生成部３２は、基準の最小幅と同じ幅を持つ図形を有するＯＫパタン（図１６（Ａ）参照）に基づいて、基準の最小幅よりも１作図単位だけ小さい幅を持つ図形を有するＮＧパタン（図１６（Ｂ）参照）を生成する。
【００９０】
また、基準箇所に対して、作図基準の種類として、図形の幅が指定され、基準値の種類として、最大値が指定された場合には、検証パタン生成部３２は、基準の最大幅と同じ幅を持つ図形を有するＯＫパタン（図１７（Ａ）参照）に基づいて、基準の最大幅よりも１作図単位だけ大きい幅を持つ図形を有するＮＧパタン（図１７（Ｂ）参照）を生成する。
【００９１】
また、基準箇所に対して、作図基準の種類として、図形の幅が指定され、基準値の種類として、最小値及び最大値が指定された場合には、検証パタン生成部３２は、基準の最大幅と同じ幅を持つ図形を有するＯＫパタン（図１８（Ａ）参照）に基づいて、基準の最大幅よりも１作図単位だけ大きい幅を持つ図形を有するＮＧパタン（図１８（Ｃ）参照）を生成すると共に、基準の最小幅よりも１作図単位だけ小さい幅を持つ図形を有するＮＧパタン（図１８（Ｂ）参照）を生成する。
【００９２】
また、基準箇所に対して、作図基準の種類として、図形間の間隔が指定され、基準値の種類として、最小値が指定された場合には、検証パタン生成部３２は、基準の最小値と同じ間隔を持つ図形を有するＯＫパタン（図１９（Ａ）参照）に基づいて、ＮＧパタンを生成する。ここで、レイアウトデータ内で想定される違反レイアウトの種類は、２つの図形の間隔が最小間隔より１作図単位だけ小さいパタン（図１９（Ｂ）参照）、２つの図形が接触している（図形間の間隔＝０）パタン（図１９（Ｃ）参照）（以降、ＴＯＵＣＨ図形と表記する）、２つの図形の辺の相対位置が逆転して重なっている（図形間の間隔＜０）パタン（図１９（Ｄ）参照）（以降、ＯＶＥＲＬＡＰ図形と表記する）の３種類であるため、３種類のパタンがＮＧパタンとして生成される。
【００９３】
同様に、基準箇所に対して、作図基準の種類として、図形間の間隔が指定され、基準値の種類として、最大値が指定された場合には、検証パタン生成部３２は、基準の最大値と同じ間隔を持つ図形を有するＯＫパタン（図２０（Ａ）参照）に基づいて、２つの図形の間隔が最大間隔より１作図単位だけ大きいパタン（図２０（Ｂ）参照）、ＴＯＵＣＨ図形（図２０（Ｃ）参照）、ＯＶＥＲＬＡＰ図形（図２０（Ｄ）参照）の３種類を、ＮＧパタンとして生成する。
【００９４】
同様に、基準箇所に対して、作図基準の種類として、図形間の間隔が指定され、基準値の種類として、最小値及び最大値が指定された場合には、検証パタン生成部３２は、基準の最大値と同じ間隔を持つ図形を有するＯＫパタン（図２１（Ａ）参照）に基づいて、２つの図形の間隔が最小間隔より１作図単位だけ小さいパタン（図２１（Ｂ）参照）、２つの図形の間隔が最大間隔より１作図単位だけ大きいパタン（図２１（Ｃ）参照）、ＴＯＵＣＨ図形（図２１（Ｄ）参照）、ＯＶＥＲＬＡＰ図形（図２１（Ｅ）参照）の４種類を、ＮＧパタンとして生成する。
【００９５】
また、基準箇所に対して、作図基準の種類として、図形間の余裕が指定され、基準値の種類として、最小値が指定された場合には、検証パタン生成部３２は、基準の最小値と同じ余裕を持つ図形を有するＯＫパタン（図２２（Ａ）参照）に基づいて、ＮＧパタンを生成する。ここで、レイアウトデータ内で想定される違反レイアウトの種類は、２つの図形の余裕が最小余裕より１作図単位だけ小さいパタン（図２２（Ｂ）参照）、２つの図形が接触している（余裕＝０）パタン（ＴＯＵＣＨ図形）（図２２（Ｃ）参照）、２つの図形の辺の相対位置が逆転している（余裕＜０）パタン（ＯＶＥＲＬＡＰ図形）（図２２（Ｄ）参照）の３種類であるため、３種類のパタンがＮＧパタンとして生成される。
【００９６】
同様に、基準箇所に対して、作図基準の種類として、図形間の余裕が指定され、基準値の種類として、最大値が指定された場合には、検証パタン生成部３２は、基準の最大値と同じ余裕を持つ図形を有するＯＫパタン（図２３（Ａ）参照）に基づいて、２つの図形の余裕が最大余裕より１作図単位だけ大きいパタン（図２３（Ｂ）参照）、ＴＯＵＣＨ図形（図２３（Ｃ）参照）、ＯＶＥＲＬＡＰ図形（図２３（Ｄ）参照）の３種類を、ＮＧパタンとして生成する。
【００９７】
同様に、基準箇所に対して、作図基準の種類として、図形間の余裕が指定され、基準値の種類として、最小値及び最大値が指定された場合には、検証パタン生成部３２は、基準の最大値と同じ余裕を持つ図形をＯＫパタン（図２４（Ａ）参照）として、２つの図形の余裕が最小余裕より１作図単位だけ小さいパタン（図２４（Ｂ）参照）、２つの図形の余裕が最大余裕より１作図単位だけ大きいパタン（図２４（Ｃ）参照）、ＴＯＵＣＨ図形（図２４（Ｄ）参照）、ＯＶＥＲＬＡＰ図形（図２４（Ｅ）参照）の４種類を、ＮＧパタンとして生成する。
【００９８】
なお、第３の実施の形態に係る検証ルールテスト装置の他の構成及び作用については、第１の実施の形態と同様であるため、説明を省略する。
【００９９】
このように、第３の実施の形態に係る検証ルールテスト装置によれば、基準箇所の指定と共に、作図基準の種類及び値を入力とし、作図基準の種類に応じて、全てのバリエーションのＮＧパタンを生成することができ、作図基準の各項目に対してＤＲＣがエラーを正常に検出できるかどうかを確認するために必要なＮＧパタンの作成の漏れを防ぐことができる。
【０１００】
なお、上述した第２の実施の形態に、本実施の形態におけるＮＧパタンの生成方法を適用してもよい。
【０１０１】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムをＣＤＲＯＭ等の記憶媒体に格納して提供することも可能である。
【符号の説明】
【０１０２】
１０、２１０  検証ルールテスト装置
１２   制御部
１４   記憶部
１６   入力部
１８   表示部
２０   検証ルール入力部
２２   検証ルール格納部
２６   ＯＫパタン格納部
２８   基準位置指定部
３０   基準位置格納部
３２   検証パタン生成部
３４   検証パタン格納部
３６   ルール判定部
３８   エラー図形格納部
４０   図形表示部
２２６ トポロジ格納部
【図１】
2013077263.tif 000003
【図２】
2013077263.tif 000004
【図３】
2013077263.tif 000005
【図４】
2013077263.tif 000006
【図５】
2013077263.tif 000007
【図６】
2013077263.tif 000008
【図７】
2013077263.tif 000009
【図８】
2013077263.tif 000010
【図９】
2013077263.tif 000011
【図１０】
2013077263.tif 000012
【図１１】
2013077263.tif 000013
【図１２】
2013077263.tif 000014
【図１３】
2013077263.tif 000015
【図１４】
2013077263.tif 000016
【図１５】
2013077263.tif 000017
【図１６】
2013077263.tif 000018
【図１７】
2013077263.tif 000019
【図１８】
2013077263.tif 000020
【図１９】
2013077263.tif 000021
【図２０】
2013077263.tif 000022
【図２１】
2013077263.tif 000023
【図２２】
2013077263.tif 000024
【図２３】
2013077263.tif 000025
【図２４】
2013077263.tif 000026