Module fnpcell.pdk.technology.metal
Classes
CurvePaintMetalLineType
class CurvePaintMetalLineType(curve_paint: ICurvePaint, initial_type: IMetalLineType,
final_type: IMetalLineType, port_names: Tuple[Union[None, str, Hidden],
Union[None, str, Hidden]] = ('ep_0', 'ep_1'))
CurvePaintMetalLineType(args: Any, *kwargs: Any)
Ancestors
MetalLineType, IMetalLineType, ILinkType, IUpdatable
Class variables
var curve_paint: ICurvePaint
var final_type: IMetalLineType
var initial_type: IMetalLineType
var port_names: Tuple[Union[None, str, Hidden], Union[None, str, Hidden]]
Methods
def ports(self, curve: ICurve, *, initial_type: Optional[IMetalLineType] = None,
final_type: Optional[IMetalLineType] = None,
names: Sequence[Union[None, str, Hidden]] = ('ep_0', 'ep_1'),
offset: float = 0, final_offset: Optional[float] = None) -> Tuple[IPin, IPin]
Inherited from: MetalLineType.ports
Create two new electrial pins of a metal line.
MetalLineType
class MetalLineType(*args: Any, **kwargs: Any)
Ancestors
IMetalLineType, ILinkType, IUpdatable
Subclasses
CurvePaintMetalLineType, ProfileMetalLineType
Class variables
var line_width: float
Methods
def ports(self, curve: ICurve, *, initial_type: Optional[IMetalLineType] = None,
final_type: Optional[IMetalLineType] = None,
names: Sequence[Union[None, str, Hidden]] = ('ep_0', 'ep_1'),
offset: float = 0, final_offset: Optional[float] = None) -> Tuple[IPin, IPin]
Create two new electrial pins of a metal line.
MetalLineTypeMeta
class MetalLineTypeMeta(*args, **kwargs)
Metaclass for unique values.
Ancestors
Type2TypeMeta, UniqueMeta, abc.ABCMeta, builtins.type
ProfileMetalLineType
class ProfileMetalLineType(*args: Any, **kwargs: Any)
Providing overridable profile property to express the structure of a metal line.
Attributes
profile:
readonly. Structure: [ (offset0, [width00, width01, …]), (offset1, [width10, width11, …]), ]
where offset0, offset1, … are offset to the curve, positive value means offset towards the
left-side, negative value means offset towards the right-side
<code>width00</code>, <code>width01</code>, ... are widths and the largest width is used to draw,
others are used to generate on-grid-fixing points.
Ancestors
MetalLineType, IMetalLineType, ILinkType, IUpdatable
Class variables
var line_width: float
Instance variables
var profile: Sequence[Tuple[ILayer, Sequence[Tuple[float, Sequence[float]]], Tuple[float, float]]]
Methods
def ports(self, curve: ICurve, *, initial_type: Optional[IMetalLineType] = None,
final_type: Optional[IMetalLineType] = None, '
'names: Sequence[Union[None, str, Hidden]] = ('ep_0', 'ep_1'),
offset: float = 0, final_offset: Optional[float] = None) -> Tuple[IPin, IPin]
Inherited from: MetalLineType.ports
Create two new electrial pins of a metal line.