Inspiration 💡💡
Almost as pulled from an era where pasty yellow walls and fluorescent lights were the norm in the office, we had originally created a screensaver that was reminiscent of the DVDs of old. However, we realized we could make our screensaver into a cool particle-simulation with modifiable variables that allow others to customize and add to it.
What it does 💻💻
Using the fundamental principles of broadcast engineering and FPGA tech, these particles are anything but. Utilizing the verilog language and Quartus design software we were successfully able to animate the particles. Watch them bounce off the walls!
How we built it 🛠️🛠️
We used Ross Video's provided FPGA to make our project in Verilog using the Quartus Software. We used python scripts to convert RGB values in images to values (Y, rc, rb) that can be read by Verilog.
Challenges we ran into 🚧🚧
Locating the active pixels was one of the greatest challenges we ran into. To have the particles propagate across the screen, this was required to know so that we could impose the proper restrictions on our logic loops in the code. Learning the language was another barrier. Before we were even able to begin coding (let alone debug) we had to become comfortable with syntax and understand how variable and memory assignments worked in verilog. We had trouble with translating colour for hex to binary due to an interpretation issue.
Accomplishments that we're proud of ✨✨
These particles represent a deep understanding of the underlying principles associated with programming FPGAs. While it doesn't look like much, a lot of time and suffering was put into this project and we are incredibly proud of what we managed to achieve in the short timeframe we were constrained by.
What we learned 📖📖
Essentially how to eat soup with a fork. While there are surely much simpler ways to achieve the same output, this project offered a unique opportunity to garner a comprehensive understanding of complex technology practically overnight. The basic principles of Verilog, Quartus, and FPGAs employed here can easily be expanded upon to achieve increasingly complex and dynamic functions in industries such as video broadcasting and digital signal processing.
What's next for Enchanted Particles 🕒🕒
Adding a background, increasing particle count, gradient particles, world domination, particles with black outlines.
Built With
- fpga
- python
- quartus
- rossvideo
- verilog
Log in or sign up for Devpost to join the conversation.