oaScanChain
模块: oapy._oa._design
导入: from oapy._oa import _design
概览
oaScanChain 在 oapy 中可用,可通过 _design 模块访问。
本页汇总 oaScanChain 当前在 oapy 中可用的 Python 接口。
详细说明
Scan chains are a common technique used to make designs testable。 With scan chains, a series of registers, often called scan latches, are linked together as a shift register so that test patterns can be written into those registers by putting the design in test mode and shifting the desired values in。 After a test is run the result values can be read out in the same manner。 Designs may have more than one scan chain。 Scan chains often get special treatment by place and route tools which can take advantage of the fact that their detailed order and partitioning into individual scan chains can be done late in the design flow。 OpenAccess will model scan chains at several stages of their specification。 It can indicate which cells are scan latches and which instTerms on those cells are the scan-in and scan-out connections。 This is represented with the oaScanChainInst class。 OpenAccess will model sets of scan latches that will belong to a given scan chain with the oaScanChainSet class。 These sets can specify either that the order of the scan latches in the set is fixed or that they are unordered and can be moved。 Finally, OpenAccess will model the grouping of scan sets into whole scan chains with the oaScanChain class。 Where the design wants to limit the length of each scan chain and have multiple scan chains instead of one long one, the scan chains can have a partition name。 The scan chain sets within such a scan chain may be swapped with other scan chains with the same partition name。 OpenAccess does not store the complete connectivity of the scan chain, just the scan latches and scan in and scan out terminals。 The oaScanChain class can be observed by deriving from oaObserver
方法总览
| 状态 | Python 调用 |
|---|---|
| ✅ | obj.destroy() |
| ✅ | obj.getName(name) |
| ✅ | obj.getPartitionName(name) |
| ✅ | obj.getMaxBits() |
| ✅ | obj.getStartObject() |
| ✅ | obj.getStopObject() |
| ✅ | obj.setName(name) |
| ✅ | obj.setPartitionName(name) |
| ✅ | obj.setStartObject(object) |
| ✅ | obj.setStopObject(object) |
| ✅ | obj.setMaxBits(maxBits) |
| ✅ | obj.getScanChainSets(flag=oacOrderedScanChainSetType) |
| ✅ | _design.oaScanChain.create(block, name, startObject=NULL, stopObject=NULL, partitionName=NULL, maxBits=0) |
| ✅ | _design.oaScanChain.find(block, name) |
方法说明
obj.destroy()
绑定状态: 已绑定
Python 调用: obj.destroy()
This function destroys this scan chain, removing it from the database。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.destroy()
obj.getName(name)
绑定状态: 已绑定
Python 调用: obj.getName(name)
This function fills out name with the name of this scan chain。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.getName(name)
obj.getPartitionName(name)
绑定状态: 已绑定
Python 调用: obj.getPartitionName(name)
This function fills out name with the partition name of this scanChain。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.getPartitionName(name)
obj.getMaxBits()
绑定状态: 已绑定
Python 调用: obj.getMaxBits()
This function returns the maximum number bits that can be stored in this scan chain。 A value of zero is interpeted as an unlimited bit length value。
异常
oacCannotSetMaxBits: If this is called on a scanChain without a partition name。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.getMaxBits()
obj.getStartObject()
绑定状态: 已绑定
Python 调用: obj.getStartObject()
This function returns the starting object in the scan chain。 The returned object can be an oaBitTerm , oaInstTerm , or oaScanChainInst 。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.getStartObject()
obj.getStopObject()
绑定状态: 已绑定
Python 调用: obj.getStopObject()
This function returns the stopping object in the scan chain。 The returned object can be an an oaBitTerm , oaInstTerm , or oaScanChainInst 。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.getStopObject()
obj.setName(name)
绑定状态: 已绑定
Python 调用: obj.setName(name)
This function changes the name of this scan chain to the specified name。
异常
oacScanChainExists: If a scan chain with the specified name already exists。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.setName(name)
obj.setPartitionName(name)
绑定状态: 已绑定
Python 调用: obj.setPartitionName(name)
This function changes the name of this scan chain partition to the specified name。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.setPartitionName(name)
obj.setStartObject(object)
绑定状态: 已绑定
Python 调用: obj.setStartObject(object)
This function sets or changes the starting object in the scan chain。 The specified object can be either an oaBitTerm , oaInstTerm , or oaScanChainInst 。
异常
oacInvalidScanChainObject: if the start object is not an oaBitTerm , oaInstTerm , or oaScanChain。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.setStartObject(object)
obj.setStopObject(object)
绑定状态: 已绑定
Python 调用: obj.setStopObject(object)
This function sets or changes the stopping object in the scan chain。 This specified object can be an oaBitTerm , oaInstTerm , or oaScanChainInst 。
异常
oacInvalidScanChainObject: if the stop object is not an oaBitTerm , oaInstTerm , or oaScanChain。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.setStopObject(object)
obj.setMaxBits(maxBits)
绑定状态: 已绑定
Python 调用: obj.setMaxBits(maxBits)
This function changes the maximum number of bits allowed on this scan chain。
异常
oacCannotSetMaxBits: If this is called on a scanChain without a partition name。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.setMaxBits(maxBits)
obj.getScanChainSets(flag=oacOrderedScanChainSetType)
绑定状态: 已绑定
Python 调用: obj.getScanChainSets(flag=oacOrderedScanChainSetType)
This function returns a collection of scan chain sets in this scanChain。
Python 示例
from oapy._oa import _design
# assume obj is a oaScanChain
obj.getScanChainSets(flag=oacOrderedScanChainSetType)
_design.oaScanChain.create(block, name, startObject=NULL, stopObject=NULL, partitionName=NULL, maxBits=0)
绑定状态: 已绑定
Python 调用: _design.oaScanChain.create(block, name, startObject=NULL, stopObject=NULL, partitionName=NULL, maxBits=0)
This function creates a scan chain。 The scan chain can specify the primary scan-in and scan-out points for this chain。
参数
block: The block in which to create the scan chain。name: The name of the scan chain to create。startObject: The scan-in object for the scan chain: an oaBitTerm , oaInstTerm , or oaScanChainInst 。stopObject: The scan-out object for the scan chain: an oaBitTerm , oaInstTerm , or oaScanChainInst 。partitionName: The name of the scan chain partition。maxBits: The maximum number of data bits that can be contained in the oaScanChainInsts that belong to the oaScanChainSets that get associated with this scan chain。
异常
oacCannotSetMaxBits: If maxBits is used on a scanChain without a partition name。oacInvalidScanChainName: If the name is NULL。oacScanChainExists: If the name is already in use。oacInvalidScanChainObject: if the start or stop object is not an oaBitTerm , oaInstTerm , or oaScanChain。
Python 示例
from oapy._oa import _design
_design.oaScanChain.create(block, name, startObject=NULL, stopObject=NULL, partitionName=NULL, maxBits=0)
_design.oaScanChain.find(block, name)
绑定状态: 已绑定
Python 调用: _design.oaScanChain.find(block, name)
This function searches the specified block for a scan chain with the specified name。 If the scan chain is found, it is returned。 Otherwise, NULL is returned。
Python 示例
from oapy._oa import _design
_design.oaScanChain.find(block, name)