Most academic decoders are optimized for high thresholds but suffer from non-deterministic jitter (GC pauses, allocation overhead) that makes them unusable on hardware. prav-core is a bare-metal Union-Find decoder written in pure Rust with #![no_std] and strictly zero heap allocations in the hot path.
Technical details:
- Performance: Uses SWAR (SIMD within a register) bit operations and Morton (Z-order) encoding for spatial locality/cache optimization. - Verification: 39 Kani proofs verifying memory safety and arithmetic correctness. - Targets: Compiles to x86, ARM64, WASM, and bare-metal Cortex-R5.
Python bindings are coming next (for easier comparison with PyMatching), but the end goal is to run Distance-25 codes in under 500ns on commodity FPGAs.
The code is Apache2/MIT.