This project contains work in progress towards a simulator for the Adapteva Epiphany chip. Details of the Epiphany design and ISA can be found in the Architecture Reference.
Revelation is offered under the terms of the Open Source Initiative BSD 3-Clause License. More information about this license can be found here:
In order to use the code here you need a copy of the Pydgin (r)python modules. You can obtain a copy from the Pydgin project page.
Pydgin is a framework for writing functional simulators as just in time interpreters. You can read more about Pydgin in this paper:
Derek Lockhart, Berkin Ilbeyi, and Christopher Batten. (2015) Pydgin: Generating Fast Instruction Set Simulators from Simple Architecture Descriptions with Meta-Tracing JIT Compilers. IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). Available at: http://csl.cornell.edu/~cbatten/pdfs/lockhart-pydgin-ispass2015.pdf
To run the unit tests here, ensure that the required packages are installed:
$ pip install -r requirements.txt
Then run the tests themselves:
$ py.test --cov-report term-missing --cov epiphany epiphany/test/
Note that some of the tests may take a while to run, particularly those that load an ELF file.
To compile the simulator to a native executable, you need to first clone (or download) a recent version of the PyPy toolchain. The rpython
directory from PyPy needs to be included in your PYTHONPATH
environment variable.
To compile Revelation without a JIT:
$ PYTHONPATH=. .../pypy/rpython/bin/rpython -Ojit epiphany/sim.py
To compile the simulator with a JIT:
$ PYTHONPATH=. ../../pypy/rpython/bin/rpython -Ojit epiphany/sim.py