Presented at "Journées Compilation à Dinard", April 2011
Thursday 28 April 2011
SystemC is the industry-standard tool for high-level modeling of System-on-Chips. It provides a simulation kernel to model the parallelism of the chip, a notion of components and communication primitives. SystemC is implemented as a C++ library, which means a SystemC program can be compiled with a plain C++ compiler.
However, we show in this talk that plain C++ compilers lack information about the program. SystemC-specific compilation techniques, combining knowledge of the static part of the program with the dynamically-created architecture, allow interesting applications like formal verification and SystemC-specific optimizations.
This talk presents a front-end, PinaVM, able to extract all this information, and one back-end, Tweto, that extends a JIT-compiler with a SystemC-specific optimizer.