FAST is a sophisticated tool which is currently over 34,000 lines of C++ code. Both the instruction set and the microarchitecture are specified using an architecture description language (ADL) developed by us. The typical descriptions of superscalar processors written in ADL range from 6,000 to 8,000 lines and the generated simulators consist of 30,000 to 35,000 lines of C++ code. Generating a new simulator using this system takes between 1 and 3 man months. In contrast handcoded simulators typically take 12 to 18 man months to develop. While the generated simulators are slower than hand-coded simulators, we believe the increased productivity is worth it. One reason for increased productivity is FAST's debugging environment. FAST also provides extensive support for performance data collection. The increased productivity not only allows simulators to be developed quickly, but more importantly, it enables thorough exploration of the design space that otherwise would not be possible.
Current version (7.2) of Fast can take checkpoints and restart at any checkpoint. This feature allows us to checkpoint each simpoint in the simulation and execute all simpoints in parallel, giving factors of speed-up to the simulation of a single benchmark program. For more info please refer the documentation below:
1. FAST User Manual