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
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.
Please also see the Ziria project page at Microsoft Research.