SourceExcitation#

class pyedb.dotnet.database.source_excitations.SourceExcitation(pedb)#

Manage sources and excitations.

Overview#

get_edge_from_port

create_circuit_port_on_pin

Create a circuit port on a pin.

create_voltage_source_on_pin

Create a voltage source.

create_current_source_on_pin

Create a current source.

create_resistor_on_pin

Create a Resistor boundary between two given pins..

create_circuit_port_on_net

Create a circuit port on a NET.

create_voltage_source_on_net

Create a voltage source.

create_current_source_on_net

Create a current source.

create_coax_port_on_component

Create a coaxial port on a component or component list on a net or net list.

create_bundle_wave_port

Create a bundle wave port.

create_differential_wave_port

Create a differential wave port.

create_hfss_ports_on_padstack

Create an HFSS port on a padstack.

create_port_between_pin_and_layer

Create circuit port between pin and a reference layer.

create_padstack_instance_terminal

create_pin_group_terminal

create_terminal_from_pin_group

create_point_terminal

create_edge_terminal

create_bundle_terminal

create_edge_port

Create an edge port on a primitive specific location.

create_edge_port_on_polygon

Create lumped port between two edges from two different polygons. Can also create a vertical port when

create_wave_port

Create a wave port.

create_edge_port_vertical

Create a vertical edge port.

create_edge_port_horizontal

Create a horizontal edge port.

create_lumped_port_on_net

Create an edge port on nets. This command looks for traces and polygons on the

create_vertical_circuit_port_on_clipped_traces

Create an edge port on clipped signal traces.

create_rlc_boundary_on_pins

Create hfss rlc boundary on pins.

create_circuit_port_on_pin_group

Create a port between two pin groups.

create_current_source_on_pin_group

Create current source between two pin groups.

create_voltage_source_on_pin_group

Create voltage source between two pin groups.

create_voltage_probe_on_pin_group

Create voltage probe between two pin groups.

create_port_on_component

Create ports on a component.

create_pingroup_from_pins

Create a pin group on a component.

create_port_on_pins

Create circuit port between pins and reference ones.

create_port

Create a port.

create_voltage_probe

Create a voltage probe.

create_voltage_source

Create a voltage source.

create_current_source

Create a current source.

get_point_terminal

Place a voltage probe between two points.

pin_groups

All Layout Pin groups.

Import detail#

from pyedb.dotnet.database.source_excitations import SourceExcitation

Property detail#

property SourceExcitation.pin_groups#

All Layout Pin groups.

Returns:
list

List of all layout pin groups.

Method detail#

SourceExcitation.get_edge_from_port(port)#
SourceExcitation.create_circuit_port_on_pin(pos_pin, neg_pin, impedance=50, port_name=None)#

Create a circuit port on a pin.

Parameters:
pos_pinObject

Edb Pin

neg_pinObject

Edb Pin

impedancefloat

Port Impedance

port_namestr, optional

Port Name

Returns:
str

Port Name.

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myaedbfolder", "project name", "release version")
>>> pins = edbapp.components.get_pin_from_component("U2A5")
>>> edbapp.excitation_manager.create_circuit_port_on_pin(pins[0], pins[1], 50, "port_name")
SourceExcitation.create_voltage_source_on_pin(pos_pin, neg_pin, voltage_value=3.3, phase_value=0, source_name='')#

Create a voltage source.

Parameters:
pos_pinObject

Positive Pin.

neg_pinObject

Negative Pin.

voltage_valuefloat, optional

Value for the voltage. The default is 3.3.

phase_valueoptional

Value for the phase. The default is 0.

source_namestr, optional

Name of the source. The default is "".

Returns:
str

Source Name.

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myaedbfolder", "project name", "release version")
>>> pins = edbapp.components.get_pin_from_component("U2A5")
>>> edbapp.excitation_manager.create_voltage_source_on_pin(pins[0], pins[1], 50, "source_name")
SourceExcitation.create_current_source_on_pin(pos_pin, neg_pin, current_value=0.1, phase_value=0, source_name='')#

Create a current source.

Parameters:
pos_pinObject

Positive pin.

neg_pinObject

Negative pin.

current_valuefloat, optional

Value for the current. The default is 0.1.

phase_valueoptional

Value for the phase. The default is 0.

source_namestr, optional

Name of the source. The default is "".

Returns:
str

Source Name.

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myaedbfolder", "project name", "release version")
>>> pins = edbapp.components.get_pin_from_component("U2A5")
>>> edbapp.excitation_manager.create_current_source_on_pin(pins[0], pins[1], 50, "source_name")
SourceExcitation.create_resistor_on_pin(pos_pin, neg_pin, rvalue=1, resistor_name='')#

Create a Resistor boundary between two given pins..

Parameters:
pos_pinObject

Positive Pin.

neg_pinObject

Negative Pin.

rvaluefloat, optional

Resistance value. The default is 1.

resistor_namestr, optional

Name of the resistor. The default is "".

Returns:
str

Name of the resistor.

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myaedbfolder", "project name", "release version")
>>> pins = edbapp.components.get_pin_from_component("U2A5")
>>> edbapp.excitation_manager.create_resistor_on_pin(pins[0], pins[1], 50, "res_name")
SourceExcitation.create_circuit_port_on_net(positive_component_name, positive_net_name, negative_component_name=None, negative_net_name=None, impedance_value=50, port_name='')#

Create a circuit port on a NET.

It groups all pins belonging to the specified net and then applies the port on PinGroups.

Parameters:
positive_component_namestr

Name of the positive component.

positive_net_namestr

Name of the positive net.

negative_component_namestr, optional

Name of the negative component. The default is None, in which case the name of the positive net is assigned.

negative_net_namestr, optional

Name of the negative net name. The default is None which will look for GND Nets.

impedance_valuefloat, optional

Port impedance value. The default is 50.

port_namestr, optional

Name of the port. The default is "".

Returns:
str

The name of the port.

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myaedbfolder", "project name", "release version")
>>> edbapp.excitation_manager.create_circuit_port_on_net("U2A5", "V1P5_S3", "U2A5", "GND", 50, "port_name")
SourceExcitation.create_voltage_source_on_net(positive_component_name, positive_net_name, negative_component_name=None, negative_net_name=None, voltage_value=3.3, phase_value=0, source_name='')#

Create a voltage source.

Parameters:
positive_component_namestr

Name of the positive component.

positive_net_namestr

Name of the positive net.

negative_component_namestr, optional

Name of the negative component. The default is None, in which case the name of the positive net is assigned.

negative_net_namestr, optional

Name of the negative net name. The default is None which will look for GND Nets.

voltage_valuefloat, optional

Value for the voltage. The default is 3.3.

phase_valueoptional

Value for the phase. The default is 0.

source_namestr, optional

Name of the source. The default is "".

Returns:
str

The name of the source.

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myaedbfolder", "project name", "release version")
>>> edb.excitation_manager.create_voltage_source_on_net("U2A5", "V1P5_S3", "U2A5", "GND", 3.3, 0, "source_name")
SourceExcitation.create_current_source_on_net(positive_component_name, positive_net_name, negative_component_name=None, negative_net_name=None, current_value=0.1, phase_value=0, source_name='')#

Create a current source.

Parameters:
positive_component_namestr

Name of the positive component.

positive_net_namestr

Name of the positive net.

negative_component_namestr, optional

Name of the negative component. The default is None, in which case the name of the positive net is assigned.

negative_net_namestr, optional

Name of the negative net name. The default is None which will look for GND Nets.

current_valuefloat, optional

Value for the current. The default is 0.1.

phase_valueoptional

Value for the phase. The default is 0.

source_namestr, optional

Name of the source. The default is "".

Returns:
str

The name of the source.

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myaedbfolder", "project name", "release version")
>>> edb.excitation_manager.create_current_source_on_net("U2A5", "V1P5_S3", "U2A5", "GND", 0.1, 0, "source_name")
SourceExcitation.create_coax_port_on_component(ref_des_list, net_list, delete_existing_terminal=False)#
Create a coaxial port on a component or component list on a net or net list.

The name of the new coaxial port is automatically assigned.

Parameters:
ref_des_listlist, str

List of one or more reference designators.

net_listlist, str

List of one or more nets.

delete_existing_terminalbool

Only active with grpc version. This argument is added only to ensure compatibility between DotNet and grpc.

Returns:
bool

True when successful, False when failed.

SourceExcitation.create_bundle_wave_port(primitives_id, points_on_edge, port_name=None, horizontal_extent_factor=5, vertical_extent_factor=3, pec_launch_width='0.01mm')#

Create a bundle wave port.

Parameters:
primitives_idlist

Primitive ID of the positive terminal.

points_on_edgelist

Coordinate of the point to define the edge terminal. The point must be close to the target edge but not on the two ends of the edge.

port_namestr, optional

Name of the port. The default is None.

horizontal_extent_factorint, float, optional

Horizontal extent factor. The default value is 5.

vertical_extent_factorint, float, optional

Vertical extent factor. The default value is 3.

pec_launch_widthstr, optional

Launch Width of PEC. The default value is "0.01mm".

Returns:
tuple

The tuple contains: (port_name, pyedb.egacy.database.edb_data.sources.ExcitationDifferential).

Examples

>>> edb.excitation_manager.create_bundle_wave_port(0, ["-50mm", "-0mm"], 1, ["-50mm", "-0.2mm"])
SourceExcitation.create_differential_wave_port(positive_primitive_id, positive_points_on_edge, negative_primitive_id, negative_points_on_edge, port_name=None, horizontal_extent_factor=5, vertical_extent_factor=3, pec_launch_width='0.01mm')#

Create a differential wave port.

Parameters:
positive_primitive_idint, EDBPrimitives

Primitive ID of the positive terminal.

positive_points_on_edgelist

Coordinate of the point to define the edge terminal. The point must be close to the target edge but not on the two ends of the edge.

negative_primitive_idint, EDBPrimitives

Primitive ID of the negative terminal.

negative_points_on_edgelist

Coordinate of the point to define the edge terminal. The point must be close to the target edge but not on the two ends of the edge.

port_namestr, optional

Name of the port. The default is None.

horizontal_extent_factorint, float, optional

Horizontal extent factor. The default value is 5.

vertical_extent_factorint, float, optional

Vertical extent factor. The default value is 3.

pec_launch_widthstr, optional

Launch Width of PEC. The default value is "0.01mm".

Returns:
tuple

The tuple contains: (port_name, pyedb.dotnet.database.edb_data.sources.ExcitationDifferential).

Examples

>>> edb.excitation_manager.create_differential_wave_port(0, ["-50mm", "-0mm"], 1, ["-50mm", "-0.2mm"])
SourceExcitation.create_hfss_ports_on_padstack(pinpos, portname=None)#

Create an HFSS port on a padstack.

Deprecated since version 0.70.0: Use pyedb.excitation_manager.create_edge_port() instead.

Parameters:
pinpos

Position of the pin.

portnamestr, optional

Name of the port. The default is None.

Returns:
bool

True when successful, False when failed.

SourceExcitation.create_port_between_pin_and_layer(component_name=None, pins_name=None, layer_name=None, reference_net=None, impedance=50.0)#

Create circuit port between pin and a reference layer.

Parameters:
component_namestr

Component name. The default is None.

pins_namestr

Pin name or list of pin names. The default is None.

layer_namestr

Layer name. The default is None.

reference_netstr

Reference net name. The default is None.

impedancefloat, optional

Port impedance. The default is 50.0 in ohms.

Returns:
PadstackInstanceTerminal

Created terminal.

SourceExcitation.create_padstack_instance_terminal(name='', padstack_instance_id=None, padstack_instance_name=None)#
SourceExcitation.create_pin_group_terminal(pin_group)#
SourceExcitation.create_terminal_from_pin_group(pin_group, name='')#
SourceExcitation.create_point_terminal(x, y, layer, net, name='')#
SourceExcitation.create_edge_terminal(primitive_name, x, y, name='')#
SourceExcitation.create_bundle_terminal(terminals, name='')#
SourceExcitation.create_edge_port(location, primitive_name, name, impedance=50, is_wave_port=True, horizontal_extent_factor=1, vertical_extent_factor=1, pec_launch_width=0.0001) pyedb.dotnet.database.edb_data.ports.WavePort#

Create an edge port on a primitive specific location.

Parameters:
locationlist

Port location.

primitive_namestr

Name of primitive.

namestr

Port name.

impedancefloat, optional

Impedance.

is_wave_portbool, optional

Whether if it is a wave port or gap port.

horizontal_extent_factorfloat, optional

Horizontal extent factor for wave ports.

vertical_extent_factorfloat, optional

Vertical extent factor for wave ports.

pec_launch_widthfloat, optional

Pec launcher width for wave ports.

SourceExcitation.create_edge_port_on_polygon(polygon=None, reference_polygon=None, terminal_point=None, reference_point=None, reference_layer=None, port_name=None, port_impedance=50.0, force_circuit_port=False)#

Create lumped port between two edges from two different polygons. Can also create a vertical port when the reference layer name is only provided. When a port is created between two edge from two polygons which don’t belong to the same layer, a circuit port will be automatically created instead of lumped. To enforce the circuit port instead of lumped,use the boolean force_circuit_port.

Parameters:
polygonThe EDB polygon object used to assign the port.

Edb.Cell.Primitive.Polygon object.

reference_polygonThe EDB polygon object used to define the port reference.

Edb.Cell.Primitive.Polygon object.

terminal_pointThe coordinate of the point to define the edge terminal of the port. This point must be
located on the edge of the polygon where the port has to be placed. For instance taking the middle point
of an edge is a good practice but any point of the edge should be valid. Taking a corner might cause unwanted
port location.

list[float, float] with values provided in meter.

reference_pointsame as terminal_point but used for defining the reference location on the edge.

list[float, float] with values provided in meter.

reference_layerName used to define port reference for vertical ports.

str the layer name.

port_nameName of the port.

str.

port_impedanceport impedance value. Default value is 50 Ohms.

float, impedance value.

force_circuit_port ; used to force circuit port creation instead of lumped. Works for vertical and coplanar
ports.

Examples

>>> edb_path = path_to_edb
>>> edb = Edb(edb_path)
>>> poly_list = [poly for poly in list(edb.layout.primitives) if poly.GetPrimitiveType() == 2]
>>> port_poly = [poly for poly in poly_list if poly.GetId() == 17][0]
>>> ref_poly = [poly for poly in poly_list if poly.GetId() == 19][0]
>>> port_location = [-65e-3, -13e-3]
>>> ref_location = [-63e-3, -13e-3]
>>> edb.excitation_manager.create_edge_port_on_polygon(polygon=port_poly, reference_polygon=ref_poly,
>>> terminal_point=port_location, reference_point=ref_location)
SourceExcitation.create_wave_port(prim_id, point_on_edge, port_name=None, impedance=50, horizontal_extent_factor=5, vertical_extent_factor=3, pec_launch_width='0.01mm')#

Create a wave port.

Parameters:
prim_idint, Primitive

Primitive ID.

point_on_edgelist

Coordinate of the point to define the edge terminal. The point must be on the target edge but not on the two ends of the edge.

port_namestr, optional

Name of the port. The default is None.

impedanceint, float, optional

Impedance of the port. The default value is 50.

horizontal_extent_factorint, float, optional

Horizontal extent factor. The default value is 5.

vertical_extent_factorint, float, optional

Vertical extent factor. The default value is 3.

pec_launch_widthstr, optional

Launch Width of PEC. The default value is "0.01mm".

Returns:
tuple

The tuple contains: (Port name, pyedb.dotnet.database.edb_data.sources.Excitation).

Examples

>>> edb.excitation_manager.create_wave_port(0, ["-50mm", "-0mm"])
SourceExcitation.create_edge_port_vertical(prim_id, point_on_edge, port_name=None, impedance=50, reference_layer=None, hfss_type='Gap', horizontal_extent_factor=5, vertical_extent_factor=3, pec_launch_width='0.01mm')#

Create a vertical edge port.

Parameters:
prim_idint

Primitive ID.

point_on_edgelist

Coordinate of the point to define the edge terminal. The point must be on the target edge but not on the two ends of the edge.

port_namestr, optional

Name of the port. The default is None.

impedanceint, float, optional

Impedance of the port. The default value is 50.

reference_layerstr, optional

Reference layer of the port. The default is None.

hfss_typestr, optional

Type of the port. The default value is "Gap". Options are "Gap", "Wave".

horizontal_extent_factorint, float, optional

Horizontal extent factor. The default value is 5.

vertical_extent_factorint, float, optional

Vertical extent factor. The default value is 3.

radial_extent_factorint, float, optional

Radial extent factor. The default value is 0.

pec_launch_widthstr, optional

Launch Width of PEC. The default value is "0.01mm".

Returns:
str

Port name.

SourceExcitation.create_edge_port_horizontal(prim_id, point_on_edge, ref_prim_id=None, point_on_ref_edge=None, port_name=None, impedance=50, layer_alignment='Upper')#

Create a horizontal edge port.

Parameters:
prim_idint

Primitive ID.

point_on_edgelist

Coordinate of the point to define the edge terminal. The point must be on the target edge but not on the two ends of the edge.

ref_prim_idint, optional

Reference primitive ID. The default is None.

point_on_ref_edgelist, optional

Coordinate of the point to define the reference edge terminal. The point must be on the target edge but not on the two ends of the edge. The default is None.

port_namestr, optional

Name of the port. The default is None.

impedanceint, float, optional

Impedance of the port. The default value is 50.

layer_alignmentstr, optional

Layer alignment. The default value is Upper. Options are "Upper", "Lower".

Returns:
str

Name of the port.

SourceExcitation.create_lumped_port_on_net(nets=None, reference_layer=None, return_points_only=False, digit_resolution=6, at_bounding_box=True)#

Create an edge port on nets. This command looks for traces and polygons on the nets and tries to assign vertical lumped port.

Parameters:
netslist, optional

List of nets, str or Edb net.

reference_layerstr, Edb layer.

Name or Edb layer object.

return_points_onlybool, optional

Use this boolean when you want to return only the points from the edges and not creating ports. Default value is False.

digit_resolutionint, optional

The number of digits carried for the edge location accuracy. The default value is 6.

at_bounding_boxbool
When True will keep the edges from traces at the layout bounding box location. This is recommended when

a cutout has been performed before and lumped ports have to be created on ending traces. Default value is True.

Returns:
bool

True when successful, False when failed.

SourceExcitation.create_vertical_circuit_port_on_clipped_traces(nets=None, reference_net=None, user_defined_extent=None)#

Create an edge port on clipped signal traces.

Parameters:
netslist, optional

String of one net or EDB net or a list of multiple nets or EDB nets.

reference_netstr, Edb net.

Name or EDB reference net.

user_defined_extent[x, y], EDB PolygonData

Use this point list or PolygonData object to check if ports are at this polygon border.

Returns:
[[str]]

Nested list of str, with net name as first value, X value for point at border, Y value for point at border, and terminal name.

SourceExcitation.create_rlc_boundary_on_pins(positive_pin=None, negative_pin=None, rvalue=0.0, lvalue=0.0, cvalue=0.0)#

Create hfss rlc boundary on pins.

Parameters:
positive_pinPositive pin.

Edb.Cell.Primitive.PadstackInstance

negative_pinNegative pin.

Edb.Cell.Primitive.PadstackInstance

rvalueResistance value
lvalueInductance value
cvalue . Capacitance value.
Returns:
bool

True when successful, False when failed.

SourceExcitation.create_circuit_port_on_pin_group(pos_pin_group_name, neg_pin_group_name, impedance=50, name=None)#

Create a port between two pin groups.

Parameters:
pos_pin_group_namestr

Name of the positive pin group.

neg_pin_group_namestr

Name of the negative pin group.

impedanceint, float, optional

Impedance of the port. Default is 50.

namestr, optional

Port name.

Returns:
bool
SourceExcitation.create_current_source_on_pin_group(pos_pin_group_name, neg_pin_group_name, magnitude=1, phase=0, name=None)#

Create current source between two pin groups.

Parameters:
pos_pin_group_namestr

Name of the positive pin group.

neg_pin_group_namestr

Name of the negative pin group.

magnitudeint, float, optional

Magnitude of the source.

phaseint, float, optional

Phase of the source

Returns:
bool
SourceExcitation.create_voltage_source_on_pin_group(pos_pin_group_name, neg_pin_group_name, magnitude=1, phase=0, name=None, impedance=0.001)#

Create voltage source between two pin groups.

Parameters:
pos_pin_group_namestr

Name of the positive pin group.

neg_pin_group_namestr

Name of the negative pin group.

magnitudeint, float, optional

Magnitude of the source.

phaseint, float, optional

Phase of the source

Returns:
bool
SourceExcitation.create_voltage_probe_on_pin_group(probe_name, pos_pin_group_name, neg_pin_group_name, impedance=1000000)#

Create voltage probe between two pin groups.

Parameters:
probe_namestr

Name of the probe.

pos_pin_group_namestr

Name of the positive pin group.

neg_pin_group_namestr

Name of the negative pin group.

impedanceint, float, optional

Phase of the source.

Returns:
bool
SourceExcitation.create_port_on_component(component, net_list, port_type=SourceType.CoaxPort, do_pingroup=True, reference_net='gnd', port_name=None, solder_balls_height=None, solder_balls_size=None, solder_balls_mid_size=None, extend_reference_pins_outside_component=False)#

Create ports on a component.

Parameters:
componentstr or self._pedb.component

EDB component or str component name.

net_liststr or list of string.

List of nets where ports must be created on the component. If the net is not part of the component, this parameter is skipped.

port_typeSourceType enumerator, CoaxPort or CircuitPort

Type of port to create. CoaxPort generates solder balls. CircuitPort generates circuit ports on pins belonging to the net list.

do_pingroupbool

True activate pingroup during port creation (only used with combination of CircPort), False will take the closest reference pin and generate one port per signal pin.

refnetstr or list of string.

list of the reference net.

port_namestr

Port name for overwriting the default port-naming convention, which is [component][net][pin]. The port name must be unique. If a port with the specified name already exists, the default naming convention is used so that port creation does not fail.

solder_balls_heightfloat, optional

Solder balls height used for the component. When provided default value is overwritten and must be provided in meter.

solder_balls_sizefloat, optional

Solder balls diameter. When provided auto evaluation based on padstack size will be disabled.

solder_balls_mid_sizefloat, optional

Solder balls mid-diameter. When provided if value is different than solder balls size, spheroid shape will be switched.

extend_reference_pins_outside_componentbool

When no reference pins are found on the component extend the pins search with taking the closest one. If do_pingroup is True will be set to False. Default value is False.

Returns:
double, bool

Salder ball height vale, False when failed.

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myaedbfolder")
>>> net_list = ["M_DQ<1>", "M_DQ<2>", "M_DQ<3>", "M_DQ<4>", "M_DQ<5>"]
>>> edbapp.components.create_port_on_component(cmp="U2A5", net_list=net_list,
>>> port_type=SourceType.CoaxPort, do_pingroup=False, refnet="GND")
SourceExcitation.create_pingroup_from_pins(pins, group_name=None)#

Create a pin group on a component.

Parameters:
pinslist

List of EDB pins.

group_namestr, optional

Name for the group. The default is None, in which case a default name is assigned as follows: [component Name] [NetName].

Returns:
tuple

The tuple is structured as: (bool, pingroup).

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myaedbfolder")
>>> edbapp.components.create_pingroup_from_pins(gndpinlist, "MyGNDPingroup")
SourceExcitation.create_port_on_pins(refdes, pins, reference_pins, impedance=50.0, port_name=None, pec_boundary=False, pingroup_on_single_pin=False)#

Create circuit port between pins and reference ones.

Parameters:
refdesComponent reference designator

str or EDBComponent object.

pinspin specifier(s) or instance(s) where the port terminal is to be created. Single pin name or a list of
several can be provided. If several pins are provided a pin group will be created. Pin specifiers can be the
global EDB object ID or padstack instance name or pin name on component with refdes ``refdes``. Pin instances
can be provided as ``EDBPadstackInstance`` objects.
For instance for the pin called ``Pin1`` located on component with refdes ``U1``: ``U1-Pin1``, ``Pin1`` with
``refdes=U1``, the pin’s global EDB object ID, or the ``EDBPadstackInstance`` corresponding to the pin can be
provided.

Union[int, str, EDBPadstackInstance], List[Union[int, str, EDBPadstackInstance]]

reference_pinsreference pin specifier(s) or instance(s) for the port reference terminal. Allowed values are
the same as for the ``pins`` parameter.

Union[int, str, EDBPadstackInstance], List[Union[int, str, EDBPadstackInstance]]

impedancePort impedance

str, float

port_namestr, optional

Port name. The default is None, in which case a name is automatically assigned.

pec_boundarybool, optional
Whether to define the PEC boundary, The default is ``False``. If set to ``True``,
a perfect short is created between the pin and impedance is ignored. This
parameter is only supported on a port created between two pins, such as
when there is no pin group.
pingroup_on_single_pinbool

If True force using pingroup definition on single pin to have the port created at the pad center. If False the port is created at the pad edge. Default value is False.

Returns:
EDB terminal created, or False if failed to create.
Example:
>>> :obj:`from` :obj:`pyedb` :obj:`import` :obj:`Edb`
    ..
>>> :obj:`edb` = :obj:`Edb`\(:obj:`path_to_edb_file`)
    ..
>>> :obj:`pin` = "AJ6"
    ..
>>> :obj:`ref_pins` = ["AM7", "AM4"]
    ..
Or to take all reference pins
>>> :obj:`ref_pins` = [:obj:`pin` :obj:`for` :obj:`pin` :obj:`in` :class:`python:list`\(:obj:`edb.components`\["U2A5"]:obj:`.pins.values`\()) :obj:`if` :obj:`pin.net_name` == "GND"]
    ..
>>> :obj:`edb.components.create_port_on_pins`\(refdes="U2A5", pins=pin, reference_pins=ref_pins)
    ..
>>> :obj:`edb.save`\()
    ..
>>> :obj:`edb.close`\()
    ..
SourceExcitation.create_port(terminal: pyedb.dotnet.database.cell.terminal.edge_terminal.EdgeTerminal | pyedb.dotnet.database.cell.terminal.padstack_instance_terminal.PadstackInstanceTerminal | pyedb.dotnet.database.cell.terminal.point_terminal.PointTerminal | pyedb.dotnet.database.cell.terminal.pingroup_terminal.PinGroupTerminal, ref_terminal=None, is_circuit_port=False, name=None) pyedb.dotnet.database.edb_data.ports.CircuitPort | pyedb.dotnet.database.edb_data.ports.BundleWavePort | pyedb.dotnet.database.edb_data.ports.WavePort | pyedb.dotnet.database.edb_data.ports.CoaxPort | pyedb.dotnet.database.edb_data.ports.GapPort#

Create a port.

Parameters:
terminalclass:pyedb.dotnet.database.edb_data.terminals.EdgeTerminal,

class:pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, class:pyedb.dotnet.database.edb_data.terminals.PointTerminal, class:pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal, Positive terminal of the port.

ref_terminalclass:pyedb.dotnet.database.edb_data.terminals.EdgeTerminal,

class:pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, class:pyedb.dotnet.database.edb_data.terminals.PointTerminal, class:pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal, optional Negative terminal of the port.

is_circuit_portbool, optional

Whether it is a circuit port. The default is False.

name: str, optional

Name of the created port. The default is None, a random name is generated.

Returns
——-
list: [:class:`pyedb.dotnet.database.edb_data.ports.GapPort`,

pyedb.dotnet.database.edb_data.ports.WavePort,].

SourceExcitation.create_voltage_probe(terminal: pyedb.dotnet.database.cell.terminal.edge_terminal.EdgeTerminal | pyedb.dotnet.database.cell.terminal.padstack_instance_terminal.PadstackInstanceTerminal | pyedb.dotnet.database.cell.terminal.point_terminal.PointTerminal | pyedb.dotnet.database.cell.terminal.pingroup_terminal.PinGroupTerminal, ref_terminal: pyedb.dotnet.database.cell.terminal.edge_terminal.EdgeTerminal | pyedb.dotnet.database.cell.terminal.padstack_instance_terminal.PadstackInstanceTerminal | pyedb.dotnet.database.cell.terminal.point_terminal.PointTerminal | pyedb.dotnet.database.cell.terminal.pingroup_terminal.PinGroupTerminal) pyedb.dotnet.database.cell.terminal.terminal.Terminal#

Create a voltage probe.

Parameters:
terminalpyedb.dotnet.database.edb_data.terminals.EdgeTerminal,

pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, pyedb.dotnet.database.edb_data.terminals.PointTerminal, pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal, Positive terminal of the port.

ref_terminalpyedb.dotnet.database.edb_data.terminals.EdgeTerminal,

pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, pyedb.dotnet.database.edb_data.terminals.PointTerminal, pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal, Negative terminal of the probe.

Returns:
pyedb.dotnet.database.edb_data.terminals.Terminal
SourceExcitation.create_voltage_source(terminal: pyedb.dotnet.database.cell.terminal.edge_terminal.EdgeTerminal | pyedb.dotnet.database.cell.terminal.padstack_instance_terminal.PadstackInstanceTerminal | pyedb.dotnet.database.cell.terminal.point_terminal.PointTerminal | pyedb.dotnet.database.cell.terminal.pingroup_terminal.PinGroupTerminal, ref_terminal: pyedb.dotnet.database.cell.terminal.edge_terminal.EdgeTerminal | pyedb.dotnet.database.cell.terminal.padstack_instance_terminal.PadstackInstanceTerminal | pyedb.dotnet.database.cell.terminal.point_terminal.PointTerminal | pyedb.dotnet.database.cell.terminal.pingroup_terminal.PinGroupTerminal) pyedb.dotnet.database.cell.terminal.terminal.Terminal#

Create a voltage source.

Parameters:
terminalpyedb.dotnet.database.edb_data.terminals.EdgeTerminal, pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, pyedb.dotnet.database.edb_data.terminals.PointTerminal, pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal

Positive terminal of the port.

ref_terminalclass:pyedb.dotnet.database.edb_data.terminals.EdgeTerminal, pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, pyedb.dotnet.database.edb_data.terminals.PointTerminal, pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal

Negative terminal of the source.

Returns:
class:legacy.database.edb_data.ports.ExcitationSources
SourceExcitation.create_current_source(terminal: pyedb.dotnet.database.cell.terminal.edge_terminal.EdgeTerminal | pyedb.dotnet.database.cell.terminal.padstack_instance_terminal.PadstackInstanceTerminal | pyedb.dotnet.database.cell.terminal.point_terminal.PointTerminal | pyedb.dotnet.database.cell.terminal.pingroup_terminal.PinGroupTerminal, ref_terminal: pyedb.dotnet.database.cell.terminal.edge_terminal.EdgeTerminal | pyedb.dotnet.database.cell.terminal.padstack_instance_terminal.PadstackInstanceTerminal | pyedb.dotnet.database.cell.terminal.point_terminal.PointTerminal | pyedb.dotnet.database.cell.terminal.pingroup_terminal.PinGroupTerminal) pyedb.dotnet.database.cell.terminal.terminal.Terminal#

Create a current source.

Parameters:
terminallegacy.database.edb_data.terminals.EdgeTerminal,

legacy.database.edb_data.terminals.PadstackInstanceTerminal, legacy.database.edb_data.terminals.PointTerminal, legacy.database.edb_data.terminals.PinGroupTerminal, Positive terminal of the port.

ref_terminalclass:legacy.database.edb_data.terminals.EdgeTerminal,

legacy.database.edb_data.terminals.PadstackInstanceTerminal, legacy.database.edb_data.terminals.PointTerminal, legacy.database.edb_data.terminals.PinGroupTerminal, Negative terminal of the source.

Returns:
legacy.edb_core.edb_data.ports.ExcitationSources
SourceExcitation.get_point_terminal(name, net_name, location, layer) pyedb.dotnet.database.cell.terminal.point_terminal.PointTerminal#

Place a voltage probe between two points.

Parameters:
namestr,

Name of the terminal.

net_namestr

Name of the net.

locationlist

Location of the terminal.

layerstr,

Layer of the terminal.

Returns:
legacy.edb_core.edb_data.terminals.PointTerminal