DE0 Nano VGA Output

Basic VGA Theory
           The main clock input difference between the Masochist's Video Card and the DE0 Nano Development Board is that the dev board uses a 50 MHz clock and the 'video card' used a 10 MHz clock. Since we want to duplicated the 800x600 resolution, we'll have to make some timing changes and adhere to a seperate standard to meet the 800x600 resolution goal. The sections below will describe this change in more detail.



           The chart above is what we will focus on since we're trying to simluate VGA @ 800x600 resolution. Horizontal line signals are measured by pixels with 1 pixel the same length as 1 tick of a 50 MHz clock. The vertical field signal is measured in 'lines'. So counting how many horizontal lines have already been displayed is important to meet timing.



           The picture above should give you a rough idea of how the signal will look, and you can match the time for each part of the signals with the times listed in the table at the top of the page. So, if you add everything up in the table, 800x600 VGA actually uses 1040x666, but part of the signal is never seen on the monitor.

Color Generator

           Once the VGA timing has been worked out, the color pattern generator will be built to display 8 colors. The sequence of the colors can be seen above. These colors are created by changing the various Red, Green, Blue VGA color pins, mixing and matching to the appropriate color. Take a look at a color wheel if you've forgotten what colors mix together to form new colors (i.e. Red + Green = Yellow).