JP2016018114A - Generation method of storage data, generation program of storage data, and generation device of storage data - Google Patents
Generation method of storage data, generation program of storage data, and generation device of storage data Download PDFInfo
- Publication number
- JP2016018114A JP2016018114A JP2014141502A JP2014141502A JP2016018114A JP 2016018114 A JP2016018114 A JP 2016018114A JP 2014141502 A JP2014141502 A JP 2014141502A JP 2014141502 A JP2014141502 A JP 2014141502A JP 2016018114 A JP2016018114 A JP 2016018114A
- Authority
- JP
- Japan
- Prior art keywords
- data
- functional block
- inner data
- pattern
- stored
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Preparing Plates And Mask In Photomechanical Process (AREA)
Abstract
Description
本発明は、保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置に関する。 The present invention relates to a storage data generation method, a storage data generation program, and a storage data generation apparatus.
近年、半導体装置の微細化に伴い、半導体装置の製造工程で扱う製造データの量が飛躍的に増加している。例えば、65nm(nanometre:nm)テクノロジーのある製造データの総容量は、100GB(GigaByte:GB)になる。この場合、例えば、年間数十〜数百TB(TeraByte:TB)以上の容量が必要になる。これにより、製造データを保存するための設備投資(ストレージデバイスの増強等)が定期的に行われており、コストが発生している。 In recent years, with the miniaturization of semiconductor devices, the amount of manufacturing data handled in the manufacturing process of semiconductor devices has increased dramatically. For example, the total capacity of manufacturing data with 65 nm (nanometre: nm) technology is 100 GB (GigaByte: GB). In this case, for example, a capacity of several tens to several hundreds of TB (TeraByte: TB) per year is required. As a result, capital investment (storage device enhancement, etc.) for storing manufacturing data is regularly made, and costs are incurred.
保存するデータの容量を抑えるために、半導体装置の設計工程で生成される設計データを機能ブロックごとに階層化して保存する。設計データの保存については、例えば、特許文献1〜3に記載される。 In order to reduce the amount of data to be stored, design data generated in the design process of the semiconductor device is stored hierarchically for each functional block. About preservation | save of design data, it describes in patent documents 1-3, for example.
しかし、設計データから生成される描画データ(レチクル描画データ、EB(Electron Beam:EB)直描(直接描画)データ等)は、フラットデータに変換される。したがって、描画データを階層化して保存することは困難であり、保存するデータ容量を抑えることが困難であった。 However, drawing data (reticle drawing data, EB (Electron Beam: EB) direct drawing (direct drawing) data, etc.) generated from the design data is converted into flat data. Therefore, it is difficult to store drawing data in a hierarchy, and it is difficult to reduce the data capacity to be stored.
1つの側面は、本発明は、重複した描画データの保存を抑止し、描画データを効率的に保存する、保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置を提供する。 In one aspect, the present invention provides a storage data generation method, a storage data generation program, and a storage data generation apparatus that suppress storage of duplicate drawing data and efficiently store drawing data.
第1の側面は、処理部は、機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得する取得工程と、前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定する判定工程と、比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する保存工程と、を有する。 In the first aspect, the processing unit obtains first inner data excluding the outer edge region of the functional block from the drawing data after the optical proximity effect correction for each functional block, and the light of the functional block When it is determined that the first inner data is compared with the second inner data stored in the storage unit based on the processing condition of the proximity effect correction, the first inner data is determined to be compared. A storing step of comparing patterns of the inner data and the second inner data and storing the first inner data in the storage unit according to the comparison result.
第1の側面によれば、重複した描画データの保存を抑止し、描画データを効率的に保存する。 According to the first aspect, storage of duplicate drawing data is suppressed, and drawing data is efficiently stored.
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. However, the technical scope of the present invention is not limited to these embodiments, but extends to the matters described in the claims and equivalents thereof.
[保存データ生成装置の構成]
図1は、本実施の形態例における保存データ生成装置のハードウェア構成を説明する図である。保存データ生成装置10は、CPU(Central Processing Unit:CPU)101、メモリ102、通信インタフェース部103、表示部105、入力部106、外部インタフェース部107を有する。各部は、バス104を介して相互に接続する。
[Configuration of saved data generator]
FIG. 1 is a diagram for explaining a hardware configuration of a saved data generation apparatus according to the present embodiment. The saved
メモリ102は、RAM(Random Access Memory:RAM)201、不揮発性メモリ202を有する。不揮発性メモリ202は、HDD(Hard disk drive:HDD)、不揮発性半導体メモリ等で構成される。表示部105は、例えば、ディスプレイ等の表示画面を示し、入力部106は、例えば、キーボードやマウス等を示す。外部インタフェース部107は、例えば、外部のストレージサーバ320と接続する。
The
CPU101は、バス104を介してメモリ102等と接続すると共に、保存データ生成装置10全体の制御を行う。通信インタフェース部103は、ネットワーク50を介して、外部の通信機器と接続する。RAM202は、CPU101が処理を行うデータ等を記憶する。不揮発性メモリ202は、CPU101が実行するOS(Operating System:OS)のプログラムを格納する領域(図示せず)、保存データ生成プログラムを格納する領域210、図形及びOPC(Optical Proximity Correction:OPC)プログラムを格納する領域214を備える。
The
ストレージサーバ320は、データ格納領域310を有するストレージデバイス300を備える。ストレージデバイス300は、例えば、HDDである。データ格納領域310は、設計工程で生成されるレイアウトデータや保存データを格納する。レイアウトデータとは、半導体装置を構成する各セルパターンの配置データを示す。保存データの詳細は、後述する。
The
図形及びOPCプログラム領域214に記憶された図形及びOPCプログラム(以下、図形OPC及びプログラム214と称する)は、CPU101の実行によって、本実施の形態例における図形処理と、OPC処理とを実現する。図形処理、及び、OPC処理については、図3にしたがって後述する。
The graphic and OPC program (hereinafter referred to as graphic OPC and program 214) stored in the graphic and
また、保存データ生成プログラム領域210に記憶された保存データ生成プログラム(以下、保存データ生成プログラム210と称する)は、CPU101の実行によって、本実施の形態例における保存データの生成処理を実現する。保存データ生成処理は、描画データに基づいて保存データを生成し、ストレージデバイス300のデータ格納領域310に記憶する。本実施の形態例における描画データは、例えば、OPC処理後のレチクル描画データや、EB(Electron Beam:EB)直描(直接描画)データ等である。
A saved data generation program stored in the saved data generation program area 210 (hereinafter referred to as a saved data generation program 210) implements saved data generation processing in the present embodiment by execution of the
[保存データ生成装置のソフトウェアモジュール構成]
図2は、図1に示した保存データ生成プログラム210のソフトウェアモジュール構成図である。保存データ生成プログラム210は、図2に示すように、機能ブロック抜き取りモジュール211、パターン一致予測モジュール212、及び、パターン検索モジュール213を有する。機能ブロック対応テーブルT1、及び、パターン検索判断基準テーブルP1は、メモリ102に格納されている。
[Software module configuration of saved data generation device]
FIG. 2 is a software module configuration diagram of the saved
機能ブロック対応テーブルT1は、製品ごとに、描画データが有する機能ブロックと保存データとの対応情報や機能ブロックの情報等を有するテーブルである。機能ブロックとは、半導体装置を構成するセルパターンの集合であって、機能単位のセルパターンを示す。機能ブロック対応テーブルT1の詳細については、図6にしたがって後述する。また、パターン検索判断基準テーブルP1については、図17にしたがって後述する。 The functional block correspondence table T1 is a table having correspondence information between functional blocks of drawing data and stored data, functional block information, and the like for each product. A functional block is a set of cell patterns constituting a semiconductor device and indicates a cell pattern of a functional unit. Details of the functional block correspondence table T1 will be described later with reference to FIG. The pattern search determination reference table P1 will be described later with reference to FIG.
機能ブロック抜き取りモジュール211は、描画データから、機能ブロックの領域を識別する。そして、機能ブロック抜き取りモジュール211は、機能ブロックごとに、機能ブロックの外縁領域を除外した内側データと、外縁領域の外側データとを取得する。内側データ及び外側データの詳細、及び、機能ブロック抜き取りモジュール211の処理の詳細については、図12〜図15にしたがって後述する。
The functional
パターン一致予測モジュール212は、パターン検索判断基準テーブルP1に基づいて、取得した内側データのパターンが、既に保存されている内側データのパターンと一致する可能性があるか否かを予測する。具体的に、パターン一致予測モジュール212は、機能ブロックのOPC処理の条件にしたがって、一致する可能性があるか否かを予測する。パターン一致予測モジュール212の処理の詳細は、図16、図17にしたがって後述する。
The pattern
そして、パターン検索モジュール213は、パターン一致予測モジュール212が一致する可能性があると予測した場合、取得した内側データのパターンと、データ格納領域310に既に保存されている内側データのパターンとを比較する。いずれかの内側データのパターンと同一または類似する場合、パターン検索モジュール213は、取得した内側データをデータ格納領域310に保存しない。つまり、同一または類似する内側データは、取得した内側データと共通で使用の内側データとして保存される。
If the
一方、いずれの内側データのパターンとも同一ではなく類似もしていない場合、パターン検索モジュール213は、取得した内側データをデータ格納領域310に保存する。つまり、既にデータ格納領域310に保存されている内側データと、取得した内側データとは、個別にデータ格納領域310に保存される。パターン検索モジュール213の処理の詳細については、図16にしたがって後述する。
On the other hand, when the pattern of any inner data is not identical or similar, the
[保存データ生成処理の概要]
図3は、本実施の形態例における、図2のモジュール211〜213による保存データ生成処理の概要を模式的に説明する図である。図3の例では、保存データ生成装置10が、例えば、2つの製品(製品A、製品B)の描画データ60−A、60−Bの保存データを生成する場合を例示する。描画データ60−Aは製品Aの描画データを、描画データ60−Bは製品Bの描画データを示す。描画データ60−A、60−Bは、例えば、SOC(System-On-a-Chip:SOC)の描画データである。
[Overview of saved data generation processing]
FIG. 3 is a diagram for schematically explaining the outline of the stored data generation processing by the
図1に示した図形OPCプログラム214は、レイアウトデータ61−A、61−Bを入力として、描画データ60−A、60−Bを生成する。レイアウトデータ61−Aは製品Aのレイアウトデータを、レイアウトデータ61−Bは製品Bのレイアウトデータを示す。レイアウトデータ61−A、61−Bは、階層化されたデータである。
The
図形OPC処理プログラム214は、レイアウトデータ61−A、61−Bに対して図形処理、及び、OPC処理を行うことによって、フラットデータである描画データ60−A、60−Bを生成する。
The graphic
図形OPC処理プログラム214は、図形処理として、レイアウトデータ61−A、61−Bに対し、サイジング処理や回転処理等の処理を行う。また、図形OPC処理プログラム214は、OPC処理として、光近接効果による影響の予測に基づいて、レイアウトデータの通りの現像パターンが得られるように、パターンの形状を補正する。
The graphic
なお、図形OPC処理プログラム214は、他の製品についても同様にして、レイアウトデータ61−C、61−Dを入力として、描画データ(図示せず)を生成する。
The figure
レイアウトデータ61−A、61−Bのそれぞれは、複数の機能ブロックのパターンを有する。また、双方のレイアウトデータ61−A、61−Bは、パターンが同一の機能ブロックを有することがある。ただし、OPC処理では、パターンが同一であっても、その周辺のパターンやパターンの向き等に応じて、パターンの補正内容が異なる。 Each of the layout data 61-A and 61-B has a plurality of functional block patterns. Further, both layout data 61-A and 61-B may have functional blocks having the same pattern. However, in the OPC process, even if the pattern is the same, the correction content of the pattern differs depending on the surrounding pattern, the pattern direction, and the like.
したがって、レイアウトデータ61−A、61−Bが、パターンが同一の機能ブロックを有する場合であっても、描画データ60−A、60−Bにおける機能ブロックのパターンの形状は、異なってくることがある。この場合、機能ブロックの周辺の機能ブロックが異なることにより、OPC処理による、機能ブロックの外縁部分のパターンの補正内容が異なることを示す。OPC処理によるパターンの変化については、図7、図8にしたがって後述する。 Therefore, even if the layout data 61-A and 61-B have the same functional block, the shape of the functional block pattern in the drawing data 60-A and 60-B may be different. is there. In this case, it is shown that the correction contents of the pattern of the outer edge portion of the functional block by the OPC process are different because the functional blocks around the functional block are different. The pattern change due to the OPC process will be described later with reference to FIGS.
また、OPC処理後の描画データ60−A、60−Bは、階層化されていないフラットデータであるため、データ容量が大きい。また、描画データ60−A、60−Bのパターンの形状は、データ処理を行う環境(OS、OPCツール、ツールのバージョン等)に応じて変化する。このため、過去に生成した描画データ60−A、60−Bと同一のデータを、再度、生成することが困難な場合がある。このため、過去に生成した描画データ60−A、60−Bを長期間、保持しておく必要が生じ、データを保存するために多くの容量が必要になる。 In addition, the drawing data 60-A and 60-B after the OPC processing are flat data that is not hierarchized, and thus have a large data capacity. Further, the pattern shapes of the drawing data 60-A and 60-B change according to the environment (OS, OPC tool, tool version, etc.) in which data processing is performed. For this reason, it may be difficult to generate again the same data as the drawing data 60-A and 60-B generated in the past. For this reason, it is necessary to hold the drawing data 60-A and 60-B generated in the past for a long period of time, and a large capacity is required to store the data.
したがって、本実施の形態例における保存データ生成装置10は、描画データ60−A、60−Bが有する各機能ブロックの領域のうち、OPC処理の結果、周辺の機能ブロックに応じてパターンが変化する外縁の領域を除外し、内側データを切り出す。つまり、内側データの領域は、OPC処理において、周辺の機能ブロックに応じたパターンの変化が生じない領域である。このため、同一のパターンを有する2つの機能ブロックの内側データは、OPC処理後でも同一のパターンを有する。また、保存データ生成装置10は、機能ブロックの外縁の領域を外側データとして切り出す。
Therefore, the saved
そして、保存データ生成装置10は、パターンが同一の機能ブロックの内側データを、共通で使用するデータとしてデータ格納領域310(図1)保存する。保存データ生成装置10は、外側データについては、機能ブロックごとに個別にデータ格納領域310に保存する。保存データは、このようにデータ格納領域310に保存された、内側データ及び外側データを示す。
Then, the saved
このように、保存データ生成装置10は、描画データ60−A、60−Bの機能ブロックごとの内側データのうち、他の内側データとパターンが同一の内側データを重複して保存しないことで、データ格納領域310に保存する容量を抑える。
As described above, the storage
ただし、描画データ60−A、60−Bは画像データであることから、比較処理には時間がかかる。また、OPC処理によって、小刻みにパターンが補正されることから、内側データのパターンも複雑な形状を有する。また、膨大な数の内側データと比較する場合、対象の内側データとパターンが同一の内側データを検索する処理には多大な処理時間を要する。 However, since the drawing data 60-A and 60-B are image data, the comparison process takes time. Further, since the pattern is corrected in small steps by the OPC process, the pattern of the inner data also has a complicated shape. Further, when comparing with a vast number of inner data, a process for searching for inner data having the same pattern as the target inner data requires a great deal of processing time.
したがって、保存データ生成装置10は、OPCの処理条件に基づいて、対象の内側データを、既に保存されている内側データのいずれかと一致する可能性があるか否かを判定する。そして、一致する可能性がある場合に、保存データ生成装置10は、内側データのパターンを、既に保存されている内側データのパターンと比較する。
Therefore, the saved
図3において、まず、保存データ生成装置10の機能ブロック抜き取りモジュール211は、製品A、Bの描画データ60−A、60−Bから、機能ブロックごとに、内側データ及び外側データを切り出す(抜き取る)。
3, first, the functional
図3の例において、機能ブロック抜き取りモジュール211は、製品Aの描画データ60−Aから、機能ブロックA−1、機能ブロックA−2の領域を識別する。そして、機能ブロック抜き取りモジュール211は、機能ブロックA−1の内側データA−1−1、及び、外側データA−1−2を取得する。また、機能ブロック抜き取りモジュール211は、機能ブロックA−2の内側データA−2−1、及び、外側データA−2−2を取得する。
In the example of FIG. 3, the functional
機能ブロック抜き取りモジュール211は、取得した外側データA−1−2、A−2−2を、保存データとして、データ格納領域310に格納する。また、機能ブロック抜き取りモジュール211は、機能ブロックと、外側データA−1−2、A−2−2との対応情報を機能ブロック対応テーブルT1に更新する。
The functional
また、パターン一致予測モジュール212は、内側データA−1−1、A−2−1を、既に保存されている内側データと一致する可能性があるか否かを判定する。一致する可能性が低いと予測した場合、パターン一致予測モジュール212は、内側データA−1−1、A−2−1を、保存データとしてデータ格納領域310に保存する。また、パターン一致予測モジュール212は、機能ブロックと、内側データA−1−1、A−2−1との対応情報を機能ブロック対応テーブルT1に更新する。
Further, the pattern
一方、一致する可能性があると判定した場合、パターン検索モジュール213は、内側データA−1−1、A−2−1を、既に機能ブロック対応テーブルT1に登録されている内側データと比較する。内側データA−1−1、A−2−1と一致または類似している内側データがある場合、パターン検索モジュール213は、内側データA−1−1、A−2−1を、保存データとしてデータ格納領域310に保存しない。また、パターン一致予測モジュール212は、機能ブロックと、一致または類似している内側データとの対応情報を機能ブロック対応テーブルT1に更新する。
On the other hand, if it is determined that there is a possibility of matching, the
図3の例では、製品Aの描画データ60−Aが、既に保存されており、新たに製品Bの描画データ60−Bを保存する場合を例示する。つまり、既に、製品Aの機能ブロックA−1、A−2が、機能ブロック対応テーブルT1に登録され、内側データA−1−1、A−2−1及び外側データA−1−2、A−2−2がデータ格納領域310に保存されている場合を示す。
In the example of FIG. 3, the drawing data 60-A of the product A is already stored, and the drawing data 60-B of the product B is newly stored. That is, the function blocks A-1 and A-2 of the product A are already registered in the function block correspondence table T1, and the inner data A-1-1 and A-2-1 and the outer data A-1-2 and A A case where 2-2 is stored in the
同様にして、機能ブロック抜き取りモジュール211は、機能ブロックB−1の内側データB−1−1及び外側データB−1−2と、機能ブロックB−2の内側データB−2−1及び外側データB−2−2とを取得する。そして、パターン検索モジュール213は、内側データB−1−1、B−2−1のそれぞれが、既に保存されている内側データ(A−1−1、A−2−1を含む)と一致する可能性があるか否かを判定する。
Similarly, the function
図3の例では、パターン検索モジュール213は、内側データB−1−1、B−2−1のそれぞれが一致する可能性がある旨、判定する。また、図3の例では、内側データB−2−1は、既に保存されている内側データA−2−1と、同一のパターンを有するものとする。したがって、パターン検索モジュール213は、内側データB−2−1をデータ格納領域310に保存せず、機能ブロックB−2と内側データA−2−1との対応情報を機能ブロック対応テーブルT1に更新する。これにより、内側データB−2−1の保存に要する容量を抑制する。
In the example of FIG. 3, the
また、図3の例において、内側データB−1−1は、既に保存されている内側データと、パターンが同一ではなく類似もしていないものとする。この場合、パターン検索モジュール213は、内側データB−1−1をデータ格納領域310に保存し、機能ブロックB−1と内側データB−1−1との対応情報を機能ブロック対応テーブルT1に更新する。
In the example of FIG. 3, it is assumed that the inner data B-1-1 is not the same as or similar to the already stored inner data. In this case, the
ここで、図3で示した、製品A、製品Bの描画データ60−A、60−Bの一例を図4、図5にしたがって説明する。その後、機能ブロック対応テーブルT1の一例を図6にしたがって説明する。 Here, an example of the drawing data 60-A and 60-B of the products A and B shown in FIG. 3 will be described with reference to FIGS. Thereafter, an example of the functional block correspondence table T1 will be described with reference to FIG.
図4、図5は、図3で説明した製品A、B(例えば、SOC)の描画データ60−A、60−Bの一例を説明する図である。図4、図5における描画データ60−A、60−Bは、レチクル(マスク)描画データである。図4、図5の描画データ60−A、60−Bは、例えば、SRAM(Static Random Access Memory:SRAM)やI/O(Input/Output:I/O)コントローラ、CPU(Central Processing Unit:CPU)コア等の機能ブロックを有する。 4 and 5 are diagrams illustrating examples of the drawing data 60-A and 60-B of the products A and B (for example, SOC) described in FIG. Drawing data 60-A and 60-B in FIGS. 4 and 5 are reticle (mask) drawing data. The drawing data 60-A and 60-B in FIGS. 4 and 5 are, for example, SRAM (Static Random Access Memory: SRAM), I / O (Input / Output: I / O) controller, CPU (Central Processing Unit: CPU). ) It has functional blocks such as a core.
図4は、製品Aのレチクル描画データ60−Aの一例を説明する図である。図4によると、製品Aのレチクル描画データ60−Aは、機能ブロックA−1、A−2、A−3、A−4の領域を有する。また、図4によると、レチクル描画データ60−Aにおける機能ブロックA−1の領域の中心座標は、(X,Y)=(−1500,0)である。他の機能ブロックA−2、A−3、A−4の領域も同様にして、中心座標を有する。 FIG. 4 is a diagram for explaining an example of the reticle drawing data 60-A of the product A. According to FIG. 4, the reticle drawing data 60-A of the product A has areas of functional blocks A-1, A-2, A-3, and A-4. Further, according to FIG. 4, the center coordinates of the area of the functional block A-1 in the reticle drawing data 60-A are (X, Y) = (− 1500, 0). Similarly, the other functional blocks A-2, A-3, and A-4 have center coordinates.
図5は、製品Bのレチクル描画データ60−Bの一例を説明する図である。図5によると、製品Bのレチクル描画データ60−Bは、機能ブロックB−1、B−2、B−3、B−4の領域を有する。また、図5によると、レチクル描画データ60−Bにおける機能ブロックB−1の領域の中心座標は、(X,Y)=(−1500,2000)である。他の機能ブロックB−2、B−3、B−4の領域も同様にして、中心座標を有する。 FIG. 5 is a diagram illustrating an example of reticle drawing data 60-B for product B. In FIG. According to FIG. 5, the reticle drawing data 60-B of the product B has areas of functional blocks B-1, B-2, B-3, and B-4. Further, according to FIG. 5, the center coordinates of the area of the functional block B-1 in the reticle drawing data 60-B are (X, Y) = (− 1500, 2000). Similarly, the other functional blocks B-2, B-3, and B-4 have center coordinates.
図4、図5に示すように、機能ブロックの数や座標(位置)、及び、サイズは、製品に応じて異なる。また、たとえ、描画データ60−A、60−Bが同一の種類の機能ブロックを有する場合であっても、当該機能ブロックのパターンの形状や、機能ブロックの領域や位置等は、描画データ60−A、60−B間で、異なることが多い。なお、図4、図5の例では、レチクル描画データ60−A、60−Bが有する各機能ブロックの領域は矩形であるが、矩形に限定されるものではない。 As shown in FIGS. 4 and 5, the number, coordinates (position), and size of the functional blocks differ depending on the product. Further, even if the drawing data 60-A and 60-B have the same type of functional block, the shape of the functional block pattern, the area and position of the functional block, etc. are the same as the drawing data 60- There are many differences between A and 60-B. In the examples of FIGS. 4 and 5, the area of each functional block included in the reticle drawing data 60-A and 60-B is a rectangle, but is not limited to a rectangle.
図6は、図3で示した機能ブロック対応テーブルT1の一例を説明する図である。図3で前述したとおり、機能ブロック対応テーブルT1は、製品ごとに、機能ブロックの情報を管理するデータベースである。また、図6の機能ブロック対応テーブルT1は、図4、図5のレチクル描画データ60−A、60−Bに対応する。 FIG. 6 is a diagram for explaining an example of the functional block correspondence table T1 shown in FIG. As described above with reference to FIG. 3, the functional block correspondence table T1 is a database for managing functional block information for each product. The functional block correspondence table T1 in FIG. 6 corresponds to the reticle drawing data 60-A and 60-B in FIGS.
図6に示す機能ブロック対応テーブルT1は、内側データ識別名、外側データ識別名、中心座標、傾き情報(回転、X反転、Y反転)、機能ブロックの種類、OPC条件、最終参照日、を有する。 The function block correspondence table T1 illustrated in FIG. 6 includes an inner data identification name, an outer data identification name, center coordinates, inclination information (rotation, X inversion, Y inversion), a function block type, an OPC condition, and a last reference date. .
内側データ識別名は、複数の内側データを識別する名前である。外側データ識別名は、複数の外側データを識別する名前である。中心座標は、図4、図5で示したように、機能ブロックの中心の座標を示す。また、傾き情報の回転は、機能ブロックの回転角度を示す。傾き情報のX反転は、機能ブロックがX軸方向に反転する場合の角度を示す。傾き情報のY反転は、機能ブロックがY軸方向に反転する場合の角度を示す。 The inner data identification name is a name for identifying a plurality of inner data. The outer data identification name is a name for identifying a plurality of outer data. The center coordinates indicate the coordinates of the center of the functional block as shown in FIGS. Further, the rotation of the tilt information indicates the rotation angle of the functional block. The X inversion of the tilt information indicates an angle when the functional block is inverted in the X-axis direction. The Y inversion of the tilt information indicates an angle when the functional block is inverted in the Y-axis direction.
また、機能ブロックの種類は、機能ブロックが実現する機能の種類を示す。機能ブロックの種類は、例えば、SOCチップでは、SRAMやI/Oコントローラ、CPUコア等である。OPC条件は、OPC処理の実行時の条件である。OPC処理の実行時の条件とは、例えば、OPC処理を実行したツール名(プログラム名)、ツールのバージョン情報、OPC処理の実行日時等である。また、最終参照日は、内側データが、データ格納領域310から読み出された日付を示す。
The type of function block indicates the type of function realized by the function block. The type of functional block is, for example, an SRAM, an I / O controller, or a CPU core in the SOC chip. The OPC condition is a condition at the time of executing the OPC process. The conditions at the time of executing the OPC process include, for example, the name of the tool (program name) that executed the OPC process, the version information of the tool, the execution date and time of the OPC process, and the like. The last reference date indicates the date when the inner data is read from the
具体的に、図6の機能ブロック対応テーブルT1によると、製品Aは、4つの機能ブロックを有する。製品Aの機能ブロックのうち、1番目の機能ブロックA−1の内側データ識別名は「A−1−1」であって、外側データ識別名は「A−1−2」である。また、図4で示したとおり、機能ブロックA−1の中心座標は(X,Y)=(−1500,0)である。また、機能ブロックA−1の回転角度は90度であって、種類はCPUコアである。 Specifically, according to the functional block correspondence table T1 in FIG. 6, the product A has four functional blocks. Among the functional blocks of the product A, the inner data identification name of the first functional block A-1 is “A-1-1” and the outer data identification name is “A-1-2”. As shown in FIG. 4, the center coordinates of the functional block A-1 are (X, Y) = (− 1500, 0). The rotation angle of the function block A-1 is 90 degrees, and the type is a CPU core.
さらに、機能ブロック対応テーブルT1によると、機能ブロックA−1は、バージョン「Ver2.1.1」のOPCプログラム「Program−A」にしたがって、「2014/02/28」にOPC処理が行われたことを示す。また、機能ブロック対応テーブルT1によると、機能ブロックA−1の内側データA−1−1は、未だ、参照されていないことを示す。 Furthermore, according to the functional block correspondence table T1, the functional block A-1 is subjected to the OPC process on “2014/02/28” in accordance with the OPC program “Program-A” of the version “Ver 2.1.1”. It shows that. Further, according to the functional block correspondence table T1, the inner data A-1-1 of the functional block A-1 is not yet referred to.
同様にして、2番目の機能ブロックA−2の内側データ識別名は「A−2−1」であって、外側データ識別名は「A−2−2」である。また、図4で示したとおり、機能ブロックA−2の中心座標は(X,Y)=(1500,2000)である。また、機能ブロックA−2は回転しておらず、種類は機能ブロックA−1と同様にして、CPUコアである。つまり、製品Aの半導体装置は、CPUコアを2つ搭載することを示す。 Similarly, the inner data identification name of the second functional block A-2 is “A-2-1” and the outer data identification name is “A-2-2”. As shown in FIG. 4, the center coordinates of the functional block A-2 are (X, Y) = (1500, 2000). Further, the functional block A-2 is not rotated, and the type is the CPU core in the same manner as the functional block A-1. That is, the semiconductor device of the product A indicates that two CPU cores are mounted.
なお、機能ブロックA−1と同一の製品であることから、機能ブロックA−1〜A−4のOPC条件は共通である。また、機能ブロック対応テーブルT1によると、機能ブロックA−2の内側データA−2−1の最終参照日は、日付「2014/03/01」である。これは、日付「2014/03/01」に、内側データA−2−1が参照されたことを示す。 Since the product is the same as the functional block A-1, the OPC conditions of the functional blocks A-1 to A-4 are common. Further, according to the functional block correspondence table T1, the last reference date of the inner data A-2-1 of the functional block A-2 is the date “2014/03/01”. This indicates that the inner data A-2-1 was referred to on the date “2014/03/01”.
機能ブロック対応テーブルT1は、他の機能ブロックA−3、A−4についても、同様にして情報を有する。なお、図6に示す、内側データ識別名「A−0」は、製品Aの描画データ60−Aにおける、機能ブロックA−1〜A−4以外の領域の情報を示す。 The functional block correspondence table T1 has information in the same manner for the other functional blocks A-3 and A-4. Note that the inner data identification name “A-0” illustrated in FIG. 6 indicates information of an area other than the functional blocks A-1 to A-4 in the drawing data 60-A of the product A.
また、図6の機能ブロック対応テーブルT1によると、製品Bの機能ブロックのうち、2番目の機能ブロックB−2の内側データ識別名は「A−2−1」、外側データ識別名は「B−2−2」である。即ち、製品Bの機能ブロックB−2の内側データ識別名に、製品Aの機能ブロックA−2の内側データ識別名が対応付けられている。 Further, according to the functional block correspondence table T1 of FIG. 6, among the functional blocks of the product B, the inner data identification name of the second functional block B-2 is “A-2-1” and the outer data identification name is “B”. -2-2 ". That is, the inner data identification name of the product B functional block B-2 is associated with the inner data identification name of the product A functional block A-2.
これは、図3で説明したとおり、機能ブロックB−2の内側データと、製品Aの機能ブロックA−2の内側データA−2−1とが、一致または類似していることを示す。この場合、内側データA−2−1は、機能ブロックB−2の内側データと共通で使用されるデータとして、データ格納領域310に保存される。このとき、内側データA−2−1が参照されることから、製品A、及び、製品Bの内側データA−2−1の最終参照日に、例えば、製品Bのデータを保存した日付「2014/03/01」が登録される。
This indicates that the inner data of the function block B-2 and the inner data A-2-1 of the function block A-2 of the product A match or are similar as described with reference to FIG. In this case, the inner data A-2-1 is stored in the
[OPC処理]
次に、図3で説明した、OPC処理前後の機能ブロックのパターンの変化を説明する。図3で説明したとおり、同一のパターンを有する機能ブロック間で、周辺の機能ブロックの配置や向き等が異なる場合、OPC処理後における、双方の機能ブロックの外縁部分のパターンの形状が異なることがある。この点を、図7にしたがって説明する。
[OPC processing]
Next, changes in the functional block pattern before and after the OPC process described in FIG. 3 will be described. As described with reference to FIG. 3, when the arrangement and orientation of peripheral functional blocks are different between functional blocks having the same pattern, the shape of the pattern of the outer edge portions of both functional blocks after OPC processing may be different. is there. This point will be described with reference to FIG.
図7は、OPC処理前後の機能ブロックのパターンの変化を模式的に説明する第1の図である。図7は、半導体装置X(製品Xに対応、例えばSOC)、半導体装置Y(製品Yに対応、例えばSOC)のそれぞれの、OPC処理前のレイアウトデータ61−X、61−Yと、OPC処理後の描画データ60−X、60−Yの一例を示す。図7のOPC処理214は、図1で説明した図形OPCプログラム214の処理に対応する。
FIG. 7 is a first diagram schematically illustrating changes in the functional block pattern before and after the OPC process. FIG. 7 shows layout data 61-X and 61-Y before the OPC process, and the OPC process of the semiconductor device X (corresponding to the product X, for example, SOC) and the semiconductor device Y (corresponding to the product Y, for example, the SOC). An example of the subsequent drawing data 60-X, 60-Y is shown. The
図7の半導体装置Xのレイアウトデータ61−Xは、3つの機能ブロックa〜cを有する。また、半導体装置Yのレイアウトデータ61−Yは、5つの機能ブロックd〜hを有する。図7の例において、レイアウトデータ61−Xの機能ブロックaと、レイアウトデータ61−Yの機能ブロックdとは、同一のパターンを有する(Y1)。 The layout data 61-X of the semiconductor device X in FIG. 7 has three functional blocks ac. The layout data 61-Y of the semiconductor device Y has five functional blocks d to h. In the example of FIG. 7, the functional block a of the layout data 61-X and the functional block d of the layout data 61-Y have the same pattern (Y1).
また、図7の描画データ60−X、60−Yは、レイアウトデータ61−X、61−YのOPC処理214を実行することによって生成した描画データである。したがって、図7に示すように、描画データ60−X、60−Yの機能ブロックax〜fxのパターンの形状は、レイアウトデータ61−X、61−Yの機能ブロックa〜fと異なっている。
Further, the drawing data 60-X and 60-Y in FIG. 7 are drawing data generated by executing the
前述したとおり、レイアウトデータ61−X、61−Yにおける、機能ブロックaと機能ブロックdとは、パターンが同一である(Y1)。ただし、機能ブロックaと機能ブロックdとでは、周辺に位置する機能ブロックが異なる。具体的に、レイアウトデータ61−Xにおける機能ブロックaの周辺には、機能ブロックb、機能ブロックcが位置し、機能ブロック間の距離は大きい。一方、レイアウトデータ61−Yにおける機能ブロックdの周辺には、機能ブロックe、機能ブロックg、機能ブロックhが位置し、機能ブロック間の距離は小さい。 As described above, the function block a and the function block d in the layout data 61-X and 61-Y have the same pattern (Y1). However, functional blocks located in the periphery are different between the functional block a and the functional block d. Specifically, the functional block b and the functional block c are located around the functional block a in the layout data 61-X, and the distance between the functional blocks is large. On the other hand, the functional block e, the functional block g, and the functional block h are located around the functional block d in the layout data 61-Y, and the distance between the functional blocks is small.
これにより、図7に示すように、OPC処理214の結果、描画データ60−Xの機能ブロックaxと、描画データ60−Yの機能ブロックdxとでは、機能ブロックの外縁部分のパターンの形状が異なっている(Y2)。
As a result, as shown in FIG. 7, as a result of the
図8は、OPC処理前後の機能ブロックのパターンの変化を模式的に説明する第2の図である。図8のレイアウトデータ61−X、61−Yは、図7と同様である。図8では、図7の描画データ60−X、60−Yに対して、OPC処理214において、周囲の機能ブロックに応じてパターンの形状が変化する領域が網点で表されている。描画データ60−X、60−Yの機能ブロックの領域の網点で表される領域は、機能ブロックの外縁領域であって、OPC処理214によって周囲の機能ブロックの影響を受ける領域を示す。
FIG. 8 is a second diagram for schematically explaining the change of the functional block pattern before and after the OPC process. The layout data 61-X and 61-Y in FIG. 8 are the same as those in FIG. In FIG. 8, in the
OPC処理214は、網点で表される領域の内側の領域(例えば、ax−1、dx−1)に位置するパターンに対しても行われている。ただし、網点で表される領域の内側に位置するパターンは、周囲の機能ブロックの配置や向き等の影響を受けない。したがって、同一のパターンであれば、OPC処理の結果、同一のパターンの形状に補正される。したがって、描画データ60−Xにおける機能ブロックaの内側領域ax−1と、60−Yにおける機能ブロックdの内側領域dx−1とでは、パターンが一致する(Y3)。
The
次に、図8で説明した、OPC処理214によって周囲の機能ブロックの影響を受ける、機能ブロックの外縁領域を、詳細に説明する。
Next, the outer edge area of the functional block that is affected by the surrounding functional blocks by the
図9は、OPC処理によって、周囲の機能ブロックの影響を受ける、機能ブロックの外縁領域を説明する第1の図である。図9は、OPC処理214によって機能ブロックのパターンが縮小する場合を説明する。
FIG. 9 is a first diagram illustrating an outer edge area of a functional block that is affected by the surrounding functional blocks by the OPC process. FIG. 9 illustrates a case where the functional block pattern is reduced by the
図9において、機能ブロックhの領域61h、及び、機能ブロックiの領域61iは、OPC処理前のレイアウトデータにおけるパターンを示す。また、図9において、機能ブロックhの領域60h、及び、機能ブロックiの領域60iは、OPC処理後の描画データにおけるパターンを示す。
In FIG. 9, a function
図9の例において、例えば、機能ブロックhの領域61hと、機能ブロックiの領域61iとの間隔が狭い。機能ブロックの間隔が狭い場合、OPC処理214を行わない場合、パターン同士がつながってブリッジが生じてしまうことがある。このため、OPC処理214では、機能ブロック間のパターンのブリッジを回避するために、機能ブロックh、iのパターンを削って縮小する。描画データの機能ブロックhの領域60h、及び、機能ブロックiの領域60iにおける横線領域は、OPC処理によってパターンが削られた領域を示す。
In the example of FIG. 9, for example, the distance between the
つまり、機能ブロックhの領域60h、及び、機能ブロックiの領域60iにおける外周から点線までの領域が、図7で網点によって示した、周囲の機能ブロックの影響を受ける外縁領域に相当する。領域60h−1、60i−1は、機能ブロックhの領域60h、及び、機能ブロックiの領域60iの外周から、図9に示す幅C1分の領域を除外した点線内の領域を示す。即ち、領域60h−1、60i−1は、内側データの領域に相当する。
That is, the
なお、内側データの領域60h−1、60i−1は、例えば、OPC処理214によって、周囲の機能ブロックの影響を受けて生じる変化の度合いが、許容できる程度まで小さい領域を示す。
The
図10は、OPC処理によって、周囲の機能ブロックの影響を受ける、機能ブロックの外縁領域を説明する第2の図である。図10は、OPC処理214によって機能ブロックのパターンが拡張する場合を説明する。
FIG. 10 is a second diagram illustrating an outer edge region of a functional block that is affected by the surrounding functional blocks by the OPC process. FIG. 10 illustrates a case where the functional block pattern is expanded by the
図10において、機能ブロックjの領域61j、及び、機能ブロックkの領域61kは、OPC処理前のレイアウトデータにおけるパターンを示す。また、図10において、機能ブロックjの領域60j、及び、機能ブロックkの領域60kは、OPC処理後の描画データにおけるパターンを示す。
In FIG. 10, the
図10の例において、例えば、機能ブロックjの領域61jと、機能ブロックkの領域61kとの間隔が広い。機能ブロックの間隔が広い場合、パターンを広くしてもパターン同士のブリッジが発生する可能性は低い。このため、OPC処理では、機能ブロックj、kのパターンを拡張する。これにより、幅の狭いパターンの断線(ネック)が回避できる。描画データの機能ブロックj、kの領域60j、60kにおける横線領域は、OPC処理によってパターンが拡張された領域を示す。
In the example of FIG. 10, for example, the distance between the
つまり、機能ブロックjの領域60j、及び、機能ブロックkの領域60kにおける外周から点線までの領域が、図7で網点によって示した、周囲の機能ブロックの影響を受ける外縁領域に相当する。領域60j−1、60k−1は、機能ブロックjの領域60j、及び、機能ブロックkの領域60kの外周から、図10に示す幅C1分の領域を除外した点線内の領域を示す。即ち、領域60j−1、60k−1は、内側データの領域に相当する。
That is, the
図9、図10で説明した、機能ブロックの内側データを画定する幅C1は、例えば、光源によって露光された部分からの距離と光の強度分布等にしたがって、実験的に測定される。幅C1は、例えば、保存データ生成装置10に対して、予め設定される。
The width C1 that defines the inner data of the functional block described with reference to FIGS. 9 and 10 is experimentally measured according to, for example, the distance from the portion exposed by the light source and the light intensity distribution. The width C1 is set in advance for the saved
図3〜図10で説明してきたように、本実施の形態例における保存データ生成装置10は、機能ブロックごとのOPC処理後の描画データから、機能ブロックの外縁領域を除外した内側データを取得する。そして、保存データ生成装置10は、機能ブロックのOPCの処理条件に基づいて、取得した内側データを、データ格納領域310が保存する内側データと比較するか否か判定する。そして、保存データ生成装置10は、比較すると判定した場合、取得した内側データと、データ格納領域310が保存する内側データとのパターンを比較し、比較結果に応じて、取得した内側データをデータ格納領域310に保存する。
As described with reference to FIGS. 3 to 10, the saved
このように、保存データ生成装置10は、同一のパターンを有する複数の機能ブロック間で、ストレージデバイス300に内側データを重複して保存することを抑制する。これにより、保存データ生成装置10は、ストレージデバイス300に保存する保存データのデータ容量を低減させることができる。
As described above, the storage
また、保存データ生成装置10は、検索処理の前に、取得した内側データが、既に保存されている内側データと比較して一致する可能性があるか否かを予測する。そして、保存データ生成装置10は、一致する可能性がある場合に、取得した内側データと、既に保存されている内側データと比較する。さらに、保存データ生成装置10は、比較処理に時間を要するか否かを予測する。
Further, the stored
これにより、保存データ生成装置10は、比較の結果一致する可能性が低く、比較処理に時間を要することが予測される場合、内側データの比較処理を回避することができる。このため、保存されている内側データの数が多い場合でも、保存データ生成装置10は、高速に、保存データ生成処理を行うことができる。したがって、本実施の形態例における保存データ生成装置10は、重複した描画データの保存を抑止するとともに、高速に、描画データを保存することができる。
As a result, the stored
また、保存データ生成装置10は、機能ブロックごとの描画データから、機能ブロックの外縁領域の外側データを取得し、外側データとデータ格納領域310が保存する外側データとを、個別にデータ格納領域310に保存する。保存データ生成装置10は、OPC処理において周辺の機能ブロックの影響を受ける外側データについては、機能ブロックごとに保存する。
Further, the saved
次に、図3〜図10で説明してきた、本実施の形態例における保存データ生成処理をフローチャート図にしたがって説明する。初めに、保存データ生成処理の概要を、図11のフローチャート図にしたがって説明する。 Next, the stored data generation processing in the present embodiment, which has been described with reference to FIGS. First, the outline of the stored data generation process will be described with reference to the flowchart of FIG.
[保存データ生成処理の概要]
図11は、本実施の形態例における保存データ生成処理の概要を説明するフローチャート図である。図11のフローチャート図において、描画データ60を蓄積して保存する工程F1は、工程S11〜S19を有する。また、保存した描画データ60に基づいて、ある製品の描画データ60を再生する工程F2は、工程S20を有する。
[Overview of saved data generation processing]
FIG. 11 is a flowchart for explaining the outline of the stored data generation processing in the present embodiment. In the flowchart of FIG. 11, the process F1 for accumulating and storing the drawing
S11:図形OPC処理プログラム214(図3)は、レイアウトデータ61(図3〜図5の61−A、61−B、図7〜図8の61−X、61−Yに対応)を入力として、図形処理及びOPC処理を行う。そして、図形OPC処理プログラム214は、サマリーレポート64、描画データ60(図3〜図5の60−A、60−B、図7〜図8の60−X、60−Yに対応)を生成する。サマリーレポート64は、OPC処理実行時のパラメータや、OPC処理結果を有するログ情報である。
S11: The graphic OPC processing program 214 (FIG. 3) receives layout data 61 (corresponding to 61-A and 61-B in FIGS. 3 to 5 and 61-X and 61-Y in FIGS. 7 to 8) as input. Perform graphic processing and OPC processing. Then, the figure
S12:保存データ生成装置10の機能ブロック抜き取りモジュール211は、描画データ60と結線情報62とセルネーミングルール63とに基づいて、描画データ60の機能ブロックの領域を識別する。結線情報62、及び、セルネーミングルール63は、メモリ102に格納されている。
S12: The functional
結線情報62は、電子回路における端子間の接続情報のデータを示す情報であって、例えば、ネットリスト等である。また、機能ブロック抜き取りモジュール211は、識別した機能ブロックごとに、内側データ60−1(例えば、図3のA−1−1に対応)及び外側データ60−2(例えば、図3のA−1−2に対応)を取得し、仮保存する。処理の詳細については、図12のフローチャート図にしたがって後述する。
The
S13:保存データ生成装置10のパターン一致予測モジュール212は、サマリーレポート64からOPC処理実行時のパラメータを取得する。OPC処理実行時のパラメータについては、図16のフローチャート図に従って、後述する。
S13: The pattern
S14:パターン一致予測モジュール212は、工程S13で取得したパラメータに基づいて、パターン検索判断基準テーブルP1を参照する。そして、パターン一致予測モジュール212は、描画データ60が有する機能ブロックの内側データ60−1が、既に保存されている他の内側データ60−1のいずれかと、一致または類似する可能性があるか否かを予測する。処理の詳細については、図16のフローチャート図にしたがって後述する。
S14: The pattern
S15:一致または類似する可能性があると予測した場合(S14のYES)、保存データ生成装置10のパターン検索モジュール213は、保存対象の描画データ60が有する各機能ブロックの内側データ60−1を、既に保存されている内側データ60−1と比較する。
S15: When it is predicted that there is a possibility of coincidence or similarity (YES in S14), the
S16:内側データ60−1が、既に保存されている内側データ60−1と一致せず類似もしていない場合(S15のNO)、パターン検索モジュール213は、機能ブロックと内側データ60−1との対応情報を機能ブロック対応テーブルT1に更新する。また、パターン検索モジュール213は、内側データ60−1のパターンをデータ格納領域310(図1)に、正式に保存する。
S16: When the inner data 60-1 does not match and is not similar to the already stored inner data 60-1 (NO in S15), the
S17:内側データ60−1が、既に保存されている内側データ60−1と一致、または類似している場合(S14のYES)、パターン検索モジュール213は、機能ブロックと、一致または類似している内側データ60−1との対応情報を、機能ブロック対応テーブルT1に更新する。このとき、パターン検索モジュール213は、工程S12で仮保存した内側データ60−1削除する。
S17: When the inner data 60-1 matches or resembles the already stored inner data 60-1 (YES in S14), the
S18:パターン検索モジュール213は、機能ブロックと外側データ60−2との対応情報を機能ブロック対応テーブルT1に更新するとともに、取得した外側データ60−2のパターンをデータ格納領域310に保存する。
S18: The
S19:保存データ生成装置10は、描画データが保存されている製品の再注文や、不良な機能ブロックを有する製品の調査要求等を受け付ける。
S19: The stored
S20:保存データ生成装置10は、製品の再注文に応じて、機能ブロック対応テーブルT1を参照し、データ格納領域310が記憶する内側データ60−1と外側データ60−2とを読み出すことにより、描画データ65を再生成する。このように、本実施の形態例における保存データ生成装置10は、機能ブロック対応テーブルT1と、データ格納領域310が保存する保存データ(内側データ60−1及び外側データ60−2)とに基づいて、描画データを再生成できる。
S20: The stored
また、保存データ生成装置10は、製品の調査要求に応じて機能ブロック対応テーブルT1を参照し、障害が発生する可能性がある機能ブロックを有する製品を抽出する。製品の障害が検出された場合、データ格納領域310に保存された描画データに基づいて、障害の波及範囲を検知することが求められる場合がある。前述したとおり、描画データは階層化されていないデータであり、同一のパターンの有する機能ブロックであってもOPC処理によってパターンの形状が変化している場合がある。したがって、障害が発生した機能ブロックが検知されている場合でも、描画データに基づいて、同一の機能ブロックを有する製品を抽出することが困難であった。
Further, the saved
これに対し、本実施の形態例における保存データ生成装置10は、同一のパターンを有する複数の機能ブロック間で、内側データを共通で使用する。したがって、保存データ生成装置10は、同一のパターンを有する機能ブロックを容易に検出することができる。
On the other hand, the stored
例えば、保存データ生成装置10は、不良な機能ブロックを特定する。そして、保存データ生成装置10は、機能ブロック対応テーブルT1に基づいて、不良な機能ブロックと、内側データ60−1を共通で使用する機能ブロックを検出する。そして、保存データ生成装置10は、検出した機能ブロックが構成する製品を抽出することによって、障害が発生する可能性がある製品の範囲を調査できる。
For example, the saved
このように、保存データ生成装置10は、障害が発生した機能ブロックと内側データを共有する機能ブロックを検索することで、障害が発生する可能性がある製品を効率的に検出することができる。したがって、保存データ生成装置10は、機能ブロック対応テーブルT1と、データ格納領域310が保存する保存データ(内側データ60−1及び外側データ60−2)とに基づいて、障害の波及範囲を短時間で、容易に検出することができる。
As described above, the saved
[機能ブロック抜き取り処理(図11のS12)]
図12は、機能ブロック抜き取りモジュール211(図2)の処理(図11のS12)を説明するフローチャート図である。機能ブロック抜き取りモジュール211は、描画データ60が有する各機能ブロックについて、工程S21〜S26の処理を行う。
[Function Block Extraction Processing (S12 in FIG. 11)]
FIG. 12 is a flowchart for explaining the process (S12 in FIG. 11) of the functional block extraction module 211 (FIG. 2). The functional
S21:機能ブロック抜き取りモジュール211は、結線情報62とセルネーミングルール63とに基づいて、機能ブロックの情報を取得する。ネットリストの各セルは、機能ブロックに対応する。機能ブロック抜き取りモジュール211は、ネットリストの各セル名に基づいて、セルネーミングルール63を参照し、セル名に対応するデバイスパターン(機能ブロックの種類)を取得する。
S <b> 21: The functional
S22:機能ブロック抜き取りモジュール211は、セル名に基づいてレイアウトデータ61を参照し、機能ブロックの中心座標(X,Y)を取得する。この例において、座標は、描画データ60の左下部を座標(X,Y)=(0,0)とした場合の相対的な座標である。ここで、工程S21、S22の処理を図13にしたがって説明する。
S22: The functional
図13は、図12の工程S21及びS22を説明する図である。図13は、結線情報62、セルネーミングルール63、及び、レイアウトデータ61の一例を有する。
FIG. 13 is a diagram for explaining steps S21 and S22 of FIG. FIG. 13 includes an example of
図13の結線情報62は、ネット名ごとに結線情報62と、対応するセル名の情報を有する。図13の結線情報62は、ネット名「Net1」に対応して、結線情報62「A−1---A−2」及びセル名「A1111」を有する。同様にして、図13の結線情報62は、ネット名「Net2」に対応して、結線情報62「A−21---A−12」及びセル名「A2222」を有する。
The
図13のセルネーミングルール63は、セル名ごとにデバイスパターン(機能ブロックの種類)を有する。図13のセルネーミングルール63は、セル名「A1111」に対応して、デバイスパターン「SRAM1」を有する。同様にして、図13のセルネーミングルール63は、セル名「A2222」に対応して、デバイスパターン「SRAM2」を有する。また、図13のレイアウトデータ61は、セル名ごとに、セルの領域を示す座標情報を有する。
The
具体的に、機能ブロック抜き取りモジュール211は、結線情報62に基づいて、セル名「A1111」を取得する。そして、機能ブロック抜き取りモジュール211は、セル名「A1111」に基づいて、セルネーミングルール63を参照し、セル名「A1111」に対応する機能ブロックの種類「SRAM1」を取得する(図12のS11)。
Specifically, the functional
そして、機能ブロック抜き取りモジュール211は、セル名「A1111」に基づいて、レイアウトデータ61を参照して、セル名「A1111」が位置する座標を取得する。そして、機能ブロック抜き取りモジュール211は、取得した座標に基づいて、セル名「A1111」の中心座標(X,Y)を算出する(図12のS12)。
Then, the function
このように、機能ブロック抜き取りモジュール211は、結線情報62、セルネーミングルール63、及び、レイアウトデータ61に基づいて、機能ブロックごとの種類、及び、中心座標(X,Y)を取得する。図12のフローチャート図に戻る。
In this manner, the functional
S23:機能ブロック抜き取りモジュール211は、外側データを画定する外縁領域の幅「C1」を算出する。外縁領域の幅「C1」は、図9、図10で説明した、OPC処理で周囲のパターンに応じて影響が生じる、機能ブロックの外縁領域の幅「C1」に対応する。機能ブロック抜き取りモジュール211は、外縁領域の幅「C1」を、例えば式1にしたがって求める。
C1=OPC処理時の周辺取り込み幅+MASK最小グリッド…式1
式1における、OPC処理時の周辺取り込み幅は、例えば、実験的に測定された実測値に基づいて算出される。この例では、OPC処理時の周辺取り込み幅は、例えば、「1um」である。OPC処理時の周辺取り込み幅は、OPC処理で周囲のパターンに応じて影響が生じる距離範囲である。また、式1における、MASK最小グリッドは、描画データ60の(マスクの)グリッドの最小単位である。式1における、MASK最小グリッドは、例えば、「0.05mm」である。機能ブロック抜き取りモジュール211は、MASK最小グリッドを加算して値「C1」を算出することによって、グリッドによる誤差を吸収する。
S23: The functional
C1 = peripheral capture width during OPC processing + MASK minimum grid ...
The peripheral capture width at the time of OPC processing in
S24:機能ブロック抜き取りモジュール211は、工程S23で算出した外縁領域の幅「C1」に基づいて、OPC処理で周囲のパターンによって影響を受けない内側データ60−1の領域を画定する。機能ブロック抜き取りモジュール211は、内側データ60−1の領域「B1」を、例えば式2にしたがって求める。
B1=(lx+C1,ly−C1,rx−C1,ry+C1)…式2
式2における座標「lx,ly,rx,ry」は、機能ブロックの領域を画定する座標である。例えば、座標「lx,ly(=X,Y)」は、機能ブロックの左上の座標であって、座標「rx,ry(=X,Y)」は、機能ブロックの右下の座標である。前述したとおり、座標は、描画データ60の左下部を座標(X,Y)=(0,0)とした場合の相対的な座標である。機能ブロック抜き取りモジュール211は、例えば、レイアウトデータ61に基づいて、機能ブロックを画定する座標を取得する。そして、機能ブロック抜き取りモジュール211は、式2にしたがって、機能ブロックの領域から外縁領域の幅「C1」分、狭くした内側データ60−1の領域「B1」の座標を取得する。
S24: The functional
B1 = (lx + C1, ly-C1, rx-C1, ry + C1) ...
The coordinates “lx, ly, rx, ry” in
S25:機能ブロック抜き取りモジュール211は、描画データ60から、工程S24で算出した領域「B1」のデータを抜き取り、内側データ60−1として一時的に保存する。
S25: The functional
S26:機能ブロック抜き取りモジュール211は、機能ブロックの領域から、内側データ60−1の領域「B1」を除いた外縁領域の外側データ60−2を、データ格納領域310に保存する。また、機能ブロック抜き取りモジュール211は、さらに、描画データ60における、機能ブロックの領域以外の領域のデータを、データ格納領域310に保存する。
S <b> 26: The functional
図14、図15は、図12のフローチャート図にしたがって、図4、図5に示した製品A、製品Bの描画データ60−A、60−Bから切り出した、内側データ60−1及び外側データ60−2を表す図である。 14 and 15 show the inner data 60-1 and the outer data cut out from the drawing data 60-A and 60-B of the products A and B shown in FIGS. 4 and 5 according to the flowchart of FIG. It is a figure showing 60-2.
図14は、図4に示した製品Aの描画データ60−Aの内側データ60−1及び外側データ60−2を示す図である。図14に示すように、機能ブロック抜き取りモジュール211は、機能ブロックA−1、A−2、A−3、A−4のそれぞれについて、内側データ60−1、及び、網点で表す外側データ60−2を切り出す。
FIG. 14 is a diagram showing the inner data 60-1 and the outer data 60-2 of the drawing data 60-A of the product A shown in FIG. As illustrated in FIG. 14, the functional
図14の例において、機能ブロックA−1の内側データ識別名は「A−1−1」であって、外側データ識別名は「A−1−2」である。同様にして、機能ブロックA−2の内側データ識別名は「A−2−1」であって、外側データ識別名は「A−2−2」である。他の機能ブロックA−3、A−4についても同様である。これらの識別名は、図6の機能ブロック対応テーブルT1に対応する。 In the example of FIG. 14, the inner data identification name of the functional block A-1 is “A-1-1”, and the outer data identification name is “A-1-2”. Similarly, the inner data identification name of function block A-2 is “A-2-1” and the outer data identification name is “A-2-2”. The same applies to the other functional blocks A-3 and A-4. These identification names correspond to the functional block correspondence table T1 in FIG.
図15は、図5に示した製品Bの描画データ60−Bの内側データ60−1及び外側データ60−2を示す図である。図15に示すように、機能ブロック抜き取りモジュール211は、機能ブロックB−1、B−2、B−3、B−4のそれぞれについて、内側データ60−1、及び、網点で表す外側データ60−2を切り出す。
FIG. 15 is a diagram illustrating the inner data 60-1 and the outer data 60-2 of the drawing data 60-B of the product B illustrated in FIG. As illustrated in FIG. 15, the functional
図15の例において、機能ブロックB−1の内側データ識別名は「B−1−1」であって、外側データ識別名は「B−1−2」である。同様にして、機能ブロックB−2の内側データ識別名は「B−2−1」であって、外側データ識別名は「B−2−2」である。他の機能ブロックB−3、B−4についても同様である。図14と同様にして、これらの識別名は、図6の機能ブロック対応テーブルT1に対応する。 In the example of FIG. 15, the inner data identification name of the functional block B-1 is “B-1-1” and the outer data identification name is “B-1-2”. Similarly, the inner data identification name of the functional block B-2 is “B-2-1” and the outer data identification name is “B-2-2”. The same applies to the other functional blocks B-3 and B-4. As in FIG. 14, these identification names correspond to the functional block correspondence table T1 in FIG.
[パターン一致予測処理(図11のS14)、パターン検索処理(図11のS15〜S18)]
図16は、パターン一致予測モジュール212(図2)の処理(図11のS14)、及び、パターン検索モジュール213(図2)の処理(図11のS15〜S18)を説明するフローチャート図である。
[Pattern Match Prediction Process (S14 in FIG. 11), Pattern Search Process (S15 to S18 in FIG. 11)]
FIG. 16 is a flowchart for explaining the process of the pattern match prediction module 212 (FIG. 2) (S14 of FIG. 11) and the process of the pattern search module 213 (FIG. 2) (S15 to S18 of FIG. 11).
図16のフローチャート図おいて、工程S31〜S33の処理は、パターン一致予測モジュール212の処理(図11のS14)に対応する。また、図16のフローチャート図おいて、工程S34〜S39の処理は、パターン検索モジュール213の処理(図11のS15〜S18)に対応する。 In the flowchart of FIG. 16, the processes of steps S31 to S33 correspond to the process of the pattern match prediction module 212 (S14 of FIG. 11). Further, in the flowchart of FIG. 16, the processes in steps S34 to S39 correspond to the processes of the pattern search module 213 (S15 to S18 in FIG. 11).
S31:パターン一致予測モジュール212は、OPC処理214(図3)が出力するサマリーレポート64から、OPC処理実行時のパラメータを取得する。パラメータは、例えば、OPCツールのプログラム名やバージョン、処理した機能ブロックのパターンの密度平均値、処理した機能ブロックの、辺の数が基準値「x」以上のパターン数等である。OPCツールのプログラム名は、図6で前述したとおり、OPC処理を実行したプログラム名を示す。また、バージョンは、OPC処理を実行したプログラムのバージョンを示す。
S31: The pattern
機能ブロックのパターンの密度平均値は、機能ブロックの領域における、パターンの密度の平均値を示す。機能ブロックのパターンの密度平均値は、例えば、機能ブロックの領域のサイズと、機能ブロックが有するパターンの数、及び、各パターンのサイズ等に基づいて、算出される。機能ブロックのパターンの密度平均値は、例えば、機能ブロックの領域に位置するパターンの数が多いほど大きい。 The functional block pattern density average value indicates an average pattern density value in the functional block region. The density average value of the functional block patterns is calculated based on, for example, the size of the functional block area, the number of patterns included in the functional block, the size of each pattern, and the like. For example, the density average value of the functional block patterns increases as the number of patterns located in the functional block area increases.
また、機能ブロックの辺の数は、OPC処理後の機能ブロックの各パターンが有する辺の数を示す。また、辺の数の基準値「x」は、例えば、「100」である。したがって、機能ブロックの辺の数が基準値以上のパターン数は、機能ブロックが有するパターンのうち、辺の数が「100」以上の辺を有するパターンの数を示す。OPC処理の結果、機能ブロックが有するパターンは小刻みに補正される。したがって、辺の数が「100」を超えるパターンが生じ得る。ただし、辺の数の基準値「x」は、この例に限定されるものではなく、実測値等に基づいて調整される。 The number of sides of the functional block indicates the number of sides of each pattern of the functional block after the OPC process. Further, the reference value “x” of the number of sides is “100”, for example. Therefore, the number of patterns in which the number of sides of the functional block is equal to or larger than the reference value indicates the number of patterns having sides having the number of sides of “100” or more among the patterns of the functional block. As a result of the OPC process, the pattern of the functional block is corrected in small increments. Therefore, a pattern in which the number of sides exceeds “100” may occur. However, the reference value “x” of the number of sides is not limited to this example, and is adjusted based on an actual measurement value or the like.
S32:パターン一致予測モジュール212は、サマリーレポート64から取得したパラメータに基づいて(S31)、パターン検索判断基準テーブルP1が有する各項目(条件)に該当するか否かを判定する。パターン一致予測モジュール212は、描画データ60の機能ブロックごとに、パターン検索判断基準テーブルP1が有する複数の条件に該当する度合いに応じて、パターンが一致する可能性を示すスコアを算出する。
S32: The pattern
S33:パターン一致予測モジュール212は、工程S32で算出したスコアが、基準値「X」以上であるか否か(スコア≧基準値「X」)を判定する。この例において、基準値「X」は、値「3」である。
S33: The pattern
スコアが基準値「X」未満である場合(S33のNO)、パターン一致予測モジュール212は、対象の機能ブロックの内側データ60−1が、既に保存されている内側データ60−1と一致する可能性があると判定する。この場合、パターン検索モジュール213は、後述する工程S34〜S36で、対象の機能ブロックの内側データ60−1を、既に保存されている内側データ60−1と比較する。
When the score is less than the reference value “X” (NO in S33), the pattern
一方、スコアが基準値「X」以上の場合(S33のYES)、パターン一致予測モジュール212は、対象の機能ブロックの内側データ60−1が、既に保存されている内側データ60−1と一致する可能性が低いと予測する。また、スコアが基準値「X」以上の場合(S33のYES)、パターン一致予測モジュール212は、さらに、比較処理に長時間を要すると予測する。
On the other hand, when the score is greater than or equal to the reference value “X” (YES in S33), the pattern
図17は、パターン検索判断基準テーブルP1の一例を説明する図である。図17のパターン検索判断基準テーブルP1は、OPCの処理条件に対応する4つの項目(条件)を有する。また、パターン検索判断基準テーブルP1は、項目ごとに重みを有する。重みは、機能ブロックが項目の条件に該当する場合における、スコアへの寄与率を示す。 FIG. 17 is a diagram illustrating an example of the pattern search determination criterion table P1. The pattern search determination reference table P1 in FIG. 17 has four items (conditions) corresponding to the OPC processing conditions. The pattern search determination reference table P1 has a weight for each item. The weight indicates the contribution rate to the score when the functional block satisfies the item condition.
パターン検索判断基準テーブルP1の1つ目の項目(条件)は、OPCツールの実績が無い場合を示す。具体的に、対象の機能ブロックを処理したOPCツールが、既に保存されている保存データ(内側データ及び外側データ)を処理した実績が無い場合を示す。 The first item (condition) in the pattern search determination reference table P1 indicates a case where there is no record of the OPC tool. Specifically, a case where the OPC tool that has processed the target functional block has no record of processing stored data (inner data and outer data) that has already been stored is shown.
OPC処理は、内側データが含むパターンに対しても行われる。OPC処理の内容は、OPCツールによって異なる場合がある。このため、OPCツールが異なることによって、内側データのパターンが同一であっても、OPC処理後の内側データのパターンが異なる場合がある。このため、対象の機能ブロックを処理したOPCツールの実績が無い場合、OPC処理前に同一のパターンを有する内側データが保存されている場合でも、一致または類似しない可能性が高くなる。 The OPC process is also performed on the pattern included in the inner data. The contents of the OPC process may vary depending on the OPC tool. For this reason, even if the pattern of the inner data is the same due to the different OPC tools, the pattern of the inner data after the OPC process may be different. For this reason, when there is no track record of the OPC tool that processed the target functional block, there is a high possibility that even if the inner data having the same pattern is stored before the OPC process, they are not coincident or similar.
この例では、OPCツールの実績が無いという条件に該当した場合の重みは、「2」に設定される。前述したとおり、基準値「X」は、値「3」である。したがって、1つ目の項目のみに該当した場合、スコアは基準値「X」を超えない。ただし、他の項目にも該当した場合、スコアは基準値「X」を超える。 In this example, the weight when the condition that there is no record of the OPC tool is satisfied is set to “2”. As described above, the reference value “X” is the value “3”. Therefore, when only the first item is applicable, the score does not exceed the reference value “X”. However, when other items are applicable, the score exceeds the reference value “X”.
パターン検索判断基準テーブルP1の2つ目の項目(条件)は、OPCツールのバージョンの実績が無い場合を示す。具体的に、対象の機能ブロックを処理したバージョンのOPCツールが、既に保存されている保存データ(内側データ及び外側データ)を処理した実績が無い場合を示す。 The second item (condition) in the pattern search determination reference table P1 indicates a case where there is no record of the OPC tool version. Specifically, a case where the version of the OPC tool that has processed the target functional block has no record of processing stored data (inner data and outer data) that has already been stored is shown.
同一のOPCツールであっても、ツールがバージョンアップすることによって、補正の精度が向上することや、補正の機能が追加されることがある。このため、OPC処理の内容は、OPCツールのバージョンによって異なる場合がある。したがって、OPCツールのバージョンが異なることによって、内側データのパターンが同一であっても、OPC処理後の内側データのパターンが異なる場合がある。このため、対象の機能ブロックを処理したOPCツールのバージョンの実績が無い場合、OPC処理前に同一のパターンを有する内側データが保存されている場合でも、一致または類似しない可能性が高くなる。 Even with the same OPC tool, the accuracy of correction may be improved or a correction function may be added by upgrading the tool. For this reason, the contents of the OPC process may differ depending on the version of the OPC tool. Therefore, even if the inner data pattern is the same due to the different versions of the OPC tool, the pattern of the inner data after the OPC process may be different. For this reason, when there is no track record of the version of the OPC tool that has processed the target functional block, there is a high possibility that even if the inner data having the same pattern is stored before the OPC process, they do not match or resemble.
この例では、OPCツールのバージョンの実績が無いという条件に該当した場合の重みは、「2」に設定される。前述したとおり、基準値「X」は、値「3」である。したがって、2つ目の項目のみに該当した場合、スコアは基準値「X」を超えない。ただし、他の項目にも該当した場合、スコアは基準値「X」を超える。 In this example, the weight when the condition that there is no record of the version of the OPC tool is set to “2”. As described above, the reference value “X” is the value “3”. Therefore, when only the second item is applicable, the score does not exceed the reference value “X”. However, when other items are applicable, the score exceeds the reference value “X”.
また、パターン検索判断基準テーブルP1の3つ目の項目(条件)は、機能ブロックが有するパターンの密度の平均値が基準値「n1」を超える場合を示す。機能ブロックが有するパターンの密度の平均値が基準値「n1」を超える場合、機能ブロックが有するパターンが多く、パターンが密集していることを示す。この場合、機能ブロックの内側データのパターンが、既に保存された内側データと一致する可能性は低く、パターンの比較処理にも時間を要することが予測される。 The third item (condition) of the pattern search determination reference table P1 indicates a case where the average value of pattern densities of the functional blocks exceeds the reference value “n1”. When the average density of the patterns of the functional blocks exceeds the reference value “n1”, it indicates that the functional blocks have many patterns and the patterns are dense. In this case, the inner data pattern of the functional block is unlikely to match the already stored inner data, and it is predicted that the pattern comparison process will take time.
この例では、機能ブロックが有するパターンの密度の平均値が基準値「n1」を超えるという条件に該当した場合の重みは、「3」に設定される。したがって、3つ目の項目の条件に該当する場合、他の項目の条件に該当しない場合であっても、スコアは基準値「X」以上の値になる。 In this example, the weight when the condition that the average value of the density of the patterns of the functional blocks exceeds the reference value “n1” is set to “3”. Therefore, when the condition of the third item is met, even if the condition of the other item is not met, the score is a value equal to or higher than the reference value “X”.
このように、パターン一致予測モジュール212は、機能ブロックが有する密度の平均値が基準値「n1」以上の場合、対象の機能ブロックの内側データが、既に保存された内側データと一致しない可能性が高く、比較処理にも長い時間を要する旨、予測する。なお、基準値「n1」は、例えば、実測値等に基づいて設定される。
As described above, the pattern
また、パターン検索判断基準テーブルP1の4つ目の項目(条件)は、機能ブロックが有する、辺の数が「x」個以上のパターン数が、基準値「n2」を超える場合を示す。前述したとおり、辺の数「x」は、例えば、「100」である。辺の数「x」、及び、基準値「n2」は、例えば、実測値等に基づいて設定される。機能ブロックが有する、辺の数が「x」個以上のパターン数が、基準値「n2」を超える場合、機能ブロックが複雑な形状のパターンを多数、有することを示す。この場合、機能ブロックの内側データのパターンが、既に保存された内側データと一致する可能性は低く、パターンの比較処理にも時間を要することが予測される。 The fourth item (condition) of the pattern search determination criterion table P1 indicates a case where the number of patterns having “x” or more sides included in the functional block exceeds the reference value “n2”. As described above, the number of sides “x” is, for example, “100”. The number of sides “x” and the reference value “n2” are set based on, for example, actual measurement values. When the number of patterns having “x” or more sides included in the functional block exceeds the reference value “n2”, this indicates that the functional block has a large number of patterns having complicated shapes. In this case, the inner data pattern of the functional block is unlikely to match the already stored inner data, and it is predicted that the pattern comparison process will take time.
この例では、辺の数が「x」個以上のパターン数が、基準値「n2」を超えるという条件に該当した場合の重みは、「3」に設定される。したがって、4つ目の項目の条件に該当する場合、他の項目の条件に該当しない場合であっても、スコアは基準値「X」以上の値になる。このように、パターン一致予測モジュール212は、辺の数が「x」個以上のパターン数が、基準値「n2」を超える場合、対象の機能ブロックの内側データが、既に保存された内側データと一致しない可能性が高く、比較処理にも長い時間を要する旨、予測する。なお、基準値「n2」は、例えば、実測値等に基づいて設定される。
In this example, the weight when the number of patterns having the number of sides of “x” or more exceeds the reference value “n2” is set to “3”. Therefore, when the condition of the fourth item is met, even if the condition of the other item is not met, the score is a value equal to or higher than the reference value “X”. As described above, when the number of patterns having “x” or more sides exceeds the reference value “n2”, the pattern
パターン一致予測モジュール212は、サマリーレポート64から取得したOPCの処理条件に係るパラメータに基づいて、パターン検索判断基準テーブルP1の各項目のフラグをセットする。パターン一致予測モジュール212は、項目の条件に該当する場合に、フラグ「1」を、該当しない場合にフラグ「0」をセットする。そして、パターン一致予測モジュール212は、項目のフラグの値に重みを乗算し、各項目の小計を算出する。パターン一致予測モジュール212は、各項目の小計を合計したスコアを算出する。
The pattern
図17の例では、例えば、対象の機能ブロックは、当該機能ブロックを処理したOPCツールの実績、及び、バージョンの実績は無く、辺の数が「x」個以上のパターン数が、基準値「n2」を超える。したがって、スコアは、値「7」となる。このため、パターン一致予測モジュール212は、対象ブロックが、既に保存された内側データと一致しない可能性が高い旨、判定する。
In the example of FIG. 17, for example, the target function block has no record of the OPC tool that processed the function block and no record of version, and the number of patterns having “x” or more sides is the reference value “ n2 ". Therefore, the score is the value “7”. For this reason, the pattern
このように、パターン一致予測モジュール212は、複数のOPCの処理条件(項目)に基づいて、内側データを、データ格納領域310が保存する内側データと比較するか否か判定する。これにより、パターン一致予測モジュール212は、不要な比較処理が発生することを抑制することができるとともに、比較処理に時間がかかることを抑制することができる。したがって、パターン一致予測モジュール212は、保存データの生成処理を高速に行うことができる。
As described above, the pattern
また、パターン一致予測モジュール212は、複数の項目に基づいて、内側データが、既に保存されている内側データが一致する可能性、及び、比較処理にかかる時間を予測する。複数の要素に基づいて予測することにより、パターン一致予測モジュール212は、内側データが一致または類似する可能性があるか否かを、より高精度に予測することができる。これにより、パターン一致予測モジュール212は、効率的に、保存データの生成処理を行うことができる。
The pattern
また、複数の処理条件は、機能ブロックが含むパターンの平均密度、機能ブロックが含むパターンの辺の数、光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無のいずれか、または、その組み合わせである。これにより、パターン一致予測モジュール212は、一致する可能性を予測可能な処理条件に組み合わせに基づいて、内側データが一致または類似する可能性があるか否かを、高精度に予測することができる。
In addition, the plurality of processing conditions include any of the average density of the pattern included in the functional block, the number of sides of the pattern included in the functional block, the presence / absence of the program executing the optical proximity effect correction, and the presence / absence of the version of the program. Or a combination thereof. As a result, the pattern
また、複数の処理条件は、重みを有する。そして、パターン一致予測モジュール212は、機能ブロックが処理条件に該当する場合に重みを適用した値を算出し、複数の処理条件の値の合計値に基づいて、比較するか否かを判定する。これにより、パターン一致予測モジュール212は、処理条件の重みを柔軟に調整することが可能になり、内側データが一致または類似する可能性があるか否かを、より適切に予測することができる。
The plurality of processing conditions have weights. Then, the pattern
また、図17の例では、パターンの平均密度、及び、パターンの辺の数の重みは、プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の重みより大きい。このように、条件に該当した場合に一致しない可能性がより高くなることが予測される条件の重みにより大きな値が設定される。これにより、パターン一致予測モジュール212は、内側データが一致または類似する可能性があるか否かを、適切に予測することができる。
In the example of FIG. 17, the average density of the pattern and the weight of the number of sides of the pattern are larger than the weight of the presence / absence of the program performance and the presence / absence of the performance of the version of the program. In this way, a larger value is set for the weight of the condition that is predicted to be more likely not to match when the condition is met. Thereby, the pattern
なお、各項目の重みは、図17の例に限定されるものではない。各項目の重みは、例えば、実績や経験則にしたがって設定される。例えば、新たに、実績が無いOPCツールや、実績が無いバージョンのOPCツールを採用する場合、使用の初期段階では重みの値を設定することは容易ではない。したがって、パターン一致予測モジュール212は、例えば、使用の初期段階では、項目の重みを、単独で条件に該当した場合に基準値「X」を超えない値に設定しておく。そして、パターン一致予測モジュール212は、例えば、一定の期間における比較の実績に基づいて、重みの値を調整する。
Note that the weight of each item is not limited to the example of FIG. The weight of each item is set in accordance with, for example, actual results or empirical rules. For example, when newly adopting an OPC tool having no record or a version having no record, it is not easy to set a weight value at an initial stage of use. Therefore, for example, in the initial stage of use, the pattern
なお、この例において、基準値「X」は、値「3」である。しかしながら、この例に限定されるものではない。基準値「X」の値は、比較結果や比較処理に要する時間に応じて、調整されてもよい。図16のフローチャート図に戻る。 In this example, the reference value “X” is the value “3”. However, it is not limited to this example. The value of the reference value “X” may be adjusted according to the comparison result and the time required for the comparison process. Returning to the flowchart of FIG.
S34:スコアが基準値「X」未満の場合(S33のNO)、まず、パターン検索モジュール213は、機能ブロック対応テーブルT1(図6)を参照し、種類が同一の内側データ60−1を検索する。機能ブロックの種類が異なる場合、パターンが一致しない可能性が高い。したがって、パターン検索モジュール213は、既に記憶されている内側データ60−1のうち、機能ブロックの種類が同一の内側データ60−1を比較の対象とする。
S34: When the score is less than the reference value “X” (NO in S33), first, the
また、パターン検索モジュール213は、検索した内側データ60−1のうち、OPC処理の設定が同一または類似する内側データ60−1を検索する。OPC処理の設定とは、図12のフローチャート図で説明した、OPC処理時の周辺取り込み幅や、MASK最小グリッドの設定値等である。OPC処理の設定が大きく異なる場合、内側データの領域範囲が異なることによって、パターンが一致しない可能性が高くなる。
Further, the
したがって、パターン検索モジュール213は、既に記憶されている内側データ60−1のうち、OPC処理の設定が同一の内側データ60−1を比較の対象とする。このように、パターン検索モジュール213は、対象の内側データを、データ格納領域310に保存された内側データのうち、外縁領域の幅が対象の内側データと同一の内側データと比較する。これにより、パターン検索モジュール213は、OPC処理の設定に基づいて、既に保存されている内側データ60−1のうち、一致しない可能性の高い内側データ60−1を、予め、比較対象から除外する。これにより、パターン検索モジュール213は、パターンの比較処理を効率的に行うことができる。
Therefore, the
そして、パターン検索モジュール213は、検索によって抽出した内側データ60−1の識別名を、処理日時(OPC条件、図6)、もしくは、最終参照日の新しい順に並び替えた、内側データ識別名のリストを生成する。最終参照日は、図6で前述したとおり、内側データ60−1が、データ格納領域310から読み出された日付を示す。処理日時が新しいほど、処理日が近いことから、一致または類似する可能性が高いことが想定される。また、最終参照日が新しいほど、最近、参照されたデータであることにより、一致または類似する可能性が高いことが想定される。このように、日付の新しい順に並び替えることにより、パターン検索モジュール213は、より速く一致または類似する内側データ60−1を検索することができる。
Then, the
S35:パターン検索モジュール213は、内側データ識別名のリストの日付の新しい順に、比較対象とする内側データ識別名を選択する。また、パターン検索モジュール213は、選択した内側データ識別名の内側データ60−1が、所定の期間(この例では、365日)内に参照されたデータであるか否かを判定する。具体的に、パターン検索モジュール213は、比較対象として選択した内側データ60−1の「現在の日付−最終参照日≦365(Y)」であるか否かを判定する。
S35: The
S36:比較対象として選択した内側データ60−1が、「現日付−最終参照日≦365(Y)」に該当する場合(S35のY以下)、パターン検索モジュール213は、選択した内側データ60−1を、データ格納領域310から読み出す。そして、パターン検索モジュール213は、対象の機能ブロックの内側データ60−1と、読み出した内側データ60−1のパターンを比較する。
S36: When the inner data 60-1 selected as the comparison target corresponds to “current date−last reference date ≦ 365 (Y)” (Y or less in S35), the
パターン検索モジュール213は、工程S34で生成した内側データ識別名のリストのうち、「現在の日付−最終参照日≦365(Y)」を満たす内側データを対象として(工程S35のY以下)、順次、パターンの比較処理を行う。なお、パターン検索モジュール213は、図6の機能ブロック対応テーブルT1の傾き情報(回転、X反転、Y反転)を有する場合は、傾き情報を加味して、パターンを比較する。
The
一方、比較対象として選択した内側データ60−1が「現日付−最終参照日>365(Y)」に該当する場合(S35のYを超過)、パターン検索モジュール213は、パターンの比較を行わない。つまり、パターン検索モジュール213は、既に保存されている内側データ60−1のうち、最後に参照された日付から1年以上経過している内側データ60−1を比較の対象外とする。
On the other hand, when the inner data 60-1 selected as the comparison target corresponds to “current date−last reference date> 365 (Y)” (exceeds Y in S35), the
最後に参照された日付から長い期間が経過している場合、OPC実行時の環境が大きく変化していることが予測される。OPC実行時の環境とは、例えば、OPC処理を実行するOSや、パターンの集積度等である。OPC実行時の環境が大きく変化している場合、パターンが一致しない可能性が高くなる。したがって、パターン検索モジュール213は、既に保存されている内側データ60−1のうち、最後に参照された日付から長い期間が経過している内側データ60−1を比較の対象から除外する。
If a long period has elapsed since the last referenced date, it is predicted that the environment during OPC execution has changed significantly. The environment at the time of executing OPC is, for example, an OS that executes an OPC process, a pattern integration degree, or the like. When the environment at the time of OPC execution has changed greatly, there is a high possibility that the patterns do not match. Therefore, the
なお、パターン検索モジュール213は、比較対象として選択した内側データ60−1が、「現日付−処理日付(OPC条件、図6)>365(Y)」に該当する場合に、パターンの比較を行わない旨、判定してもよい。同様にして、OPC処理が行われた日付から長い期間が経過している場合、OPC実行時の環境が大きく変化していることが予測される。したがって、パターン検索モジュール213は、既に保存されている内側データ60−1のうち、OPC処理が行われた日付から長い期間が経過している内側データ60−1を比較の対象から除外する。
The
このように、パターン検索モジュール213は、さらに、内側データを、データ格納領域310に保存された内側データのうち、基準の期間内にデータ格納領域310から読み出された内側データと比較する。これにより、パターン検索モジュール213は、既に保存されている内側データ60−1のうち、一致しない可能性の高い内側データ60−1を、予め、比較対象から除外する。このため、パターン検索モジュール213は、パターンの比較処理を効率的に行うことができる。
Thus, the
S37:パターン検索モジュール213は、対象の機能ブロックの内側データ60−1のパターンが、既に保存されている内側データ60−1のパターンのいずれかと、一致または類似するか否かを判定する。
S37: The
S38:一致または類似する内側データ60−1があった場合(S37のYES)、パターン検索モジュール213は、対象の機能ブロックと、一致または類似していた内側データの識別名との対応情報を機能ブロック対応テーブルT1に登録する。そして、パターン検索モジュール213は、一時的に保存した(図12のS25)、対象の機能ブロックの内側データ60−1を削除する。
S38: When there is a matching or similar inner data 60-1 (YES in S37), the
S39:一致または類似する内側データ60−1がない場合(S37のYES)、パターン検索モジュール213は、対象の機能ブロックの内側データに識別名を付与する。そして、パターン検索モジュール213は、対象の機能ブロックと、付与した内側データの識別名との対応情報を機能ブロック対応テーブルT1に登録する。また、パターン検索モジュール213は、スコアが基準値「X」以上の場合(S33のYES)にも同様の処理を行う。
S39: If there is no matching or similar inner data 60-1 (YES in S37), the
このように、本実施の形態例における保存データ生成装置10は、既に保存されている内側データ60−1とパターンが同一または類似する内側データ60−1を重複して保存しない。そして、保存データ生成装置10は、対象の機能ブロックに、パターンが同一または類似する内側データ60−1の識別名を関連付ける。これにより、保存データ生成装置10は、パターンが同一の内側データ60−1を共通で使用することができる。
As described above, the saved
[具体例]
図18は、機能ブロック抜き取りモジュール211の処理の具体例を説明する図である。図18に示す描画データ60は、例えば、CPUコア、GPUコア、メモリインターフェース、I/Oコントローラ、ビデオコントローラ等の機能ブロックの領域を有する。機能ブロック抜き取りモジュール211は、図18に示す各機能ブロックの領域を判断し、OPC処理が影響する外縁領域分、小さくした内側データの領域を切り出す(図12のS21〜S26)。
[Concrete example]
FIG. 18 is a diagram for explaining a specific example of the processing of the function
具体的に、機能ブロック抜き取りモジュール211は、例えば、CPUコア601の領域C−1を切り出し、内側データC−1−1と外側データC−1−2とを取得する。機能ブロック抜き取りモジュール211は、例えば、内側データC−1−1及び外側データC−1−2をデータ格納領域310に保存する。
Specifically, the functional
また、機能ブロック抜き取りモジュール211は、例えば、I/Oコントローラ602の領域C−2を切り出し、内側データC−2−1と外側データC−2−2とを取得する。機能ブロック抜き取りモジュール211は、例えば、内側データC−2−1及び外側データC−2−2をデータ格納領域310に保存する。機能ブロック抜き取りモジュール211は、他の機能ブロックについても同様にして、内側データ及び外側データを取得し、データ格納領域310に保存する。
Further, the functional
次に、パターン一致予測モジュール212は、機能ブロックごとに、対象の機能ブロックの内側データが、既に保存されている内側データと一致する可能性があるか否かを判定する(図31〜図33)。具体例では、パターン一致予測モジュール212は、CPUコア601の内側データC−1−1、及び、I/Oコントローラ602の内側データC−2−1が、既に保存されている内側データと一致する可能性がある旨、判定する(図16のS33のNO)。
Next, the pattern
そして、パターン検索モジュール213は、CPUコア601の内側データC−1−1、及び、I/Oコントローラ602の内側データC−2−1を、既に保存されている内側データと比較する。
Then, the
図19は、図18で示した機能ブロックの内側データと同一または類似する内側データが検出される場合の例を示す図である。図19には、データ格納領域310に保存されている、機能ブロックの種類ごとの内側データ群80〜82を示す。例えば、CPUコア601の内側データ群80は、内側データX-1-1、Y-1-1、Z-1-1を有する。また、I/Oコントローラ602の内側データ群81は、内側データX-2-1、Y-2-1、Z-2-1を有する。
FIG. 19 is a diagram illustrating an example when inner data that is the same as or similar to the inner data of the functional block illustrated in FIG. 18 is detected. FIG. 19 shows
パターン検索モジュール213は、各機能ブロックの内側データ群80〜82を、処理日付または参照日付のうち新しい日付をキーにして、ソートする。図19の例において、CPUコア601の内側データ群80は、内側データY-1-1、X-1-1、Z-1-1の順にソートされる(図16のS34)。
The
また、この例において、内側データY-1-1、X-1-1、Z-1-1の最終参照日は、1年以内である(図16のS35のY以下)。したがって、パターン検索モジュール213は、内側データY-1-1から順に、CPUコア601の内側データC−1−1と比較する(S36)。
In this example, the last reference date of the inner data Y-1-1, X-1-1, and Z-1-1 is within one year (Y or less in S35 in FIG. 16). Accordingly, the
図19の例では、CPUコア601の内側データC−1−1と、登録されている内側データY-1-1とが一致する(図16のS37のYES)。したがって、パターン検索モジュール213は、データ格納領域310に保存された、内側データC−1−1を削除する。また、パターン検索モジュール213は、機能ブロック対応テーブルT1の機能ブロックC−1の内側データ識別名に、識別名「Y-1-1」を更新する(S38)。また、パターン検索モジュール213は、機能ブロック対応テーブルT1に、機能ブロックC−1の外側データ識別名「C-1-2」、種類「CPUコア」、及び、処理日等を更新する。
In the example of FIG. 19, the inner data C-1-1 of the
同様にして、図19の例では、I/Oコントローラ602の内側データC−2−1と、登録されている内側データZ-2-1とが一致する(図16のS37のYES)。したがって、パターン検索モジュール213は、データ格納領域310に保存された、内側データC−2−1を削除する。また、パターン検索モジュール213は、機能ブロック対応テーブルT1の機能ブロックC−2の内側データ識別名に、識別名「Z-2-1」を更新する(S38)。また、パターン検索モジュール213は、機能ブロック対応テーブルT1に、機能ブロックC−2の外側データ識別名「C-2-2」、種類「I/Oコントローラ」、及び、処理日等を更新する。
Similarly, in the example of FIG. 19, the inner data C-2-1 of the I /
図20は、図18で示した機能ブロックの内側データと同一または類似する内側データが検出されない場合の例を示す図である。図20の機能ブロックの種類ごとの内側データは、図19と同様である。 FIG. 20 is a diagram illustrating an example when inner data that is the same as or similar to the inner data of the functional block illustrated in FIG. 18 is not detected. The inner data for each type of functional block in FIG. 20 is the same as in FIG.
図20の例では、CPUコア601の内側データC−1−1と、登録されている内側データY-1-1、X-1-1、Z-1-1とは一致せず、類似もしていない(図16のS37のNO)。したがって、パターン検索モジュール213は、機能ブロック対応テーブルT1の機能ブロックC−1の内側データ識別名に、識別名「C-1-1」を更新する(S39)。また、パターン検索モジュール213は、機能ブロック対応テーブルT1に、機能ブロックC−1の外側データ識別名「C-1-2」、種類「CPUコア」、及び、処理日等を更新する。
In the example of FIG. 20, the inner data C-1-1 of the
同様にして、I/Oコントローラ602の内側データC−2−1と、登録されている内側データX-2-1、Y-2-1、Z-2-1とは一致せず、類似もしていない(図16のS37のNO)。したがって、パターン検索モジュール213は、機能ブロック対応テーブルT1の機能ブロックC−2の内側データ識別名に、識別名「C-2-1」を更新する(S39)。また、パターン検索モジュール213は、機能ブロック対応テーブルT1に、機能ブロックC−2の外側データ識別名「C-2-2」、種類「I/Oコントローラ」、及び、処理日等を更新する。
Similarly, the inner data C-2-1 of the I /
以上のように、本実施の形態例における保存データ生成装置10は、機能ブロックごとのOPC処理後の描画データから、機能ブロックの外縁領域を除外した第1の内側データを取得する。また、保存データ生成装置10は、機能ブロックのOPC処理の処理条件に基づいて、第1の内側データを、記憶部(データ格納領域310)が保存する第2の内側データと比較するか否か判定する。そして、保存データ生成装置10は、比較すると判定した場合、第1の内側データと第2の内側データとのパターンを比較し、比較結果に応じて、第1の内側データを記憶部に保存する。
As described above, the saved
このように、保存データ生成装置10は、同一のパターンを有する複数の機能ブロック間で、内側データを重複して保存することを抑制し、保存データのデータ容量を低減させることができる。また、保存データ生成装置10は、対象の内側データが、既に保存されている内側データと比較して一致する可能性があるか否かを予測することにより、一致する可能性が低く、比較処理に時間を要する内側データの比較処理を抑制することができる。これにより、本実施の形態例における保存データ生成装置10は、重複した描画データの保存を抑止するとともに、高速に、描画データを保存することができる。
As described above, the stored
図21は、保存された内側データ及び外側データと、機能ブロック対応テーブルT1に基づいて描画データ60を再現する処理を説明する図である(図11のS20)。初めに、保存データ生成装置10は、機能ブロック対応テーブルT1を参照し、対象の製品の描画データ60が有する機能ブロックを抽出する。次に、保存データ生成装置10は、抽出した機能ブロックの内側データと外側データの識別名を取得する。
FIG. 21 is a diagram for explaining a process of reproducing the drawing
例えば、保存データ生成装置10は、CPUコア601の機能ブロックの内側データの識別名「Y−1−1」、及び、外側データの識別名「C−1−2」を取得する。そして、保存データ生成装置10は、データ格納領域310に保存されている内側データY−1−1、及び、外側データC−1−2(図示せず)を読み出す。
For example, the saved
また、保存データ生成装置10は、機能ブロック対応テーブルT1を参照し、機能ブロックの中心座標情報に基づいて、読み出した内側データY−1−1、及び、外側データC−1−2を配置する。保存データ生成装置10は、他の機能ブロックについても同様にして、データ格納領域310から、内側データ及び外側データを読み出して配置する。これにより、保存データ生成装置10は、保存データ(内側データ及び外側データ)、及び、機能ブロック対応テーブルT1に基づいて、図21に示す描画データ60を再現することができる。
Further, the saved
このように、本実施の形態例における保存データ生成装置10は、データ格納領域310が保存する外側データと、複数の機能ブロックで共通に使用する内側データとに基づいて、機能ブロックの描画データを生成することができる。これにより、保存データ生成装置10は、描画データの重複を抑制して保存する場合であっても、元の描画データを生成することができる。
As described above, the saved
[他の実施の形態例]
上記の実施の形態例では、製品間で、同一のパターンを有する内側データを共通で使用するデータとして保存する場合を例示した。ただし、この例に限定されるものではない。保存データ生成装置10は、同一の製品が有する、同一のパターンを有する内側データを共通で使用するデータとして保存してもよい。
[Other Embodiments]
In the above-described embodiment, the case where the inner data having the same pattern is stored as data to be used in common between products is illustrated. However, it is not limited to this example. The saved
これにより、保存データ生成装置10は、同一の製品を構成する、複数の機能ブロック間で、内側データを重複して保存することを抑制し、さらに、保存データのデータ容量を低減させることができる。
Thereby, the storage
以上の実施の形態をまとめると、次の付記のとおりである。 The above embodiment is summarized as follows.
(付記1)
処理部は、
機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得する取得工程と、
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定する判定工程と、
比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する保存工程と、
を有する保存データの生成方法。
(Appendix 1)
The processing unit
An acquisition step of acquiring first inner data excluding the outer edge region of the functional block from the drawing data after the optical proximity effect correction for each functional block;
A determination step of determining whether or not to compare the first inner data with the second inner data stored in the storage unit based on the processing conditions of the optical block effect correction of the functional block;
If it is determined to compare, the pattern of the first inner data and the second inner data is compared, and according to the comparison result, the first inner data is stored in the storage unit,
A method for generating saved data.
(付記2)
付記1において、
前記判定工程は、複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。
(Appendix 2)
In
The determination step is a storage data generation method that determines whether or not the first inner data is compared with second inner data stored in the storage unit based on a plurality of the processing conditions.
(付記3)
付記2において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成方法。
(Appendix 3)
In
The plurality of processing conditions include an average density of patterns included in the functional block, the number of sides of the pattern included in the functional block, presence / absence of a program that executes the optical proximity correction, and a record of a version of the program A method for generating stored data that is a combination of presence and absence.
(付記4)
付記2または3において、
前記複数の処理条件はそれぞれ重みを有し、
前記判定工程は、前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。
(Appendix 4)
In
Each of the plurality of processing conditions has a weight,
The determination step calculates a value to which the weight is applied when the functional block meets the processing condition, and based on a total value of the values of the plurality of processing conditions, the first inner data is calculated. A storage data generation method for determining whether or not to compare with second inner data stored in the storage unit.
(付記5)
付記4において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成方法。
(Appendix 5)
In
The stored data generation method, wherein the weight of the average density of the pattern and the number of sides of the pattern is larger than the weight of the presence / absence of the program and the presence / absence of the version of the program.
(付記6)
付記1乃至5のいずれかにおいて、
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、基準の期間内に前記記憶部から読み出された前記第2の内側データと比較する、保存データの生成方法。
(Appendix 6)
In any one of
The determining step further compares the first inner data with the second inner data read from the storage unit within a reference period of the second inner data. Generation method.
(付記7)
付記1乃至6のいずれかにおいて、
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、前記外縁領域の幅が、前記第1の内側データと同一の前記第2の内側データと比較する、保存データの生成方法。
(Appendix 7)
In any one of
The determination step further compares the first inner data with the second inner data having the same width as the first inner data among the second inner data. Generation method of saved data.
(付記8)
付記1乃至7のいずれかにおいて、
前記取得工程は、さらに、前記機能ブロックごとの描画データから、前記機能ブロックの外縁領域の第1の外側データを取得し、
前記保存工程は、さらに、前記第1の外側データを、前記記憶部が保存する第2の外側データと個別に前記記憶部に保存する、
保存データの生成方法。
(Appendix 8)
In any one of
The obtaining step further obtains first outer data of an outer edge region of the functional block from the drawing data for each functional block,
The storing step further stores the first outer data in the storage unit separately from the second outer data stored in the storage unit.
Generation method of saved data.
(付記9)
付記8において、さらに、
前記記憶部が保存する前記第1の外側データと、前記記憶部が保存する複数の機能ブロックで共通に保存する内側データとに基づいて、前記機能ブロックの描画データを生成する生成工程を有する、保存データの生成方法。
(Appendix 9)
In Appendix 8,
A generation step of generating drawing data of the functional block based on the first outer data stored by the storage unit and inner data stored in common by a plurality of functional blocks stored by the storage unit; Generation method of saved data.
(付記10)
機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得し、
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定し、
比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する、
処理をコンピュータに実行させる保存データ生成プログラム。
(Appendix 10)
From the drawing data after the optical proximity effect correction for each functional block, obtain first inner data excluding the outer edge region of the functional block,
Determining whether to compare the first inner data with the second inner data stored in the storage unit based on the processing condition of the optical block effect correction of the functional block;
If it is determined to compare, the pattern of the first inner data and the second inner data are compared, and the first inner data is stored in the storage unit according to the comparison result.
A stored data generation program that causes a computer to execute processing.
(付記11)
付記10において、
複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成プログラム。
(Appendix 11)
In
A storage data generation program for determining whether to compare the first inner data with second inner data stored in the storage unit based on a plurality of the processing conditions.
(付記12)
付記11において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成プログラム。
(Appendix 12)
In Appendix 11,
The plurality of processing conditions include an average density of patterns included in the functional block, the number of sides of the pattern included in the functional block, presence / absence of a program that executes the optical proximity correction, and a record of a version of the program A saved data generation program that is a combination of presence and absence.
(付記13)
付記11または12において、
前記複数の処理条件はそれぞれ重みを有し、
前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成プログラム。
(Appendix 13)
In Appendix 11 or 12,
Each of the plurality of processing conditions has a weight,
When the functional block satisfies the processing condition, a value to which the weight is applied is calculated, and the storage unit stores the first inner data based on a total value of the values of the plurality of processing conditions. A storage data generation program for determining whether or not to compare with the second inner data.
(付記14)
付記13において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成プログラム。
(Appendix 14)
In Appendix 13,
The storage data generation program, wherein the weight of the average density of the pattern and the number of sides of the pattern is greater than the weight of the presence / absence of the program and the presence / absence of the version of the program.
(付記15)
付記10乃至14のいずれかにおいて、
さらに、前記第1の内側データを、前記第2の内側データのうち、基準の期間内に前記記憶部から読み出された前記第2の内側データと比較する、保存データの生成プログラム。
(Appendix 15)
In any one of
Furthermore, a storage data generation program for comparing the first inner data with the second inner data read from the storage unit within a reference period of the second inner data.
(付記16)
処理部と、
第2の内側データを記憶する記憶部と、を有し、
前記処理部は、機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得し、前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定し、比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する、保存データ生成装置。
(Appendix 16)
A processing unit;
A storage unit for storing second inner data,
The processing unit obtains first inner data excluding the outer edge region of the functional block from the drawing data after the optical proximity effect correction for each functional block, and based on the processing condition of the optical proximity effect correction of the functional block Determining whether or not to compare the first inner data with the second inner data stored in the storage unit, and determining that the first inner data and the second inner data are to be compared, A stored data generation device that compares the patterns and stores the first inner data in the storage unit according to the comparison result.
(付記17)
付記16において、
前記処理部は、複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成装置。
(Appendix 17)
In Appendix 16,
The processing unit is a storage data generation device that determines whether to compare the first inner data with second inner data stored in the storage unit based on a plurality of the processing conditions.
(付記18)
付記17において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成装置。
(Appendix 18)
In
The plurality of processing conditions include an average density of patterns included in the functional block, the number of sides of the pattern included in the functional block, presence / absence of a program that executes the optical proximity correction, and a record of a version of the program A device for generating stored data that is a combination of presence and absence.
(付記19)
付記17または18において、
前記複数の処理条件はそれぞれ重みを有し、
前記処理部は、前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成装置。
(Appendix 19)
In
Each of the plurality of processing conditions has a weight,
The processing unit calculates a value to which the weight is applied when the functional block satisfies the processing condition, and based on a total value of the values of the plurality of processing conditions, the first inner data is calculated. A storage data generation device that determines whether or not to compare with second inner data stored in the storage unit.
(付記20)
付記19において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成装置。
(Appendix 20)
In
The saved data generation apparatus, wherein the weight of the average density of the pattern and the number of sides of the pattern is greater than the weight of the presence / absence of the program and the presence / absence of the version of the program.
10:保存データ生成装置、101:CPU、102:メモリ、103:通信インタフェース部、105:表示部、106:入力部、107:外部インタフェース部、300:ストレージデバイス、310:データ格納領域、320:ストレージサーバ、211:機能ブロック抜き取りモジュール、212:パターン一致予測モジュール、213:パターン検索モジュール、T1:機能ブロック対応テーブル、P1:パターン検索判断基準テーブル 10: saved data generation device, 101: CPU, 102: memory, 103: communication interface unit, 105: display unit, 106: input unit, 107: external interface unit, 300: storage device, 310: data storage area, 320: Storage server 211: Function block extraction module 212: Pattern match prediction module 213: Pattern search module T1: Function block correspondence table P1: Pattern search determination criteria table
Claims (11)
機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得する取得工程と、
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定する判定工程と、
比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する保存工程と、
を有する保存データの生成方法。 The processing unit
An acquisition step of acquiring first inner data excluding the outer edge region of the functional block from the drawing data after the optical proximity effect correction for each functional block;
A determination step of determining whether or not to compare the first inner data with the second inner data stored in the storage unit based on the processing conditions of the optical block effect correction of the functional block;
If it is determined to compare, the pattern of the first inner data and the second inner data is compared, and according to the comparison result, the first inner data is stored in the storage unit,
A method for generating saved data.
前記判定工程は、複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。 In claim 1,
The determination step is a storage data generation method that determines whether or not the first inner data is compared with second inner data stored in the storage unit based on a plurality of the processing conditions.
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成方法。 In claim 2,
The plurality of processing conditions include an average density of patterns included in the functional block, the number of sides of the pattern included in the functional block, presence / absence of a program that executes the optical proximity correction, and a record of a version of the program A method for generating stored data that is a combination of presence and absence.
前記複数の処理条件はそれぞれ重みを有し、
前記判定工程は、前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。 In claim 2 or 3,
Each of the plurality of processing conditions has a weight,
The determination step calculates a value to which the weight is applied when the functional block meets the processing condition, and based on a total value of the values of the plurality of processing conditions, the first inner data is calculated. A storage data generation method for determining whether or not to compare with second inner data stored in the storage unit.
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成方法。 In claim 4,
The stored data generation method, wherein the weight of the average density of the pattern and the number of sides of the pattern is larger than the weight of the presence / absence of the program and the presence / absence of the version of the program.
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、基準の期間内に前記記憶部から読み出された前記第2の内側データと比較する、保存データの生成方法。 In any one of Claims 1 thru | or 5,
The determining step further compares the first inner data with the second inner data read from the storage unit within a reference period of the second inner data. Generation method.
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、前記外縁領域の幅が、前記第1の内側データと同一の前記第2の内側データと比較する、保存データの生成方法。 In any one of Claims 1 thru | or 6.
The determination step further compares the first inner data with the second inner data having the same width as the first inner data among the second inner data. Generation method of saved data.
前記取得工程は、さらに、前記機能ブロックごとの描画データから、前記機能ブロックの外縁領域の第1の外側データを取得し、
前記保存工程は、さらに、前記第1の外側データを、前記記憶部が保存する第2の外側データと個別に前記記憶部に保存する、
保存データの生成方法。 In any one of Claims 1 thru | or 7,
The obtaining step further obtains first outer data of an outer edge region of the functional block from the drawing data for each functional block,
The storing step further stores the first outer data in the storage unit separately from the second outer data stored in the storage unit.
Generation method of saved data.
前記記憶部が保存する前記第1の外側データと、前記記憶部が保存する複数の機能ブロックで共通に保存する内側データとに基づいて、前記機能ブロックの描画データを生成する生成工程を有する、保存データの生成方法。 The claim 8, further comprising:
A generation step of generating drawing data of the functional block based on the first outer data stored by the storage unit and inner data stored in common by a plurality of functional blocks stored by the storage unit; Generation method of saved data.
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定し、
比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する、
処理をコンピュータに実行させる保存データ生成プログラム。 From the drawing data after the optical proximity effect correction for each functional block, obtain first inner data excluding the outer edge region of the functional block,
Determining whether to compare the first inner data with the second inner data stored in the storage unit based on the processing condition of the optical block effect correction of the functional block;
If it is determined to compare, the pattern of the first inner data and the second inner data are compared, and the first inner data is stored in the storage unit according to the comparison result.
A stored data generation program that causes a computer to execute processing.
第2の内側データを記憶する記憶部と、を有し、
前記処理部は、機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得し、前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定し、比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する、保存データ生成装置。 A processing unit;
A storage unit for storing second inner data,
The processing unit obtains first inner data excluding the outer edge region of the functional block from the drawing data after the optical proximity effect correction for each functional block, and based on the processing condition of the optical proximity effect correction of the functional block Determining whether or not to compare the first inner data with the second inner data stored in the storage unit, and determining that the first inner data and the second inner data are to be compared, A stored data generation device that compares the patterns and stores the first inner data in the storage unit according to the comparison result.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014141502A JP2016018114A (en) | 2014-07-09 | 2014-07-09 | Generation method of storage data, generation program of storage data, and generation device of storage data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014141502A JP2016018114A (en) | 2014-07-09 | 2014-07-09 | Generation method of storage data, generation program of storage data, and generation device of storage data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016018114A true JP2016018114A (en) | 2016-02-01 |
Family
ID=55233367
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014141502A Pending JP2016018114A (en) | 2014-07-09 | 2014-07-09 | Generation method of storage data, generation program of storage data, and generation device of storage data |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2016018114A (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE112017000607T5 (en) | 2016-02-02 | 2018-10-11 | Denso Corporation | Driving support device |
| JP2022530169A (en) * | 2019-05-02 | 2022-06-27 | キム、ドクウ | Auxiliary storage recovery information management device and method |
-
2014
- 2014-07-09 JP JP2014141502A patent/JP2016018114A/en active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE112017000607T5 (en) | 2016-02-02 | 2018-10-11 | Denso Corporation | Driving support device |
| JP2022530169A (en) * | 2019-05-02 | 2022-06-27 | キム、ドクウ | Auxiliary storage recovery information management device and method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8413087B1 (en) | Method and mechanism for implementing region query using hierarchical grids | |
| CN107122368B (en) | Data verification method and device and electronic equipment | |
| US11392741B2 (en) | Computer implemented system and method for generating a layout of a cell defining a circuit component | |
| US9117052B1 (en) | Methods, systems, and articles of manufacture for interactively implementing physical electronic designs with track patterns | |
| US11068504B2 (en) | Relational database storage system and method for supporting fast query processing with low data redundancy, and method for query processing based on the relational database storage method | |
| JP6834602B2 (en) | Data generation method, data generation device and data generation program | |
| JP6137175B2 (en) | Hierarchical probability model generation system, hierarchical probability model generation method, and program | |
| US11853680B2 (en) | Incremental routing based pin assignment | |
| US8645902B1 (en) | Methods, systems, and computer program products for implementing interactive coloring of physical design components in a physical electronic design with multiple-patterning techniques awareness | |
| CN113836238A (en) | Method and device for batch processing of data commands | |
| US10339035B2 (en) | Test DB data generation apparatus | |
| US20190243811A1 (en) | Generation method, generation device, and computer-readable recording medium | |
| US8407228B1 (en) | Method and mechanism for maintaining existence information for electronic layout data | |
| US10366178B2 (en) | Multi-user CAx editing of a model of a design object | |
| JP2016018114A (en) | Generation method of storage data, generation program of storage data, and generation device of storage data | |
| JP6668494B2 (en) | Data analysis device and data analysis method | |
| JP2013033306A (en) | Data division device, data division method and data division program | |
| WO2022217795A1 (en) | Method and apparatus for repairing fail location | |
| WO2015110867A1 (en) | A pattern based configuration method for minimizing the impact of component failures | |
| JP6805632B2 (en) | Design prediction device, design prediction program and design prediction method | |
| US9582624B2 (en) | Circuit component migration method and apparatus | |
| JP6107488B2 (en) | Directed graph generation method, directed graph generation program, and directed graph generation device | |
| JPWO2014168199A1 (en) | Logic operation method and information processing apparatus | |
| CN120631850A (en) | File copy storage method, device, electronic device and storage medium | |
| CN120781785A (en) | Method, device, medium and product for checking design rule of semiconductor design layout |