oaOccBundleTerm Class Reference

Inheritance diagram for oaOccBundleTerm:

oaOccTerm oaOccObject oaDesignObject oaObject


Public Methods

oaUInt4 getNumMembers () const
oaOccTermgetMember (oaUInt4 index) const
oaBundleTermgetTerm () const
oaModBundleTermgetModTerm () const
void getName (oaBundleName &name) const
oaCollection< oaOccTerm, oaOccBundleTerm > getMembers () const
void getName (oaName &name) const
void getName (const oaNameSpace &ns, oaString &name) const

Static Public Methods

oaOccBundleTerm * find (const oaOccurrence *occurrence, const oaBundleName &name)

Detailed Description

The oaOccBundleTerm class implements a multi-bit terminal for an occurrence with a name that is composed of one or more scalars or one or more busses, or a combination of scalars and busses. Its constituent occScalarTerms and occBusTermBits are automatically created as implicit terminals if they do not already exist. oaOccBundleTerm objects are associated with occurrence nets (oaOccNet) to represent connectivity. The number of bits implied by the name of the oaOccBundleTerm and the name of its oaOccNet must match.

oaModBundleTerm, oaOccBundleTerm, and oaBundleTerm each represent bundle terminals in a different kind of hierarchy. In each case the master represents a level of hierarchy in the design. For oaOccBundleTerm, the master is an oaOccurrence, which corresponds to a unique usage of a module or a block in a design. Each oaOccurrence in a design will have a set of zero or more occBundleTerms.

oaOccTerms are created automatically to reflect oaTerms and oaModTerms. When an oaBundleTerm is created in the block domain an oaOccBundleTerm is created automatically in the occurrence domain. When an oaModBundleTerm is created in the module domain an oaOccBundleTerm is created if that module is in the hierarchy under its design's top module.


Member Function Documentation

oaOccBundleTerm * oaOccBundleTerm::find const oaOccurrence *    occ,
const oaBundleName &    name
[static]
 

This function searches the specified occurrence for a bundleTerm with the given name. The bundleTerm is returned if it exists. Otherwise, NULL is returned.

Parameters:
occ The occurrence to search
name The name of the terminal
Returns:
A pointer to an oaOccBundleTerm if found; otherwise, NULL is returned

oaOccTerm * oaOccBundleTerm::getMember oaUInt4    memIndex const
 

This function returns the memIndex member of this bundleTerm.

Parameters:
memIndex The bundle member index of the member term to get
Returns:
A pointer to an oaOccTerm
Exceptions:
oacInvalidBundleTermMemberIndex 

oaCollection< oaOccTerm, oaOccBundleTerm > oaOccBundleTerm::getMembers   const
 

This function returns a collection of member terms in this bundleTerm.

oaModBundleTerm * oaOccBundleTerm::getModTerm   const
 

This function returns the module terminal corresponding to this occurrence terminal if there is one. There is always either a module terminal or a block terminal (oaBundleTerm) or both. It returns NULL if there is no corresponding oaModBundleTerm.

Reimplemented from oaOccTerm.

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

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

void oaOccTerm::getName oaName &    name const
 

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

void oaOccBundleTerm::getName oaBundleName &    name const
 

This function returns the name of this occBundleTerm.

Parameters:
name The name of the occBundleTerm to return

oaUInt4 oaOccBundleTerm::getNumMembers   const
 

This function returns the number of members in this bundleTerm.

Returns:
The number of member terminals in this bundleTerm

oaBundleTerm * oaOccBundleTerm::getTerm   const
 

This function returns the bundle terminal in the block domain that corresponds to this occurrence terminal if there is one. There is always either a module terminal (oaModBundleTerm) or a block terminal or both. It returns NULL if there is no corresponding oaBundleTerm.

Reimplemented from oaOccTerm.


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

Return to top of page