Today´s article presents a very detailed project of a Cornell student who wanted to play with Pyro Sand Game. He did not want his laptop to overheat due to high power consumption, the fan to go crazy or the screen to freeze up once a lot of particles were on screen. To solve this he created a hardware version taking advantage of an FPGA and its great parallelization capabilities.
As the author describes it, this piece of software is more a 2D particle simulator than a game. In this sense, he chose to model the particle as a cellular automaton. Each pixel on a 480×640 screen is a cell. The whole screen is drawn on a VGA screen and this determines the kind an amount of memory required. More details here. Also, a VGA logic module is needed.
A great deal of this project is implemented as hardware directly downloaded on the FPGA, using Verilog code (every line is provided). Pictures and diagrams are provided to help the reader properly understand the designing process. Even gif graphs have been used in order to correctly explain how he managed to solve a problem with the RAM storage of rows of pixels in order to update the state of any pixel.
Don´t jump between sections and read the testing and debugging if you want to avoid unnecessary headaches!
This a very interesting project to use as a starting point for a particle dynamics simulator. As it can be seen in the pictures, the physical behavior of some particles is not real. So…
Now it´s your turn to make it happen!
By S. Schneider

Leave a Reply
You must be logged in to post a comment.