oaCustomViaDef
模块: oapy._oa._tech
导入: from oapy._oa import _tech
概览
oaCustomViaDef 在 oapy 中可用,可通过 _tech 模块访问。
本页汇总 oaCustomViaDef 当前在 oapy 中可用的 Python 接口。
详细说明
The oaCustomViaDef class implements an oaCustomViaDef object in a technology database。 The oaCustomViaDef defines a via that has its geometry specified as the contents of a stored design。 An oaCustomViaDef object has an unique name and is associated with a master design and two layers。 A custom via in a route must point to an oaCustomViaDef object in the technology database associated with the design where the route resides。 An oaCustomViaDef is used when an oaCustomVia is created that references it。 It is possible for the design that the viaDef points at to be a pcell。 In that case the oaCustomVia may have an oaParamArray that provides override values for that pcell。 Benefits and Restrictions Associated with OpenAccess oaCustomViaDefs One of the benefits of OpenAccess is that it has a formal definition of a via that is distinct from a generic instance。 By definition, a via encapsulates the physical geometry to connect exactly two layers。 To allow applications to efficiently analyze routing that contains custom vias, OpenAccess places restrictions on the contents of custom via masters, as follows: custom via masters may not contain any hierarchy。 In other words, custom via masters may not contain instances of other vias。 custom via masters may contain only shapes。 They may not contain blockages, boundaries, rows, guides, routes, or any other type of physical object。 custom via masters may not contain markers。 custom via masters should not contain any connectivity objects (e.g。 nets, terminals) since there is no purpose to provide such connectivity information and the information will be ignored by the rest of OpenAccess and all applications。 Note: Unlike its treatment of instances, OpenAccess always attempts to bind vias to their masters implicitly。 It is not an error for via masters to be unbound (for example, due to missing data), but OpenAccess will continually attempt to bind the vias when possible。 This is done because most applications are unable work with routing that contains unbound vias。
方法总览
| 状态 | Python 调用 |
|---|---|
| ✅ | obj.getLibName(libName) |
| ✅ | obj.getCellName(cellName) |
| ✅ | obj.getViewName(viewName) |
| ✅ | obj.getLibName(ns, out) |
| ✅ | obj.getCellName(ns, out) |
| ✅ | obj.getViewName(ns, out) |
| ✅ | obj.setMaster(libName, cellName, viewName) |
| ✅ | _tech.oaCustomViaDef.create(tech, name, libName, cellName, viewName, layer1, layer2) |
方法说明
obj.getLibName(libName)
绑定状态: 已绑定
Python 调用: obj.getLibName(libName)
This function returns the library name of the master design referenced by this oaViaDef object in the specified namespace。
Python 示例
from oapy._oa import _tech
# assume obj is a oaCustomViaDef
obj.getLibName(libName)
obj.getCellName(cellName)
绑定状态: 已绑定
Python 调用: obj.getCellName(cellName)
This function returns the cell name of the master design referenced by this oaViaDef object in the specified nameSpace。
Python 示例
from oapy._oa import _tech
# assume obj is a oaCustomViaDef
obj.getCellName(cellName)
obj.getViewName(viewName)
绑定状态: 已绑定
Python 调用: obj.getViewName(viewName)
This function returns the view name of the master design referenced by this oaViaDef object in the specified namespace。
Python 示例
from oapy._oa import _tech
# assume obj is a oaCustomViaDef
obj.getViewName(viewName)
obj.getLibName(ns, out)
绑定状态: 已绑定
Python 调用: obj.getLibName(ns, out)
This function returns the library name of the master design referenced by this oaViaDef object。
Python 示例
from oapy._oa import _tech
# assume obj is a oaCustomViaDef
obj.getLibName(ns, out)
obj.getCellName(ns, out)
绑定状态: 已绑定
Python 调用: obj.getCellName(ns, out)
This function returns the cell name of the master design referenced by this oaViaDef object。
Python 示例
from oapy._oa import _tech
# assume obj is a oaCustomViaDef
obj.getCellName(ns, out)
obj.getViewName(ns, out)
绑定状态: 已绑定
Python 调用: obj.getViewName(ns, out)
This function returns the view name of the master design referenced by this oaViaDef object。
Python 示例
from oapy._oa import _tech
# assume obj is a oaCustomViaDef
obj.getViewName(ns, out)
obj.setMaster(libName, cellName, viewName)
绑定状态: 已绑定
Python 调用: obj.setMaster(libName, cellName, viewName)
This function is used to reset the libName, cellName, and viewName of the via master represented by this oaCustomViaDef。 After these names are reset, oaCustomViaHeaders and oaCustomVias that refer to this oaCustomViaDef will be rebound to the new design specified by the specified lib, cell and view names。 Note: If the specified libName, cellName, and viewName are the same as the current via master names, remastering will not be performed。 If remastering is performed, preModify and postModify observer notifications with a oaViaDefModTypeEnum of oacCustomViaDefSetMasterViaDefModType are triggered -- see OpenAccess Observer Table for more information。
参数
libName: via master library name to set。cellName: via master cell name to set。viewName: via master view name to set。
Python 示例
from oapy._oa import _tech
# assume obj is a oaCustomViaDef
obj.setMaster(libName, cellName, viewName)
_tech.oaCustomViaDef.create(tech, name, libName, cellName, viewName, layer1, layer2)
绑定状态: 已绑定
Python 调用: _tech.oaCustomViaDef.create(tech, name, libName, cellName, viewName, layer1, layer2)
This function creates an oaCustomViaDef object with the specified attributes。 With this version of the create() function, you specify the master design by its library, cell, and view names。 This function throws an exception if a viaDef with the specified name already exists。 An exception is also thrown if layer1 and layer2 are not included in the graph of technology databases rooted at the specified tech。 Note: The intended use is for layer1 to be the bottom layer, which should be the layer with the lower manufacturing layer number。 Layer2 should be the top layer。 The database does not enforce this because some tech databases do not have valid manufacturing layer numbers。 Some applications require this layer ordering。
参数
tech: The technology database to use。name: The custom viaDef object name。libName: The libraryName of the master design。cellName: The cellName of the master design。viewName: The viewName of the master design。layer1: A pointer to the first physical layer for the viaDef。layer2: A pointer to the second physical layer for the viaDef。
异常
oacLayerNotInReferencedTech。oacConflictingLayerNamesInTech。oacConflictingLayerNumbersInTech。oacViaDefExists。
Python 示例
from oapy._oa import _tech
_tech.oaCustomViaDef.create(tech, name, libName, cellName, viewName, layer1, layer2)