Sign in to follow this  

Yet Another VGA generator


offroad
  • Sometimes we all wish for "only one more LED". Now how about 307200 LEDs, all RGB, perfectly arranged in a square? (And I bet also your monitor has an unused analog input...)

    Seriously, an RGB monitor can be a useful debugging tool, a poor man's logic analyzer.

    Original Thread

Sometimes we all wish for "only one more LED". Now how about 307200 LEDs, all RGB, perfectly arranged in a square? (And I bet also your monitor has an unused analog input...)

Seriously, an RGB monitor can be a useful debugging tool, a poor man's logic analyzer.

The hardest step is probably the first, and that is to get some picture at all.

That's why I'm posting this VGA timing generator. It's rather compact (less than 200 lines, many of them comments), but it takes no shortcuts with the sync generation.

View attachment: IMG_3253.JPG.

The use of an inferred DSP48 for the test picture (via "*") is heavy-handed - but hey, we already paid for it, so let's use it.

This is the planAhead project:

View attachment: RGB.pa.zip

The interesting file is RGB.srcs/sources_1/imports/src/top.v

Further, there is a generated 32-to-25.175M PLL (approximate frequency) and the constraints file.

The latter is for a Xess RGB wing in Papilio Pro port "C". Pins may need to be re-mapped, depending on connections.

Now, how to use it for more than a test picture:

The generator provides X and Y as numbers, "blank" (here RGB must be zero), besides HSYNC and VSYNC signals to the monitor.

A typical implementation would need some processing delay on X and Y, simply delay HSYNC and VSYNC by the same amount.



  Report Article
Sign in to follow this  


User Feedback


There are no comments to display.



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now