circuits/power_tree.py captures the full supply, topology + values verified from the TPS65131 datasheet (SLVS493E: pinout p3, Typical Application Fig 8-1 p11, BOM Table 8-2 p12, FB equations p13 Vref=1.213V) and the TPS7A49/TPS7A30 LDO datasheets: - TPS65131 dual boost/inverter: L1/L2=4.7uH, D1/D2=MBRM120, FB dividers set ~+/-18.2V (R1=1.4M/R2=100k, R3=1.5M/R4=100k), comp C7/C6 on CP/CN, VREF 220nF, no Q1 (USB), PSP/PSN=GND forced-PWM for low audio-band noise. - TPS7A4901/TPS7A3001 post-regulate to clean +/-15V (shared 8-pin pinout, EN tied to IN). - AP2112K-3.3 -> digital 3V3. ERC 0 errors; netlist 0 errors. CONFIRM before fab: exact LDO Vfb (used ~1.194V/-1.18V for the dividers) and the AP2112K SOT-23-5 pinout. Switcher validated vs TI reference design; no SPICE (behavioral models don't validate a switcher) -- layout per the TI EVM. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| circuits | ||
| sim | ||
| Containerfile | ||
| README.md | ||
| run.sh | ||
PM_K-1 EDA environment
A reproducible container with the tools to design, check, and simulate the core board — so the work doesn't depend on whatever happens to be installed on a given machine, now or in 50 years.
What's inside
- KiCad 9 — schematic capture + PCB layout, and a CLI (
kicad-cli) that can run ERC (Electrical Rules Check) and DRC, and export netlists/PDF/Gerbers. - ngspice — SPICE simulator for validating the analog audio circuits before we commit copper (op-amp stages, filters, input loading, etc.).
- python3 — scripting, BOM munging, optional code-defined-schematic helpers.
Why a container?
The system KiCad here is 7.0, whose CLI can't run ERC (that arrived in KiCad 8). Rather than fight the host, we pin a known toolchain. Anyone — including future-you — rebuilds the exact environment with one command.
Use it
cd hardware/eda
./run.sh # interactive shell, lands in hardware/kicad/
./run.sh kicad-cli version # confirm KiCad 9
./run.sh kicad-cli sch erc pm_k1_core.kicad_sch # run ERC on the schematic
./run.sh ngspice -b ../eda/sim/input_loading.cir # run a simulation (cwd is kicad/)
run.sh builds the image on first use, then mounts the whole repo at /work (so KiCad sees
hardware/). Use RUNTIME=docker ./run.sh … to use Docker instead of Podman.
Layout
eda/
Containerfile # the pinned toolchain (KiCad 9 + ngspice + python)
run.sh # build-if-needed + run with the repo mounted
sim/ # ngspice decks (SPICE simulations of the analog circuits)