Inversion program permits multitone photomasks
Pattern generators to write physical photomasks are essential to the production of electronic and optoelectronic circuits. While patterns are written by raster scanning in electron-beam (e-beam) exposure, optical-pattern generators expose areas by flashing light through apertures of different sizes.
Most optical masks are either bright field or dark field--opaque circuits with surrounding areas transparent or vice versa. Depending on whether a positive or negative photoresist or a deposition or an etching process is used, either a bright-field or dark-field mask is called for. An electron-beam system can write either mask with the same data set--a flag determines whether the pattern should be opaque or transparent. However, for optical pattern generators to reverse the tone of a mask, a new data set depicting surrounding areas conjugate to the positive patterns is needed. This situation also applies to e-beam exposure if bright and dark sub-fields are present on one mask.
Mask layout programs generate positive circuit patterns and not their surroundings. For a negative mask, either a negative copying process is used or the negative patterns must be created manually--quite a task because negative patterns require different drawing guidelines. In drawing positive masks, patterns are allowed to overlap and no clearance margin is needed when a block is defined, but these features make pattern inversion difficult.
To invert from positive to negative masks, we have developed a program written for AutoCAD, from AutoDESK (Sausalito, CA), in DXF format. Here DXF files are ASCII files that can be read by any text editor or conversion program. The codes are written in C and have been compiled as extended DOS, Windows, or UNIX applications.
Mask inversion involves merging intersecting features, dissecting merged patterns, delineating the surrounding areas, and optimization. For simplicity, the inversion program deals with only one AutoCAD area drawing feature, the zero-width polyline. A preprocessor expands its capability by linking lines and arcs into closed areas and by converting all area drawing features of AutoCAD into polylines. Blocks are exploded. Any questionable entities, such as an open boundary, are moved to a dedicated layer, appearing on the screen in a different color for user identification and correction.
The mask inversion routine reads the DXF file, which now has only zero-width polylines and nonoverlapping blocks, and prompts the user for a rectangular frame. All mask patterns within this frame are inverted.
All overlapping polylines are merged forming larger patterns, but there is no overlap among merged patterns. Merging may result in formation of outer and inner loops where one boundary is completely enclosed by another. For a positive mask, the inner loop becomes an area to be doubly exposed. For the negative mask, the inner loop is simply another boundary to define the pattern.
Different algorithms are needed when a pattern merges with an inner and an outer loop. For the outer loop, merging extends its boundary outward. The inner loop has its boundary contracted inward. A double merging algorithm properly merges such patterns. After merging, the program finds a set of dissecting lines passing through all enclosed areas, including inner and outer loops, splitting the mask into zones. Negative mask patterns are obtained by tracing the surrounding areas in each zone with zero-width polylines (see Fig. 1).
Several code attributes optimize writing negative mask patterns. The number of zones is kept to a minimum. Otherwise the patterns would be composed of long and often narrow stripes, and, unless the pattern-generator post-processor knows how to merge such features, a long time would be needed to write the mask. Small rectangular or square features frequently used as alignment marks are also linked together, reducing the number of zones. And the use of blocks not only facilitates placement of repetitive patterns but reduces the number of dissecting lines (see Fig. 2). When a block is encountered, the user determines a margin of clearance to be added to the extreme coordinates of all blocks in the frame, forming rectangular subframes. The patterns within the margin are inverted, and the inverted block is inserted at appropriate locations. Within the block, fine dissecting lines are still needed to invert patterns, but these are short, comparable to feature size within the block, and do not prolong mask writing time.
Also an optimization algorithm merges adjacent polylines without creating any inner loops. One result of this optimization is that the dissecting lines will not always extend to the rectangular frame; they may terminate at an internal boundary.
The mask-inversion program also performs area subtraction (the mask inversion process is itself a special case of area subtraction). In a general area subtraction, the base of subtraction is the outermost polyline with the only constraint being that it should not pass through any features to be subtracted because it would merge with them in the process. For example, an annular ring defined by two concentric circles is normally a design flaw because only the larger circular disk would appear on the mask--the inner loop is an area to be doubly exposed. With the mask-inversion program, however, an existing polyline can be used as the base of subtraction. By subtracting an inner disk from an outer disk, an annular ring is created.
With the mask-inversion program, photomasks are no longer limited to a single tone. Both bright-field and dark-field patterns can now be combined onto one photomask, aiding experimental circuit designers. More information and demonstrations can be found at http:/ /conpho-3.eng.buffalo.edu/mask.
The author would like to thank engineers at Applied Image (Rochester, NY) for their suggestions and T. D. Osborn of Allied Signal (Richland, WA) for the mask patterns.
Figure 1. Original positive AutoCAD mask patterns contain overlapping features such as annular rings composed of two overlapping half rings with protruding curved arms (top). Red polylines define patterns; yellow indicates areas to be exposed. Negative patterns generated by the inversion program indicate methods used in the process (bottom)--overlapping polylines are merged into loops, the mask is divided into zones by dissecting lines, and the inverted patterns are obtained by tracing the surrounding areas with zero-width polylines. For mask writing efficiency, the small squares are all connected, and thus only a single dissecting line is needed for such connected features.
FIGURE 2. Small rectangular structures near the margin and in the corner of an original positive mask are used as alignment marks (top). In the inverted mask (bottom), blue polylines define boundaries and green indicates areas to be filled. Alignment marks are grouped into two blocks to enhance the efficiency of writing the negative mask; only one dissecting line is needed for each block.