NAPA Circuit Simulator
NAPA
netlist → ansi‑c → simulator

NAPA

A mixed‑signal circuit simulator kept by one engineer since 1991 — write a netlist, press Alt+R, watch it transpile straight to C and run as a cycle‑based simulator.


What it is

A transpiler first, a simulator second.

NAPA is a transpiler: it turns a netlist — a plain‑text description of a circuit, written in its own small language — into optimized ANSI‑C source. That C is compiled and run as a fast, cycle‑based simulator built for that one circuit alone. Nothing generic sits in the loop.

It handles analog and digital parts of the same system together: delta‑sigma modulators, switched‑capacitor filters, logic, FFTs, user‑defined C functions — with automatic type inference between analog (double) and digital (64‑bit integer) signals.

NAPA incorporates a contribution from Jacques Mequin: SARC, a fast simulation engine he wrote (originally paired with its own graphical editor for linear circuits), grafted onto NAPA. SARC simulates passive or active filters and switched‑capacitor circuits in the time domain — transfer functions can be described directly in the Laplace domain and/or with elements matching SPICE primitives (V, I, L, R, C, E, …) — with its results fed straight into NAPA's cycle‑based simulation. Element values can, for instance, be changed while the simulation is running.

, runs on 64‑bit Windows, and makes no network calls of its own.


A taste of the language

Ten lines, one filter.

White noise into an RC low‑pass, analyzed straight into a transfer‑function tool.

title   "$F"
header <napatool.hdr>

fs  10.0e6

dvar  R   1.0e6
dvar  C   10.0e-12

node in  noise     0.0 1.0
node out cell lpf  "../lprc1.net"  in  R C

ivar  npts  POWEROF2(20)

tool  tf  "tf.out"  in 1.0 out 1.0  npts

terminate 1 <= TOOL_INDEX
Net/Filters/Test/test1.nap

Get NAPA

Current release — v4.60

NAPA_RELEASE_460 open folder →

The distribution ships as one encrypted archive. To get the password, email yves.leduc.be@gmail.com — it isn't published anywhere on the site.


About the name
All mimsy were the borogoves,
And the mome raths outgrabe. — Lewis Carroll, Jabberwocky

Invented words that still parse. A personal netlist language that still compiles. The domain kept the theme.


Contact

Questions, bugs, or a circuit that won't behave.

Yves Leduc — yves.leduc.be@gmail.com