oaModBusNet Class Reference

Inheritance diagram for oaModBusNet:

oaModNet oaModObject oaDesignObject oaObject


Public Methods

oaModBusNetDefgetDef () 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

oaModBusNet * create (oaModule *module, const oaScalarName &baseName, oaUInt4 start, oaUInt4 stop, oaUInt4 step, oaSigType type=oacSignalSigType, oaBoolean isGlobal=false)
oaModBusNet * create (oaModule *module, const oaVectorName &name, oaSigType type=oacSignalSigType, oaBoolean isGlobal=false)
oaModBusNet * create (oaModule *module, const oaVectorBitName &name, oaSigType type=oacSignalSigType, oaBoolean isGlobal=false)
oaModBusNet * find (const oaModule *module, const oaScalarName &baseName, oaUInt4 start, oaUInt4 stop, oaUInt4 step)
oaBoolean isValidName (const oaModule *module, const oaScalarName &baseName, oaUInt4 start, oaUInt4 stop, oaUInt4 step)

Detailed Description

The oaModBusNet class implements a net in the module domain that represents one or more bits that are associated by a common base name and vector-range specification. An oaModBusNet object has a corresponding oaModBusNetDef object that manages all oaModBusNet objects that share the same base name.

oaModBusNet, oaOccBusNet, and oaBusNet each represent bus nets on a different kind of master, where in each case the master represents a level of hierarchy in the design.

For oaModBusNet, the master is an oaModule, and each module in a design will have a set of zero or more modBusNets. For oaOccBusNet, the master is an oaOccurrence.

For oaBusNet, the master is an oaBlock, and the top block for the design will have a set of zero or more busNets. Typically, many of the oaBusNets on the top oaBlock have a corresponding oaModBusNet on the top oaModule. All of the oaBusNets on the top oaBlock have a corresponding oaOccBusNet on the top oaOccurrence.

When oaBusNet objects are created in the block domain, the corresponding oaModBusNet objects are automatically created on the top oaModule.


Member Function Documentation

oaModBusNet * oaModBusNet::create oaModule *    module,
const oaVectorBitName &    name,
oaSigType    sigType = oacSignalSigType,
oaBoolean    isGlobal = false
[static]
 

This function creates a busNet with the specified attributes, using an oaVectorBitName as input and creating a single-bit busNet.

Parameters:
module The module in which to create the busNet
name The base name and bit index to use to create the busNet
sigType The signal type of the busNet
isGlobal Specifies if this is a global net
Returns:
A pointer to an oaModBusNet
Exceptions:
oacBusNetNameMatchesAutoName 
oacInvalidVectorValue 
oacBusNetBaseNameMatchesScalarName 
oacNetExists 
oacImplicitModuleNetExists 
oacImplicitBlockNetExists 
oacInvalidHierNetName 

oaModBusNet * oaModBusNet::create oaModule *    module,
const oaVectorName &    name,
oaSigType    sigType = oacSignalSigType,
oaBoolean    isGlobal = false
[static]
 

This function creates a busNet with the specified attributes using an oaVectorName as input and creating a multi-bit busNet. (Use one of the other create() API functions to create single-bit nets.)

Parameters:
module The module in which to create the busNet
name The base name, start, stop, and step values to use to create the busNet
sigType The signal type of the busNet
isGlobal Specifies if this is a global busNet
Returns:
A pointer to an oaModBusNet
Exceptions:
oacBusNetNameMatchesAutoName 
oacInvalidVectorValue 
oacBusNetBaseNameMatchesScalarName 
oacNetExists 
oacImplicitModuleNetExists 
oacImplicitBlockNetExists 
oacInvalidHierNetName 

oaModBusNet * oaModBusNet::create oaModule *    module,
const oaScalarName &    baseName,
oaUInt4    start,
oaUInt4    stop,
oaUInt4    step,
oaSigType    sigType = oacSignalSigType,
oaBoolean    isGlobal = false
[static]
 

This function creates a single-bit or multi-bit busNet 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 existing busNet.

Parameters:
module The module in which to create the busNet
baseName The base name for the busNet
start The starting index of the busNet
stop The stopping index of the busNet
step The index increment value from start to step; step should be greater than zero
sigType The signal type of the busNet
isGlobal Specifies if this is a global busNet
Returns:
A pointer to the oaModBusNet created
Exceptions:
oacBusNetNameMatchesAutoName 
oacInvalidVectorValue 
oacBusNetBaseNameMatchesScalarName 
oacNetExists 
oacImplicitModuleNetExists 
oacImplicitBlockNetExists 
oacInvalidHierNetName 

oaModBusNet * oaModBusNet::find const oaModule *    module,
const oaScalarName &    baseName,
oaUInt4    start,
oaUInt4    stop,
oaUInt4    step
[static]
 

This function searches the specified module for a busNet with the specified baseName and start, stop, step indices. The busNet is returned if found. Otherwise, NULL is returned.

Parameters:
module The module in which to find the busNet
baseName The base name for the net
start The starting index of the net
stop The stopping index of the net
step The index increment value from start to step; step should be greater than zero
Returns:
A pointer to the oaModBusNet

oaModBusNetDef * oaModBusNet::getDef   const
 

This function returns the busNetDef for this busNet.

Returns:
A pointer to an oaModBusNetDef

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

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

void oaModNet::getName oaName &    name const
 

This function returns the name of this net in the name argument.

void oaModBusNet::getName oaVectorName &    name const
 

This function returns the name of this modBusNet.

Parameters:
name The name of the modBusNet to return

oaUInt4 oaModBusNet::getStart   const
 

This function returns the starting index for this busNet.

Returns:
The starting index of this busNet

oaUInt4 oaModBusNet::getStep   const
 

This function returns the step value for this busNet.

Returns:
The step value for this busNet

oaUInt4 oaModBusNet::getStop   const
 

This function returns the ending index for this busNet.

Returns:
The ending index for this busNet

oaBoolean oaModBusNet::isValidName const oaModule *    module,
const oaScalarName &    baseName,
oaUInt4    start,
oaUInt4    stop,
oaUInt4    step
[static]
 

This function returns a boolean value indicating whether the specified name is valid for a new oaModBusNet in the specified module.

Parameters:
module The module to search
baseName The base bus net name
start The starting index of the net
stop The stopping index of the net
step The index increment value from start to step; step should be greater than zero

void oaModBusNet::setBaseName const oaScalarName &    baseName
 

This function sets the base name of this oaModBusNet object. The name is also updated for each occurrence the net appears in.

Parameters:
baseName The new base name to be set for this net.
Exceptions:
oacBusNetBaseNameMatchesScalarName 
oacBusNetNameMatchesAutoName 
oacCannotRenameToImplicitBusNet 
oacCannotSetNameOfImplicitNet 
oacCannotSetNameOfNetInBundleNet 
oacImplicitModuleNetExists 
oacImplicitBlockNetExists 
oacInvalidHierNetName 
oacNetExists 
oacNetSetBaseNameConflictsInTerms 
oacNetSetBaseNameConflictsInInstTerms 

void oaModBusNet::setRange oaUInt4    start,
oaUInt4    stop
 

This function changes the vector range for this modBusNet. The new number of bits implied by the specified start and stop bits must match the current number of bits. This restriction is necessary so that any terminals or instance terminals that are associated with this busNet are not affected.

Parameters:
start The starting index of the net
stop The stopping index of the net
Exceptions:
oacCannotRenameToImplicitBusNet 
oacCannotSetRangeOfImplicitBus 
oacCannotSetRangeOfBusInBundleNet 
oacInvalidBusStartStopRange 
oacNetExists 
oacNetSetRangeConflictsWithOtherNets 


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

Return to top of page