Orangepath/HPR-L/S Project: Hardware and Embedded Software Synthesis from Executable Specifications.
Kiwic .net Compilation to Hardware.

Kiwi: Acclerating Data-Intensive Applications Using Networked FPGA


A data-intensive application is coded in C# and can be developed and tested on the user's workstation using Visual Studio or Mono.

When high performance is required, the self-same binary file is further compiled using Kiwi for programmable hardware FPGAs.

FPGAs can use as little as 1/1000th of the energy and run 100 times faster than standard workstations. The FPGAs can stream big data from and to fileservers.

In the future, FPGA platforms may become a standard offering in Cloud Computing.

Kiwi was developed at the University of Cambridge Computer Laboratory and Microsoft Research Limited, headed by David Greaves (UoCCL) and Satnam Singh (MRL).

Kiwi is undertaken at the Computer Laboratory as part of a logic synthesis project called HPR L/S and it uses the Orangepath core library.

Kiwi is a form of accelleration for scientific applications and parallel programming It uses the parallel constructs of the C# language and dotnet runtime. Specifically, Kiwi consists of a run-time library for native simulation of hardware descriptions within C# and a compiler that generates RTL for FPGA from stylised .net bytecode.

This web site currently describes early kiwic examples and use. The kiwi runtime library is not yet documented.

Online Resources

  • Early demonstrations: Demo Pages.

  • Kiwi Scientific Acceleration Manual - (draft form): PDF, HTML.

  • Kiwic shares a lot of material with the H2 compiler: PDF, HTML.
    (C) 2007-2016 David J Greaves.