Abstract:
This project realizes a simple graphics processing unit (GPU) on an FPGA which
can be used as a GPU for Atmega microcontrollers to output graphics to a VGA
display. An Altera Cyclone II FPGA will be used to implement the GPU. The FPGA
and the host device will communicate via a RS-232 serial interface using a handshaking
command structure to ensure accuracy of instruction delivery. Final output of
the graphics will be displayed on a VGA compatible monitor. The result of the
project is a GPU as well as VGA driver for the host device that allows a user
to set up a graphical window to draw into and display on the VGA screen. The
GPU supports multiple drawing functions such as text writing, line drawing, and
rectangular fills. It also provides two different screen resolutions to draw
into, 640x480 and 320x240, as well as capability for both single and double buffered
graphics. The end product allows a simple method for one to use a microcontroller
or other host device to create high quality graphical program without sacrificing
memory, speed, or timing constraints of said microcontroller.
Full report (pdf)