Title :
A universal technique for fast and flexible instruction-set architecture simulation
Author :
Braun, Gunnar ; Nohl, Achim ; Hoffmann, Andreas ; Schliebusch, Oliver ; Leupers, Rainer ; Meyr, Heinrich
Author_Institution :
CoWare Inc., Aachen, Germany
Abstract :
Today, designers of next-generation embedded processors and software are increasingly faced with short product lifetimes. The resulting time-to-market constraints are contradicting the continually growing processor complexity. Nevertheless, an extensive design-space exploration and product verification is indispensable for a successful market launch. In the last decade, instruction-set simulators have become an essential development tool for the design of new programmable architectures. Consequently, the simulator performance is a key factor for the overall design efficiency. Motivated by the extremely poor performance of commonly used interpretive simulators, research work on fast compiled instruction-set simulation was started ten years ago. However, due to the restrictiveness of the compiled technique, it has not been able to push through in commercial products. In this paper, we tie up with our previous research on retargetable, compiled simulation techniques, and provide a discussion about their benefits and limitations using a particular compiled scheme, static scheduling, as an example. As a conclusion, we eventually present a novel retargetable simulation technique, which combines the performance of traditional compiled simulators with the flexibility of interpretive simulation. This technique is not limited to any class of architectures or applications and can be utilized from architecture exploration up to end-user software development. We demonstrate workflow and applicability of the so-called just-in-time cache-compiled simulation technique by means of state-of-the-art real-world architectures.
Keywords :
circuit simulation; computer architecture; electronic design automation; embedded systems; hardware description languages; hardware-software codesign; microprocessor chips; programmable circuits; software prototyping; cache-compiled simulation; compiled simulators; computer architecture; design automation; design-space exploration; embedded processors; embedded software; hardware design languages; instruction-set architecture simulation; instruction-set simulators; interpretive simulation; just-in-time simulation; processor complexity; product verification; program processors; programmable architectures; retargetable simulation; simulation software; software development; software prototyping; static scheduling; Application software; Associate members; Computational modeling; Computer architecture; Digital signal processing; Discrete event simulation; Embedded software; Product design; Programming; Time to market; 65; Computer architecture; design automation; hardware design languages; modeling; program processors; simulation software; software prototyping;
Journal_Title :
Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on
DOI :
10.1109/TCAD.2004.836734