Skip to content

moreati/revelation

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Revelation: a just-in-time simulator for the Adapteva Epiphany chip

Build Status Coverage Status Code Health Documentation Status

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.

Adapteva Parallella

License

Revelation is offered under the terms of the Open Source Initiative BSD 3-Clause License. More information about this license can be found here:

Using this code

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

Running unit tests

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.

Compiling the simulator

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

About

A functional simulator for the Adapteva Epiphany architecture

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 92.8%
  • Assembly 6.5%
  • Other 0.7%