Patent Number: 
Section: description

Preferred embodiments of this invention will now be described with reference to the accompanying drawings. In the description that follows, an electron beam lithography system for rendering fine circuit patterns on a semiconductor wafer will be shown as embodying the invention. [First Embodiment] FIG. 2 is a schematic view of an electron beam lithography system embodying the invention. A cross-sectional view in the right-hand portion of FIG. 2 comprises an electron beam enclosure 10, a specimen table 11 and a transporting unit 12. An electron gun 13 at the top of the electron beam enclosure 10 emits an electron beam 14 that is suitably shaped by lenses 16 inside. The electron beam 14 thus shaped is polarized by a polarizer 17 composed of an electromagnetic and an electrostatic polarizer. The polarized electron beam is irradiated to a target spot on a semiconductor wafer 18 placed on the specimen table 11. Several cross-sectional shapes of the irradiated electron beam 14 may be transcribed onto the wafer 18 by selecting a mask 15 appropriately. The left-hand portion of FIG. 2 shows components of a system control computing section controlling the entire system and providing an interface with the outside. A group of functional blocks enclosed in a frame 21 constitutes a group of digital processing units for control purposes. These processing units convert rendering data from a computer 22 into polarization data about the electron beam in a continuous manner (i.e., on a pipeline basis) at a high speed. The individual processing units carry out the following processes: (1) Figure Data Unit A figure data unit stores compressed pattern data transferred from the computer 22. (2) Figure Reassembling Unit A figure reassembling unit reassembles the compressed pattern data into figure data. (3) Figure Disassembling Unit A figure disassembling unit replaces each reassembled figure with a shape (i.e., shot) that may be rendered by electron beam, thereby creating position, shape and exposure data about each shot. (4) Alignment Correcting Unit An alignment correcting unit monitors the wafer 18 for misalignment and distortion using a sensor 19, and makes corrections to compensate for any misalignment or distortion detected. (5) Proximity Effect Correcting Unit A proximity effect correcting unit corrects the proximity effect by first obtaining a unit pattern area map (i.e., exposure map) of a pattern to be rendered and by correcting the level of exposure for each shot with reference to the values in the exposure map. (6) Absolute Follow-up Calibrating Unit An absolute follow-up calibrating unit permits continuous rendering. Based on position data from a specimen table position measuring unit 20, this calibrating unit calculates the position of the polarized electron beam so that the electron beam 14 is kept irradiated precisely onto the target spot on the wafer 18, and corrects distorted polarization in the electron beam enclosure. (7) Procedure Controlling Unit A procedure controlling unit provides monitoring and controlling functions such as to keep the above units performing their processing smoothly. Data coming from the above control-related units are converted from digital to analog format by a D/A converter 23. The converted data are sent to a beam controlling unit 24 that controls electromagnetic lenses as well as the electromagnetic and electrostatic polarizers. A high voltage supply 25 provides the electron gun 13 with power to generate acceleration voltages. A mask controlling unit 26 selects the shape of a mask 15. A specimen table controlling unit 27 controls movements of the specimen table 11 in the enclosure 10. The transporting unit 12, under control of a transport controlling unit 28, loads the wafer 18 into the enclosure. The units exchanging their signals through an interface may be controlled by computer. FIG. 3 is a block diagram of a typical proximity effect correcting unit of the invention. This proximity effect correcting unit differs from its counterpart in the way in which exposure maps are created. An exposure map for mock rendering is created by first having rendering data sent from the preceding stage. An input unit 31 divides the rendering data into meshes of a predetermined size each. A judging unit 32 computes positional relations between each shot and meshes based on the position and shape of the shot in question, and makes a judgment accordingly. Illustratively, if each shot is smaller than any one of the meshes involved, the judging unit 32 reaches one of the following four judgments that may be called conditions: Condition 1 The shot in question is included in a mesh. Condition 2 The shot exceeds a mesh boundary in the X direction only. Condition 3 The shot exceeds a mesh boundary in the Y direction only. Condition 4 The shot exceeds mesh boundaries in both the X and the Y directions. In each of the above conditions, the judging unit 32 computes shot areas divided by mesh boundaries and included in each mesh, and writes the computed values to memory locations. Obviously, the data coming from the preceding stage are unpredictable and may represent any one of the four conditions above. Whereas the data falling under the condition 1 alone are accommodated with no problem by a single memory, the data under the condition 4 cannot be processed on a pipeline basis using one memory because one shot has been divided into four meshes. In the latter case, there is no avoiding the slowing-down of the processing. This snag is circumvented by the inventive proximity effect correcting unit utilizing four partial memories 34a through 34d (memories 0 through 3). Each of the four partial memories 34a through 34d has its own address (m, n). As will be described later in more detail, area values S0, S1, S2 and S3 calculated by area value computing units 33a through 33d are stored simultaneously into the four partial memories 34a through 34d, whereby the processing is carried out rapidly on a pipeline basis. Addresses at which to store the area values S0 through S3 are given as (m, n+1), (m+1, n) and (m+1, n+1) adjacent to address (m, n) of the mesh containing illustratively the bottom left end point of the shot in question. For conditions such as the condition 1 under which no area value is computed, zero is written to addresses (m, n+1), (m+1, n) and (m+1, n+1) of the partial memories 1, 2 and 3 respectively (S1=0, S2=0, S3=0). It is possible to calculate levels of exposure by referring to the area values stored in the partial memories 34a through 34d. Generally, the flow of data from the preceding stage is rapid enough to necessitate the use of S-RAMs for the partial memories 34a through 34d. At present, it is difficult for such an S-RAM makeup to accommodate the whole rendering data. Preferably, the area values placed temporarily in the memories 34a through 34d should then be transferred to an exposure map memory (e.g., D-RAM) 36 capable of accommodating large quantities of data. Different data are found in the four partial memories 34a through 34d at a single address thereof. Thus when data are to be transferred form the partial memories 34a through 34d to the exposure map memory 36, the data are retrieved from the same address of the four partial memories and are added up by an adding circuit 35 in the subsequent stage totaling the data for each address. The totaled data are transferred to the exposure map memory 36. In this manner, one set of data is associated with one address. The data stored in the exposure map memory 36 are subjected to such processes as smoothing by a smoothing filter 37 in order to simulate primary and secondary scattering of electrons. The data thus processed are again placed into the exposure map memory 36 whereby a desired exposure map is created. When actual rendering is performed, the same data are again transmitted from the preceding stage. Given position and shape data about each shot, an address computing unit 38 calculates an address in the exposure map 36. The area value of the address is converted simultaneously to a level of exposure by an exposure level converting unit 39, and an adder 40 adds or subtracts the converted value to or from the level of exposure of each shot for correction. At this point, the address in the exposure map 36 is calculated by the address computing unit 38 with reference to the center of the shot in question. In the present example, the four partial memories 34a through 34d are used because the size of shots is assumed not to exceed that of meshes. The number of patterns may vary depending on the size of the largest shot. For example, if the maximum shot size is 1.5 times larger than the mesh size, nine partial memories are provided because conditions need to be considered over a 3xc3x973 mesh region. In this manner, furnishing a suitable number of partial memories in keeping with the maximum shot size makes it possible for the proximity effect correcting unit of FIG. 3 to correct the proximity effect where the relationship between the maximum shot size and the mesh size varies. With reference to FIGS. 4 and 5 and using simulations, an illustrative description is made below of judgments formed by the judging unit 32 and of area value calculations made by the area value computing units 33a through 33d (shown included in the block diagram of FIG. 3). FIG. 4 is a block diagram of a typical circuit that divides the area of the shot in question and adds up the divided area values by judging positional relations between the position and shape of rendering data (shot data in this case) on the one hand and mesh boundaries on the other hand. FIG. 5 is a schematic view depicting positional relations between a shot 50 and meshes. Judgments are formed in the setup of FIG. 5 by use of a bottom left end point 51 and a top right end point 52 of the shot 50. The parameters shown in FIGS. 4 and 5 include position data (x, y) about the bottom left end point 51 of the shot 50 (in FIG. 5), shape data xe2x80x9cwxe2x80x9d and xe2x80x9chxe2x80x9d on the shot 50, and a mesh size of xcex1. A rectangular shot is used for the purpose of simplifying position and shape data. Reference characters xe2x80x9cxxe2x80x9d and xe2x80x9cyxe2x80x9d stand for an X and a Y coordinate, respectively, of the bottom left end point 51 belonging to the shot 50. Reference characters xe2x80x9cwxe2x80x9d and xe2x80x9chxe2x80x9d denote a width and a height of the rectangular shot 50 respectively. Each mesh is assumed to be a square on condition that xcex1xe2x89xa7w and xcex1xe2x89xa7h. How the circuit of FIG. 4 works will now be described using the above parameters. Address (m, n) of the mesh containing the shot 50 is defined by expression (1) below with respect to the position where the bottom left end point 51 exists. The definition is adopted with a view to simplifying the conditions with reference to an end point. In the expression below, [I] means a maximum integer not exceeding I. m=[x/xcex1], n=[y/xcex1]xe2x80x83xe2x80x83(1) It is in one of four conditions (1 through 4 described below) that the bottom left end point 51 of a given shot 50 is included in the mesh having address (m, n) in FIG. 5. As shown in FIG. 4, the judging unit 32 makes a judgment on each of the conditions using seven parameters xcex1, m, x, w, n, y, h coming from the input unit 31, and computes as shown below area values S0 through S3 for the meshes having addresses (m, n), (m, n+1), (m+1, n) and (m+1, n+1) . That is, the values S0 through S3 denote the shot areas included in the meshes (m, n), (m, n+1), (m+1, n) and (m+1, n+1) respectively. In any of the four conditions, the area values S0 through S3 are written to addresses of partial memories as indicated below. If any address of a partial memory to which to write a newly computed area value has area value data already, the new value is added to the existing data. S0xe2x86x92written to address (m, n) of partial memory 0 S1xe2x86x92written to address (m, n+1) of partial memory 1 S2xe2x86x92written to address (m+1, n) of partial memory 2 S3xe2x86x92written to address (m+1, n+1) of partial memory 3 Condition 1 This is a case where the top right end point 52 of the shot 50 is included in the mesh (m, n), i.e., where (n+1)xc2x7xcex1xe2x88x92xxe2x89xa7w and (m+1)xc2x7xcex1xe2x88x92y xe2x89xa7h. S0=wxc2x7h S1=0 S2=0 S3=0 Condition 2 This is a case where the top right end point 52 of the shot 50 is included in the mesh (m, n+1), i.e., where (n+1)xc2x7xcex1xe2x88x92x less than w and (m +1)xc2x7xcex1yxe2x89xa7h. S0=[(n +1)xc2x7xcex1xe2x88x92x]xc2x7h S1=[x+wxe2x88x92(n+1)xc2x7xcex1]h S2 0 S3 0 Condition 3 This is a case where the top right end point 52 of the shot 50 is included in the mesh (m+b 1, n), i.e, where (n+1)xc2x7xcex1xe2x88x92xxe2x89xa7w and (m+1)xc2x7xcex1xe2x88x92y less than h. S0=wxc2x7[(m+1)xc2x7xcex1xe2x88x92y] S1=0 S2=wxc2x7[y+hxe2x88x92(m+1)xc2x7xcex1] S3=0 Condition 4 This is a case where the top right end point 52 of the shot 50 is included in the mesh (m+, n+), i.e., where (n+1)xc2x7xcex1xe2x88x92x less than w and (m+1)xc2x7xcex1xe2x88x92y less than h. S0=[(n+1)xc2x7xcex1xe2x88x92x]xc2x7[(m+1) xc2x7xcex1xe2x88x92y] S1=[x+wxc2x7(n+1)xc2x7xcex1]xc2x7[(m+1) xc2x7xcex1xe2x88x92y] S2=[(n+1)xc2x7xcex1xe2x88x92x]xc2x7[y+hxe2x88x92(m+1)xc2x7xcex1] S3=[(x+wxe2x88x92(n+1)xc2x7xcex1]xc2x7[y+hxe2x88x92(m+1)xc2x7xcex1] FIG. 6 is a graphic representation of an exposure map shown three-dimensionally and created by disassembling rendering data on a 60 xcexcmxc3x9760 xcexcm square in FIG. 20 using a 3.0 xcexcmxc3x973.0 xcexcm shot. For this exposure map, calculations are made over a range of 20xc3x9720 meshes each measuring 5.12 xcexcmxc3x975.12 xcexcm. The acquired values are each expressed as a percentage of the shot area included in each mesh, i.e., as an area ratio. A comparison of FIG. 6 with FIG. 21 indicates a uniform area ratio distribution obtained inventively over the region where the figure exists. The results remain the same when the shot size is set for 0.64 xcexcmxc3x970.64 xcexcm or when the mesh size is 5.12xcexcmxc3x975.12 xcexcm. Exposure maps may thus be created independently of the shot size as long as the mesh size is not exceeded by the shot. In other words, highly precise exposure maps are created without having to reduce the shot size as has been the case conventionally. According to the invention, the time required for the processing is shortened while precision is maintained. When the exposure process is performed with the proximity effect corrected by use of an inventive exposure map, patterns are exposed in high degrees of precision. Although it has been shown above that the judgments and area value computations are made by hardware on a pipeline basis, this is not limitative of the invention. Similar judgments and calculations may also be accomplished on a software basis. The method outlined above will now be described in more detail with reference to FIG. 7. The emphasis will be on the reasons why four partial memories are employed and why an adding circuit is incorporated to integrate four items of data held in the four partial memories (i.e., partial memories 34a through 34d explained with reference to FIGS. 3 and 4). Suppose that an exposure map has nine meshes (whose addresses are indicated by encircled numerals) as shown in FIG. 7, and that four shot data A, Axe2x80x2, Axe2x80x3 and Axe2x80x2xe2x80x3 have been input as indicated. A figure represented by the shot data A straddles the meshes having addresses 5, 6, 8 and 9. Likewise, a figure denoted by the shot data Axe2x80x2 straddles the meshes with addresses 1, 2, 4 and 5. A figure defined by the shot data Axe2x80x3 straddles the meshes with addresses 4 and 5, and a figure of the shot data Axe2x80x2xe2x80x3 straddles the meshes having addresses 1 and 4. Data to be written to the partial memories in this makeup are shown in Table 1. Illustratively, the shot A has its area value S0 written to address 5 of memory 0, its area value S1 written to address 6 of memory 1, its area value S2 written to address 8 of memory 2, and its area value S3 written to address 9 of memory 3. It should be noted that the shot area values are stored at different addresses in different memories. In the case of the shots Axe2x80x2 and Axe2x80x2xe2x80x3, their bottom left end point is included in the same mesh. For that reason, the area values S0xe2x80x2xe2x80x2and S0xe2x80x2xe2x80x3 are written to the same address of the same memory and so are the area values S2xe2x80x2 and S2xe2x80x2xe2x80x3. In the memories thus grouped, one signal address may have different values written thereto as shown in Table 1. This means that simply accessing one address in one memory does not provide a correct area value included in a mesh. The area value included in each mesh should thus be computed by reading area values from the same address in the four memories and by adding up the retrieved values. The calculations are performed on a pipeline basis by use of an adding circuit which is located downstream of the partial memories for the purpose of integrating four pieces of data. [Second Embodiment] With the first embodiment shown in FIGS. 3 and 4, simplified address assignments make it relatively easy to build circuitry. However, because each address is assigned to four memories in replicated fashion, the embodiment requires four times as much storage space as that of the single memory setup. Increased memory requirements signify a growing number of circuit elements needed, which makes mounting of component parts on the substrate more difficult and incurs higher costs than before. The second embodiment, by contrast, provides an appreciable saving in the total amount of partial memories by dividing exposure map addresses into four portions each allocated to a partial memory. With reference to FIG. 9 showing relations between meshes on the one hand and partial memories on the other hand, description will now be made in detail of the memories and their addresses for accommodating area values S0, S1, S2 and S3 of each shot divided between meshes. Four memories are used to retain different data. It is thus necessary to regard each address as representative of four meshes so that their data will not conflict. FIG. 9 shows a partial region made of Moxc3x97Na meshes in groups of four, with each mesh group assigned an address. Each encircled numeral corresponding to a group of four meshes represents a partial memory address. Of the four meshes given an identical address, the bottom left mesh is allocated to the partial memory 0, the bottom right mesh to the partial memory 1, the top left mesh to the partial memory 2, and the top right mesh to the partial memory 3. When area density data on each mesh are to be stored, a normal mesh address is halved and the halved addresses are used as the addresses of partial memories (0 through 3). If a shot straddles a boundary where addresses change from one partial memory to another, the memories need to be switched so as to accommodate the area values, and the addresses also need to be changed. If a partial memory address is assumed to be (M, N) and if the remainder involved is assumed to be (M LSB, N LSB), these values are defined by expression (2) as follows: M=Floor[m(i)/2], MLSB=Mod[m(i)/2] N=Floor[n(i)/2], NLSB=Mod[n(i)/2]xe2x80x83xe2x80x83(2) where, Floor[a/b] stands for the quotient (integer) of a/b and Mod[a/b] for the remainder (integer) of a/b. In other words, a mesh address (m, n) is defined by expression (3) given below. The address may be expressed by data with the least significant bits given as (M LSB, N LSB) as shown in FIG. 10. m(i)=2xc3x97M+MLSBn(i)=X2xc3x97N+NLSBxe2x80x83xe2x80x83(3) The numeral of each partial memory and its address are designated by use of the above parameters. A point of reference is assumed to be located in the mesh including the bottom left end point of a shot. Judgments are then formed about address (m, n) of the mesh in which the bottom left end point of the shot is found. In that case, there are provided four conditions in which to divide the area value of the shot in question and to store the divided values. The divided shot area values S0, S1, S2 and S3 are written to designated addresses in designated partial memories as will be shown below. The values S0, S1, S2 and S3 stand for the area values included in the meshes (m, n), (m, n+1), (m+1, n) and (m+1, n+1) respectively. In the description that follows, a partial memory address is given as (M, N) under conditions (i) through (iv) for purpose of simplification and illustration. In practice, the address of a given partial memory is defined by expression (4) below. (Partial memory address)=Mxc3x97(Ns/2)+Nxe2x80x83xe2x80x83(4) where M=0, 1, 2, . . . , Ms/2 and N=0, 1, 2, . . . , Na/2. Condition (i) This is a case where the entire shot is included in a partial memory with address (M, N) such as is shown in FIG. 11, i.e., where the least significant bits of (m, n) are both zero, or {M LSB=0}∩{{N LSB=0. In this case, the area values S0, S1, S2 and S3 are written to the partial memory addresses designated as shown in Table 2. Condition (ii) This is a case where the shot straddles partial memories with addresses (M, N) and (M, N+1) such as is shown in FIG. 12, i.e., where the least significant bits of xe2x80x9cmxe2x80x9d and xe2x80x9cnxe2x80x9d are 0 and 1 respectively, or {M LSB=0}∩{{N LSB=1}. In this case, the area values S0, S1, S2 and S3 are written to the partial memory addresses designated as shown in Table 3. Condition (iii) This is a case where the shot straddles partial memories with addresses (M, N) and (M+1, N) such as is shown in FIG. 13, i.e., where the least significant bits of xe2x80x9cmxe2x80x9d and xe2x80x9cnxe2x80x9d are 1 and 0 respectively, or {M LSB=1}∩{{N LSB=0}. In this case, the area values S0, S1, S2 and S3 are written to the partial memory addresses designated as shown in Table 4. Condition (iv) This is a case where the shot straddles all for partial memories such as is shown in FIG. 14, i.e., where the least significant bits of xe2x80x9cmxe2x80x9d and xe2x80x9cnxe2x80x9d are both 1, or {M LSB=1}∩{{N LSB=1}. In this case, the area values S0, S1, S2 and S3 are written to the partial memory address designated as shown in Table 5. Table 6 below summarizes the partial memory assignments relative to the area values shown illustratively above. FIG. 15 schematically depicts how area values divided by mesh boundaries are typically allocated to partial memories. In FIG. 15, a simplified map of 4xc3x974 meshes is shown containing shots 1 through 4. If the map is assumed to be divided into groups of 2xc3x972 meshes, then the partial memories are given four addresses ({circle around (1)} through {circle around (4)}. In FIG. 15, each region enclosed by thin lines is a mesh, and each region enclosed by thick lines is covered by a partial memory address. If it is assumed that a shot xe2x80x9cnxe2x80x9d is divided by mesh boundaries into areas whose values are S0(n), S1(n), S2(n) and S3(n), then these area values are written to addresses of partial memories as designated in Table 7 that follows. Illustratively, the area of the shot 4 is divided so that the divided area values are stored into the memories as shown below. S0(4)xe2x86x92written to address {circle around (1)} of partial memory 3 S1(4)xe2x86x92written to address {circle around (2)} of partial memory 2 S2(4)xe2x86x92written to address {circle around (3)} of partial memory 1 S3(4)xe2x86x92written to address {circle around (4)} of partial memory 0 FIG. 8 is a block diagram of another proximity effect correcting unit of the invention. In FIG. 8, the components with their functionally identical or equivalent. counterparts included in FIG. 3 are designated by like reference numerals. In this proximity effect correcting unit, partial memories 44a through 44d are laid out in the same manner as in the circuit of FIG. 3 while a selector 41 is located downstream of area value computing units 33a through 33d which calculate area values for each mesh. The selector 41 judges through address calculations which of the four meshes (bottom left, bottom right, top left, top right) enclosed by thick lines in FIG. 9 corresponds to the position of the mesh whose area value has been computed. In so doing, the selector 41 selects one of partial memories 0 through 3 in which to store the calculated area value. The address of the selected partial memory is sent from an address computing unit 38. The area value is then written to four partial memories 44a through 44d in accordance with the assignments shown in Tables 2 through 5. At the same time, the data at the same address in the partial memories 44a through 44d are retrieved therefrom and added to the data existing at the same address before the write operation. In practice, to retrieve the existing data requires selecting the partial memories 44a through 44d. The requirement is met by a selector 42 located downstream of the partial memories 44a through 44d. Alternatively, the selector 42 is not needed if a downstream exposure map 36 is constituted by four memories. In such a case, the partial memory numbers (i.e., partial memories 0 through 3) need only be assigned to the four exposure map memories. More specifically, the selector 42 may be omitted where the partial memory 0 is allocated to the exposure map memory 0, the partial memory 1 to the exposure map memory 1, partial memory 2 to the exposure map memory 2, and the partial memory 3 to the exposure map memory 3. This arrangement affords an appreciable memory saving. With the area of the memory layout thus reduced, the area for mounting component parts is diminished correspondingly. Although the examples above have been shown utilizing partial memories, this is not limitative of the invention. Alternatively, area values or area density data may be written directly to the exposure map, i.e., without memory intervention. As described and according to the invention, highly precise exposure maps are created regardless of the shot size. With no need to minimize the shot size, the time required to create exposure maps is shortened substantially. As many apparently different embodiments of this invention may be made without departing from the spirit and scope thereof, it is to be understood that the invention is not limited to the specific embodiments thereof except as defined in the appended claims.