首页 / design / oaBusTermDef

oaBusTermDef

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

概览

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

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

详细说明

The oaBusTermDef class implements the definition of an oaBusTerm , including its base name and bit-range。 All oaBusTerms and oaBusTermBits in a block with the same base name are managed by the same oaBusTermDef。 The oaBusTermDef class tracks the minimum and maximum indices refered to by all of its corresponding busTermBit objects。 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。 An oaBusTermDef is automatically created if necessary whenever applications create oaBusTerms。 Implicitly created oaBusTermDef have no bitOrder。 Applications may explicitly create a oaBusTermDef in order to specify that it has a specific bitOrder。 The bit order of an explicit oaBusTermDef is independent of the order within individual oaBusTerms 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 oaBusTerms。 Implicitly created oaBusTermDefs are automatically destroyed when the last oaBusTerm with the same base name is destroyed。 Explicitly created oaBusTermDefs must be explicitly destroyed。 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 oaModBusTermDef , the master is an oaModule , and each module in a design will have a set of zero or more modBusTermDefs。 For oaOccBusTerm , the master is an oaOccurrence 。 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 。 All of the oaBusTerms on the top oaBlock have a corresponding oaOccBusTerm on the top oaOccurrence 。 OpenAccess requires a consistent definition of bus terminals shared between the top module and the top block in a design。 When an oaBusTerm has been created that is not visible in the module domain, it is not possible to create an oaModBusTerm that uses the same base name。 The oaBusTermDef class can be observed by deriving from oaObserver

方法总览

状态 Python 调用
obj.destroy()
obj.getMinIndex()
obj.getMaxIndex()
obj.getNumBits()
obj.getName(name)
obj.getName(ns, name)
obj.getBitOrder()
obj.isImplicit()
obj.setBitOrder(order)
obj.getBusTerms()
obj.getBusTermBits()
_design.oaBusTermDef.create(block, name, order)
_design.oaBusTermDef.find(block, name)

方法说明

obj.destroy()

绑定状态: 已绑定

Python 调用: obj.destroy()

This function destroys this oaBusTermDef, removing it from the database。 An exception is thrown if the oaBusTermDef is implicit or if there are still oaBusTerms associated with it。

异常

  • oacCannotDestroyImplicitBusTermDef
  • oacCannotDestroyBusTermDefWithTerms

Python 示例

from oapy._oa import _design

# assume obj is a oaBusTermDef
obj.destroy()

obj.getMinIndex()

绑定状态: 已绑定

Python 调用: obj.getMinIndex()

This function returns the smallest bit number in use for this oaBusTermDef object。 This is the smallest index used across all oaBusTerms associated with this oaBusTermDef object。

Python 示例

from oapy._oa import _design

# assume obj is a oaBusTermDef
obj.getMinIndex()

obj.getMaxIndex()

绑定状态: 已绑定

Python 调用: obj.getMaxIndex()

This function returns the largest bit number in use for this oaBusTermDef object。 This is the largest index used across all oaBusTerms associated with this oaBusTermDef object。

Python 示例

from oapy._oa import _design

# assume obj is a oaBusTermDef
obj.getMaxIndex()

obj.getNumBits()

绑定状态: 已绑定

Python 调用: obj.getNumBits()

This function returns the number of bits covered by the busses in this oaBusTermDef。 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 oaBusTermDef::getBusNetBits().getCount() 。

Python 示例

from oapy._oa import _design

# assume obj is a oaBusTermDef
obj.getNumBits()

obj.getName(name)

绑定状态: 已绑定

Python 调用: obj.getName(name)

This function returns the name string of this oaBusTermDef in the specified nameSpace。

参数

  • ns: The nameSpace to use when getting the name string。
  • name: Returns the string name of this oaBusTermDef。

Python 示例

from oapy._oa import _design

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

obj.getName(ns, name)

绑定状态: 已绑定

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

This function returns the name of this oaBusTermDef object。

参数

  • name: The scalar name in which to return the name of this oaBusTermDef。

Python 示例

from oapy._oa import _design

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

obj.getBitOrder()

绑定状态: 已绑定

Python 调用: obj.getBitOrder()

This function returns the bitOrder associated with this oaBusTermDef object。

Python 示例

from oapy._oa import _design

# assume obj is a oaBusTermDef
obj.getBitOrder()

obj.isImplicit()

绑定状态: 已绑定

Python 调用: obj.isImplicit()

This function returns a boolean indicating whether this oaBusTermDef was implicitly created or not。

Python 示例

from oapy._oa import _design

# assume obj is a oaBusTermDef
obj.isImplicit()

obj.setBitOrder(order)

绑定状态: 已绑定

Python 调用: obj.setBitOrder(order)

This function changes the bitOrder value associated with the oaBusTermDef。 An exception is thrown if this busTermDef was implicitly created。

参数

  • order: The new bitOrder value for this busTermDef。

异常

  • oacBitOrderBusTermDefImplicit

Python 示例

from oapy._oa import _design

# assume obj is a oaBusTermDef
obj.setBitOrder(order)

obj.getBusTerms()

绑定状态: 已绑定

Python 调用: obj.getBusTerms()

This function returns a collection of oaBusTerm objects in this oaBusTermDef object。

Python 示例

from oapy._oa import _design

# assume obj is a oaBusTermDef
obj.getBusTerms()

obj.getBusTermBits()

绑定状态: 已绑定

Python 调用: obj.getBusTermBits()

This function returns a collection of oaBusTermBits in this oaBusTermDef object。

Python 示例

from oapy._oa import _design

# assume obj is a oaBusTermDef
obj.getBusTermBits()

_design.oaBusTermDef.create(block, name, order)

绑定状态: 已绑定

Python 调用: _design.oaBusTermDef.create(block, name, order)

This function creates an oaBusTermDef in the specified block with the given base name and bit order。 An exception is thrown if an oaBusTermDef already exists with the specified name。 Explicitly creating an oaBusTermDef also means that the oaBusTermDef must be explicitly destroyed。

参数

  • block: The block to create the oaBusTermDef object in。
  • name: The base name for the oaBusTermDef。
  • order: The bit order for the oaBusTermDef。

异常

  • oacBusTermDefAlreadyExists

Python 示例

from oapy._oa import _design

_design.oaBusTermDef.create(block, name, order)

_design.oaBusTermDef.find(block, name)

绑定状态: 已绑定

Python 调用: _design.oaBusTermDef.find(block, name)

This function searches the specified design for a busTermDef with the specified name。 The busTermDef is returned if found。 Otherwise, NULL is returned。

参数

  • block: The block to search for the oaBusTermDef object。
  • name: The name of the oaBusTermDef to find。

Python 示例

from oapy._oa import _design

_design.oaBusTermDef.find(block, name)