2nd International ICST Conference on Simulation Tools and Techniques

Research Article

Instruction Set Simulator Generation Using HARMLESS, a New Hardware Architecture Description Language

Download319 downloads
  • @INPROCEEDINGS{10.4108/ICST.SIMUTOOLS2009.5643,
        author={Rola Kassem and Mika\`{\i}l Briday and Jean-Luc B\^{e}chennec and Yvon Trinquet and Guillaume Savaton},
        title={Instruction Set Simulator Generation Using HARMLESS, a New Hardware Architecture Description Language},
        proceedings={2nd International ICST Conference on Simulation Tools and Techniques},
        publisher={ICST},
        proceedings_a={SIMUTOOLS},
        year={2010},
        month={5},
        keywords={Instruction Set Simulation Hardware Architecture Description Language},
        doi={10.4108/ICST.SIMUTOOLS2009.5643}
    }
    
  • Rola Kassem
    Mikaël Briday
    Jean-Luc Béchennec
    Yvon Trinquet
    Guillaume Savaton
    Year: 2010
    Instruction Set Simulator Generation Using HARMLESS, a New Hardware Architecture Description Language
    SIMUTOOLS
    ICST
    DOI: 10.4108/ICST.SIMUTOOLS2009.5643
Rola Kassem1,*, Mikaël Briday1,*, Jean-Luc Béchennec1,*, Yvon Trinquet1,*, Guillaume Savaton2,*
  • 1: IRCCyN, 1, rue de la Noë BP 92101, 44321 Nantes Cedex 3, France.
  • 2: ESEO, 4, rue Merlet de la Boulaye - BP30926, 49009 Angers Cedex 01, France.
*Contact email: Rola.Kassem@irccyn.ec-nantes.fr, Mikael.Briday@irccyn.ec-nantes.fr, Jean-LucBechennec@irccyn.ec-nantes.fr, Yvon.Trinquet@irccyn.ec-nantes.fr, guillaume.savaton@eseo.fr

Abstract

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 a 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 automatically generate instruction set simulators. It differs from other languages in many ways: it resolves most expressivity issues and naturally offers a exible 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 frst two descriptions are validated, the behavior description is added to obtain the simulator. Some results are also presented on the simulator build process, especially on the decoder generation. An instruction cache is also introduced to speed up simulation in the same order of magnitude as hand-written simulators. Some experimental results are eventually presented.