oaBusTerm Class Reference

Inheritance diagram for oaBusTerm:

oaTerm oaBlockObject oaDesignObject oaObject


Public Methods

oaBusTermDefgetDef () const
oaUInt4 getStart () const
oaUInt4 getStop () const
oaUInt4 getStep () const
void getName (oaVectorName &name) const
void setBaseName (const oaScalarName &name)
void setRange (oaUInt4 start, oaUInt4 stop)
void getName (oaName &name) const
void getName (const oaNameSpace &ns, oaString &name) const

Static Public Methods

oaBusTerm * create (oaNet *net, const oaScalarName &name, oaUInt4 start, oaUInt4 stop, oaUInt4 step, oaTermType termType=oacInputOutputTermType, oaBlockDomainVisibility view=oacInheritFromTopBlock)
oaBusTerm * create (oaNet *net, const oaVectorName &name, oaTermType termType=oacInputOutputTermType, oaBlockDomainVisibility view=oacInheritFromTopBlock)
oaBusTerm * create (oaNet *net, const oaVectorBitName &name, oaTermType termType=oacInputOutputTermType, oaBlockDomainVisibility view=oacInheritFromTopBlock)
oaBusTerm * find (const oaBlock *block, const oaScalarName &name, oaUInt4 start, oaUInt4 stop, oaUInt4 step)
oaBoolean isValidName (const oaBlock *block, const oaNet *net, const oaScalarName &name, oaUInt4 start, oaUInt4 stop, oaUInt4 step)

Detailed Description

The oaBusTerm class implements a terminal that represents one or more bits that are associated by a common baseName and vector-range specification. An oaBusTerm object has a corresponding oaBusTermDef object that manages all oaBusTerm objects that share the same baseName.


Member Function Documentation

oaBusTerm * oaBusTerm::create oaNet *    net,
const oaVectorBitName &    name,
oaTermType    termType = oacInputOutputTermType,
oaBlockDomainVisibility    view = oacInheritFromTopBlock
[static]
 

This function creates an oaBusTerm object with the specified attributes. This function takes an oaVectorBitName and creates a single-bit oaBusTerm object on the specified net.

Parameters:
net The net to use to create the oaBusTerm
name The baseName and bit index to use to create the oaBusTerm
termType The type of terminal to create
view Specifies whether this net is visible in the module domain
Returns:
A pointer to an oaBusTerm
Exceptions:
oacBusTermBaseNameMatchesScalarName 
oacNetTermWidthMismatch 
oacTermExists 
oacTermMemberExists 
oacCannotCreateTermWithImplicitNet 
oacTermNetMustBeInUniqueOccHier 
oacPhysOnlyTermNetMustBeInSameOcc 

oaBusTerm * oaBusTerm::create oaNet *    net,
const oaVectorName &    name,
oaTermType    termType = oacInputOutputTermType,
oaBlockDomainVisibility    view = oacInheritFromTopBlock
[static]
 

This function creates an oaBusTerm object with the specified attributes. This function takes an oaVectorName and creates a multi-bit oaBusTerm object on the specified net.

Parameters:
net The net to use to create the oaBusTerm
name The baseName, start, stop, and step values to use to create the oaBusTerm
termType The type of terminal to create
view Specifies whether this net is visible in the module domain
Returns:
A pointer to an oaBusTerm
Exceptions:
oacBusTermBaseNameMatchesScalarName 
oacNetTermWidthMismatch 
oacTermExists 
oacTermMemberExists 
oacCannotCreateTermWithImplicitNet 
oacTermNetMustBeInUniqueOccHier 
oacPhysOnlyTermNetMustBeInSameOcc 

oaBusTerm * oaBusTerm::create oaNet *    net,
const oaScalarName &    name,
oaUInt4    start,
oaUInt4    stop,
oaUInt4    step,
oaTermType    termType = oacInputOutputTermType,
oaBlockDomainVisibility    view = oacInheritFromTopBlock
[static]
 

This function creates an oaBusTerm object with the specified attributes. The specified baseName and start, stop, and step indices are first checked to verify they are legal and do not specify an oaBusTerm object that already exists.

Parameters:
net The net to use to create the oaBusTerm
name The baseName for the oaBusTerm
start The starting index of the oaBusTerm
stop The stopping index of the oaBusTerm
step The step value of the oaBusTerm
termType The terminal type of the oaBusTerm
view Specifies whether this net is visible in the module domain
Returns:
A pointer to an oaBusTerm
Exceptions:
oacBusTermBaseNameMatchesScalarName 
oacCannotCreateTermWithImplicitNet 
oacNetTermWidthMismatch 
oacTermExists 
oacTermMemberExists 
oacTermNetMustBeInUniqueOccHier 
oacPhysOnlyTermNetMustBeInSameOcc 

oaBusTerm * oaBusTerm::find const oaBlock *    block,
const oaScalarName &    baseName,
oaUInt4    start,
oaUInt4    stop,
oaUInt4    step
[static]
 

This function searches the specified block for an oaBusTerm object with the specified baseName and start, stop, and step indices. The oaBusTerm object is returned if found. Otherwise, NULL is returned. If the specified term is hidden, that is the term returned.

Parameters:
block The block to search for the oaBusTerm
baseName The baseName for the oaBusTerm
start The starting index of the oaBusTerm
stop The stopping index of the oaBusTerm
step The step value of the oaBusTerm
Returns:
A pointer to an oaBusTerm

oaBusTermDef * oaBusTerm::getDef   const
 

This function returns the oaBusTermDef for this oaBusTerm object.

Returns:
A pointer to an oaBusTermDef

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

This function fills in name with the name of this terminal mapped to the specified nameSpace.

void oaTerm::getName oaName &    name const
 

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

void oaBusTerm::getName oaVectorName &    name const
 

This function returns the name of this oaBusTerm

Parameters:
name The name of the oaBusTerm to return

oaUInt4 oaBusTerm::getStart   const
 

This function returns the starting index for this oaBusTerm object.

Returns:
The starting index for this oaBusTerm

oaUInt4 oaBusTerm::getStep   const
 

This function returns the stepping index for this oaBusTerm object.

Returns:
The step value for this oaBusTerm

oaUInt4 oaBusTerm::getStop   const
 

This function returns the ending index for this oaBusTerm object.

Returns:
The ending index for this oaBusTerm

oaBoolean oaBusTerm::isValidName const oaBlock *    block,
const oaNet *    net,
const oaScalarName &    name,
oaUInt4    start,
oaUInt4    stop,
oaUInt4    step
[static]
 

This function returns a boolean value indicating whether the specified name is valid for a new oaBusTerm object that is associated with the specified net. This function returns true if the specified busTerm is hidden but not overridden.

Parameters:
block The block to search for the oaBusTerm
net The net to use to create the oaBusTerm
name The name for the new oaBusTerm
start The starting index of the oaBusTerm
stop The stopping index of the oaBusTerm
step The step value of the oaBusTerm

void oaBusTerm::setBaseName const oaScalarName &    name
 

This function changes the baseName of this oaBusTerm.

Parameters:
name The baseName for the terminal
Exceptions:
oacBusTermBaseNameMatchesScalarName 
oacCannotSetNameOfImplicitTerm 
oacCannotSetNameOfTermInBundleTerm 
oacNetTermWidthMismatch 
oacTermExists 
oacTermMemberExists 

void oaBusTerm::setRange oaUInt4    start,
oaUInt4    stop
 

This function changes the vector range for this oaBusTerm. The new number of bits implied by the specified start and stop bits must match the current numBits. This restriction is necessary because the number of bits must match the number of bits of the net that is associated with this oaBusTerm object.

Parameters:
start The starting index of the terminal
stop The stopping index of the terminal
Exceptions:
oacCannotSetNameOfImplicitTerm 
oacCannotSetNameOfTermInBundleTerm 
oacTermExists 
oacInvalidBusStartStopRange 


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

Return to top of page