Project Introduction

The Elementary Cellular Automation Analyzer Takes a typically software computed algorithm, speeds it up in hardware, and shows multiple ways to view the interesting results of the calculation.

This project really focused on many of the key points that we learned throughout the semester.  We started with a complex algorithm to compute what is called an Elementary Cellular Automation for a given rule using the on-board switches.  A link to the explanation of Elementary Cellular Automation can be found here: http://elec444sp15ec3a.blogs.bucknell.edu/elementary-cellular-automation/.  After this calculation was completed, each previous generation is stored in BRAM memory on the FPGA board and then displayed to a monitor through a VGA port, much like the grid on the Elementary Cellular Automation page is.  From here, a user just has to press a single button and the view of the automation changes drastically.

By focusing on the center of the grid and rotating it 90 degrees counter-clockwise, it creates a musical score that we used to play multiple frequencies in an attempt to show a user the multiple ways that cellular automata  can give pleasing results.

Moving software calculations to hardware, manipulating BRAM data, and interfacing with monitors and speakers through different interfaces were all core features of the course that we took in the spring of 2015.  We chose this project to highlight each of those, and learn more about the design process as a whole as well.