Automatic TLM Generation for Early Validation of Multicore Systems

Samar Abdi, Yonghyun Hwang, Lochi Yu, Gunar Schirner, Daniel D. Gajski
2011 IEEE Design & Test of Computers  
THE SHIFT TOWARD multicore platform architectures for embedded systems is driven by the need for higher performance without the cost of retooling for a new technology. These benefits come at the cost of higher design complexity, however, which makes design with conventional cycle-accurate models impractical. Designers are using transaction-level models (TLMs) as virtual platforms for early design validation and software development, although TLM development for multicore platforms can be
more » ... suming and error-prone. The problem can be alleviated by automatic TLM generation, which can provide designers with early and accurate validation of both functionality and performance. 1 This article presents methods we have developed for automatically generating TLMs that can be used for early high-level validation of multicore systems. The inputs to automatic TLM generation are application C/C++ tasks mapped to processing units in the platform. On the basis of the mapping, we generate two types of TLMs: functional and timed TLMs. The functional TLM is generated by instantiating the application tasks inside a SystemC model of the platform. For timed-TLM generation, the basic blocks in the application tasks are analyzed and annotated with estimated delays. The delay-annotated C code is then linked with a SystemC model of the hardware and software platform. Both TLMs can be natively compiled and executed on the host machine, making them much faster than conventional cycleaccurate models. As our results demonstrate, TLMs of industrial-scale multicore designsÀ Àsuch as the JPEG encoder, MP3 decoder, and H.264 decoderÀ À are generated and simulated in just a few seconds. Estimation error was 15% less than that in board measurements, making the TLMs ideal for the early validation of multicore systems. Editor's note: This article suggests a methodology to validate software applications for a multicore platform by automatically generating transaction-level models from tasklevel specification of the applications. Software vendors developing applications for multicore platforms can leverage this methodology for early validation.
doi:10.1109/mdt.2010.117 fatcat:2qqiwsbz25brljryy37pbe7fea