Abstract
Many instruction set simulation approaches place the retargetability and/or cycle-accuracy as the key features for easier architectural exploration and performance estimation early in the hardware development phase. This paper describes an approach in which importance of speed and controllability is placed above the cycle-accuracy and retargetability, thus providing a better platform for software development. The main idea behind this work is to associate the compiled simulator effort with the development of the C language compiler for the target embedded processor, using the knowledge related to compilers and reusing some common software elements. Through the prototype design of a compiled simulator for the Cirrus Logic Coyote DSP architecture, many implementation aspects are presented showing that this approach has great potential.
Similar content being viewed by others
References
Fisher JA, Faraboschi P, Young C (2005) Embedded computing: a Vliw approach to architecture, compilers and tools. Morgan Kaufmann, San Francisco
Liem C, Cornero M, Santana M, Paulin P, Jerraya A, Gentit JM, Lopez J, Figari X, Bergher L (1997) An embedded system case study: the FirmWare Development Environment for a Multimedia Audio Processor. In: Proceedings of the design automation conference (DAC’97), pp 780–785
Coyote 32-bit DSP (2005) Instruction set and architecture reference manual, Cirrus Logic
Mills C, Ahalt SC, Fowler J (1991) Compiled instruction set simulation, Software—practice and experience, vol 21 (8), Wiley, London, pp 877–889
Kreamer S, Gao L, Weinstock J, Leupers R, Ascheid G, Meyr H (2007) HySim: a fast simulation framework for embedded software development. In: Proceedings of the international conference on hardware-software codesign and system, synthesis (CODES+ISSS’07), pp 75–80
Gao L, Kreamer S, Weinstock J, Ascheid G, Meyr H (2007) A fast and generic hybrid simulation approach using C virtual machine. In: Proceedings of the international conference on compilers, architecture and synthesis for embedded systems (CASES’07), pp 3–12
Wang Z, Sanchez A, Herkersdorf A (2008) SciSim: A software performance estimation framework using source code instrumentation. In: Workshop on software and performance (WOSP’08), pp 33–41
Nohl A, Braun G, Schliebusch O, Leupers R, Meyr H, Hoffmann A (2002) A universal technique for fast and flexible instruction-set architecture simulation. In: Proceedings of the design automation conference (DAC 2002), pp 22–27
Reshadi M, Mishra P, Dutt N (2003) Instruction set compiled simulation: A technique for fast and flexible instruction set simulation. In: Proceedings of the design automation conference (DAC 2003), pp 758–763
Lee J, Kim J, Jang C, Kim S, Egger B, Kim K, Han SY (2008) FaCSim: A fast and cycle-accurate architecture simulator for embedded systems. In: Proceedings of the conference on languages, compilers, and tools for embedded systems (LCTES’08), pp 89–99
Bartholomeu M, Azevedo R, Rigo S, Aruajo G (2004) Optimizations for compiled simulation using instruction type information. In; Proceedings of the symposium on computer architecture and high, performance computing (SBAC-PAD’04), pp 74–81
D’Errico J, Qin W (2006) Constructing portable compiled instruction-set simulators: an ADL-driven approach. In: Proceedings of the conference on design, automation and test in Europe (DATE 2006), pp 112–117
Mong WS, Zhu J (2004) DynamoSim: a trace-based dynamically compiled instruction set simulator. In: Proceedings of the international conference on computer aided design (ICCAD 2004), pp 131–136
Qin W, D’Errico J, Zhu X (2006) A multiprocessing approach to accelerate retargetable and portable dynamic-compiled instruction-set simulation. In: Proceedinds of the international conference on hardware–software codesign and system, synthesis (CODES+ISSS’06), pp 193–198
Nakamura Y, Hosokawa K, Kuroda I, Yoshikawa K, Yoshimura T (2004) A fast hardware/software Co-verification method for system-on-a-chip by using a C/C++ simulator and FPGA emulator with shared register communication. In: Proceedins of the design automation conference (DAC 2004), pp 299–304
Aho AV, Sethi R, Ullman JD (1986) Compiler: principles techniques, and tools. addison-wesley, Reading, pp 1:554–557
Qin W, Malik S (2003) Automated synthesis of efficient binary decoders for retargetable software toolkits. In: Proceedings of the design automation conference (DAC 2003), pp 764–769
Braun G, Hoffmann A, Nohl A, Meyr H (2001) Using static scheduling techniques for the retargeting of high speed, compiled simulators for embedded processors from an abstract machine description. In: Proceedings of the international symposium on systems, synthesis (ISSS’01), pp 57–62
Author information
Authors and Affiliations
Corresponding author
Additional information
Manuscript received (insert date of submission if desired). Please note that all acknowledgments should be placed at the end of the paper, before the bibliography.
Rights and permissions
About this article
Cite this article
Djukic, M., Cetic, N., Obradovic, R. et al. An approach to instruction set compiled simulator development based on a target processor C compiler back-end design. Innovations Syst Softw Eng 9, 135–145 (2013). https://doi.org/10.1007/s11334-013-0220-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-013-0220-0