VGA Generation Issue - Page 1
Forum section: electronics / projects

author: nickbild
author_rank: Contributor
timestamp: December 04, 2021, 08:45:27 pm
content: I've got an issue with a VGA generator that I built, and I wanted to see if the particular problem I have jumped out at anyone as having an obvious cause. See the attached image of the 640x480 @60Hz display.The first 8 lines are pushed about 7-8 pixels to the left off screen, which leaves a block box on the right hand side of these lines. The remaining lines (9+) are pushed about 7-8 pixels to the right off screen, leaving a block box on the left hand side of these lines.The signal I'm generating looks correct with my logic analyzer (specs:http://tinyvga.com/vga-timing/640x480@60Hz). I can't figure out what is causing this. Any ideas?PS - The screen should be white, with a single red row at the top, and another red row at the bottom.Thanks in advance!

author: Benta
author_rank: Super Contributor
timestamp: December 04, 2021, 09:03:01 pm
content: Well, obviously your own generated signal isn't correct.But with the sparseness of information that you provide, nothing more can be said.

author: nickbild
author_rank: Contributor
timestamp: December 04, 2021, 09:06:13 pm
content: What information would be helpful?

author: Benta
author_rank: Super Contributor
timestamp: December 04, 2021, 10:02:24 pm
content: Quote from: nickbild on December 04, 2021, 09:06:13 pmHmmm... let me see.Until now, you've provided a screenshot and a link to the VGA specification.Do these help us solve your question?Not really. Our crystal balls are out of order.How about signal traces of your video output? Just to begin with. And try understanding how other people receive your question. It's called empathy.

author: tooki
author_rank: Super Contributor
timestamp: December 05, 2021, 12:16:56 am
content: Quote from: Benta on December 04, 2021, 10:02:24 pmThat’snotwhat empathy means. (Empathy means the ability to understand and share another person’semotions.)And while thecontentof your criticism is factually correct, it’s rather devoid of… empathy. (Specifically, by taking an unduly harsh tone.)

author: dmendesf
author_rank: Frequent Contributor
timestamp: December 05, 2021, 12:47:56 am
content: If you coded it smartly, all your parameter are configurable. Try increasing the vertical related ones a bit. They are not set in stone, nothing will break. I've done a vhdl VGA generator ages ago (altera 10k family... ) And remember some tinkering was needed to put the image in the middle of the tube.

author: amyk
author_rank: Super Contributor
timestamp: December 05, 2021, 02:20:41 am
content: Help us help you... the lack of information in your post can only be answered with "the first 8 lines are obviously not timed correctly". Why 8? That will be key to finding the problem, but without telling us anything at all about how you're generating the signal, you will need to ponder that number yourself.

author: nickbild
author_rank: Contributor
timestamp: December 05, 2021, 02:54:08 am
content: Thanks to all who took the time to read and consider. It ended up being the monitor itself--the last thing I would suspect. It's a retro project and the monitor came from a thrift store. I guess that's why I couldn't see a problem with the signal.It's a complex circuit built with 7400 chips, so I didn't give those details because I didn't expect anyone to debug it for me. I was just looking for something along the lines of "ah, yes, you probably need to look at X with your V sync." But thanks for the willingness to do a deep dive!

author: x86guru
author_rank: Regular Contributor
timestamp: December 07, 2021, 09:03:55 pm
content: Quote from: nickbild on December 05, 2021, 02:54:08 amIt might not be the monitor. Are you counting 33 full horizontal lines (800 clocks * 33) for the vertical back-porch and starting the first top line beginning at the 48th clock of line 34 for the horizontal back porch? If you start writing during the vertical back porch some multi-sync monitors might wait for the next vertical sync before trying to determine what video mode you're generating. And at 25MHz with VS and HS timed for 640x480 the will probably keep trying to determine the video mode.Added: Some multi-sync monitors are more forgiving than others when it comes to driving RGB during the front/back vert and horz porches -- at least initially when it's trying to calculate the pixel clock.