CfgTerminals#

class pyedb.configuration.cfg_terminals.CfgTerminals(/, **data: Any)#

Bases: pyedb.configuration.cfg_common.CfgBaseModel

Collect low-level terminal definitions for serialization.

Overview#

create

Reconstruct a CfgTerminals instance from raw dictionaries.

add_padstack_instance_terminal

Add a terminal created from a named padstack instance.

add_pin_group_terminal

Add a terminal created from a named pin group.

add_point_terminal

Add a terminal placed at exact XY coordinates.

add_edge_terminal

Add a terminal attached to a primitive edge.

add_bundle_terminal

Add a bundle terminal that groups several existing terminals.

Import detail#

from pyedb.configuration.cfg_terminals import CfgTerminals

Attribute detail#

CfgTerminals.terminals: list[CfgPadstackInstanceTerminal | CfgPinGroupTerminal | CfgPointTerminal | CfgEdgeTerminal | CfgBundleTerminal | dict] = None#

Method detail#

classmethod CfgTerminals.create(terminals: list[dict])#

Reconstruct a CfgTerminals instance from raw dictionaries.

CfgTerminals.add_padstack_instance_terminal(name: str, padstack_instance: str, impedance: float | int | str, boundary_type: Literal['PortBoundary', 'PecBoundary', 'RlcBoundary', 'kCurrentSource', 'kVoltageSource', 'kNexximGround', 'kNexximPort', 'kDcTerminal', 'kVoltageProbe', 'InvalidBoundary', 'port', 'dc_terminal', 'voltage_probe', 'voltage_source', 'current_source', 'rlc', 'pec'], hfss_type: Literal['Wave', 'Gap'] | None = None, is_circuit_port: bool = False, reference_terminal: str | None = None, amplitude: float | int | str = 1, phase: float | int | str = 0, terminal_to_ground: Literal['kNoGround', 'kNegative', 'kNegativeNode', 'kPositive', 'kPositiveNode', 'no_ground', 'negative', 'positive'] = 'kNoGround', padstack_instance_id: int | None = None, layer: str | None = None)#

Add a terminal created from a named padstack instance.

Parameters:
namestr

Unique terminal name.

padstack_instancestr

AEDT name of the padstack instance.

impedancefloat, int, or str

Terminal impedance.

boundary_typestr

Boundary type string (e.g. "PortBoundary").

hfss_typestr, optional

HFSS terminal type, e.g. "Wave" or "Gap".

is_circuit_portbool, optional

Default is False.

reference_terminalstr, optional

Name of the reference terminal this terminal is paired with.

amplitudefloat, int, or str, optional

Default is 1.

phasefloat, int, or str, optional

Default is 0.

terminal_to_groundstr, optional

Default is "kNoGround".

padstack_instance_idint, optional

Internal padstack-instance integer ID.

layerstr, optional

Layer name override.

Returns:
CfgPadstackInstanceTerminal

The newly created terminal object.

CfgTerminals.add_pin_group_terminal(name: str, pin_group: str, impedance: float | int | str, boundary_type: Literal['PortBoundary', 'PecBoundary', 'RlcBoundary', 'kCurrentSource', 'kVoltageSource', 'kNexximGround', 'kNexximPort', 'kDcTerminal', 'kVoltageProbe', 'InvalidBoundary', 'port', 'dc_terminal', 'voltage_probe', 'voltage_source', 'current_source', 'rlc', 'pec'], reference_terminal: str | None = None, amplitude: float | int | str = 1, phase: float | int | str = 0, terminal_to_ground: Literal['kNoGround', 'kNegative', 'kNegativeNode', 'kPositive', 'kPositiveNode', 'no_ground', 'negative', 'positive'] = 'kNoGround')#

Add a terminal created from a named pin group.

Parameters:
namestr

Unique terminal name.

pin_groupstr

Pin-group name, e.g. "pg_VDD".

impedancefloat, int, or str

Terminal impedance.

boundary_typestr

Boundary type string.

reference_terminalstr, optional

Name of the paired reference terminal.

amplitudefloat, int, or str, optional

Default is 1.

phasefloat, int, or str, optional

Default is 0.

terminal_to_groundstr, optional

Default is "kNoGround".

Returns:
CfgPinGroupTerminal

The newly created terminal object.

Examples

>>> cfg.terminals.add_pin_group_terminal("t_vdd", "pg_VDD", 50, "port")
CfgTerminals.add_point_terminal(name: str, x: float | int | str, y: float | int | str, layer: str, net: str, impedance: float | int | str, boundary_type: Literal['PortBoundary', 'PecBoundary', 'RlcBoundary', 'kCurrentSource', 'kVoltageSource', 'kNexximGround', 'kNexximPort', 'kDcTerminal', 'kVoltageProbe', 'InvalidBoundary', 'port', 'dc_terminal', 'voltage_probe', 'voltage_source', 'current_source', 'rlc', 'pec'], reference_terminal: str | None = None, amplitude: float | int | str = 1, phase: float | int | str = 0, terminal_to_ground: Literal['kNoGround', 'kNegative', 'kNegativeNode', 'kPositive', 'kPositiveNode', 'no_ground', 'negative', 'positive'] = 'kNoGround')#

Add a terminal placed at exact XY coordinates.

Parameters:
namestr

Unique terminal name.

xfloat, int, or str

X coordinate in metres.

yfloat, int, or str

Y coordinate in metres.

layerstr

Layer name on which the terminal is placed.

netstr

Net name.

impedancefloat, int, or str

Terminal impedance.

boundary_typestr

Boundary type string.

reference_terminalstr, optional

Paired reference terminal name.

amplitudefloat, int, or str, optional

Default is 1.

phasefloat, int, or str, optional

Default is 0.

terminal_to_groundstr, optional

Default is "kNoGround".

Returns:
CfgPointTerminal

The newly created terminal object.

CfgTerminals.add_edge_terminal(name: str, primitive: str, point_on_edge_x: float | int | str, point_on_edge_y: float | int | str, impedance: float | int | str, boundary_type: Literal['PortBoundary', 'PecBoundary', 'RlcBoundary', 'kCurrentSource', 'kVoltageSource', 'kNexximGround', 'kNexximPort', 'kDcTerminal', 'kVoltageProbe', 'InvalidBoundary', 'port', 'dc_terminal', 'voltage_probe', 'voltage_source', 'current_source', 'rlc', 'pec'], hfss_type: Literal['Wave', 'Gap'] | None = 'Wave', horizontal_extent_factor: int | str = 6, vertical_extent_factor: int | str = 8, pec_launch_width: str = '0.02mm', is_circuit_port: bool = False, reference_terminal: str | None = None, amplitude: float | int | str = 1, phase: float | int | str = 0, terminal_to_ground: Literal['kNoGround', 'kNegative', 'kNegativeNode', 'kPositive', 'kPositiveNode', 'no_ground', 'negative', 'positive'] = 'kNoGround')#

Add a terminal attached to a primitive edge.

Parameters:
namestr

Unique terminal name.

primitivestr

AEDT name of the hosting primitive.

point_on_edge_xfloat, int, or str

X coordinate of the point on the edge.

point_on_edge_yfloat, int, or str

Y coordinate of the point on the edge.

impedancefloat, int, or str

Terminal impedance.

boundary_typestr

Boundary type string.

hfss_typestr, optional

"Wave" (default) or "Gap".

horizontal_extent_factorint or str, optional

Default is 6.

vertical_extent_factorint or str, optional

Default is 8.

pec_launch_widthstr, optional

Default is "0.02mm".

is_circuit_portbool, optional

Default is False.

reference_terminalstr, optional

Paired reference terminal name.

amplitudefloat, int, or str, optional

Default is 1.

phasefloat, int, or str, optional

Default is 0.

terminal_to_groundstr, optional

Default is "kNoGround".

Returns:
CfgEdgeTerminal

The newly created terminal object.

CfgTerminals.add_bundle_terminal(name: str, terminals: list[str])#

Add a bundle terminal that groups several existing terminals.

Parameters:
namestr

Unique bundle name.

terminalslist of str

Names of the terminals to bundle, e.g. ["t_vdd", "t_gnd"].

Returns:
CfgBundleTerminal

The newly created bundle-terminal object.

Examples

>>> cfg.terminals.add_bundle_terminal("bundle_demo", ["t_vdd", "t_gnd"])