Component#

class pyedb.grpc.database.hierarchy.component.Component(pedb, edb_object)#

Bases: ansys.edb.core.hierarchy.component_group.ComponentGroup

Manages EDB functionalities for components.

Parameters:
parentpyedb.grpc.database.components.Components

Components object.

componentobject

Edb Component Object

Overview#

create_package_def

Create a package definition and assign it to the component.

assign_spice_model

Assign Spice model to this component.

assign_s_param_model

Assign S-parameter to this component.

use_s_parameter_model

Use S-parameter model on the component.

assign_rlc_model

Assign RLC to this component.

create_clearance_on_component

Create a Clearance on Soldermask layer by drawing a rectangle.

group_type

layout_instance

Layout instance object.

component_instance

Component instance.

is_enabled

Component enable.

ic_die_properties

IC Die property.

model

Component model.

package_def

Package definition.

is_mcad

MCad component.

is_mcad_3d_comp

Mcad 3D component.

is_mcad_hfss

MCad HFSS.

is_mcad_stride

MCar stride.

enabled

Component active mode.

spice_model

Assigned Spice model.

s_param_model

Assigned S-parameter model.

netlist_model

Assigned netlist model.

solder_ball_height

Solder ball height if available.

solder_ball_shape

Solder ball shape.

solder_ball_diameter

Solder ball diameter.

solder_ball_placement

Solder ball placement if available..

refdes

Reference Designator Name.

model_type

Retrieve assigned model type.

rlc_values

Get component rlc values.

value

Retrieve discrete component value.

res_value

Resistance value.

cap_value

Capacitance Value.

ind_value

Inductance Value.

is_parallel_rlc

Define if model is Parallel or Series.

center

Compute the component center.

location

Component center.

bounding_box

Component’s bounding box.

rotation

Compute the component rotation in radian.

pinlist

Pins of the component.

nets

Nets of Component.

pins

Component pins.

type

Component type.

numpins

Number of Pins of Component.

partname

Component part name.

part_name

Component part name.

placement_layer

Placement layern name.

layer

Placement layern object.

is_top_mounted

Check if a component is mounted on top or bottom of the layout.

lower_elevation

Lower elevation of the placement layer.

upper_elevation

Upper elevation of the placement layer.

top_bottom_association

Top/bottom association of the placement layer.

Import detail#

from pyedb.grpc.database.hierarchy.component import Component

Property detail#

property Component.group_type#
property Component.layout_instance#

Layout instance object.

Returns:
LayoutInstance
property Component.component_instance#

Component instance.

Returns:
LayoutObjInstance
property Component.is_enabled: bool#

Component enable.

Returns:
bool
property Component.ic_die_properties: any#

IC Die property.

Returns:
ICDieProperty
property Component.model: pyedb.grpc.database.hierarchy.s_parameter_model.SparamModel | pyedb.grpc.database.hierarchy.spice_model.SpiceModel#

Component model.

Returns:
Model
property Component.package_def#

Package definition.

Returns:
PackageDef
property Component.is_mcad: bool#

MCad component.

Returns:
bool
property Component.is_mcad_3d_comp: bool#

Mcad 3D component.

Returns:
bool
property Component.is_mcad_hfss: bool#

MCad HFSS.

Returns:
bool
property Component.is_mcad_stride: bool#

MCar stride.

Returns:
bool
property Component.enabled: bool#

Component active mode.

Returns:
bool
property Component.spice_model: pyedb.grpc.database.hierarchy.spice_model.SpiceModel#

Assigned Spice model.

Returns:
SpiceModel
property Component.s_param_model: pyedb.grpc.database.hierarchy.s_parameter_model.SparamModel#

Assigned S-parameter model.

Returns:
SParameterModel
property Component.netlist_model: ansys.edb.core.hierarchy.netlist_model.NetlistModel#

Assigned netlist model.

Returns:
NetlistModel
property Component.solder_ball_height: float#

Solder ball height if available.

Returns:
float

Balls height value.

property Component.solder_ball_shape: str#

Solder ball shape.

Returns:
str

Solder balls shapes, none, cylinder or spheroid.

property Component.solder_ball_diameter: tuple[float, float] | None#

Solder ball diameter.

Returns:
float

diameter value.

property Component.solder_ball_placement#

Solder ball placement if available..

property Component.refdes: str#

Reference Designator Name.

Returns:
str

Reference Designator Name.

property Component.model_type: str#

Retrieve assigned model type.

Returns:
str

Model type, RLC, `` SParameterModel`` or SPICEModel.

property Component.rlc_values: List[list[float]] | List[float]#

Get component rlc values.

Returns:
list[list[Rvalue(float), Lvalue(float), Cvalue(float)]].
property Component.value: float#

Retrieve discrete component value.

Returns:
float

Value. None if not an RLC Type.

property Component.res_value: float#

Resistance value.

Returns:
float

Resistance value or None if not an RLC type.

property Component.cap_value: float#

Capacitance Value.

Returns:
float

Capacitance Value. None if not an RLC Type.

property Component.ind_value#

Inductance Value.

Returns:
float

Inductance Value. None if not an RLC Type.

property Component.is_parallel_rlc: bool#

Define if model is Parallel or Series.

Returns:
bool

True´ if parallel rlc model. `False series RLC. None if not RLC Type.

property Component.center: list[float, float]#

Compute the component center.

Returns:
list

[x value, y value].

property Component.location#

Component center.

Returns:
List[float, float]

[x, y].

property Component.bounding_box: list[float]#

Component’s bounding box.

Returns:
List[float]

List of coordinates for the component’s bounding box, with the list of coordinates in this order: [X lower left corner, Y lower left corner, X upper right corner, Y upper right corner].

property Component.rotation: float#

Compute the component rotation in radian.

Returns:
float

Rotation value.

property Component.pinlist: list[pyedb.grpc.database.primitive.padstack_instance.PadstackInstance]#

Pins of the component.

Returns:
list

List of Pins of Component.

property Component.nets#

Nets of Component.

Returns:
list[str]

Component nets names.

property Component.pins: dict[str, pyedb.grpc.database.primitive.padstack_instance.PadstackInstance]#

Component pins.

Returns:
Dic[str,:class:PadstackInstance ]

Component dictionary pins.

property Component.type: str#

Component type.

Returns:
str

Type of the component. Options are "resistor", "inductor", "capacitor", "ic", "io" and "other".

property Component.numpins: int#

Number of Pins of Component.

..deprecated:: 0.51.0

Use: func:num_pins instead.

Returns#

int

Component pins number.

property Component.partname: str#

Component part name.

Returns:
str

Component part name.

property Component.part_name: str#

Component part name.

Returns:
str

Component part name.

property Component.placement_layer: str#

Placement layern name.

Returns:
str

Placement layer name.

property Component.layer: pyedb.grpc.database.layers.stackup_layer.StackupLayer#

Placement layern object.

Returns:
pyedb.grpc.database.layers.stackup_layer.StackupLayer

Placement layer.

property Component.is_top_mounted: bool#

Check if a component is mounted on top or bottom of the layout.

Returns:
bool

True component is mounted on top, False on down.

property Component.lower_elevation: float#

Lower elevation of the placement layer.

Returns:
float

Placement layer lower elevation.

property Component.upper_elevation: float#

Upper elevation of the placement layer.

Returns:
float

Placement layer upper elevation.

property Component.top_bottom_association: int#

Top/bottom association of the placement layer.

Returns:
int

Top/bottom association of the placement layer, where:

  • 0 - Top associated

  • 1 - No association

  • 2 - Bottom associated

  • 4 - Number of top/bottom associations.

  • -1 - Undefined

Method detail#

Component.create_package_def(name=None, component_part_name=None) bool#

Create a package definition and assign it to the component.

Parameters:
name: str, optional

Name of the package definition

component_part_namestr, optional

Part name of the component.

Returns:
bool

True if succeeded, False otherwise.

Component.assign_spice_model(file_path: str, name: str | None = None, sub_circuit_name: str | None = None, terminal_pairs: list | None = None) pyedb.grpc.database.hierarchy.spice_model.SpiceModel#

Assign Spice model to this component.

Parameters:
file_pathstr

File path of the Spice model.

namestr, optional

Name of the Spice model.

Returns:
SpiceModel

Spice model.

Component.assign_s_param_model(file_path, name=None, reference_net=None) ansys.edb.core.definition.component_model.NPortComponentModel#

Assign S-parameter to this component.

Parameters:
file_pathstr

File path of the S-parameter model.

namestr, optional

Name of the S-parameter model.

reference_netstr, optional

Reference net.

Returns:
NPortComponentModel

ComponentModel.

Component.use_s_parameter_model(name, reference_net=None) bool#

Use S-parameter model on the component.

Parameters:
name: str

Name of the S-parameter model.

reference_net: str, optional

Reference net of the model.

Returns:
bool

True when successful, False when failed.

Examples

>>> edbapp = Edb()
>>>comp_def = edbapp.definitions.components["CAPC3216X180X55ML20T25"]
>>>comp_def.add_n_port_model("c:GRM32_DC0V_25degC_series.s2p", "GRM32_DC0V_25degC_series")
>>>edbapp.components["C200"].use_s_parameter_model("GRM32_DC0V_25degC_series")
Component.assign_rlc_model(res=None, ind=None, cap=None, is_parallel=False) pyedb.grpc.database.hierarchy.pin_pair_model.PinPairModel#

Assign RLC to this component.

Parameters:
resint, float

Resistance. Default is None.

indint, float

Inductance. Default is None.

capint, float

Capacitance. Default is None.

is_parallelbool, optional

Whether it is a parallel or series RLC component. The default is False.

Returns:
Model

Component Model.

Component.create_clearance_on_component(extra_soldermask_clearance=0.0001) bool#

Create a Clearance on Soldermask layer by drawing a rectangle.

Parameters:
extra_soldermask_clearancefloat, optional

Extra Soldermask value in meter to be applied on component bounding box.

Returns:
bool