oaVectorInstDef
模块: oapy._oa._design
导入: from oapy._oa import _design
概览
oaVectorInstDef 在 oapy 中可用,可通过 _design 模块访问。
本页汇总 oaVectorInstDef 当前在 oapy 中可用的 Python 接口。
详细说明
The oaVectorInstDef class implements the definition of a vectorInst, including its name and bit-range。 All vectorInsts in a block with the same base name are managed by the same vectorInst definition。 The oaVectorInstDef class tracks the minimum and maximum indices referred to by all of its corresponding vectorInst objects。 A vectorInstDef is automatically created if necessary whenever applications create vectorInsts。 Implicitly created vectorInst definitions have no bitOrder。 Applications may explicitly create a vectorInst definition in order to specify that it has a specific bitOrder。 The bit order of an explicit oaVectorInstDef is independent of the order within individual oaVectorInsts 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 oaVectorInsts。 Implicitly created vectorInst definitions are automatically destroyed when the last vectorInst with the same base name is destroyed。 Explicitly created vectorInst definitions must be explicitly destroyed。 The oaVectorInstDef 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.getVectorInsts() |
| ✅ | obj.getVectorInstBits() |
| ✅ | _design.oaVectorInstDef.create(block, name, order) |
| ✅ | _design.oaVectorInstDef.find(block, name) |
方法说明
obj.destroy()
绑定状态: 已绑定
Python 调用: obj.destroy()
This function destroys this oaVectorInstDef, removing it from the database。 An exception is thrown if the oaVectorInstDef is implicit or if there are still oaVectorInsts associated with it。
异常
oacCannotDestroyImplicitVectorInstDef。oacCannotDestroyVectorInstDefWithInsts。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.destroy()
obj.getMinIndex()
绑定状态: 已绑定
Python 调用: obj.getMinIndex()
This function returns the smallest bit number in use for this oaVectorInstDef object。 This is the smallest index used across all vectorInsts associated with this oaVectorInstDef object。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.getMinIndex()
obj.getMaxIndex()
绑定状态: 已绑定
Python 调用: obj.getMaxIndex()
This function returns the largest bit number in use for this oaVectorInstDef object。 This is the largest index used across all vectorInsts associated with this oaVectorInstDef object。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.getMaxIndex()
obj.getNumBits()
绑定状态: 已绑定
Python 调用: obj.getNumBits()
This function returns the number of bits covered by the vectorInsts in this oaVectorInstDef。 The number of bits is equal to abs(maxIndex - minIndex) + 1。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.getNumBits()
obj.getName(name)
绑定状态: 已绑定
Python 调用: obj.getName(name)
This function returns the name string of this oaVectorInstDef object in the specified nameSpace。
参数
ns: The nameSpace to use when getting the name string。name: Returns the string name of this oaVectorInstDef。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.getName(name)
obj.getName(ns, name)
绑定状态: 已绑定
Python 调用: obj.getName(ns, name)
This function returns the name of this oaVectorInstDef object。
参数
name: The scalar name in which to return the oaVectorInstDef object name。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.getName(ns, name)
obj.getBitOrder()
绑定状态: 已绑定
Python 调用: obj.getBitOrder()
This function returns the bitOrder associated with this oaVectorInstDef object。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.getBitOrder()
obj.isImplicit()
绑定状态: 已绑定
Python 调用: obj.isImplicit()
This function returns a boolean indicating whether this oaVectorInstDef was implicitly created or not。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.isImplicit()
obj.setBitOrder(order)
绑定状态: 已绑定
Python 调用: obj.setBitOrder(order)
This function changes the bitOrder value associated with the oaVectorInstDef。 An exception is thrown if this vectorInstDef was implicitly created。
参数
order: The new bitOrder value for this vectorInstDef。
异常
oacBitOrderVectorInstDefImplicit。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.setBitOrder(order)
obj.getVectorInsts()
绑定状态: 已绑定
Python 调用: obj.getVectorInsts()
This function returns a collection of oaVectorInst objects associated with this oaVectorInstDef object。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.getVectorInsts()
obj.getVectorInstBits()
绑定状态: 已绑定
Python 调用: obj.getVectorInstBits()
This function returns a collection of oaVectorInstBit objects associated with this oaVectorInstDef object。
Python 示例
from oapy._oa import _design
# assume obj is a oaVectorInstDef
obj.getVectorInstBits()
_design.oaVectorInstDef.create(block, name, order)
绑定状态: 已绑定
Python 调用: _design.oaVectorInstDef.create(block, name, order)
This function creates an oaVectorInstDef in the specified block with the given base name and bit order。 An exception is thrown if an oaVectorInstDef already exists with the specified name。 Explicitly creating an oaVectorInstDef also means that the vectorInst definition must be explicitly destroyed。
参数
block: The block to create the oaVectorInstDef object in。name: The base name for the oaVectorInstDef。order: The bit order for the oaVectorInstDef。
异常
oacVectorInstDefAlreadyExists。
Python 示例
from oapy._oa import _design
_design.oaVectorInstDef.create(block, name, order)
_design.oaVectorInstDef.find(block, name)
绑定状态: 已绑定
Python 调用: _design.oaVectorInstDef.find(block, name)
This function searches the specified block for a vectorInstDef with the specified name。 The function returns the vectorInstDef if it finds it。 Otherwise, NULL is returned。
Python 示例
from oapy._oa import _design
_design.oaVectorInstDef.find(block, name)