JP5540576B2 - Test data generation method - Google Patents

Test data generation method Download PDF

Info

Publication number
JP5540576B2
JP5540576B2 JP2009144436A JP2009144436A JP5540576B2 JP 5540576 B2 JP5540576 B2 JP 5540576B2 JP 2009144436 A JP2009144436 A JP 2009144436A JP 2009144436 A JP2009144436 A JP 2009144436A JP 5540576 B2 JP5540576 B2 JP 5540576B2
Authority
JP
Japan
Prior art keywords
data
plane
pseudo
plane data
test
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
JP2009144436A
Other languages
Japanese (ja)
Other versions
JP2011003658A (en
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.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
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 Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2009144436A priority Critical patent/JP5540576B2/en
Publication of JP2011003658A publication Critical patent/JP2011003658A/en
Application granted granted Critical
Publication of JP5540576B2 publication Critical patent/JP5540576B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、検証プログラムをテストするためのテストデータを生成する技術に関する。   The present invention relates to a technique for generating test data for testing a verification program.

例えばLSI(Large Scale Integration)等の半導体装置の設計工程の一つに、半導体装置を構成する複数の構成要素の配置を決めるレイアウト設計工程がある。レイアウト設計工程では、デザインルールに従って、各構成要素が配置されたレイアウトデータが生成される。レイアウトデータでは、複数の構成要素のそれぞれが「レイヤ」という概念を用いて記述される。例えば、レイアウトデータに含まれる複数のレイヤのそれぞれは、1つのマスクを用いて半導体基板に形成される1又は複数の構成要素に対応する。レイアウトデータは、複数のレイヤが配置されたデータである。デザインルールでは、各レイヤの寸法、各レイヤ間の距離、レイヤ同士の重なり関係等の、半導体装置を設計する際に従うべきルールが規定されている。   For example, one of the design processes of a semiconductor device such as an LSI (Large Scale Integration) is a layout design process for determining the arrangement of a plurality of components constituting the semiconductor device. In the layout design process, layout data in which each component is arranged is generated according to the design rule. In the layout data, each of a plurality of components is described using the concept of “layer”. For example, each of the plurality of layers included in the layout data corresponds to one or a plurality of components formed on the semiconductor substrate using one mask. The layout data is data in which a plurality of layers are arranged. In the design rule, rules to be followed when designing a semiconductor device, such as the dimensions of each layer, the distance between layers, and the overlapping relationship between layers, are defined.

レイアウトデータを生成すると、レイアウトデータがデザインルールに適合しているか否かを検証する。レイアウトデータの検証には、検証プログラムが用いられる。検証プログラムは、デザインルールに基づいて生成される。検証プログラムは、レイアウトデータを解析し、レイアウトデータに記述されているレイヤがデザインルールに沿っているか違反しているか否かを確かめる。   When the layout data is generated, it is verified whether the layout data conforms to the design rule. A verification program is used to verify the layout data. The verification program is generated based on the design rule. The verification program analyzes the layout data and confirms whether or not the layer described in the layout data conforms to or violates the design rule.

特許文献1,2に、検証プログラムを生成する技術が開示されている。一つの半導体装置は多数の構成要素を含むため、デザインルールも複雑になる。そのため、検証プログラム自体が正しく動作するか否かを確かめる必要がある。即ち、検証プログラムを検証するための技術が必要となる。特許文献2には、検証プログラムが正しく動作することを確かめる技術として、デザインルールに適合した第1のテストデータと、デザインルールに適合していない第2のテストデータを用意し、それぞれのテストデータを検証プログラムに入力する技術が開示されている。   Patent Documents 1 and 2 disclose a technique for generating a verification program. Since one semiconductor device includes a large number of components, the design rule is also complicated. Therefore, it is necessary to check whether the verification program itself operates correctly. That is, a technique for verifying the verification program is required. Patent Document 2 prepares first test data that conforms to the design rules and second test data that does not conform to the design rules as a technique for confirming that the verification program operates correctly. Has been disclosed.

特開2006−253409号公報JP 2006-253409 A 特開2006−350420号公報JP 2006-350420 A

従来、検証プログラムのテストが煩雑であった。例えば特許文献2の技術では、デザインルールに適合しているテストデータと、デザインルールに適合していないテストデータとを準備しなければならない。本発明は、上記の実情に鑑みて創作されたものであり、複数のテストデータを準備することなく、検証プログラムをテストすることができるテストデータを効率的に生成する技術を提供することを目的とする。   Conventionally, verification program testing has been complicated. For example, in the technique of Patent Document 2, it is necessary to prepare test data that conforms to the design rules and test data that does not conform to the design rules. The present invention was created in view of the above circumstances, and an object of the present invention is to provide a technology for efficiently generating test data that can test a verification program without preparing a plurality of test data. And

本明細書で開示される技術は、半導体装置のレイアウトデータであり複数のレイヤの配置を規定するレイアウトデータがレイヤ同士の重なり関係を規定するデザインルールに適合しているか否かを検証するための検証プログラムがレイアウトデータの適否を正しく検証できるか否かをテストするためのテストデータを生成する方法である。テストデータ生成方法は、夫々が各レイヤに対応している擬似レイヤを含む擬似レイヤ群が平面上に規則的に配置された第1平面データを生成する第1平面データ生成工程と、前記擬似レイヤ群が平面上に規則的に配置された第2平面データであり、第1平面データと重ね合わせたときに第2平面データ上の各擬似レイヤが第1平面データ上のそれぞれの擬似レイヤと重なる第2平面データを生成する第2平面データ生成工程と、第1平面データと第2平面データとが重なった第1レイアウトデータであって、第2平面データ上の各擬似レイヤが第1平面データ上のそれぞれの擬似レイヤと重なっている第1レイアウトデータを含むテストレイアウトデータを生成するテストレイアウトデータ生成工程と、を備える。
また、本明細書で開示される技術は、テストデータ生成方法に関する。生成されるテストデータは、半導体装置のレイアウトデータがデザインルールに適合しているか否かを検証するための検証プログラムがレイアウトデータの適否を正しく検証できるか否かをテストするためのテストデータである。前述したように、レイアウトデータは、半導体装置の複数の構成要素、即ち、レイヤの配置を規定するデータである。ここで、デザインルールは、レイアウトデータに記述されているレイヤ同士の重なり関係を規定するルールである。このテストデータ生成方法は、第1平面データ生成工程と第2平面データ生成工程とテストレイアウトデータ生成工程とを備える。第1平面データ生成工程は、夫々が各レイヤに対応している擬似レイヤを含む擬似レイヤ群が一つの平面上に規則的に配置された第1平面データを生成する。第2平面データ生成工程は、擬似レイヤ群が他の一つの平面上に規則的に配置された第2平面データであり、第1平面データと重ね合わせたときに第2平面データ上の各擬似レイヤが第1平面データ上のそれぞれの擬似レイヤと重なる第2平面データを生成する。テストレイアウトデータ生成工程は、第1平面データと第2平面データとが重なったレイアウトデータを含むテストレイアウトデータを生成する。ここで、「第1平面データと第2平面データを重ねる」という表現は、第1平面データが表す擬似レイヤの平面配置と第2平面データが表す擬似レイヤの平面配置を重ねることを意味する。また、「第2平面データ上の擬似レイヤが第1平面データ上の擬似レイヤと重なる」という表現は、第2平面上で擬似レイヤが占める領域の一部が、第1平面上で各擬似レイヤが占める領域の一部と重なることを意味する。
The technology disclosed in this specification is for verifying whether layout data of a semiconductor device and layout data defining the arrangement of a plurality of layers conforms to a design rule that defines an overlapping relationship between layers. This is a method for generating test data for testing whether the verification program can correctly verify the suitability of the layout data. The test data generation method includes: a first plane data generation step for generating first plane data in which pseudo layer groups each including a pseudo layer corresponding to each layer are regularly arranged on a plane; and the pseudo layer The second plane data is a group regularly arranged on a plane, and each pseudo layer on the second plane data overlaps with each pseudo layer on the first plane data when superimposed on the first plane data. The second plane data generation step for generating the second plane data, and the first layout data in which the first plane data and the second plane data are overlapped, and each pseudo layer on the second plane data is the first plane data. A test layout data generation step of generating test layout data including first layout data overlapping each of the pseudo layers above.
The technology disclosed in the present specification also relates to a test data generation method. The generated test data is test data for testing whether the verification program for verifying whether the layout data of the semiconductor device conforms to the design rule can correctly verify the suitability of the layout data. . As described above, the layout data is data defining a plurality of components of the semiconductor device, that is, the arrangement of layers. Here, the design rule is a rule that defines an overlapping relationship between layers described in the layout data. The test data generation method includes a first plane data generation step, a second plane data generation step, and a test layout data generation step. The first plane data generation step generates first plane data in which pseudo layer groups including pseudo layers each corresponding to each layer are regularly arranged on one plane. The second plane data generation step is second plane data in which the pseudo layer group is regularly arranged on another one plane, and each pseudo plane group on the second plane data is overlapped with the first plane data. Second plane data in which the layer overlaps each pseudo layer on the first plane data is generated. In the test layout data generation step, test layout data including layout data in which the first plane data and the second plane data overlap is generated. Here, the expression “superimpose the first plane data and the second plane data” means to overlap the plane arrangement of the pseudo layer represented by the first plane data and the plane arrangement of the pseudo layer represented by the second plane data. In addition, the expression “a pseudo layer on the second plane data overlaps with a pseudo layer on the first plane data” means that a part of the area occupied by the pseudo layer on the second plane is each pseudo layer on the first plane. It means that it overlaps with a part of the area occupied by.

上記した方法で生成されるテストレイアウトデータでは、第1平面データに配置された擬似レイヤと第2平面データに配置された擬似レイヤ群のそれぞれの擬似レイヤが重なっている。理解を助けるために、第1から第3レイヤの3つのレイヤで構成されるレイアウトデータを例に挙げて説明する。第1平面データ生成工程では、第1から第3レイヤのそれぞれに対応する第1から第3擬似レイヤが一つの平面上に規則的に配置された第1平面データを生成する。第2平面データ生成工程では、第1から第3レイヤのそれぞれに対応する第1から第3擬似レイヤが規則的に一つの平面上に配置された第2平面データを生成する。ここで、第2平面データ生成工程では、第1平面データと重ねたときに、第1平面データの第1擬似レイヤと第2平面データの第1から第3擬似レイヤとが重なり、第1平面データの第2擬似レイヤと第2平面データの第1から第3擬似レイヤとが重なり、第1平面データの第3擬似レイヤと第2平面データの第1から第3擬似レイヤとが重なるように第2平面データを生成する。テストレイアウト生成工程が生成するテストレイアウトデータは、第1平面データと第2平面データが重なり合っており、第1平面データの第1擬似レイヤと第2平面データの第1から第3擬似レイヤとが重なり、第1平面データの第2擬似レイヤと第2平面データの第1から第3擬似レイヤとが重なり、第1平面データの第3擬似レイヤと第2平面データの第1から第3擬似レイヤとが重なっている。   In the test layout data generated by the above-described method, the pseudo layers arranged in the first plane data and the pseudo layers arranged in the second plane data overlap each other. In order to help understanding, layout data composed of three layers from first to third layers will be described as an example. In the first plane data generation step, first plane data in which the first to third pseudo layers corresponding to the first to third layers are regularly arranged on one plane is generated. In the second plane data generation step, second plane data in which the first to third pseudo layers corresponding to the first to third layers are regularly arranged on one plane is generated. Here, in the second plane data generation step, when the first plane data is overlapped, the first pseudo layer of the first plane data and the first to third pseudo layers of the second plane data are overlapped, so that the first plane The second pseudo layer of data and the first to third pseudo layers of the second plane data overlap, and the third pseudo layer of the first plane data and the first to third pseudo layers of the second plane data overlap. Second plane data is generated. In the test layout data generated by the test layout generation process, the first plane data and the second plane data overlap, and the first pseudo layer of the first plane data and the first to third pseudo layers of the second plane data are different. Overlap, the second pseudo layer of the first plane data and the first to third pseudo layers of the second plane data overlap, the third pseudo layer of the first plane data and the first to third pseudo layers of the second plane data And overlap.

この方法によれば、複数のレイヤのそれぞれが、他の全てのレイヤのそれぞれと重なる領域を有する模擬的なテストデータを生成することができる。このテストデータを検証プログラムに入力すると、検証プログラムは、第1平面データ上の擬似レイヤと第2平面データ上の擬似レイヤの重なり領域のそれぞれが、デザインルールに適合しているか否かを出力する。その出力を正しいデザインルールと照合することによって、検証プログラムが正しく動作しているか否かを確認することができる。このテストデータを利用することによって、検証プログラムをテストするために、複数のテストデータを生成する必要がなくなる。   According to this method, it is possible to generate simulated test data in which each of a plurality of layers has a region overlapping with each of all other layers. When this test data is input to the verification program, the verification program outputs whether or not each overlapping region of the pseudo layer on the first plane data and the pseudo layer on the second plane data conforms to the design rule. . By collating the output with the correct design rule, it is possible to confirm whether or not the verification program is operating correctly. By using this test data, it is not necessary to generate a plurality of test data in order to test the verification program.

3つのレイヤの重なり関係を規定するデザインルールに好適なテストデータの生成方法を以下に示す。このテストデータ生成方法は、複数のレイヤのうち、少なくとも1つのレイヤに対応する擬似レイヤであって、テストレイアウトデータの第1平面データと第2平面データとが重なる領域以上の面積の領域を有する擬似レイヤが平面上に配置された第3平面データを生成する第3平面データ生成工程をさらに備えていてもよい。テストレイアウトデータ生成工程は、第1平面データと第2平面データと第3平面データとが重なり合ったレイアウトデータを含むテストレイアウトデータを生成してもよい。この構成によれば、3つのレイヤが重なる領域を有するテストデータを生成することができる。   A test data generation method suitable for the design rule that defines the overlapping relationship of the three layers will be described below. The test data generation method is a pseudo layer corresponding to at least one of a plurality of layers, and has a region having an area equal to or larger than a region where the first plane data and the second plane data of the test layout data overlap. You may further provide the 3rd plane data production | generation process which produces | generates the 3rd plane data by which the pseudo | simulation layer is arrange | positioned on the plane. The test layout data generation step may generate test layout data including layout data in which the first plane data, the second plane data, and the third plane data overlap each other. According to this configuration, it is possible to generate test data having a region where three layers overlap.

上記のテストデータ生成方法は、4以上のn個のレイヤの重なり関係を規定するデザインルールに対するテストデータの生成方法に容易に拡張できる。4つのレイヤの重なり関係を規定するデザインルールの場合、夫々が各レイヤに対応している擬似レイヤを含む擬似レイヤ群が一つの平面上に規則的に配置された第3平面データと、擬似レイヤ群が他の一つの平面上に規則的に配置された第4平面データであり、第3平面データと重ね合わせたときに第4平面データ上の各擬似レイヤが第3平面データ上のそれぞれの擬似レイヤと重なる第4平面データを生成する。即ち、第3平面データは第1平面データと擬似レイヤの配置が同じであり、第4平面データは第2平面データと擬似レイヤの配置が同じである。但し、第3平面上の擬似レイヤと第4平面上の各擬似レイヤが重なった領域の面積が、第1平面データと第2平面データが重なる領域の面積以上である。テストレイアウトデータ生成工程は、第1〜第4平面データが重なったデータであり、第3平面上の擬似レイヤと第4平面上の各擬似レイヤが重なっている各領域に、第1平面データと第2平面データを重ねたテストレイアウトデータを生成する。そのようなテストレイアウトデータは、4つの擬似レイヤの重なり関係の全ての組み合わせが含まれる。そのようなテストレイアウトデータを検証プログラムに入力することによって、検証プログラムは、4つの擬似レイヤの重なり関係の全ての組み合わせに対してデザインルールに適合しているか否かを出力する。その出力を正しいデザインルールと照合することによって、検証プログラムが正しく動作しているか否かを確認することができる。   The test data generation method can be easily extended to a test data generation method for a design rule that defines an overlapping relationship of four or more n layers. In the case of the design rule that defines the overlapping relationship of the four layers, the third plane data in which the pseudo layer group including the pseudo layer corresponding to each layer is regularly arranged on one plane, and the pseudo layer The group is the fourth plane data regularly arranged on the other one plane, and when superposed on the third plane data, each pseudo layer on the fourth plane data is changed to each of the third plane data. Fourth plane data that overlaps the pseudo layer is generated. That is, the third plane data has the same arrangement of the first plane data and the pseudo layer, and the fourth plane data has the same arrangement of the second plane data and the pseudo layer. However, the area of the area where the pseudo layer on the third plane and each pseudo layer on the fourth plane overlap is equal to or larger than the area of the area where the first plane data and the second plane data overlap. The test layout data generation step is data in which the first to fourth plane data are overlapped. In each area where the pseudo layer on the third plane and each pseudo layer on the fourth plane are overlapped, the first plane data and Test layout data is generated by superimposing the second plane data. Such test layout data includes all combinations of the overlapping relationships of the four pseudo layers. By inputting such test layout data to the verification program, the verification program outputs whether all the combinations of the overlapping relationships of the four pseudo layers conform to the design rule. By collating the output with the correct design rule, it is possible to confirm whether or not the verification program is operating correctly.

第1平面データ生成工程は、擬似レイヤ群が一つの方向に沿って並んで配置された第1平面データを生成することが好ましい。第2平面データ生成工程は、擬似レイヤ群が他の一つの方向に沿って並んで配置された第2平面データを生成することが好ましい。
この構成では、第2平面データ生成工程は、第1平面データを回転させることによって、生成することができる。この結果、より簡単に、テストレイアウトデータを生成することができる。
In the first plane data generation step, it is preferable to generate first plane data in which pseudo layer groups are arranged side by side along one direction. In the second plane data generation step, it is preferable to generate second plane data in which the pseudo layer group is arranged along the other direction.
In this configuration, the second plane data generation step can be generated by rotating the first plane data. As a result, test layout data can be generated more easily.

本明細書が開示する技術によると、検証プログラムが正しく動作するか否かを効率よくテストすることができる。   According to the technique disclosed in this specification, it is possible to efficiently test whether or not the verification program operates correctly.

テスト装置の構成を示すブロック図を示す。The block diagram which shows the structure of a test apparatus is shown. 半導体装置の模式図を示す。The schematic diagram of a semiconductor device is shown. 2つの擬似レイヤの重なりを有するテストレイアウトデータの生成処理のフローチャートを示す。6 shows a flowchart of a process for generating test layout data having an overlap of two pseudo layers. 第1平面データを示す。First plane data is shown. 実施例1の第2平面データを示す。The 2nd plane data of Example 1 are shown. 実施例1の2つの擬似レイヤの重なりを有するテストレイアウトデータを示す。2 shows test layout data having an overlap of two pseudo layers of Example 1. FIG. 3つの擬似レイヤの重なりを有するテストレイアウトデータの生成処理のフローチャートを示す。3 shows a flowchart of a process for generating test layout data having an overlap of three pseudo layers. 第3平面データを示す。3rd plane data are shown. 3つの擬似レイヤの重なりを有するテストレイアウトデータを示す。3 shows test layout data having an overlap of three pseudo layers. 4つの擬似レイヤの重なりを有するテストレイアウトデータを示す。Fig. 4 shows test layout data having an overlap of four pseudo layers. 実施例2の第2平面データを示す。The 2nd plane data of Example 2 are shown. 実施例2の2つの擬似レイヤの重なりを有するテストレイアウトデータを示す。10 shows test layout data having an overlap of two pseudo layers of Example 2. 変形例の2つの擬似レイヤの重なりを有するテストレイアウトデータを示す。The test layout data which has the overlap of two pseudo | simulation layers of a modification are shown. 変形例の2つの擬似レイヤの重なりを有するテストレイアウトデータを示す。The test layout data which has the overlap of two pseudo | simulation layers of a modification are shown.

本明細書に開示される技術の実施形態のいくつかを示す。
(形態1)本明細書の技術によって生成されるテストデータは、以下のように表現することができる。即ち、テストデータは、第1平面データと第2平面データを含んでいる。第1平面データは、夫々が各レイヤに対応している擬似レイヤ群が一つの平面に規則的に配置されている。第2平面データは、擬似レイヤ群が他の一つの平面上に規則的に配置されたデータであり、第1平面データと重ねたときに第2平面データ上の各擬似レイヤが第1平面データ上の擬似レイヤ群のそれぞれと重なる平面データである。
(形態2)本明細書の技術によって生成されるテストデータは、以下のようにも表現することができる。即ち、テストデータは、夫々が各レイヤに対応している擬似レイヤ群が一つの平面に規則的に配置されている平面配置データを複数の平面に亘って有していてもよい。テストデータは、複数の平面配置データを相互に重ねたときに、一の平面データ上の各擬似レイヤが他の平面データ上の各擬似レイヤと重なる。
(形態3)本明細書の技術によって生成されるテストデータを利用して、検証プログラムをテストする方法は、以下のように表現することができる。この方法は、半導体装置のレイアウトデータであり複数のレイヤの配置を規定するレイアウトデータがレイヤ同士の重なり関係を規定するデザインルールに適合しているか否かを検証するための検証プログラムがレイアウトデータの適否を正しく検証できるか否かをテストする方法である。この方法は、夫々が各レイヤに対応している擬似レイヤ群が一つの平面に規則的に配置されている平面配置データを複数の平面に亘って有しており、相互に重ねたときに、一の平面データ上の各擬似レイヤが他の平面データ上の各擬似レイヤと重なるテストデータを用意する工程と、テストデータを与えて検証プログラムを実行する工程と、検証プログラムの実行結果を、テストデータにおけるデザインルールの不適合箇所を示す(既知の)正解データと比較する工程と、を含んでいてもよい。このテスト方法によれば、複数のテストデータを利用することなく、検証プログラムをテストすることができる。
(形態4)第1平面データ生成工程は、長方形の領域を有する擬似レイヤ群が一つの方向に沿って並んで配置されており全体で正方形となる第1平面データを生成してもよい。第2平面データ生成工程は、第1平面データをコピーし、そのコピーを90度回転させることによって、第2平面データを生成してもよい。
(形態5)テストレイアウト生成工程は、第3平面データの擬似レイヤのそれぞれに、第1平面データと第2平面データを重ねたテストレイアウトデータを生成する。
(形態6)テストレイアウトデータのフォーマットは、半導体装置のレイアウトデータのフォーマットと同じである。
(形態7)テストレイアウトデータの検証対象である検証プログラムは、レイアウトデータを入力すると、レイヤが重なっている領域の全てを抽出するとともに、各重なり領域がデザインルールに適合しているか否かの情報を出力する。
Some of the embodiments of the technology disclosed herein are shown.
(Mode 1) Test data generated by the technique of this specification can be expressed as follows. That is, the test data includes first plane data and second plane data. In the first plane data, a pseudo layer group corresponding to each layer is regularly arranged on one plane. The second plane data is data in which the pseudo layer group is regularly arranged on another plane, and each pseudo layer on the second plane data is the first plane data when superimposed on the first plane data. The plane data overlaps with each of the upper pseudo layer group.
(Mode 2) Test data generated by the technique of this specification can also be expressed as follows. That is, the test data may have plane arrangement data in which pseudo layer groups each corresponding to each layer are regularly arranged on one plane over a plurality of planes. In the test data, when a plurality of plane arrangement data are overlapped with each other, each pseudo layer on one plane data overlaps each pseudo layer on other plane data.
(Mode 3) A method for testing a verification program using test data generated by the technique of this specification can be expressed as follows. This method is a layout data of a semiconductor device, and a verification program for verifying whether layout data that defines the arrangement of a plurality of layers conforms to a design rule that defines an overlapping relationship between layers is provided by the layout data. This is a method for testing whether the correctness can be correctly verified. This method has a plurality of plane arrangement data in which pseudo layer groups each corresponding to each layer are regularly arranged on one plane, and when overlapping each other, Test process for preparing test data in which each pseudo layer on one plane data overlaps with each pseudo layer on other plane data, executing test program by giving test data, and execution result of verification program And a step of comparing with (known) correct answer data indicating a nonconformity point of the design rule in the data. According to this test method, the verification program can be tested without using a plurality of test data.
(Mode 4) In the first plane data generation step, the first plane data may be generated in which pseudo layer groups having a rectangular region are arranged side by side along one direction and are square as a whole. The second plane data generation step may generate the second plane data by copying the first plane data and rotating the copy by 90 degrees.
(Mode 5) The test layout generation step generates test layout data in which the first plane data and the second plane data are superimposed on each of the pseudo layers of the third plane data.
(Mode 6) The format of the test layout data is the same as the format of the layout data of the semiconductor device.
(Mode 7) When the verification program, which is the verification target of the test layout data, inputs the layout data, it extracts all the areas where the layers overlap, and information on whether each overlapping area conforms to the design rule Is output.

本発明を実施した実施例について図面を参照しながら説明する。図1は、本実施例のテスト装置10の構成ブロック図を示す。テスト装置10は、CPU12と、記憶部14と、操作部18と、表示部20を備える。各部12,14,18,20は、バス22によって接続されている。CPU12は、記憶部14に記憶されているプログラムに従って処理を実行する。プログラムには、半導体装置のレイアウトデータがデザインルールに適合しているか否かを検証する処理が記述されている。即ち、このテスト装置10は、レイアウトデータがデザインルールに適合しているか否かを検証する装置である。また、このテスト装置10は、検証プログラムが正しく動作するか否かを確かめるためのテストレイアウトデータを生成することもできる。   Embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing the configuration of a test apparatus 10 according to this embodiment. The test apparatus 10 includes a CPU 12, a storage unit 14, an operation unit 18, and a display unit 20. Each part 12, 14, 18, 20 is connected by a bus 22. The CPU 12 executes processing according to a program stored in the storage unit 14. The program describes a process for verifying whether the layout data of the semiconductor device conforms to the design rule. That is, the test apparatus 10 is an apparatus that verifies whether layout data conforms to a design rule. The test apparatus 10 can also generate test layout data for confirming whether or not the verification program operates correctly.

記憶部14は、RAM、ROM等で構成されている。記憶部14には、CPU12が処理を実行するためのプログラムが記憶されている。また、記憶部14には、デザインルール16が記憶されている。デザインルール16には、LSI等の半導体装置を設計する際に、従うべきルールや制約等が記述されている。制約の一つとして、デザインルール16には、各レイヤの重なり関係が規定されている。   The storage unit 14 includes a RAM, a ROM, and the like. The storage unit 14 stores a program for the CPU 12 to execute processing. The storage unit 14 stores design rules 16. The design rule 16 describes rules and restrictions to be followed when designing a semiconductor device such as an LSI. As one of the restrictions, the design rule 16 defines the overlapping relationship of each layer.

操作部18は、キーボードやマウス等を備える。ユーザは、操作部18を操作することによって、テスト装置10に情報(レイアウトデータ)を入力したり、CPU12に所定の処理を実行させることができる。表示部20は、CPU12によって指示された情報を表示することができる。なお、表示部20は、例えば、印刷装置等、CPU12によって指示された情報を出力するものであってもよい。出力情報のひとつとして、テスト装置10は、入力されたレイアウトデータが規定するレイヤ群の重なり領域がデザインルールに適合しているか否かを領域毎に示す。   The operation unit 18 includes a keyboard, a mouse, and the like. The user can input information (layout data) to the test apparatus 10 or cause the CPU 12 to execute predetermined processing by operating the operation unit 18. The display unit 20 can display information instructed by the CPU 12. The display unit 20 may output information instructed by the CPU 12, such as a printing device. As one piece of output information, the test apparatus 10 indicates, for each region, whether or not the overlapping region of the layer group defined by the input layout data conforms to the design rule.

図2は、半導体装置の配線パターンの一部の模式図を示す。デザインルール16では、第1配線パターン30と第2配線パターン32とは、互いに重なる領域34を有することが必須であることが規定されている。また、第3配線パターン40と第4配線パターン42とは、互いに重なる領域44を有することが必須であることが規定されている。一方において、第1配線パターン30は、第3配線パターン40及び第4配線パターン42とは重なってはならず、また、第2配線パターン32は、第3配線パターン40及び第4配線パターン42とは重なってはならないことが規定されている。   FIG. 2 is a schematic diagram of a part of the wiring pattern of the semiconductor device. The design rule 16 stipulates that it is essential for the first wiring pattern 30 and the second wiring pattern 32 to have regions 34 that overlap each other. Further, it is specified that the third wiring pattern 40 and the fourth wiring pattern 42 are required to have a region 44 that overlaps each other. On the other hand, the first wiring pattern 30 should not overlap the third wiring pattern 40 and the fourth wiring pattern 42, and the second wiring pattern 32 may be connected to the third wiring pattern 40 and the fourth wiring pattern 42. It is stipulated that must not overlap.

第1から第4配線パターン30,32,40,42は、それぞれ異なるマスクを用いて半導体基板(図示省略)に形成される。半導体装置のレイアウトデータでは、各配線パターン30,32,40,42は、それぞれ異なるレイヤとして記述されている。即ち、配線パターンの一つひとつがレイヤに相当する。以下では、第1配線パターン30に対応するレイヤを第1レイヤ30と、第2配線パターン32に対応するレイヤを第2レイヤ32と、第3配線パターン40に対応するレイヤを第3レイヤ40と、第4配線パターン42に対応するレイヤを第4レイヤ42と呼ぶ。   The first to fourth wiring patterns 30, 32, 40, and 42 are formed on a semiconductor substrate (not shown) using different masks. In the layout data of the semiconductor device, the wiring patterns 30, 32, 40, and 42 are described as different layers. That is, each wiring pattern corresponds to a layer. Hereinafter, the layer corresponding to the first wiring pattern 30 is the first layer 30, the layer corresponding to the second wiring pattern 32 is the second layer 32, and the layer corresponding to the third wiring pattern 40 is the third layer 40. A layer corresponding to the fourth wiring pattern 42 is referred to as a fourth layer 42.

ユーザは、操作部18を操作することによって、レイアウトデータの各レイヤの重なりを検証するための検証プログラムを生成する。検証プログラムは、半導体装置のレイアウトデータがデザインルール16に適合しているか否かを検証するためのプログラムである。ユーザは、デザインルール16に従って、検証プログラムを生成する。生成された検証プログラムでは、第1レイヤ30と第2レイヤ32との重なり、及び、第3レイヤ40と第4レイヤ42との重なりが必須であり、第1レイヤ30と第3レイヤ40及び第4レイヤ42との重なり、及び、第2レイヤ32と第3レイヤ40及び第4レイヤ42との重なりが禁止であることが規定されているはずである。   The user operates the operation unit 18 to generate a verification program for verifying the overlapping of each layer of the layout data. The verification program is a program for verifying whether the layout data of the semiconductor device conforms to the design rule 16. The user generates a verification program according to the design rule 16. In the generated verification program, the overlap between the first layer 30 and the second layer 32 and the overlap between the third layer 40 and the fourth layer 42 are essential. It should be stipulated that the overlap with the fourth layer 42 and the overlap between the second layer 32 and the third layer 40 and the fourth layer 42 are prohibited.

次に、テストレイアウトデータの生成方法を説明する。なお、以下では、「テストレイアウトデータ」を単に「テストデータ」と称する。また、テストデータはレイアウトデータと同じフォーマットを有しており、レイアウトデータと同様に検証プログラムへの入力データとして用いることができる。   Next, a method for generating test layout data will be described. Hereinafter, “test layout data” is simply referred to as “test data”. The test data has the same format as the layout data, and can be used as input data to the verification program in the same manner as the layout data.

図3は、CPU12で実行されるテストデータ生成処理のフローチャートである。図4から図6は、テストデータの生成処理の過程で生成されるデータを示す。CPU12は、第1レイヤ30から第4レイヤ42のそれぞれを模擬的に示す擬似レイヤを生成する(S12)。レイヤ30,32,40,42は、それぞれ擬似レイヤ52,54,56,58に対応する(図4参照)。擬似レイヤ52,54,56,58は、各レイヤの重なり関係を調べるためのデータであり、その機能が特定されている必要はない。また、実際のレイアウトデータでは第1レイヤ30から第4レイヤ42のそれぞれが異なる大きさや形状を有している場合であっても、各擬似レイヤ52,54,56,58は、元のレイヤの形状に関係なく、同一形状で生成される。続いて、CPU12は、各擬似レイヤ52,54,56,58が一方向(図4の左右方向)に並んだ第1平面データ50を生成する(S14)。図4は、第1平面データ50を示す。第1平面データ50では、各擬似レイヤ52,54,56,58が隣り合う擬似レイヤと接して並べられている。第1平面データ50は、正方形である。言い換えれば、各擬似レイヤ52,54,56,58の長手方向(図4の上下方向)の長さが、短手方向(図4の左右方向)の長さの4倍となっている。以下では、第nレイヤ(nは1から4の自然数)に対応する擬似レイヤを第n擬似レイヤと呼ぶ。   FIG. 3 is a flowchart of the test data generation process executed by the CPU 12. 4 to 6 show data generated in the process of test data generation processing. The CPU 12 generates a pseudo layer that simulates each of the first layer 30 to the fourth layer 42 (S12). The layers 30, 32, 40, and 42 correspond to the pseudo layers 52, 54, 56, and 58, respectively (see FIG. 4). The pseudo layers 52, 54, 56, and 58 are data for examining the overlapping relationship between the layers, and it is not necessary to specify their functions. Further, in the actual layout data, even if each of the first layer 30 to the fourth layer 42 has a different size and shape, each of the pseudo layers 52, 54, 56, and 58 is the same as the original layer. Regardless of the shape, they are generated in the same shape. Subsequently, the CPU 12 generates first plane data 50 in which the pseudo layers 52, 54, 56, and 58 are arranged in one direction (left and right direction in FIG. 4) (S14). FIG. 4 shows the first plane data 50. In the first plane data 50, the pseudo layers 52, 54, 56, and 58 are arranged in contact with adjacent pseudo layers. The first plane data 50 is a square. In other words, the length in the longitudinal direction (vertical direction in FIG. 4) of each pseudo layer 52, 54, 56, 58 is four times the length in the short direction (horizontal direction in FIG. 4). Hereinafter, a pseudo layer corresponding to the nth layer (n is a natural number from 1 to 4) is referred to as an nth pseudo layer.

次いで、CPU12は、第1平面データ50をコピーするとともに、平面の垂直線周りに90度回転した第2平面データ60を生成する(S16)。図5は、第2平面データ60を示す。第2平面データ60の擬似レイヤ62,64,66,68は、それぞれレイヤ30,32,40,42に対応する。CPU12は、第1平面データ50と第2平面データ60とを重ね合わせて、テストデータ70を生成する(S18)。   Next, the CPU 12 copies the first plane data 50 and generates the second plane data 60 rotated 90 degrees around the vertical line of the plane (S16). FIG. 5 shows the second plane data 60. The pseudo layers 62, 64, 66, and 68 of the second plane data 60 correspond to the layers 30, 32, 40, and 42, respectively. The CPU 12 superimposes the first plane data 50 and the second plane data 60 to generate test data 70 (S18).

図6は、テストデータ70を示す。図6の各領域内の数字の組合せ(x,y)は、当該領域が一方の平面データの第x擬似レイヤと、他方の平面データの第y擬似レイヤとが重なる領域であることを示す。例えば、領域72は、第2平面データ60の第1擬似レイヤ62と第1平面データ50の第2擬似レイヤ54とが重なっている領域であり、領域74は、第2平面データ60の第2擬似レイヤ64と第1平面データ50の第3擬似レイヤ56とが重なっている領域である。テストデータ70は、第1から第4擬似レイヤのそれぞれが重なる領域が、2つずつ存在する。例えば、第1擬似レイヤと第2擬似レイヤとが重なる領域は、領域72と領域76の2つの領域が存在する。CPU12は、テストデータ70を生成する際に、例えば第1平面データ50の第1擬似レイヤ52と第2平面データ60の第1擬似レイヤ62とが重なる領域78のように、同一の擬似レイヤが重なる領域を削除してもよい。あるいは、当該領域を擬似レイヤが重なっていない単一の擬似レイヤの領域として取り扱ってもよい。   FIG. 6 shows the test data 70. The combination of numbers (x, y) in each area in FIG. 6 indicates that the area is an area where the x-th pseudo layer of one plane data overlaps the y-th pseudo layer of the other plane data. For example, the region 72 is a region where the first pseudo layer 62 of the second plane data 60 and the second pseudo layer 54 of the first plane data 50 overlap, and the region 74 is the second of the second plane data 60. This is an area where the pseudo layer 64 and the third pseudo layer 56 of the first plane data 50 overlap. In the test data 70, there are two regions where the first to fourth pseudo layers overlap each other. For example, there are two areas, an area 72 and an area 76, in which the first pseudo layer and the second pseudo layer overlap. When the CPU 12 generates the test data 70, for example, the same pseudo layer, such as the region 78 where the first pseudo layer 52 of the first plane data 50 and the first pseudo layer 62 of the second plane data 60 overlap, is generated. The overlapping area may be deleted. Alternatively, the area may be handled as a single pseudo layer area where the pseudo layers do not overlap.

テスト装置10は、ユーザによって生成された検証プログラムを実行する。即ち、テスト装置10は、テストデータ70を入力としてレイアウト検証処理を実行する。これにより、検証プログラムがデザインルール16に適合しているか否かをテストする。レイアウト検証処理では、テストデータ70の領域ごとに、デザインルール16に適合しているか否かが判定される。例えば、デザインルール16では、第1配線パターン30(第1レイヤ30)と配線パターン32(第2レイヤ32)との重なりが必須である。領域72は、第1擬似レイヤと第2擬似レイヤとが重なっているため、デザインルール16に適合している。従って、レイアウト検証処理が実行されると、領域72は、デザインルール16に適合しているという結果が得られるはずである。一方、領域74は、デザインルール16に適合していないという結果が得られるはずである。   The test apparatus 10 executes a verification program generated by the user. That is, the test apparatus 10 executes the layout verification process with the test data 70 as an input. Thereby, it is tested whether the verification program conforms to the design rule 16 or not. In the layout verification process, it is determined for each area of the test data 70 whether the design rule 16 is met. For example, in the design rule 16, the first wiring pattern 30 (first layer 30) and the wiring pattern 32 (second layer 32) must be overlapped. The region 72 conforms to the design rule 16 because the first pseudo layer and the second pseudo layer overlap each other. Therefore, when the layout verification process is executed, a result that the area 72 conforms to the design rule 16 should be obtained. On the other hand, the result should be that the region 74 does not conform to the design rule 16.

ユーザは、検証プログラムの出力とは別に、テストデータ70がデザインルール16に適合していると仮定したときの正解データを用意する。正解データのフォーマットは、レイアウト検証処理の結果のフォーマットと同じにする。即ち、正解データは、検証プログラムが正しく動作すると仮定したときのテストデータ70に対する検証プログラムの出力に等しい。別言すれば、正解データには、テストデータ70に記述されているレイヤの重なり領域ごとに、その重なり領域がデザインルールに適合しているか否かが記されている。例えば、正解データには、領域72がデザインルール16に適合し、領域74が不適合であり、領域76が適合していることが記されている。このとき、正解データは、各重なり領域を、その行位置と列位置を表す座標として表されてもよい。例えば、領域72は座標(1,2)で表され、領域74は座標(2,3)で表される。   In addition to the output of the verification program, the user prepares correct answer data when it is assumed that the test data 70 conforms to the design rule 16. The format of the correct answer data is the same as the format of the result of the layout verification process. That is, the correct answer data is equal to the output of the verification program for the test data 70 when the verification program is assumed to operate correctly. In other words, in the correct answer data, for each layer overlapping region described in the test data 70, whether or not the overlapping region conforms to the design rule is described. For example, the correct answer data indicates that the region 72 conforms to the design rule 16, the region 74 does not conform, and the region 76 conforms. At this time, the correct answer data may be expressed as coordinates indicating the row position and the column position of each overlapping region. For example, the region 72 is represented by coordinates (1, 2), and the region 74 is represented by coordinates (2, 3).

正解データは、生成されたテストデータ70に基づいてユーザが用意し、テスト装置10に記憶される。CPU12は、レイアウト検証処理で検証されたレイアウトデータ70の検証結果と正解データとを比較する。検証結果と正解データとが一致する場合には、CPU12は検証プログラムが正しいと判断する。一方において、検証結果と正解データとが一致しない場合には、検証プログラムが誤りであると判断する。検証プログラムが誤りである場合、CPU12は、表示部20に検証プログラムが誤りであることを表示する。これにより、ユーザに検証プログラムの修正を促す。   Correct data is prepared by the user based on the generated test data 70 and stored in the test apparatus 10. The CPU 12 compares the verification result of the layout data 70 verified in the layout verification process with the correct answer data. When the verification result and the correct answer data match, the CPU 12 determines that the verification program is correct. On the other hand, if the verification result does not match the correct answer data, it is determined that the verification program is incorrect. When the verification program is incorrect, the CPU 12 displays on the display unit 20 that the verification program is incorrect. This prompts the user to correct the verification program.

上記した実施例のテストデータ70は、第1平面データ50と第2平面データ60とを重ね合わせることによって生成される。テストデータ70は、半導体装置の各要素に対応する第1から第4レイヤ30,32,40,42を模擬した第1平面データ50の第1から第4擬似レイヤ52,54,56,58と、第2平面データ60の第1から第4擬似レイヤ62,64,66,68のそれぞれが重なる領域を有する。即ち、テストデータ70では、全てのレイヤ30,32,40,42の重なりが擬似的に再現されている。テストデータ70を利用してレイアウト検証処理することによって、検証プログラムがどのレイヤの重なりが必須であると規定し、どのレイヤの重なりが禁止であると規定しているのかを判定することができる。これにより、デザインルール16に適合しているテストデータと、デザインルール16に不適合なテストデータの2つのテストデータを利用して、検証プログラムが正しいか否かを判定する場合と比べて、短時間で判定することができる。テストデータ70を利用することによって、検証プログラムが正しく動作するか否かを効率よく確かめることができる。   The test data 70 of the above-described embodiment is generated by superimposing the first plane data 50 and the second plane data 60. The test data 70 includes first to fourth pseudo layers 52, 54, 56, 58 of the first plane data 50 simulating the first to fourth layers 30, 32, 40, 42 corresponding to the respective elements of the semiconductor device. Each of the first to fourth pseudo layers 62, 64, 66, and 68 of the second plane data 60 has an overlapping area. That is, in the test data 70, the overlap of all the layers 30, 32, 40, 42 is reproduced in a pseudo manner. By performing the layout verification processing using the test data 70, it is possible to determine which layer overlap is essential by the verification program and which layer overlap is prohibited. As a result, compared to the case where the test data conforming to the design rule 16 and the test data that does not conform to the design rule 16 are used to determine whether or not the verification program is correct, the time is shorter. Can be determined. By using the test data 70, it can be efficiently confirmed whether or not the verification program operates correctly.

テストデータ70は、第1平面データ50を生成し、第1平面データ50のコピーを90度回転させることによって第2平面データ60を生成している。この方法によれば、第1平面データを使って第2平面データ60を生成することができるので、テストデータ70を効率よく生成することができる。   The test data 70 generates first plane data 50 and generates second plane data 60 by rotating a copy of the first plane data 50 by 90 degrees. According to this method, since the second plane data 60 can be generated using the first plane data, the test data 70 can be generated efficiently.

また、第1平面データ50において擬似レイヤが規則的に並んでおり、第2平面データ60においても擬似レイヤが規則的に並んでいる。このため、テストデータ70においては、重なり領域が規則的に並ぶ。それゆえ、テストデータ70を用いると、どの領域でどの擬似レイヤが重なっているかを特定しやすい。この結果、正解データを生成する際に、各領域や各領域を示す座標ごとに検証の結果を付与することができる。これにより、正解データを容易に生成することができる。また、レイアウト検証処理の検証結果が、どのレイヤの重なり領域で適否が判定されたかをユーザが容易に把握することができる。   In addition, the pseudo layers are regularly arranged in the first plane data 50, and the pseudo layers are also regularly arranged in the second plane data 60. For this reason, in the test data 70, overlapping regions are regularly arranged. Therefore, when the test data 70 is used, it is easy to specify which pseudo layer overlaps in which area. As a result, when the correct answer data is generated, a verification result can be given to each region and each coordinate indicating each region. Thereby, correct data can be easily generated. In addition, the user can easily grasp in which layer overlapping region the suitability of the verification result of the layout verification processing is determined.

テストデータ70は、一方の平面データ上の擬似レイヤと他方の平面データ上の擬似レイヤが重なり合う領域(重なり領域)を有する。以下では、3つの擬似レイヤが重なり合う領域を有するテストデータ90を生成する方法を説明する。ここで、擬似レイヤの元となるレイヤは、前述した第1レイヤ30、第2レイヤ32、第3レイヤ40、及び第4レイヤ42である。但し、テストデータ90が対象とするレイアウトデータでは、3つのレイヤが重なる場合がある。即ち、テストデータ90が対象とするデザインルールには、4つのレイヤの中から選んだ3つのレイヤが重なることが必須であるのか禁止であるのかが規定されている。   The test data 70 has a region (overlapping region) where a pseudo layer on one plane data and a pseudo layer on the other plane data overlap. Hereinafter, a method for generating test data 90 having a region where three pseudo layers overlap will be described. Here, the layers that are the basis of the pseudo layer are the first layer 30, the second layer 32, the third layer 40, and the fourth layer 42 described above. However, in the layout data targeted by the test data 90, three layers may overlap. That is, the design rule targeted by the test data 90 defines whether it is essential or prohibited that three layers selected from the four layers overlap.

図7は、テストデータ90の生成処理を示すフローチャートである。図7のフローチャートの処理は、図3のフローチャートの処理に続いて実行される。CPU12は、第1レイヤ30と第2レイヤ32のそれぞれに対応する擬似レイヤ82,84を生成する(S22)。擬似レイヤ82,84のそれぞれは、テストデータ70と同一の形状とサイズを有している。CPU12は、図8に示すように、擬似レイヤ82,84を、同一平面上に隣接して配置し、第3平面データ80を生成する(S24)。すなわち、第3平面データ80は、第1平面データ50や第2平面データ60の2倍の大きさの領域を有している。次いで、CPU12は、図3のフローチャートの処理で生成されたテストデータ70をコピーして2つのテストデータ70を用意し、図9に示すように、第3平面データ80の各擬似レイヤ82,84のそれぞれに、テストデータ70を重ね合わせて、テストデータ90を生成する(S26)。   FIG. 7 is a flowchart showing a process for generating the test data 90. The process of the flowchart of FIG. 7 is executed following the process of the flowchart of FIG. The CPU 12 generates pseudo layers 82 and 84 corresponding to the first layer 30 and the second layer 32 (S22). Each of the pseudo layers 82 and 84 has the same shape and size as the test data 70. As shown in FIG. 8, the CPU 12 arranges the pseudo layers 82 and 84 adjacent to each other on the same plane, and generates the third plane data 80 (S24). That is, the third plane data 80 has an area twice as large as the first plane data 50 and the second plane data 60. Next, the CPU 12 prepares two test data 70 by copying the test data 70 generated in the process of the flowchart of FIG. 3, and as shown in FIG. 9, each pseudo layer 82, 84 of the third plane data 80. The test data 70 is superimposed on each of them to generate test data 90 (S26).

生成されたテストデータ90では、例えば、領域92は、第1、第2及び第3擬似レイヤの3つの擬似レイヤが重なる領域である。同様に、領域94は第1、第2及び第4擬似レイヤの3つの擬似レイヤが重なる領域であり、領域96は第1、第3及び第4擬似レイヤの3つの擬似レイヤが重なる領域であり、領域98は第2、第3及び第4擬似レイヤの3つの擬似レイヤが重なる領域である。これにより、3つの擬似レイヤが重なる領域を有するテストデータ90を容易に生成することができる。   In the generated test data 90, for example, the region 92 is a region where three pseudo layers of the first, second, and third pseudo layers overlap. Similarly, the region 94 is a region where three pseudo layers of the first, second and fourth pseudo layers overlap, and the region 96 is a region where three pseudo layers of the first, third and fourth pseudo layers overlap. The area 98 is an area where three pseudo layers of the second, third and fourth pseudo layers overlap. Thereby, the test data 90 having a region where the three pseudo layers overlap can be easily generated.

図10は、擬似レイヤの4つの重なり領域を有するテストデータ100を示す。テストデータ100の生成処理では、まず、CPU12は、図3に示すフローチャートに従って、テストデータ70を生成する。次いで、CPU12は、再度図3に示すフローチャートに従って、補助テストデータ102を生成する。補助テストデータ102は、第1平面データ50と第2平面データ60を重ね合わせたテストデータ70と同じ構造を有している。即ち、補助テストデータ102は、2つの平面データを重ね合わせたレイアウトデータであり、4つの擬似レイヤから2つを選択する全ての組み合わせについて選択された2つの擬似レイヤの重なり領域を有する。但し、補助テストデータ102において2つの擬似レイヤが重なる領域104は、テストデータ70と同一の形状とサイズを有する。CPU12は、重なり領域104の数だけテストデータ70をコピーし、補助テストデータ102のそれぞれの重なり領域104にテストデータ70を重ねる。そうすると、それぞれの重なり領域104では、4つの擬似データが重なっている。これにより、4つの擬似レイヤが重なる領域を有するテストデータ100を生成することができる。テストデータ100には、4つの擬似レイヤが重なる領域、3つの擬似レイヤが重なる領域、2つの擬似レイヤが重なる領域、及び、異なる擬似レイヤが全く重ならない領域が形成される。例えば、図10のテストデータ100において、左上から右下に亘る対角線上の最小サイズの重なり領域は、同一の擬似レイヤが重なる領域、即ち、異なる擬似レイヤが全く重ならない領域に相当する。上記した4つの擬似レイヤが重なるテストデータの生成方法と、先に示した3つの擬似レイヤが重なるテストデータの生成方法を組み合わせれば、任意の数の擬似レイヤが重なる領域を有するテストデータを容易に生成することができる。   FIG. 10 shows test data 100 having four overlapping regions of pseudo layers. In the generation process of the test data 100, first, the CPU 12 generates the test data 70 according to the flowchart shown in FIG. Next, the CPU 12 generates auxiliary test data 102 again according to the flowchart shown in FIG. The auxiliary test data 102 has the same structure as the test data 70 obtained by superimposing the first plane data 50 and the second plane data 60. That is, the auxiliary test data 102 is layout data obtained by superimposing two pieces of plane data, and has overlapping regions of two pseudo layers selected for all combinations of selecting two from four pseudo layers. However, the region 104 where the two pseudo layers overlap in the auxiliary test data 102 has the same shape and size as the test data 70. The CPU 12 copies the test data 70 by the number of the overlapping areas 104 and superimposes the test data 70 on each overlapping area 104 of the auxiliary test data 102. Then, in each overlapping area 104, four pseudo data overlap. As a result, it is possible to generate test data 100 having a region where four pseudo layers overlap. The test data 100 includes a region where four pseudo layers overlap, a region where three pseudo layers overlap, a region where two pseudo layers overlap, and a region where different pseudo layers do not overlap at all. For example, in the test data 100 of FIG. 10, the overlapping area of the smallest size on the diagonal line from the upper left to the lower right corresponds to an area where the same pseudo layer overlaps, that is, an area where different pseudo layers do not overlap at all. By combining the test data generation method in which the four pseudo layers overlap with the test data generation method in which the three pseudo layers overlap as described above, test data having an area where any number of pseudo layers overlap can be easily obtained. Can be generated.

実施例2のテストデータ生成方法について説明する。ここでは、実施例1と重複する説明については適宜省略する。CPU12は、図3のフローチャートに従って、第1平面データ50を生成する(S12,14)。次いで、CPU12は、第1平面データ50のコピーを生成するとともに、コピーした第1平面データ全体の左右方向の幅を、各擬似レイヤ52,54,56,58の左右方向の幅と同一の幅になるように変形して、図11に示す第2平面データ110を生成する(S16)。第2平面データ110は、第1レイヤ30に対応する第1擬似レイヤ112、第2レイヤ32に対応する第2擬似レイヤ114、第3レイヤに対応する第3擬似レイヤ116、及び第4レイヤに対応する第4擬似レイヤ118を有している。第2平面データ110上の擬似レイヤの幅は、第1平面データ50上の擬似レイヤの幅の1/4である。   A test data generation method according to the second embodiment will be described. Here, descriptions overlapping with those of the first embodiment are omitted as appropriate. The CPU 12 generates the first plane data 50 according to the flowchart of FIG. 3 (S12, 14). Next, the CPU 12 generates a copy of the first plane data 50, and the width of the entire copied first plane data is the same as the width of the pseudo layers 52, 54, 56, and 58 in the horizontal direction. The second plane data 110 shown in FIG. 11 is generated (S16). The second plane data 110 includes the first pseudo layer 112 corresponding to the first layer 30, the second pseudo layer 114 corresponding to the second layer 32, the third pseudo layer 116 corresponding to the third layer, and the fourth layer. A corresponding fourth pseudo layer 118 is provided. The width of the pseudo layer on the second plane data 110 is ¼ of the width of the pseudo layer on the first plane data 50.

続いて、CPU12は、第1平面データ50の擬似レイヤ52,54,56,58のそれぞれに、第2平面データ110を重ね合わせて、図12に示すテストデータ120を生成する(S18)。これにより、2つの擬似レイヤが重なる領域を有するテストデータ120を生成することができる。   Subsequently, the CPU 12 superimposes the second plane data 110 on each of the pseudo layers 52, 54, 56, and 58 of the first plane data 50 to generate the test data 120 shown in FIG. 12 (S18). As a result, it is possible to generate test data 120 having a region where two pseudo layers overlap.

CPU12は、テストデータ120を、先に示した第3平面データ80の擬似レイヤ82,84のそれぞれに重ね合わせることによって、3つの擬似レイヤが重なり合う領域を有するテストデータを生成することができる。また、CPU12は、テストデータ120を、先に示した補助テストデータ102の各領域に重ね合わせることによって、4つの擬似レイヤが重なり合う領域を有するテストデータを生成することができる。実施例2においても、実施例1と同様の効果を奏することができる。   The CPU 12 can generate test data having a region where the three pseudo layers overlap by superimposing the test data 120 on each of the pseudo layers 82 and 84 of the third plane data 80 described above. Further, the CPU 12 can generate test data having a region where the four pseudo layers overlap by superimposing the test data 120 on each region of the auxiliary test data 102 described above. In the second embodiment, the same effect as that of the first embodiment can be obtained.

上記したテストデータを用いて、検証プログラムが正しく動作するか否かをテストする方法は、端的には次の通りである。その方法では、まず、夫々が各レイヤに対応している擬似レイヤ群が一つの平面に規則的に配置されている平面配置データを複数の平面に亘って有しており、相互に重ねたときに、一の平面データ上の各擬似レイヤが他の平面データ上の各擬似レイヤと重なるテストデータを用意する(用意工程)。図3のフローチャートの処理、或いは図7のフローチャートの処理が「用意工程」に相当する。次に、用意されたテストデータを与えて検証プログラムを実行する。最後に、検証プログラムの実行結果を、テストデータにおけるデザインルールの不適合箇所を示す既知の正解データと比較する。検証プログラムの実行結果が正解データと一致していれば、検証プログラムが正しく動作することが確認される。   A method for testing whether or not the verification program operates correctly using the above test data is as follows. In that method, firstly, when a plurality of plane arrangement data having a plurality of plane arrangement data in which a pseudo layer group corresponding to each layer is arranged regularly on one plane is overlapped with each other, In addition, test data is prepared in which each pseudo layer on one plane data overlaps with each pseudo layer on other plane data (preparation step). The process of the flowchart of FIG. 3 or the process of the flowchart of FIG. 7 corresponds to a “preparation process”. Next, the prepared test data is given and the verification program is executed. Finally, the execution result of the verification program is compared with known correct answer data indicating the non-conformity part of the design rule in the test data. If the execution result of the verification program matches the correct answer data, it is confirmed that the verification program operates correctly.

(変形例)
(1)上記した実施例1,2では、平面データ50,60,80,110は、隣り合う擬似レイヤ同士が接している。しかしながら、CPU12は、隣り合う擬似レイヤが離間している平面データを生成してもよい。図13は、隣り合う擬似レイヤが離間している平面データを重ね合わせることによって生成されるテストデータ130の一例を示す。テストデータ130では、2つの擬似レイヤの重なり合う領域が互いに離間している。このようなテストデータによっても、上記した実施例1,2と同様の効果を奏することができる。
(Modification)
(1) In the first and second embodiments, the adjacent pseudo layers are in contact with each other in the plane data 50, 60, 80, 110. However, the CPU 12 may generate plane data in which adjacent pseudo layers are separated. FIG. 13 shows an example of test data 130 generated by superimposing plane data in which adjacent pseudo layers are separated from each other. In the test data 130, the overlapping areas of the two pseudo layers are separated from each other. Even with such test data, the same effects as those of the first and second embodiments can be obtained.

(2)上記したテストデータ70では、対角線対称に、擬似レイヤの同じ組合せの重なり領域が、2つ存在している。しかしながら、図14に示すように、対角線対称の一方を削除し、擬似レイヤの同じ組合せの重なり領域が、1つのみ存在するテストデータ140を生成してもよい。CPU12は、テストデータ70を生成した後、左下半分の領域と、重なりがない領域を削除することによって、テストデータ140を生成する。この構成によれば、テストデータのデータサイズを小さくすることができる。 (2) In the test data 70 described above, two overlapping regions of the same combination of pseudo layers exist diagonally symmetrically. However, as shown in FIG. 14, one of the diagonal symmetry may be deleted, and the test data 140 may be generated in which only one overlapping region of the same combination of pseudo layers exists. After generating the test data 70, the CPU 12 generates the test data 140 by deleting the lower left half area and the non-overlapping area. According to this configuration, the data size of the test data can be reduced.

上記した平面データ50,60,80,110のそれぞれに含まれる各擬似レイヤは、同一の形状を有している。しかしながら、擬似レイヤは、それぞれ異なる形状であってもよい。例えば、平面データ50の擬似レイヤ52,54,56,58は、その長手方向の長さが同一であり、短手方向の長さが異なっていてもよい。   Each pseudo layer included in each of the plane data 50, 60, 80, and 110 has the same shape. However, the pseudo layers may have different shapes. For example, the pseudo layers 52, 54, 56, and 58 of the plane data 50 may have the same length in the longitudinal direction and may have different lengths in the short direction.

以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時の請求項に記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。   Specific examples of the present invention have been described in detail above, but these are merely examples and do not limit the scope of the claims. The technology described in the claims includes various modifications and changes of the specific examples illustrated above. The technical elements described in this specification or the drawings exhibit technical usefulness alone or in various combinations, and are not limited to the combinations described in the claims at the time of filing. In addition, the technology illustrated in the present specification or the drawings achieves a plurality of objects at the same time, and has technical utility by achieving one of the objects.

10:検証装置
12:CPU
14:記憶部
16:デザインルール
18:操作部
20:表示部
50:第1平面データ
60:第2平面データ
70:テストレイアウトデータ
10: Verification device 12: CPU
14: Storage unit 16: Design rule 18: Operation unit 20: Display unit 50: First plane data 60: Second plane data 70: Test layout data

Claims (3)

半導体装置のレイアウトデータであり複数のレイヤの配置を規定するレイアウトデータがレイヤ同士の重なり関係を規定するデザインルールに適合しているか否かを検証するための検証プログラムがレイアウトデータの適否を正しく検証できるか否かをテストするためのテストデータを生成する方法であって、
夫々が各レイヤに対応している擬似レイヤを含む擬似レイヤ群が平面上に規則的に配置された第1平面データを生成する第1平面データ生成工程と、
前記擬似レイヤ群が平面上に規則的に配置された第2平面データであり、第1平面データと重ね合わせたときに第2平面データ上の各擬似レイヤが第1平面データ上のそれぞれの擬似レイヤと重なる第2平面データを生成する第2平面データ生成工程と、
第1平面データと第2平面データとが重なった第1レイアウトデータであって、第2平面データ上の各擬似レイヤが第1平面データ上のそれぞれの擬似レイヤと重なっている第1レイアウトデータを含むテストレイアウトデータを生成するテストレイアウトデータ生成工程と、
を備えるテストデータ生成方法。
A verification program for verifying whether layout data for semiconductor devices and layout data that defines the arrangement of multiple layers conforms to design rules that define the overlapping relationship between layers correctly verifies the suitability of layout data A method for generating test data for testing whether or not it is possible,
A first plane data generating step of generating a first plane data pseudo layer group are regularly arranged on a flat plane including a pseudo layer respectively correspond to each layer,
The pseudo-layer group is a second plane data are regularly arranged on a flat surface, the pseudo layer on the second plane data when superimposed with the first plane data respectively on the first plane data A second plane data generation step of generating second plane data overlapping the pseudo layer;
First layout data in which the first plane data and the second plane data overlap each other, and the first layout data in which each pseudo layer on the second plane data overlaps with each pseudo layer on the first plane data. A test layout data generation process for generating test layout data including,
A test data generation method comprising:
複数のレイヤのうち、少なくとも1つのレイヤに対応する擬似レイヤであって、テストレイアウトデータの第1平面データと第2平面データとが重なる領域以上の面積の領域を有する擬似レイヤが平面上に配置された第3平面データを生成する第3平面データ生成工程をさらに備えており、
テストレイアウトデータ生成工程は、第1平面データと第2平面データと第3平面データとが重なり合った第2レイアウトデータを含むテストレイアウトデータを生成し、
第2レイアウトデータは、第1レイアウトデータが、第3平面データの擬似レイヤと重なっていることを特徴とする請求項1に記載のテストデータ生成方法。
A pseudo layer corresponding to at least one of the plurality of layers and having an area larger than the area where the first plane data and the second plane data of the test layout data overlap is arranged on the plane. A third plane data generation step for generating the generated third plane data;
The test layout data generation step generates test layout data including second layout data in which the first plane data, the second plane data, and the third plane data are overlapped,
The test data generation method according to claim 1, wherein the second layout data is such that the first layout data overlaps with the pseudo layer of the third plane data .
第1平面データ生成工程は、擬似レイヤ群が一つの方向に沿って並んで配置された第1平面データを生成し、
第2平面データ生成工程は、擬似レイヤ群が他の一つの方向に沿って並んで配置された第2平面データを生成することを特徴とする請求項1又は2に記載のテストデータ生成方法。
The first plane data generation step generates first plane data in which pseudo layer groups are arranged side by side along one direction,
3. The test data generation method according to claim 1, wherein the second plane data generation step generates second plane data in which the pseudo layer group is arranged side by side along one other direction.
JP2009144436A 2009-06-17 2009-06-17 Test data generation method Expired - Fee Related JP5540576B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009144436A JP5540576B2 (en) 2009-06-17 2009-06-17 Test data generation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009144436A JP5540576B2 (en) 2009-06-17 2009-06-17 Test data generation method

Publications (2)

Publication Number Publication Date
JP2011003658A JP2011003658A (en) 2011-01-06
JP5540576B2 true JP5540576B2 (en) 2014-07-02

Family

ID=43561408

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009144436A Expired - Fee Related JP5540576B2 (en) 2009-06-17 2009-06-17 Test data generation method

Country Status (1)

Country Link
JP (1) JP5540576B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102026662B1 (en) 2013-04-22 2019-09-30 삼성전자 주식회사 Apparatus and method for generating test case for processor verification and, verification apparatus

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06290235A (en) * 1993-04-01 1994-10-18 Mitsubishi Electric Corp Device for generating lsi layout verification test data
JP2003163144A (en) * 2001-11-28 2003-06-06 Ricoh Co Ltd Test pattern forming apparatus
JP2006350420A (en) * 2005-06-13 2006-12-28 Renesas Technology Corp Device for testing rule file for layout verification and test method and test program
JP4643401B2 (en) * 2005-09-07 2011-03-02 株式会社東芝 Test pattern creation method, test pattern creation program, mask production method, and semiconductor device manufacturing method
JP2007086979A (en) * 2005-09-21 2007-04-05 Ricoh Co Ltd Test pattern editing device

Also Published As

Publication number Publication date
JP2011003658A (en) 2011-01-06

Similar Documents

Publication Publication Date Title
CN107025320B (en) Multi-patterning layout decomposition considering complex shading rules
Martins et al. LAYGEN II—Automatic layout generation of analog integrated circuits
JP4999013B2 (en) Integrated OPC verification tool
TWI684110B (en) Methods, systems, and computer program products providing layout data for integrated circuits
US8984459B2 (en) Methods and apparatus for layout verification
US20130219347A1 (en) Methods for decomposing circuit design layouts and for fabricating semiconductor devices using decomposed patterns
CN114556352A (en) Method and system for performing automatic wiring
US20160283642A1 (en) Method for verifying design rule checks
KR20150093472A (en) Method of decomposing design layout for double patterning process
Liebmann et al. Design and technology co-optimization near single-digit nodes
JP5540576B2 (en) Test data generation method
JP2008310562A (en) Resistor network creation device and resistor network creation program, for circuit simulation
US20100246978A1 (en) Data verification method, data verification device, and data verification program
US8296702B2 (en) Rectilinear covering method with bounded number of rectangles for designing a VLSI chip
JPH11184064A (en) Photomask pattern design apparatus and design method as well as record medium recording photomask pattern design program
JP2000260879A (en) Layout-design support apparatus and computer-readable recording medium
JP2009026045A (en) Layout creating device and manufacturing method for semiconductor integrated circuit
KR102575073B1 (en) Method for verifying mask data
TWI632476B (en) Creating gateway model routing sub-templates
KR101041263B1 (en) Reticle inspection system and program recording medium
KR102403036B1 (en) Method of Generating Test Patterns Using a Radom function
CN104573149A (en) Repetitive error report removing method for DRC (design rule checking) of FPD (flat panel display)
JP7238218B2 (en) Mask pattern manufacturing apparatus and mask pattern manufacturing method
TWI676079B (en) Method for verificating patterns for photomask, method for forming photomask, and semiconductor structure
JP2008171399A (en) Semiconductor device design method, semiconductor device design system, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140114

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: 20140408

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140421

LAPS Cancellation because of no payment of annual fees