(58)【調査した分野】(Int.Cl.,DB名)
第一の数の評価点を用いて取得された精度の低い1以上の因子量である低忠実度情報と、前記第一の数より多い数の第二の数の評価点を用いて取得された精度の高い1以上の因子量である高忠実度情報との対応を示す情報である因子量変換情報が格納される因子量変換情報格納部と、
描画パターンに関する描画パターン情報が格納される描画パターン情報格納部と、
前記描画パターン情報が示す描画パターンに対して、1以上の評価点を用いて、ADIシミュレーションを行い、1以上の因子量を取得するADIシミュレーション部と、
前記1以上の因子量である低忠実度情報に対応する1以上の因子量である高忠実度情報を、前記因子量変換情報を用いて取得する変換部と、
前記変換部が取得した1以上の因子量を用いてエッチングシミュレーションを行うエッチングシミュレーション部とを具備するシミュレーション装置。
前記エッチングシミュレーション部によるエッチングシミュレーションの結果を用いて前記1以上の評価点の残差を取得し、前記1以上の残差を用いて、予め決められた条件を満たすほど誤差が小さいか否かを判断する判断部と、
前記判断部が予め決められた条件を満たさないと判断した場合、前記1以上の評価点の残差を用いて、前記描画パターン情報を変更するパターン情報変更部とをさらに具備し、
前記判断部が予め決められた条件を満たすと判断するまで、前記ADIシミュレーション部、前記変換部、および前記エッチングシミュレーション部の処理を繰り返す請求項1記載のシミュレーション装置。
【発明を実施するための形態】
【0022】
以下、シミュレーション装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0023】
本実施の形態において、マスクプロセスシミュレーションを行うシミュレーション装置について説明する。
【0024】
マスクプロセスシミュレーション(以下、単にシミュレーションと記す場合がある)とは、フォトマスク製造プロセスに関する各種のシミュレーションの総称である。各種のシミュレーションとは、後述するADI(After Development Inspection)シミュレーション、および後述するエッチングシミュレーションなどである。
【0025】
フォトマスク製造プロセスとは、例えば、半導体素子やプリント基板等に用いるフォトマスクを製造する一連の工程をいう。一連の工程とは、例えば、以下の工程1〜5であってもよい。
【0026】
(工程1)マスクブランクスにレジストを塗る工程。マスクブランクスとは、フォトマスクの材料であり、ガラスや半導体ウェハ等の基板上に遮光性の薄膜が形成されたものである。レジストとは、電子ビームや光等の照射を受けると、その照射を受けた部分の分子量や溶解性等の物性が変化する組成物である。
【0027】
(工程2)レジストが塗布されたマスクブランクス上に、電子ビーム等により回路等の図形を描画する工程。2以上の描画パターン情報が予め準備されており、図形は、1または2以上の描画パターン情報を組み合わせて描画されてもよい。
【0028】
(工程3)図形が描画されたレジストを現像する工程。現像とは、例えば、レジストを現像液に浸すことで、電子ビーム等の照射を受けた部分を溶解させ、照射を受けていない部分がエッチングに対する保護膜となるようにすることである。
【0029】
(工程4)現像後のマスクブランクスをイオンやガス等でエッチングする工程。マスクブランクスのレジストが除去された部分だけがイオン等により削られ、レジストで保護された部分は削られない。
【0030】
(工程5)エッチング後のマスクブランクスからレジストを除去する工程。
【0031】
上記一連の工程のうち、工程3の現像によってレジストに刻まれる描画パターンの輪郭線(以下、レジスト輪郭と記す場合がある)の線幅は、通常、描画パターン情報で定義された線幅とは異なる。これは、例えば、ビームの電子が、レジスト分子に衝突した後も運動を続け、ビームを当てた場所以外の部分に対してもエネルギーを与えることに起因すると考えられる。つまり、レジストのある領域に照射された電子ビームが、その照射領域の周囲に散乱する結果、物性が変化する領域は、その照射領域と正確には一致せず、線幅変動が生じる。
【0032】
ADIシミュレーションとは、かかるレジスト輪郭に関する情報を取得するためのシミュレーションであるといってもよい。レジスト輪郭に関する情報とは、例えば、レジスト輪郭を示す情報でもよいし、レジスト輪郭の線幅変動を示す情報でもよい。
【0033】
ADIシミュレーションは、例えば、一の描画パターン情報が示す描画パターンの輪郭線に沿って配置された1以上の評価点を用いて、モデルベースで行われてもよい。評価点とは、描画パターンに配置される点であり、ADI等の各種シミュレーションによる評価の対象となる点である。ADIシミュレーションで用いるモデルとは、例えば、閾値モデル(threshold model)であってもよい。なお、詳細は後述するが、閾値モデルベースのADIシミュレーションでは、上記のような1以上の各評価点に対して、当該評価点を動かしながら、当該評価点での電子ビームによる蓄積エネルギー値Eが閾値Ethと等しくなる位置を探索する処理が繰り返され、探索された位置である1以上の探索位置の集合が取得される。
【0034】
レジスト輪郭を示す情報とは、例えば、上記のようにして探索された1以上の探索位置の集合であってもよいし、当該1以上の探索位置に沿う線を示す数式等でも構わない。なお、沿う線とは、例えば、探索位置間を繋ぐ直線の集合でもよいし、1以上の探索位置から取得されるベジェ曲線等の曲線でもよい。また、レジスト輪郭の線幅変動とは、例えば、描画モデルの輪郭線上に配置された1以上の各評価点の初期位置から、上記のようにして探索された位置である探索位置に向かう1以上のベクトルの集合として表現されてもよい。
【0035】
加えて、工程4のエッチングによって基板に刻まれる輪郭線の線幅もまた、通常、描画パターン情報で定義された線幅とは異なる。これは、上記のようにして現像後のレジストに生じた線幅変動に対応する線幅変動が、エッチング後のマスクブランクスにも生じることに加えて、エッチング後のマスクブランクスにおいては、例えば、シャドウイングやローディング効果等による線幅変動が、さらに生じることに起因すると考えられる。
【0036】
なお、シャドウイングとは、例えば、輪郭線の深さがその幅に対して相対的に深い場合に、斜めに入射するイオン等の量が少なくなる結果、マスクブランクスの削られる速度が遅くなり、相対的に線幅が狭くなる現象であるといってもよい。また、ローディング効果とは、例えば、輪郭線が密な場所において、輪郭線が疎な場所と比べて、イオン等の供給量が不足する結果、マスクブランクスの削られる速度が遅くなり、相対的に線幅が狭くなる現象であるといってもよい。いずれの現象も公知であり、詳しい説明は省略する。
【0037】
エッチングシミュレーションとは、エッチングによって上記のようにマスクブランクスに刻まれる輪郭線に関する情報を取得するためのシミュレーションであるといってもよい。本実施の形態では、特に、エッチングによってマスクブランクスに刻まれる輪郭線の線幅変動が取得される。
【0038】
エッチングシミュレーションは、例えば、前述のADIシミュレーションで、1以上の各評価点に対して取得された1以上の因子量を用いて、モデルベースで行われる。ここでいうモデルとは、例えば可変バイアスモデル(variable bias model)であってもよい。なお、詳細は後述するが、可変バイアスモデルベースのエッチングシミュレーションでは、上記1以上の各評価点に対して、1以上の因子量が取得される。因子量とは、描画パターンの当該評価点における局所的な形状を表現する情報であるといってもよい。因子量は、例えば、開口角Ω、面積率uなどの因子の数値であるが、描画パターンの局所形状を表現し得る情報であれば何でもよい。
【0039】
なお、開口角Ωとは、例えば、シャドウイングに関連して上述した輪郭線の幅に対する深さの比を示す数値であるともいえる。また、面積率uとは、例えば、ローディング効果に関連して上述した輪郭線の疎密を示す数値であるといってもよい。開口角Ωおよび面積率uの詳細については後述する。
【0040】
エッチングによってマスクブランクスに刻まれる輪郭線(以下、エッチ輪郭と記す場合がある)の線幅変動は、例えば、かかる1以上の因子量の関数と見なされ得る。1以上の各評価点におけるエッチ輪郭の線幅変動δを示す関数は、具体的には、当該評価点に対して取得された開口角Ωおよび面積率uを用いて、例えば、δ=f(Ω,u)のように表現されてもよい。
【0041】
ところで、ADIシミュレーションによれば、レジスト輪郭は、線幅が変動するのに加えて、エッジ部分が丸くなる。そのため、高い精度でADIシミュレーションを行うには、エッジ部分の丸みをも表現し得るように、多数の評価点を配置する必要がある。しかし、従来技術では、評価点の数が多いほど、ADIシミュレーションの処理速度は低下していた。
【0042】
また、エッチングシミュレーションでは、ADIシミュレーションで取得された1以上の各探索点での開口角Ωおよび面積率uの取得が必要であるため、その処理速度も、評価点の数が多いほど、低下していた。
【0043】
そこで、本実施の形態のシミュレーション装置は、因子量変換情報を用いることにより、高速かつ正確にマスクプロセスシミュレーションを行えるようにしている。
【0044】
因子量変換情報とは、1以上の因子量の変換を行うための情報である。1以上の因子量の変換とは、精度の低い1以上の因子量から、精度の高い1以上の因子量への変換である。精度の低い1以上の因子量とは、第一の数の評価点を用いて取得された1以上の因子量であり、以下では、かかる1以上の因子量を低忠実度情報と記す場合がある。第一の数とは、1または2以上である。例えば、一の描画パターンを構成する2以上の辺ごとに、1以上の評価点が配置されることは好適である。ただし、低忠実度情報の取得には、通常、各辺に1個ずつ評価点を配置すればよい。
【0045】
精度の高い1以上の因子量とは、第一の数より多い数の第二の数の評価点を用いて取得された1以上の因子量であり、以下では、かかる1以上の因子量を高忠実度情報と記す場合がある。第二の数とは、2以上である。例えば、低忠実度情報の取得にあたって、各辺に1個ずつ評価点を配置する場合、高忠実度情報の取得には、例えば、数個から数十個、より特定的には、十個から二十個程度の評価点を、各辺に配置することが好適である。
【0046】
本実施形態のシミュレーション装置は、事前に、一の描画パターンに対して、第一の数評価点を配置し、低忠実度情報を取得し、さらに、当該描画パターンに対して、第二の数の評価点を配置し、高忠実度情報をも取得する。かかる低忠実度情報と高忠実度情報との組は、例えば、2種類以上の描画パターンごとに、2組以上、取得されることは好適である。
【0047】
因子量変換情報は、こうして一の描画パターンに対して取得された低忠実度情報と高忠実度情報との対応を示す情報である。シミュレーション装置は、例えば、事前に、2種類以上の描画パターンごとに、因子量変換情報を取得し、蓄積しておくことは好適である。なお、因子量変換情報の表現形式やデータ構造等については、後述する。
【0048】
シミュレーション装置は、例えば、エッチングしようとする図形に対応する描画パターン情報を取得し、当該描画パターン情報が示す描画パターンに第一の数の評価点を配置して、ADIシミュレーションを行うことにより、低忠実度情報である1以上の因子量を取得する。次に、シミュレーション装置は、当該描画パターン情報に対応する因子量変換情報を用いて、当該低忠実度情報に対応する高忠実度情報であり、第一の数よりも多い第二の数の評価点を用いて取得された1以上の因子量である高忠実度情報を取得し、取得した高忠実度情報である1以上の因子量を用いてエッチングシミュレーションを行うことにより、高速かつ正確にシミュレーションが行える。
【0049】
また、本実施の形態において、上記のようなシミュレーションの結果を用いて、誤差の補正をも行えるシミュレーション装置について説明する。なお、誤差、およびその補正については後述する。
【0050】
図1は、本実施の形態におけるシミュレーション装置1のブロック図である。シミュレーション装置1は、格納部11、受付部12、処理部13、および出力部14を備える。格納部11は、因子量変換情報格納部111、および描画パターン情報格納部112を備える。処理部13は、ADIシミュレーション部131、変換部132、エッチングシミュレーション部133、形状識別子取得部134、判断部135、およびパターン情報変更部136を備える。
【0051】
格納部11は、各種の情報を格納し得る。各種の情報とは、例えば、前述した因子量変換情報、後述する描画パターン情報などである。
【0052】
因子量変換情報格納部111には、1または2以上の因子量変換情報が格納される。因子量変換情報は、前述したように、一の描画パターンに対して第一の数の評価点を用いて取得された精度の低い1以上の因子量である低忠実度情報と、当該描画パターンに対して第一の数より多い数の第二の数の評価点を用いて取得された精度の高い1以上の因子量である高忠実度情報との対応を示す情報である。
【0053】
例えば、後述する描画パターン情報格納部112に、矩形状、凸部形状等の各種形状に関する2以上の描画パターン情報が格納されている場合、因子量変換情報格納部111には、かかる2以上の描画パターン情報ごとに、因子量変換情報が格納される。描画パターン情報ごとの因子量変換情報とは、例えば、矩形状の描画パターンに関する因子量変換情報、凹部形状の描画パターンに関する因子量変換情報等である。
【0054】
因子量は、前述したように、描画パターンの局所形状を表現する情報であり、例えば、開口角Ω、面積率uなどの因子の値である。
【0055】
開口角Ωとは、一の評価点におけるレジストの開口部の角度である。レジストの開口部とは、現像後のマスクブランクスにおいて、レジストが取り除かれ、マスクブランクスの表面が露出した部分である。レジストの開口部は、例えば、前述したレジスト輪郭の線幅に相当する幅と、レジストの厚みに相当する深さとを有する溝であるといってもよい。
【0056】
または、レジストの開口部は、例えば、レジスト輪郭を構成する3または4以上の評価点のうち、一の評価点であり、マスクブランクスの表面の高さに存在する一の評価点と、他の2または3以上の各評価点であり、マスクブランクスの表面よりもレジストの厚み分だけ高い高さに存在する2または3以上の各評価点とを、直線で繋いで構成される1または2以上のポリゴンの集合であるということもできる。
【0057】
開口角Ωは、レジストの開口部を、上記1または2以上のポリゴンに対応する1または2以上の三角形に分割し、分割後の各三角形に対して、例えば、数1のような積分計算を行うことにより取得される。
【0059】
数1において、φは、当該三角形を構成する3つの頂点のうち、上記一の評価点に対応する一の頂点から見た、他の2つの各頂点の方位角である。φ1が、他の2つの頂点のうち1つ目の頂点の方位角であり、φ2は、2つ目の頂点の方位角である。
【0060】
三角分割の一例を
図2に示す。本例の三角分割は、8つの評価点P1〜P8で構成された開口部を、6つの三角形T1〜T6に分割する場合を示している。例えば、3つの頂点P1,P5およびP8で構成された三角形T6に注目すると、上記一の評価点に対応する頂点P5から見た、他の2つの頂点のうち1つ目の頂点P1の方位角φ1とは、頂点P5から頂点P1に向かう直線が、所定の基準線に対してなす角である。同様に、頂点P5から見た2つ目の頂点P8の方位角φ2とは、頂点P5から頂点P8に向かう直線が当該基準線に対してなす角である。
【0061】
また、数1において、θは、当該三角形を構成する3つの頂点のうち、上記一の評価点に対応する一の頂点から見た、他の2つの各頂点の仰角である。例えば、
図2の三角形T6に注目すると、方位角φがφ1〜φ2の範囲で変化するのに対し、仰角θは0〜atan(h/r(φ))の範囲で変化する。ここで、hはレジストの厚みを示し、r(φ)は、方位角φに対応する直線がレジスト輪郭と交差する点までの水平距離を示している。
【0062】
従って、開口角Ωは、例えば、数1に示されるように、仰角θをパラメータとする所定の関数f(θ)を仰角方向に0〜atan(h/r(φ))の範囲で積分し、かつ方位角方向にφ1〜φ2の範囲で積分することにより取得できる。
【0063】
面積率uとは、一の評価点におけるレジスト輪郭の密度である。面積率uは、例えば、当該一の評価点を中心とする予め決められた広さの範囲内に存在する輪郭線の数量(例えば、溝の本数、溝の長さ、またはそれらの乗算値等)で表現されてもよい。面積率もまた、開口部を、例えば、三角形または四角形等に分割し、Gaussian関数で畳み込みすることにより取得できる。
【0064】
一の描画パターンに対して、上記開口角Ωおよび面積率u等の2種類以上の因子ごとに、1以上の因子量が取得される場合、因子量変換情報格納部111には、かかる2種類以上の因子ごとに、因子量変換情報が格納されることは好適である。因子ごとの1以上の因子量とは、例えば、因子の一種である開口角Ωの数値“0.11”,“0.21”,…や、因子の他の一種である面積率uの数値“0.09”,“0.18”,…等であってもよい。因子ごとの因子量変換情報とは、例えば、開口角Ωに関する因子量変換情報、面積率uに関する因子量変換情報などある。
【0065】
因子量変換情報格納部111には、2以上の描画パターン情報および2種類以上の因子の組み合わせごとに、因子量変換情報が格納されることは、より好適である。描画パターン情報および因子の組み合わせごとの因子量変換情報とは、例えば、矩形状の描画パターンの開口角Ωに関する因子量変換情報、矩形状の描画パターンの面積率uに関する因子量変換情報、凹部形状の描画パターンの開口角Ωに関する因子量変換情報、凹部形状の描画パターンの面積率uに関する因子量変換情報などある。
【0066】
因子量変換情報は、例えば、数値である高忠実度情報と、数値である低忠実度情報との組であってもよい。数値である高忠実度情報と、数値である低忠実度情報との組とは、例えば、
図3に示すような、低忠実度情報に対応する数値α、および高忠実度情報に対応する数値βのペア(α,β)の集合であってもよい。
【0067】
図3は、数値のペアの集合で構成された因子量変換情報の一例を示す図である。なお、この因子量変換情報は、特定の描画パターンの、特定の因子量に関する因子量変換情報である。特定の描画パターンとは、例えば、矩形状の描画パターンであるが、凹部形状、凸部形状、階段形状等、矩形以外の描画パターンでもよい。特定の因子量とは、例えば、開口角Ωの数値群であるが、面積率u等の数値群でもよい。
【0068】
数値のペア(α,β)の集合とは、具体的には、例えば、(0,0),(0.110973,0.09414),(0.218646,0.183325),…,および(1,1)等であってもよい。ただし、ここで示した因子量変換情報を構成するペアの総数や、各ペアの具体的な数値等は、例示に過ぎず、描画パターンおよび因子の組み合わせによって、様々であってよい。
【0069】
または、因子量変換情報は、例えば、低忠実度情報を入力とし、高忠実度情報を出力とする関数であってもよい。関数は、例えば、多項式関数、スプライン関数等であるが、種類は問わない。
【0070】
多項式関数は、例えば、数2に示す式で表現されてもよい。
【0072】
数2の式において、第1項〜第3項の係数は、例えば、a=−1,2912、b=1.9071、c=0.3704であってもよい。ただし、多項式の項数や係数は問わない。
【0073】
スプライン関数は、例えば、数3に示す式で表現されてもよい。
【0075】
数3の式において、t
iは、m個のノット(knot)のうちi番目のノットの値であり、P
iは、t
iと組になる係数(coefficient)である。このようなノットと係数の組(t
i,P
i)の集合は、例えば、
図4に示すようなものであってもよい。
【0076】
図4は、スプライン関数におけるノットと係数の組の集合の一例を示す図である。本例では、m=29であり、ノットおよび係数の組の集合とは、1番目のノット“0”と係数“0.0001038443”の組、2番目のノット“0”と係数“0.0001038443”の組、…、および29番目のノット“1”と係数“0.9998961557”の組等である。
【0077】
ただし、因子量変換情報は、多項式関数やスプライン関数以外の関数で表現されてもよく、その表現形式は問わない。また、数値のペアで構成された因子量変換情報のデータ構造も問わない。
【0078】
因子量変換情報格納部111には、形状識別子と対応付けて、上記のような2以上の因子量変換情報が格納されてもよい。なお、対応付けて格納することは、因子量変換情報が形状識別子を有する場合も含む。形状識別子とは、描画パターンの形状を識別する情報である。形状識別子は、例えば、“矩形状(3辺)”、“凹部形状”、“凸部形状”、“階段形状”などであってもよいし、それらに対応付けられたIDなどであってもよい。なお、各種の形状については後述する。
【0079】
因子量変換情報格納部111には、形状識別子および因子識別子の組と対応付けて、上記のような2以上の因子量変換情報が格納されてもよい。因子識別子とは、因子を識別する情報である。因子識別子は、例えば、“開口角Ω”、“面積率u”等であってもよいし、それらに対応付けられたIDなどであってもよい。
【0080】
描画パターン情報格納部112には、1または2以上の描画パターン情報が格納される。描画パターン情報とは、描画パターンに関する情報である。描画パターンとは、描画しようとする図形を構成する要素であり、各種の形状を有する要素であるといってもよい。描画パターンは、例えば、1または2以上の辺で構成されてもよい。フォトマスクに描画する電子回路などの図形は、例えば、
図5に示すような、1または2以上の辺で構成された各種の描画パターンの組み合わせにより描画され得る。
【0081】
図5は、各種の描画パターンを示す図である。各種の描画パターンは、例えば、矩形状の描画パターン51、凹部形状の描画パターン52、凸部形状の描画パターン53、階段形状の描画パターン54などであってもよい。
【0082】
矩形状の描画パターン51は、例えば、閉じた矩形の輪郭線に対応する4辺で構成された描画パターン51aと、かかる4辺中の3辺で構成された描画パターン51bとの2種類があってもよい。なお、かかる4辺中の残り1辺であり、描画パターン52bを構成しない1辺は、他の描画パターンとの接合部であり、通常、描画されない部分である。
【0083】
また、凹部形状の描画パターン52は、例えば、多角形の凹部に対応する3辺で構成された描画パターンである。凸部形状の描画パターン53は、例えば、多角形の凸部に対応する5辺で構成された描画パターンである。階段形状の描画パターン54は、例えば、多角形の階段部分に対応する5辺で構成された描画パターンである。なお、図示された描画パターン以外にも、例えば、一の辺のみで構成された描画パターンや、多角形のエッジ部分に対応する2辺で構成された描画パターンなどもあってよい。
【0084】
なお、
図5の各種描画パターンに付された丸印は、当該描画パターンを構成する一の辺に配置される一の評価点を示している。図示はしていないが、他の各辺にも、一の評価点が配置されることは好適である。
【0085】
描画パターン情報格納部112には、上記のような各種の描画パターンを示す2以上の描画パターン情報が格納されることは好適である。2以上の描画パターン情報が格納される場合、各描画パターン情報には、例えば、上述した“矩形状(3辺)”、“凹部形状”等の形状識別子が対応付けられる。なお、対応付けられることは、描画パターン情報が形状識別子を有する場合も含む。
【0086】
受付部12は、各種の情報を受け付ける。各種の情報とは、例えば、エッチングしようとする図形の画像データ、描画パターン情報、各種の指示などである。各種の指示とは、例えば、因子量変換情報構成指示、シミュレーション結果出力指示、補正結果出力指示などであってもよい。なお、これらの指示に対は後述する。受け付けとは、キーボードやマウスやタッチパネル等の入力デバイスから入力された情報の受け付け、ネットワークや通信回線等を介して送信された情報の受信、ディスクや半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【0087】
詳しくは、受付部12は、エッチングしようとする図形の画像データを、例えば、マウスやタッチパネル等を介して手描きの態様で受け付けるが、記録媒体から読み出したり、ネットワーク等を介して受信したりしても構わない。また、受付部12は、シミュレーションに用いる1以上の描画パターン情報を、例えば、記録媒体から読み出したり、ネットワークを介して受信したりするが、マウス等を介して手書き態様で受け付けても構わない。また、受付部12は、各種の指示を、例えば、キーボード等の入力デバイスを介して受け付けてもよい。
【0088】
処理部13は、各種の処理を行う。各種の処理とは、例えば、前述したようなシミュレーションであり、具体的には、ADIシミュレーション部131、変換部132、エッチングシミュレーション部133、および形状識別子取得部134などの処理である。
【0089】
また、処理部13は、例えば、受付部12が画像データを受け付けたことに応じて、当該画像データに対し、描画パターン情報格納部112に格納されている1以上の描画パターンから一の描画パターン情報を選択して、当該画像パターンにマッチする1以上の部分を特定し、各部分についてシミュレーションを行い、各部分のエッチ輪郭の線幅変動を示す関数を取得する処理を、未選択の描画パターン情報がなくなるまで繰り返すことにより、当該画像データに対する関数群を取得することは好適である。
【0090】
また、処理部13は、例えば、受付部12が因子量変換情報構成指示を受け付けたことに応じて、描画パターン情報格納部112に格納されている1以上の各描画パターン情報に対して、因子量変換情報を構成し、因子量変換情報格納部111に蓄積してもよい。因子量変換情報構成指示とは、因子量変換情報を構成する指示である。
【0091】
詳しくは、処理部13は、例えば、描画パターン情報格納部112に格納されている1以上の描画パターン情報から一の描画パターン情報を選択し、当該一の描画パターン情報に対して、第一の数の評価点を用いたADIシミュレーションをADIシミュレーション部131に行わせ、さらに、第一の数よりも多い第二の数の評価点を用いたADIシミュレーションをもADIシミュレーション部131に行わせ、前者のADIシミュレーションにより取得された1以上の因子量である低忠実度情報と、後者のADIシミュレーションにより取得された1以上の因子量である高忠実度情報との組を用いて因子量変換情報を構成し、構成した因子量変換情報を当該描画パターン情報に対応付けて因子量変換情報格納部111に蓄積する処理を、未選択の描画パターン情報がなくなるまで繰り返すことは好適である。なお、描画パターン情報に対応付けることは、例えば、描画パターン情報が示す描画パターンの形状を識別する形状識別子に、因子量変換情報を対応付けることでもよい。
【0092】
ただし、処理部13は、例えば、受付部12が描画パターン情報を受け付ける度に、当該描画パターン情報に対して、因子量変換情報を構成する処理を行ってもよい。
【0093】
または、処理部13が因子量変換情報を構成する代わりに、他の処理装置によって構成された1以上の因子量変換情報が、予め、因子量変換情報格納部111に格納されていても構わない。
【0094】
ADIシミュレーション部131は、描画パターン情報が示す描画パターンに対して、1以上の評価点を用いて、ADIシミュレーションを行い、1以上の因子量を取得する。
【0095】
ADIシミュレーション部131は、例えば、描画パターン情報が示す描画パターンの外周に1以上の評価点を配置して、モデルベースのADIシミュレーションを行い、当該1以上の評価点を予め決められた条件を満たす位置に移動し、移動後の当該1以上の各評価点で、1以上の因子量を取得してもよい。なお、1以上の評価点を配置することは、例えば、1以上の各評価点の位置を示す座標の初期値として、描画パターンの外周上の1以上の各点の位置を示す座標の値を設定することであってもよい。また、1以上の評価点を移動することは、こうして1以上の各評価点に対して初期設定した座標値を、予め決められた条件を満たす座標値に変更することであってもよい。さらに、後述する数4〜数6の式は、かかる条件を示す数式群の例示であるといってもよい。
【0096】
ここで、描画パターンの外周に1以上の評価点を配置することは、例えば、描画パターンを構成する1以上の辺ごとに一の評価点を配置することでもよい。ただし、1以上の辺ごとに配置する評価点の数は、2以上でも構わない。
【0097】
モデルベースのADIシミュレーションは、例えば、前述したような閾値モデルによるレジスト輪郭の取得を含んでもよい。閾値モデルとは、現像後のレジストの輪郭線を、1以上の評価点における蓄積エネルギーと閾値との比較により取得するモデルである。
【0098】
電子ビームが一点に入射したときにその点の周囲に与えられるエネルギーを分布関数p(r)で表現すると、任意の形状のパターンを描画するべく電子ビームを照射したときの当該パターン周辺の蓄積エネルギー分布E(x)は、その畳み込みによって、例えば、数4により取得できる。
【0100】
分布関数p(r)としては、例えば、数5のダブルガウシアン(double Gaussian)関数を用いることができる。
【0102】
ここでσ
aは前方散乱径であり、σ
bは後方散乱径であり、ηは前方散乱と後方散乱との強度比である。
【0103】
閾値モデルは、数4により取得される蓄積エネルギーE(x)が、例えば、閾値Ethよりも大きい又は閾値以上の点ではレジストが溶解し、閾値Eth以下又は閾値より小さい点ではレジストが溶解しないとみなすことにより、レジストが溶解する領域と溶解しない領域との境界であるレジスト輪郭を取得するモデルである。したがって、数4で取得される蓄積エネルギー分布E(x)に対し、E(x)=Ethと見なし得る点xの集合が、レジスト輪郭となる。
【0104】
図6は、ある描画パターンに対応するビーム照射に関し、数3等により取得される蓄積エネルギー分布の一例を示す図である。描画パターン61がビーム照射の形状を示しており、色温度パターン62が蓄積エネルギー分布を示している。色温度パターン62において、同じ色の部分(例えば、黄色部分62a、緑色部分62b等)が、同じ量のエネルギーを蓄積した部分であり、レジスト輪郭になり得る部分である。どの色の部分がレジスト輪郭になるかは、閾値Ethに依存する。例えば、予め決められた閾値Ethに対して、E(X)=Ethと見なし得る範囲が黄色部分62aである場合、その黄色部分62aが、レジスト輪郭となる。
【0105】
予め決められた閾値Ethに基づくレジスト輪郭は、例えば、数6を満たす点xの集合である。
【0107】
しかし、数6を陽に解くことはできない。そこで、ADIシミュレーション部131は、1以上の評価点を描画パターン61の外周に配置し、当該1以上の各評価点に対して、蓄積エネルギーE(x)を計算し、その蓄積エネルギーE(x)が、予め決められた閾値Ethに等しいと見なし得るほど近くなるまで、その閾値Ethよりも大きい場合は当該外周の外側に動かし、閾値Ethよりも小さい場合は当該外周の内側に動かす処理を繰り返す。そして、ADIシミュレーション部131は、E(x)=Ethと見なし得るまで移動した後の1以上の評価点の集合を、レジスト輪郭として取得する。なお、蓄積エネルギーE(x)が閾値Ethに等しいと見なし得るほど近くなったことは、例えば、蓄積エネルギーE(x)と閾値Ethとの差分ΔEが、予め決められた別の閾値ΔEthより小または以下になったことにより判断できる。また、評価点を外周の外側に動かすことは、例えば、外周の法線方向または概ね法線方向であり、かつ外周の中心点(例えば、矩形の重心)から遠ざかる向きに、予め決められた距離だけ移動するように、その評価点の座標値を変更することでもよい。同様に、評価点を外周の内側に動かすことは、例えば、外周の法線方向または概ね法線方向であり、かつ外周の中心点に近づく向きに、予め決められた距離だけ移動するように、その評価点の座標値を変更することでもよい。ただし、ADIシミュレーション部131が、蓄積エネルギーE(x)が閾値Ethに等しいと見なし得るほど近くなったか否かを判定する方法は問わない。また、ADIシミュレーション部131が、評価点を外周の外側または内側に動かす際の動かし方も問わない。
【0108】
ただし、例えば、
図6に示したレジスト輪郭(例えば、黄色部分62a)がそうであるように、レジスト輪郭のエッジ部分は、通常、丸くなる。そのため、エッジ部分の丸みをも表現し得る高精度のエッジ輪郭を取得するには、ADIシミュレーション部131は、上記のような閾値モデルベースのADIシミュレーションを、図形を構成する1以上の描画パターンごとに、例えば、十数個〜数十個といった多数の評価点を用いて行う必要があり、シミュレーションの速度が低下する。
【0109】
また、ADIシミュレーション部131は、例えば、上記のような閾値モデルベースのADIシミュレーションの過程で、E(x)=Ethと見なし得るまで移動した後の1以上の各評価点において、前述した開口角Ωや面積率u等の1以上の因子量を取得する。
【0110】
なお、ADIシミュレーション部131は、例えば、閾値モデルベースのADIシミュレーションにより取得したレジスト輪郭に沿って、再度、1以上の評価点を配置し、当該1以上の各評価点において、1以上の因子量を取得しても構わない。
【0111】
その後段のエッチングシミュレーションで高精度のシミュレーション結果を得るには、多数の評価点を用いて取得した精度の高い1以上の因子量である高忠実度情報を、ADIシミュレーションで取得しておく必要がある。しかし、それにも多くの計算が必要で、ADIシミュレーションの速度が一層低下する。
【0112】
そこで、ADIシミュレーション部131は、例えば、一の描画パターン情報が示す描画パターンの外周に第一の数の評価点を配置して、閾値モデルベースのADIシミュレーションを行い、当該1以上の各評価点を、当該評価点での蓄積エネルギーE(x)が閾値Ethに等しいいと見なし得る位置まで移動し、移動後の1以上の各評価点で、開口角Ωや面積率u等の1以上の因子量を取得する。
【0113】
第一の数は、例えば、当該描画パターンを構成する辺の数と同数であることは好適である。ただし、第一の数は、当該描画パターンを構成する辺の数よりも多い数であってもよく、例えば、当該描画パターンを構成する辺の数の自然数倍(1倍、2倍等)であっても構わない。
【0114】
すなわち、ADIシミュレーション部131は、特に、例えば、一の描画パターン情報が示す描画パターンを構成するN個の各辺に一の評価点を配置して、閾値モデルベースのADIシミュレーションを行い、当該N個の各評価点を、当該評価点での蓄積エネルギーE(x)が閾値Ethに等しいと見なし得る位置まで移動し、移動後のN個の各評価点で、開口角Ωや面積率u等の1以上の因子量を取得することは好適である。
【0115】
ただし、ADIシミュレーション部131は、例えば、一の描画パターン情報が示す描画パターンを構成するN個の各辺に、M個(Mは2以上の自然数)の評価点を配置して、閾値モデルベースのADIシミュレーションを行い、当該N×M個の各評価点を、当該評価点での蓄積エネルギーE(x)が閾値Ethに等しいと見なし得る位置まで移動し、移動後のN×N個の各評価点で、開口角Ωや面積率u等の1以上の因子量を取得してもよい。また、各辺に配置する評価点の数は同じでなくてもよい。
【0116】
なお、ADIシミュレーション部131は、例えば、処理部13が描画パターン情報格納部112に格納されている1以上の各描画パターン情報に対応する因子量変換情報を作成する際に、当該描画パターン情報が示す描画パターンに対して、まず、第一の数の評価点を用いて、上述のようなADIシミュレーションを行い、精度の低い1以上の1以上の因子量である低忠実度情報を取得し、さらに、第一の数より多い第二の数の評価点を用いて、再度、ADIシミュレーションを行い、精度の高い1以上の因子量である高忠実度情報を取得することは、より好適である。
【0117】
変換部132は、因子量変換情報を用いて、低忠実度情報を高忠実度情報に変換する。詳しくは、変換部132は、ADIシミュレーション部131が、一の描画パターン情報に対して、第一の数の評価点を用いて取得した1以上の因子量である低忠実度情報に対応する高忠実度情報であり、第一の数よりも多い第二の数の評価点を用いて取得された1以上の因子量である高忠実度情報を、因子量変換情報格納部111に格納されている因子量変換情報を用いて取得する。
【0118】
例えば、因子量変換情報格納部111に、形状識別子(例えば、“矩形(3辺)”、“凹部形状”等)と対応付けて、2以上の因子量変換情報が格納されている場合、変換部132は、当該2以上の因子量変換情報のうち、当該描画パターン情報に対応する因子量変換情報を用いて、当該低忠実度情報に対応する高忠実度情報を取得することは好適である。ここで、当該描画パターン情報に対応する因子量変換情報とは、例えば、後述する形状識別子取得部134が取得した形状識別子に対応する因子量変換情報であってもよい。
【0119】
また、例えば、因子量変換情報格納部111に、形状識別子および因子の組(例えば、“矩形(3辺)”および“開口角Ω”の組、“凹部形状”および“面積率u”の組等)と対応付けて、2以上の因子量変換情報が格納されている場合、変換部132は、当該2以上の因子量変換情報のうち、当該描画パターン情報が有するに対応する形状識別子および低忠実度情報に対応付いた因子識別子の組に対応する因子量変換情報を用いて、当該低忠実度情報に対応する高忠実度情報を取得することは、より好適である。
【0120】
なお、因子量変換情報格納部111に格納されている因子量変換情報が、例えば、数値である低忠実度情報と、数値である高忠実度情報との組である場合、変換部132は、ADIシミュレーション部131によって取得された1以上の因子量であり、かつ数値である低忠実度情報と組になる数値である低忠実度情報を取得する。
【0121】
また、格納されている因子量変換情報が、例えば、低忠実度情報を入力とし、高忠実度情報を出力とする関数である場合、変換部132は、取得された低忠実度情報を関数に入力し、高忠実度情報を取得してもよい。関数は、例えば、数2の多項式関数や、数3のスプライン関数等であるが、その種類は問わない。
【0122】
エッチングシミュレーション部133は、基本的に、ADIシミュレーション部131が取得した1以上の因子量を用いて、エッチングシミュレーションを行う。すなわち、エッチングシミュレーション部133は、例えば、前述したADIシミュレーション部131による移動後の1以上の各評価点で取得された1以上の因子量を用いて、前述したようなエッチングシミュレーションを行い、エッチ輪郭を取得する。
【0123】
また、エッチングシミュレーション部133は、ADIシミュレーション部131による移動後の1以上の各評価点に対し、エッチ輪郭の線幅変動δを示す関数δ=f(Ω,u)をも取得してもよい。
【0124】
図7は、ADIシミュレーションによる移動後の1以上の各評価点におけるエッチ輪郭の線幅変動δを示す概念図である。本例では、レジスト輪郭(Resist Contour)に沿って、13個の評価点が存在する。これら13個の評価点は、ADIシミュレーション部131による移動後の13個の評価点に対応している。言い換えると、ADIシミュレーション部131による移動後の13個の評価点に沿う線が、レジスト輪郭を表現している。かかるレジスト輪郭に沿う13個の評価点のうち、左から7番目および9番目の各評価点における線幅変動δが、図中に、2つの矢印で示されている。線幅変動δは、当該評価点で取得された開口角Ωおよび面積率uをパラメータとする関数δ=f(Ω,u)で表現されるベクトルであると考えてもよい。
【0125】
エッチングシミュレーション部133は、例えば、ADIシミュレーション部131による移動後の1以上の各評価点に対し、当該評価点で取得された開口角Ωおよび面積率uを関数δ=f(Ω,u)に代入することにより、線幅変動δを示すベクトルを取得し、加算してもよい。そして、エッチングシミュレーション部133は、かかる加算後の1以上の評価点に沿う線を求めることで、エッチ輪郭(etch Contour)を取得することが可能である。
【0126】
また、エッチングシミュレーション部133は、特に、変換部132が取得した1以上の因子量を用いて、高速かつ正確にエッチングシミュレーションを行うことができる。すなわち、エッチングシミュレーション部133は、例えば、ADIシミュレーション部131が第一の数の評価点を用いて取得した1以上の因子量である低忠実度情報に対し、変換部132が因子量変換情報を用いて取得した1以上の因子量であり、第一の数よりも多い第二の数の評価点を用いて取得された高忠実度情報である1以上の因子量を用いて、エッチングシミュレーションを行い、上記のような関数を取得してもよい。
【0127】
形状識別子取得部134は、描画パターン情報により特定される描画パターンの形状を識別する形状識別子を取得する。
【0128】
例えば、描画パターン情報格納部112に格納されている1以上の各描画パターン情報に、かかる形状識別子が対応付いており、形状識別子取得部134は、描画対象である描画パターン情報に対応する形状識別子を取得すればよい。
【0129】
判断部135は、エッチングシミュレーション部133によるエッチングシミュレーションの結果を用いて、各評価点における残差を取得する。エッチングシミュレーションの結果とは、例えば、エッチ輪郭であるが、線幅変動でもよい。また、ここでいう残差とは、エッチングシミュレーションの結果であるエッチ輪郭と、ADIシミュレーションの結果であるレジスト輪郭との差分であり、EPE(Edge Placement Error)とも呼ばれる。残差は、例えば、エッチ輪郭の線幅変動を示す関数として表現されてもよい。
【0130】
また、判断部135は、こうして取得した1以上の残差を用いて、予め決められた条件を満たすほど誤差が小さいか否かを判断する。残差が、エッチングシミュレーションの結果であるエッチ輪郭と、ADIシミュレーションの結果であるレジスト輪郭との差分であるのに対し、誤差とは、かかるエッチ輪郭と、元の描画パターンの輪郭との差分であるといってもよい。
【0131】
判断部135は、誤差を、例えば、ADIシミュレーション部131による移動後の1以上の各評価点に対し、関数δ=f(Ω,u)を用いて取得した線幅変動δを示すベクトルを加算した結果から、移動前の元の1以上の各評価点の位置ベクトルを減算することによって取得してもよい。予め決められた条件は、例えば、こうして取得された誤差が、予め決められた閾値よりも小さい又は以下であることであってもよい。
【0132】
パターン情報変更部136は、判断部135が予め決められた条件を満たさないと判断した場合に、1以上の評価点の残差を示す関数群を用いて、描画パターン情報を変更する。残差を用いて描画パターン情報を変更することは、例えば、残差または残差を用いて取得される誤差のうち1種類以上の数値が0に近づくように、描画パターン情報を、1回または2回以上、変更することであってもよい。描画パターン情報を変更することは、例えば、ADIシミュレーション部131による移動前の元の1以上の各評価点の位置を示す座標の初期値を変更することであってもよい。これによって、誤差が0となるように補正された描画パターンが得られる。
【0133】
出力部14は、各種の情報を出力する。各種の情報とは、例えば、エッチングしようとする図形の画像、処理部13等によるシミュレーションの結果、パターン情報変更部136による変更後の画像パターン情報などである。出力部14は、図形の画像やシミュレーションの結果等の情報を、通常、ディスプレイやスピーカ等の出力デバイスを介して出力するが、例えば、プリンタでプリントアウトしたり、記録媒体に蓄積したりしてもよいし、外部の装置に送信しても構わない。
【0134】
出力部14は、例えば、受付部12が画像データを受け付けたことに応じて、処理部13等がシミュレーションを行い取得した関数群を用いて、当該画像データに対応するエッチング後の描画パターンの画像、または現像後の描画パターンの画像のうち1種類以上の画像を構成し、ディスプレイに表示してもよい。
【0135】
出力部14は、例えば、エッチングシミュレーション部133による関数群を用いて構成したエッチング後の描画パターンを第一の態様(例えば、赤色、実線等)で表示するのに加えて、受け付けられ画像データに対応する元の描画パターンを第二の態様(例えば、緑色、点線等)で表示することは好適であり、さらに、ADIシミュレーション部131による移動後の評価点群を用いて取得されるレジスト輪郭をも第三の態様(例えば、青色、一点鎖線等)で表示することは、より好適である。
【0136】
なお、出力部14は、シミュレーションの結果を、例えば、シミュレーション結果出力指示に応じて出力してもよく、その出力のトリガは問わない。シミュレーション結果出力指示とは、シミュレーション結果を出力する指示である。
【0137】
また、出力部14は、例えば、補正結果出力指示に応じて、パターン情報変更部136による変更後の描画パターン情報を出力してもよい。補正結果出力指示とは、補正結果を出力する指示である。補正結果とは、変更後の描画パターン情報であり、変更後の描画パターン情報に基づく補正済みの描画パターンの画像であってもよい。なお、補正結果を出力するトリガも問わない。
【0138】
または、出力部14は、例えば、パターン情報変更部136による変更中の描画パターン情報を用いて、補正されつつある描画パターンの動画を出力してもよい。
【0139】
格納部11、因子量変換情報格納部111、および描画パターン情報格納部112は、例えば、ハードディスクやフラッシュメモリといった不揮発性の記録媒体が好適であるが、RAMなど揮発性の記録媒体でも実現可能である。
【0140】
格納部11等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、ネットワークや通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。入力デバイスは、例えば、キーボード、マウス、タッチパネル等、何でもよい。
【0141】
受付部12は、入力デバイスを含むと考えても、含まないと考えてもよい。受付部12は、入力デバイスのドライバーソフトによって、または入力デバイスとそのドライバーソフトとで実現され得る。
【0142】
処理部13、ADIシミュレーション部131、変換部132、エッチングシミュレーション部133、形状識別子取得部134、判断部135、およびパターン情報変更部136は、通常、MPUやメモリ等から実現され得る。処理部13等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。ただし、処理手順は、ハードウェア(専用回路)で実現してもよい。
【0143】
出力部14は、ディスプレイやスピーカ等の出力デバイスを含むと考えても含まないと考えてもよい。出力部14は、出力デバイスのドライバーソフトによって、または出力デバイスとそのドライバーソフトとで実現され得る。
【0144】
次に、シミュレーション装置1の動作について
図8および
図9のフローチャートを用いて説明する。
【0145】
図8は、シミュレーション装置1の動作を説明するフローチャートである。
【0146】
(ステップS801)処理部13は、受付部12が描画パターン情報を受け付けたか否かを判別する。受付部12が描画パターン情報を受け付けた場合はステップS802に進み、受け付けていない場合はステップS803に進む。
【0147】
(ステップS802)処理部13は、受け付けられた描画パターン情報を、当該描画パターン情報が示す描画パターンの形状を識別する形状識別子と対に、描画パターン情報格納部112に蓄積する。その後、ステップS801に戻る。
【0148】
(ステップS803)処理部13は、因子量変換情報を構成するか否かを判断する。具体的には、処理部13は、例えば、ステップS801で受付部12が描画パターン情報を受け付けたと判別したこと、またはステップS803で描画パターン情報を蓄積したことに応じて、因子量変換情報を構成すると判断してもよい。または、処理部13は、例えば、受付部12が因子量変換情報の構成指示を受け付けたことに応じて、因子量変換情報を構成すると判断してもよく、因子量変換情報を構成するトリガは問わない。
【0149】
因子量変換情報を構成する場合はステップS804に進み、構成しない場合はステップS808に進む。
【0150】
(ステップS804)ADIシミュレーション部131は、一の描画パターン情報が示す描画パターンに第一の数の評価点を配置してADIシミュレーションを行い、1以上の因子量を取得する。なお、ADIシミュレーションについては、
図10のフローチャートを用いて説明する。ここでいう一の描画パターン情報とは、例えば、ステップS801で受け付けられた描画パターン情報でもよいし、描画パターン情報格納部112から選択された描画パターン情報でも構わない。
【0151】
(ステップS805)ADIシミュレーション部131は、当該描画パターン情報が示す描画パターンに、第一の数よりも多い第二の数の評価点を配置してADIシミュレーションを行い、1以上の因子量を取得する。なお、ADIシミュレーションについては、
図10のフローチャートを用いて説明する。
【0152】
(ステップS806)処理部13は、ステップS804で第一の数の評価点を用いて取得された1以上の因子量である低忠実度情報と、ステップS805で第二の数の評価点を用いて取得された1以上の因子量である高忠実度情報とを用いて、当該描画パターン情報に対応する因子量変換情報を構成する。
【0153】
(ステップS807)処理部13は、ステップS807で構成した因子量変換情報を、当該描画パターン情報に対応する形状識別子と対に、または、当該描画パターン情報に対応する形状識別子およびステップS804等で取得した因子量に対応する因子識別子の組と対に、因子量変換情報格納部111に蓄積する。その後、ステップS801に戻る。
【0154】
(ステップS808)処理部13は、受付部12が画像データを受け付けたか否かを判別する。受付部12が画像データを受け付けた場合はステップS809に進み、受け付けていない場合はステップS801に戻る。
【0155】
(ステップS809)処理部13等は、受け付けられた画像データに対し、シミュレーションを行う。なお、シミュレーションについては、
図9のフローチャートを用いて説明する。
【0156】
(ステップS810)判断部135は、ステップS809のシミュレーションにおいて、エッチングシミュレーション部133が取得した線幅変動である関数群を用いて1以上の残差を取得し、取得した1以上の残差を用いて、予め決められた条件を満たすほど誤差が小さいか否かを判断する。予め決められた条件を満たすほど誤差が小さい場合はステップS812に進み、そうでない場合はステップS809に戻る。
【0157】
(ステップS811)パターン情報変更部136は、上記関数群を用いて、当該描画パターン情報を変更する。その後、ステップS089に戻る。
【0158】
(ステップS812)処理部13は、ステップS811での変更後の描画パターン情報を、元の描画パターン情報に対応付けて、格納部11等に保存する。その後、ステップS801に戻る。
【0159】
また、
図8のフローチャートにおいて、シミュレーション装置1の電源オンやプログラムの起動に応じて処理が開始し、電源オフや処理終了の割り込みにより処理は終了する。ただし、処理の開始または終了のトリガは問わない。
【0160】
図9は、上記ステップS809のシミュレーションを説明するフローチャートである。
【0161】
(ステップS901)処理部13は、変数iに初期値1をセットする。変数iとは、描画パターン情報格納部112に格納されている1以上の描画パターン情報のうち、未選択のものを順番に選択していくための変数である。
【0162】
(ステップS902)処理部13は、i番目の描画パターン情報があるか否かを判別する。i番目の描画パターン情報がある場合はステップS903に進み、ない場合は上位処理にリターンする。
【0163】
(ステップS903)処理部13は、受け付けられた画像データに対し、i番目の描画パターン情報にマッチする部分があるか否かを判別する。i番目の描画パターン情報にマッチする部分がある場合ステップS903に進み、ない場合はステップS907に進む。
【0164】
(ステップS904)ADIシミュレーション部131は、i番目の描画パターン情報にマッチする1以上の各部分の描画パターンに第一の数の評価点を配置してADIシミュレーションを行い、1以上の因子量を取得する。なお、ADIシミュレーションについては、
図10のフローチャートを用いて説明する。
【0165】
(ステップS905)変換部132は、i番目の描画パターン情報に対応する因子量変換情報を用いて、ステップS904で取得された1以上の因子量である低忠実度情報に対応する高忠実度情報である1以上の因子量を取得する。
【0166】
(ステップS906)エッチングシミュレーション部133は、ステップS905で取得された高忠実度情報である1以上の因子量を用いて、エッチングシミュレーションを行い、当該部分のエッチ輪郭の線幅変動を示す関数を取得する。
【0167】
(ステップS907)処理部13は、変数iをインクリメントする。その後、ステップS902に戻る。
【0168】
図10は、上記ステップS804,S805,およびS904のADIシミュレーションを説明するフローチャートである。
【0169】
(S1001)ADIシミュレーション部131は、変数jに初期値1をセットする。変数jとは、配置された1以上の評価点のうち、未選択のものを順番に選択していくための変数である。
【0170】
(S1002)ADIシミュレーション部131は、j番目の評価点があるか否かを判別する。j番目の評価点がある場合はステップS1003に進み、ない場合は上位処理にリターンする。
【0171】
(S1003)ADIシミュレーション部131は、例えば、数4を用いて、j番目の評価点での蓄積エネルギーE(x)を計算する。
【0172】
(S1004)ADIシミュレーション部131は、蓄積エネルギーE(x)が閾値Ethに十分近いか否かを判断する。なお、十分近いことは、例えば、蓄積エネルギーE(x)が閾値Ethに等しいと見なし得るほど近いことであってもよい。蓄積エネルギーE(x)が閾値Ethに十分近い場合はステップS1005に進み、そうでない場合はステップS1006に進む。
【0173】
(S1005)ADIシミュレーション部131は、蓄積エネルギーE(x)が閾値Ethより大または以上であるか否かを判別する。蓄積エネルギーE(x)が閾値Ethより大または以上である場合はステップS1006に進み、そうでない場合はステップS1007に進む。
【0174】
(S1006)ADIシミュレーション部131は、j番目の評価点をレジスト輪郭に対して外側に動かす。その後、ステップS1003に戻る。
【0175】
(S1007)ADIシミュレーション部131は、j番目の評価点をレジスト輪郭に対して内側に動かす。その後、ステップS1003に戻る。
【0176】
(S1007)ADIシミュレーション部131は、変数jをインクリメントする。その後、ステップS1002に戻る。
【0177】
以下、本実施の形態におけるシミュレーション装置1の具体的な動作例について説明する。
【0178】
因子量変換情報格納部111には、例えば、
図11に示すような4以上の因子量変換情報が格納されている。
図11は、因子量変換情報のデータ構造図である。因子量変換情報は、例えば、因子識別子、形状識別子、および1以上の組情報を有する。組情報は、低忠実度情報および高忠実度情報を有する。なお、以下では、因子量変換情報が有する2以上の組情報の集合を組情報群と記す場合がある。
【0179】
格納された上記4以上の各因子量変換情報には、ID(例えば、“1”,“2”等)対応付いている。例えば、ID“1”に対応付いた因子量変換情報(以下、因子量変換情報1と記す場合がある)は、因子識別子“開口角Ω”、形状識別子“矩形状(3辺)”、および組情報群“(0,0),(0.110973,0.09414),(0.218646,0.183325),…,および(1,1)”を有する。なお、この組情報群は、
図3に示した2種類の数値のペア(α,β)の集合と同じものである。
【0180】
同様に、ID“2”に対応付いた因子量変換情報(因子量変換情報2)は、因子識別子“開口角Ω”、形状識別子“凹部形状”、および“(0.323763,0.28542)”等を含む組情報群を有する。また、因子量変換情報3は、因子識別子“面積率u”、形状識別子“凸部形状”、および“(0.27683,0.23864)”等を含む組情報群を有する。さらに、因子量変換情報4は、因子識別子“面積率u”、形状識別子“階段形状”、および“(0.113763,0.09542)”等を含む組情報群を有する。
【0181】
描画パターン情報格納部112には、形状識別子と描画パターンとの対の集合が格納されている。形状識別子と描画パターンとの対の集合とは、例えば、形状識別子“矩形状(3辺)”と描画パターン51bとの対、形状識別子“凹部形状”と描画パターン52との対、形状識別子“凸部形状”と描画パターン53との対、形状識別子“階段形状”と描画パターン54との対等である。
【0182】
いま、
図5に示した描画パターン51aを示す新たな描画パターン情報が、受付部12によって受け付けられたとする。
【0183】
格納部11には、描画パターン情報の各種形状に関する形状データベースが格納されおり、処理部13は、受け付けられた描画パターン情報の形状を、この形状データベースを用いて認識し、形状識別子“矩形状(4辺)”を取得する。そして、処理部13は、受け付けられた描画パターン情報を、取得した形状識別子と対に、描画パターン情報格納部112に蓄積する。
【0184】
次に、処理部13等は、受け付けられた描画パターン情報に対応する因子量変換情報を、以下の手順で構成する。すなわち、最初、ADIシミュレーション部131は、受け付けられた描画パターン情報が示す描画パターンに第一の数の評価点を配置する。本例では、第一の数は4であり、矩形状の描画パターンを構成する4つの各辺に一の評価点が配置される。ADIシミュレーション部131は、かかる4つの評価点を用いてADIシミュレーションを行い、当該4つの各評価点を、数3の式で取得される蓄積エネルギーE(x)が閾値Ethと等しいと見なし得るほど近くなる位置に移動し、移動後の4つの各評価点において、因子量の一種である開口角Ω、および因子量の他の一種である面積率uを取得する。さらに、ADIシミュレーション部131は、同様の処理を、例えば、線幅または面積率のうち1種類以上の条件を変えつつ繰り返すことで、開口角Ωを示す数値の集合と、面積率uを示す数値の集合とを取得する。
【0185】
次に、ADIシミュレーション部131は、受け付けられた描画パターン情報が示す描画パターンに第一の数よりも多い第二の数の評価点を配置する。本例では、第二の数は24個であり、矩形状の描画パターンを構成する4つの各辺に6個の評価点が配置される。ADIシミュレーション部131は、24個の評価点を用いてADIシミュレーションを行い、当該24個の各評価点を、数3の式で取得される蓄積エネルギーE(x)が閾値Ethと等しいと見なし得るほど近くなる位置に移動し、移動後の4つの各評価点において、因子量の一種である開口角Ω、および因子量の他の一種である面積率uを取得する。さらに、ADIシミュレーション部131は、同様の処理を、例えば、線幅または面積率のうち1種類以上の条件を変えつつ繰り返すことで、開口角Ωを示す数値の集合と、面積率uを示す数値の集合とを取得する。
【0186】
次に、処理部13は、こうして4つの評価点を用いて取得された開口角Ωを示す数値の集合である低忠実度情報と、24個の評価点を用いて取得された開口角Ωを示す数値の集合である高忠実度情報とを用いて、形状識別子“矩形状(4辺)”および因子識別子“開口角Ω”に対応する因子量変換情報を構成し、構成した因子量変換情報を、形状識別子“矩形状(4辺)”および因子識別子“開口角Ω”の組と対に、因子量変換情報格納部111に蓄積する。また、処理部13は、4つの評価点を用いて取得された面積率uを示す数値の集合である低忠実度情報と、24個の評価点を用いて取得された面積率uを示す数値の集合である高忠実度情報とを用いて、形状識別子“矩形状(4辺)”および因子識別子“面積率u”に対応する因子量変換情報をも構成し、構成した因子量変換情報を、形状識別子“矩形状(4辺)”および因子識別子“面積率u”の組と対に、因子量変換情報格納部111に蓄積する。
【0187】
こうして、新たな描画パターン情報が描画パターン情報格納部112に追加され、描画パターン情報格納部112には、図に示したような5つの描画パターン情報が格納される結果となる。また、これに伴い、因子量変換情報格納部111には、当該新たな描画パターン情報に対応する2種類の因子量変換情報が追加される。
【0188】
その後、受付部12によって、例えば、
図12に示すような図形の画像データが受け付けられたとする。
【0189】
図12は、シミュレーションの対象となる画像データが示す図形の一例を示す図である、この図形は、3辺で構成された矩形状の描画パターン2個(点線で示す)と、凹部形状の描画パターン2個(一点鎖線で示す)との、計4個の描画パターンの組み合わせにより構成されている。処理部13等は、かかる画像データに対し、次の手順でシミュレーションを行う。
【0190】
処理部13は、受け付けられた画像データに対し、格納されている5つの描画パターン情報ごとに、当該描画パターン情報が示す描画パターンにマッチする部分を検出する。本例では、3辺で構成された矩形状の描画パターン51bに対応する2つの部分、および凹部形状の描画パターン52に対応する2つの部分が検出される。
【0191】
ADIシミュレーション部131は、3辺で構成された矩形状の描画パターン51bに対応する2つの部分ごとに、当該部分を構成する3つの各辺に一の評価点を配置してADIシミュレーションを行い、開口角Ωを示す数値群を取得する。また、ADIシミュレーション部131は、凹部形状の描画パターン51bに対応する2つの部分ごとに、当該部分を構成する3つの各辺に一の評価点を配置してADIシミュレーションを行い、面積率uを示す数値群をも取得する。
【0192】
次に、変換部132は、因子量変換情報格納部111に格納されている4以上の因子量変換情報1〜4等のうち、形状識別子“矩形状(3辺)”および因子識別子“開口角Ω”の組に対応する因子量変換情報1を用いて、ADIシミュレーション部131により取得された開口角Ωの数値群である低忠実度情報に対応する高忠実度情報である開口角Ωの数値群を取得する。例えば、ADIシミュレーション部131により取得された低忠実度情報が“0.110973”,0.218646”等であれば、これに対応する高忠実度情報“0.09414”,“0.183325”等が、因子量変換情報1を用いて取得される。
【0193】
また、変換部132は、形状識別子“凹部形状”および因子識別子“開口角Ω”の組に対応する因子量変換情報2を用いて、ADIシミュレーション部131により取得された開口角Ωの数値群である低忠実度情報に対応する高忠実度情報である開口Ωuの数値群を取得する。例えば、ADIシミュレーション部131により取得された低忠実度情報が“0.313763”等であれば、これに対応する高忠実度情報“0.28542”等が、因子量変換情報2を用いて取得される。
【0194】
なお、ADIシミュレーション部131により取得された低忠実度情報が、例えば、凸部形状の描画パターンの面積率uに関する“0.27683”等の数値群であった場合は、これに対応する高忠実度情報である数値群“0.23864”等が、因子量変換情報3を用いて取得される。
【0195】
同様に、ADIシミュレーション部131により取得された低忠実度情報が、例えば、階段形状の描画パターンの面積率uに関する“0.113763”等の数値群であった場合は、これに対応する高忠実度情報である数値群“0.09542”等が、因子量変換情報4を用いて取得される。
【0196】
次に、エッチングシミュレーション部133は、変換部132によって取得された高忠実度情報である開口角Ωの上記2つの数値群および面積率uの上記2つの数値群を用いて、エッチングシミュレーションを行い、当該4部分のエッチ輪郭の線幅変動を示す関数群を取得する。
【0197】
なお、このとき、出力部14は、エッチングシミュレーション部133によって取得された関数群を用いて、シミュレーション結果を示す情報を出力してもよい。これにより、例えば、ディスプレイに、例えば、
図13に示すような、受け付けられた画像データに対応するエッチング後の描画パターンの画像を含む画面が表示される。
【0198】
図13は、シミュレーション結果の出力画面の一例を示す図である。この画面には、シミュレーション結果であるエッチング後の描画パターンが実線で表示され、かつ、受け付けられ画像データに対応する元の描画パターンが点線で表示されている。なお、元の描画パターンに代えて、またはこれに加えて、ADIシミュレーション部131による移動後の評価点群を用いて取得されるレジスト輪郭が、例えば、一点鎖線等で表示されてもよい。
【0199】
次に、判断部135は、エッチングシミュレーション部133が取得した線幅変動を示す上記関数群を用いて、1以上の残差を取得し、取得した1以上の残差を用いて、予め決められた条件を満たすほど誤差が小さいか否かを判断し、パターン情報変更部136は、予め決められた条件を満たさないと判断された場合に、当該関数群を用いて、当該描画パターン情報を変更する。
【0200】
なお、このとき、出力部14は、パターン情報変更部136による変更後の描画パターン情報を用いて、補正済みの描画パターンの画像を出力してもよい。または、出力部14は、パターン情報変更部136による変更中の描画パターン情報を用いて、補正されつつある描画パターンの動画を出力してもよい。
【0201】
パターン情報変更部136による変更後の描画パターン情報は、処理部13によって、描画パターン情報に対応付けて、格納部11等に保存される。格納部11等に保存された変更後の描画パターン情報は、必要に応じて、エッチングを行う装置等に転送されてもよい。
【0202】
以上、本実施の形態によれば 記録媒体は、第一の数の評価点を用いて取得された精度の低い1以上の因子量である低忠実度情報と、第一の数より多い数の第二の数の評価点を用いて取得された精度の高い1以上の因子量である高忠実度情報との対応を示す情報である因子量変換情報が格納される因子量変換情報格納部111と、描画パターンに関する描画パターン情報が格納される描画パターン情報格納部112とを具備し、シミュレーション装置1は、描画パターン情報が示す描画パターンに対して、1以上の評価点を用いて、ADIシミュレーションを行い、1以上の因子量を取得し、1以上の因子量である低忠実度情報に対応する1以上の因子量である高忠実度情報を、因子量変換情報を用いて取得し、取得した1以上の因子量を用いてエッチングシミュレーションを行う一連のシミュレーション処理を実行することにより、高速かつ正確にマスクプロセスシミュレーションを行える。
【0203】
また、シミュレーション装置1は、1以上の評価点の残差を取得し、1以上の残差を用いて、予め決められた条件を満たすほど誤差が小さいか否かを判断し、予め決められた条件を満たさないと判断した場合、1以上の評価点の残差を用いて、描画パターン情報を変更し、予め決められた条件を満たすと判断するまで、上記一連のシミュレーション処理を繰り返すことにより、高速かつより正確にマスクプロセスシミュレーションを行える。
【0204】
また、シミュレーション装置1は、ADIシミュレーションを行うに当たって、1以上の評価点を描画パターンの外周に配置し、1以上の各評価点に対して、蓄積エネルギーを計算し、蓄積エネルギーが、予め決められた閾値に等しいと見なし得るほど近くなるまで、閾値よりも大きい場合は外周の外側に動かし、閾値よりも小さい場合は外周の内側に動かす処理を繰り返し、誤差が小さいか否かの判断を行うに当たって、蓄積エネルギーが予め決められた閾値に等しいと見なし得るほど近くなった後の1以上の評価点の残差を取得し、取得した1以上の残差を用いて判断することにより、高速かつより一層正確にマスクプロセスシミュレーションを行える。
【0205】
また、因子量変換情報格納部111には、描画パターンの形状を識別する形状識別子と対応付けて、2以上の因子量変換情報が格納され、シミュレーション装置1は、描画パターン情報により特定される描画パターンの形状を識別する形状識別子を取得し、取得した形状識別子に対応する因子量変換情報を用いて、1以上の因子量である低忠実度情報に対応する1以上の因子量である高忠実度情報を取得することにより、複数の形状の描画パターンに対応した適切なマスクプロセスシミュレーションを行える。
【0206】
また、因子量変換情報は、数値である低忠実度情報と数値である高忠実度情報との組の情報であることにより、シミュレーション装置1は、高速かつ正確にマスクプロセスシミュレーションを行える。
【0207】
また、因子量変換情報は、低忠実度情報を入力とし、高忠実度情報を出力とする関数であることにより、シミュレーション装置1は、高速かつ正確にマスクプロセスシミュレーションを行える。
【0208】
また、関数は、多項式関数またはスプライン関数であることにより、シミュレーション装置1は、高速かつ正確にマスクプロセスシミュレーションを行える。
【0209】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、例えば、以下のようなプログラムである。
【0210】
つまり、コンピュータがアクセス可能な記録媒体は、第一の数の評価点を用いて取得された精度の低い1以上の因子量である低忠実度情報と、前記第一の数より多い数の第二の数の評価点を用いて取得された精度の高い1以上の因子量である高忠実度情報との対応を示す情報である因子量変換情報が格納される因子量変換情報格納部111と、描画パターンに関する描画パターン情報が格納される描画パターン情報格納部112とを具備し、このプログラムは、前記コンピュータを、前記描画パターン情報が示す描画パターンに対して、1以上の評価点を用いて、ADIシミュレーションを行い、1以上の因子量を取得するADIシミュレーション部131と、前記1以上の因子量である低忠実度情報に対応する1以上の因子量である高忠実度情報を、前記因子量変換情報を用いて取得する変換部132と、前記変換部132が取得した1以上の因子量を用いてエッチングシミュレーションを行うエッチングシミュレーション部133として機能させるためのプログラムである。
【0211】
図14は、本実施の形態におけるプログラムを実行して、シミュレーション装置1を実現するコンピュータシステム900の外観図である。本実施の形態は、コンピュータハードウェアおよびその上で実行されるコンピュータプログラムによって実現され得る。
図14において、コンピュータシステム900は、ディスクドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、ディスプレイ904とを備える。なお、キーボード902やマウス903やディスプレイ904をも含むシステム全体をコンピュータと呼んでもよい。
【0212】
図15は、コンピュータシステム900の内部構成の一例を示す図である。
図15において、コンピュータ901は、ディスクドライブ905に加えて、MPU911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM913と、アプリケーションプログラム、システムプログラム、およびデータを記憶するストレージ914と、MPU911、ROM912等を相互に接続するバス915と、外部ネットワークや内部ネットワーク等のネットワークへの接続を提供するネットワークカード916と、を備える。ストレージ914は、例えば、ハードディスク、SSD、フラッシュメモリなどである。
【0213】
コンピュータシステム900に、シミュレーション装置1の機能を実行させるプログラムは、例えば、DVD、CD−ROM等のディスク921に記憶されて、ディスクドライブ905に挿入され、ストレージ914に転送されてもよい。これに代えて、そのプログラムは、ネットワークを介してコンピュータ901に送信され、ストレージ914に記憶されてもよい。プログラムは、実行の際にRAM913にロードされる。なお、プログラムは、ディスク921、またはネットワークから直接、ロードされてもよい。また、ディスク921に代えて他の着脱可能な記録媒体(例えば、DVDやメモリカード等)を介して、プログラムがコンピュータシステム900に読み込まれてもよい。
【0214】
プログラムは、コンピュータの詳細を示す901に、シミュレーション装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能やモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
【0215】
なお、上述したコンピュータシステム900は、サーバまたは据え置き型のPCであるが、シミュレーション装置1は、例えば、ノートPCやタブレット端末やスマートフォンといった、携帯端末で実現されてもよい。この場合、例えば、キーボード902およびマウス903はタッチパネルに、ディスクドライブ905はメモリカードスロットに、ディスク921はメモリカードに、それぞれ置き換えられることが望ましい。ただし、以上は例示であり、シミュレーション装置1を実現するコンピュータのハードウェア構成は問わない。
【0216】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0217】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、一のコンピュータが集中処理を行ってもよく、あるいは複数のコンピュータが分散処理を行ってもよい。
【0218】
また、上記実施の形態において、一の装置に存在する2以上の通信手段(受付部12の受信機能、出力部14の送信機能など)は、物理的に一の媒体で実現されてもよいことは言うまでもない。
【0219】
また、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0220】
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0221】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0222】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(端末情報送信部、端末情報受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0223】
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0224】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。