An XCore Emulator
C++ C XC Assembly CMake Perl Other

README.rst

AXE (An XCore Emulator)

Stable release:Unreleased
Status: Experimental
Maintainer:https://github.com/rlsosborne
Description:AXE is a fast open source simulator of the XMOS XS1 Architecture.
Build Status

AXE is designed for fast simulation of XCore programs. AXE doesn't attempt to be cycle accurate. Instruction execution timing is approximate. AXE is experimental and likely to contain bugs.

Peripherals

AXE supports emulation of the following peripherals:

  • UART (RX only)
  • SPI Flash (Read command only)
  • Ethernet PHY supporting MII interface (see NETWORKING.rst)
  • LCD Screen
  • PS/2 Keyboard
  • SDRAM

Known Issues

  • No simulation of debug.
  • No support for configurable delays on ports / clocks.
  • Minimal support for reading and writing of pswitch / sswitch registers.
  • There are a few other miscellaneous instructions that are unimplemented.

Dependencies

A CMake superproject is also available which can be used to download and build AXE and its dependencies.

Optional Libraries

AXE can be configured to link against the following libraries:

  • SDL2 (for LCD Screen, PS/2 Keyboard peripherals)

Building

Make a directory for the build and in that directory run:

cmake -DCMAKE_BUILD_TYPE=Release <path-to-src>
make

For a debug build use -DCMAKE_BUILD_TYPE=Debug. On Windows use nmake instead of make.

Running tests

The "check" target runs the testsuite. An install of the XMOS tools is required. Run the SetupEnv script provided with the XMOS tools to add xcc to the path before running the tests.