oaArrayInst Class Reference

Inheritance diagram for oaArrayInst:

oaBitInst oaInst oaRef oaPinFig oaConnFig oaFig oaBlockObject oaDesignObject oaObject


Public Methods

oaOffset getDX () const
oaOffset getDY () const
oaUInt4 getNumRows () const
oaUInt4 getNumCols () const
void getName (oaScalarName &name) const
void getName (const oaNameSpace &ns, oaString &name) const
void getBBox (oaUInt4 row, oaUInt4 col, oaBox &bBox) const
void getTransform (oaUInt4 row, oaUInt4 col, oaTransform &xform) const
void getOverlap (const oaBox &region, oaDist &xMin, oaDist &xMax, oaDist &yMin, oaDist &yMax) const
void setDX (oaOffset dX)
void setDY (oaOffset dY)
void setNumRows (oaUInt4 numRows)
void setNumCols (oaUInt4 numCols)
void setName (const oaScalarName &name)
oaArrayInst * copy (const oaScalarName &name, const oaTransform &xform)
oaArrayInst * copy (const oaScalarName &name, const oaTransform &xform, oaBlock *block)

Static Public Methods

oaArrayInst * create (oaBlock *block, oaDesign *master, const oaScalarName &name, const oaTransform &xform, oaOffset dX, oaOffset dY, oaUInt4 numRows, oaUInt4 numCols, const oaParamArray *params=NULL, oaPlacementStatus status=oacNonePlacementStatus)
oaArrayInst * create (oaBlock *block, oaDesign *master, const oaTransform &xform, oaOffset dX, oaOffset dY, oaUInt4 numRows, oaUInt4 numCols, const oaParamArray *params=NULL, oaPlacementStatus status=oacNonePlacementStatus)
oaArrayInst * create (oaBlock *block, const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName, const oaScalarName &name, const oaTransform &xform, oaOffset dX, oaOffset dY, oaUInt4 numRows, oaUInt4 numCols, const oaParamArray *params=NULL, oaPlacementStatus status=oacNonePlacementStatus)
oaArrayInst * create (oaBlock *block, const oaScalarName &libName, const oaScalarName &cellName, const oaScalarName &viewName, const oaTransform &xform, oaOffset dX, oaOffset dY, oaUInt4 numRows, oaUInt4 numCols, const oaParamArray *params=NULL, oaPlacementStatus status=oacNonePlacementStatus)
oaArrayInst * find (const oaBlock *block, const oaScalarName &name)
oaBoolean isValidName (oaBlock *block, const oaScalarName &name)

Detailed Description

The oaArrayInst class implements an oaArrayInst database object that represents an array of instances of one master design. Every cell in the array has the same orientation. The oaArrayInst object is primarily used in the physical layout design -- for example, it can be used to represent an array of memory cells.

Note that oaArrayInsts do not provide any mechanism for specifying the connectivity between elements of the array. They act just like oaScalarInsts in that there is a single copy of their terminals, and the width of the nets connecting to them is unaffected by the array dimensions.


Member Function Documentation

oaArrayInst * oaArrayInst::copy const oaScalarName &    name,
const oaTransform &    xform,
oaBlock *    block
 

This function creates a copy of this instance. The name of the new instance is specified in name. 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:
name The name for the new instance
xform The transform for the new instance
block The oaBlock for the new instance

oaArrayInst * oaArrayInst::copy const oaScalarName &    name,
const oaTransform &    xform
 

This function creates a copy of this instance. The name of the new instance is specified in name. The new copied instance is copied to the location based on the specified transform. This function creates a copy of the instance within the same block.

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

oaArrayInst * oaArrayInst::create oaBlock *    block,
const oaScalarName &    libName,
const oaScalarName &    cellName,
const oaScalarName &    viewName,
const oaTransform &    xform,
oaOffset    dX,
oaOffset    dY,
oaUInt4    numRows,
oaUInt4    numCols,
const oaParamArray *    params = NULL,
oaPlacementStatus    status = oacNonePlacementStatus
[static]
 

)

This function creates an oaArrayInst object with the specified attributes, automatically assigning a unique name. The libName, cellName, and viewName arguments for the master are required. The master does not need to be open to create instances.

Returns:
oaArrayInst* if the instance was created
Parameters:
block The block in which to place the instance
libName The name of an existing library
cellName The name of an existing cell
viewName The name of an existing design
xform An instance transform that applies to the entire array
dX The offset spacing between instance placements in the X direction
dY The offset spacing between instance placements in the Y direction
numRows The number of rows in the Y direction
numCols The number of columns in the X direction
params Optionally makes an array of parameterized instances
status Specifies the placement status of this instance
Exceptions:
oacInvalidArrayInstRows 
oacInvalidArrayInstCols 
oacParamsSuppliedForNonPCellInstMaster 

oaArrayInst * oaArrayInst::create oaBlock *    block,
const oaScalarName &    libName,
const oaScalarName &    cellName,
const oaScalarName &    viewName,
const oaScalarName &    name,
const oaTransform &    xform,
oaOffset    dX,
oaOffset    dY,
oaUInt4    numRows,
oaUInt4    numCols,
const oaParamArray *    params = NULL,
oaPlacementStatus    status = oacNonePlacementStatus
[static]
 

This function creates an oaArrayInst object with the specified attributes and a unique name that you specify. The libName, cellName, and viewName arguments for the master are required. The master does not need to be open to create instances.

Exceptions are thrown if:

  • the specified name does not imply a scalar name
  • an instance already exists with the specified name
  • a vectorInstDef exists with the specified name

Returns:
oaArrayInst* if the instance was created
Parameters:
block The block in which to place the instance
libName The name of an existing library
cellName The name of an existing cell
viewName The name of an existing design
name A unique name to give to the instance
xform An instance transform that applies to the entire array
dX The offset spacing between instance placements in the X direction
dY The offset spacing between instance placements in the Y direction
numRows The number of rows in the Y direction
numCols The number of columns in the X direction
params Optionally makes an array of parameterized instances
status Specifies the placement status of this instance
Exceptions:
oacInvalidArrayInstRows 
oacInvalidArrayInstCols 
oacParamsSuppliedForNonPCellInstMaster 
oacInvalidHierInstName 
oacInstNameExists 
oacInstNameOverlapsOtherInst 

oaArrayInst * oaArrayInst::create oaBlock *    block,
oaDesign *    master,
const oaTransform &    xform,
oaOffset    dX,
oaOffset    dY,
oaUInt4    numRows,
oaUInt4    numCols,
const oaParamArray *    params = NULL,
oaPlacementStatus    status = oacNonePlacementStatus
[static]
 

This function creates an oaArrayInst object with the specified attributes, automatically assigning a unique name.

Returns:
oaArrayInst* if the instance was created
Parameters:
block The block in which to place the instance
master The design used as the master
xform An instance transform that applies to the entire array
dX The offset spacing between instance placements in the X direction
dY The offset spacing between instance placements in the Y direction
numRows The number of rows in the Y direction
numCols The number of columns in the X direction
params Optionally makes an array of parameterized instances
status Specifies the placement status of this instance
Exceptions:
oacInvalidArrayInstRows 
oacInvalidArrayInstCols 
oacInvalidSuperMaster 
oacParamsSuppliedForNonPCellInstMaster 

oaArrayInst * oaArrayInst::create oaBlock *    block,
oaDesign *    master,
const oaScalarName &    name,
const oaTransform &    xform,
oaOffset    dX,
oaOffset    dY,
oaUInt4    numRows,
oaUInt4    numCols,
const oaParamArray *    params = NULL,
oaPlacementStatus    status = oacNonePlacementStatus
[static]
 

This function creates an oaArrayInst object with the specified attributes, with a unique name you specify.

Exceptions are thrown if:

  • the specified name does not imply a scalar name
  • an instance already exists with the specified name
  • a vectorInstDef exists with the specified name

Returns:
oaArrayInst* if the instance was created
Parameters:
block The block in which to place the instance
master The design used as the master
name A unique name to give to the instance
xform An instance transform that applies to the entire array
dX The offset spacing between instance placements in the X direction
dY The offset spacing between instance placements in the Y direction
numRows The number of rows in the Y direction
numCols The number of columns in the X direction
params Optionally makes an array of parameterized instances
status Specifies the placement status of this instance
Exceptions:
oacInvalidArrayInstRows 
oacInvalidArrayInstCols 
oacInvalidSuperMaster 
oacParamsSuppliedForNonPCellInstMaster 
oacInvalidHierInstName 
oacInstNameExists 
oacInstNameOverlapsOtherInst 

oaArrayInst * oaArrayInst::find const oaBlock *    block,
const oaScalarName &    name
[static]
 

This function searches the specified block for an arrayInst with the specified name. If found, the arrayInst is returned. Otherwise, NULL is returned. A NULL return does not guarantee the arrayInst name is not used by another type of instance.

Returns:
oaArrayInst* if the instance was found
Parameters:
block The block to search
name The name to find

void oaArrayInst::getBBox oaUInt4    row,
oaUInt4    col,
oaBox &    bBox
const
 

This function fills out bBox with the effective bounding box of the specified element of this arrayInst.

oaInt4 oaArrayInst::getDX   const
 

This function returns the spacing between columns of this arrayInst.

oaInt4 oaArrayInst::getDY   const
 

This function returns the spacing between rows of this arrayInst.

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

This function returns the name of this arrayInst in the specified nameSpace.

Reimplemented from oaInst.

void oaArrayInst::getName oaScalarName &    name const
 

This function returns the name of this arrayInst.

oaUInt4 oaArrayInst::getNumCols   const
 

This function returns the number of columns in this arrayInst.

oaUInt4 oaArrayInst::getNumRows   const
 

This function returns the number of rows in this arrayInst.

void oaArrayInst::getOverlap const oaBox &    region,
oaDist &    xMin,
oaDist &    xMax,
oaDist &    yMin,
oaDist &    yMax
const
 

This function calculates the elements of this arrayInst that are overlapped, either fully or partially, by the specified region. If region does not overlap any elements, this function fills out xMin, xMax, yMin and yMax with values such as xMin > xMax and yMin > yMax.

void oaArrayInst::getTransform oaUInt4    row,
oaUInt4    col,
oaTransform &    xform
const
 

This function fills out xform with the effective transform of the specified element of the arrayInst represented by this arrayInstData.

oaBoolean oaArrayInst::isValidName oaBlock *    block,
const oaScalarName &    name
[static]
 

This function returns a boolean value that indicates if the specified name is valid for a new oaArrayInst in the specified block.

void oaArrayInst::setDX oaOffset    dX
 

This function sets the offset spacing between columns of this arrayInst.

void oaArrayInst::setDY oaOffset    dY
 

This function sets the offset spacing between rows of this arrayInst.

void oaArrayInst::setName const oaScalarName &    name
 

This function changes the name of this instance to the specified name.

Exceptions are thrown if:

  • the specified name does not imply a scalar name
  • an instance already exists with the specified name
  • a vectorInstDef exists with the specified name

Exceptions:
oacInvalidHierInstName 
oacInstNameExists 
oacInstNameOverlapsOtherInst 

void oaArrayInst::setNumCols oaUInt4    numCols
 

This function sets the number of columns in this arrayInst.

Exceptions:
oacInvalidArrayInstCols 

void oaArrayInst::setNumRows oaUInt4    numRows
 

This function sets the number of rows in this arrayInst.

Exceptions:
oacInvalidArrayInstRows 


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

Return to top of page