pyedb 0.8.0__py3-none-any.whl → 0.8.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.

pyedb/__init__.py CHANGED
@@ -44,7 +44,7 @@ deprecation_warning()
44
44
  #
45
45
 
46
46
  pyedb_path = os.path.dirname(__file__)
47
- __version__ = "0.8.0"
47
+ __version__ = "0.8.1"
48
48
  version = __version__
49
49
 
50
50
  #
@@ -879,7 +879,7 @@ class Components(object):
879
879
  Type of port to create. ``CoaxPort`` generates solder balls.
880
880
  ``CircuitPort`` generates circuit ports on pins belonging to the net list.
881
881
  do_pingroup : bool
882
- True activate pingroup during port creation (only used with combination of CoaxPort),
882
+ True activate pingroup during port creation (only used with combination of CircPort),
883
883
  False will take the closest reference pin and generate one port per signal pin.
884
884
  refnet : string or list of string.
885
885
  list of the reference net.
@@ -1016,17 +1016,10 @@ class Components(object):
1016
1016
  else:
1017
1017
  self._logger.info("No pins found on component {} for the net {}".format(component, net))
1018
1018
  else:
1019
- ref_pin_group = self.create_pingroup_from_pins(ref_pins)
1020
- if not ref_pin_group:
1021
- self._logger.warning("failed to create reference pin group")
1022
- return False
1023
- ref_pin_group_term = self._create_pin_group_terminal(ref_pin_group, isref=True)
1024
1019
  for net in net_list:
1025
1020
  pins = [pin for pin in cmp_pins if pin.GetNet().GetName() == net]
1026
1021
  for pin in pins:
1027
- pin_group = self.create_pingroup_from_pins([pin])
1028
- pin_group_term = self._create_pin_group_terminal(pin_group, isref=False)
1029
- pin_group_term.SetReferenceTerminal(ref_pin_group_term)
1022
+ self.create_port_on_pins(component, pin, ref_pins)
1030
1023
  return True
1031
1024
 
1032
1025
  @pyedb_function_handler()
@@ -1335,7 +1328,7 @@ class Components(object):
1335
1328
  return True
1336
1329
 
1337
1330
  @pyedb_function_handler()
1338
- def _create_pin_group_terminal(self, pingroup, isref=False, term_name=None):
1331
+ def _create_pin_group_terminal(self, pingroup, isref=False, term_name=None, term_type="circuit"):
1339
1332
  """Creates an EDB pin group terminal from a given EDB pin group.
1340
1333
 
1341
1334
  Parameters
@@ -1343,10 +1336,13 @@ class Components(object):
1343
1336
  pingroup : Edb pin group.
1344
1337
 
1345
1338
  isref : bool
1339
+ Specify if this terminal a reference terminal.
1346
1340
 
1347
1341
  term_name : Terminal name (Optional). If not provided default name is Component name, Pin name, Net name.
1348
1342
  str.
1349
1343
 
1344
+ term_type: Type of terminal, gap, circuit or auto.
1345
+ str.
1350
1346
  Returns
1351
1347
  -------
1352
1348
  Edb pin group terminal.
@@ -1360,6 +1356,10 @@ class Components(object):
1360
1356
  pingroup_term = self._edb.cell.terminal.PinGroupTerminal.Create(
1361
1357
  self._active_layout, pingroup.GetNet(), term_name, pingroup, isref
1362
1358
  )
1359
+ if term_type == "circuit":
1360
+ pingroup_term.SetIsCircuitPort(True)
1361
+ elif term_type == "auto":
1362
+ pingroup_term.SetIsAutoPort(True)
1363
1363
  return pingroup_term
1364
1364
 
1365
1365
  @pyedb_function_handler()
@@ -2295,7 +2295,7 @@ class Components(object):
2295
2295
  Filter on the net name as an alternative to
2296
2296
  ``pinName``. The default is ``None``.
2297
2297
  pinName : str, optional
2298
- Filter on the pin name an an alternative to
2298
+ Filter on the pin name an alternative to
2299
2299
  ``netName``. The default is ``None``.
2300
2300
 
2301
2301
  Returns
@@ -1454,3 +1454,34 @@ class EdbSiwave(object):
1454
1454
  p_terminal = self._pedb.get_point_terminal(name, positive_net_name, positive_location, positive_layer)
1455
1455
  n_terminal = self._pedb.get_point_terminal(name + "_ref", negative_net_name, negative_location, negative_layer)
1456
1456
  return self._pedb.create_voltage_probe(p_terminal, n_terminal)
1457
+
1458
+ @property
1459
+ def icepak_use_minimal_comp_defaults(self):
1460
+ """Icepak default setting. If "True", only resistor are active in Icepak simulation.
1461
+ The power dissipation of the resistors are calculated from DC results.
1462
+ """
1463
+ siwave_id = self._pedb.edb_api.ProductId.SIWave
1464
+ cell = self._pedb.active_cell._active_cell
1465
+ _, value = cell.GetProductProperty(siwave_id, 422, "")
1466
+ return bool(value)
1467
+
1468
+ @icepak_use_minimal_comp_defaults.setter
1469
+ def icepak_use_minimal_comp_defaults(self, value):
1470
+ value = "True" if bool(value) else ""
1471
+ siwave_id = self._pedb.edb_api.ProductId.SIWave
1472
+ cell = self._pedb.active_cell._active_cell
1473
+ cell.SetProductProperty(siwave_id, 422, value)
1474
+
1475
+ @property
1476
+ def icepak_component_file(self):
1477
+ """Icepak component file path."""
1478
+ siwave_id = self._pedb.edb_api.ProductId.SIWave
1479
+ cell = self._pedb.active_cell._active_cell
1480
+ _, value = cell.GetProductProperty(siwave_id, 420, "")
1481
+ return value
1482
+
1483
+ @icepak_component_file.setter
1484
+ def icepak_component_file(self, value):
1485
+ siwave_id = self._pedb.edb_api.ProductId.SIWave
1486
+ cell = self._pedb.active_cell._active_cell
1487
+ cell.SetProductProperty(siwave_id, 420, value)
@@ -2264,7 +2264,7 @@ class Stackup(object):
2264
2264
  >>> edb.stackup.import_stackup("stackup.xml")
2265
2265
  """
2266
2266
 
2267
- self._logger.warning("Method export_stackup is deprecated. Use .export.")
2267
+ self._logger.warning("Method import_stackup is deprecated. Use .load")
2268
2268
  return self.load(file_path)
2269
2269
 
2270
2270
  @pyedb_function_handler()
pyedb/generic/settings.py CHANGED
@@ -20,7 +20,6 @@
20
20
  # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
21
  # SOFTWARE.
22
22
 
23
- import logging
24
23
  import os
25
24
  import time
26
25
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyedb
3
- Version: 0.8.0
3
+ Version: 0.8.1
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>
@@ -1,4 +1,4 @@
1
- pyedb/__init__.py,sha256=6jpWxvV24dOo0Z7hWKCCteqwTs8adNrt2gI1DqoEynk,1520
1
+ pyedb/__init__.py,sha256=E32CaYS36_mPebFR8emGgxai-TPaWHCWwE9WpMwLBIs,1520
2
2
  pyedb/edb_logger.py,sha256=yNkXnoL2me7ubLT6O6r6ElVnkZ1g8fmfFYC_2XJZ1Sw,14950
3
3
  pyedb/exceptions.py,sha256=n94xluzUks6BA24vd_L6HkrvoP_H_l6__hQmqzdCyPo,111
4
4
  pyedb/siwave.py,sha256=ilUsA74QKy7VpRfmfvRrcVZhPAsyfgXHZm0SDDHiGBE,11576
@@ -8,7 +8,7 @@ pyedb/dotnet/edb.py,sha256=wbzl9083scWVoWkYG5lQshBPuTnQlIiBq0P8x9zblik,169971
8
8
  pyedb/dotnet/application/Variables.py,sha256=nov1kIyJO25iz8pvbU3MK1meMpRLwtISmzYqJhc7Ouo,79042
9
9
  pyedb/dotnet/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
10
  pyedb/dotnet/edb_core/__init__.py,sha256=nIRLJ8VZLcMAp12zmGsnZ5x2BEEl7q_Kj_KAOXxVjpQ,52
11
- pyedb/dotnet/edb_core/components.py,sha256=x4Xi05DrqAhyZbP4bXBWg3137-vemCdU2g0-4XmdfNY,103173
11
+ pyedb/dotnet/edb_core/components.py,sha256=Lo7o_9TN2EhlTEQMtT2KD1e9XW3QMg5i-aAo_Tzg0dY,102985
12
12
  pyedb/dotnet/edb_core/configuration.py,sha256=huxXAAfRUFarJQbuoAEhH3JnmNylb2r__lfrEd8oMaA,33626
13
13
  pyedb/dotnet/edb_core/general.py,sha256=QP6lqNEcqCdj_hSKhfKbmJ2hGBOYkhjPtsVEmyrO8KU,4726
14
14
  pyedb/dotnet/edb_core/hfss.py,sha256=O81AB-0it9kIWTfUDaw5Frfq3EVRl0adcAurJZUIDuk,68343
@@ -19,8 +19,8 @@ pyedb/dotnet/edb_core/net_class.py,sha256=lr-7Z0Q1A2fshxwjrIOmQSZnEBYe0NoxuUuJT6
19
19
  pyedb/dotnet/edb_core/nets.py,sha256=EK-jjRFvRX_NtqMQ46ebJbv9HOvP1uYK_EZ3jPnmxB0,43882
20
20
  pyedb/dotnet/edb_core/obj_base.py,sha256=lufR0sZj0QfZ2wlNvLL6aM1KVqCNY2A7taPPdWcK20w,3312
21
21
  pyedb/dotnet/edb_core/padstack.py,sha256=XT7S_RgOtYAr4G67EKXbbxsDeb6wMHC6Y_YMDljuMR4,54540
22
- pyedb/dotnet/edb_core/siwave.py,sha256=AmwMEXAgYyfnHAdFlxl9pDc24QR4B-nKBpl0HWvav0Q,61077
23
- pyedb/dotnet/edb_core/stackup.py,sha256=1RDKqo2AqYdam9AREOjh5jX59s-9nwI2CX5lI1ybB1M,115375
22
+ pyedb/dotnet/edb_core/siwave.py,sha256=wdLAKiz0Qhiktz3OPekBQtw_y2Kb8Vyk19QdF-FcUVU,62356
23
+ pyedb/dotnet/edb_core/stackup.py,sha256=vFHc9uroqdb193uHHNVRa1rxy-9Oe76eQZ98X2Kfx54,115372
24
24
  pyedb/dotnet/edb_core/cell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  pyedb/dotnet/edb_core/cell/hierarchy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
26
  pyedb/dotnet/edb_core/cell/hierarchy/model.py,sha256=cJzNJLiuuoesfCL8-jWo8LbgGbfXrTYNQqmeeE38ieM,3309
@@ -68,7 +68,7 @@ pyedb/generic/filesystem.py,sha256=SwvXv1T05SrC9TPtK88joQoU5Ab7hYjrp5NncFeH7kM,3
68
68
  pyedb/generic/general_methods.py,sha256=ifabLBxrYmah2XOMyKrx-G53DJlfPY9hgAW8NT4e73U,43608
69
69
  pyedb/generic/plot.py,sha256=1P9jxzpZDKy7FobBkqezcU8c-Xq5trxS6iBNNLXpFJ0,4901
70
70
  pyedb/generic/process.py,sha256=9goCXrW3Su-8WuV5f6YqzY-Pl9EMFEd50KFN5AJXZGc,11206
71
- pyedb/generic/settings.py,sha256=RcQCyLXnyh-2g7n2udRKfrnj4h6CbrzBnjp2-UhgCJo,9235
71
+ pyedb/generic/settings.py,sha256=QTX5OVZ8sVPIy_QaSxRODUWvoXkYkVpzh3l6pQPseKQ,9220
72
72
  pyedb/ipc2581/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
73
73
  pyedb/ipc2581/history_record.py,sha256=s1GjcIgnZHlNCBOeEERBDX7xDuqhXmh2Ctt3ccFDWso,2739
74
74
  pyedb/ipc2581/ipc2581.py,sha256=Y9d1PdbbMMwTUg0Ai-HKwDhJV0fCy8thRHyCFOPF4Ck,22685
@@ -131,7 +131,7 @@ pyedb/misc/siw_feature_config/emc/net_tags.py,sha256=HVYOQacmaLr6Mvf7FqZhqbhtqJL
131
131
  pyedb/misc/siw_feature_config/emc/tag_library.py,sha256=yUK4w3hequU017E2DbkA4KE2MWIh1R6bfJBrevlDx6g,1557
132
132
  pyedb/misc/siw_feature_config/emc/xml_generic.py,sha256=55X-V0OxWq-v7FTiDVjaZif8V_2xxsvJlJ8bs9Bf61I,2521
133
133
  pyedb/modeler/geometry_operators.py,sha256=LDqEaeerw9H8Yva-SJhX3Afdni08OciO9t5G0c_tdqs,66820
134
- pyedb-0.8.0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
135
- pyedb-0.8.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
136
- pyedb-0.8.0.dist-info/METADATA,sha256=XTxz1DKES6e29bNHWISMRYUsLYsYpXDu0g3t6ogZ3Eg,8320
137
- pyedb-0.8.0.dist-info/RECORD,,
134
+ pyedb-0.8.1.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
135
+ pyedb-0.8.1.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
136
+ pyedb-0.8.1.dist-info/METADATA,sha256=msQ9v6ZCjdGNLCwZmjC71Meue38wfQiFsgJhZTJIh3M,8320
137
+ pyedb-0.8.1.dist-info/RECORD,,
File without changes
File without changes