Skip to content

Commit 61a3ef6

Browse files
authored
Merge pull request #16 from embeddedci-com/worker-vocm-pd-pins
worker: VOCM and power-down pins are not supply pins
2 parents 764297d + 0d1aaa4 commit 61a3ef6

3 files changed

Lines changed: 15 additions & 2 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ The KiCad plugin is versioned and released separately; see
1717
estimate the Decoupling tab draws, 100 kHz to 1 GHz, computed in Go from the worker's
1818
branches and checked against the same fixture as the browser.
1919

20+
### Fixed
21+
22+
- Decoupling no longer treats a fully differential amplifier's VOCM input or an amplifier's
23+
power-down pin (PD#, SHDN) as a supply pin when they sit on a net named like a rail. On the
24+
BenchPod analog board the THS4551's VOCM on "2.05V" was reported as a supply with a 0.2 ohm
25+
target.
26+
2027
## [0.4.0] - 2026-10-11
2128

2229
### Added

‎worker/emi_worker/rules/model.py‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,13 +123,15 @@ def net_activity(name: str) -> str:
123123
re.I,
124124
)
125125
#: Pin names that are clearly not a supply: GPIO port pins and the sense, control and status
126-
#: pins that sit on a supply-named net (a current monitor's IN+, a power mux's ST).
126+
#: pins that sit on a supply-named net (a current monitor's IN+, a power mux's ST, an
127+
#: amplifier's power-down PD# tied to its supply, a fully differential amplifier's VOCM input
128+
#: on a net named for its voltage, "2.05V").
127129
_SIGNAL_PIN = re.compile(
128130
r"^(?:p[a-k]\d+|pio\d*_?\d+|gpio\w*|io\w*|iob_\w+|[+-]?in[a-d]?[+-]|[+-]in[a-d]?|inp|inn|"
129131
r"s[+-]|s\d+[ab]?|d[ab]?|[+-]?out[a-d][+-]?|sense\w*|sns\w*|"
130132
r"fb|adj|n?en\w*|st|stat\w*|pr\d*|pg\w*|n?flt\w*|fault|alert|n?int\w*|irq|scl|sda|"
131133
r"ilim\w*|imon\w*|adc\w*|mode|sel\w*|n?cs\w*|set|n?rst\w*|reset\w*|mon\w*|det\w*|"
132-
r"dvdt|ss|tr|nc|ctrl\w*)$",
134+
r"dvdt|ss|tr|nc|ctrl\w*|v?ocm|n?pd#?|n?shdn\w*#?)$",
133135
re.I,
134136
)
135137
_SIGNAL_PIN_TYPES = frozenset({"input", "output", "bidirectional", "tri_state",

‎worker/tests/test_net_activity.py‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,10 @@ def _p(function="", kind=""):
6464
("D", "", False),
6565
("OUTA", "", False),
6666
("VS\u2013_5", "unspecified", True), # THS4551 negative supply, with an en dash
67+
("VOCM_7", "unspecified", False), # THS4551 output common-mode input on "2.05V"
68+
("PD#_3", "unspecified", False), # THS4551 power-down, tied to its supply
69+
("SHDN", "", False),
70+
("PD3", "unspecified", False), # still a GPIO, not a power-down
6771
("V-", "", True),
6872
("VREF", "input", True), # a reference input needs its capacitor
6973
("REF", "", True),

0 commit comments

Comments
 (0)