3 body Simulation using FPGA

We were supposed to make something using Terasic DE0-Nano boards equipped with Altera Cyclone IV E FPGA as a part of our course project in Digital Electronics Lab(EP 230). We went around to explore what are some things which an FPGA can do better than a CPU. Starting with High Frequency Trading and Bitcoin computation, we evolved our idea into N body simulation which we could complete for 3 body simulation.

The general idea is easy to grasp. Consider that you are simply calculating the vector rj - ri. This requires 3 subtractions which a simple CPU will serially do, but on an FPGA we can program three subtractors to work in parallel. The improvement in speed is challenged by a requirement of larger hardware(Flops per unit area), but hardware is cheap and time is not, thus FPGAs seek good applications in high performance computing till date.

The full abstract can be downloaded here, and the presentation is available at this drive link.