3 ms·
Well first you need a problem where using a FPGA is a good fit. FPGAs usually clock much lower than CPUs. If you want to beat a modern multicore CPU running at
by 0x000xca0xfe 3y ago
Well first you need a problem where using a FPGA is a good fit.
FPGAs usually clock much lower than CPUs. If you want to beat a modern multicore CPU running at 5GHz with a 100MHz FPGA, you need to do a lot more per cycle to win. Your optimal problem is either highly parallel or solvable using a deep pipeline that gives you crazy throughput.
Since accessing external RAM is much more complicated on a FPGA and you don't have all the nice prefetching and caching levels of a CPU, you better make do with the limited on-board memory.
Usually this limits you to real-time stream processing like audio, video, packet filtering or I/O muxing.
But if you have an interesting problem in these spaces, FPGAs can be crazy power efficient and fun.
At my university, we used a ZynqBerry (Raspberry Pi format and only around $100) with the Vivado tools, so maybe that would be a good start for you as well.
- rcxdude 3y agoThis. It's quite hard to find a computational task than an FPGA is more suited for than a CPU or GPU. Probably the biggest one is ASIC simulation. The biggest use for them otherwise is either dedicated high-speed I/O in embedded applications or super-low latency/jitter applications.
- imtringued 3y agoAccessing RAM in itself isn't actually that bad, the real challenge is that writing an AXI Manager is too much trouble. The fixed costs are too high for a hobbyist that just wants to do a single project.