oaModVectorInstBit Class Reference

Inheritance diagram for oaModVectorInstBit:

oaModBitInst oaModDesignInst oaModInst oaModObject oaDesignObject oaObject


Public Methods

oaModVectorInstDefgetDef () const
oaUInt4 getBitIndex () const
void getName (oaVectorBitName &name) const
void setName (const oaScalarName &baseName, oaUInt4 bitIndex)
void getName (oaSimpleName &name) const
void getName (const oaNameSpace &ns, oaString &name) const

Static Public Methods

oaModVectorInstBit * create (oaModule *module, oaDesign *master, const oaScalarName &baseName, oaUInt4 bitIndex, const oaParamArray *params=NULL)
oaModVectorInstBit * create (oaModule *module, const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName, const oaScalarName &baseName, oaUInt4 bitIndex, const oaParamArray *params=NULL)
oaModVectorInstBit * find (const oaModule *module, const oaScalarName &baseName, oaUInt4 bitIndex)
oaBoolean isValidName (const oaModule *module, const oaScalarName &baseName, oaUInt4 bitIndex)

Detailed Description

The oaModVectorInstBit class implements a single bit of a vectorInst in a module. VectorInstBits are automatically created and destroyed as vectorInsts are created or destroyed. Implicitly-created vectorInstBits cannot be modified to insure consistency with its defining vectorInst. Explicitly-created vectorInstBits define a unique bit of a vectorInst definition since the bits of a vectorInst are not allowed to overlap with other vectorInsts.

oaVectorInstBit objects are always in the block domain. They may be physical-only instances that are only in the block hierarchy, or they can be cross-domain instances that directly correspond to an oaModVectorInstBit in the module domain and an oaOccVectorInstBit in the occurrence domain.


Member Function Documentation

oaModVectorInstBit * oaModVectorInstBit::create oaModule *    module,
const oaScalarName &    libName,
const oaScalarName &    cellName,
const oaScalarName &    viewName,
const oaScalarName &    baseName,
oaUInt4    bitIndex,
const oaParamArray *    params = NULL
[static]
 

This function creates an oaModVectorInstBit object with the specified attributes. The given baseName and bitIndex are checked if they are legal and do not specify an instance that already exists. This version creates an instance of the master implied by the specified library, cell, and view names (the master need not be opened to create instances of it). An optional array of parameters may be specified in the case where the master is a pCell.

Parameters:
module The module in which to create the instance
libName The library name of the instance master
cellName The cell name of the instance master
viewName The view name of the instance master
baseName The base name for the instance
bitIndex The bit index for the instance
params Optional parameter array for pCell instances
Exceptions:
oacInvalidHierInstName 
oacVectorInstBitNameMatchesAutoName 
oacInstNameExists 
oacInstNameOverlapsOtherInst 

oaModVectorInstBit * oaModVectorInstBit::create oaModule *    module,
oaDesign *    master,
const oaScalarName &    baseName,
oaUInt4    bitIndex,
const oaParamArray *    params = NULL
[static]
 

This function creates an oaModVectorInstBit object with the specified attributes. The given baseName and bitIndex are checked if they are legal and do not specify an instance that already exists. This version creates an instance of the specified master design. An optional array of parameters may be specified in the case where the master is a pCell.

Parameters:
module The module in which to create the instance
master The master of the design to instantiate
baseName The base name for the instance
bitIndex The bit index for the instance
params Optional parameter array for pCell instances
Exceptions:
oacInvalidSuperMaster 
oacInvalidHierInstName 
oacVectorInstBitNameMatchesAutoName 
oacInstNameExists 
oacInstNameOverlapsOtherInst 

oaModVectorInstBit * oaModVectorInstBit::find const oaModule *    module,
const oaScalarName &    baseName,
oaUInt4    bitIndex
[static]
 

This function searches the specified module looking for a vectorInstBit with the specified baseName and bitIndex. If the instance is found, it is returned; otherwise, NULL is returned.

Parameters:
module The module to search for the instance
baseName The base name of the instance to find
bitIndex The bit index of the instance to find

oaUInt4 oaModVectorInstBit::getBitIndex   const
 

This function returns the bitIndex of this vectorInstBit.

oaModVectorInstDef * oaModVectorInstBit::getDef   const
 

This function returns a pointer to the vectorInstDef for this vectorInstBit.

void oaModInst::getName const oaNameSpace &    ns,
oaString &    name
const
 

This function fills out name with the name of this instance. The name is mapped according to the specified nameSpace.

Parameters:
ns The nameSpace used to map the name
name The returned instance name

void oaModInst::getName oaSimpleName &    name const
 

This function fills out name with the name of this instance.

Parameters:
name The returned instance name

void oaModVectorInstBit::getName oaVectorBitName &    name const
 

This function returns the vectorName of this modVectorInstBit.

Parameters:
name The name of the modVectorInstBit to return

oaBoolean oaModVectorInstBit::isValidName const oaModule *    module,
const oaScalarName &    baseName,
oaUInt4    bitIndex
[static]
 

This function returns a boolean indicating whether the specified baseName and bitIndex would be valid for an oaModVectorInstBit in the specified module.

Parameters:
module The module to check the name against
baseName The base name to be checked
bitIndex The bit index to be checked

void oaModVectorInstBit::setName const oaScalarName &    baseName,
oaUInt4    bitIndex
 

This function changes the name of this vectorInstBit. An exception is thrown if the new baseName is the name of an existing scalar or array instance or if a vectorInstBit already exists with the new name. An exception is also thrown if the new name would overlap with existing vectorInsts.

Parameters:
baseName The new base name for this instance
bitIndex The new bit index for this instance
Exceptions:
oacCannotSetNameOfImplicitInst 


The documentation for this class was generated from the following files:

Return to top of page