pyedb 0.50.1__tar.gz → 0.52.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.50.1 → pyedb-0.52.0}/PKG-INFO +4 -4
- {pyedb-0.50.1 → pyedb-0.52.0}/pyproject.toml +3 -3
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/__init__.py +1 -1
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_ports_sources.py +79 -239
- pyedb-0.52.0/src/pyedb/configuration/configuration.py +461 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/clr_module.py +9 -3
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/layout.py +10 -1
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/dotnet/database.py +0 -2
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/padstacks_data.py +8 -2
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/layout_validation.py +20 -26
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/modeler.py +0 -1
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/stackup.py +4 -3
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/edb.py +42 -2
- pyedb-0.52.0/src/pyedb/generic/design_types.py +267 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/components.py +110 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/control_file.py +150 -17
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/materials.py +7 -7
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definitions.py +36 -2
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hfss.py +15 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/component.py +10 -2
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/pin_pair_model.py +1 -1
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layout_validation.py +58 -7
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/net/differential_pair.py +2 -1
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/nets.py +233 -4
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/padstacks.py +97 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/padstack_instance.py +1 -1
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/polygon.py +1 -1
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/siwave.py +63 -3
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/source_excitations.py +317 -50
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/stackup.py +107 -2
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/point_terminal.py +2 -2
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/terminal.py +1 -1
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/edb.py +190 -224
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/edb_init.py +54 -5
- pyedb-0.52.0/src/pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
- pyedb-0.50.1/src/pyedb/configuration/configuration.py +0 -588
- pyedb-0.50.1/src/pyedb/generic/design_types.py +0 -146
- pyedb-0.50.1/src/pyedb/grpc/database/__init__.py +0 -1
- {pyedb-0.50.1 → pyedb-0.52.0}/LICENSE +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/README.md +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/common/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/common/nets.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/component_libraries/ansys_components.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_boundaries.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_common.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_components.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_general.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_modeler.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_nets.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_operations.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_package_definition.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_padstacks.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_pin_groups.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_s_parameter_models.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_setup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_spice_models.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/configuration/cfg_stackup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/Variables.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/connectable.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/component.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/hierarchy_obj.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/netlist_model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/pin_pair_model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/s_parameter_model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/hierarchy/spice_model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/layout_obj.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/primitive/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/primitive/bondwire.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/primitive/path.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/primitive/primitive.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/bundle_terminal.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/edge_terminal.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/padstack_instance_terminal.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/pingroup_terminal.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/point_terminal.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/terminal/terminal.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/cell/voltage_regulator.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/components.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/component_def.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/component_model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/definition_obj.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/definitions.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/definition/package_def.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/dotnet/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/dotnet/primitive.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/control_file.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/design_options.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/edbvalue.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/hfss_extent_info.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/layer_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/nets_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/ports.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/primitives_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/raptor_x_simulation_setup_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/simulation_configuration.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/sources.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/utilities.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/edb_data/variables.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/general.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/geometry/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/geometry/point_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/geometry/polygon_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/hfss.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/layout_obj_instance.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/materials.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/net_class.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/nets.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/padstack.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/adaptive_frequency_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/mesh_operation.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/sim_setup_info.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/simulation_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/siw_dc_ir_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/data/sweep_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/io/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/sim_setup_data/io/siwave.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/siwave.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/heatsink.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/hfss_simulation_setup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/obj_base.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/simulation_setup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/dotnet/database/utilities/siwave_simulation_setup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/edb_logger.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/exceptions.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/extensions/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/extensions/via_design_backend.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/constants.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/data_handlers.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/filesystem.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/general_methods.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/plot.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/process.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/generic/settings.py +0 -0
- {pyedb-0.50.1/src/pyedb/grpc/database/definition → pyedb-0.52.0/src/pyedb/grpc/database}/__init__.py +0 -0
- {pyedb-0.50.1/src/pyedb/grpc/database/geometry → pyedb-0.52.0/src/pyedb/grpc/database/definition}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/component_def.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/component_model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/component_pin.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/n_port_component_model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/package_def.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/definition/padstack_def.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/general.py +0 -0
- {pyedb-0.50.1/src/pyedb/grpc/database/hierarchy → pyedb-0.52.0/src/pyedb/grpc/database/geometry}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/geometry/arc_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/geometry/point_3d_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/geometry/point_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/geometry/polygon_data.py +0 -0
- {pyedb-0.50.1/src/pyedb/grpc/database/layers → pyedb-0.52.0/src/pyedb/grpc/database/hierarchy}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/netlist_model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/pingroup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/s_parameter_model.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/hierarchy/spice_model.py +0 -0
- {pyedb-0.50.1/src/pyedb/grpc/database/layout → pyedb-0.52.0/src/pyedb/grpc/database/layers}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layers/layer.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layers/stackup_layer.py +0 -0
- {pyedb-0.50.1/src/pyedb/grpc/database/net → pyedb-0.52.0/src/pyedb/grpc/database/layout}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layout/cell.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layout/layout.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/layout/voltage_regulator.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/modeler.py +0 -0
- {pyedb-0.50.1/src/pyedb/grpc/database/ports → pyedb-0.52.0/src/pyedb/grpc/database/net}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/net/extended_net.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/net/net.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/net/net_class.py +0 -0
- {pyedb-0.50.1/src/pyedb/grpc/database/simulation_setup → pyedb-0.52.0/src/pyedb/grpc/database/ports}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/ports/ports.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/bondwire.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/circle.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/path.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/primitive.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/primitive/rectangle.py +0 -0
- {pyedb-0.50.1/src/pyedb/grpc/database/terminal → pyedb-0.52.0/src/pyedb/grpc/database/simulation_setup}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/adaptive_frequency.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_advanced_meshing_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_dcr_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_general_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_settings_options.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/hfss_solver_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/mesh_operation.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_advanced_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_general_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/siwave_dcir_simulation_setup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/simulation_setup/sweep_data.py +0 -0
- {pyedb-0.50.1/src/pyedb/ipc2581 → pyedb-0.52.0/src/pyedb/grpc/database/terminal}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/bundle_terminal.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/edge_terminal.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/padstack_instance_terminal.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/terminal/pingroup_terminal.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/constants.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/heat_sink.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/hfss_extent_info.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/layout_statistics.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/rlc.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/sources.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/sweep_data_distribution.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/database/utility/xml_control_file.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/grpc/rpc_session.py +0 -0
- {pyedb-0.50.1/src/pyedb/ipc2581/bom → pyedb-0.52.0/src/pyedb/ipc2581}/__init__.py +0 -0
- {pyedb-0.50.1/src/pyedb/ipc2581/content → pyedb-0.52.0/src/pyedb/ipc2581/bom}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/bom/bom.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/bom/refdes.py +0 -0
- {pyedb-0.50.1/src/pyedb/ipc2581/ecad → pyedb-0.52.0/src/pyedb/ipc2581/content}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/color.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/content.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/entry_color.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/entry_line.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/fill.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
- {pyedb-0.50.1/src/pyedb/ipc2581/ecad/cad_data → pyedb-0.52.0/src/pyedb/ipc2581/ecad}/__init__.py +0 -0
- {pyedb-0.50.1/src/pyedb/misc → pyedb-0.52.0/src/pyedb/ipc2581/ecad/cad_data}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/feature.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/outline.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/package.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/profile.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_data/step.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ecad/spec.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/history_record.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/ipc2581.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/ipc2581/logistic_header.py +0 -0
- {pyedb-0.50.1/src/pyedb/misc/siw_feature_config → pyedb-0.52.0/src/pyedb/misc}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/aedtlib_personalib_install.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/downloads.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/misc.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
- {pyedb-0.50.1/src/pyedb/misc/siw_feature_config/emc → pyedb-0.52.0/src/pyedb/misc/siw_feature_config}/__init__.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/net.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/pins.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/misc/utilities.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/modeler/geometry_operators.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/siwave.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/siwave_core/icepak.py +0 -0
- {pyedb-0.50.1 → pyedb-0.52.0}/src/pyedb/workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pyedb
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.52.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>
|
|
@@ -26,10 +26,10 @@ Requires-Dist: Rtree >= 1.2.0
|
|
|
26
26
|
Requires-Dist: toml == 0.10.2
|
|
27
27
|
Requires-Dist: shapely
|
|
28
28
|
Requires-Dist: scikit-rf
|
|
29
|
-
Requires-Dist: ansys-edb-core
|
|
30
|
-
Requires-Dist: ansys-api-edb
|
|
29
|
+
Requires-Dist: ansys-edb-core>=0.2.0.dev0
|
|
30
|
+
Requires-Dist: ansys-api-edb>=0.2.0.dev0
|
|
31
31
|
Requires-Dist: psutil
|
|
32
|
-
Requires-Dist: ansys-sphinx-theme>=0.
|
|
32
|
+
Requires-Dist: ansys-sphinx-theme>=1.0.0,<1.5 ; extra == "doc"
|
|
33
33
|
Requires-Dist: imageio>=2.30.0,<2.37 ; extra == "doc"
|
|
34
34
|
Requires-Dist: ipython>=8.13.0,<8.32 ; extra == "doc"
|
|
35
35
|
Requires-Dist: jupyterlab>=4.0.0,<4.4 ; extra == "doc"
|
|
@@ -36,8 +36,8 @@ dependencies = [
|
|
|
36
36
|
"toml == 0.10.2",
|
|
37
37
|
"shapely",
|
|
38
38
|
"scikit-rf",
|
|
39
|
-
"ansys-edb-core",
|
|
40
|
-
"ansys-api-edb",
|
|
39
|
+
"ansys-edb-core>=0.2.0.dev0",
|
|
40
|
+
"ansys-api-edb>=0.2.0.dev0",
|
|
41
41
|
"psutil",
|
|
42
42
|
]
|
|
43
43
|
|
|
@@ -52,7 +52,7 @@ tests = [
|
|
|
52
52
|
"shapely"
|
|
53
53
|
]
|
|
54
54
|
doc = [
|
|
55
|
-
"ansys-sphinx-theme>=0.
|
|
55
|
+
"ansys-sphinx-theme>=1.0.0,<1.5",
|
|
56
56
|
"imageio>=2.30.0,<2.37",
|
|
57
57
|
"ipython>=8.13.0,<8.32",
|
|
58
58
|
"jupyterlab>=4.0.0,<4.4",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
21
|
# SOFTWARE.
|
|
22
|
-
import os
|
|
23
22
|
|
|
24
23
|
import numpy as np
|
|
25
24
|
|
|
@@ -33,29 +32,11 @@ from pyedb.dotnet.database.geometry.point_data import PointData
|
|
|
33
32
|
class CfgTerminalInfo(CfgBase):
|
|
34
33
|
CFG_TERMINAL_TYPES = ["pin", "net", "pin_group", "nearest_pin", "coordinates"]
|
|
35
34
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
self.parent = parent
|
|
39
|
-
self._pedb = parent._pedb
|
|
40
|
-
|
|
41
|
-
def update_contact_radius(self, radius):
|
|
42
|
-
from ansys.edb.core.utility.value import Value as GrpcValue
|
|
43
|
-
|
|
44
|
-
self.parent.contact_radius = GrpcValue(radius).value
|
|
45
|
-
|
|
46
|
-
class DotNet(Grpc):
|
|
47
|
-
def __init__(self, parent):
|
|
48
|
-
super().__init__(parent)
|
|
49
|
-
|
|
50
|
-
def update_contact_radius(self, radius):
|
|
51
|
-
self.parent.contact_radius = self._pedb.edb_value(radius).ToDouble()
|
|
35
|
+
def update_contact_radius(self, radius):
|
|
36
|
+
self.contact_radius = self._pedb.edb_value(radius).ToDouble()
|
|
52
37
|
|
|
53
38
|
def __init__(self, pedb, **kwargs):
|
|
54
39
|
self._pedb = pedb
|
|
55
|
-
if self._pedb.grpc:
|
|
56
|
-
self.api = self.Grpc(self)
|
|
57
|
-
else:
|
|
58
|
-
self.api = self.DotNet(self)
|
|
59
40
|
|
|
60
41
|
if kwargs.get("padstack"):
|
|
61
42
|
self.type = "padstack"
|
|
@@ -76,7 +57,8 @@ class CfgTerminalInfo(CfgBase):
|
|
|
76
57
|
|
|
77
58
|
self.contact_type = kwargs.get("contact_type", "default") # options are full, center, quad, inline
|
|
78
59
|
contact_radius = "0.1mm" if kwargs.get("contact_radius") is None else kwargs.get("contact_radius")
|
|
79
|
-
|
|
60
|
+
|
|
61
|
+
self.contact_radius = self._pedb.edb_value(contact_radius).ToDouble()
|
|
80
62
|
self.num_of_contact = kwargs.get("num_of_contact", 4)
|
|
81
63
|
self.contact_expansion = kwargs.get("contact_expansion", 1)
|
|
82
64
|
|
|
@@ -108,27 +90,11 @@ class CfgNearestPinTerminalInfo(CfgTerminalInfo):
|
|
|
108
90
|
|
|
109
91
|
|
|
110
92
|
class CfgSources:
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
self.parent = parent
|
|
114
|
-
self._pedb = parent._pedb
|
|
115
|
-
|
|
116
|
-
def get_pin_group_name(self, src):
|
|
117
|
-
return src.pin_group.name
|
|
118
|
-
|
|
119
|
-
class DotNet(Grpc):
|
|
120
|
-
def __init__(self, parent):
|
|
121
|
-
super().__init__(parent)
|
|
122
|
-
|
|
123
|
-
def get_pin_group_name(self, src):
|
|
124
|
-
return src._edb_object.GetPinGroup().GetName()
|
|
93
|
+
def get_pin_group_name(self, src):
|
|
94
|
+
return src._edb_object.GetPinGroup().GetName()
|
|
125
95
|
|
|
126
96
|
def __init__(self, pedb, sources_data):
|
|
127
97
|
self._pedb = pedb
|
|
128
|
-
if self._pedb.grpc:
|
|
129
|
-
self.api = self.Grpc(self)
|
|
130
|
-
else:
|
|
131
|
-
self.api = self.DotNet(self)
|
|
132
98
|
self.sources = [CfgSource(self._pedb, **src) for src in sources_data]
|
|
133
99
|
|
|
134
100
|
def apply(self):
|
|
@@ -147,7 +113,7 @@ class CfgSources:
|
|
|
147
113
|
|
|
148
114
|
if src.terminal_type == "PinGroupTerminal":
|
|
149
115
|
refdes = ""
|
|
150
|
-
pg = self._pedb.siwave.pin_groups[self.
|
|
116
|
+
pg = self._pedb.siwave.pin_groups[self.get_pin_group_name(src)]
|
|
151
117
|
pos_term_info = {"pin_group": pg.name}
|
|
152
118
|
elif src.terminal_type == "PadstackInstanceTerminal":
|
|
153
119
|
refdes = src.component.refdes if src.component else ""
|
|
@@ -155,7 +121,7 @@ class CfgSources:
|
|
|
155
121
|
|
|
156
122
|
neg_term = self._pedb.terminals[src.ref_terminal.name]
|
|
157
123
|
if neg_term.terminal_type == "PinGroupTerminal":
|
|
158
|
-
pg = self._pedb.siwave.pin_groups[self.
|
|
124
|
+
pg = self._pedb.siwave.pin_groups[self.get_pin_group_name(neg_term)]
|
|
159
125
|
neg_term_info = {"pin_group": pg.name}
|
|
160
126
|
elif neg_term.terminal_type == "PadstackInstanceTerminal":
|
|
161
127
|
neg_term_info = {"padstack": neg_term.padstack_instance.aedt_name}
|
|
@@ -180,68 +146,29 @@ class CfgSources:
|
|
|
180
146
|
|
|
181
147
|
|
|
182
148
|
class CfgPorts:
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
self.parent = parent
|
|
186
|
-
self._pedb = parent._pedb
|
|
187
|
-
|
|
188
|
-
def get_pin_group(self, port):
|
|
189
|
-
return self._pedb.siwave.pin_groups[port._edb_object.pin_group.name]
|
|
190
|
-
|
|
191
|
-
def get_edge_info(self, port):
|
|
192
|
-
return port._edb_object.GetEdges()[0].GetParameters()
|
|
193
|
-
|
|
194
|
-
def _get_edge_port_from_edb(self, p, port_type):
|
|
195
|
-
# primitive, point = p._edb_object.GetEdges()[0].GetParameters()
|
|
196
|
-
edges = p.edges
|
|
197
|
-
primitive = None
|
|
198
|
-
point = None
|
|
199
|
-
primitive = Primitive(self._pedb, primitive)
|
|
200
|
-
point = PointData(self._pedb, point)
|
|
201
|
-
|
|
202
|
-
cfg_port = CfgEdgePort(
|
|
203
|
-
self._pedb,
|
|
204
|
-
name=p.name,
|
|
205
|
-
type=port_type,
|
|
206
|
-
primitive_name=primitive.aedt_name,
|
|
207
|
-
point_on_edge=[point._edb_object.X.ToString(), point._edb_object.Y.ToString()],
|
|
208
|
-
horizontal_extent_factor=p.horizontal_extent_factor,
|
|
209
|
-
vertical_extent_factor=p.vertical_extent_factor,
|
|
210
|
-
pec_launch_width=p.pec_launch_width,
|
|
211
|
-
)
|
|
212
|
-
return cfg_port
|
|
149
|
+
def get_pin_group(self, port):
|
|
150
|
+
return self._pedb.siwave.pin_groups[port._edb_object.GetPinGroup().GetName()]
|
|
213
151
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
super().__init__(parent)
|
|
152
|
+
def _get_edge_port_from_edb(self, p, port_type):
|
|
153
|
+
_, primitive, point = p._edb_object.GetEdges()[0].GetParameters()
|
|
217
154
|
|
|
218
|
-
|
|
219
|
-
|
|
155
|
+
primitive = Primitive(self._pedb, primitive)
|
|
156
|
+
point = PointData(self._pedb, point)
|
|
220
157
|
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
point_on_edge=[point._edb_object.X.ToString(), point._edb_object.Y.ToString()],
|
|
233
|
-
horizontal_extent_factor=p.horizontal_extent_factor,
|
|
234
|
-
vertical_extent_factor=p.vertical_extent_factor,
|
|
235
|
-
pec_launch_width=p.pec_launch_width,
|
|
236
|
-
)
|
|
237
|
-
return cfg_port
|
|
158
|
+
cfg_port = CfgEdgePort(
|
|
159
|
+
self._pedb,
|
|
160
|
+
name=p.name,
|
|
161
|
+
type=port_type,
|
|
162
|
+
primitive_name=primitive.aedt_name,
|
|
163
|
+
point_on_edge=[point._edb_object.X.ToString(), point._edb_object.Y.ToString()],
|
|
164
|
+
horizontal_extent_factor=p.horizontal_extent_factor,
|
|
165
|
+
vertical_extent_factor=p.vertical_extent_factor,
|
|
166
|
+
pec_launch_width=p.pec_launch_width,
|
|
167
|
+
)
|
|
168
|
+
return cfg_port
|
|
238
169
|
|
|
239
170
|
def __init__(self, pedb, ports_data):
|
|
240
171
|
self._pedb = pedb
|
|
241
|
-
if self._pedb.grpc:
|
|
242
|
-
self.api = self.Grpc(self)
|
|
243
|
-
else:
|
|
244
|
-
self.api = self.DotNet(self)
|
|
245
172
|
self.ports = []
|
|
246
173
|
for p in ports_data:
|
|
247
174
|
if p["type"] == "wave_port":
|
|
@@ -256,18 +183,8 @@ class CfgPorts:
|
|
|
256
183
|
raise ValueError("Unknown port type")
|
|
257
184
|
|
|
258
185
|
def apply(self):
|
|
259
|
-
edb_primitives = {}
|
|
260
|
-
for i in self._pedb.layout.primitives:
|
|
261
|
-
if i.aedt_name:
|
|
262
|
-
edb_primitives[i.aedt_name] = i
|
|
263
|
-
for i in self._pedb.layout.padstack_instances:
|
|
264
|
-
if i.aedt_name:
|
|
265
|
-
edb_primitives[i.aedt_name] = i
|
|
266
186
|
for p in self.ports:
|
|
267
|
-
|
|
268
|
-
p.set_parameters_to_edb(edb_primitives)
|
|
269
|
-
else:
|
|
270
|
-
p.set_parameters_to_edb()
|
|
187
|
+
p.set_parameters_to_edb()
|
|
271
188
|
|
|
272
189
|
def get_data_from_db(self):
|
|
273
190
|
self.ports = []
|
|
@@ -289,7 +206,7 @@ class CfgPorts:
|
|
|
289
206
|
|
|
290
207
|
if p.terminal_type == "PinGroupTerminal":
|
|
291
208
|
refdes = ""
|
|
292
|
-
pg = self.
|
|
209
|
+
pg = self.get_pin_group(p)
|
|
293
210
|
pos_term_info = {"pin_group": pg.name}
|
|
294
211
|
elif p.terminal_type == "PadstackInstanceTerminal":
|
|
295
212
|
refdes = p.component.refdes if p.component else ""
|
|
@@ -301,7 +218,7 @@ class CfgPorts:
|
|
|
301
218
|
if port_type == "circuit":
|
|
302
219
|
neg_term = self._pedb.terminals[p.ref_terminal.name]
|
|
303
220
|
if neg_term.terminal_type == "PinGroupTerminal":
|
|
304
|
-
pg = self.
|
|
221
|
+
pg = self.get_pin_group(neg_term)
|
|
305
222
|
# pg = self._pedb.siwave.pin_groups[neg_term._edb_object.GetPinGroup().GetName()]
|
|
306
223
|
neg_term_info = {"pin_group": pg.name}
|
|
307
224
|
elif neg_term.terminal_type == "PadstackInstanceTerminal":
|
|
@@ -332,7 +249,7 @@ class CfgPorts:
|
|
|
332
249
|
positive_terminal=pos_term_info,
|
|
333
250
|
)
|
|
334
251
|
else:
|
|
335
|
-
cfg_port = self.
|
|
252
|
+
cfg_port = self._get_edge_port_from_edb(p, port_type)
|
|
336
253
|
self.ports.append(cfg_port)
|
|
337
254
|
return self.export_properties()
|
|
338
255
|
|
|
@@ -350,7 +267,7 @@ class CfgProbes:
|
|
|
350
267
|
|
|
351
268
|
def apply(self):
|
|
352
269
|
for probe in self.probes:
|
|
353
|
-
probe.
|
|
270
|
+
probe.set_parameters_to_edb()
|
|
354
271
|
|
|
355
272
|
|
|
356
273
|
class CfgCircuitElement(CfgBase):
|
|
@@ -740,134 +657,63 @@ class CfgSource(CfgCircuitElement):
|
|
|
740
657
|
|
|
741
658
|
|
|
742
659
|
class CfgProbe(CfgCircuitElement):
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
else:
|
|
755
|
-
elem = self.pedb.create_voltage_probe(j, self.parent.neg_terminal)
|
|
756
|
-
elem.name = self.parent.name
|
|
757
|
-
circuit_elements.append(elem)
|
|
758
|
-
return circuit_elements
|
|
759
|
-
|
|
760
|
-
class Grpc(Common):
|
|
761
|
-
def __init__(self, parent):
|
|
762
|
-
super().__init__(parent)
|
|
763
|
-
|
|
764
|
-
class DotNet(Grpc):
|
|
765
|
-
def __init__(self, parent):
|
|
766
|
-
super().__init__(parent)
|
|
660
|
+
def set_parameters_to_edb(self):
|
|
661
|
+
self.create_terminals()
|
|
662
|
+
circuit_elements = []
|
|
663
|
+
for name, j in self.pos_terminals.items():
|
|
664
|
+
if isinstance(self.neg_terminal, dict):
|
|
665
|
+
elem = self._pedb.create_voltage_probe(j, self.neg_terminal[name])
|
|
666
|
+
else:
|
|
667
|
+
elem = self._pedb.create_voltage_probe(j, self.neg_terminal)
|
|
668
|
+
elem.name = self.name
|
|
669
|
+
circuit_elements.append(elem)
|
|
670
|
+
return circuit_elements
|
|
767
671
|
|
|
768
672
|
def __init__(self, pedb, **kwargs):
|
|
769
673
|
kwargs["type"] = "probe"
|
|
770
674
|
super().__init__(pedb, **kwargs)
|
|
771
|
-
if os.environ["PYEDB_USE_DOTNET"] == "0":
|
|
772
|
-
self.api = self.Grpc(self)
|
|
773
|
-
else:
|
|
774
|
-
self.api = self.DotNet(self)
|
|
775
675
|
|
|
776
676
|
|
|
777
677
|
class CfgEdgePort:
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
)
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
wave_port.horizontal_extent_factor = self.parent.horizontal_extent_factor
|
|
804
|
-
wave_port.vertical_extent_factor = self.parent.vertical_extent_factor
|
|
805
|
-
wave_port.pec_launch_width = self.parent.pec_launch_width
|
|
806
|
-
if self.parent.type == "wave_port":
|
|
807
|
-
wave_port.hfss_type = "Wave"
|
|
808
|
-
else:
|
|
809
|
-
wave_port.hfss_type = "Gap"
|
|
810
|
-
wave_port.do_renormalize = True
|
|
811
|
-
return wave_port
|
|
812
|
-
|
|
813
|
-
def export_properties(self):
|
|
814
|
-
return {
|
|
815
|
-
"name": self.name,
|
|
816
|
-
"type": self.type,
|
|
817
|
-
"primitive_name": self.primitive_name,
|
|
818
|
-
"point_on_edge": self.point_on_edge,
|
|
819
|
-
"horizontal_extent_factor": self.horizontal_extent_factor,
|
|
820
|
-
"vertical_extent_factor": self.vertical_extent_factor,
|
|
821
|
-
"pec_launch_width": self.pec_launch_width,
|
|
822
|
-
}
|
|
823
|
-
|
|
824
|
-
class DotNet(Grpc):
|
|
825
|
-
def __init__(self, parent):
|
|
826
|
-
super().__init__(parent)
|
|
678
|
+
def set_parameters_to_edb(self):
|
|
679
|
+
point_on_edge = PointData(self._pedb, x=self.point_on_edge[0], y=self.point_on_edge[1])
|
|
680
|
+
primitive = self._pedb.layout.primitives_by_aedt_name[self.primitive_name]
|
|
681
|
+
pos_edge = self._pedb.edb_api.cell.terminal.PrimitiveEdge.Create(
|
|
682
|
+
primitive._edb_object, point_on_edge._edb_object
|
|
683
|
+
)
|
|
684
|
+
pos_edge = convert_py_list_to_net_list(pos_edge, self._pedb.edb_api.cell.terminal.Edge)
|
|
685
|
+
edge_term = self._pedb.edb_api.cell.terminal.EdgeTerminal.Create(
|
|
686
|
+
primitive._edb_object.GetLayout(),
|
|
687
|
+
primitive._edb_object.GetNet(),
|
|
688
|
+
self.name,
|
|
689
|
+
pos_edge,
|
|
690
|
+
isRef=False,
|
|
691
|
+
)
|
|
692
|
+
edge_term.SetImpedance(self._pedb.edb_value(50))
|
|
693
|
+
wave_port = WavePort(self._pedb, edge_term)
|
|
694
|
+
wave_port.horizontal_extent_factor = self.horizontal_extent_factor
|
|
695
|
+
wave_port.vertical_extent_factor = self.vertical_extent_factor
|
|
696
|
+
wave_port.pec_launch_width = self.pec_launch_width
|
|
697
|
+
if self.type == "wave_port":
|
|
698
|
+
wave_port.hfss_type = "Wave"
|
|
699
|
+
else:
|
|
700
|
+
wave_port.hfss_type = "Gap"
|
|
701
|
+
wave_port.do_renormalize = True
|
|
702
|
+
return wave_port
|
|
827
703
|
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
self.parent.name,
|
|
839
|
-
pos_edge,
|
|
840
|
-
isRef=False,
|
|
841
|
-
)
|
|
842
|
-
edge_term.SetImpedance(self._pedb.edb_value(50))
|
|
843
|
-
wave_port = WavePort(self._pedb, edge_term)
|
|
844
|
-
wave_port.horizontal_extent_factor = self.parent.horizontal_extent_factor
|
|
845
|
-
wave_port.vertical_extent_factor = self.parent.vertical_extent_factor
|
|
846
|
-
wave_port.pec_launch_width = self.parent.pec_launch_width
|
|
847
|
-
if self.parent.type == "wave_port":
|
|
848
|
-
wave_port.hfss_type = "Wave"
|
|
849
|
-
else:
|
|
850
|
-
wave_port.hfss_type = "Gap"
|
|
851
|
-
wave_port.do_renormalize = True
|
|
852
|
-
return wave_port
|
|
853
|
-
|
|
854
|
-
def export_properties(self):
|
|
855
|
-
return {
|
|
856
|
-
"name": self.parent.name,
|
|
857
|
-
"type": self.parent.type,
|
|
858
|
-
"primitive_name": self.parent.primitive_name,
|
|
859
|
-
"point_on_edge": self.parent.point_on_edge,
|
|
860
|
-
"horizontal_extent_factor": self.parent.horizontal_extent_factor,
|
|
861
|
-
"vertical_extent_factor": self.parent.vertical_extent_factor,
|
|
862
|
-
"pec_launch_width": self.parent.pec_launch_width,
|
|
863
|
-
}
|
|
704
|
+
def export_properties(self):
|
|
705
|
+
return {
|
|
706
|
+
"name": self.name,
|
|
707
|
+
"type": self.type,
|
|
708
|
+
"primitive_name": self.primitive_name,
|
|
709
|
+
"point_on_edge": self.point_on_edge,
|
|
710
|
+
"horizontal_extent_factor": self.horizontal_extent_factor,
|
|
711
|
+
"vertical_extent_factor": self.vertical_extent_factor,
|
|
712
|
+
"pec_launch_width": self.pec_launch_width,
|
|
713
|
+
}
|
|
864
714
|
|
|
865
715
|
def __init__(self, pedb, **kwargs):
|
|
866
716
|
self._pedb = pedb
|
|
867
|
-
if self._pedb.grpc:
|
|
868
|
-
self.api = self.Grpc(self)
|
|
869
|
-
else:
|
|
870
|
-
self.api = self.DotNet(self)
|
|
871
717
|
self.name = kwargs["name"]
|
|
872
718
|
self.type = kwargs["type"]
|
|
873
719
|
self.primitive_name = kwargs["primitive_name"]
|
|
@@ -876,12 +722,6 @@ class CfgEdgePort:
|
|
|
876
722
|
self.vertical_extent_factor = kwargs.get("vertical_extent_factor", 3)
|
|
877
723
|
self.pec_launch_width = kwargs.get("pec_launch_width", "0.01mm")
|
|
878
724
|
|
|
879
|
-
def set_parameters_to_edb(self, edb_primitives):
|
|
880
|
-
return self.api.set_parameters_to_edb(edb_primitives)
|
|
881
|
-
|
|
882
|
-
def export_properties(self):
|
|
883
|
-
return self.api.export_properties()
|
|
884
|
-
|
|
885
725
|
|
|
886
726
|
class CfgDiffWavePort:
|
|
887
727
|
def __init__(self, pedb, **kwargs):
|
|
@@ -911,9 +751,9 @@ class CfgDiffWavePort:
|
|
|
911
751
|
**kwargs["negative_terminal"],
|
|
912
752
|
)
|
|
913
753
|
|
|
914
|
-
def set_parameters_to_edb(self
|
|
915
|
-
pos_term = self.positive_port.set_parameters_to_edb(
|
|
916
|
-
neg_term = self.negative_port.set_parameters_to_edb(
|
|
754
|
+
def set_parameters_to_edb(self):
|
|
755
|
+
pos_term = self.positive_port.set_parameters_to_edb()
|
|
756
|
+
neg_term = self.negative_port.set_parameters_to_edb()
|
|
917
757
|
edb_list = convert_py_list_to_net_list(
|
|
918
758
|
[pos_term._edb_object, neg_term._edb_object], self._pedb.edb_api.cell.terminal.Terminal
|
|
919
759
|
)
|