OpenClickNP v0.1 — first public release
Clean-room reimplementation of the system described in the SIGCOMM
2016 ClickNP paper, derived only from the published paper and built
from scratch on the AMD/Xilinx 2025.2 toolchain targeting the Alveo
U50 die (xcu50-fsvh2104-2-e).
Highlights
- Hand-written C++17 compiler (openclicknp-cc) with three IRs and
six backends: Vitis HLS C++, SystemC, std::thread SW emulator,
Verilator harness, v++ link config, and XRT host stubs. - 123 standard elements across 9 categories (core, lookups, parsers,
actions, crypto, queues, traffic, networking, testing). Every
element synthesizes through Vitis HLS with measured LUT/FF/DSP/BRAM
numbers and has a behavioral unit test. - 47 end-to-end applications covering 100% of the element library.
All 47 close timing positively at 322.265625 MHz on the U50 die,
meet hold timing, and have zero CDC violations. - 5-level test pyramid (L1 unit, L2 SW emu, L3 HLS cosim, L4
Verilator, L5 real Alveo). 135 automated tests, 100% passing. - U50 platform integration for both XDMA and QDMA streaming PCIe.
- Reproducible evaluation suite (eval/) producing per-element resource
CSVs and per-app place-and-route reports.
See FINAL_REPORT.md for the measured numbers and PLAN.md for the
full design.