TY - GEN
T1 - Generating an efficient instruction set simulator from a complete property suite
AU - Kühne, Ulrich
AU - Beyer, Sven
AU - Pichler, Christian
PY - 2009/11/9
Y1 - 2009/11/9
N2 - Instruction set simulators can be used for the early development and testing of software for a processor before it is manufactured. While gate-level simulation offers cycleaccurate results, performance of the simulation is typically not sufficient for in-depth software testing. In addition, such a gate-level simulation cannot be carried out in the early phases of the design process when only the instruction set architecture (ISA) is present and the design is not yet complete. Therefore, more abstract simulators are based on the ISA; these simulators can achieve a performance of several million instructions per second. However, by introducing a simulator separate from the design, the ISA has to be re-implemented for the simulator. Therefore, there is a risk that the instruction set simulator is not in sync with the design or the ISA. We present an approach to automatically generate an instruction set simulator from a complete property suite, which can be used for the formal verification of the processor. In this way, we obtain a provably correct simulator with relatively small effort. We show the feasibility of the approach for an industrial design; the performance of the resulting simulator is shown to be comparable to custom state-of-the-art simulators.
AB - Instruction set simulators can be used for the early development and testing of software for a processor before it is manufactured. While gate-level simulation offers cycleaccurate results, performance of the simulation is typically not sufficient for in-depth software testing. In addition, such a gate-level simulation cannot be carried out in the early phases of the design process when only the instruction set architecture (ISA) is present and the design is not yet complete. Therefore, more abstract simulators are based on the ISA; these simulators can achieve a performance of several million instructions per second. However, by introducing a simulator separate from the design, the ISA has to be re-implemented for the simulator. Therefore, there is a risk that the instruction set simulator is not in sync with the design or the ISA. We present an approach to automatically generate an instruction set simulator from a complete property suite, which can be used for the formal verification of the processor. In this way, we obtain a provably correct simulator with relatively small effort. We show the feasibility of the approach for an industrial design; the performance of the resulting simulator is shown to be comparable to custom state-of-the-art simulators.
UR - https://www.scopus.com/pages/publications/70350692303
U2 - 10.1109/RSP.2009.19
DO - 10.1109/RSP.2009.19
M3 - Conference contribution
AN - SCOPUS:70350692303
SN - 9780769536903
T3 - Proceedings of the International Workshop on Rapid System Prototyping
SP - 109
EP - 115
BT - Proceedings - 20th IEEE/IFIP International Symposium on Rapid System Prototyping
T2 - 20th IEEE/IFIP International Symposium on Rapid System Prototyping: Shortening the Path from Specification to Prototype, RSP 2009
Y2 - 23 June 2009 through 26 June 2009
ER -