For this project, I made a puzzle game using a System-On-Chip solution on the Spartan-7 FPGA with MicroBlaze microprocessor. I utilized SPI protocol in SystemVerilog for getting USB keyboard input. I implemented AXI4 protocol for communication between the MicroBlaze microprocessor and the on-chip memory inside the FPGA board. The game logic is implemented in C, and then the game state and sprites layout are sent to a frame buffer inside the on-chip memory. The frame buffer is then read using SystemVerilog to output a HDMI signal.