IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ニューフレアテクノロジーの特許一覧

特開2024-171031描画データ検査方法、描画方法、描画装置、およびプログラム
<>
  • 特開-描画データ検査方法、描画方法、描画装置、およびプログラム 図1
  • 特開-描画データ検査方法、描画方法、描画装置、およびプログラム 図2
  • 特開-描画データ検査方法、描画方法、描画装置、およびプログラム 図3
  • 特開-描画データ検査方法、描画方法、描画装置、およびプログラム 図4
  • 特開-描画データ検査方法、描画方法、描画装置、およびプログラム 図5
  • 特開-描画データ検査方法、描画方法、描画装置、およびプログラム 図6
  • 特開-描画データ検査方法、描画方法、描画装置、およびプログラム 図7
  • 特開-描画データ検査方法、描画方法、描画装置、およびプログラム 図8
  • 特開-描画データ検査方法、描画方法、描画装置、およびプログラム 図9
  • 特開-描画データ検査方法、描画方法、描画装置、およびプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024171031
(43)【公開日】2024-12-11
(54)【発明の名称】描画データ検査方法、描画方法、描画装置、およびプログラム
(51)【国際特許分類】
   G06F 30/398 20200101AFI20241204BHJP
   H01L 21/027 20060101ALI20241204BHJP
   G06F 111/04 20200101ALN20241204BHJP
【FI】
G06F30/398
H01L21/30 541W
G06F111:04
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023087875
(22)【出願日】2023-05-29
(71)【出願人】
【識別番号】504162958
【氏名又は名称】株式会社ニューフレアテクノロジー
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100120385
【弁理士】
【氏名又は名称】鈴木 健之
(74)【代理人】
【識別番号】100217940
【弁理士】
【氏名又は名称】三並 大悟
(72)【発明者】
【氏名】安井 健一
【テーマコード(参考)】
5B146
5F056
【Fターム(参考)】
5B146AA22
5B146BA04
5B146EA09
5B146EC10
5B146GL05
5F056AA07
5F056CA30
(57)【要約】
【課題】曲線図形を含む描画データの検査を正確かつ高速に行うことが可能な描画データ検査方法を提供する。
【解決手段】一実施形態に係る描画データ検査方法は、描画装置で用いられる、図形がBスプライン曲線であらわされる描画データを検査する描画データ検査方法である。この検査方法は、Bスプライン曲線を形成する複数の制御点の位置を示す座標を取得し、座標を取得すると、描画データ上で隣接する少なくとも3つ以上の制御点を直線で結んだ線分で囲まれる領域を描画データの検査対象領域に設定し、検査対象領域に対する検査対象制御点および検査対象領域の制御点の座標を用いて、検査対象領域に対する検査対象制御点の相対位置を特定する計算処理を行い、相対位置に基づいて検査対象制御点が検査対象領域内に存在するか否かを判定することによって、描画データの図形が交差するか否かを判定する。
【選択図】図3
【特許請求の範囲】
【請求項1】
描画装置で用いられる、図形がBスプライン曲線であらわされる描画データを検査する描画データ検査方法であって、
前記Bスプライン曲線を形成する複数の制御点の位置を示す座標を取得し、
前記座標を取得すると、前記描画データ上で隣接する少なくとも3つ以上の制御点を直線で結んだ線分で囲まれる領域を前記描画データの検査対象領域に設定し、
前記検査対象領域に対する検査対象制御点および前記検査対象領域の制御点の座標を用いて、前記検査対象領域に対する検査対象制御点の相対位置を特定する計算処理を行い、
前記相対位置に基づいて前記検査対象制御点が前記検査対象領域内に存在するか否かを判定することによって、前記描画データの図形が交差するか否かを判定する、描画データ検査方法。
【請求項2】
前記Bスプライン曲線の次数が2である場合、前記座標を取得すると、前記複数の制御点のうち、[i]番目と[i+2]番目を結んだ第1検査対象線分と、[k-1]番目と[k(但し、k≠i+1)]番目の制御点を結んだ第2検査対象線分と、を設定し、
前記第1検査対象線分および前記第2検査対象線分の座標を用いた計算処理によって、前記第1検査対象線分と前記第2検査対象線分の相対位置を特定し、
前記第1検査対象線分および前記第2検査対象線分の相対位置に基づいて前記第1検査対象線分と前記第2検査対象線分とが交差しているか否かを判定することによって、前記描画データの図形が交差しているか否かを判定する、請求項1に記載の描画データ検査方法。
【請求項3】
請求項1または請求項2に記載の描画データ検査方法によって検査された描画データに基づいて荷電粒子ビームを照射する、描画方法。
【請求項4】
図形がBスプライン曲線であらわされる描画データを検査する描画装置であって、
前記Bスプライン曲線を形成する複数の制御点の位置を示す座標を取得し、前記座標を取得すると、前記描画データ上で隣接する少なくとも3つ以上の制御点を直線で結んだ線分で囲まれる領域を前記描画データの検査対象領域に設定し、前記検査対象領域に対する検査対象制御点および前記検査対象領域の制御点の座標を用いて、前記検査対象領域に対する検査対象制御点の相対位置を特定する計算処理を行い、前記相対位置に基づいて前記検査対象制御点が前記検査対象領域内に存在するか否かを判定することによって、前記描画データの図形が交差するか否かを判定するデータ検査部を備える、描画装置。
【請求項5】
描画装置で用いられる描画データの図形をあらわすBスプライン曲線を形成する複数の制御点の位置を示す座標を取得する処理と、
前記座標を取得すると、前記描画データ上で隣接する少なくとも3つ以上の制御点を直線で結んだ線分で囲まれる領域を前記描画データの検査対象領域に設定する処理と、
前記検査対象領域に対する検査対象制御点および前記検査対象領域の制御点の座標を用いて、前記検査対象領域に対する検査対象制御点の相対位置を特定する計算処理と、
前記相対位置に基づいて前記検査対象制御点が前記検査対象領域内に存在するか否かを判定することによって、前記描画データの図形が交差するか否かを判定する処理と、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、描画データ検査方法、描画方法、描画装置、およびプログラムに関する。
【背景技術】
【0002】
電子ビーム描画装置として、例えば、マルチビームを用いて一度に多くのビームを照射するマルチビーム描画装置が知られている。マルチビーム描画装置は、描画データに基づいて電子ビーム描画を行う。この描画データが、曲線状の図形を含んでいる場合、この曲線図形は、マスクデータ量削減のために、パラメータ曲線の一つであるBスプライン曲線で近似される。
【0003】
Bスプライン曲線で作成された曲線図形は、ラスタライズ処理の効率化のために、同一図形内で交差しないことを前提としている。このため、描画データの曲線図形内に交差箇所が存在するか否かを検査する必要がある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-64911号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
Bスプライン曲線は、複数の制御点によって作成される。各制御点の座標位置は、整数によって定義される。しかし、Bスプライン曲線の交点の位置は、浮動小数での計算になるため、予期せぬ検査エラーが発生する可能性がある。また、上記交点を求めるためには、高次方程式を解く必要があり、検査に多くの時間を要する可能性がある。
【0006】
本発明は、曲線図形を含む描画データの検査を正確かつ高速に行うことが可能な描画データ検査方法、描画方法、描画装置、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様による描画データ検査方法は、描画装置で用いられる、図形がBスプライン曲線であらわされる描画データを検査する描画データ検査方法である。この検査方法は、Bスプライン曲線を形成する複数の制御点の位置を示す座標を取得し、座標を取得すると、描画データ上で隣接する少なくとも3つ以上の制御点を直線で結んだ線分で囲まれる領域を描画データの検査対象領域に設定し、検査対象領域に対する検査対象制御点および検査対象領域の制御点の座標を用いて、検査対象領域に対する検査対象制御点の相対位置を特定する計算処理を行い、相対位置に基づいて検査対象制御点が検査対象領域内に存在するか否かを判定することによって、描画データの図形が交差するか否かを判定する。
【0008】
本発明の一態様による描画方法は、上記描画データ検査方法によって検査された描画データに基づいて荷電粒子ビームを照射する。
【0009】
本発明の一態様による描画装置は、図形がBスプライン曲線であらわされる描画データを検査する描画装置である。この描画装置は、描画データの図形に含まれるBスプライン曲線を形成する複数の制御点の位置を示す座標を取得し、座標を取得すると、描画データ上で隣接する少なくとも3つ以上の制御点を直線で結んだ線分で囲まれる領域を描画データの検査対象領域に設定し、検査対象領域に対する検査対象制御点および検査対象領域の制御点の座標を用いて、検査対象領域に対する検査対象制御点の相対位置を特定する計算処理を行い、相対位置に基づいて検査対象制御点が検査対象領域内に存在するか否かを判定することによって、描画データの図形が交差するか否かを判定するデータ検査部を備える。
【0010】
本発明の一態様によるプログラムは、描画装置で用いられる描画データの図形をあらわすBスプライン曲線を形成する複数の制御点の位置を示す座標を取得する処理と、座標を取得すると、描画データ上で隣接する少なくとも3つ以上の制御点を直線で結んだ線分で囲まれる領域を描画データの検査対象領域に設定する処理と、検査対象領域に対する検査対象制御点および検査対象領域の制御点の座標を用いて、検査対象領域に対する検査対象制御点の相対位置を特定する計算処理と、相対位置に基づいて検査対象制御点が検査対象領域内に存在するか否かを判定することによって、描画データの図形が交差するか否かを判定する処理と、をコンピュータに実行させるためのプログラムである。
【発明の効果】
【0011】
本発明によれば、曲線図形を含む描画データの検査を正確かつ高速に行うことが可能となる。
【図面の簡単な説明】
【0012】
図1】第1実施形態に係るマルチ荷電粒子ビーム描画装置の概略図である。
図2】設計データD0の例を示す図である。
図3】描画データの検査方法の手順の一例を説明するためのフローチャートである。
図4図3に示すフローチャートに従って行われる描画データの検査方法を説明するための図である。
図5】描画データの検査方法の手順の他の一例を説明するためのフローチャートである。
図6図5に示すフローチャートに従って行われる描画データの検査方法を説明するための図である。
図7】第1変形例に係る設計データを示す図である。
図8】第2変形例に係る描画データを示す図である。
図9】第3変形例に係る設計データを示す図である。
図10】第2実施形態に係る描画データ検査装置の概略的な構成を示すブロック図である。
【発明を実施するための形態】
【0013】
以下、図面を参照して本発明の実施形態を説明する。本実施形態は、本発明を限定するものではない。
【0014】
(第1実施形態)
図1は、第1実施形態に係るマルチ荷電粒子ビーム描画装置の概略図である。本実施形態では、荷電粒子ビームの一例として、電子ビームを用いた構成について説明する。但し、荷電粒子ビームは、電子ビームに限られず、イオンビーム等の他の荷電粒子ビームでもよい。また、本実施形態では、描画装置は、マルチビーム方式であるが、シングルビーム方式であってもよい。
【0015】
本実施形態に係る図1に示す描画装置1は、マスクやウェーハ等の対象物に電子ビームを照射して所望のパターンを描画する描画部10と、描画部10による描画動作を制御する制御部50とを備える。描画部10は、電子ビーム鏡筒12及び描画室30を有する。
【0016】
電子ビーム鏡筒12内には、電子銃14、照明レンズ16、成形アパーチャアレイ部材18、ブランキングアパーチャアレイプレート20、縮小レンズ22、制限アパーチャ部材24、対物レンズ26、及び偏向器28が配置されている。描画室30内には、XYステージ32が配置される。XYステージ32上には、描画対象基板となるマスクブランク34が載置されている。対象物として、例えば、ウェーハや、ウェーハにエキシマレーザを光源としたステッパやスキャナ等の縮小投影型露光装置や極端紫外線露光装置を用いてパターンを転写する露光用のマスクが含まれる。また、描画対象基板には、例えば、既にパターンが形成されているマスクも含まれる。例えば、レベンソン型マスクは2回の描画を必要とするため、1度描画されマスクに加工された物に2度目のパターンを描画することもある。XYステージ32上には、さらに、XYステージ32の位置測定用のミラー36が配置される。
【0017】
制御部50は、制御計算機52、偏向制御回路54,56、及びステージ位置検出器58を有する。制御計算機52、偏向制御回路54,56、及びステージ位置検出器58は、バスを介して互いに接続されている。
【0018】
電子銃14から放出された電子ビーム40は、照明レンズ16によりほぼ垂直に成形アパーチャアレイ部材18全体を照明する。成形アパーチャアレイ部材18には、穴(開口部)が所定の配列ピッチでマトリクス状に形成されている。電子ビーム40は、成形アパーチャアレイ部材18のすべての穴が含まれる領域を照明する。これらの複数の穴を電子ビーム40の一部がそれぞれ通過することで、図1に示すようなマルチビーム40a~40eが形成される。
【0019】
ブランキングアパーチャアレイプレート20には、成形アパーチャアレイ部材18の各穴の配置位置に合わせて通過孔が形成され、各通過孔には、対となる2個の電極からなるブランカが、それぞれ配置される。各通過孔を通過する電子ビーム40a~40eは、それぞれ独立に、ブランカが印加する電圧によって偏向される。かかる偏向によってブランキング制御される。このように、複数のブランカが、成形アパーチャアレイ部材18の複数の穴を通過したマルチビームのうち、それぞれ対応するビームのブランキング偏向を行う。
【0020】
ブランキングアパーチャアレイプレート20を通過したマルチビーム40a~40eは、縮小レンズ22によって縮小され、制限アパーチャ部材24に形成された中心の穴に向かって進む。ここで、ブランキングアパーチャアレイプレート20のブランカにより偏向された電子ビームは、制限アパーチャ部材24の中心の穴から位置がはずれ、制限アパーチャ部材24によって遮蔽される。一方、ブランキングアパーチャアレイプレート20のブランカによって偏向されなかった電子ビームは、制限アパーチャ部材24の中心の穴を通過する。
【0021】
このように、制限アパーチャ部材24は、ブランキングアパーチャアレイプレート20のブランカによってビームOFFの状態になるように偏向された各ビームを遮蔽する。そして、ビームONになってからビームOFFになるまでに制限アパーチャ部材24を通過したビームが、1回分のショットのビームとなる。制限アパーチャ部材24を通過したマルチビーム40a~40eは、対物レンズ26により焦点が合わされ、所望の縮小率のパターン像となる。制限アパーチャ部材24を通過した各ビーム(マルチビーム全体)は、偏向器28によって同方向にまとめて偏向され、各ビームのマスクブランク34上のそれぞれの照射位置に照射される。
【0022】
XYステージ32が連続移動している時、ビームの照射位置がXYステージ32の移動に追従するように偏向器28によって制御される。XYステージ32の移動は、ステージ制御部(不図示)により行われ、XYステージ32の位置はステージ位置検出器58により検出される。
【0023】
一度に照射されるマルチビームは、理想的には成形アパーチャアレイ部材18の複数の穴の配列ピッチに上述した所望の縮小率を乗じたピッチで並ぶことになる。この描画装置は、ショットビームを連続して順に照射していくラスタースキャン方式で描画動作を行い、所望のパターンを描画する際、パターンに応じて必要なビームがブランキング制御によりビームONに制御される。XYステージ32が連続移動している時、ビームの照射位置がXYステージ32の移動に追従するように偏向器28によって制御される。
【0024】
制御計算機52は、図1に示すように、データ検査部521、ショットデータ生成部522、および照射制御部523を有する。データ検査部521は、記憶装置60から読み出した描画データD1を検査する。データ検査部521による検査方法については、後述する。
【0025】
描画データD1がデータ検査部521の検査に合格すると、ショットデータ生成部522は、描画データD1に対して複数段のデータ変換処理を行って装置固有のショットデータを生成する。ショットデータには、各ショットの照射量及び照射位置座標等が定義される。例えば、ショットデータ生成部522は、描画データD1内に定義された図形パターンを対応する画素に割り当てる。そして、ショットデータ生成部522は、画素毎に、配置される図形パターンの面積密度を算出する。
【0026】
照射制御部523は、画素毎に、1ショットあたりの電子ビームの照射量を算出する。例えば、画素の面積密度に比例した照射量を求め、近接効果、かぶり効果、ローディング効果等による寸法変動を考慮して照射量を補正する。
【0027】
照射制御部523は、ショットデータに基づいて算出した各ショットの照射量を偏向制御回路54に出力する。偏向制御回路54は、入力された照射量を電流密度で割って照射時間tを求める。そして、偏向制御回路54は、対応するショットを行う際、照射時間tだけブランカがビームONするように、ブランキングアパーチャアレイプレート20の対応するブランカに偏向電圧を印加する。
【0028】
また、照射制御部523は、ショットデータが示す位置(座標)に各ビームが偏向されるように、偏向位置データを偏向制御回路56に出力する。偏向制御回路56は、偏向量を演算し、偏向器28に偏向電圧を印加する。これにより、その回にショットされるマルチビームがまとめて偏向される。
【0029】
ここで、データ検査部521の検査対象である描画データD1について説明する。描画データD1は、変換装置70にて設計データ(CADデータ)D0に基づいて生成される。設計データD0は、例えば、半導体集積回路のレイアウトを設計したレイアウトデータである。
【0030】
設計データD0には、曲線図形が含まれている。変換装置70は、この曲線図形について、Bスプライン曲線を表現(パラメトリック曲線表現)するための複数の制御点を算出し、制御点の座標位置を求める。変換装置70は、各制御点について、描画データD1上で隣接する制御点からの変位を求める。
【0031】
図2は、設計データD0の例を示す図である。この設計データD0は、閉曲線で形成されている。この閉曲線は、9個の制御点P0~制御点P8で定義されるBスプライン曲線に近似される。変換装置70は、閉曲線を近似する制御点P0~制御点P8を算出する。本実施形態では、制御点P0~制御点P8には、制御点番号が描画データD1上の位置に応じて連続して付与されている。変換装置70は、制御点の座標位置を、当該制御点に対して描画データD1上で隣接する他の制御点からの変位で表現して、描画データD1を生成する。
【0032】
例えば、図2では、制御点P0の座標(x0、y0)が、この曲線図形の図形配置原点として定義される。描画データD1上で制御点P0に隣接し、かつ制御点番号が次の制御点P1の座標位置は、制御点P0から見たx方向の変位δx1と、y方向の変位δy1で定義される。制御点P2~制御点P8の各座標位置についても、制御点P1と同じように、描画データD1上で一つ前の制御点番号の制御点から見たx方向およびy方向の変位で定義される。このとき、変換装置70は、制御点P0~制御点P8のx座標およびy座標を全て整数で定義する。
【0033】
データ検査部521は、上記のようにして算出された制御点P0~制御点P8で形成された描画データD1を検査する。以下、データ検査部521による描画データD1の検査方法をいくつか説明する。
【0034】
最初に、図3および図4を参照して、描画データD1を作成する際に曲線が交差していないかチェックする検査方法を説明する。この検査方法では、曲線が交差する違反制御点が存在する場合、違反制御点が無くなるような処理を行うことによって、最終的に描画データD1で曲線を交差させないようにする。
【0035】
図3は、描画データD1の検査方法の手順の一例を説明するためのフローチャートである。また、図4は、図3に示すフローチャートに従って行われる描画データD1の検査方法を説明するための図である。
【0036】
図3および図4を用いて説明する検査方法において、データ検査部521は、検査対象制御点が検査対象領域内に存在するか否かを検査する。検査対象領域は、描画データD1上で3つ以上の制御点を直線で結ぶ線分で囲まれる領域である。一方、検査対象制御点は、検査対象領域を構成する3つ以上の制御点とは異なる制御点である。
【0037】
まず、データ検査部521は、記憶装置60から描画データD1の制御点P0~制御点P8の座標を取得する(ステップS11)。
【0038】
次に、データ検査部521は、検査対象制御点の外積valを算出する(ステップS12)。ステップS12では、図4に示すように、例えば、データ検査部521は、制御点P0、制御点P1、および制御点P2を線分L1~線分L3でそれぞれ結んだ三角形を最小の検査対象領域Aとして設定する。この場合、データ検査部521は、描画データD1上で制御点P0~制御点P2に隣接しない制御点P3~制御点P8の各々を検査対象制御点として設定する。
【0039】
続いて、データ検査部521は、検査対象領域Aを囲む線分L1~線分L3に対する各検査対象制御点の外積valを算出する。ここでは、検査対象制御点が制御点P6の場合について説明する。
【0040】
データ検査部521は、下記の式(1)を用いて外積val1を算出する。
val1=x1×y6-y1×x6 (1)
【0041】
データ検査部521は、制御点P0の座標(x0,y0)を原点(0,0)に変換して、制御点P0から制御点P6へと直線で結ぶ線分(ベクトル)Laと、制御点P0から制御点P1へと直線で結ぶ線分(ベクトル)L1とのベクトル外積を外積val1として算出する。このとき、データ検査部521は、制御点P1の座標(x1,y1)および制御点P6の座標(x6,y6)を、制御点P0の座標を原点とする座標系の座標に変換する。
【0042】
続いて、データ検査部521は、下記の式(2)を用いて外積val2を算出する。
val2=x2×y6-y2×x6 (2)
【0043】
データ検査部521は、制御点P1の座標(x1,y1)を原点(0,0)に変換して、制御点P1から制御点P6へと直線で結ぶ線分(ベクトル)Lbと、制御点P1から制御点P2へと直線で結ぶ線分(ベクトル)L2とのベクトル外積を外積val2として算出する。このとき、データ検査部521は、制御点P2の座標(x2,y2)および制御点P6の座標(x6,y6)を、制御点P1の座標を原点とする座標系の座標に変換する。
【0044】
最後に、データ検査部521は、下記の式(3)を用いて外積val3を算出する。
val3=x0×y6-y0×x6 (3)
【0045】
データ検査部521は、制御点P2の座標(x2,y2)を原点(0,0)に変換して、制御点P2から制御点P6へと直線で結ぶ線分(ベクトル)Lcと、制御点P2から制御点P0へと直線で結ぶ線分(ベクトル)L3とのベクトル外積を外積val3として算出する。このとき、データ検査部521は、制御点P0の座標(x0,y0)および制御点P6の座標(x6,y6)を、制御点P2の座標を原点とする座標系の座標に変換する。
【0046】
ステップS12では、残りの制御点についても、上記のような計算式を用いて線分L1~線分L3に対する外積valを算出する。
【0047】
外積valの算出後、データ検査部521は、全ての外積valの値をしきい値THと比較する(ステップS13)。本実施形態では、外積valを計算する際に制御点Pの座標を原点に変換するため、しきい値THは0(ゼロ)に設定されている。
【0048】
例えば、外積val1≧しきい値THである場合、制御点P6は、線分(ベクトル)L1の左側または線分(ベクトル)L1上に位置することになる。一方、外積val1<しきい値THである場合、制御点P6は、線分(ベクトル)L1の右側に位置することになる。
【0049】
また、外積val2≧しきい値THである場合、制御点P6は、線分(ベクトル)L2の左側または線分(ベクトル)L2上に位置することになる。一方、外積val2<しきい値THである場合、制御点P6は、線分(ベクトル)L2の右側に位置することになる。
【0050】
さらに、外積val3≧しきい値THである場合、制御点P6は、線分(ベクトル)L3の左側または線分(ベクトル)L3上に位置することになる。一方、外積val3<しきい値THである場合、制御点P6は、線分(ベクトル)L3の右側に位置することになる。
【0051】
上記のように、外積val1~外積val3の各々をしきい値THと比較した結果、外積val1~外積val3の全てがしきい値TH以上である場合、制御点P6は、線分(ベクトル)L1~線分(ベクトル)L3の左側またはいずれかの線分上に位置していることになる。このため、データ検査部521は、制御点P6を線分(ベクトル)L1~線分(ベクトル)L3で囲まれる検査対象領域A内に存在すると判定する(ステップS14)。この場合、制御点P6は違反制御点とみなされ、描画データD1は不合格となる。
【0052】
一方、外積val1~外積val3のいずれか1つでもしきい値THを下回る場合には、データ検査部521は、制御点P6を検査対象領域A外に存在すると判定する(ステップS15)。この場合、制御点P6は、合格制御点とみなされる。全ての検査対象制御点が合格制御点である場合、描画データD1は合格となる。
【0053】
上記のように検査対象領域A内における制御点の存否の検査が終了すると、データ検査部521は、制御点P1、制御点P2、および制御点P3を直線で結ぶ三角形を検査対象領域Aの次の検査対象領域として設定する。そして、データ検査部521は、検査対象領域Aの検査と同じように、設定した検査対象領域内における検査対象制御点の存否を検査する。このようにして、データ検査部521は、検査対象領域を設定するたびに、検査対象領域内における検査対象制御点の存否を検査する。
【0054】
次に、図5および図6を参照して、描画データD1を作成する際に、制御点間を直線で結ぶ2個の線分が互いに交差していないかチェックする検査方法を説明する。
【0055】
図5は、描画データD1の検査方法の手順の他の一例を説明するためのフローチャートである。また、図6は、図5に示すフローチャートに従って行われる描画データD1の検査方法を説明するための図である。
【0056】
図5および図6を用いて説明する検査方法において、データ検査部521は、描画データD1の曲線次数p=2の条件下で2個の検査対象線分が互いに交差しているか否かを検査する。
【0057】
まず、データ検査部521は、変換装置70から描画データD1の制御点P0~制御点P8の座標を取得する(ステップS21)。
【0058】
次に、データ検査部521は、検査対象制御点の外積valを算出する(ステップS22)。ステップS22では、データ検査部521は、描画データD1上で互いに隣接する2個の制御点を検査対象制御点として設定する。ここでは、図6に示すように、データ検査部521が、制御点P4(第1検査対象制御点)および制御点P5(第2検査対象制御点)を検査対象制御点として設定した場合について説明する。この場合、データ検査部521は、検査対象制御点の外積valを算出することによって、検査対象線分Ld(第1線分)と検査対象線分Le(第2線分)とが互いに交差するか否かを検査する。
【0059】
検査対象線分Ldは、制御点P4から、制御点P4から制御点番号を1つ置いた制御点P6へと直線で結んだ線分(ベクトル)である。一方、検査対象線分Leは、制御点P5から、制御点P5から制御点番号を1つ置いた制御点P7へと直線で結んだ線分(ベクトル)である。
【0060】
検査対象線分(ベクトル)Ldと検査対象線分(ベクトル)Leとの交差の有無を検査するため、データ検査部521は、下記の式(4)を用いて検査対象線分(ベクトル)Leに対する制御点P4の外積val4を算出するとともに、下記の式(5)を用いて検査対象線分(ベクトル)Leに対する制御点P6の外積val5を算出する。
val4=x7×y4-y7×x4 (4)
val5=x7×y6-y7×x6 (5)
【0061】
データ検査部521は、外積val4を算出する際、制御点P5の座標(x5,y5)を原点(0,0)に変換して、線分(ベクトル)Leと、制御点P5から制御点P4へと直線で結ぶ線分(ベクトル)L4とのベクトル外積を外積val4として算出する。このとき、データ検査部521は、制御点P4の座標(x4,y4)および制御点P7の座標(x7,y7)を、制御点P5の座標を原点とする座標系の座標に変換する。
【0062】
データ検査部521は、外積val5を算出する際には、外積val4の算出と同じように、制御点P5の座標(x5,y5)を原点(0,0)に変換して、線分(ベクトル)Leと、制御点P5から制御点P6へと直線で結ぶ線分(ベクトル)L5とのベクトル外積を外積val5として算出する。このときも、データ検査部521は、制御点P6の座標(x6,y6)および制御点P7の座標(x7,y7)を、制御点P5の座標を原点とする座標系の座標に変換する。
【0063】
続いて、データ検査部521は、下記の式(6)を用いて検査対象線分Ldに対する制御点P5の外積val6を算出するとともに、下記の式(7)を用いて検査対象線分Ldに対する制御点P7の外積val7を算出する。
val6=x4×y5-y4×x5 (6)
val7=x4×y7-y4×x7 (7)
【0064】
データ検査部521は、外積val6を算出する際、制御点P6の座標(x6,y6)を原点(0,0)に変換して、線分(ベクトル)Ldと、線分(ベクトル)L5とのベクトル外積を外積val6として算出する。このとき、データ検査部521は、制御点P4の座標(x4,y4)および制御点P5の座標(x5,y5)を、制御点P6の座標を原点とする座標系の座標に変換する。
【0065】
データ検査部521は、外積val7を算出する際には、外積val6の算出と同じように、制御点P6の座標(x6,y6)を原点(0,0)に変換して、線分(ベクトル)Ldと、制御点P6と制御点P7とを直線で結ぶ線分(ベクトル)L6とのベクトル外積を外積val7として算出する。このときも、データ検査部521は、制御点P5の座標(x5,y5)および制御点P7の座標(x7,y7)を、制御点P6の座標を原点とする座標系の座標に変換する。
【0066】
外積val4~外積val7の算出後、データ検査部521は、外積val4および外積val5の値をしきい値THとそれぞれ比較する(ステップS23)。本実施形態では、外積val4および外積val5を計算する際に制御点P5の座標を原点に変換するため、しきい値THは0(ゼロ)に設定されている。
【0067】
val4<THである場合、制御点P4は、検査対象線分Leの右側に位置することになる。また、val5>THである場合、制御点P6は、検査対象線分Leの左側に位置することになる。このため、val4<TH、かつval5>THである場合、データ検査部521は、制御点P4および制御点P6が検査対象線分Leの両側に存在すると判定する(ステップS24)。制御点P4および制御点P6が検査対象線分Leの両側に存在することは、換言すると、制御点P4および制御点P6が検査対象線分Leを挟んで互いに対向していることである。
【0068】
制御点P4および制御点P6が検査対象線分Leの両側に存在する場合、データ検査部521は、外積val6および外積val7の値をしきい値THとそれぞれ比較する(ステップS25)。本実施形態では、外積val6および外積val7を計算する際に制御点P6の座標を原点に変換するため、しきい値THは0(ゼロ)に設定されている。
【0069】
val6<THである場合、制御点P5は、検査対象線分Ldの右側に位置することになる。また、val7>THである場合、制御点P7は、検査対象線分Ldの左側に位置することになる。このため、val6<TH、かつval7>THである場合、データ検査部521は、制御点P5および制御点P7が検査対象線分Ldの両側に存在すると判定する(ステップS26)。制御点P5および制御点P7が検査対象線分Ldの両側に存在することは、換言すると、制御点P5および制御点P7が検査対象線分Ldを挟んで互いに対向していることである。
【0070】
上述したように、制御点P4および制御点P6を直線で結んだ線分が検査対象線分Ldであり、制御点P5と制御点P7とを直線で結んだ線分が検査対象線分Leである。このため、制御点P4および制御点P6が検査対象線分Leの両側に存在し、かつ、制御点P5および制御点P7が検査対象線分Ldの両側に存在するということは、検査対象線分Ldと検査対象線分Leとが互いに交差していることを意味する。このため、データ検査部521は、検査対象線分Ldと検査対象線分Leとが互いに交差していると判定する(ステップS27)。この場合、制御点P4および制御点P5は、違反制御点とみなされ、描画データD1は不合格となる。
【0071】
一方、制御点P4および制御点P6が検査対象線分Leの両側に存在し、かつ、制御点P5および制御点P7が検査対象線分Ldの両側に存在するという条件を満たさない場合には、データ検査部521は、検査対象線分Ldと検査対象線分Leとが互いに交差していないと判定する(ステップS28)。この場合、制御点P4および制御点P5は、合格制御点とみなされる。
【0072】
上記のように制御点P4および制御点P5の交差判定が終了すると、データ検査部521は、描画データD1上で互いに隣接する別の2個の制御点を検査対象制御点に設定し、検査対象制御点の交差判定を行う。このようにして、データ検査部521は、検査対象制御点を設定するたびに、検査対象制御点を一端とする検査対象線分同士の交差の有無を検査する。
【0073】
以上説明した本実施形態では、データ検査部521が、描画データD1に対して、整数座標で表現されるBスプライン曲線の制御点P[i],P[i+1],・・・,P[i+p](P:制御点, p:曲線次数, i:制御点番号)で囲まれる領域内に、検査対象制御点P[k](k:制御点番号)が含まれているか否かを判定することによって、検査の合否を判定する。
【0074】
また、本実施形態では、曲線次数pが2である場合、データ検査部521は、制御点P[i]と制御点P[i+2]とを結ぶ検査対象線分L[i](第1検査対象線分)と、制御点P[k-1]と制御点P[k](但し、k≠i+1)とを結ぶ検査対象線分L[k](第2検査対象線分)と、が交差しているか否かを判定することによって、検査の合否を判定する。
【0075】
上述した検査方法のいずれも、データ検査部521は、Bスプライン曲線の整数座標を用いた外積計算処理によって、検査制御点の、検査制御点とは異なる制御点間を直線で結ぶ線分に対する相対位置(位置関係)を特定し、特定した相対位置に基づいて描画データD1の合否を判定している。このため、描画データD1の検査の過程で、浮動小数の計算や、高次方程式の解を求める計算が不要になる。これにより、曲線図形を含む描画データの検査を正確かつ高速に行うことが可能となる。
【0076】
(第1変形例)
以下、第1実施形態の第1変形例について説明する。ここでは、第1実施形態と異なる点を中心に説明する。本変形例では、描画データD1の構成が第1実施形態と異なる。
【0077】
図7は、第1変形例に係る設計データを示す図である。上述した第1実施形態では、データ検査部521が、設計データD0を9個の制御点P0~P8で囲むBスプライン曲線で近似した1個の図形から成る描画データD1を検査対象としている。
【0078】
一方、本変形例では、図7に示すように、描画データD1は、設計データD01を9個の制御点P10~P18で囲むBスプライン曲線で近似した図形と、設計データD02を7個の制御点P20~P26で囲むBスプライン曲線で近似した図形と、を有する。なお、図7に示す2個の図形は、互いに異なる形状であるが、同じ形状であってもよい。
【0079】
本変形例では、データ検査部521は、第1実施形態で最初に説明した検査方法と同じように、例えば検査対象領域が3点を直線で結んだ三角形である場合、描画データD1を構成する2個の図形の各々において、検査対象領域内における検査対象制御点の存否を検査する。
【0080】
また、描画データD1の曲線次数が2の場合には、データ検査部521は、第1実施形態で二番目に説明した検査方法と同じように、描画データD1を構成する2個の図形の各々において、互いに隣接する2個の制御点を一端とする検査対象線分同士の交差判定を行ってもよい。
【0081】
以上説明した本変形例でも、第1実施形態と同じように、データ検査部521は、整数の外積計算処理によって、合否を判定している。そのため、描画データD1の検査の過程で、浮動小数の計算や、高次方程式の解を求める計算が不要になる。これにより、曲線図形を含む複数の図形で形成された描画データの検査を正確かつ高速に行うことが可能となる。
【0082】
(第2変形例)
以下、第1実施形態の第2変形例について説明する。ここでは、第1実施形態と異なる点を中心に説明する。本変形例でも、描画データD1の構成が第1実施形態と異なる。
【0083】
図8は、第2変形例に係る描画データを示す図である。上述した第1実施形態では、データ検査部521が、閉曲線で形成された描画データD1を検査対象としている。
【0084】
一方、本変形例では、図8に示すように、描画データD1は、曲線C1、C2と、直線S1~S11とで囲まれた図形で形成されている。すなわち、描画データD1は、曲線図形および多角形図形を含んでいる。
【0085】
曲線C1は、4個の制御点P30、P31、P32、P33で定義されるBスプライン曲線で表現される。制御点P30の座標が、この図形の図形配置原点として定義される。制御点P31、P32、P33の座標位置は、1つ前の制御点からみたx方向の変位及びy方向の変位で順に定義される。
【0086】
曲線C2は、5個の制御点P41,P42,P43,P44,P30で定義される曲線で表現される。各制御点の座標位置は、曲線C1と同じように、1つ前の制御点からみたx方向の変位及びy方向の変位で順に定義される。
【0087】
直線S1は、制御点P33で曲線C1に連続している。そのため、制御点P33は、多角形図形の頂点P33にも該当する。直線S1は、頂点P33と頂点P34とを結ぶ。頂点P34の座標位置は、1つ前の頂点P33から見たx方向の変位及びy方向の変位で順に定義される。
【0088】
直線S2は、頂点P34で直線S1に連なっている。直線S2は、頂点P34と頂点P35とを結ぶ。直線S3~直線S11も、頂点P35~頂点P41間をそれぞれ結び、互いに連なっている。各頂点の座標位置は、1つ前の頂点から見たx方向の変位及びy方向の変位で順に定義される。
【0089】
変換装置70は、頂点間を直線で結ぶという情報により、各直線を表現する。また、変換装置70は、特定の頂点間(例えば頂点P38と点P39との間)が直角タイプ(マンハッタンタイプ)の直線で結ばれるという情報により、直線S6及びS7を表現する。
【0090】
本変形例では、データ検査部521は、第1実施形態で最初に説明した検査方法と同じように、3つ以上の制御点または頂点を直線で結んだ検査対象領域内における他の制御点または頂点の存否を検査する。また、描画データD1の曲線次数が2の場合には、データ検査部521は、第1実施形態で二番目に説明した検査方法と同じように、互いに隣接する2個の制御点または頂点を一端とする検査対象線分同士の交差判定を行ってもよい。
【0091】
以上説明した本変形例でも、第1実施形態と同じように、データ検査部521は、整数の外積計算処理によって、合否を判定している。このため、描画データD1の検査の過程で、浮動小数の計算や、高次方程式の解を求める計算が不要になる。これにより、曲線図形および多角形図形を含む描画データの検査を正確かつ高速に行うことが可能となる。
【0092】
(第3変形例)
以下、第1実施形態の第3変形例について説明する。ここでは、第1実施形態と異なる点を中心に説明する。本変形例でも、描画データD1の構成が第1実施形態と異なる。
【0093】
図9は、第3変形例に係る設計データを示す図である。上述した第1実施形態では、設計データD0が、閉曲線で囲まれた図形のみで形成されている。
【0094】
一方、本変形例では、図9に示すように、設計データD0は、閉曲線で囲まれた外周部内に、ホールH1およびホールH2を有する。ホールH1は、閉曲線で囲まれた開口部である。一方、ホールH2は、直線で囲まれた開口部である。なお、本変形例では、設計データD0は、ホールH1およびホールH2の両方を有しているが、どちらか一方を有していてもよい。
【0095】
本変形例では、変換装置70は、制御点P50~制御点P56で定義されるBスプライン曲線によって設計データD0の外周部を近似する。また、変換装置70は、ホール制御点P60~ホール制御点P63で定義されるBスプライン曲線によって、ホールH1を近似する。さらに、変換装置70は、ホール頂点P70~ホール頂点P73で定義されるBスプライン曲線によって、ホールH2を近似する。
【0096】
本変形例では、データ検査部521は、第1実施形態で最初に説明した検査方法と同じように、制御点P50~制御点P56のうちの3つ以上の制御点を直線で結んだ検査対象領域内におけるホール制御点またはホール頂点の存否を検査してもよい。
【0097】
また、描画データD1の曲線次数が2の場合には、データ検査部521は、第1実施形態で最初に説明した検査方法と同じように、互いに隣接する2個の制御点を一端とする検査対象線分同士の交差判定を行ってもよい。
【0098】
以上説明した本変形例でも、第1実施形態と同じように、データ検査部521は、整数の外積計算処理によって、合否を判定している。そのため、描画データD1の検査の過程で、浮動小数の計算や、高次方程式の解を求める計算が不要になる。これにより、ホールを有する描画データの検査を正確かつ高速に行うことが可能となる。
【0099】
(第2実施形態)
図10は、第2実施形態に係る描画データ検査装置の概略的な構成を示すブロック図である。本実施形態では、上述した第1実施形態による変換装置70により生成された描画データD1は、描画データ検査装置80に入力される。
【0100】
描画データ検査装置80は、図10に示すように、データ検査部81および記録媒体82を有する。データ検査部81は、第1実施形態で説明したデータ検査部521と同じ機能を有する。すなわち、本実施形態は、第1実施形態に係る描画装置1の制御計算機52のうち、データ検査部521に関する機能を、描画装置1から独立した描画データ検査装置80に移設した構成となっている。一方、記録媒体82には、データ検査部81で行われる処理を実現するプログラムが格納されている。
【0101】
データ検査部81は、第1実施形態や変形例と同じように、描画データD1の3つ以上の制御点または頂点を直線で結んだ検査対象領域内に、検査対象制御点または検査対象頂点が存在するか否かを検査する。また、描画データD1の曲線次数が2の場合には、第1実施形態や変形例と同じように、描画データD1上で互いに隣接する2個の制御点または頂点を一端とする検査対象線分同士の交差判定を行ってもよい。
【0102】
描画データD1がデータ検査部81の検査に合格すると、描画データD1は、制御計算機52に入力される。この後、描画装置1が、描画データD1に基づく荷電粒子ビームを照射する。
【0103】
上述した本実施形態によれば、データ検査部81は、整数の外積計算処理によって、描画データD1の検査の合否を判定している。このため、描画データD1の検査の過程で、浮動小数の計算や、高次方程式の解を求める計算が不要になる。これにより、描画データの検査を正確かつ高速に行うことが可能となる。
【0104】
なお、本実施形態では、変換装置70は、描画データ検査装置80内に設けられていてもよい。この場合、描画データ検査装置80は、入力された設計データD0に基づいて描画データD1を生成するデータ生成部と、データ検査部81と、記録媒体82と、を備えたものとなる。
【0105】
本実施形態で説明した描画データ検査装置80の検査機能の少なくとも一部は、ハードウェアで構成してもよいし、ソフトウェアで構成してもよい。ソフトウェアで構成する場合には、描画データ検査装置80の検査機能の少なくとも一部を実現するプログラムをフレキシブルディスクやCD-ROM等の記録媒体82に収納し、コンピュータに読み込ませて実行させてもよい。記録媒体82は、磁気ディスクや光ディスク等の着脱可能なものに限定されず、ハードディスク装置やメモリなどの固定型の記録媒体でもよい。
【0106】
また、描画データ検査装置80の検査機能の少なくとも一部を実現するプログラムを、インターネット等の通信回線(無線通信も含む)を介して頒布してもよい。さらに、同プログラムを暗号化したり、変調をかけたり、圧縮した状態で、インターネット等の有線回線や無線回線を介して、あるいは記録媒体に収納して頒布してもよい。
【0107】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【0108】
1:描画装置
80:描画データ検査装置
81:データ検査部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10