3 ms·
I've always been interested in coaxing extreme performance in a computational task by using FPGA or ASIC. This seems like a mad science. Is there a recommended
by jvanderbot 3y ago
I've always been interested in coaxing extreme performance in a computational task by using FPGA or ASIC.
This seems like a mad science. Is there a recommended entry point like a book or learning resource?
The only exposure I have is from the FPGA stereo disparity module on the Mars Rover. And sadly I left before I could really pick any brains. Or ASIC Bitcoin mining.
- 0x000xca0xfe 3y agoWell 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.
- porsupah 3y agoYou might find "Digital Design and Computer Architecture" by Sarah Harris & David Harris helpful. (Note that it comes in ARM and RISC-V editions) https://www.waterstones.com/book/digital-design-and-computer-architecture-risc-v-edition/sarah-harris/david-harris/9780128200643 https://www.waterstones.com/book/digital-design-and-computer...
- MaKey 3y ago> This seems like a mad science. Is there a recommended entry point like a book or learning resource? There is this new book: https://nostarch.com/gettingstartedwithfpgas https://nostarch.com/gettingstartedwithfpgas