2011/09/20 by Frédéric Blanqui, Blanqui, Frédéric, Claude Helmstetter +8
Computer Science · #Embedded Systems Design Techniques #FOS: Computer and information sciences #Hardware Architecture (cs.AR) #Parallel Computing and Optimization Techniques #Software Engineering (cs.SE) #VLSI and Analog Circuit Testing #cs.AR #cs.SE
paper · pdf · doi:10.48550/arxiv.1109.4351
3rd Workshop on: Rapid Simulation and Performance Evaluation: Methods and Tools (2011)
arxiv created 2011/09/20 · openalex publication_date 2011/09/20 · arxiv updated 2011/09/21 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
For validating low level embedded software, engineers use simulators that take the real binary as input. Like the real hardware, these full-system simulators are organized as a set of components. The main component is the CPU simulator (ISS), because it is the usual bottleneck for the simulation speed, and its development is a long and repetitive task. Previous work showed that an ISS can be generated from an Architecture Description Language (ADL). In the work reported in this paper, we generate a CPU simulator directly from the pseudo-formal descriptions of the reference manual. For each instruction, we extract the information describing its behavior, its binary encoding, and its assembly syntax. Next, after automatically applying many optimizations on the extracted information, we generate a SystemC/TLM ISS. We also generate tests for the decoder and a formal specification in Coq. Experiments show that the generated ISS is as fast and stable as our previous hand-written ISS.