CE 433 Spring 2024
Lab 6: Basys 3 FPGA to Implement a VGA Driver
Sahra Genc
sggenc@fortlewis.edu

LAB 6: Basys 3 FPGA to Implement a VGA Driver

Introduction
In this lab, we used the Basys 3 board, VGA cable, and Vivado. We were tasked to manipulate pixels and control their movements on the monitor screen. Our first task was to draw a green line on a white background, then add a red bar within specific boundaries. Afterwards, we were assigned to make the red bar move dynamically across the screen horizontally at a controlled speed, managing its movement between the green line and a set X-coordinate. This project not only tested our technical skills but also deepened our understanding of the VGA.

Task 1: Draw a green line on a white background on the monitor. (25 points)

Figure 1. The code implementation to display a green line with a white background on the monitor


Video 1. The demonstration of displaying a green line with a white background on the monitor

Task 2:
Draw an additional red bar on the monitor. (25 points)

Figure 2. The code implementation of displaying a red line along with the green line and white background on the monitor


Video 2. The demonstration of displaying a red line along with the green line and white background on the monitor

Task 3:
Move the red bar to the right (horizontally) by 1 pixel for every 0.5 second. (25 points)

Figure 3. The code implementation of moving the red line to the right by 1 pixel in every 0.5 seconds on the monitor


Video 3. The demonstartion of the red line moving to the right by 1 pixel in every 0.5 seconds

Task 4: Bounce it back and forth between the green line and the X location of 600. The speed is 0.01s/pixel. (25 points)


Figure 4. The code implementation of bouncing the red line back and forth between the green line and the X location of 600 with the speed 0.01s/pixel on the monitor


Video 4. The demonstration fo the red line bouncing back and forth btween the green line and the X location of 600 with the speed 0.01s/pixel
Discussion
Overall, this lab provided us a beneficial experience in working with Verilog, Vivado, and VGA technology. We increased our familiarity with VGA and explored its various capabilities, enhancing our understanding of digital display systems.