pyedb 0.43.0__tar.gz → 0.45.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.43.0 → pyedb-0.45.0}/PKG-INFO +6 -6
- {pyedb-0.43.0 → pyedb-0.45.0}/README.md +5 -5
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/__init__.py +1 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_boundaries.py +21 -15
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_components.py +8 -8
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_general.py +14 -6
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_modeler.py +8 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_operations.py +40 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_package_definition.py +41 -1
- pyedb-0.45.0/src/pyedb/configuration/cfg_padstacks.py +794 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_pin_groups.py +1 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_ports_sources.py +234 -66
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_s_parameter_models.py +81 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_setup.py +167 -33
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_stackup.py +44 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/configuration.py +13 -3
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/primitive/path.py +12 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/design_options.py +19 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/padstacks_data.py +9 -4
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/geometry/point_data.py +26 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/geometry/polygon_data.py +13 -2
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/nets.py +13 -3
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/padstack.py +6 -2
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/utilities/simulation_setup.py +7 -17
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/utilities/siwave_simulation_setup.py +30 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/edb.py +41 -18
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/components.py +2 -3
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/definition/component_def.py +15 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/definition/component_pin.py +1 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/definition/materials.py +27 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/definition/package_def.py +20 -2
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/definition/padstack_def.py +5 -2
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/hfss.py +10 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/hierarchy/component.py +4 -2
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/hierarchy/pingroup.py +12 -8
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/layers/layer.py +28 -0
- pyedb-0.45.0/src/pyedb/grpc/database/layers/stackup_layer.py +651 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/layout/layout.py +12 -6
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/layout_validation.py +2 -2
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/modeler.py +8 -8
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/padstacks.py +15 -9
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/ports/ports.py +3 -3
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/primitive/bondwire.py +3 -3
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/primitive/circle.py +1 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/primitive/padstack_instance.py +13 -3
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/primitive/path.py +2 -2
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/primitive/polygon.py +3 -3
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/primitive/primitive.py +1 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/primitive/rectangle.py +2 -2
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +78 -30
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +73 -30
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/sweep_data.py +12 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/siwave.py +10 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/source_excitations.py +19 -9
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/stackup.py +26 -10
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/terminal/bundle_terminal.py +3 -3
- pyedb-0.45.0/src/pyedb/grpc/database/terminal/edge_terminal.py +144 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/terminal/padstack_instance_terminal.py +42 -2
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/terminal/pingroup_terminal.py +48 -2
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/terminal/point_terminal.py +10 -1
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/terminal/terminal.py +4 -4
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/utility/hfss_extent_info.py +14 -10
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/edb.py +21 -17
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/edb_init.py +19 -15
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/rpc_session.py +11 -8
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/misc.py +13 -0
- pyedb-0.43.0/src/pyedb/configuration/cfg_padstacks.py +0 -439
- pyedb-0.43.0/src/pyedb/grpc/database/layers/stackup_layer.py +0 -410
- pyedb-0.43.0/src/pyedb/grpc/database/terminal/edge_terminal.py +0 -51
- {pyedb-0.43.0 → pyedb-0.45.0}/LICENSE +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/pyproject.toml +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/common/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/common/nets.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/component_libraries/ansys_components.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_common.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_nets.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/configuration/cfg_spice_models.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/clr_module.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/Variables.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/connectable.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/hierarchy/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/hierarchy/component.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/hierarchy/hierarchy_obj.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/hierarchy/model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/hierarchy/netlist_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/hierarchy/pin_pair_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/hierarchy/s_parameter_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/hierarchy/spice_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/layout.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/layout_obj.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/primitive/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/primitive/bondwire.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/primitive/primitive.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/terminal/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/terminal/bundle_terminal.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/terminal/edge_terminal.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/terminal/padstack_instance_terminal.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/terminal/pingroup_terminal.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/terminal/point_terminal.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/terminal/terminal.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/cell/voltage_regulator.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/components.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/definition/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/definition/component_def.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/definition/component_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/definition/definition_obj.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/definition/definitions.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/definition/package_def.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/dotnet/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/dotnet/database.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/dotnet/primitive.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/control_file.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/edbvalue.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/hfss_extent_info.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/layer_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/nets_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/ports.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/primitives_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/raptor_x_simulation_setup_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/simulation_configuration.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/sources.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/utilities.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/edb_data/variables.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/general.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/geometry/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/hfss.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/layout_obj_instance.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/layout_validation.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/materials.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/modeler.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/net_class.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/data/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/data/adaptive_frequency_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/data/mesh_operation.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/data/settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/data/sim_setup_info.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/data/simulation_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/data/siw_dc_ir_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/data/sweep_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/io/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/sim_setup_data/io/siwave.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/siwave.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/stackup.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/utilities/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/utilities/heatsink.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/utilities/hfss_simulation_setup.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/dotnet/database/utilities/obj_base.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/edb_logger.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/exceptions.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/extensions/pre_layout_design_toolkit/via_design.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/generic/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/generic/constants.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/generic/data_handlers.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/generic/design_types.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/generic/filesystem.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/generic/general_methods.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/generic/plot.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/generic/process.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/generic/settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/control_file.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/definition/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/definition/component_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/definition/n_port_component_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/definitions.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/general.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/geometry/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/geometry/arc_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/geometry/point_3d_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/geometry/point_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/geometry/polygon_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/hierarchy/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/hierarchy/model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/hierarchy/netlist_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/hierarchy/pin_pair_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/hierarchy/s_parameter_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/hierarchy/spice_model.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/layers/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/layout/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/layout/cell.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/layout/voltage_regulator.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/net/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/net/differential_pair.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/net/extended_net.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/net/net.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/net/net_class.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/nets.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/ports/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/primitive/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/adaptive_frequency.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/hfss_advanced_meshing_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/hfss_dcr_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/hfss_general_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/hfss_settings_options.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/hfss_solver_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/mesh_operation.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_advanced_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_general_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/simulation_setup/siwave_dcir_simulation_setup.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/terminal/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/utility/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/utility/constants.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/utility/heat_sink.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/utility/layout_statistics.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/utility/rlc.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/utility/simulation_configuration.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/utility/sources.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/utility/sweep_data_distribution.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/grpc/database/utility/xml_control_file.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/bom/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/bom/bom.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/bom/refdes.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/color.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/content.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/entry_color.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/entry_line.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/fill.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/feature.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/outline.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/package.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/profile.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_data/step.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ecad/spec.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/history_record.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/ipc2581.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/ipc2581/logistic_header.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/aedtlib_personalib_install.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/downloads.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/net.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/pins.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/misc/utilities.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/modeler/geometry_operators.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/siwave.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.0}/src/pyedb/siwave_core/icepak.py +0 -0
- {pyedb-0.43.0 → pyedb-0.45.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.45.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>
|
|
@@ -127,15 +127,15 @@ Documentation for the latest stable release of PyEDB is hosted at
|
|
|
127
127
|
[PyEDB documentation](https://edb.docs.pyansys.com/version/stable/index.html).
|
|
128
128
|
The documentation has five sections:
|
|
129
129
|
|
|
130
|
-
- [Getting started](https://edb.docs.pyansys.com/version/
|
|
130
|
+
- [Getting started](https://edb.docs.pyansys.com/version/stable/getting_started/index.html): Describes
|
|
131
131
|
how to install PyEDB in user mode.
|
|
132
|
-
- [User guide](https://edb.docs.pyansys.com/version/
|
|
132
|
+
- [User guide](https://edb.docs.pyansys.com/version/stable/user_guide/index.html#user-guide): Describes how to
|
|
133
133
|
use PyEDB.
|
|
134
|
-
- [API reference](https://edb.docs.pyansys.com/version/
|
|
134
|
+
- [API reference](https://edb.docs.pyansys.com/version/stable/api/index.html): Provides API member descriptions
|
|
135
135
|
and usage examples.
|
|
136
|
-
- [Examples](https://
|
|
136
|
+
- [Examples](https://examples.aedt.docs.pyansys.com/version/dev/examples/high_frequency/layout/index.html): Provides examples showing
|
|
137
137
|
end-to-end workflows for using PyEDB.
|
|
138
|
-
- [Contribute](https://edb.docs.pyansys.com/version/
|
|
138
|
+
- [Contribute](https://edb.docs.pyansys.com/version/stable/contributing.html): Describes how to install
|
|
139
139
|
PyEDB in developer mode and how to contribute to this PyAnsys library.
|
|
140
140
|
|
|
141
141
|
In the upper right corner of the documentation's title bar, there is an option
|
|
@@ -60,15 +60,15 @@ Documentation for the latest stable release of PyEDB is hosted at
|
|
|
60
60
|
[PyEDB documentation](https://edb.docs.pyansys.com/version/stable/index.html).
|
|
61
61
|
The documentation has five sections:
|
|
62
62
|
|
|
63
|
-
- [Getting started](https://edb.docs.pyansys.com/version/
|
|
63
|
+
- [Getting started](https://edb.docs.pyansys.com/version/stable/getting_started/index.html): Describes
|
|
64
64
|
how to install PyEDB in user mode.
|
|
65
|
-
- [User guide](https://edb.docs.pyansys.com/version/
|
|
65
|
+
- [User guide](https://edb.docs.pyansys.com/version/stable/user_guide/index.html#user-guide): Describes how to
|
|
66
66
|
use PyEDB.
|
|
67
|
-
- [API reference](https://edb.docs.pyansys.com/version/
|
|
67
|
+
- [API reference](https://edb.docs.pyansys.com/version/stable/api/index.html): Provides API member descriptions
|
|
68
68
|
and usage examples.
|
|
69
|
-
- [Examples](https://
|
|
69
|
+
- [Examples](https://examples.aedt.docs.pyansys.com/version/dev/examples/high_frequency/layout/index.html): Provides examples showing
|
|
70
70
|
end-to-end workflows for using PyEDB.
|
|
71
|
-
- [Contribute](https://edb.docs.pyansys.com/version/
|
|
71
|
+
- [Contribute](https://edb.docs.pyansys.com/version/stable/contributing.html): Describes how to install
|
|
72
72
|
PyEDB in developer mode and how to contribute to this PyAnsys library.
|
|
73
73
|
|
|
74
74
|
In the upper right corner of the documentation's title bar, there is an option
|
|
@@ -79,7 +79,7 @@ class CfgBoundaries(CfgBase):
|
|
|
79
79
|
if self.air_box_horizontal_padding:
|
|
80
80
|
self._pedb.hfss.hfss_extent_info.air_box_horizontal_extent = float(self.air_box_horizontal_padding)
|
|
81
81
|
if self.air_box_positive_vertical_padding:
|
|
82
|
-
self._pedb.hfss.hfss_extent_info.
|
|
82
|
+
self._pedb.hfss.hfss_extent_info.air_box_positive_vertical_extent = float(
|
|
83
83
|
self.air_box_positive_vertical_padding
|
|
84
84
|
)
|
|
85
85
|
if self.air_box_negative_vertical_padding:
|
|
@@ -88,20 +88,26 @@ class CfgBoundaries(CfgBase):
|
|
|
88
88
|
)
|
|
89
89
|
|
|
90
90
|
def get_parameters_from_edb(self):
|
|
91
|
-
self.open_region = self._pedb.hfss.hfss_extent_info.use_open_region
|
|
92
|
-
self.open_region_type = self._pedb.hfss.hfss_extent_info.open_region_type
|
|
93
|
-
self.pml_visible = self._pedb.hfss.hfss_extent_info.is_pml_visible
|
|
94
|
-
self.pml_operation_frequency = self._pedb.hfss.hfss_extent_info.operating_freq
|
|
95
|
-
self.pml_radiation_factor = self._pedb.hfss.hfss_extent_info.pml_radiation_factor
|
|
96
|
-
self.dielectric_extent_type = self._pedb.hfss.hfss_extent_info.extent_type
|
|
97
|
-
self.horizontal_padding = self._pedb.hfss.hfss_extent_info.dielectric_extent_size
|
|
98
|
-
self.honor_primitives_on_dielectric_layers = self._pedb.hfss.hfss_extent_info.honor_user_dielectric
|
|
99
|
-
self.air_box_extent_type = self._pedb.hfss.hfss_extent_info.extent_type
|
|
100
|
-
self.air_box_truncate_model_ground_layers =
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
self.
|
|
104
|
-
|
|
91
|
+
self.parent.open_region = self._pedb.hfss.hfss_extent_info.use_open_region
|
|
92
|
+
self.parent.open_region_type = self._pedb.hfss.hfss_extent_info.open_region_type
|
|
93
|
+
self.parent.pml_visible = self._pedb.hfss.hfss_extent_info.is_pml_visible
|
|
94
|
+
self.parent.pml_operation_frequency = self._pedb.hfss.hfss_extent_info.operating_freq
|
|
95
|
+
self.parent.pml_radiation_factor = self._pedb.hfss.hfss_extent_info.pml_radiation_factor
|
|
96
|
+
self.parent.dielectric_extent_type = self._pedb.hfss.hfss_extent_info.extent_type
|
|
97
|
+
self.parent.horizontal_padding = self._pedb.hfss.hfss_extent_info.dielectric_extent_size
|
|
98
|
+
self.parent.honor_primitives_on_dielectric_layers = self._pedb.hfss.hfss_extent_info.honor_user_dielectric
|
|
99
|
+
self.parent.air_box_extent_type = self._pedb.hfss.hfss_extent_info.extent_type
|
|
100
|
+
self.parent.air_box_truncate_model_ground_layers = (
|
|
101
|
+
self._pedb.hfss.hfss_extent_info.truncate_air_box_at_ground
|
|
102
|
+
)
|
|
103
|
+
self.parent.air_box_horizontal_padding = self._pedb.hfss.hfss_extent_info.air_box_horizontal_extent
|
|
104
|
+
self.parent.air_box_positive_vertical_padding = (
|
|
105
|
+
self._pedb.hfss.hfss_extent_info.air_box_positive_vertical_extent
|
|
106
|
+
)
|
|
107
|
+
self.parent.air_box_negative_vertical_padding = (
|
|
108
|
+
self._pedb.hfss.hfss_extent_info.air_box_negative_vertical_extent
|
|
109
|
+
)
|
|
110
|
+
return self.parent.get_attributes(exclude="boundary_data")
|
|
105
111
|
|
|
106
112
|
class DotNet(Grpc):
|
|
107
113
|
def __init__(self, parent):
|
|
@@ -136,9 +136,9 @@ class CfgComponent(CfgBase):
|
|
|
136
136
|
die_type = pascal_to_snake(ic_die_prop.die_type.name)
|
|
137
137
|
temp["type"] = die_type
|
|
138
138
|
if not die_type == "no_die":
|
|
139
|
-
temp["orientation"] =
|
|
139
|
+
temp["orientation"] = ic_die_prop.die_orientation.name.lower()
|
|
140
140
|
if die_type == "wire_bond":
|
|
141
|
-
temp["height"] = ic_die_prop.height.value
|
|
141
|
+
temp["height"] = str(ic_die_prop.height.value)
|
|
142
142
|
|
|
143
143
|
self.parent.ic_die_properties = temp
|
|
144
144
|
|
|
@@ -183,10 +183,10 @@ class CfgComponent(CfgBase):
|
|
|
183
183
|
uses_solder_ball = solder_ball_prop.uses_solderball
|
|
184
184
|
|
|
185
185
|
temp["uses_solder_ball"] = uses_solder_ball
|
|
186
|
-
temp["shape"] =
|
|
187
|
-
temp["diameter"] = diam
|
|
188
|
-
temp["mid_diameter"] = mid_diam
|
|
189
|
-
temp["height"] = height
|
|
186
|
+
temp["shape"] = shape.lower()
|
|
187
|
+
temp["diameter"] = str(diam)
|
|
188
|
+
temp["mid_diameter"] = str(mid_diam)
|
|
189
|
+
temp["height"] = str(height)
|
|
190
190
|
temp["material"] = material
|
|
191
191
|
|
|
192
192
|
self.parent.solder_ball_properties = temp
|
|
@@ -262,7 +262,7 @@ class CfgComponent(CfgBase):
|
|
|
262
262
|
def set_parameters_to_edb(self):
|
|
263
263
|
if self.parent.type:
|
|
264
264
|
self.pyedb_obj.type = self.parent.type
|
|
265
|
-
if self.parent.enabled:
|
|
265
|
+
if self.parent.enabled is not None:
|
|
266
266
|
self.pyedb_obj.enabled = self.parent.enabled
|
|
267
267
|
|
|
268
268
|
self._set_model_properties_to_edb()
|
|
@@ -495,7 +495,7 @@ class CfgComponent(CfgBase):
|
|
|
495
495
|
|
|
496
496
|
self.port_properties = kwargs.get("port_properties", {})
|
|
497
497
|
self.solder_ball_properties = kwargs.get("solder_ball_properties", {})
|
|
498
|
-
self.ic_die_properties = kwargs.get("ic_die_properties", {})
|
|
498
|
+
self.ic_die_properties = kwargs.get("ic_die_properties", {"type": "no_die"})
|
|
499
499
|
self.pin_pair_model = kwargs.get("pin_pair_model", [])
|
|
500
500
|
self.spice_model = kwargs.get("spice_model", {})
|
|
501
501
|
self.s_parameter_model = kwargs.get("s_parameter_model", {})
|
|
@@ -34,8 +34,8 @@ class CfgGeneral:
|
|
|
34
34
|
self.pedb.active_cell.suppress_pads = self.parent.suppress_pads
|
|
35
35
|
|
|
36
36
|
def get_parameters_from_edb(self):
|
|
37
|
-
anti_pads_always_on = self.pedb.
|
|
38
|
-
suppress_pads = self.pedb.
|
|
37
|
+
anti_pads_always_on = self.pedb.active_cell.anti_pads_always_on
|
|
38
|
+
suppress_pads = self.pedb.active_cell.suppress_pads
|
|
39
39
|
data = {"anti_pads_always_on": anti_pads_always_on, "suppress_pads": suppress_pads}
|
|
40
40
|
return data
|
|
41
41
|
|
|
@@ -44,8 +44,16 @@ class CfgGeneral:
|
|
|
44
44
|
super().__init__(parent)
|
|
45
45
|
|
|
46
46
|
def set_parameters_to_edb(self):
|
|
47
|
-
|
|
48
|
-
|
|
47
|
+
if self.parent.anti_pads_always_on is not None:
|
|
48
|
+
self.pedb.design_options.anti_pads_always_on = self.parent.anti_pads_always_on
|
|
49
|
+
if self.parent.suppress_pads is not None:
|
|
50
|
+
self.pedb.design_options.suppress_pads = self.parent.suppress_pads
|
|
51
|
+
|
|
52
|
+
def get_parameters_from_edb(self):
|
|
53
|
+
anti_pads_always_on = self.pedb.design_options.antipads_always_on
|
|
54
|
+
suppress_pads = self.pedb.design_options.suppress_pads
|
|
55
|
+
data = {"anti_pads_always_on": anti_pads_always_on, "suppress_pads": suppress_pads}
|
|
56
|
+
return data
|
|
49
57
|
|
|
50
58
|
def __init__(self, pedb, data):
|
|
51
59
|
self.pedb = pedb
|
|
@@ -55,8 +63,8 @@ class CfgGeneral:
|
|
|
55
63
|
self.api = self.DotNet(self)
|
|
56
64
|
self.spice_model_library = data.get("spice_model_library", "")
|
|
57
65
|
self.s_parameter_library = data.get("s_parameter_library", "")
|
|
58
|
-
self.anti_pads_always_on = data.get("anti_pads_always_on",
|
|
59
|
-
self.suppress_pads = data.get("suppress_pads",
|
|
66
|
+
self.anti_pads_always_on = data.get("anti_pads_always_on", None)
|
|
67
|
+
self.suppress_pads = data.get("suppress_pads", None)
|
|
60
68
|
|
|
61
69
|
def apply(self):
|
|
62
70
|
self.api.set_parameters_to_edb()
|
|
@@ -141,6 +141,11 @@ class CfgModeler:
|
|
|
141
141
|
c.pyedb_obj = obj
|
|
142
142
|
c.api.set_parameters_to_edb()
|
|
143
143
|
|
|
144
|
+
def delete_primitives(self):
|
|
145
|
+
primitives = self._pedb.layout.find_primitive(**self.parent.primitives_to_delete)
|
|
146
|
+
for i in primitives:
|
|
147
|
+
i.delete()
|
|
148
|
+
|
|
144
149
|
class DotNet(Grpc):
|
|
145
150
|
def __init__(self, parent):
|
|
146
151
|
super().__init__(parent)
|
|
@@ -175,6 +180,7 @@ class CfgModeler:
|
|
|
175
180
|
net_name=p.net_name,
|
|
176
181
|
position=p.position,
|
|
177
182
|
definition_name=p.definition,
|
|
183
|
+
rotation=p.rotation if p.rotation is not None else 0,
|
|
178
184
|
)
|
|
179
185
|
p.pyedb_obj = p_inst
|
|
180
186
|
p.api.set_parameters_to_edb()
|
|
@@ -229,6 +235,8 @@ class CfgModeler:
|
|
|
229
235
|
]
|
|
230
236
|
self.planes = [CfgPlane(**i) for i in data.get("planes", [])]
|
|
231
237
|
self.components = [CfgComponent(self._pedb, None, **i) for i in data.get("components", [])]
|
|
238
|
+
self.primitives_to_delete = data.get("primitives_to_delete", {"layer_name": [], "name": [], "net_name": []})
|
|
232
239
|
|
|
233
240
|
def apply(self):
|
|
234
241
|
self.api.set_parameter_to_edb()
|
|
242
|
+
self.api.delete_primitives()
|
|
@@ -56,6 +56,9 @@ class CfgCutout(CfgBase):
|
|
|
56
56
|
self.api = self.Grpc(self)
|
|
57
57
|
else:
|
|
58
58
|
self.api = self.DotNet(self)
|
|
59
|
+
self.auto_identify_nets = kwargs.get(
|
|
60
|
+
"auto_identify_nets", {"enabled": False, "resistor_below": 100, "inductor_below": 1, "capacitor_above": 1}
|
|
61
|
+
)
|
|
59
62
|
self.signal_list = kwargs.get("signal_list")
|
|
60
63
|
self.reference_list = kwargs.get("reference_list")
|
|
61
64
|
self.extent_type = kwargs.get("extent_type")
|
|
@@ -99,7 +102,43 @@ class CfgOperations(CfgBase):
|
|
|
99
102
|
|
|
100
103
|
def apply_on_edb(self):
|
|
101
104
|
if self.parent.op_cutout:
|
|
102
|
-
|
|
105
|
+
cutout_params = self.parent.op_cutout.get_attributes()
|
|
106
|
+
auto_identify_nets = cutout_params.pop("auto_identify_nets")
|
|
107
|
+
if auto_identify_nets["enabled"]:
|
|
108
|
+
reference_list = cutout_params.get("reference_list", [])
|
|
109
|
+
if auto_identify_nets:
|
|
110
|
+
self._pedb.nets.generate_extended_nets(
|
|
111
|
+
auto_identify_nets["resistor_below"],
|
|
112
|
+
auto_identify_nets["inductor_below"],
|
|
113
|
+
auto_identify_nets["capacitor_above"],
|
|
114
|
+
auto_identify_nets.get("exception_list", []),
|
|
115
|
+
)
|
|
116
|
+
signal_nets = []
|
|
117
|
+
for i in self._pedb.ports.values():
|
|
118
|
+
# Positive terminal
|
|
119
|
+
extended_net = i.net.extended_net
|
|
120
|
+
if extended_net:
|
|
121
|
+
temp = [i2 for i2 in extended_net.nets.keys() if i2 not in reference_list]
|
|
122
|
+
temp = [i2 for i2 in temp if i2 not in signal_nets]
|
|
123
|
+
signal_nets.extend(temp)
|
|
124
|
+
else:
|
|
125
|
+
signal_nets.append(i.net.name)
|
|
126
|
+
|
|
127
|
+
# Negative terminal
|
|
128
|
+
ref_net = i.ref_terminal.net if i.ref_terminal else None
|
|
129
|
+
if ref_net is None:
|
|
130
|
+
continue
|
|
131
|
+
elif ref_net.name not in reference_list:
|
|
132
|
+
extended_net = ref_net.extended_net
|
|
133
|
+
if extended_net:
|
|
134
|
+
temp = [i2 for i2 in extended_net.nets.keys() if i2 not in reference_list]
|
|
135
|
+
temp = [i2 for i2 in temp if i2 not in signal_nets]
|
|
136
|
+
signal_nets.extend(temp)
|
|
137
|
+
else:
|
|
138
|
+
signal_nets.append(ref_net.name)
|
|
139
|
+
|
|
140
|
+
cutout_params["signal_list"] = signal_nets
|
|
141
|
+
polygon_points = self._pedb.cutout(**cutout_params)
|
|
103
142
|
if "pyedb_cutout" not in self._pedb.stackup.all_layers:
|
|
104
143
|
self._pedb.stackup.add_document_layer(name="pyedb_cutout")
|
|
105
144
|
self._pedb.modeler.create_polygon(
|
|
@@ -21,7 +21,6 @@
|
|
|
21
21
|
# SOFTWARE.
|
|
22
22
|
|
|
23
23
|
from pyedb.configuration.cfg_common import CfgBase
|
|
24
|
-
from pyedb.dotnet.database.definition.package_def import PackageDef
|
|
25
24
|
|
|
26
25
|
|
|
27
26
|
class CfgPackage(CfgBase):
|
|
@@ -70,6 +69,8 @@ class CfgPackageDefinitions:
|
|
|
70
69
|
self._pedb = parent._pedb
|
|
71
70
|
|
|
72
71
|
def set_parameter_to_edb(self):
|
|
72
|
+
from pyedb.grpc.database.definition.package_def import PackageDef
|
|
73
|
+
|
|
73
74
|
for pkg in self.parent.packages:
|
|
74
75
|
comp_def_from_db = self._pedb.definitions.component[pkg.component_definition]
|
|
75
76
|
if pkg.name in self._pedb.definitions.package:
|
|
@@ -130,6 +131,45 @@ class CfgPackageDefinitions:
|
|
|
130
131
|
def __init__(self, parent):
|
|
131
132
|
super().__init__(parent)
|
|
132
133
|
|
|
134
|
+
def set_parameter_to_edb(self):
|
|
135
|
+
from pyedb.dotnet.database.definition.package_def import PackageDef
|
|
136
|
+
|
|
137
|
+
for pkg in self.parent.packages:
|
|
138
|
+
comp_def_from_db = self._pedb.definitions.component[pkg.component_definition]
|
|
139
|
+
if pkg.name in self._pedb.definitions.package:
|
|
140
|
+
self._pedb.definitions.package[pkg.name].delete()
|
|
141
|
+
|
|
142
|
+
if pkg.extent_bounding_box:
|
|
143
|
+
package_def = PackageDef(self._pedb, name=pkg.name, extent_bounding_box=pkg.extent_bounding_box)
|
|
144
|
+
else:
|
|
145
|
+
package_def = PackageDef(self._pedb, name=pkg.name, component_part_name=pkg.component_definition)
|
|
146
|
+
pkg.set_attributes(package_def)
|
|
147
|
+
|
|
148
|
+
if pkg.heatsink:
|
|
149
|
+
attrs = pkg.heatsink.get_attributes()
|
|
150
|
+
for attr, value in attrs.items():
|
|
151
|
+
package_def.set_heatsink(**attrs)
|
|
152
|
+
|
|
153
|
+
comp_list = dict()
|
|
154
|
+
if pkg.apply_to_all:
|
|
155
|
+
comp_list.update(
|
|
156
|
+
{
|
|
157
|
+
refdes: comp
|
|
158
|
+
for refdes, comp in comp_def_from_db.components.items()
|
|
159
|
+
if refdes not in pkg.components
|
|
160
|
+
}
|
|
161
|
+
)
|
|
162
|
+
else:
|
|
163
|
+
comp_list.update(
|
|
164
|
+
{
|
|
165
|
+
refdes: comp
|
|
166
|
+
for refdes, comp in comp_def_from_db.components.items()
|
|
167
|
+
if refdes in pkg.components
|
|
168
|
+
}
|
|
169
|
+
)
|
|
170
|
+
for _, i in comp_list.items():
|
|
171
|
+
i.package_def = pkg.name
|
|
172
|
+
|
|
133
173
|
def __init__(self, pedb, data):
|
|
134
174
|
self._pedb = pedb
|
|
135
175
|
if self._pedb.grpc:
|