Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FEAT: Enforce pingroup with single pin create port on pins #739

Merged
merged 21 commits into from
Aug 22, 2024
Merged
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
1df26cb
hfsspi SimsetupInfo bug fixed
svandenb-dev Jun 21, 2024
08113cd
Merge remote-tracking branch 'origin/main'
svandenb-dev Jun 24, 2024
80b8b48
Merge remote-tracking branch 'origin/main'
svandenb-dev Jun 24, 2024
f33aaed
Merge remote-tracking branch 'origin/main'
svandenb-dev Jun 25, 2024
1935556
temp
svandenb-dev Jun 25, 2024
66fb218
Merge remote-tracking branch 'origin/main'
svandenb-dev Jun 28, 2024
14846b7
Merge remote-tracking branch 'origin/main'
svandenb-dev Jul 1, 2024
54e6d7f
Merge remote-tracking branch 'origin/main'
svandenb-dev Jul 2, 2024
fa3f4cd
Merge remote-tracking branch 'origin/main'
svandenb-dev Jul 3, 2024
7267ca7
Merge remote-tracking branch 'origin/main'
svandenb-dev Jul 11, 2024
bae0c6d
Merge remote-tracking branch 'origin/main'
svandenb-dev Jul 11, 2024
f0ac95c
Merge remote-tracking branch 'origin/main'
svandenb-dev Jul 12, 2024
b5717ac
Merge remote-tracking branch 'origin/main'
svandenb-dev Jul 24, 2024
6065327
Merge remote-tracking branch 'origin/main'
svandenb-dev Jul 24, 2024
a62b8f8
Merge remote-tracking branch 'origin/main'
svandenb-dev Jul 24, 2024
a800262
Merge remote-tracking branch 'origin/main'
svandenb-dev Jul 25, 2024
e14256f
Merge remote-tracking branch 'origin/main'
svandenb-dev Aug 19, 2024
54e2691
Merge remote-tracking branch 'origin/main'
svandenb-dev Aug 20, 2024
7471fa1
create port in pin exception handling
svandenb-dev Aug 20, 2024
4f989d1
Merge remote-tracking branch 'origin/main'
svandenb-dev Aug 21, 2024
5615b41
adding option to create pingroup on single pin with port
svandenb-dev Aug 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 15 additions & 4 deletions src/pyedb/dotnet/edb_core/components.py
Original file line number Diff line number Diff line change
Expand Up @@ -770,7 +770,16 @@ def create_source_on_component(self, sources=None):
)
return True

def create_port_on_pins(self, refdes, pins, reference_pins, impedance=50.0, port_name=None, pec_boundary=False):
def create_port_on_pins(
self,
refdes,
pins,
reference_pins,
impedance=50.0,
port_name=None,
pec_boundary=False,
pingroup_on_single_pin=False,
):
"""Create circuit port between pins and reference ones.

Parameters
Expand All @@ -796,6 +805,9 @@ def create_port_on_pins(self, refdes, pins, reference_pins, impedance=50.0, port
a perfect short is created between the pin and impedance is ignored. This
parameter is only supported on a port created between two pins, such as
when there is no pin group.
pingroup_on_single_pin : bool
If ``True`` force using pingroup definition on single pin to have the port created at the pad center. If
``False`` the port is created at the pad edge. Default value is ``False``.

Returns
-------
Expand Down Expand Up @@ -871,13 +883,12 @@ def create_port_on_pins(self, refdes, pins, reference_pins, impedance=50.0, port
elif "-" in ref_pin_name and ref_pin_name.split("-")[1] in refdes_pins:
ref_cmp_pins.append(refdes_pins[ref_pin_name.split("-")[1]])
if not ref_cmp_pins:
self._logger.warning("No reference pins found during port creation. Port is not defined.")
return
reference_pins = ref_cmp_pins
if not reference_pins:
self._logger.error("No reference pins found.")
return
if len(pins) > 1:
if len(pins) > 1 or pingroup_on_single_pin:
pec_boundary = False
self._logger.info(
"Disabling PEC boundary creation, this feature is supported on single pin "
Expand All @@ -890,7 +901,7 @@ def create_port_on_pins(self, refdes, pins, reference_pins, impedance=50.0, port
else:
term = self._create_terminal(pins[0].primitive_object, term_name=port_name)
term.SetIsCircuitPort(True)
if len(reference_pins) > 1:
if len(reference_pins) > 1 or pingroup_on_single_pin:
pec_boundary = False
self._logger.info(
"Disabling PEC boundary creation. This feature is supported on single pin"
Expand Down
Loading