QisMLib is a GDSII/OASIS library that enables a client to display and manipulate GDSII/OASIS data using a simple set of function calls. The M version (for Multi-Threaded) is the result of several years of work; the "explosion" of data is now thread based and can take advantage of many processor cores sharing the same pool of memory.

The Front End

    1. The scan routines open the layout file, scan it and build an array of quad trees. The load routine moves the GDSII entity data from disk into memory for faster access.

    2. An array of quad trees are stored in memory; these aid the exploder to navigate efficiently through the hierarchy for a given window. The user can control the granularity of the quad trees to trade memory vs. performance.

    3. The entity data is stored in RAM in a compressed format to reduce the memory footprint. Optionally, it can be left on disk but this is not recommended since disk access (even for SSDs) is much slower than memory access.

    4. The exploder is now thread safe. The user can specify how many exploder threads should run. (Up to the max limited by the license.) This greatly increases throughput when the layout file is large and many windows have to be extracted.

    5. Any boundaries (or paths) that cross the requested window are placed in a polygon buffer. Paths can be converted into boundaries. The pointer to the polygon buffer is accessed by the calling application via a callback function.

Organization and API

The QisMLib has its API's organized into groups.

QisMlib API QisMFile API QisMExplode API QisMDraw API QisMBool API QisMNtrc API QisMLayerSynth API

Click on any of the API class boxes in the illustration to get details on specific API sets.

Specific Applications

Clip Extraction

Many applications in metrology require extraction of hundreds or thousands of small windows from a very large layout file. We've created a "wrapper" using the QisLib_MT library (and the Boolean and Raster libraries) that does this very efficiently with minimal programming effort.

  Net Tracing Extension

Equipment such as FIBs used for active circuit analysis and modification benefit from being able to view the CAD data and trace out the net connections. A specialized library, QisMNetrace, can be tightly integerated with QisLib_MT to provide both display functions and real time net tracing functions.

Sample Clip & Boolean

We illustrate the functional and thread flow one might use to clip out a window from two layers (e.g. poly and poly-cut) and then take the difference between them to produce a derived layer.

  Rasterization Extension - QisMRaster

An extension to the QisMLib library that performs multi-threaded rasterization.

Visual Studio 2008 C++ Sample Code

Sample Visual Studio 2008 C++ solution to demonstrate the use of QisMLib and QisMClipExtract APIs to extract images.

  Efficient Boolean for Two Input Files

This new extension enables much faster and more efficient Boolean operations when data originates from two separate layout files ...

Documentation Benchmarks Download Rev History Price

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