Simon2
Junior Member level 2
Hi everyone,
I am quite a beginner in the FPGA-world, and I'm learning this as a hobby. And now I have the following problem.
I have connected a VGA input (another PC) to my FPGA (virtex 5 ml507) and i'm trying to light some LEDs depending on the color of a pixel somewhere in the middle of a frame. I am using 800 X 600 @ 72 Hz resolution. I have read about VGA and I know I think I need 1040 pixels on a row and 666 pixelrows on a frame. (The pixelfrequency is 50 MHz. )
The VGA input on my FPGA delivers 8 bit for blue, 8 bit for red and 8 bit for green. a horizontal and vertical synchronisation signal. However when I make a colored frame (for example in 'paint' opening a black screen) , input this to VGA and assign for example the blue 8 bit vector on a specific pixel of the frame to the 8 LEDs, I get always '0' on my LEDs, even when I input a white or a blue frame.
I use the following principle: the first data that enters is a vertical blanc signal, followed by a horizontal blanc signal, followed by a row of screen-pixels, followed by a horizontal blanc signal, followed by a horizontal synchronisation signal (end of row 1). Then again a horizontal blanc signal, a row of screen pixels, a horizontal blanc signal and a horizontal sync (end of row 2),... etc. Every frame is concluded by a vertical blanc signal and a vertical synchronisation.
The specific timings for the signals, I found on this website: http://tinyvga.com/vga-timing/800x600@72Hz
Is this the correct way to do it? Or should you start with a synchronisation signal? Or start with the row of screen-pixels?
Could someone give me some help with this?
Thanks in advance,
Simon
I am quite a beginner in the FPGA-world, and I'm learning this as a hobby. And now I have the following problem.
I have connected a VGA input (another PC) to my FPGA (virtex 5 ml507) and i'm trying to light some LEDs depending on the color of a pixel somewhere in the middle of a frame. I am using 800 X 600 @ 72 Hz resolution. I have read about VGA and I know I think I need 1040 pixels on a row and 666 pixelrows on a frame. (The pixelfrequency is 50 MHz. )
The VGA input on my FPGA delivers 8 bit for blue, 8 bit for red and 8 bit for green. a horizontal and vertical synchronisation signal. However when I make a colored frame (for example in 'paint' opening a black screen) , input this to VGA and assign for example the blue 8 bit vector on a specific pixel of the frame to the 8 LEDs, I get always '0' on my LEDs, even when I input a white or a blue frame.
I use the following principle: the first data that enters is a vertical blanc signal, followed by a horizontal blanc signal, followed by a row of screen-pixels, followed by a horizontal blanc signal, followed by a horizontal synchronisation signal (end of row 1). Then again a horizontal blanc signal, a row of screen pixels, a horizontal blanc signal and a horizontal sync (end of row 2),... etc. Every frame is concluded by a vertical blanc signal and a vertical synchronisation.
The specific timings for the signals, I found on this website: http://tinyvga.com/vga-timing/800x600@72Hz
Is this the correct way to do it? Or should you start with a synchronisation signal? Or start with the row of screen-pixels?
Could someone give me some help with this?
Thanks in advance,
Simon