Bellagio Fountain SimulationJoseph Lane, Allen Yin, George RossickDecember 10, 2009AbstractThe Bellagio Fountain Simulation project aims to produce an accurate simulation of theLas Vegas Bellagio fountains. Real-time audio processing is used to dynamically create avisually appealing particle fountain show. Accurate physics modeling control each particleto provide collisions between other particles and the bounded simulation world. Finally,graphics render the three dimensional world to realistically display the the visualization onscreen for everyone to enjoy.1Contents1 Overview 42 Module Specification 52.1 Audio Design (J. Lane) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1 AC97 Codec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 Fast Fourier Transform (FFT) . . . . . . . . . . . . . . . . . . . . . . . . 52.1.3 Energy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.1.4 Bin Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.5 Beat Detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.6 Ball Generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.1.7 Ball Divider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2 Central Memory Unit (J. Lane) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.3 Physics Engine (A. Yin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.1 The World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.3.2 Implementation of the Ball Objects . . . . . . . . . . . . . . . . . . . . . . 112.3.3 The Physics Behind the Simulation . . . . . . . . . . . . . . . . . . . . . . 112.3.4 Physics Engine State Machine . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 Graphics (G. Rossick) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.4.1 DisplayFSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.4.2 sramController . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4.3 Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.4 Shading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.5 Floor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Testing 183.1 Audio Design (J. Lane) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.1.1 FFT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.1.2 Magnitude, Ball Generator, and Bin Manager . . . . . . . . . . . . . . . . 1823.1.3 Software Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2 Physics Engine (A. Yin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2.1 Testing of Proposed Design . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2.2 Testing of Implemented Design . . . . . . . . . . . . . . . . . . . . . . . . 193.3 Graphics (G. Rossick) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Conclusion 215 Appendix A: Audio Verilog Code 216 Appendix B: Physics Verilog Code 287 Appendix C: Graphics Verilog Code 37List of Figures1 Block Diagram of Audio System . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Single BRAM element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 Physics Engine state mahcine transition diagram . . . . . . . . . . . . . . . . . . 144 Graphics System Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . …
View Full Document