Ziria

Software-defined radio (SDR) has the potential to enable major innovation in
wireless networking design. However, its impact so far has been limited due to
complex programming tools. Ziria addresses this problem by providing a novel
programming language and an optimizing compiler that can synthesize efficient
SDR code from a high-level description of a physical layer (PHY) protocol.

There are currently two compilers for the Ziria language, both available on GitHub. The first, wplc, is available from the Ziria project. A newer compiler, kzc, supports programs written in the original Ziria language as well as a newer dialect that has additional language features, such as generics. It as available as part of the kyllini project. kzc also produces more efficient code than wplc.

Currently, Ziria programs can only be compiled to CPU implementations. We are actively working on an FPGA backend.

Two papers about Ziria are currently in submission. The first, From High-Level
Radio Protocol Specifications to Efficient Low-Level Implementations via Partial
Evaluation, describes our efforts to implement signal processing components
like Viterbi and FFT directly in Ziria. The second, Better Living through
Operational Semantics: An Optimizing Compiler for Radio Protocols, gives an
operational semantics for Ziria and describes several compiler optimizations
that leverage this semantics.