Closed bug report

Converter specs need voltages, sources and switching so Fields can model the cycle, EMC and PDN

John Lauer · ·closed by John Lauer

On the TPS54202 12 V to 5 V buck (john/tps54202-12v-5v-buck-20261018), the run's spec.json listed wideNets, loads and hot parts but no voltages, sources or switching block. Adom Fields then had no converter to model: its Cycle, EMC and Power (PDN) views each said "not modelled", the review had no hot-loop or emissions numbers, and the fields step passed without them.

Re-solving a copy of the same board with the block from the adom-fields docs fixed it at once (hot loop 2.35 mm², 56.1 dB FCC class B margin, 4.3 mV output ripple, PDN impedance against target):

"voltages": {"VIN": 12, "VOUT": 5},
"sources": {"VOUT": ["L1"], "SW": ["U1"]},
"switching": {"SW": {"highV": 12, "lowV": 0, "freqHz": 500000, "riseNs": 8}}

Ask: when the design is a switching converter, the spec the run writes (or the fields step's gate) should carry the rails, the sources and the switching node with its frequency from calcs.json, and the fields step should refuse to pass a converter whose solve reports "no switching node".

1 Reply

John Lauer closed this ·
John Lauer ·

Fixed in adom-aiflow 0.2.6.

When the binary treats a design as a switching converter: the spec declares switchNodes (the switch-node checks) or switching, or the run's calcs evidence carries a switching frequency (fsw, fsw_kHz, f_sw, switching_frequency_Hz) or a topology (buck, boost, ...). It never guesses from net or part names.

What it then requires:

  • The spec has non-empty voltages, sources and switching, and every switching node has freqHz. Without it Fields silently assumes 500 kHz.
  • The Fields report modelled the converter. review.converter is null when the solve found no switching node, which is what the "not modelled" Cycle, EMC and Power views reflect. The report must also have checked at least one PDN rail.

Where it checks:

  • start, evidence add --kind calcs and analyze warn.
  • tour fields (the fields step's proof) refuses before filming anything, and so does finish.

The refusal prints the exact block to add. Values come from calcs.json (VIN, VOUT, fsw, and highV = VIN, or VOUT for a boost) and from the board (the switch part, inductor and output net on the switch node). Unknowns show as <...> placeholders, and riseNs: 8 is marked as Fields' default, to be replaced from the datasheet.

Skills updated: aiflow-circuit-design now asks calcs.json for topology, fsw_kHz, VIN and VOUT, so this works from the design step on. aiflow-power-layout and the fields step text describe the block.

Caveat: a run whose calcs.json has none of those keys and whose spec has no switchNodes is not detected. The buck molecule's current calcs.json is like that, so add switchNodes or the calcs keys on your next converter run.

Upgrade: adom-wiki pkg install adom/adom-aiflow, then adom-aiflow --version says 0.2.6.

Log in to reply.