What’s an Xcelerator Block?
XLR8’s increased speed and enhanced performance are made possible through integrated, function-specific hardware modules called Xcelerator Blocks.
An Xcelerator Block (XB) is an optimized hardware implementation of a given function, process or behavior that resides on the programmable portion of FPGA fabric. XBs communicate with the FPGA-based AVR microcontroller through the addressable register interface.
XLR8 ships with pre-installed XBs that help with well known challenges Arduino users face:
- Floating Point Math
- Servo Control
- NeoPixel Control
- Enhanced Analog-to-Digital Converter
XLR8 can be field-updated to change the XBs implemented on the FPGA.
In addition, users can create their own custom Xcelerator Blocks using our OpenXLR8 flow.
The NeoPixel Control XB provides three key improvements for controlling NeoPixel shields, strips, and arrays:
- Data memory is not used for pixel color storage.
- Interrupts are not disabled while updating the pixel array.
- Changing pixel brightness does not corrupt color data.
These improvements open the door to new and enhanced ways of implementing NeoPixels in your projects. In addition, the XLR8 board can drive arrays as large as 1280 pixels!
This XB completely eliminates the “jitter” problem that commonly faces developers using Arduino to control servos for drones, robotic platforms, sensor alignment or other applications. The XLR8 servo control block can be used by simply including a different header file and then leaving the rest of your sketch completely unchanged!
Floating Point Math
Intense mathematical computation is a known challenge for applications using Arduino-compatible solutions. The Floating Point XB provides hardware based floating point math implemented in the FPGA fabric. Functions and operations can be accessed from your sketch by installing our library and using our floating point arithmetic functions.
Enhanced Analog-to-Digital Converter
The Enhanced Analog-to-Digital Converter (ADC) XB provides a solution that improves sampling performance and overall results. With the ADC XB, XLR8 can sustain a 12-bit output resolution and can achieve a sample rate of 154k samples/second! This means XLR8 could be a great solution for interesting audio applications or other projects where finer ADC resolution is required.
*This XB is burned onto FPGA during manufacturing