Full Text Available

Note: Clicking the button above will open the full text document at the original institutional repository in a new window.

Design of a low-resource 2D graphics engine for FPGAs

This study focused on the design and implementation of a low-resource graphics engine, MicroGE, which can be implemented on an FPGA. MicroGE uses a minimal amount of FPGA resources when compared to other graphics engines. After researching existing graphics engines, it was discovered that most make...

Full description

Saved in:
Bibliographic Details
Main Author: Tolmie, Donald Francois
Other Authors: Wilkinson, Andrew
Format: Thesis
Language:English
Published: Department of Electrical Engineering 2019
Subjects:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1867613239645306880
access_status_str Open Access
author Tolmie, Donald Francois
author2 Wilkinson, Andrew
author_browse Tolmie, Donald Francois
Wilkinson, Andrew
author_facet Wilkinson, Andrew
Tolmie, Donald Francois
author_sort Tolmie, Donald Francois
collection Thesis
description This study focused on the design and implementation of a low-resource graphics engine, MicroGE, which can be implemented on an FPGA. MicroGE uses a minimal amount of FPGA resources when compared to other graphics engines. After researching existing graphics engines, it was discovered that most make use of a memory space to store frame buffer data. Because of the restrictions that were imposed on the design of MicroGE, it could not incorporate a large enough memory space to store a frame buffer. It was specified that MicroGE should be able to fit on low-resource FPGAs, without any external memory components. Also, MicroGE should be able to fit on modern, high-resource, FPGAs without using a significant amount of those FPGAs’ resources. These goals were achieved by designing MicroGE according to an architecture which differs from the ones of existing graphics engines. MicroGE only renders parts of the video frame, which can be stored in a small memory space, before those parts are transmitted to an HDMI or DVI monitor. After the design was completed, MicroGE, along with other components, was implemented in a VHDL design. Hardware was developed, which contained a Spartan-6 LX25 FPGA, to verify this VHDL. Other verification methods, including the use of VHDL test benches, were also used to verify the VHDL design. A software library, MGAPI, was developed on an Arduino Due microcontroller board. This software library allowed the Arduino Due to display graphics on an HDMI monitor via MicroGE. The Arduino Due was able to update the display of 1000 graphics primitives within 111 ms. The internal FPGA RAM resource usage of MicroGE, 792 kb, was found to be significantly lower than the amount of memory required for a frame buffer. Even though these results were satisfactory, there are still many improvements that can be made to MicroGE. These improvements include increasing the number of rendering capabilities, optimisation of power usage, and increasing the control and video output interfaces.
format Thesis
id oai:open.uct.ac.za:11427/30042
institution University of Cape Town (South Africa)
language eng
last_indexed 2026-06-10T12:32:58.612Z
license_str Not specified — see source repository
provenance_str_mv Harvested via OAI-PMH from UCTD — University of Cape Town Open Access Repository
publishDate 2019
publishDateRange 2019
publishDateSort 2019
publisher Department of Electrical Engineering
publisherStr Department of Electrical Engineering
record_format dspace
source_str UCTD — University of Cape Town Open Access Repository
spelling oai:open.uct.ac.za:11427/30042 Design of a low-resource 2D graphics engine for FPGAs Tolmie, Donald Francois Wilkinson, Andrew Ginsberg, Samuel Engineering This study focused on the design and implementation of a low-resource graphics engine, MicroGE, which can be implemented on an FPGA. MicroGE uses a minimal amount of FPGA resources when compared to other graphics engines. After researching existing graphics engines, it was discovered that most make use of a memory space to store frame buffer data. Because of the restrictions that were imposed on the design of MicroGE, it could not incorporate a large enough memory space to store a frame buffer. It was specified that MicroGE should be able to fit on low-resource FPGAs, without any external memory components. Also, MicroGE should be able to fit on modern, high-resource, FPGAs without using a significant amount of those FPGAs’ resources. These goals were achieved by designing MicroGE according to an architecture which differs from the ones of existing graphics engines. MicroGE only renders parts of the video frame, which can be stored in a small memory space, before those parts are transmitted to an HDMI or DVI monitor. After the design was completed, MicroGE, along with other components, was implemented in a VHDL design. Hardware was developed, which contained a Spartan-6 LX25 FPGA, to verify this VHDL. Other verification methods, including the use of VHDL test benches, were also used to verify the VHDL design. A software library, MGAPI, was developed on an Arduino Due microcontroller board. This software library allowed the Arduino Due to display graphics on an HDMI monitor via MicroGE. The Arduino Due was able to update the display of 1000 graphics primitives within 111 ms. The internal FPGA RAM resource usage of MicroGE, 792 kb, was found to be significantly lower than the amount of memory required for a frame buffer. Even though these results were satisfactory, there are still many improvements that can be made to MicroGE. These improvements include increasing the number of rendering capabilities, optimisation of power usage, and increasing the control and video output interfaces. 2019-05-10T11:57:41Z 2019-05-10T11:57:41Z 2018 2019-05-07T10:54:30Z Master Thesis Masters MSc http://hdl.handle.net/11427/30042 eng application/pdf Department of Electrical Engineering Faculty of Engineering and the Built Environment
spellingShingle Engineering
Tolmie, Donald Francois
Design of a low-resource 2D graphics engine for FPGAs
thesis_degree_str Master's
title Design of a low-resource 2D graphics engine for FPGAs
title_full Design of a low-resource 2D graphics engine for FPGAs
title_fullStr Design of a low-resource 2D graphics engine for FPGAs
title_full_unstemmed Design of a low-resource 2D graphics engine for FPGAs
title_short Design of a low-resource 2D graphics engine for FPGAs
title_sort design of a low resource 2d graphics engine for fpgas
topic Engineering
url http://hdl.handle.net/11427/30042
work_keys_str_mv AT tolmiedonaldfrancois designofalowresource2dgraphicsengineforfpgas