http://www.simplescalar.com/


 

What is the SimpleScalar tool set?
The SimpleScalar tool set is a system software infrastructure used to build modeling applications for program performance analysis, detailed microarchitectural modeling, and hardware-software co-verification. Using the SimpleScalar tools, users can build modeling applications that simulate real programs running on a range of modern processors and systems.  The tool set includes sample simulators ranging from a fast functional simulator to a detailed, dynamically scheduled processor model that supports non-blocking caches, speculative execution, and state-of-the-art branch prediction. The SimpleScalar tools are used widely for research and instruction, for example, in 2000 more than one third of all papers published in top computer architecture conferences used the SimpleScalar tools to evaluate their designs.  In addition to simulators, the SimpleScalar tool set includes performance visualization tools, statistical analysis resources, and debug and verification infrastructure.

SimpleScalar LLC is unique in the EDA community.  We distribute our software under an open source model, trusting that our users will license the software that they use.  The tool set is distributed with all source code, making it possible for users extend SimpleScalar, and to adapt existing models to their own ideas.

Which instruction sets can it emulate?

SimpleScalar simulators can emulate the Alpha, PISA, ARM, and x86 instruction sets.  The tool set includes a machine definition infrastructure that permits most architectural details to be separated from simulator implementations.  All of the simulators distributed with the current release of SimpleScalar can run programs from any of the above listed instruction sets.  Complex instruction set emulation (e.g., x86) can be implemented with or without microcode, making the SimpleScalar tools particularly useful for modeling CISC instruction sets.

The PISA instruction set (a.k.a. the portable instruction set architecture) is a simple MIPS-like instruction set maintained primarily for instructional use. A GNU GCC-based cross-compiler and pre-built libraries are also available for this target.  The PISA target is particularly useful for computer engineering instruction as the tools can be built on a wide range of host platforms, including Linux/x86, Win2000, SPARC Solaris, and others.

On which platforms does it run?

SimpleScalar builds on most 32-bit and 64-bit flavors of UNIX and Windows NT-based operating systems.  The internal software architecture of the tool set includes a host interface module, permitting fast porting to other host platforms.  The host interface module permits cross-endian emulation, thus it is possible to use emulate a target on a host platform with a different endian, e.g., running Alpha ISA emulation on a SPARC Solaris host platform.  Most SimpleScalar users and developers (including SimpleScalar LLC) use SimpleScalar on Linux/x86.

Who wrote the SimpleScalar tool set?

SimpleScalar was created by Todd Austin.  Development began while he was a Ph.D. student at the University of Wisconsin in Madison.  Early versions of the tool set included contributions by Doug Burger and Guri Sohi.  Today, SimpleScalar is developed and supported by SimpleScalar LLC.

The SimpleScalar licensing model permits users to build onto the SimpleScalar foundation and make their enhancements available to licensed SimpleScalar users.  Examples of projects that are extending the capabilities of the SimpleScalar tool set include the MASE and PowerAnalyzer projects at the University of Michigan, the BullsEye project at University of Texas at Austin, Wattch from Princeton, and SimplePower from Penn State.

How much does it cost?

The SimpleScalar tools are available free-of-charge to academic non-commercial users.  Commercial users can purchase a commercial use license from SimpleScalar LLC, more details on commercial licensing (and what constitutes commercial use of SimpleScalar) is available here.