From 25152fe4de245f7030e03d53d26d8bdddd7079f1 Mon Sep 17 00:00:00 2001 From: Franck Jullien Date: Thu, 3 Feb 2022 13:47:30 +0100 Subject: [PATCH] video: align hsync and vsync generated by the vtg --- litex/soc/cores/video.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/litex/soc/cores/video.py b/litex/soc/cores/video.py index a16e2001e..81f83c72b 100644 --- a/litex/soc/cores/video.py +++ b/litex/soc/cores/video.py @@ -242,21 +242,23 @@ class VideoTimingGenerator(Module, AutoCSR): # Increment HCount. NextValue(source.hcount, source.hcount + 1), # Generate HActive / HSync. - If(source.hcount == 0, NextValue(hactive, 1)), # Start of HActive. - If(source.hcount == hres, NextValue(hactive, 0)), # End of HActive. - If(source.hcount == hsync_start, NextValue(source.hsync, 1)), # Start of HSync. - If(source.hcount == hsync_end, NextValue(source.hsync, 0)), # End of HSync. + If(source.hcount == 0, NextValue(hactive, 1)), # Start of HActive. + If(source.hcount == hres, NextValue(hactive, 0)), # End of HActive. + If(source.hcount == hsync_start, + NextValue(source.hsync, 1), # Start of HSync. + NextValue(source.vsync, 1), # Start of VSync. + NextValue(source.vcount, vsync_start) + ), + If(source.hcount == hsync_end, NextValue(source.hsync, 0)), # End of HSync. + If(source.hcount == hscan, NextValue(source.hcount, 0)), # Reset HCount. # End of HScan. - If(source.hcount == hscan, - # Reset HCount. - NextValue(source.hcount, 0), + If(source.hcount == hsync_start, # Increment VCount. NextValue(source.vcount, source.vcount + 1), # Generate VActive / VSync. - If(source.vcount == 0, NextValue(vactive, 1)), # Start of VActive. - If(source.vcount == vres, NextValue(vactive, 0)), # End of HActive. - If(source.vcount == vsync_start, NextValue(source.vsync, 1)), # Start of VSync. - If(source.vcount == vsync_end, NextValue(source.vsync, 0)), # End of VSync. + If(source.vcount == 0, NextValue(vactive, 1)), # Start of VActive. + If(source.vcount == vres, NextValue(vactive, 0)), # End of HActive. + If(source.vcount == vsync_end, NextValue(source.vsync, 0)), # End of VSync. # End of VScan. If(source.vcount == vscan, # Reset VCount.