Edb#

class pyedb.dotnet.edb.Edb(edbpath: str | pathlib.Path = None, cellname: str = None, isreadonly: bool = False, isaedtowned: bool = False, oproject=None, use_ppe: bool = False, control_file: str = None, map_file: str = None, technology_file: str = None, layer_filter: str = None, remove_existing_aedt: bool = False)#

Provides the EDB application interface.

This module inherits all objects that belong to EDB.

Parameters:
edbpathstr, optional

Full path to the aedb folder. The variable can also contain the path to a layout to import. Allowed formats are BRD, MCM, XML (IPC2581), GDS, ODB++(TGZ and ZIP) and DXF. The default is None. For GDS import, the Ansys control file (also XML) should have the same name as the GDS file. Only the file extension differs.

cellnamestr, optional

Name of the cell to select. The default is None.

isreadonlybool, optional

Whether to open EBD in read-only mode when it is owned by HFSS 3D Layout. The default is False.

versionstr, int, float, optional

Version of EDB to use. The default is None. Examples of input values are 232, 23.2, 2023.2, "2023.2".

isaedtownedbool, optional

Whether to launch EDB from HFSS 3D Layout. The default is False.

oprojectoptional

Reference to the AEDT project object.

student_versionbool, optional

Whether to open the AEDT student version. The default is False.

control_filestr, optional

Path to the XML file. The default is None, in which case an attempt is made to find the XML file in the same directory as the board file. To succeed, the XML file and board file must have the same name. Only the extension differs.

map_filestr, optional

Layer map .map file.

technology_filestr, optional

Full path to technology file to be converted to xml before importing or xml. Supported by GDS format only.

layer_filter:str,optional

Layer filter .txt file.

Examples

Create an Edb object and a new EDB cell.

>>> from pyedb import Edb
>>> app = Edb()

Add a new variable named “s1” to the Edb instance.

>>> app["s1"] = "0.25 mm"
>>> app["s1"].tofloat
>>> 0.00025
>>> app["s1"].tostring
>>> "0.25mm"

or add a new parameter with description:

>>> app["s2"] = ["20um", "Spacing between traces"]
>>> app["s2"].value
>>> 1.9999999999999998e-05
>>> app["s2"].description
>>> "Spacing between traces"

Create an Edb object and open the specified project.

>>> app = Edb("myfile.aedb")

Create an Edb object from GDS and control files. The XML control file resides in the same directory as the GDS file: (myfile.xml).

>>> app = Edb("/path/to/file/myfile.gds")

Overview#

value

Convert a value into a pyedb value.

open_edb

Open EDB.

create_edb

Create EDB.

import_layout_pcb

Import a board file and generate an edb.def file in the working directory.

import_layout_file

Import a board file and generate an edb.def file in the working directory.

import_vlctech_stackup

Import a vlc.tech file and generate an edb.def file in the working directory containing only the stackup.

export_to_ipc2581

Export design to IPC2581 format.

edb_exception

Write the trace stack to AEDT when a Python error occurs.

get_connected_objects

Get connected objects.

edb_value

Convert a value to an EDB value. Value can be a string, float or integer. Mainly used in internal calls.

point_3d

Compute the Edb 3d Point Data.

copy_cells

Copy Cells from other Databases or this Database into this Database.

point_data

Compute the Edb Point Data.

close_edb

Close EDB and cleanup variables.

close

Close EDB and cleanup variables.

save_edb

Save the EDB file.

save

Save the EDB file.

save_edb_as

Save the EDB file as another file.

save_as

Save the EDB file as another file.

execute

Execute a function.

import_cadence_file

Import a board file and generate an edb.def file in the working directory.

cutout

Create a cutout using an approach entirely based on PyAEDT.

create_cutout

Create a cutout using an approach entirely based on legacy.

create_cutout_multithread

Create a cutout using an approach entirely based on legacy.

get_conformal_polygon_from_netlist

Return an EDB conformal polygon based on a netlist.

number_with_units

Convert a number to a string with units. If value is a string, it’s returned as is.

create_cutout_on_point_list

Create a cutout on a specified shape and save it to a new AEDB file.

write_export3d_option_config_file

Write the options for a 3D export to a configuration file.

export_hfss

Export EDB to HFSS.

export_q3d

Export EDB to Q3D.

export_maxwell

Export EDB to Maxwell 3D.

solve_siwave

Close EDB and solve it with Siwave.

export_siwave_dc_results

Close EDB and solve it with Siwave.

variable_exists

Check if a variable exists or not.

get_all_variable_names

Method added for compatibility with grpc.

get_variable

Return Variable Value if variable exists.

add_project_variable

Add a variable to edb database (project). The variable will have the prefix $.

add_design_variable

Add a variable to edb. The variable can be a design one or a project variable (using $ prefix).

change_design_variable_value

Change a variable value.

get_bounding_box

Get the layout bounding box.

build_simulation_project

Build a ready-to-solve simulation project.

get_statistics

Get the EDBStatistics object.

are_port_reference_terminals_connected

Check if all terminal references in design are connected.

new_simulation_configuration

New SimulationConfiguration Object.

create_hfss_setup

Create an HFSS simulation setup from a template.

create_raptorx_setup

Create an RaptorX simulation setup from a template.

create_hfsspi_setup

Create an HFSS PI simulation setup from a template.

create_siwave_syz_setup

Create a setup from a template.

create_siwave_dc_setup

Create a setup from a template.

calculate_initial_extent

Compute a float representing the larger number between the dielectric thickness or trace width

copy_zones

Copy multizone EDB project to one new edb per zone.

cutout_multizone_layout

Create a multizone project cutout.

create_port

Create a port.

create_voltage_probe

Create a voltage probe.

create_voltage_source

Create a voltage source.

create_current_source

Create a current source.

get_point_terminal

Place a voltage probe between two points.

auto_parametrize_design

Assign automatically design and project variables with current values.

create_model_for_arbitrary_wave_ports

Generate EDB design to be consumed by PyAEDT to generate arbitrary wave ports shapes.

export_gds_comp_xml

Exports an XML file with selected components information for use in a GDS import.

get_variable_value

Added to get closer architecture as for grpc.

compare

Compares current open database with another one.

logger

version

base_path

pedb_class

grpc

grpc flag.

cell_names

Cell name container.

design_variables

Get all edb design variables.

ansys_em_path

project_variables

Get all project variables.

layout_validation

pyedb.dotnet.database.edb_data.layout_validation.LayoutValidation.

variables

Get all Edb variables.

terminals

Get terminals belonging to active layout.

excitations

Get all layout excitations.

ports

Get all ports.

excitations_nets

Get all excitations net names.

sources

Get all layout sources.

voltage_regulator_modules

Get all voltage regulator modules

probes

Get all layout probes.

core

Edb Dotnet Api class.

configuration

Edb project configuration from file.

active_db

Database object.

active_cell

Active cell.

core_components

Edb Components methods and properties.

components

Edb Components methods and properties.

core_stackup

Core stackup.

design_options

Edb Design Settings and Options.

stackup

Stackup manager.

materials

Material Database.

core_padstack

Core padstack.

padstacks

Core padstack.

core_siwave

Core SIWave methods and properties.

siwave

Core SIWave methods and properties.

core_hfss

Core HFSS methods and properties.

hfss

Core HFSS methods and properties.

core_nets

Core nets.

nets

Core nets.

net_classes

Get all net classes.

extended_nets

Get all extended nets.

differential_pairs

Get all differential pairs.

core_primitives

Core primitives.

modeler

Core primitives modeler.

layout

Layout object.

active_layout

Active layout.

layout_instance

Edb Layout Instance.

pins

EDB padstack instance of the component.

setups

Get the dictionary of all EDB HFSS and SIwave setups.

hfss_setups

Active HFSS setup in EDB.

siwave_dc_setups

Active Siwave DC IR Setups.

siwave_ac_setups

Active Siwave SYZ setups.

definitions

Definitions class.

workflow

Workflow class.

__enter__

__exit__

__getitem__

Get or Set a variable to the Edb project. The variable can be project using $ prefix or

__setitem__

Import detail#

from pyedb.dotnet.edb import Edb

Property detail#

property Edb.logger#
property Edb.version#
property Edb.base_path#
property Edb.pedb_class#
property Edb.grpc#

grpc flag.

property Edb.cell_names#

Cell name container.

Returns:
list of cell namesList[str]
property Edb.design_variables#

Get all edb design variables.

Returns:
variable dictionaryDict[str, pyedb.dotnet.database.edb_data.variables.Variable]
property Edb.ansys_em_path#
property Edb.project_variables#

Get all project variables.

Returns:
variables dictionaryDict[str, pyedb.dotnet.database.edb_data.variables.Variable]
property Edb.layout_validation#

pyedb.dotnet.database.edb_data.layout_validation.LayoutValidation.

Returns:
layout validation object:class: ‘pyedb.dotnet.database.layout_validation.LayoutValidation’
property Edb.variables#

Get all Edb variables.

Returns:
variables dictionaryDict[str, pyedb.dotnet.database.edb_data.variables.Variable]
property Edb.terminals#

Get terminals belonging to active layout.

Returns:
Dict
property Edb.excitations#

Get all layout excitations.

property Edb.ports#

Get all ports.

Returns:
port dictionaryDict[str, [pyedb.dotnet.database.edb_data.ports.GapPort,

pyedb.dotnet.database.edb_data.ports.WavePort,]]

property Edb.excitations_nets#

Get all excitations net names.

property Edb.sources#

Get all layout sources.

property Edb.voltage_regulator_modules#

Get all voltage regulator modules

property Edb.probes#

Get all layout probes.

property Edb.core#

Edb Dotnet Api class.

Returns:
pyedb.dotnet.database.dotnet.database.CellDotNet
property Edb.configuration#

Edb project configuration from file.

property Edb.active_db#

Database object.

property Edb.active_cell#

Active cell.

property Edb.core_components#

Edb Components methods and properties.

Deprecated since version 0.6.62: Use new property components() instead.

Returns:
Instance of pyedb.dotnet.database.Components.Components

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> comp = edbapp.components.get_component_by_name("J1")
property Edb.components#

Edb Components methods and properties.

Returns:
Instance of pyedb.dotnet.database.components.Components

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> comp = edbapp.components.get_component_by_name("J1")
property Edb.core_stackup#

Core stackup.

Deprecated since version 0.6.5: There is no need to use the core_stackup property anymore. You can instantiate a new stackup class directly from the Edb class.

property Edb.design_options#

Edb Design Settings and Options.

Returns:
Instance of pyedb.dotnet.database.edb_data.design_options.EdbDesignOptions
property Edb.stackup#

Stackup manager.

Returns:
Instance of :class: ‘pyedb.dotnet.database.Stackup`

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> edbapp.stackup.layers["TOP"].thickness = 4e-5
>>> edbapp.stackup.layers["TOP"].thickness == 4e-05
>>> edbapp.stackup.add_layer("Diel", "GND", layer_type="dielectric", thickness="0.1mm", material="FR4_epoxy")
property Edb.materials#

Material Database.

Returns:
Instance of :class: pyedb.dotnet.database.Materials

Examples

>>> from pyedb import Edb
>>> edbapp = Edb()
>>> edbapp.materials.add_material("air", permittivity=1.0)
>>> edbapp.materials.add_debye_material("debye_mat", 5, 3, 0.02, 0.05, 1e5, 1e9)
>>> edbapp.materials.add_djordjevicsarkar_material("djord_mat", 3.3, 0.02, 3.3)
property Edb.core_padstack#

Core padstack.

Deprecated since version 0.6.62: Use new property padstacks() instead.

Returns:
Instance of :class: pyedb.dotnet.database.padstack.EdbPadstack

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> p = edbapp.padstacks.create(padstackname="myVia_bullet", antipad_shape="Bullet")
>>> edbapp.padstacks.get_pad_parameters(
>>> ... p, "TOP", edbapp.padstacks.pad_type.RegularPad
>>> ... )
property Edb.padstacks#

Core padstack.

Returns:
Instance of :class: legacy.database.padstack.EdbPadstack

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> p = edbapp.padstacks.create(padstackname="myVia_bullet", antipad_shape="Bullet")
>>> edbapp.padstacks.get_pad_parameters(
>>> ... p, "TOP", edbapp.padstacks.pad_type.RegularPad
>>> ... )
property Edb.core_siwave#

Core SIWave methods and properties.

Deprecated since version 0.6.62: Use new property siwave() instead.

Returns:
Instance of :class: pyedb.dotnet.database.siwave.EdbSiwave

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> p2 = edbapp.siwave.create_circuit_port_on_net("U2A5", "V3P3_S0", "U2A5", "GND", 50, "test")
property Edb.siwave#

Core SIWave methods and properties.

Returns:
Instance of :class: pyedb.dotnet.database.siwave.EdbSiwave

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> p2 = edbapp.siwave.create_circuit_port_on_net("U2A5", "V3P3_S0", "U2A5", "GND", 50, "test")
property Edb.core_hfss#

Core HFSS methods and properties.

Deprecated since version 0.6.62: Use new property hfss() instead.

Returns:
Instance of legacy.database.hfss.EdbHfss

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> edbapp.hfss.configure_hfss_analysis_setup(sim_config)
property Edb.hfss#

Core HFSS methods and properties.

Returns:
pyedb.dotnet.database.hfss.EdbHfss

See also

legacy.database.edb_data.simulation_configuration.SimulationConfiguration

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> sim_config = edbapp.new_simulation_configuration()
>>> sim_config.mesh_freq = "10Ghz"
>>> edbapp.hfss.configure_hfss_analysis_setup(sim_config)
property Edb.core_nets#

Core nets.

Deprecated since version 0.6.62: Use new property nets() instead.

Returns:
pyedb.dotnet.database.nets.EdbNets

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> edbapp.nets.find_or_create_net("GND")
>>> edbapp.nets.find_and_fix_disjoint_nets("GND", keep_only_main_net=True)
property Edb.nets#

Core nets.

Returns:
legacy.database.nets.EdbNets

Examples

>>> from pyedb import Edb
>>> edbapp = Edb"myproject.aedb")
>>> edbapp.nets.find_or_create_net("GND")
>>> edbapp.nets.find_and_fix_disjoint_nets("GND", keep_only_main_net=True)
property Edb.net_classes#

Get all net classes.

Returns:
legacy.database.nets.EdbNetClasses

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> edbapp.net_classes
property Edb.extended_nets#

Get all extended nets.

Returns:
legacy.database.nets.EdbExtendedNets

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> edbapp.extended_nets
property Edb.differential_pairs#

Get all differential pairs.

Returns:
legacy.database.nets.EdbDifferentialPairs

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> edbapp.differential_pairs
property Edb.core_primitives#

Core primitives.

Deprecated since version 0.6.62: Use new property modeler() instead.

Returns:
Instance of :class: legacy.database.layout.EdbLayout

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> top_prims = edbapp.modeler.primitives_by_layer["TOP"]
property Edb.modeler#

Core primitives modeler.

Returns:
Instance of :class: legacy.database.layout.EdbLayout

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> top_prims = edbapp.modeler.primitives_by_layer["TOP"]
property Edb.layout: pyedb.dotnet.database.cell.layout.Layout#

Layout object.

Returns:
legacy.database.dotnet.layout.Layout
property Edb.active_layout#

Active layout.

Returns:
Instance of EDB API Layout Class.
property Edb.layout_instance#

Edb Layout Instance.

property Edb.pins#

EDB padstack instance of the component.

Deprecated since version 0.6.62: Use new method edb.padstacks.pins() instead.

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

Dictionary of EDBPadstackInstance Components.

Examples

>>> from pyedb import Edb
>>> edbapp = Edb("myproject.aedb")
>>> pin_net_name = edbapp.pins[424968329].netname
property Edb.setups#

Get the dictionary of all EDB HFSS and SIwave setups.

Returns:
Dict[str, legacy.database.edb_data.hfss_simulation_setup_data.HfssSimulationSetup] or
Dict[str, legacy.database.edb_data.siwave_simulation_setup_data.SiwaveDCSimulationSetup] or
Dict[str, legacy.database.edb_data.siwave_simulation_setup_data.SiwaveSYZSimulationSetup]
property Edb.hfss_setups#

Active HFSS setup in EDB.

Returns:
Dict[str, legacy.database.edb_data.hfss_simulation_setup_data.HfssSimulationSetup]
property Edb.siwave_dc_setups#

Active Siwave DC IR Setups.

Returns:
Dict[str, legacy.database.edb_data.siwave_simulation_setup_data.SiwaveDCSimulationSetup]
property Edb.siwave_ac_setups#

Active Siwave SYZ setups.

Returns:
Dict[str, legacy.database.edb_data.siwave_simulation_setup_data.SiwaveSYZSimulationSetup]
property Edb.definitions#

Definitions class.

property Edb.workflow#

Workflow class.

Attribute detail#

Edb.standalone = True#
Edb.oproject = None#
Edb.isaedtowned = False#
Edb.isreadonly = False#
Edb.cellname = None#
Edb.edbpath = None#
Edb.log_name = None#

Method detail#

Edb.__enter__()#
Edb.__exit__(ex_type, ex_value, ex_traceback)#
Edb.__getitem__(variable_name)#

Get or Set a variable to the Edb project. The variable can be project using $ prefix or it can be a design variable, in which case the $ is omitted.

Parameters:
variable_namestr
Returns:
variable objectpyedb.dotnet.database.edb_data.variables.Variable
Edb.__setitem__(variable_name, variable_value)#
Edb.value(val)#

Convert a value into a pyedb value.

Edb.open_edb()#

Open EDB.

Returns:
``True`` when succeed ``False`` if failedbool
Edb.create_edb()#

Create EDB.

Returns:
``True`` when succeed ``False`` if failedbool
Edb.import_layout_pcb(input_file, working_dir='', anstranslator_full_path='', use_ppe=False, control_file=None, map_file=None, tech_file=None, layer_filter=None)#

Import a board file and generate an edb.def file in the working directory.

Deprecated since version 0.42.0: Use import_layout_file() method instead.

This function supports all AEDT formats, including DXF, GDS, SML (IPC2581), BRD, MCM, SIP, ZIP and TGZ.

Parameters:
input_filestr

Full path to the board file.

working_dirstr, optional

Directory in which to create the aedb folder. The name given to the AEDB file is the same as the name of the board file.

anstranslator_full_pathstr, optional

Full path to the Ansys translator. The default is "".

use_ppebool

Whether to use the PPE License. The default is False.

control_filestr, optional

Path to the XML file. The default is None, in which case an attempt is made to find the XML file in the same directory as the board file. To succeed, the XML file and board file must have the same name. Only the extension differs.

tech_filestr, optional

Technology file. The file can be *.ircx, *.vlc.tech, or *.itf

map_filestr, optional

Layer map .map file.

layer_filter:str,optional

Layer filter .txt file.

Returns:
Full path to the AEDB filestr
Edb.import_layout_file(input_file, working_dir='', anstranslator_full_path='', use_ppe=False, control_file=None, map_file=None, tech_file=None, layer_filter=None)#

Import a board file and generate an edb.def file in the working directory.

This function supports all AEDT formats, including DXF, GDS, SML (IPC2581), BRD, MCM, SIP, ZIP and TGZ.

Warning

Do not execute this function with untrusted function argument, environment variables or pyedb global settings. See the security guide for details.

Parameters:
input_filestr

Full path to the board file.

working_dirstr, optional

Directory in which to create the aedb folder. The name given to the AEDB file is the same as the name of the board file.

anstranslator_full_pathstr, optional

Full path to the Ansys translator. The default is "".

use_ppebool

Whether to use the PPE License. The default is False.

control_filestr, optional

Path to the XML file. The default is None, in which case an attempt is made to find the XML file in the same directory as the board file. To succeed, the XML file and board file must have the same name. Only the extension differs.

tech_filestr, optional

Technology file. The file can be *.ircx, *.vlc.tech, or *.itf

map_filestr, optional

Layer map .map file.

layer_filter:str,optional

Layer filter .txt file.

Returns:
Full path to the AEDB filestr
Edb.import_vlctech_stackup(vlctech_file, working_dir='', export_xml=None)#

Import a vlc.tech file and generate an edb.def file in the working directory containing only the stackup.

Parameters:
vlctech_filestr

Full path to the technology stackup file. It must be vlc.tech.

working_dirstr, optional

Directory in which to create the aedb folder. The name given to the AEDB file is the same as the name of the board file.

export_xmlstr, optional

Export technology file in XML control file format.

Returns:
Full path to the AEDB filestr
Edb.export_to_ipc2581(edbpath='', anstranslator_full_path='', ipc_path=None) str#

Export design to IPC2581 format.

Parameters:
edbpath: str

Full path to aedb folder of the design to convert.

anstranslator_full_pathstr, optional

Path to Ansys translator executable.

ipc_pathstr, optional

Output XML file path. Default: .xml.

Returns:
str

Path to output IPC2581 file, and corresponding log file.

Examples

>>> # Export to IPC2581 format:
>>> edb.export_to_ipc2581("output.xml")
Edb.edb_exception(ex_value, tb_data)#

Write the trace stack to AEDT when a Python error occurs.

Parameters:
ex_value
tb_data
Returns:
None
Edb.get_connected_objects(layout_object_instance)#

Get connected objects.

Returns:
list
Edb.edb_value(value, var_server=None)#

Convert a value to an EDB value. Value can be a string, float or integer. Mainly used in internal calls.

Parameters:
valuestr, float, int
Returns:
Instance of Edb.Utility.Value
Edb.point_3d(x, y, z=0.0)#

Compute the Edb 3d Point Data.

Parameters:
xfloat, int or str

X value.

yfloat, int or str

Y value.

zfloat, int or str, optional

Z value.

Returns:
Geometry.Point3DData.
Edb.copy_cells(cells_to_copy)#

Copy Cells from other Databases or this Database into this Database.

Parameters:
cells_to_copylist[Cell]

Cells to copy.

Returns:
list[Cell]

New Cells created in this Database.

Edb.point_data(x, y=None)#

Compute the Edb Point Data.

Parameters:
xfloat, int or str

X value.

yfloat, int or str, optional

Y value.

Returns:
Geometry.PointData.
Edb.close_edb()#

Close EDB and cleanup variables.

. deprecated:: pyedb 0.47.0 Use: func:close instead.

Returns:
bool

True when successful, False when failed.

Edb.close(**kwargs)#

Close EDB and cleanup variables.

Returns:
bool

True when successful, False when failed.

Edb.save_edb()#

Save the EDB file.

. deprecated:: pyedb 0.47.0 Use: func:save instead.

Returns:
bool

True when successful, False when failed.

Edb.save()#

Save the EDB file.

Returns:
bool

True when successful, False when failed.

Edb.save_edb_as(path)#

Save the EDB file as another file.

. deprecated:: pyedb 0.47.0 Use: func:save_as instead.

Parameters:
pathstr

Name of the new file to save to.

Returns:
bool

True when successful, False when failed.

Edb.save_as(path)#

Save the EDB file as another file.

Parameters:
pathstr

Name of the new file to save to.

Returns:
bool

True when successful, False when failed.

Edb.execute(func)#

Execute a function.

Parameters:
funcstr

Function to execute.

Returns:
bool

True when successful, False when failed.

Edb.import_cadence_file(inputBrd, WorkDir=None, anstranslator_full_path='', use_ppe=False)#

Import a board file and generate an edb.def file in the working directory.

Parameters:
inputBrdstr

Full path to the board file.

WorkDirstr, optional

Directory in which to create the aedb folder. The default value is None, in which case the AEDB file is given the same name as the board file. Only the extension differs.

anstranslator_full_pathstr, optional

Full path to the Ansys translator.

use_ppebool, optional

Whether to use the PPE License. The default is False.

Returns:
bool

True when successful, False when failed.

Edb.cutout(signal_nets=None, reference_nets=None, extent_type='ConvexHull', expansion_size=0.002, use_round_corner=False, output_aedb_path=None, open_cutout_at_end=True, use_pyaedt_cutout=True, number_of_threads=1, use_pyaedt_extent_computing=True, extent_defeature=0, remove_single_pin_components=False, custom_extent=None, custom_extent_units='mm', include_partial_instances=False, keep_voids=True, check_terminals=False, include_pingroups=False, expansion_factor=0, maximum_iterations=10, preserve_components_with_model=False, simple_pad_check=True, keep_lines_as_path=False, include_voids_in_extents=False)#

Create a cutout using an approach entirely based on PyAEDT. This method replaces all legacy cutout methods in PyAEDT. It does in sequence: - delete all nets not in list, - create a extent of the nets, - check and delete all vias not in the extent, - check and delete all the primitives not in extent, - check and intersect all the primitives that intersect the extent.

Parameters:
signal_netslist

List of signal strings.

reference_netslist, optional

List of references to add. The default is ["GND"].

extent_typestr, optional

Type of the extension. Options are "Conforming", "ConvexHull", and "Bounding". The default is "Conforming".

expansion_sizefloat, str, optional

Expansion size ratio in meters. The default is 0.002.

use_round_cornerbool, optional

Whether to use round corners. The default is False.

output_aedb_pathstr, optional

Full path and name for the new AEDB file. If None, then current aedb will be cutout.

open_cutout_at_endbool, optional

Whether to open the cutout at the end. The default is True.

use_pyaedt_cutoutbool, optional

Whether to use new PyAEDT cutout method or EDB API method. New method is faster than native API method since it benefits of multithread.

number_of_threadsint, optional

Number of thread to use. Default is 4. Valid only if use_pyaedt_cutout is set to True.

use_pyaedt_extent_computingbool, optional

Whether to use legacy extent computing (experimental) or EDB API.

extent_defeaturefloat, optional

Defeature the cutout before applying it to produce simpler geometry for mesh (Experimental). It applies only to Conforming bounding box. Default value is 0 which disable it.

remove_single_pin_componentsbool, optional

Remove all Single Pin RLC after the cutout is completed. Default is False.

custom_extentlist

Points list defining the cutout shape. This setting will override extent_type field.

custom_extent_unitsstr

Units of the point list. The default is "mm". Valid only if custom_extend is provided.

include_partial_instancesbool, optional

Whether to include padstack instances that have bounding boxes intersecting with point list polygons. This operation may slow down the cutout export.Valid only if custom_extend and use_pyaedt_cutout is provided.

keep_voidsbool

Boolean used for keep or not the voids intersecting the polygon used for clipping the layout. Default value is True, False will remove the voids.Valid only if custom_extend is provided.

check_terminalsbool, optional

Whether to check for all reference terminals and increase extent to include them into the cutout. This applies to components which have a model (spice, touchstone or netlist) associated.

include_pingroupsbool, optional

Whether to check for all pingroups terminals and increase extent to include them into the cutout. It requires check_terminals.

expansion_factorint, optional

The method computes a float representing the largest number between the dielectric thickness or trace width multiplied by the expansion_factor factor. The trace width search is limited to nets with ports attached. Works only if use_pyaedt_cutout. Default is 0 to disable the search.

maximum_iterationsint, optional

Maximum number of iterations before stopping a search for a cutout with an error. Default is 10.

preserve_components_with_modelbool, optional

Whether to preserve all pins of components that have associated models (Spice or NPort). This parameter is applicable only for a PyAEDT cutout (except point list).

simple_pad_checkbool, optional

Whether to use the center of the pad to find the intersection with extent or use the bounding box. Second method is much slower and requires to disable multithread on padstack removal. Default is True.

keep_lines_as_pathbool, optional

Whether to keep the lines as Path after they are cutout or convert them to PolygonData. This feature works only in Electronics Desktop (3D Layout). If the flag is set to True it can cause issues in SiWave once the Edb is imported. Default is False to generate PolygonData of cut lines.

include_voids_in_extentsbool, optional

Whether to compute and include voids in pyaedt extent before the cutout. Cutout time can be affected. It works only with Conforming cutout. Default is False to generate extent without voids.

Returns:
List

List of coordinate points defining the extent used for clipping the design. If it failed return an empty list.

Examples

>>> from pyedb import Edb
>>> edb = Edb(r"C:\test.aedb", version="2022.2")
>>> edb.logger.info_timer("Edb Opening")
>>> edb.logger.reset_timer()
>>> start = time.time()
>>> signal_list = []
>>> for net in edb.nets.netlist:
>>>      if "3V3" in net:
>>>           signal_list.append(net)
>>> power_list = ["PGND"]
>>> edb.cutout(signal_nets=signal_list, reference_nets=power_list, extent_type="Conforming")
>>> end_time = str((time.time() - start) / 60)
>>> edb.logger.info("Total legacy cutout time in min %s", end_time)
>>> edb.nets.plot(signal_list, None, color_by_net=True)
>>> edb.nets.plot(power_list, None, color_by_net=True)
>>> edb.save()
>>> edb.close()
Edb.create_cutout(signal_list=[], reference_list=['GND'], extent_type='Conforming', expansion_size=0.002, use_round_corner=False, output_aedb_path=None, open_cutout_at_end=True, use_pyaedt_extent_computing=False)#

Create a cutout using an approach entirely based on legacy. It does in sequence: - delete all nets not in list, - create an extent of the nets, - check and delete all vias not in the extent, - check and delete all the primitives not in extent, - check and intersect all the primitives that intersect the extent.

Deprecated since version 0.6.58: Use new method cutout() instead.

Parameters:
signal_listlist

List of signal strings.

reference_listlist, optional

List of references to add. The default is ["GND"].

extent_typestr, optional

Type of the extension. Options are "Conforming", "ConvexHull", and "Bounding". The default is "Conforming".

expansion_sizefloat, str, optional

Expansion size ratio in meters. The default is 0.002.

use_round_cornerbool, optional

Whether to use round corners. The default is False.

output_aedb_pathstr, optional

Full path and name for the new AEDB file.

open_cutout_at_endbool, optional

Whether to open the cutout at the end. The default is True.

use_pyaedt_extent_computingbool, optional

Whether to use legacy extent computing (experimental).

Returns:
bool

True when successful, False when failed.

Edb.create_cutout_multithread(signal_list=[], reference_list=['GND'], extent_type='Conforming', expansion_size=0.002, use_round_corner=False, number_of_threads=4, custom_extent=None, output_aedb_path=None, remove_single_pin_components=False, use_pyaedt_extent_computing=False, extent_defeature=0, keep_lines_as_path=False, return_extent=False)#

Create a cutout using an approach entirely based on legacy. It does in sequence: - delete all nets not in list, - create a extent of the nets, - check and delete all vias not in the extent, - check and delete all the primitives not in extent, - check and intersect all the primitives that intersect the extent.

Deprecated since version 0.6.58: Use new method cutout() instead.

Parameters:
signal_listlist

List of signal strings.

reference_listlist, optional

List of references to add. The default is ["GND"].

extent_typestr, optional

Type of the extension. Options are "Conforming", "ConvexHull", and "Bounding". The default is "Conforming".

expansion_sizefloat, str, optional

Expansion size ratio in meters. The default is 0.002.

use_round_cornerbool, optional

Whether to use round corners. The default is False.

number_of_threadsint, optional

Number of thread to use. Default is 4

custom_extentlist, optional

Custom extent to use for the cutout. It has to be a list of points [[x1,y1],[x2,y2]….] or Edb PolygonData object. In this case, both signal_list and reference_list will be cut.

output_aedb_pathstr, optional

Full path and name for the new AEDB file. If None, then current aedb will be cutout.

remove_single_pin_componentsbool, optional

Remove all Single Pin RLC after the cutout is completed. Default is False.

use_pyaedt_extent_computingbool, optional

Whether to use legacy extent computing (experimental).

extent_defeaturefloat, optional

Defeature the cutout before applying it to produce simpler geometry for mesh (Experimental). It applies only to Conforming bounding box. Default value is 0 which disable it.

keep_lines_as_pathbool, optional

Whether to keep the lines as Path after they are cutout or convert them to PolygonData. This feature works only in Electronics Desktop (3D Layout). If the flag is set to True it can cause issues in SiWave once the Edb is imported. Default is False to generate PolygonData of cut lines.

return_extentbool, optional

When True extent used for clipping is returned, if False only the boolean indicating whether clipping succeed or not is returned. Not applicable with custom extent usage. Default is False.

Returns:
bool

True when successful, False when failed.

Examples

>>> from pyedb import Edb
>>> edb = Edb(r"C:\test.aedb", version="2022.2")
>>> edb.logger.info_timer("Edb Opening")
>>> edb.logger.reset_timer()
>>> start = time.time()
>>> signal_list = []
>>> for net in edb.nets.nets.keys():
>>>      if "3V3" in net:
>>>           signal_list.append(net)
>>> power_list = ["PGND"]
>>> edb.create_cutout_multithread(signal_list=signal_list, reference_list=power_list, extent_type="Conforming")
>>> end_time = str((time.time() - start) / 60)
>>> edb.logger.info("Total legacy cutout time in min %s", end_time)
>>> edb.nets.plot(signal_list, None, color_by_net=True)
>>> edb.nets.plot(power_list, None, color_by_net=True)
>>> edb.save_edb()
>>> edb.close_edb()
Edb.get_conformal_polygon_from_netlist(netlist=None)#

Return an EDB conformal polygon based on a netlist.

Parameters:
netlistList of net names.

list[str]

Returns:
Edb.Cell.Primitive.Polygon

Edb polygon object.

Edb.number_with_units(value, units=None)#

Convert a number to a string with units. If value is a string, it’s returned as is.

Parameters:
valuefloat, int, str

Input number or string.

unitsoptional

Units for formatting. The default is None, which uses "meter".

Returns:
str

String concatenating the value and unit.

Edb.create_cutout_on_point_list(point_list, units='mm', output_aedb_path=None, open_cutout_at_end=True, nets_to_include=None, include_partial_instances=False, keep_voids=True)#

Create a cutout on a specified shape and save it to a new AEDB file.

Deprecated since version 0.6.58: Use new method cutout() instead.

Parameters:
point_listlist

Points list defining the cutout shape.

unitsstr

Units of the point list. The default is "mm".

output_aedb_pathstr, optional

Full path and name for the new AEDB file. The aedb folder shall not exist otherwise the method will return False.

open_cutout_at_endbool, optional

Whether to open the cutout at the end. The default is True.

nets_to_includelist, optional

List of nets to include in the cutout. The default is None, in which case all nets are included.

include_partial_instancesbool, optional

Whether to include padstack instances that have bounding boxes intersecting with point list polygons. This operation may slow down the cutout export.

keep_voidsbool

Boolean used for keep or not the voids intersecting the polygon used for clipping the layout. Default value is True, False will remove the voids.

Returns:
bool

True when successful, False when failed.

Edb.write_export3d_option_config_file(path_to_output, config_dictionaries=None)#

Write the options for a 3D export to a configuration file.

Parameters:
path_to_outputstr

Full path to the configuration file to save 3D export options to.

config_dictionariesdict, optional

Configuration dictionaries. The default is None.

Edb.export_hfss(path_to_output, net_list=None, num_cores=None, aedt_file_name=None, hidden=False)#

Export EDB to HFSS.

Parameters:
path_to_outputstr

Full path and name for saving the AEDT file.

net_listlist, optional

List of nets to export if only certain ones are to be exported. The default is None, in which case all nets are eported.

num_coresint, optional

Number of cores to use for the export. The default is None.

aedt_file_namestr, optional

Name of the AEDT output file without the .aedt extension. The default is None, in which case the default name is used.

hiddenbool, optional

Open Siwave in embedding mode. User will only see Siwave Icon but UI will be hidden.

Returns:
str

Full path to the AEDT file.

Examples

>>> from pyedb import Edb
>>> edb = Edb(edbpath="C:\temp\myproject.aedb", version="2023.2")
>>> options_config = {"UNITE_NETS": 1, "LAUNCH_Q3D": 0}
>>> edb.write_export3d_option_config_file(r"C:\temp", options_config)
>>> edb.export_hfss(r"C:\temp")
Edb.export_q3d(path_to_output, net_list=None, num_cores=None, aedt_file_name=None, hidden=False)#

Export EDB to Q3D.

Parameters:
path_to_outputstr

Full path and name for saving the AEDT file.

net_listlist, optional

List of nets to export only if certain ones are to be exported. The default is None, in which case all nets are eported.

num_coresint, optional

Number of cores to use for the export. The default is None.

aedt_file_namestr, optional

Name of the AEDT output file without the .aedt extension. The default is None, in which case the default name is used.

hiddenbool, optional

Open Siwave in embedding mode. User will only see Siwave Icon but UI will be hidden.

Returns:
str

Full path to the AEDT file.

Examples

>>> from pyedb import Edb
>>> edb = Edb(edbpath="C:\temp\myproject.aedb", version="2021.2")
>>> options_config = {"UNITE_NETS": 1, "LAUNCH_Q3D": 0}
>>> edb.write_export3d_option_config_file("C:\temp", options_config)
>>> edb.export_q3d("C:\temp")
Edb.export_maxwell(path_to_output, net_list=None, num_cores=None, aedt_file_name=None, hidden=False)#

Export EDB to Maxwell 3D.

Parameters:
path_to_outputstr

Full path and name for saving the AEDT file.

net_listlist, optional

List of nets to export only if certain ones are to be exported. The default is None, in which case all nets are exported.

num_coresint, optional

Number of cores to use for the export. The default is None.

aedt_file_namestr, optional

Name of the AEDT output file without the .aedt extension. The default is None, in which case the default name is used.

hiddenbool, optional

Open Siwave in embedding mode. User will only see Siwave Icon but UI will be hidden.

Returns:
str

Full path to the AEDT file.

Examples

>>> from pyedb import Edb
>>> edb = Edb(edbpath="C:\temp\myproject.aedb", version="2021.2")
>>> options_config = {"UNITE_NETS": 1, "LAUNCH_Q3D": 0}
>>> edb.write_export3d_option_config_file("C:\temp", options_config)
>>> edb.export_maxwell("C:\temp")
Edb.solve_siwave()#

Close EDB and solve it with Siwave.

Returns:
str

Siwave project path.

Edb.export_siwave_dc_results(siwave_project, solution_name, output_folder=None, html_report=True, vias=True, voltage_probes=True, current_sources=True, voltage_sources=True, power_tree=True, loop_res=True)#

Close EDB and solve it with Siwave.

Parameters:
siwave_projectstr

Siwave full project name.

solution_namestr

Siwave DC Analysis name.

output_folderstr, optional

Ouptu folder where files will be downloaded.

html_reportbool, optional

Either if generate or not html report. Default is True.

viasbool, optional

Either if generate or not vias report. Default is True.

voltage_probesbool, optional

Either if generate or not voltage probe report. Default is True.

current_sourcesbool, optional

Either if generate or not current source report. Default is True.

voltage_sourcesbool, optional

Either if generate or not voltage source report. Default is True.

power_treebool, optional

Either if generate or not power tree image. Default is True.

loop_resbool, optional

Either if generate or not loop resistance report. Default is True.

Returns:
list

List of files generated.

Edb.variable_exists(variable_name)#

Check if a variable exists or not.

Returns:
tuple of bool and VariableServer

It returns a booleand to check if the variable exists and the variable server that should contain the variable.

Edb.get_all_variable_names()#

Method added for compatibility with grpc.

Returns:
List[Str]

List of variables name.

Edb.get_variable(variable_name)#

Return Variable Value if variable exists.

Parameters:
variable_name
Returns:
pyedb.dotnet.database.edb_data.edbvalue.EdbValue
Edb.add_project_variable(variable_name, variable_value, description='')#

Add a variable to edb database (project). The variable will have the prefix $.

..note::

User can use also the setitem to create or assign a variable. See example below.

Parameters:
variable_namestr

Name of the variable. Name can be provided without $ prefix.

variable_valuestr, float

Value of the variable with units.

descriptionstr, optional

Description of the variable.

Returns:
tuple

Tuple containing the AddVariable result and variable server.

Examples

>>> from pyedb import Edb
>>> edb_app = Edb()
>>> boolean_1, ant_length = edb_app.add_project_variable("my_local_variable", "1cm")
>>> print(edb_app["$my_local_variable"])  # using getitem
>>> edb_app["$my_local_variable"] = "1cm"  # using setitem
Edb.add_design_variable(variable_name, variable_value, is_parameter=False, description='')#

Add a variable to edb. The variable can be a design one or a project variable (using $ prefix).

..note::

User can use also the setitem to create or assign a variable. See example below.

Parameters:
variable_namestr

Name of the variable. To added the variable as a project variable, the name must begin with $.

variable_valuestr, float

Value of the variable with units.

is_parameterbool, optional

Whether to add the variable as a local variable. The default is False. When True, the variable is added as a parameter default.

descriptionstr, optional

Description of the variable.

Returns
——-
tuple

Tuple containing the AddVariable result and variable server.

Examples

>>> from pyedb import Edb
>>> edb_app = Edb()
>>> boolean_1, ant_length = edb_app.add_design_variable("my_local_variable", "1cm")
>>> print(edb_app["my_local_variable"])  # using getitem
>>> edb_app["my_local_variable"] = "1cm"  # using setitem
>>> boolean_2, para_length = edb_app.change_design_variable_value("my_parameter", "1m", is_parameter=True
>>> boolean_3, project_length = edb_app.change_design_variable_value("$my_project_variable", "1m")
Edb.change_design_variable_value(variable_name, variable_value)#

Change a variable value.

..note::

User can use also the getitem to read the variable value. See example below.

Parameters:
variable_namestr

Name of the variable.

variable_valuestr, float

Value of the variable with units.

Returns:
tuple

Tuple containing the SetVariableValue result and variable server.

Examples

>>> from pyedb import Edb
>>> edb_app = Edb()
>>> boolean, ant_length = edb_app.add_design_variable("ant_length", "1cm")
>>> boolean, ant_length = edb_app.change_design_variable_value("ant_length", "1m")
>>> print(edb_app["ant_length"])  # using getitem
Edb.get_bounding_box()#

Get the layout bounding box.

Returns:
list of list of double

Bounding box as a [lower-left X, lower-left Y], [upper-right X, upper-right Y]) pair in meters.

Edb.build_simulation_project(simulation_setup: pyedb.dotnet.database.edb_data.simulation_configuration.SimulationConfiguration) bool#

Build a ready-to-solve simulation project.

Parameters:
simulation_setuppyedb.dotnet.database.edb_data.simulation_configuration.SimulationConfiguration.

SimulationConfiguration object that can be instantiated or directly loaded with a configuration file.

Returns:
bool

True when successful, False when Failed.

Examples

>>> from pyedb import Edb
>>> from pyedb.dotnet.database.edb_data.simulation_configuration import SimulationConfiguration
>>> config_file = path_configuration_file
>>> source_file = path_to_edb_folder
>>> edb = Edb(source_file)
>>> sim_setup = SimulationConfiguration(config_file)
>>> edb.build_simulation_project(sim_setup)
>>> edb.save_edb()
>>> edb.close_edb()
Edb.get_statistics(compute_area=False)#

Get the EDBStatistics object.

Returns:
EDBStatistics object from the loaded layout.
Edb.are_port_reference_terminals_connected(common_reference=None)#

Check if all terminal references in design are connected. If the reference nets are different, there is no hope for the terminal references to be connected. After we have identified a common reference net we need to loop the terminals again to get the correct reference terminals that uses that net.

Parameters:
common_referencestr, optional

Common Reference name. If None it will be searched in ports terminal. If a string is passed then all excitations must have such reference assigned.

Returns:
bool

Either if the ports are connected to reference_name or not.

Examples

>>> from pyedb import Edb
>>>edb = Edb()
>>> edb.hfss.create_edge_port_vertical(prim_1_id, ["-66mm", "-4mm"], "port_ver")
>>> edb.hfss.create_edge_port_horizontal(
>>> ... prim_1_id, ["-60mm", "-4mm"], prim_2_id, ["-59mm", "-4mm"], "port_hori", 30, "Lower"
>>> ... )
>>> edb.hfss.create_wave_port(traces[0].id, trace_paths[0][0], "wave_port")
>>> edb.cutout(["Net1"])
>>> assert edb.are_port_reference_terminals_connected()
Edb.new_simulation_configuration(filename: str = None) pyedb.dotnet.database.edb_data.simulation_configuration.SimulationConfiguration#

New SimulationConfiguration Object.

Parameters:
filenamestr, optional

Input config file.

Returns:
legacy.database.edb_data.simulation_configuration.SimulationConfiguration
Edb.create_hfss_setup(name=None)#

Create an HFSS simulation setup from a template.

Parameters:
namestr, optional

Setup name.

Returns:
legacy.database.edb_data.hfss_simulation_setup_data.HfssSimulationSetup

Examples

>>> from pyedb import Edb
>>> edbapp = Edb()
>>> setup1 = edbapp.create_hfss_setup("setup1")
>>> setup1.hfss_port_settings.max_delta_z0 = 0.5
Edb.create_raptorx_setup(name=None)#

Create an RaptorX simulation setup from a template.

Parameters:
namestr, optional

Setup name.

Returns:
legacy.database.edb_data.raptor_x_simulation_setup_data.RaptorXSimulationSetup
Edb.create_hfsspi_setup(name=None)#

Create an HFSS PI simulation setup from a template.

Parameters:
namestr, optional

Setup name.

Returns:
legacy.database.edb_data.hfss_pi_simulation_setup_data.HFSSPISimulationSetup when succeeded, ``False`
when failed.
Edb.create_siwave_syz_setup(name=None, **kwargs)#

Create a setup from a template.

Parameters:
namestr, optional

Setup name.

Returns:
pyedb.dotnet.database.edb_data.siwave_simulation_setup_data.SiwaveSYZSimulationSetup

Examples

>>> from pyedb import Edb
>>> edbapp = Edb()
>>> setup1 = edbapp.create_siwave_syz_setup("setup1")
>>> setup1.add_frequency_sweep(
...     frequency_sweep=[
...         ["linear count", "0", "1kHz", 1],
...         ["log scale", "1kHz", "0.1GHz", 10],
...         ["linear scale", "0.1GHz", "10GHz", "0.1GHz"],
...     ]
... )
Edb.create_siwave_dc_setup(name=None, **kwargs)#

Create a setup from a template.

Parameters:
namestr, optional

Setup name.

Returns:
legacy.database.edb_data.siwave_simulation_setup_data.SiwaveSYZSimulationSetup

Examples

>>> from pyedb import Edb
>>> edbapp = Edb()
>>> setup1 = edbapp.create_siwave_dc_setup("setup1")
>>> setup1.mesh_bondwires = True
Edb.calculate_initial_extent(expansion_factor)#

Compute a float representing the larger number between the dielectric thickness or trace width multiplied by the nW factor. The trace width search is limited to nets with ports attached.

Parameters:
expansion_factorfloat

Value for the width multiplier (nW factor).

Returns:
float
Edb.copy_zones(working_directory=None)#

Copy multizone EDB project to one new edb per zone.

Parameters:
working_directorystr

Directory path where all EDB project are copied, if empty will use the current EDB project.

Returns:
dict[str](int, EDB PolygonData)
Return a dictionary with edb path as key and tuple Zone Id as first item and EDB polygon Data defining
the region as second item.
Edb.cutout_multizone_layout(zone_dict, common_reference_net=None)#

Create a multizone project cutout.

Parameters:
zone_dictdict[str](EDB PolygonData)

Dictionary with EDB path as key and EDB PolygonData as value defining the zone region. This dictionary is returned from the command copy_zones(): >>> edb = Edb(edb_file) >>> zone_dict = edb.copy_zones(“C:/Temp/test”)

common_reference_netstr

the common reference net name. This net name must be provided to provide a valid project.

Returns:
dict[str][str] , list of str
first dictionary defined_ports with edb name as key and existing port name list as value. Those ports are the
ones defined before processing the multizone clipping.
second is the list of connected port.
Edb.create_port(terminal, ref_terminal=None, is_circuit_port=False, name=None)#

Create a port.

Parameters:
terminalclass:pyedb.dotnet.database.edb_data.terminals.EdgeTerminal,

class:pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, class:pyedb.dotnet.database.edb_data.terminals.PointTerminal, class:pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal, Positive terminal of the port.

ref_terminalclass:pyedb.dotnet.database.edb_data.terminals.EdgeTerminal,

class:pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, class:pyedb.dotnet.database.edb_data.terminals.PointTerminal, class:pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal, optional Negative terminal of the port.

is_circuit_portbool, optional

Whether it is a circuit port. The default is False.

name: str, optional

Name of the created port. The default is None, a random name is generated.

Returns
——-
list: [:class:`pyedb.dotnet.database.edb_data.ports.GapPort`,

pyedb.dotnet.database.edb_data.ports.WavePort,].

Edb.create_voltage_probe(terminal, ref_terminal)#

Create a voltage probe.

Parameters:
terminalpyedb.dotnet.database.edb_data.terminals.EdgeTerminal,

pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, pyedb.dotnet.database.edb_data.terminals.PointTerminal, pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal, Positive terminal of the port.

ref_terminalpyedb.dotnet.database.edb_data.terminals.EdgeTerminal,

pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, pyedb.dotnet.database.edb_data.terminals.PointTerminal, pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal, Negative terminal of the probe.

Returns:
pyedb.dotnet.database.edb_data.terminals.Terminal
Edb.create_voltage_source(terminal, ref_terminal)#

Create a voltage source.

Parameters:
terminalpyedb.dotnet.database.edb_data.terminals.EdgeTerminal, pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, pyedb.dotnet.database.edb_data.terminals.PointTerminal, pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal

Positive terminal of the port.

ref_terminalclass:pyedb.dotnet.database.edb_data.terminals.EdgeTerminal, pyedb.dotnet.database.edb_data.terminals.PadstackInstanceTerminal, pyedb.dotnet.database.edb_data.terminals.PointTerminal, pyedb.dotnet.database.edb_data.terminals.PinGroupTerminal

Negative terminal of the source.

Returns:
class:legacy.database.edb_data.ports.ExcitationSources
Edb.create_current_source(terminal, ref_terminal)#

Create a current source.

Parameters:
terminallegacy.database.edb_data.terminals.EdgeTerminal,

legacy.database.edb_data.terminals.PadstackInstanceTerminal, legacy.database.edb_data.terminals.PointTerminal, legacy.database.edb_data.terminals.PinGroupTerminal, Positive terminal of the port.

ref_terminalclass:legacy.database.edb_data.terminals.EdgeTerminal,

legacy.database.edb_data.terminals.PadstackInstanceTerminal, legacy.database.edb_data.terminals.PointTerminal, legacy.database.edb_data.terminals.PinGroupTerminal, Negative terminal of the source.

Returns:
legacy.edb_core.edb_data.ports.ExcitationSources
Edb.get_point_terminal(name, net_name, location, layer)#

Place a voltage probe between two points.

Parameters:
namestr,

Name of the terminal.

net_namestr

Name of the net.

locationlist

Location of the terminal.

layerstr,

Layer of the terminal.

Returns:
legacy.edb_core.edb_data.terminals.PointTerminal
Edb.auto_parametrize_design(layers=True, materials=True, via_holes=True, pads=True, antipads=True, traces=True, layer_filter=None, material_filter=None, padstack_definition_filter=None, trace_net_filter=None, use_single_variable_for_padstack_definitions=True, use_relative_variables=True, output_aedb_path=None, open_aedb_at_end=True, expand_polygons_size=0, expand_voids_size=0, via_offset=True)#

Assign automatically design and project variables with current values.

Parameters:
layersbool, optional

Enable layer thickness parametrization. Default value is True.

materialsbool, optional

Enable material parametrization. Default value is True.

via_holesbool, optional

Enable via diameter parametrization. Default value is True.

padsbool, optional

Enable pads size parametrization. Default value is True.

antipadsbool, optional

Enable anti pads size parametrization. Default value is True.

tracesbool, optional

Enable trace width parametrization. Default value is True.

layer_filterstr, List(str), optional

Enable layer filter. Default value is None, all layers are parametrized.

material_filterstr, List(str), optional

Enable material filter. Default value is None, all material are parametrized.

padstack_definition_filterstr, List(str), optional

Enable padstack definition filter. Default value is None, all padsatcks are parametrized.

trace_net_filterstr, List(str), optional

Enable nets filter for trace width parametrization. Default value is None, all layers are parametrized.

use_single_variable_for_padstack_definitionsbool, optional

Whether to use a single design variable for each padstack definition or a variable per pad layer. Default value is True.

use_relative_variablesbool, optional

Whether if use an absolute variable for each trace, padstacks and layers or a delta variable instead. Default value is True.

output_aedb_pathstr, optional

Full path and name for the new AEDB file. If None, then current aedb will be cutout.

open_aedb_at_endbool, optional

Whether to open the cutout at the end. The default is True.

expand_polygons_sizefloat, optional

Expansion size on polygons. Polygons will be expanded in all directions. The default is 0.

expand_voids_sizefloat, optional

Expansion size on polygon voids. Polygons voids will be expanded in all directions. The default is 0.

via_offsetbool, optional

Whether if offset the via position or not. The default is True.

Returns:
List(str)

List of all parameters name created.

Edb.create_model_for_arbitrary_wave_ports(temp_directory, mounting_side='top', signal_nets=None, terminal_diameter=None, output_edb=None, launching_box_thickness='100um')#

Generate EDB design to be consumed by PyAEDT to generate arbitrary wave ports shapes. This model has to be considered as merged onto another one. The current opened design must have voids surrounding the pad-stacks where wave ports terminal will be created. THe open design won’t be edited, only primitives like voids and pads-stack definition included in the voids are collected to generate a new design.

Parameters:
temp_directorystr

Temporary directory used during the method execution.

mounting_sidestr

Gives the orientation to be considered for the current design. 2 options are available "top" and "bottom". Default value is ``"top". If "top" is selected the method will voids at the top signal layer, and the bottom layer if "bottom" is used.

signal_netsList[str], optional

Provides the nets to be included for the model creation. Default value is None. If None is provided, all nets will be included.

terminal_diameterfloat, str, optional

When None, the terminal diameter is evaluated at each pads-tack instance found inside the voids. The top or bottom layer pad diameter will be taken, depending on mounting_side selected. If value is provided, it will overwrite the evaluated diameter.

output_edbstr, optional

The output EDB absolute. If None the edb is created in the temp_directory as default name “waveport_model.aedb”`

launching_box_thicknessfloat, str, optional

Launching box thickness used for wave ports. Default value is "100um".

Returns:
bool

True when succeeded, False if failed.

Edb.export_gds_comp_xml(comps_to_export, gds_comps_unit='mm', control_path=None)#

Exports an XML file with selected components information for use in a GDS import.

Parameters:
comps_to_exportlist

List of components whose information will be exported to xml file.

gds_comps_unitstr, optional

GDS_COMPONENTS section units. Default is "mm".

control_pathstr, optional

Path for outputting the XML file.

Returns:
bool

True when successful, False when failed.

Edb.get_variable_value(variable_name)#

Added to get closer architecture as for grpc.

Edb.compare(input_file, results='')#

Compares current open database with another one.

Warning

Do not execute this function with untrusted function argument, environment variables or pyedb global settings. See the security guide for details.

Parameters:
input_filestr

Path to the edb file.

results: str, optional

Path to directory in which results will be saved. If no path is given, a new “_compare_results” directory will be created with the same naming and path as the .aedb folder.

Returns
——-
bool

True when successful, False when failed.

Classes#

Boundaries

Boundaries Enumerator.