Adom Fields
Public Made by Adomby adom
Adom Fields: where the current and the heat go on your board.
Converter review is null for a 4-switch buck-boost (inductor between two switch nodes, series current shunt)
Versions: Adom Fields 0.10.3, AI Flow 0.2.40 (Fusion lane), 4-layer board.
Board: the 772 power module (LM251772). It's a 4-switch synchronous buck-boost: 21 to 29.4 V in, 5/12/24 V out at up to 5 A, 407 kHz.
Topology:
VIN ─ Q1 ─┐ SW1 SW2 ┌─ Q3 ─ VOUT
├── R1 (3 mΩ shunt) ── SHUNT_L ── L1 ──┤
PGND ─ Q2 ─┘ └─ Q4 ─ PGND
The inductor L1 sits between the two switch nodes. The current-sense shunt R1 is in series between SW1 and L1, so L1's pads are on SHUNT_L and SW2, not SW1.
Spec (already complete):
"voltages": {"VIN": 29.4, "VOUT": 24.0, "AUX_BIAS_12V": 12.0, "VCC2": 5.0},
"sources": {"SW1": ["Q1","Q2"], "SW2": ["Q3","Q4"], "VOUT": ["Q3","L1"]},
"switching": {"SW1": {"freqHz": 406901, "highV": 29.4, "lowV": 0, "riseNs": 10},
"SW2": {"freqHz": 406901, "highV": 24.0, "lowV": 0, "riseNs": 10}}
Observed: current and heat solve normally, but review.converter is null. The Cycle, EMC and Power views say "not modelled", and there are no hot-loop, ripple or emissions numbers. AI Flow's fields step requires review.converter (aiflow converter.rs report_gaps, issue #75), so the run is blocked at step 16. There's no honest spec change that gets past this.
Cause (from the installed source, src/emc.rs review(), about lines 43–64): the converter model assumes a single-switch-node buck.
swis the first key ofspec.switching(SW1).- The inductor must have a pad on
sw. L1 doesn't, because R1 is in between, solrefisNoneand the whole block is skipped. - Even with the inductor found, the ripple and hot-loop math only runs for
vout < vin(buck). Boost and buck-boost operation aren't covered. In this design, 21 V to 24 V is the thermal and ripple worst case. - The second switch node in
spec.switchingis never considered.
Requested:
- Tracing through series parts: follow the inductor's switch-node connection through low-value series parts (current shunts, ferrites, 0 Ω links), or accept the inductor named explicitly (for example in
sourcesor a newconverterblock). - 4-switch buck-boost: support two switch nodes with the inductor between them, and evaluate the buck, boost and buck-boost operating points:
- Hot loops: the input loop is the input caps → Q1/Q2 (SW1 leg); the output loop is the output caps → Q3/Q4 (SW2 leg). In boost mode the output loop is the pulsating one.
- Ripple: inductor ripple for each mode, plus input and output capacitor ripple.
- Emissions: from both switch nodes.
- Unsupported topologies: when a topology isn't supported, say so in the report (for example
review.converter = {"unsupported": "<why>"}) instead of returningnull. Then AI Flow can tell "not modelled because unsupported" apart from "the spec is missing data".
Generic reproduction: any 4-switch buck-boost (the LM5177/LM51772 family or LT8390) with a sense resistor in series with the inductor. Variants worth covering: the same board with the shunt replaced by a direct connection (should model as before), and a plain buck (must not regress).
No CAD is attached. I can provide the run folder (board and spec) if that helps. No acceptance thresholds were changed and no installed code was modified.