A former colleague is now an Altera/Intel FAE, I will ask how things are going the next time we meet up for a beer.
A former colleague is now an Altera/Intel FAE, I will ask how things are going the next time we meet up for a beer.
Even very well-oiled products like the Amazon F1 and Intel's new acceleration cards are pretty non-trivial to use unless you're an experienced engineer, and they clearly spent a lot of time polishing off the roughest edges to make it as approachable as possible. Amazon more or less paid a team of seriously experienced people to make the whole flow as painless as possible (including a pretty good software SDK, and a lot of tooling around Vivado), and it's still non-trivial!
Some of the ARM/FPGA combos are a lot more approachable overall, but the tooling, BSPs etc are normally huge pains the moment you want to get creative, and the SDKs are comparatively worse, vs the "high end" ones listed above, in my opinion. Normally I just end up replacing them with my own Linux BSP, more or less, if I need the actual host side.
A really annoying aspect of all this though is that most kits which could offer features like high-speed peripherials (PCIe, etc) are pretty expensive for hobbyist developers to acquire and use, so there's certainly a bit of a self-fulfilling-prophecy going on here.
The translation from Software -> Flip-Flops isn't nearly as natural and it's easy to try and apply SE techniques that while possible are totally unsuited for an FPGA.
It's a interesting space for sure and I'm definitely curious how these hybrid systems shake out.
I have my hobby project in SpinalHDL up at https://craigjb.com
Edit: also, GTKWave is pretty good! It’s a simple and straightforward waveform viewer that works on all platforms.
[1] https://rwmj.wordpress.com/2018/03/17/playing-with-picorv32-...
Grab a Lattice CPLD/FPGA demo board($25-$50) and have at it!
If you are coming from a software background then maybe look at getting a board with one of the ARM+FPGA hybrid chips, you can run a proper OS on the ARM CPU and I would guess that the bus interface to the FPGA part will be simpler than using Intel's UPI.