pyedb 0.54.0__py3-none-any.whl → 0.56.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.

Files changed (105) hide show
  1. pyedb/__init__.py +1 -8
  2. pyedb/configuration/cfg_boundaries.py +69 -151
  3. pyedb/configuration/cfg_components.py +201 -460
  4. pyedb/configuration/cfg_data.py +4 -2
  5. pyedb/configuration/cfg_general.py +13 -36
  6. pyedb/configuration/cfg_modeler.py +2 -1
  7. pyedb/configuration/cfg_nets.py +21 -35
  8. pyedb/configuration/cfg_operations.py +22 -151
  9. pyedb/configuration/cfg_package_definition.py +56 -112
  10. pyedb/configuration/cfg_padstacks.py +292 -688
  11. pyedb/configuration/cfg_pin_groups.py +32 -79
  12. pyedb/configuration/cfg_ports_sources.py +19 -6
  13. pyedb/configuration/cfg_s_parameter_models.py +67 -172
  14. pyedb/configuration/cfg_setup.py +102 -295
  15. pyedb/configuration/configuration.py +64 -5
  16. pyedb/dotnet/database/Variables.py +26 -19
  17. pyedb/dotnet/database/cell/connectable.py +38 -9
  18. pyedb/dotnet/database/cell/hierarchy/component.py +28 -28
  19. pyedb/dotnet/database/cell/hierarchy/model.py +1 -1
  20. pyedb/dotnet/database/cell/layout.py +63 -2
  21. pyedb/dotnet/database/cell/layout_obj.py +2 -2
  22. pyedb/dotnet/database/cell/primitive/path.py +6 -8
  23. pyedb/dotnet/database/cell/primitive/primitive.py +3 -24
  24. pyedb/dotnet/database/cell/terminal/edge_terminal.py +2 -2
  25. pyedb/dotnet/database/cell/terminal/padstack_instance_terminal.py +1 -1
  26. pyedb/dotnet/database/cell/terminal/pingroup_terminal.py +1 -1
  27. pyedb/dotnet/database/cell/terminal/point_terminal.py +1 -1
  28. pyedb/dotnet/database/cell/terminal/terminal.py +24 -24
  29. pyedb/dotnet/database/cell/voltage_regulator.py +0 -21
  30. pyedb/dotnet/database/components.py +137 -124
  31. pyedb/dotnet/database/definition/component_def.py +4 -4
  32. pyedb/dotnet/database/definition/component_model.py +1 -1
  33. pyedb/dotnet/database/definition/package_def.py +2 -3
  34. pyedb/dotnet/database/dotnet/database.py +3 -199
  35. pyedb/dotnet/database/dotnet/primitive.py +3 -3
  36. pyedb/dotnet/database/edb_data/control_file.py +5 -5
  37. pyedb/dotnet/database/edb_data/hfss_extent_info.py +6 -6
  38. pyedb/dotnet/database/edb_data/layer_data.py +23 -23
  39. pyedb/dotnet/database/edb_data/padstacks_data.py +63 -88
  40. pyedb/dotnet/database/edb_data/primitives_data.py +5 -5
  41. pyedb/dotnet/database/edb_data/sources.py +6 -6
  42. pyedb/dotnet/database/edb_data/variables.py +1 -1
  43. pyedb/dotnet/database/geometry/point_data.py +14 -10
  44. pyedb/dotnet/database/geometry/polygon_data.py +3 -3
  45. pyedb/dotnet/database/hfss.py +46 -48
  46. pyedb/dotnet/database/layout_validation.py +14 -11
  47. pyedb/dotnet/database/materials.py +10 -11
  48. pyedb/dotnet/database/modeler.py +97 -91
  49. pyedb/dotnet/database/nets.py +19 -22
  50. pyedb/dotnet/database/padstack.py +171 -83
  51. pyedb/dotnet/database/siwave.py +42 -42
  52. pyedb/dotnet/database/stackup.py +140 -72
  53. pyedb/dotnet/database/utilities/heatsink.py +4 -4
  54. pyedb/dotnet/database/utilities/obj_base.py +2 -2
  55. pyedb/dotnet/database/utilities/simulation_setup.py +2 -2
  56. pyedb/dotnet/database/utilities/value.py +16 -16
  57. pyedb/dotnet/edb.py +230 -152
  58. pyedb/edb_logger.py +12 -27
  59. pyedb/extensions/create_cell_array.py +394 -0
  60. pyedb/extensions/via_design_backend.py +6 -3
  61. pyedb/generic/data_handlers.py +6 -7
  62. pyedb/generic/design_types.py +81 -30
  63. pyedb/generic/filesystem.py +5 -2
  64. pyedb/generic/general_methods.py +2 -122
  65. pyedb/generic/process.py +44 -108
  66. pyedb/generic/settings.py +79 -19
  67. pyedb/grpc/database/components.py +26 -4
  68. pyedb/grpc/database/control_file.py +5 -5
  69. pyedb/grpc/database/definition/materials.py +1 -1
  70. pyedb/grpc/database/definition/package_def.py +3 -3
  71. pyedb/grpc/database/definition/padstack_def.py +53 -0
  72. pyedb/grpc/database/geometry/polygon_data.py +1 -1
  73. pyedb/grpc/database/layout/layout.py +81 -5
  74. pyedb/grpc/database/layout_validation.py +5 -5
  75. pyedb/grpc/database/modeler.py +24 -16
  76. pyedb/grpc/database/net/net.py +15 -14
  77. pyedb/grpc/database/nets.py +70 -0
  78. pyedb/grpc/database/padstacks.py +122 -17
  79. pyedb/grpc/database/primitive/padstack_instance.py +175 -7
  80. pyedb/grpc/database/primitive/polygon.py +2 -2
  81. pyedb/grpc/database/simulation_setup/siwave_cpa_simulation_setup.py +3 -2
  82. pyedb/grpc/database/siwave.py +1 -1
  83. pyedb/grpc/database/source_excitations.py +12 -5
  84. pyedb/grpc/database/stackup.py +1 -1
  85. pyedb/grpc/database/terminal/bundle_terminal.py +1 -1
  86. pyedb/grpc/database/terminal/padstack_instance_terminal.py +1 -1
  87. pyedb/grpc/database/terminal/pingroup_terminal.py +1 -1
  88. pyedb/grpc/database/utility/value.py +1 -0
  89. pyedb/grpc/database/utility/xml_control_file.py +5 -5
  90. pyedb/grpc/edb.py +80 -30
  91. pyedb/grpc/edb_init.py +3 -3
  92. pyedb/grpc/rpc_session.py +14 -13
  93. pyedb/libraries/common.py +366 -0
  94. pyedb/libraries/rf_libraries/base_functions.py +1358 -0
  95. pyedb/libraries/rf_libraries/planar_antennas.py +628 -0
  96. pyedb/misc/decorators.py +61 -0
  97. pyedb/misc/misc.py +0 -13
  98. pyedb/modeler/geometry_operators.py +6 -6
  99. pyedb/siwave.py +6 -8
  100. pyedb/siwave_core/__init__.py +0 -0
  101. pyedb/siwave_core/cpa/__init__.py +0 -0
  102. {pyedb-0.54.0.dist-info → pyedb-0.56.0.dist-info}/METADATA +1 -2
  103. {pyedb-0.54.0.dist-info → pyedb-0.56.0.dist-info}/RECORD +105 -98
  104. {pyedb-0.54.0.dist-info → pyedb-0.56.0.dist-info}/WHEEL +0 -0
  105. {pyedb-0.54.0.dist-info → pyedb-0.56.0.dist-info}/licenses/LICENSE +0 -0
@@ -34,26 +34,26 @@ class Terminal(Connectable):
34
34
  self._reference_object = None
35
35
 
36
36
  self._boundary_type_mapping = {
37
- "InvalidBoundary": self._pedb.core.cell.terminal.BoundaryType.InvalidBoundary,
38
- "PortBoundary": self._pedb.core.cell.terminal.BoundaryType.PortBoundary,
39
- "PecBoundary": self._pedb.core.cell.terminal.BoundaryType.PecBoundary,
40
- "RlcBoundary": self._pedb.core.cell.terminal.BoundaryType.RlcBoundary,
41
- "kCurrentSource": self._pedb.core.cell.terminal.BoundaryType.kCurrentSource,
42
- "kVoltageSource": self._pedb.core.cell.terminal.BoundaryType.kVoltageSource,
43
- "kNexximGround": self._pedb.core.cell.terminal.BoundaryType.kNexximGround,
44
- "kNexximPort": self._pedb.core.cell.terminal.BoundaryType.kNexximPort,
45
- "kDcTerminal": self._pedb.core.cell.terminal.BoundaryType.kDcTerminal,
46
- "kVoltageProbe": self._pedb.core.cell.terminal.BoundaryType.kVoltageProbe,
37
+ "InvalidBoundary": self._pedb.core.Cell.Terminal.BoundaryType.InvalidBoundary,
38
+ "PortBoundary": self._pedb.core.Cell.Terminal.BoundaryType.PortBoundary,
39
+ "PecBoundary": self._pedb.core.Cell.Terminal.BoundaryType.PecBoundary,
40
+ "RlcBoundary": self._pedb.core.Cell.Terminal.BoundaryType.RlcBoundary,
41
+ "kCurrentSource": self._pedb.core.Cell.Terminal.BoundaryType.kCurrentSource,
42
+ "kVoltageSource": self._pedb.core.Cell.Terminal.BoundaryType.kVoltageSource,
43
+ "kNexximGround": self._pedb.core.Cell.Terminal.BoundaryType.kNexximGround,
44
+ "kNexximPort": self._pedb.core.Cell.Terminal.BoundaryType.kNexximPort,
45
+ "kDcTerminal": self._pedb.core.Cell.Terminal.BoundaryType.kDcTerminal,
46
+ "kVoltageProbe": self._pedb.core.Cell.Terminal.BoundaryType.kVoltageProbe,
47
47
  }
48
48
 
49
49
  self._terminal_type_mapping = {
50
- "InvalidTerminal": self._pedb.core.cell.terminal.TerminalType.InvalidTerminal,
51
- "EdgeTerminal": self._pedb.core.cell.terminal.TerminalType.EdgeTerminal,
52
- "PointTerminal": self._pedb.core.cell.terminal.TerminalType.PointTerminal,
53
- "TerminalInstanceTerminal": self._pedb.core.cell.terminal.TerminalType.TerminalInstanceTerminal,
54
- "PadstackInstanceTerminal": self._pedb.core.cell.terminal.TerminalType.PadstackInstanceTerminal,
55
- "BundleTerminal": self._pedb.core.cell.terminal.TerminalType.BundleTerminal,
56
- "PinGroupTerminal": self._pedb.core.cell.terminal.TerminalType.PinGroupTerminal,
50
+ "InvalidTerminal": self._pedb.core.Cell.Terminal.TerminalType.InvalidTerminal,
51
+ "EdgeTerminal": self._pedb.core.Cell.Terminal.TerminalType.EdgeTerminal,
52
+ "PointTerminal": self._pedb.core.Cell.Terminal.TerminalType.PointTerminal,
53
+ "TerminalInstanceTerminal": self._pedb.core.Cell.Terminal.TerminalType.TerminalInstanceTerminal,
54
+ "PadstackInstanceTerminal": self._pedb.core.Cell.Terminal.TerminalType.PadstackInstanceTerminal,
55
+ "BundleTerminal": self._pedb.core.Cell.Terminal.TerminalType.BundleTerminal,
56
+ "PinGroupTerminal": self._pedb.core.Cell.Terminal.TerminalType.PinGroupTerminal,
57
57
  }
58
58
 
59
59
  @property
@@ -240,10 +240,10 @@ class Terminal(Connectable):
240
240
  if not self._reference_object:
241
241
  term = self._edb_object
242
242
 
243
- if self.terminal_type == self._pedb.core.cell.terminal.TerminalType.EdgeTerminal:
243
+ if self.terminal_type == self._pedb.core.Cell.Terminal.TerminalType.EdgeTerminal:
244
244
  edges = self._edb_object.GetEdges()
245
245
  edgeType = edges[0].GetEdgeType()
246
- if edgeType == self._pedb.core.cell.terminal.EdgeType.PadEdge:
246
+ if edgeType == self._pedb.core.Cell.Terminal.EdgeType.PadEdge:
247
247
  self._reference_object = self.get_pad_edge_terminal_reference_pin()
248
248
  else:
249
249
  self._reference_object = self.get_edge_terminal_reference_primitive()
@@ -304,14 +304,14 @@ class Terminal(Connectable):
304
304
  """
305
305
 
306
306
  refTerm = self._edb_object.GetReferenceTerminal()
307
- if self._edb_object.GetTerminalType() == self._pedb.core.cell.terminal.TerminalType.PinGroupTerminal:
307
+ if self._edb_object.GetTerminalType() == self._pedb.core.Cell.Terminal.TerminalType.PinGroupTerminal:
308
308
  padStackInstance = self._edb_object.GetPinGroup().GetPins()[0]
309
309
  pingroup = refTerm.GetPinGroup()
310
310
  refPinList = pingroup.GetPins()
311
311
  return self._get_closest_pin(padStackInstance, refPinList, gnd_net_name_preference)
312
- elif self._edb_object.GetTerminalType() == self._pedb.core.cell.terminal.TerminalType.PadstackInstanceTerminal:
312
+ elif self._edb_object.GetTerminalType() == self._pedb.core.Cell.Terminal.TerminalType.PadstackInstanceTerminal:
313
313
  _, padStackInstance, _ = self._edb_object.GetParameters()
314
- if refTerm.GetTerminalType() == self._pedb.core.cell.terminal.TerminalType.PinGroupTerminal:
314
+ if refTerm.GetTerminalType() == self._pedb.core.Cell.Terminal.TerminalType.PinGroupTerminal:
315
315
  pingroup = refTerm.GetPinGroup()
316
316
  refPinList = pingroup.GetPins()
317
317
  return self._get_closest_pin(padStackInstance, refPinList, gnd_net_name_preference)
@@ -434,7 +434,7 @@ class Terminal(Connectable):
434
434
 
435
435
  @magnitude.setter
436
436
  def magnitude(self, value):
437
- self._edb_object.SetSourceAmplitude(self._edb.utility.value(value))
437
+ self._edb_object.SetSourceAmplitude(self._edb.Utility.Value(value))
438
438
 
439
439
  @property
440
440
  def phase(self):
@@ -443,4 +443,4 @@ class Terminal(Connectable):
443
443
 
444
444
  @phase.setter
445
445
  def phase(self, value):
446
- self._edb_object.SetSourcePhase(self._edb.utility.value(value))
446
+ self._edb_object.SetSourcePhase(self._edb.Utility.Value(value))
@@ -30,27 +30,6 @@ class VoltageRegulator(Connectable):
30
30
  def __init__(self, pedb, edb_object=None):
31
31
  super().__init__(pedb, edb_object)
32
32
 
33
- @property
34
- def component(self):
35
- """Retrieve voltage regulator component"""
36
- if not self._edb_object.GetComponent().IsNull():
37
- ref_des = self._edb_object.GetComponent().GetName()
38
- if not ref_des:
39
- return False
40
- return self._pedb.components.instances[ref_des]
41
- self._pedb.logger.warning("No voltage regulator component.")
42
- return False
43
-
44
- @component.setter
45
- def component(self, value):
46
- if not isinstance(value, str):
47
- self._pedb.logger.error("refdes name must be provided to set vrm component")
48
- return
49
- if value not in self._pedb.components.instances:
50
- self._pedb.logger.error(f"component {value} not found in layout")
51
- return
52
- self._edb_object.SetGroup(self._pedb.components.instances[value]._edb_object)
53
-
54
33
  @property
55
34
  def load_regulator_current(self):
56
35
  """Retrieve load regulator current value"""