The xCORE Multicore Microcontroller Architecture
THE xCORE DIFFERENCE
- select your exact interfaces & peripherals
- guaranteed real-time performance
- sub 10ns response time
Today’s microcontroller market is crammed with me-too products. xCORE multicore microcontrollers take a different approach. When you design with xCORE, you get everything that you’d expect from a traditional microcontroller, such as a C-based design flow supported by a best-in-class development tool set and software libraries that implement common functions and many higher-level applications. The difference with xCORE is that our products are designed from the ground up to solve problems that are beyond traditional micros.
- Multiple deterministic processor cores that can execute several tasks simultaneously and independently.
- External interfaces and peripherals are implemented in software – you choose the exact combination of interfaces you need.
- Perform static timing analysis and hardware-like simulations on your designs, using unique development tools that use the determinism of the architecture.
- Test on real hardware and collect real-time data from a running application.
xCORE SILICON FAMILIES
xCORE devices are available as fixed function application specific processors or completely flexible multicore microcontrollers:
The xCORE Architecture Flyer details the unique features of the xCORE architecture,
and how it compares to traditional microcontrollers.
- Hardware-Response ports
- 100x more responsive
- no interrupts, no caches
The unparalleled responsiveness of the xCORE Hardware Response I/O ports is rooted in some fundamental features:
- Single cycle instruction execution
- No interrupts
- No cache
- Multiple cores allow concurrent independent task execution
- Hardware scheduler performs 'RTOS-like' functions
- Communication between tiles managed by the hardware xCONNECT switch
- I/O ports programmable to wait for any number of input events
Data can be serialized and deserialized, and input ports can discard any data until a condition is met. Input and output can be done at an exact number of clock ticks in the future, and input signals can be time-stamped to ensure real-time performance is maintained.
Read more about the xCORE responsiveness in the I/O response speed of microprocessors benchmarkDOWNLOAD I/O RESPONSE BENCHMARK
- develop and deploy xCORE-based applications
- C/C++ software development environment
- free download for Windows, Mac OS X, Linux 32/64
Start programming xCORE multicore microcontrollers using xTIMEcomposer, our C/C++ based software development environment that delivers real-time performance with full timing validation.
- Built on industry standard tools including GDB debugger and LLVM compilers
- Guarantee you timing deadlines using XMOS Timing Analyzer
- See what's happening using the real-time xSCOPE logic analyzer
- Test and debug code on xCORE devices or simulator
- Program and encrypt images to flash, and enable secure bootloaders
- Integrated into Eclipse IDE; command line version available
- Runs on Windows, Linux and Mac OSX platforms
Our Introduction to Programming XMOS devices provides a quick introduction to the key features of event driven programming and memory management using xCORE and xTIMEcomposer.
The xTIMEcomposer Studio Flyer explains the key tools of the tools suite, and the outlines the different features of the Community/Enterprise Editions.DOWNLOAD xTIMEcomposer STUDIO FLYER
xSCOPE LOGIC ANALYSER
- monitor state variables, control loops, I/O and data streams in real-time
The xSCOPE logic analyzer provides real-time, in-circuit instrumentation of user specified data probes, without affecting your design or device operation. Once the target device is connected to your host using an xTAG, xSCOPE behaves exactly like a traditional oscilloscope.
You have a time base control, multiple input channels, scales, triggers and a convenient "autoset" command to automatically choose the best scaling. Each probe outputs the user data, the formatting, a core ID (in case multiple cores are running the same code) and a 10ns time stamp. This provides a wealth of information and allows you to easily debug your complete system.
Finally, if you want to use traditional debug techniques, there's a fast printf mode you can apply to xCORE powered systems.
XTA: TIMING ANALYZER
- guarantee timing closure
- deterministic architecture
- integrate with build systems
Our XMOS Timing Analyser (XTA) analyzes your application binary and reports the worst and best case timing paths through your code. It provides 100% coverage of your code without the need for a test bench, and eliminates the need to over specify processing power or timing. The XTA reports any slack in the timing so you can add more functionality, or reduce operating frequency to save power.
XTA is a unique tool that uses the determinism of the xCORE architecture to guarantee the performance and behavior of your code. The XTA API lets you add the tool into your build systems, and verify application timing requirements every time you build your application.