•PROJECT: VHDL implementation of PONG game

  • AIM: The project was intended to get familiar with interfacing external components such as VGA monitor, keyboard and mouse with a FPGA board. Also, high level of VHDL programming was required to accomplish the project. The primary aim was to design a video game with a graphical display on the monitor and control via keyboard or mouse.
  • IMPLEMENTATION: The implementation of the project required an ALTERA FPGA board (FLEX10 FPGA chip) which was programmed on the Quartus II platform. Modules for generating control signals for the VGA monitor (horizontal sync, vertical sync etc) and keyboard were designed. The keyboard module was responsible for determining an occurrence of key stroke, detecting the scan code and decoding the scan code corresponding to the key pressed. The VGA module was responsible to generate vertical and horizontal sync signals according to the standard timing and provide means to input RGB signals and output the current pixel position. A state machine was then designed in order to implement the game. The game displayed two paddles on each side of the screen which could be controlled independently by the same key board (with a direction of UP/DOWN). A ball would move randomly, bouncing off the screen walls. The aim of the players is to make the ball bounce off the paddle. On losing the ball, the game restarts.
  • STATUS: The project was completed successfully
  • DOWNLOADS: Design Files, VHDL code