GBRFRAC WEB Logo

Introduction

gbr2oasfrac is a library that reads a Gerber RS274X file, fractures it into trapezoids and creates output in the new OASIS format. It is intended to be incorporated into an application used for preparing Gerber layout data for a mask writer. Currently it is available for Windows (32 bit) but can be easily made available on 64 bit Linux and Solaris as needed.

Background

For mask writers developed for the integrated circuit industry, Gerber cannot be read directly. Instead we offer a product that converts the Gerber into OASIS while simultaneously fracturing the OASIS data into trapezoids.

When the OASIS specification was developed as a replacement for GDSII, a portion of the specification was also created optimized for use by mask writers. Until recently, no mask company directly read the OASIS format due to legacy reasons. However a new machine, recently developed, uses the OASIS format for its input and Artwork has developed an efficient yet low cost fracturing engine for it.


Why Fracture to Trapezoids?

Vector data input to a mask writer must be optimized for very fast rasterization.

Figures that are convex in one direction (we call this convex in X) can be very efficiently rasterized with minimum computation. For 90 degree data the trapezoid reduces to a rectangle.


Functionality

Input file

The user can specify the Gerber file to fracture. Gerber files with internal layers (for polarity reversal or step and repeat) are converted to a single OASIS file.


Output Grid Snap

The user can specify an output grid and fractured data will be snapped to the specified grid. OASIS native grid is 0.001 um (1 nm) but the user can specify a coarser grid such as 0.01 um if needed.


Overlap Removal

Input data is unionized so that the output fractured data has no overlap.


Polygon Sorting

Polygon data within a tile can be sorted by X and Y. The min X and min Y coordinate of the polygon are used for the sort.


Tiling

The user can specify a square or rectangular tile size or alternately, the number of tiles desired and the program will then computed the required tile size. The contents of each "tile" are saved in a cell or structure which is labeled by its position in the array.



Tile Order Sorting

An option can be turned on to sort the tiles within the OASIS file from top to bottom. The illustration below shows how the tiles are labeled and how the OASIS file is organized.

 
HEADER
BGNLIB
DEFNSTR TILE1_1 <-- Tile Cells sorted
DEFNSTR TILE1_2        
DEFNSTR TILE1_3
DEFNSTR TILE1_4
DEFNSTR TILE1_5
DEFNSTR TILE1_6
DEFNSTR TILE1_7
DEFNSTR TILE2_1
DEFNSTR TILE2_2
DEFNSTR TILE2_3
DEFNSTR TILE2_4
DEFNSTR TILE2_5
DEFNSTR TILE2_6
DEFNSTR TILE2_7
.
.
.
DEFNSTR TILE5_1
DEFNSTR TILE5_2
DEFNSTR TILE5_3
DEFNSTR TILE5_4
DEFNSTR TILE5_5
DEFNSTR TILE5_6
DEFNSTR TILE5_7

DEFNSTR TOP
SREF TILE1_1  <-- SREF's not sorted
SREF TILE1_2


Transformations

The following transformations can be applied to tiled output data.

    Scaling

    Enlarge or reduce the size of the whole figure in a uniform ratio. This is generally a small value such as 1.0002 to account for process shrinkage or expansion.

    Mirroring

    Reflect the output data about X-axis or Y-axis

    Rotation

    Rotate the output data about the origin point. Only 0 90 180 and 270 rotations make sense.



OASIS.VSB Compliant

The resulting OASIS file is OASIS.VSB compliant. This means that it includes the required records and follows restrictions required for input to electron beam conversion tools as defined in 2005 by Selete. For example, all output figures are written as either rectangles, trapezoids or ctrapezoids. All cell placements have insertion scale=1,rotation=0 and mirror=0.




Multi-threaded

The program is multi-threaded and can make use of multiple CPU cores.






API Documentation Download   Revision History FAQ Price          



ARTWORK CONVERSION SOFTWARE, INC.                  Company Profile
417 Ingalls St.,     Santa Cruz, CA 95060         Tel (831) 426-6163     Fax 426-2824               email: info@artwork.com