Introduction
As stated on the front page, the controller for the cube used a Xilinx Virtex-II XC2V6000 FPGA on a very versatile development board (produced specifically for 6.111). All the control logic for the cube was implemented in the FPGA - a PC was only used for developing and programming the board. In effect, we designed our own special-purpose 3D graphics processor (plus a few applications to run on it) inside the FPGA using the Verilog hardware description language.
Structure
The logic implemented in the FPGA was divided into two subsections (one of which was developed by each member of the project team). These subsections, and their components, were as follows:
They were connected by a "space buffer", a 512-bit area of RAM inside the FPGA containing the instantaneous state of each LED - output from the selected application and read by the display output module.
See the image gallery for pictures of the applications and the other aspects of the system.
Files
For more details on the controller, including the full Verilog source code, see the following: