C++ support for better hardware/software co-design in C# with SME

Conference: FSP 2017 - Fourth International Workshop on FPGAs for Software Programmers
09/07/2017 at Ghent, Belgium

Proceedings: Fourth International Workshop on FPGAs for Software Programmers (FSP 2017)

Pages: 8Language: englishTyp: PDF

Personal VDE Members are entitled to a 10% discount on this title

Skovhede, Kenneth; Vinter, Brian (Niels Bohr Institute, University of Copenhagen, Denmark)

This paper introduces a multi-language simulation and code generation capability for programs written with Synchronous Message Exchange. We show how to use Synchronous Message Exchange to build and verify process-oriented networks that can be translated into C++ and VHDL. This approach gives the developer freedom in choosing the optimal implementation, and enables experimentations with hardware/software co-design. The emitted C++ can also be used to simulate the FPGA implementation inside software, thus enabling a faster development and debugging workflow. We describe the translation process and evaluate the performance of the generated code.