Hardware/Software Partitioning of Dataflow Programs : Rapid Prototyping of Computer Systems in the CAL Actor Language

Dataflow programming is emerging as a promising technology for programming of parallel systems, such as multicore CPUs and FPGA. Development for parallel hardware is very different compared to single core system, and calls for new tools and languages. Within the Ptolemy II project a new language - t...

Full description

Bibliographic Details
Main Author: Traskov, Boris
Format: Others
Language:English
Published: KTH, Skolan för informations- och kommunikationsteknik (ICT) 2011
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-52728
Description
Summary:Dataflow programming is emerging as a promising technology for programming of parallel systems, such as multicore CPUs and FPGA. Development for parallel hardware is very different compared to single core system, and calls for new tools and languages. Within the Ptolemy II project a new language - the CAL Actor Language - has been invented for the specification of dataflow programs. Subsequently Xilinx and Ericsson Research have been developing tools for this dataflow language, particularly a compiler and runtime environment. Meanwhile the language was adopted by the ISOMPEG body as a specification language for video (de)coding algorithms (RVC-CAL). The CAL toolchain chain includes code generators for both hardware and software targets. This opens up interesting opportunities for design of a mixed system, implemented partially as software executing on a CPU and partially as a hardware accelerator, emulated by a FPGA. In this thesis the two problems of partitioning a CAL program and finding a good communication architecture between the two partitioning domains is examined.