XMOS


XMOS is a fabless semiconductor company that develops generative systems-on-chips designed to integrate control, input/output, digital signal processing, and artificial intelligence functions. The company's XCORE platform enables users to generate customizable system-on-chips with real-time reconfigurability and deterministic parallel architecture, enabling developers to execute multiple tasks simultaneously.

History

XMOS was founded in July 2005 by Ali Dixon, James Foster, Noel Hurley, David May, and Hitesh Mehta. It received seed funding from the University of Bristol enterprise fund, and Wyvern seed fund.
The name XMOS is a loose reference to Inmos. Some concepts found in XMOS technology are part of the Transputer legacy.
In the autumn of 2006, XMOS secured funding from Amadeus Capital Partners, DFJ Esprit, and Foundation Capital. It also has strategic investors Robert Bosch Venture Capital GmbH, Huawei Technologies, and Xilinx Inc, which in 2014 invested $26.2 million. Additionally, they received an investment through the sale of 22.3% of the Company's shares to Prelude Trust plc of Cambridge. In September 2017, XMOS secured $15M in an investment round led by Infineon.
In July 2017, XMOS acquired SETEM, a company that specialises in audio algorithms for source separation.
In 2019, XMOS raised $19 million in funding from Harbert European Growth Capital and existing investors.
In December 2023, XMOS signed a joint development agreement with Sonical for Headphone 3.0 technology.

Products

Xmos designs multicore microcontrollers under the XCORE series. While the second generation launched in 2015, had dedicated audiocontroller spun off and were used in soundboards as well as headphone amplifiers, the third generation was launched in 2020 and focused on applications within the AIoT. The fourth generation added RISC-V compatibility and was announced in December 2022.
In 2025, it announced a recategorisation of its XCORE hardware, defining it as a Generative System-on-Chip, a type of SoC that is specifically designed to accommodate generative AI-based natural language tools.

XC programming language

XC is a programming language developed by XMOS to support real-time, embedded, and parallel programming on the company's xcore processor architecture. It is designed to provide deterministic execution and fine-grained concurrency, enabling software-defined solutions for time-critical applications such as audio processing, industrial control, and communications.
XC was introduced by XMOS in the late 2000s as part of its toolchain for programming xcore processors. It was designed to offer a high-level abstraction for expressing parallelism and hardware interaction, building on the principles of the occam programming language and the Communicating Sequential Processes model developed by Tony Hoare.
Over time, XMOS has shifted its development tools toward standard C and C++ compilers, but XC remains a key part of the legacy toolchain and is still supported in the XTC Tools suite.

Design and Features

XC combines elements of C with concurrency and communication constructs inspired by occam. Key features include:
  • Parallelism: Built-in support for concurrent tasks using the par construct.
  • Communication: Channel-based communication between tasks, enabling deterministic message passing.
  • Hardware Abstractions: Language-level primitives for interacting with hardware resources such as:
  • * port for I/O
  • * timer for precise timing
  • * lock for mutual exclusion
  • Events: A mechanism unique to xcore that enables low-latency, interrupt-free signaling between hardware and software components.
XC is supported by the XTC Tools suite, which includes:
  • Standards-compliant C/C++ compilers
  • XC compiler
  • Simulator and symbolic debugger
  • Runtime instrumentation and trace libraries

Execution Model

XC programs are compiled and executed on xcore processors, which feature multiple logical cores capable of executing tasks in parallel. The language allows developers to statically assign tasks to cores and define communication topologies using channels. This model supports deterministic execution, making XC suitable for applications requiring precise timing and low-latency I/O.

Current Status

As of version 15.3 of the XTC Tools, XMOS has shifted its focus toward using standard C for xcore programming, citing broader developer familiarity and ecosystem support. However, the XC language remains available and continues to be used in legacy and specialized applications.