JP2010067808A - Drawing apparatus, drawing data conversion method, and drawing method - Google Patents

Drawing apparatus, drawing data conversion method, and drawing method Download PDF

Info

Publication number
JP2010067808A
JP2010067808A JP2008233021A JP2008233021A JP2010067808A JP 2010067808 A JP2010067808 A JP 2010067808A JP 2008233021 A JP2008233021 A JP 2008233021A JP 2008233021 A JP2008233021 A JP 2008233021A JP 2010067808 A JP2010067808 A JP 2010067808A
Authority
JP
Japan
Prior art keywords
data
pattern information
level
branch
binary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2008233021A
Other languages
Japanese (ja)
Inventor
Hayato Shibata
隼人 柴田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nuflare Technology Inc
Original Assignee
Nuflare Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nuflare Technology Inc filed Critical Nuflare Technology Inc
Priority to JP2008233021A priority Critical patent/JP2010067808A/en
Publication of JP2010067808A publication Critical patent/JP2010067808A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Preparing Plates And Mask In Photomechanical Process (AREA)
  • Electron Beam Exposure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a drawing apparatus capable of reducing the number of bits per pixel and also reducing data size. <P>SOLUTION: The drawing apparatus 100 is characterized by including: a pattern partitioning section 46 that acquires pattern information including at least one of a plurality of pattern figure codes, an array flag, the number of arrays and an array pitch; an accumulation table forming section 50 that relates each pattern information to the number of use for each pattern information for each predetermined region; a Huffman tree forming section 52 that forms a Huffman tree, a Huffman table forming section 54 that forms a Huffman table that relates each pattern information to an encrypted binary variable length code, wherein a smaller numerical value is assigned to pattern information as the frequency of use increases; a format converting section 56 that converts data in a predetermined region defined as drawing data in a predetermined format using a variable length code, and a drawing section 150 that draws a plurality of patterns in a test piece based on the converted data in the predetermined region. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、描画装置、描画データの変換方法及び描画方法に関する。例えば、電子ビームを用いて試料に所定のパターンを描画する描画装置、描画方法、および装置内で処理される描画データの変換方法に関する。   The present invention relates to a drawing apparatus, a drawing data conversion method, and a drawing method. For example, the present invention relates to a drawing apparatus for drawing a predetermined pattern on a sample using an electron beam, a drawing method, and a method for converting drawing data processed in the apparatus.

半導体デバイスの微細化の進展を担うリソグラフィ技術は半導体製造プロセスのなかでも唯一パターンを生成する極めて重要なプロセスである。近年、LSIの高集積化に伴い、半導体デバイスに要求される回路線幅は年々微細化されてきている。これらの半導体デバイスへ所望の回路パターンを形成するためには、高精度の原画パターン(レチクル或いはマスクともいう。)が必要となる。ここで、電子線(電子ビーム)描画技術は本質的に優れた解像性を有しており、高精度の原画パターンの生産に用いられる。   Lithography technology, which is responsible for the progress of miniaturization of semiconductor devices, is an extremely important process for generating a pattern among semiconductor manufacturing processes. In recent years, with the high integration of LSI, circuit line widths required for semiconductor devices have been reduced year by year. In order to form a desired circuit pattern on these semiconductor devices, a highly accurate original pattern (also referred to as a reticle or a mask) is required. Here, the electron beam (electron beam) drawing technique has an essentially excellent resolution, and is used for producing a high-precision original pattern.

図19は、従来の可変成形型電子線描画装置の動作を説明するための概念図である。
可変成形型電子線(EB:Electron beam)描画装置は、以下のように動作する。第1のアパーチャ410には、電子線330を成形するための矩形例えば長方形の開口411が形成されている。また、第2のアパーチャ420には、開口411を通過した電子線330を所望の矩形形状に成形するための可変成形開口421が形成されている。荷電粒子ソース430から照射され、開口411を通過した電子線330は、偏向器により偏向される。そして、可変成形開口421の一部を通過して、ステージ上に搭載された試料340に照射される。また、ステージは、描画中、所定の一方向(例えば、X方向とする)に連続的に移動する。すなわち、開口411と可変成形開口421との両方を通過できる矩形形状が、連続的に移動するステージ上に搭載された試料340の描画領域に描画される。開口411と可変成形開口421との両方を通過させ、任意形状を作成する方式を可変成形方式という。
FIG. 19 is a conceptual diagram for explaining the operation of a conventional variable shaping type electron beam drawing apparatus.
The variable shaped electron beam (EB) drawing apparatus operates as follows. In the first aperture 410, a rectangular opening for forming the electron beam 330, for example, a rectangular opening 411 is formed. Further, the second aperture 420 is formed with a variable shaping opening 421 for shaping the electron beam 330 that has passed through the opening 411 into a desired rectangular shape. The electron beam 330 irradiated from the charged particle source 430 and passed through the opening 411 is deflected by a deflector. Then, it passes through a part of the variable shaping opening 421 and irradiates the sample 340 mounted on the stage. The stage continuously moves in a predetermined direction (for example, the X direction) during drawing. That is, a rectangular shape that can pass through both the opening 411 and the variable shaping opening 421 is drawn in the drawing region of the sample 340 mounted on the stage that moves continuously. A method of creating an arbitrary shape by passing both the opening 411 and the variable forming opening 421 is referred to as a variable forming method.

かかる電子ビーム描画を行なうにあたり、まず、半導体集積回路のレイアウトが設計される。そして、パターンレイアウトが定義されたレイアウトデータ(設計データ)が生成される。そして、レイアウトデータが変換され、電子線描画装置に適応した描画データが生成される。そして、描画データは、描画装置に入力され、複数のデータ処理の後、描画する際のショットデータとして生成される(例えば、特許文献1参照)。そして、このショットデータに従って描画処理が行なわれる。ここで、描画装置内では、描画データが展開されていき、ショットデータが生成される前の中間データが生成されることになる。そして、従来使用されていたパターンのデータフォーマットはあらゆる可能な大きさ、座標、図形種、及び個数に対応することができるように設計されていた。そのため、従来のパターンデータフォーマットでは、これらのいずれにも対応可能な数のビット数が用意されていた。   In performing such electron beam drawing, first, a layout of a semiconductor integrated circuit is designed. Then, layout data (design data) in which the pattern layout is defined is generated. Then, the layout data is converted, and drawing data suitable for the electron beam drawing apparatus is generated. The drawing data is input to the drawing apparatus, and is generated as shot data for drawing after a plurality of data processing (see, for example, Patent Document 1). Then, drawing processing is performed according to the shot data. Here, in the drawing apparatus, the drawing data is expanded, and intermediate data before the shot data is generated is generated. The pattern data format used in the past has been designed to be compatible with all possible sizes, coordinates, figure types, and numbers. For this reason, in the conventional pattern data format, the number of bits corresponding to any of these has been prepared.

しかしながら、描画データのレイアウトによっては、従来のパターンデータフォーマットで用意されたビット数の一部しか利用しないといった場合が存在する。例えば、同じ形或いは同じ大きさのパターンの繰り返しが圧倒的に多いレイアウトでは従来のパターンデータフォーマットで確保されたビット数のうち、わずかなビット数しか利用されていないといった状況があった。1つのレイアウトにおいて数個のパターンだけが少ないビット数になるというのであればそれほどの影響を受けるものではないが、近年のパターン微細化やパターン個数の増加に伴い、少ないビット数で済むパターンが増加している。そのため、このような利用されないビット数を累積すると装置のスループットにとって無視できないほどのデータサイズに相当するビット数になってきている。
特開2007−128933号公報
However, depending on the layout of the drawing data, there are cases where only a part of the number of bits prepared in the conventional pattern data format is used. For example, in a layout where the repetition of patterns having the same shape or the same size is overwhelmingly, there is a situation in which only a small number of bits among the number of bits secured in the conventional pattern data format is used. If only a few patterns have a small number of bits in one layout, it will not be affected so much, but with the recent pattern miniaturization and the increase in the number of patterns, the number of patterns that require a small number of bits increases. is doing. Therefore, when the number of such unused bits is accumulated, the number of bits corresponds to a data size that cannot be ignored for the throughput of the apparatus.
JP 2007-128933 A

上述したように、従来使用されていたパターンのデータフォーマットはあらゆる可能な大きさ、座標、図形種、及び個数に対応することができるようなビット数が用意されていた。そのため、使用されないビットも多く、使用されないビット数を累積すると装置のスループットにとって無視できないほどのデータサイズに相当してしまっていた。近年のパターン微細化やパターン個数の増加に伴い、データサイズの低減が求める中、データの使用ビット数の低減化が課題となっていた。さらに、描画装置に入力される描画データ自体も同様にパターンのデータフォーマットはあらゆる可能な大きさ、座標、図形種、及び個数に対応することができるようなビット数が用意されていた。そのため、かかる描画データを描画装置に転送する時間も長くなり、かかる転送時間についても装置のスループットにとって無視できないものとなってきた。   As described above, the pattern data format used in the past has been prepared with a number of bits that can correspond to all possible sizes, coordinates, graphic types, and numbers. For this reason, many bits are not used, and the number of unused bits corresponds to a data size that cannot be ignored for the throughput of the apparatus. Along with the recent miniaturization of patterns and the increase in the number of patterns, reduction of the number of used bits of data has been an issue as the reduction of data size is required. Furthermore, the drawing data itself input to the drawing apparatus is similarly provided with a number of bits that can correspond to all possible sizes, coordinates, figure types, and numbers of pattern data formats. For this reason, the time for transferring the drawing data to the drawing apparatus also becomes long, and the transfer time cannot be ignored for the throughput of the apparatus.

そこで、本発明の一態様は、ビット数を削減し、データサイズを低減する描画装置および描画データの変換方法を提供することを目的とする。また、本発明の他の態様は、入力される描画データのビット数を削減し、転送時間を短縮する描画装置および方法を提供することを目的とする。   In view of the above, an object of one embodiment of the present invention is to provide a drawing device and a drawing data conversion method that reduce the number of bits and the data size. It is another object of the present invention to provide a drawing apparatus and method that reduce the number of bits of drawing data to be input and reduce the transfer time.

本発明の一態様の描画装置は、
描画データを記憶する記憶部と、
描画データを基に、定義された複数のパターンの図形コードとアレイフラグとアレイ個数とアレイピッチの少なくとも1つを含むパターン情報を取得する取得部と、
所定の領域毎に、取得された複数のパターン情報を基に、各パターン情報と各パターン情報の使用回数とを関連させた第1のテーブルを作成する第1のテーブル作成部と、
第1のテーブルを基に、ハフマンツリーを作成するハフマンツリー作成部と、
ハフマンツリーを基に、各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードとを関連させた第2のテーブルを作成する第2のテーブル作成部と、
第2のテーブルを基に、可変長コードを用いた所定のフォーマットで、描画データに定義される所定の領域内のデータを変換する変換部と、
変換された所定の領域内のデータに基づいて、試料に複数のパターンを描画する描画部と、
を備えたことを特徴とする。
The drawing device of one embodiment of the present invention includes:
A storage unit for storing drawing data;
An acquisition unit that acquires pattern information including at least one of a graphic code, an array flag, an array number, and an array pitch of a plurality of defined patterns based on drawing data;
A first table creation unit that creates a first table that associates each piece of pattern information with the number of uses of each piece of pattern information based on a plurality of pieces of acquired pattern information for each predetermined region;
A Huffman tree creation unit for creating a Huffman tree based on the first table;
Based on the Huffman tree, a second table is created in which each pattern information is associated with a binary variable-length code obtained by encrypting each pattern information so that the pattern information having a larger number of uses has a smaller value. The table creation part of
A conversion unit that converts data in a predetermined area defined in the drawing data in a predetermined format using a variable length code based on the second table;
A drawing unit that draws a plurality of patterns on the sample based on the converted data in the predetermined region;
It is provided with.

かかる構成により、第2のテーブルでは、使用回数の多いパターン情報ほど2進数の可変長コードが小さい値となる。小さい値ほど使用するビット数は少なくて済む。そして、可変長コードを用いた所定のフォーマットで所定の領域内のデータを変換する。そのため、変換された所定の領域内のデータは、各パターン情報を可変長コードで定義されることになる。その際、使用回数の多いパターン情報ほど少ないビット数で定義されているので、変換された所定の領域内のデータに使用するビット数を低減することができる。   With this configuration, in the second table, the binary variable length code has a smaller value as the pattern information is used more frequently. Smaller values require fewer bits. Then, data in a predetermined area is converted in a predetermined format using a variable length code. Therefore, the converted data in the predetermined area is defined by variable length codes for each pattern information. At this time, since the pattern information having a larger number of uses is defined with a smaller number of bits, the number of bits used for the converted data in the predetermined area can be reduced.

また、変換された所定の領域内のデータは、各パターン情報の可変長コードが連続するデータを含むと好適である。   Moreover, it is preferable that the converted data in the predetermined area includes data in which the variable length code of each pattern information is continuous.

本発明の他の態様の描画装置は、
所定の領域内のデータが、定義された複数のパターンの各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードで作成された描画データを記憶する記憶部と、
所定の領域内のデータを復元する復元部と、
復元されたデータを基に、試料に複数のパターンを描画する描画部と、
を備えたことを特徴とする。
A drawing apparatus according to another aspect of the present invention includes:
A drawing created with a binary variable-length code in which each pattern information is encrypted so that the data in a predetermined area has a smaller value as the pattern information of a plurality of defined patterns and the pattern information with a higher number of uses. A storage unit for storing data;
A restoration unit for restoring data in a predetermined area;
A drawing unit for drawing a plurality of patterns on the sample based on the restored data;
It is provided with.

かかる構成により、使用回数の多いパターン情報ほど2進数の可変長コードが小さい値となる。小さい値ほど使用するビット数は少なくて済む。そのため、描画装置に入力される描画データは、所定の領域内のデータに使用するビット数が低減されている。   With this configuration, the pattern information that is used more frequently has a smaller binary variable length code. Smaller values require fewer bits. For this reason, the number of bits used for drawing data input to the drawing apparatus for data in a predetermined area is reduced.

本発明の一態様の描画データの変換方法は、
描画データを入力する工程と、
描画データを基に、定義された複数のパターンの図形コードとアレイフラグとアレイ個数とアレイピッチの少なくとも1つを含むパターン情報を取得する工程と、
所定の領域毎に、取得された複数のパターン情報を基に、各パターン情報と各パターン情報の使用回数とを関連させた第1のテーブルを作成する工程と、
第1のテーブルを基に、ハフマンツリーを作成する工程と、
ハフマンツリーを基に、各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードとを関連させた第2のテーブルを作成する工程と、
第2のテーブルを基に、可変長コードを用いた所定のフォーマットで、描画データに定義される所定の領域内のデータを変換する工程と、
変換された所定の領域内のデータを記憶する工程と、
を備えたことを特徴とする。
The drawing data conversion method of one embodiment of the present invention includes:
Inputting drawing data; and
Acquiring pattern information including at least one of a graphic code, an array flag, the number of arrays, and an array pitch of a plurality of defined patterns based on drawing data;
Creating a first table that associates each piece of pattern information with the number of uses of each piece of pattern information based on a plurality of pieces of acquired pattern information for each predetermined region;
Creating a Huffman tree based on the first table;
Creating a second table based on the Huffman tree and associating each pattern information with a binary variable-length code obtained by encrypting each pattern information so that the pattern information having a larger number of uses has a smaller value; ,
Converting the data in a predetermined area defined in the drawing data in a predetermined format using a variable length code based on the second table;
Storing the converted data in the predetermined area;
It is provided with.

本発明の一態様の描画方法は、
所定の領域内のデータが、定義された複数のパターンの各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードで作成された描画データを入力する工程と、
所定の領域内のデータを復元する工程と、
復元されたデータを基に、試料に複数のパターンを描画する工程と、
を備えたことを特徴とする。
The drawing method of one embodiment of the present invention includes:
A drawing created with a binary variable-length code in which each pattern information is encrypted so that the data in a predetermined area has a smaller value as the pattern information of a plurality of defined patterns and the pattern information with a higher number of uses. Inputting data,
Restoring the data in a predetermined area;
Drawing a plurality of patterns on the sample based on the restored data;
It is provided with.

本発明によれば、使用回数の多いパターン情報ほど少ないビット数で定義されているので、全体の使用ビット数を大幅に低減することができる。よって、データサイズを大幅に小さくすることができる。その結果、描画時間を短縮させ、装置のスループットを向上させることができる。また、全体の使用ビット数が大幅に低減される描画データを入力するので転送時間を大幅に短縮することができる。   According to the present invention, since the pattern information having a larger number of uses is defined with a smaller number of bits, the total number of used bits can be greatly reduced. Therefore, the data size can be greatly reduced. As a result, the drawing time can be shortened and the throughput of the apparatus can be improved. In addition, since drawing data for which the total number of used bits is greatly reduced is input, the transfer time can be greatly shortened.

以下、実施の形態では、荷電粒子ビームの一例として、電子ビームを用いた構成について説明する。但し、荷電粒子ビームは、電子ビームに限るものではなく、イオンビーム等の荷電粒子を用いたビームでも構わない。また、荷電粒子ビーム装置の一例として、荷電粒子ビーム描画装置、特に、可変成形型の電子ビーム描画装置について説明する。   Hereinafter, in the embodiment, a configuration using an electron beam will be described as an example of a charged particle beam. However, the charged particle beam is not limited to an electron beam, and a beam using charged particles such as an ion beam may be used. As an example of the charged particle beam apparatus, a charged particle beam drawing apparatus, particularly, a variable shaping type electron beam drawing apparatus will be described.

実施の形態1.
実施の形態1では、アレイ定義された図形データが無い場合について説明する。例えば、各図形が、図形コード、図形サイズ及び図形座標の各パターン情報で定義される場合について説明する。
Embodiment 1 FIG.
In the first embodiment, a case where there is no array-defined graphic data will be described. For example, a case where each figure is defined by each pattern information of a figure code, a figure size, and a figure coordinate will be described.

図1は、実施の形態1における描画装置の構成を示す概念図である。
図1において、描画装置100は、電子ビーム描画装置の一例である。描画装置100は、試料101に複数の図形から構成されるパターンを描画する。試料101には、半導体装置を製造する際にリフォグラフィ工程で用いるためのマスクが含まれる。描画装置100は、描画部150と制御部160を備えている。描画部150は、描画室103と描画室103の上部に配置された電子鏡筒102を備えている。電子鏡筒102内には、電子銃201、照明レンズ202、第1のアパーチャ203、投影レンズ204、偏向器205、第2のアパーチャ206、対物レンズ207、及び偏向器208が配置されている。そして、描画室103内には、XYステージ105が配置され、XYステージ105上に描画対象となる試料101が配置される。制御部160は、磁気ディスク装置110,116,122,126、データ処理部112、メモリ114,120,128、制御計算機118、ショットデータ生成部124、及び描画制御部130を有している。そして、磁気ディスク装置110,116,122,126、データ処理部112、メモリ114,120,128、制御計算機118、ショットデータ生成部124、及び描画制御部130は、図示していないバスにより互いに接続されている。制御計算機118内には、ブロック分割部40、セル配置部42、クラスタ分割部44、パターン分割部46、パターンデータ記録部48、累積テーブル作成部50、ハフマンツリー作成部52、ハフマンテーブル作成部54、及びフォーマット変換部56が配置されている。磁気ディスク装置110,116,122,126及びメモリ114,120,128は、記憶部或いは記憶装置の一例となる。また、外部の磁気ディスク装置500に描画データが格納されている。
FIG. 1 is a conceptual diagram illustrating a configuration of a drawing apparatus according to the first embodiment.
In FIG. 1, a drawing apparatus 100 is an example of an electron beam drawing apparatus. The drawing apparatus 100 draws a pattern composed of a plurality of figures on the sample 101. The sample 101 includes a mask for use in a lithography process when manufacturing a semiconductor device. The drawing apparatus 100 includes a drawing unit 150 and a control unit 160. The drawing unit 150 includes a drawing chamber 103 and an electronic lens barrel 102 disposed on the upper portion of the drawing chamber 103. In the electron column 102, an electron gun 201, an illumination lens 202, a first aperture 203, a projection lens 204, a deflector 205, a second aperture 206, an objective lens 207, and a deflector 208 are arranged. An XY stage 105 is arranged in the drawing chamber 103, and a sample 101 to be drawn is arranged on the XY stage 105. The control unit 160 includes magnetic disk devices 110, 116, 122, 126, a data processing unit 112, memories 114, 120, 128, a control computer 118, a shot data generation unit 124, and a drawing control unit 130. The magnetic disk devices 110, 116, 122, 126, the data processing unit 112, the memories 114, 120, 128, the control computer 118, the shot data generation unit 124, and the drawing control unit 130 are connected to each other by a bus (not shown). Has been. In the control computer 118, a block division unit 40, a cell arrangement unit 42, a cluster division unit 44, a pattern division unit 46, a pattern data recording unit 48, a cumulative table creation unit 50, a Huffman tree creation unit 52, and a Huffman table creation unit 54 , And a format conversion unit 56 are arranged. The magnetic disk devices 110, 116, 122, and 126 and the memories 114, 120, and 128 are examples of storage units or storage devices. In addition, drawing data is stored in the external magnetic disk device 500.

ここで、ブロック分割部40、セル配置部42、クラスタ分割部44、パターン分割部46、パターンデータ記録部48、累積テーブル作成部50、ハフマンツリー作成部52、ハフマンテーブル作成部54、及びフォーマット変換部56は、プログラムを実行させるCPU等の計算機で実行される各処理機能として構成してもよい。或いは、ブロック分割部40、セル配置部42、クラスタ分割部44、パターン分割部46、パターンデータ記録部48、累積テーブル作成部50、ハフマンツリー作成部52、ハフマンテーブル作成部54、及びフォーマット変換部56の各構成を電気的な回路によるハードウェアにより構成してもよい。或いは、電気的な回路によるハードウェアとソフトウェアとの組合せにより実施させても構わない。或いは、かかるハードウェアとファームウェアとの組合せでも構わない。また、ソフトウェアにより、或いはソフトウェアとの組合せにより実施させる場合には、処理を実行する計算機に入力される情報或いは演算処理中及び処理後の各情報はその都度メモリ120に記憶される。同様に、データ処理部112或いはショットデータ生成部124についてもプログラムを実行させるCPU等の計算機として構成してもよい。或いは、各内部処理構成を電気的な回路によるハードウェアにより構成してもよい。或いは、電気的な回路によるハードウェアとソフトウェアとの組合せにより実施させても構わない。或いは、かかるハードウェアとファームウェアとの組合せでも構わない。また、ソフトウェアにより、或いはソフトウェアとの組合せにより実施させる場合には、処理を実行する計算機に入力される情報或いは演算処理中及び処理後の各情報は、データ処理部112についてはその都度メモリ114に、ショットデータ生成部124についてはその都度メモリ128に記憶される。   Here, the block division unit 40, the cell arrangement unit 42, the cluster division unit 44, the pattern division unit 46, the pattern data recording unit 48, the cumulative table creation unit 50, the Huffman tree creation unit 52, the Huffman table creation unit 54, and the format conversion The unit 56 may be configured as each processing function executed by a computer such as a CPU that executes a program. Alternatively, the block division unit 40, the cell arrangement unit 42, the cluster division unit 44, the pattern division unit 46, the pattern data recording unit 48, the cumulative table creation unit 50, the Huffman tree creation unit 52, the Huffman table creation unit 54, and the format conversion unit Each of the 56 configurations may be configured by hardware using an electric circuit. Or you may make it implement by the combination of the hardware and software by an electrical circuit. Alternatively, a combination of such hardware and firmware may be used. Further, in the case of implementation by software or in combination with software, information input to a computer that executes processing or information during and after arithmetic processing is stored in the memory 120 each time. Similarly, the data processing unit 112 or the shot data generation unit 124 may be configured as a computer such as a CPU that executes a program. Alternatively, each internal processing configuration may be configured by hardware using an electric circuit. Or you may make it implement by the combination of the hardware and software by an electrical circuit. Alternatively, a combination of such hardware and firmware may be used. In addition, when it is implemented by software or in combination with software, information input to a computer for executing processing or information during and after arithmetic processing is stored in the memory 114 for each time for the data processing unit 112. The shot data generation unit 124 is stored in the memory 128 each time.

また、データ処理部112、制御計算機118、或いはショットデータ生成部124は、それぞれ1つの計算機で構成してもよいし、複数の計算機で構成してもよい。それぞれ複数の計算機で構成することで、並列処理を行なうことができる。並列処理を行なえば、処理速度を速くすることができる。   Further, each of the data processing unit 112, the control computer 118, or the shot data generation unit 124 may be composed of one computer or a plurality of computers. By configuring each computer with a plurality of computers, parallel processing can be performed. If parallel processing is performed, the processing speed can be increased.

図1では、本実施の形態1を説明する上で必要な構成部分について記載している。描画装置100にとって、通常、必要なその他の構成が含まれても構わないことは言うまでもない。   In FIG. 1, constituent parts necessary for explaining the first embodiment are described. Needless to say, the drawing apparatus 100 may normally include other necessary configurations.

図2は、実施の形態1における描画データの階層構造の一例を示す図である。
描画データでは、描画領域が、チップ10の層、チップ領域を例えばy方向に向かって短冊状に仮想分割したストライプ20の層、ストライプ20を分割したブロック30の層、少なくとも1つ以上の図形で構成されるセル32の層、セル32を分割したクラスタ34の層、クラスタ34内に配置され、セル32を構成する図形36(パターン)の層といった一連の複数の内部構成単位ごとに階層化されている。また、1つの試料101の描画領域に対して複数のチップがレイアウトされていることが一般的である。そのため、後述するデータ処理部112において、チップマージ処理が行なわれ、図2に示すようなマージ後の階層が構成される。尚、ここではストライプ20についてチップ領域をy方向に向かって短冊状に分割した領域としてあるが、これは一例であり、描画面と平行しy方向と直交するx方向に分割する場合もありうる。或いは描画面と平行するその他の方向であっても構わない。
FIG. 2 is a diagram illustrating an example of a hierarchical structure of drawing data according to the first embodiment.
In the drawing data, the drawing area is a layer of the chip 10, a layer of the stripe 20 virtually divided into strips in the y direction, for example, a layer of the block 30 into which the stripe 20 is divided, and at least one figure. A layer of a plurality of internal structural units such as a layer of the cell 32 configured, a layer of a cluster 34 obtained by dividing the cell 32, and a layer of a graphic 36 (pattern) constituting the cell 32 are hierarchized. ing. In general, a plurality of chips are laid out for a drawing region of one sample 101. Therefore, chip merge processing is performed in the data processing unit 112 described later, and a post-merging hierarchy as shown in FIG. 2 is configured. In this example, the chip area of the stripe 20 is divided into strips in the y direction. However, this is an example, and the chip area may be divided in the x direction parallel to the drawing surface and perpendicular to the y direction. . Alternatively, other directions parallel to the drawing surface may be used.

図3は、実施の形態1における描画方法を示すフローチャート図である。
上述したように、電子ビーム描画を行なうにあたっては、まず、半導体集積回路のレイアウトが設計される。そして、パターンレイアウトが定義されたレイアウトデータ(設計データ)が生成される。そして、レイアウトデータが変換され、描画装置100に適応した描画データが生成される。そして、描画データは、磁気ディスク装置500から読み出され、描画装置100に入力される。描画装置100内では、磁気ディスク装置110に描画データが格納される。そして、後述するように複数のデータ処理の後、描画する際のショットデータとして生成される。
FIG. 3 is a flowchart showing the drawing method according to the first embodiment.
As described above, when performing electron beam drawing, first, the layout of a semiconductor integrated circuit is designed. Then, layout data (design data) in which the pattern layout is defined is generated. Then, the layout data is converted, and drawing data adapted to the drawing apparatus 100 is generated. The drawing data is read from the magnetic disk device 500 and input to the drawing device 100. In the drawing apparatus 100, drawing data is stored in the magnetic disk device 110. Then, as will be described later, after a plurality of data processing, it is generated as shot data for drawing.

S(ステップ)102において、データ処理工程として、データ処理部112は、磁気ディスク装置110から複数のチップのそれぞれの描画データを読み出し、入力する。そして、データ処理部112は、描画装置100の描画領域内に再配置して、チップマージ処理を行なう。また、データ処理部112は、その他に、ミラーリングやスケーリング処理といったデータ処理を行なっても構わない。そして、これらの処理が実行された後の描画データは、磁気ディスク装置116に格納される。   In S (step) 102, as a data processing step, the data processing unit 112 reads and inputs drawing data of each of the plurality of chips from the magnetic disk device 110. Then, the data processing unit 112 rearranges in the drawing area of the drawing apparatus 100 and performs chip merge processing. In addition, the data processing unit 112 may perform other data processing such as mirroring and scaling processing. Then, the drawing data after these processes are executed is stored in the magnetic disk device 116.

S104において、ブロック分割工程として、ブロック分割部40は、上段の工程でデータ処理された描画データを展開して、チップ10或いは各ストライプ20を図2で示したような複数のブロック30に仮想分割する。   In S104, as the block dividing step, the block dividing unit 40 expands the drawing data processed in the upper step, and virtually divides the chip 10 or each stripe 20 into a plurality of blocks 30 as shown in FIG. To do.

S106において、セル配置工程として、セル配置部42は、描画データをさらに展開して、各ブロック30内にレイアウトされたセル32を配置する。   In S106, as a cell placement step, the cell placement unit 42 further expands the drawing data and places the cells 32 laid out in each block 30.

S108において、クラスタ分割工程として、クラスタ分割部44は、描画データをさらに展開して、各セル32を図2で示したような複数のクラスタ34に仮想分割する。   In S108, as a cluster dividing step, the cluster dividing unit 44 further expands the drawing data and virtually divides each cell 32 into a plurality of clusters 34 as shown in FIG.

S110において、パターン分割工程として、パターン分割部46は、描画データをさらに展開して、各クラスタ34を各クラスタ34内にレイアウトされた図2で示したような複数の図形36(パターン)に分割する。パターン分割部46は、パターン分割することで、各クラスタ34内の図形36の図形数、図形種類、図形サイズ(L,M)、及び配置座標(X,Y)といったパターンデータ(パターン情報)を取得することができる。よって、パターン分割部46は、描画データを基に、定義されたパターンの情報を取得することができる。すなわち、パターン分割部46は、取得部の一例となる。   In S110, as a pattern dividing step, the pattern dividing unit 46 further develops the drawing data and divides each cluster 34 into a plurality of figures 36 (patterns) as shown in FIG. To do. The pattern division unit 46 divides the pattern to obtain pattern data (pattern information) such as the number of figures 36 in each cluster 34, the figure type, the figure size (L, M), and the arrangement coordinates (X, Y). Can be acquired. Therefore, the pattern dividing unit 46 can acquire information on the defined pattern based on the drawing data. That is, the pattern division unit 46 is an example of an acquisition unit.

S112において、パターンデータ記録工程として、パターンデータ記録部48は、クラスタ34毎に、得られた図形36の図形数、図形種類、図形サイズ(L,M)、及び配置座標(X,Y)といったパターンデータをメモリ120に記録(格納)する。   In S112, as a pattern data recording process, the pattern data recording unit 48, for each cluster 34, includes the figure number, figure type, figure size (L, M), and arrangement coordinates (X, Y) of the figure 36 obtained. The pattern data is recorded (stored) in the memory 120.

S114において、累積テーブル作成工程として、累積テーブル作成部50は、クラスタ34毎に、取得された複数のパターン情報を基に、各パターン情報と各パターン情報の使用回数とを関連させた累積テーブル(第1のテーブル)を作成する。累積テーブル作成部50は、第1のテーブル作成部の一例となる。作成された累積テーブルは、メモリ120に格納される。   In S114, as a cumulative table creation step, the cumulative table creation unit 50 creates a cumulative table (for each cluster 34) that associates each piece of pattern information with the number of times each piece of pattern information is used based on a plurality of pieces of obtained pattern information. First table) is created. The cumulative table creation unit 50 is an example of a first table creation unit. The created cumulative table is stored in the memory 120.

図4は、実施の形態1における累積テーブルの一例を示す図である。
図4において、累積テーブル60は、図形コード、図形サイズ(M,L)及び図形座標(x,y)の各値とその値の使用回数とを関連させて定義する。ここでは、クラスタ34に配置されるすべての図形パターンについて、図形コード、図形サイズの幅値M、図形サイズの高さ値L、図形座標(x,y)のx値、或いは図形座標(x,y)のy値が、0x11となる回数をカウントして定義する。但し、実際には、図形サイズの幅値M、図形サイズの高さ値L、図形座標(x,y)のx値、或いは図形座標(x,y)のy値が、0x11とはなりえないので、クラスタ34に配置されるすべての図形パターンのうち、0x11となる図形コードを有する図形パターンの数だけ累積加算される。ここでは、一例として、累積された使用回数が110回の場合を示している。同様に、図形コード、図形サイズの幅値M、図形サイズの高さ値L、図形座標(x,y)のx値、或いは図形座標(x,y)のy値が、0.1となる回数をカウントして定義する。ここでは、累積された使用回数が例えば50回の場合を示している。同様に、0.2となる回数をカウントして定義する。ここでは、累積された使用回数が例えば10回の場合を示している。同様に、0.3となる回数をカウントして定義する。ここでは、累積された使用回数が例えば10回の場合を示している。同様に、0.4となる回数をカウントして定義する。ここでは、累積された使用回数が例えば20回の場合を示している。同様に、0.5となる回数をカウントして定義する。ここでは、累積された使用回数が例えば25回の場合を示している。また、後述するように、1つのクラスタ34内の図形コード、図形サイズの幅値M、図形サイズの高さ値L、図形座標(x,y)のx値、及び図形座標(x,y)のy値のデータは、一連の連続コードで定義される。そのため、一連のデータの終わりを示すEOS(End Of Stream)が特別マークとして示されている。
FIG. 4 is a diagram illustrating an example of the accumulation table in the first embodiment.
In FIG. 4, the accumulation table 60 defines each value of the figure code, the figure size (M, L), and the figure coordinates (x, y) and the number of times the value is used in association with each other. Here, for all graphic patterns arranged in the cluster 34, the graphic code, the graphic size width value M, the graphic size height value L, the graphic coordinate (x, y) x value, or the graphic coordinates (x, This is defined by counting the number of times the y value of y) becomes 0x11. However, in practice, the width value M of the graphic size, the height value L of the graphic size, the x value of the graphic coordinates (x, y), or the y value of the graphic coordinates (x, y) can be 0x11. Therefore, the cumulative addition is performed by the number of graphic patterns having a graphic code of 0x11 among all graphic patterns arranged in the cluster 34. Here, as an example, a case where the accumulated use count is 110 times is shown. Similarly, the figure code, figure size width value M, figure size height value L, figure coordinate (x, y) x value, or figure coordinate (x, y) y value is 0.1. Define by counting the number of times. Here, a case where the accumulated number of uses is, for example, 50 times is shown. Similarly, the number of times of 0.2 is counted and defined. Here, a case where the accumulated number of uses is, for example, 10 is shown. Similarly, the number of times of 0.3 is counted and defined. Here, a case where the accumulated number of uses is, for example, 10 is shown. Similarly, the number of times of 0.4 is counted and defined. Here, a case where the accumulated number of uses is, for example, 20 is shown. Similarly, the number of times of 0.5 is counted and defined. Here, a case where the accumulated number of uses is, for example, 25 is shown. Further, as will be described later, the figure code in one cluster 34, the figure size width value M, the figure size height value L, the x value of figure coordinates (x, y), and the figure coordinates (x, y). The y-value data is defined by a series of continuous codes. Therefore, EOS (End Of Stream) indicating the end of a series of data is shown as a special mark.

図5は、実施の形態1における使用回数のカウントの仕方を説明するための一例を示す概念図である。
図5では、クラスタ34の基準位置から座標(0.5,0.4)の位置に、幅0.5、高さ0.4の図形が配置されている場合を示している。それぞれの単位はAUとする。この場合、値0.4が2回、値0.5が2回それぞれ使用されている回数として累積テーブル60に定義されることになる。累積テーブル60では、クラスタ34内に配置される全ての図形について同様に回数をカウントし、その累積値を定義する。
FIG. 5 is a conceptual diagram showing an example for explaining how to count the number of times of use in the first embodiment.
FIG. 5 shows a case where a figure having a width of 0.5 and a height of 0.4 is arranged at a position of coordinates (0.5, 0.4) from the reference position of the cluster. Each unit is AU. In this case, the value 0.4 is defined twice in the accumulation table 60 as the number of times the value 0.4 is used twice. In the accumulation table 60, the number of times is similarly counted for all the figures arranged in the cluster 34, and the accumulated value is defined.

S116において、ハフマンツリー作成工程として、ハフマンツリー作成部52は、累積テーブル60をメモリ120から読み出し、累積テーブル60を基に、ハフマンツリーを作成する。作成されたハフマンツリーは、メモリ120に格納される。   In S116, as a Huffman tree creation step, the Huffman tree creation unit 52 reads the accumulation table 60 from the memory 120, and creates a Huffman tree based on the accumulation table 60. The created Huffman tree is stored in the memory 120.

図6は、図4の累積テーブルに対応するハフマンツリーの一例を示す図である。
図6において、ハフマンツリー70は、最上位のレベル1の階層にルートノード72、レベル2の階層に葉ノード74,76、レベル3の階層に葉ノード78,80、レベル4の階層に葉ノード82,84、レベル5の階層に葉ノード86,88、レベル6の階層に葉ノード90,92、レベル7の階層に葉ノード95,96が配置される。レベル1の階層に配置されるルートノード72がハフマンツリー70の最初を構成する。このルートノード72には2つのレベル1の枝が接続される。一方のレベル1の枝の先端には、特別マークのEOSを示す葉ノード76が配置される。2進数の「1」はこの枝に定義される。他方のレベル1の枝の先端には、レベル2の階層の葉ノード74が配置される。2進数の「0」はこの枝に定義される。葉ノード74には2つのレベル2の枝が接続される。一方のレベル2の枝の先端には、レベル3の階層の葉ノード78が配置される。2進数の「0」はこの枝に定義される。他方のレベル2の枝の先端には、使用回数が最も多いパターン情報値の葉ノード80が配置される。2進数の「1」はこの枝に定義される。葉ノード78には2つのレベル3の枝が接続される。一方のレベル3の枝の先端には、レベル4の階層の葉ノード82が配置される。2進数の「0」はこの枝に定義される。他方のレベル3の枝の先端には、使用回数が2番目に多いパターン情報値の葉ノード84が配置される。2進数の「1」はこの枝に定義される。葉ノード82には2つのレベル4の枝が接続される。一方のレベル4の枝の先端には、レベル5の階層の葉ノード86が配置される。2進数の「0」はこの枝に定義される。他方のレベル4の枝の先端には、使用回数が3番目に多いパターン情報値の葉ノード88が配置される。2進数の「1」はこの枝に定義される。葉ノード86には2つのレベル5の枝が接続される。一方のレベル5の枝の先端には、レベル6の階層の葉ノード90が配置される。2進数の「0」はこの枝に定義される。他方のレベル5の枝の先端には、使用回数が4番目に多いパターン情報値の葉ノード92が配置される。2進数の「1」はこの枝に定義される。葉ノード90には2つのレベル6の枝が接続される。一方のレベル6の枝の先端には、使用回数が5番目に多いパターン情報値の葉ノード95がレベル7の階層として配置される。2進数の「0」はこの枝に定義される。他方のレベル6の枝の先端には、使用回数が同様に5番目に多いパターン情報値の葉ノード96がレベル7の階層として配置される。2進数の「1」はこの枝に定義される。また、葉ノード74,78,82,86,90には、各自より下位の階層に配置された葉ノードのパターン情報値の使用回数の合計値が定義されている。このように、ハフマンツリー70は、使用回数の少ない下位2つのパターン情報値を最下位の階層レベルの2つの葉ノードとし、使用回数の多いパターン情報値をより上位の階層レベルの葉ノードとしてツリーを構成する。
FIG. 6 is a diagram illustrating an example of a Huffman tree corresponding to the accumulation table of FIG.
In FIG. 6, a Huffman tree 70 has a root node 72 in the highest level 1 hierarchy, leaf nodes 74 and 76 in the level 2 hierarchy, leaf nodes 78 and 80 in the level 3 hierarchy, and leaf nodes in the level 4 hierarchy. 82 and 84, leaf nodes 86 and 88 are arranged in the level 5 hierarchy, leaf nodes 90 and 92 are arranged in the level 6 hierarchy, and leaf nodes 95 and 96 are arranged in the level 7 hierarchy. A root node 72 arranged in the level 1 hierarchy forms the first part of the Huffman tree 70. Two root 1 branches are connected to the root node 72. A leaf node 76 indicating the EOS of the special mark is arranged at the tip of one level 1 branch. The binary number “1” is defined in this branch. The leaf node 74 of the level 2 hierarchy is arranged at the tip of the other level 1 branch. The binary number “0” is defined in this branch. Two level 2 branches are connected to the leaf node 74. A leaf node 78 in the level 3 hierarchy is arranged at the tip of one level 2 branch. The binary number “0” is defined in this branch. At the tip of the other level 2 branch, a leaf node 80 of the pattern information value that is used most frequently is arranged. The binary number “1” is defined in this branch. Two level 3 branches are connected to the leaf node 78. A leaf node 82 of the level 4 hierarchy is arranged at the tip of one level 3 branch. The binary number “0” is defined in this branch. At the tip of the other level 3 branch, a leaf node 84 having the second most frequently used pattern information value is arranged. The binary number “1” is defined in this branch. Two level 4 branches are connected to the leaf node 82. A leaf node 86 of the level 5 hierarchy is arranged at the tip of one level 4 branch. The binary number “0” is defined in this branch. At the tip of the other level 4 branch, a leaf node 88 of the pattern information value having the third largest number of uses is arranged. The binary number “1” is defined in this branch. Two level 5 branches are connected to the leaf node 86. A leaf node 90 in the level 6 hierarchy is placed at the tip of one level 5 branch. The binary number “0” is defined in this branch. At the tip of the other level 5 branch, a leaf node 92 of the pattern information value having the fourth largest number of uses is arranged. The binary number “1” is defined in this branch. Two level 6 branches are connected to the leaf node 90. At the tip of one level 6 branch, a leaf node 95 of the pattern information value having the fifth highest number of uses is arranged as a level 7 hierarchy. The binary number “0” is defined in this branch. At the tip of the other level 6 branch, a leaf node 96 of the pattern information value that is the fifth most frequently used is arranged as a level 7 hierarchy. The binary number “1” is defined in this branch. In addition, the leaf nodes 74, 78, 82, 86, and 90 define the total number of times of use of the pattern information values of the leaf nodes arranged in the lower hierarchy than the respective nodes. In this way, the Huffman tree 70 is a tree in which the lower two pattern information values that are used less frequently are the two leaf nodes at the lowest hierarchy level, and the pattern information value that is used more frequently are the leaf nodes at the higher hierarchy level. Configure.

S118において、ハフマンテーブル作成工程として、ハフマンテーブル作成部54は、ハフマンツリー70をメモリ120から読み出し、ハフマンツリー70を基に、各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードとを関連させたハフマンテーブル(第2のテーブル)を作成する。ハフマンテーブル作成部54は、第2のテーブル作成部の一例となる。作成されたハフマンテーブルは、メモリ120に格納される。   In S118, as a Huffman table creation step, the Huffman table creation unit 54 reads the Huffman tree 70 from the memory 120, and based on the Huffman tree 70, each pattern information and pattern information with a higher number of uses are set to smaller values. A Huffman table (second table) is created in association with binary variable length codes obtained by encrypting pattern information. The Huffman table creation unit 54 is an example of a second table creation unit. The created Huffman table is stored in the memory 120.

図7は、図6のハフマンツリーに対応するハフマンテーブルの一例を示す図である。
図7において、ハフマンテーブル94は、各パターン情報値と2進数の可変長コードとを関連させて定義している。上述したハフマンツリー70は、次のように可変長コードを決定させる。使用回数が最も多いパターン情報値「0x11」の葉ノード80に達するためには、ルートノード72から2進数の「0」の枝と「1」の枝を1つずつ通らなければならない。よって、値「0x11」のコードは、2ビットの「01」となる。使用回数が2番目に多いパターン情報値「0.1」の葉ノード84に達するためには、ルートノード72から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「1」のレベル3の枝とを通らなければならない。よって、値「0.1」のコードは、3ビットの「001」となる。使用回数が3番目に多いパターン情報値「0.5」の葉ノード88に達するためには、ルートノード72から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「0」のレベル3の枝と2進数の「1」のレベル4の枝とを通らなければならない。よって、値「0.5」のコードは、4ビットの「0001」となる。使用回数が4番目に多いパターン情報値「0.4」の葉ノード92に達するためには、ルートノード72から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「0」のレベル3の枝と2進数の「0」のレベル4の枝と2進数の「1」のレベル5の枝とを通らなければならない。よって、値「0.4」のコードは、5ビットの「00001」となる。使用回数が5番目に多いパターン情報値「0.2」の葉ノード95に達するためには、ルートノード72から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「0」のレベル3の枝と2進数の「0」のレベル4の枝と2進数の「0」のレベル5の枝と2進数の「0」のレベル6の枝とを通らなければならない。よって、値「0.2」のコードは、6ビットの「000000」となる。また、同様に使用回数が5番目に多いパターン情報値「0.3」の葉ノード96に達するためには、ルートノード72から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「0」のレベル3の枝と2進数の「0」のレベル4の枝と2進数の「0」のレベル5の枝と2進数の「1」のレベル6の枝とを通らなければならない。よって、値「0.3」のコードは、6ビットの「000001」となる。このように、使用回数の多いパターン情報ほど2進数の可変長コードが小さい値となるように暗号化される。すなわち、使用回数の多いパターン情報ほど少ないビット数の値とすることができる。また、特別マークであるEOSのコードは、例外的に使用回数に関わらず1ビットの「1」と定義する。そして、得られた各パターン情報と可変長コードとが関連したハフマンテーブル94が作成される。
FIG. 7 is a diagram illustrating an example of a Huffman table corresponding to the Huffman tree of FIG.
In FIG. 7, the Huffman table 94 defines each pattern information value in association with a binary variable length code. The Huffman tree 70 described above determines a variable length code as follows. In order to reach the leaf node 80 of the pattern information value “0x11” having the largest number of uses, the root node 72 must pass through the binary “0” branch and the “1” branch one by one. Therefore, the code of the value “0x11” becomes “01” of 2 bits. In order to reach the leaf node 84 having the second most frequently used pattern information value “0.1”, a level 1 branch of binary “0” and a level 2 of binary “0” from the root node 72 are used. And the binary "1" level 3 branch. Therefore, the code of the value “0.1” becomes “001” of 3 bits. In order to reach the leaf node 88 with the third most frequently used pattern information value “0.5”, a level 1 branch of binary “0” and a level 2 of binary “0” from the root node 72. And the binary "0" level 3 branch and the binary "1" level 4 branch. Therefore, the code of the value “0.5” becomes “0001” of 4 bits. In order to reach the leaf node 92 having the fourth most frequently used pattern information value “0.4”, a level 1 branch of binary “0” and a level 2 of binary “0” from the root node 72 are used. And a binary "0" level 3 branch, a binary "0" level 4 branch, and a binary "1" level 5 branch. Therefore, the code of the value “0.4” becomes “00001” of 5 bits. In order to reach the leaf node 95 with the fifth most frequently used pattern information value “0.2”, a level 1 branch of binary “0” and a level 2 of binary “0” from the root node 72 are used. Branch, binary "0" level 3 branch, binary "0" level 4 branch, binary "0" level 5 branch and binary "0" level 6 branch Must pass through. Therefore, the code of the value “0.2” is 6 bits “000000”. Similarly, in order to reach the leaf node 96 having the fifth most frequently used pattern information value “0.3”, the level “1” branch of binary “0” and the binary “0” from the root node 72 are used. Level 2 branch of binary "0", Level 3 branch of binary "0", Level 4 branch of binary "0", Level 5 branch of binary "0" and Binary "1" You must go through level 6 branches. Therefore, the code of the value “0.3” is 6 bits “000001”. In this way, the pattern information having a larger number of uses is encrypted such that the binary variable length code has a smaller value. That is, the pattern information having a larger number of uses can be set to a value having a smaller number of bits. The EOS code as a special mark is exceptionally defined as 1 bit “1” regardless of the number of times of use. Then, a Huffman table 94 in which each obtained pattern information is associated with the variable length code is created.

S120において、フォーマット変換工程として、フォーマット変換部56は、ハフマンテーブル94を読み出し、ハフマンテーブル94を基に、可変長コードを用いた所定のフォーマットで、描画データに定義される所定の領域内のデータを変換する。描画データをフォーマット変換することで、ショットデータへと変換される前段階となる中間データを生成することができる。   In S120, as the format conversion step, the format conversion unit 56 reads the Huffman table 94, and based on the Huffman table 94, the data in a predetermined area defined in the drawing data in a predetermined format using a variable length code. Convert. By converting the format of the drawing data, it is possible to generate intermediate data that is a stage before being converted into shot data.

図8は、実施の形態1における中間データの一例を示す図である。
図8において、生成された中間データ12では、ストライプヘッダに続き、ストライブ番号、当該ストライプ内に位置するブロックデータについてのブロックヘッダ、ブロック番号が定義される。そして、ブロック番号に続き、当該ブロック内に配置されるセルデータについてのセルヘッダ、セル番号、当該セル内に配置されるクラスタデータについてのクラスタヘッダ、クラスタ番号が定義される。そして、クラスタ番号に続き、クラスタ34内に配置される第1番目の図形62について、図形コードと図形サイズ(L,M)と図形座標(x、y)が定義される。そして、第1番目の図形のデータに続き、同じクラスタ34内に配置される第2番目の図形62について、図形コード、図形サイズ(L,M)及び図形座標(X,Y)がデータに区切れなく連続して定義される。このようにして1つのクラスタ34内の全ての図形について定義した後に、次のクラスタ34のクラスタヘッダ、クラスタ番号が続いて定義される。以下、同様に、定義される。ここで、図形コード、図形サイズ(L,M)及び図形座標(X,Y)は、ハフマンテーブル94から各コードを読み出し、同じクラスタ34内に配置されるすべての図形62についての各コードをつなげて一連の連続コードとして定義する。
FIG. 8 is a diagram illustrating an example of intermediate data in the first embodiment.
In FIG. 8, in the generated intermediate data 12, a stripe number, a block header for a block data located in the stripe, and a block number are defined following the stripe header. Then, following the block number, a cell header and cell number for cell data arranged in the block, and a cluster header and cluster number for cluster data arranged in the cell are defined. Then, the graphic code, graphic size (L, M), and graphic coordinates (x, y) are defined for the first graphic 62 arranged in the cluster 34 following the cluster number. Then, following the data of the first graphic, the graphic code, graphic size (L, M), and graphic coordinates (X, Y) are divided into data for the second graphic 62 arranged in the same cluster 34. It is defined continuously without interruption. After defining all figures in one cluster 34 in this way, the cluster header and cluster number of the next cluster 34 are subsequently defined. The same is defined below. Here, the figure code, figure size (L, M), and figure coordinates (X, Y) are read from the Huffman table 94, and the codes for all figures 62 arranged in the same cluster 34 are connected. Defined as a series of continuous codes.

従来フォーマットでは、例えば、図形コードを定義するために、例えば、17ビット、図形サイズ(L,M)を定義するために、例えば、Lに17ビット、Mに17ビットが必要であり、座標(X,Y)を定義するために、例えば、Xに17ビット、Yに17ビットの計68ビットが必要であった。これに対し、図8の中間データ12では、図形コード、図形サイズ(L,M)のLとM、そして、座標(x,y)のxとyはそれぞれ可変長コードのビット値の合計となる。ここで、使用回数の最も多いパターン情報が、例えば、値「0x11」ならば、「01」の2ビットで済んでしまうことになる。そのため15ビットの削減効果が生じる。また、例えば、使用回数の2番目に多いパターン情報として値「0.1」ならば、「001」の3ビットである場合に、仮に、L,M,x,yが、すべて値「0.1」ならば、従来68ビットが必要であったところ12ビットで済んでしまうことになる。   In the conventional format, for example, in order to define a graphic code, for example, 17 bits, and in order to define a graphic size (L, M), for example, 17 bits for L and 17 bits for M are required. In order to define (X, Y), for example, a total of 68 bits, 17 bits for X and 17 bits for Y, were required. On the other hand, in the intermediate data 12 of FIG. 8, the figure code, L and M of the figure size (L, M), and x and y of the coordinates (x, y) are the sum of the bit values of the variable length code, respectively. Become. Here, if the most frequently used pattern information is, for example, the value “0x11”, two bits of “01” are sufficient. As a result, a reduction effect of 15 bits occurs. Further, for example, if the value “0.1” is used as the second most frequently used pattern information, if there are 3 bits “001”, all of L, M, x, and y have the values “0. If it is “1”, it would have been 12 bits where 68 bits were conventionally required.

例えば、1つのクラスタ34内に3000個の図形が配置されている場合、図形コード、L,M,x,yの各値は、合計で15000個使用されることになる。ハフマンツリーを用いれば、仮に全て使用回数が1回であったとしても最大長のコードのビット数は、従来の17ビットより小さくすることができる。実施の形態1では、使用回数の多いパターン情報ほど少ないビット数のコードとなるため、ビット数の低減効果は非常に大きいものとなる。   For example, when 3000 graphics are arranged in one cluster 34, 15000 graphics codes and values of L, M, x, and y are used in total. If the Huffman tree is used, the number of bits of the maximum length code can be made smaller than the conventional 17 bits even if the number of times of use is one. In the first embodiment, since the pattern information having a larger number of uses is a code having a smaller number of bits, the effect of reducing the number of bits is very large.

以上のようにして、変換された結果、ビット数が大幅に低減された各クラスタ内の中間データは、磁気ディスク装置122に記憶(格納)される。また、ハフマンテーブル94も磁気ディスク装置122に記憶(格納)される。   As described above, the intermediate data in each cluster whose number of bits is significantly reduced as a result of the conversion is stored (stored) in the magnetic disk device 122. A Huffman table 94 is also stored (stored) in the magnetic disk device 122.

S122において、ショットデータ生成工程として、ショットデータ生成部124は、磁気ディスク装置122から中間データとハフマンテーブル94を読み出し、ショットデータを生成する。その際、ショットデータ生成部124は、読み出した中間データに定義された図形コード、図形サイズ(L,M)及び図形座標(x、y)を定義する連続コードをハフマンテーブル94を参照して、元の数値に置き換えながら中間データを展開し、各図形をショット図形に分割すればよい。以上のようにして生成されたショットデータは磁気ディスク装置126に格納される。   In S122, as the shot data generation process, the shot data generation unit 124 reads the intermediate data and the Huffman table 94 from the magnetic disk device 122, and generates shot data. At that time, the shot data generation unit 124 refers to the Huffman table 94 for a continuous code defining the graphic code, graphic size (L, M) and graphic coordinates (x, y) defined in the read intermediate data, The intermediate data is expanded while replacing the original numerical values, and each figure is divided into shot figures. The shot data generated as described above is stored in the magnetic disk device 126.

図9は、実施の形態1における同じクラスタ内に配置される複数の図形に対する図形コード、図形サイズ(L,M)及び図形座標(x、y)を定義する連続コードの一例を示す図である。
図9では、例えば、コード「0100100100000000000001・・・1」と中間データの同じクラスタ内に配置される複数の図形に対する図形コード、図形サイズ(L,M)及び図形座標(x,y)の枠に定義されていた場合、ハフマンテーブル94を読み出して、ハフマンテーブル94を基に次のように判断される。まず、最初の「01」によって、図形コードが「0x11」であることがわかる。次の「001」によって、図形サイズのL値が「0.1」であることがわかる。次の「001」によって、図形サイズのM値が「0.1」であることがわかる。次の「000000」によって、図形座標のx値が「0.2」であることがわかる。次の「000000」によって、図形座標のy値が「0.2」であることがわかる。次の「01」によって、同じクラスタ内に配置される次の図形の図形コードが「0x11」であることがわかる。以下、同様にして、同じクラスタ内に配置される全ての図形についての図形コード、図形サイズ(L,M)及び図形座標(x,y)がわかる。そして、最後の「1」によって、同じクラスタ内に配置される全ての図形についての図形コード、図形サイズ(L,M)及び図形座標(x,y)のコードが終了したことがわかる。
FIG. 9 is a diagram illustrating an example of a continuous code that defines a figure code, a figure size (L, M), and a figure coordinate (x, y) for a plurality of figures arranged in the same cluster according to the first embodiment. .
In FIG. 9, for example, in a frame of a figure code, figure size (L, M) and figure coordinates (x, y) for a plurality of figures arranged in the same cluster of the code “0100100100000000000001” and the intermediate data. If it is defined, the Huffman table 94 is read out, and the following determination is made based on the Huffman table 94. First, it can be seen from the first “01” that the graphic code is “0x11”. It can be seen from the next “001” that the L value of the figure size is “0.1”. It can be seen from the next “001” that the M value of the figure size is “0.1”. It can be seen from the next “000000” that the x value of the graphic coordinates is “0.2”. It can be seen from the next “000000” that the y value of the graphic coordinates is “0.2”. The next “01” indicates that the graphic code of the next graphic arranged in the same cluster is “0x11”. In the same manner, the figure code, figure size (L, M), and figure coordinates (x, y) for all figures arranged in the same cluster are known. The last “1” indicates that the graphic codes, graphic sizes (L, M), and graphic coordinates (x, y) codes for all the figures arranged in the same cluster are completed.

そして、描画部150は、以上のような複数のフォーマットで変換されたクラスタ内のデータに基づいたショットデータにより制御された電子ビーム200を用いて以下のように試料101にクラスタ内に配置される複数のパターンを描画する。描画部150は、描画制御部130によって制御される。   And the drawing part 150 is arrange | positioned in the sample 101 in a cluster as follows using the electron beam 200 controlled by the shot data based on the data in the cluster converted by the above several formats. Draw multiple patterns. The drawing unit 150 is controlled by the drawing control unit 130.

電子銃201から出た電子ビーム200は、照明レンズ202により矩形、例えば長方形の穴を持つ第1のアパーチャ203全体を照明する。ここで、電子ビーム200をまず矩形、例えば長方形に成形する。そして、第1のアパーチャ203を通過した第1のアパーチャ像の電子ビーム200は、投影レンズ204により第2のアパーチャ206上に投影される。かかる第2のアパーチャ206上での第1のアパーチャ像の位置は、偏向器205によって制御され、ビーム形状と寸法を変化させることができる。そして、第2のアパーチャ206を通過した第2のアパーチャ像の電子ビーム200は、対物レンズ207により焦点を合わせ、偏向器208により偏向されて、移動可能に配置されたXYステージ105上の試料101の所望する位置に照射される。   The electron beam 200 emitted from the electron gun 201 illuminates the entire first aperture 203 having a rectangular shape, for example, a rectangular hole, by the illumination lens 202. Here, the electron beam 200 is first formed into a rectangle, for example, a rectangle. Then, the electron beam 200 of the first aperture image that has passed through the first aperture 203 is projected onto the second aperture 206 by the projection lens 204. The position of the first aperture image on the second aperture 206 is controlled by the deflector 205, and the beam shape and size can be changed. Then, the electron beam 200 of the second aperture image that has passed through the second aperture 206 is focused by the objective lens 207, deflected by the deflector 208, and the sample 101 on the XY stage 105 that is movably disposed. The desired position is irradiated.

図10は、実施の形態1における連続ビットによるビット数の削減効果を説明するための概念図である。
図10(a)には、図形コードは従来のビット数の値で定義し、図形サイズ(L,M)及び図形座標(x,y)について可変長ビットで定義した場合を示している。かかる場合、1つの図形の図形サイズ(L,M)及び図形座標(x,y)を定義する毎に、可変長ビット枠に達しないビット数の余りが生じてしまうことになる。これに対し、実施の形態1では、同じクラスタ内に配置される全ての図形についての図形コード、図形サイズ(L,M)及び図形座標(x,y)を前後の図形について隙間を空けずに連続して一連の可変長コードとして定義することで、図10(b)に示すように図形間に生じる余りのビットを無くすことができる。
FIG. 10 is a conceptual diagram for explaining the effect of reducing the number of bits by continuous bits in the first embodiment.
FIG. 10A shows a case where the graphic code is defined by a conventional bit number value and is defined by variable length bits for the graphic size (L, M) and the graphic coordinates (x, y). In such a case, every time the figure size (L, M) and figure coordinates (x, y) of one figure are defined, a remainder of the number of bits that does not reach the variable-length bit frame occurs. On the other hand, in the first embodiment, the figure code, figure size (L, M), and figure coordinates (x, y) for all figures arranged in the same cluster are set without gaps between the preceding and following figures. By defining it as a series of variable length codes in succession, it is possible to eliminate the extra bits that occur between graphics as shown in FIG.

以上のように、実施の形態1によれば、ハフマンツリーで図形コードと図形サイズ(L,M)と図形座標(x、y)を可変長コードに暗号化することで、中間データのビット数を大幅に低減することができる。その結果、中間データのデータサイズを小さくすることができ、大幅に描画時間を短縮させることができる。その結果、装置のスループットを大幅に向上させることができる。   As described above, according to the first embodiment, the number of bits of the intermediate data is obtained by encrypting the figure code, the figure size (L, M), and the figure coordinates (x, y) into the variable length code using the Huffman tree. Can be greatly reduced. As a result, the data size of the intermediate data can be reduced, and the drawing time can be greatly shortened. As a result, the throughput of the apparatus can be greatly improved.

実施の形態2.
実施の形態1では、アレイ定義された図形データが無い場合について説明した。実施の形態2では、さらに、アレイ定義された図形データが存在する場合について説明する。例えば、各図形が、図形コード、アレイフラグ、図形サイズ、図形座標、アレイ図形の個数、及びアレイピッチの各パターン情報で定義される場合について説明する。ここで、実施の形態2における描画装置の構成は、図1と同様である。実施の形態2における描画方法は図3と同様である。また、データ処理工程(S102)からパターンデータ記録工程(S112)までの各工程の内容は、実施の形態1と同様である。
Embodiment 2. FIG.
In the first embodiment, the case where there is no graphic data defined as an array has been described. In the second embodiment, a case will be described in which graphic data having an array definition exists. For example, a case will be described in which each figure is defined by each pattern information of figure code, array flag, figure size, figure coordinates, number of array figures, and array pitch. Here, the configuration of the drawing apparatus according to the second embodiment is the same as that shown in FIG. The drawing method in the second embodiment is the same as that in FIG. The contents of each process from the data processing process (S102) to the pattern data recording process (S112) are the same as those in the first embodiment.

S114において、累積テーブル作成工程として、累積テーブル作成部50は、クラスタ34毎に、取得された複数のパターン情報を基に、各パターン情報と各パターン情報の使用回数とを関連させた累積テーブル(第1のテーブル)を作成する。作成された累積テーブルは、メモリ120に格納される。   In S114, as a cumulative table creation step, the cumulative table creation unit 50 creates a cumulative table (for each cluster 34) that associates each piece of pattern information with the number of times each piece of pattern information is used based on a plurality of pieces of obtained pattern information. First table) is created. The created cumulative table is stored in the memory 120.

図11は、実施の形態2における累積テーブルの一例を示す図である。
図11において、累積テーブル62は、図形コード、アレイフラグ、図形サイズ(M,L)、図形座標(x,y)、アレイ図形個数(Nx,Ny)及びアレイピッチ(Px,Py)の各値とその値の使用回数とを関連させて定義する。ここでは、クラスタ34に配置されるすべての図形パターンについて、図形コード、アレイフラグ、図形サイズの幅値M、図形サイズの高さ値L、図形座標(x,y)のx値、或いは図形座標(x,y)のy値、アレイ図形個数(Nx,Ny)のNx値、或いはアレイ図形個数(Nx,Ny)のNy値、アレイピッチ(Px,Py)のPx値、或いはアレイピッチ(Px,Py)のPy値が、0x11となる回数をカウントして定義する。但し、実際には、図形サイズの幅値M、図形サイズの高さ値L、図形座標(x,y)のx値、或いは図形座標(x,y)のy値、アレイ図形個数(Nx,Ny)のNx値、アレイ図形個数(Nx,Ny)のNy値、アレイピッチ(Px,Py)のPx値、及びアレイピッチ(Px,Py)のPy値が、0x11とはなりえないので、クラスタ34に配置されるすべての図形パターンのうち、0x11となる図形コード或いはアレイフラグを有する図形パターンの数だけ累積加算される。ここでは、一例として、累積された使用回数が100回の場合を示している。同様に、図形コード、アレイフラグ、図形サイズの幅値M、図形サイズの高さ値L、図形座標のx値、図形座標のy値、アレイ図形個数のNx値、アレイ図形個数のNy値、アレイピッチのPx値、或いはアレイピッチのPy値が、0.1となる回数をカウントして定義する。ここでは、累積された使用回数が例えば50回の場合を示している。同様に、0.2となる回数をカウントして定義する。ここでは、累積された使用回数が例えば20回の場合を示している。同様に、0.3となる回数をカウントして定義する。ここでは、累積された使用回数が例えば10回の場合を示している。同様に、0.4となる回数をカウントして定義する。ここでは、累積された使用回数が例えば5回の場合を示している。同様に、アレイフラグを示すFとなる回数をカウントして定義する。ここでは、累積された使用回数が例えば1回の場合を示している。同様に、2となる回数をカウントして定義する。ここでは、累積された使用回数が例えば2回の場合を示している。実施の形態1と同様、1つのクラスタ34内の図形コード、アレイフラグ、図形サイズの幅値M、図形サイズの高さ値L、図形座標のx値、図形座標のy値、アレイ図形個数のNx値、アレイ図形個数のNy値、アレイピッチのPx値、及びアレイピッチのPy値のデータは、一連の連続コードで定義される。そのため、一連のデータの終わりを示すEOSが特別マークとして示される。
FIG. 11 is a diagram illustrating an example of the accumulation table in the second embodiment.
In FIG. 11, the accumulation table 62 shows values of figure code, array flag, figure size (M, L), figure coordinates (x, y), number of array figures (Nx, Ny), and array pitch (Px, Py). And the number of times the value is used. Here, for all graphic patterns arranged in the cluster 34, graphic code, array flag, graphic size width value M, graphic size height value L, graphic coordinate (x, y) x value, or graphic coordinates (X, y) y value, array figure number (Nx, Ny) Nx value, array figure number (Nx, Ny) Ny value, array pitch (Px, Py) Px value, or array pitch (Px) , Py) is defined by counting the number of times that the Py value of 0x11 is obtained. However, actually, the width value M of the graphic size, the height value L of the graphic size, the x value of the graphic coordinates (x, y), the y value of the graphic coordinates (x, y), the number of array graphics (Nx, Ny), Ny value of array figure number (Nx, Ny), Px value of array pitch (Px, Py), and Py value of array pitch (Px, Py) cannot be 0x11. Of all the graphic patterns arranged in the cluster 34, the cumulative addition is performed by the number of graphic patterns having a graphic code or array flag of 0x11. Here, as an example, a case where the accumulated number of uses is 100 is shown. Similarly, figure code, array flag, figure size width value M, figure size height value L, figure coordinate x value, figure coordinate y value, array figure number Nx value, array figure number Ny value, The number of times that the Px value of the array pitch or the Py value of the array pitch becomes 0.1 is defined by counting. Here, a case where the accumulated number of uses is, for example, 50 times is shown. Similarly, the number of times of 0.2 is counted and defined. Here, a case where the accumulated number of uses is, for example, 20 is shown. Similarly, the number of times of 0.3 is counted and defined. Here, a case where the accumulated number of uses is, for example, 10 is shown. Similarly, the number of times of 0.4 is counted and defined. Here, a case where the accumulated number of uses is, for example, 5 is shown. Similarly, the number of times of F indicating the array flag is counted and defined. Here, a case where the accumulated number of uses is, for example, 1 is shown. Similarly, the number of times of 2 is counted and defined. Here, a case where the accumulated number of uses is, for example, 2 is shown. As in the first embodiment, the figure code, array flag, figure size width value M, figure size height value L, figure coordinate x value, figure coordinate y value, number of array figures in one cluster 34 The data of the Nx value, the Ny value of the number of array figures, the Px value of the array pitch, and the Py value of the array pitch are defined by a series of continuous codes. Therefore, EOS indicating the end of a series of data is shown as a special mark.

図12は、実施の形態2におけるアレイ図形の使用回数のカウントの仕方を説明するための一例を示す概念図である。
図12において、例えば、クラスタ34の基準位置から座標(0.2,0.2)の位置に、幅0.1、高さ0.1の図形が、x方向にピッチ0.2で2個、y方向にピッチ0.2で2個配置されている場合が示されている。それぞれの単位はAUとする。この場合、値0.1が2回、値0.2が4回、値2が2回それぞれ使用されている回数として累積テーブル62に定義されることになる。累積テーブル62では、クラスタ34内に配置される全ての図形について同様に回数をカウントし、その累積値を定義する。
FIG. 12 is a conceptual diagram illustrating an example for explaining how to count the number of times of use of an array graphic in the second embodiment.
In FIG. 12, for example, two figures having a width of 0.1 and a height of 0.1 at the coordinates (0.2, 0.2) from the reference position of the cluster 34 in the x direction with a pitch of 0.2. The case where two are arranged with a pitch of 0.2 in the y direction is shown. Each unit is AU. In this case, the value 0.1 is defined as 2 times, the value 0.2 is defined as 4 times, and the value 2 is defined as 2 times in the accumulation table 62. In the accumulation table 62, the number of times is similarly counted for all the figures arranged in the cluster 34, and the accumulated value is defined.

S116において、ハフマンツリー作成工程として、ハフマンツリー作成部52は、累積テーブル62をメモリ120から読み出し、累積テーブル62を基に、ハフマンツリーを作成する。作成されたハフマンツリーは、メモリ120に格納される。   In S116, as a Huffman tree creation step, the Huffman tree creation unit 52 reads the accumulation table 62 from the memory 120, and creates a Huffman tree based on the accumulation table 62. The created Huffman tree is stored in the memory 120.

図13は、図11の累積テーブルに対応するハフマンツリーの一例を示す図である。
図13において、ハフマンツリー170は、最上位のレベル1の階層にルートノード172、レベル2の階層に葉ノード174,176、レベル3の階層に葉ノード178,180、レベル4の階層に葉ノード182,184、レベル5の階層に葉ノード186,188、レベル6の階層に葉ノード190,192、レベル7の階層に葉ノード194,196、レベル8の階層に葉ノード198,199が配置される。レベル1の階層に配置されるルートノード172がハフマンツリー170の最初を構成する。このルートノード172には2つのレベル1の枝が接続される。一方のレベル1の枝の先端には、特別マークのEOSを示す葉ノード176が配置される。2進数の「1」はこの枝に定義される。他方のレベル1の枝の先端には、レベル2の階層の葉ノード174が配置される。2進数の「0」はこの枝に定義される。葉ノード174には2つのレベル2の枝が接続される。一方のレベル2の枝の先端には、レベル3の階層の葉ノード178が配置される。2進数の「0」はこの枝に定義される。他方のレベル2の枝の先端には、使用回数が最も多いパターン情報値の葉ノード180が配置される。2進数の「1」はこの枝に定義される。葉ノード178には2つのレベル3の枝が接続される。一方のレベル3の枝の先端には、レベル4の階層の葉ノード182が配置される。2進数の「0」はこの枝に定義される。他方のレベル3の枝の先端には、使用回数が2番目に多いパターン情報値の葉ノード184が配置される。2進数の「1」はこの枝に定義される。葉ノード182には2つのレベル4の枝が接続される。一方のレベル4の枝の先端には、レベル5の階層の葉ノード186が配置される。2進数の「0」はこの枝に定義される。他方のレベル4の枝の先端には、使用回数が3番目に多いパターン情報値の葉ノード188が配置される。2進数の「1」はこの枝に定義される。葉ノード186には2つのレベル5の枝が接続される。一方のレベル5の枝の先端には、レベル6の階層の葉ノード190が配置される。2進数の「0」はこの枝に定義される。他方のレベル5の枝の先端には、使用回数が4番目に多いパターン情報値の葉ノード192が配置される。2進数の「1」はこの枝に定義される。葉ノード190には2つのレベル6の枝が接続される。一方のレベル6の枝の先端には、レベル7の階層の葉ノード194が配置される。2進数の「0」はこの枝に定義される。他方のレベル6の枝の先端には、使用回数が5番目に多いパターン情報値の葉ノード196が配置される。2進数の「1」はこの枝に定義される。葉ノード194には2つのレベル7の枝が接続される。一方のレベル7の枝の先端には、使用回数が6番目に多いパターン情報値の葉ノード199がレベル8の階層として配置される。2進数の「1」はこの枝に定義される。他方のレベル7の枝の先端には、使用回数が7番目に多いパターン情報値の葉ノード198がレベル8の階層として配置される。2進数の「0」はこの枝に定義される。また、葉ノード174,178,182,186,190,194には、各自より下位の階層に配置された葉ノードのパターン情報値の使用回数の合計値が定義されている。このように、ハフマンツリー170は、使用回数の少ない下位2つのパターン情報値を最下位の階層レベルの2つの葉ノードとし、使用回数の多いパターン情報値をより上位の階層レベルの葉ノードとしてツリーを構成する。
FIG. 13 is a diagram illustrating an example of a Huffman tree corresponding to the accumulation table of FIG.
In FIG. 13, the Huffman tree 170 includes a root node 172 in the highest level 1 hierarchy, leaf nodes 174 and 176 in the level 2 hierarchy, leaf nodes 178 and 180 in the level 3 hierarchy, and leaf nodes in the level 4 hierarchy. 182 and 184, leaf nodes 186 and 188 are arranged in the level 5 hierarchy, leaf nodes 190 and 192 are arranged in the level 6 hierarchy, leaf nodes 194 and 196 are arranged in the level 7 hierarchy, and leaf nodes 198 and 199 are arranged in the level 8 hierarchy. The A root node 172 arranged in the level 1 hierarchy constitutes the beginning of the Huffman tree 170. Two root 1 branches are connected to the root node 172. A leaf node 176 indicating the EOS of the special mark is disposed at the tip of one level 1 branch. The binary number “1” is defined in this branch. The leaf node 174 of the level 2 hierarchy is arranged at the tip of the other level 1 branch. The binary number “0” is defined in this branch. Two level 2 branches are connected to the leaf node 174. A leaf node 178 of the level 3 hierarchy is arranged at the tip of one level 2 branch. The binary number “0” is defined in this branch. The leaf node 180 of the pattern information value with the highest number of uses is arranged at the tip of the other level 2 branch. The binary number “1” is defined in this branch. Two level 3 branches are connected to the leaf node 178. A leaf node 182 of the level 4 hierarchy is arranged at the tip of one level 3 branch. The binary number “0” is defined in this branch. At the tip of the other level 3 branch, a leaf node 184 of the pattern information value having the second highest number of uses is arranged. The binary number “1” is defined in this branch. Two level 4 branches are connected to the leaf node 182. A leaf node 186 of the level 5 hierarchy is arranged at the tip of one level 4 branch. The binary number “0” is defined in this branch. At the tip of the other level 4 branch, a leaf node 188 of the pattern information value having the third largest number of uses is arranged. The binary number “1” is defined in this branch. Two level 5 branches are connected to the leaf node 186. At the tip of one level 5 branch, a leaf node 190 in the level 6 hierarchy is arranged. The binary number “0” is defined in this branch. At the tip of the other level 5 branch, a leaf node 192 of the pattern information value that is used the fourth most frequently is arranged. The binary number “1” is defined in this branch. Two level 6 branches are connected to the leaf node 190. A leaf node 194 of the level 7 hierarchy is arranged at the tip of one level 6 branch. The binary number “0” is defined in this branch. At the tip of the other level 6 branch, a leaf node 196 of the pattern information value having the fifth largest number of uses is arranged. The binary number “1” is defined in this branch. Two level 7 branches are connected to the leaf node 194. At the tip of one level 7 branch, a leaf node 199 of the pattern information value having the sixth largest number of uses is arranged as a level 8 hierarchy. The binary number “1” is defined in this branch. At the tip of the other level 7 branch, a leaf node 198 of the pattern information value having the seventh highest number of uses is arranged as a level 8 hierarchy. The binary number “0” is defined in this branch. In addition, the leaf nodes 174, 178, 182, 186, 190, and 194 define the total number of times of use of the pattern information values of the leaf nodes arranged in the lower hierarchy than the respective nodes. Thus, the Huffman tree 170 is a tree in which the lower two pattern information values that are used less frequently are the two leaf nodes at the lowest hierarchy level, and the pattern information value that is used more frequently are the leaf nodes at the higher hierarchy level Configure.

S118において、ハフマンテーブル作成工程として、ハフマンテーブル作成部54は、ハフマンツリー170をメモリ120から読み出し、ハフマンツリー170を基に、各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードとを関連させたハフマンテーブル(第2のテーブル)を作成する。ハフマンテーブル作成部54は、第2のテーブル作成部の一例となる。作成されたハフマンテーブルは、メモリ120に格納される。   In S118, as the Huffman table creation process, the Huffman table creation unit 54 reads the Huffman tree 170 from the memory 120, and based on the Huffman tree 170, each pattern information and pattern information with a higher number of uses are set to smaller values. A Huffman table (second table) is created in association with binary variable length codes obtained by encrypting pattern information. The Huffman table creation unit 54 is an example of a second table creation unit. The created Huffman table is stored in the memory 120.

図14は、図13のハフマンツリーに対応するハフマンテーブルの一例を示す図である。
図14において、ハフマンテーブル98は、各パターン情報値と2進数の可変長コードとを関連させて定義している。上述したハフマンツリー170は、次のように可変長コードを決定させる。使用回数が最も多いパターン情報値「0x11」の葉ノード180に達するためには、ルートノード172から2進数の「0」の枝と「1」の枝を1つずつ通らなければならない。よって、値「0x11」のコードは、2ビットの「01」となる。使用回数が2番目に多いパターン情報値「0.1」の葉ノード184に達するためには、ルートノード172から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「1」のレベル3の枝とを通らなければならない。よって、値「0.1」のコードは、3ビットの「001」となる。使用回数が3番目に多いパターン情報値「0.2」の葉ノード188に達するためには、ルートノード172から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「0」のレベル3の枝と2進数の「1」のレベル4の枝とを通らなければならない。よって、値「0.2」のコードは、4ビットの「0001」となる。使用回数が4番目に多いパターン情報値「0.3」の葉ノード192に達するためには、ルートノード172から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「0」のレベル3の枝と2進数の「0」のレベル4の枝と2進数の「1」のレベル5の枝とを通らなければならない。よって、値「0.3」のコードは、5ビットの「00001」となる。使用回数が5番目に多いパターン情報値「0.4」の葉ノード196に達するためには、ルートノード172から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「0」のレベル3の枝と2進数の「0」のレベル4の枝と2進数の「0」のレベル5の枝と2進数の「1」のレベル6の枝とを通らなければならない。よって、値「0.4」のコードは、6ビットの「000001」となる。また、使用回数が6番目に多いパターン情報値「2」の葉ノード198に達するためには、ルートノード172から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「0」のレベル3の枝と2進数の「0」のレベル4の枝と2進数の「0」のレベル5の枝と2進数の「0」のレベル6の枝と2進数の「0」のレベル7の枝とを通らなければならない。よって、値「2」のコードは、7ビットの「0000000」となる。また、使用回数が7番目に多いパターン情報値「F」の葉ノード199に達するためには、ルートノード172から2進数の「0」のレベル1の枝と2進数の「0」のレベル2の枝と2進数の「0」のレベル3の枝と2進数の「0」のレベル4の枝と2進数の「0」のレベル5の枝と2進数の「0」のレベル6の枝と2進数の「0」のレベル7の枝とを通らなければならない。よって、値「F」のコードは、7ビットの「0000001」となる。このように、使用回数の多いパターン情報ほど2進数の可変長コードが小さい値となるように暗号化される。すなわち、使用回数の多いパターン情報ほど少ないビット数の値とすることができる。また、特別マークであるEOSのコードは、例外的に使用回数に関わらず1ビットの「1」と定義する。そして、得られた各パターン情報と可変長コードとが関連したハフマンテーブル98が作成される。
FIG. 14 is a diagram illustrating an example of a Huffman table corresponding to the Huffman tree in FIG.
In FIG. 14, the Huffman table 98 defines each pattern information value and a binary variable-length code in association with each other. The Huffman tree 170 described above determines a variable length code as follows. In order to reach the leaf node 180 of the pattern information value “0x11” having the highest number of uses, the root node 172 must pass through the binary “0” branch and the “1” branch one by one. Therefore, the code of the value “0x11” becomes “01” of 2 bits. In order to reach the leaf node 184 with the second most frequently used pattern information value “0.1”, a level 1 branch of binary “0” and a level 2 of binary “0” from the root node 172 And the binary "1" level 3 branch. Therefore, the code of the value “0.1” becomes “001” of 3 bits. In order to reach the leaf node 188 of the pattern information value “0.2” having the third largest number of uses, a level 1 branch of binary “0” and a level 2 of binary “0” from the root node 172 And the binary "0" level 3 branch and the binary "1" level 4 branch. Therefore, the code of the value “0.2” is 4-bit “0001”. In order to reach the leaf node 192 of the pattern information value “0.3” having the fourth highest usage count, a level 1 branch of binary “0” and a level 2 of binary “0” from the root node 172 And a binary "0" level 3 branch, a binary "0" level 4 branch, and a binary "1" level 5 branch. Therefore, the code of the value “0.3” becomes “00001” of 5 bits. In order to reach the leaf node 196 of the pattern information value “0.4” that is the fifth most frequently used, the level 1 branch of binary “0” and the level 2 of binary “0” from the root node 172 Branch, binary "0" level 3 branch, binary "0" level 4 branch, binary "0" level 5 branch and binary "1" level 6 branch Must pass through. Therefore, the code of the value “0.4” becomes “000001” of 6 bits. In order to reach the leaf node 198 of the pattern information value “2” having the sixth largest number of uses, a level 1 branch of binary “0” and a level 2 of binary “0” from the root node 172. Branch, binary "0" level 3 branch, binary "0" level 4 branch, binary "0" level 5 branch and binary "0" level 6 branch And a binary "0" level 7 branch. Therefore, the code of the value “2” is 7 bits “0000000”. Further, in order to reach the leaf node 199 of the pattern information value “F” that is used the seventh most frequently, a level 1 branch of binary “0” and a level 2 of binary “0” from the root node 172. Branch, binary "0" level 3 branch, binary "0" level 4 branch, binary "0" level 5 branch and binary "0" level 6 branch And a binary "0" level 7 branch. Therefore, the code of the value “F” is “0000001” of 7 bits. In this way, the pattern information having a larger number of uses is encrypted such that the binary variable length code has a smaller value. That is, the pattern information having a larger number of uses can be set to a value having a smaller number of bits. The EOS code as a special mark is exceptionally defined as 1 bit “1” regardless of the number of times of use. Then, a Huffman table 98 in which each obtained pattern information and variable length code are associated is created.

S120において、フォーマット変換工程として、フォーマット変換部56は、ハフマンテーブル98を読み出し、ハフマンテーブル98を基に、可変長コードを用いた所定のフォーマットで、描画データに定義される所定の領域内のデータを変換する。描画データをフォーマット変換することで、ショットデータへと変換される前段階となる中間データを生成することができる。   In S120, as the format conversion process, the format conversion unit 56 reads the Huffman table 98, and based on the Huffman table 98, the data in a predetermined area defined in the drawing data in a predetermined format using a variable length code. Convert. By converting the format of the drawing data, it is possible to generate intermediate data that is a stage before being converted into shot data.

図15は、実施の形態2における中間データの一例を示す図である。
図15において、生成された中間データ12では、ストライプヘッダに続き、ストライブ番号、当該ストライプ内に位置するブロックデータについてのブロックヘッダ、ブロック番号が定義される。そして、ブロック番号に続き、当該ブロック内に配置されるセルデータについてのセルヘッダ、セル番号、当該セル内に配置されるクラスタデータについてのクラスタヘッダ、クラスタ番号が定義される。そして、クラスタ番号に続き、クラスタ34内に配置される第1番目の図形62について、図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)が定義される。そして、第1番目の図形のデータに続き、同じクラスタ34内に配置される第2番目の図形62について、図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)がデータに区切れなく連続して定義される。このようにして1つのクラスタ34内の全ての図形について定義した後に、次のクラスタ34のクラスタヘッダ、クラスタ番号が続いて定義される。以下、同様に、定義される。そして、実施の形態1と同様、図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)は、ハフマンテーブル98から各コードを読み出し、同じクラスタ34内に配置されるすべての図形62についての各コードをつなげて一連の連続コードとして定義する。
FIG. 15 is a diagram illustrating an example of intermediate data according to the second embodiment.
In FIG. 15, in the generated intermediate data 12, a stripe number, a block header for block data located in the stripe, and a block number are defined following the stripe header. Then, following the block number, a cell header and cell number for cell data arranged in the block, and a cluster header and cluster number for cluster data arranged in the cell are defined. Then, for the first graphic 62 arranged in the cluster 34 following the cluster number, the graphic code, the array flag, the graphic size (L, M), the graphic coordinates (x, y), and the number of array graphics (Nx) , Ny) and array pitch (Px, Py) are defined. Then, following the data of the first graphic, for the second graphic 62 arranged in the same cluster 34, the graphic code, array flag, graphic size (L, M), graphic coordinates (x, y), The number of array figures (Nx, Ny) and the array pitch (Px, Py) are defined continuously without being divided into data. After defining all figures in one cluster 34 in this way, the cluster header and cluster number of the next cluster 34 are subsequently defined. The same is defined below. As in the first embodiment, the figure code, array flag, figure size (L, M), figure coordinates (x, y), number of array figures (Nx, Ny), and array pitch (Px, Py) are: Each code is read from the Huffman table 98, and the codes for all the figures 62 arranged in the same cluster 34 are connected and defined as a series of continuous codes.

従来フォーマットでは、実施の形態1で説明した図形コードと図形サイズ(L,M)と図形座標(x、y)の他に、アレイフラグとアレイ図形個数Nxとアレイ図形個数NyとアレイピッチPxとアレイピッチPyを定義するために、例えば、それぞれ17ビットが必要であった。これらを使用回数の多いパターン情報ほど少ないビット数の可変長コードとすることで、ビット数の低減効果は非常に大きいものとなる。   In the conventional format, in addition to the graphic code, graphic size (L, M), and graphic coordinates (x, y) described in the first embodiment, the array flag, the array graphic number Nx, the array graphic number Ny, and the array pitch Px For example, 17 bits each were required to define the array pitch Py. By making these variable-length codes having a smaller number of bits for pattern information having a larger number of uses, the effect of reducing the number of bits becomes very large.

以上のようにして、変換された結果、ビット数が大幅に低減された各クラスタ内の中間データは、磁気ディスク装置122に記憶(格納)される。また、ハフマンテーブル98も磁気ディスク装置122に記憶(格納)される。   As described above, the intermediate data in each cluster whose number of bits is significantly reduced as a result of the conversion is stored (stored) in the magnetic disk device 122. A Huffman table 98 is also stored (stored) in the magnetic disk device 122.

図16は、実施の形態2における同じクラスタ内に配置される複数の図形に対する図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)を定義する連続コードの一例を示す図である。
図16では、例えば、コード「010000000001001000100010000001000000100010001・・・1」と中間データの同じクラスタ内に配置される複数の図形に対する図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)の枠に定義されていた場合、ハフマンテーブル98を読み出して、ハフマンテーブル98を基に次のように判断される。まず、最初の「01」によって、図形コードが「0x11」であることがわかる。次の「0000000」によって、アレイフラグ有りを示す「F」であることがわかる。次の「001」によって、図形サイズのL値が「0.1」であることがわかる。次の「001」によって、図形サイズのM値が「0.1」であることがわかる。次の「0001」によって、図形座標のx値が「0.2」であることがわかる。次の「0001」によって、図形座標のy値が「0.2」であることがわかる。次の「0000001」によって、アレイ図形の個数のNx値が「2」であることがわかる。次の「0000001」によって、アレイ図形の個数のNy値が「2」であることがわかる。次の「0001」によって、アレイピッチのPx値が「0.2」であることがわかる。次の「0001」によって、アレイピッチのPy値が「0.2」であることがわかる。続いて、同様に同じクラスタ内に配置される全ての図形についての図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)がわかる。そして、最後の「1」によって、同じクラスタ内に配置される全ての図形についての図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)のコードが終了したことがわかる。
FIG. 16 shows a figure code, array flag, figure size (L, M), figure coordinates (x, y), and number of array figures (Nx, Ny) for a plurality of figures arranged in the same cluster in the second embodiment. ) And an array pitch (Px, Py).
In FIG. 16, for example, the code “010000000000001001000100010001000100000010001... 1” and the figure code, the array flag, the figure size (L, M), and the figure coordinates (x, y) for a plurality of figures arranged in the same cluster of intermediate data. And the number of array figures (Nx, Ny) and the array pitch (Px, Py) are defined in the frame, the Huffman table 98 is read and the following determination is made based on the Huffman table 98. First, it can be seen from the first “01” that the graphic code is “0x11”. The next “0000000” indicates that it is “F” indicating that there is an array flag. It can be seen from the next “001” that the L value of the figure size is “0.1”. It can be seen from the next “001” that the M value of the figure size is “0.1”. It can be seen from the next “0001” that the x value of the graphic coordinates is “0.2”. It can be seen from the next “0001” that the y value of the graphic coordinates is “0.2”. The next “0000001” shows that the Nx value of the number of array figures is “2”. It can be seen from the next “0000001” that the Ny value of the number of array figures is “2”. It can be seen from the next “0001” that the Px value of the array pitch is “0.2”. It can be seen from the next “0001” that the Py value of the array pitch is “0.2”. Subsequently, the figure code, the array flag, the figure size (L, M), the figure coordinates (x, y), the number of array figures (Nx, Ny), and the array for all figures arranged in the same cluster. The pitch (Px, Py) is known. Then, by the last “1”, the figure code, the array flag, the figure size (L, M), the figure coordinates (x, y), and the number of array figures (Nx, N) for all the figures arranged in the same cluster. Ny) and the array pitch (Px, Py) codes have been completed.

S122において、ショットデータ生成工程として、ショットデータ生成部124は、磁気ディスク装置122から中間データとハフマンテーブル98を読み出し、ショットデータを生成する。その際、ショットデータ生成部124は、読み出した中間データに定義された図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)を定義する連続コードをハフマンテーブル98を参照して、元の数値に置き換えながら中間データを展開し、各図形をショット図形に分割すればよい。以上のようにして生成されたショットデータは磁気ディスク装置126に格納される。   In S122, as a shot data generation step, the shot data generation unit 124 reads the intermediate data and the Huffman table 98 from the magnetic disk device 122, and generates shot data. At that time, the shot data generation unit 124 includes a graphic code, an array flag, a graphic size (L, M), a graphic coordinate (x, y), a number of array graphics (Nx, Ny) defined in the read intermediate data. The continuous data defining the array pitch (Px, Py) is expanded with reference to the Huffman table 98 while replacing the original data with the original data, and each figure may be divided into shot figures. The shot data generated as described above is stored in the magnetic disk device 126.

そして、描画部150は、以上のような複数のフォーマットで変換されたクラスタ内のデータに基づいたショットデータにより制御された電子ビーム200を用いて以下のように試料101にクラスタ内に配置される複数のパターンを描画する。描画部150は、描画制御部130によって制御される。描画動作は実施の形態1と同様である。   And the drawing part 150 is arrange | positioned in the sample 101 in a cluster as follows using the electron beam 200 controlled by the shot data based on the data in the cluster converted by the above several formats. Draw multiple patterns. The drawing unit 150 is controlled by the drawing control unit 130. The drawing operation is the same as in the first embodiment.

ここで、ある描画データの1つを用いてビット数の低減効果を検証する。90nm世代の配線パターンの一例について検証した。その際のクラスタサイズは6.4μmとした。その結果、従来の方式のままでは、中間データの図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)の枠の合計が13464ビット必要であった。他方、本実施の形態によれば、中間データの図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)の枠の合計が5518ビットに削減することができた。これにより59%に減少させることができた。   Here, the effect of reducing the number of bits is verified using one of certain drawing data. An example of a 90 nm generation wiring pattern was verified. The cluster size at that time was 6.4 μm. As a result, with the conventional method, the intermediate data graphic code, array flag, graphic size (L, M), graphic coordinates (x, y), number of array graphic (Nx, Ny), and array pitch (Px, The total of Py) frames required 13464 bits. On the other hand, according to the present embodiment, the intermediate data graphic code, array flag, graphic size (L, M), graphic coordinates (x, y), number of array graphic (Nx, Ny), and array pitch (Px, The total of Py) frames could be reduced to 5518 bits. Thereby, it was able to reduce to 59%.

以上のように、本実施の形態によれば、ハフマンツリーで図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)を可変長コードに暗号化することで、中間データのビット数を大幅に低減することができる。その結果、中間データのデータサイズを小さくすることができ、大幅に描画時間を短縮させることができる。その結果、装置のスループットを大幅に向上させることができる。   As described above, according to the present embodiment, the figure code, the array flag, the figure size (L, M), the figure coordinates (x, y), the number of array figures (Nx, Ny), and the array pitch in the Huffman tree. By encrypting (Px, Py) into a variable length code, the number of bits of intermediate data can be greatly reduced. As a result, the data size of the intermediate data can be reduced, and the drawing time can be greatly shortened. As a result, the throughput of the apparatus can be greatly improved.

実施の形態3.
実施の形態1,2では、描画装置100が描画データを入力した後のデータ処理について各図形のパターン情報を可変長コードに暗号化したが、これに限るものではない。実施の形態3では、描画装置100が入力する前の段階で各図形のパターン情報を可変長コードに暗号化した描画データを描画装置100が入力する場合について説明する。
Embodiment 3 FIG.
In the first and second embodiments, the pattern information of each figure is encrypted into a variable length code for data processing after the drawing apparatus 100 inputs drawing data, but the present invention is not limited to this. In the third embodiment, a case will be described in which the drawing apparatus 100 inputs drawing data obtained by encrypting the pattern information of each figure into a variable length code before the drawing apparatus 100 inputs.

図17は、実施の形態3における描画装置の構成を示す概念図である。
図17において、データ処理部112の代わりに、制御計算機113を備え、制御計算機113内にデコーダ58とデータ処理部59が配置された点以外は、図1と同様である。ここで、デコーダ58とデータ処理部59は、プログラムを実行させるCPU等の計算機で実行される各処理機能として構成してもよい。或いは、デコーダ58とデータ処理部59の各構成を電気的な回路によるハードウェアにより構成してもよい。或いは、電気的な回路によるハードウェアとソフトウェアとの組合せにより実施させても構わない。或いは、かかるハードウェアとファームウェアとの組合せでも構わない。また、ソフトウェアにより、或いはソフトウェアとの組合せにより実施させる場合には、処理を実行する計算機に入力される情報或いは演算処理中及び処理後の各情報はその都度メモリ114に記憶される。
FIG. 17 is a conceptual diagram illustrating a configuration of a drawing apparatus according to the third embodiment.
17 is the same as FIG. 1 except that a control computer 113 is provided instead of the data processing unit 112 and a decoder 58 and a data processing unit 59 are arranged in the control computer 113. Here, the decoder 58 and the data processing unit 59 may be configured as each processing function executed by a computer such as a CPU that executes a program. Or you may comprise each structure of the decoder 58 and the data processing part 59 with the hardware by an electric circuit. Or you may make it implement by the combination of the hardware and software by an electrical circuit. Alternatively, a combination of such hardware and firmware may be used. Further, in the case of implementation by software or in combination with software, information input to a computer that executes processing or information during and after arithmetic processing is stored in the memory 114 each time.

図18は、実施の形態3における描画方法を示すフローチャート図である。図18において、データ処理工程(S102)の前に復元工程(S101)を追加した点以外は、図3と同様である。   FIG. 18 is a flowchart illustrating a drawing method according to the third embodiment. 18 is the same as FIG. 3 except that a restoration step (S101) is added before the data processing step (S102).

実施の形態3では、実施の形態1で説明した図形のデータ構成と同様、ハフマンツリーで図形コードと図形サイズ(L,M)と図形座標(x、y)の各パターン情報を可変長コードに暗号化した描画データが磁気ディスク装置500から読み出され、描画装置100に入力される。描画装置100内では、磁気ディスク装置110に描画データが格納される。すなわち、クラスタ内のデータが、定義された複数のパターンの各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードで作成された描画データが磁気ディスク装置110に記憶される。領域はクラスタに限らず、その他の領域毎であっても構わない。ここでは、まだチップマージ処理を行なう前の段階であるので、例えば、各チップのフレーム領域毎に各図形のパターン情報を暗号化した2進数の可変長コードで作成しても好適である。   In the third embodiment, similarly to the data structure of the graphic explained in the first embodiment, each pattern information of the graphic code, graphic size (L, M), and graphic coordinates (x, y) is converted into a variable length code in the Huffman tree. Encrypted drawing data is read from the magnetic disk device 500 and input to the drawing device 100. In the drawing apparatus 100, drawing data is stored in the magnetic disk device 110. In other words, the drawing in which the data in the cluster is created with a binary variable-length code in which each pattern information is encrypted so that the pattern information of a plurality of defined patterns and the pattern information with a higher number of uses become smaller. Data is stored in the magnetic disk device 110. The area is not limited to the cluster, but may be other areas. Here, since it is still a stage before the chip merge processing is performed, it is preferable to create a binary variable length code obtained by encrypting the pattern information of each figure for each frame area of each chip.

S101において、デコーダ工程として、デコーダ58は、磁気ディスク装置110から描画データを読み出し、可変長コードで作成された所定の領域内のデータを復元する。デコーダ58は、復元部の一例である。デコーダ58は、可変長コードをハフマンテーブルを参照して、元の数値に復元する。入力する描画データ用のハフマンテーブルは、描画データと共に磁気ディスク装置110に入力しておけばよい。そして、復元されたデータを基に、以降のデータ処理を行なった後に描画部150によって試料101に複数のパターンが描画される。データ処理工程(S102)以降の各工程の内容は実施の形態1と同様である。   In S101, as a decoder process, the decoder 58 reads the drawing data from the magnetic disk device 110, and restores the data in the predetermined area created by the variable length code. The decoder 58 is an example of a restoration unit. The decoder 58 restores the variable length code to the original numerical value with reference to the Huffman table. The input Huffman table for drawing data may be input to the magnetic disk device 110 together with the drawing data. A plurality of patterns are drawn on the sample 101 by the drawing unit 150 after performing subsequent data processing based on the restored data. The contents of each step after the data processing step (S102) are the same as those in the first embodiment.

また、実施の形態2で説明した図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)の各パターン情報を可変長コードに暗号化した描画データを描画装置100は入力しても好適である。かかる場合には、復元工程(S101)で復元し、以降の各工程の内容は実施の形態2と同様である。   Further, each of the graphic code, the array flag, the graphic size (L, M), the graphic coordinates (x, y), the number of array graphics (Nx, Ny), and the array pitch (Px, Py) described in the second embodiment. It is also preferable that the drawing apparatus 100 inputs drawing data obtained by encrypting pattern information into a variable length code. In such a case, restoration is performed in the restoration step (S101), and the contents of the subsequent steps are the same as those in the second embodiment.

以上のように、描画装置100の内部で使用する場合の他、装置が入力する前の段階で各パターン情報を可変長コードに暗号化しておくことで、入力する描画データ自体の全体の使用ビット数が大幅に低減される。そして、使用ビット数が大幅に低減された描画データを入力することで描画装置100への転送時間を大幅に短縮することができる。よって、描画データの転送処理から描画が完了するまでの時間を短縮することができ、スループットを大幅に短縮することができる。   As described above, in addition to the case where it is used inside the drawing apparatus 100, the entire used bits of the input drawing data itself can be obtained by encrypting each pattern information into a variable length code before the apparatus inputs it. The number is greatly reduced. The transfer time to the drawing apparatus 100 can be greatly shortened by inputting drawing data in which the number of used bits is significantly reduced. Therefore, it is possible to shorten the time from the drawing data transfer process to the completion of drawing, and the throughput can be greatly reduced.

以上、具体例を参照しつつ実施の形態について説明した。しかし、本発明は、これらの具体例に限定されるものではない。例えば、クラスタ毎にフォーマットを選択したが、これに限るものではなく、例えばセル毎にフォーマットを選択しても構わない。   The embodiments have been described above with reference to specific examples. However, the present invention is not limited to these specific examples. For example, the format is selected for each cluster, but the present invention is not limited to this. For example, the format may be selected for each cell.

また、装置構成や制御手法等、本発明の説明に直接必要しない部分等については記載を省略したが、必要とされる装置構成や制御手法を適宜選択して用いることができる。例えば、描画装置100を制御する制御部構成については、記載を省略したが、必要とされる制御部構成を適宜選択して用いることは言うまでもない。   In addition, although descriptions are omitted for parts and the like that are not directly required for the description of the present invention, such as a device configuration and a control method, a required device configuration and a control method can be appropriately selected and used. For example, although the description of the control unit configuration for controlling the drawing apparatus 100 is omitted, it goes without saying that the required control unit configuration is appropriately selected and used.

その他、本発明の要素を具備し、当業者が適宜設計変更しうる全ての描画データの作成装置、描画データの作成方法、描画データの変換装置、描画データの変換方法、荷電粒子ビーム描画装置及び描画方法は、本発明の範囲に包含される。   In addition, all drawing data creation devices, drawing data creation methods, drawing data conversion devices, drawing data conversion methods, charged particle beam drawing devices, which include elements of the present invention and can be appropriately modified by those skilled in the art, and The drawing method is included in the scope of the present invention.

実施の形態1における描画装置の構成を示す概念図である。1 is a conceptual diagram illustrating a configuration of a drawing apparatus according to Embodiment 1. FIG. 実施の形態1における描画データの階層構造の一例を示す図である。6 is a diagram illustrating an example of a hierarchical structure of drawing data according to Embodiment 1. FIG. 実施の形態1における描画方法を示すフローチャート図である。3 is a flowchart showing a drawing method in Embodiment 1. FIG. 実施の形態1における累積テーブルの一例を示す図である。6 is a diagram illustrating an example of an accumulation table in Embodiment 1. FIG. 実施の形態1における使用回数のカウントの仕方を説明するための一例を示す概念図である。FIG. 3 is a conceptual diagram illustrating an example for explaining how to count the number of uses in the first embodiment. 図4の累積テーブルに対応するハフマンツリーの一例を示す図である。It is a figure which shows an example of the Huffman tree corresponding to the accumulation table of FIG. 図6のハフマンツリーに対応するハフマンテーブルの一例を示す図である。It is a figure which shows an example of the Huffman table corresponding to the Huffman tree of FIG. 実施の形態1における中間データの一例を示す図である。6 is a diagram illustrating an example of intermediate data in the first embodiment. FIG. 実施の形態1における同じクラスタ内に配置される複数の図形に対する図形コード、図形サイズ(L,M)及び図形座標(x、y)を定義する連続コードの一例を示す図である。6 is a diagram illustrating an example of a continuous code that defines a figure code, a figure size (L, M), and a figure coordinate (x, y) for a plurality of figures arranged in the same cluster according to Embodiment 1. FIG. 実施の形態1における連続ビットによるビット数の削減効果を説明するための概念図である。FIG. 6 is a conceptual diagram for explaining the effect of reducing the number of bits by continuous bits in the first embodiment. 実施の形態2における累積テーブルの一例を示す図である。FIG. 10 is a diagram illustrating an example of an accumulation table in the second embodiment. 実施の形態2におけるアレイ図形の使用回数のカウントの仕方を説明するための一例を示す概念図である。FIG. 10 is a conceptual diagram showing an example for explaining how to count the number of times an array graphic is used in the second embodiment. 図11の累積テーブルに対応するハフマンツリーの一例を示す図である。It is a figure which shows an example of the Huffman tree corresponding to the accumulation table of FIG. 図13のハフマンツリーに対応するハフマンテーブルの一例を示す図である。It is a figure which shows an example of the Huffman table corresponding to the Huffman tree of FIG. 実施の形態2における中間データの一例を示す図である。6 is a diagram illustrating an example of intermediate data in Embodiment 2. FIG. 実施の形態2における同じクラスタ内に配置される複数の図形に対する図形コードとアレイフラグと図形サイズ(L,M)と図形座標(x、y)とアレイ図形の個数(Nx,Ny)とアレイピッチ(Px,Py)を定義する連続コードの一例を示す図である。Graphic code, array flag, graphic size (L, M), graphic coordinates (x, y), number of array graphic (Nx, Ny), and array pitch for a plurality of graphics arranged in the same cluster in the second embodiment It is a figure which shows an example of the continuous code which defines (Px, Py). 実施の形態3における描画装置の構成を示す概念図である。FIG. 10 is a conceptual diagram illustrating a configuration of a drawing apparatus according to a third embodiment. 実施の形態3における描画方法を示すフローチャート図である。FIG. 10 is a flowchart showing a drawing method in the third embodiment. 従来の可変成形型電子線描画装置の動作を説明するための概念図である。It is a conceptual diagram for demonstrating operation | movement of the conventional variable shaping type | mold electron beam drawing apparatus.

符号の説明Explanation of symbols

10 チップ
12 中間データ
20 ストライプ
30 ブロック
32 セル
34 クラスタ
36 図形
40 ブロック分割部
42 セル配置部
44 クラスタ分割部
46 パターン分割部
48 パターンデータ記録部
50 累積テーブル作成部
52 ハフマンツリー作成部
54 ハフマンテーブル作成部
56 フォーマット変換部
58 デコーダ
59,112 データ処理部
60,62 累積テーブル
70,170 ハフマンツリー
72,172 ルートノード
74,76,78,80,82,84,86,88,90,92,95,96 葉ノード
174,176,178,180,182,184,186,188 葉ノード
190,192,194,196,198,199 葉ノード
94,98 ハフマンテーブル
100 描画装置
101,340 試料
102 電子鏡筒
103 描画室
105 XYステージ
110,116,122,126,500 磁気ディスク装置
113,118 制御計算機
114,120,128 メモリ
124 ショットデータ生成部
130描画制御部
150 描画部
160 制御部
200 電子ビーム
201 電子銃
202 照明レンズ
203,410 第1のアパーチャ
206,420 第2のアパーチャ
204 投影レンズ
205,208 偏向器
207 対物レンズ
330 電子線
411 開口
421 可変成形開口
430 荷電粒子ソース
10 chip 12 intermediate data 20 stripe 30 block 32 cell 34 cluster 36 figure 40 block division unit 42 cell arrangement unit 44 cluster division unit 46 pattern division unit 48 pattern data recording unit 50 cumulative table creation unit 52 Huffman tree creation unit 54 Huffman table creation Unit 56 Format conversion unit 58 Decoder 59, 112 Data processing unit 60, 62 Accumulation table 70, 170 Huffman tree 72, 172 Root nodes 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 95, 96 Leaf nodes 174, 176, 178, 180, 182, 184, 186, 188 Leaf nodes 190, 192, 194, 196, 198, 199 Leaf nodes 94, 98 Huffman table 100 Drawing apparatus 101, 340 Sample 102 Electron tube 1 03 Drawing room 105 XY stage 110, 116, 122, 126, 500 Magnetic disk device 113, 118 Control computer 114, 120, 128 Memory 124 Shot data generation unit 130 Drawing control unit 150 Drawing unit 160 Control unit 200 Electron beam 201 Electron gun 202 Illumination lenses 203, 410 First aperture 206, 420 Second aperture 204 Projection lens 205, 208 Deflector 207 Objective lens 330 Electron beam 411 Opening 421 Variable shaping opening 430 Charged particle source

Claims (5)

描画データを記憶する記憶部と、
前記描画データを基に、定義された複数のパターンの図形コードとアレイフラグとアレイ個数とアレイピッチの少なくとも1つを含むパターン情報を取得する取得部と、
所定の領域毎に、取得された複数のパターン情報を基に、各パターン情報と各パターン情報の使用回数とを関連させた第1のテーブルを作成する第1のテーブル作成部と、
前記第1のテーブルを基に、ハフマンツリーを作成するハフマンツリー作成部と、
前記ハフマンツリーを基に、各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードとを関連させた第2のテーブルを作成する第2のテーブル作成部と、
前記第2のテーブルを基に、前記可変長コードを用いた所定のフォーマットで、前記描画データに定義される前記所定の領域内のデータを変換する変換部と、
変換された前記所定の領域内のデータに基づいて、試料に前記複数のパターンを描画する描画部と、
を備えたことを特徴とする描画装置。
A storage unit for storing drawing data;
Based on the drawing data, an acquisition unit that acquires pattern information including at least one of a graphic code of a plurality of defined patterns, an array flag, the number of arrays, and an array pitch;
A first table creation unit that creates a first table that associates each piece of pattern information with the number of uses of each piece of pattern information based on a plurality of pieces of acquired pattern information for each predetermined region;
A Huffman tree creation unit for creating a Huffman tree based on the first table;
Based on the Huffman tree, a second table is created in which each pattern information is associated with a binary variable-length code obtained by encrypting each pattern information so that the pattern information having a larger number of uses has a smaller value. 2 table creation units;
A conversion unit for converting data in the predetermined area defined in the drawing data in a predetermined format using the variable length code based on the second table;
A drawing unit for drawing the plurality of patterns on a sample based on the converted data in the predetermined region;
A drawing apparatus comprising:
変換された前記所定の領域内のデータは、各パターン情報の可変長コードが連続するデータを含むことを特徴とする請求項1記載の描画装置。   2. The drawing apparatus according to claim 1, wherein the converted data in the predetermined area includes data in which variable length codes of each pattern information are continuous. 所定の領域内のデータが、定義された複数のパターンの各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードで作成された描画データを記憶する記憶部と、
前記所定の領域内のデータを復元する復元部と、
復元されたデータを基に、試料に前記複数のパターンを描画する描画部と、
を備えたことを特徴とする描画装置。
A drawing created with a binary variable-length code in which each pattern information is encrypted so that the data in a predetermined area has a smaller value as the pattern information of a plurality of defined patterns and the pattern information with a higher number of uses. A storage unit for storing data;
A restoration unit for restoring data in the predetermined area;
A drawing unit for drawing the plurality of patterns on the sample based on the restored data;
A drawing apparatus comprising:
描画データを入力する工程と、
前記描画データを基に、定義された複数のパターンの図形コードとアレイフラグとアレイ個数とアレイピッチの少なくとも1つを含むパターン情報を取得する工程と、
所定の領域毎に、取得された複数のパターン情報を基に、各パターン情報と各パターン情報の使用回数とを関連させた第1のテーブルを作成する工程と、
前記第1のテーブルを基に、ハフマンツリーを作成する工程と、
前記ハフマンツリーを基に、各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードとを関連させた第2のテーブルを作成する工程と、
前記第2のテーブルを基に、前記可変長コードを用いた所定のフォーマットで、前記描画データに定義される前記所定の領域内のデータを変換する工程と、
変換された前記所定の領域内のデータを記憶する工程と、
を備えたことを特徴とする描画データの変換方法。
Inputting drawing data; and
Acquiring pattern information including at least one of a graphic code, an array flag, an array number, and an array pitch of a plurality of defined patterns based on the drawing data;
Creating a first table that associates each piece of pattern information with the number of uses of each piece of pattern information based on a plurality of pieces of acquired pattern information for each predetermined region;
Creating a Huffman tree based on the first table;
A step of creating a second table based on the Huffman tree and associating each pattern information with a binary variable length code obtained by encrypting each pattern information so that the pattern information having a larger number of uses has a smaller value. When,
Converting the data in the predetermined area defined in the drawing data in a predetermined format using the variable length code based on the second table;
Storing the converted data in the predetermined area;
A drawing data conversion method characterized by comprising:
所定の領域内のデータが、定義された複数のパターンの各パターン情報と使用回数の多いパターン情報ほど小さい値となるように各パターン情報を暗号化した2進数の可変長コードで作成された描画データを入力する工程と、
前記所定の領域内のデータを復元する工程と、
復元されたデータを基に、試料に前記複数のパターンを描画する工程と、
を備えたことを特徴とする描画方法。
A drawing created with a binary variable-length code in which each pattern information is encrypted so that the data in a predetermined area has a smaller value as the pattern information of a plurality of defined patterns and the pattern information with a higher number of uses. Inputting data,
Restoring the data in the predetermined area;
Drawing the plurality of patterns on the sample based on the restored data;
A drawing method characterized by comprising:
JP2008233021A 2008-09-11 2008-09-11 Drawing apparatus, drawing data conversion method, and drawing method Pending JP2010067808A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008233021A JP2010067808A (en) 2008-09-11 2008-09-11 Drawing apparatus, drawing data conversion method, and drawing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008233021A JP2010067808A (en) 2008-09-11 2008-09-11 Drawing apparatus, drawing data conversion method, and drawing method

Publications (1)

Publication Number Publication Date
JP2010067808A true JP2010067808A (en) 2010-03-25

Family

ID=42193137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008233021A Pending JP2010067808A (en) 2008-09-11 2008-09-11 Drawing apparatus, drawing data conversion method, and drawing method

Country Status (1)

Country Link
JP (1) JP2010067808A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190076255A (en) 2017-12-22 2019-07-02 주식회사 포스코 Method of analyzing silicon reducer using fourier transform infrared spectroscopy
CN116318173A (en) * 2023-05-10 2023-06-23 青岛农村商业银行股份有限公司 Digital intelligent management system for financial financing service

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190076255A (en) 2017-12-22 2019-07-02 주식회사 포스코 Method of analyzing silicon reducer using fourier transform infrared spectroscopy
CN116318173A (en) * 2023-05-10 2023-06-23 青岛农村商业银行股份有限公司 Digital intelligent management system for financial financing service
CN116318173B (en) * 2023-05-10 2023-08-11 青岛农村商业银行股份有限公司 Digital intelligent management system for financial financing service

Similar Documents

Publication Publication Date Title
JP5216347B2 (en) Drawing apparatus and drawing data conversion method
JP4989158B2 (en) Method for creating charged particle beam drawing data and method for converting charged particle beam drawing data
JP5001563B2 (en) Creating charged particle beam drawing data
JP4751353B2 (en) Data verification method and charged particle beam drawing apparatus
JP5063320B2 (en) Drawing apparatus and drawing data conversion method
JP4778777B2 (en) Creating charged particle beam drawing data
JP2015095538A (en) Method for forming drawing data
JP2009010077A (en) Device and method for creating drawing data
JP2011066035A (en) Charged particle beam writing method and apparatus therefor
JP4828460B2 (en) Drawing data creation method and storage medium storing drawing data file
JP5305601B2 (en) Method for assigning arithmetic processing unit in drawing apparatus
JP2010067808A (en) Drawing apparatus, drawing data conversion method, and drawing method
JP5148233B2 (en) Drawing apparatus and drawing method
JP4778776B2 (en) Creating charged particle beam drawing data
JP5068515B2 (en) Drawing data creation method, drawing data conversion method, and charged particle beam drawing method
JP5631151B2 (en) Drawing data manufacturing method
JP5357530B2 (en) Drawing data processing method, drawing method, and drawing apparatus
JP5314937B2 (en) Drawing apparatus and drawing data processing method
JP5123561B2 (en) Charged particle beam drawing apparatus and charged particle beam drawing method
JP4529398B2 (en) Dummy pattern information generation apparatus, pattern information generation apparatus, mask generation method, dummy pattern information generation method, program, and computer-readable recording medium storing the program
JP2009081339A (en) Drawing apparatus and method
JP2008085248A (en) Method for creation of charged particle beam drawing data and method for conversion of charged particle beam drawing data
JP5068549B2 (en) Drawing data creation method and layout data file creation method
JP2011243805A (en) Drawing data creating method, charged particle beam drawing method, and charged particle beam apparatus
JP2004281508A (en) Charged beam drawing data creating method, charged beam drawing method, and program of creating charged beam drawing data