QisMLib is a modular library. Different features are of use to different users. We license features (accessible through APIs) separately so based on what our user is trying to accomplish, a number of licensed features will be needed. We also control the concurrency (i.e. how many parallel instances or threads can be run simultaneously.
The table below shows each of the licensed features and what function they perform.
This table is followed by a number of use cases where we describe a usage scenario and then explain which license are needed.
This is the base license and is always required. However having just this base license does not enable a user to do much besides open a file and get some information about the file.
|QisMExploder||11027||+ (U * N)||
The exploder traverses the database and "extracts" out vector data: boundaries, paths, text, SREFS. The user can collect the extracted data and perform an operation on it. Two things to note: If you would like to do more than one "explosion" in parallel then you will need additional exploder licenses. If, for example, you wish to load two files and extract simultaneously data from each of them you will need two exploder licenses.
|QisMBool||11047||+ (U * N)||
QisMBool performs Boolean operations on data produced by the exploder. For example, after the exploder extracts boundaries and paths crossing a specified window, QisMBool can be used to clip them to the window's periphery.
|QisMClipExtract||31209||+ (U * N)||
This is a higher level API used for extracting a large number of windows from a layout. If you want more than one window to be extracted simultaneously, you will need multiple QisMClipExtract licenses. However even though QisMClipExtract makes use of the Exploder and the QisMBool, the user does not need licenses for those APIs and the QisMClipExtract is able to access those features without a separate license.
|QisMLayerSynth||11069||+ (U * N)||
This API is used to generate a new layer based on Boolean operations using other layers in the database. Every file loaded into QisMLib will need it's own synthesizer object. However, the user does not need to order licenses of the exploder or Boolean as the layer synthesizer will acquire those licenses itself.
|QisMNtrc||11059||+ (U * N)||
Used to follow (and extract the members of) a net physically through conductor and via layers given a seed point. Again, this function will "pull" the exploder and Boolean licenses needed to perform its objective. If a user needs to trace more than one net at a time, additional QisMNtrc licenses are needed.