pyedb 0.43.0__py3-none-any.whl → 0.44.0__py3-none-any.whl
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/__init__.py +1 -1
- pyedb/configuration/cfg_boundaries.py +20 -14
- pyedb/configuration/cfg_components.py +1 -1
- pyedb/configuration/cfg_general.py +6 -4
- pyedb/configuration/cfg_modeler.py +1 -0
- pyedb/configuration/cfg_package_definition.py +41 -1
- pyedb/configuration/cfg_padstacks.py +611 -256
- pyedb/configuration/cfg_ports_sources.py +75 -15
- pyedb/configuration/cfg_s_parameter_models.py +30 -0
- pyedb/configuration/cfg_setup.py +94 -21
- pyedb/configuration/cfg_stackup.py +44 -0
- pyedb/dotnet/database/edb_data/design_options.py +19 -1
- pyedb/dotnet/database/edb_data/padstacks_data.py +9 -4
- pyedb/dotnet/database/geometry/polygon_data.py +4 -2
- pyedb/dotnet/database/padstack.py +6 -2
- pyedb/dotnet/database/utilities/simulation_setup.py +7 -17
- pyedb/dotnet/database/utilities/siwave_simulation_setup.py +30 -0
- pyedb/grpc/database/components.py +1 -1
- pyedb/grpc/database/definition/component_def.py +15 -0
- pyedb/grpc/database/definition/component_pin.py +1 -1
- pyedb/grpc/database/definition/materials.py +27 -0
- pyedb/grpc/database/definition/package_def.py +20 -2
- pyedb/grpc/database/definition/padstack_def.py +5 -2
- pyedb/grpc/database/hierarchy/component.py +4 -2
- pyedb/grpc/database/hierarchy/pingroup.py +12 -8
- pyedb/grpc/database/layers/layer.py +28 -0
- pyedb/grpc/database/layers/stackup_layer.py +281 -40
- pyedb/grpc/database/layout/layout.py +12 -6
- pyedb/grpc/database/modeler.py +8 -8
- pyedb/grpc/database/primitive/bondwire.py +3 -3
- pyedb/grpc/database/primitive/circle.py +1 -1
- pyedb/grpc/database/primitive/padstack_instance.py +13 -3
- pyedb/grpc/database/primitive/path.py +2 -2
- pyedb/grpc/database/primitive/polygon.py +3 -3
- pyedb/grpc/database/primitive/primitive.py +1 -1
- pyedb/grpc/database/primitive/rectangle.py +2 -2
- pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +73 -30
- pyedb/grpc/database/source_excitations.py +7 -7
- pyedb/grpc/database/stackup.py +14 -6
- pyedb/grpc/database/terminal/bundle_terminal.py +3 -3
- pyedb/grpc/database/terminal/edge_terminal.py +2 -2
- pyedb/grpc/database/terminal/padstack_instance_terminal.py +42 -2
- pyedb/grpc/database/terminal/pingroup_terminal.py +35 -2
- pyedb/grpc/database/terminal/point_terminal.py +10 -1
- pyedb/grpc/database/terminal/terminal.py +4 -4
- pyedb/grpc/database/utility/hfss_extent_info.py +14 -10
- pyedb/grpc/edb.py +8 -8
- pyedb/misc/misc.py +13 -0
- {pyedb-0.43.0.dist-info → pyedb-0.44.0.dist-info}/METADATA +1 -1
- {pyedb-0.43.0.dist-info → pyedb-0.44.0.dist-info}/RECORD +52 -52
- {pyedb-0.43.0.dist-info → pyedb-0.44.0.dist-info}/LICENSE +0 -0
- {pyedb-0.43.0.dist-info → pyedb-0.44.0.dist-info}/WHEEL +0 -0
pyedb/__init__.py
CHANGED
|
@@ -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):
|
|
@@ -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()
|
|
@@ -44,8 +44,10 @@ 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
|
|
49
51
|
|
|
50
52
|
def __init__(self, pedb, data):
|
|
51
53
|
self.pedb = pedb
|
|
@@ -55,8 +57,8 @@ class CfgGeneral:
|
|
|
55
57
|
self.api = self.DotNet(self)
|
|
56
58
|
self.spice_model_library = data.get("spice_model_library", "")
|
|
57
59
|
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",
|
|
60
|
+
self.anti_pads_always_on = data.get("anti_pads_always_on", None)
|
|
61
|
+
self.suppress_pads = data.get("suppress_pads", None)
|
|
60
62
|
|
|
61
63
|
def apply(self):
|
|
62
64
|
self.api.set_parameters_to_edb()
|
|
@@ -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:
|