Ok, here's how it works...

First off, we have two source clocks.  One is 133MHz, the other is
156.25MHz.  Select one with a mux.

Next, we have a pre-divider that can divide the clock by any number
between 1 and 128.  Restrict the range of your divider so that its
output is in the range of 1MHz to 6.875MHz (330/48).

Next, we have the DCM that multiplies by 48.

Finally, we have a post-divider that divides by 1, 2, 4, 8, 16, or 32.


To compute the parameters, we do an exhaustive search through all
combinations of settings and pick the one that is closest to the
desired clock rate.  There may be an analytical solution, but this
search is fast (and infrequent) enough that we don't care.


Note that what you need to generate isn't always the dot rate.  The
video controller is clocked at 1/2 or 1/4 the dot rate, depending on
the mode (that is, if we're processing 2 or 4 pixels per cycle), but
we then need 4x and 2x (maybe, I forget) multiples of that for the
final stage that controls the transmitters directly.


-- 
Timothy Normand Miller
http://www.cse.ohio-state.edu/~millerti
Open Graphics Project
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to