FPGA coprocessor
There may be functions that the processor must perform at a speed higher than it normally could. Or there might be tasks that need to be done in parallel which exceed the processing power. One option is to just add a second processor. Another option is to take advantage of a configurable second processor. An excellent option for this is a FPGA card.
Here is an image of the Adafruit Mojo FPGA shield, a good candidate for further work:
The Mojo includes the following features (per Adafruit site)
- Spartan 6 XC6SLX9 FPGA
- 84 digital IO pins
- 8 analog inputs
- 8 general purpose LEDs
- 1 reset button
- 1 LED to show when the FPGA is correctly configured
- On board voltage regulation that can handle 4.8V – 12V
- A microcontroller (ATmega32U4) used for configuring the FPGA, USB communications, and reading the analog pins
- On board flash memory to store the FPGA configuration file
- The Mojo is made in the USA.
Another good candidate is the Hack A Day board.
It features
- 1×XC6SLX9-2TQG144CXilinx Spartan 6 LX9 FPGA – Device Playground
- 1×S25FL216K0PMFI041Spansion 16K flash – to hold FPGA configuration
- 1×SN74CBTLV3257DBQRSPI Multiplexer – manages access to flash from multiple SPI sources
- 1×KC5032A20.0000CM0E00Kyocera 20MHz CMOS Oscillator – FPGA clock source
- 1×IS61WV12816DBLL-10BLIISSI SRAM – 128Kx16 Asynchronous RAM