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.

Our semantics for Ziria is formulated using PLT Redex and is available on GitHub.

Please also see the Ziria project page at Microsoft Research.

Publications

  1. Mainland, G. and Shanmugam, S. 2017. From High-Level Radio Protocol Specifications to Efficient Low-Level Implementations via Partial Evaluation.
  2. Mainland, G. 2017. Better Living through Operational Semantics: An Optimizing Compiler for Radio Protocols.
  3. Mainland, G. 2017. A Domain-Specific Language for Software-Defined Radio. Proceedings of the 19th International Symposium on Practical Aspects of Declarative Languages (PADL ’17). Springer International Publishing. 173–188.
  4. Stewart, G., Gowda, M., Mainland, G., Radunovic, B., Vytiniotis, D. and Agulló, C.L. 2015. Ziria: An Optimizing Compiler for Wireless PHY Programming. Proceedings of the 20th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS ’15) (Istanbul, Turkey, Mar. 2015).