CAD Data compressing method and apparatus thereof

Abstract: A CAD data compressing method is disclosed, that comprises the steps of generating a component figure list, and generating data of a plurality of pattern groups each containing a pointer to a component figure of the component figure list.

Description: Background of the Invention Field of the Invention: The present invention relates to a data compressing method and a data compressing apparatus and in particular, to a CAD (Computer Aided Design) data compressing method and an apparatus thereof. Description of the Prior art: As semiconductor devices are being microscopically structured, the data amount of CAD data for drawing patterns of masks and reticles used for a lithographing process of a semiconductor fabrication is drastically increasing. When CAD data is created, a data amount compressing method using a feature that drawing patterns are repeated is used. However, even if CAD data is compressed, because the resultant data may be as large as several Gbytes, whereas the file size has an upper limit of 1 Gbytes to 4 Gbytes, conventional operating systems cannot handle such huge CAD data. Although a particular OS version may handle such a huge file, the huge file occupies a large disc space. Consequently, it is difficult to use many files of CAD data on the same disc. In addition, since the data amount of CAD data is large, it takes a long time to transmit a file of CAD data through a network as well as reading and writing it. Therefore, in addition to drawing a pattern, it takes a long time to prepare the drawing operation. Moreover, when defects of a mask and a reticle are inspected, such CAD data should be handled. Thus, the inspection time tends to become long. Consequently, the data amount of CAD data should be further reduced. Fertman and Ashida of Sony Corp (JPA 9-128421) and Tsujimura of Fujitsu Limited (JPA 5-29188) disclose CAD data compressing methods. According to these methods, a repetitive pattern group is stored to a dedicated area of a file or a separate file. When such a repetitive pattern group is described, only the position thereof is referenced. As a result, the same pattern group can be prevented from being repetitively described. As a result, CAD data can be compressed at high compression ratio. In that case, a pattern group represents a set of rectangles and trapezoids that are basic figures of CAD data of masks and reticles. A similar, but not the same, technology has been used in a CAD format of a mask drawing apparatus of Nippon Denshi K.K. (JBX-7000 MV, JEOL 52 (V.2.1) format specification). Moreover, Nakajima and Oonuma of Sony Corp. (JPA 10-149378) disclose another CAD data compressing method. According to the CAD data compressing method, repetition information such as repetition intervals of a pattern group and the number of repetition times is stored to a dedicated area of a file or another file. When the pattern group is repeated, the repetition information is referenced. Thus, repetition information can be prevented from being redundantly described. As a result, the compression ratio of CAD data is improved. T. Kronmiller ("Efficient handling of large wiring data in TANGATE", ICCAD-88, IEEE INTERNATIONAL CONFERENCE, Santa Clara, CA, USA 7-10 November 1988; Washington, DC, USA, IEEE COMPUT. SOC. PR, US, 7 November 1988, pages 388-391, XP010013271, ISBN: 0-8186-0869-2) suggests various techniques to reduce the size of CAD data used for chip physical layout. These techniques include i.a. storing patterns as object arrays instead of sets of linked lists, so as to avoid the need for pointers. Objects in an array can be referenced more than once, but there is no explicit mention of storing single components or subpattems in the arrays. However, such prior art references have disadvantages as follow:. (1) Even if a part of basic figures in a pattern group is the same as a part of basic figures in another pattern group, the presence of such a common basic is not described. Thus, if a pattern group is slightly different from another pattern group, they are registered as different pattern groups with a list (see Fig. 1). (2) There is no description as to how to handle a CAD data in which repetitive figures and non-repetitive figures co-exist. (3) Although repetitive figures and repetitive pattern groups are registered with a list, if they are referenced only one time, information amount that represents the reference destination is additionally required (show in Fig. 2). (4) If the number of repetition times of a repetitive figure is large, the information amount (the number of bits) that represents the number of repetition times becomes large. Thus, the number of bits exceeds a pre-allocated memory area. In contrast, if the pre-allocated memory area is too large, the compression effect will deteriorate. For example, if the number of repetition times of a repetitive pattern is 255 or less, the number of repetition times can be represented by 8 bits. However, even if the number of repetition times of a single repetitive pattern exceeds 255, the number of repetition times must be 9 bit or more. (5) There is no description as to whether repeated is a single figure, a pattern group composed of a plurality of figures, or a pattern repeated once more. If each data structure is different from other data structure and pattern types are not identified, data are not correctly developed (shown in Fig. 3). (6) According to the prior art references of Fertman, Ashida, Nakajima, and Oonuma, figures that constitute one pattern group are determined depending on whether repetition information of figures in a particular region is the same. However, when the number of figures contained in the region is very large, such a searching method requires a very long time. (7) As a procedure for determining whether or not an inspected figure is repeated, Fertman and Ashida has proposed a technology for automatically extracting repetition information. However, the method using repetition information of CAD data disclosed by Nakajima and Oonuma is superior to the method disclosed by Fertman and Ashida in compressing time. However, even in the method disclosed by Nakajima and Oonuma, if the numbers of repetition times in the repetition information are different from one another, the repetition information is not compressed. Summary of the Invention The present invention has been made to solve the aforementioned disadvantages. According to the present invention, there is provided a CAD data compressing method as set out in claim 1, a CAD data compression system as set out in claim 11, and a computer program product as set out in claim 21. These and other objects, features and advantages of the present invention will become more apparent in light of the following detailed description of the best mode embodiment thereof, as illustrated in the accompanying drawings. Brief Description of Drawings Fig. 1 is a schematic diagram showing an example of the structure of CAD data according to a prior art reference; Fig. 2 is a schematic diagram for explaining a third problem of prior art references; Fig. 3 is a schematic diagram for explaining a fifth problem of the prior art references; Fig. 4 is a block diagram showing the structure of a CAD data compressing apparatus according to an embodiment of the present invention; Fig. 5 is a schematic diagram showing the structure of CAD data of which data of a pattern group generated by a CAD data compressing method according to the embodiment of the present invention contains a pointer to a common component figure in a common component figure list; Fig. 6 is a schematic diagram showing the structure of CAD data of which data of a pattern group generated by the CAD data compressing method according to the embodiment of the present invention contains a pointer to a common pattern group; Fig. 7 is a schematic diagram showing the structure of CAD data having single figure data, pattern group data, and repetitive pattern data generated by the CAD data compressing method according to the embodiment of the present invention contain a pointer to a component figure in a component figure list; Fig. 8 is a schematic diagram showing the data structure of a repetitive pattern that is repeated 1024 times generated in the case that the CAD data compressing method according to the embodiment of the present invention is not applied; Fig. 9 is a schematic diagram showing the data structure of a repetitive pattern generated by the CAD data compressing method according to the embodiment of the present invention in the case that the number of repetition times is divided by a predetermined number; Fig. 10 is a schematic diagram showing the data structure of a repetitive pattern that is repeated 1152 times and that is generated in the case that the CAD data compressing method according to the embodiment of the present invention is not applied; Fig. 11 is a schematic diagram showing the data structure of a repetitive pattern of which the number of repetition times cannot be divided by a predetermined number and that is generated corresponding to the CAD data compressing method of the embodiment of the present invention; Fig. 12 is a schematic diagram showing the data structure of a repetitive pattern generated corresponding to the CAD data compressing method according to the present invention and the data structure of a figure referenced by the repetitive pattern, an identifier being contained in the repetitive pattern, the identifier representing the type of data of the figure as the reference destination; Fig. 13 is a schematic diagram showing the data structure of a repetitive pattern generated corresponding to the CAD data compressing method according to the present invention and the data structure of a figure referenced by the repetitive pattern, an identifier being contained in the figure, the identifier representing the type of data of the figure as the reference destination; Fig. 14 is a schematic diagram showing the data structure of a file having a plurality of regions corresponding to types of data of reference destinations identified by an identifier contained in a figure as a reference destination, the file being generated by the CAD data compressing method according to the embodiment of the present invention; Fig. 15 is a schematic diagram showing a plurality of files corresponding to types of data of reference destinations identified by an identifier contained in a figure as a reference destination, the files being generated corresponding to the CAD data compressing method according to the embodiment of the present invention; Fig. 16 is a schematic diagram showing an example of a compression object having a plurality of pattern groups that are the same, the compression object being compressed by the CAD data compressing method according to the embodiment of the present invention; Fig. 17 is a schematic diagram showing a screen displayed by a displaying means in that case that the user designates a pattern group from the compression object shown in Fig. 16 using the displaying means and a region designating means according to the embodiment of the present invention; Fig. 18 is a schematic diagram showing a display screen corresponding to CAD data in the case that a part of repetitive pattern intervals is irregular; Fig. 19 is a schematic diagram showing a display screen corresponding to CAD data in the case that a particular part of a repetitive pattern is different from other figures; and Fig. 20 is a block diagram showing the structure of a CAD data compressing apparatus composed of a computer according to the embodiment of the present invention. Description of Preferred Embodiments To solve the disadvantages of the prior art references, the present invention has the following features. (1) When a part of basic figures in a pattern group is the same as a part of basic figures in another pattern group, the common basic figures are registered as component figures and respective pattern groups reference the component figures with pointers. For example, in Fig. 1, since A-1 and B-1 are the same figures; A-2 and B-2 are the same figures; and A-4 and B-4 are the same figures, such common figures are registered with a list as component figures as shown in Fig. 5,. Thereafter, the list is referenced. Alternatively, only common patterns are registered as another pattern group as shown in Fig. 6. Thereafter, the pattern group is referenced. Even in a case where a single figure is repeated, if the shape of the repetitive figure is the same as the shape of a component figure registered with a list, the list is referenced. Thus, the compression ratio will improve. (2) If an isolated figure that is not repeated is a single figure that is not referenced a number of times, vertex data is described. If an isolated figure that is not repeated is referenced from different positions a number of times, the isolated figure is registered with a list as a component figure. Data of each of isolated figures contains a pointer to the component figure registered with the list instead of vertex coordinates. In three cases, that is, in a case where the shape of an isolated figure that is not repeated is the same as the shape of a figure contained in an isolated pattern group that is not repeated, in a case where the shape of an isolated figure that is not repeated is the same as the shape of a single figure that is repeatedly referenced, and in a case where the shape of an isolated figure that is not repeated is the same as the shape of a basic figure in a pattern group repeatedly referenced, the isolated figure is registered with a list as a component figure. Thereafter, the list is referenced. Thus, the data compression ratio will improve (see Fig. 7). (3) A figure, a pattern group, or a repetitive pattern that is referenced about once is not registered with a list. Instead, the figure, the pattern group, or the repetitive pattern are directly stored to a file. (4) A pattern that is repeated a small number of repetitive times is registered as a repetitive pattern. When the repetitive pattern is referenced, the number of bits allocated to information that represents the number of repetition times can be decreased. For example, 10 bits are required for the information that represents the number of repetition times for a repetitive pattern that is repeated 1024 times as shown in Fig. 8. On the other hand, if a repetitive pattern that is repeated 256 times is referenced 4 times, the information that represents the number of repetition times can be decreased to 8 bits at most as shown in Fig. 9. In the example, it is assumed that the number of repetition times is any integer greater than zero. Although the number of repetitive patterns increases, if there are 1000 repetitive patterns whose number of repetition times is expressed with 8 bits or less, the data amount allocated to the information that represents the number of repetition times per pattern is at most 8 bits. Thus, data of 2 x 1000 bits can be reduced in comparison with the case that 10 bits are allocated to the information that represents the number of repetition times. If the number of repetition times of a desired wide region cannot be divided by the number of repetition times of a registered pattern that is repeated a small number of times, the region is separated to a dividable region and a remainder region. For example, if a repetitive pattern is repeated 1152 times as shown in Fig. 10, a repetitive pattern that is repeated 256 times is referenced four times. In addition, a repetitive pattern that is repeated 128 times is referenced one time as shown in Fig. 11). In the example, although the number of bits allocated to information that represents the number of repetition times of a repetitive pattern that is repeated 256 times is the same as the number of bits allocated to information that represents the number of repetition times of a repetitive pattern that is repeated 128 times as a fundamental rule, different bits may be allocated thereto as an exception. (5) An identifier that identifies whether referenced in a repetitive loop is a component figure registered with a list, a single figure that is not registered with a component figure list, a pattern group composed of a plurality of figures, or a repetitive pattern is added to a reference source as shown in Fig. 12. Alternatively, the identifier is added at the beginning of a pattern that is referenced as shown in Fig. 13. Alternatively, the type of data of a reference destination may be identified with an address. For example, when the address of a reference destination is a particular address, it may identify a component figure (see Fig. 14). Alternatively, a component figure list, a single figure list, a pattern group list, and a repetitive pattern list may be separately stored in respective files. Thereafter, those files are referenced (see Fig. 15). When a pattern group is referenced, the number of figures that constitute the pattern group should be described. When a repetitive pattern is referenced, the number of repetition times should be described.Even if an isolated pattern that is not repeated is referenced, an identifier that identifies whether the isolated pattern is a component figure, a single figure that is not registered with a component figure list, or a pattern group composed of a plurality of figures should be added. Alternatively, the type of the isolated pattern should be identified corresponding to an address. Alternatively, a component figure list, a single figure list, a pattern group list, and a repetitive pattern list are separately stored to respectively files. Thereafter, those files are referenced. (6) A pattern group is not only automatically designated corresponding to repetitive data of CAD data but also manually designated through an interface that allows the user to manually designate a set of figures as a pattern group corresponding to a repetitive state of CAD patterns graphically displayed on a browser. For example, when a pattern composed of a plurality of figures is repeated as shown in Fig. 16, the user can designate a pattern group with a mouse as shown in Fig. 17. The designated region is converted into CAD coordinate system so as to designate the designated pattern group. When the user visually designates a pattern group, he or she may mistake it. For example, there are a case where repetition intervals of a pattern group slightly differ depending on figures and a case where what seems to be repeated pattern groups is slightly different from repeated pattern groups. In order to cope with such cases, whether the pattern group that is considered to be repeated is regularly repeated in reality is determined by checking information with respect to the positions and shapes of figures in CAD data. (7) Whether a figure is repeated is not only automatically designated corresponding to repetition information in CAD data but also designated by graphically displaying CAD pattern and manually designating a pattern which should be an element to be repeated and a range where the pattern repeats. However, there is a case where the regularity of figures that are considered to be repeated breaks slightly. For example, there are a case where a distance between figures which is considered to be the same as the distances between the other figures is slightly different from the distances between the other figures in reality as shown in Fig. 18 and a case where a figure which is considered to be the same as the other figures is slightly different from the other figures as in reality shown in Fig. 19. In order to cope with such cases, whether the pattern group that is considered to be repeated is regularly repeated in reality is determined by checking information with respect to the positions and shapes of figures in CAD data. Next, with reference to Fig. 4, the structure of the CAD data compressing apparatus according to the embodiment of the present invention will be explained. The CAD data compressing apparatus comprises an input means 101, a displaying means 102, a region designating means 103, a pattern group registering means 104, a repetitive element registering means 105, a repetition region registering means 106, a repetition interval determining means 107, a pattern sameness determining means 108, a repetitive pattern registering means 109, a "number of repetition times" determining means 110, a repetitive pattern separating means 111, an identifier adding means 112, a "number of reference times" measuring means 113, a reference information registering means 114, a reference destination designating means 115, and an output means 116. The input means 101 inputs CAD data. The displaying means 102 graphically displays CAD data. The region designating means 103 allows the user to manually designate a region of the displayed CAD data. The pattern group registering means 104 automatically registers a pattern group corresponding to a user's command or coordinate values of figures in CAD data. The repetitive element registering means 105 registers a basic figure as a repetitive element corresponding to a user's command or coordinate values of figures in CAD data. The repetition region registering means 106 registers a repetition region corresponding to a user's command or coordinate values of figures in CAD data. The repetition interval determining means 107 determines whether or not repetition intervals of a repetitive element are constant. If the repetition intervals are not constant, the repetition interval determining means 107 issues an alarm to the user. The pattern sameness determining means 108 determines whether or not figures, pattern groups, or repetitive patterns that seem to be repetitive elements are the same. If the figures, pattern groups, or repetitive patterns are not the same, the pattern sameness determining means 108 issues an alarm to the user. The repetitive pattern registering means 109 registers a repetitive pattern. The "number of repetition times" determining means 110 determines whether or not the number of repetition times of a repetitive figure exceeds a predetermine value. If the number of repetition times of a repetitive figure exceeds the predetermine value, the repetitive pattern separating means 111 changes the data structure of the repetitive pattern so that a repetitive pattern whose number of repetition times does not exceeds the predetermined value is repetitively referenced. The identifier adding means 112 adds an identifier to a figure, a pattern group, a repetitive pattern, or repetition information such as the number of repetition times, intervals, or start point. The "number of reference times" measuring means 113 measures the number of reference times of a figure, a pattern group, a repetitive pattern, or repetition information. If the number of reference times is less than the predetermined value, the reference information registering means 114 stores the figure or the like to the file. If the number of reference times exceeds the predetermined value, the reference information registering means 114 register the figure or the like with a list. If the same figure, the same pattern group, the repetitive pattern, or the same repetition information is referenced from different positions, the reference destination designating means 115 designates a reference destination so that the same address on the list thereof is referenced. The output means 116 outputs a figure, a pattern group, a repetitive pattern, and repetition information together to a file or the like. Next, with reference to Fig. 4, the operation of the CAD data compressing apparatus according to the embodiment of the present invention will be explained. The input means 101 inputs CAD data. Generally, CAD data is represented as a set of vertex coordinates of a component figure. The displaying means 102 graphically displays CAD data. CAD data is displayed on a screen of, for example, a computer display device or a liquid crystal projector. The user can freely designate a display magnification of the CAD data. The region designating means 103 allows the user to manually designate a region which will be a target to be compressed. The user can designate a rectangle region with for example a computer mouse. The pattern group registering means 104 treats a plurality of figures contained in the region designated by the user with the mouse or corresponding to coordinate values that is input by the user with the keyboard as a pattern group and stores the pattern group to a file as shown in Fig. 3. If a plurality of figures are repetitively described, the pattern group registering means 104 automatically registers the figures as a pattern group to the file. If figures have the same repetition intervals, the same repetitive number of times, and almost the same repetitive start coordinate values, the pattern group registering means 104 registers those figures as one pattern group. The repetitive element registering means 105 stores a figure contained in a region designated by the user with the mouse or corresponding to a coordinate value that is input by the user with the keyboard as a repetitive element. Alternatively, the repetitive element registering means 105 searches CAD data for figures whose shape is the same and whose intervals are constant. When such figures are obtained, the repetitive element registering means 105 automatically stores the figures as repetitive elements. The repetition region registering means 106 stores a region designated by the user with the mouse or corresponding to a coordinate value that is input by the user with the keyboard as a repetition region. Alternatively, the repetition region registering means 106 automatically stores a region in which there are figures whose shapes are the same and whose intervals are constant as a repetition region. The repetition interval determining means 107 determines whether or not the repetition intervals of a repetitive element are constant in the repetition region on the basis of to coordinate value data of CAD data. When the repetition intervals are not constant, the repetition interval determining means 107 issues an alarm to the user using a buzzer, an alarm message on the display device, or the like. The pattern sameness determining means 108 determines whether or not figures, pattern groups, or repetitive patterns that seem to be repetitive elements are the same on the basis of coordinate values of CAD data. When they are not the same, the pattern sameness determining means 108 issues an alarm to the user using a buzzer, an alarm message on the display device, or the like. If the repetition interval determining means 107 and the pattern sameness determining means 108 have not issued an alarm for a pattern to the user, the repetitive pattern registering means 109 registers the pattern as a repetitive pattern with a file as shown in Fig. 3. The "number of repetition times" determining means 110 determines whether or not the number of repetition times of a repetitive figure exceeds a predetermined value. If the number of repetition times exceeds the predetermined value as the determined result of the "number of repetition times" determining means 110, the repetitive pattern separating means 111 changes the data structure of the repetitive pattern so that a repetitive pattern whose number of repetition times does not exceed the predetermined value is referenced. For example, a repetitive pattern that references the same pattern 1024 times as shown in Fig. 8 is separated so that a first repetitive pattern references a second repetitive pattern 4 times and the second repetitive pattern references the same pattern 256 times. For another example, when the same pattern is referenced 1152 times as shown in Fig. 10, a first repetitive pattern references a second repetitive pattern 4 times and a third repetitive pattern once, the second repetitive pattern references the same pattern 256 times, and the third repetitive pattern references the same pattern 128 times. The identifier adding means 112 adds an identifier to a figure, a pattern group, a repetitive pattern, and repetition information such as the number of repetition times, intervals, and start points. When the number of types of information amount to be identified is four, data of 2 bits such as 0x00, 0x01, 0x10, and 0x11 are required. The identifier may be added to a reference source when referenced as shown in Fig. 12 or to data of a reference destination as shown in Fig. 13. Alternatively, unique addresses corresponding to types of data may be designated as shown in Fig. 14. Alternatively, individual types of data may be stored to respective files as shown in Fig. 15. The "number of reference times" measuring means 113 measures and stores the number of reference times of a figure, a pattern group, a repetitive pattern, or repetition information. If the number of reference times obtained by the "number of reference times" measuring means 113 is less than the predetermined value, the reference information registering means 114 adds a predetermined identifier to the compression object and stores the resultant object to the file. For example, individual types of information to be referenced are stored as shown in Fig. 3. When the number of reference times exceeds the predetermined value, the list of reference data is registered. When the compression object is a component figure, it is registered in the format of the component figure list shown in Fig. 5. The reference destination designating means 115 compares the shapes and repetition information of figures that have been registered. When the same shape and the same repetition information are obtained, the reference destination designating means 115 unifies the figures together. At that point, the reference destination designating means 115 corrects reference destinations so that corrected reference destinations point to the address of the unified object. The output means 116 outputs the lists of figures, pattern groups, repetitive patterns and repetition information to a single file or respective files. As long as the following restrictions are kept, the order of means 101 to 116 can be changed. The input means 101 should be located at the first stage. The output means 116 should be located at the final stage. The displaying means 102 should be followed by the region designating means 103. The region designating means 103 should be followed by the pattern group registering means 104, the repetitive element registering means 105, and the repetition region registering means 106. The repetitive element registering means 105 and the repetition region registering means 106 should be followed by the repetition interval determining means 107, the "number of repetition times" determining means 110, and the pattern sameness determining means 108. The repetition interval determining means 107 and the pattern sameness determining means 108 should be followed by the repetitive pattern registering means 109. The "number of repetition times" determining means 110 should be followed by the repetitive pattern separating means 111. The "number of reference times" measuring means 113 should be followed by the reference information registering means 114. The reference information registering means 114 should be followed by the reference destination designating means 115. The CAD data compressing apparatus that accomplishes the above-mentioned CAD data compressing method may be realized on a computer. With reference to Fig. 20, the computer that constitutes the CAD data compressing apparatus comprises a CPU 1001, a main memory 1002, an external storing device 1003, an input device 1004, an interface 1005, a display device 1006, a printer 1007, and a bus 1000 connecting these devices. The CPU 1001 is, for example, a microprocessor, a microcomputer, or a DSP. The main memory 1002 is, for example, a RAM. The external storing device 1003 is, for example, a hard drive, an optical disc, or a magneto-optical disc. The input device 1004 is, for example, a mouse, a keyboard, and/or a data tablet. The interface 1005 is a communication information connected to, for example, a web server. The display device 1006 is for example a CRT or an LCD. The CPU 1001 executes instructions in a computer program so that the CPU 1001 functions as the input means 101, the region designating means 103, the pattern group registering means 104, the repetitive element registering means 105, the repetition region registering means 106, the repetition interval determining means 107, the pattern sameness determining means 108, the repetitive pattern registering means 109, the "number of repetition times" determining means 110, the repetitive pattern separating means 111, the identifier adding means 112, the "number of reference times" measuring means 113, the reference information registering means 114, the reference destination designating means 115, and the output means 116. These functions accomplish the above-explained compressing method. The display device 1006 is equivalent to the displaying means 102. The above-explained computer program is prestored in the external storing device 1003. When the program is executed, the CPU 1001 loads the program to the main memory 1002 so as to fetch instructions of the program. The input means 101 reads CAD data from a data file stored in the external storing device 1003. The output means 116 writes a file containing the compressed data to the external storing device 1003. As was explained above, the present invention takes the following effects. (1) If the shapes of basic figures as structural elements of a plurality of pattern groups are the same, the figures are registered as component figures. Each pattern group references the component figures with a pointer or the like. Thus, since the same data is prevented from being redundantly registered, the data compression ratio will improve. Even if a single figure is repeated, when the shape of the repetitive figure is the same as the shape of a component figure registered with a list, the list is referenced. Thus, the compression ratio will improve. (2) Since an isolated figure that is not repeated is registered as a component figure with a list, the data compression ratio will improve. (3) A figure, a pattern group, or a repetitive pattern that is referenced about once is not registered with a list. Instead, the figure, the pattern group, or the repetitive pattern is directly stored to a file. Thus, the data compression ratio can be prevented from deteriorating. (4) A pattern that is repeated a small number of repetition times is registered as a repetitive pattern, and then the repetitive pattern is referenced. Therefore, the number of bits allocated to information that represents the number of repetition times can be decreased. Thus, the data compression ratio will improve. (5) An identifier that identifies whether referenced in a repetition loop is a component figure registered with a list, a single figure that is not registered with a component figure list, a pattern group composed of a plurality of figures, or a repetitive pattern is added. Thus, data can be correctly developed. Even for an isolated pattern that is not repeated, an identifier that identifies whether the isolated pattern is a component figure, a single figure that is not registered with a component figure list, or a pattern group composed of a plurality of figures is added. Thus, data can be correctly decompressed. (6) Since the user can manually designate a pattern group, the time necessary for searching for figures which constitute a certain pattern group can be remarkably reduced. (7) In a case where it is determined whether or not a certain figure is repeated, the user can manually designate a pattern element that becomes a repetitive element and the repetition region. Thus, the time necessary for searching for a repetitive element and a repetition region can be remarkably reduced. Although the present invention has been shown and explained with respect to the best mode embodiment thereof, it should be understood by those skilled in the art that the foregoing and various other changes, omissions, and additions in the form and detail thereof may be made therein without departing from the scope of the present invention as defined in the appended claims.

Claims: A CAD data compression method applied to CAD data defined patterns for lithographic semiconductor fabrication, comprising the steps of: generating a component figure list (201) comprising a plurality of component figures representing common figure in the CAD data; and generating based on the CAD data at least one of single figure data (202), pattern group data (203) and repetitive pattern data (204), wherein said single figure data (202) contains a pointer (205) to one of said plurality of component figures in said component figure list (201), wherein said pattern group data (203) contains at least one pointer (206) to one of said plurality of component figures in said component figure list (201), and wherein said repetitive pattern data (204) contains a pointer (207) to one of said plurality of component figures in said component figure list (201). The CAD data compression method as set forth in claim 1, further comprising the steps of: generating pattern group data (203-1) containing a pointer (207) to other pattern group (203-2). The CAD data compression method as set forth in claim 1, further comprising the steps of: generating repetitive pattern data (209-1); and generating other repetitive pattern (204-2) containing a pointer (208) to said repetitive pattern data (204-1). The CAD data compression method as set forth in claim 1, further comprising the steps of: generating first repetitive pattern data (204-3); generating second repetitive pattern data (204-4); and generating third repetitive pattern data (204-5) containing a pointer (209) to said first repetitive pattern data (204-3) and another pointer (210) to said second repetitive pattern data (204-4). The CAD data compression method as set forth in claim 1, further comprising the steps of: generating first data (211) of a component figure, a single figure, a pattern group, or a repetitive pattern, and generating second data (204-6) of a repetitive pattern containing a pointer to said first data and an identifier representing whether said first data which is pointed by said pointer is of said component figure, said single figure, said pattern group, or said repetitive pattern. The CAD data compression method as set forth in claim 1, further comprising the steps of generating a set (212) of first data of a component figure, a single figure, a pattern group, or a repetitive pattern and an identifier representing whether said first data is of said component figure, said single figure, said pattern group, or said repetitive pattern; and generating second data (204-7) of a repetitive pattern containing a pointer to the generated set (212). The CAD data compression method as set forth in claim 1, further comprising the steps of: generating first data of a component figure, a single figure, a pattern group, or a repetitive pattern in one of designated regions (213, 214, 215, 216) for a component figure, a single figure, a pattern group, and a repetitive pattern; and generating second data of a repetitive pattern containing a pointer to said first generated data. The CAD data compression method as set forth in claim 1, further comprising the steps of: generating first data of a component figure, a single figure, a pattern group, or a repetitive pattern in one of designated files (217, 218, 219, 220) for a component figure, a single figure, a pattern group, and a repetitive pattern; and generating second data of a repetitive pattern containing a pointer to said first data. The CAD data compressing method as set forth in claim 1, further comprising the steps of: selecting a repetitive pattern group (221) from an input figure group corresponding to a user's operation of an input device; and determining whether or not the selected pattern group is regularly repeated corresponding to CAD data which is an input compression source. The CAD data compressing method as set forth in claim 9, further comprising the step: selecting a region for determining whether or not the selected pattern group is regularly repeated corresponding to the user's operation of the input device. A CAD data compression system applied to CAD data defined patterns for lithographic semiconductor fabrication, comprising: means for generating a component figure list (201) comprising a plurality of component figures representing common figures in the CAD data; and means for generating based on the CAD data at least one of single figure data (202), pattern group data (203) and repetitive pattern data (204), wherein said single figure data (202) contains a pointer (205) to one of said plurality of component figures in said component figure list (201), wherein said pattern group data (203) contains at least one pointer (206) to one of said plurality of component figures in said component figure list (201), and wherein said repetitive pattern data (204) contains a pointer (207) to one of said plurality of component figures in said component figure list (201). The CAD data compression system as set forth in claim 11, further comprising: means for generating pattern group data (203-1) containing a pointer (207) to other pattern group (203-2). The CAD data compression system as set forth in claim 11, further comprising: means for generating repetitive pattern data (204-1); and means for generating other repetitive pattern (204-2) containing a pointer (208) to said repetitive pattern data (204-1). The CAD data compression system as set forth in claim 11, further comprising: means for generating first repetitive pattern data (204-3); means for generating second repetitive pattern data (204-4); and means for generating third repetitive pattern data (204-5) containing a pointer (209) to said first repetitive pattern data (204-3) and another pointer (210) to said second repetitive pattern data (209-43. The CAD data compression system as set forth in claim 11, further comprising: means for generating first data (211) of a component figure, a single figure, a pattern group, or a repetitive pattern; and means for generating second data (204-6) of a repetitive pattern containing a pointer to said first data and an identifier representing whether said first data which is pointed by said pointer is of said component figure, said single figure, said pattern group, or said repetitive pattern. The CAD data compression system as set forth in claim 11, further comprising: means for generating a set (212) of first data of a component figure, a single figure, a pattern group, or a repetitive pattern and an identifier representing whether said first data is of said component figure, said single figure, said pattern group, or said repetitive pattern; and means for generating second data (204-7) of a repetitive pattern containing a pointer to the generated set (212). The CAD data compression system as set forth in claim 11, further comprising: means for generating first data of a component figure, a single figure, a pattern group, or a repetitive pattern in one of designated regions (213, 214, 215, 216) for a component figure, a single figure, a pattern group, and a repetitive pattern; and means for generating second data of a repetitive pattern containing a pointer to said first generated data. The CAD data compression system as set forth in claim 11, further comprising: means for generating first data of a component figure, a single figure, a pattern group, or a repetitive pattern in one of designated files (217, 218, 219, 220) for a component figure, a single figure, a pattern group, and a repetitive pattern; and means for generating second data of a repetitive pattern containing a pointer to said first data. The CAD data compressing system as set forth in claim 11, further comprising: means for selecting a repetitive pattern group (221) from an input figure group corresponding to a user's operation of an input device; and means for determining whether or not the selected pattern group is regularly repeated corresponding to CAD data which is an input compression source. The CAD data compressing system as set forth in claim 19, further comprising: means for selecting a region for determining whether or not the selected pattern group is regularly repeated corresponding to the user's operation of the input device. A computer program product for having a computer execute a CAD data compression method applied to CAD data defined patterns for lithographic semiconductor fabrication, said method comprising the steps of : generating a component figure list (201) comprising a plurality of component figures representing common figures in the CAD data; and generating based on the CAD data at least one of single figure data (202), pattern group data (203) and repetitive pattern data (204), wherein said single figure data (202) contains a pointer (205) to one of said plurality of component figures in said component figure list (201), wherein said pattern group data (203) contains at least one pointer (206) to one of said plurality of component figures in said component figure list (201), and wherein said repetitive pattern data (204) contains a pointer (207) to one of said plurality of component figures in said component figure list (201). The computer program product as set forth in claim 21, wherein said method further comprises the steps of: generating pattern group data (203-1) containing a pointer (207) to other pattern group (203-2). The computer program product as set forth in claim 21, wherein said method further comprises the steps of: generating repetitive pattern data (204-1); and generating other repetitive pattern (204-2) containing a pointer (208) to said repetitive pattern data (204-1). The computer program product as set forth in claim 21, wherein said method further comprises the steps of: generating first repetitive pattern data (204-3); generating second repetitive pattern data (204-4); and generating third repetitive pattern data (204-5) containing a pointer (209) to said first repetitive pattern data (204-3) and another pointer (210) to said second repetitive pattern data (204-4). The computer program product as set forth in claim 21, wherein said method further comprises the steps of: generating first data (211) of a component figure, a single figure, a pattern group, or a repetitive pattern; and generating second data (204-6) of a repetitive pattern containing a pointer to said first data and an identifier representing whether said first data which is pointed by said pointer is of said component figure, said single figure, said pattern group, or said repetitive pattern. The computer program product as set forth in claim 21, wherein said method further comprises the steps of: generating a set (212) of first data of a component figure, a single figure, a pattern group, or a repetitive pattern and an identifier representing whether said first data is of said component figure, said single figure, said pattern group, or said repetitive pattern; and generating second data (204-7) of a repetitive pattern containing a pointer to the generated set (212). The computer program product as set forth in claim 21, wherein said method further comprises the steps of: generating first data of a component figure, a single figure, a pattern group, or a repetitive pattern in one of designated regions (213, 214, 215, 216) for a component figure, a single figure, a pattern group, and a repetitive pattern; and generating second data of a repetitive pattern containing a pointer to said first generated data. The computer program product as set forth in claim 21, wherein said method further comprises the steps of: generating first data of a component figure, a single figure, a pattern group, or a repetitive pattern in one of designated files (217, 218, 219, 220) for a component figure, a single figure, a pattern group, and a repetitive pattern; and generating second data of a repetitive pattern containing a pointer to said first data. The computer program product as set forth in claim 21, wherein said method further comprises the steps of: selecting a repetitive pattern group (221) from an input figure group corresponding to a user's operation of an input device; and determining whether or not the selected pattern group is regularly repeated corresponding to CAD data which is an input compression source. The computer program product as set forth in claim 29, wherein said method further comprises the step: selecting a region for determining whether or not the selected pattern group is regularly repeated corresponding to the user's operation of the input device.

Inventors: SHIBA HISASHI, SHIBA, HISASHI
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 2000
Main classification: G06T9
IPC codes: G06F17, G06T9, H01L21