CfgComponent#

class pyedb.configuration.cfg_components.CfgComponent(_pedb=None, pedb_object=None, **kwargs)#

Bases: pyedb.configuration.cfg_common.CfgBase

Fluent builder for a single component entry.

Overview#

retrieve_model_properties_from_edb

Retrieve model properties from the EDB design.

set_parameters_to_edb

Set component parameters to the EDB design.

retrieve_parameters_from_edb

Retrieve component parameters from the EDB design.

add_pin_pair_rlc

Append a pin-pair RLC model between two component pins.

set_s_parameter_model

Assign a Touchstone S-parameter model to this component.

set_spice_model

Assign a SPICE subcircuit model to this component.

set_netlist_model

Assign a raw netlist model to this component.

set_ic_die_properties

Configure IC die and orientation properties.

set_solder_ball_properties

Configure solder-ball geometry for this component.

set_port_properties

Configure port reference geometry for this IC component.

to_dict

Serialize the component configuration.

Import detail#

from pyedb.configuration.cfg_components import CfgComponent

Attribute detail#

CfgComponent.pyedb_obj = None#
CfgComponent.enabled#
CfgComponent.reference_designator#
CfgComponent.definition#
CfgComponent.type#
CfgComponent.placement_layer#
CfgComponent.pins#
CfgComponent.port_properties#
CfgComponent.solder_ball_properties#
CfgComponent.ic_die_properties#
CfgComponent.pin_pair_model#
CfgComponent.spice_model#
CfgComponent.s_parameter_model#
CfgComponent.netlist_model#

Method detail#

CfgComponent.retrieve_model_properties_from_edb()#

Retrieve model properties from the EDB design.

CfgComponent.set_parameters_to_edb()#

Set component parameters to the EDB design.

CfgComponent.retrieve_parameters_from_edb()#

Retrieve component parameters from the EDB design.

CfgComponent.add_pin_pair_rlc(first_pin: str, second_pin: str, resistance=None, inductance=None, capacitance=None, is_parallel: bool = False, resistance_enabled: bool = False, inductance_enabled: bool = False, capacitance_enabled: bool = False)#

Append a pin-pair RLC model between two component pins.

Parameters:
first_pinstr

Name of the first pin, e.g. "1".

second_pinstr

Name of the second pin, e.g. "2".

resistancestr, float, or None, optional

Resistance value, e.g. "100ohm" or 100.0.

inductancestr, float, or None, optional

Inductance value, e.g. "1nH".

capacitancestr, float, or None, optional

Capacitance value, e.g. "100nF".

is_parallelbool, optional

True for a parallel RLC topology. Default is False (series).

resistance_enabledbool, optional

Activate the resistance element. Default is False.

inductance_enabledbool, optional

Activate the inductance element. Default is False.

capacitance_enabledbool, optional

Activate the capacitance element. Default is False.

Examples

>>> r1 = cfg.components.add("R1", part_type="resistor")
>>> r1.add_pin_pair_rlc("1", "2", resistance="100ohm", resistance_enabled=True)
CfgComponent.set_s_parameter_model(model_name: str, model_path: str, reference_net: str)#

Assign a Touchstone S-parameter model to this component.

Parameters:
model_namestr

Name registered in the EDB component model library.

model_pathstr

Absolute path to the .sNp Touchstone file.

reference_netstr

Reference (ground) net for the model, e.g. "GND".

Examples

>>> u1.set_s_parameter_model("cap_100nF", "/snp/cap.s2p", "GND")
CfgComponent.set_spice_model(model_name: str, model_path: str, sub_circuit: str = '', terminal_pairs=None)#

Assign a SPICE subcircuit model to this component.

Parameters:
model_namestr

SPICE model name registered in the library.

model_pathstr

Absolute path to the .sp SPICE file.

sub_circuitstr, optional

Subcircuit name inside the file. Default is "".

terminal_pairslist, optional

Pin-to-node mapping list. Default is [].

Examples

>>> u1.set_spice_model("ic_spice", "/spice/ic.sp", sub_circuit="IC_TOP")
CfgComponent.set_netlist_model(netlist: str)#

Assign a raw netlist model to this component.

Parameters:
netliststr

SPICE-compatible netlist string.

CfgComponent.set_ic_die_properties(die_type: str = 'no_die', orientation: str = 'chip_up', height=None)#

Configure IC die and orientation properties.

Parameters:
die_typestr, optional

Die type. Accepted values: "flip_chip" | "wire_bond" | "no_die". Default is "no_die".

orientationstr, optional

Die orientation. "chip_up" (default) or "chip_down".

heightstr or float, optional

Die height (wire bond only), e.g. "100um".

Examples

>>> u1.set_ic_die_properties("flip_chip", orientation="chip_down")
CfgComponent.set_solder_ball_properties(shape: str = 'cylinder', diameter: str = None, height: str = None, material: str = 'solder', mid_diameter=None, orientation: str = 'chip_down', reference_designator: str = None)#

Configure solder-ball geometry for this component.

Parameters:
shapestr, optional

Solder-ball shape. "cylinder" (default), "spheroid", or "no_solder_ball".

diameterstr, optional

Outer diameter, e.g. "150um". When None and a live EDB session is attached the smallest pin pad size found on the component is used automatically. Falls back to "150um" if the pad size cannot be determined.

heightstr, optional

Solder-ball height, e.g. "100um". When None the height is set to 2 * diameter / 3.

materialstr, optional

Material name. Default is "solder".

mid_diameterstr or None, optional

Mid-diameter for spheroid shape. Defaults to diameter when None.

orientationstr, optional

Die orientation for IC components. "chip_down" (default) or "chip_up".

reference_designatorstr, optional

Override the component reference designator used when querying pin sizes from EDB. When None self.reference_designator is used.

Examples

>>> u1.set_solder_ball_properties("cylinder", "150um", "100um")
>>> u1.set_solder_ball_properties()  # auto-sizes from pin pads
CfgComponent.set_port_properties(reference_height: str = '0', reference_size_auto: bool = True, reference_size_x: str = '0', reference_size_y: str = '0')#

Configure port reference geometry for this IC component.

Parameters:
reference_heightstr, optional

Port reference height, e.g. "50um". Default is "0".

reference_size_autobool, optional

Let the solver auto-compute the reference size. Default is True.

reference_size_xstr, optional

Explicit reference size in X when reference_size_auto is False. Default is "0".

reference_size_ystr, optional

Explicit reference size in Y. Default is "0".

Examples

>>> u1.set_port_properties(reference_height="50um")
CfgComponent.to_dict() dict#

Serialize the component configuration.