PadstackInstance#
- class pyedb.grpc.database.primitive.padstack_instance.PadstackInstance(pedb, edb_instance)#
Bases:
ansys.edb.core.primitive.padstack_instance.PadstackInstanceManages EDB functionalities for a padstack.
- Parameters:
- :class:`PadstackInstance
` PadstackInstance object.
- :class:`PadstackInstance
Examples
>>> from pyedb import Edb >>> edb = Edb(myedb, edbversion="2021.2") >>> edb_padstack_instance = edb.padstacks.instances[0]
Overview#
Delete the padstack instance. |
|
Set backdrill from top. |
|
Set backdrill from bottom. |
|
Create a padstack instance terminal. |
|
Returns padstack instance terminal. |
|
Create a coax port. |
|
Create a port on the padstack instance. |
|
Check if padstack Instance is in given polygon data. |
|
Split padstack instance into multiple instances. The new instances only connect adjacent layers. |
|
Convert actual padstack instance to microvias 3D Objects with a given aspect ratio. |
|
Return backdrill type |
|
Get backdrill by layer. |
|
Get back drill by depth parameters |
|
Set back drill by depth. |
|
Set back drill layer. |
|
Parametrize the instance position. |
|
Check if this padstack instance is in any void. |
|
Create a rectangle inscribed inside a padstack instance pad. |
|
Search for reference pins using given criteria. |
|
Get connected objects. |
Property added for backward compatibility with earlier versions of pyEDB. |
|
Padstack definition. |
|
Padstack definition name. |
|
PadstackInstanceTerminal. |
|
Return the number of sides meshed of the padstack instance. |
|
Check whether dcir equipotential region is enabled. |
|
Layout object instance. |
|
Padstack instance bounding box. |
|
Starting layer. |
|
Stopping layer. |
|
List of all layers to which the padstack instance belongs. |
|
Net name. |
|
Layout object instance. |
|
Component. |
|
Padstack instance position. |
|
Padstack instance rotation. |
|
Padstack Instance Name. |
|
Backdrill type. |
|
Check is backdrill is starting at bottom. |
|
Metal volume of the via hole instance in cubic units (m3). Metal plating ratio is accounted. |
|
Component pin. |
|
Retrieve the pin name that is shown in AEDT. |
|
Pin groups that the pin belongs to. |
|
Placement layer name. |
|
Placement layer object. |
|
Lower elevation of the placement layer. |
|
Upper elevation of the placement layer. |
|
Top/bottom association of the placement layer. |
Import detail#
from pyedb.grpc.database.primitive.padstack_instance import PadstackInstance
Property detail#
- property PadstackInstance.is_pin#
Property added for backward compatibility with earlier versions of pyEDB.
- property PadstackInstance.definition: pyedb.grpc.database.definition.padstack_def.PadstackDef#
Padstack definition.
- Returns:
- property PadstackInstance.padstack_definition: str#
Padstack definition name.
- Returns:
strPadstack definition name.
- property PadstackInstance.terminal: pyedb.grpc.database.terminal.padstack_instance_terminal.PadstackInstanceTerminal#
PadstackInstanceTerminal.
- Returns:
- :class:`PadstackInstanceTerminal
- PadstackInstanceTerminal>`
PadstackInstanceTerminal object.
- :class:`PadstackInstanceTerminal
- property PadstackInstance.side_number#
Return the number of sides meshed of the padstack instance. Returns ——- int
Number of sides meshed of the padstack instance.
- property PadstackInstance.dcir_equipotential_region: bool#
Check whether dcir equipotential region is enabled.
- Returns:
- property PadstackInstance.object_instance#
Layout object instance.
- Returns:
LayoutObjInstance
- property PadstackInstance.bounding_box: tuple[tuple[float, float], tuple[float, float]]#
Padstack instance bounding box. Because this method is slow, the bounding box is stored in a variable and reused.
- property PadstackInstance.layer_range_names: list[str]#
List of all layers to which the padstack instance belongs.
- Returns:
List[str]List of layer names.
- property PadstackInstance.layout_object_instance#
Layout object instance.
- Returns:
LayoutObjInstance
- property PadstackInstance.position: list[float]#
Padstack instance position.
- Returns:
listList of
[x, y]coordinates for the padstack instance position.
- property PadstackInstance.rotation: float#
Padstack instance rotation.
- Returns:
floatRotatation value for the padstack instance.
- property PadstackInstance.name: str#
Padstack Instance Name.
- Returns:
strIf it is a pin, the syntax will be like in AEDT ComponentName-PinName.
- property PadstackInstance.backdrill_bottom: bool#
Check is backdrill is starting at bottom.
- Returns:
- property PadstackInstance.backdrill_diameter#
- property PadstackInstance.backdrill_layer#
- property PadstackInstance.backdrill_offset#
- property PadstackInstance.metal_volume: float#
Metal volume of the via hole instance in cubic units (m3). Metal plating ratio is accounted.
- Returns:
floatMetal volume of the via hole instance.
- property PadstackInstance.aedt_name: str#
Retrieve the pin name that is shown in AEDT.
Note
To obtain the EDB core pin name, use pin.name.
- Returns:
strName of the pin in AEDT.
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", "project name", "release version") >>> edbapp.padstacks.instances[111].get_aedt_pin_name()
- property PadstackInstance.pingroups#
Pin groups that the pin belongs to.
- Returns:
List[PinGroup]List of pin groups that the pin belongs to.
- property PadstackInstance.placement_layer#
Placement layer name.
- Returns:
strName of the placement layer.
- property PadstackInstance.layer#
Placement layer object.
- Returns:
pyedb.grpc.database.layers.stackup_layer.StackupLayerPlacement layer.
- property PadstackInstance.lower_elevation: float#
Lower elevation of the placement layer.
- Returns:
floatLower elavation of the placement layer.
Method detail#
- PadstackInstance.delete()#
Delete the padstack instance.
- PadstackInstance.set_backdrill_top(drill_depth, drill_diameter, offset=0.0)#
Set backdrill from top.
.deprecated:: 0.55.0 Use :method:`set_back_drill_by_depth` instead.
- PadstackInstance.set_backdrill_bottom(drill_depth, drill_diameter, offset=0.0)#
Set backdrill from bottom.
.deprecated: 0.55.0 Use: method:set_back_drill_by_depth instead.
- PadstackInstance.create_terminal(name=None) pyedb.grpc.database.terminal.padstack_instance_terminal.PadstackInstanceTerminal#
Create a padstack instance terminal.
- Returns:
- :class:`PadstackInstanceTerminal
- PadstackInstanceTerminal>`
PadstackInstanceTerminal object.
- :class:`PadstackInstanceTerminal
- PadstackInstance.get_terminal(create_new_terminal=True) pyedb.grpc.database.terminal.padstack_instance_terminal.PadstackInstanceTerminal#
Returns padstack instance terminal.
- PadstackInstance.create_coax_port(name=None, radial_extent_factor=0)#
Create a coax port.
- PadstackInstance.create_port(name=None, reference=None, is_circuit_port=False)#
Create a port on the padstack instance.
- PadstackInstance.in_polygon(polygon_data, include_partial=True, arbitrary_extent_value=0.0003) bool#
Check if padstack Instance is in given polygon data.
- Parameters:
- polygon_data
PolygonDataObject - include_partialbool,
optional Whether to include partial intersecting instances. The default is
True.- simple_checkbool,
optional Whether to perform a single check based on the padstack center or check the padstack bounding box.
- arbitrary_extent_value
float,optional When
include_partialisTrue, an arbitrary value is used to create a bounding box for the padstack instance to check for intersection and save computation time during the cutout. The default is300e-6.
- polygon_data
- Returns:
- bool
Truewhen successful,Falsewhen failed.
- PadstackInstance.split() list#
Split padstack instance into multiple instances. The new instances only connect adjacent layers.
- PadstackInstance.convert_hole_to_conical_shape(angle=75)#
Convert actual padstack instance to microvias 3D Objects with a given aspect ratio.
- Parameters:
- angle
float,optional Angle of laser penetration in degrees. The angle defines the lowest hole diameter with this formula: HoleDiameter -2*tan(laser_angle* Hole depth). Hole depth is the height of the via (dielectric thickness). The default is
75. The lowest hole is0.75*HoleDepth/HoleDiam.
- angle
- Returns:
- PadstackInstance.get_backdrill_type(from_bottom=True)#
Return backdrill type Parameters ———- from_bottom : bool, optional
default value is True.
- PadstackInstance.get_back_drill_by_layer(from_bottom=True) tuple[str, float, float]#
Get backdrill by layer.
- Parameters:
- from_bottombool, optional.
Default value is True.
- PadstackInstance.get_back_drill_by_depth(from_bottom=True) tuple[float, float]#
Get back drill by depth parameters Parameters ———- from_bottom : bool, optional
Default value is True.
- PadstackInstance.set_back_drill_by_depth(drill_depth, diameter, from_bottom=True)#
Set back drill by depth.
- PadstackInstance.set_back_drill_by_layer(drill_to_layer, offset, diameter, from_bottom=True)#
Set back drill layer.
- PadstackInstance.parametrize_position(prefix=None) list[str]#
Parametrize the instance position.
- Parameters:
- prefix
str,optional Prefix for the variable name. Default is
None. Example “MyVariableName” will create 2 Project variables $MyVariableNamesX and $MyVariableNamesY.
- prefix
- Returns:
ListList of variables created.
- PadstackInstance.in_voids(net_name=None, layer_name=None) list[any]#
Check if this padstack instance is in any void.
- Parameters:
- Returns:
List[PadstackInstance]List of the voids that include this padstack instance.
- PadstackInstance.create_rectangle_in_pad(layer_name, return_points=False, partition_max_order=16)#
Create a rectangle inscribed inside a padstack instance pad.
The rectangle is fully inscribed in the pad and has the maximum area. It is necessary to specify the layer on which the rectangle will be created.
- Parameters:
- layer_name
str Name of the layer on which to create the polygon.
- return_pointsbool,
optional If True does not create the rectangle and just returns a list containing the rectangle vertices. Default is False.
- partition_max_order
float,optional Order of the lattice partition used to find the quasi-lattice polygon that approximates
polygon. Default is16.
- layer_name
- Returns:
Examples
>>> from pyedb import Edb >>> edbapp = Edb("myaedbfolder", edbversion="2021.2") >>> edb_layout = edbapp.modeler >>> list_of_padstack_instances = list(edbapp.padstacks.instances.values()) >>> padstack_inst = list_of_padstack_instances[0] >>> padstack_inst.create_rectangle_in_pad("TOP")
- PadstackInstance.get_reference_pins(reference_net='GND', search_radius=0.005, max_limit=0, component_only=True) list[any]#
Search for reference pins using given criteria.
- Parameters:
- reference_net
str,optional Reference net. The default is
"GND".- search_radius
float,optional Search radius for finding padstack instances. The default is
5e-3.- max_limit
int,optional Maximum limit for the padstack instances found. The default is
0, in which case no limit is applied. The maximum limit value occurs on the nearest reference pins from the positive one that is found.- component_onlybool,
optional Whether to limit the search to component padstack instances only. The default is
True. WhenFalse, the search is extended to the entire layout.
- reference_net
- Returns:
List[PadstackInstance]
Examples
>>> edbapp = Edb("target_path") >>> pin = edbapp.components.instances["J5"].pins["19"] >>> reference_pins = pin.get_reference_pins(reference_net="GND", search_radius=5e-3, max_limit=0, >>> component_only=True)
- PadstackInstance.get_connected_objects()#
Get connected objects.
- Returns:
List[LayoutObjInstance]