[go: up one dir, main page]

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 PDF

Info

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
Application number
JP2014141502A
Other languages
Japanese (ja)
Inventor
弘貴 吉岡
Hirotaka Yoshioka
弘貴 吉岡
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.)
Socionext Inc
Original Assignee
Socionext Inc
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 Socionext Inc filed Critical Socionext Inc
Priority to JP2014141502A priority Critical patent/JP2016018114A/en
Publication of JP2016018114A publication Critical patent/JP2016018114A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Preparing Plates And Mask In Photomechanical Process (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a generation method of storage data, a generation program of storage data, and a generation device of storage data in which storage of duplicated drawing data is prevented, and drawing data is efficiently stored.SOLUTION: A processing unit has: an acquisition step of acquiring first inside data obtained by excluding an outer edge region of a function block from drawing data after optical proximity effect correction for each function block; a determination step of determining whether or not the first inside data should be compared with second inside data stored in a storage unit on the basis of a processing condition of the optical proximity effect correction of the function block; and a storage step of comparing patterns of the first inside data and the second inside data in the case of determination that the data should be compared, and storing the first inside data in the storage unit in accordance with a comparison result.SELECTED DRAWING: Figure 16

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.

特開2000−285152号公報JP 2000-285152 A 特開2002−72438号公報JP 2002-72438 A 特開2009−216936号公報JP 2009-216936 A

しかし、設計データから生成される描画データ(レチクル描画データ、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.

本実施の形態例における保存データ生成装置のハードウェア構成を説明する図である。It is a figure explaining the hardware constitutions of the preservation | save data production | generation apparatus in this Example. 図1に示した保存データ生成装置のソフトウェアモジュール構成図である。It is a software module block diagram of the preservation | save data generation apparatus shown in FIG. 本実施の形態例における保存データ生成処理の概要を模式的に説明する図である。It is a figure which illustrates typically the outline | summary of the preservation | save data generation process in this Example. 製品Aのレチクル描画データの一例を説明する図である。6 is a diagram for explaining an example of reticle drawing data of product A. FIG. 製品Bのレチクル描画データの一例を説明する図である。It is a figure explaining an example of the reticle drawing data of the product B. 図3で示した機能ブロック対応テーブルの一例を説明する図である。It is a figure explaining an example of the functional block correspondence table shown in FIG. OPC処理前後の機能ブロックのパターンの変化を模式的に説明する第1の図である。It is the 1st figure explaining typically change of a pattern of a functional block before and behind OPC processing. OPC処理前後の機能ブロックのパターンの変化を模式的に説明する第2の図である。It is a 2nd figure which illustrates typically the change of the pattern of the functional block before and behind an OPC process. OPC処理によって、周囲の機能ブロックの影響を受ける、機能ブロックの外縁領域を説明する第1の図である。It is a 1st figure explaining the outer edge area | region of a functional block affected by the surrounding functional block by OPC processing. OPC処理によって、周囲の機能ブロックの影響を受ける、機能ブロックの外縁領域を説明する第2の図である。It is a 2nd figure explaining the outer edge area | region of a functional block affected by the surrounding functional block by OPC processing. 本実施の形態例における保存データ生成処理の概要を説明するフローチャート図である。It is a flowchart figure explaining the outline | summary of the preservation | save data generation process in this Example. 図2及び図11で示した、機能ブロック抜き取りモジュールの処理を説明するフローチャート図である。FIG. 12 is a flowchart for explaining processing of the function block extraction module shown in FIGS. 2 and 11. 図12の工程S21及びS22を説明する図である。It is a figure explaining process S21 and S22 of FIG. 図4に示した製品Aの描画データの内側データ及び外側データを示す図である。It is a figure which shows the inner side data and the outer side data of the drawing data of the product A shown in FIG. 図5に示した製品Bの描画データの内側データ及び外側データを示す図である。It is a figure which shows the inner side data and the outer side data of the drawing data of the product B shown in FIG. 図2及び図11で示した、パターン一致予測モジュールの処理、及び、パターン検索モジュールの処理を説明するフローチャート図であるFIG. 12 is a flowchart for explaining the process of the pattern match prediction module and the process of the pattern search module shown in FIGS. 2 and 11. パターン検索判断基準テーブルの一例を説明する図である。It is a figure explaining an example of a pattern search criteria table. 機能ブロック抜き取りモジュールの処理の具体例を説明する図である。It is a figure explaining the specific example of a process of a functional block extraction module. 図18で示した機能ブロックの内側データと同一または類似する内側データが検出される場合の例を示す図である。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. 図18で示した機能ブロックの内側データと同一または類似する内側データが検出されない場合の例を示す図である。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 not detected. 図11で示した、保存された内側データ及び外側データと、機能ブロック対応テーブルに基づいて描画データを再現する処理を説明する図である。It is a figure explaining the process which reproduces drawing data based on the preserve | stored inner data and outer data shown in FIG. 11, and a functional block corresponding table.

以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。   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 data generation apparatus 10 includes a CPU (Central Processing Unit: CPU) 101, a memory 102, a communication interface unit 103, a display unit 105, an input unit 106, and an external interface unit 107. Each unit is connected to each other via a bus 104.

メモリ102は、RAM(Random Access Memory:RAM)201、不揮発性メモリ202を有する。不揮発性メモリ202は、HDD(Hard disk drive:HDD)、不揮発性半導体メモリ等で構成される。表示部105は、例えば、ディスプレイ等の表示画面を示し、入力部106は、例えば、キーボードやマウス等を示す。外部インタフェース部107は、例えば、外部のストレージサーバ320と接続する。   The memory 102 includes a RAM (Random Access Memory: RAM) 201 and a nonvolatile memory 202. The nonvolatile memory 202 is configured by an HDD (Hard disk drive: HDD), a nonvolatile semiconductor memory, or the like. The display unit 105 indicates a display screen such as a display, for example, and the input unit 106 indicates, for example, a keyboard or a mouse. The external interface unit 107 is connected to an external storage server 320, for example.

CPU101は、バス104を介してメモリ102等と接続すると共に、保存データ生成装置10全体の制御を行う。通信インタフェース部103は、ネットワーク50を介して、外部の通信機器と接続する。RAM202は、CPU101が処理を行うデータ等を記憶する。不揮発性メモリ202は、CPU101が実行するOS(Operating System:OS)のプログラムを格納する領域(図示せず)、保存データ生成プログラムを格納する領域210、図形及びOPC(Optical Proximity Correction:OPC)プログラムを格納する領域214を備える。   The CPU 101 is connected to the memory 102 and the like via the bus 104 and controls the entire saved data generation apparatus 10. The communication interface unit 103 is connected to an external communication device via the network 50. The RAM 202 stores data to be processed by the CPU 101. The non-volatile memory 202 is an area (not shown) for storing an OS (Operating System) program executed by the CPU 101, an area 210 for storing a saved data generation program, a graphic and an OPC (Optical Proximity Correction: OPC) program. Is stored.

ストレージサーバ320は、データ格納領域310を有するストレージデバイス300を備える。ストレージデバイス300は、例えば、HDDである。データ格納領域310は、設計工程で生成されるレイアウトデータや保存データを格納する。レイアウトデータとは、半導体装置を構成する各セルパターンの配置データを示す。保存データの詳細は、後述する。   The storage server 320 includes a storage device 300 having a data storage area 310. The storage device 300 is, for example, an HDD. The data storage area 310 stores layout data and saved data generated in the design process. Layout data refers to arrangement data of each cell pattern constituting the semiconductor device. Details of the stored data will be described later.

図形及び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 OPC program area 214 realizes graphic processing and OPC processing in this embodiment by execution of the CPU 101. The graphic process and the OPC process will be described later with reference to FIG.

また、保存データ生成プログラム領域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 CPU 101. In the saved data generation process, saved data is generated based on the drawing data and stored in the data storage area 310 of the storage device 300. The drawing data in the present embodiment is, for example, reticle drawing data after OPC processing, EB (Electron Beam: EB) direct drawing (direct drawing) data, or the like.

[保存データ生成装置のソフトウェアモジュール構成]
図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 data generation program 210 shown in FIG. As illustrated in FIG. 2, the saved data generation program 210 includes a functional block extraction module 211, a pattern match prediction module 212, and a pattern search module 213. The functional block correspondence table T1 and the pattern search determination reference table P1 are stored in the memory 102.

機能ブロック対応テーブル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 block extraction module 211 identifies the functional block area from the drawing data. Then, the function block extraction module 211 acquires, for each function block, inner data excluding the outer edge area of the function block and outer data of the outer edge area. Details of the inner data and the outer data, and details of the processing of the function block extraction module 211 will be described later with reference to FIGS.

パターン一致予測モジュール212は、パターン検索判断基準テーブルP1に基づいて、取得した内側データのパターンが、既に保存されている内側データのパターンと一致する可能性があるか否かを予測する。具体的に、パターン一致予測モジュール212は、機能ブロックのOPC処理の条件にしたがって、一致する可能性があるか否かを予測する。パターン一致予測モジュール212の処理の詳細は、図16、図17にしたがって後述する。   The pattern match prediction module 212 predicts whether or not the acquired inner data pattern may match the already stored inner data pattern based on the pattern search determination reference table P1. Specifically, the pattern matching prediction module 212 predicts whether or not there is a possibility of matching according to the condition of the OPC processing of the functional block. Details of the processing of the pattern match prediction module 212 will be described later with reference to FIGS.

そして、パターン検索モジュール213は、パターン一致予測モジュール212が一致する可能性があると予測した場合、取得した内側データのパターンと、データ格納領域310に既に保存されている内側データのパターンとを比較する。いずれかの内側データのパターンと同一または類似する場合、パターン検索モジュール213は、取得した内側データをデータ格納領域310に保存しない。つまり、同一または類似する内側データは、取得した内側データと共通で使用の内側データとして保存される。   If the pattern search module 213 predicts that the pattern match prediction module 212 may match, the pattern search module 213 compares the acquired inner data pattern with the inner data pattern already stored in the data storage area 310. To do. If the pattern is identical or similar to any of the inner data patterns, the pattern search module 213 does not save the acquired inner data in the data storage area 310. That is, the same or similar inner data is stored as inner data used in common with the acquired inner data.

一方、いずれの内側データのパターンとも同一ではなく類似もしていない場合、パターン検索モジュール213は、取得した内側データをデータ格納領域310に保存する。つまり、既にデータ格納領域310に保存されている内側データと、取得した内側データとは、個別にデータ格納領域310に保存される。パターン検索モジュール213の処理の詳細については、図16にしたがって後述する。   On the other hand, when the pattern of any inner data is not identical or similar, the pattern search module 213 stores the acquired inner data in the data storage area 310. That is, the inner data already stored in the data storage area 310 and the acquired inner data are individually stored in the data storage area 310. Details of the processing of the pattern search module 213 will be described later with reference to FIG.

[保存データ生成処理の概要]
図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 modules 211 to 213 of FIG. 2 in the present embodiment. In the example of FIG. 3, the case where the saved data generation device 10 generates saved data of drawing data 60-A and 60-B of two products (product A and product B) is exemplified. The drawing data 60-A indicates drawing data of the product A, and the drawing data 60-B indicates drawing data of the product B. The drawing data 60-A and 60-B are, for example, SOC (System-On-a-Chip: SOC) drawing data.

図1に示した図形OPCプログラム214は、レイアウトデータ61−A、61−Bを入力として、描画データ60−A、60−Bを生成する。レイアウトデータ61−Aは製品Aのレイアウトデータを、レイアウトデータ61−Bは製品Bのレイアウトデータを示す。レイアウトデータ61−A、61−Bは、階層化されたデータである。   The graphic OPC program 214 shown in FIG. 1 receives the layout data 61-A and 61-B and generates the drawing data 60-A and 60-B. The layout data 61-A indicates the layout data of the product A, and the layout data 61-B indicates the layout data of the product B. The layout data 61-A and 61-B are hierarchized data.

図形OPC処理プログラム214は、レイアウトデータ61−A、61−Bに対して図形処理、及び、OPC処理を行うことによって、フラットデータである描画データ60−A、60−Bを生成する。   The graphic OPC processing program 214 generates graphic data 60-A and 60-B which are flat data by performing graphic processing and OPC processing on the layout data 61-A and 61-B.

図形OPC処理プログラム214は、図形処理として、レイアウトデータ61−A、61−Bに対し、サイジング処理や回転処理等の処理を行う。また、図形OPC処理プログラム214は、OPC処理として、光近接効果による影響の予測に基づいて、レイアウトデータの通りの現像パターンが得られるように、パターンの形状を補正する。   The graphic OPC processing program 214 performs processing such as sizing processing and rotation processing on the layout data 61-A and 61-B as graphic processing. Further, the figure OPC processing program 214 corrects the shape of the pattern so that a development pattern according to the layout data is obtained based on the prediction of the influence of the optical proximity effect as the OPC processing.

なお、図形OPC処理プログラム214は、他の製品についても同様にして、レイアウトデータ61−C、61−Dを入力として、描画データ(図示せず)を生成する。   The figure OPC processing program 214 generates the drawing data (not shown) with the layout data 61-C and 61-D as inputs for other products in the same manner.

レイアウトデータ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 data generation apparatus 10 according to the present embodiment changes the pattern according to the peripheral functional blocks as a result of the OPC processing among the functional block areas of the drawing data 60-A and 60-B. Exclude the outer edge area and cut out the inner data. That is, the area of the inner data is an area where a pattern change according to the peripheral functional block does not occur in the OPC process. For this reason, the inner data of the two functional blocks having the same pattern has the same pattern even after the OPC process. Further, the saved data generation device 10 cuts out the outer edge area of the functional block as outer data.

そして、保存データ生成装置10は、パターンが同一の機能ブロックの内側データを、共通で使用するデータとしてデータ格納領域310(図1)保存する。保存データ生成装置10は、外側データについては、機能ブロックごとに個別にデータ格納領域310に保存する。保存データは、このようにデータ格納領域310に保存された、内側データ及び外側データを示す。   Then, the saved data generation apparatus 10 saves the inner data of the functional blocks having the same pattern as the data storage area 310 (FIG. 1) as data used in common. The saved data generation device 10 saves the outer data in the data storage area 310 individually for each functional block. The saved data indicates inner data and outer data saved in the data storage area 310 in this way.

このように、保存データ生成装置10は、描画データ60−A、60−Bの機能ブロックごとの内側データのうち、他の内側データとパターンが同一の内側データを重複して保存しないことで、データ格納領域310に保存する容量を抑える。   As described above, the storage data generation device 10 does not repeatedly store the inner data having the same pattern as the other inner data among the inner data for each functional block of the drawing data 60-A and 60-B. The capacity stored in the data storage area 310 is reduced.

ただし、描画データ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 data generation device 10 determines whether or not the target inner data may match any of the already stored inner data based on the OPC processing conditions. If there is a possibility that they match, the saved data generation device 10 compares the pattern of the inner data with the pattern of the inner data that has already been saved.

図3において、まず、保存データ生成装置10の機能ブロック抜き取りモジュール211は、製品A、Bの描画データ60−A、60−Bから、機能ブロックごとに、内側データ及び外側データを切り出す(抜き取る)。   3, first, the functional block extraction module 211 of the saved data generation apparatus 10 extracts (extracts) inner data and outer data for each functional block from the drawing data 60-A and 60-B of the products A and B. .

図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 block extraction module 211 identifies the areas of the functional block A-1 and the functional block A-2 from the drawing data 60-A of the product A. Then, the functional block extraction module 211 acquires the inner data A-1-1 and the outer data A-1-2 of the functional block A-1. The functional block extraction module 211 acquires the inner data A-2-1 and the outer data A-2-2 of the functional block A-2.

機能ブロック抜き取りモジュール211は、取得した外側データA−1−2、A−2−2を、保存データとして、データ格納領域310に格納する。また、機能ブロック抜き取りモジュール211は、機能ブロックと、外側データA−1−2、A−2−2との対応情報を機能ブロック対応テーブルT1に更新する。   The functional block extraction module 211 stores the acquired outer data A-1-2 and A-2-2 in the data storage area 310 as saved data. Further, the functional block extraction module 211 updates correspondence information between the functional block and the outer data A-1-2 and A-2-2 in the functional block correspondence table T1.

また、パターン一致予測モジュール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 match prediction module 212 determines whether or not the inner data A-1-1 and A-2-1 may match the already stored inner data. When it is predicted that the possibility of matching is low, the pattern match prediction module 212 saves the inner data A-1-1 and A-2-1 in the data storage area 310 as saved data. Further, the pattern match prediction module 212 updates correspondence information between the functional block and the inner data A-1-1 and A-2-1 to the functional block correspondence table T1.

一方、一致する可能性があると判定した場合、パターン検索モジュール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 pattern search module 213 compares the inner data A-1-1 and A-2-1 with the inner data already registered in the functional block correspondence table T1. . When there is inner data that matches or is similar to the inner data A-1-1 and A-2-1, the pattern search module 213 uses the inner data A-1-1 and A-2-1 as saved data. The data is not saved in the data storage area 310. Further, the pattern match prediction module 212 updates the correspondence information between the functional block and the matching or similar inner data in the functional block correspondence table T1.

図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 data storage area 310 is shown.

同様にして、機能ブロック抜き取りモジュール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 block extraction module 211 includes inner data B-1-1 and outer data B-1-2 of the function block B-1, and inner data B-2-1 and outer data of the function block B-2. B-2-2 is acquired. Then, the pattern search module 213 matches each of the inner data B-1-1 and B-2-1 with the already stored inner data (including A-1-1 and A-2-1). Determine whether there is a possibility.

図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 pattern search module 213 determines that each of the inner data B-1-1 and B-2-1 may match. In the example of FIG. 3, the inner data B-2-1 has the same pattern as the already stored inner data A-2-1. Therefore, the pattern search module 213 does not save the inner data B-2-1 in the data storage area 310, and updates the correspondence information between the functional block B-2 and the inner data A-2-1 to the functional block correspondence table T1. To do. Thereby, the capacity required for storing the inner data B-2-1 is suppressed.

また、図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 pattern search module 213 stores the inner data B-1-1 in the data storage area 310 and updates the correspondence information between the functional block B-1 and the inner data B-1-1 to the functional block correspondence table T1. To do.

ここで、図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 data storage area 310.

具体的に、図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 data storage area 310 as data used in common with the inner data of the functional block B-2. At this time, since the inner data A-2-1 is referred to, the last reference date of the inner data A-2-1 of the product A and the product B, for example, the date “2014 when the data of the product B is stored” / 03/01 "is registered.

[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 OPC process 214 in FIG. 7 corresponds to the process of the graphic OPC program 214 described in FIG.

図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 OPC process 214 of the layout data 61-X and 61-Y. Therefore, as shown in FIG. 7, the pattern shapes of the functional blocks ax to fx of the drawing data 60-X and 60-Y are different from the functional blocks a to f of the layout data 61-X and 61-Y.

前述したとおり、レイアウトデータ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 OPC process 214, the functional block ax of the drawing data 60-X and the functional block dx of the drawing data 60-Y have different pattern shapes at the outer edge portions of the functional block. (Y2).

図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 process 214 for the drawing data 60-X and 60-Y in FIG. 7, areas in which the pattern shape changes according to surrounding functional blocks are represented by halftone dots. The area represented by the halftone dots of the functional block areas of the drawing data 60-X and 60-Y is an outer edge area of the functional block, and indicates an area affected by the surrounding functional blocks by the OPC process 214.

OPC処理214は、網点で表される領域の内側の領域(例えば、ax−1、dx−1)に位置するパターンに対しても行われている。ただし、網点で表される領域の内側に位置するパターンは、周囲の機能ブロックの配置や向き等の影響を受けない。したがって、同一のパターンであれば、OPC処理の結果、同一のパターンの形状に補正される。したがって、描画データ60−Xにおける機能ブロックaの内側領域ax−1と、60−Yにおける機能ブロックdの内側領域dx−1とでは、パターンが一致する(Y3)。   The OPC process 214 is also performed on a pattern located in a region (for example, ax-1, dx-1) inside a region represented by a halftone dot. However, the pattern located inside the area represented by the halftone dots is not affected by the arrangement or orientation of surrounding functional blocks. Therefore, if the patterns are the same, the shape of the same pattern is corrected as a result of the OPC process. Therefore, the pattern matches in the inner area ax-1 of the functional block a in the drawing data 60-X and the inner area dx-1 of the functional block d in 60-Y (Y3).

次に、図8で説明した、OPC処理214によって周囲の機能ブロックの影響を受ける、機能ブロックの外縁領域を、詳細に説明する。   Next, the outer edge area of the functional block that is affected by the surrounding functional blocks by the OPC process 214 described in FIG. 8 will be described in detail.

図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 OPC process 214.

図9において、機能ブロックhの領域61h、及び、機能ブロックiの領域61iは、OPC処理前のレイアウトデータにおけるパターンを示す。また、図9において、機能ブロックhの領域60h、及び、機能ブロックiの領域60iは、OPC処理後の描画データにおけるパターンを示す。   In FIG. 9, a function block h area 61h and a function block i area 61i indicate patterns in the layout data before the OPC process. In FIG. 9, the area 60h of the functional block h and the area 60i of the functional block i indicate patterns in the drawing data after the OPC process.

図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 area 61h of the functional block h and the area 61i of the functional block i is narrow. When the interval between functional blocks is narrow, when the OPC process 214 is not performed, the patterns may be connected to each other to cause a bridge. Therefore, in the OPC process 214, the pattern of the function blocks h and i is reduced and reduced in order to avoid bridging the pattern between the function blocks. The area 60h of the functional block h of the drawing data and the horizontal line area in the area 60i of the functional block i indicate areas where the pattern has been cut by OPC processing.

つまり、機能ブロックhの領域60h、及び、機能ブロックiの領域60iにおける外周から点線までの領域が、図7で網点によって示した、周囲の機能ブロックの影響を受ける外縁領域に相当する。領域60h−1、60i−1は、機能ブロックhの領域60h、及び、機能ブロックiの領域60iの外周から、図9に示す幅C1分の領域を除外した点線内の領域を示す。即ち、領域60h−1、60i−1は、内側データの領域に相当する。   That is, the area 60h of the functional block h and the area from the outer periphery to the dotted line in the area 60i of the functional block i correspond to the outer edge area affected by the surrounding functional blocks shown by the halftone dots in FIG. Regions 60h-1 and 60i-1 indicate regions within a dotted line excluding the region 60h of the functional block h and the region 60i of the functional block i from which the region corresponding to the width C1 illustrated in FIG. 9 is excluded. That is, the areas 60h-1 and 60i-1 correspond to the area of the inner data.

なお、内側データの領域60h−1、60i−1は、例えば、OPC処理214によって、周囲の機能ブロックの影響を受けて生じる変化の度合いが、許容できる程度まで小さい領域を示す。   The inner data areas 60h-1 and 60i-1 are areas where the degree of change caused by the influence of the surrounding functional blocks by the OPC process 214 is small to an acceptable level.

図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 OPC process 214.

図10において、機能ブロックjの領域61j、及び、機能ブロックkの領域61kは、OPC処理前のレイアウトデータにおけるパターンを示す。また、図10において、機能ブロックjの領域60j、及び、機能ブロックkの領域60kは、OPC処理後の描画データにおけるパターンを示す。   In FIG. 10, the area 61j of the functional block j and the area 61k of the functional block k show patterns in the layout data before the OPC process. In FIG. 10, the area 60j of the functional block j and the area 60k of the functional block k show patterns in the drawing data after the OPC process.

図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 area 61j of the functional block j and the area 61k of the functional block k is wide. When the interval between the functional blocks is wide, it is unlikely that a bridge between patterns will occur even if the pattern is widened. For this reason, in the OPC process, the pattern of the function blocks j and k is expanded. Thereby, disconnection (neck) of a narrow pattern can be avoided. The horizontal line regions in the regions 60j and 60k of the functional blocks j and k of the drawing data indicate regions where the pattern is expanded by the OPC process.

つまり、機能ブロックjの領域60j、及び、機能ブロックkの領域60kにおける外周から点線までの領域が、図7で網点によって示した、周囲の機能ブロックの影響を受ける外縁領域に相当する。領域60j−1、60k−1は、機能ブロックjの領域60j、及び、機能ブロックkの領域60kの外周から、図10に示す幅C1分の領域を除外した点線内の領域を示す。即ち、領域60j−1、60k−1は、内側データの領域に相当する。   That is, the area 60j of the functional block j and the area from the outer periphery to the dotted line in the area 60k of the functional block k correspond to the outer edge area affected by the surrounding functional blocks shown by the halftone dots in FIG. Regions 60j-1 and 60k-1 indicate regions within a dotted line excluding the region of the functional block j and the region 60k of the functional block k and excluding the region of the width C1 shown in FIG. That is, the areas 60j-1 and 60k-1 correspond to the area of the inner data.

図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 data generation device 10, for example.

図3〜図10で説明してきたように、本実施の形態例における保存データ生成装置10は、機能ブロックごとのOPC処理後の描画データから、機能ブロックの外縁領域を除外した内側データを取得する。そして、保存データ生成装置10は、機能ブロックのOPCの処理条件に基づいて、取得した内側データを、データ格納領域310が保存する内側データと比較するか否か判定する。そして、保存データ生成装置10は、比較すると判定した場合、取得した内側データと、データ格納領域310が保存する内側データとのパターンを比較し、比較結果に応じて、取得した内側データをデータ格納領域310に保存する。   As described with reference to FIGS. 3 to 10, the saved data generation apparatus 10 according to the present embodiment acquires inner data excluding the outer edge area of the functional block from the drawing data after the OPC process for each functional block. . Then, the saved data generation apparatus 10 determines whether to compare the acquired inner data with the inner data stored in the data storage area 310 based on the OPC processing conditions of the functional block. If the stored data generation device 10 determines to compare, the stored data generation device 10 compares the pattern of the acquired inner data with the inner data stored in the data storage area 310, and stores the acquired inner data according to the comparison result. Save in area 310.

このように、保存データ生成装置10は、同一のパターンを有する複数の機能ブロック間で、ストレージデバイス300に内側データを重複して保存することを抑制する。これにより、保存データ生成装置10は、ストレージデバイス300に保存する保存データのデータ容量を低減させることができる。   As described above, the storage data generation device 10 suppresses the storage of the inner data in the storage device 300 between a plurality of functional blocks having the same pattern. Thereby, the stored data generation apparatus 10 can reduce the data capacity of the stored data stored in the storage device 300.

また、保存データ生成装置10は、検索処理の前に、取得した内側データが、既に保存されている内側データと比較して一致する可能性があるか否かを予測する。そして、保存データ生成装置10は、一致する可能性がある場合に、取得した内側データと、既に保存されている内側データと比較する。さらに、保存データ生成装置10は、比較処理に時間を要するか否かを予測する。   Further, the stored data generation device 10 predicts whether or not the acquired inner data may match the stored inner data before the search process. Then, the stored data generation device 10 compares the acquired inner data with the already stored inner data when there is a possibility of coincidence. Furthermore, the saved data generation apparatus 10 predicts whether the comparison process requires time.

これにより、保存データ生成装置10は、比較の結果一致する可能性が低く、比較処理に時間を要することが予測される場合、内側データの比較処理を回避することができる。このため、保存されている内側データの数が多い場合でも、保存データ生成装置10は、高速に、保存データ生成処理を行うことができる。したがって、本実施の形態例における保存データ生成装置10は、重複した描画データの保存を抑止するとともに、高速に、描画データを保存することができる。   As a result, the stored data generation device 10 can avoid the inner data comparison process when the possibility of matching as a result of the comparison is low and it is predicted that the comparison process will take time. For this reason, even when the number of stored inner data is large, the stored data generation apparatus 10 can perform the stored data generation process at high speed. Therefore, the saved data generation apparatus 10 in the present embodiment can save the drawn data at a high speed while suppressing the saving of the duplicated drawing data.

また、保存データ生成装置10は、機能ブロックごとの描画データから、機能ブロックの外縁領域の外側データを取得し、外側データとデータ格納領域310が保存する外側データとを、個別にデータ格納領域310に保存する。保存データ生成装置10は、OPC処理において周辺の機能ブロックの影響を受ける外側データについては、機能ブロックごとに保存する。   Further, the saved data generation apparatus 10 acquires the outer data of the outer edge area of the functional block from the drawing data for each functional block, and individually separates the outer data and the outer data stored in the data storage area 310 into the data storage area 310. Save to. The saved data generation apparatus 10 saves, for each functional block, outer data that is affected by peripheral functional blocks in the OPC process.

次に、図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 data 60 includes processes S11 to S19. Moreover, the process F2 which reproduces | regenerates the drawing data 60 of a certain product based on the preserve | saved drawing data 60 has process S20.

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 OPC processing program 214 generates a summary report 64 and drawing data 60 (corresponding to 60-A and 60-B in FIGS. 3 to 5 and 60-X and 60-Y in FIGS. 7 to 8). . The summary report 64 is log information including parameters when the OPC process is executed and the OPC process result.

S12:保存データ生成装置10の機能ブロック抜き取りモジュール211は、描画データ60と結線情報62とセルネーミングルール63とに基づいて、描画データ60の機能ブロックの領域を識別する。結線情報62、及び、セルネーミングルール63は、メモリ102に格納されている。   S12: The functional block extraction module 211 of the saved data generation apparatus 10 identifies the functional block area of the drawing data 60 based on the drawing data 60, the connection information 62, and the cell naming rule 63. The connection information 62 and the cell naming rule 63 are stored in the memory 102.

結線情報62は、電子回路における端子間の接続情報のデータを示す情報であって、例えば、ネットリスト等である。また、機能ブロック抜き取りモジュール211は、識別した機能ブロックごとに、内側データ60−1(例えば、図3のA−1−1に対応)及び外側データ60−2(例えば、図3のA−1−2に対応)を取得し、仮保存する。処理の詳細については、図12のフローチャート図にしたがって後述する。   The connection information 62 is information indicating connection information data between terminals in the electronic circuit, and is, for example, a net list. Further, the functional block extraction module 211 performs inner data 60-1 (for example, corresponding to A-1-1 in FIG. 3) and outer data 60-2 (for example, A-1 in FIG. 3) for each identified functional block. -2) is acquired and temporarily stored. Details of the processing will be described later according to the flowchart of FIG.

S13:保存データ生成装置10のパターン一致予測モジュール212は、サマリーレポート64からOPC処理実行時のパラメータを取得する。OPC処理実行時のパラメータについては、図16のフローチャート図に従って、後述する。   S13: The pattern match prediction module 212 of the saved data generation apparatus 10 acquires parameters at the time of executing the OPC process from the summary report 64. The parameters when executing the OPC process will be described later according to the flowchart of FIG.

S14:パターン一致予測モジュール212は、工程S13で取得したパラメータに基づいて、パターン検索判断基準テーブルP1を参照する。そして、パターン一致予測モジュール212は、描画データ60が有する機能ブロックの内側データ60−1が、既に保存されている他の内側データ60−1のいずれかと、一致または類似する可能性があるか否かを予測する。処理の詳細については、図16のフローチャート図にしたがって後述する。   S14: The pattern match prediction module 212 refers to the pattern search determination criterion table P1 based on the parameters acquired in step S13. Then, the pattern matching prediction module 212 determines whether or not the inner data 60-1 of the functional block included in the drawing data 60 may match or be similar to any of the other stored inner data 60-1. Predict. Details of the processing will be described later according to the flowchart of FIG.

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 pattern search module 213 of the saved data generation device 10 uses the inner data 60-1 of each functional block included in the drawing data 60 to be saved. Compare with the already stored inner data 60-1.

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 pattern search module 213 determines whether the function block and the inner data 60-1 The correspondence information is updated to the function block correspondence table T1. Further, the pattern search module 213 officially saves the pattern of the inner data 60-1 in the data storage area 310 (FIG. 1).

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 pattern search module 213 matches or resembles the functional block The correspondence information with the inner data 60-1 is updated to the functional block correspondence table T1. At this time, the pattern search module 213 deletes the inner data 60-1 temporarily stored in step S12.

S18:パターン検索モジュール213は、機能ブロックと外側データ60−2との対応情報を機能ブロック対応テーブルT1に更新するとともに、取得した外側データ60−2のパターンをデータ格納領域310に保存する。   S18: The pattern search module 213 updates the correspondence information between the functional block and the outer data 60-2 in the functional block correspondence table T1, and stores the acquired pattern of the outer data 60-2 in the data storage area 310.

S19:保存データ生成装置10は、描画データが保存されている製品の再注文や、不良な機能ブロックを有する製品の調査要求等を受け付ける。   S19: The stored data generation apparatus 10 accepts a reorder of a product in which drawing data is stored, a survey request for a product having a defective functional block, and the like.

S20:保存データ生成装置10は、製品の再注文に応じて、機能ブロック対応テーブルT1を参照し、データ格納領域310が記憶する内側データ60−1と外側データ60−2とを読み出すことにより、描画データ65を再生成する。このように、本実施の形態例における保存データ生成装置10は、機能ブロック対応テーブルT1と、データ格納領域310が保存する保存データ(内側データ60−1及び外側データ60−2)とに基づいて、描画データを再生成できる。   S20: The stored data generation device 10 refers to the functional block correspondence table T1 in response to the reorder of the product, and reads the inner data 60-1 and the outer data 60-2 stored in the data storage area 310, The drawing data 65 is regenerated. As described above, the saved data generation apparatus 10 according to the present embodiment is based on the functional block correspondence table T1 and the saved data (the inner data 60-1 and the outer data 60-2) stored in the data storage area 310. The drawing data can be regenerated.

また、保存データ生成装置10は、製品の調査要求に応じて機能ブロック対応テーブルT1を参照し、障害が発生する可能性がある機能ブロックを有する製品を抽出する。製品の障害が検出された場合、データ格納領域310に保存された描画データに基づいて、障害の波及範囲を検知することが求められる場合がある。前述したとおり、描画データは階層化されていないデータであり、同一のパターンの有する機能ブロックであってもOPC処理によってパターンの形状が変化している場合がある。したがって、障害が発生した機能ブロックが検知されている場合でも、描画データに基づいて、同一の機能ブロックを有する製品を抽出することが困難であった。   Further, the saved data generation apparatus 10 refers to the functional block correspondence table T1 in response to a product survey request, and extracts a product having a functional block that may cause a failure. When a product failure is detected, it may be required to detect the failure propagation range based on the drawing data stored in the data storage area 310. As described above, the drawing data is non-hierarchical data, and the shape of the pattern may change due to the OPC process even if the functional block has the same pattern. Therefore, even when a functional block in which a failure has occurred is detected, it is difficult to extract a product having the same functional block based on the drawing data.

これに対し、本実施の形態例における保存データ生成装置10は、同一のパターンを有する複数の機能ブロック間で、内側データを共通で使用する。したがって、保存データ生成装置10は、同一のパターンを有する機能ブロックを容易に検出することができる。   On the other hand, the stored data generation apparatus 10 in the present embodiment uses the inner data in common among a plurality of functional blocks having the same pattern. Therefore, the stored data generation device 10 can easily detect functional blocks having the same pattern.

例えば、保存データ生成装置10は、不良な機能ブロックを特定する。そして、保存データ生成装置10は、機能ブロック対応テーブルT1に基づいて、不良な機能ブロックと、内側データ60−1を共通で使用する機能ブロックを検出する。そして、保存データ生成装置10は、検出した機能ブロックが構成する製品を抽出することによって、障害が発生する可能性がある製品の範囲を調査できる。   For example, the saved data generation device 10 identifies a defective functional block. Then, the saved data generation device 10 detects a defective functional block and a functional block that uses the inner data 60-1 in common based on the functional block correspondence table T1. Then, the stored data generation device 10 can investigate the range of products in which a failure may occur by extracting the products that the detected functional block configures.

このように、保存データ生成装置10は、障害が発生した機能ブロックと内側データを共有する機能ブロックを検索することで、障害が発生する可能性がある製品を効率的に検出することができる。したがって、保存データ生成装置10は、機能ブロック対応テーブルT1と、データ格納領域310が保存する保存データ(内側データ60−1及び外側データ60−2)とに基づいて、障害の波及範囲を短時間で、容易に検出することができる。   As described above, the saved data generation apparatus 10 can efficiently detect a product in which a failure may occur by searching for a functional block that shares inner data with a functional block in which a failure has occurred. Therefore, the saved data generation device 10 determines the failure spillover range for a short time based on the functional block correspondence table T1 and the saved data (the inner data 60-1 and the outer data 60-2) stored in the data storage area 310. Thus, it can be easily detected.

[機能ブロック抜き取り処理(図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 block extraction module 211 performs the processes of steps S21 to S26 for each functional block included in the drawing data 60.

S21:機能ブロック抜き取りモジュール211は、結線情報62とセルネーミングルール63とに基づいて、機能ブロックの情報を取得する。ネットリストの各セルは、機能ブロックに対応する。機能ブロック抜き取りモジュール211は、ネットリストの各セル名に基づいて、セルネーミングルール63を参照し、セル名に対応するデバイスパターン(機能ブロックの種類)を取得する。   S <b> 21: The functional block extraction module 211 acquires functional block information based on the connection information 62 and the cell naming rule 63. Each cell in the netlist corresponds to a functional block. The function block extraction module 211 refers to the cell naming rule 63 based on each cell name in the net list, and acquires a device pattern (function block type) corresponding to the cell name.

S22:機能ブロック抜き取りモジュール211は、セル名に基づいてレイアウトデータ61を参照し、機能ブロックの中心座標(X,Y)を取得する。この例において、座標は、描画データ60の左下部を座標(X,Y)=(0,0)とした場合の相対的な座標である。ここで、工程S21、S22の処理を図13にしたがって説明する。   S22: The functional block extraction module 211 refers to the layout data 61 based on the cell name, and acquires the center coordinates (X, Y) of the functional block. In this example, the coordinates are relative coordinates when the lower left portion of the drawing data 60 is set to coordinates (X, Y) = (0, 0). Here, the process of step S21, S22 is demonstrated according to FIG.

図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 connection information 62, cell naming rules 63, and layout data 61.

図13の結線情報62は、ネット名ごとに結線情報62と、対応するセル名の情報を有する。図13の結線情報62は、ネット名「Net1」に対応して、結線情報62「A−1---A−2」及びセル名「A1111」を有する。同様にして、図13の結線情報62は、ネット名「Net2」に対応して、結線情報62「A−21---A−12」及びセル名「A2222」を有する。   The connection information 62 in FIG. 13 includes connection information 62 and corresponding cell name information for each net name. The connection information 62 in FIG. 13 includes connection information 62 “A-1--A-2” and a cell name “A1111” corresponding to the net name “Net1”. Similarly, the connection information 62 in FIG. 13 has connection information 62 “A-21 --- A-12” and a cell name “A2222” corresponding to the net name “Net2”.

図13のセルネーミングルール63は、セル名ごとにデバイスパターン(機能ブロックの種類)を有する。図13のセルネーミングルール63は、セル名「A1111」に対応して、デバイスパターン「SRAM1」を有する。同様にして、図13のセルネーミングルール63は、セル名「A2222」に対応して、デバイスパターン「SRAM2」を有する。また、図13のレイアウトデータ61は、セル名ごとに、セルの領域を示す座標情報を有する。   The cell naming rule 63 in FIG. 13 has a device pattern (function block type) for each cell name. The cell naming rule 63 in FIG. 13 has a device pattern “SRAM1” corresponding to the cell name “A1111”. Similarly, the cell naming rule 63 in FIG. 13 has a device pattern “SRAM2” corresponding to the cell name “A2222”. Further, the layout data 61 of FIG. 13 has coordinate information indicating a cell area for each cell name.

具体的に、機能ブロック抜き取りモジュール211は、結線情報62に基づいて、セル名「A1111」を取得する。そして、機能ブロック抜き取りモジュール211は、セル名「A1111」に基づいて、セルネーミングルール63を参照し、セル名「A1111」に対応する機能ブロックの種類「SRAM1」を取得する(図12のS11)。   Specifically, the functional block extraction module 211 acquires the cell name “A1111” based on the connection information 62. Then, the function block extraction module 211 refers to the cell naming rule 63 based on the cell name “A1111”, and acquires the function block type “SRAM1” corresponding to the cell name “A1111” (S11 in FIG. 12). .

そして、機能ブロック抜き取りモジュール211は、セル名「A1111」に基づいて、レイアウトデータ61を参照して、セル名「A1111」が位置する座標を取得する。そして、機能ブロック抜き取りモジュール211は、取得した座標に基づいて、セル名「A1111」の中心座標(X,Y)を算出する(図12のS12)。   Then, the function block extraction module 211 refers to the layout data 61 based on the cell name “A1111” and acquires the coordinates where the cell name “A1111” is located. Then, the functional block extraction module 211 calculates the center coordinates (X, Y) of the cell name “A1111” based on the acquired coordinates (S12 in FIG. 12).

このように、機能ブロック抜き取りモジュール211は、結線情報62、セルネーミングルール63、及び、レイアウトデータ61に基づいて、機能ブロックごとの種類、及び、中心座標(X,Y)を取得する。図12のフローチャート図に戻る。   In this manner, the functional block extraction module 211 acquires the type and center coordinates (X, Y) for each functional block based on the connection information 62, the cell naming rule 63, and the layout data 61. Returning to the flowchart of FIG.

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 block extraction module 211 calculates the width “C1” of the outer edge region that defines the outer data. The width “C1” of the outer edge area corresponds to the width “C1” of the outer edge area of the functional block, which is affected according to the surrounding pattern in the OPC process described with reference to FIGS. The functional block extraction module 211 obtains the width “C1” of the outer edge region, for example, according to Equation 1.
C1 = peripheral capture width during OPC processing + MASK minimum grid ... Equation 1
The peripheral capture width at the time of OPC processing in Equation 1 is calculated based on, for example, an experimentally measured actual value. In this example, the peripheral capture width during the OPC process is, for example, “1 μm”. The peripheral capture width at the time of the OPC process is a distance range in which an influence is generated according to the peripheral pattern in the OPC process. Further, the MASK minimum grid in Expression 1 is the minimum unit of the grid of the drawing data 60 (mask). The MASK minimum grid in Equation 1 is, for example, “0.05 mm”. The functional block extraction module 211 adds the MASK minimum grid to calculate the value “C1”, thereby absorbing the error due to the grid.

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 block extraction module 211 defines an area of the inner data 60-1 that is not affected by the surrounding pattern in the OPC process based on the width “C1” of the outer edge area calculated in step S23. The functional block extraction module 211 obtains the area “B1” of the inner data 60-1 according to Equation 2, for example.
B1 = (lx + C1, ly-C1, rx-C1, ry + C1) ... Formula 2
The coordinates “lx, ly, rx, ry” in Expression 2 are coordinates that define a functional block area. For example, the coordinates “lx, ly (= X, Y)” are the upper left coordinates of the functional block, and the coordinates “rx, ry (= X, Y)” are the lower right coordinates of the functional block. As described above, the coordinates are relative coordinates when the lower left portion of the drawing data 60 is the coordinates (X, Y) = (0, 0). For example, the functional block extraction module 211 acquires coordinates that define the functional block based on the layout data 61. Then, the functional block extraction module 211 acquires the coordinates of the area “B1” of the inner data 60-1 narrowed by the width “C1” of the outer edge area from the area of the functional block, according to Expression 2.

S25:機能ブロック抜き取りモジュール211は、描画データ60から、工程S24で算出した領域「B1」のデータを抜き取り、内側データ60−1として一時的に保存する。   S25: The functional block extraction module 211 extracts the data of the area “B1” calculated in step S24 from the drawing data 60, and temporarily stores it as the inner data 60-1.

S26:機能ブロック抜き取りモジュール211は、機能ブロックの領域から、内側データ60−1の領域「B1」を除いた外縁領域の外側データ60−2を、データ格納領域310に保存する。また、機能ブロック抜き取りモジュール211は、さらに、描画データ60における、機能ブロックの領域以外の領域のデータを、データ格納領域310に保存する。   S <b> 26: The functional block extraction module 211 stores the outer data 60-2 in the outer edge area excluding the area “B <b> 1” in the inner data 60-1 from the functional block area in the data storage area 310. Further, the functional block extraction module 211 further saves data in an area other than the functional block area in the drawing data 60 in the data storage area 310.

図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 block extraction module 211 includes inner data 60-1 and outer data 60 represented by halftone dots for each of the functional blocks A- 1, A- 2, A- 3, and A- 4. -2 is cut out.

図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 block extraction module 211 includes inner data 60-1 and outer data 60 represented by halftone dots for each of the functional blocks B- 1, B- 2, B- 3, and B- 4. -2 is cut out.

図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 match prediction module 212 acquires parameters at the time of executing the OPC process from the summary report 64 output by the OPC process 214 (FIG. 3). The parameters are, for example, the program name and version of the OPC tool, the average density value of the processed functional block patterns, the number of patterns of the processed functional blocks whose number of sides is equal to or greater than the reference value “x”, and the like. The program name of the OPC tool indicates the name of the program that executed the OPC process, as described above with reference to FIG. The version indicates the version of the program that has executed the OPC process.

機能ブロックのパターンの密度平均値は、機能ブロックの領域における、パターンの密度の平均値を示す。機能ブロックのパターンの密度平均値は、例えば、機能ブロックの領域のサイズと、機能ブロックが有するパターンの数、及び、各パターンのサイズ等に基づいて、算出される。機能ブロックのパターンの密度平均値は、例えば、機能ブロックの領域に位置するパターンの数が多いほど大きい。   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 match prediction module 212 determines whether or not each item (condition) included in the pattern search determination criterion table P1 corresponds to the parameter acquired from the summary report 64 (S31). The pattern matching prediction module 212 calculates, for each functional block of the drawing data 60, a score indicating the possibility that the patterns match according to the degree corresponding to a plurality of conditions included in the pattern search determination criterion table P1.

S33:パターン一致予測モジュール212は、工程S32で算出したスコアが、基準値「X」以上であるか否か(スコア≧基準値「X」)を判定する。この例において、基準値「X」は、値「3」である。   S33: The pattern match prediction module 212 determines whether or not the score calculated in step S32 is greater than or equal to the reference value “X” (score ≧ reference value “X”). In this example, the reference value “X” is the value “3”.

スコアが基準値「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 matching prediction module 212 may match the inner data 60-1 of the target functional block with the already stored inner data 60-1. Judge that there is sex. In this case, the pattern search module 213 compares the inner data 60-1 of the target functional block with the already stored inner data 60-1 in steps S34 to S36 described later.

一方、スコアが基準値「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 match prediction module 212 matches the inner data 60-1 of the target functional block with the already stored inner data 60-1. Predict that it is unlikely. If the score is greater than or equal to the reference value “X” (YES in S33), the pattern match prediction module 212 further predicts that the comparison process will take a long time.

図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 matching prediction module 212 may not match the inner data of the target functional block with the already stored inner data when the average density of the functional blocks is equal to or greater than the reference value “n1”. It is predicted that the comparison process will take a long time. The reference value “n1” is set based on, for example, an actual measurement value.

また、パターン検索判断基準テーブル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 matching prediction module 212 determines that the inner data of the target functional block is the already stored inner data. Predict that there is a high possibility that they do not match and that the comparison process will take a long time. The reference value “n2” is set based on, for example, an actual measurement value.

パターン一致予測モジュール212は、サマリーレポート64から取得したOPCの処理条件に係るパラメータに基づいて、パターン検索判断基準テーブルP1の各項目のフラグをセットする。パターン一致予測モジュール212は、項目の条件に該当する場合に、フラグ「1」を、該当しない場合にフラグ「0」をセットする。そして、パターン一致予測モジュール212は、項目のフラグの値に重みを乗算し、各項目の小計を算出する。パターン一致予測モジュール212は、各項目の小計を合計したスコアを算出する。   The pattern match prediction module 212 sets a flag for each item in the pattern search determination reference table P1 based on the parameters related to the OPC processing conditions acquired from the summary report 64. The pattern match prediction module 212 sets the flag “1” when the condition of the item is met, and sets the flag “0” when the condition is not met. Then, the pattern match prediction module 212 multiplies the value of the item flag by the weight to calculate a subtotal for each item. The pattern match prediction module 212 calculates a score that is the sum of the subtotals of each item.

図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 match prediction module 212 determines that there is a high possibility that the target block does not match the already stored inner data.

このように、パターン一致予測モジュール212は、複数のOPCの処理条件(項目)に基づいて、内側データを、データ格納領域310が保存する内側データと比較するか否か判定する。これにより、パターン一致予測モジュール212は、不要な比較処理が発生することを抑制することができるとともに、比較処理に時間がかかることを抑制することができる。したがって、パターン一致予測モジュール212は、保存データの生成処理を高速に行うことができる。   As described above, the pattern match prediction module 212 determines whether to compare the inner data with the inner data stored in the data storage area 310 based on a plurality of OPC processing conditions (items). Thereby, the pattern matching prediction module 212 can suppress the occurrence of unnecessary comparison processing and can suppress the time required for the comparison processing. Therefore, the pattern matching prediction module 212 can perform the storage data generation process at high speed.

また、パターン一致予測モジュール212は、複数の項目に基づいて、内側データが、既に保存されている内側データが一致する可能性、及び、比較処理にかかる時間を予測する。複数の要素に基づいて予測することにより、パターン一致予測モジュール212は、内側データが一致または類似する可能性があるか否かを、より高精度に予測することができる。これにより、パターン一致予測モジュール212は、効率的に、保存データの生成処理を行うことができる。   The pattern match prediction module 212 also predicts the possibility that the inner data matches the already stored inner data and the time required for the comparison process based on a plurality of items. By predicting based on a plurality of elements, the pattern match prediction module 212 can predict with high accuracy whether or not the inner data may match or be similar. Thereby, the pattern coincidence prediction module 212 can efficiently perform the generation process of the stored data.

また、複数の処理条件は、機能ブロックが含むパターンの平均密度、機能ブロックが含むパターンの辺の数、光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無のいずれか、または、その組み合わせである。これにより、パターン一致予測モジュール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 match prediction module 212 can predict with high accuracy whether or not the inner data may match or be similar based on the combination of the possibility of matching the predictable processing conditions. .

また、複数の処理条件は、重みを有する。そして、パターン一致予測モジュール212は、機能ブロックが処理条件に該当する場合に重みを適用した値を算出し、複数の処理条件の値の合計値に基づいて、比較するか否かを判定する。これにより、パターン一致予測モジュール212は、処理条件の重みを柔軟に調整することが可能になり、内側データが一致または類似する可能性があるか否かを、より適切に予測することができる。   The plurality of processing conditions have weights. Then, the pattern matching prediction module 212 calculates a value to which a weight is applied when the functional block meets the processing condition, and determines whether to compare based on the total value of the values of the plurality of processing conditions. Thereby, the pattern match prediction module 212 can flexibly adjust the weight of the processing condition, and can more appropriately predict whether or not the inner data may match or be similar.

また、図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 match prediction module 212 can appropriately predict whether or not the inner data may match or be similar.

なお、各項目の重みは、図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 match prediction module 212 sets the item weight to a value that does not exceed the reference value “X” when the condition alone is met. Then, the pattern match prediction module 212 adjusts the weight value based on, for example, the comparison performance in a certain period.

なお、この例において、基準値「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 pattern search module 213 refers to the functional block correspondence table T1 (FIG. 6) and searches for the inner data 60-1 of the same type. To do. When the types of functional blocks are different, there is a high possibility that the patterns do not match. Therefore, the pattern search module 213 uses the inner data 60-1 having the same functional block type as the comparison target among the already stored inner data 60-1.

また、パターン検索モジュール213は、検索した内側データ60−1のうち、OPC処理の設定が同一または類似する内側データ60−1を検索する。OPC処理の設定とは、図12のフローチャート図で説明した、OPC処理時の周辺取り込み幅や、MASK最小グリッドの設定値等である。OPC処理の設定が大きく異なる場合、内側データの領域範囲が異なることによって、パターンが一致しない可能性が高くなる。   Further, the pattern search module 213 searches the searched inner data 60-1 for the inner data 60-1 having the same or similar OPC processing settings. The setting of the OPC process refers to the peripheral capture width at the time of the OPC process, the setting value of the MASK minimum grid, and the like described with reference to the flowchart of FIG. When the setting of the OPC process is greatly different, there is a high possibility that the patterns do not match due to the different area ranges of the inner data.

したがって、パターン検索モジュール213は、既に記憶されている内側データ60−1のうち、OPC処理の設定が同一の内側データ60−1を比較の対象とする。このように、パターン検索モジュール213は、対象の内側データを、データ格納領域310に保存された内側データのうち、外縁領域の幅が対象の内側データと同一の内側データと比較する。これにより、パターン検索モジュール213は、OPC処理の設定に基づいて、既に保存されている内側データ60−1のうち、一致しない可能性の高い内側データ60−1を、予め、比較対象から除外する。これにより、パターン検索モジュール213は、パターンの比較処理を効率的に行うことができる。   Therefore, the pattern search module 213 uses the inner data 60-1 having the same OPC processing setting as the comparison target among the already stored inner data 60-1. As described above, the pattern search module 213 compares the inner data of the target with the inner data having the same width as the inner data of the target among the inner data stored in the data storage area 310. Thereby, the pattern search module 213 excludes the inner data 60-1 that has a high possibility of not matching among the already stored inner data 60-1 from the comparison target based on the setting of the OPC process. . As a result, the pattern search module 213 can efficiently perform the pattern comparison process.

そして、パターン検索モジュール213は、検索によって抽出した内側データ60−1の識別名を、処理日時(OPC条件、図6)、もしくは、最終参照日の新しい順に並び替えた、内側データ識別名のリストを生成する。最終参照日は、図6で前述したとおり、内側データ60−1が、データ格納領域310から読み出された日付を示す。処理日時が新しいほど、処理日が近いことから、一致または類似する可能性が高いことが想定される。また、最終参照日が新しいほど、最近、参照されたデータであることにより、一致または類似する可能性が高いことが想定される。このように、日付の新しい順に並び替えることにより、パターン検索モジュール213は、より速く一致または類似する内側データ60−1を検索することができる。   Then, the pattern search module 213 rearranges the identification names of the inner data 60-1 extracted by the search in the order of processing date / time (OPC condition, FIG. 6) or newest reference date, from the newest date list. Is generated. The last reference date indicates the date when the inner data 60-1 is read from the data storage area 310, as described above with reference to FIG. Since the processing date is closer as the processing date is newer, it is assumed that there is a higher possibility of matching or similarity. In addition, it is assumed that the newer the last reference date, the higher the possibility of matching or similarity due to the recently referred data. In this manner, the pattern search module 213 can search for the inner data 60-1 that matches or resembles faster by rearranging in the order of date.

S35:パターン検索モジュール213は、内側データ識別名のリストの日付の新しい順に、比較対象とする内側データ識別名を選択する。また、パターン検索モジュール213は、選択した内側データ識別名の内側データ60−1が、所定の期間(この例では、365日)内に参照されたデータであるか否かを判定する。具体的に、パターン検索モジュール213は、比較対象として選択した内側データ60−1の「現在の日付−最終参照日≦365(Y)」であるか否かを判定する。   S35: The pattern search module 213 selects the inner data identification name to be compared in the order from the newest date in the list of inner data identification names. Further, the pattern search module 213 determines whether or not the inner data 60-1 of the selected inner data identification name is data that is referred to within a predetermined period (365 days in this example). Specifically, the pattern search module 213 determines whether or not “current date−last reference date ≦ 365 (Y)” of the inner data 60-1 selected as the comparison target.

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 pattern search module 213 selects the selected inner data 60- 1 is read from the data storage area 310. Then, the pattern search module 213 compares the inner data 60-1 of the target functional block with the pattern of the read inner data 60-1.

パターン検索モジュール213は、工程S34で生成した内側データ識別名のリストのうち、「現在の日付−最終参照日≦365(Y)」を満たす内側データを対象として(工程S35のY以下)、順次、パターンの比較処理を行う。なお、パターン検索モジュール213は、図6の機能ブロック対応テーブルT1の傾き情報(回転、X反転、Y反転)を有する場合は、傾き情報を加味して、パターンを比較する。   The pattern search module 213 sequentially targets the inner data satisfying “current date−last reference date ≦ 365 (Y)” in the list of inner data identification names generated in step S <b> 34 (Y or less in step S <b> 35). The pattern comparison process is performed. If the pattern search module 213 has the tilt information (rotation, X inversion, Y inversion) of the functional block correspondence table T1 in FIG. 6, the pattern search module 213 compares the patterns with the tilt information.

一方、比較対象として選択した内側データ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 pattern search module 213 does not compare the patterns. . In other words, the pattern search module 213 excludes the inner data 60-1 that has been stored for more than one year from the date of the last reference, from among the stored inner data 60-1.

最後に参照された日付から長い期間が経過している場合、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 pattern search module 213 excludes the inner data 60-1 that has been stored for a long period from the date of the last reference, from among the already stored inner data 60-1.

なお、パターン検索モジュール213は、比較対象として選択した内側データ60−1が、「現日付−処理日付(OPC条件、図6)>365(Y)」に該当する場合に、パターンの比較を行わない旨、判定してもよい。同様にして、OPC処理が行われた日付から長い期間が経過している場合、OPC実行時の環境が大きく変化していることが予測される。したがって、パターン検索モジュール213は、既に保存されている内側データ60−1のうち、OPC処理が行われた日付から長い期間が経過している内側データ60−1を比較の対象から除外する。   The pattern search module 213 performs pattern comparison when the inner data 60-1 selected as the comparison target corresponds to “current date−processing date (OPC condition, FIG. 6)> 365 (Y)”. You may judge that there is no. Similarly, when a long period has passed since the date when the OPC processing was performed, it is predicted that the environment during OPC execution has changed greatly. Accordingly, the pattern search module 213 excludes the inner data 60-1 that has been stored for a long period from the date on which the OPC process has been performed, from among the already stored inner data 60-1.

このように、パターン検索モジュール213は、さらに、内側データを、データ格納領域310に保存された内側データのうち、基準の期間内にデータ格納領域310から読み出された内側データと比較する。これにより、パターン検索モジュール213は、既に保存されている内側データ60−1のうち、一致しない可能性の高い内側データ60−1を、予め、比較対象から除外する。このため、パターン検索モジュール213は、パターンの比較処理を効率的に行うことができる。   Thus, the pattern search module 213 further compares the inner data with the inner data read from the data storage area 310 within the reference period among the inner data stored in the data storage area 310. Thereby, the pattern search module 213 excludes the inner data 60-1 that has a high possibility of not matching among the already stored inner data 60-1 from the comparison target in advance. For this reason, the pattern search module 213 can efficiently perform pattern comparison processing.

S37:パターン検索モジュール213は、対象の機能ブロックの内側データ60−1のパターンが、既に保存されている内側データ60−1のパターンのいずれかと、一致または類似するか否かを判定する。   S37: The pattern search module 213 determines whether the pattern of the inner data 60-1 of the target functional block matches or is similar to any of the patterns of the inner data 60-1 that are already stored.

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 pattern search module 213 uses the correspondence information between the target functional block and the identification name of the matching or similar inner data as a function. Register in the block correspondence table T1. Then, the pattern search module 213 deletes the inner data 60-1 of the target functional block temporarily stored (S25 in FIG. 12).

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 pattern search module 213 assigns an identification name to the inner data of the target functional block. Then, the pattern search module 213 registers correspondence information between the target functional block and the identification name of the assigned inner data in the functional block correspondence table T1. Also, the pattern search module 213 performs the same processing when the score is equal to or greater than the reference value “X” (YES in S33).

このように、本実施の形態例における保存データ生成装置10は、既に保存されている内側データ60−1とパターンが同一または類似する内側データ60−1を重複して保存しない。そして、保存データ生成装置10は、対象の機能ブロックに、パターンが同一または類似する内側データ60−1の識別名を関連付ける。これにより、保存データ生成装置10は、パターンが同一の内側データ60−1を共通で使用することができる。   As described above, the saved data generation apparatus 10 according to the present embodiment does not duplicately save the inner data 60-1 whose pattern is the same as or similar to the already stored inner data 60-1. Then, the saved data generation device 10 associates the identification name of the inner data 60-1 having the same or similar pattern with the target functional block. Thereby, the storage data generation device 10 can use the inner data 60-1 having the same pattern in common.

[具体例]
図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 block extraction module 211. The drawing data 60 illustrated in FIG. 18 includes functional block areas such as a CPU core, a GPU core, a memory interface, an I / O controller, and a video controller. The functional block extraction module 211 determines the area of each functional block shown in FIG. 18, and cuts out the area of the inner data reduced by the outer edge area affected by the OPC process (S21 to S26 in FIG. 12).

具体的に、機能ブロック抜き取りモジュール211は、例えば、CPUコア601の領域C−1を切り出し、内側データC−1−1と外側データC−1−2とを取得する。機能ブロック抜き取りモジュール211は、例えば、内側データC−1−1及び外側データC−1−2をデータ格納領域310に保存する。   Specifically, the functional block extraction module 211 extracts, for example, the area C-1 of the CPU core 601 and acquires the inner data C-1-1 and the outer data C-1-2. The functional block extraction module 211 stores, for example, the inner data C-1-1 and the outer data C-1-2 in the data storage area 310.

また、機能ブロック抜き取りモジュール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 block extraction module 211 cuts out the area C-2 of the I / O controller 602 and acquires the inner data C-2-1 and the outer data C-2-2, for example. The functional block extraction module 211 stores, for example, the inner data C-2-1 and the outer data C-2-2 in the data storage area 310. The function block extraction module 211 acquires the inner data and the outer data in the same manner for the other function blocks, and stores them in the data storage area 310.

次に、パターン一致予測モジュール212は、機能ブロックごとに、対象の機能ブロックの内側データが、既に保存されている内側データと一致する可能性があるか否かを判定する(図31〜図33)。具体例では、パターン一致予測モジュール212は、CPUコア601の内側データC−1−1、及び、I/Oコントローラ602の内側データC−2−1が、既に保存されている内側データと一致する可能性がある旨、判定する(図16のS33のNO)。   Next, the pattern match prediction module 212 determines, for each functional block, whether or not the inner data of the target functional block may match the already stored inner data (FIGS. 31 to 33). ). In the specific example, the pattern matching prediction module 212 matches the inner data C-1-1 of the CPU core 601 and the inner data C-2-1 of the I / O controller 602 with already stored inner data. It is determined that there is a possibility (NO in S33 of FIG. 16).

そして、パターン検索モジュール213は、CPUコア601の内側データC−1−1、及び、I/Oコントローラ602の内側データC−2−1を、既に保存されている内側データと比較する。   Then, the pattern search module 213 compares the inner data C-1-1 of the CPU core 601 and the inner data C-2-1 of the I / O controller 602 with the already stored inner data.

図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 inner data groups 80 to 82 for each type of functional block stored in the data storage area 310. For example, the inner data group 80 of the CPU core 601 has inner data X-1-1, Y-1-1, and Z-1-1. The inner data group 81 of the I / O controller 602 includes inner data X-2-1, Y-2-1, and Z-2-1.

パターン検索モジュール213は、各機能ブロックの内側データ群80〜82を、処理日付または参照日付のうち新しい日付をキーにして、ソートする。図19の例において、CPUコア601の内側データ群80は、内側データY-1-1、X-1-1、Z-1-1の順にソートされる(図16のS34)。   The pattern search module 213 sorts the inner data groups 80 to 82 of each functional block by using a new date as a key among the processing date or the reference date. In the example of FIG. 19, the inner data group 80 of the CPU core 601 is sorted in the order of inner data Y-1-1, X-1-1, and Z-1-1 (S34 in FIG. 16).

また、この例において、内側データ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 pattern search module 213 compares the inner data Y-1-1 sequentially with the inner data C-1-1 of the CPU core 601 (S36).

図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 CPU core 601 matches the registered inner data Y-1-1 (YES in S37 of FIG. 16). Therefore, the pattern search module 213 deletes the inner data C-1-1 stored in the data storage area 310. Further, the pattern search module 213 updates the identification name “Y-1-1” to the inner data identification name of the functional block C-1 of the functional block correspondence table T1 (S38). Further, the pattern search module 213 updates the function block correspondence table T1 with the outer data identification name “C-1-2”, the type “CPU core”, the processing date, and the like of the function block C-1.

同様にして、図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 / O controller 602 matches the registered inner data Z-2-1 (YES in S37 of FIG. 16). Therefore, the pattern search module 213 deletes the inner data C-2-1 stored in the data storage area 310. Further, the pattern search module 213 updates the identification name “Z-2-1” to the inner data identification name of the functional block C-2 of the functional block correspondence table T1 (S38). Further, the pattern search module 213 updates the function block correspondence table T1 with the outside data identification name “C-2-2”, the type “I / O controller”, the processing date, and the like of the function block C-2.

図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 CPU core 601 and the registered inner data Y-1-1, X-1-1 and Z-1-1 do not match and are similar. (NO in S37 of FIG. 16). Therefore, the pattern search module 213 updates the identification name “C-1-1” to the inner data identification name of the function block C-1 in the function block correspondence table T1 (S39). Further, the pattern search module 213 updates the function block correspondence table T1 with the outer data identification name “C-1-2”, the type “CPU core”, the processing date, and the like of the function block C-1.

同様にして、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 / O controller 602 and the registered inner data X-2-1, Y-2-1, Z-2-1 do not match and are similar. (NO in S37 of FIG. 16). Therefore, the pattern search module 213 updates the identification name “C-2-1” to the inner data identification name of the functional block C-2 of the functional block correspondence table T1 (S39). Further, the pattern search module 213 updates the function block correspondence table T1 with the outside data identification name “C-2-2”, the type “I / O controller”, the processing date, and the like of the function block C-2.

以上のように、本実施の形態例における保存データ生成装置10は、機能ブロックごとのOPC処理後の描画データから、機能ブロックの外縁領域を除外した第1の内側データを取得する。また、保存データ生成装置10は、機能ブロックのOPC処理の処理条件に基づいて、第1の内側データを、記憶部(データ格納領域310)が保存する第2の内側データと比較するか否か判定する。そして、保存データ生成装置10は、比較すると判定した場合、第1の内側データと第2の内側データとのパターンを比較し、比較結果に応じて、第1の内側データを記憶部に保存する。   As described above, the saved data generation apparatus 10 according to the present embodiment acquires the first inner data excluding the outer edge area of the functional block from the drawing data after the OPC process for each functional block. Also, the saved data generation device 10 determines whether or not to compare the first inner data with the second inner data stored in the storage unit (data storage area 310) based on the processing conditions of the OPC process of the functional block. judge. When the storage data generation device 10 determines to compare, the storage data generation device 10 compares the patterns of the first inner data and the second inner data, and stores the first inner data in the storage unit according to the comparison result. .

このように、保存データ生成装置10は、同一のパターンを有する複数の機能ブロック間で、内側データを重複して保存することを抑制し、保存データのデータ容量を低減させることができる。また、保存データ生成装置10は、対象の内側データが、既に保存されている内側データと比較して一致する可能性があるか否かを予測することにより、一致する可能性が低く、比較処理に時間を要する内側データの比較処理を抑制することができる。これにより、本実施の形態例における保存データ生成装置10は、重複した描画データの保存を抑止するとともに、高速に、描画データを保存することができる。   As described above, the stored data generation device 10 can suppress the storage of the inner data redundantly between a plurality of functional blocks having the same pattern, and can reduce the data capacity of the stored data. Further, the stored data generation device 10 predicts whether or not the inner data of the target may match compared with the already stored inner data, so that the possibility of matching is low, and the comparison process is performed. It is possible to suppress the comparison processing of the inner data that takes time. As a result, the saved data generation apparatus 10 according to the present embodiment can save the drawn data at a high speed while suppressing the saving of the duplicated drawing data.

図21は、保存された内側データ及び外側データと、機能ブロック対応テーブルT1に基づいて描画データ60を再現する処理を説明する図である(図11のS20)。初めに、保存データ生成装置10は、機能ブロック対応テーブルT1を参照し、対象の製品の描画データ60が有する機能ブロックを抽出する。次に、保存データ生成装置10は、抽出した機能ブロックの内側データと外側データの識別名を取得する。   FIG. 21 is a diagram for explaining a process of reproducing the drawing data 60 based on the stored inner data and outer data and the functional block correspondence table T1 (S20 in FIG. 11). First, the saved data generation device 10 refers to the function block correspondence table T1 and extracts the function blocks included in the drawing data 60 of the target product. Next, the saved data generation apparatus 10 acquires identification names of the extracted inner data and outer data of the functional block.

例えば、保存データ生成装置10は、CPUコア601の機能ブロックの内側データの識別名「Y−1−1」、及び、外側データの識別名「C−1−2」を取得する。そして、保存データ生成装置10は、データ格納領域310に保存されている内側データY−1−1、及び、外側データC−1−2(図示せず)を読み出す。   For example, the saved data generation apparatus 10 acquires the identification name “Y-1-1” of the inner data of the functional block of the CPU core 601 and the identification name “C-1-2” of the outer data. Then, the saved data generation device 10 reads the inner data Y-1-1 and the outer data C-1-2 (not shown) saved in the data storage area 310.

また、保存データ生成装置10は、機能ブロック対応テーブルT1を参照し、機能ブロックの中心座標情報に基づいて、読み出した内側データY−1−1、及び、外側データC−1−2を配置する。保存データ生成装置10は、他の機能ブロックについても同様にして、データ格納領域310から、内側データ及び外側データを読み出して配置する。これにより、保存データ生成装置10は、保存データ(内側データ及び外側データ)、及び、機能ブロック対応テーブルT1に基づいて、図21に示す描画データ60を再現することができる。   Further, the saved data generation device 10 refers to the functional block correspondence table T1 and arranges the read inner data Y-1-1 and outer data C-1-2 based on the center coordinate information of the functional block. . The saved data generation apparatus 10 reads and arranges the inner data and the outer data from the data storage area 310 in the same manner for the other functional blocks. Thus, the saved data generation device 10 can reproduce the drawing data 60 shown in FIG. 21 based on the saved data (inner data and outer data) and the functional block correspondence table T1.

このように、本実施の形態例における保存データ生成装置10は、データ格納領域310が保存する外側データと、複数の機能ブロックで共通に使用する内側データとに基づいて、機能ブロックの描画データを生成することができる。これにより、保存データ生成装置10は、描画データの重複を抑制して保存する場合であっても、元の描画データを生成することができる。   As described above, the saved data generation apparatus 10 according to the present embodiment generates the functional block drawing data based on the outer data stored in the data storage area 310 and the inner data commonly used by a plurality of functional blocks. Can be generated. As a result, the saved data generation device 10 can generate the original drawing data even in the case where the drawing data is stored with the duplication being suppressed.

[他の実施の形態例]
上記の実施の形態例では、製品間で、同一のパターンを有する内側データを共通で使用するデータとして保存する場合を例示した。ただし、この例に限定されるものではない。保存データ生成装置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 data generation apparatus 10 may save the inner data having the same pattern that the same product has as common data.

これにより、保存データ生成装置10は、同一の製品を構成する、複数の機能ブロック間で、内側データを重複して保存することを抑制し、さらに、保存データのデータ容量を低減させることができる。   Thereby, the storage data generation device 10 can suppress the storage of the inner data redundantly among a plurality of functional blocks constituting the same product, and can further reduce the data capacity of the storage data. .

以上の実施の形態をまとめると、次の付記のとおりである。   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 Appendix 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.

(付記3)
付記2において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成方法。
(Appendix 3)
In Appendix 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.

(付記4)
付記2または3において、
前記複数の処理条件はそれぞれ重みを有し、
前記判定工程は、前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。
(Appendix 4)
In Appendix 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.

(付記5)
付記4において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成方法。
(Appendix 5)
In Appendix 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.

(付記6)
付記1乃至5のいずれかにおいて、
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、基準の期間内に前記記憶部から読み出された前記第2の内側データと比較する、保存データの生成方法。
(Appendix 6)
In any one of supplementary notes 1 to 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.

(付記7)
付記1乃至6のいずれかにおいて、
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、前記外縁領域の幅が、前記第1の内側データと同一の前記第2の内側データと比較する、保存データの生成方法。
(Appendix 7)
In any one of supplementary notes 1 to 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.

(付記8)
付記1乃至7のいずれかにおいて、
前記取得工程は、さらに、前記機能ブロックごとの描画データから、前記機能ブロックの外縁領域の第1の外側データを取得し、
前記保存工程は、さらに、前記第1の外側データを、前記記憶部が保存する第2の外側データと個別に前記記憶部に保存する、
保存データの生成方法。
(Appendix 8)
In any one of appendices 1 to 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.

(付記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 Appendix 10,
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 Supplementary Notes 10 to 14,
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 Appendix 17,
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 Appendix 17 or 18,
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 Appendix 19,
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において、
前記判定工程は、複数の前記処理条件に基づいて、前記第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.
請求項2において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成方法。
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.
請求項2または3において、
前記複数の処理条件はそれぞれ重みを有し、
前記判定工程は、前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第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.
請求項4において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成方法。
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乃至5のいずれかにおいて、
前記判定工程は、さらに、前記第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乃至6のいずれかにおいて、
前記判定工程は、さらに、前記第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乃至7のいずれかにおいて、
前記取得工程は、さらに、前記機能ブロックごとの描画データから、前記機能ブロックの外縁領域の第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.
請求項8において、さらに、
前記記憶部が保存する前記第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の内側データを取得し、
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第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.
JP2014141502A 2014-07-09 2014-07-09 Generation method of storage data, generation program of storage data, and generation device of storage data Pending JP2016018114A (en)

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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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