oaModVectorInst Class Reference

Inheritance diagram for oaModVectorInst:

oaModDesignInst oaModInst oaModObject oaDesignObject oaObject


Public Methods

oaModVectorInstDefgetDef () const
oaUInt4 getStart () const
oaUInt4 getStop () const
oaModVectorInstBitgetBit (oaUInt4 bitIndex) const
void getName (oaVectorName &name) const
void setBaseName (const oaScalarName &baseName)
void setRange (oaUInt4 start, oaUInt4 stop)
void getName (oaSimpleName &name) const
void getName (const oaNameSpace &ns, oaString &name) const

Static Public Methods

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

Detailed Description

The oaModVectorInst class implements a vector instance of a design master in the module domain. A vector instance represents several copies of the instance master with a range of index numbers to differentiate them.

An oaModVectorInst object is always in the module domain. It is an instance of a design as opposed to an oaModModuleVectorInst, which is a vector instance of a local module.


Member Function Documentation

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

This function creates a new vector instance of the master design inside of the specified parent module. This form of the create function identifies the master by name. The master does not have to be open and it does not have to exist yet when this form is used.

The specified baseName and start/stop indices are first checked to verify that they are legal and don't specify an instance that already exists.

The optional params argument is used if the master design is a pcell.

Parameters:
module The module in which to create the instance
libName The libary name of the master design
cellName The cell name of the master design
viewName The view name of the master design
baseName The base name of the instance
start The start index
stop The stop index
params Optional parameter array for pCell instances
Exceptions:
oacInvalidSuperMaster 

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

This function creates a new vector instance of the master design inside of the specified parent module. This form uses a pointer to the master design

The specified baseName and start/stop indices are first checked to verify that they are legal and don't specify an instance that already exists.

The optional params argument is used if the master design is a pcell.

Parameters:
module The module in which to create the instance
master The master design
baseName The base name of the instance
start The start index
stop The stop index
params Optional parameter array for pCell instances
Exceptions:
oacInvalidSuperMaster 

oaModVectorInst * oaModVectorInst::find const oaModule *    module,
const oaScalarName &    baseName,
oaUInt4    start,
oaUInt4    stop
[static]
 

This function searches the specified module for a module vectorInst with the specified name and start or stop bits. The function returns the instance if it finds one. Otherwise, NULL is returned.

oaModVectorInstBit * oaModVectorInst::getBit oaUInt4    bitIndex const
 

This function returns a pointer to the vectorInstBit that corresponds to the specified bitIndex bit of this vectorInst. For example, if this is a vectorInst "i[7:0]" and bitIndex is zero, this function will return the vectorInstBit corresponding to "i[7]".

Parameters:
bitIndex Specifies which bit of the instance to return
Returns:
A pointer to an oaModVectorInstBit
Exceptions:
oacInvalidBitIndexIntoInst 

oaModVectorInstDef * oaModVectorInst::getDef   const
 

This function returns the module vectorInstDef for this module vectorInst. The module vectorInstDef is used to access all module vectorInsts with the same baseName but different index ranges.

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 oaModVectorInst::getName oaVectorName &    name const
 

This function returns the vectorName of this modVectorInst.

Parameters:
name The name of the modVectorInst to return

oaUInt4 oaModVectorInst::getStart   const
 

This function returns the start index of this module vectorInst.

oaUInt4 oaModVectorInst::getStop   const
 

This function returns the stop index of this module vectorInst.

oaBoolean oaModVectorInst::isValidName const oaModule *    module,
const oaScalarName &    baseName,
oaUInt4    start,
oaUInt4    stop
[static]
 

This function returns a boolean value that indicates if the specified baseName, combined with the start and stop values, is a valid new oaModVectorInst in the specified module.

void oaModVectorInst::setBaseName const oaScalarName &    baseName
 

This function changes the base name of this vectorInst. Exceptions are thrown if the new name is the name of an existing scalar, an arrayInst, or if another vectorInst exists whose indices overlap with this vectorInst, or if the given baseName matches the form of the system-generated scalarInst name.

Exceptions:
oacCannotSetNameOfImplicitInst 

void oaModVectorInst::setRange oaUInt4    start,
oaUInt4    stop
 

This function sets the start and stop bit indices of this vectorInst.

Parameters:
start The new start value to give this instance
stop The new stop value to give this instance
Exceptions:
oacInstNameOverlapsOtherInst 
oacCannotSetNameOfImplicitInst 
oacInvalidBusStartStopRange 


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

Return to top of page