Instruction set simulators are commonly used in embedded system development processes for early functional validation of code and exploration of new instruction set design. Such a simulator can be either hand-written or generated automatically, based on an Hardware Architecture Description Language. Automatically generated simulators are more maintainable and are faster to develop, but they also generally suffer from low performances in simulation speed and a lack of expressivity in the description. This paper introduces HARMLESS, a new language to generate automatically instruction set simulators. It differs from other languages in many ways: it resolves most expressivity issues and naturally offers a flexible description by explicitly splitting the syntax (mnemonic), format (binary code) and behavior descriptions. Thus, it allows an incremental description, starting for example by the disassembler (requiring format and syntax descriptions). When the first two descriptions are validated, the behavior description is added to obtain the simulator. Some results are also presented on the simulator build process, specially on the decoder generation. An instruction cache is also introduced to speed up simulation in the same order of magnitude than hand-written simulators. Some experimental results are eventually presented.
[1]
S. Devadas,et al.
ISDL: An Instruction Set Description Language For Retargetability
,
1997,
Proceedings of the 34th Design Automation Conference.
[2]
Markus Freericks,et al.
Describing instruction set processors using nML
,
1995,
Proceedings the European Design and Test Conference. ED&TC 1995.
[3]
Jean-Luc Béchennec,et al.
Simulator generation using an automaton based pipeline model for timing analysis
,
2008,
2008 International Multiconference on Computer Science and Information Technology.
[4]
Prabhat Mishra,et al.
Architecture description languages for programmable embedded systems
,
2005
.
[5]
Nikil D. Dutt,et al.
EXPRESSION: a language for architecture exploration through compiler/simulator retargetability
,
1999,
Design, Automation and Test in Europe Conference and Exhibition, 1999. Proceedings (Cat. No. PR00078).
[6]
Nikil D. Dutt,et al.
Instruction set compiled simulation: a technique for fast and flexible instruction set simulation
,
2003,
Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).