Layout#

class pyedb.dotnet.database.cell.layout.Layout(pedb, edb_object)#

Bases: pyedb.dotnet.database.utilities.obj_base.ObjBase, PrimitivesQuery

Manages EDB functionalities for a base object.

Overview#

expanded_extent

Get an expanded polygon for the Nets collection.

convert_primitives_to_vias

Convert a list of primitives into vias or pins.

find_net_by_name

Find a net object by name

find_component_by_name

Find a component object by name. Component name is the reference designator in layout.

find_padstack_instances

Finds padstack instances matching the specified criteria.

cell

Cell: Owning cell for this layout.

layer_collection

LayerCollection : Layer collection of this layout.

fixed_zone_primitive

Primitive : Fixed zones primitive.

terminals

Get terminals belonging to active layout.

cell_instances

list of CellInstance : List of the cell instances in this layout.

layout_instance

LayoutInstance : Layout instance of this layout.

nets

Nets.

groups

pin_groups

net_classes

extended_nets

differential_pairs

padstack_instances

Get all padstack instances in a list.

voltage_regulators

port_reference_terminals_connected

bool: Determine if port reference terminals are connected, applies to lumped ports and circuit ports.

Import detail#

from pyedb.dotnet.database.cell.layout import Layout

Property detail#

property Layout.cell#

Cell: Owning cell for this layout.

Read-Only.

property Layout.layer_collection#

LayerCollection : Layer collection of this layout.

property Layout.fixed_zone_primitive#

Primitive : Fixed zones primitive.

property Layout.terminals#

Get terminals belonging to active layout.

Returns:
Terminal dictionaryDict[str, pyedb.dotnet.database.edb_data.terminals.Terminal]
property Layout.cell_instances#

list of CellInstance : List of the cell instances in this layout.

Read-Only.

property Layout.layout_instance#

LayoutInstance : Layout instance of this layout.

Read-Only.

property Layout.nets#

Nets.

Returns:
property Layout.groups#
property Layout.pin_groups: list[pyedb.dotnet.database.edb_data.sources.PinGroup]#
property Layout.net_classes: list[pyedb.dotnet.database.edb_data.nets_data.EDBNetClassData]#
property Layout.extended_nets: list[pyedb.dotnet.database.edb_data.nets_data.EDBExtendedNetData]#
property Layout.differential_pairs: list[pyedb.dotnet.database.edb_data.nets_data.EDBDifferentialPairData]#
property Layout.padstack_instances: list[pyedb.dotnet.database.edb_data.padstacks_data.EDBPadstackInstance]#

Get all padstack instances in a list.

property Layout.voltage_regulators: list[pyedb.dotnet.database.cell.voltage_regulator.VoltageRegulator]#
property Layout.port_reference_terminals_connected: bool#

bool: Determine if port reference terminals are connected, applies to lumped ports and circuit ports.

True if they are connected, False otherwise. Read-Only.

Method detail#

Layout.expanded_extent(nets, extent, expansion_factor, expansion_unitless, use_round_corner, num_increments)#

Get an expanded polygon for the Nets collection.

Parameters:
netslist[Net]

A list of nets.

extentExtentType

Geometry extent type for expansion.

expansion_factorfloat

Expansion factor for the polygon union. No expansion occurs if the expansion_factor is less than or equal to 0.

expansion_unitlessbool

When unitless, the distance by which the extent expands is the factor multiplied by the longer dimension (X or Y distance) of the expanded object/net.

use_round_cornerbool

Whether to use round or sharp corners. For round corners, this returns a bounding box if its area is within 10% of the rounded expansion’s area.

num_incrementsint

Number of iterations desired to reach the full expansion.

Returns:
PolygonData

Notes

Method returns the expansion of the contour, so any voids within expanded objects are ignored.

Layout.convert_primitives_to_vias(primitives, is_pins=False)#

Convert a list of primitives into vias or pins.

Parameters:
primitiveslist[Primitive]

List of primitives to convert.

is_pinsbool, optional

True for pins, false for vias (default).

Layout.find_net_by_name(value: str)#

Find a net object by name

Parameters:
valuestr

Name of the net.

Returns:
Layout.find_component_by_name(value: str) pyedb.dotnet.database.cell.hierarchy.component.EDBComponent | None#

Find a component object by name. Component name is the reference designator in layout.

Parameters:
valuestr

Name of the component.

Returns
——-
Layout.find_padstack_instances(aedt_name: str | list[str] = None, component_name: str | list[str] = None, component_pin_name: str | list[str] = None, net_name: str | list[str] = None, instance_id: int | list[int] = None) list[pyedb.dotnet.database.edb_data.padstacks_data.EDBPadstackInstance]#

Finds padstack instances matching the specified criteria.

This method filters the available padstack instances based on specified attributes such as aedt_name, component_name, component_pin_name, net_name, or instance_id. Criteria can be passed as individual values or as a list of values. If no padstack instances match the criteria, an error is raised.

Parameters:
aedt_nameUnion[str, List[str]], optional

Name(s) of the AEDT padstack instance(s) to filter.

component_nameUnion[str, List[str]], optional

Name(s) of the component(s) to filter padstack instances by.

component_pin_nameUnion[str, List[str]], optional

Name(s) of the component pin(s) to filter padstack instances by.

net_nameUnion[str, List[str]], optional

Name(s) of the net(s) to filter padstack instances by.

instance_idUnion[int, List[int]], optional

ID(s) of the padstack instance(s) to filter.

Returns:
List

A list of padstack instances matching the specified criteria.