[予測装置の機能構成の一例]
図1は、実施例に係る予測装置の機能構成の一例を示す図である。図1の例に示すように、予測装置10は、入力部11、表示部12、記憶部13及び制御部14を有する。
入力部11は、各種情報を制御部14に入力する。例えば、入力部11は、予測装置10のユーザから後述の予測処理を実行するための指示を受け付けて、受け付けた指示を制御部14に入力する。入力部11のデバイスの一例としては、マウスやキーボードなどが挙げられる。
表示部12は、各種の情報を表示する。例えば、表示部12は、後述の表示制御部14hの制御により、後述のEOEが発生するメッシュの部分が強調された半導体集積回路のモデルを表示する。さらに、表示部12は、後述の表示制御部14hの制御により、後述の「Dummy変更情報」の項目に、「1」及びダミー配線IDが登録されたレコードの各種の内容を表示する。表示部12のデバイスの一例としては、液晶ディスプレイなどが挙げられる。
記憶部13は、各種情報を記憶する。例えば、記憶部13は、半導体集積回路モデルデータ13a、メッシュデータ13b、高密度メッシュリスト13cを記憶する。
半導体集積回路モデルデータ13aは、半導体集積回路の設計工程において設計された半導体集積回路のモデルを示すデータである。半導体集積回路のモデルは、例えば、複数の面を有し、かつ、複数の面のうち所定面に溝が形成された酸化物の基板と溝に設けられた銅の配線とを含む層が複数重ねられた半導体集積回路のモデルである。また、半導体集積回路のモデルは、各層に、ダミーの配線が設けられている。半導体集積回路モデルデータ13aのフォーマットの一例としては、GDSII、OASYSなどが挙げられる。
メッシュデータ13bには、後述のメッシュごとに、メッシュに関するデータが後述の分割部14a、算出部14b、グルーピング部14d及び修正部14gにより登録される。図2は、メッシュデータのデータ構造の一例を示す図である。図2の例に示すメッシュデータ13bには、一つのレコードに、一つのメッシュに関するデータが登録される。図2の例に示すメッシュデータ13bは、「layer」、「X座標」、「Y座標」、「Dens」、「dummyDens」、「dummyArea」、「Group」及び「Dummy変更情報」の各項目を有する。「layer」の項目には、後述の分割部14aにより、メッシュが位置する層が何番目の層であるのかを示す数値が登録される。「X座標」の項目には、後述の分割部14aにより、メッシュ上の所定の点(例えば、原点O(0,0)に距離が最も近いメッシュ上の点)のX座標の値が登録される。「Y座標」の項目には、後述の分割部14aにより、メッシュ上の所定の点(例えば、原点Oに距離が最も近いメッシュ上の点)のY座標の値が登録される。「Dens」の項目には、後述の算出部14bにより、メッシュにおける銅の密度(%)が登録される。ここで、「Dens」の項目に登録される銅の密度は、半導体集積回路において電流が流れる配線、及び、いわゆるダミーの配線の2つの配線の密度である。「dummyDens」の項目には、後述の算出部14bにより、メッシュにおけるダミーの配線の密度が登録される。「dummyArea」の項目には、後述の算出部14bにより、ダミーの配線が配置可能な領域を特定するための座標、及び、ダミーの配線が配置可能な領域の面積が登録される。「Group」の項目には、後述のグルーピング部14dにより、メッシュが属する後述のグループを識別するためのID(Identification)が登録される。なお、以下の説明では、後述のグループを識別するためのIDを「グループID」と表記する。「Dummy変更情報」の項目には、メッシュに配置されるダミーの配線が変更された場合には、後述の修正部14gにより、メッシュに配置されるダミーの配線が変更済みであることを示す「1」が登録されて、「Dummy変更情報」の項目の登録内容が更新される。なお、「Dummy変更情報」の項目には、予め、ダミーの配線が変更していないことを示す「0」が登録されている。さらに、「Dummy変更情報」の項目には、後述の修正部14gにより、メッシュに配置されたダミーの配線を識別するためのIDが登録される。なお、以下の説明では、ダミーの配線を識別するためのIDを「ダミー配線ID」と表記する。
高密度メッシュリスト13cには、後述の高密度メッシュごとに、高密度メッシュに関するデータが後述の選択部14c、グルーピング部14d及び判定部14fにより登録される。図3は、高密度メッシュリストのデータ構造の一例を示す図である。図3の例に示す高密度メッシュリスト13cには、一つのレコードに、一つの後述の高密度メッシュに関するデータが登録される。図3の例に示す高密度メッシュリスト13cは、「layer」、「X座標」、「Y座標」、「Group」及び「EOEの発生の有無」の各項目を有する。「layer」の項目には、後述の選択部14cにより、高密度メッシュが位置する層が何番目の層であるのかを示す数値が登録される。「X座標」の項目には、後述の選択部14cにより、高密度メッシュ上の所定の点(例えば、原点Oに距離が最も近い高密度メッシュ上の点)のX座標の値が登録される。「Y座標」の項目には、後述の選択部14cにより、高密度メッシュ上の所定の点(例えば、原点Oに距離が最も近い高密度メッシュ上の点)のY座標の値が登録される。「Group」の項目には、後述のグルーピング部14dにより、高密度メッシュが属するグループのグループIDが登録される。「EOEの発生の有無」の項目には、後述の判定部14fにより、高密度メッシュにEOEが発生すると予測された場合には、EOEが発生することを示す「1」が登録される。また、「EOEの発生の有無」の項目には、後述の判定部14fにより、高密度メッシュにEOEが発生しないと予測する場合には、EOEが発生しないことを示す「0」が登録される。
記憶部13は、例えば、フラッシュメモリなどの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。
制御部14は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。図1に示すように、制御部14は、分割部14aと、算出部14bと、選択部14cと、グルーピング部14dと、特定部14eと、判定部14fと、修正部14gと、表示制御部14hとを有する。
分割部14aは、半導体集積回路モデルデータ13aが示す半導体集積回路のモデルに対して、層ごとに、上述した所定面を複数のメッシュに分割する。分割部14aの一態様について説明する。分割部14aは、入力部11から予測処理を実行するための指示が入力されると、記憶部13から半導体集積回路モデルデータ13aを取得する。そして、分割部14aは、半導体集積回路モデルデータ13aが示す半導体集積回路のモデルの各層を1つずつ選択する。そして、分割部14aは、層を1つずつ選択するたびに、次の処理を行う。すなわち、分割部14aは、選択した層(銅の配線が設けられた基板)の銅の配線が設けられた面を複数のメッシュに分割する。図4は、基板を複数のメッシュに分割する処理の一例を説明するための図である。図4の例に示すように、分割部14aは、銅の配線が設けられた基板20を複数のメッシュ21に分割する。ここで、1つのメッシュは、例えば、X軸方向の長さ20(μm)×Y軸方向の長さ20(μm)の正方形である。上述した処理を行うことにより、分割部14aは、半導体集積回路モデルデータ13aが示す半導体集積回路のモデルの各層を複数のメッシュに分割する。
そして、分割部14aは、メッシュごとに、メッシュデータ13bにレコードを追加する。そして、分割部14aは、メッシュごとに、追加したレコードの「layer」の項目に、メッシュが位置する層が何番目の層であるのかを示す数値を登録する。また、分割部14aは、メッシュごとに、追加したレコードの「X座標」の項目に、メッシュ上の所定の点(例えば、原点Oに距離が最も近いメッシュ上の点)のX座標の値を登録する。また、分割部14aは、メッシュごとに、追加したレコードの「Y座標」の項目に、メッシュ上の所定の点(例えば、原点Oに距離が最も近いメッシュ上の点)のY座標の値を登録する。
分割部14aは、上述した処理を全ての層に対して行うことにより、半導体集積回路のモデルの全ての層を複数のメッシュに分割し、各メッシュに関するデータをメッシュデータ13bに登録する。
算出部14bは、各メッシュにおける銅の配線の密度を算出する。算出部14bの一態様について説明する。算出部14bは、分割部14aにより半導体集積回路のモデルの全ての層が複数のメッシュに分割され、各メッシュに関するデータがメッシュデータ13bに登録されると、半導体集積回路のモデルの各層を1つずつ選択する。また、算出部14bは、層を1つずつ選択するたびに、選択した層の各メッシュにおける銅の配線の密度を算出する。かかる銅の配線の密度は、半導体集積回路のモデルにおいて電流が流れる配線、及び、いわゆるダミーの配線の2つの配線の密度である。例えば、算出部14bは、図4の例に示す全てのメッシュ21のそれぞれにおける銅の配線の密度を算出する。上述した処理を行うことにより、算出部14bは、半導体集積回路のモデルの各層の複数のメッシュにおける銅の配線の密度を算出する。
そして、算出部14bは、選択した層の各メッシュにおけるダミーの配線の密度を算出する。また、算出部14bは、選択した層の各メッシュにおけるダミーの配線が配置可能な領域を特定するための座標を特定する。かかる座標の一例としては、ダミーの配線が配置可能な領域の原点Oに距離が最も近い位置の座標、及び、ダミーの配線が配置可能な領域の原点Oが最も遠い位置の座標が挙げられる。また、算出部14bは、選択した層の各メッシュにおけるダミーの配線が配置可能な領域の面積を算出する。
そして、算出部14bは、メッシュごとに、メッシュに対応するレコードをメッシュデータ13bのレコードの中から特定する。そして、算出部14bは、メッシュごとに、特定したレコードの「Dens」の項目に、銅の配線の密度を登録する。また、算出部14bは、メッシュごとに、特定したレコードの「dummyDens」の項目に、ダミーの配線の密度を登録する。また、算出部14bは、メッシュごとに、特定したレコードの「dummyArea」の項目に、ダミーの配線が配置可能な領域を特定するための座標、及び、ダミーの配線が配置可能な領域の面積を登録する。
選択部14cは、算出部14bにより選択された層ごとに、選択された層の複数のメッシュの中から、隣接するメッシュにおける配線の密度よりも第1の所定値以上配線の密度が高いメッシュである高密度メッシュを複数選択する。選択部14cの一態様について説明する。選択部14cは、算出部14bにより、選択された層のメッシュごとに、銅の配線の密度、ダミー配線の密度、ダミーの配線が配置可能な領域を特定するための座標、及び、かかる領域の面積がメッシュデータ13bに登録されると、次の処理を行う。すなわち、選択部14cは、算出部14bにより選択された層の各メッシュの銅の配線の密度をメッシュデータ13bから取得する。そして、選択部14cは、取得した各メッシュの銅の配線の密度を用いて、算出部14bにより選択された層のメッシュの中から、以下に説明する高密度メッシュを選択する。すなわち、選択部14cは、選択された層のメッシュの中から、隣接するメッシュにおける銅の配線の密度よりも第1の所定値以上配線の密度が高いメッシュであって、かつ、銅の配線の密度が第2の所定値以上であるメッシュを高密度メッシュとして選択する。なお、選択部14cは、隣接する8つのメッシュのうち少なくとも1つのメッシュにおける銅の配線の密度よりも第1の所定値以上配線の密度が高いメッシュであって、かつ、銅の配線の密度が第2の所定値以上であるメッシュを高密度メッシュとして選択する。ここで、第1の所定値として、例えば、20%が挙げられ、第2の所定値として、50%が挙げられるが、第1の所定値、及び、第2の所定値の値は、予測装置10のユーザにより設定および変更することが可能であり、任意の値を用いることができる。
図5は、高密度メッシュを選択する処理の一例を説明するための図である。図5の例は、算出部14bにより選択された層のメッシュ21(白塗りのメッシュ)のうち、17個の次のようなメッシュ21(黒塗りのメッシュ)を高密度メッシュ22として選択部14cが選択した場合を示す。すなわち、図4の例は、隣接するメッシュ21における銅の配線の密度よりも20%以上配線の密度が高いメッシュ21であって、かつ、銅の配線の密度が50%以上であるメッシュ21を高密度メッシュ22として選択部14cが選択した場合を示す。
そして、選択部14cは、高密度メッシュごとに、高密度メッシュリスト13cにレコードを追加する。そして、選択部14cは、高密度メッシュごとに、追加したレコードの「layer」の項目に、高密度メッシュが位置する層が何番目の層であるのかを示す数値を登録する。また、選択部14cは、高密度メッシュごとに、追加したレコードの「X座標」の項目に、高密度メッシュ上の所定の点(例えば、原点Oに距離が最も近いメッシュ上の点)のX座標の値を登録する。また、選択部14cは、高密度メッシュごとに、追加したレコードの「Y座標」の項目に、高密度メッシュ上の所定の点(例えば、原点Oに距離が最も近いメッシュ上の点)のY座標の値を登録する。
グルーピング部14dは、算出部14bにより選択された層ごとに、選択された層の複数の高密度メッシュのそれぞれを、複数のグループのいずれかのグループに属するようにグルーピングする。グルーピング部14dの一態様について説明する。図6は、高密度メッシュのそれぞれを、複数のグループのいずれかのグループに属するようにグルーピングする処理の一例を説明するための図である。先の図5の例に示すように、高密度メッシュ22が選択部14cにより選択された場合には、グルーピング部14dは、例えば、図6に示すように、原点OからX軸方向に4個のメッシュ21ごとにY軸と平行な線23aを引く。また、グルーピング部14dは、原点OからY軸方向に4個のメッシュ21ごとにX軸と平行な線23bを引く。この結果、線23a、23bによって複数のブロックが形成される。そして、グルーピング部14dは、線23a、23bによって形成される同一のブロック内に存在する複数の高密度メッシュ22が同一のグループに属するように、同一のブロック内に存在する複数の高密度メッシュ22に対して同一のグループIDを割り当てる。
例えば、図6の例に示す場合において、グルーピング部14dは、同一のブロック30a内に存在する3つの高密度メッシュ22a、22b、22cのそれぞれに対応するレコードを高密度メッシュリスト13cのレコードの中から特定する。そして、グルーピング部14dは、特定したレコードのそれぞれの「Group」の項目に、同一のグループID「30a」を登録する。また、図6の例に示す場合において、グルーピング部14dは、ブロック30d内に存在する高密度メッシュ22dに対応するレコードを高密度メッシュリスト13cのレコードの中から特定する。そして、グルーピング部14dは、特定したレコードの「Group」の項目に、グループID「30d」を登録する。また、図6の例に示す場合において、グルーピング部14dは、同一のブロック30f内に存在する2つの高密度メッシュ22e、22fのそれぞれに対応するレコードを高密度メッシュリスト13cのレコードの中から特定する。そして、グルーピング部14dは、特定したレコードのそれぞれの「Group」の項目に、同一のグループID「30f」を登録する。また、図6の例に示す場合において、グルーピング部14dは、同一のブロック30k内に存在する4つの高密度メッシュ22g、22h、22i、22jのそれぞれに対応するレコードを高密度メッシュリスト13cのレコードの中から特定する。そして、グルーピング部14dは、特定したレコードのそれぞれの「Group」の項目に、同一のグループID「30k」を登録する。また、図6の例に示す場合において、グルーピング部14dは、同一のブロック30l内に存在する2つの高密度メッシュ22k、22lのそれぞれに対応するレコードを高密度メッシュリスト13cのレコードの中から特定する。そして、グルーピング部14dは、特定したレコードのそれぞれの「Group」の項目に、同一のグループID「30l」を登録する。また、図6の例に示す場合において、グルーピング部14dは、同一のブロック30m内に存在する2つの高密度メッシュ22m、22nのそれぞれに対応するレコードを高密度メッシュリスト13cのレコードの中から特定する。そして、グルーピング部14dは、特定したレコードのそれぞれの「Group」の項目に、同一のグループID「30m」を登録する。また、図6の例に示す場合において、グルーピング部14dは、同一のブロック30n内に存在する2つの高密度メッシュ22o、22pのそれぞれに対応するレコードを高密度メッシュリスト13cのレコードの中から特定する。そして、グルーピング部14dは、特定したレコードのそれぞれの「Group」の項目に、同一のグループID「30n」を登録する。また、図6の例に示す場合において、グルーピング部14dは、同一のブロック30s内に存在する高密度メッシュ22qに対応するレコードを高密度メッシュリスト13cのレコードの中から特定する。そして、グルーピング部14dは、特定したレコードの「Group」の項目に、グループID「30s」を登録する。
上述したように、高密度メッシュをグループ化することで、後述の特定部14eにおいて、グループ化された高密度メッシュごとに処理が行われるため、後述の特定部14eにおいて簡易に処理を行うことができるようになる。
ここで、EOEが発生すると考えられる理由の1つについて説明する。CMPにおいて用いられる研磨剤による研磨の研磨レートは、銅の配線の密度が低密度の領域よりも、銅の配線の密度が高密度の領域のほうが大きい。これは、酸化物などの基板よりも、銅のほうが研磨剤により削られやすいからである。そのため、CMPにおいて、銅の配線の密度が低密度の領域上に存在する研磨剤は、銅の配線の密度が高密度の領域に流れ込みやすい。すると、低密度の領域と高密度の領域との境界部分の高密度側の領域に研磨剤がたまりやすくなる。そして、たまった研磨剤により、低密度の領域と高密度の領域との境界部分の高密度側の領域が大きく削られ得る。これにより、EOEが発生し得る。
ここで、低密度の領域の面積が大きいほど、高密度の領域により多くの研磨剤が流れ込み、低密度の領域と高密度の領域との境界部分の高密度側の領域により多くの研磨剤がたまりやすくなる。そのため、高密度の領域に隣接する低密度の領域の面積が大きくなるほど、低密度の領域と高密度の領域との境界部分の高密度側の領域がより大きく削られる可能性が高くなる。それゆえ、低密度の領域の面積が大きくなるほど、低密度の領域と高密度の領域との境界部分の高密度側の領域にEOEが発生する可能性が高くなる。
図7A及び図7Bは、EOEが発生する可能性について説明するための図である。図7Aの例は、銅の配線の密度が高密度である領域40aの隣に、銅の配線の密度が低密度である領域40bが存在し、領域40bの隣に、銅の配線の密度が高密度である領域40cが存在する場合を示す。また、図7Bの例は、銅の配線の密度が高密度である領域40dの隣に、銅の配線の密度が低密度である領域40eが存在し、領域40eの隣に、銅の配線の密度が高密度である領域40fが存在する場合を示す。ここで、領域40bの面積は、領域40eの面積よりも大きい。そのため、領域40aと領域40bとの境界部分の高密度側の領域41aにEOEが発生する可能性は、領域40dと領域40eとの境界部分の高密度側の領域41bにEOEが発生する可能性よりも高い。
以上のことから、ある高密度メッシュに対して、研磨剤が流れ込むような低密度のメッシュの面積が所定値以上であれば、その高密度メッシュにEOEが発生すると考えられる。そこで、本実施例では、以下に説明するように、高密度メッシュごとに、高密度メッシュに研磨剤が流れ込むような低密度のメッシュの面積を算出し、算出した面積が所定値以上であれば、高密度メッシュにEOEが発生すると予測する。
特定部14eは、算出部14bにより選択された層の複数のメッシュのうち、高密度メッシュ以外のメッシュのそれぞれについて、複数の高密度メッシュの中から距離が最も近い高密度メッシュを特定する。また、特定部14eは、同一のグループに属する複数の高密度メッシュを同一の高密度メッシュとして、高密度メッシュ以外の複数のメッシュのそれぞれについて、複数の高密度メッシュの中から距離が最も近い高密度メッシュを特定する。
特定部14eの一態様について説明する。例えば、特定部14eは、同一のグループに属する複数の高密度メッシュを同一の高密度メッシュとみなし、高密度メッシュ以外のメッシュがどの高密度メッシュに距離が近いかを示す領域に分けられた図である離散ボロノイ図を作成する。図8は、離散ボロノイ図を作成する処理の一例を説明するための図である。図8の例に示すように、特定部14eは、グループID「30a」が示すグループに属する3つの高密度メッシュ22a、22b、22cを同一の高密度メッシュとみなす。また、特定部14eは、グループID「30f」が示すグループに属する2つの高密度メッシュ22e、22fを同一の高密度メッシュとみなす。また、特定部14eは、グループID「30k」が示すグループに属する4つの高密度メッシュ22g、22h、22i、22jを同一の高密度メッシュとみなす。また、特定部14eは、グループID「30l」が示すグループに属する2つの高密度メッシュ22k、22lを同一の高密度メッシュとみなす。また、特定部14eは、グループID「30m」が示すグループに属する2つの高密度メッシュ22m、22nを同一の高密度メッシュとみなす。また、特定部14eは、グループID「30n」が示すグループに属する2つの高密度メッシュ22o、22pを同一の高密度メッシュとみなす。この結果、高密度メッシュの数は、同一の高密度メッシュとみなされた6個の高密度メッシュに、グループID「30d」に属する高密度メッシュ22dおよびグループID「30s」に属する高密度メッシュ22qの2個の高密度メッシュを加えた8個となる。
そして、図8の例に示すように、特定部14eは、8個の高密度メッシュのうち、高密度メッシュ以外のメッシュがどの高密度メッシュに距離が近いかを示す領域に分けられた図である離散ボロノイ図を作成する。このような離散ボロノイ図を作成することによって、特定部14eは、1つの高密度メッシュとしてみなされた3つの高密度メッシュ22a、22b、22cを、26個のメッシュ21に距離が最も近い高密度メッシュとして特定する。これにより、特定部14eは、CMPにおいて、26個のメッシュ21のうち配線の密度が所定値よりも低いメッシュ21上の研磨剤が、1つの高密度メッシュとしてみなされた3つの高密度メッシュ22a、22b、22cに流れ込むことを特定することができる。
また、特定部14eは、高密度メッシュ22dを、56個のメッシュ21に距離が最も近い高密度メッシュとして特定する。これにより、特定部14eは、CMPにおいて、56個のメッシュ21のうち配線の密度が所定値よりも低いメッシュ21上の研磨剤が、高密度メッシュ22dに流れ込むことを特定することができる。
また、特定部14eは、1つの高密度メッシュとしてみなされた高密度メッシュ22e、22fを、28個のメッシュ21に距離が最も近い高密度メッシュとして特定する。これにより、特定部14eは、CMPにおいて、28個のメッシュ21のうち配線の密度が所定値よりも低いメッシュ21上の研磨剤が、1つの高密度メッシュとしてみなされた2つの高密度メッシュ22e、22fに流れ込むことを特定することができる。
また、特定部14eは、1つの高密度メッシュとしてみなされた4つの高密度メッシュ22g、22h、22i、22jを、28個のメッシュ21に距離が最も近い高密度メッシュとして特定する。これにより、特定部14eは、CMPにおいて28個のメッシュ21のうち配線の密度が所定値よりも低いメッシュ21上の研磨剤が、1つの高密度メッシュとしてみなされた高密度メッシュ22g、22h、22i、22jに流れ込むことを特定することができる。
また、特定部14eは、1つの高密度メッシュとしてみなされた高密度メッシュ22k、22lを、25個のメッシュ21に距離が最も近い高密度メッシュとして特定する。これにより、特定部14eは、CMPにおいて、25個のメッシュ21のうち配線の密度が所定値よりも低いメッシュ21上の研磨剤が、1つの高密度メッシュとしてみなされた2つの高密度メッシュ22k、22lに流れ込むことを特定することができる。
また、特定部14eは、1つの高密度メッシュとしてみなされた高密度メッシュ22m、22nを、7個のメッシュ21に距離が最も近い高密度メッシュとして特定する。これにより、特定部14eは、CMPにおいて、7個のメッシュ21のうち配線の密度が所定値よりも低いメッシュ21上の研磨剤が、1つの高密度メッシュとしてみなされた2つの高密度メッシュ22m、22nに流れ込むことを特定することができる。
また、特定部14eは、1つの高密度メッシュとしてみなされた高密度メッシュ22o、22pを、43個のメッシュ21に距離が最も近い高密度メッシュとして特定する。これにより、特定部14eは、CMPにおいて、43個のメッシュ21のうち配線の密度が所定値よりも低いメッシュ21上の研磨剤が、1つの高密度メッシュとしてみなされた2つの高密度メッシュ22o、22pに流れ込むことを特定することができる。
また、特定部14eは、高密度メッシュ22qを、25個のメッシュ21に距離が最も近い高密度メッシュとして特定する。これにより、特定部14eは、CMPにおいて、25個のメッシュ21のうち配線の密度が所定値よりも低いメッシュ21上の研磨剤が、高密度メッシュ22qに流れ込むことを特定することができる。
判定部14fは、算出部14bにより選択された層の複数の高密度メッシュのそれぞれについて、次の処理を行う。すなわち、判定部14fは、高密度メッシュごとに、高密度メッシュに距離が最も近いと特定部14eにより特定されたメッシュのうち、配線の密度が第3の所定値以下のメッシュの面積が、第4の所定値以上であるか否かを判定する。
判定部14fの一態様について説明する。判定部14fは、算出部14bにより選択された層の複数の高密度メッシュを1つずつ選択する。ここで、判定部14fは、特定部14eにおいて1つの高密度メッシュとしてみなされた複数の高密度メッシュについて、1つの高密度メッシュとしてみなすことを解消した上で、高密度メッシュを1つずつ選択する。また、判定部14fは、高密度メッシュを1つずつ選択するたびに、以下の処理を行う。すなわち、判定部14fは、選択した高密度メッシュを中心とする、半径の大きさがメッシュの一辺の長さのN(Nは正の数)倍の大きさである円に含まれるメッシュのうち、選択した高密度メッシュに距離が最も近いと特定部14eにより特定されたメッシュを特定する。ここで、Nとして、例えば、「3」が挙げられるが、Nの値は、予測装置10のユーザにより設定および変更することが可能であり、任意の値を用いることができる。
図9は、判定部が実行する処理の一例を説明するための図である。図9の例は、判定部14fが先の図8の例における高密度メッシュ22jを選択した場合の高密度メッシュ22j付近の拡大図である。この場合に、Nの値が「3」であるとき、判定部14fは、図9の例に示すように、高密度メッシュ22jを中心とする、半径の大きさがメッシュの一辺の長さの3倍の大きさである円50を生成する。そして、判定部14fは、円50に含まれるメッシュ21のうち、高密度メッシュ22jに距離が最も近いと特定部14eにより特定された26個のメッシュ51を特定する。ここで、判定部14fは、円の内部に、全てが含まれるメッシュに加え、一部が含まれるメッシュについても、円に含まれるメッシュとして特定する。
そして、判定部14fは、特定したメッシュのうち、銅の配線の密度が第3の所定値以下のメッシュを低密度メッシュとして特定する。ここで、第3の所定値として、例えば、「20%」が挙げられるが、第3の所定値の値は、予測装置10のユーザにより設定および変更することが可能であり、任意の値を用いることができる。図10は、判定部が実行する処理の一例を説明するための図である。例えば、先の図9の例に示すように、26個のメッシュ51を特定した場合に、判定部14fは、図10の例に示すように、メッシュ51のうち、銅の配線の密度が20%以下の10個のメッシュ51を低密度メッシュとして特定する。
そして、判定部14fは、特定した低密度メッシュの面積を算出する。例えば、図10の例に示すように、10個の低密度メッシュ51を特定した場合には、判定部14fは、次の処理を行う。すなわち、判定部14fは、1個あたりの低密度メッシュ51の面積(20(μm)×20(μm))×10の値(4000μm2)を、特定した10個の低密度メッシュ51の面積として算出する。
そして、判定部14fは、算出した面積が、第4の所定値以上であるか否かを判定する。ここで、第4の所定値として、例えば、「3600μm2」が挙げられるが、第4の所定値の値は、予測装置10のユーザにより設定および変更することが可能であり、任意の値を用いることができる。算出した面積が第4の所定値以上である場合には、選択した高密度メッシュにEOEが発生すると予測されるため、判定部14fは、選択した高密度メッシュに対応するレコードを高密度メッシュリスト13cのレコードの中から特定する。そして、判定部14fは、特定したレコードの「EOEの発生の有無」の項目に、EOEが発生することを示す「1」を登録する。一方、算出した面積が第4の所定値未満である場合には、選択した高密度メッシュにEOEが発生しないと予測されるため、判定部14fは、選択した高密度メッシュに対応するレコードを高密度メッシュリスト13cのレコードの中から特定する。そして、判定部14fは、特定したレコードの「EOEの発生の有無」の項目に、EOEが発生しないことを示す「0」を登録する。
ここで、上述した算出部14bにより実行される銅の配線の密度を算出する処理以降の各処理、並びに、上述した選択部14c、グルーピング部14d、特定部14e及び判定部14fにより実行される各処理は、EOE予測処理において実行される。そして、判定部14fは、終了条件を満たすか否かを判定する。例えば、判定部14fは、算出部14bにより選択された1つの層において、所定回数以上、EOE予測処理を行ったか否かを判定することにより、終了条件を満たすか否かを判定する。ここで、判定部14fは、算出部14bにより選択された1つの層において、所定回数以上、EOE予測処理を行ったと判定した場合には、終了条件を満たすと判定する。一方、判定部14fは、所定回数以上、EOE予測処理を行っていないと判定した場合には、終了条件を満たさないと判定する。
また、判定部14fは、高密度メッシュリスト13cを参照し、算出部14bにより選択された1つの層において、発生したEOEの個数が所定値以下であるか否かを判定することにより、終了条件を満たすか否かを判定することもできる。ここで、判定部14fは、高密度メッシュリストの「EOEの発生の有無」の項目に登録された「1」の個数を、発生したEOEの個数と判断することができる。判定部14fは、算出部14bにより選択された1つの層において、発生したEOEの個数が所定値以下であると判定した場合には、終了条件を満たすと判定する。一方、判定部14fは、発生したEOEの個数が所定値より多いと判定した場合には、終了条件を満たさないと判定する。
そして、終了条件を満たすと判定した場合には、判定部14fは、全ての層において、終了条件を満たすと判定したか否かを判定する。判定部14fにより、全ての層のうちいずれかの層において、終了条件を満たしていないと判定された場合には、本実施例に係る予測装置10は、上述したEOE予測処理を再び実行し、EOE予測処理以降の上述した各処理を再び実行する。
修正部14gは、算出部14bにより選択されたある1つの層において、終了条件を満たさないと判定部14fにより判定された場合には、次の処理を行う。すなわち、修正部14gは、メッシュデータ13bを参照し、算出部14bにより選択された層の低密度メッシュの銅の配線の密度を取得し、銅の配線の密度が低い順に、低密度メッシュが並ぶように、メッシュデータ13bのレコードを並び替える。
そして、修正部14gは、レコードが並び替えられたメッシュデータ13bの全レコードのうち、上位N(Nは、整数)個のレコードを特定する。そして、修正部14gは、特定したN個のレコードが示すN個の低密度メッシュのそれぞれに対して、ダミーの配線を修正する。例えば、修正部14gは、N個の低密度メッシュのそれぞれに対して、すでに設けられたダミーの配線を削除し、所定のダミーの配線のリスト(図示しない)の中から、削除したダミーの配線よりも面積が大きいダミーの配線を選択する。そして、修正部14gは、選択したダミーの配線のダミー配線IDとともに、ダミーの配線が変更済みであることを示す「1」を特定したレコードの「Dummy変更情報」の項目に登録する。このようにして、修正部14gは、特定したN個のレコードが示すN個の低密度メッシュのそれぞれに対して、ダミーの配線を修正する。なお、修正部14gは、N個の低密度メッシュのそれぞれに対して、すでに設けられたダミーの配線の隙間に設けるためのダミーの配線を、所定のダミーの配線のリストの中から選択することもできる。この場合においても、修正部14gは、選択したダミーの配線のダミー配線IDとともに、ダミーの配線が変更済みであることを示す「1」を特定したレコードの「Dummy変更情報」の項目に登録する。
表示制御部14hは、配線の密度が第3の所定値以下のメッシュの面積が、第4の所定値以上であると判定部14fにより判定された場合に、次の処理を行う。すなわち、表示制御部14hは、選択された高密度メッシュにEOE(Edge Over Erosion)が発生することを示す情報を表示するように表示部12を制御する。表示制御部14hは、出力部の一例である。
表示制御部14hの一態様について説明する。表示制御部14hは、高密度メッシュリスト13cのレコードの中から、「EOEの発生の有無」の項目に、EOEが発生することを示す「1」が登録されたレコードを特定する。そして、表示制御部14hは、特定したレコードの登録内容、及び、半導体集積回路モデルデータ13aを用いて、EOEが発生するメッシュの部分が強調された半導体集積回路のモデルを表示するように、表示部12を制御する。さらに、表示制御部14hは、メッシュデータ13bのレコードの中から、「Dummy変更情報」の項目に、「1」及びダミー配線IDが登録されたレコードを特定し、特定したレコードの各種の内容を表示するように表示部12を制御することもできる。
制御部14は、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、CPU(Central Processing Unit)、MPU(Micro Processing Unit)などの回路である。
[処理の流れ]
次に、本実施例に係る予測装置10が実行する処理の流れについて説明する。図11は、実施例に係る予測処理の手順を示すフローチャートである。実施例に係る予測処理は、例えば、入力部11から、予測処理を実行するための指示が制御部14に入力された場合に、制御部14により実行される。
図11に示すように、分割部14aは、記憶部13から半導体集積回路モデルデータ13aを取得する(S101)。そして、分割部14aは、半導体集積回路モデルデータ13aが示す半導体集積回路のモデルの全ての層の中に、未選択の層があるか否かを判定する(S102)。
未選択の層があると判定した場合(S102;Yes)には、分割部14aは、未選択の層を1つ選択する(S103)。そして、分割部14aは、選択した層(銅の配線が設けられた基板)の銅の配線が設けられた面を複数のメッシュに分割する(S104)。
そして、分割部14aは、メッシュごとに、メッシュデータ13bにレコードを追加する(S105)。そして、分割部14aは、メッシュごとに、追加したレコードに、メッシュに関する各種データを登録する。例えば、分割部14aは、追加したレコードの「layer」の項目に、メッシュが位置する層が何番目の層であるのかを示す数値を登録する。また、分割部14aは、メッシュごとに、追加したレコードの「X座標」の項目に、メッシュ上の所定の点(例えば、原点Oに距離が最も近いメッシュ上の点)のX座標の値を登録する。また、分割部14aは、メッシュごとに、追加したレコードの「Y座標」の項目に、メッシュ上の所定の点(例えば、原点Oに距離が最も近いメッシュ上の点)のY座標の値を登録する(S106)。そして、分割部14aは、S102に戻る。
一方、未選択の層がないと判定した場合(S102;No)には、分割部14aは、選択した全ての層を未選択とする(S107)。
そして、算出部14bは、半導体集積回路のモデルの全ての層の中に、未選択の層があるか否かを判定する(S108)。未選択の層があると判定した場合(S108;Yes)には、算出部14bは、未選択の層を1つ選択する(S109)。そして、算出部14bなどは、EOE予測処理を実行する(S110)。
図12は、実施例に係るEOE予測処理の手順を示すフローチャートである。図12に示すように、算出部14bは、選択した層の各メッシュにおける銅の配線の密度を算出する(S201)。
そして、算出部14bは、選択した層の各メッシュにおけるダミーの配線の密度を算出する(S202)。そして、算出部14bは、選択した層の各メッシュにおけるダミーの配線が配置可能な領域を特定するための座標を特定する(S203)。そして、算出部14bは、選択した層の各メッシュにおけるダミーの配線が配置可能な領域の面積を算出する(S204)。
そして、算出部14bは、メッシュごとに、メッシュに対応するレコードをメッシュデータ13bのレコードの中から特定する(S205)。そして、算出部14bは、メッシュごとに、特定したレコードに、メッシュに関する各種データを登録する。例えば、算出部14bは、メッシュごとに、特定したレコードの「Dens」の項目に、銅の配線の密度を登録する。また、算出部14bは、メッシュごとに、特定したレコードの「dummyDens」の項目に、ダミーの配線の密度を登録する。また、算出部14bは、メッシュごとに、特定したレコードの「dummyArea」の項目に、ダミーの配線が配置可能な領域を特定するための座標、及び、ダミーの配線が配置可能な領域の面積を登録する(S206)。
そして、選択部14cは、算出部14bにより選択された層の各メッシュの銅の配線の密度をメッシュデータ13bから取得する(S207)。そして、選択部14cは、取得した各メッシュの銅の配線の密度を用いて、算出部14bにより選択された層のメッシュの中から、以下に説明する高密度メッシュを選択する。すなわち、選択部14cは、かかる層のメッシュの中から、隣接するメッシュにおける銅の配線の密度よりも第1の所定値以上配線の密度が高いメッシュであって、銅の配線の密度が第2の所定値以上であるメッシュを高密度メッシュとして選択する(S208)。
そして、選択部14cは、高密度メッシュごとに、高密度メッシュリスト13cにレコードを追加する(S209)。そして、選択部14cは、高密度メッシュごとに、追加したレコードに、高密度メッシュに関する各種データを登録する。例えば、選択部14cは、高密度メッシュごとに、追加したレコードの「layer」の項目に、高密度メッシュが位置する層が何番目の層であるのかを示す数値を登録する。また、選択部14cは、高密度メッシュごとに、追加したレコードの「X座標」の項目に、高密度メッシュ上の所定の点(例えば、原点Oに距離が最も近いメッシュ上の点)のX座標の値を登録する。また、選択部14cは、高密度メッシュごとに、追加したレコードの「Y座標」の項目に、高密度メッシュ上の所定の点(例えば、原点Oに距離が最も近いメッシュ上の点)のY座標の値を登録する(S210)。
そして、グルーピング部14dは、原点OからX軸方向に所定個のメッシュごとにY軸と平行な線23aを引き、原点OからY軸方向に所定個のメッシュごとにX軸と平行な線23bを引いて、線23a、23bにより複数のブロックを形成する(S211)。そして、グルーピング部14dは、線23a、23bによって形成される同一のブロック内に存在する複数の高密度メッシュ22が同一のグループに属するように、次の処理を行う。すなわち、グルーピング部14dは、同一のブロック内に存在する複数の高密度メッシュ22に対して同一のグループIDを割り当てる(S212)。
そして、特定部14eは、同一のグループに属する複数の高密度メッシュを同一の高密度メッシュとみなし、高密度メッシュ以外のメッシュがどの高密度メッシュに距離が近いかを示す領域に分けられた図である離散ボロノイ図を作成する(S213)。そして、特定部14eは、離散ボロノイ図を用いて、次の処理を行う。すなわち、特定部14eは、同一のグループに属する複数の高密度メッシュを同一の高密度メッシュとして、高密度メッシュ以外の複数のメッシュのそれぞれについて、複数の高密度メッシュの中から距離が最も近い高密度メッシュを特定する(S214)。
そして、判定部14fは、算出部14bにより選択された層の複数の高密度メッシュの中に、未選択の高密度メッシュがあるか否かを判定する(S215)。ここで、判定部14fは、特定部14eにおいて1つの高密度メッシュとしてみなされた複数の高密度メッシュについて、1つの高密度メッシュとしてみなすことを解消した上で、複数の高密度メッシュの中に、未選択の高密度メッシュがあるか否かを判定する。
未選択の高密度メッシュがあると判定した場合(S215;Yes)には、判定部14fは、未選択の高密度メッシュを1つ選択する(S216)。そして、判定部14fは、選択した高密度メッシュを中心とする、半径の大きさがメッシュの一辺の長さのN(Nは正の数)倍の大きさである円を生成し、次の処理を行う。すなわち、判定部14fは、生成した円に含まれるメッシュのうち、選択した高密度メッシュに距離が最も近いと特定部14eにより特定されたメッシュを特定する(S217)。
そして、判定部14fは、特定したメッシュのうち、銅の配線の密度が第3の所定値以下のメッシュを低密度メッシュとして特定する(S218)。そして、判定部14fは、特定した低密度メッシュの面積を算出する(S219)。
そして、判定部14fは、算出した面積が、第4の所定値以上であるか否かを判定する(S220)。算出した面積が第4の所定値以上であると判定した場合(S220;Yes)には、判定部14fは、選択した高密度メッシュに対応するレコードを高密度メッシュリスト13cのレコードの中から特定し、次の処理を行う。すなわち、判定部14fは、特定したレコードの「EOEの発生の有無」の項目に、EOEが発生することを示す「1」を登録し(S221)、S215に戻る。一方、算出した面積が第4の所定値未満であると判定した場合(S220;No)には、判定部14fは、選択した高密度メッシュに対応するレコードを高密度メッシュリスト13cのレコードの中から特定し、次の処理を行う。すなわち、判定部14fは、特定したレコードの「EOEの発生の有無」の項目に、EOEが発生しないことを示す「0」を登録し(S222)、S215に戻る。
一方、未選択の高密度メッシュがないと判定した場合(S215;No)には、判定部14fは、処理結果を制御部14の内部メモリに格納し、リターンする。
図11の説明に戻り、判定部14fは、終了条件を満たすか否かを判定する(S111)。
終了条件を満たさないと判定した場合(S111;No)には、修正部14gは、メッシュデータ13bを参照し、算出部14bにより選択された層の低密度メッシュの銅の配線の密度を取得し、次の処理を行う。すなわち、修正部14gは、銅の配線の密度が低い順に、低密度メッシュが並ぶように、メッシュデータ13bのレコードを並び替える(S113)。
そして、修正部14gは、レコードが並び替えられたメッシュデータ13bの全レコードのうち、上位N(Nは、整数)個のレコードを特定し、特定したN個のレコードが示すN個の低密度メッシュのそれぞれに対して、ダミーの配線を修正する(S114)。そして、修正部14gは、S110に戻る。
一方、終了条件を満たすと判定した場合(S111;Yes)には、判定部14fは、全ての層において、終了条件を満たすと判定したか否かを判定する(S112)。全ての層のうちいずれかの層において、終了条件を満たしていないと判定した場合(S112;No)には、判定部14fは、S108に戻る。
全ての層において、終了条件を満たすと判定した場合(S112;Yes)には、表示制御部14hは、次の処理を行う。すなわち、表示制御部14hは、高密度メッシュリスト13cのレコードの中から、「EOEの発生の有無」の項目に、EOEが発生することを示す「1」が登録されたレコードを特定する(S115)。そして、表示制御部14hは、特定したレコードの登録内容、及び、半導体集積回路モデルデータ13aを用いて、EOEが発生するメッシュの部分が強調された半導体集積回路のモデルを表示するように、表示部12を制御する。さらに、表示制御部14hは、メッシュデータ13bのレコードの中から、「Dummy変更情報」の項目に、「1」及びダミー配線IDが登録されたレコードを特定し、特定したレコードの各種の内容を表示するように表示部12を制御する(S116)。そして、表示制御部14hは、予測処理を終了する。
また、未選択の層がないと判定した場合(S108;No)には、表示制御部14hは、所定のエラーメッセージを表示するように表示部12を制御し(S117)、予測処理を終了する。
上述してきたように、実施例に係る予測装置10は、半導体集積回路のモデルに対して、層ごとに、上述した所定面を複数のメッシュに分割する。そして、予測装置10は、各メッシュにおける銅の配線の密度を算出する。そして、予測装置10は、複数のメッシュの中から、隣接するメッシュにおける配線の密度よりも第1の所定値以上配線の密度が高いメッシュである高密度メッシュを複数選択する。そして、予測装置10は、複数の高密度メッシュのそれぞれを、複数のグループのいずれかのグループに属するようにグルーピングする。そして、予測装置10は、複数のメッシュのうち、高密度メッシュ以外のメッシュのそれぞれについて、複数の高密度メッシュの中から距離が最も近い高密度メッシュを特定する。そして、予測装置10は、複数の高密度メッシュのそれぞれについて、高密度メッシュごとに、高密度メッシュに距離が最も近いと特定されたメッシュのうち、配線の密度が第3の所定値以下の低密度メッシュを特定する。そして、予測装置10は、特定した低密度メッシュの面積が第4の所定値以上である場合に、次の処理を行う。すなわち、予測装置10は、高密度メッシュにEOEが発生したことを示す情報を出力する。よって、予測装置10によれば、高密度メッシュごとに、高密度メッシュにおけるEOEの発生に関係がある低密度メッシュを特定する。そして、予測装置10は、特定した低密度メッシュの面積が第4の所定値以上である場合に、高密度メッシュにEOEが発生したことを示す情報を出力する。すなわち、予測装置10は、EOEの発生に関係のないメッシュの情報を用いずに、EOEの発生に関係があるメッシュ(低密度メッシュ)の情報を用いて、EOEの発生を予測する。したがって、予測装置10によれば、EOEの発生についての予測の精度の低下を抑制することができる。さらに、予測装置10によれば、EOEの発生についての予測の精度の低下が抑制された結果、半導体集積回路の歩留まりを向上させることができる。
また、予測装置10は、複数の高密度メッシュのそれぞれを、複数のグループのいずれかのグループに属するようにグルーピングする。そして、予測装置10は、同一のグループに属する複数の高密度メッシュを同一の高密度メッシュとして、複数のメッシュのそれぞれについて、複数の高密度メッシュの中から距離が最も近い高密度メッシュを特定する。このように、予測装置10によれば、高密度メッシュをグループ化した上で、複数のメッシュのそれぞれについて、複数の高密度メッシュの中から距離が最も近い高密度メッシュを特定するので、高密度メッシュを特定する際の処理が簡易となる。
また、予測装置10は、特定した低密度メッシュの面積が第4の所定値以上である場合に、低密度メッシュにおける配線の密度が高くなるように、低密度メッシュにおけるダミー配線を修正する。そして、予測装置10は、ダミー配線が修正された低密度メッシュに係る情報を出力する。例えば、予測装置10は、メッシュデータ13bのレコードの中から、「Dummy変更情報」の項目に、「1」及びダミー配線IDが登録されたレコードを特定し、特定したレコードの各種の内容を表示するように表示部12を制御する。このように、予測装置10は、高密度メッシュの周辺のすべてのメッシュにおけるダミー配線を修正するではなく、ピンポイントで特定された低密度メッシュにおけるダミー配線を修正する。そのため、予測装置10によれば、ダミー配線が修正された情報のデータサイズが増大することを抑制することができる。
また、予測装置10は、半導体集積回路のモデルの各層に対して、EOEの発生を予測する。よって、予測装置10によれば、半導体集積回路のモデルの各層におけるEOEの発生についての予測の精度の低下を抑制することができる。
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。
例えば、上述した実施例では、グルーピング部14dが、複数の高密度メッシュのそれぞれを、複数のグループのいずれかのグループに属するようにグルーピングする場合について説明した。しかしながら、開示の装置は、このようなグルーピングする処理を省略することもできる。この場合には、開示の装置の特定部は、複数のメッシュのうち、高密度メッシュ以外のメッシュのそれぞれについて、グループ化されていない複数の高密度メッシュの中から距離が最も近い高密度メッシュを特定する。
また、上述した第1の所定値、第2の所定値、第3の所定値及び第4の所定値、並びに、「N」の各値を、記憶部13に記憶されたファイル(図示せず)に登録しておくこともできる。この場合、制御部14の各部が各処理で用いる場合に、各部が、ファイルから第1の所定値、第2の所定値、第3の所定値及び第4の所定値、並びに、「N」のいずれかの値を取得し、取得した値を用いて各処理を行う。また、ファイルに登録された第1の所定値、第2の所定値、第3の所定値及び第4の所定値、並びに、「N」の各値は、予測装置10のユーザにより任意の値に変更可能である。
また、各実施例において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともできる。また、各実施例において説明した各処理のうち、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理を任意に細かくわけたり、あるいはまとめたりすることができる。また、ステップを省略することもできる。
また、各種の負荷や使用状況などに応じて、各実施例において説明した各処理の各ステップでの処理の順番を変更できる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
[予測プログラム]
また、上記の実施例で説明した予測装置10の各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、図13を用いて、上記の実施例で説明した予測装置10と同様の機能を有する予測プログラムを実行するコンピュータの一例を説明する。図13は、予測プログラムを実行するコンピュータを示す図である。
図13に示すように、コンピュータ300は、CPU310、ROM320、HDD(Hard Disk Drive)330、RAM340を有する。これら各機器310〜340は、バス350を介して接続されている。
ROM320には、OS(Operating System)などの基本プログラムが記憶されている。また、HDD330には、上記の実施例で示す各部14a〜14hと同様の機能を発揮する予測プログラム330aが予め記憶される。また、HDD330には、記憶部13に記憶された各種のデータおよびリストが設けられる。
そして、CPU310が、予測プログラム330aをHDD330から読み出して実行する。
そして、CPU310は、各種のデータおよびリストを読み出してRAM340に格納する。さらに、CPU310は、RAM340に格納された各種のデータおよびリストを用いて、予測プログラム330aを実行する。なお、RAM340に格納されるデータは、常に全てのデータがRAM340に格納されなくともよい。処理に用いられるデータがRAM340に格納されれば良い。
なお、上記した予測プログラム330aについては、必ずしも最初からHDD330に記憶させなくともよい。
例えば、コンピュータ300に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ300に接続される「他のコンピュータ(またはサーバ)」などにプログラムを記憶させておく。そして、コンピュータ300がこれらからプログラムを読み出して実行するようにしてもよい。