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


AXE (An XCore Emulator)

Stable release:Unreleased
Status: Experimental
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.


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

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.


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)


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

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

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.