ElEctric_EyE wrote:
Aiming for 1280x1024@60Hz which according to VESA timings shown by nice folks at
tinyvga.com, gives a pixelclock of 108MHz. The access time+delay of the 6.5ns RAM will gives us a frequency of less than 153.8MHz. Even if the total delay of the FPGA design was an optimistic 5ns, this would give us a max pixelclock of ~87MHz.
The FPGA delay will be more than 5ns. But the good news is that it won't matter. All you need to worry about is maximum clock rate for the RAM, which is 133 MHz according to the datasheet. The rest is all pipelined. Of course, you can only get that 133 MHz if all you do is stream linear data from SRAM to the VGA output. So, no sprites or other interesting tricks, and no writing to the SRAM at the same time.
Quote:
The clocking wizard was able to generate 83.333MHz and 65.0MHz from a 100MHz input... So let's say I am being overly optimistic and we need to settle for 800x600. The PLL can generate the 40MHz, 49.5MHz and 50MHz pixelclocks for 60Hz, 75Hz and 72Hz VSync's from 100MHz.
That's strange. Looking at the DCM in the Spartan6:
Quote:
Allowable values for CLKDV_DIVIDE include 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5, 5.5, 6, 6.5, 7, 7.5, 8, 9, 10, 11, 12, 13, 14, 15, 16.
and
Quote:
Allowable values for CLKFX_MULTIPLY include integers ranging from 2 to 32.
You can combine those to make a wide range of frequencies. And if that still doesn't produce the right frequency, you can even cascade them, or combine a DCM with a PLL.