Applications for GDS_RIP

There are a variety of reasons why one may want to rasterize all or part of a GDSII layout.


    Mask Writer

    Masks are generally written (exposed) using an optical or EUV beam which is modulated while it is scanned across a small region.

    It is necessary to convert the GDSII polygon data into pixels in order to drive the beam modulator. The number of pixels required can be enormous. For example, a 1x1 mm region at 0.125 um per pixel requires 64 million pixels. To expose a 150 x 150 mm square reticle requires 1.44E12 pixels - not an amount that will reasonably fit inside of memory or even on disk.1

    Therefore it is common to rasterize only a small band (or stripe) of the mask area, pass this data to the modulator (which exposes a small region on the mask) and then to rasterize the next band. Over time, the entire area can be exposed. Gdsriplib was specifically designed to work in this mode -- rasterizing a band at a time of a large area until the entire area is completed.


    Mask Inspection

    Creating complex masks requires a way of inspecting such masks. The most common way to inspect such a mask is to use lenses and cameras to scan the mask and then to compare the scanned data against the ideal data. The reference data is usually obtained by rasterizing the original CAD data used to generate the mask. The same issues with pixels and bands arise and gdsriplib can be used to produce the required reference bitmaps.


Notes

1. Since mask data is not random, one can often compress the raw bitmap significantly - to the point where the compressed bitmap file fits on disk. However the compression routines do require that one have both the uncompressed data and compressed data regions in memory -- so again, compression normally is done in stripes.