PCB buck ringing
You ask
How hard does the switch node ring with this layout?
Wobbl runs
$ wobbl simulate buck_loose.kicad_pcb "how hard does the switch node ring with this layout?" \ --netlist buck.cir --no-open
Loose

Tight
Hot loop inductance 54.45 nH of 54.45 nH
Loose
31.5 V
MARGINAL
Tight
31.3 V
MARGINAL
Checks, numbers and charts
MARGINALbuck_loose.kicad_pcb has 5 routed nets on 2 layers, with trace impedances from 82.9 to 113 ohm. The longest, SW, runs 39.6 mm with 19.3 nH, 2.81 pF and 19.5 mohm. In buck.cir the layout raises the peak across D1 from 13.2 V on the schematic alone to 31.5 V, ringing at 168 MHz.
- Nets
- 5
- Impedance
- 82.9 to 113 ohm
- Worst crosstalk
- none found
- Confidence
- medium
- passmesh convergence
- passconnectivity
- warnreturn path
MARGINAL. buck_loose.kicad_pcb has 5 routed nets on 2 layers, with trace impedances from 82.9 to 113 ohm. The longest, SW, runs 39.6 mm with 19.3 nH, 2.81 pF and 19.5 mohm. In buck.cir the layout raises the peak across D1 from 13.2 V on the schematic alone to 31.5 V, ringing at 168 MHz. Confidence: medium. return path: 4 nets run mostly over no plane (VIN, SW, VOUT, G), so their return current takes whatever copper is near and their impedance is only a boundnets: 5impedance: 82.9 to 113 ohmworst crosstalk: none foundsections solved: 3 Checks: [pass] mesh convergence: the most used trace's impedance moved from 82.9 to 82.9 ohm on a finer mesh (0.026%) [pass] connectivity: every net's pads are joined by its copper [warn] return path: 4 nets run mostly over no plane (VIN, SW, VOUT, G), so their return current takes whatever copper is near and their impedance is only a bound Assumptions: - Stackup: kicad stackup. - Quasi static TEM cross sections of each trace with its planes; solder mask, plating and surface roughness are left out, and loss is only the DC resistance of the copper. - Crosstalk is for a 1 ns edge on the aggressor. - KiCad 8 board, file format version 20240108. - Parasitics joined 9 of 11 pad connections and 4 net capacitances to the schematic buck.cir, each pad hanging off its net's main chip pad through the copper between them. - The parts are modeled as the netlist gives them. Ideal switches and diodes without reverse recovery ring longer than real ones, whose losses damp the ringing. Suggested fixes: - Put a ground pour under VIN: A plane right under the trace gives the return current a path next to it, which sets its impedance and cuts its loop inductance. - Put a ground pour under SW: A plane right under the trace gives the return current a path next to it, which sets its impedance and cuts its loop inductance. Images: board: images/board.png, ringing: images/ringing.pngReport: report.htmlMARGINALbuck_tight.kicad_pcb has 5 routed nets on 2 layers, with trace impedances from 60.2 to 113 ohm. The longest, VIN, runs 21.7 mm with 7.87 nH, 2.17 pF and 5.33 mohm. The worst crosstalk is 0.1% between G and GND over 0.6 mm at a 1 ns edge. In buck.cir the layout raises the peak across D1 from 13.2 V on the schematic alone to 31.3 V, ringing at 79.4 MHz.
- Nets
- 5
- Impedance
- 60.2 to 113 ohm
- Worst crosstalk
- 0.1%
- Confidence
- high
MARGINAL. buck_tight.kicad_pcb has 5 routed nets on 2 layers, with trace impedances from 60.2 to 113 ohm. The longest, VIN, runs 21.7 mm with 7.87 nH, 2.17 pF and 5.33 mohm. The worst crosstalk is 0.1% between G and GND over 0.6 mm at a 1 ns edge. In buck.cir the layout raises the peak across D1 from 13.2 V on the schematic alone to 31.3 V, ringing at 79.4 MHz. Confidence: high. passed mesh convergence, closed form, connectivitynets: 5impedance: 60.2 to 113 ohmworst crosstalk: 0.1%sections solved: 3 Checks: [pass] mesh convergence: the most used trace's impedance moved from 60.2 to 60.2 ohm on a finer mesh (0.021%) [pass] closed form: the most used trace, a microstrip on F.Cu, is 60.2 ohm and the closed form for its average dielectric gives 60.3 ohm (0.12% apart, the field solve keeps each layer of the stackup) [pass] connectivity: every net's pads are joined by its copper Assumptions: - Stackup: kicad stackup. - Quasi static TEM cross sections of each trace with its planes; solder mask, plating and surface roughness are left out, and loss is only the DC resistance of the copper. - Crosstalk is for a 1 ns edge on the aggressor. - KiCad 8 board, file format version 20240108. - Parasitics joined 5 of 6 pad connections and 4 net capacitances to the schematic buck.cir, each pad hanging off its net's main chip pad through the copper between them. - The parts are modeled as the netlist gives them. Ideal switches and diodes without reverse recovery ring longer than real ones, whose losses damp the ringing. Images: board: images/board.png, ringing: images/ringing.pngReport: report.htmlRun it yourself
$ git clone https://github.com/sohan-bhat/wobbl$ cd wobbl/examples/pcb-buck-ringing && ./run.shThe part, the script and every output are in examples/pcb-buck-ringing on GitHub.