EDBPadstackInstance#
- class pyedb.dotnet.database.edb_data.padstacks_data.EDBPadstackInstance(edb_padstackinstance, _pedb)#
Bases:
pyedb.dotnet.database.cell.primitive.primitive.ConnectableManages EDB functionalities for a padstack.
- Parameters:
- edb_padstackinstance
- _pedb
Inherited AEDT object.
Examples
>>> from pyedb import Edb >>> edb = Edb(myedb, edbversion="2021.2") >>> edb_padstack_instance = edb.padstacks.instances[0]
Overview#
Get PadstackInstanceTerminal object. |
|
Create a padstack instance terminal |
|
Create a coax port. |
|
Create a port on the padstack. |
|
Check if padstack Instance is in given polygon data. |
|
Set backdrill from top. |
|
Method added to bring compatibility with grpc. |
|
Set backdrill from bottom. |
|
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. |
|
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 the number of sides meshed of the padstack instance. |
|
Terminal. |
|
Return Ansys.Ansoft.Edb.LayoutInstance.LayoutObjInstance object. |
|
Get bounding box of the padstack instance. |
|
EDB padstack object. |
|
Padstack definition Name. |
|
Padstack definition. |
|
Backdrill layer from top. |
|
Adding grpc compatibility. DotNet is supporting only layer drill type with adding stub length. |
|
Backdrill layer from bottom. |
|
Starting layer. |
|
Stopping layer. |
|
List of all layers to which the padstack instance belongs. |
|
Determines whether this padstack instance is a layout pin. |
|
Padstack instance position. |
|
Padstack instance rotation. |
|
Metal volume of the via hole instance in cubic units (m3). Metal plating ratio is accounted. |
|
Get pin number. |
|
Get component pin. |
|
Retrieve the pin name that is shown in AEDT. |
|
Pin groups that the pin belongs to. |
|
Placement layer. |
|
Lower elevation of the placement layer. |
|
Upper elevation of the placement layer. |
|
Top/bottom association of the placement layer. |
Import detail#
from pyedb.dotnet.database.edb_data.padstacks_data import EDBPadstackInstance
Property detail#
- property EDBPadstackInstance.side_number#
Return the number of sides meshed of the padstack instance. Returns ——- int
Number of sides meshed of the padstack instance.
- property EDBPadstackInstance.terminal#
Terminal.
- property EDBPadstackInstance.object_instance#
Return Ansys.Ansoft.Edb.LayoutInstance.LayoutObjInstance object.
- property EDBPadstackInstance.bounding_box#
Get bounding box of the padstack instance. Because this method is slow, the bounding box is stored in a variable and reused.
- property EDBPadstackInstance.pin#
EDB padstack object.
- property EDBPadstackInstance.padstack_definition#
Padstack definition Name.
- Returns:
strName of the padstack definition.
- property EDBPadstackInstance.definition#
Padstack definition.
- Returns:
strName of the padstack definition.
- property EDBPadstackInstance.backdrill_top#
Backdrill layer from top.
- Returns:
tupleTuple of the layer name, drill diameter, and offset if it exists.
- property EDBPadstackInstance.backdrill_type#
Adding grpc compatibility. DotNet is supporting only layer drill type with adding stub length.
- property EDBPadstackInstance.backdrill_bottom#
Backdrill layer from bottom.
- Returns:
tupleTuple of the layer name, drill diameter, and drill offset if it exists.
- property EDBPadstackInstance.backdrill_parameters#
- property EDBPadstackInstance.layer_range_names#
List of all layers to which the padstack instance belongs.
- property EDBPadstackInstance.is_pin#
Determines whether this padstack instance is a layout pin.
- Returns:
- bool
True if this padstack type is a layout pin, False otherwise.
- property EDBPadstackInstance.position#
Padstack instance position.
- Returns:
listList of
[x, y]coordinates for the padstack instance position.
- property EDBPadstackInstance.rotation#
Padstack instance rotation.
- Returns:
floatRotatation value for the padstack instance.
- property EDBPadstackInstance.metal_volume#
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 EDBPadstackInstance.pin_number#
Get pin number.
- property EDBPadstackInstance.component_pin#
Get component pin.
- property EDBPadstackInstance.aedt_name#
Retrieve the pin name that is shown in AEDT.
Note
To obtain the EDB core pin name, use pin.GetName().
- 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 EDBPadstackInstance.pingroups#
Pin groups that the pin belongs to.
- Returns:
listList of pin groups that the pin belongs to.
- property EDBPadstackInstance.placement_layer#
Placement layer.
- Returns:
strName of the placement layer.
- property EDBPadstackInstance.lower_elevation#
Lower elevation of the placement layer.
- Returns:
floatLower elavation of the placement layer.
Method detail#
- EDBPadstackInstance.get_terminal(name=None, create_new_terminal=False)#
Get PadstackInstanceTerminal object.
- EDBPadstackInstance.create_terminal(name=None)#
Create a padstack instance terminal
- EDBPadstackInstance.create_coax_port(name=None, radial_extent_factor=0)#
Create a coax port.
- EDBPadstackInstance.create_port(name=None, reference=None, is_circuit_port=False)#
Create a port on the padstack.
- Parameters:
- name
str,optional Name of the port. The default is
None, in which case a name is automatically assigned.- referenceclass:pyedb.dotnet.database.edb_data.nets_data.EDBNetsData, class:pyedb.dotnet.database.edb_data.padstacks_data.EDBPadstackInstance, class:pyedb.dotnet.database.edb_data.sources.PinGroup, optional
Negative terminal of the port.
- is_circuit_portbool,
optional Whether it is a circuit port.
- name
- EDBPadstackInstance.in_polygon(polygon_data, include_partial=True, simple_check=False)#
Check if padstack Instance is in given polygon data.
- Parameters:
- Returns:
- bool
Truewhen successful,Falsewhen failed.
- EDBPadstackInstance.set_backdrill_top(drill_depth, drill_diameter, offset=0.0)#
Set backdrill from top.
- Parameters:
- Returns:
- bool
True if success, False otherwise.
- EDBPadstackInstance.get_back_drill_by_layer()#
- EDBPadstackInstance.set_back_drill_by_layer(drill_to_layer, diameter, offset, from_bottom=True)#
Method added to bring compatibility with grpc.
- EDBPadstackInstance.set_backdrill_bottom(drill_depth, drill_diameter, offset=0.0)#
Set backdrill from bottom.
- Parameters:
- Returns:
- bool
True if success, False otherwise.
- EDBPadstackInstance.parametrize_position(prefix=None)#
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.
- EDBPadstackInstance.in_voids(net_name=None, layer_name=None)#
Check if this padstack instance is in any void.
- EDBPadstackInstance.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:
- bool,
List,pyedb.dotnet.database.edb_data.primitives.EDBPrimitives Polygon when successful,
Falsewhen failed, list of list if return_points=True.
- bool,
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")
- EDBPadstackInstance.get_reference_pins(reference_net='GND', search_radius=0.005, max_limit=0, component_only=True)#
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:
listList of
dotnet.database.edb_data.padstacks_data.EDBPadstackInstance.
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)
- EDBPadstackInstance.split() list#
Split padstack instance into multiple instances. The new instances only connect adjacent layers.
- EDBPadstackInstance.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: