Electrical Components

Electrical wires & components are an important piece of designs. While IPKISS doesn’t replace existing electronics design tools we provide basic functionality to place electrical wires on your design in order to integrate photonics and electrical components effectively.

ElectricalWire

The behavior of ElectricalWire is very similar to that of Waveguide.

class ipkiss3.all.ElectricalWire(*args, **kwargs)

A basic electrical trace ( wire )

Parameters
trace_template: PCell and ElectricalWireTemplate
external_port_names: str

Dictionary for remapping of the port names of the contents to the external ports

name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters

The unique name of the pcell

Other Parameters
contents: PCell and _Trace, locked

Notes

This is a very basic version of an electrical wire, variations exist to suit your more advanced needs

Examples

>>> from technologies import silicon_photonics
>>> from ipkiss3.pcell.wiring import ElectricalWireTemplate, ElectricalWire
>>> etpl = ElectricalWireTemplate('my_ewire_tpl')
>>> wire = ElectricalWire(name="my_ewire", trace_template=etpl)
>>> layout = wire.Layout(shape=[(0, 0), (0, 50), (50, 50)])
>>> layout.visualize(annotate=True)

Views

Layout = <class 'ipkiss3.pcell.wiring.trace.ElectricalWire.Layout'>
Netlist = <class 'ipkiss3.pcell.wiring.trace.ElectricalWire.Netlist'>

ElectricalWireTemplate

TraceTemplate used to create electrical wires.

class ipkiss3.all.ElectricalWireTemplate(*args, **kwargs)

A TraceTemplate to easily create electrical wires

Parameters
name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters

The unique name of the pcell

Views

Layout = <class 'ipkiss3.pcell.wiring.trace.ElectricalWireTemplate.Layout'>
Netlist = <class 'ipkiss3.pcell.wiring.trace.ElectricalWireTemplate.Netlist'>

ElectricalWindowWireTemplate

As with waveguides you can create new templates for your electrical wires. This way you can build more custom & specialized wires.

class ipkiss3.all.ElectricalWindowWireTemplate(*args, **kwargs)

An advanced trace template that is used to define electrical wires using ‘windows’. These windows will be extruded extruded along the shape of the wire

Parameters
name: String that contains only ISO/IEC 8859-1 (extended ASCII py3) or pure ASCII (py2) characters

The unique name of the pcell

Notes

This trace template is only useful in more advanced usecases. When you want to create simple wires, ElectricalWireTemplate should be sufficient.

Views

Layout = <class 'ipkiss3.pcell.wiring.window_trace.ElectricalWindowWireTemplate.Layout'>
Netlist = <class 'ipkiss3.pcell.wiring.window_trace.ElectricalWindowWireTemplate.Netlist'>

Electrical Vias

Vias are components that connect a metal layer with another one that is above or below it using via shapes. Those shapes are also used in the electrical ports in the via. IPKISS only contains base classes for vias should you want to make your own.

ElectricalVia

Class for common electrical vias.

GenericElectricalVia

Most generic class for electrical vias.