oaVectorInstBit Class Reference

Inheritance diagram for oaVectorInstBit:

oaBitInst oaInst oaRef oaPinFig oaConnFig oaFig oaBlockObject oaDesignObject oaObject


Public Methods

oaVectorInstDefgetDef () const
oaUInt4 getBitIndex () const
void getName (oaVectorBitName &name) const
void setName (const oaScalarName &baseName, oaUInt4 bitIndex)
oaVectorInstBit * copy (const oaScalarName &baseName, const oaTransform &xform)
oaVectorInstBit * copy (const oaScalarName &baseName, const oaTransform &xform, oaBlock *block)
void getName (oaSimpleName &name) const
void getName (const oaNameSpace &ns, oaString &name) const

Static Public Methods

oaVectorInstBit * create (oaBlock *block, oaDesign *master, const oaScalarName &baseName, oaUInt4 bitIndex, const oaTransform &xform, const oaParamArray *params=NULL, oaBlockDomainVisibility view=oacInheritFromTopBlock, oaPlacementStatus status=oacNonePlacementStatus)
oaVectorInstBit * create (oaBlock *block, const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName, const oaScalarName &baseName, oaUInt4 bitIndex, const oaTransform &xform, const oaParamArray *params=NULL, oaBlockDomainVisibility view=oacInheritFromTopBlock, oaPlacementStatus status=oacNonePlacementStatus)
oaVectorInstBit * find (const oaBlock *block, const oaScalarName &baseName, oaUInt4 bitIndex)
oaBoolean isValidName (const oaBlock *block, const oaScalarName &baseName, oaUInt4 bitIndex)

Detailed Description

The oaVectorInstBit class implements a single bit of an oaVectorInst. 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 can 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

oaVectorInstBit * oaVectorInstBit::copy const oaScalarName &    baseName,
const oaTransform &    xform,
oaBlock *    block
 

This function creates a copy of this instance. The baseName of the copied instance is specified in baseName. Note that that the bitIndex parameter is the same as the original instance. The new copied instance is copied to the location based on the specified transform. This function creates a copy of the instance in the specified block which may be in a different design.

Parameters:
baseName The baseName for the new instance
xform The transform for the new instance
block The oaBlock for the new instance

oaVectorInstBit * oaVectorInstBit::copy const oaScalarName &    baseName,
const oaTransform &    xform
 

This function creates a copy of this instance. The baseName of the copied instance is specified in baseName. Note that that the bitIndex parameter is the same as the original instance. The new copied instance is copied to the location based on the specified transform. The function creates a copy of the instance within the same block.

Parameters:
baseName The baseName for the new instance
xform The transform for the new instance

oaVectorInstBit * oaVectorInstBit::create oaBlock *    block,
const oaScalarName &    libName,
const oaScalarName &    cellName,
const oaScalarName &    viewName,
const oaScalarName &    baseName,
oaUInt4    bitIndex,
const oaTransform &    xform,
const oaParamArray *    params = NULL,
oaBlockDomainVisibility    view = oacInheritFromTopBlock,
oaPlacementStatus    status = oacNonePlacementStatus
[static]
 

This function creates an oaVectorInstBit 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:
block The block in which to place 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
xform The transform used to place the instance
params Optional parameter array for pCell instances
view Specifies whether this instance is visible in the module domain
status Specifies the placement status of this instance
Exceptions:
oacInvalidHierInstName 
oacVectorInstBitNameMatchesAutoName 
oacInstNameExists 
oacInstNameOverlapsOtherInst 
oacParamsSuppliedForNonPCellInstMaster 

oaVectorInstBit * oaVectorInstBit::create oaBlock *    block,
oaDesign *    master,
const oaScalarName &    baseName,
oaUInt4    bitIndex,
const oaTransform &    xform,
const oaParamArray *    params = NULL,
oaBlockDomainVisibility    view = oacInheritFromTopBlock,
oaPlacementStatus    status = oacNonePlacementStatus
[static]
 

This function creates an oaVectorInstBit 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:
block The block in which to place the instance
master The master of the design to instantiate
baseName The base name for the instance
bitIndex The bit index for the instance
xform The transform used to place the instance
params Optional parameter array for pCell instances
view Specifies whether this instance is visible in the module domain
status Specifies the placement status of this instance
Exceptions:
oacInvalidSuperMaster 
oacInvalidHierInstName 
oacVectorInstBitNameMatchesAutoName 
oacInstNameExists 
oacInstNameOverlapsOtherInst 
oacParamsSuppliedForNonPCellInstMaster 

oaVectorInstBit * oaVectorInstBit::find const oaBlock *    block,
const oaScalarName &    baseName,
oaUInt4    bitIndex
[static]
 

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

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

oaUInt4 oaVectorInstBit::getBitIndex   const
 

This function returns the bitIndex of this vectorInstBit.

oaVectorInstDef * oaVectorInstBit::getDef   const
 

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

void oaInst::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 oaInst::getName oaSimpleName &    name const
 

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

Parameters:
name The returned instance name

void oaVectorInstBit::getName oaVectorBitName &    name const
 

This function returns the vectorName of this vectorInstBit.

Parameters:
name The name of the vectorInstBit to return

oaBoolean oaVectorInstBit::isValidName const oaBlock *    block,
const oaScalarName &    baseName,
oaUInt4    bitIndex
[static]
 

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

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

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