Waveflow
From waveform to silicon — in Python.
Waveflow is a Python-native framework for algorithm–hardware co-design: describe your datapath once in Python, simulate it fast and bit-exact, and generate its hardware implementation from the same source. Its flagship domain is wireless, but it fits any project for efficiently realizing complex signal-processing algorithms in hardware (FPGA or ASIC).
One structured Python representation is the single source of truth — simulation, synthesis, software bindings, and documentation all derive from it, instead of drifting apart across notebooks, HDL fragments, and build glue.
Waveflow is the substrate that makes AI effective for hardware — fast to simulate, structured so generation stays local and contract-guided, reproducible to build, and bit-exact to verify.
Start here
- Overview — the motivation, what makes Waveflow different, and the flow
- Project status — what works today, what’s next, and the first integrated milestone
- Installation — install Waveflow from source
- Guide — schemas, interfaces, components, simulation, synthesis, and builds
- Examples — worked designs, starting with basic vectorization
People
Waveflow is developed by Sundeep Rangan, Professor of Electrical and Computer Engineering and Director of NYU Wireless at NYU.
Support
This project is generously supported by:
- NTIA NOFO-2 award on Spectrally Agile Large Scale Arrays with NYU, Rutgers, Pi-Radio, Nokia, and Princeton University.
- NSF NeTS Medium: Energy-Efficient and Reconfigurable Wireless Networks through Hardware-Algorithm Co-Design with NYU PIs Sundeep Rangan, Brandon Reagen, Elza Erkip, and Hamed Rahmani.
- The industrial affiliates of NYU Wireless.
Feedback
Waveflow is an early-stage research project and the ideas are still evolving. Feedback is very welcome — especially from people working in accelerator design, wireless and DSP systems, hardware/software co-design, simulation and verification, and AI-assisted engineering tools.