Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
An XCore Emulator
tree: 61beab6cc0

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
benchmarks
cmake/Modules
test
test_common
thirdparty
.gitignore
AccessSecondIterator.h
BitManip.h
CMakeLists.txt
CRC.h
ChanEndpoint.cpp
ChanEndpoint.h
Chanend.cpp
Chanend.h
ClockBlock.cpp
ClockBlock.h
Config.h
ConfigSchema.rng
Core.cpp
Core.h
Exceptions.cpp
Exceptions.h
Instruction.cpp
Instruction.h
InstructionBitcode.cpp
InstructionBitcode.h
InstructionDefinitions.cpp
InstructionGen.cpp
InstructionHelpers.cpp
InstructionHelpers.h
InstructionMacrosCommon.h
InstructionProperties.cpp
InstructionProperties.h
JIT.cpp
JIT.h
JITInstructionFunction.h
JITOptimize.cpp
JITOptimize.h
LICENSE.txt
LLVMExtra.cpp
LLVMExtra.h
Lock.cpp
Lock.h
Node.cpp
Node.h
Peripheral.cpp
Peripheral.h
PeripheralDescriptor.cpp
PeripheralDescriptor.h
PeripheralRegistry.cpp
PeripheralRegistry.h
Port.cpp
Port.h
PortArg.cpp
PortArg.h
PortInterface.h
PortNames.cpp
PortNames.h
PortSplitter.cpp
PortSplitter.h
Property.cpp
Property.h
README.rst
Register.h
Resource.cpp
Resource.h
Runnable.h
RunnableQueue.cpp
RunnableQueue.h
SSwitch.cpp
SSwitch.h
SSwitchCtrlRegs.cpp
SSwitchCtrlRegs.h
ScopedArray.h
Signal.h
SymbolInfo.cpp
SymbolInfo.h
Synchroniser.cpp
Synchroniser.h
SyscallHandler.cpp
SyscallHandler.h
SystemState.cpp
SystemState.h
TerminalColours.cpp
TerminalColours.h
Thread.cpp
Thread.h
Timer.cpp
Timer.h
Token.h
Trace.cpp
Trace.h
UartRx.cpp
UartRx.h
WaveformTracer.cpp
WaveformTracer.h
XE.cpp
XE.h
genHex.c
main.cpp
not.cpp
registerAllPeripherals.cpp
registerAllPeripherals.h
ring_buffer.h

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.

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.

Known Issues

  • No simulation of the boot ROM.
  • 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

  • CMake
  • libelf
  • libxml2
  • LLVM
  • python (for running tests)

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.

Something went wrong with that request. Please try again.