pyedb 0.22.1__tar.gz → 0.23.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of pyedb might be problematic. Click here for more details.
- {pyedb-0.22.1 → pyedb-0.23.0}/PKG-INFO +2 -2
- {pyedb-0.22.1 → pyedb-0.23.0}/pyproject.toml +1 -1
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/__init__.py +1 -1
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_components.py +1 -1
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_ports_sources.py +3 -3
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/configuration.py +2 -2
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb.py +20 -23
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/component.py +1 -1
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/terminal.py +1 -1
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/components.py +14 -13
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/padstacks_data.py +2 -14
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +0 -18
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/hfss.py +1 -1
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/materials.py +1 -1
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/modeler.py +1 -1
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/nets.py +3 -3
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/padstack.py +4 -4
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/siwave.py +1 -1
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/stackup.py +61 -84
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/step.py +1 -1
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ipc2581.py +2 -2
- {pyedb-0.22.1 → pyedb-0.23.0}/LICENSE +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/README.md +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/component_libraries/ansys_components.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_boundaries.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_common.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_data.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_general.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_nets.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_operations.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_package_definition.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_padstacks.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_pin_groups.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_s_parameter_models.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_setup.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_spice_models.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/configuration/cfg_stackup.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/application/Variables.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/application/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/clr_module.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/connectable.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/model.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/netlist_model.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/pin_pair_model.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/s_parameter_model.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/spice_model.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/layout.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/layout_obj.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/primitive.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/bundle_terminal.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/edge_terminal.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/padstack_instance_terminal.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/pingroup_terminal.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/terminal/point_terminal.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/cell/voltage_regulator.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/component_def.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/component_model.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/definition_obj.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/definitions.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/definition/package_def.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/dotnet/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/dotnet/database.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/dotnet/primitive.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/control_file.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/design_options.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/edbvalue.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/layer_data.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/nets_data.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/ports.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/primitives_data.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/sources.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/utilities.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/variables.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/general.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/geometry/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/geometry/point_data.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/geometry/polygon_data.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/layout_obj_instance.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/layout_validation.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/net_class.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/adaptive_frequency_data.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/mesh_operation.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/settings.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/sim_setup_info.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/simulation_settings.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/siw_dc_ir_settings.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/sweep_data.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/io/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/sim_setup_data/io/siwave.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/heatsink.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/hfss_simulation_setup.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/obj_base.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/simulation_setup.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/utilities/siwave_simulation_setup.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/edb_logger.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/exceptions.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/constants.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/data_handlers.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/design_types.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/filesystem.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/general_methods.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/plot.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/process.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/generic/settings.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/bom/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/bom/bom.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/bom/refdes.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/color.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/content.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/entry_color.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/entry_line.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/fill.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/feature.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/outline.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/package.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/profile.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/ecad/spec.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/history_record.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/ipc2581/logistic_header.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/aedtlib_personalib_install.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/downloads.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/misc.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/net.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/pins.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/misc/utilities.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/modeler/geometry_operators.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/siwave.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/siwave_core/icepak.py +0 -0
- {pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: pyedb
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.23.0
|
|
4
4
|
Summary: Higher-Level Pythonic Ansys Electronics Data Base
|
|
5
5
|
Author-email: "ANSYS, Inc." <pyansys.core@ansys.com>
|
|
6
6
|
Maintainer-email: PyEDB developers <simon.vandenbrouck@ansys.com>
|
|
@@ -45,7 +45,7 @@ Requires-Dist: sphinx_design>=0.4.0,<0.7 ; extra == "doc"
|
|
|
45
45
|
Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "full"
|
|
46
46
|
Requires-Dist: matplotlib>=3.5.0,<3.10 ; extra == "tests"
|
|
47
47
|
Requires-Dist: mock>=5.1.0,<5.2 ; extra == "tests"
|
|
48
|
-
Requires-Dist: pytest>=7.4.0,<8.
|
|
48
|
+
Requires-Dist: pytest>=7.4.0,<8.4 ; extra == "tests"
|
|
49
49
|
Requires-Dist: pytest-cov>=4.0.0,<5.1 ; extra == "tests"
|
|
50
50
|
Requires-Dist: pytest-xdist>=3.5.0,<3.7 ; extra == "tests"
|
|
51
51
|
Requires-Dist: scikit-rf ; extra == "tests"
|
|
@@ -155,7 +155,7 @@ class CfgComponents:
|
|
|
155
155
|
def _load_data_from_db(self):
|
|
156
156
|
self.components = []
|
|
157
157
|
comps_in_db = self._pedb.components
|
|
158
|
-
for _, comp in comps_in_db.
|
|
158
|
+
for _, comp in comps_in_db.instances.items():
|
|
159
159
|
cfg_comp = CfgComponent(
|
|
160
160
|
enabled=comp.enabled,
|
|
161
161
|
reference_designator=comp.name,
|
|
@@ -228,7 +228,7 @@ class CfgCircuitElement(CfgBase):
|
|
|
228
228
|
neg_obj = self._create_pin_group(pins)
|
|
229
229
|
pos_objs.update(neg_obj)
|
|
230
230
|
elif pos_type == "pin":
|
|
231
|
-
pins = {pos_value: self._pedb.components.
|
|
231
|
+
pins = {pos_value: self._pedb.components.instances[self.reference_designator].pins[pos_value]}
|
|
232
232
|
pos_objs.update(pins)
|
|
233
233
|
else:
|
|
234
234
|
raise f"Wrong positive terminal type {pos_type}"
|
|
@@ -263,7 +263,7 @@ class CfgCircuitElement(CfgBase):
|
|
|
263
263
|
# create pin group
|
|
264
264
|
neg_obj = self._create_pin_group(pins, True)
|
|
265
265
|
elif neg_type == "pin":
|
|
266
|
-
neg_obj = {neg_value: self._pedb.components.
|
|
266
|
+
neg_obj = {neg_value: self._pedb.components.instances[self.reference_designator].pins[neg_value]}
|
|
267
267
|
else:
|
|
268
268
|
raise f"Wrong negative terminal type {neg_type}"
|
|
269
269
|
self.neg_terminal = [
|
|
@@ -274,7 +274,7 @@ class CfgCircuitElement(CfgBase):
|
|
|
274
274
|
terminal_value = terminal_value if isinstance(terminal_value, list) else [terminal_value]
|
|
275
275
|
|
|
276
276
|
def get_pin_obj(pin_name):
|
|
277
|
-
return {pin_name: self._pedb.components.
|
|
277
|
+
return {pin_name: self._pedb.components.instances[self.reference_designator].pins[pin_name]}
|
|
278
278
|
|
|
279
279
|
pins = dict()
|
|
280
280
|
if terminal_type == "pin":
|
|
@@ -35,7 +35,7 @@ class Configuration:
|
|
|
35
35
|
|
|
36
36
|
def __init__(self, pedb):
|
|
37
37
|
self._pedb = pedb
|
|
38
|
-
self._components = self._pedb.components.
|
|
38
|
+
self._components = self._pedb.components.instances
|
|
39
39
|
self.data = {}
|
|
40
40
|
self._s_parameter_library = ""
|
|
41
41
|
self._spice_model_library = ""
|
|
@@ -210,7 +210,7 @@ class Configuration:
|
|
|
210
210
|
|
|
211
211
|
def _load_package_def(self):
|
|
212
212
|
"""Imports package definition information from JSON."""
|
|
213
|
-
comps = self._pedb.components.
|
|
213
|
+
comps = self._pedb.components.instances
|
|
214
214
|
for pkgd in self.data["package_definitions"]:
|
|
215
215
|
name = pkgd["name"]
|
|
216
216
|
if name in self._pedb.definitions.package:
|
|
@@ -2396,7 +2396,7 @@ class Edb(Database):
|
|
|
2396
2396
|
self.logger.reset_timer()
|
|
2397
2397
|
|
|
2398
2398
|
i = 0
|
|
2399
|
-
for _, val in self.components.
|
|
2399
|
+
for _, val in self.components.instances.items():
|
|
2400
2400
|
if val.numpins == 0:
|
|
2401
2401
|
val.edbcomponent.Delete()
|
|
2402
2402
|
i += 1
|
|
@@ -2580,28 +2580,6 @@ class Edb(Database):
|
|
|
2580
2580
|
else:
|
|
2581
2581
|
return "{0}{1}".format(value, units)
|
|
2582
2582
|
|
|
2583
|
-
def arg_with_dim(self, Value, sUnits):
|
|
2584
|
-
"""Convert a number to a string with units. If value is a string, it's returned as is.
|
|
2585
|
-
|
|
2586
|
-
.. deprecated:: 0.6.56
|
|
2587
|
-
Use :func:`number_with_units` property instead.
|
|
2588
|
-
|
|
2589
|
-
Parameters
|
|
2590
|
-
----------
|
|
2591
|
-
Value : float, int, str
|
|
2592
|
-
Input number or string.
|
|
2593
|
-
sUnits : optional
|
|
2594
|
-
Units for formatting. The default is ``None``, which uses ``"meter"``.
|
|
2595
|
-
|
|
2596
|
-
Returns
|
|
2597
|
-
-------
|
|
2598
|
-
str
|
|
2599
|
-
String concatenating the value and unit.
|
|
2600
|
-
|
|
2601
|
-
"""
|
|
2602
|
-
warnings.warn("Use :func:`number_with_units` instead.", DeprecationWarning)
|
|
2603
|
-
return self.number_with_units(Value, sUnits)
|
|
2604
|
-
|
|
2605
2583
|
def _decompose_variable_value(self, value, unit_system=None):
|
|
2606
2584
|
val, units = decompose_variable_value(value)
|
|
2607
2585
|
if units and unit_system and units in AEDT_UNITS[unit_system]:
|
|
@@ -4128,6 +4106,7 @@ class Edb(Database):
|
|
|
4128
4106
|
open_aedb_at_end=True,
|
|
4129
4107
|
expand_polygons_size=0,
|
|
4130
4108
|
expand_voids_size=0,
|
|
4109
|
+
via_offset=True,
|
|
4131
4110
|
):
|
|
4132
4111
|
"""Assign automatically design and project variables with current values.
|
|
4133
4112
|
|
|
@@ -4163,6 +4142,12 @@ class Edb(Database):
|
|
|
4163
4142
|
Full path and name for the new AEDB file. If None, then current aedb will be cutout.
|
|
4164
4143
|
open_aedb_at_end : bool, optional
|
|
4165
4144
|
Whether to open the cutout at the end. The default is ``True``.
|
|
4145
|
+
expand_polygons_size : float, optional
|
|
4146
|
+
Expansion size on polygons. Polygons will be expanded in all directions. The default is ``0``.
|
|
4147
|
+
expand_voids_size : float, optional
|
|
4148
|
+
Expansion size on polygon voids. Polygons voids will be expanded in all directions. The default is ``0``.
|
|
4149
|
+
via_offset : bool, optional
|
|
4150
|
+
Whether if offset the via position or not. The default is ``True``.
|
|
4166
4151
|
|
|
4167
4152
|
Returns
|
|
4168
4153
|
-------
|
|
@@ -4326,6 +4311,18 @@ class Edb(Database):
|
|
|
4326
4311
|
antipad.parameters = {"XSize": var, "YSize": var2}
|
|
4327
4312
|
parameters.append(val)
|
|
4328
4313
|
parameters.append(val2)
|
|
4314
|
+
|
|
4315
|
+
if via_offset:
|
|
4316
|
+
var_x = "via_offset_x"
|
|
4317
|
+
if var_x not in self.variables:
|
|
4318
|
+
self.add_design_variable(var_x, 0.0)
|
|
4319
|
+
var_y = "via_offset_y"
|
|
4320
|
+
if var_y not in self.variables:
|
|
4321
|
+
self.add_design_variable(var_y, 0.0)
|
|
4322
|
+
for via in self.padstacks.instances.values():
|
|
4323
|
+
if not via.is_pin and (not trace_net_filter or (trace_net_filter and via.net_name in trace_net_filter)):
|
|
4324
|
+
via.position = [f"{via.position[0]}+via_offset_x", f"{via.position[1]}+via_offset_y"]
|
|
4325
|
+
|
|
4329
4326
|
if expand_polygons_size:
|
|
4330
4327
|
for poly in self.modeler.polygons:
|
|
4331
4328
|
if not poly.is_void:
|
|
@@ -958,7 +958,7 @@ class EDBComponent(Group):
|
|
|
958
958
|
opening.append(bounding_box[3] + extra_soldermask_clearance)
|
|
959
959
|
|
|
960
960
|
comp_layer = self.placement_layer
|
|
961
|
-
layer_names = list(self._pedb.stackup.
|
|
961
|
+
layer_names = list(self._pedb.stackup.layers.keys())
|
|
962
962
|
layer_index = layer_names.index(comp_layer)
|
|
963
963
|
if comp_layer in [layer_names[0] + layer_names[-1]]:
|
|
964
964
|
return False
|
|
@@ -418,7 +418,7 @@ class Terminal(Connectable):
|
|
|
418
418
|
if gnd_net is not None:
|
|
419
419
|
power_ground_net_names = [gnd_net]
|
|
420
420
|
else:
|
|
421
|
-
power_ground_net_names = [net for net in self._pedb.nets.
|
|
421
|
+
power_ground_net_names = [net for net in self._pedb.nets.power.keys()]
|
|
422
422
|
comp_ref_pins = [i for i in pin_list if i.GetNet().GetName() in power_ground_net_names]
|
|
423
423
|
if len(comp_ref_pins) == 0: # pragma: no cover
|
|
424
424
|
self._pedb.logger.error(
|
|
@@ -133,7 +133,7 @@ class Components(object):
|
|
|
133
133
|
return self._pedb.edb_api
|
|
134
134
|
|
|
135
135
|
def _init_parts(self):
|
|
136
|
-
a = self.
|
|
136
|
+
a = self.instances
|
|
137
137
|
a = self.resistors
|
|
138
138
|
a = self.ICs
|
|
139
139
|
a = self.Others
|
|
@@ -202,7 +202,7 @@ class Components(object):
|
|
|
202
202
|
|
|
203
203
|
>>> from pyedb import Edb
|
|
204
204
|
>>> edbapp = Edb("myaedbfolder")
|
|
205
|
-
>>> edbapp.components.
|
|
205
|
+
>>> edbapp.components.instances
|
|
206
206
|
|
|
207
207
|
"""
|
|
208
208
|
if not self._cmp:
|
|
@@ -980,12 +980,7 @@ class Components(object):
|
|
|
980
980
|
"""
|
|
981
981
|
if isinstance(component, str):
|
|
982
982
|
component = self.instances[component].edbcomponent
|
|
983
|
-
|
|
984
|
-
solder_balls_height = self.instances[component.GetName()].solder_ball_height
|
|
985
|
-
if not solder_balls_size:
|
|
986
|
-
solder_balls_size = self.instances[component.GetName()].solder_ball_diameter[0]
|
|
987
|
-
if not solder_balls_mid_size:
|
|
988
|
-
solder_balls_mid_size = self.instances[component.GetName()].solder_ball_diameter[1]
|
|
983
|
+
|
|
989
984
|
if not isinstance(net_list, list):
|
|
990
985
|
net_list = [net_list]
|
|
991
986
|
for net in net_list:
|
|
@@ -1011,6 +1006,12 @@ class Components(object):
|
|
|
1011
1006
|
return False
|
|
1012
1007
|
pin_layers = cmp_pins[0].GetPadstackDef().GetData().GetLayerNames()
|
|
1013
1008
|
if port_type == SourceType.CoaxPort:
|
|
1009
|
+
if not solder_balls_height:
|
|
1010
|
+
solder_balls_height = self.instances[component.GetName()].solder_ball_height
|
|
1011
|
+
if not solder_balls_size:
|
|
1012
|
+
solder_balls_size = self.instances[component.GetName()].solder_ball_diameter[0]
|
|
1013
|
+
if not solder_balls_mid_size:
|
|
1014
|
+
solder_balls_mid_size = self.instances[component.GetName()].solder_ball_diameter[1]
|
|
1014
1015
|
ref_pins = [
|
|
1015
1016
|
p
|
|
1016
1017
|
for p in list(component.LayoutObjs)
|
|
@@ -2256,7 +2257,7 @@ class Components(object):
|
|
|
2256
2257
|
self.set_component_rlc(new_refdes, ind_value=new_value)
|
|
2257
2258
|
unmount_comp_list.remove(new_refdes)
|
|
2258
2259
|
for comp in unmount_comp_list:
|
|
2259
|
-
self.
|
|
2260
|
+
self.instances[comp].is_enabled = False
|
|
2260
2261
|
return found
|
|
2261
2262
|
|
|
2262
2263
|
def import_bom(
|
|
@@ -2301,7 +2302,7 @@ class Components(object):
|
|
|
2301
2302
|
l = l.split(delimiter)
|
|
2302
2303
|
|
|
2303
2304
|
refdes = l[refdes_col]
|
|
2304
|
-
comp = self.
|
|
2305
|
+
comp = self.instances[refdes]
|
|
2305
2306
|
if not part_name_col == None:
|
|
2306
2307
|
part_name = l[part_name_col]
|
|
2307
2308
|
if comp.partname == part_name:
|
|
@@ -2323,7 +2324,7 @@ class Components(object):
|
|
|
2323
2324
|
|
|
2324
2325
|
self.create(pinlist, refdes, p_layer, part_name)
|
|
2325
2326
|
self.refresh_components()
|
|
2326
|
-
comp = self.
|
|
2327
|
+
comp = self.instances[refdes]
|
|
2327
2328
|
|
|
2328
2329
|
comp_type = l[comp_type_col]
|
|
2329
2330
|
if comp_type.capitalize() in ["Resistor", "Capacitor", "Inductor", "Other"]:
|
|
@@ -2346,7 +2347,7 @@ class Components(object):
|
|
|
2346
2347
|
elif comp_type == "Inductor":
|
|
2347
2348
|
self.set_component_rlc(refdes, ind_value=value)
|
|
2348
2349
|
for comp in unmount_comp_list:
|
|
2349
|
-
self.
|
|
2350
|
+
self.instances[comp].is_enabled = False
|
|
2350
2351
|
return True
|
|
2351
2352
|
|
|
2352
2353
|
def export_bom(self, bom_file, delimiter=","):
|
|
@@ -2707,7 +2708,7 @@ class Components(object):
|
|
|
2707
2708
|
>>> edbapp.components.short_component_pins("J4A2", ["G4", "9", "3"])
|
|
2708
2709
|
|
|
2709
2710
|
"""
|
|
2710
|
-
component = self.
|
|
2711
|
+
component = self.instances[component_name]
|
|
2711
2712
|
pins = component.pins
|
|
2712
2713
|
pins_list = []
|
|
2713
2714
|
|
|
@@ -726,9 +726,7 @@ class EDBPadstack(object):
|
|
|
726
726
|
-------
|
|
727
727
|
dict
|
|
728
728
|
"""
|
|
729
|
-
return {
|
|
730
|
-
id: via for id, via in self._ppadstack.padstack_instances.items() if via.padstack_definition == self.name
|
|
731
|
-
}
|
|
729
|
+
return {id: via for id, via in self._ppadstack.instances.items() if via.padstack_definition == self.name}
|
|
732
730
|
|
|
733
731
|
@property
|
|
734
732
|
def hole_range(self):
|
|
@@ -801,7 +799,7 @@ class EDBPadstack(object):
|
|
|
801
799
|
layer_names = [i for i in list(layers.keys())]
|
|
802
800
|
if convert_only_signal_vias:
|
|
803
801
|
signal_nets = [i for i in list(self._ppadstack._pedb.nets.signal_nets.keys())]
|
|
804
|
-
topl, topz, bottoml, bottomz = self._ppadstack._pedb.stackup.
|
|
802
|
+
topl, topz, bottoml, bottomz = self._ppadstack._pedb.stackup.limits(True)
|
|
805
803
|
if self.via_start_layer in layers:
|
|
806
804
|
start_elevation = layers[self.via_start_layer].lower_elevation
|
|
807
805
|
else:
|
|
@@ -1771,16 +1769,6 @@ class EDBPadstackInstance(Primitive):
|
|
|
1771
1769
|
self.position = [var_name + "X", var_name + "Y"]
|
|
1772
1770
|
return [var_name + "X", var_name + "Y"]
|
|
1773
1771
|
|
|
1774
|
-
def delete_padstack_instance(self):
|
|
1775
|
-
"""Delete this padstack instance.
|
|
1776
|
-
|
|
1777
|
-
.. deprecated:: 0.6.28
|
|
1778
|
-
Use :func:`delete` property instead.
|
|
1779
|
-
"""
|
|
1780
|
-
warnings.warn("`delete_padstack_instance` is deprecated. Use `delete` instead.", DeprecationWarning)
|
|
1781
|
-
self._edb_padstackinstance.Delete()
|
|
1782
|
-
return True
|
|
1783
|
-
|
|
1784
1772
|
def in_voids(self, net_name=None, layer_name=None):
|
|
1785
1773
|
"""Check if this padstack instance is in any void.
|
|
1786
1774
|
|
{pyedb-0.22.1 → pyedb-0.23.0}/src/pyedb/dotnet/edb_core/edb_data/simulation_configuration.py
RENAMED
|
@@ -2450,24 +2450,6 @@ class SimulationConfiguration(object):
|
|
|
2450
2450
|
self._dc_source_terms_to_ground[source_name] = node_to_ground
|
|
2451
2451
|
|
|
2452
2452
|
def _read_cfg(self): # pragma: no cover
|
|
2453
|
-
"""Configuration file reader.
|
|
2454
|
-
|
|
2455
|
-
.. deprecated:: 0.6.78
|
|
2456
|
-
Use :func:`import_json` instead.
|
|
2457
|
-
|
|
2458
|
-
Examples
|
|
2459
|
-
--------
|
|
2460
|
-
|
|
2461
|
-
>>> from pyedb import Edb
|
|
2462
|
-
>>> config_file = path_configuration_file
|
|
2463
|
-
>>> source_file = path_to_edb_folder
|
|
2464
|
-
>>> edb = Edb(source_file)
|
|
2465
|
-
>>> sim_setup = SimulationConfiguration(config_file)
|
|
2466
|
-
>>> edb.build_simulation_project(sim_setup)
|
|
2467
|
-
>>> edb.save_edb()
|
|
2468
|
-
>>> edb.close_edb()
|
|
2469
|
-
"""
|
|
2470
|
-
|
|
2471
2453
|
if not self.filename or not os.path.exists(self.filename):
|
|
2472
2454
|
# raise Exception("{} does not exist.".format(self.filename))
|
|
2473
2455
|
return
|
|
@@ -453,7 +453,7 @@ class EdbHfss(object):
|
|
|
453
453
|
if not isinstance(net_list, list):
|
|
454
454
|
net_list = [net_list]
|
|
455
455
|
for ref in ref_des_list:
|
|
456
|
-
for _, py_inst in self._pedb.components.
|
|
456
|
+
for _, py_inst in self._pedb.components.instances[ref].pins.items():
|
|
457
457
|
if py_inst.net_name in net_list and py_inst.is_pin:
|
|
458
458
|
port_name = "{}_{}_{}".format(ref, py_inst.net_name, py_inst.pin.GetName())
|
|
459
459
|
(
|
|
@@ -1035,7 +1035,7 @@ class Materials(object):
|
|
|
1035
1035
|
amat_file = os.path.join(self.__edb.base_path, "syslib", "Materials.amat")
|
|
1036
1036
|
for material in self.iterate_materials_in_amat(amat_file):
|
|
1037
1037
|
iter_material_name = material["name"]
|
|
1038
|
-
if iter_material_name == material_name:
|
|
1038
|
+
if iter_material_name == material_name or iter_material_name.lower() == material_name.lower():
|
|
1039
1039
|
for material_property, value in material.items():
|
|
1040
1040
|
if material_property != "name":
|
|
1041
1041
|
res[material_property] = value
|
|
@@ -1320,7 +1320,7 @@ class Modeler(object):
|
|
|
1320
1320
|
|
|
1321
1321
|
"""
|
|
1322
1322
|
stat_model = EDBStatistics()
|
|
1323
|
-
stat_model.num_layers = len(list(self._pedb.stackup.
|
|
1323
|
+
stat_model.num_layers = len(list(self._pedb.stackup.layers.values()))
|
|
1324
1324
|
stat_model.num_capacitors = len(self._pedb.components.capacitors)
|
|
1325
1325
|
stat_model.num_resistors = len(self._pedb.components.resistors)
|
|
1326
1326
|
stat_model.num_inductors = len(self._pedb.components.inductors)
|
|
@@ -521,7 +521,7 @@ class EdbNets(object):
|
|
|
521
521
|
bottom_layer = list(self._pedb.stackup.signal_layers.keys())[-1]
|
|
522
522
|
if plot_components_on_top or plot_components_on_bottom:
|
|
523
523
|
nc = 0
|
|
524
|
-
for comp in self._pedb.components.
|
|
524
|
+
for comp in self._pedb.components.instances.values():
|
|
525
525
|
if not comp.is_enabled:
|
|
526
526
|
continue
|
|
527
527
|
net_names = comp.nets
|
|
@@ -1149,9 +1149,9 @@ class EdbNets(object):
|
|
|
1149
1149
|
``True`` if the net is found in component pins.
|
|
1150
1150
|
|
|
1151
1151
|
"""
|
|
1152
|
-
if component_name not in self._pedb.components.
|
|
1152
|
+
if component_name not in self._pedb.components.instances:
|
|
1153
1153
|
return False
|
|
1154
|
-
for net in self._pedb.components.
|
|
1154
|
+
for net in self._pedb.components.instances[component_name].nets:
|
|
1155
1155
|
if net_name == net:
|
|
1156
1156
|
return True
|
|
1157
1157
|
return False
|
|
@@ -108,7 +108,7 @@ class EdbPadstacks(object):
|
|
|
108
108
|
@property
|
|
109
109
|
def _layers(self):
|
|
110
110
|
""" """
|
|
111
|
-
return self._pedb.stackup.
|
|
111
|
+
return self._pedb.stackup.layers
|
|
112
112
|
|
|
113
113
|
def int_to_pad_type(self, val=0):
|
|
114
114
|
"""Convert an integer to an EDB.PadGeometryType.
|
|
@@ -592,13 +592,13 @@ class EdbPadstacks(object):
|
|
|
592
592
|
"""
|
|
593
593
|
pinlist = []
|
|
594
594
|
if refdes:
|
|
595
|
-
if refdes in self._pedb.components.
|
|
595
|
+
if refdes in self._pedb.components.instances:
|
|
596
596
|
if netname:
|
|
597
|
-
for pin, val in self._pedb.components.
|
|
597
|
+
for pin, val in self._pedb.components.instances[refdes].pins.items():
|
|
598
598
|
if val.net_name == netname:
|
|
599
599
|
pinlist.append(val)
|
|
600
600
|
else:
|
|
601
|
-
for pin in self._pedb.components.
|
|
601
|
+
for pin in self._pedb.components.instances[refdes].pins.values():
|
|
602
602
|
pinlist.append(pin)
|
|
603
603
|
elif netname:
|
|
604
604
|
for pin in self._pedb.pins:
|
|
@@ -1235,7 +1235,7 @@ class EdbSiwave(object):
|
|
|
1235
1235
|
pin_numbers = [str(p) for p in pin_numbers]
|
|
1236
1236
|
if group_name is None:
|
|
1237
1237
|
group_name = self._edb.cell.hierarchy.pin_group.GetUniqueName(self._active_layout)
|
|
1238
|
-
comp = self._pedb.components.
|
|
1238
|
+
comp = self._pedb.components.instances[reference_designator]
|
|
1239
1239
|
pins = [pin.pin for name, pin in comp.pins.items() if name in pin_numbers]
|
|
1240
1240
|
edb_pingroup = self._edb.cell.hierarchy.pin_group.Create(
|
|
1241
1241
|
self._active_layout, group_name, convert_py_list_to_net_list(pins)
|