CSP with Synthesisable SystemC and OSSS

Brunzema, Claus and Nebel, Wolfgang
Proceeding of the FDL 2007
C. Hoare's Communicating Sequential Processes notation to describe communication patterns of highly parallel systems is based on a well defined semantic and is accompanied by a wealth of research. This allows automatic checks for important properties like deadlock-freedom, livelock-freedom etc.. In order to obtain an executable system for simulation and later synthesis the algebraic CSP notation has to be translated and augmented with behaviour. There are several library implementations of CSP concepts for various programming languages. Other languages have built-in CSP elements or are based entirely on CSP. This paper presents an implementation of CSP concepts in synthesisable SystemC. The key features of CSP are available to the programmer allowing a high-level approach to system design. The CSP constructs are modelled after the CSP-based programming language occam, all the advanced C++ features like object-orientation, function/operator-overloading and templates are still usable. By adhering to the Oldenburg System Synthesis Subset (OSSS) the resulting designs will be set to be synthesised down to hardware automatically by the tools developed in the ICODES project. An 3x3 image filter example is used to demonstrate the design flow from a CSP specification to an OSSS implementation.
01 / 2007

OFFIS Autoren