oaLayerHalo
模块: oapy._oa._design
导入: from oapy._oa import _design
概览
oaLayerHalo 在 oapy 中可用,可通过 _design 模块访问。
本页汇总 oaLayerHalo 当前在 oapy 中可用的 Python 接口。
详细说明
A layer halo is a type of blockage associated with an instance or a master, representing an area on a given layer around the master's prBoundary。 The shape of the halo is determined from the shape of the prBoundary of the master and the given offsets, and it is automatically updated to reflect changes in the master's prBoundary。 The oaLayerHalo applies around the perimeter of an instance。 It prohibits routing on the given layer parallel to the edge of the instance, but it allows routing perpendicular to the instance edge。 This prevents long lines being routed parallel to the edge of the instance, which causes cross-coupling, but it allows routing straight in to pins。 Since power lines do not switch, they can be routed anywhere within the halo area。 Note that the oaLayerHalo object officially supports rectilinear boundaries only i.e。 the owner, if it is an oaPRBoundary object should represent a rectilinear figure, or, if it is an explicit instance, the singleton oaPRBoundary for the instance master should be rectilinear。 Clients can use an oaLayerBlockage object to describe a halo with a fixed shape which can be rectilinear or non-rectilinear。
方法总览
| 状态 | Python 调用 |
|---|---|
| ✅ | obj.getLayerNum() |
| ✅ | obj.getLayerHeader() |
| ✅ | obj.getOffsets(left, bottom, right, top) |
| ✅ | obj.setLayerNum(layerNum) |
| ✅ | obj.setOffsets(left, bottom, right, top) |
| ✅ | _design.oaLayerHalo.create(owner, type, layer, left=0, bottom=0, right=0, top=0) |
方法说明
obj.getLayerNum()
绑定状态: 已绑定
Python 调用: obj.getLayerNum()
This function returns the layer number associated with this blockage。
Python 示例
from oapy._oa import _design
# assume obj is a oaLayerHalo
obj.getLayerNum()
obj.getLayerHeader()
绑定状态: 已绑定
Python 调用: obj.getLayerHeader()
This function returns the layerHeader for the layer of this blockage。
Python 示例
from oapy._oa import _design
# assume obj is a oaLayerHalo
obj.getLayerHeader()
obj.getOffsets(left, bottom, right, top)
绑定状态: 已绑定
Python 调用: obj.getOffsets(left, bottom, right, top)
This function returns the offsets for the halo of the blockage。
参数
left: The left offset for the halo。bottom: The bottom offset for the halo。right: The right offset for the halo。top: The top offset for the halo。
Python 示例
from oapy._oa import _design
# assume obj is a oaLayerHalo
obj.getOffsets(left, bottom, right, top)
obj.setLayerNum(layerNum)
绑定状态: 已绑定
Python 调用: obj.setLayerNum(layerNum)
This function moves this blockage to the specified layer。 The new layer is created if it does not exist。 The old layer is deleted if it becomes empty。 A layer may not be set on placement blockages。
参数
layerNum: The layer number。
异常
oacInvalidLayerForLayerBlockage。
Python 示例
from oapy._oa import _design
# assume obj is a oaLayerHalo
obj.setLayerNum(layerNum)
obj.setOffsets(left, bottom, right, top)
绑定状态: 已绑定
Python 调用: obj.setOffsets(left, bottom, right, top)
This function updates the offsets for the halo of the blockage。
参数
left: The left offset for the halo。bottom: The bottom offset for the halo。right: The right offset for the halo。top: The top offset for the halo。
Python 示例
from oapy._oa import _design
# assume obj is a oaLayerHalo
obj.setOffsets(left, bottom, right, top)
_design.oaLayerHalo.create(owner, type, layer, left=0, bottom=0, right=0, top=0)
绑定状态: 已绑定
Python 调用: _design.oaLayerHalo.create(owner, type, layer, left=0, bottom=0, right=0, top=0)
This is the constructor for a layer halo。
参数
owner: The instance or prBoundary around which to create the blockage。type: The type of blockage to create。 Note: an oaLayerHalo should not have a blockageType of oacPlacementBlockageType。layer: The layer on which to create the blockage。left: The left offset for the halo。bottom: The bottom offset for the halo。right: The right offset for the halo。top: The top offset for the halo。
异常
oacInvalidLayerForLayerBlockage。oacInvalidTypeForLayerBlockage。oacInvalidBlockageOwner。
Python 示例
from oapy._oa import _design
_design.oaLayerHalo.create(owner, type, layer, left=0, bottom=0, right=0, top=0)