Examples
See exactly how it works
Scroll through three live demonstrations: raw performance against GPUs, the compiler transforming operators into hardware, and the full pipeline from PyTorch to VHDL.
01 — Performance
One inference. Two very different waits.
Same model, same batch. 10x faster inference, deterministic latency.
50% less power at sustained load.
02 — Inside Natural
Watch the compiler think
The lowering pass
One function per operator turns math into hardware. lower_conv2d reads the node — kernel size, parallelism budget — and constructs RTLIR as data: modules, signals, clocked logic. A 1×1 kernel gets a pointwise MAC array; a 5×5 gets a line buffer and sliding window.
NIR node → RTLIR dataclassesSkip connections, synchronised
Residual streams rarely arrive together. Natural inserts skid buffers that hold the early stream until its partner arrives, then adds with saturation and full AXI-Stream backpressure — bit-exact. This is the operator that breaks other FPGA toolchains.
skid-buffered residual AddHardware you can steer
Edit parallelism_factor on any node in the graph editor and the compiler re-plans the hardware: more DSP multipliers, wider datapaths, re-inferred signal widths. Co-design annotations live on the IR — you never touch the HDL by hand.
parallelism 1 → 4 = 4× DSP03 — The compiler
Follow your model down to silicon
Your unmodified model.py.
One export. The boundary contract.
Neural graph + hardware annotations.
The proprietary core: operators become hardware.
RTL as data — optimisation passes rewrite it.
Human-readable, proven bit-exact before the board.