A Novel Way to Efficiently Simulate Complex Full Systems Incorporating Hardware Accelerators
Tampouratzis Nikolaos1,a, Konstantinos Georgopoulos1,b and Yannis Papaefstathiou2
1Microprocessor and Hardware Laboratory, Technical University of Crete, Greece.
antampouratzis@isc.tuc.gr
bkgeorgopoulos@isc.tuc.gr
2Synelixis Solutions, Farmakidou 10, Chalkida, Greece.
ygp@synelixis.com
ABSTRACT
The breakdown of Dennard scaling coupled with the persistently growing transistor counts severally increased the importance of application-specific hardware acceleration; such an approach offers significant performance and energy benefits compared to general-purpose solutions. In order to thoroughly evaluate such architectures, the designer should perform a quite extensive design space exploration so as to evaluate the tradeoffs across the entire system. The design, until recently, has been predominantly done using Register Transfer Level (RTL) languages such as Verilog and VHDL, which, however, lead to a prohibitively long and costly design effort. In order to reduce the design time a wide range of both commercial and academic High-Level Synthesis (HLS) tools have emerged; most of those tools, handle hardware accelerators that are described in synthesisable SystemC. The problem today, however, is that most simulators used for evaluating the complete user applications (i.e. full-system CPU/Mem/Peripheral simulators) lack any type of SystemC accelerator support. Within this context this paper presents a novel simulation environment comprised of a generic SystemC accelerator and probably the most widely known fullsystem simulator (i.e. GEM5). The proposed system is the only solution supporting the very important feature of global synchronization across the integrated simulation; furthermore it has been evaluated based on two different computationallyintensive use cases and the final results demonstrate that the presented approach is orders of magnitude faster than the existing ones.