首页 / design / oaOccNet

oaOccNet

模块: oapy._oa._design 导入: from oapy._oa import _design

概览

oaOccNetoapy 中可用,可通过 _design 模块访问。

本页汇总 oaOccNet 当前在 oapy 中可用的 Python 接口。

详细说明

The oaOccNet class is an abstract base class for scalar and multi-bit nets that are part of the design's occurrence description。 Nets represent the logical connectivity within a occurrence of a design。 Nets connect to terminals, which are the logical connection points on instances of the net's occurrence。 Nets also connect to instTerms that represent connections to the lower-level instances in the net's occurrence。 oaOccNet objects are always in the occurrence domain。 Nets span the domains in a design。 An oaOccNet may be an occurrence of an oaNet in the block hierarchy and may be an occurrence of an oaModNet in the module hierarchy。 Multi-bit nets represent a collection of logical connections。 Nets can include busNets having a single base name with an index range, or they can include bundleNets, which are a more complex grouping of nets。 Multi-bit nets can have overlapping names。 For example, busNets addr<7:0> and addr<3:0> 。 All occBusNets with the same root name are managed by an oaOccBusNetDef 。 The occBusNetDef tracks: lowest numbered bit of all of the associated occBusNets highest numbered bit of all of the associated occBusNets busNets with the same base name associated occBusNetBits The occBusNetBits are automatically created for each bit of a occBusNet, if they do not already exist。 They are available for those applications performing scalarized connectivity traversal of the data。 The bundleNets can contain scalarNets or buses。 When a bundleNet is created, the constituent scalarNets and busNets are automatically created in addition to the bundleNet itself。 All automatically created net objects are considered "implicit." Implicit nets are more restricted in terms of the operations that are allowed to work with them。 Names are normally associated with occNets。 The various net objects take and return names through the general oaName object but also use the oaScalarName , oaVectorBitName , oaVectorName , and oaBundleName objects。 These name objects manage the mapping of names from one nameSpace to another。 For example, a net is created using the name in CDBA nameSpace; another application can retrieve the net's name in the Verilog nameSpace。 You can have two or more occNets that are equivalent。 Equivalent occNets are traversed separately or logically as the same net。 You can only set single-bit nets equivalent to each other。 The oaOccNet class can be observed by deriving from oaObserver

方法总览

状态 Python 调用
obj.isEmpty()
obj.isImplicit()
obj.isGlobal()
obj.getSigType()
obj.getNumBits()
obj.getName(name)
obj.getName(ns, name)
obj.getPathName(pathName)
obj.getPathName(ns, pathName)
obj.getBit(bitIndex)
obj.getAssignedNet(ignoreDefault=false)
obj.getAssignedNet(spec, ignoreDefault=false)
obj.getNet()
obj.getModNet()
obj.getGlobalNets()
obj.getInstTerms(filterFlags=oacInstTermIterNotImplicit)
obj.getMemberNets(unique=true)
obj.getSingleBitMembers()
obj.getSpan()
obj.getTerms(filterFlags=oacTermIterAllNotHidden|oacTermIterNotImplicit)
_design.oaOccNet.find(occurrence, name)

方法说明

obj.isEmpty()

绑定状态: 已绑定

Python 调用: obj.isEmpty()

This function returns a boolean value that indicates if this net has any objects attached to it or associated with it。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.isEmpty()

obj.isImplicit()

绑定状态: 已绑定

Python 调用: obj.isImplicit()

This function returns a boolean value that indicates if this occNet is an implicit net。 Implicit nets only exist because they are components of an explicit busNet or bundleNet。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.isImplicit()

obj.isGlobal()

绑定状态: 已绑定

Python 调用: obj.isGlobal()

This function returns a boolean value that indicates if this net is designated as a global net。 Global nets connect implicitly to all global nets of the same name no matter what cellView in a hierarchy they appear in。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.isGlobal()

obj.getSigType()

绑定状态: 已绑定

Python 调用: obj.getSigType()

This function returns the signal type of this net, which is the signal type of the corresponding oaModNet 。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getSigType()

obj.getNumBits()

绑定状态: 已绑定

Python 调用: obj.getNumBits()

This function returns the number of bits in this net。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getNumBits()

obj.getName(name)

绑定状态: 已绑定

Python 调用: obj.getName(name)

This function returns the local name of this net in the specified nameSpace in the specified name string。 The name is relative to the parent occurrence of this net。

参数

  • ns: The nameSpace used to map the name。
  • name: The returned net name。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getName(name)

obj.getName(ns, name)

绑定状态: 已绑定

Python 调用: obj.getName(ns, name)

This function returns the local name of this net within its parent occurrence。

参数

  • name: The returned net name。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getName(ns, name)

obj.getPathName(pathName)

绑定状态: 已绑定

Python 调用: obj.getPathName(pathName)

This function returns the full path name of this net in the specified nameSpace in the specified pathName string。 The pathName is relative to the top occurrence in the occurrence hierarchy containing this net。

参数

  • ns: The nameSpace used to map the name。
  • pathName: The returned path name。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getPathName(pathName)

obj.getPathName(ns, pathName)

绑定状态: 已绑定

Python 调用: obj.getPathName(ns, pathName)

This function returns the full path name of this net, relative to the top occurrence in the occurrence hierarchy containing this net。

参数

  • pathName: The returned path name。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getPathName(ns, pathName)

obj.getBit(bitIndex)

绑定状态: 已绑定

Python 调用: obj.getBit(bitIndex)

This function returns a pointer to the occNet that corresponds to the specified bitIndex bit of this net。 For scalarNets, this function simply returns the net。 For busNets, the busNetBit corresponding to the bitIndex position is returned。 For example, if this net is a busNet "a[7:0]" and bitIndex is zero, this function will return the busNetBit corresponding to "a[7]"。 For bundleNets, a scalarNet or busNetBit is returned。

参数

  • bitIndex: Specifies which bit of the net to return。

返回

  • A pointer to an oaOccBitNet。

异常

  • oacInvalidBusNetBitIndex
  • oacInvalidNetIndex

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getBit(bitIndex)

obj.getAssignedNet(ignoreDefault=false)

绑定状态: 已绑定

Python 调用: obj.getAssignedNet(ignoreDefault=false)

This function returns the occurence net assigned to this net as per the inherited connections specification。 NULL will be returned in the following cases: There is no effective connectDef associated with this net There is an effective connectDef but no matching assignment, and 'ignoreDefault' is true。 Exceptions are thrown for cases when an assignment is found but a net with that name does not exist or if the default net name needs to be used, 'ignoreDefault' is false, but there is no net that matches the default net name specified。 This version is for diagnostic use and returns the set of connectDefs and/or assignments that were looked at in the hierarchy for resolving the assigned net via the 'spec' parameter。 Clients can inspect the array which will consist of pointers to either connectDef or assignment objects in the occurrence domain。

参数

  • spec: An array that gets populated with pointers to design objects that indicate the assigned net specification。
  • ignoreDefault: Indicates if the default net name in the specification should be ignored。

异常

  • oacCannotFindSpecAssignedDefOccNet
  • oacCannotFindSpecAssignedOccNet

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getAssignedNet(ignoreDefault=false)

obj.getAssignedNet(spec, ignoreDefault=false)

绑定状态: 已绑定

Python 调用: obj.getAssignedNet(spec, ignoreDefault=false)

This function returns the occurence net assigned to this net as per the inherited connections specification。 NULL will be returned in the following cases: There is no effective connectDef associated with this net There is an effective connectDef but no matching assignment, and 'ignoreDefault' is true。 Exceptions are thrown for cases when an assignment is found but a net with that name does not exist or if the default net name needs to be used, 'ignoreDefault' is false, but there is no net that matches the default net name specified。

参数

  • ignoreDefault: Indicates if the default net name in the specification should be ignored。

异常

  • oacCannotFindSpecAssignedDefOccNet
  • oacCannotFindSpecAssignedOccNet

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getAssignedNet(spec, ignoreDefault=false)

obj.getNet()

绑定状态: 已绑定

Python 调用: obj.getNet()

This function returns a pointer to the corresponding net in the block domain。 NULL is returned if this occurrence net is not visible to the block domain。 在 oaOccBundleNet、oaOccBusNet、oaOccBusNetBit 和 oaOccScalarNet 中重新实现。

返回

  • A pointer to an oaNet。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getNet()

obj.getModNet()

绑定状态: 已绑定

Python 调用: obj.getModNet()

This function returns a pointer to the corresponding net in the module domain。 NULL will be returned if this net is an occurrence of a physical-only net。 在 oaOccBundleNet、oaOccBusNet、oaOccBusNetBit 和 oaOccScalarNet 中重新实现。

返回

  • A pointer to an oaModNet。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getModNet()

obj.getGlobalNets()

绑定状态: 已绑定

Python 调用: obj.getGlobalNets()

This function returns an oaOccNet collection consisting of all global nets with the same local name as this global net。 An oacInvalidGlobalNet exception is thrown if this net is not a global net。

异常

  • oacInvalidGlobalNet

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getGlobalNets()

obj.getInstTerms(filterFlags=oacInstTermIterNotImplicit)

绑定状态: 已绑定

Python 调用: obj.getInstTerms(filterFlags=oacInstTermIterNotImplicit)

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

参数

  • filterFlags: Specifies what the collection contains。 The bits flags are defined as follows: oacInstTermIterNotImplicit: the collection will only contain instTerms that were explicitly created oacInstTermIterEquivNets: the collection will also contain the instTerms on the nets that are equivalent to this one。

异常

  • oacInstTermIterFlagNotApplicableOnNets

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getInstTerms(filterFlags=oacInstTermIterNotImplicit)

obj.getMemberNets(unique=true)

绑定状态: 已绑定

Python 调用: obj.getMemberNets(unique=true)

This function returns a collection of occurrence nets of which this occurrence net is a member。 For example, if an occurrence hierarchy contains both scalar net a and bundle net x,y,a this collection for net a contains both of those nets。 The member net capability for occurrence nets exactly parallels the capability for oaNets in the block domain。 See oaNet::getMemberNets for details on which nets are members of which other nets。

参数

  • unique: Specifies that only the preferred equivalent nets are included in the collection。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getMemberNets(unique=true)

obj.getSingleBitMembers()

绑定状态: 已绑定

Python 调用: obj.getSingleBitMembers()

This function returns a collection of single-bit member nets that are in this net。 If this net is a single-bit net, the collection contains itself。 If this net is a busNet, the collection contains all of the corresponding busNetBits。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getSingleBitMembers()

obj.getSpan()

绑定状态: 已绑定

Python 调用: obj.getSpan()

This function returns a collection of all occNets in the same span as this net。 The span is defined as the set of nets connected across the module hierarchy。 The span of nets does not cross the design hierarchy。 The span of a net will change as the connectivity through occTerms and occInstTerms changes。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getSpan()

obj.getTerms(filterFlags=oacTermIterAllNotHidden|oacTermIterNotImplicit)

绑定状态: 已绑定

Python 调用: obj.getTerms(filterFlags=oacTermIterAllNotHidden|oacTermIterNotImplicit)

This function returns a collection of terminals in this modNet。 By default, the collection only contains explicit terminals associated with this net。 When oacTermIterAll is included in filterFlags, the collection will contain all terminals associated with this net, including implicit terminals。 When oacTermIterEquivNets is included in filterFlags, the collection will contain all terminals in the set of nets that are equivalent to this net。

参数

  • filterFlags: Specifies which types of terminals to include in the collection。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccNet
obj.getTerms(filterFlags=oacTermIterAllNotHidden|oacTermIterNotImplicit)

_design.oaOccNet.find(occurrence, name)

绑定状态: 已绑定

Python 调用: _design.oaOccNet.find(occurrence, name)

This function searches the specified occurrence for a occNet with the specified name。 If name is hierarchical, then this function will descend into lower levels of occurrence hierarchy, expanding the hierarchy and binding the master designs as needed。 If name is a bundle name, and any of its members is hierarchical, all of the members must have the same hierarchical path or an exception is thrown。 If the net is found, the function returns the net。 Otherwise, NULL is returned。

参数

  • occurrence: The occurrence in which to search。
  • name: The name of the net to find。

返回

  • A pointer to the oaOccNet。

异常

  • oacInvalidHierBundleNetName

Python 示例

from oapy._oa import _design

_design.oaOccNet.find(occurrence, name)