pyedb 0.11.2__tar.gz → 0.12.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.11.2 → pyedb-0.12.0}/PKG-INFO +1 -1
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/__init__.py +1 -1
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_boundaries.py +35 -25
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_padstacks.py +13 -9
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_ports_sources.py +33 -17
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb.py +2 -4
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/hfss_simulation_setup_data.py +5 -6
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/padstacks_data.py +9 -1
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/siwave.py +1 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/utilities/simulation_setup.py +2 -1
- {pyedb-0.11.2 → pyedb-0.12.0}/LICENSE +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/README.md +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/pyproject.toml +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_components.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_general.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_nets.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_pin_groups.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_s_parameter_models.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_setup.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/cfg_spice_models.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/configuration/configuration.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/application/Variables.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/application/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/clr_module.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/cell/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/cell/hierarchy/model.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/components.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/definition/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/definition/component_def.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/definition/component_model.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/definition/definition_obj.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/definition/definitions.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/definition/package_def.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/dotnet/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/dotnet/database.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/dotnet/layout.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/dotnet/primitive.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/components_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/connectable.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/control_file.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/design_options.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/edbvalue.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/hfss_pi_simulation_setup_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/layer_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/nets_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/ports.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/primitives_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/simulation_configuration.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/siwave_simulation_setup_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/sources.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/terminals.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/utilities.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/variables.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/general.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/geometry/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/geometry/point_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/geometry/polygon_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/hfss.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/layout.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/layout_validation.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/materials.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/net_class.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/nets.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/obj_base.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/padstack.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/sim_setup_data/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/siw_dc_ir_settings.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/stackup.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/utilities/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/utilities/heatsink.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/edb_logger.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/exceptions.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/generic/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/generic/constants.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/generic/data_handlers.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/generic/design_types.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/generic/filesystem.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/generic/general_methods.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/generic/plot.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/generic/process.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/generic/settings.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/bom/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/bom/bom.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/bom/bom_item.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/bom/characteristics.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/bom/refdes.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/color.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/content.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/dictionary_color.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/dictionary_fill.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/dictionary_line.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/entry_color.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/entry_line.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/fill.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/layer_ref.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/content/standard_geometries_dictionary.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/assembly_drawing.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/cad_data.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/component.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/drill.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/feature.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/layer.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/layer_feature.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/logical_net.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/outline.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/package.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_def.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_hole_def.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_instance.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/padstack_pad_def.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/path.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/phy_net.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/pin.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/polygon.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/profile.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/stackup.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_group.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/stackup_layer.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_data/step.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/cad_header.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/ecad.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ecad/spec.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/history_record.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/ipc2581.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/ipc2581/logistic_header.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/aedtlib_personalib_install.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/downloads.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/misc.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/pyedb.runtimeconfig.json +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/siw_feature_config/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/siw_feature_config/emc/__init__.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/siw_feature_config/emc/component_tags.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/siw_feature_config/emc/net_tags.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/siw_feature_config/emc/tag_library.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/siw_feature_config/emc/xml_generic.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/utilities.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/modeler/geometry_operators.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/siwave.py +0 -0
- {pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/siwave_core/icepak.py +0 -0
|
@@ -27,25 +27,25 @@ class CfgBoundaries:
|
|
|
27
27
|
def __init__(self, pdata, boundaries_dict):
|
|
28
28
|
self._pedb = pdata.pedb
|
|
29
29
|
self._boundaries_dict = boundaries_dict
|
|
30
|
-
self.open_region = self._boundaries_dict.get("open_region",
|
|
30
|
+
self.open_region = self._boundaries_dict.get("open_region", None)
|
|
31
31
|
self._map_open_region_type()
|
|
32
|
-
self.pml_visible = self._boundaries_dict.get("pml_visible",
|
|
33
|
-
self.pml_operation_frequency = self._boundaries_dict.get("pml_operation_frequency",
|
|
34
|
-
self.pml_radiation_factor = self._boundaries_dict.get("pml_radiation_factor",
|
|
32
|
+
self.pml_visible = self._boundaries_dict.get("pml_visible", None)
|
|
33
|
+
self.pml_operation_frequency = self._boundaries_dict.get("pml_operation_frequency", None)
|
|
34
|
+
self.pml_radiation_factor = self._boundaries_dict.get("pml_radiation_factor", None)
|
|
35
35
|
self._map_dielectric_extend_type()
|
|
36
|
-
self.dielectric_base_polygon = self._boundaries_dict.get("dielectric_base_polygon",
|
|
37
|
-
self.horizontal_padding = self._boundaries_dict.get("horizontal_padding",
|
|
36
|
+
self.dielectric_base_polygon = self._boundaries_dict.get("dielectric_base_polygon", None)
|
|
37
|
+
self.horizontal_padding = self._boundaries_dict.get("horizontal_padding", None)
|
|
38
38
|
self.honor_primitives_on_dielectric_layers = self._boundaries_dict.get(
|
|
39
39
|
"honor_primitives_on_dielectric_layers", False
|
|
40
40
|
)
|
|
41
41
|
self._map_air_box_extend_type()
|
|
42
|
-
self.air_box_base_polygon = self._boundaries_dict.get("air_box_base_polygon",
|
|
42
|
+
self.air_box_base_polygon = self._boundaries_dict.get("air_box_base_polygon", None)
|
|
43
43
|
self.air_box_truncate_model_ground_layers = self._boundaries_dict.get(
|
|
44
|
-
"air_box_truncate_model_ground_layers",
|
|
44
|
+
"air_box_truncate_model_ground_layers", None
|
|
45
45
|
)
|
|
46
|
-
self.air_box_horizontal_padding = self._boundaries_dict.get("air_box_horizontal_padding",
|
|
47
|
-
self.air_box_positive_vertical_padding = self._boundaries_dict.get("air_box_positive_vertical_padding",
|
|
48
|
-
self.air_box_negative_vertical_padding = self._boundaries_dict.get("air_box_negative_vertical_padding",
|
|
46
|
+
self.air_box_horizontal_padding = self._boundaries_dict.get("air_box_horizontal_padding", None)
|
|
47
|
+
self.air_box_positive_vertical_padding = self._boundaries_dict.get("air_box_positive_vertical_padding", None)
|
|
48
|
+
self.air_box_negative_vertical_padding = self._boundaries_dict.get("air_box_negative_vertical_padding", None)
|
|
49
49
|
|
|
50
50
|
def _map_air_box_extend_type(self):
|
|
51
51
|
air_box_type = self._boundaries_dict.get("air_box_extents_type", None)
|
|
@@ -94,22 +94,32 @@ class CfgBoundaries:
|
|
|
94
94
|
|
|
95
95
|
def apply(self):
|
|
96
96
|
"""Imports boundary information from JSON."""
|
|
97
|
-
self.
|
|
97
|
+
if self.open_region is not None:
|
|
98
|
+
self._pedb.hfss.hfss_extent_info.use_open_region = self.open_region
|
|
98
99
|
self._pedb.hfss.hfss_extent_info.open_region_type = self.open_region_type.name.lower()
|
|
99
|
-
self.
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
if self.pml_visible is not None:
|
|
101
|
+
self._pedb.hfss.hfss_extent_info.is_pml_visible = self.pml_visible
|
|
102
|
+
if self.pml_operation_frequency:
|
|
103
|
+
self._pedb.hfss.hfss_extent_info.operating_freq = self.pml_operation_frequency
|
|
104
|
+
if self.pml_radiation_factor:
|
|
105
|
+
self._pedb.hfss.hfss_extent_info.radiation_level = self.pml_radiation_factor
|
|
102
106
|
self._pedb.hfss.hfss_extent_info.extent_type = self.dielectric_extents_type.name.lower()
|
|
103
107
|
if self.dielectric_base_polygon:
|
|
104
108
|
self._pedb.hfss.hfss_extent_info.dielectric_base_polygon = self.dielectric_base_polygon
|
|
105
|
-
|
|
106
|
-
|
|
109
|
+
if self.horizontal_padding:
|
|
110
|
+
self._pedb.hfss.hfss_extent_info.dielectric_extent_size = float(self.horizontal_padding)
|
|
111
|
+
if self.honor_primitives_on_dielectric_layers is not None:
|
|
112
|
+
self._pedb.hfss.hfss_extent_info.honor_user_dielectric = self.honor_primitives_on_dielectric_layers
|
|
107
113
|
self._pedb.hfss.hfss_extent_info.extent_type = self.air_box_extents_type.name.lower()
|
|
108
|
-
self.
|
|
109
|
-
|
|
110
|
-
self.
|
|
111
|
-
self.
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
114
|
+
if self.air_box_truncate_model_ground_layers is not None:
|
|
115
|
+
self._pedb.hfss.hfss_extent_info.truncate_air_box_at_ground = self.air_box_truncate_model_ground_layers
|
|
116
|
+
if self.air_box_horizontal_padding:
|
|
117
|
+
self._pedb.hfss.hfss_extent_info.air_box_horizontal_extent = float(self.air_box_horizontal_padding)
|
|
118
|
+
if self.air_box_positive_vertical_padding:
|
|
119
|
+
self._pedb.hfss.hfss_extent_info.air_box_positive_vertical_extent = float(
|
|
120
|
+
self.air_box_positive_vertical_padding
|
|
121
|
+
)
|
|
122
|
+
if self.air_box_negative_vertical_padding:
|
|
123
|
+
self._pedb.hfss.hfss_extent_info.air_box_negative_vertical_extent = float(
|
|
124
|
+
self.air_box_negative_vertical_padding
|
|
125
|
+
)
|
|
@@ -54,20 +54,24 @@ class Definition:
|
|
|
54
54
|
def __init__(self, pdata, definition_dict):
|
|
55
55
|
self._pedb = pdata.pedb
|
|
56
56
|
self._definition_dict = definition_dict
|
|
57
|
-
self.name = self._definition_dict.get("name",
|
|
58
|
-
self.hole_diameter = self._definition_dict.get("hole_diameter",
|
|
59
|
-
self.hole_plating_thickness = self._definition_dict.get("hole_plating_thickness",
|
|
60
|
-
self.hole_material = self._definition_dict.get("hole_material",
|
|
61
|
-
self.hole_range = self._definition_dict.get("hole_range",
|
|
57
|
+
self.name = self._definition_dict.get("name", None)
|
|
58
|
+
self.hole_diameter = self._definition_dict.get("hole_diameter", None)
|
|
59
|
+
self.hole_plating_thickness = self._definition_dict.get("hole_plating_thickness", None)
|
|
60
|
+
self.hole_material = self._definition_dict.get("hole_material", None)
|
|
61
|
+
self.hole_range = self._definition_dict.get("hole_range", None)
|
|
62
62
|
|
|
63
63
|
def apply(self):
|
|
64
64
|
"""Apply padstack definition on layout."""
|
|
65
65
|
padstack_defs = self._pedb.padstacks.definitions
|
|
66
66
|
pdef = padstack_defs[self.name]
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
if self.hole_diameter:
|
|
68
|
+
pdef.hole_diameter = self.hole_diameter
|
|
69
|
+
if self.hole_plating_thickness:
|
|
70
|
+
pdef.hole_plating_thickness = self.hole_plating_thickness
|
|
71
|
+
if self.hole_material:
|
|
72
|
+
pdef.material = self.hole_material
|
|
73
|
+
if self.hole_range:
|
|
74
|
+
pdef.hole_range = self.hole_range
|
|
71
75
|
|
|
72
76
|
|
|
73
77
|
class Instance:
|
|
@@ -41,8 +41,8 @@ class CfgCircuitElement:
|
|
|
41
41
|
self.neg_term_info = kwargs.get("negative_terminal", None)
|
|
42
42
|
|
|
43
43
|
@pyedb_function_handler
|
|
44
|
-
def
|
|
45
|
-
"""Create step 1."""
|
|
44
|
+
def _create_terminals(self):
|
|
45
|
+
"""Create step 1. Collect positive and negative terminals."""
|
|
46
46
|
pos_term_info = self.pos_term_info
|
|
47
47
|
if pos_term_info:
|
|
48
48
|
pos_type, pos_value = [[i, j] for i, j in pos_term_info.items()][0]
|
|
@@ -71,16 +71,26 @@ class CfgCircuitElement:
|
|
|
71
71
|
self.neg_terminal = None
|
|
72
72
|
if neg_term_info:
|
|
73
73
|
neg_type, neg_value = [[i, j] for i, j in neg_term_info.items()][0]
|
|
74
|
-
if neg_type == "
|
|
75
|
-
|
|
74
|
+
if neg_type == "nearest_pin":
|
|
75
|
+
ref_net = neg_value.get("reference_net", "GND")
|
|
76
|
+
search_radius = neg_value.get("search_radius", "5e-3")
|
|
77
|
+
temp = dict()
|
|
78
|
+
for i, j in pos_objs.items():
|
|
79
|
+
temp[i] = self._pdata.pedb.padstacks.get_reference_pins(j, ref_net, search_radius, max_limit=1)[0]
|
|
80
|
+
self.neg_terminal = {
|
|
81
|
+
i: j.create_terminal(i + "_ref") if not j.terminal else j.terminal for i, j in temp.items()
|
|
82
|
+
}
|
|
76
83
|
else:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
if neg_type == "pin_group":
|
|
85
|
+
pin_group = {neg_value: self.pedb.siwave.pin_groups[neg_value]}
|
|
86
|
+
else:
|
|
87
|
+
# Get pins
|
|
88
|
+
pins = self._get_pins(neg_type, neg_value) # terminal type pin or net
|
|
89
|
+
# create pin group
|
|
90
|
+
pin_group = self._create_pin_group(pins, True)
|
|
91
|
+
self.neg_terminal = [
|
|
92
|
+
j.create_terminal(i) if not j.terminal else j.terminal for i, j in pin_group.items()
|
|
93
|
+
][0]
|
|
84
94
|
|
|
85
95
|
@pyedb_function_handler
|
|
86
96
|
def _get_pins(self, terminal_type, terminal_value):
|
|
@@ -125,11 +135,14 @@ class CfgPort(CfgCircuitElement):
|
|
|
125
135
|
@pyedb_function_handler
|
|
126
136
|
def create(self):
|
|
127
137
|
"""Create port."""
|
|
128
|
-
self.
|
|
138
|
+
self._create_terminals()
|
|
129
139
|
is_circuit_port = True if self.type == "circuit" else False
|
|
130
140
|
circuit_elements = []
|
|
131
|
-
for
|
|
132
|
-
|
|
141
|
+
for name, j in self.pos_terminals.items():
|
|
142
|
+
if isinstance(self.neg_terminal, dict):
|
|
143
|
+
elem = self.pedb.create_port(j, self.neg_terminal[name], is_circuit_port)
|
|
144
|
+
else:
|
|
145
|
+
elem = self.pedb.create_port(j, self.neg_terminal, is_circuit_port)
|
|
133
146
|
if not self.distributed:
|
|
134
147
|
elem.name = self.name
|
|
135
148
|
circuit_elements.append(elem)
|
|
@@ -148,12 +161,15 @@ class CfgSources(CfgCircuitElement):
|
|
|
148
161
|
@pyedb_function_handler
|
|
149
162
|
def create(self):
|
|
150
163
|
"""Create sources."""
|
|
151
|
-
self.
|
|
164
|
+
self._create_terminals()
|
|
152
165
|
is_circuit_port = True if self.type == "circuit" else False
|
|
153
166
|
circuit_elements = []
|
|
154
167
|
method = self.pedb.create_current_source if self.type == "current" else self.pedb.create_voltage_source
|
|
155
|
-
for
|
|
156
|
-
|
|
168
|
+
for name, j in self.pos_terminals.items():
|
|
169
|
+
if isinstance(self.neg_terminal, dict):
|
|
170
|
+
elem = method(j, self.neg_terminal[name])
|
|
171
|
+
else:
|
|
172
|
+
elem = method(j, self.neg_terminal)
|
|
157
173
|
if not self.distributed:
|
|
158
174
|
elem.name = self.name
|
|
159
175
|
elem.magnitude = self.magnitude
|
|
@@ -3702,12 +3702,10 @@ class Edb(Database):
|
|
|
3702
3702
|
self.logger.error("Setup name already used in the layout")
|
|
3703
3703
|
return False
|
|
3704
3704
|
version = self.edbversion.split(".")
|
|
3705
|
-
if
|
|
3706
|
-
setup = HFSSPISimulationSetup(self).create(name)
|
|
3707
|
-
return setup
|
|
3708
|
-
else:
|
|
3705
|
+
if float(self.edbversion) < 2024.2:
|
|
3709
3706
|
self.logger.error("HFSSPI simulation only supported with Ansys release 2024R2 and higher")
|
|
3710
3707
|
return False
|
|
3708
|
+
return HFSSPISimulationSetup(self).create(name)
|
|
3711
3709
|
|
|
3712
3710
|
@pyedb_function_handler()
|
|
3713
3711
|
def create_siwave_syz_setup(self, name=None):
|
{pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/hfss_simulation_setup_data.py
RENAMED
|
@@ -977,19 +977,18 @@ class ViaSettings(object):
|
|
|
977
977
|
-------
|
|
978
978
|
bool
|
|
979
979
|
"""
|
|
980
|
-
if self._parent._pedb.
|
|
981
|
-
return self._via_settings.ViaMeshPlating
|
|
982
|
-
else:
|
|
980
|
+
if float(self._parent._pedb.edbversion) < 2024.1:
|
|
983
981
|
self._parent._pedb.logger.error("Property only supported on Ansys release 2024R1 and later")
|
|
984
982
|
return False
|
|
983
|
+
return self._via_settings.ViaMeshPlating
|
|
985
984
|
|
|
986
985
|
@via_mesh_plating.setter
|
|
987
986
|
def via_mesh_plating(self, value):
|
|
988
|
-
if self._parent._pedb.
|
|
987
|
+
if float(self._parent._pedb.edbversion) < 2024.1:
|
|
988
|
+
self._parent._pedb.logger.error("Property only supported on Ansys release 2024R1 and later")
|
|
989
|
+
else:
|
|
989
990
|
self._via_settings.ViaMeshPlating = value
|
|
990
991
|
self._parent._update_setup()
|
|
991
|
-
else:
|
|
992
|
-
self._parent._pedb.logger.error("Property only supported on Ansys release 2024R1 and later")
|
|
993
992
|
|
|
994
993
|
@property
|
|
995
994
|
def via_material(self):
|
|
@@ -1183,7 +1183,7 @@ class EDBPadstackInstance(EDBPrimitivesMain):
|
|
|
1183
1183
|
-------
|
|
1184
1184
|
:class:`pyedb.dotnet.edb_core.edb_data.terminals`
|
|
1185
1185
|
"""
|
|
1186
|
-
|
|
1186
|
+
warnings.warn("Use new property :func:`terminal` instead.", DeprecationWarning)
|
|
1187
1187
|
if create_new_terminal:
|
|
1188
1188
|
term = self._create_terminal(name)
|
|
1189
1189
|
else:
|
|
@@ -1195,6 +1195,14 @@ class EDBPadstackInstance(EDBPrimitivesMain):
|
|
|
1195
1195
|
if not term.is_null:
|
|
1196
1196
|
return term
|
|
1197
1197
|
|
|
1198
|
+
@property
|
|
1199
|
+
def terminal(self):
|
|
1200
|
+
"""Terminal."""
|
|
1201
|
+
from pyedb.dotnet.edb_core.edb_data.terminals import PadstackInstanceTerminal
|
|
1202
|
+
|
|
1203
|
+
term = PadstackInstanceTerminal(self._pedb, self._edb_object.GetPadstackInstanceTerminal())
|
|
1204
|
+
return term if not term.is_null else None
|
|
1205
|
+
|
|
1198
1206
|
@pyedb_function_handler()
|
|
1199
1207
|
def _create_terminal(self, name=None):
|
|
1200
1208
|
"""Create a padstack instance terminal"""
|
|
@@ -36,6 +36,7 @@ class BaseSimulationSetup(object):
|
|
|
36
36
|
EDB object.
|
|
37
37
|
"""
|
|
38
38
|
|
|
39
|
+
@pyedb_function_handler
|
|
39
40
|
def __init__(self, pedb, edb_setup=None):
|
|
40
41
|
self._pedb = pedb
|
|
41
42
|
self._edb_object = edb_setup
|
|
@@ -59,7 +60,7 @@ class BaseSimulationSetup(object):
|
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
version = self._pedb.edbversion.split(".")
|
|
62
|
-
if
|
|
63
|
+
if float(self._pedb.edbversion) >= 2024.2:
|
|
63
64
|
self._setup_type_mapping.update(
|
|
64
65
|
{
|
|
65
66
|
"kRaptorX": self._pedb.simsetupdata.RaptorX.RaptorXSimulationSettings,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/hfss_pi_simulation_setup_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py
RENAMED
|
File without changes
|
{pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/simulation_configuration.py
RENAMED
|
File without changes
|
{pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/edb_data/siwave_simulation_setup_data.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/dotnet/edb_core/sim_setup_data/data/siw_dc_ir_settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pyedb-0.11.2 → pyedb-0.12.0}/src/pyedb/misc/siw_feature_config/emc_rule_checker_settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|