QisMBoolFies Web Page Header

QisMBoolFiles Extension Library

With the availability of multi-threaded QisMLib we can now offer an extension library, QisMBoolFiles, that makes Boolean operations between two files easier to implement and considerably more efficient. In particular, we have optimized this extension library to enable comparisons (XOR) between two GDSII/OASIS files for a large number of windows.

block diagram

Overview of Operation

    Open/Load Files
    The client module uses QisMLib to load two files and get the appropriate QisMFile handles

    Define Cells/Layers
    Next the client defines the cell and layers for EACH file to use as operands. The two input files can have a different view cell and layer set if that is what is wanted.

    Define Windows List
    The client defines a set of windows to operate. This could consist of hundreds or thousands of small clips.

    Define Boolean Operation
    A number of different Boolean operations are available: UNION, DIFFERENCE, XOR and CLIP.

    Pass Windows to Queue
    The window set is fed to queue manager and N window threads are created to process those windows. If run on hardware with many cores, then many threads can be run in parallel.

    Each window thread fetches the next available window from the queue and executes TWO QisMExploder threads to collect data from both files for that window (in parallel)

    The collected data is fed to an instance of the QisMBool object for performing Boolean operations (UNION, OR, INTERSECTION, DIFF, XOR or just CLIP) on the collected data using P Boolean threads per window.

    Collect Results
    The input and output polygons are delivered back to the client via a callback function for each window until all windows have been processed

    Number of Licenses
    This entire operation requires N licenses of QisMBoolFiles (11071) where N is the number of window threads i.e number of windows to process in parallel


Linux - RHEL5 64 or later
(and equivalents)

Windows - Win 7/10
64 bit version



QisMBoolFiles Header File 11/14/2017

Sample Application

QisMBoolFilesApp.exe is a simple command line executable that uses the library.

Download Revision History