oaModModuleVectorInst Class Reference

Inheritance diagram for oaModModuleVectorInst:

oaModModuleInst oaModInst oaModObject oaDesignObject oaObject


Public Methods

oaModVectorInstDefgetDef () const
oaUInt4 getStart () const
oaUInt4 getStop () const
oaModModuleVectorInstBitgetBit (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

oaModModuleVectorInst * create (oaModule *module, oaModule *master, const oaScalarName &baseName, oaUInt4 start, oaUInt4 stop)
oaModModuleVectorInst * create (oaModule *module, const oaScalarName &masterModuleName, const oaScalarName &baseName, oaUInt4 start, oaUInt4 stop)
oaModModuleVectorInst * 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 oaModModuleVectorInst class implements a vector instance of a module master in a module hierarchy. A vector instance represents several copies of the instance master with a range of index numbers to differentiate them.

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


Member Function Documentation

oaModModuleVectorInst * oaModModuleVectorInst::create oaModule *    module,
const oaScalarName &    masterModuleName,
const oaScalarName &    baseName,
oaUInt4    start,
oaUInt4    stop
[static]
 

This function creates an oaModModuleVectorInst object with the specified attributes. This form of the create specifies the name of the master module so that the master module does not need to be exist to use it. Exceptions are thrown if the new name is the name of an existing scalarInst, vectorInst, or an arrayInst.

Parameters:
module The module in which to create the instance
masterModuleName The name of the master module
baseName The base name for the instance
start The start index of the instance range
stop The stop index of the instance range
Exceptions:
oacVectorInstNameMatchesAutoName 
oacInstNameExists 
oacInstNameOverlapsOtherInst 
oacInvalidHierInstName 
oacVectorDefInstMustBeModuleInst 
oacVectorDefIsBlockDomainSpecific 

oaModModuleVectorInst * oaModModuleVectorInst::create oaModule *    module,
oaModule *    master,
const oaScalarName &    baseName,
oaUInt4    start,
oaUInt4    stop
[static]
 

This function creates an oaModModuleVectorInst object with the specified attributes. This form of the create specifies the master module so that the master module needs to be exist to use it. Exceptions are thrown if the new name is the name of an existing scalarInst, vectorInst, or an arrayInst.

Parameters:
module The parent module in which to create the instance
master The master module the instance refers o
baseName The base name for the instance
start The start index for the instance range
stop The stop index for the instance range
Exceptions:
oacModulesNotInSameDesign 
oacVectorInstNameMatchesAutoName 
oacInstNameExists 
oacInstNameOverlapsOtherInst 
oacInvalidHierInstName 
oacVectorDefInstMustBeModuleInst 
oacVectorDefIsBlockDomainSpecific 

oaModModuleVectorInst * oaModModuleVectorInst::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. The function returns the instance if it finds one. Otherwise, NULL is returned.

Parameters:
module The module in which to search for the instance
baseName The base name of the instance to look for
start The start index of the instance to look for
stop The stop index of the instance to look for

oaModModuleVectorInstBit * oaModModuleVectorInst::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 oaModModuleVectorInstBit
Exceptions:
oacInvalidBitIndexIntoInst 

oaModVectorInstDef * oaModModuleVectorInst::getDef   const
 

This function returns the module vectorInstDef for this module vectorInst. The module vectorInstDef is used to access all module vectorInts with the same baseName.

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

This function returns the vectorName of this modModuleVectorInst.

Parameters:
name The name of the modModuleVectorInst to return

oaUInt4 oaModModuleVectorInst::getStart   const
 

This function returns the start index of this module vectorInst.

oaUInt4 oaModModuleVectorInst::getStop   const
 

This function returns the stop index of this module vectorInst.

oaBoolean oaModModuleVectorInst::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 oaModModuleVectorInst in the specified module.

Parameters:
module The module to check the name against
baseName The base name of the instance
start The start index of the instance
stop The stop index of the instance

void oaModModuleVectorInst::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.

Parameters:
baseName The new base name to give this instance
Exceptions:
oacCannotSetNameOfImplicitInst 

void oaModModuleVectorInst::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