Forum Discussion
Thanks for the feedback! I've caught the error in the meantime, it was a problem between my chair and keyboard :) Some row buffer was not getting emptied when it was filled with (too) many pixels. I've reversed the if condition so cleaning it comes first and problem went away. Apparently, it wasn't a timing issue.
The chain I was failing with a 40% in Fmax was unrelated with the vga, video or anything else I was using (it belongs to a HDMI part of code). I'll investigate why it fails so miserably, hoping to get HDMI working as well (didn't try yet, stuck to VGA for now).
I'm not using Video IP suite, just several lines of verilog to generate VGA signal (timing with few registers / counters). I plan to publish the source on GitHub, but it's so ugly right now I'm a little ashamed.
Unrelated question - Is it free to use altsyncram, altshift_taps and lpm_divide with Quartus Lite to build and distribute binary as well as sources?
Many thanks to all!
Hrvoje