From a8c242933a6917aaeeade383c09f0ea998d467d0 Mon Sep 17 00:00:00 2001 From: Siddharth Kothari Date: Fri, 17 Jul 2026 00:19:56 -0700 Subject: [PATCH] README: add pipeline diagram --- README.md | 4 ++ docs/how-it-works.svg | 121 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 docs/how-it-works.svg diff --git a/README.md b/README.md index e8fc918..ff29d41 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,10 @@ The reason it exists: ERC passes boards that don't work. Your EDA tool has no id ## How it works +

+ Pipeline: the netlist and BOM are parsed into a design graph; datasheet PDFs are extracted into pin tables and specs; a per-IC review reads both and files findings cited to datasheet pages; the derating table and BOM roll-up are computed straight from the graph, no model involved. +

+ 1. **Parse** the BOM (CSV/XLSX) and netlist (PADS-PCB `.asc` or EDIF 2.0.0 `.edn` — exportable from KiCad, Altium, OrCAD, Allegro, Xpedition, EasyEDA, Eagle) into a queryable bipartite graph of components and nets. 2. **Extract** pin tables and specs from the PDFs. Large datasheets are trimmed to the relevant pages first, and every extraction is cached in a shared library, so a given part number is only ever processed once. 3. **Review** each IC in isolation. The model gets the trimmed datasheet plus that IC's circuit neighborhood, can query the graph (`find_connected_components`, `get_net_for_pin`, `get_pintable`) and pull pages from a *connected* part's datasheet when a finding spans an interface. It files findings with severity, reasoning, and page citations. diff --git a/docs/how-it-works.svg b/docs/how-it-works.svg new file mode 100644 index 0000000..580e25a --- /dev/null +++ b/docs/how-it-works.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + INPUTS + PARSE & EXTRACT + REVIEW + REPORT + + + + + netlist + .asc · .edn + + + BOM + .csv · .xlsx + + + datasheets + .pdf + + + + + + design graph + components ⇄ nets, + every pin resolvable, + queryable + + + + + + pin tables + specs + PDFs page-trimmed, + read once per part, + cached in a shared + library + + + + + + per-IC review + The model reads the trimmed + datasheet next to that IC's circuit + neighborhood, and checks it against + the reference application, pin + functions and abs-max ratings. + + TOOLS + + + get_pintable + + get_net_for_pin + + find_connected_components + + get_datasheet_excerpt + + One IC per pass — a bad response + skips that part, never the run. + + + + + + findings + severity, reasoning, + suggested fix — each + cited to the datasheet + page it came from + + + + + + computed, no model + capacitor derating table, + BOM roll-up + + + + + + + + + + + + + + + + + + + + + straight from the graph + + + + + deterministic + + model-assisted + +