首页 / design / oaOccTerm

oaOccTerm

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

概览

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

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

详细说明

The oaOccTerm class is an abstract base for all scalar and multi-bit terminals in the occurrence domain。 Occurrence terminals represent the logical connection points for an oaOccurrence 。 The nets associated with the terminals are logically exported through the terminals to the next level of hierarchy in a design。 oaModTerm , oaOccTerm, and oaTerm each represent bus terminals on a different kind of master, where in each case the master represents a level of hierarchy in the design。 For oaOccTerm, 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 occTerms。 For oaModTerm , the master is an oaModule 。 For oaTerm , the master is an oaBlock , and the top block for the design will have a set of zero or more modTerms。 Typically, many of the oaTerms on the top oaBlock have a corresponding oaModTerm on the top oaModule 。 The top oaOccurrence will have a corresponding oaOccTerm for each terminal in the union of the terminals between the top oaModule and the top oaBlock 。 When oaTerm objects are created in the block domain, the corresponding oaOccTerm objects are automatically created on the top oaOccurrence 。 Multi-bit terminals represent a group of logical connections to import or export from the module。 The terminals can consist of busTerms having a single root name with an index range, or they can include bundleTerms that are a more complex grouping of terminals。 Multi-bit terminals can have overlapping names。 For example, you can have the busTerms "addr<7:0>" and "addr<3:0>" as long as the overlapping bits are connected to the same nets。 All oaOccBusTerms with the same root name are managed by an oaOccBusTermDef 。 The oaOccBusTermDef tracks the least significant and most significant bits of all the associated oaOccBusTerms, all of the oaOccBusTerms with the same base name, and all of the associated oaOccBusTermBits。 oaOccBusTermBits are automatically created for each bit of an oaOccBusTerm , if they do not already exist。 oaOccBusTermBits are available for those applications performing scalarized connectivity traversal of the data。 oaOccBundleTerms can contain oaOccScalarTerms or oaOccBusTerms。 When an oaOccBundleTerm is created, the constituent scalarTerms and busTermBits are automatically created in addition to the bundleTerm itself。 All automatically created terminal objects are considered implicit。 Names are associated with terminals。 The various terminal 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, you can create a terminal using a name in the CDBA nameSpace。 Another application can retrieve the terminal name in the Verilog nameSpace directly from the database。 The oaOccTerm class can be observed by deriving from oaObserver

方法总览

状态 Python 调用
obj.isImplicit()
obj.isInterface()
obj.getBit(bitIndex)
obj.getNet(preferred=false)
obj.getNumBits()
obj.getTermType()
obj.getPosition()
obj.getAssignedNet(ignoreDefault=false)
obj.getAssignedNet(spec, ignoreDefault=false)
obj.getTerm()
obj.getModTerm()
obj.getReflection(d)
obj.getName(name)
obj.getName(ns, name)
_design.oaOccTerm.find(occurrence, name)
_design.oaOccTerm.find(occurrence, position)
_design.oaOccTerm.find(occurrence, name, d)
_design.oaOccTerm.find(occurrence, position, d)
_design.oaOccTerm.getMaxPosition(occurrence)

方法说明

obj.isImplicit()

绑定状态: 已绑定

Python 调用: obj.isImplicit()

This function returns a boolean value that indicates if this terminal is implicit。 An implicit terminal is automatically created by the database as part of the explicit creation of a multi-bit terminal。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccTerm
obj.isImplicit()

obj.isInterface()

绑定状态: 已绑定

Python 调用: obj.isInterface()

This function returns a boolean indicating whether this terminal is an interface terminal。 An interface terminal is one that was explicitly created by an application calling one of the create functions on the objects derived from oaTerm 。 Explicitly created terminals define the interface to the block that contains them。 Note that an interface terminal that is scalarized is still considered an interface terminal。 Implementation data may be added to the resulting bitTerms after scalarization, but the interface terminal remains as a reference to how the interface was originally defined。 Further edits to the block may delete the interface terminal, indicating that the interface to the block has indeed changed。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccTerm
obj.isInterface()

obj.getBit(bitIndex)

绑定状态: 已绑定

Python 调用: obj.getBit(bitIndex)

This function returns a pointer to the terminal that corresponds to the specified bitIndex bit of this terminal。 For single-bit terminals, this function returns this terminal。 For multi-bit terminals, a busTermBit is returned if this terminal is a busTerm, or a single-bit terminal is returned if this terminal is a bundleTerm。 If a terminal is hidden and overridden, a pointer to the overriding terminal is returned。

参数

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

异常

  • oacInvalidTermIndex

Python 示例

from oapy._oa import _design

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

obj.getNet(preferred=false)

绑定状态: 已绑定

Python 调用: obj.getNet(preferred=false)

This function returns the net to which this terminal is attached。 If preferred is true, the preferred equivalent net associated with the net will be returned instead。

参数

  • preferred: indicates whether to return the preferred equivalent。

返回

  • A pointer to an oaOccNet。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccTerm
obj.getNet(preferred=false)

obj.getNumBits()

绑定状态: 已绑定

Python 调用: obj.getNumBits()

This function returns the number of bits in this terminal。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccTerm
obj.getNumBits()

obj.getTermType()

绑定状态: 已绑定

Python 调用: obj.getTermType()

This function returns the terminal type of this terminal。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccTerm
obj.getTermType()

obj.getPosition()

绑定状态: 已绑定

Python 调用: obj.getPosition()

This function returns the position that this terminal is assigned to。 The value oacNullIndex is returned if this terminal has not been assigned to a position。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccTerm
obj.getPosition()

obj.getAssignedNet(ignoreDefault=false)

绑定状态: 已绑定

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

This function returns the occurence net assigned to this terminal as per the inherited connections specification。 NULL will be returned in the following cases: There is no effective connectDef associated with this terminal 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 oaOccTerm
obj.getAssignedNet(ignoreDefault=false)

obj.getAssignedNet(spec, ignoreDefault=false)

绑定状态: 已绑定

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

This function returns the occurence net assigned to this terminal as per the inherited connections specification。 NULL will be returned in the following cases: There is no effective connectDef associated with this terminal 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 oaOccTerm
obj.getAssignedNet(spec, ignoreDefault=false)

obj.getTerm()

绑定状态: 已绑定

Python 调用: obj.getTerm()

This function returns the terminal in the block domain that corresponds to this occurrence terminal if there is one。 There is always either a module terminal ( oaModTerm ) or a block terminal or both。 It returns NULL if there is no corresponding oaTerm 。 在 oaOccBundleTerm、oaOccBusTerm、oaOccBusTermBit 和 oaOccScalarTerm 中重新实现。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccTerm
obj.getTerm()

obj.getModTerm()

绑定状态: 已绑定

Python 调用: obj.getModTerm()

This function returns the module terminal corresponding to this occurrence terminal if there is one。 There is always either a module terminal or a block terminal ( oaTerm ) or both。 It returns NULL if there is no corresponding oaModTerm 。 在 oaOccBundleTerm、oaOccBusTerm、oaOccBusTermBit 和 oaOccScalarTerm 中重新实现。

Python 示例

from oapy._oa import _design

# assume obj is a oaOccTerm
obj.getModTerm()

obj.getReflection(d)

绑定状态: 已绑定

Python 调用: obj.getReflection(d)

This function returns the object pointer corresponding to the reflection of the current object in the specified domain。 If an object is overriden, it returns the pointer to the hidden or overriding sibling dependent on the specified domain。

参数

  • d: The domain of the reflected object, which is either oacModDomain or the default oacBlockDomain。

异常

  • oacCannotProcessDomainArgument

Python 示例

from oapy._oa import _design

# assume obj is a oaOccTerm
obj.getReflection(d)

obj.getName(name)

绑定状态: 已绑定

Python 调用: obj.getName(name)

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

Python 示例

from oapy._oa import _design

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

obj.getName(ns, name)

绑定状态: 已绑定

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

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

Python 示例

from oapy._oa import _design

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

_design.oaOccTerm.find(occurrence, name)

绑定状态: 已绑定

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

This function the specified occurrence for a terminal assigned to the specified position。 The terminal is returned if found。 Otherwise, NULL is returned。 If the reflected block domain terminal was hidden and overridden, the domain argument determines whether the returned terminal corresponds to the hidden (oacModDomain) or overriding (oacBlockDomain) object。 The default is to return the override terminal。

参数

  • occurrence: The occurrence to search for the terminal。
  • position: The position of the terminal to match。
  • d: The domain (oacModDomain or oacBlockDomain value) that reflects the terminal to match。

异常

  • oacCannotProcessDomainArgument

Python 示例

from oapy._oa import _design

_design.oaOccTerm.find(occurrence, name)

_design.oaOccTerm.find(occurrence, position)

绑定状态: 已绑定

Python 调用: _design.oaOccTerm.find(occurrence, position)

This function searches the terminals in the specified occurrence and in the specified domain for the terminal with the specified name。 The specified name cannot be hierarchical since a terminal is local to an instance。 If the reflected block domain terminal was hidden and overridden, the domain argument determines whether the returned terminal corresponds to the hidden (oacModDomain) or overriding (oacBlockDomain) object。 The default is to return the override terminal。

参数

  • occ: The occurrence to search for the terminal。
  • name: The name of the terminal to match。
  • d: The domain (oacModDomain or oacBlockDomain value) that reflects the terminal to match。

异常

  • oacCannotProcessDomainArgument

Python 示例

from oapy._oa import _design

_design.oaOccTerm.find(occurrence, position)

_design.oaOccTerm.find(occurrence, name, d)

绑定状态: 已绑定

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

This function the specified occurrence for a terminal assigned to the specified position。 The terminal is returned if found。 Otherwise, NULL is returned。

参数

  • occurrence: The occurrence to search for the terminal。
  • position: The position of the terminal to match。

返回

  • A pointer to an oaOccTerm。

Python 示例

from oapy._oa import _design

_design.oaOccTerm.find(occurrence, name, d)

_design.oaOccTerm.find(occurrence, position, d)

绑定状态: 已绑定

Python 调用: _design.oaOccTerm.find(occurrence, position, d)

This function searches the terminals in the specified occurrence for one with the specified name。 The specified name cannot be hierarchical since a terminal is local to an instance。 If the terminal is found, it is returned。 Otherwise NULL is returned。

参数

  • occurrence: The occurrence to search for the terminal。
  • name: The name of the terminal to match。

Python 示例

from oapy._oa import _design

_design.oaOccTerm.find(occurrence, position, d)

_design.oaOccTerm.getMaxPosition(occurrence)

绑定状态: 已绑定

Python 调用: _design.oaOccTerm.getMaxPosition(occurrence)

This function returns the highest position occupied by a terminal in the specified occurrence。 If there are no terminals in the occurrence or no position has been assigned a terminal, the value oacNullIndex is returned。

参数

  • occurrence: The occurrence to report the highest assigned terminal position from。

Python 示例

from oapy._oa import _design

_design.oaOccTerm.getMaxPosition(occurrence)