(57)【要約】【課題】ＤＲＣルールの検証を容易に行うことができるとともに、その検証結果が正しく実施されているか否かも容易に確認することができるデザインルールチェック検証装置およびデザインルールチェック検証方法を提供する。【解決手段】処理装置１が、ユーザ作成のＤＲＣルールをテストパターン図形を用いてチェックした結果と、自動生成したＤＲＣルールをテストパターン図形を用いてチェックした結果と、を比較し、一致した場合はユーザ作成のＤＲＣルールが正しいと判定する。【選択図】図１
2011060194.tif 000002
【特許請求の範囲】
【請求項１】
半導体集積回路のレイアウトを検証するデザインルールファイルをテストするテストパターンを生成するテストパターン生成手段と、前記テストパターン生成手段が生成したテストパターンを用いて前記デザインルールファイルをテストするテスト手段と、を備えたデザインルールチェック検証装置において、
手動で生成された前記デザインルールファイルが入力されるデザインルール入力手段と、
前記デザインルールファイルを自動生成するデザインルール生成手段と、
前記デザインルール入力手段から入力されたデザインルールファイルを前記テスト手段によってテストした結果と、前記デザインルール生成手段が自動生成したデザインルールファイルを前記テスト手段でテストした結果と、を比較し、一致した場合は前記デザインルール入力手段から入力されたデザインルールファイルが正しいと判定する判定手段と、
を備えたことを特徴とするデザインルールチェック検証装置。
【請求項２】
前記デザインルール生成手段が、同じ論理的結果を得られる複数の記述方法で複数のデザインルールファイルを生成することを特徴とする請求項１に記載のデザインルールチェック検証装置。
【請求項３】
前記判定手段が、前記複数のデザインルールファイルのうち、一つでも結果が一致するものがあれば、前記デザインルール入力手段から入力されたデザインルールファイルが正しいと判定することを特徴とする請求項２に記載のデザインルールチェック検証装置。
【請求項４】
前記判定手段によって判定された結果が記述された結果ファイルのチェックサム要素を暗号化した暗号文を生成し、該結果ファイルに前記暗号文を付加する暗号化手段を備えたことを特徴とする請求項１乃至３のうちいずれか一項に記載のデザインルールチェック検証装置。
【請求項５】
半導体集積回路のレイアウトを検証するデザインルールファイルをテストするテストパターンを生成し、そのテストパターンを用いて前記デザインルールファイルをテストするデザインルールチェック検証方法において、
手動で生成された前記デザインルールファイルを入力するデザインルール入力工程と、
前記デザインルールファイルを自動生成するデザインルール生成工程と、
前記デザインルール入力工程で入力されたデザインルールファイルをテストする第一のテスト工程と、
前記デザインルール生成工程で自動生成したデザインルールファイルをテストする第二のテスト工程と、
前記第一のテスト工程の結果と、前記第二のテスト工程の結果と、を比較し、一致した場合は前記デザインルール入力工程で入力したデザインルールファイルが正しいと判定する判定工程と、
を有することを特徴とするデザインルールチェック検証方法。
【請求項６】
前記デザインルール生成工程では、同じ論理的結果を得られる複数の記述方法で複数のデザインルールファイルを生成することを特徴とする請求項５に記載のデザインルールチェック検証方法。
【請求項７】
前記判定工程は、前記複数のデザインルールファイルのうち、一つでも結果が一致するものがあれば、前記デザインルール入力工程で入力されたデザインルールファイルが正しいと判定することを特徴とする請求項６に記載のデザインルールチェック検証方法。
【請求項８】
前記判定工程で判定した結果を記述した結果ファイルのチェックサム要素を暗号化した暗号文を生成し、該結果ファイルに前記暗号文を付加する暗号化工程を有することを特徴とする請求項５乃至７のうちいずれか一項に記載のデザインルールチェック検証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路のレイアウトを検証するためのデザインルールファイルをテストするデザインルールチェック検証装置およびデザインルールチェック検証方法に関する。
【背景技術】
【０００２】
半導体集積回路の設計では、マスクパターンと呼ばれるレイアウトが製造プロセスで規定されるデザインルールを満たしているかどうかをチェックするレイアウト検証工程が行われる。レイアウト検証工程は、レイアウト検証ツール（ＤＲＣ（Design Rule Check）ツールとも呼ばれる）を用いてデザインルールに沿った検証を行うために、ＤＲＣツールにデザインルールを入力および指示するためのコマンド等の記述がなされたデザインルールファイル（ＤＲＣルールとも呼ばれる）を用いて行われる。
【０００３】
このＤＲＣルールは、手動で作成されるか、又は、ツールなどにより自動で作成された後にマニュアルで修正されることがあるため、誤りを含んでいることが多い。ＤＲＣルールに誤りが含まれていると正確なレイアウト検証ができないため、最初に、ＤＲＣルール自体が正しく作成されているかどうかが、テストパターンを用いてチェックされる。
【０００４】
また、前記テストパターンを作成するには、レイアウトエディタを使用して手作業的に作成する方法が従来から行われている。この方法では、通常はエラーなしとなるパターンとエラーありとなるパターン（例えば、デザインルールで規定される最小値丁度、最小値より１グリッド小さい、最小値より１グリッド大きい等の組み合わせ）を幾つかの図形種別毎に作成する必要があり、かつＤＲＣルールは通常数十から数百のルールが存在するため、膨大な量のパターンを作成することになり多大な労力を要していた。
【０００５】
この労力を削減するために、特許文献１のようにテストパターン作成の自動化や、特許文献２のようにテストパターンの削減、また特許文献３のようにテストパターン作成よりもルールの自動作成という手法で改善を行う従来技術が提案されている。
【０００６】
特許文献１には、グリッド値を考慮してテストパターンを発生し、各ルールに番号を付け、ルールに対するテストパターンをマトリクス状に発生することが記載されている。
【０００７】
特許文献２には、ユーザ作成のＤＲＣルールから個々のルールを抜き出し、それぞれについて、個々のエラーとならないＯＫパターンに対して、抜き出したルールの範囲を拡大し、それぞれに対してＤＲＣを実行する。その結果抜き出した基準ルールのチェック範囲外でエラーが出れば正しいルールと判断することが記載されている。
【０００８】
特許文献３には、テンプレートファイルからＤＲＣとＬＶＳ（レイアウトとネットリストとの比較）のルールを自動生成し、テンプレートファイルには、レイヤや条件を記載することが記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上述した特許文献１〜３によって完全な手作業よりは大幅にテストパターン作成の労力は減少されることになるが、完全にテストパターンが不要というわけではない。例えば、所望するＤＲＣルールが完全に自動作成できない場合もあり、自動作成されたＤＲＣルールを手修正する場合にはテストパターンによる検証が必要となる。また自動発生時のパラメータ入力ミス等も有り得る。そのため、依然としてテストパターンを用いたＤＲＣルールの検証が必要となる。
【００１０】
従来技術では、このようなテストパターンやＤＲＣルールの作成において自動化できるところもあるが、上述したように手修正を行うこともあり、そのような場合のＤＲＣルール検証における労力は十分に削減できていないという問題があった。
【００１１】
また、ＤＲＣルールの検証作業を外部に委託する場合などにおいて、その検証作業等が正しく実施されているかを確認する必要があり、そのような確認作業にも労力を要するという問題があった。
【００１２】
本発明はかかる問題を解決することを目的としている。
【００１３】
すなわち、本発明は、ＤＲＣルールの検証を容易に行うことができるとともに、その検証作業等が正しく実施されているか否かも容易に確認することができるデザインルールチェック検証装置およびデザインルールチェック検証方法を提供することを目的としている。
【課題を解決するための手段】
【００１４】
請求項１に記載された発明は、半導体集積回路のレイアウトを検証するデザインルールファイルをテストするテストパターンを生成するテストパターン生成手段と、前記テストパターン生成手段が生成したテストパターンを用いて前記デザインルールファイルをテストするテスト手段と、を備えたデザインルールチェック検証装置において、手動で生成された前記デザインルールファイルが入力されるデザインルール入力手段と、前記デザインルールファイルを自動生成するデザインルール生成手段と、前記デザインルール入力手段から入力されたデザインルールファイルを前記テスト手段によってテストした結果と、前記デザインルール生成手段が自動生成したデザインルールファイルを前記テスト手段でテストした結果と、を比較し、一致した場合は前記デザインルール入力手段から入力されたデザインルールファイルが正しいと判定する判定手段と、を備えたことを特徴とするデザインルールチェック検証装置である。
【００１５】
請求項２に記載された発明は、請求項１に記載された発明において、前記デザインルール生成手段が、同じ論理的結果を得られる複数の記述方法で複数のデザインルールファイルを生成することを特徴とする。
【００１６】
請求項３に記載された発明は、請求項２に記載された発明において、前記判定手段が、前記複数のデザインルールファイルのうち、一つでも結果が一致するものがあれば、前記デザインルール入力手段から入力されたデザインルールファイルが正しいと判定することを特徴とする。
【００１７】
請求項４に記載された発明は、請求項１乃至３のうちいずれか一項に記載された発明において、前記判定手段によって判定された結果が記述された結果ファイルのチェックサム要素を暗号化した暗号文を生成し、該結果ファイルに前記暗号文を付加する暗号化手段を備えたことを特徴とする。
【００１８】
請求項５に記載された発明は、半導体集積回路のレイアウトを検証するデザインルールファイルをテストするテストパターンを生成し、そのテストパターンを用いて前記デザインルールファイルをテストするデザインルールチェック検証方法において、手動で生成された前記デザインルールファイルを入力するデザインルール入力工程と、前記デザインルールファイルを自動生成するデザインルール生成工程と、前記デザインルール入力工程で入力されたデザインルールファイルをテストする第一のテスト工程と、前記デザインルール生成工程で自動生成したデザインルールファイルをテストする第二のテスト工程と、前記第一のテスト工程の結果と、前記第二のテスト工程の結果と、を比較し、一致した場合は前記デザインルール入力工程で入力したデザインルールファイルが正しいと判定する判定工程と、を有することを特徴とするデザインルールチェック検証方法である。
【００１９】
請求項６に記載された発明は、請求項５に記載された発明において、前記デザインルール生成工程では、同じ論理的結果を得られる複数の記述方法で複数のデザインルールファイルを生成することを特徴とする。
【００２０】
請求項７に記載された発明は、請求項６に記載された発明において、前記判定工程は、前記複数のデザインルールファイルのうち、一つでも結果が一致するものがあれば、前記デザインルール入力工程で入力されたデザインルールファイルが正しいと判定することを特徴とする。
【００２１】
請求項８に記載された発明は、請求項５乃至７のうちいずれか一項に記載された発明において、前記判定工程で判定した結果を記述した結果ファイルのチェックサム要素を暗号化した暗号文を生成し、該結果ファイルに前記暗号文を付加する暗号化工程を有することを特徴とする。
【発明の効果】
【００２２】
請求項１に記載の発明によれば、デザインルール入力手段から入力されたデザインルールファイルをテスト手段によってテストした結果と、デザインルール生成手段が自動生成したデザインルールファイルをテスト手段でテストした結果と、を比較し、一致した場合はデザインルール入力手段から入力されたデザインルールファイルが正しいと判定手段で判定しているので、ユーザが作成したＤＲＣルール（デザインルールファイル）を自動発生された標準ＤＲＣルールを用いてチェックすることでユーザ作成のＤＲＣルールが正しいことを検証することができる。このため、従来は自動発生されたテストパターンに対してユーザ作成のＤＲＣルールの実行結果が正しいことを手作業的に判断していた工程を省略することができるため、ユーザ作成のＤＲＣルール検証工数を大幅に削減することが可能となる。
【００２３】
請求項２に記載の発明によれば、デザインルール生成手段が、同じ論理的結果を得られる複数の記述方法、即ち、同じ意味・目的である記述方法で複数のデザインルールファイルを生成しているので、記述方法に依存することなく、デザインルール入力手段から入力されたデザインルールファイルをチェックすることができる。
【００２４】
請求項３に記載の発明によれば、判定手段が、複数のデザインルールファイルのうち、一つでも結果が一致するものがあれば、デザインルール入力手段から入力されたデザインルールファイルが正しいと判定しているので、自動生成された記述の違いにより誤判定されることを防止することができる。
【００２５】
請求項４に記載の発明によれば、判定手段によって判定された結果が記述された結果ファイルのチェックサム要素を暗号化した暗号文を該結果ファイルに付加する暗号化手段を備えているので、ＤＲＣルールの検証を外部委託等で実施する場合に、委託先で検証が正しく行われたことを示す結果ファイルを暗号化でき、そのため検証結果の改竄を防止し、委託元で正しく検証されているかの再確認過程を省くことができる。
【００２６】
請求項５に記載の発明によれば、デザインルール入力工程で入力されたデザインルールファイルをテストした結果と、デザインルール生成工程が自動生成したデザインルールファイルをテストした結果と、を比較し、一致した場合はデザインルール入力工程で入力されたデザインルールファイルが正しいと判定工程で判定しているので、ユーザが作成したＤＲＣルール（デザインルールファイル）を自動発生された標準ＤＲＣルールを用いてチェックすることでユーザ作成のＤＲＣルールが正しいことを検証することができる。このため、従来は自動発生されたテストパターンに対してユーザ作成のＤＲＣルールの実行結果が正しいことを手作業的に判断していた工程を省略することができるため、ユーザ作成のＤＲＣルール検証工数を大幅に削減することが可能となる。
【００２７】
請求項６に記載の発明によれば、デザインルール生成工程が、同じ論理的結果を得られる複数の記述方法で複数のデザインルールファイルを生成しているので、記述方法に依存することなく、デザインルール入力手段から入力されたデザインルールファイルをチェックすることができる。
【００２８】
請求項７に記載の発明によれば、判定工程が、複数のデザインルールファイルのうち、一つでも結果が一致するものがあれば、デザインルール入力手段から入力されたデザインルールファイルが正しいと判定しているので、自動生成された記述により誤判定されることを防止することができる。
【００２９】
請求項８に記載の発明によれば、判定工程によって判定された結果が記述された結果ファイルのチェックサム要素を暗号化した暗号文を該結果ファイルに付加する暗号化工程を備えているので、ＤＲＣルールの検証を外部委託等で実施する場合に、委託先で検証が正しく行われたことを示す結果ファイルを暗号化でき、そのため検証結果の改竄を防止し、委託元で正しく検証されているかの再確認過程を省くことができる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態にかかるデザインルールチェック検証装置の構成図である。
【図２】図１に示したデザインルールチェック検証装置の動作のフローチャートである。
【図３】図１に示したデザインルールチェック検証装置が自動発生したテストパターン図形例である。
【図４】図１に示したデザインルールチェック検証装置が自動発生した幅チェック用ルール記述例である。
【図５】図３に示されたテストパターン図形例で手作業で記述したＤＲＣファイルと自動生成したＤＲＣファイルとのＤＲＣ実行結果が一致する場合の図形である。
【図６】図２に示したフローチャートの実行結果を記述したファイル例である。
【図７】図３に示されたテストパターン図形例で手作業で記述したＤＲＣファイルと自動生成したＤＲＣファイルとのＤＲＣ実行結果が一致しない場合のエラー図形である。
【発明を実施するための形態】
【００３１】
［第１実施形態］
以下、本発明の一実施形態を、図１ないし図７を参照して説明する。図１は、本発明の一実施形態にかかるデザインルールチェック検証装置の構成図である。図２は、図１に示したデザインルールチェック検証装置の動作のフローチャートである。図３は、図１に示したデザインルールチェック検証装置が自動発生したテストパターン図形例である。図４は、図１に示したデザインルールチェック検証装置が自動発生した幅チェック用ルール記述例である。図５は、図３に示されたテストパターン図形例で手作業で記述したＤＲＣファイルと自動生成したＤＲＣファイルとのＤＲＣ実行結果が一致する場合の図形である。図６は、図２に示したフローチャートの実行結果を記述したファイル例である。図７は、図３に示されたテストパターン図形例で手作業で記述したＤＲＣファイルと自動生成したＤＲＣファイルとのＤＲＣ実行結果が一致しない場合のエラー図形である。
【００３２】
図１に本発明の一実施形態にかかるデザインルールチェック検証装置１０を示す。図１に示したデザインルールチェック検証装置１０は、テストパターン生成手段、テスト手段、デザインルール生成手段、判定手段としての処理装置１と、デザインルール入力手段としてのキーボード２と、マウス３と、デザインルール入力手段としての記憶装置４と、表示装置５と、を備えている。
【００３３】
処理装置１は、キーボード２およびマウス３からの入力や記憶装置４に記憶されたデータなどに基づいてデザインルールチェック処理（テストパターン発生、デザインルールチェック（ＤＲＣ）実行、結果比較、暗号化処理）を行い、結果を表示装置５に表示させたり、記憶装置５に記憶させたりする。
【００３４】
キーボード２は、デザインルールチェック処理のためのコマンド等を入力する。マウス３は、デザインルールチェック処理のためのコマンド入力の補助手段として、入力や表示に際してＧＵＩ（Graphical User Interface）で指示を行う場合に使用する。マウス３に限らずタブレットやトラックボール等のポインティングデバイスを用いてもよい。
【００３５】
記憶装置４は、テストパターンデータやＤＲＣルール、デザインルールチェック実行結果、結果ファイル等が格納される。なお、本実施形態におけるＤＲＣルールは特許請求の範囲におけるデザインルールファイルを示している。
【００３６】
表示装置５は、キーボード２やマウス３からの入力に応じて、実行状態や結果ファイルの表示を行う。
【００３７】
次に、図１に示されたデザインルールチェック検証装置１０の動作を図２のフローチャートを参照して説明する。
【００３８】
まず、ステップＳ２０１において、キーボード２などでＤＲＣにおけるチェック値を指定し、それらに応じたテストパターンを処理装置１が自動発生し、ステップＳ２０２およびＳ２０４に進む。この自動発生については従来行われていた周知の技術を用いればよい。
【００３９】
チェック値は例えば以下のものが挙げられる。ここには主要指定要素のみを挙げるが、用途に応じて必要なチェック値が用意されるものとする。
・ルール値：デザインルールで規定される値であって、図形の幅や間隔の最小値等が規定される。
・用途：幅チェック用、間隔チェック用、オーバーラップチェック用等のチェックルール種別。
・グリッド値：レイアウトパターンを作成する際およびＤＲＣ実行時での最小グリッド値。
・レイヤ番号：発生されるテストパターンのレイヤ番号。用途に応じて複数の指定を行うことがある。
・ファイル名：発生されるテストパターンを格納するファイル名。
・セル名：発生されるテストパターンのセル名。
【００４０】
また、本ステップで発生されるテストパターンには、ＤＲＣでエラーなしとなるパターンおよびエラーありとなるパターンの両方が含まれる。エラーなしのパターンでは、例えばチェック値と等しい図形で、エラーありのパターンでは、例えばチェック値より１グリッド小さい図形等を発生する。
【００４１】
ステップＳ２０１の処理の次のステップとしてＳ２０２とＳ２０４の２つがあるが、これらはどちらから実行してもよいし、あるいは並列処理してもかまわない。ステップＳ２０７までに双方の処理（ステップＳ２０２からＳ２０３へ至る処理とステップＳ２０４からＳ２０６へ至る処理）が終了していればよい。
【００４２】
第一のテスト工程としてのステップＳ２０２は、処理装置１が、予め作成された手動で生成されたデザインルールファイルとしてのユーザ作成のＤＲＣルールでＤＲＣを実行しステップＳ２０３に進む。このＤＲＣルールはファイルとして予め記憶装置４に記憶しておくか、キーボード２から入力してファイルとして記憶装置４に記憶させておくなどとすればよい。このＤＲＣルールを予め記憶装置４に記憶しておくか、キーボード２から入力してファイルとして記憶装置４に記憶させておく工程がデザインルール入力工程となる。なお、本ステップでは、ステップＳ２０１で指定したチェック値に相当するルールを実行する。つまり、ユーザ作成のＤＲＣルールには複数のチェック記述が含まれるが、チェック値の対象のみを実行する。
【００４３】
次に、ステップＳ２０３において、ステップＳ２０２の結果、得られたエラーありのパターンについてのエラー図形を処理装置１が発生しステップＳ２０７に進む。
【００４４】
一方、デザインルール生成工程としてのステップＳ２０４は、ステップＳ２０１で指定したチェック値に基づき、処理装置１が標準ＤＲＣルールを自動発生しステップＳ２０５に進む。自動発生に際しては、同じ目的（チェック値）の標準ＤＲＣルールであっても手法により複数の記述が可能であり、さらにこの場合、ＤＲＣ結果としては出力図形の形状が異なることがあるため、この手法数に応じた数の標準ＤＲＣルールを発生する。即ち、同じ論理的結果を得られる複数の記述方法で複数のデザインルールファイルを生成する。またこの手法には、用途に応じて必要なレイヤ演算処理も発生に含むものとする（例えばＭＯＳトランジスタのゲート部分を構成する図形に対しての最小幅チェックという用途では、拡散部とポリシリコン部のＡＮＤ処理を行う等。これらの処理は用途に応じて規定される）。
【００４５】
次に、第二のテスト工程としてのステップＳ２０５において、ステップＳ２０４で発生された標準ＤＲＣルールの一つについて処理装置１がＤＲＣを実行しステップＳ２０６に進む。
【００４６】
次に、ステップＳ２０６において、ステップＳ２０３と同様にステップＳ２０５の結果で得られたエラーありのパターンについてのエラー図形を処理装置１が発生しステップＳ２０７に進む。
【００４７】
次に、ステップＳ２０７において、処理装置１が、ステップＳ２０３とＳ２０６で得られた各々のエラー図形に対して図形パターン比較を行いステップＳ２０８に進む。本ステップでの比較は、従来から行われているＬＶＬ（Layout Versus Layout）を行うことと同様であり、各々のエラー図形を排他的論理和（ＸＯＲ）によって違いを検出するものである。例えば両者が全く同じエラー図形であれば違いは検出されないが、異なる部分がある場合は、その異なる部分が結果として出力されるものである。また、別の手法としてＬＶＬではなく、単純なファイル比較で実施するという方法でもよい。この方法は、各々のエラー図形が同じレイアウト検証ツールの同じバージョンで実行されているという前提では、結果的に違いがない場合があるからであり、この前提が成り立つ場合は、単純なファイル比較で代用することが可能となる。
【００４８】
次に、判定工程としてのステップＳ２０８において、処理装置１が、ステップＳ２０７での比較結果で違いが無いか、すなわち両方のエラー図形が一致するか否かを判定する。一致する場合は、テストパターンに対してユーザ作成のＤＲＣルールと標準ＤＲＣルールが同じ処理をしていると判断できるため、結果としてユーザ作成のＤＲＣルールが標準的な処理をしていることが判定できる。したがってユーザ作成のＤＲＣルールはテストパターンによっても検証されたことになり、品質確保できたものと扱える。この場合はステップＳ２１１に進む。また、一致しない場合は、ステップＳ２０９に進む。即ち、デザインルール入力手段から入力されたデザインルールファイルをテスト手段によってテストした結果と、デザインルール生成手段が自動生成したデザインルールファイルをテスト手段でテストした結果と、を比較し、一致した場合はデザインルール入力手段から入力されたデザインルールファイルが正しいと判定している。
【００４９】
次に、ステップＳ２０９において、処理装置１が、全ての手法の標準ＤＲＣルールを実施したかの判定を行い、未実施の手法の標準ＤＲＣルールが残っている場合は、ステップＳ２０４に戻り、別の手法の標準ＤＲＣルールの処理を行い、全ての手法の標準ＤＲＣルールを実施した場合はステップＳ２１０に進む。
【００５０】
次に、ステップＳ２１０において、全ての標準ＤＲＣルールを実施した場合は、結果として一致するエラー図形が得られなかったことになり、処理装置１が、ユーザ作成のＤＲＣルールに問題があると判定する。この不一致の状況を表示装置５にレポート表示して、ルール作成者にルール上の問題の可能性がある旨を伝える。
【００５１】
一方、ステップＳ２１１では、処理装置１が、ステップＳ２０８での一致結果およびステップＳ２０１で指定したチェック値および実行時データ（ルール名や実行環境、実行日時、実行者等）を結果ファイルとして作成しステップＳ２１２に進む。
【００５２】
次に、暗号化工程としてのステップＳ２１２において、処理装置１が、ステップＳ２１１の結果ファイルに対して例えば各行のチェックサム要素を暗号化した文を結果ファイルの最終行に付加する。暗号化の手法については周知の方法を適用すればよい。
【００５３】
また、図１に示したデザインルールチェック検証装置１０は、図２のステップＳ２１２で暗号文が付加された結果ファイルが改竄されていないことをチェックする機能も有している。このチェックは、例えば、結果ファイルに対してステップＳ２１２の処理と同様に暗号文以外の箇所を暗号化して、結果ファイルと同じ暗号文が得られることで改竄されていないことを確認するといった方法を用いる。
【００５４】
次に、図２に示したフローチャートにより処理を行った実施例を図３ないし図７を参照して説明する。
【００５５】
図３は、図２のステップＳ２０１で自動発生されるテストパターン図形例である。エラーなしパターン３０１の領域には、ＤＲＣでエラーなしとなるパターン図形を集め、エラーありパターン３０５の領域には、ＤＲＣでエラーありとなるパターン図形を集めている。なお、図３は幅チェック用のテストパターン例である。
【００５６】
図形３０２〜３０４は各々、矩形、多角形、幅付線分図形が描かれており、各図形の各辺についてステップＳ２０１で指定したチェック値での幅となっている。ただし本実施例の図形３０４の斜め部分の幅は、正確に１グリッドでは表現できないため、チェック値に１グリッド未満の間隔を加えたものとなっている。
【００５７】
図形３０６〜３０８も図形３０２〜３０４と同様の図形であるが、各図形の一部の辺間の距離（幅）がチェック値より１グリッド小さいものとなっている。詳細には、図形３０６では左右の幅が小さく、図形３０７では括れ部の幅が小さく、図形３０８では斜め部の幅が１グリッド小さいものとなっている。ただし本実施例の図形３０８の斜め部分の幅は、正確に１グリッドでは表現できないため、チェック値に１グリッド未満の間隔を引いたものとなっている。さらに図では１グリッドの違いを誇張して大きめに表現している。
【００５８】
次にステップＳ２０４で自動発生される幅チェック用ルール例を図４に示す。なお、記述例は使用するＤＲＣツールに依存する。したがって、図４は一例であり概念的な部分のみを説明する。
【００５９】
まず、図４（ａ）から説明する。図４（ａ）の「WIDTH＿CHECK＿L02＿1」は、チェックするルール名を示している。「L02」のレイヤについての幅チェックで、最後の“１”はパターン番号１であることを示している。次の「[ ]」間はルール名に対するチェック記述であることを示している。「"Min. Layer02 width 1.7um (INTERNAL)"」はチェック内容を表すコメント文字列を示している。次の行の「INTERNAL  L02 < 1.7」は、「L02」に対する幅チェックをＩＮＴＥＲＮＡＬ処理（辺間の間隔チェック）で１．７μｍ未満をエラーとすることを示している。次の「POLYGON＿OUT」は、エラーを多角形図形で出力することを示している。
【００６０】
次に、図４（ｂ）を説明する。図４（ｂ）の「WIDTH＿CHECK＿L02＿2」は、チェックするルール名を示している。「L02」のレイヤについての幅チェックで、最後の“２”はパターン番号２であることを示している。「[ ]」間はルール名に対するチェック記述であることを示している。「"Min. Layer02 width 1.7um (WIDTH)"」はチェック内容を表すコメント文字列を示している。「L02 WIDTH < 1.7」は、「L02」に対する幅チェックをＷＩＤＴＨ処理（指定幅を満たさない図形を抽出）で１．７μｍ未満をエラーとすることを示している。
【００６１】
このように、各図形の一部の辺間の距離（幅）をチェックする記述手法に複数の手法があり、図２のステップＳ２０４では、このような複数の手法がある場合は、複数のＤＲＣルールを出力するとともに、ステップＳ２０４〜Ｓ２０９を複数回（本実施例では、図４の（ａ）、（ｂ）とも行う場合は２回）繰り返す。即ち、本発明で行っているのではＤＲＣルールの文法チェックではなく、その記述が示している目的や意味をチェックしており、その正しいチェックを行う手法（コマンド記述）が複数存在し、またこれらは同じ目的・意味であるが、コマンドやオプション等によって結果として出力されるエラー図形が一致しない場合があるので、複数の手法によるチェックを行っている。また、ＤＲＣルールの記述が示している目的や意味をチェックしているので、複数のうち１つが一致すればよい。このようにすることで、１種類のみ生成したのでは誤判定をしてしまう可能性がある場合に、複数の手法を生成し誤判定による作業の手戻りを少なくしている。
【００６２】
図５は、ステップＳ２０２、Ｓ２０３およびステップＳ２０５、Ｓ２０６でのＤＲＣ実行で得られた結果のエラー図形を示している。なお、実際はハッチング部のみが出力されるが、説明上分かり易くするために図３の図形を重ねたものを示している。図５は、ステップＳ２０２、Ｓ２０３およびステップＳ２０５、Ｓ２０６での結果で同じエラー図形が得られた場合である。また、ステップＳ２０４で自動発生されたルールは図４（ａ）を使用したものとする。エラーなしパターン３０１の図形は、エラーが検出されなかったため、エラーなしパターン３０１と同じ状態になり、ハッチング部分が無くエラー図形はないことを示している。エラーありパターン３０５の図形は、ハッチング部分があり、図形３０６にエラー図形４０６が、図形３０７にエラー図形４０７が、図形３０８にエラー図形４０８が、それぞれ存在する。
【００６３】
図５の場合は、ステップＳ２０２、Ｓ２０３での結果およびステップＳ２０５、Ｓ２０６での結果で同じエラー図形が得られたものとしているため、ステップＳ２０８の処理ではエラー図形が一致することになる。そのため次はステップＳ２１１の処理に移る。
【００６４】
ステップＳ２１０で作成される結果ファイルの例を図６に示す。この例にはステップＳ２１２の処理結果も含んでいる。なお、図６の左端の数字は以下の説明のために行番号を示したものであって、ファイル内容には含まれない。
【００６５】
図６の内容を説明する。０１〜０８行はコメントである。０９行はチェック対象のプロセス名が記載されている。１０行はプロセス名のコメントとしてプロセス概要が記載されている。１１行はルールでのチェック名（ルールには複数のチェック内容があり、そのうちの１チェックの内容）を示している。１２行はチェック名のコメントが記載されている。１３〜２２行はステップＳ２０８の結果が一致であったことが示されている。２３〜２６行は補助情報としてチェック環境が記載されている。この例では各々実行ホスト名、実行日付、実行ユーザ名、実行ディレクトリである。２８行はステップＳ２１０での処理が終了した部分であることを示すマーカー文字列「END...」が記載されている。ここまでが、ステップＳ２１１での出力となる。
【００６６】
ステップＳ２１２で処理される暗号化文字列が２９行に記載される。前半が暗号化タイプであって、複数の暗号化手段が用意される場合にその識別用に手段を示すタイプコードを記載する。後半の１６進数が暗号化された結果である。このように、本実施例では暗号化はファイル全体について行うのではなく、この例では２８行目までのファイル内のチェックサム要素を暗号化した結果を付加している。
【００６７】
暗号化の方法は、例えば結果ファイルの各行のチェックサムを１バイトで演算し、これを文字列として連結し、更にＤＥＳ（Data Encryption Standard）方式やＭＹＳＴＹ方式などで暗号化し、下位の16バイトを暗号文とする方法や、また、各行のチェックサムではなく、縦の行のチェックサムも考慮する（縦横のチェックサム文字列を組み合わせて暗号化する）方法などを行う。但し、これらに限らず、結果ファイルのチェックサムを暗号化していれば他の方法でもよい。
【００６８】
なお、上述したステップＳ２１２で暗号文が付加された結果ファイルが改竄されていないことをチェックする機能は、例えば、図６の結果ファイルを読み込んだ際に最後の１行以外を再暗号化し、読み込んだ結果ファイルの暗号文と再暗号化した暗号文とを比較することでファイル内容が改竄されていないことを検知するものである。もしファイル内容が改竄されていれば、読み込んだ結果ファイルの暗号文と再暗号化した暗号文とが一致しなくなる。
【００６９】
次に、ステップＳ２０８の判定で、エラー図形が一致しない場合を図７を参照して説明する。例えば、ステップＳ２０２でユーザ作成のＤＲＣルールで１．７μｍとすべきところを１．８μｍとした場合、図３のテストパターン図形に対するステップＳ２０３の結果は図７のようになる。図７の場合のグリッド値は０．１μｍとしている。
【００７０】
図３においてエラーなしパターン３０１の各図形の幅は１．７μｍで設定されているため、殆どの辺間の距離が１．８μｍを満たさず、図７のハッチングで示される箇所にエラー図形５０２、５０３、５０４が現れる。エラーありパターン３０５でも図５と比較してエラーが増加する結果となる。
【００７１】
一方ステップＳ２０４で発生されたルールは１．７μｍとなっているため、ステップＳ２０６の結果は図５と同様になる。したがって、ステップＳ２０７の処理で図４と図５のエラー図形を比較して、エラー図形が一致しないためにステップＳ２０９の処理に移ることになる。
【００７２】
ステップＳ２０９では、全ての標準ＤＲＣルールが実施されたかの判定を行うが、ルールが図４（ａ）の一つしかない場合は、ステップＳ２１０でエラー図形が一致しないというレポートを作成して処理を終了する。このレポートは表示装置５に表示されるが、同時に記憶装置４に記憶させてもよい。ルール作成者はこのレポートによって、ルールの間違いを正すための情報を得ることができる。また、ステップＳ２０９で図４（ｂ）のルールが存在する場合は、図４（ｂ）のルールについてステップＳ２０４の処理に移ることになる。
【００７３】
ここで、ステップＳ２０８の判定で、エラー図形が一致しない別の例について説明する。ステップＳ２０２でユーザ作成のＤＲＣルールで１．７μｍとすべきところを１．６μｍとした場合、図３のテストパターン図形に対しては次のような結果となる。この場合も同様にグリッド値は０．１μｍとしている。ステップＳ２０３の結果としてエラーなしパターン３０１では、エラーが出力されない（各図形の各辺の間隔が１．７μｍ以上あるため）。そして、エラーありパターン３０５でも、エラーが出力されない（各図形での各辺の間隔が１．６μｍ以上あるため）。このためステップＳ２０８の判定は一致しないことになる。この後の処理は上述した実施例と同様である。
【００７４】
本実施形態によれば、処理装置１が、ユーザ作成のＤＲＣルールをテストパターン図形を用いてテストした結果と、自動生成したＤＲＣルールをテストパターン図形を用いてテストした結果と、を比較し、一致した場合はユーザ作成のＤＲＣルールが正しいと判定しているので、ユーザが作成したＤＲＣルールを自動発生された標準ＤＲＣルールを用いてテストすることでＤＲＣルールが正しいことを検証している。このため、従来は自動発生されたテストパターンに対してユーザ作成のＤＲＣルールの実行結果が正しいことを手作業的に判断していた工程を省略することができるため、ユーザ作成のＤＲＣルール検証工数を大幅に削減することが可能となる。
【００７５】
また、最初にチェック値を設定し実行するだけで結果としてユーザ作成のＤＲＣルールが正しいものであるかが判定できる。従来であればグラフィック表示装置で各パターン毎にエラー図形の形状を確認していた作業をユーザ作成のＤＲＣルールが正しい場合は省くことができる。
【００７６】
また、処理装置１が、同じ論理的結果を得られる複数の記述方法で複数のＤＲＣルールを生成し、複数のＤＲＣルールのうち、一つでも結果が一致するものがあれば、ユーザ作成のＤＲＣルールが正しいと判定しているので、記述方法に依存することなく、ユーザ作成のＤＲＣルールをテストすることができ、自動生成された記述の違いにより誤検出されることを防止することができる。
【００７７】
また、処理装置１が、判定された結果が記述された結果ファイルのチェックサム要素を暗号化した暗号文を該結果ファイルに付加しているので、ＤＲＣルールの検証を外部委託等で実施する場合に、委託先での検証が正しく行われたかの結果を暗号化でき、その結果ファイルを改めて読み込むことで検証結果の改竄が行われているかを検出することができる。したがって改竄を防止し、委託元で正しく検証されているかの再確認過程を省くことができる。
【００７８】
なお、上述した暗号文を付加することで、外部委託に限らず、検証者の能力不足やミスにより一部分でも検証結果に齟齬がある場合（ＤＲＣの結果を比較してエラーが出力されているにも関わらず、エラーなしとして見逃した場合等）にも対応することができる。
【００７９】
また、本発明は、専用の装置でなく、汎用のコンピュータにインストールするプログラムとして構成することも可能である。
【００８０】
なお、本発明は上記実施形態に限定されるものではない。即ち、本発明の骨子を逸脱しない範囲で種々変形して実施することができる。
【符号の説明】
【００８１】
１          処理装置（テストパターン生成手段、テスト手段、デザインルール生成手段、判定手段）
２          キーボード（デザインルール入力手段）
３          マウス
４          記憶装置（デザインルール入力手段）
５          表示装置
１０        デザインルールチェック検証装置
Ｓ２０２    第一のテスト工程
Ｓ２０４    デザインルール生成工程
Ｓ２０５    第二のテスト工程
Ｓ２０８    判定工程
Ｓ２１１    暗号化工程
【先行技術文献】
【特許文献】
【００８２】
【特許文献１】特開平６−２９０２３５号公報
【特許文献２】特開２００６−３５０４２０号公報
【特許文献３】特開平１０−６３６９９号公報
【図１】
2011060194.tif 000003
【図２】
2011060194.tif 000004
【図３】
2011060194.tif 000005
【図４】
2011060194.tif 000006
【図５】
2011060194.tif 000007
【図６】
2011060194.tif 000008
【図７】
2011060194.tif 000009