Inheritance diagram for oaCustomViaDef:
Public Methods | |
void | getLibName (oaScalarName &libName) const |
void | getCellName (oaScalarName &cellName) const |
void | getViewName (oaScalarName &viewName) const |
void | getLibName (const oaNameSpace &ns, oaString &out) const |
void | getCellName (const oaNameSpace &ns, oaString &out) const |
void | getViewName (const oaNameSpace &ns, oaString &out) const |
void | setMaster (const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName) |
Static Public Methods | |
oaCustomViaDef * | create (oaTech *tech, const oaString &name, const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName, oaPhysicalLayer *layer1, oaPhysicalLayer *layer2) |
An oaCustomViaDef object has an unique name and is associated with a master design and two layers. A custom via in a route must point to an oaCustomViaDef object in the technology database associated with the design where the route resides.
An oaCustomViaDef is used when an oaCustomVia is created that references it. It is possible for the design that the viaDef points at to be a pcell. In that case the oaCustomVia may have an oaParamArray that provides override values for that pcell.
Benefits and Restrictions Associated with OpenAccess oaCustomViaDefs
One of the benefits of OpenAccess is that it has a formal definition of a via that is distinct from a generic instance. By definition, a via encapsulates the physical geometry to connect exactly two layers. To allow applications to efficiently analyze routing that contains custom vias, OpenAccess places restrictions on the contents of custom via masters, as follows:
Note: Unlike its treatment of instances, OpenAccess always attempts to bind vias to their masters implicitly. It is not an error for via masters to be unbound (for example, due to missing data), but OpenAccess will continually attempt to bind the vias when possible. This is done because most applications are unable work with routing that contains unbound vias.
|
This function creates an oaCustomViaDef object with the specified attributes. With this version of the create() function, you specify the master design by its library, cell, and view names. This function throws an exception if a viaDef with the specified name already exists. An exception is also thrown if layer1 and layer2 are not included in the graph of technology databases rooted at the specified tech. Note: The intended use is for layer1 to be the bottom layer, which should be the layer with the lower manufacturing layer number. Layer2 should be the top layer. The database does not enforce this because some tech databases do not have valid manufacturing layer numbers. Some applications require this layer ordering.
|
|
This function returns the cell name of the master design referenced by this oaViaDef object in the specified nameSpace. |
|
This function returns the cell name of the master design referenced by this oaViaDef object. |
|
This function returns the library name of the master design referenced by this oaViaDef object in the specified namespace. |
|
This function returns the library name of the master design referenced by this oaViaDef object. |
|
This function returns the view name of the master design referenced by this oaViaDef object in the specified namespace. |
|
This function returns the view name of the master design referenced by this oaViaDef object. |
|
This function is used to reset the libName, cellName, and viewName of the via master represented by this oaCustomViaDef. After these names are reset, oaCustomViaHeaders and oaCustomVias that refer to this oaCustomViaDef will be rebound to the new design specified by the specified lib, cell and view names. Note: If the specified libName, cellName, and viewName are the same as the current via master names, remastering will not be performed. If remastering is performed, preModify and postModify observer notifications with a oaViaDefModTypeEnum of oacCustomViaDefSetMasterViaDefModType are triggered -- see OpenAccess Observer Table for more information.
|
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.