The VGA output is used to present a fading display of all possible colors utilizing the 10-bit DAC. The entire screen (800x600) is filled with the solid color, but some sections have some primary colors masked, creating boxes of different colors.
As seen in the above diagram, a PLL is used to provide the 40MHz clock required for the VGA display.
The colors displayed on the VGA screen come from the VGA_RAINBOW module. This module simply creates the 10-bit numbers required by the DAC, fading through the colors in a grey-code sequence to ensure that a large gamut is displayed.
The multiplexers to the right of VGA_RAINBOW are used to mask off certain sections for certain colors. This creates a slightly more interesting display.
VGA_SYNC_0 creates the control signals needed for a VGA display, mainly vertical and horizontal sync. This is a modified version of the VGA_SYNC module provided to ECE2031 students.
The row and column outputs of VGA_SYNC are fed through comparators, creating the signals used by the afore-mentioned muxes to mask certain areas of the screen.