oaModBundleTerm Class Reference

Inheritance diagram for oaModBundleTerm:

oaModTerm oaModObject oaDesignObject oaObject


Public Methods

oaUInt4 getNumMembers () const
oaModTermgetMember (oaUInt4 index) const
void getName (oaBundleName &name) const
oaCollection< oaModTerm, oaModBundleTerm > getMembers () const
void getName (oaName &name) const
void getName (const oaNameSpace &ns, oaString &name) const

Static Public Methods

oaModBundleTerm * create (oaModNet *modNet, const oaBundleName &name, oaTermType termType=oacInputOutputTermType)
oaModBundleTerm * find (const oaModule *module, const oaBundleName &name)
oaBoolean isValidName (const oaModule *module, const oaModNet *net, const oaBundleName &name)

Detailed Description

The oaModBundleTerm class implements a multi-bit terminal for an oaModule. It is composed of a list of scalarTerms and busTerms and repeated copies of those elements. When a bundleTerm is created, the constituent scalarTerms and busNetBits are automatically created if they do not already exist. oaModBundleTerm objects are associated with oaModNets that may be oaModBundleNets but aren't required to be. The number of bits implied by the names of the oaModBundleTerm and its oaModNet must match to be valid.

oaModBundleTerm, oaOccBundleTerm, and oaBundleTerm each represent bundle terminals in a different hierarchy domain, where in each case the master represents a level of hierarchy in the design.

For oaModBundleTerm, the master is an oaModule, and each module in a cellview will have a set of zero or more modBundleTerms. For oaOccBundleTerm, the master is an oaOccurrence.

For oaBundleTerm, the master is an oaBlock, and the top block for the cellView will have a set of zero or more bundleTerms. In the typical case where all block objects are visible to the module domain, the oaModBundleTerms on the top oaModule will have corresponding oaBundleTerms on the top oaBlock. All of the oaModBundleTerms on the top module have a corresponding oaOccBundleTerm on the top oaOccurrence.


Member Function Documentation

oaModBundleTerm * oaModBundleTerm::create oaModNet *    modNet,
const oaBundleName &    name,
oaTermType    termType = oacInputOutputTermType
[static]
 

This function adds a new oaModBundleTerm to the specified modNet. The bundle name must imply the same number of bits as the width of the modNet.

Parameters:
modNet A pointer to the modNet to associate with the terminal; the bits of the modNet are associated with the constituent bits of the automatically created member terminals
name The name of the terminal
termType The type of the terminal to create
Exceptions:
oacCannotCreateTermWithImplicitNet 
oacTermNetMismatchInRepeatedMembers 

oaModBundleTerm * oaModBundleTerm::find const oaModule *    module,
const oaBundleName &    name
[static]
 

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

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

oaModTerm * oaModBundleTerm::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 oaModTerm
Exceptions:
oacInvalidBundleTermMemberIndex 

oaCollection< oaModTerm, oaModBundleTerm > oaModBundleTerm::getMembers   const
 

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

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

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

void oaModTerm::getName oaName &    name const
 

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

void oaModBundleTerm::getName oaBundleName &    name const
 

This function returns the name of this modBundleTerm.

Parameters:
name The name of the modBundleTerm to return

oaUInt4 oaModBundleTerm::getNumMembers   const
 

This function returns the number of members in this bundleTerm.

Returns:
The number of member terminals in this bundleTerm

oaBoolean oaModBundleTerm::isValidName const oaModule *    module,
const oaModNet *    net,
const oaBundleName &    name
[static]
 

This function returns a boolean value that indicates if the specified name is valid for a new oaModBundleTerm object associated with the specified net.

Parameters:
module The module in which to create the new bundle terminal
net The net with which to associate the new bundle terminal
name The name of the new bundle terminal


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

Return to top of page