پارسی

A simple Graphics Processor Unit (B.Sc Project)

From December 2014 to September 2016 — A simple Graphics Processor Unit implemented using a VGA DAC and an FPGA chip including a PowerPC Microprocessor. The aim is to create a 2D Graphics Processor to drive the monitor and let the designer control display output and plot basic geometric shapes over the screen. In addition, it can print standard ASCII characters and strings on desired locations of the screen. It also offers a terminal-like console output area which reflows the text and can be very useful for monitoring system, debugging runtime and interacting with end-user. This project is released to the public as open source.

It's mainly designed to run on a Xilinx FPGA along a PowerPC embedded processor. It should be possible to run along MicroBlaze Cores but it's not tested yet. It can also be used on a bare FPGA without any embedded processors by sacrificing some of the functionalities. The component operates using a generated RAM block acting as VGA Display Memory which stores the pixel data to be displayed over the screen. In fact, you should modify the memory contents to control display output. This can be done by using either a embedded processor or a custom VHDL logic. Thus, having a processor is not mandatory.

This is a demo example of output possibilities using a processor. Please note that it's the actual monitor output extracted by dumping VGA display memory to a image file. This project is released to the public as open source under MIT License. You're welcome to use and contribute to the project. Source codes are accessible through GitHub. For the main IP Core, see FPGADisplay-ipcore repository. Also, IP Core driver files for embedded processors are available at FPGADisplay-driver.


Top ⇡