ENGR-433 Spring 2023
Lab 6: Basys3 FPGA to Implement a VGA Driver
Name: Cheyenne Tucson
Email: crtucson@fortlewis.edu

Basys3 FPGA to Implement a VGA Driver

1. Introduction

VGA is an industry standard used for displaying graphics onto a monitor. An FPGA can be used to describe a VGA driver for interfacing a monitor to a digital circuit in Verilog. This is a useful skill to know as an ASIC engineer, especially when designing products to be used by people. These monitors can be used to display different sorts of data and information that might be useful for monitoring a system, as one example. This lab will explore how to implement the VGA driver with pixel values to create animations on the monitor via a digital circuit without an image file.


2. Materials


3. Procedure

Vivado was opened on a PC; a new RTL project was created, the appropriate chipset was selected for compatability with the Basys 3 board, a .xcf constraint file was attached to the project.

A testbench was created in Verilog to use a VGA driver module to first create a vertical green bar, then adding a small vertical red bar, and then the short red bar drifted by 1 px/second until it scrolled off the screen, and finally the red bar was bounced between the white space of the screen to the left of the green bar and the vertical green bar along the entire length of the screen.

4. Results

Video 1. A recorded demonstration of the screen with a vertical green bar.

Video 2. A recorded demonstration of both bars on the screen without moving.

Video 3. A recorded demonstration of the red bar floating across the screen.


5. Discussion

Being able to implement the bouncing movement was a bit more difficult that I expected.