JP2016018114A - 保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置 - Google Patents
保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置 Download PDFInfo
- Publication number
- JP2016018114A JP2016018114A JP2014141502A JP2014141502A JP2016018114A JP 2016018114 A JP2016018114 A JP 2016018114A JP 2014141502 A JP2014141502 A JP 2014141502A JP 2014141502 A JP2014141502 A JP 2014141502A JP 2016018114 A JP2016018114 A JP 2016018114A
- Authority
- JP
- Japan
- Prior art keywords
- data
- functional block
- inner data
- pattern
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Preparing Plates And Mask In Photomechanical Process (AREA)
Abstract
【課題】重複した描画データの保存を抑止し、描画データを効率的に保存する、保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置を提供する。【解決手段】処理部は、機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得する取得工程と、前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定する判定工程と、比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する保存工程と、を有する。【選択図】図16
Description
本発明は、保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置に関する。
近年、半導体装置の微細化に伴い、半導体装置の製造工程で扱う製造データの量が飛躍的に増加している。例えば、65nm(nanometre:nm)テクノロジーのある製造データの総容量は、100GB(GigaByte:GB)になる。この場合、例えば、年間数十〜数百TB(TeraByte:TB)以上の容量が必要になる。これにより、製造データを保存するための設備投資(ストレージデバイスの増強等)が定期的に行われており、コストが発生している。
保存するデータの容量を抑えるために、半導体装置の設計工程で生成される設計データを機能ブロックごとに階層化して保存する。設計データの保存については、例えば、特許文献1〜3に記載される。
しかし、設計データから生成される描画データ(レチクル描画データ、EB(Electron Beam:EB)直描(直接描画)データ等)は、フラットデータに変換される。したがって、描画データを階層化して保存することは困難であり、保存するデータ容量を抑えることが困難であった。
1つの側面は、本発明は、重複した描画データの保存を抑止し、描画データを効率的に保存する、保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置を提供する。
第1の側面は、処理部は、機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得する取得工程と、前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定する判定工程と、比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する保存工程と、を有する。
第1の側面によれば、重複した描画データの保存を抑止し、描画データを効率的に保存する。
以下、図面にしたがって本発明の実施の形態について説明する。ただし、本発明の技術的範囲はこれらの実施の形態に限定されず、特許請求の範囲に記載された事項とその均等物まで及ぶものである。
[保存データ生成装置の構成]
図1は、本実施の形態例における保存データ生成装置のハードウェア構成を説明する図である。保存データ生成装置10は、CPU(Central Processing Unit:CPU)101、メモリ102、通信インタフェース部103、表示部105、入力部106、外部インタフェース部107を有する。各部は、バス104を介して相互に接続する。
図1は、本実施の形態例における保存データ生成装置のハードウェア構成を説明する図である。保存データ生成装置10は、CPU(Central Processing Unit:CPU)101、メモリ102、通信インタフェース部103、表示部105、入力部106、外部インタフェース部107を有する。各部は、バス104を介して相互に接続する。
メモリ102は、RAM(Random Access Memory:RAM)201、不揮発性メモリ202を有する。不揮発性メモリ202は、HDD(Hard disk drive:HDD)、不揮発性半導体メモリ等で構成される。表示部105は、例えば、ディスプレイ等の表示画面を示し、入力部106は、例えば、キーボードやマウス等を示す。外部インタフェース部107は、例えば、外部のストレージサーバ320と接続する。
CPU101は、バス104を介してメモリ102等と接続すると共に、保存データ生成装置10全体の制御を行う。通信インタフェース部103は、ネットワーク50を介して、外部の通信機器と接続する。RAM202は、CPU101が処理を行うデータ等を記憶する。不揮発性メモリ202は、CPU101が実行するOS(Operating System:OS)のプログラムを格納する領域(図示せず)、保存データ生成プログラムを格納する領域210、図形及びOPC(Optical Proximity Correction:OPC)プログラムを格納する領域214を備える。
ストレージサーバ320は、データ格納領域310を有するストレージデバイス300を備える。ストレージデバイス300は、例えば、HDDである。データ格納領域310は、設計工程で生成されるレイアウトデータや保存データを格納する。レイアウトデータとは、半導体装置を構成する各セルパターンの配置データを示す。保存データの詳細は、後述する。
図形及びOPCプログラム領域214に記憶された図形及びOPCプログラム(以下、図形OPC及びプログラム214と称する)は、CPU101の実行によって、本実施の形態例における図形処理と、OPC処理とを実現する。図形処理、及び、OPC処理については、図3にしたがって後述する。
また、保存データ生成プログラム領域210に記憶された保存データ生成プログラム(以下、保存データ生成プログラム210と称する)は、CPU101の実行によって、本実施の形態例における保存データの生成処理を実現する。保存データ生成処理は、描画データに基づいて保存データを生成し、ストレージデバイス300のデータ格納領域310に記憶する。本実施の形態例における描画データは、例えば、OPC処理後のレチクル描画データや、EB(Electron Beam:EB)直描(直接描画)データ等である。
[保存データ生成装置のソフトウェアモジュール構成]
図2は、図1に示した保存データ生成プログラム210のソフトウェアモジュール構成図である。保存データ生成プログラム210は、図2に示すように、機能ブロック抜き取りモジュール211、パターン一致予測モジュール212、及び、パターン検索モジュール213を有する。機能ブロック対応テーブルT1、及び、パターン検索判断基準テーブルP1は、メモリ102に格納されている。
図2は、図1に示した保存データ生成プログラム210のソフトウェアモジュール構成図である。保存データ生成プログラム210は、図2に示すように、機能ブロック抜き取りモジュール211、パターン一致予測モジュール212、及び、パターン検索モジュール213を有する。機能ブロック対応テーブルT1、及び、パターン検索判断基準テーブルP1は、メモリ102に格納されている。
機能ブロック対応テーブルT1は、製品ごとに、描画データが有する機能ブロックと保存データとの対応情報や機能ブロックの情報等を有するテーブルである。機能ブロックとは、半導体装置を構成するセルパターンの集合であって、機能単位のセルパターンを示す。機能ブロック対応テーブルT1の詳細については、図6にしたがって後述する。また、パターン検索判断基準テーブルP1については、図17にしたがって後述する。
機能ブロック抜き取りモジュール211は、描画データから、機能ブロックの領域を識別する。そして、機能ブロック抜き取りモジュール211は、機能ブロックごとに、機能ブロックの外縁領域を除外した内側データと、外縁領域の外側データとを取得する。内側データ及び外側データの詳細、及び、機能ブロック抜き取りモジュール211の処理の詳細については、図12〜図15にしたがって後述する。
パターン一致予測モジュール212は、パターン検索判断基準テーブルP1に基づいて、取得した内側データのパターンが、既に保存されている内側データのパターンと一致する可能性があるか否かを予測する。具体的に、パターン一致予測モジュール212は、機能ブロックのOPC処理の条件にしたがって、一致する可能性があるか否かを予測する。パターン一致予測モジュール212の処理の詳細は、図16、図17にしたがって後述する。
そして、パターン検索モジュール213は、パターン一致予測モジュール212が一致する可能性があると予測した場合、取得した内側データのパターンと、データ格納領域310に既に保存されている内側データのパターンとを比較する。いずれかの内側データのパターンと同一または類似する場合、パターン検索モジュール213は、取得した内側データをデータ格納領域310に保存しない。つまり、同一または類似する内側データは、取得した内側データと共通で使用の内側データとして保存される。
一方、いずれの内側データのパターンとも同一ではなく類似もしていない場合、パターン検索モジュール213は、取得した内側データをデータ格納領域310に保存する。つまり、既にデータ格納領域310に保存されている内側データと、取得した内側データとは、個別にデータ格納領域310に保存される。パターン検索モジュール213の処理の詳細については、図16にしたがって後述する。
[保存データ生成処理の概要]
図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)の描画データである。
図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)の描画データである。
図1に示した図形OPCプログラム214は、レイアウトデータ61−A、61−Bを入力として、描画データ60−A、60−Bを生成する。レイアウトデータ61−Aは製品Aのレイアウトデータを、レイアウトデータ61−Bは製品Bのレイアウトデータを示す。レイアウトデータ61−A、61−Bは、階層化されたデータである。
図形OPC処理プログラム214は、レイアウトデータ61−A、61−Bに対して図形処理、及び、OPC処理を行うことによって、フラットデータである描画データ60−A、60−Bを生成する。
図形OPC処理プログラム214は、図形処理として、レイアウトデータ61−A、61−Bに対し、サイジング処理や回転処理等の処理を行う。また、図形OPC処理プログラム214は、OPC処理として、光近接効果による影響の予測に基づいて、レイアウトデータの通りの現像パターンが得られるように、パターンの形状を補正する。
なお、図形OPC処理プログラム214は、他の製品についても同様にして、レイアウトデータ61−C、61−Dを入力として、描画データ(図示せず)を生成する。
レイアウトデータ61−A、61−Bのそれぞれは、複数の機能ブロックのパターンを有する。また、双方のレイアウトデータ61−A、61−Bは、パターンが同一の機能ブロックを有することがある。ただし、OPC処理では、パターンが同一であっても、その周辺のパターンやパターンの向き等に応じて、パターンの補正内容が異なる。
したがって、レイアウトデータ61−A、61−Bが、パターンが同一の機能ブロックを有する場合であっても、描画データ60−A、60−Bにおける機能ブロックのパターンの形状は、異なってくることがある。この場合、機能ブロックの周辺の機能ブロックが異なることにより、OPC処理による、機能ブロックの外縁部分のパターンの補正内容が異なることを示す。OPC処理によるパターンの変化については、図7、図8にしたがって後述する。
また、OPC処理後の描画データ60−A、60−Bは、階層化されていないフラットデータであるため、データ容量が大きい。また、描画データ60−A、60−Bのパターンの形状は、データ処理を行う環境(OS、OPCツール、ツールのバージョン等)に応じて変化する。このため、過去に生成した描画データ60−A、60−Bと同一のデータを、再度、生成することが困難な場合がある。このため、過去に生成した描画データ60−A、60−Bを長期間、保持しておく必要が生じ、データを保存するために多くの容量が必要になる。
したがって、本実施の形態例における保存データ生成装置10は、描画データ60−A、60−Bが有する各機能ブロックの領域のうち、OPC処理の結果、周辺の機能ブロックに応じてパターンが変化する外縁の領域を除外し、内側データを切り出す。つまり、内側データの領域は、OPC処理において、周辺の機能ブロックに応じたパターンの変化が生じない領域である。このため、同一のパターンを有する2つの機能ブロックの内側データは、OPC処理後でも同一のパターンを有する。また、保存データ生成装置10は、機能ブロックの外縁の領域を外側データとして切り出す。
そして、保存データ生成装置10は、パターンが同一の機能ブロックの内側データを、共通で使用するデータとしてデータ格納領域310(図1)保存する。保存データ生成装置10は、外側データについては、機能ブロックごとに個別にデータ格納領域310に保存する。保存データは、このようにデータ格納領域310に保存された、内側データ及び外側データを示す。
このように、保存データ生成装置10は、描画データ60−A、60−Bの機能ブロックごとの内側データのうち、他の内側データとパターンが同一の内側データを重複して保存しないことで、データ格納領域310に保存する容量を抑える。
ただし、描画データ60−A、60−Bは画像データであることから、比較処理には時間がかかる。また、OPC処理によって、小刻みにパターンが補正されることから、内側データのパターンも複雑な形状を有する。また、膨大な数の内側データと比較する場合、対象の内側データとパターンが同一の内側データを検索する処理には多大な処理時間を要する。
したがって、保存データ生成装置10は、OPCの処理条件に基づいて、対象の内側データを、既に保存されている内側データのいずれかと一致する可能性があるか否かを判定する。そして、一致する可能性がある場合に、保存データ生成装置10は、内側データのパターンを、既に保存されている内側データのパターンと比較する。
図3において、まず、保存データ生成装置10の機能ブロック抜き取りモジュール211は、製品A、Bの描画データ60−A、60−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を取得する。
機能ブロック抜き取りモジュール211は、取得した外側データA−1−2、A−2−2を、保存データとして、データ格納領域310に格納する。また、機能ブロック抜き取りモジュール211は、機能ブロックと、外側データA−1−2、A−2−2との対応情報を機能ブロック対応テーブルT1に更新する。
また、パターン一致予測モジュール212は、内側データA−1−1、A−2−1を、既に保存されている内側データと一致する可能性があるか否かを判定する。一致する可能性が低いと予測した場合、パターン一致予測モジュール212は、内側データA−1−1、A−2−1を、保存データとしてデータ格納領域310に保存する。また、パターン一致予測モジュール212は、機能ブロックと、内側データA−1−1、A−2−1との対応情報を機能ブロック対応テーブル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に更新する。
図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に保存されている場合を示す。
同様にして、機能ブロック抜き取りモジュール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を含む)と一致する可能性があるか否かを判定する。
図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の保存に要する容量を抑制する。
また、図3の例において、内側データB−1−1は、既に保存されている内側データと、パターンが同一ではなく類似もしていないものとする。この場合、パターン検索モジュール213は、内側データB−1−1をデータ格納領域310に保存し、機能ブロックB−1と内側データB−1−1との対応情報を機能ブロック対応テーブルT1に更新する。
ここで、図3で示した、製品A、製品Bの描画データ60−A、60−Bの一例を図4、図5にしたがって説明する。その後、機能ブロック対応テーブルT1の一例を図6にしたがって説明する。
図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は、製品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の領域も同様にして、中心座標を有する。
図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の領域も同様にして、中心座標を有する。
図4、図5に示すように、機能ブロックの数や座標(位置)、及び、サイズは、製品に応じて異なる。また、たとえ、描画データ60−A、60−Bが同一の種類の機能ブロックを有する場合であっても、当該機能ブロックのパターンの形状や、機能ブロックの領域や位置等は、描画データ60−A、60−B間で、異なることが多い。なお、図4、図5の例では、レチクル描画データ60−A、60−Bが有する各機能ブロックの領域は矩形であるが、矩形に限定されるものではない。
図6は、図3で示した機能ブロック対応テーブルT1の一例を説明する図である。図3で前述したとおり、機能ブロック対応テーブルT1は、製品ごとに、機能ブロックの情報を管理するデータベースである。また、図6の機能ブロック対応テーブルT1は、図4、図5のレチクル描画データ60−A、60−Bに対応する。
図6に示す機能ブロック対応テーブルT1は、内側データ識別名、外側データ識別名、中心座標、傾き情報(回転、X反転、Y反転)、機能ブロックの種類、OPC条件、最終参照日、を有する。
内側データ識別名は、複数の内側データを識別する名前である。外側データ識別名は、複数の外側データを識別する名前である。中心座標は、図4、図5で示したように、機能ブロックの中心の座標を示す。また、傾き情報の回転は、機能ブロックの回転角度を示す。傾き情報のX反転は、機能ブロックがX軸方向に反転する場合の角度を示す。傾き情報のY反転は、機能ブロックがY軸方向に反転する場合の角度を示す。
また、機能ブロックの種類は、機能ブロックが実現する機能の種類を示す。機能ブロックの種類は、例えば、SOCチップでは、SRAMやI/Oコントローラ、CPUコア等である。OPC条件は、OPC処理の実行時の条件である。OPC処理の実行時の条件とは、例えば、OPC処理を実行したツール名(プログラム名)、ツールのバージョン情報、OPC処理の実行日時等である。また、最終参照日は、内側データが、データ格納領域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コアである。
さらに、機能ブロック対応テーブルT1によると、機能ブロックA−1は、バージョン「Ver2.1.1」のOPCプログラム「Program−A」にしたがって、「2014/02/28」にOPC処理が行われたことを示す。また、機能ブロック対応テーブルT1によると、機能ブロックA−1の内側データA−1−1は、未だ、参照されていないことを示す。
同様にして、2番目の機能ブロックA−2の内側データ識別名は「A−2−1」であって、外側データ識別名は「A−2−2」である。また、図4で示したとおり、機能ブロックA−2の中心座標は(X,Y)=(1500,2000)である。また、機能ブロックA−2は回転しておらず、種類は機能ブロックA−1と同様にして、CPUコアである。つまり、製品Aの半導体装置は、CPUコアを2つ搭載することを示す。
なお、機能ブロックA−1と同一の製品であることから、機能ブロックA−1〜A−4のOPC条件は共通である。また、機能ブロック対応テーブルT1によると、機能ブロックA−2の内側データA−2−1の最終参照日は、日付「2014/03/01」である。これは、日付「2014/03/01」に、内側データA−2−1が参照されたことを示す。
機能ブロック対応テーブルT1は、他の機能ブロックA−3、A−4についても、同様にして情報を有する。なお、図6に示す、内側データ識別名「A−0」は、製品Aの描画データ60−Aにおける、機能ブロックA−1〜A−4以外の領域の情報を示す。
また、図6の機能ブロック対応テーブルT1によると、製品Bの機能ブロックのうち、2番目の機能ブロックB−2の内側データ識別名は「A−2−1」、外側データ識別名は「B−2−2」である。即ち、製品Bの機能ブロックB−2の内側データ識別名に、製品Aの機能ブロック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」が登録される。
[OPC処理]
次に、図3で説明した、OPC処理前後の機能ブロックのパターンの変化を説明する。図3で説明したとおり、同一のパターンを有する機能ブロック間で、周辺の機能ブロックの配置や向き等が異なる場合、OPC処理後における、双方の機能ブロックの外縁部分のパターンの形状が異なることがある。この点を、図7にしたがって説明する。
次に、図3で説明した、OPC処理前後の機能ブロックのパターンの変化を説明する。図3で説明したとおり、同一のパターンを有する機能ブロック間で、周辺の機能ブロックの配置や向き等が異なる場合、OPC処理後における、双方の機能ブロックの外縁部分のパターンの形状が異なることがある。この点を、図7にしたがって説明する。
図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の処理に対応する。
図7の半導体装置Xのレイアウトデータ61−Xは、3つの機能ブロックa〜cを有する。また、半導体装置Yのレイアウトデータ61−Yは、5つの機能ブロックd〜hを有する。図7の例において、レイアウトデータ61−Xの機能ブロックaと、レイアウトデータ61−Yの機能ブロックdとは、同一のパターンを有する(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と異なっている。
前述したとおり、レイアウトデータ61−X、61−Yにおける、機能ブロックaと機能ブロックdとは、パターンが同一である(Y1)。ただし、機能ブロックaと機能ブロックdとでは、周辺に位置する機能ブロックが異なる。具体的に、レイアウトデータ61−Xにおける機能ブロックaの周辺には、機能ブロックb、機能ブロックcが位置し、機能ブロック間の距離は大きい。一方、レイアウトデータ61−Yにおける機能ブロックdの周辺には、機能ブロックe、機能ブロックg、機能ブロックhが位置し、機能ブロック間の距離は小さい。
これにより、図7に示すように、OPC処理214の結果、描画データ60−Xの機能ブロックaxと、描画データ60−Yの機能ブロックdxとでは、機能ブロックの外縁部分のパターンの形状が異なっている(Y2)。
図8は、OPC処理前後の機能ブロックのパターンの変化を模式的に説明する第2の図である。図8のレイアウトデータ61−X、61−Yは、図7と同様である。図8では、図7の描画データ60−X、60−Yに対して、OPC処理214において、周囲の機能ブロックに応じてパターンの形状が変化する領域が網点で表されている。描画データ60−X、60−Yの機能ブロックの領域の網点で表される領域は、機能ブロックの外縁領域であって、OPC処理214によって周囲の機能ブロックの影響を受ける領域を示す。
OPC処理214は、網点で表される領域の内側の領域(例えば、ax−1、dx−1)に位置するパターンに対しても行われている。ただし、網点で表される領域の内側に位置するパターンは、周囲の機能ブロックの配置や向き等の影響を受けない。したがって、同一のパターンであれば、OPC処理の結果、同一のパターンの形状に補正される。したがって、描画データ60−Xにおける機能ブロックaの内側領域ax−1と、60−Yにおける機能ブロックdの内側領域dx−1とでは、パターンが一致する(Y3)。
次に、図8で説明した、OPC処理214によって周囲の機能ブロックの影響を受ける、機能ブロックの外縁領域を、詳細に説明する。
図9は、OPC処理によって、周囲の機能ブロックの影響を受ける、機能ブロックの外縁領域を説明する第1の図である。図9は、OPC処理214によって機能ブロックのパターンが縮小する場合を説明する。
図9において、機能ブロックhの領域61h、及び、機能ブロックiの領域61iは、OPC処理前のレイアウトデータにおけるパターンを示す。また、図9において、機能ブロックhの領域60h、及び、機能ブロックiの領域60iは、OPC処理後の描画データにおけるパターンを示す。
図9の例において、例えば、機能ブロックhの領域61hと、機能ブロックiの領域61iとの間隔が狭い。機能ブロックの間隔が狭い場合、OPC処理214を行わない場合、パターン同士がつながってブリッジが生じてしまうことがある。このため、OPC処理214では、機能ブロック間のパターンのブリッジを回避するために、機能ブロックh、iのパターンを削って縮小する。描画データの機能ブロックhの領域60h、及び、機能ブロックiの領域60iにおける横線領域は、OPC処理によってパターンが削られた領域を示す。
つまり、機能ブロックhの領域60h、及び、機能ブロックiの領域60iにおける外周から点線までの領域が、図7で網点によって示した、周囲の機能ブロックの影響を受ける外縁領域に相当する。領域60h−1、60i−1は、機能ブロックhの領域60h、及び、機能ブロックiの領域60iの外周から、図9に示す幅C1分の領域を除外した点線内の領域を示す。即ち、領域60h−1、60i−1は、内側データの領域に相当する。
なお、内側データの領域60h−1、60i−1は、例えば、OPC処理214によって、周囲の機能ブロックの影響を受けて生じる変化の度合いが、許容できる程度まで小さい領域を示す。
図10は、OPC処理によって、周囲の機能ブロックの影響を受ける、機能ブロックの外縁領域を説明する第2の図である。図10は、OPC処理214によって機能ブロックのパターンが拡張する場合を説明する。
図10において、機能ブロックjの領域61j、及び、機能ブロックkの領域61kは、OPC処理前のレイアウトデータにおけるパターンを示す。また、図10において、機能ブロックjの領域60j、及び、機能ブロックkの領域60kは、OPC処理後の描画データにおけるパターンを示す。
図10の例において、例えば、機能ブロックjの領域61jと、機能ブロックkの領域61kとの間隔が広い。機能ブロックの間隔が広い場合、パターンを広くしてもパターン同士のブリッジが発生する可能性は低い。このため、OPC処理では、機能ブロックj、kのパターンを拡張する。これにより、幅の狭いパターンの断線(ネック)が回避できる。描画データの機能ブロックj、kの領域60j、60kにおける横線領域は、OPC処理によってパターンが拡張された領域を示す。
つまり、機能ブロックjの領域60j、及び、機能ブロックkの領域60kにおける外周から点線までの領域が、図7で網点によって示した、周囲の機能ブロックの影響を受ける外縁領域に相当する。領域60j−1、60k−1は、機能ブロックjの領域60j、及び、機能ブロックkの領域60kの外周から、図10に示す幅C1分の領域を除外した点線内の領域を示す。即ち、領域60j−1、60k−1は、内側データの領域に相当する。
図9、図10で説明した、機能ブロックの内側データを画定する幅C1は、例えば、光源によって露光された部分からの距離と光の強度分布等にしたがって、実験的に測定される。幅C1は、例えば、保存データ生成装置10に対して、予め設定される。
図3〜図10で説明してきたように、本実施の形態例における保存データ生成装置10は、機能ブロックごとのOPC処理後の描画データから、機能ブロックの外縁領域を除外した内側データを取得する。そして、保存データ生成装置10は、機能ブロックのOPCの処理条件に基づいて、取得した内側データを、データ格納領域310が保存する内側データと比較するか否か判定する。そして、保存データ生成装置10は、比較すると判定した場合、取得した内側データと、データ格納領域310が保存する内側データとのパターンを比較し、比較結果に応じて、取得した内側データをデータ格納領域310に保存する。
このように、保存データ生成装置10は、同一のパターンを有する複数の機能ブロック間で、ストレージデバイス300に内側データを重複して保存することを抑制する。これにより、保存データ生成装置10は、ストレージデバイス300に保存する保存データのデータ容量を低減させることができる。
また、保存データ生成装置10は、検索処理の前に、取得した内側データが、既に保存されている内側データと比較して一致する可能性があるか否かを予測する。そして、保存データ生成装置10は、一致する可能性がある場合に、取得した内側データと、既に保存されている内側データと比較する。さらに、保存データ生成装置10は、比較処理に時間を要するか否かを予測する。
これにより、保存データ生成装置10は、比較の結果一致する可能性が低く、比較処理に時間を要することが予測される場合、内側データの比較処理を回避することができる。このため、保存されている内側データの数が多い場合でも、保存データ生成装置10は、高速に、保存データ生成処理を行うことができる。したがって、本実施の形態例における保存データ生成装置10は、重複した描画データの保存を抑止するとともに、高速に、描画データを保存することができる。
また、保存データ生成装置10は、機能ブロックごとの描画データから、機能ブロックの外縁領域の外側データを取得し、外側データとデータ格納領域310が保存する外側データとを、個別にデータ格納領域310に保存する。保存データ生成装置10は、OPC処理において周辺の機能ブロックの影響を受ける外側データについては、機能ブロックごとに保存する。
次に、図3〜図10で説明してきた、本実施の形態例における保存データ生成処理をフローチャート図にしたがって説明する。初めに、保存データ生成処理の概要を、図11のフローチャート図にしたがって説明する。
[保存データ生成処理の概要]
図11は、本実施の形態例における保存データ生成処理の概要を説明するフローチャート図である。図11のフローチャート図において、描画データ60を蓄積して保存する工程F1は、工程S11〜S19を有する。また、保存した描画データ60に基づいて、ある製品の描画データ60を再生する工程F2は、工程S20を有する。
図11は、本実施の形態例における保存データ生成処理の概要を説明するフローチャート図である。図11のフローチャート図において、描画データ60を蓄積して保存する工程F1は、工程S11〜S19を有する。また、保存した描画データ60に基づいて、ある製品の描画データ60を再生する工程F2は、工程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処理結果を有するログ情報である。
S12:保存データ生成装置10の機能ブロック抜き取りモジュール211は、描画データ60と結線情報62とセルネーミングルール63とに基づいて、描画データ60の機能ブロックの領域を識別する。結線情報62、及び、セルネーミングルール63は、メモリ102に格納されている。
結線情報62は、電子回路における端子間の接続情報のデータを示す情報であって、例えば、ネットリスト等である。また、機能ブロック抜き取りモジュール211は、識別した機能ブロックごとに、内側データ60−1(例えば、図3のA−1−1に対応)及び外側データ60−2(例えば、図3のA−1−2に対応)を取得し、仮保存する。処理の詳細については、図12のフローチャート図にしたがって後述する。
S13:保存データ生成装置10のパターン一致予測モジュール212は、サマリーレポート64からOPC処理実行時のパラメータを取得する。OPC処理実行時のパラメータについては、図16のフローチャート図に従って、後述する。
S14:パターン一致予測モジュール212は、工程S13で取得したパラメータに基づいて、パターン検索判断基準テーブルP1を参照する。そして、パターン一致予測モジュール212は、描画データ60が有する機能ブロックの内側データ60−1が、既に保存されている他の内側データ60−1のいずれかと、一致または類似する可能性があるか否かを予測する。処理の詳細については、図16のフローチャート図にしたがって後述する。
S15:一致または類似する可能性があると予測した場合(S14のYES)、保存データ生成装置10のパターン検索モジュール213は、保存対象の描画データ60が有する各機能ブロックの内側データ60−1を、既に保存されている内側データ60−1と比較する。
S16:内側データ60−1が、既に保存されている内側データ60−1と一致せず類似もしていない場合(S15のNO)、パターン検索モジュール213は、機能ブロックと内側データ60−1との対応情報を機能ブロック対応テーブルT1に更新する。また、パターン検索モジュール213は、内側データ60−1のパターンをデータ格納領域310(図1)に、正式に保存する。
S17:内側データ60−1が、既に保存されている内側データ60−1と一致、または類似している場合(S14のYES)、パターン検索モジュール213は、機能ブロックと、一致または類似している内側データ60−1との対応情報を、機能ブロック対応テーブルT1に更新する。このとき、パターン検索モジュール213は、工程S12で仮保存した内側データ60−1削除する。
S18:パターン検索モジュール213は、機能ブロックと外側データ60−2との対応情報を機能ブロック対応テーブルT1に更新するとともに、取得した外側データ60−2のパターンをデータ格納領域310に保存する。
S19:保存データ生成装置10は、描画データが保存されている製品の再注文や、不良な機能ブロックを有する製品の調査要求等を受け付ける。
S20:保存データ生成装置10は、製品の再注文に応じて、機能ブロック対応テーブルT1を参照し、データ格納領域310が記憶する内側データ60−1と外側データ60−2とを読み出すことにより、描画データ65を再生成する。このように、本実施の形態例における保存データ生成装置10は、機能ブロック対応テーブルT1と、データ格納領域310が保存する保存データ(内側データ60−1及び外側データ60−2)とに基づいて、描画データを再生成できる。
また、保存データ生成装置10は、製品の調査要求に応じて機能ブロック対応テーブルT1を参照し、障害が発生する可能性がある機能ブロックを有する製品を抽出する。製品の障害が検出された場合、データ格納領域310に保存された描画データに基づいて、障害の波及範囲を検知することが求められる場合がある。前述したとおり、描画データは階層化されていないデータであり、同一のパターンの有する機能ブロックであってもOPC処理によってパターンの形状が変化している場合がある。したがって、障害が発生した機能ブロックが検知されている場合でも、描画データに基づいて、同一の機能ブロックを有する製品を抽出することが困難であった。
これに対し、本実施の形態例における保存データ生成装置10は、同一のパターンを有する複数の機能ブロック間で、内側データを共通で使用する。したがって、保存データ生成装置10は、同一のパターンを有する機能ブロックを容易に検出することができる。
例えば、保存データ生成装置10は、不良な機能ブロックを特定する。そして、保存データ生成装置10は、機能ブロック対応テーブルT1に基づいて、不良な機能ブロックと、内側データ60−1を共通で使用する機能ブロックを検出する。そして、保存データ生成装置10は、検出した機能ブロックが構成する製品を抽出することによって、障害が発生する可能性がある製品の範囲を調査できる。
このように、保存データ生成装置10は、障害が発生した機能ブロックと内側データを共有する機能ブロックを検索することで、障害が発生する可能性がある製品を効率的に検出することができる。したがって、保存データ生成装置10は、機能ブロック対応テーブルT1と、データ格納領域310が保存する保存データ(内側データ60−1及び外側データ60−2)とに基づいて、障害の波及範囲を短時間で、容易に検出することができる。
[機能ブロック抜き取り処理(図11のS12)]
図12は、機能ブロック抜き取りモジュール211(図2)の処理(図11のS12)を説明するフローチャート図である。機能ブロック抜き取りモジュール211は、描画データ60が有する各機能ブロックについて、工程S21〜S26の処理を行う。
図12は、機能ブロック抜き取りモジュール211(図2)の処理(図11のS12)を説明するフローチャート図である。機能ブロック抜き取りモジュール211は、描画データ60が有する各機能ブロックについて、工程S21〜S26の処理を行う。
S21:機能ブロック抜き取りモジュール211は、結線情報62とセルネーミングルール63とに基づいて、機能ブロックの情報を取得する。ネットリストの各セルは、機能ブロックに対応する。機能ブロック抜き取りモジュール211は、ネットリストの各セル名に基づいて、セルネーミングルール63を参照し、セル名に対応するデバイスパターン(機能ブロックの種類)を取得する。
S22:機能ブロック抜き取りモジュール211は、セル名に基づいてレイアウトデータ61を参照し、機能ブロックの中心座標(X,Y)を取得する。この例において、座標は、描画データ60の左下部を座標(X,Y)=(0,0)とした場合の相対的な座標である。ここで、工程S21、S22の処理を図13にしたがって説明する。
図13は、図12の工程S21及びS22を説明する図である。図13は、結線情報62、セルネーミングルール63、及び、レイアウトデータ61の一例を有する。
図13の結線情報62は、ネット名ごとに結線情報62と、対応するセル名の情報を有する。図13の結線情報62は、ネット名「Net1」に対応して、結線情報62「A−1---A−2」及びセル名「A1111」を有する。同様にして、図13の結線情報62は、ネット名「Net2」に対応して、結線情報62「A−21---A−12」及びセル名「A2222」を有する。
図13のセルネーミングルール63は、セル名ごとにデバイスパターン(機能ブロックの種類)を有する。図13のセルネーミングルール63は、セル名「A1111」に対応して、デバイスパターン「SRAM1」を有する。同様にして、図13のセルネーミングルール63は、セル名「A2222」に対応して、デバイスパターン「SRAM2」を有する。また、図13のレイアウトデータ61は、セル名ごとに、セルの領域を示す座標情報を有する。
具体的に、機能ブロック抜き取りモジュール211は、結線情報62に基づいて、セル名「A1111」を取得する。そして、機能ブロック抜き取りモジュール211は、セル名「A1111」に基づいて、セルネーミングルール63を参照し、セル名「A1111」に対応する機能ブロックの種類「SRAM1」を取得する(図12のS11)。
そして、機能ブロック抜き取りモジュール211は、セル名「A1111」に基づいて、レイアウトデータ61を参照して、セル名「A1111」が位置する座標を取得する。そして、機能ブロック抜き取りモジュール211は、取得した座標に基づいて、セル名「A1111」の中心座標(X,Y)を算出する(図12のS12)。
このように、機能ブロック抜き取りモジュール211は、結線情報62、セルネーミングルール63、及び、レイアウトデータ61に基づいて、機能ブロックごとの種類、及び、中心座標(X,Y)を取得する。図12のフローチャート図に戻る。
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」を算出することによって、グリッドによる誤差を吸収する。
C1=OPC処理時の周辺取り込み幅+MASK最小グリッド…式1
式1における、OPC処理時の周辺取り込み幅は、例えば、実験的に測定された実測値に基づいて算出される。この例では、OPC処理時の周辺取り込み幅は、例えば、「1um」である。OPC処理時の周辺取り込み幅は、OPC処理で周囲のパターンに応じて影響が生じる距離範囲である。また、式1における、MASK最小グリッドは、描画データ60の(マスクの)グリッドの最小単位である。式1における、MASK最小グリッドは、例えば、「0.05mm」である。機能ブロック抜き取りモジュール211は、MASK最小グリッドを加算して値「C1」を算出することによって、グリッドによる誤差を吸収する。
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」の座標を取得する。
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」の座標を取得する。
S25:機能ブロック抜き取りモジュール211は、描画データ60から、工程S24で算出した領域「B1」のデータを抜き取り、内側データ60−1として一時的に保存する。
S26:機能ブロック抜き取りモジュール211は、機能ブロックの領域から、内側データ60−1の領域「B1」を除いた外縁領域の外側データ60−2を、データ格納領域310に保存する。また、機能ブロック抜き取りモジュール211は、さらに、描画データ60における、機能ブロックの領域以外の領域のデータを、データ格納領域310に保存する。
図14、図15は、図12のフローチャート図にしたがって、図4、図5に示した製品A、製品Bの描画データ60−A、60−Bから切り出した、内側データ60−1及び外側データ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を切り出す。
図14の例において、機能ブロックA−1の内側データ識別名は「A−1−1」であって、外側データ識別名は「A−1−2」である。同様にして、機能ブロックA−2の内側データ識別名は「A−2−1」であって、外側データ識別名は「A−2−2」である。他の機能ブロックA−3、A−4についても同様である。これらの識別名は、図6の機能ブロック対応テーブルT1に対応する。
図15は、図5に示した製品Bの描画データ60−Bの内側データ60−1及び外側データ60−2を示す図である。図15に示すように、機能ブロック抜き取りモジュール211は、機能ブロックB−1、B−2、B−3、B−4のそれぞれについて、内側データ60−1、及び、網点で表す外側データ60−2を切り出す。
図15の例において、機能ブロックB−1の内側データ識別名は「B−1−1」であって、外側データ識別名は「B−1−2」である。同様にして、機能ブロックB−2の内側データ識別名は「B−2−1」であって、外側データ識別名は「B−2−2」である。他の機能ブロックB−3、B−4についても同様である。図14と同様にして、これらの識別名は、図6の機能ブロック対応テーブルT1に対応する。
[パターン一致予測処理(図11のS14)、パターン検索処理(図11のS15〜S18)]
図16は、パターン一致予測モジュール212(図2)の処理(図11のS14)、及び、パターン検索モジュール213(図2)の処理(図11のS15〜S18)を説明するフローチャート図である。
図16は、パターン一致予測モジュール212(図2)の処理(図11のS14)、及び、パターン検索モジュール213(図2)の処理(図11のS15〜S18)を説明するフローチャート図である。
図16のフローチャート図おいて、工程S31〜S33の処理は、パターン一致予測モジュール212の処理(図11のS14)に対応する。また、図16のフローチャート図おいて、工程S34〜S39の処理は、パターン検索モジュール213の処理(図11のS15〜S18)に対応する。
S31:パターン一致予測モジュール212は、OPC処理214(図3)が出力するサマリーレポート64から、OPC処理実行時のパラメータを取得する。パラメータは、例えば、OPCツールのプログラム名やバージョン、処理した機能ブロックのパターンの密度平均値、処理した機能ブロックの、辺の数が基準値「x」以上のパターン数等である。OPCツールのプログラム名は、図6で前述したとおり、OPC処理を実行したプログラム名を示す。また、バージョンは、OPC処理を実行したプログラムのバージョンを示す。
機能ブロックのパターンの密度平均値は、機能ブロックの領域における、パターンの密度の平均値を示す。機能ブロックのパターンの密度平均値は、例えば、機能ブロックの領域のサイズと、機能ブロックが有するパターンの数、及び、各パターンのサイズ等に基づいて、算出される。機能ブロックのパターンの密度平均値は、例えば、機能ブロックの領域に位置するパターンの数が多いほど大きい。
また、機能ブロックの辺の数は、OPC処理後の機能ブロックの各パターンが有する辺の数を示す。また、辺の数の基準値「x」は、例えば、「100」である。したがって、機能ブロックの辺の数が基準値以上のパターン数は、機能ブロックが有するパターンのうち、辺の数が「100」以上の辺を有するパターンの数を示す。OPC処理の結果、機能ブロックが有するパターンは小刻みに補正される。したがって、辺の数が「100」を超えるパターンが生じ得る。ただし、辺の数の基準値「x」は、この例に限定されるものではなく、実測値等に基づいて調整される。
S32:パターン一致予測モジュール212は、サマリーレポート64から取得したパラメータに基づいて(S31)、パターン検索判断基準テーブルP1が有する各項目(条件)に該当するか否かを判定する。パターン一致予測モジュール212は、描画データ60の機能ブロックごとに、パターン検索判断基準テーブルP1が有する複数の条件に該当する度合いに応じて、パターンが一致する可能性を示すスコアを算出する。
S33:パターン一致予測モジュール212は、工程S32で算出したスコアが、基準値「X」以上であるか否か(スコア≧基準値「X」)を判定する。この例において、基準値「X」は、値「3」である。
スコアが基準値「X」未満である場合(S33のNO)、パターン一致予測モジュール212は、対象の機能ブロックの内側データ60−1が、既に保存されている内側データ60−1と一致する可能性があると判定する。この場合、パターン検索モジュール213は、後述する工程S34〜S36で、対象の機能ブロックの内側データ60−1を、既に保存されている内側データ60−1と比較する。
一方、スコアが基準値「X」以上の場合(S33のYES)、パターン一致予測モジュール212は、対象の機能ブロックの内側データ60−1が、既に保存されている内側データ60−1と一致する可能性が低いと予測する。また、スコアが基準値「X」以上の場合(S33のYES)、パターン一致予測モジュール212は、さらに、比較処理に長時間を要すると予測する。
図17は、パターン検索判断基準テーブルP1の一例を説明する図である。図17のパターン検索判断基準テーブルP1は、OPCの処理条件に対応する4つの項目(条件)を有する。また、パターン検索判断基準テーブルP1は、項目ごとに重みを有する。重みは、機能ブロックが項目の条件に該当する場合における、スコアへの寄与率を示す。
パターン検索判断基準テーブルP1の1つ目の項目(条件)は、OPCツールの実績が無い場合を示す。具体的に、対象の機能ブロックを処理したOPCツールが、既に保存されている保存データ(内側データ及び外側データ)を処理した実績が無い場合を示す。
OPC処理は、内側データが含むパターンに対しても行われる。OPC処理の内容は、OPCツールによって異なる場合がある。このため、OPCツールが異なることによって、内側データのパターンが同一であっても、OPC処理後の内側データのパターンが異なる場合がある。このため、対象の機能ブロックを処理したOPCツールの実績が無い場合、OPC処理前に同一のパターンを有する内側データが保存されている場合でも、一致または類似しない可能性が高くなる。
この例では、OPCツールの実績が無いという条件に該当した場合の重みは、「2」に設定される。前述したとおり、基準値「X」は、値「3」である。したがって、1つ目の項目のみに該当した場合、スコアは基準値「X」を超えない。ただし、他の項目にも該当した場合、スコアは基準値「X」を超える。
パターン検索判断基準テーブルP1の2つ目の項目(条件)は、OPCツールのバージョンの実績が無い場合を示す。具体的に、対象の機能ブロックを処理したバージョンのOPCツールが、既に保存されている保存データ(内側データ及び外側データ)を処理した実績が無い場合を示す。
同一のOPCツールであっても、ツールがバージョンアップすることによって、補正の精度が向上することや、補正の機能が追加されることがある。このため、OPC処理の内容は、OPCツールのバージョンによって異なる場合がある。したがって、OPCツールのバージョンが異なることによって、内側データのパターンが同一であっても、OPC処理後の内側データのパターンが異なる場合がある。このため、対象の機能ブロックを処理したOPCツールのバージョンの実績が無い場合、OPC処理前に同一のパターンを有する内側データが保存されている場合でも、一致または類似しない可能性が高くなる。
この例では、OPCツールのバージョンの実績が無いという条件に該当した場合の重みは、「2」に設定される。前述したとおり、基準値「X」は、値「3」である。したがって、2つ目の項目のみに該当した場合、スコアは基準値「X」を超えない。ただし、他の項目にも該当した場合、スコアは基準値「X」を超える。
また、パターン検索判断基準テーブルP1の3つ目の項目(条件)は、機能ブロックが有するパターンの密度の平均値が基準値「n1」を超える場合を示す。機能ブロックが有するパターンの密度の平均値が基準値「n1」を超える場合、機能ブロックが有するパターンが多く、パターンが密集していることを示す。この場合、機能ブロックの内側データのパターンが、既に保存された内側データと一致する可能性は低く、パターンの比較処理にも時間を要することが予測される。
この例では、機能ブロックが有するパターンの密度の平均値が基準値「n1」を超えるという条件に該当した場合の重みは、「3」に設定される。したがって、3つ目の項目の条件に該当する場合、他の項目の条件に該当しない場合であっても、スコアは基準値「X」以上の値になる。
このように、パターン一致予測モジュール212は、機能ブロックが有する密度の平均値が基準値「n1」以上の場合、対象の機能ブロックの内側データが、既に保存された内側データと一致しない可能性が高く、比較処理にも長い時間を要する旨、予測する。なお、基準値「n1」は、例えば、実測値等に基づいて設定される。
また、パターン検索判断基準テーブルP1の4つ目の項目(条件)は、機能ブロックが有する、辺の数が「x」個以上のパターン数が、基準値「n2」を超える場合を示す。前述したとおり、辺の数「x」は、例えば、「100」である。辺の数「x」、及び、基準値「n2」は、例えば、実測値等に基づいて設定される。機能ブロックが有する、辺の数が「x」個以上のパターン数が、基準値「n2」を超える場合、機能ブロックが複雑な形状のパターンを多数、有することを示す。この場合、機能ブロックの内側データのパターンが、既に保存された内側データと一致する可能性は低く、パターンの比較処理にも時間を要することが予測される。
この例では、辺の数が「x」個以上のパターン数が、基準値「n2」を超えるという条件に該当した場合の重みは、「3」に設定される。したがって、4つ目の項目の条件に該当する場合、他の項目の条件に該当しない場合であっても、スコアは基準値「X」以上の値になる。このように、パターン一致予測モジュール212は、辺の数が「x」個以上のパターン数が、基準値「n2」を超える場合、対象の機能ブロックの内側データが、既に保存された内側データと一致しない可能性が高く、比較処理にも長い時間を要する旨、予測する。なお、基準値「n2」は、例えば、実測値等に基づいて設定される。
パターン一致予測モジュール212は、サマリーレポート64から取得したOPCの処理条件に係るパラメータに基づいて、パターン検索判断基準テーブルP1の各項目のフラグをセットする。パターン一致予測モジュール212は、項目の条件に該当する場合に、フラグ「1」を、該当しない場合にフラグ「0」をセットする。そして、パターン一致予測モジュール212は、項目のフラグの値に重みを乗算し、各項目の小計を算出する。パターン一致予測モジュール212は、各項目の小計を合計したスコアを算出する。
図17の例では、例えば、対象の機能ブロックは、当該機能ブロックを処理したOPCツールの実績、及び、バージョンの実績は無く、辺の数が「x」個以上のパターン数が、基準値「n2」を超える。したがって、スコアは、値「7」となる。このため、パターン一致予測モジュール212は、対象ブロックが、既に保存された内側データと一致しない可能性が高い旨、判定する。
このように、パターン一致予測モジュール212は、複数のOPCの処理条件(項目)に基づいて、内側データを、データ格納領域310が保存する内側データと比較するか否か判定する。これにより、パターン一致予測モジュール212は、不要な比較処理が発生することを抑制することができるとともに、比較処理に時間がかかることを抑制することができる。したがって、パターン一致予測モジュール212は、保存データの生成処理を高速に行うことができる。
また、パターン一致予測モジュール212は、複数の項目に基づいて、内側データが、既に保存されている内側データが一致する可能性、及び、比較処理にかかる時間を予測する。複数の要素に基づいて予測することにより、パターン一致予測モジュール212は、内側データが一致または類似する可能性があるか否かを、より高精度に予測することができる。これにより、パターン一致予測モジュール212は、効率的に、保存データの生成処理を行うことができる。
また、複数の処理条件は、機能ブロックが含むパターンの平均密度、機能ブロックが含むパターンの辺の数、光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無のいずれか、または、その組み合わせである。これにより、パターン一致予測モジュール212は、一致する可能性を予測可能な処理条件に組み合わせに基づいて、内側データが一致または類似する可能性があるか否かを、高精度に予測することができる。
また、複数の処理条件は、重みを有する。そして、パターン一致予測モジュール212は、機能ブロックが処理条件に該当する場合に重みを適用した値を算出し、複数の処理条件の値の合計値に基づいて、比較するか否かを判定する。これにより、パターン一致予測モジュール212は、処理条件の重みを柔軟に調整することが可能になり、内側データが一致または類似する可能性があるか否かを、より適切に予測することができる。
また、図17の例では、パターンの平均密度、及び、パターンの辺の数の重みは、プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の重みより大きい。このように、条件に該当した場合に一致しない可能性がより高くなることが予測される条件の重みにより大きな値が設定される。これにより、パターン一致予測モジュール212は、内側データが一致または類似する可能性があるか否かを、適切に予測することができる。
なお、各項目の重みは、図17の例に限定されるものではない。各項目の重みは、例えば、実績や経験則にしたがって設定される。例えば、新たに、実績が無いOPCツールや、実績が無いバージョンのOPCツールを採用する場合、使用の初期段階では重みの値を設定することは容易ではない。したがって、パターン一致予測モジュール212は、例えば、使用の初期段階では、項目の重みを、単独で条件に該当した場合に基準値「X」を超えない値に設定しておく。そして、パターン一致予測モジュール212は、例えば、一定の期間における比較の実績に基づいて、重みの値を調整する。
なお、この例において、基準値「X」は、値「3」である。しかしながら、この例に限定されるものではない。基準値「X」の値は、比較結果や比較処理に要する時間に応じて、調整されてもよい。図16のフローチャート図に戻る。
S34:スコアが基準値「X」未満の場合(S33のNO)、まず、パターン検索モジュール213は、機能ブロック対応テーブルT1(図6)を参照し、種類が同一の内側データ60−1を検索する。機能ブロックの種類が異なる場合、パターンが一致しない可能性が高い。したがって、パターン検索モジュール213は、既に記憶されている内側データ60−1のうち、機能ブロックの種類が同一の内側データ60−1を比較の対象とする。
また、パターン検索モジュール213は、検索した内側データ60−1のうち、OPC処理の設定が同一または類似する内側データ60−1を検索する。OPC処理の設定とは、図12のフローチャート図で説明した、OPC処理時の周辺取り込み幅や、MASK最小グリッドの設定値等である。OPC処理の設定が大きく異なる場合、内側データの領域範囲が異なることによって、パターンが一致しない可能性が高くなる。
したがって、パターン検索モジュール213は、既に記憶されている内側データ60−1のうち、OPC処理の設定が同一の内側データ60−1を比較の対象とする。このように、パターン検索モジュール213は、対象の内側データを、データ格納領域310に保存された内側データのうち、外縁領域の幅が対象の内側データと同一の内側データと比較する。これにより、パターン検索モジュール213は、OPC処理の設定に基づいて、既に保存されている内側データ60−1のうち、一致しない可能性の高い内側データ60−1を、予め、比較対象から除外する。これにより、パターン検索モジュール213は、パターンの比較処理を効率的に行うことができる。
そして、パターン検索モジュール213は、検索によって抽出した内側データ60−1の識別名を、処理日時(OPC条件、図6)、もしくは、最終参照日の新しい順に並び替えた、内側データ識別名のリストを生成する。最終参照日は、図6で前述したとおり、内側データ60−1が、データ格納領域310から読み出された日付を示す。処理日時が新しいほど、処理日が近いことから、一致または類似する可能性が高いことが想定される。また、最終参照日が新しいほど、最近、参照されたデータであることにより、一致または類似する可能性が高いことが想定される。このように、日付の新しい順に並び替えることにより、パターン検索モジュール213は、より速く一致または類似する内側データ60−1を検索することができる。
S35:パターン検索モジュール213は、内側データ識別名のリストの日付の新しい順に、比較対象とする内側データ識別名を選択する。また、パターン検索モジュール213は、選択した内側データ識別名の内側データ60−1が、所定の期間(この例では、365日)内に参照されたデータであるか否かを判定する。具体的に、パターン検索モジュール213は、比較対象として選択した内側データ60−1の「現在の日付−最終参照日≦365(Y)」であるか否かを判定する。
S36:比較対象として選択した内側データ60−1が、「現日付−最終参照日≦365(Y)」に該当する場合(S35のY以下)、パターン検索モジュール213は、選択した内側データ60−1を、データ格納領域310から読み出す。そして、パターン検索モジュール213は、対象の機能ブロックの内側データ60−1と、読み出した内側データ60−1のパターンを比較する。
パターン検索モジュール213は、工程S34で生成した内側データ識別名のリストのうち、「現在の日付−最終参照日≦365(Y)」を満たす内側データを対象として(工程S35のY以下)、順次、パターンの比較処理を行う。なお、パターン検索モジュール213は、図6の機能ブロック対応テーブルT1の傾き情報(回転、X反転、Y反転)を有する場合は、傾き情報を加味して、パターンを比較する。
一方、比較対象として選択した内側データ60−1が「現日付−最終参照日>365(Y)」に該当する場合(S35のYを超過)、パターン検索モジュール213は、パターンの比較を行わない。つまり、パターン検索モジュール213は、既に保存されている内側データ60−1のうち、最後に参照された日付から1年以上経過している内側データ60−1を比較の対象外とする。
最後に参照された日付から長い期間が経過している場合、OPC実行時の環境が大きく変化していることが予測される。OPC実行時の環境とは、例えば、OPC処理を実行するOSや、パターンの集積度等である。OPC実行時の環境が大きく変化している場合、パターンが一致しない可能性が高くなる。したがって、パターン検索モジュール213は、既に保存されている内側データ60−1のうち、最後に参照された日付から長い期間が経過している内側データ60−1を比較の対象から除外する。
なお、パターン検索モジュール213は、比較対象として選択した内側データ60−1が、「現日付−処理日付(OPC条件、図6)>365(Y)」に該当する場合に、パターンの比較を行わない旨、判定してもよい。同様にして、OPC処理が行われた日付から長い期間が経過している場合、OPC実行時の環境が大きく変化していることが予測される。したがって、パターン検索モジュール213は、既に保存されている内側データ60−1のうち、OPC処理が行われた日付から長い期間が経過している内側データ60−1を比較の対象から除外する。
このように、パターン検索モジュール213は、さらに、内側データを、データ格納領域310に保存された内側データのうち、基準の期間内にデータ格納領域310から読み出された内側データと比較する。これにより、パターン検索モジュール213は、既に保存されている内側データ60−1のうち、一致しない可能性の高い内側データ60−1を、予め、比較対象から除外する。このため、パターン検索モジュール213は、パターンの比較処理を効率的に行うことができる。
S37:パターン検索モジュール213は、対象の機能ブロックの内側データ60−1のパターンが、既に保存されている内側データ60−1のパターンのいずれかと、一致または類似するか否かを判定する。
S38:一致または類似する内側データ60−1があった場合(S37のYES)、パターン検索モジュール213は、対象の機能ブロックと、一致または類似していた内側データの識別名との対応情報を機能ブロック対応テーブルT1に登録する。そして、パターン検索モジュール213は、一時的に保存した(図12のS25)、対象の機能ブロックの内側データ60−1を削除する。
S39:一致または類似する内側データ60−1がない場合(S37のYES)、パターン検索モジュール213は、対象の機能ブロックの内側データに識別名を付与する。そして、パターン検索モジュール213は、対象の機能ブロックと、付与した内側データの識別名との対応情報を機能ブロック対応テーブルT1に登録する。また、パターン検索モジュール213は、スコアが基準値「X」以上の場合(S33のYES)にも同様の処理を行う。
このように、本実施の形態例における保存データ生成装置10は、既に保存されている内側データ60−1とパターンが同一または類似する内側データ60−1を重複して保存しない。そして、保存データ生成装置10は、対象の機能ブロックに、パターンが同一または類似する内側データ60−1の識別名を関連付ける。これにより、保存データ生成装置10は、パターンが同一の内側データ60−1を共通で使用することができる。
[具体例]
図18は、機能ブロック抜き取りモジュール211の処理の具体例を説明する図である。図18に示す描画データ60は、例えば、CPUコア、GPUコア、メモリインターフェース、I/Oコントローラ、ビデオコントローラ等の機能ブロックの領域を有する。機能ブロック抜き取りモジュール211は、図18に示す各機能ブロックの領域を判断し、OPC処理が影響する外縁領域分、小さくした内側データの領域を切り出す(図12のS21〜S26)。
図18は、機能ブロック抜き取りモジュール211の処理の具体例を説明する図である。図18に示す描画データ60は、例えば、CPUコア、GPUコア、メモリインターフェース、I/Oコントローラ、ビデオコントローラ等の機能ブロックの領域を有する。機能ブロック抜き取りモジュール211は、図18に示す各機能ブロックの領域を判断し、OPC処理が影響する外縁領域分、小さくした内側データの領域を切り出す(図12のS21〜S26)。
具体的に、機能ブロック抜き取りモジュール211は、例えば、CPUコア601の領域C−1を切り出し、内側データC−1−1と外側データC−1−2とを取得する。機能ブロック抜き取りモジュール211は、例えば、内側データC−1−1及び外側データC−1−2をデータ格納領域310に保存する。
また、機能ブロック抜き取りモジュール211は、例えば、I/Oコントローラ602の領域C−2を切り出し、内側データC−2−1と外側データC−2−2とを取得する。機能ブロック抜き取りモジュール211は、例えば、内側データC−2−1及び外側データC−2−2をデータ格納領域310に保存する。機能ブロック抜き取りモジュール211は、他の機能ブロックについても同様にして、内側データ及び外側データを取得し、データ格納領域310に保存する。
次に、パターン一致予測モジュール212は、機能ブロックごとに、対象の機能ブロックの内側データが、既に保存されている内側データと一致する可能性があるか否かを判定する(図31〜図33)。具体例では、パターン一致予測モジュール212は、CPUコア601の内側データC−1−1、及び、I/Oコントローラ602の内側データC−2−1が、既に保存されている内側データと一致する可能性がある旨、判定する(図16のS33のNO)。
そして、パターン検索モジュール213は、CPUコア601の内側データC−1−1、及び、I/Oコントローラ602の内側データC−2−1を、既に保存されている内側データと比較する。
図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を有する。
パターン検索モジュール213は、各機能ブロックの内側データ群80〜82を、処理日付または参照日付のうち新しい日付をキーにして、ソートする。図19の例において、CPUコア601の内側データ群80は、内側データY-1-1、X-1-1、Z-1-1の順にソートされる(図16のS34)。
また、この例において、内側データY-1-1、X-1-1、Z-1-1の最終参照日は、1年以内である(図16のS35のY以下)。したがって、パターン検索モジュール213は、内側データY-1-1から順に、CPUコア601の内側データC−1−1と比較する(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コア」、及び、処理日等を更新する。
同様にして、図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コントローラ」、及び、処理日等を更新する。
図20は、図18で示した機能ブロックの内側データと同一または類似する内側データが検出されない場合の例を示す図である。図20の機能ブロックの種類ごとの内側データは、図19と同様である。
図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コア」、及び、処理日等を更新する。
同様にして、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コントローラ」、及び、処理日等を更新する。
以上のように、本実施の形態例における保存データ生成装置10は、機能ブロックごとのOPC処理後の描画データから、機能ブロックの外縁領域を除外した第1の内側データを取得する。また、保存データ生成装置10は、機能ブロックのOPC処理の処理条件に基づいて、第1の内側データを、記憶部(データ格納領域310)が保存する第2の内側データと比較するか否か判定する。そして、保存データ生成装置10は、比較すると判定した場合、第1の内側データと第2の内側データとのパターンを比較し、比較結果に応じて、第1の内側データを記憶部に保存する。
このように、保存データ生成装置10は、同一のパターンを有する複数の機能ブロック間で、内側データを重複して保存することを抑制し、保存データのデータ容量を低減させることができる。また、保存データ生成装置10は、対象の内側データが、既に保存されている内側データと比較して一致する可能性があるか否かを予測することにより、一致する可能性が低く、比較処理に時間を要する内側データの比較処理を抑制することができる。これにより、本実施の形態例における保存データ生成装置10は、重複した描画データの保存を抑止するとともに、高速に、描画データを保存することができる。
図21は、保存された内側データ及び外側データと、機能ブロック対応テーブルT1に基づいて描画データ60を再現する処理を説明する図である(図11のS20)。初めに、保存データ生成装置10は、機能ブロック対応テーブルT1を参照し、対象の製品の描画データ60が有する機能ブロックを抽出する。次に、保存データ生成装置10は、抽出した機能ブロックの内側データと外側データの識別名を取得する。
例えば、保存データ生成装置10は、CPUコア601の機能ブロックの内側データの識別名「Y−1−1」、及び、外側データの識別名「C−1−2」を取得する。そして、保存データ生成装置10は、データ格納領域310に保存されている内側データY−1−1、及び、外側データC−1−2(図示せず)を読み出す。
また、保存データ生成装置10は、機能ブロック対応テーブルT1を参照し、機能ブロックの中心座標情報に基づいて、読み出した内側データY−1−1、及び、外側データC−1−2を配置する。保存データ生成装置10は、他の機能ブロックについても同様にして、データ格納領域310から、内側データ及び外側データを読み出して配置する。これにより、保存データ生成装置10は、保存データ(内側データ及び外側データ)、及び、機能ブロック対応テーブルT1に基づいて、図21に示す描画データ60を再現することができる。
このように、本実施の形態例における保存データ生成装置10は、データ格納領域310が保存する外側データと、複数の機能ブロックで共通に使用する内側データとに基づいて、機能ブロックの描画データを生成することができる。これにより、保存データ生成装置10は、描画データの重複を抑制して保存する場合であっても、元の描画データを生成することができる。
[他の実施の形態例]
上記の実施の形態例では、製品間で、同一のパターンを有する内側データを共通で使用するデータとして保存する場合を例示した。ただし、この例に限定されるものではない。保存データ生成装置10は、同一の製品が有する、同一のパターンを有する内側データを共通で使用するデータとして保存してもよい。
上記の実施の形態例では、製品間で、同一のパターンを有する内側データを共通で使用するデータとして保存する場合を例示した。ただし、この例に限定されるものではない。保存データ生成装置10は、同一の製品が有する、同一のパターンを有する内側データを共通で使用するデータとして保存してもよい。
これにより、保存データ生成装置10は、同一の製品を構成する、複数の機能ブロック間で、内側データを重複して保存することを抑制し、さらに、保存データのデータ容量を低減させることができる。
以上の実施の形態をまとめると、次の付記のとおりである。
(付記1)
処理部は、
機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得する取得工程と、
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定する判定工程と、
比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する保存工程と、
を有する保存データの生成方法。
処理部は、
機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得する取得工程と、
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定する判定工程と、
比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する保存工程と、
を有する保存データの生成方法。
(付記2)
付記1において、
前記判定工程は、複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。
付記1において、
前記判定工程は、複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。
(付記3)
付記2において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成方法。
付記2において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成方法。
(付記4)
付記2または3において、
前記複数の処理条件はそれぞれ重みを有し、
前記判定工程は、前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。
付記2または3において、
前記複数の処理条件はそれぞれ重みを有し、
前記判定工程は、前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。
(付記5)
付記4において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成方法。
付記4において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成方法。
(付記6)
付記1乃至5のいずれかにおいて、
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、基準の期間内に前記記憶部から読み出された前記第2の内側データと比較する、保存データの生成方法。
付記1乃至5のいずれかにおいて、
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、基準の期間内に前記記憶部から読み出された前記第2の内側データと比較する、保存データの生成方法。
(付記7)
付記1乃至6のいずれかにおいて、
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、前記外縁領域の幅が、前記第1の内側データと同一の前記第2の内側データと比較する、保存データの生成方法。
付記1乃至6のいずれかにおいて、
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、前記外縁領域の幅が、前記第1の内側データと同一の前記第2の内側データと比較する、保存データの生成方法。
(付記8)
付記1乃至7のいずれかにおいて、
前記取得工程は、さらに、前記機能ブロックごとの描画データから、前記機能ブロックの外縁領域の第1の外側データを取得し、
前記保存工程は、さらに、前記第1の外側データを、前記記憶部が保存する第2の外側データと個別に前記記憶部に保存する、
保存データの生成方法。
付記1乃至7のいずれかにおいて、
前記取得工程は、さらに、前記機能ブロックごとの描画データから、前記機能ブロックの外縁領域の第1の外側データを取得し、
前記保存工程は、さらに、前記第1の外側データを、前記記憶部が保存する第2の外側データと個別に前記記憶部に保存する、
保存データの生成方法。
(付記9)
付記8において、さらに、
前記記憶部が保存する前記第1の外側データと、前記記憶部が保存する複数の機能ブロックで共通に保存する内側データとに基づいて、前記機能ブロックの描画データを生成する生成工程を有する、保存データの生成方法。
付記8において、さらに、
前記記憶部が保存する前記第1の外側データと、前記記憶部が保存する複数の機能ブロックで共通に保存する内側データとに基づいて、前記機能ブロックの描画データを生成する生成工程を有する、保存データの生成方法。
(付記10)
機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得し、
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定し、
比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する、
処理をコンピュータに実行させる保存データ生成プログラム。
機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得し、
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定し、
比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する、
処理をコンピュータに実行させる保存データ生成プログラム。
(付記11)
付記10において、
複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成プログラム。
付記10において、
複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成プログラム。
(付記12)
付記11において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成プログラム。
付記11において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成プログラム。
(付記13)
付記11または12において、
前記複数の処理条件はそれぞれ重みを有し、
前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成プログラム。
付記11または12において、
前記複数の処理条件はそれぞれ重みを有し、
前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成プログラム。
(付記14)
付記13において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成プログラム。
付記13において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成プログラム。
(付記15)
付記10乃至14のいずれかにおいて、
さらに、前記第1の内側データを、前記第2の内側データのうち、基準の期間内に前記記憶部から読み出された前記第2の内側データと比較する、保存データの生成プログラム。
付記10乃至14のいずれかにおいて、
さらに、前記第1の内側データを、前記第2の内側データのうち、基準の期間内に前記記憶部から読み出された前記第2の内側データと比較する、保存データの生成プログラム。
(付記16)
処理部と、
第2の内側データを記憶する記憶部と、を有し、
前記処理部は、機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得し、前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定し、比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する、保存データ生成装置。
処理部と、
第2の内側データを記憶する記憶部と、を有し、
前記処理部は、機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得し、前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定し、比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する、保存データ生成装置。
(付記17)
付記16において、
前記処理部は、複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成装置。
付記16において、
前記処理部は、複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成装置。
(付記18)
付記17において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成装置。
付記17において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成装置。
(付記19)
付記17または18において、
前記複数の処理条件はそれぞれ重みを有し、
前記処理部は、前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成装置。
付記17または18において、
前記複数の処理条件はそれぞれ重みを有し、
前記処理部は、前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成装置。
(付記20)
付記19において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成装置。
付記19において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成装置。
10:保存データ生成装置、101:CPU、102:メモリ、103:通信インタフェース部、105:表示部、106:入力部、107:外部インタフェース部、300:ストレージデバイス、310:データ格納領域、320:ストレージサーバ、211:機能ブロック抜き取りモジュール、212:パターン一致予測モジュール、213:パターン検索モジュール、T1:機能ブロック対応テーブル、P1:パターン検索判断基準テーブル
Claims (11)
- 処理部は、
機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得する取得工程と、
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定する判定工程と、
比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する保存工程と、
を有する保存データの生成方法。 - 請求項1において、
前記判定工程は、複数の前記処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。 - 請求項2において、
前記複数の処理条件は、前記機能ブロックが含むパターンの平均密度、前記機能ブロックが含む前記パターンの辺の数、前記光近接効果補正を実行するプログラムの実績の有無、当該プログラムのバージョンの実績の有無の組み合わせである、保存データの生成方法。 - 請求項2または3において、
前記複数の処理条件はそれぞれ重みを有し、
前記判定工程は、前記機能ブロックが前記処理条件に該当する場合に前記重みを適用した値を算出し、前記複数の処理条件の前記値の合計値に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定する、保存データの生成方法。 - 請求項4において、
前記パターンの平均密度、及び、前記パターンの辺の数の前記重みは、前記プログラムの実績の有無、及び、当該プログラムのバージョンの実績の有無の前記重みより大きい、保存データの生成方法。 - 請求項1乃至5のいずれかにおいて、
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、基準の期間内に前記記憶部から読み出された前記第2の内側データと比較する、保存データの生成方法。 - 請求項1乃至6のいずれかにおいて、
前記判定工程は、さらに、前記第1の内側データを、前記第2の内側データのうち、前記外縁領域の幅が、前記第1の内側データと同一の前記第2の内側データと比較する、保存データの生成方法。 - 請求項1乃至7のいずれかにおいて、
前記取得工程は、さらに、前記機能ブロックごとの描画データから、前記機能ブロックの外縁領域の第1の外側データを取得し、
前記保存工程は、さらに、前記第1の外側データを、前記記憶部が保存する第2の外側データと個別に前記記憶部に保存する、
保存データの生成方法。 - 請求項8において、さらに、
前記記憶部が保存する前記第1の外側データと、前記記憶部が保存する複数の機能ブロックで共通に保存する内側データとに基づいて、前記機能ブロックの描画データを生成する生成工程を有する、保存データの生成方法。 - 機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得し、
前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、記憶部が保存する第2の内側データと比較するか否か判定し、
比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する、
処理をコンピュータに実行させる保存データ生成プログラム。 - 処理部と、
第2の内側データを記憶する記憶部と、を有し、
前記処理部は、機能ブロックごとの光近接効果補正後の描画データから、前記機能ブロックの外縁領域を除外した第1の内側データを取得し、前記機能ブロックの光近接効果補正の処理条件に基づいて、前記第1の内側データを、前記記憶部が保存する第2の内側データと比較するか否か判定し、比較すると判定した場合、前記第1の内側データと前記第2の内側データとのパターンを比較し、比較結果に応じて、前記第1の内側データを前記記憶部に保存する、保存データ生成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014141502A JP2016018114A (ja) | 2014-07-09 | 2014-07-09 | 保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014141502A JP2016018114A (ja) | 2014-07-09 | 2014-07-09 | 保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016018114A true JP2016018114A (ja) | 2016-02-01 |
Family
ID=55233367
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014141502A Pending JP2016018114A (ja) | 2014-07-09 | 2014-07-09 | 保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2016018114A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE112017000607T5 (de) | 2016-02-02 | 2018-10-11 | Denso Corporation | Fahrunterstützungsvorrichtung |
| JP2022530169A (ja) * | 2019-05-02 | 2022-06-27 | キム、ドクウ | 補助記憶装置の復旧情報管理装置および方法 |
-
2014
- 2014-07-09 JP JP2014141502A patent/JP2016018114A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE112017000607T5 (de) | 2016-02-02 | 2018-10-11 | Denso Corporation | Fahrunterstützungsvorrichtung |
| JP2022530169A (ja) * | 2019-05-02 | 2022-06-27 | キム、ドクウ | 補助記憶装置の復旧情報管理装置および方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8413087B1 (en) | Method and mechanism for implementing region query using hierarchical grids | |
| CN107122368B (zh) | 一种数据校验方法、装置及电子设备 | |
| 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 (ja) | データ生成方法、データ生成装置及びデータ生成プログラム | |
| JP6137175B2 (ja) | 階層型確率モデル生成システム、階層型確率モデル生成方法、およびプログラム | |
| 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 (zh) | 数据命令的批量处理方法及装置 | |
| 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 (ja) | 保存データの生成方法、保存データの生成プログラム、及び、保存データ生成装置 | |
| JP6668494B2 (ja) | データ分析装置およびデータ分析方法 | |
| JP2013033306A (ja) | データ分割装置、データ分割方法およびデータ分割プログラム | |
| WO2022217795A1 (zh) | 失效位置的修补方法和装置 | |
| WO2015110867A1 (en) | A pattern based configuration method for minimizing the impact of component failures | |
| JP6805632B2 (ja) | 設計予測装置、設計予測プログラムおよび設計予測方法 | |
| US9582624B2 (en) | Circuit component migration method and apparatus | |
| JP6107488B2 (ja) | 有向グラフ生成方法、有向グラフ生成プログラム、及び有向グラフ生成装置 | |
| JPWO2014168199A1 (ja) | 論理演算方法および情報処理装置 | |
| CN120631850A (zh) | 一种文件副本保存方法、装置、电子设备和存储介质 | |
| CN120781785A (zh) | 半导体设计版图的设计规则检查方法、设备、介质与产品 |