oaOccurrence Class Reference

Inheritance diagram for oaOccurrence:

oaOccObject oaDesignObject oaObject


Public Methods

void destroy ()
oaBlockgetBlock () const
oaModulegetModule () const
oaOccInstgetOccInst () const
void getTermsByPosition (oaOccTermArray &array) const
oaOccurrence * uniquify ()
oaOccurrence * uniquify (const oaScalarName &modName)
oaCollection< oaOccAssignment, oaOccurrence > getAssignments () const
oaCollection< oaOccBusNetDef, oaOccurrence > getBusNetDefs () const
oaCollection< oaOccBusTermDef, oaOccurrence > getBusTermDefs () const
oaCollection< oaOccConnectDef, oaOccurrence > getConnectDefs () const
oaCollection< oaOccModuleInstHeader, oaOccurrence > getModuleInstHeaders () const
oaCollection< oaOccInst, oaOccurrence > getInsts (oaUInt4 filterFlags=oacInstIterNotImplicit) const
oaCollection< oaOccInstTerm, oaOccurrence > getInstTerms (oaUInt4 filterFlags=oacInstTermIterNotImplicit) const
oaCollection< oaOccNet, oaOccurrence > getNets (oaUInt4 filterFlags=oacNetIterAll|oacNetIterNotImplicit) const
oaCollection< oaOccTerm, oaOccurrence > getTerms (oaUInt4 filterFlags=oacTermIterAllNotHidden|oacTermIterNotImplicit) const
oaCollection< oaOccVectorInstDef, oaOccurrence > getVectorInstDefs () const

Public Types

enum  { dtIndex = oacOccurrenceDataType }

Detailed Description

The occurrence domain is a fully unfolded hierarchy that contains a union of the connectivity objects in the block and the module domains. See Understanding EMH in the Programmer's Guide for more discussion.

The oaOccurrence class represents an occurrence of an oaBlock and/or an oaModule in the occurrence hierarchy. An oaDesign may have zero or one top oaOccurrence. Except for a top occurrence, each oaOccurrence has a single oaOccInst that is its parent. An oaOccurrence also has zero or more occInsts that are its children.

Occurrences will only exist where the occurrence hierarchy has been expanded in the current session by starting at the top occurrence and calling oaOccInst::getMasterOccurrence(true). Occurrence objects will appear in the hierarchy representing all module objects that are instantiated under the top module and all block connectivity objects.

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


Member Function Documentation

void oaOccurrence::destroy  
 

This function destroys this occurrence and the occurrence hierarchy below it, removing them from the database.

Exceptions:
oacOccDestroyRequiresUndoToBeDisabled 

oaCollection oaOccurrence::getAssignments   const
 

This function returns a collection of the assignments in this occurrence.

oaBlock * oaOccurrence::getBlock   const
 

This function returns the block that corresponds to (or contains) this occurrence. This will return NULL for an occurrence of a module that is not visible in the block domain.

oaCollection oaOccurrence::getBusNetDefs   const
 

This function returns a collection of the busNetDefs in this occurrence.

oaCollection oaOccurrence::getBusTermDefs   const
 

This function returns a collection of the busTermDefs in this occurrence.

oaCollection oaOccurrence::getConnectDefs   const
 

This function returns a collection of the connectDefs in this occurrence.

oaCollection oaOccurrence::getInsts oaUInt4    filterFlags = oacInstIterNotImplicit const
 

This function returns a collection of instances in this occurrence. The filter flag bits are defined below and may be logically OR'd together to refine the contents of the collection.

Parameters:
filterFlags Specifies what the collection contains. The bit flags are defined as follows:
  • oacInstIterSingleBit: the collection contains single-bit instances
  • oacInstIterNotImplicit: the collection will not contain any implicitly created instances

oaCollection oaOccurrence::getInstTerms oaUInt4    filterFlags = oacInstTermIterNotImplicit const
 

This function returns a collection of the instTerms in this occurrence.

Parameters:
filterFlags Specifies what the collection contains. The bits flags are defined as follows:
  • oacInstTermIterNotImplicit: the collection will only contain instTerms that were explicitly created
  • oacInstTermIterSingleBit: the collection will only contain instTerms that make a single-bit connection

oaModule * oaOccurrence::getModule   const
 

This function returns the module that corresponds to this occurrence. This will return NULL for an occurrence of a block that is not visible in the module domain.

oaCollection oaOccurrence::getModuleInstHeaders   const
 

This function returns a collection of the moduleInstHeaders in this occurrence.

oaCollection oaOccurrence::getNets oaUInt4    filterFlags = oacNetIterAll | oacNetIterNotImplicit const
 

This function returns a collection of nets in this occurrence. The filter flag bits are defined below:

Parameters:
filterFlags This specifies what the collection contains. The bit flags are defined as follows:
  • oacNetIterAll: the collection contains all nets
  • oacNetIterSingleBit: the collection contains single-bit nets
  • oacNetIterBundle: the collection contains all the bundleNets in the occurrence
  • oacNetIterGlobal: the collection contains a representative occNet for every global signal referenced anywhere in the occurrence hierarchy containing this occurrence
  • oacNetIterPreferred: the collection only contains the preferred nets; equivalent nets are omitted
  • oacNetIterNotImplicit: the collection contains explicitly created nets
Flag Usage: The oacNetIterAll, oacNetIterSingleBit, oacNetIterBundle, and oacNetIterGlobal flags are mutually exclusive, and only one of these four flags may be specified. The selected flag may be logically OR'd with oacNetIterPreferred and oacNetIterNotImplicit.

Exceptions:
oacInvalidOccurrenceNetIterFlags 

oaOccInst * oaOccurrence::getOccInst   const
 

This function returns the parent instance of this occurrence. Every occurrence has exactly one parent occInst, except the top occurrence which has no occInst.

oaCollection oaOccurrence::getTerms oaUInt4    filterFlags = oacTermIterAllNotHidden | oacTermIterNotImplicit const
 

This function returns a collection of terms in this occurrence. The filter flag bits are defined below:

Parameters:
filterFlags Specifies what the collection contains. The bit flags are defined as follows:
  • oacTermIterAllNotHidden: the collection contains all terminals that are not hidden
  • oacTermIterAll: the collection contains all terminals
  • oacTermIterSingleBit: the collection contains single-bit terminals
  • oacTermIterBundle: the collection contains all the bundleTerms in the occurrence
  • oacTermIterNotImplicit: the collection contains explicitly created terminals
Flag Usage: The oacTermIterAllNotHidden, oacTermIterAll, oacTermIterSingleBit, and oacTermIterBundle flags are mutually exclusive, and only one of these four flags may be specified. The selected flag may be logically OR'd with oacTermIterNotImplicit.

Exceptions:
oacInvalidOccurrenceTermIterFlags 

void oaOccurrence::getTermsByPosition oaOccTermArray &    array const
 

This function retrieves the terminals in this occurrence that have been assigned a position and returns them in the specified oaOccTermArray. A position in the array may be NULL to reflect that there is no terminal assigned to that position. The position of a terminal in the array reflects the position assigned to the terminal.

oaCollection oaOccurrence::getVectorInstDefs   const
 

This function returns a collection of the vectorInstDefs in this occurrence.

oaOccurrence * oaOccurrence::uniquify const oaScalarName &    modName
 

This function ensures that this is the only occurrence of this module, creating a new module variant if necessary. This operation is applied recursively up the hierarchy, stopping when an occurrence that is already unique is reached. It explicitly does not uniquify occurrences in the hieararchy below the given occurrence. This version uses an explicitly specified name for the module.

The uniquified occurrences refer to new modules, and existing module domain pointers are affected by this function. If you have module object pointers aquired before uniquify, you should reaquire the pointers by doing a find operation.

Calling this function on the top oaOccurrence of an oaDesign, or on any other unique oaOccurrence, does nothing. Instead, call this function on an oaOccurrence of a non-unique oaModule, that is, an oaModule that is instantiated more than once.

Parameters:
modName The name of the new module
Exceptions:
oacModuleExists 
oacModuleAndOccurrenceNotInSameDesign 

oaOccurrence * oaOccurrence::uniquify  
 

This function ensures that this is the only occurrence of this module, creating a new module variant if necessary. This operation is applied recursively up the hierarchy, stopping when an occurrence that is already unique is reached. It explicitly does not uniquify occurrences in the hieararchy below the given occurrence. This version creates the module with an automatically generated name.

The uniquified occurrences refer to new modules, and existing module domain pointers are affected by this function. If you have module object pointers aquired before uniquify, you should reaquire the pointers by doing a find operation.

Calling this function on the top oaOccurrence of an oaDesign, or on any other unique oaOccurrence, does nothing. Instead, call this function on an oaOccurrence of a non-unique oaModule, that is, an oaModule that is instantiated more than once.

Exceptions:
oacModuleAndOccurrenceNotInSameDesign 


Member Enumeration Documentation

anonymous enum
 

Enumeration values:
dtIndex 


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

Return to top of page