Abstract
Full-System simulators remain essential tools to quickly design and test novel architectural ideas. This work introduces a system-level hardware modeling and simulation framework with an emphasis on ease of use. It is entirely based on Python to improve developer productivity. At the same time, meta-tracing JIT compilation techniques are used to improve simulation speed without losing timing accuracy. The proposed framework supports modeling components ranging from cycle-accurate to purely functional. The simulation engine combines time-driven simulation with transaction-level modeling to allow for precise timing estimates without compromising simulation speed. The engine also supports multi-threaded execution for multi-master systems.