runpatrick/sa-sim-pcb
This code defines PCB footprints for various electronic modules, including BG95 cellular modem, BNO086 sensor, BQ25180 battery charger, and BQ27220 power management IC, detailing their physical pad layouts and key external features.
- Version
- 1.0.6
- License
- unset
- Stars
- 0
sim/pdn.results.txt
No compatibility mode selected!
Circuit: * sa-sim v1 — pdn impedance analysis
Doing analysis at TEMP = 27.000000 and TNOM = 27.000000
Warning: i_test: has no value, DC 0 assumed
Warning: can't parse 'vm': ignored
No. of Data Rows : 161
Error: measure z_100meg (AT) : out of interval
.meas ac z_100meg find vm(modem_vbat) at=100meg failed!
z_dc = 1.100000e-01
z_1k = 1.086471e-01
z_100k = 4.092310e-02
z_10meg = 3.668897e-02
z_max = 1.100000e-01 at= 1.000000e+00
* sa-sim v1 — pdn impedance analysis
AC Analysis Thu Apr 30 22:36:48 2026
--------------------------------------------------------------------------------
Index frequency vm(modem_vbat)
--------------------------------------------------------------------------------
0 1.000000e+00 1.100000e-01
1 1.122018e+00 1.100000e-01
2 1.258925e+00 1.100000e-01
3 1.412538e+00 1.100000e-01
4 1.584893e+00 1.100000e-01
5 1.778279e+00 1.100000e-01
6 1.995262e+00 1.100000e-01
7 2.238721e+00 1.100000e-01
8 2.511886e+00 1.100000e-01
9 2.818383e+00 1.100000e-01
10 3.162278e+00 1.100000e-01
11 3.548134e+00 1.100000e-01
12 3.981072e+00 1.100000e-01
13 4.466836e+00 1.100000e-01
14 5.011872e+00 1.100000e-01
15 5.623413e+00 1.100000e-01
16 6.309573e+00 1.099999e-01
17 7.079458e+00 1.099999e-01
18 7.943282e+00 1.099999e-01
19 8.912509e+00 1.099999e-01
20 1.000000e+01 1.099999e-01
21 1.122018e+01 1.099998e-01
22 1.258925e+01 1.099998e-01
23 1.412538e+01 1.099997e-01
24 1.584893e+01 1.099996e-01
25 1.778279e+01 1.099996e-01
26 1.995262e+01 1.099994e-01
27 2.238721e+01 1.099993e-01
28 2.511886e+01 1.099991e-01
29 2.818383e+01 1.099989e-01
30 3.162278e+01 1.099986e-01
31 3.548134e+01 1.099982e-01
32 3.981072e+01 1.099978e-01
33 4.466836e+01 1.099972e-01
34 5.011872e+01 1.099965e-01
35 5.623413e+01 1.099956e-01
36 6.309573e+01 1.099944e-01
37 7.079458e+01 1.099930e-01
38 7.943282e+01 1.099912e-01
39 8.912509e+01 1.099889e-01
40 1.000000e+02 1.099860e-01
41 1.122018e+02 1.099824e-01
42 1.258925e+02 1.099778e-01
43 1.412538e+02 1.099721e-01
44 1.584893e+02 1.099649e-01
45 1.778279e+02 1.099558e-01
46 1.995262e+02 1.099444e-01
47 2.238721e+02 1.099300e-01
48 2.511886e+02 1.099119e-01
49 2.818383e+02 1.098891e-01
50 3.162278e+02 1.098605e-01
51 3.548134e+02 1.098246e-01
52 3.981072e+02 1.097794e-01
53 4.466836e+02 1.097227e-01
54 5.011872e+02 1.096515e-01
Index frequency vm(modem_vbat)
--------------------------------------------------------------------------------
55 5.623413e+02 1.095622e-01
56 6.309573e+02 1.094504e-01
57 7.079458e+02 1.093105e-01
58 7.943282e+02 1.091358e-01
59 8.912509e+02 1.089180e-01
60 1.000000e+03 1.086471e-01
61 1.122018e+03 1.083114e-01
62 1.258925e+03 1.078968e-01
63 1.412538e+03 1.073872e-01
64 1.584893e+03 1.067645e-01
65 1.778279e+03 1.060088e-01
66 1.995262e+03 1.050995e-01
67 2.238721e+03 1.040163e-01
68 2.511886e+03 1.027414e-01
69 2.818383e+03 1.012617e-01
70 3.162278e+03 9.957188e-02
71 3.548134e+03 9.767678e-02
72 3.981072e+03 9.559405e-02
73 4.466836e+03 9.335477e-02
74 5.011872e+03 9.100249e-02
75 5.623413e+03 8.859014e-02
76 6.309573e+03 8.617512e-02
77 7.079458e+03 8.381350e-02
78 7.943282e+03 8.155434e-02
79 8.912509e+03 7.943528e-02
80 1.000000e+04 7.747994e-02
81 1.122018e+04 7.569740e-02
82 1.258925e+04 7.408324e-02
83 1.412538e+04 7.262166e-02
84 1.584893e+04 7.128801e-02
85 1.778279e+04 7.005125e-02
86 1.995262e+04 6.887602e-02
87 2.238721e+04 6.772429e-02
88 2.511886e+04 6.655658e-02
89 2.818383e+04 6.533300e-02
90 3.162278e+04 6.401433e-02
91 3.548134e+04 6.256332e-02
92 3.981072e+04 6.094637e-02
93 4.466836e+04 5.913571e-02
94 5.011872e+04 5.711191e-02
95 5.623413e+04 5.486636e-02
96 6.309573e+04 5.240331e-02
97 7.079458e+04 4.974087e-02
98 7.943282e+04 4.691046e-02
99 8.912509e+04 4.395456e-02
100 1.000000e+05 4.092310e-02
101 1.122018e+05 3.786894e-02
102 1.258925e+05 3.484342e-02
103 1.412538e+05 3.189258e-02
104 1.584893e+05 2.905461e-02
105 1.778279e+05 2.635861e-02
106 1.995262e+05 2.382451e-02
107 2.238721e+05 2.146388e-02
108 2.511886e+05 1.928117e-02
109 2.818383e+05 1.727520e-02
110 3.162278e+05 1.544062e-02
111 3.548134e+05 1.376922e-02
112 3.981072e+05 1.225102e-02
Index frequency vm(modem_vbat)
--------------------------------------------------------------------------------
113 4.466836e+05 1.087520e-02
114 5.011872e+05 9.630800e-03
115 5.623413e+05 8.507334e-03
116 6.309573e+05 7.495363e-03
117 7.079458e+05 6.587054e-03
118 7.943282e+05 5.776880e-03
119 8.912509e+05 5.062542e-03
120 1.000000e+06 4.446196e-03
121 1.122018e+06 3.935882e-03
122 1.258925e+06 3.546430e-03
123 1.412538e+06 3.298039e-03
124 1.584893e+06 3.210202e-03
125 1.778279e+06 3.292224e-03
126 1.995262e+06 3.538065e-03
127 2.238721e+06 3.931352e-03
128 2.511886e+06 4.455433e-03
129 2.818383e+06 5.100514e-03
130 3.162278e+06 5.866297e-03
131 3.548134e+06 6.762566e-03
132 3.981072e+06 7.809987e-03
133 4.466836e+06 9.042537e-03
134 5.011872e+06 1.051288e-02
135 5.623413e+06 1.230303e-02
136 6.309573e+06 1.454528e-02
137 7.079458e+06 1.746493e-02
138 7.943282e+06 2.147229e-02
139 8.912509e+06 2.736623e-02
140 1.000000e+07 3.668897e-02
141 1.122018e+07 5.052668e-02
142 1.258925e+07 5.424626e-02
143 1.412538e+07 3.590088e-02
144 1.584893e+07 2.106935e-02
145 1.778279e+07 1.236786e-02
146 1.995262e+07 7.180536e-03
147 2.238721e+07 4.908092e-03
148 2.511886e+07 5.735152e-03
149 2.818383e+07 8.052557e-03
150 3.162278e+07 1.076598e-02
151 3.548134e+07 1.364334e-02
152 3.981072e+07 1.667226e-02
153 4.466836e+07 1.988898e-02
154 5.011872e+07 2.334191e-02
155 5.623413e+07 2.708355e-02
156 6.309573e+07 3.116916e-02
157 7.079458e+07 3.565732e-02
158 7.943282e+07 4.061079e-02
159 8.912509e+07 4.609767e-02
160 1.000000e+08 5.219253e-02
Total analysis time (seconds) = 0.001
Total elapsed time (seconds) = 0.005
Total DRAM available = 64253.918 MB.
DRAM currently available = 14199.102 MB.
Maximum ngspice program size = 20.012 MB.
Current ngspice program size = 12.312 MB.
Shared ngspice pages = 10.395 MB.
Text (code) pages = 5.316 MB.
Stack = 0 bytes.
Library pages = 2.066 MB.
================================================================================
SA-SIM v1 — PDN Impedance Analysis Summary
Generated: 2026-04-30 ngspice-36 Batch Mode
================================================================================
NETLIST: sim/pdn.spice
ANALYSIS: AC decade sweep, 1Hz to 100MHz, 20 pts/decade (161 points)
STIMULUS: 1A AC current source at modem_vbat node
METRIC: V(modem_vbat) = Z(f) [Ohms, since I=1A]
TARGET: Z < 50mΩ at all PDN-critical frequencies
--- Physical Model (series path: battery → JST → FET → PCB trace → BG95 pin) ---
R_batt_int : 50mΩ (Li-ion internal resistance)
R_jst : 30mΩ (JST connector + wire)
L_wire : 5nH (battery wire)
R_fet : 25mΩ (reverse-polarity FET Rds_on)
C_fet_par : 5pF (FET drain-source parasitic)
R_trace : 5mΩ (PCB trace BAT_P, 5mm × 0.5mm)
L_trace : 2nH (PCB trace inductance)
Series R total = 110mΩ (sets low-frequency impedance floor)
--- Decoupling Network at modem_vbat ---
3× 10µF X5R 0603 (C_BG95_BAT1/2/3) ESR=10mΩ ESL=1nH
4× 100nF 0402 MLCC (C_d1–C_d4) ESR=20mΩ ESL=0.5nH
1× 100µF tantalum (C_bulk, FAB risk#6 fix) ESR=200mΩ ESL=2nH
--- Measured Impedance at Key Frequencies ---
Frequency | Z (mΩ) | Status
------------|----------|-----------------------------
1Hz (DC) | 110.0 | CONCERN — series R floor
1kHz | 108.6 | CONCERN — series R floor
100kHz | 40.9 | PASS
10MHz | 36.7 | PASS
~12.6MHz | 54.2 | CONCERN — anti-resonance peak
100MHz | 52.2 | CONCERN — rising inductance
--- ngspice .meas Results ---
z_dc = 110.0 mΩ (at 1Hz)
z_1k = 108.6 mΩ (at 1kHz)
z_100k = 40.9 mΩ (at 100kHz)
z_10meg = 36.7 mΩ (at 10MHz)
z_100meg = N/A (out of sweep interval — see row 160: 52.2mΩ at 1e8Hz)
z_max = 110.0 mΩ (at 1Hz, dominated by series R)
--- Analysis ---
LOW-FREQUENCY CONCERN (DC–1kHz, Z≈110mΩ):
The 110mΩ floor is the physically correct sum of all series resistances in
the current path from battery to BG95 VBAT pin. This is not a simulation
error. The BG95 draws burst current (up to ~2A peak during LTE-M TX) through
this path. At 110mΩ, a 2A burst causes ΔV = 220mV sag on VBAT.
The BG95 VBAT min is 3.3V; at 3.7V nominal, 220mV sag leaves 3.48V — safe.
However, reducing JST wire length and using a lower Rds_on FET (e.g., 10mΩ)
would improve margin.
RECOMMENDATION: Select FET with Rds_on < 10mΩ (e.g., AO3401A, Rds_on=45mΩ
max but typically ~20mΩ; or DMG3415U). Shorten battery wire to ≤30mm.
ANTI-RESONANCE PEAK (~12.6MHz, Z=54.2mΩ):
Caused by parallel resonance between the 100µF tantalum (going inductive at
~11MHz due to ESL=2nH) and the 100nF ceramics (still capacitive at that freq).
This peak at 54.2mΩ just exceeds the 50mΩ target.
RECOMMENDATION: Add a 1µF X5R 0402 MLCC (ESR<5mΩ, ESL<0.3nH) on modem_vbat.
This fills the impedance "valley" between tantalum and 100nF, smoothing the
anti-resonance. A 4.7µF 0402 (LCSC C19666) would also work and is already
in the BOM for VBAT rails.
HIGH-FREQUENCY (100MHz, Z=52.2mΩ):
The 100nF ceramics go inductive above ~50MHz (ESL=0.5nH → X_L=314mΩ at
100MHz but parallel combination with many caps reduces effective ESL).
Adding 10nF or 1nF 0201 caps (lower ESL ~0.2nH) adjacent to BG95 VBAT pins
would extend the flat impedance region to 100MHz.
--- Pass/Fail Summary ---
100kHz, 10MHz: PASS (well below 50mΩ target)
DC, 1kHz: CONCERN (110mΩ — physical series R; voltage sag ~220mV @ 2A, within BG95 spec)
~12.6MHz: CONCERN (54.2mΩ anti-resonance peak — add 1µF MLCC to fix)
100MHz: CONCERN (52.2mΩ rising — add 10nF 0201 caps to fix)
--- Recommended BOM Additions for Full Compliance ---
1. Replace reverse-polarity FET with Rds_on ≤ 10mΩ device
2. Add 1× 4.7µF X5R 0402 MLCC on modem_vbat (LCSC C19666, already in BOM)
3. Add 2× 10nF 0402 MLCC (ESL~0.2nH) at BG95 VBAT pins for 100MHz coverage
4. Use shortest possible JST wire (target ≤ 30mm)
ngspice exit code: 0 (success)
================================================================================