User Manual for QckRip
Copyright 2014 Artwork Conversion Software, All Rights Reserved
QckRip is a GDSII rasterizer with custom features. It is intended to rasterize the GDSII files and produce a number of bitmaps which "tile" the image area. The tile size can be controlled in a number of different ways depending on the user's requirements.
QckRip also includes the ability to make several important transformations to the input data. These include:
Rotation (about 0,0)
Speed and Efficiency Through Repetition Recognition
A special feature of the QckRip is it's ability to take advantage of data repetition. Most GDSII layout data intended for this produce consists of an array of repeated "circuits" along with background data (we also call this frame data)
QckRip includes algorithms to recognize and separate the frame from the repeated circuits.
Further, it checks to insure that repeated circuit patterns are not affected by data produced in different levels of the non-repeated hierarchy.
The resulting repetition is used to limit the amount of raster computation needed -- instead bitmaps of repeated geometries are cached and placed as needed.
The raster engines are multi-threaded and will provide significant throughput improvement on multi-CPU machines.
Hardware and Operating System
For optimal results we recommend:
Multi-core CPU such as Intel i5 or i7 running at clock speeds of 3.5 GHz
8 to 16 GB Ram (dependent on DPI and image area)
Solid State Disk for Operating System and Data files.
Windows 7/8 64 bit OS is required.
QckRip Main Dialog
Upon starting QckRip, the main dialog will appear:
To load an input file (GDSII stream data) click on the Open button. Then use the file browser to select the desired file. The View button can launch a GDSII viewer (normally Artwork's Qckvu if that product has been licensed.)
The program will immediately scan the input file and present the user with a list of structures and a list of layers.
Structures - if a structure is marked with YES (under the TOP heading) this means that it is not referenced by any other structure in the GDSII file. While this is a good indication that this is the top structure of the file, GDSII files may have multiple top structures so it is important for the user to select the correct top level structure.
Only one structure can be selected for processing.
Layers - all layers/datatypes with geometry will be listed. The user can select multiple layers from either column but they will all be merged form a single bitmap. Main layers are transformed; Pass Through layers are not transformed.
One can select multiple layers for processing both in the Main column and in the Pass Through column.
Output Dir - use the Browse button to select a directory that will hold the output bitmaps.
Settings - click on Settings to adjust control parameters for the rasterization.
QckRip Settings Dialog
The settings dialog is divided into three tabs:
Settings - used to adjust program settings
Transformations - used to define transformations to the input data
Tiles - used to define the size and behavior of output bitmap tiling
Specify a directory where temporary working files will be written to and read from. For large projects this will give fastest throughput if this directory is located on a solid state disk.
The number of concurrent raster threads to use. Do not specify a value larger than the number of CPU cores. Do not count hyperthreading as additional cores.
Not used for GDSII input.
Not used for GDSII Input
If checked, temporary files written to the working directory are not erased when the rasterization is completed. Normally you would only check this option if debugging problems.
Do not check this option -- it may not work correctly if transformations such as shear are applied.
Use Double Buffer
allocates a second buffer (per CPU thread) to allow simultaneous rasterizations and formatting/compression. You can use this if you have sufficient RAM. See reference section for an example of how RAM usage is allocated.
Define the bitmap resolution. There are two ways to specify this value - DPI - dots per inch or pixel size in units of um. For example a 5080 DPI equals a 5 um pixel size.
The amount of RAM allocated to the bugger which holds the bits used to compose a tile.
Select one of the three output formats: Microsoft BMP (monochrome), RAW or TIFF with Packbits compression.
Base NameThe base name for the tiles that are produced. For example, if you specify a base name of "image" and the format is tiff, then the output files will be named image1.tif, image2.tif, image3.tif.
If checked, digitized data is set to 0 and the non-digitized field is set = 1 in the output bitmap.
special arguments. Normally this is left blank except for debugging purposes.
The transformations tab enables the user to transform the input data.
Data Centered at 0,0
A fundamental assumption of the transformations listed here is that the source data is centered at 0,0. All transformations are centered about 0,0.
Used to rotate the data around 0,0. Enter the value in degrees. Positive value of rotation goes in CCW direction.
Mirrors the data about the Y=0 axis.
Mirrors the data about the X=0 axis.
Specify the scale factor. Separate scale factors can be applied to X and Y. Anchor point is 0,0.
Apply a Y or X (or both) shear. See reference for diagram.
A small value (in units of microns) used to determine when circuits need to be exploded and sheared. The value is used to determine whether an instance of a cell is equivalent to other instances. If this value is set too small, each bitmap placement will require its own definition and the RIP will not run very quickly. The default value is 1.0. See reference for diagram.
Used for repetition analysis of large circuits. See reference section.
Used to limit the vertex count during repetition computations.
Normally left blank unless debugging the RIP.
Resets all transformations settings back to the default values.
It is not necessarily useful to create a single giant bitmap for a complete layout. At 0.5 um pixel the bitmap for a 300 mm x 300 mm mask is extremely large. It is much more common to produce a number of "tiles" that cover the image area. Tiles may butt up to each other or may overlap depending on the mask writer's architecture.
This dialog enables the user to control the size and behavior of the tiling.
Manual vs. Auto
In manual mode the user specifies each tile. In Auto mode the user specifies a tile size and the program generates all of the times needed to cover the ROI (region of interest AKA data extents)
W/H in pixels
Specify the width and the height of the tile in pixels.
Overlap in pixelsSpecify desired overlap along X and along Y in pixels. Default = 0.
EdgeWhere to start the tiling process. One can choose from upper left, lower left, upper right and lower right.
Check this box to enter the extents of the area to tile. (Note that extents are in user units - not in pixels)
See the reference section for examples of tile settings.