A couple weeks ago I found an Hackaday.io item in my newsfeed on a review of the max1000 fpga board from trenz, $29 shipped and 'taxed'. I too found the ftdi/arrow environment a bit tricky [ZipCPU] on linux, but the installs turned out turnkey with win10.
The max10m08 has 8k luts, about a hundred 4ksrams, 1Msample 12bit analog to digital and a ft2232h usb interface. My project was to pipe the adc output to gnuplot for a quick and dirty oscilloscope with no soldering. When I first set it up I used the uart interface as configured to update the screen image, and got an update every 5sec. I wrote an spi interface to the fpga and using the mpsse commands in the ft2232h and boosted my screen update rate to 10fps (256 samples). I am controlling capture rate (1Msample max), trigger level and trigger delay, sample size, data saving and single shot from stdin in program terminal as the gnuplot window tools along.
I was expecting the on board adc to be about 7 digits of overkill, but the output looks really good, no trigger errors or noise blasts observed. The project was easy to put together; the programs loaded, ftdi and arrow drivers installed and no problems with C libraries.
The MAX1000 board has a 12MHz oscillator which the pll converts to 10MHz for the 1M sample/sec standalone core ADC, and 100MHz for the fpga internals.
The SPI interface works at the full 60MHz clock rate of the FTDI chip and easily meets my data transfer requirements. I used one of the extra ftdi bdbus signals to enable special spi writes to setup fpga addressing and control, so you point to a fifo and then do block reads at the full spi rate. In this project, once an acquisition is requested the ADC data begins writing to an internal sram block, once the trigger conditions are met samples are taken for a further (sample - trigger delay) counts with the read pointer positioned at the oldest sample. The computer is informed via another bdbus pin that the data is ready and sample number of words are clocked out of spi interface.
The data is converted to voltage float and the results piped into gnuplot.