oaOccBusTermDef Class Reference

Inheritance diagram for oaOccBusTermDef:

oaOccObject oaDesignObject oaObject


Public Methods

oaUInt4 getMinIndex () const
oaUInt4 getMaxIndex () const
oaUInt4 getNumBits () const
void getName (oaScalarName &name) const
void getName (const oaNameSpace &ns, oaString &name) const
oaBitOrder getBitOrder () const
oaBoolean isImplicit () const
oaCollection< oaOccBusTerm, oaOccBusTermDef > getBusTerms () const
oaCollection< oaOccBusTermBit, oaOccBusTermDef > getBusTermBits () const
oaCollection< oaOccBusTerm, oaOccBusTermDef > getBusTerms (oaUInt4 filterFlags) const
oaCollection< oaOccBusTermBit, oaOccBusTermDef > getBusTermBits (oaUInt4 filterFlags) const

Static Public Methods

oaOccBusTermDef * find (const oaOccurrence *occurrence, const oaScalarName &name)

Public Types

enum  { dtIndex = oacBusTermDefDataType }

Detailed Description

The oaOccBusTermDef class defines an object that manages all oaOccBusTerms with the same base name in the module domain. An oaOccBusTermDef also tracks the least significant and most significant bits of all of its oaOccBusTerms, as well as all of the corresponding oaOccBusTermBits.

A bus definition can be 'sparse' (have missing bits). Busses do not have to start or end at zero. For example, a<22:25> is a legal bus name. Bus indexes must be non-negative.

The bit order of an explicit oaOccBusTermDef is independent of the order within individual oaOccBusTerms with the same base name. Verilog requires a single wire declaration for a given base name, and the range of that declaration covers all of the bit indices used by the sub-ranges that correspond to oaOccBusTerms.

oaModBusTermDef, oaOccBusTermDef, and oaBusTermDef each manage the bus terminals on a different kind of master, where in each case the master represents a level of hierarchy in the design.

For oaOccBusTermDef, 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 occBusTermDefs.

For oaModBusTermDef, the master is an oaModule. For oaBusTermDef, the master is an oaBlock, and the top block for the design will have a set of zero or more modBusTermDefs. Typically, many of the oaBusTermDefs on the top oaBlock have a corresponding oaModBusTermDef on the top oaModule. The top oaOccurrence will have a corresponding oaOccBusTermDef for each busTermDef in the union of the terminals between the top oaModule and the top oaBlock.

The oaOccBusTermDef class can be observed by deriving from oaObserver<oaOccBusTermDef>.


Member Function Documentation

oaOccBusTermDef * oaOccBusTermDef::find const oaOccurrence *    occ,
const oaScalarName &    name
[static]
 

This function searches the specified occurrence for an oaBusTermDef with the specified name. The oaBusTermDef is returned if found. Otherwise, NULL is returned.

oaBitOrder oaOccBusTermDef::getBitOrder   const
 

This function returns the bitOrder associated with this oaOccBusTermDef object.

oaCollection< oaOccBusTermBit, oaOccBusTermDef > oaOccBusTermDef::getBusTermBits oaUInt4    filterFlags const
 

This function returns a collection of oaBusTermBits in this oaBusTermDef.

Parameters:
filterFlags Determines the extent of the contents of the returned collection:
  • oacBusTermBitIterAll specifies that all bus term bits are returned, even those that are hidden.
  • oacBusTermBitIterAllNotHidden specifies that the collection shall not include hidden bus term bits.

oaCollection oaOccBusTermDef::getBusTermBits   const
 

This function returns a collection of oaBusTermBits in this oaBusTermDef.

oaCollection< oaOccBusTerm, oaOccBusTermDef > oaOccBusTermDef::getBusTerms oaUInt4    filterFlags const
 

This function returns a collection of oaBusTerms in this oaBusTermDef.

Parameters:
filterFlags Determines the extent of the contents of the returned collection:
  • oacBusTermIterAll specifies that all bus terms are returned, even those that are hidden.
  • oacBusTermIterAllNotHidden specifies that the collection shall not include hidden bus terms.

oaCollection oaOccBusTermDef::getBusTerms   const
 

This function returns a collection of oaBusTerms in this oaBusTermDef.

oaUInt4 oaOccBusTermDef::getMaxIndex   const
 

This function returns the largest bit number in use for this oaOccBusTermDef object. This is the largest index used across all oaOccBusTerms associated with this oaOccBusTermDef object.

oaUInt4 oaOccBusTermDef::getMinIndex   const
 

This function returns the smallest bit number in use for this oaOccBusTermDef object. This is the smallest index used across all oaOccBusTerms associated with this oaOccBusTermDef object.

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

This function returns the name string of this oaOccBusTermDef in the specified nameSpace.

Parameters:
ns The nameSpace to use when getting the name string
name Returns the string name of this oaOccBusTermDef

void oaOccBusTermDef::getName oaScalarName &    name const
 

This function returns the name of this oaOccBusTermDef object.

Parameters:
name The scalar name in which to return the name of this oaOccBusTermDef

oaUInt4 oaOccBusTermDef::getNumBits   const
 

This function returns the number of bits covered by the busses in this oaOccBusTermDef. The number of bits is equal to abs(maxIndex - minIndex) + 1; it is not necessarily the number of busTermBits present in this busTermDef. To get the number of busTermBits in this busTermDef, use oaOccBusTermDef::getBusTermBits().getCount().

void oaOccBusTermDef::isImplicit   const
 

This function returns a boolean indicating whether this oaOccBusTermDef was implicitly created or not.


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
dtIndex 


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

Return to top of page