VGA homework

Noah Smith

Task 1: Repeat the work in Section 2. Show the code, explanation, and a demo video. (20 points)

A screenshot of a computer screen

Description automatically generated

A screenshot of a computer program

Description automatically generated

Video demonstration:


Task 2: Replace the clock generator IP with a self-made clock divider module that generates 25MHz clock. Demonstrate that it works for the rest of the circuit. Show the code, explanation, and a demo video. (20 points)

Implementing a self made clock divider was rather simple. Take the 100MHz clk and divide twice per clk period, which ends up dividing it by 4 to get to 25MHz. This was then plugged directly into the top module. The demonstration can be seen in the video.


Task 3: Complete the two examples in Section 3. Show the code, explanation, and a demo video. (60 points).

First task was to create a white screen. This was a easy task, simply comment out the image call, and hardcode in 4’b1111 as the VGA values. The video demonstration shows this. The white looks a bit yellow on my monitor because I have the blue-light settings turned way down.

The second part of this was displaying a flashing screen between Red, Green, and Blue. This was achieved by hardcoding if statements with the RGB values. And multiples of the 25MHz clk were added as the trigger conditions.

A screen shot of a computer program

Description automatically generated