Class Reference netListModule

A module to handle net lists. More...

Member

void addLVSList(string text,string job)
void autoPlace(bool placeDigital,bool placeAnalog,int srLayer, int analogDistance)
void autoRoute()
void autoRoute(int angleMode)
void autoRouteNode(string nodeName,int angleMode)
void buildConnect()
void clearLVSList()
void editExtractedNetList()
void extractNetList()
netList * getExtractedNetList(string cellname)
stringList getLibrary()
netList * getLoadedNetList(string cellname)
stringList getLVSResults()
netList * getSchematicNetList(string cellname)
void layoutVersusNetlist()
void layoutVersusSchematic()
void libraryAdd(string fileName)
void libraryRemoveAll()
void lvs()
void netlistLoad(string filename)
bool placeDevice(string deviceName,point position, strans trans)
bool placeDevice(netListDevice *device,point pos, strans trans)
void saveNetlist(netList *netlist, string filename,string type)
void extractedNetlistSave(string filename,int type)
void netlistSave(string filename,int type)
void technologyLayerAdd(int layer,int type)
int technologyLayerConductorSize(int layer)
int technologyLayerConductorSpaceing(int layer)
void technologyLayerRemoveAll()
void technologyLayerSetParameter(int layer,int parnum,int value)

Detailed Description

graph LR la(layout)--netlistTool-->net(netListModule) click la "/layoutscript/api/layout" click net "/layoutscript/api/netlistmodule" classDef thisClas fill:#eaf5fc,stroke:#3c7faa,stroke-width:4px; classDef clas fill:#eaf5fc,stroke:#3c7faa,stroke-width:1px; class net thisClas class la clas

Netlists, LVS and a simple place-and-route path are reached as layout->netlistTool, a netListModule. Call buildConnect so connections between shapes are known, then extractNetList before LVS or before you save an extracted netlist. layoutVersusSchematic compares that extract to the schematic netlist, layoutVersusNetlist compares it to a file loaded with netlistLoad, and lvs uses whichever of those is available; results go to the LVS list. autoPlace places devices from the current netlist; autoRoute and autoRouteNode route open nets with the internal autorouter. getExtractedNetList, getLoadedNetList and getSchematicNetList return a netList pointer or NULL if that netlist does not exist.

Example:

layout->netlistTool->buildConnect();
layout->netlistTool->extractNetList();
layout->netlistTool->editExtractedNetList();
layout->netlistTool->layoutVersusSchematic();

Member Function Documentation


void netListModule::addLVSList(string text,string job)

Adds a row to the LVS result list. text is shown; job runs when the user clicks the row. Several jobs can be joined with ; . Job strings include openNetlist, placeDevice plus an id, showDevice plus a name, showNode plus an id, routeNode plus an id, and showDeviceNode plus device and node separated by /.

Parameter:
text text shown in the list
job command run when the row is clicked

void netListModule::autoPlace(bool placeDigital,bool placeAnalog,int srLayer, int analogDistance)

Places devices from the current netlist. See Automatic Placement in the user manual for the algorithm.

Parameter:
placeDigital true to place digital devices
placeAnalog true to place analog devices
srLayer substrate or routing layer
analogDistance spacing for analog placement

void netListModule::autoRoute()

Automatic routing using the settings of the Automatic Router dialog. (introduced with release 20260820)


void netListModule::autoRoute(int angleMode)

Routes all open nets with the internal autorouter. angleMode is 0 for 90 degree, 1 for 45 degree and 2 for all angle. The dialog settings are not used. (introduced with release 20260820)


void netListModule::autoRouteNode(string nodeName,int angleMode)

Routes the net nodeName with the internal autorouter. angleMode is the same as for autoRoute(int). (introduced with release 20260820)


void netListModule::buildConnect()

Computes connections between shapes. Call this before extractNetList, LVS, or saving an extracted netlist.


void netListModule::clearLVSList()

Clears the LVS result list.


void netListModule::editExtractedNetList()

Opens a text editor with the extracted netlist of the current cell. buildConnect and extractNetList must already have run.


void netListModule::extractNetList()

Extracts the netlist of the current cell. Call buildConnect first.


netList * netListModule::getExtractedNetList(string cellname)

Returns: a netList for cellname, or NULL if none exists.


stringList netListModule::getLibrary()

Returns: the names of all used libraries.


netList * netListModule::getLoadedNetList(string cellname)

Returns: the loaded netList of cellname, or NULL if none exists.


stringList netListModule::getLVSResults()

Returns: LVS error strings, or no errors if the compare succeeded.


netList * netListModule::getSchematicNetList(string cellname)

Returns: the schematic netList of cellname, or NULL if none exists.


void netListModule::layoutVersusNetlist()

Compares the extracted netlist with the loaded netlist and fills the LVS list. Requires buildConnect and extractNetList.


void netListModule::layoutVersusSchematic()

Compares the extracted netlist with the schematic netlist and fills the LVS list. Requires buildConnect and extractNetList.


void netListModule::libraryAdd(string fileName)

Adds the library file fileName.


void netListModule::libraryRemoveAll()

Removes every library from the list.


void netListModule::lvs()

Runs layout versus schematic or versus the loaded netlist, whichever is available, and fills the LVS list. Requires buildConnect and extractNetList.


void netListModule::netlistLoad(string filename)

Loads the netlist filename for the current cell.


bool netListModule::placeDevice(string deviceName,point position, strans trans)

Places the device named deviceName at position with transformation trans.

Parameter:
deviceName device name
position placement origin
trans placement transformation

Returns: true if the device was placed.


bool netListModule::placeDevice(netListDevice *device,point pos, strans trans)

Places device at pos with transformation trans.

Parameter:
device device to place
pos placement origin
trans placement transformation

Returns: true if the device was placed.


void netListModule::saveNetlist(netList *netlist, string filename,string type)

Writes netlist to filename. type selects the format.

Parameter:
netlist netlist to write
filename file path
type format name

Obsolete Members

There are new members in this class or in the layers class with identical functions. Please use the new members as these are have more options and better define the required operation.


void netListModule::extractedNetlistSave(string filename,int type)

The extracted netlist of the current cell is saved. available types:

0: LayoutEditor Dump

1: Alliance

2: Spice

3: Qucs


void netListModule::netlistSave(string filename,int type)

save netlist

Parameter: The netlist of the current cell is saved. available types:

0: LayoutEditor Dump

1: Alliance

2: Spice

3: Qucs


void netListModule::technologyLayerAdd(int layer,int type)

Set layer to a technology layer. If type is 1, the layer is a via. If type is 2 the layer is a conductor layer.


int netListModule::technologyLayerConductorSize(int layer)

Returns: the condictor size, if layer is an conductor layer. Otherwise returns -1.


int netListModule::technologyLayerConductorSpaceing(int layer)

Returns: the condictor spacing, if layer is an conductor layer. Otherwise returns -1.


void netListModule::technologyLayerRemoveAll()

The technology information of all layers is reseted.


void netListModule::technologyLayerSetParameter(int layer,int parnum,int value)

Sets information to the technology layer.

Parameter:
layer layer number
parnum parameter index
value numeric value