pyedb 0.15.dev0__py3-none-any.whl → 0.17.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 (42) hide show
  1. pyedb/__init__.py +1 -1
  2. pyedb/configuration/cfg_common.py +1 -3
  3. pyedb/configuration/cfg_components.py +49 -5
  4. pyedb/configuration/cfg_data.py +3 -6
  5. pyedb/configuration/cfg_package_definition.py +3 -5
  6. pyedb/configuration/cfg_setup.py +214 -176
  7. pyedb/configuration/cfg_stackup.py +4 -4
  8. pyedb/configuration/configuration.py +9 -5
  9. pyedb/dotnet/edb.py +64 -44
  10. pyedb/dotnet/edb_core/cell/__init__.py +0 -0
  11. pyedb/dotnet/edb_core/cell/hierarchy/component.py +12 -17
  12. pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py +50 -0
  13. pyedb/dotnet/edb_core/cell/layout.py +0 -6
  14. pyedb/dotnet/edb_core/cell/voltage_regulator.py +143 -0
  15. pyedb/dotnet/edb_core/components.py +2 -2
  16. pyedb/dotnet/edb_core/dotnet/primitive.py +129 -3
  17. pyedb/dotnet/edb_core/edb_data/hfss_pi_simulation_setup_data.py +0 -460
  18. pyedb/dotnet/edb_core/edb_data/primitives_data.py +38 -38
  19. pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py +1 -1
  20. pyedb/dotnet/edb_core/layout.py +25 -1
  21. pyedb/dotnet/edb_core/layout_validation.py +26 -0
  22. pyedb/dotnet/edb_core/nets.py +1 -1
  23. pyedb/dotnet/edb_core/sim_setup_data/data/mesh_operation.py +63 -49
  24. pyedb/dotnet/edb_core/sim_setup_data/data/settings.py +1 -1
  25. pyedb/dotnet/edb_core/sim_setup_data/data/sim_setup_info.py +81 -0
  26. pyedb/dotnet/edb_core/sim_setup_data/data/simulation_settings.py +424 -0
  27. pyedb/dotnet/edb_core/sim_setup_data/data/sweep_data.py +131 -96
  28. pyedb/dotnet/edb_core/siwave.py +63 -0
  29. pyedb/dotnet/edb_core/utilities/hfss_simulation_setup.py +469 -0
  30. pyedb/dotnet/edb_core/utilities/simulation_setup.py +112 -773
  31. pyedb/dotnet/edb_core/utilities/siwave_simulation_setup.py +369 -0
  32. pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py +91 -0
  33. pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py +70 -0
  34. pyedb/misc/siw_feature_config/xtalk_scan/net.py +69 -0
  35. pyedb/misc/siw_feature_config/xtalk_scan/pins.py +60 -0
  36. pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py +88 -0
  37. pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py +104 -0
  38. pyedb/workflow.py +32 -0
  39. {pyedb-0.15.dev0.dist-info → pyedb-0.17.0.dist-info}/METADATA +1 -1
  40. {pyedb-0.15.dev0.dist-info → pyedb-0.17.0.dist-info}/RECORD +42 -28
  41. {pyedb-0.15.dev0.dist-info → pyedb-0.17.0.dist-info}/LICENSE +0 -0
  42. {pyedb-0.15.dev0.dist-info → pyedb-0.17.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,88 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+ from enum import Enum
24
+ import os
25
+ import xml.etree as ET
26
+
27
+ from pyedb.generic.general_methods import ET
28
+ from pyedb.misc.siw_feature_config.xtalk_scan.fd_xtalk_scan_config import (
29
+ CrosstalkFrequency,
30
+ )
31
+ from pyedb.misc.siw_feature_config.xtalk_scan.impedance_scan_config import ImpedanceScan
32
+ from pyedb.misc.siw_feature_config.xtalk_scan.td_xtalk_config import CrossTalkTime
33
+
34
+
35
+ class ScanType(Enum):
36
+ IMPEDANCE = 0
37
+ FREQ_XTALK = 1
38
+ TIME_XTALK = 2
39
+
40
+
41
+ class SiwaveScanConfig:
42
+ """XML control file handle for Siwave crosstalk scan."""
43
+
44
+ def __init__(self, pedb, scan_type="impedance"):
45
+ self._pedb = pedb
46
+ self.file_path = ""
47
+ if scan_type == "impedance":
48
+ self.scan_type = ScanType.IMPEDANCE
49
+ elif scan_type == "frequency_xtalk":
50
+ self.scan_type = ScanType.FREQ_XTALK
51
+ elif scan_type == "time_xtalk":
52
+ self.scan_type = ScanType.TIME_XTALK
53
+ else:
54
+ self._pedb.logger.error(f"No valid scan type argument : {scan_type}")
55
+ self._pedb.logger.error('Supported argument : "impedance", "frequency_xtalk", "time_xtalk"')
56
+
57
+ self.impedance_scan = ImpedanceScan(self._pedb)
58
+ self.frequency_xtalk_scan = CrosstalkFrequency(self._pedb)
59
+ self.time_xtalk_scan = CrossTalkTime(self._pedb)
60
+
61
+ def write_xml(self):
62
+ """Write XML control file
63
+
64
+ Returns
65
+ -------
66
+ bool
67
+ """
68
+ if not self.file_path:
69
+ self._pedb.logger.error("No xml file path provided, please provide absolute valid one.")
70
+ return False
71
+ self._pedb.logger.info(f"Parsing xml file")
72
+ scan_config = ET.Element("SiwaveScanConfig")
73
+ scan_config.set("xmlns", "http://webstds.ipc.org/2581")
74
+ scan_config.set("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance")
75
+ if self.scan_type == ScanType.IMPEDANCE:
76
+ self.impedance_scan.extend_xml(scan_config)
77
+ elif self.scan_type == ScanType.FREQ_XTALK:
78
+ self.frequency_xtalk_scan.extend_xml(scan_config)
79
+ elif self.scan_type == ScanType.TIME_XTALK:
80
+ self.time_xtalk_scan.extend_xml(scan_config)
81
+ try:
82
+ ET.indent(scan_config)
83
+ except AttributeError:
84
+ pass
85
+ tree = ET.ElementTree(scan_config)
86
+ self._pedb.logger.info(f"Writing xml file")
87
+ tree.write(self.file_path)
88
+ return True if os.path.exists(self.file_path) else False
@@ -0,0 +1,104 @@
1
+ # Copyright (C) 2023 - 2024 ANSYS, Inc. and/or its affiliates.
2
+ # SPDX-License-Identifier: MIT
3
+ #
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+
23
+ from pyedb.generic.general_methods import ET
24
+ from pyedb.misc.siw_feature_config.xtalk_scan.net import SingleEndedNet
25
+ from pyedb.misc.siw_feature_config.xtalk_scan.pins import DriverPin, ReceiverPin
26
+
27
+
28
+ class CrossTalkTime:
29
+ """Time domain crosstalk configuration class handler."""
30
+
31
+ def __init__(self, pedb):
32
+ self._pedb = pedb
33
+ self.nets = {}
34
+ self.driver_pins = []
35
+ self.receiver_pins = []
36
+
37
+ def add_single_ended_net(
38
+ self,
39
+ name,
40
+ driver_rise_time=5.0,
41
+ voltage=10,
42
+ driver_impedance=5.0,
43
+ termination_impedance=5.0,
44
+ ):
45
+ """Add single ended net.
46
+
47
+ Parameters
48
+ ----------
49
+ name : str
50
+ Net name.
51
+ driver_rise_time : flot or str
52
+ Near end crosstalk warning threshold value. Default value is ``5.0``.
53
+ voltage : float, str
54
+ Near end crosstalk violation threshold value. Default value is ``10.0
55
+
56
+ driver_impedance : float, str
57
+ Far end crosstalk violation threshold value, Default value is ``5.0``
58
+ termination_impedance : float, str
59
+ Far end crosstalk warning threshold value, Default value is ``5.0``
60
+
61
+ Returns
62
+ -------
63
+ bool
64
+ """
65
+ if name and name not in self.nets:
66
+ net = SingleEndedNet()
67
+ net.name = name
68
+ net.driver_rise_time = driver_rise_time
69
+ net.voltage = voltage
70
+ net.driver_impedance = driver_impedance
71
+ net.termination_impedance = termination_impedance
72
+ self.nets[name] = net
73
+ return True
74
+ else:
75
+ self._pedb.logger.error(f"Net {name} already assigned.")
76
+ return False
77
+
78
+ def add_driver_pins(self, name, ref_des, rise_time="100ps", voltage=1.0, impedance=50.0):
79
+ pin = DriverPin()
80
+ pin.name = name
81
+ pin.ref_des = ref_des
82
+ pin.driver_rise_time = rise_time
83
+ pin.voltage = voltage
84
+ pin.driver_impedance = impedance
85
+ self.driver_pins.append(pin)
86
+
87
+ def add_receiver_pin(self, name, ref_des, impedance):
88
+ pin = ReceiverPin()
89
+ pin.name = name
90
+ pin.ref_des = ref_des
91
+ pin.receiver_impedance = impedance
92
+ self.receiver_pins.append(pin)
93
+
94
+ def extend_xml(self, parent):
95
+ time_scan = ET.SubElement(parent, "TdXtalkConfig")
96
+ single_ended_nets = ET.SubElement(time_scan, "SingleEndedNets")
97
+ for net in list(self.nets.values()):
98
+ net.extend_xml(single_ended_nets)
99
+ driver_pins = ET.SubElement(time_scan, "DriverPins")
100
+ for pin in self.driver_pins:
101
+ pin.extend_xml(driver_pins)
102
+ receiver_pins = ET.SubElement(time_scan, "ReceiverPins")
103
+ for pin in self.receiver_pins:
104
+ pin.extend_xml(receiver_pins)
pyedb/workflow.py ADDED
@@ -0,0 +1,32 @@
1
+ from pathlib import Path
2
+ from typing import Union
3
+
4
+ import pandas as pd
5
+
6
+
7
+ class Workflow:
8
+ def __init__(self, pedb):
9
+ self._pedb = pedb
10
+
11
+ def export_bill_of_materials(self, file_path: Union[str, Path]):
12
+ """Export bill of materials to a csv file.
13
+
14
+ Parameters
15
+ ----------
16
+ file_path : Union[str, Path]
17
+ Path to the csv file.
18
+
19
+ Returns
20
+ -------
21
+
22
+ """
23
+ file_path = str(file_path)
24
+ data = self._pedb.configuration.get_data_from_db(components=True)
25
+ comps = data["components"]
26
+ temp = []
27
+ for comp in comps:
28
+ comp_attrs = {k: v for k, v in comp.items() if isinstance(v, Union[str, float, int])}
29
+ temp.append(comp_attrs)
30
+
31
+ df = pd.DataFrame(temp)
32
+ return df.to_csv(file_path)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyedb
3
- Version: 0.15.dev0
3
+ Version: 0.17.0
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,46 +1,50 @@
1
- pyedb/__init__.py,sha256=WiJ4_VNE_pH0Fq0BsV2aY8NN20m6YGs3cDjP--DowEw,1524
1
+ pyedb/__init__.py,sha256=NAjiAYOZ1YhLws-gKWjAXfTpjdiXm213gi8FVKany3s,1521
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=p-j2AmJ3RPG9IKieDxiVPRhzRlXbjpxENP9GHAgT6l8,13086
5
+ pyedb/workflow.py,sha256=Y0ya4FUHwlSmoLP45zjdYLsSpyKduHUSpT9GGK9MGd8,814
5
6
  pyedb/configuration/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
7
  pyedb/configuration/cfg_boundaries.py,sha256=ckb-OfaObItwy-xc0LqkHJyeCfKC5vg668olPjZbaKo,6647
7
- pyedb/configuration/cfg_common.py,sha256=PVLYBv6pWiVAPa4haOsXdC87hH82rpZTkVW-MOqUObs,2020
8
- pyedb/configuration/cfg_components.py,sha256=5y_aQkHvXTO5TKDY3IaJxcxQMg7bNFnMJtlHVAwgTA8,6021
9
- pyedb/configuration/cfg_data.py,sha256=9qYp6ZNByi-od5riBNp4WthTuVilFTSH9dA4RhC-dlw,3938
8
+ pyedb/configuration/cfg_common.py,sha256=5ne78TTA0wHpbi804nsUd9SPxNKZvut_X_Miu-xDRgk,1982
9
+ pyedb/configuration/cfg_components.py,sha256=YPmaoVG0PO92yNKTbpi3LZNt01aNO75VHFJuY7DM94k,7684
10
+ pyedb/configuration/cfg_data.py,sha256=ENvPsPWYD-crwyHWkB0LBAfz9mHjxoVrszwVS_EL0i8,3772
10
11
  pyedb/configuration/cfg_general.py,sha256=0dtd-rkQt2aYR3EOL0c3sNuDuJs7htRos1OWck3rxaI,1626
11
12
  pyedb/configuration/cfg_nets.py,sha256=SCiBTUVHX3Ub91MEU88m0xcHIot_axT9QTFJ8LawppI,1880
12
13
  pyedb/configuration/cfg_operations.py,sha256=OzktdjLgHUm6_kCbMeuZ2mhUXfOIP6gXslmbkB7nZOM,3130
13
- pyedb/configuration/cfg_package_definition.py,sha256=jLL47ctoEUvkzk7pfh03qLhdv-vfGMdN1IfbboxnAo4,5342
14
+ pyedb/configuration/cfg_package_definition.py,sha256=f_RRT9R-3H5kHBlc4QSpjq9uQgYbaKQ78XXXrc_r3kg,5296
14
15
  pyedb/configuration/cfg_padstacks.py,sha256=5t799x_mfwLjCAic-B13v3I6FgDswysXdcKmeOxz4Uo,5571
15
16
  pyedb/configuration/cfg_pin_groups.py,sha256=aidsOXTHhEyE8UGRiT1nvyn-3sD0CU_n8RR19AmhQrk,2877
16
17
  pyedb/configuration/cfg_ports_sources.py,sha256=Wzs9hmEnOIPtiVXIfZgPM7TGsqV_t6ELbB71wSWG5_g,8166
17
18
  pyedb/configuration/cfg_s_parameter_models.py,sha256=NzS3eBjBSnd7ZDk_TsX04dqRcRXompjx1DxCe1UzWMw,2855
18
- pyedb/configuration/cfg_setup.py,sha256=XDpddzsIXWMHmrY-qonS5aQaFdS2OUZDQy5v8qWLCXE,8792
19
+ pyedb/configuration/cfg_setup.py,sha256=SPpNRLJusB-Cz2fDQkc6gkdilUqIlbNngoxF3zySt6g,10115
19
20
  pyedb/configuration/cfg_spice_models.py,sha256=tBY3okFiEffMGvBkpmZQrCrovpt-d62k51_WkkV4jqo,2435
20
- pyedb/configuration/cfg_stackup.py,sha256=YIFyfGAwnlErPGB5y87Viau_wxISofCHl5fPWVPdYC4,6597
21
- pyedb/configuration/configuration.py,sha256=At0W6PbIbV72nBzpLlLz0ElP99T5xMB9kNjmdjJ_dck,11275
21
+ pyedb/configuration/cfg_stackup.py,sha256=CX7uNN5QRoYW_MOObknP8003YchTS7PH9Oee7FG0VKU,6589
22
+ pyedb/configuration/configuration.py,sha256=YIhmW9rDVvWUH9-gyjhKoohjia2dL-jptUviS0MT83s,11565
22
23
  pyedb/dotnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
23
24
  pyedb/dotnet/clr_module.py,sha256=Mo13Of3DVSA5HR-5xZEXOiHApIKy52CUxtJ2gPkEu1A,3406
24
- pyedb/dotnet/edb.py,sha256=Wp34lZqrXXzK1epX9Sw2fiNqetnwjwLrBh7SOJ_fZNQ,178954
25
+ pyedb/dotnet/edb.py,sha256=dpRfsMoDB02IrcWUfA7EOrIw0EvRwl7Zpbw8LBXuBGQ,179275
25
26
  pyedb/dotnet/application/Variables.py,sha256=v_fxFJ6xjyyhk4uaMzWAbP-1FhXGuKsVNuyV1huaPME,77867
26
27
  pyedb/dotnet/application/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
28
  pyedb/dotnet/edb_core/__init__.py,sha256=nIRLJ8VZLcMAp12zmGsnZ5x2BEEl7q_Kj_KAOXxVjpQ,52
28
- pyedb/dotnet/edb_core/components.py,sha256=T7gyIGKvwyocPwGCV806eQyghDiabQs2RIHZE7Rd73M,103709
29
+ pyedb/dotnet/edb_core/components.py,sha256=9p7Aiq3mv5yDDpZGq0ym1aagJzAFfFTtOkXi0uC2j4Y,103687
29
30
  pyedb/dotnet/edb_core/general.py,sha256=f-WuyJY1nkfMEXm_fvU7poLfIi4axV1ha5Am1_m2eQ0,4572
30
31
  pyedb/dotnet/edb_core/hfss.py,sha256=paHUyp1QtnBHYtswiWEgeaYRvqDT-HdtFG6rmmkD2_w,68815
31
- pyedb/dotnet/edb_core/layout.py,sha256=cz-SxDFhRpSwpCFL7-bz1Yz7ArM6JsLyDKMSVlch-K8,50110
32
- pyedb/dotnet/edb_core/layout_validation.py,sha256=_ZcLxePMNauzQxHKWWZGfjuT9tUPS0ZeVKNK7avtJnw,11714
32
+ pyedb/dotnet/edb_core/layout.py,sha256=OqhkmrKTLlIRVd74SBAjW3Wnb4uNhp6kwWtJI86j-98,50852
33
+ pyedb/dotnet/edb_core/layout_validation.py,sha256=aOYgttlJ007uGG94NnhZR_iNHTuCI5CHkHWWTcm9n-E,12617
33
34
  pyedb/dotnet/edb_core/materials.py,sha256=9HTDzxraPjAl3Jc7beHQfxe6axQY-tw6hDW1A05O2GM,43426
34
35
  pyedb/dotnet/edb_core/net_class.py,sha256=fAQoXsjn-Ae3gVYnUJO7yGZ6zEDEf_Zx5Mzq_h0UH7k,11582
35
- pyedb/dotnet/edb_core/nets.py,sha256=RtT22k4KGnFX1aLIsbIGoiWuxxdjCg8lYALDDB5bNAk,43384
36
+ pyedb/dotnet/edb_core/nets.py,sha256=U1GhGJE1Ybd3IWJ7tn5chKW1E23EEZYiSiCK6ds76nk,43373
36
37
  pyedb/dotnet/edb_core/padstack.py,sha256=-17eWSsUnh5Af_nZes505_on8Hy4GkWsP7vFBssqZ5Q,62760
37
- pyedb/dotnet/edb_core/siwave.py,sha256=3qxDS6kJp9q0F6lfYNFJAmCpxQUTDxA2FDywbyS28lI,61716
38
+ pyedb/dotnet/edb_core/siwave.py,sha256=FxhvigCavS-9ldSrcu2KEuYrNF30Ra4RT7NZPUlDMY4,64328
38
39
  pyedb/dotnet/edb_core/stackup.py,sha256=BbfamGczV7j0B2knGPT4SJPZPGz7Rb1jgXTgMr-Yd1o,120808
39
- pyedb/dotnet/edb_core/cell/layout.py,sha256=a6ey3YHkfq352k474bVS6LcppyWrsUHsVEJPrnMI-QE,4703
40
+ pyedb/dotnet/edb_core/cell/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
41
+ pyedb/dotnet/edb_core/cell/layout.py,sha256=xzlcR8kgU3v-8VOuQkagqg71DbKrVD7qgfYMzSZ7IiQ,4343
40
42
  pyedb/dotnet/edb_core/cell/layout_obj.py,sha256=xFqY4FAHdiNZWexQRRGHYqWcQ5SvFR9kDxMBGXBqbW8,4180
41
43
  pyedb/dotnet/edb_core/cell/primitive.py,sha256=b_Uyu1cwO9Bf_vSazYLeBWSNaz-67pS-n7TCxKoFUyU,11379
44
+ pyedb/dotnet/edb_core/cell/voltage_regulator.py,sha256=NQsM-0VnswjMokxsF2-cikobQ8MRoK_cWHYmEg9zi38,5714
42
45
  pyedb/dotnet/edb_core/cell/hierarchy/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
43
- pyedb/dotnet/edb_core/cell/hierarchy/component.py,sha256=FFJOX3bBc39vvDp90LmxsUJKpS5N_VhdDbDPJy28hN8,33934
46
+ pyedb/dotnet/edb_core/cell/hierarchy/component.py,sha256=vLJnPuJkGYafMBR-Cub_i2JDAmqWIeWPY14mGBLzvq4,33858
47
+ pyedb/dotnet/edb_core/cell/hierarchy/hierarchy_obj.py,sha256=FLQeUqwW-VSvG8iaLeU50dSknfe-kEQB4s-GgVEFrFM,1895
44
48
  pyedb/dotnet/edb_core/cell/hierarchy/model.py,sha256=LwXE4VUfptG5rJ9gmAmye0hECBv7bUGtby1ZzNFkeT0,3198
45
49
  pyedb/dotnet/edb_core/cell/hierarchy/netlist_model.py,sha256=fF6tY-6s-lW9EuvJ5sw3RlIkjuoSjeZbrNk5wG-_hzM,1356
46
50
  pyedb/dotnet/edb_core/cell/hierarchy/pin_pair_model.py,sha256=4zo2ut6UAeJqxw70n1luWg2QGEeuMRoVcEcdC9bYG50,3846
@@ -62,19 +66,19 @@ pyedb/dotnet/edb_core/definition/package_def.py,sha256=UoYNdfrB5j0rG4OK94yE25dCT
62
66
  pyedb/dotnet/edb_core/dotnet/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
63
67
  pyedb/dotnet/edb_core/dotnet/database.py,sha256=m8QgX1E5elOoBTHt5zCsUKUFRuwru5r-31PmUE6rQr0,37653
64
68
  pyedb/dotnet/edb_core/dotnet/layout.py,sha256=_3lKFvEqA5S66yF_FSX5HbLsFNFpsigRsaN3Rj02pFk,8904
65
- pyedb/dotnet/edb_core/dotnet/primitive.py,sha256=VGZ_QNfdYhHDU4vq7fRUTinBfDyYTIY7SBysQK0-2SM,48320
69
+ pyedb/dotnet/edb_core/dotnet/primitive.py,sha256=grhQ1YO0PaoCGTPqeydP703tfca2_gvi_m4a8CSqpPo,53424
66
70
  pyedb/dotnet/edb_core/edb_data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
67
71
  pyedb/dotnet/edb_core/edb_data/control_file.py,sha256=Z837yN4ZDWbtCW3eTWewVq_d_iY2jBSYx2QlL70-qog,48341
68
72
  pyedb/dotnet/edb_core/edb_data/design_options.py,sha256=RO9ip-T5Bfxpsl97_QEk0qDZsza3tLzIX2t25XLutys,2057
69
73
  pyedb/dotnet/edb_core/edb_data/edbvalue.py,sha256=Vj_11HXsQUNavizKp5FicORm6cjhXRh9uvxhv_D_RJc,1977
70
74
  pyedb/dotnet/edb_core/edb_data/hfss_extent_info.py,sha256=hKFHWUl0_OCMEZJbQn5c8Y1a-BYKr8nAycIlrCoeufk,13005
71
- pyedb/dotnet/edb_core/edb_data/hfss_pi_simulation_setup_data.py,sha256=R2kuSComcrrns7rNFtChChBsgNHuiIoDnqZjq4rVED4,15563
75
+ pyedb/dotnet/edb_core/edb_data/hfss_pi_simulation_setup_data.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
72
76
  pyedb/dotnet/edb_core/edb_data/layer_data.py,sha256=SBx2IKtbSn4AvySw4b6IGu3rbb6F-nEoaiqhUwarpLY,25706
73
77
  pyedb/dotnet/edb_core/edb_data/nets_data.py,sha256=ICF61kgST9Rm4hUqU3KUh8FMNlrZEVQO1LqZR1VADkA,9979
74
78
  pyedb/dotnet/edb_core/edb_data/padstacks_data.py,sha256=eQCuZdYd5Q2_7jPoCQ5jsOE12kteKRB4rDyiUnUvMnU,79240
75
79
  pyedb/dotnet/edb_core/edb_data/ports.py,sha256=rKRlF0ugl34vi7oQbZuF1o8KLqddfbyk-NSt4EYdh8Q,9413
76
- pyedb/dotnet/edb_core/edb_data/primitives_data.py,sha256=R22GSaF8j8924czFGVAQ_GzkJTMgd33fuaG-VjvybG4,43748
77
- pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py,sha256=YbPOn3mHwAYGra9lEa3PcrTRi5KpZtQTo4ENUtqDcxE,20913
80
+ pyedb/dotnet/edb_core/edb_data/primitives_data.py,sha256=k2H0uZO4g02g81_7cwbOVdIUQ0nIv6sIAn6xIgf2j5E,43427
81
+ pyedb/dotnet/edb_core/edb_data/raptor_x_simulation_setup_data.py,sha256=P37-OIsc8TuTC_s3CXRmvZcJqxAftHA7SATfEyoAnMM,20953
78
82
  pyedb/dotnet/edb_core/edb_data/simulation_configuration.py,sha256=w-fxyuj5LX5JwraM-3ONkXcqmsTBDzYto-0PUwF1974,101021
79
83
  pyedb/dotnet/edb_core/edb_data/sources.py,sha256=jzC6p-fiuPEvZn3b9z1-X5UexW5jd48jZRamXillnXI,15700
80
84
  pyedb/dotnet/edb_core/edb_data/utilities.py,sha256=3wZqOJ35eisOwOPKOs-bvJ8kmd62e46EiFuiFtsroB4,4928
@@ -85,16 +89,20 @@ pyedb/dotnet/edb_core/geometry/polygon_data.py,sha256=NQxTlbGPLHf2rW8wgHQzpbPf0z
85
89
  pyedb/dotnet/edb_core/sim_setup_data/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
86
90
  pyedb/dotnet/edb_core/sim_setup_data/data/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
87
91
  pyedb/dotnet/edb_core/sim_setup_data/data/adaptive_frequency_data.py,sha256=tlHI7PUUoseNnJAtihpjb1PwXYNr-4ztAAnunlLLWVQ,2463
88
- pyedb/dotnet/edb_core/sim_setup_data/data/mesh_operation.py,sha256=tP55JjbCvhJiWNNFbyia4_K43j1IkdRo-YtaaoPz5gU,7919
89
- pyedb/dotnet/edb_core/sim_setup_data/data/settings.py,sha256=738pF5gm4Fs8Z4splpnJRJ0O3aoBw-sGnMdVOeZRi3w,27627
92
+ pyedb/dotnet/edb_core/sim_setup_data/data/mesh_operation.py,sha256=bWKZTMqROiXvG6T3i7EcapcQBcL0gOChDu4tksdk1xo,8073
93
+ pyedb/dotnet/edb_core/sim_setup_data/data/settings.py,sha256=u2EhL_netNF4FTQicWysPeXzkFBqBZhFjdwpu4LuBlk,27624
94
+ pyedb/dotnet/edb_core/sim_setup_data/data/sim_setup_info.py,sha256=GcFfwifjAUQ-Ck4mz2vAFqkt_ubkpoH_V42Vb7K5q4U,2996
95
+ pyedb/dotnet/edb_core/sim_setup_data/data/simulation_settings.py,sha256=xEVQ_vj1La3zr3B0PjaenllkynsxLrHrNeL-ROUkacc,14242
90
96
  pyedb/dotnet/edb_core/sim_setup_data/data/siw_dc_ir_settings.py,sha256=b7Zpg6nNQArYxvdxlVhXDzvvCSC5sKFvdt10b0MHkvc,8605
91
- pyedb/dotnet/edb_core/sim_setup_data/data/sweep_data.py,sha256=Pg1Y9y1qTpmifbj3_6aS63GzDpfBnONmPJZhyH8nWTU,16304
97
+ pyedb/dotnet/edb_core/sim_setup_data/data/sweep_data.py,sha256=YeFy9YoYVaieaBTnoXwzo66LyAOrEb5LnNDKv-FAlh8,17970
92
98
  pyedb/dotnet/edb_core/sim_setup_data/io/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
93
99
  pyedb/dotnet/edb_core/sim_setup_data/io/siwave.py,sha256=XOGBUtFuBJ61lsyylmW0mR_FDbnmwJ7s58r36peREhE,31311
94
100
  pyedb/dotnet/edb_core/utilities/__init__.py,sha256=8jByHkoaowAYQTCww-zRrTQmN061fLz_OHjTLSrzQQY,58
95
101
  pyedb/dotnet/edb_core/utilities/heatsink.py,sha256=7G7Yx9TxbL5EAiR51MnhdRiAQBVf-d0hKsXDw5OYX2Q,2220
102
+ pyedb/dotnet/edb_core/utilities/hfss_simulation_setup.py,sha256=uyS9wstK0nuLnjETuweuedS4j7bXurfDvz_YMI0ONqo,16484
96
103
  pyedb/dotnet/edb_core/utilities/obj_base.py,sha256=lufR0sZj0QfZ2wlNvLL6aM1KVqCNY2A7taPPdWcK20w,3312
97
- pyedb/dotnet/edb_core/utilities/simulation_setup.py,sha256=O183XsQHwdpC6j5YcNaTO2d7ZymLsQx_ZZ8nc6nrbZo,34336
104
+ pyedb/dotnet/edb_core/utilities/simulation_setup.py,sha256=7iavXVKeEqR2HwJdr17lO3WUqZQ75UZIpkDaO-n5mR0,12484
105
+ pyedb/dotnet/edb_core/utilities/siwave_simulation_setup.py,sha256=s24jfphD88c1Ru_bN2R-Hl70VdPzusBz7d75oYujtl4,12383
98
106
  pyedb/generic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
99
107
  pyedb/generic/constants.py,sha256=prWLZH0-SeBIVK6LHZ4SGZFQCofuym2TuQYfdqwhuSQ,28956
100
108
  pyedb/generic/data_handlers.py,sha256=rfqNe2tPCJRqhXZBCyWxRFu5SjQ92Cdzq4l0TDC4Pvw,6905
@@ -165,9 +173,15 @@ pyedb/misc/siw_feature_config/emc/component_tags.py,sha256=pyOAMxbuvgtg6dV-gHWVF
165
173
  pyedb/misc/siw_feature_config/emc/net_tags.py,sha256=HVYOQacmaLr6Mvf7FqZhqbhtqJLJgUSC3ojZdrl3eq0,1184
166
174
  pyedb/misc/siw_feature_config/emc/tag_library.py,sha256=yUK4w3hequU017E2DbkA4KE2MWIh1R6bfJBrevlDx6g,1557
167
175
  pyedb/misc/siw_feature_config/emc/xml_generic.py,sha256=55X-V0OxWq-v7FTiDVjaZif8V_2xxsvJlJ8bs9Bf61I,2521
176
+ pyedb/misc/siw_feature_config/xtalk_scan/fd_xtalk_scan_config.py,sha256=5MKJ8aoCZtgrgcTq6-Kj8pM6YBZa4LkY4fsal1S1Yhk,3536
177
+ pyedb/misc/siw_feature_config/xtalk_scan/impedance_scan_config.py,sha256=wHeupbGkheUm1l8F9m4xfaKO-s_QSIiSL-6QH3yrCJY,2905
178
+ pyedb/misc/siw_feature_config/xtalk_scan/net.py,sha256=iQBB2iIyvymLzJP4MTiyo_HTfFX09G1vQc_tOzaCLX8,3261
179
+ pyedb/misc/siw_feature_config/xtalk_scan/pins.py,sha256=NBZLWFoDLGfBj-zGCcZGHzcuANrlfDu4XSbTeC5F8tU,2237
180
+ pyedb/misc/siw_feature_config/xtalk_scan/scan_config.py,sha256=YmYI6WTQulL5Uf8WxeUI_sfpcVVPnFAjjygUNNhGMdo,3599
181
+ pyedb/misc/siw_feature_config/xtalk_scan/td_xtalk_config.py,sha256=KHa-UqcXuabiVfT2CV-UvWl5Q2qGYHF2Ye9azcAlnXc,3966
168
182
  pyedb/modeler/geometry_operators.py,sha256=iXNGfp3oMAxc6Ij_jatawR9NAKksMfnmWTaoHQVGX80,72699
169
183
  pyedb/siwave_core/icepak.py,sha256=WnZ-t8mik7LDY06V8hZFV-TxRZJQWK7bu_8Ichx-oBs,5206
170
- pyedb-0.15.dev0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
171
- pyedb-0.15.dev0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
172
- pyedb-0.15.dev0.dist-info/METADATA,sha256=VJo15-CTj4hXoFFwPQbZLSjRAXY092aBFYQh0frQ_ow,8339
173
- pyedb-0.15.dev0.dist-info/RECORD,,
184
+ pyedb-0.17.0.dist-info/LICENSE,sha256=qQWivZ12ETN5l3QxvTARY-QI5eoRRlyHdwLlAj0Bg5I,1089
185
+ pyedb-0.17.0.dist-info/WHEEL,sha256=EZbGkh7Ie4PoZfRQ8I0ZuP9VklN_TvcZ6DSE5Uar4z4,81
186
+ pyedb-0.17.0.dist-info/METADATA,sha256=ssdEMiFm4xm2K-Dw7ukbKNz3fzL-jtDka1y4sl1v0Io,8336
187
+ pyedb-0.17.0.dist-info/RECORD,,