gdsfactory.routing.add_pads_top

Contents

gdsfactory.routing.add_pads_top#

gdsfactory.routing.add_pads_top(component: ComponentSpec = functools.partial(<function straight_heater_metal_undercut>, with_undercut=False, length_straight_input=0.1, length_undercut=5, length_undercut_spacing=0), select_ports: ~collections.abc.Callable = functools.partial(<function select_ports>, port_type='electrical'), port_names: ~collections.abc.Sequence[str] | None = None, cross_section: CrossSectionSpec = 'metal_routing', pad_port_name: str = 'e1', pad: ComponentSpec = functools.partial(<function pad>, size='pad_size'), bend: ComponentSpec = 'wire_corner', straight_separation: float = 15.0, pad_spacing: float | str = 'pad_spacing', port_type: str = 'electrical', allow_width_mismatch: bool = True, fanout_length: float | None = 0, route_width: float | list[float] | None = 0, bboxes: list | None = None, avoid_component_bbox: bool = False, **kwargs: ~typing.Any) Component[source]#

Returns new component with ports connected top pads.

Parameters:
  • component – component spec to connect to.

  • select_ports – function to select_ports.

  • port_names – optional port names. Overrides select_ports.

  • cross_section – cross_section spec.

  • get_input_labels_function – function to get input labels. None skips labels.

  • layer_label – optional layer for grating coupler label.

  • pad_port_name – pad input port name.

  • pad_port_labels – pad list of labels.

  • pad – spec for route terminations.

  • bend – bend spec.

  • straight_separation – from wire edge to edge. Defaults to xs.width+xs.gap

  • pad_spacing – in um. Defaults to pad_spacing constant from the PDK.

  • port_type – port type.

  • allow_width_mismatch – True

  • fanout_length – if None, automatic calculation of fanout length.

  • route_width – width of the route. If None, defaults to cross_section.width.

  • bboxes – list of bounding boxes to avoid.

  • avoid_component_bbox – True

  • kwargs – additional arguments.

Keyword Arguments:
  • straight – straight spec.

  • get_input_label_text_loopback_function – function to get input label test.

  • get_input_label_text_function – for labels.

  • max_y0_optical – in um.

  • with_loopback – True, adds loopback structures.

  • list_port_labels – None, adds TM labels to port indices in this list.

  • connected_port_list_ids – names of ports only for type 0 optical routing.

  • nb_optical_ports_lines – number of grating coupler lines.

  • force_manhattan – False

  • excluded_ports – list of port names to exclude when adding gratings.

  • grating_indices – list of grating coupler indices.

  • routing_straight – function to route.

  • routing_method – route_single.

  • gc_rotation – fiber coupler rotation in degrees. Defaults to -90.

  • input_port_indexes – to connect.

  • allow_width_mismatch – True

import gdsfactory as gf
c = gf.c.nxn(
    xsize=600,
    ysize=200,
    north=2,
    south=3,
    wg_width=10,
    layer="M3",
    port_type="electrical",
)
cc = gf.routing.add_pads_top(component=c, port_names=("e1", "e4"), fanout_length=50)
cc.plot()

(Source code, png, hires.png, pdf)

../_images/gdsfactory-routing-add_pads_top-1.png