litex-hub / litevideo

Small footprint and configurable video cores (Deprecated)
Other
70 stars 25 forks source link

RGB data nonzero on sync (analog output) #42

Open suarezvictor opened 2 years ago

suarezvictor commented 2 years ago

During horizontal/vertical blanking periods, the color signals should be at ground in order for the VGA monitor to know the baseline value. Currently, during the blanking period, the video generator leaves prepared the next data (color) from next line, so if leftmost pixel is not zero, color bands apear while the VGA monitor adapts to the value, and thus if the screen has solid colors, they tend to black after some lines (the time constant is about 1ms):

image

The following trace shows the horizontal sync period (positive) and how the color data doesn't go to ground:

image

The correction is simply to make zero all color outputs during blanking. That was tested making the leftmost pixel always zero where solid colors appear as expected.