QisMLib Web Page Header


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.

QisMLib has a single ended front end and a multi-threaded exploder.

The Front End

Organization and API

The QisMLib API is modular. Click on any of Class/API boxes in the diagram below for links to more information.

click on a block to get details on the API QisMlib API QisMBool API QisMFile API QisMExplode API QisMDraw API QisMBool Files API QisMGbrPS API QisMRTCR API QisMCorrX API QisMCLipExtract QisMNtrc API QisMLayerSynth API QisMRaster API QisMHExtract API

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

Programmer's Corner

Go to the Programmer's Corner where you will find documentation on the API for QisMLib and all of its extension libraries.

New Scripting Support

A new scripting engine enables our users to quickly create prototypes of layout processing flows. The scripts can then be used as a template for coding the calling program. Details here.

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 QisMLib library (and the Boolean and Raster libraries) that does this very efficiently with minimal programming effort.

Net Tracing Extension - QisMNtrc

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 integrated with QisMLib to provide both display functions and real time net tracing functions.

Sample Clip & Boolean

Illustrates 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.

QisMBool Efficient Boolean for Two Input Files

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

Distortion Correction - QisMCorrX

Used in conjunction with QisMRaster to correct data to accommodate distortion of the substrate to be imaged.

Rasterization Extension - QisMRaster

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

Hierarchical Extract - QisMHExtract

Used to extract a region and preserve as much of the database hierarchy as possible.

Layer Synthesis Extension - QisMLayerSynth

Used to create a new layer using Boolean operations on source layers.

Hierarchical Comparison - QISMHCompare

A Hierarchical Comparsion for two large layout inputs ...

Comparing Two files using QisMRaster

This application uses QisMLib and the QisMRaster extension library to efficiently compare data originating from two layout files.

Scripting QisMLib

A scripting language that closely mimics the QisMLib API. Ideal for quick protyping a flow -- then easily convert to library calls.

Annotation Extension

An extension which helps create annotations (text, bar codes and QR codes) which can be output to the rasterizer, Boolean or merged into a GDSII file. Ideal for device serialization.

Gerber Rip - QisMGbrip

This application is a very high performance rasterizer for Gerber(RS274X) data.

ODB++ Rip - QisMOdbrip

This application is a very high performance rasterizer for ODB++ data.

Fast Loading using Memory Maps

For faster database loading, first create a "memory map" using dbload ...