pdkmaster.dispatch

pdkmaster.dispatch.shape

class pdkmaster.dispatch.shape.ShapeDispatcher[source]

Bases: object

Dispatch to class method based on type of _Shape subclasses.

This dispatcher follows the common way of working in the dispatch module. Exception is the “geometry.MultiPartShape._Part”, for this one can overload the MultiPartShape__Part method. The default implementation with call the dispatcher on the part_shape of the given object. Assume that dispatcher is called with a MultiPartShape._Part with object part with part.part_shape of type Rect. Then the default implement will call the Rect method with part.part_shape as shape.

Point(point: pdkmaster.technology.geometry.Point, *args, **kwargs)[source]
Line(line: pdkmaster.technology.geometry.Line, *args, **kwargs)[source]
Polygon(polygon: pdkmaster.technology.geometry.Polygon, _dispatch_hier: bool = True, *args, **kwargs)[source]
Rect(rect: pdkmaster.technology.geometry.Rect, *args, **kwargs)[source]
Ring(ring: pdkmaster.technology.geometry.Ring, *args, **kwargs)[source]
RectRing(ring: pdkmaster.technology.geometry.RectRing, *args, **kwargs)[source]
MultiPartShape(mps: pdkmaster.technology.geometry.MultiPartShape, *args, **kwargs)[source]
MultiPartShape__Part(part: pdkmaster.technology.geometry.MultiPartShape._Part, *args, **kwargs)[source]
MultiShape(ms: pdkmaster.technology.geometry.MultiShape, *args, **kwargs)[source]
RepeatedShape(rs: pdkmaster.technology.geometry.RepeatedShape, *args, **kwargs)[source]
ArrayShape(array: pdkmaster.technology.geometry.ArrayShape, *args, **kwargs)[source]

pdkmaster.dispatch.primitive

class pdkmaster.dispatch.primitive.PrimitiveDispatcher[source]

Bases: object

Dispatch to class method based on type of _Primitive subclasses.

This dispatcher follows the common way of working in the dispatch module.

Marker(prim: pdkmaster.technology.primitive.Marker, *args, **kwargs)[source]
Auxiliary(prim: pdkmaster.technology.primitive.Auxiliary, *args, **kwargs)[source]
ExtraProcess(prim: pdkmaster.technology.primitive.ExtraProcess, *args, **kwargs)[source]
Implant(prim: pdkmaster.technology.primitive.Implant, *args, **kwargs)[source]
Insulator(prim: pdkmaster.technology.primitive.Insulator, *args, **kwargs)[source]
Well(prim: pdkmaster.technology.primitive.Well, *args, **kwargs)[source]
DeepWell(prim: pdkmaster.technology.primitive.DeepWell, *args, **kwargs)[source]
WaferWire(prim: pdkmaster.technology.primitive.WaferWire, *args, **kwargs)[source]
GateWire(prim: pdkmaster.technology.primitive.GateWire, *args, **kwargs)[source]
MetalWire(prim: pdkmaster.technology.primitive.MetalWire, *args, **kwargs)[source]
TopMetalWire(prim: pdkmaster.technology.primitive.TopMetalWire, *args, **kwargs)[source]
MIMTop(prim: pdkmaster.technology.primitive.MIMTop, *args, **kwargs)[source]
Via(prim, *args: pdkmaster.technology.primitive.Via, **kwargs)[source]
PadOpening(prim: pdkmaster.technology.primitive.PadOpening, *args, **kwargs)[source]
Resistor(prim: pdkmaster.technology.primitive.Resistor, *args, **kwargs)[source]
MIMCapacitor(prim: pdkmaster.technology.primitive.MIMCapacitor, *args, **kwargs)[source]
Diode(prim: pdkmaster.technology.primitive.Diode, *args, **kwargs)[source]
MOSFETGate(prim: pdkmaster.technology.primitive.MOSFETGate, *args, **kwargs)[source]
MOSFET(prim: pdkmaster.technology.primitive.MOSFET, *args, **kwargs)[source]
Bipolar(prim: pdkmaster.technology.primitive.Bipolar, *args, **kwargs)[source]
Spacing(prim: pdkmaster.technology.primitive.Spacing, *args, **kwargs)[source]