This example gives a basic overview of how one could use an FPGA in an embedded project. It uses the FPGA to sample an input and measure a voltage or similar, the way an oscilloscope would. The resulting ADC data is then sent over a serial link to a C++/Qt-based application, which displays the data.
For the project, we will use a Fleasystems FleaFPGA Ohm board (http://fleasystems.com/fleaFPGA_Ohm.html). This is a small, sub-$50, sub-€40 FPGA development board in a Raspberry Pi Zero form factor:
It has the following specifications:
- Lattice ECP5 FPGA with 24K LUT elements and 112KB Block RAM.
- 256-Mbit SDRAM, 16 bits wide and 167 MHz clock.
- 8-Mbit SPI Flash ROM for FPGA configuration storage.
- 25 MHz Crystal oscillator.
- HDMI video out (up to 1080p30 or 720p60 screen modes possible).
- μSD card slot.
- Two micro USB host ports with alternate PS/2 host port functionality.
- 29 user GPIO, including 4 x medium-speed ADC inputs and 12 x LVDS signal pairs available from...