In this project, we have designed and implemented a 3x3 Rubik's Cube Simulator using the FPGA and its associated NIOS-II microcontroller as a System-on-chip. It uses a keyboard peripheral to act as input to the Rubik’s cube to rotate the entire cube and perform rotations on specific rows/columns of the tiles on the Cube. The VGA monitor displays a 3d perspective of the cube, as well as all six faces. Other features include undo and reset.
Storage Design:
Finite State Machine:
Block Diagram:
Rendering the Visuals:
Final Visual: