ControlFileStackup#

class pyedb.grpc.database.control_file.ControlFileStackup(units: str = 'mm')#

Manages stackup information for the control file.

Parameters:
unitsstr, optional

Length units (e.g., “mm”, “um”). Default is “mm”.

Overview#

add_material

Add a new material.

add_layer

Add a new layer.

add_dielectric

Add a new dielectric layer.

add_via

Add a new via layer.

vias

List of via objects.

materials

Dictionary of material objects.

dielectrics

List of dielectric layers.

layers

List of general layers.

Import detail#

from pyedb.grpc.database.control_file import ControlFileStackup

Property detail#

property ControlFileStackup.vias#

List of via objects.

Returns:
list of ControlFileVia
property ControlFileStackup.materials: Dict[str, ControlFileMaterial]#

Dictionary of material objects.

Returns:
dict

Dictionary of material names to ControlFileMaterial objects.

property ControlFileStackup.dielectrics#

List of dielectric layers.

Returns:
list of ControlFileDielectric
property ControlFileStackup.layers: List[ControlFileLayer]#

List of general layers.

Returns:
list of ControlFileLayer

Attribute detail#

ControlFileStackup.units: str = 'mm'#
ControlFileStackup.metal_layer_snapping_tolerance: float | None = None#
ControlFileStackup.dielectrics_base_elevation: float = 0.0#

Method detail#

ControlFileStackup.add_material(material_name: str, permittivity: float = 1.0, dielectric_loss_tg: float = 0.0, permeability: float = 1.0, conductivity: float = 0.0, properties: Dict[str, Any] | None = None) ControlFileMaterial#

Add a new material.

Parameters:
material_namestr

Material name.

permittivityfloat, optional

Relative permittivity. Default is 1.0.

dielectric_loss_tgfloat, optional

Dielectric loss tangent. Default is 0.0.

permeabilityfloat, optional

Relative permeability. Default is 1.0.

conductivityfloat, optional

Conductivity (S/m). Default is 0.0.

propertiesdict, optional

Additional material properties. Overrides default parameters.

Returns:
ControlFileMaterial

Created material object.

ControlFileStackup.add_layer(layer_name: str, elevation: float = 0.0, material: str = '', gds_type: int = 0, target_layer: str = '', thickness: float = 0.0, layer_type: str = 'conductor', solve_inside: bool = True, properties: Dict[str, Any] | None = None) ControlFileLayer#

Add a new layer.

Parameters:
layer_namestr

Layer name.

elevationfloat

Layer elevation (Z-position).

materialstr

Material name.

gds_typeint

GDS data type for layer.

target_layerstr

Target layer name in EDB/HFSS.

thicknessfloat

Layer thickness.

layer_typestr, optional

Layer type (“conductor”, “signal”, etc.). Default is “conductor”.

solve_insidebool, optional

Whether to solve inside metal. Default is True.

propertiesdict, optional

Additional layer properties. Overrides default parameters.

Returns:
ControlFileLayer

Created layer object.

ControlFileStackup.add_dielectric(layer_name: str, layer_index: int | None = None, material: str = '', thickness: float = 0.0, properties: Dict[str, Any] | None = None, base_layer: str | None = None, add_on_top: bool = True) ControlFileDielectric#

Add a new dielectric layer.

Parameters:
layer_namestr

Dielectric layer name.

layer_indexint, optional

Stacking order index. Auto-assigned if None.

materialstr

Material name.

thicknessfloat

Layer thickness.

propertiesdict, optional

Additional properties. Overrides default parameters.

base_layerstr, optional

Existing layer name for relative placement.

add_on_topbool, optional

Whether to add on top of base layer. Default is True.

Returns:
ControlFileDielectric

Created dielectric layer object.

ControlFileStackup.add_via(layer_name: str, material: str = '', gds_type: int = 0, target_layer: str = '', start_layer: str = '', stop_layer: str = '', solve_inside: bool = True, via_group_method: str = 'proximity', via_group_tol: float = 1e-06, via_group_persistent: bool = True, snap_via_group_method: str = 'distance', snap_via_group_tol: float = 1e-08, properties: Dict[str, Any] | None = None) ControlFileVia#

Add a new via layer.

Parameters:
layer_namestr

Via layer name.

materialstr

Material name.

gds_typeint

GDS data type for via layer.

target_layerstr

Target layer name in EDB/HFSS.

start_layerstr

Starting layer name.

stop_layerstr

Stopping layer name.

solve_insidebool, optional

Whether to solve inside via. Default is True.

via_group_methodstr, optional

Via grouping method. Default is “proximity”.

via_group_tolfloat, optional

Via grouping tolerance. Default is 1e-6.

via_group_persistentbool, optional

Whether via groups are persistent. Default is True.

snap_via_group_methodstr, optional

Snap via group method. Default is “distance”.

snap_via_group_tolfloat, optional

Snap via group tolerance. Default is 10e-9.

propertiesdict, optional

Additional properties. Overrides default parameters.

Returns:
ControlFileVia

Created via object.