EDBComponent#

class pyedb.dotnet.database.cell.hierarchy.component.EDBComponent(pedb, edb_object)#

Bases: pyedb.dotnet.database.cell.hierarchy.hierarchy_obj.Group

Manages EDB functionalities for components.

Parameters:
parentpyedb.dotnet.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.

name

Name of the definition.

group_type

layout_instance

EDB layout instance object.

component_instance

Edb component instance.

component_property

ComponentProperty object.

model

Component model.

package_def

Package definition.

ic_die_properties

Adding IC properties for grpc compatibility.

is_enabled

Get or Set the component to active mode.

enabled

Get or Set the component to active mode.

spice_model

Get assigned Spice model properties.

s_param_model

Get assigned S-parameter model properties.

netlist_model

Get assigned netlist model properties.

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.

is_null

Flag indicating if the current object exists.

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.

bounding_box

Component’s bounding box.

rotation

Compute the component rotation in radian.

pinlist

Pins of the component.

nets

Nets of Component.

pins

EDBPadstackInstance of Component.

type

Component type.

numpins

Number of Pins of Component.

partname

Component part name.

part_name

Component part name.

placement_layer

Placement layer.

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.dotnet.database.cell.hierarchy.component import EDBComponent

Property detail#

property EDBComponent.name#

Name of the definition.

property EDBComponent.group_type#
property EDBComponent.layout_instance#

EDB layout instance object.

property EDBComponent.component_instance#

Edb component instance.

property EDBComponent.component_property#

ComponentProperty object.

property EDBComponent.model#

Component model.

property EDBComponent.package_def#

Package definition.

property EDBComponent.ic_die_properties#

Adding IC properties for grpc compatibility.

property EDBComponent.is_enabled#

Get or Set the component to active mode.

Returns:
bool

True if component is active, False if is disabled..

property EDBComponent.enabled#

Get or Set the component to active mode.

property EDBComponent.spice_model#

Get assigned Spice model properties.

property EDBComponent.s_param_model#

Get assigned S-parameter model properties.

property EDBComponent.netlist_model#

Get assigned netlist model properties.

property EDBComponent.solder_ball_height#

Solder ball height if available.

property EDBComponent.solder_ball_shape#

Solder ball shape.

property EDBComponent.solder_ball_diameter#

Solder ball diameter.

property EDBComponent.solder_ball_placement#

Solder ball placement if available..

property EDBComponent.refdes#

Reference Designator Name.

Returns:
str

Reference Designator Name.

property EDBComponent.is_null#

Flag indicating if the current object exists.

property EDBComponent.model_type#

Retrieve assigned model type.

property EDBComponent.rlc_values#

Get component rlc values.

property EDBComponent.value#

Retrieve discrete component value.

Returns:
str

Value. None if not an RLC Type.

property EDBComponent.res_value#

Resistance value.

Returns:
str

Resistance value or None if not an RLC type.

property EDBComponent.cap_value#

Capacitance Value.

Returns:
str

Capacitance Value. None if not an RLC Type.

property EDBComponent.ind_value#

Inductance Value.

Returns:
str

Inductance Value. None if not an RLC Type.

property EDBComponent.is_parallel_rlc#

Define if model is Parallel or Series.

Returns:
bool

True if it is a parallel rlc model. False for series RLC. None if not an RLC Type.

property EDBComponent.center#

Compute the component center.

Returns:
list
property EDBComponent.bounding_box#

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 EDBComponent.rotation#

Compute the component rotation in radian.

Returns:
float
property EDBComponent.pinlist#

Pins of the component.

Returns:
list

List of Pins of Component.

property EDBComponent.nets#

Nets of Component.

Returns:
list

List of Nets of Component.

property EDBComponent.pins#

EDBPadstackInstance of Component.

Returns:
dic[str, dotnet.database.edb_data.definitions.EDBPadstackInstance]

Dictionary of EDBPadstackInstance Components.

property EDBComponent.type#

Component type.

Returns:
str

Component type.

property EDBComponent.numpins#

Number of Pins of Component.

Returns:
int

Number of Pins of Component.

property EDBComponent.partname#

Component part name.

Returns:
str

Component Part Name.

property EDBComponent.part_name#

Component part name.

Returns:
str

Component part name.

property EDBComponent.placement_layer#

Placement layer.

Returns:
str

Name of the placement layer.

property EDBComponent.is_top_mounted#

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 EDBComponent.lower_elevation#

Lower elevation of the placement layer.

Returns:
float

Lower elevation of the placement layer.

property EDBComponent.upper_elevation#

Upper elevation of the placement layer.

Returns:
float

Upper elevation of the placement layer.

property EDBComponent.top_bottom_association#

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

Attribute detail#

EDBComponent.edbcomponent#

Method detail#

EDBComponent.create_package_def(name='', component_part_name=None)#

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.

EDBComponent.assign_spice_model(file_path: str, name: str | None = None, sub_circuit_name: str | None = None, terminal_pairs: list | None = None)#

Assign Spice model to this component.

Parameters:
file_pathstr

File path of the Spice model.

namestr, optional

Name of the Spice model.

sub_circuit_namestr, optional

Name of the sub circuit.

terminal_pairslist, optional

list of terminal pairs.

Returns:
EDBComponent.assign_s_param_model(file_path, name=None, reference_net=None)#

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

Name of the reference net.

Returns
——-
EDBComponent.use_s_parameter_model(name, reference_net=None)#

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")
EDBComponent.assign_rlc_model(res=None, ind=None, cap=None, is_parallel=False)#

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.

EDBComponent.create_clearance_on_component(extra_soldermask_clearance=0.0001)#

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