The Kiwi project aims to make reconfigurable computing technology like Field Programmable Gate Arrays (FPGAs) more accessible to mainstream programmers. FPGAs have a huge potential for quickly performing many interesting computations in parallel but their exploitation by computer programmers is limited by the need to think like a hardware engineer and the need to use hardware description languages rather than conventional programming languages.
- David Greaves and Satnam Singh, Designing Application Specific Circuits with Concurrent C# Programs, in Eighth ACM/IEEE International Conference on Formal Methods and Models for Codesign, IEEE, 26 July 2010.
- David J. Greaves and Satnam Singh, Exploiting System-Level Concurrency Abstractions for Hardware Descriptions, no. MSR-TR-2009-48, 22 April 2009.
- David Greaves and Satnam Singh, Application Specific Circuits with Concurrent C# Programs, in Draft under submission to a conference., IEEE, 5 February 2009.
- David Greaves and Satnam Singh, Using C# Attributes to Describe Hardware Artefacts within Kiwi, in Specification and Design Languages Forum (FDL) 2008., IEEE Computer Society, September 2008.
- David Greaves and Satnam Singh, Kiwi: Synthesis of FPGA Circuits from Parallel Programs, in IEEE Symposium on FPGAs for Custom Computing Machines (FCCM), IEEE Computer Society, April 2008.
- David Greaves and Satnam Singh, Describing Hardware with Parallel Programs, in Designing Correct Circuits, Budapest, 2008., IEEE, March 2008.