pyedb 0.49.0__py3-none-any.whl → 0.50.1__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 (79) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/configuration/cfg_modeler.py +42 -11
  3. pyedb/configuration/cfg_ports_sources.py +9 -1
  4. pyedb/dotnet/database/cell/hierarchy/component.py +6 -6
  5. pyedb/dotnet/database/components.py +3 -3
  6. pyedb/dotnet/database/edb_data/padstacks_data.py +13 -0
  7. pyedb/dotnet/database/edb_data/primitives_data.py +3 -3
  8. pyedb/dotnet/database/edb_data/variables.py +3 -3
  9. pyedb/dotnet/database/materials.py +16 -16
  10. pyedb/dotnet/database/modeler.py +38 -4
  11. pyedb/dotnet/database/sim_setup_data/data/settings.py +28 -0
  12. pyedb/dotnet/database/stackup.py +1 -0
  13. pyedb/dotnet/database/utilities/hfss_simulation_setup.py +5 -6
  14. pyedb/dotnet/edb.py +22 -20
  15. pyedb/extensions/__init__.py +0 -0
  16. pyedb/extensions/via_design_backend.py +681 -0
  17. pyedb/grpc/database/components.py +537 -686
  18. pyedb/grpc/database/control_file.py +458 -149
  19. pyedb/grpc/database/definition/component_def.py +17 -14
  20. pyedb/grpc/database/definition/materials.py +60 -60
  21. pyedb/grpc/database/definition/package_def.py +8 -8
  22. pyedb/grpc/database/definition/padstack_def.py +31 -33
  23. pyedb/grpc/database/definitions.py +6 -4
  24. pyedb/grpc/database/geometry/arc_data.py +5 -5
  25. pyedb/grpc/database/geometry/point_3d_data.py +3 -3
  26. pyedb/grpc/database/geometry/polygon_data.py +5 -5
  27. pyedb/grpc/database/hfss.py +399 -397
  28. pyedb/grpc/database/hierarchy/component.py +60 -58
  29. pyedb/grpc/database/hierarchy/pin_pair_model.py +6 -6
  30. pyedb/grpc/database/hierarchy/pingroup.py +13 -11
  31. pyedb/grpc/database/hierarchy/s_parameter_model.py +1 -1
  32. pyedb/grpc/database/hierarchy/spice_model.py +1 -1
  33. pyedb/grpc/database/layers/layer.py +2 -2
  34. pyedb/grpc/database/layers/stackup_layer.py +144 -44
  35. pyedb/grpc/database/layout/layout.py +12 -12
  36. pyedb/grpc/database/layout/voltage_regulator.py +8 -8
  37. pyedb/grpc/database/layout_validation.py +5 -5
  38. pyedb/grpc/database/modeler.py +248 -245
  39. pyedb/grpc/database/net/differential_pair.py +4 -4
  40. pyedb/grpc/database/net/extended_net.py +7 -8
  41. pyedb/grpc/database/net/net.py +57 -46
  42. pyedb/grpc/database/nets.py +139 -122
  43. pyedb/grpc/database/padstacks.py +174 -190
  44. pyedb/grpc/database/ports/ports.py +23 -17
  45. pyedb/grpc/database/primitive/padstack_instance.py +45 -30
  46. pyedb/grpc/database/primitive/path.py +7 -7
  47. pyedb/grpc/database/primitive/polygon.py +9 -9
  48. pyedb/grpc/database/primitive/primitive.py +21 -21
  49. pyedb/grpc/database/primitive/rectangle.py +1 -1
  50. pyedb/grpc/database/simulation_setup/hfss_advanced_settings.py +1 -1
  51. pyedb/grpc/database/simulation_setup/hfss_general_settings.py +1 -1
  52. pyedb/grpc/database/simulation_setup/hfss_settings_options.py +1 -1
  53. pyedb/grpc/database/simulation_setup/hfss_simulation_settings.py +6 -6
  54. pyedb/grpc/database/simulation_setup/hfss_simulation_setup.py +2 -2
  55. pyedb/grpc/database/simulation_setup/raptor_x_simulation_settings.py +2 -2
  56. pyedb/grpc/database/simulation_setup/raptor_x_simulation_setup.py +1 -1
  57. pyedb/grpc/database/simulation_setup/siwave_simulation_setup.py +3 -3
  58. pyedb/grpc/database/siwave.py +166 -214
  59. pyedb/grpc/database/source_excitations.py +156 -0
  60. pyedb/grpc/database/stackup.py +415 -316
  61. pyedb/grpc/database/terminal/bundle_terminal.py +12 -12
  62. pyedb/grpc/database/terminal/edge_terminal.py +6 -5
  63. pyedb/grpc/database/terminal/padstack_instance_terminal.py +13 -13
  64. pyedb/grpc/database/terminal/pingroup_terminal.py +12 -12
  65. pyedb/grpc/database/terminal/point_terminal.py +6 -6
  66. pyedb/grpc/database/terminal/terminal.py +26 -26
  67. pyedb/grpc/database/utility/heat_sink.py +5 -5
  68. pyedb/grpc/database/utility/hfss_extent_info.py +21 -21
  69. pyedb/grpc/database/utility/layout_statistics.py +13 -13
  70. pyedb/grpc/database/utility/rlc.py +3 -3
  71. pyedb/grpc/database/utility/sources.py +1 -1
  72. pyedb/grpc/database/utility/sweep_data_distribution.py +1 -1
  73. pyedb/grpc/edb.py +524 -764
  74. {pyedb-0.49.0.dist-info → pyedb-0.50.1.dist-info}/METADATA +1 -1
  75. {pyedb-0.49.0.dist-info → pyedb-0.50.1.dist-info}/RECORD +77 -77
  76. pyedb/extensions/pre_layout_design_toolkit/via_design.py +0 -1151
  77. pyedb/grpc/database/utility/simulation_configuration.py +0 -3305
  78. {pyedb-0.49.0.dist-info → pyedb-0.50.1.dist-info}/LICENSE +0 -0
  79. {pyedb-0.49.0.dist-info → pyedb-0.50.1.dist-info}/WHEEL +0 -0
@@ -59,12 +59,12 @@ class Siwave(object):
59
59
 
60
60
  @property
61
61
  def _edb(self):
62
- """EDB."""
62
+ """EDB object."""
63
63
  return self._pedb
64
64
 
65
65
  @property
66
66
  def _logger(self):
67
- """EDB."""
67
+ """Logger object."""
68
68
  return self._pedb.logger
69
69
 
70
70
  @property
@@ -79,37 +79,37 @@ class Siwave(object):
79
79
 
80
80
  @property
81
81
  def _cell(self):
82
- """Cell."""
82
+ """Active cell."""
83
83
  return self._pedb.active_cell
84
84
 
85
85
  @property
86
86
  def _db(self):
87
- """ """
87
+ """Active database."""
88
88
  return self._pedb.active_db
89
89
 
90
90
  @property
91
91
  def excitations(self):
92
- """Get all excitations."""
92
+ """Excitation sources in the layout."""
93
93
  return self._pedb.excitations
94
94
 
95
95
  @property
96
96
  def sources(self):
97
- """Get all sources."""
97
+ """All sources in the layout."""
98
98
  return self._pedb.sources
99
99
 
100
100
  @property
101
101
  def probes(self):
102
- """Get all probes."""
102
+ """All probes in the layout."""
103
103
  return self._pedb.probes
104
104
 
105
105
  @property
106
106
  def pin_groups(self):
107
- """All Layout Pin groups.
107
+ """All layout pin groups.
108
108
 
109
109
  Returns
110
110
  -------
111
- list
112
- List of all layout pin groups.
111
+ dict
112
+ Dictionary of pin groups with names as keys and pin group objects as values.
113
113
  """
114
114
  _pingroups = {}
115
115
  for el in self._pedb.layout.pin_groups:
@@ -118,8 +118,9 @@ class Siwave(object):
118
118
 
119
119
  def _create_terminal_on_pins(self, source):
120
120
  """Create a terminal on pins.
121
- . deprecated:: pyedb 0.28.0
122
- Use :func:`pyedb.grpc.core.excitations._create_terminal_on_pins` instead.
121
+
122
+ .. deprecated:: pyedb 0.28.0
123
+ Use :func:`pyedb.grpc.core.excitations._create_terminal_on_pins` instead.
123
124
 
124
125
  Parameters
125
126
  ----------
@@ -137,8 +138,8 @@ class Siwave(object):
137
138
  def create_circuit_port_on_pin(self, pos_pin, neg_pin, impedance=50, port_name=None):
138
139
  """Create a circuit port on a pin.
139
140
 
140
- . deprecated:: pyedb 0.28.0
141
- Use :func:`pyedb.grpc.core.excitations.create_circuit_port_on_pin` instead.
141
+ .. deprecated:: pyedb 0.28.0
142
+ Use :func:`pyedb.grpc.core.excitations.create_circuit_port_on_pin` instead.
142
143
 
143
144
  Parameters
144
145
  ----------
@@ -146,8 +147,8 @@ class Siwave(object):
146
147
  Edb Pin
147
148
  neg_pin : Object
148
149
  Edb Pin
149
- impedance : float
150
- Port Impedance
150
+ impedance : float, optional
151
+ Port Impedance. Default is ``50``.
151
152
  port_name : str, optional
152
153
  Port Name
153
154
 
@@ -168,21 +169,21 @@ class Siwave(object):
168
169
  ):
169
170
  """Create circuit port between pin and a reference layer.
170
171
 
171
- . deprecated:: pyedb 0.28.0
172
- Use :func:`pyedb.grpc.core.excitations.create_port_between_pin_and_layer` instead.
172
+ .. deprecated:: pyedb 0.28.0
173
+ Use :func:`pyedb.grpc.core.excitations.create_port_between_pin_and_layer` instead.
173
174
 
174
175
  Parameters
175
176
  ----------
176
177
  component_name : str
177
- Component name. The default is ``None``.
178
+ Component name.
178
179
  pins_name : str
179
- Pin name or list of pin names. The default is ``None``.
180
+ Pin name or list of pin names.
180
181
  layer_name : str
181
- Layer name. The default is ``None``.
182
+ Layer name.
182
183
  reference_net : str
183
- Reference net name. The default is ``None``.
184
+ Reference net name.
184
185
  impedance : float, optional
185
- Port impedance. The default is ``50.0`` in ohms.
186
+ Port impedance. Default is ``50.0`` ohms.
186
187
 
187
188
  Returns
188
189
  -------
@@ -200,8 +201,9 @@ class Siwave(object):
200
201
 
201
202
  def create_voltage_source_on_pin(self, pos_pin, neg_pin, voltage_value=3.3, phase_value=0, source_name=""):
202
203
  """Create a voltage source.
203
- . deprecated:: pyedb 0.28.0
204
- Use :func:`pyedb.grpc.core.excitations.create_voltage_source_on_pin` instead.
204
+
205
+ .. deprecated:: pyedb 0.28.0
206
+ Use :func:`pyedb.grpc.core.excitations.create_voltage_source_on_pin` instead.
205
207
 
206
208
  Parameters
207
209
  ----------
@@ -210,11 +212,11 @@ class Siwave(object):
210
212
  neg_pin : Object
211
213
  Negative Pin.
212
214
  voltage_value : float, optional
213
- Value for the voltage. The default is ``3.3``.
215
+ Value for the voltage. Default is ``3.3``.
214
216
  phase_value : optional
215
- Value for the phase. The default is ``0``.
217
+ Value for the phase. Default is ``0``.
216
218
  source_name : str, optional
217
- Name of the source. The default is ``""``.
219
+ Name of the source. Default is ``""``.
218
220
 
219
221
  Returns
220
222
  -------
@@ -234,8 +236,8 @@ class Siwave(object):
234
236
  def create_current_source_on_pin(self, pos_pin, neg_pin, current_value=0.1, phase_value=0, source_name=""):
235
237
  """Create a current source.
236
238
 
237
- . deprecated:: pyedb 0.28.0
238
- Use :func:`pyedb.grpc.core.excitations.create_current_source_on_pin` instead.
239
+ .. deprecated:: pyedb 0.28.0
240
+ Use :func:`pyedb.grpc.core.excitations.create_current_source_on_pin` instead.
239
241
 
240
242
  Parameters
241
243
  ----------
@@ -244,11 +246,11 @@ class Siwave(object):
244
246
  neg_pin : Object
245
247
  Negative pin.
246
248
  current_value : float, optional
247
- Value for the current. The default is ``0.1``.
249
+ Value for the current. Default is ``0.1``.
248
250
  phase_value : optional
249
- Value for the phase. The default is ``0``.
251
+ Value for the phase. Default is ``0``.
250
252
  source_name : str, optional
251
- Name of the source. The default is ``""``.
253
+ Name of the source. Default is ``""``.
252
254
 
253
255
  Returns
254
256
  -------
@@ -265,10 +267,10 @@ class Siwave(object):
265
267
  )
266
268
 
267
269
  def create_resistor_on_pin(self, pos_pin, neg_pin, rvalue=1, resistor_name=""):
268
- """Create a Resistor boundary between two given pins.
270
+ """Create a resistor boundary between two given pins.
269
271
 
270
- . deprecated:: pyedb 0.28.0
271
- Use :func:`pyedb.grpc.core.excitations.create_resistor_on_pin` instead.
272
+ .. deprecated:: pyedb 0.28.0
273
+ Use :func:`pyedb.grpc.core.excitations.create_resistor_on_pin` instead.
272
274
 
273
275
  Parameters
274
276
  ----------
@@ -277,9 +279,9 @@ class Siwave(object):
277
279
  neg_pin : Object
278
280
  Negative Pin.
279
281
  rvalue : float, optional
280
- Resistance value. The default is ``1``.
282
+ Resistance value. Default is ``1``.
281
283
  resistor_name : str, optional
282
- Name of the resistor. The default is ``""``.
284
+ Name of the resistor. Default is ``""``.
283
285
 
284
286
  Returns
285
287
  -------
@@ -294,10 +296,10 @@ class Siwave(object):
294
296
  return self._pedb.source_excitation.create_resistor_on_pin(pos_pin, neg_pin, rvalue, resistor_name)
295
297
 
296
298
  def _check_gnd(self, component_name):
297
- """
298
- . deprecated:: pyedb 0.28.0
299
- Use :func:`pyedb.grpc.core.excitations._check_gnd` instead.
299
+ """Check ground reference.
300
300
 
301
+ .. deprecated:: pyedb 0.28.0
302
+ Use :func:`pyedb.grpc.core.excitations._check_gnd` instead.
301
303
  """
302
304
  warnings.warn(
303
305
  "`_check_gnd` is deprecated and is now located here " "`pyedb.grpc.core.excitations._check_gnd` instead.",
@@ -314,12 +316,12 @@ class Siwave(object):
314
316
  impedance_value=50,
315
317
  port_name="",
316
318
  ):
317
- """Create a circuit port on a NET.
319
+ """Create a circuit port on a net.
318
320
 
319
- . deprecated:: pyedb 0.28.0
320
- Use :func:`pyedb.grpc.core.excitations.create_circuit_port_on_net` instead.
321
+ .. deprecated:: pyedb 0.28.0
322
+ Use :func:`pyedb.grpc.core.excitations.create_circuit_port_on_net` instead.
321
323
 
322
- It groups all pins belonging to the specified net and then applies the port on PinGroups.
324
+ Groups all pins belonging to the specified net and applies the port on PinGroups.
323
325
 
324
326
  Parameters
325
327
  ----------
@@ -328,20 +330,18 @@ class Siwave(object):
328
330
  positive_net_name : str
329
331
  Name of the positive net.
330
332
  negative_component_name : str, optional
331
- Name of the negative component. The default is ``None``, in which case the name of
332
- the positive net is assigned.
333
+ Name of the negative component. Default is ``None``.
333
334
  negative_net_name : str, optional
334
- Name of the negative net name. The default is ``None`` which will look for GND Nets.
335
+ Name of the negative net name. Default is ``None`` (searches for GND nets).
335
336
  impedance_value : float, optional
336
- Port impedance value. The default is ``50``.
337
+ Port impedance value. Default is ``50``.
337
338
  port_name : str, optional
338
- Name of the port. The default is ``""``.
339
+ Name of the port. Default is ``""``.
339
340
 
340
341
  Returns
341
342
  -------
342
343
  str
343
344
  The name of the port.
344
-
345
345
  """
346
346
  warnings.warn(
347
347
  "`create_circuit_port_on_net` is deprecated and is now located here "
@@ -367,10 +367,10 @@ class Siwave(object):
367
367
  phase_value=0,
368
368
  source_name="",
369
369
  ):
370
- """Create a voltage source.
370
+ """Create a voltage source on a net.
371
371
 
372
- . deprecated:: pyedb 0.28.0
373
- Use :func:`pyedb.grpc.core.excitations.create_voltage_source_on_net` instead.
372
+ .. deprecated:: pyedb 0.28.0
373
+ Use :func:`pyedb.grpc.core.excitations.create_voltage_source_on_net` instead.
374
374
 
375
375
  Parameters
376
376
  ----------
@@ -379,22 +379,20 @@ class Siwave(object):
379
379
  positive_net_name : str
380
380
  Name of the positive net.
381
381
  negative_component_name : str, optional
382
- Name of the negative component. The default is ``None``, in which case the name of
383
- the positive net is assigned.
382
+ Name of the negative component. Default is ``None``.
384
383
  negative_net_name : str, optional
385
- Name of the negative net name. The default is ``None`` which will look for GND Nets.
384
+ Name of the negative net name. Default is ``None`` (searches for GND nets).
386
385
  voltage_value : float, optional
387
- Value for the voltage. The default is ``3.3``.
386
+ Value for the voltage. Default is ``3.3``.
388
387
  phase_value : optional
389
- Value for the phase. The default is ``0``.
388
+ Value for the phase. Default is ``0``.
390
389
  source_name : str, optional
391
- Name of the source. The default is ``""``.
390
+ Name of the source. Default is ``""``.
392
391
 
393
392
  Returns
394
393
  -------
395
394
  str
396
395
  The name of the source.
397
-
398
396
  """
399
397
  warnings.warn(
400
398
  "`create_voltage_source_on_net` is deprecated and is now located here "
@@ -421,10 +419,10 @@ class Siwave(object):
421
419
  phase_value=0,
422
420
  source_name="",
423
421
  ):
424
- """Create a current source.
422
+ """Create a current source on a net.
425
423
 
426
- . deprecated:: pyedb 0.28.0
427
- Use :func:`pyedb.grpc.core.excitations.create_current_source_on_net` instead.
424
+ .. deprecated:: pyedb 0.28.0
425
+ Use :func:`pyedb.grpc.core.excitations.create_current_source_on_net` instead.
428
426
 
429
427
  Parameters
430
428
  ----------
@@ -433,16 +431,15 @@ class Siwave(object):
433
431
  positive_net_name : str
434
432
  Name of the positive net.
435
433
  negative_component_name : str, optional
436
- Name of the negative component. The default is ``None``, in which case the name of
437
- the positive net is assigned.
434
+ Name of the negative component. Default is ``None``.
438
435
  negative_net_name : str, optional
439
- Name of the negative net name. The default is ``None`` which will look for GND Nets.
436
+ Name of the negative net name. Default is ``None`` (searches for GND nets).
440
437
  current_value : float, optional
441
- Value for the current. The default is ``0.1``.
438
+ Value for the current. Default is ``0.1``.
442
439
  phase_value : optional
443
- Value for the phase. The default is ``0``.
440
+ Value for the phase. Default is ``0``.
444
441
  source_name : str, optional
445
- Name of the source. The default is ``""``.
442
+ Name of the source. Default is ``""``.
446
443
 
447
444
  Returns
448
445
  -------
@@ -470,10 +467,10 @@ class Siwave(object):
470
467
  net_name,
471
468
  source_name="",
472
469
  ):
473
- """Create a dc terminal.
470
+ """Create a DC terminal.
474
471
 
475
- . deprecated:: pyedb 0.28.0
476
- Use :func:`pyedb.grpc.core.excitations.create_dc_terminal` instead.
472
+ .. deprecated:: pyedb 0.28.0
473
+ Use :func:`pyedb.grpc.core.excitations.create_dc_terminal` instead.
477
474
 
478
475
  Parameters
479
476
  ----------
@@ -481,9 +478,8 @@ class Siwave(object):
481
478
  Name of the positive component.
482
479
  net_name : str
483
480
  Name of the positive net.
484
-
485
481
  source_name : str, optional
486
- Name of the source. The default is ``""``.
482
+ Name of the source. Default is ``""``.
487
483
 
488
484
  Returns
489
485
  -------
@@ -505,19 +501,21 @@ class Siwave(object):
505
501
  Parameters
506
502
  ----------
507
503
  add_dc : bool, optional
508
- Whether to add the DC option in the EXE file. The default is ``False``.
504
+ Whether to add the DC option in the EXE file. Default is ``False``.
509
505
  add_ac : bool, optional
510
- Whether to add the AC option in the EXE file. The default is
511
- ``False``.
506
+ Whether to add the AC option in the EXE file. Default is ``False``.
512
507
  add_syz : bool, optional
513
- Whether to add the SYZ option in the EXE file
508
+ Whether to add the SYZ option in the EXE file. Default is ``False``.
514
509
  export_touchstone : bool, optional
515
- Add the Touchstone file export option in the EXE file.
516
- The default is ``False``.
510
+ Add the Touchstone file export option in the EXE file. Default is ``False``.
517
511
  touchstone_file_path : str, optional
518
- File path for the Touchstone file. The default is ``""``. When no path is
519
- specified and ``export_touchstone=True``, the path for the project is
520
- used.
512
+ File path for the Touchstone file. Default is ``""``. When no path is
513
+ specified and ``export_touchstone=True``, the project path is used.
514
+
515
+ Returns
516
+ -------
517
+ bool
518
+ ``True`` if file was created, ``False`` otherwise.
521
519
  """
522
520
  workdir = os.path.dirname(self._pedb.edbpath)
523
521
  file_name = os.path.join(workdir, os.path.splitext(os.path.basename(self._pedb.edbpath))[0] + ".exec")
@@ -556,23 +554,23 @@ class Siwave(object):
556
554
  Parameters
557
555
  ----------
558
556
  accuracy_level : int, optional
559
- Level of accuracy of SI slider. The default is ``1``.
557
+ Level of accuracy of SI slider. Default is ``1``.
560
558
  distribution : str, optional
561
- Type of the sweep. The default is `"linear"`. Options are:
562
- - `"linear"`
563
- - `"linear_count"`
564
- - `"decade_count"`
565
- - `"octave_count"`
566
- - `"exponential"`
559
+ Type of the sweep. Default is ``"linear"``. Options are:
560
+ - ``"linear"``
561
+ - ``"linear_count"``
562
+ - ``"decade_count"``
563
+ - ``"octave_count"``
564
+ - ``"exponential"``
567
565
  start_freq : str, float, optional
568
- Starting frequency. The default is ``1``.
566
+ Starting frequency. Default is ``1``.
569
567
  stop_freq : str, float, optional
570
- Stopping frequency. The default is ``1e9``.
568
+ Stopping frequency. Default is ``1e9``.
571
569
  step_freq : str, float, int, optional
572
- Frequency step. The default is ``1e6``. or used for `"decade_count"`, "linear_count"`, "octave_count"`
570
+ Frequency step. Default is ``1e6``. Used for ``"decade_count"``, ``"linear_count"``, ``"octave_count"``
573
571
  distribution. Must be integer in that case.
574
572
  discrete_sweep : bool, optional
575
- Whether the sweep is discrete. The default is ``False``.
573
+ Whether the sweep is discrete. Default is ``False``.
576
574
 
577
575
  Returns
578
576
  -------
@@ -615,9 +613,6 @@ class Siwave(object):
615
613
  def add_siwave_dc_analysis(self, name=None):
616
614
  """Add a Siwave DC analysis in EDB.
617
615
 
618
- If a setup is present, it is deleted and replaced with
619
- actual settings.
620
-
621
616
  .. note::
622
617
  Source Reference to Ground settings works only from 2021.2
623
618
 
@@ -637,7 +632,6 @@ class Siwave(object):
637
632
  >>> edb = Edb("pathtoaedb", edbversion="2021.2")
638
633
  >>> edb.siwave.add_siwave_ac_analysis()
639
634
  >>> edb.siwave.add_siwave_dc_analysis2("my_setup")
640
-
641
635
  """
642
636
  setup = self._pedb.create_siwave_dc_setup(name)
643
637
  self.create_exec_file(add_dc=True)
@@ -646,8 +640,8 @@ class Siwave(object):
646
640
  def create_pin_group_terminal(self, source):
647
641
  """Create a pin group terminal.
648
642
 
649
- . deprecated:: pyedb 0.28.0
650
- Use :func:`pyedb.grpc.core.excitations.create_pin_group_terminal` instead.
643
+ .. deprecated:: pyedb 0.28.0
644
+ Use :func:`pyedb.grpc.core.excitations.create_pin_group_terminal` instead.
651
645
 
652
646
  Parameters
653
647
  ----------
@@ -671,36 +665,30 @@ class Siwave(object):
671
665
  l_value=1e-9,
672
666
  is_parallel=False,
673
667
  ):
674
- """Create physical Rlc component.
668
+ """Create physical RLC component.
675
669
 
676
- . deprecated:: pyedb 0.28.0
677
- Use :func:`pyedb.grpc.core.components.create_pin_group_terminal` instead.
670
+ .. deprecated:: pyedb 0.28.0
671
+ Use :func:`pyedb.grpc.core.components.create_rlc_component` instead.
678
672
 
679
673
  Parameters
680
674
  ----------
681
675
  pins : list[Edb.Cell.Primitive.PadstackInstance]
682
676
  List of EDB pins.
683
-
684
677
  component_name : str
685
678
  Component name.
686
-
687
679
  r_value : float
688
680
  Resistor value.
689
-
690
681
  c_value : float
691
682
  Capacitance value.
692
-
693
683
  l_value : float
694
684
  Inductor value.
695
-
696
685
  is_parallel : bool
697
- Using parallel model when ``True``, series when ``False``.
686
+ Use parallel model when ``True``, series when ``False``.
698
687
 
699
688
  Returns
700
689
  -------
701
- class:`pyedb.dotnet.database.components.Components`
690
+ :class:`pyedb.dotnet.database.components.Components`
702
691
  Created EDB component.
703
-
704
692
  """
705
693
  warnings.warn(
706
694
  "`create_rlc_component` is deprecated and is now located here "
@@ -720,8 +708,8 @@ class Siwave(object):
720
708
  def create_pin_group(self, reference_designator, pin_numbers, group_name=None):
721
709
  """Create pin group on the component.
722
710
 
723
- . deprecated:: pyedb 0.28.0
724
- Use :func:`pyedb.grpc.core.components.create_pin_group_terminal` instead.
711
+ .. deprecated:: pyedb 0.28.0
712
+ Use :func:`pyedb.grpc.core.components.create_pin_group` instead.
725
713
 
726
714
  Parameters
727
715
  ----------
@@ -735,6 +723,7 @@ class Siwave(object):
735
723
  Returns
736
724
  -------
737
725
  PinGroup
726
+ Pin group object.
738
727
  """
739
728
  warnings.warn(
740
729
  "`create_pin_group` is deprecated and is now located here "
@@ -746,8 +735,8 @@ class Siwave(object):
746
735
  def create_pin_group_on_net(self, reference_designator, net_name, group_name=None):
747
736
  """Create pin group on component by net name.
748
737
 
749
- . deprecated:: pyedb 0.28.0
750
- Use :func:`pyedb.grpc.core.components.create_pin_group_terminal` instead.
738
+ .. deprecated:: pyedb 0.28.0
739
+ Use :func:`pyedb.grpc.core.components.create_pin_group_on_net` instead.
751
740
 
752
741
  Parameters
753
742
  ----------
@@ -756,11 +745,12 @@ class Siwave(object):
756
745
  net_name : str
757
746
  Name of the net.
758
747
  group_name : str, optional
759
- Name of the pin group. The default value is ``None``.
748
+ Name of the pin group.
760
749
 
761
750
  Returns
762
751
  -------
763
752
  PinGroup
753
+ Pin group object.
764
754
  """
765
755
  warnings.warn(
766
756
  "`create_pin_group_on_net` is deprecated and is now located here "
@@ -774,9 +764,8 @@ class Siwave(object):
774
764
  ):
775
765
  """Create current source between two pin groups.
776
766
 
777
- .deprecated:: pyedb 0.28.0
778
- Use: func:`pyedb.grpc.core.excitations.create_current_source_on_pin_group`
779
- instead.
767
+ .. deprecated:: pyedb 0.28.0
768
+ Use :func:`pyedb.grpc.core.excitations.create_current_source_on_pin_group` instead.
780
769
 
781
770
  Parameters
782
771
  ----------
@@ -785,16 +774,16 @@ class Siwave(object):
785
774
  neg_pin_group_name : str
786
775
  Name of the negative pin group.
787
776
  magnitude : int, float, optional
788
- Magnitude of the source.
777
+ Magnitude of the source. Default is ``1``.
789
778
  phase : int, float, optional
790
- Phase of the source
779
+ Phase of the source. Default is ``0``.
791
780
  name : str, optional
792
- source name.
781
+ Source name.
793
782
 
794
783
  Returns
795
784
  -------
796
785
  bool
797
-
786
+ ``True`` when successful, ``False`` otherwise.
798
787
  """
799
788
  warnings.warn(
800
789
  "`create_current_source_on_pin_group` is deprecated and is now located here "
@@ -810,25 +799,28 @@ class Siwave(object):
810
799
  ):
811
800
  """Create voltage source between two pin groups.
812
801
 
813
- .deprecated:: pyedb 0.28.0
814
- Use: func:`pyedb.grpc.core.excitations.create_voltage_source_on_pin_group`
815
- instead.
816
-
817
- Parameters
818
- ----------
819
- pos_pin_group_name : str
820
- Name of the positive pin group.
821
- neg_pin_group_name : str
822
- Name of the negative pin group.
823
- magnitude : int, float, optional
824
- Magnitude of the source.
825
- phase : int, float, optional
826
- Phase of the source
827
-
828
- Returns
829
- -------
830
- bool
802
+ .. deprecated:: pyedb 0.28.0
803
+ Use :func:`pyedb.grpc.core.excitations.create_voltage_source_on_pin_group` instead.
804
+
805
+ Parameters
806
+ ----------
807
+ pos_pin_group_name : str
808
+ Name of the positive pin group.
809
+ neg_pin_group_name : str
810
+ Name of the negative pin group.
811
+ magnitude : int, float, optional
812
+ Magnitude of the source. Default is ``1``.
813
+ phase : int, float, optional
814
+ Phase of the source. Default is ``0``.
815
+ name : str, optional
816
+ Source name.
817
+ impedance : float, optional
818
+ Source impedance. Default is ``0.001``.
831
819
 
820
+ Returns
821
+ -------
822
+ bool
823
+ ``True`` when successful, ``False`` otherwise.
832
824
  """
833
825
  warnings.warn(
834
826
  "`create_voltage_source_on_pin_group` is deprecated and is now located here "
@@ -842,9 +834,8 @@ class Siwave(object):
842
834
  def create_voltage_probe_on_pin_group(self, probe_name, pos_pin_group_name, neg_pin_group_name, impedance=1e6):
843
835
  """Create voltage probe between two pin groups.
844
836
 
845
- .deprecated:: pyedb 0.28.0
846
- Use: func:`pyedb.grpc.core.excitations.create_voltage_probe_on_pin_group`
847
- instead.
837
+ .. deprecated:: pyedb 0.28.0
838
+ Use :func:`pyedb.grpc.core.excitations.create_voltage_probe_on_pin_group` instead.
848
839
 
849
840
  Parameters
850
841
  ----------
@@ -855,12 +846,12 @@ class Siwave(object):
855
846
  neg_pin_group_name : str
856
847
  Name of the negative pin group.
857
848
  impedance : int, float, optional
858
- Phase of the source.
849
+ Probe impedance. Default is ``1e6``.
859
850
 
860
851
  Returns
861
852
  -------
862
853
  bool
863
-
854
+ ``True`` when successful, ``False`` otherwise.
864
855
  """
865
856
 
866
857
  warnings.warn(
@@ -875,9 +866,8 @@ class Siwave(object):
875
866
  def create_circuit_port_on_pin_group(self, pos_pin_group_name, neg_pin_group_name, impedance=50, name=None):
876
867
  """Create a port between two pin groups.
877
868
 
878
- .deprecated:: pyedb 0.28.0
879
- Use: func:`pyedb.grpc.core.excitations.create_circuit_port_on_pin_group`
880
- instead.
869
+ .. deprecated:: pyedb 0.28.0
870
+ Use :func:`pyedb.grpc.core.excitations.create_circuit_port_on_pin_group` instead.
881
871
 
882
872
  Parameters
883
873
  ----------
@@ -893,7 +883,7 @@ class Siwave(object):
893
883
  Returns
894
884
  -------
895
885
  bool
896
-
886
+ ``True`` when successful, ``False`` otherwise.
897
887
  """
898
888
  warnings.warn(
899
889
  "`create_circuit_port_on_pin_group` is deprecated and is now located here "
@@ -916,21 +906,20 @@ class Siwave(object):
916
906
  ):
917
907
  """Place a voltage probe between two points.
918
908
 
919
- .deprecated:: pyedb 0.28.0
920
- Use: func:`pyedb.grpc.core.excitations.place_voltage_probe`
921
- instead.
909
+ .. deprecated:: pyedb 0.28.0
910
+ Use :func:`pyedb.grpc.core.excitations.place_voltage_probe` instead.
922
911
 
923
912
  Parameters
924
913
  ----------
925
- name : str,
914
+ name : str
926
915
  Name of the probe.
927
916
  positive_net_name : str
928
917
  Name of the positive net.
929
918
  positive_location : list
930
919
  Location of the positive terminal.
931
- positive_layer : str,
920
+ positive_layer : str
932
921
  Layer of the positive terminal.
933
- negative_net_name : str,
922
+ negative_net_name : str
934
923
  Name of the negative net.
935
924
  negative_location : list
936
925
  Location of the negative terminal.
@@ -952,70 +941,34 @@ class Siwave(object):
952
941
  negative_layer,
953
942
  )
954
943
 
955
- # def create_vrm_module(
956
- # self,
957
- # name=None,
958
- # is_active=True,
959
- # voltage="3V",
960
- # positive_sensor_pin=None,
961
- # negative_sensor_pin=None,
962
- # load_regulation_current="1A",
963
- # load_regulation_percent=0.1,
964
- # ):
965
- # """Create a voltage regulator module.
966
- #
967
- # Parameters
968
- # ----------
969
- # name : str
970
- # Name of the voltage regulator.
971
- # is_active : bool optional
972
- # Set the voltage regulator active or not. Default value is ``True``.
973
- # voltage ; str, float
974
- # Set the voltage value.
975
- # positive_sensor_pin : int, .class pyedb.dotnet.database.edb_data.padstacks_data.EDBPadstackInstance
976
- # defining the positive sensor pin.
977
- # negative_sensor_pin : int, .class pyedb.dotnet.database.edb_data.padstacks_data.EDBPadstackInstance
978
- # defining the negative sensor pin.
979
- # load_regulation_current : str or float
980
- # definition the load regulation current value.
981
- # load_regulation_percent : float
982
- # definition the load regulation percent value.
983
- # """
984
- # from pyedb.grpc.database.voltage_regulator import VoltageRegulator
985
- #
986
- # voltage = self._pedb.edb_value(voltage)
987
- # load_regulation_current = self._pedb.edb_value(load_regulation_current)
988
- # load_regulation_percent = self._pedb.edb_value(load_regulation_percent)
989
- # edb_vrm = self._edb_object = self._pedb._edb.Cell.VoltageRegulator.Create(
990
- # self._pedb.active_layout, name, is_active, voltage, load_regulation_current, load_regulation_percent
991
- # )
992
- # vrm = VoltageRegulator(self._pedb, edb_vrm)
993
- # if positive_sensor_pin:
994
- # vrm.positive_remote_sense_pin = positive_sensor_pin
995
- # if negative_sensor_pin:
996
- # vrm.negative_remote_sense_pin = negative_sensor_pin
997
- # return vrm
998
-
999
- @property
1000
- def icepak_use_minimal_comp_defaults(self):
1001
- """Icepak default setting. If "True", only resistor are active in Icepak simulation.
1002
- The power dissipation of the resistors are calculated from DC results.
1003
- """
1004
- return self._pedb.active_cell.get_product_property(GrpcProductIdType.SIWAVE, 422).value
1005
-
1006
944
  def create_impedance_crosstalk_scan(self, scan_type="impedance"):
1007
- """Create Siwave crosstalk scan object
945
+ """Create Siwave crosstalk scan object.
1008
946
 
1009
947
  Parameters
1010
948
  ----------
1011
- scan_type : str
1012
- Scan type to be analyzed. 3 options are available, ``impedance`` for frequency impedance scan,
1013
- ``frequency_xtalk`` for frequency domain crosstalk and ``time_xtalk`` for time domain crosstalk.
1014
- Default value is ``frequency``.
949
+ scan_type : str, optional
950
+ Scan type to be analyzed. Options are:
951
+ - ``"impedance"`` for frequency impedance scan
952
+ - ``"frequency_xtalk"`` for frequency domain crosstalk
953
+ - ``"time_xtalk"`` for time domain crosstalk
954
+ Default is ``"impedance"``.
1015
955
 
956
+ Returns
957
+ -------
958
+ SiwaveScanConfig
959
+ Scan configuration object.
1016
960
  """
1017
961
  return SiwaveScanConfig(self._pedb, scan_type)
1018
962
 
963
+ @property
964
+ def icepak_use_minimal_comp_defaults(self):
965
+ """Icepak default setting.
966
+
967
+ If ``True``, only resistors are active in Icepak simulation and power dissipation
968
+ is calculated from DC results.
969
+ """
970
+ return self._pedb.active_cell.get_product_property(GrpcProductIdType.SIWAVE, 422).value
971
+
1019
972
  @icepak_use_minimal_comp_defaults.setter
1020
973
  def icepak_use_minimal_comp_defaults(self, value):
1021
974
  value = "True" if bool(value) else ""
@@ -1025,7 +978,6 @@ class Siwave(object):
1025
978
  def icepak_component_file(self):
1026
979
  """Icepak component file path."""
1027
980
  return self._pedb.active_cell.get_product_property(GrpcProductIdType.SIWAVE, 420).value
1028
- return value
1029
981
 
1030
982
  @icepak_component_file.setter
1031
983
  def icepak_component_file(self, value):