ARMn - A Multiprocessor Cycle-accurate Simulator



ARMn is a multiprocessor cycle-accurate simulator which can simulate a cluster of ARM processor cores connected by custom communication schemes, such as wormhole based packet-switching, fully connected crossbar switches or regular standalone buses. The topology supported include mesh, torus and star shape.

The PE model used by ARMn is based on works by Wei Qin, who developed a fast ARM simulator SimIt-ARM.

The communication part is written in SystemC which wraps the PE model around and enables it to communication with other communication modules (also written in SystemC).

The minimum requirement for installing ARMn are a Redhat 7.0 box on X86 with SystemC libraries and C++ compilers.

The software in in public domain and feedbacks are most welcomed.

Key Features and Highlights

  1. A C/C++ (SystemC) written cycle-accurate communication architecture simulator.
  2. A library of reusable communication modules such as buffers (channel), arbiters and crossbars.
  3. Fully integrated with an accurate ARM PE model. Can simulate message passing based application binaries compiled by crosscompilers.
  4. Fast Simulation Speed. (> 10K cycles per second for a 9PE cluster)
  5. Designed for Fast Prototyping and Validation

What's New

As of August, 2005, a new release (0.3) is capable of running simulation of a g++ compiled C++ program using a newer version of SimIt-ARM as the backbone of the PE simulation. Also, a adapted parallel version of beamform program is attached to demonstrate the efficacy of parallel execution using an array of ARM PEs.

Download

Download release 0.2

Download release 0.3

View README.0.2

View README.0.3

Reference

X.Zhu, S.Malik, "Using A Communication Architecture Specification in an Application-driven Retargetable Prototyping Platform for Distributed Processing", Proceedings of 2004 Design Automation and Test in Europe Conference (DATE 04), Feb, 2004 (Pre-print pdf )

Last updated: Aug 16th, 2005