home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1999 January
/
pcwk_01_1999.iso
/
Tajnepp
/
MCLK093
/
MYSTIQUE.TXT
< prev
next >
Wrap
Text File
|
1997-06-15
|
3KB
|
70 lines
06/15/97
Sorry for the tattered documentation of this and past releases of MCLK!
I promise to clean up the source code and docs pretty soon. Just started
summer vacation so I should have enough free time on my hands.
Ok, here's the long awaited code for the Matrox Mystique.
First, I apologize for not omitting the PLL-driver formula from MCLK's
inline help. However, the Mystique's clock-arrangement is sufficiently
complicated that I think it warrants a separate text-file with adequate
explanation.
The Mystique's architecture departs from other video chipsets in that the
Mystique's memory-controller and graphics-engine (datapath) use SEPARATE
clock signals. The Mystique's memory-controller is spec'd for up to 66MHz
operation, while the graphics-engine is spec'd for up to 44MHz. At first,
you might think that the Mystique carries two independent clock-generators
(PLL) to supply these two clock signals. Actually, it turns out that the
Mystique has but a single PLL which drives both the datapath (graphics engine)
and SGRAM memory-subsystem. The 3:2 clock ratio is produced by two divider
units, a /3 divider on the graphics-clock input and a /2 divider on the
memory-clock input.
So to summarize:
System PLL (default ) = 133MHz
Memory-clock (dfeault ) = 133 / 2.0 = 66 MHz
Graphics-clock (default)= 133 / 3.0 = 44 MHz
MCLK currently only reports the System-PLL clock-rate, which is fine since
the MCLK and GXCLK (graphics clock) are both derived from this source. But,
this means you'll have to use a little thinking to convert your desired
memory-clock frequency (70, 75, 80MHz) to a proper system-PLL rate.
Here is the formula for the Mystique's system PLL driver.
Formula for Mystique System PLL driver
(sysplln + 1)
FVCO = ------------- * 14.31818 MHz
(syspllm + 1)
The final PLL frequency is given by
FVCO (sysplln + 1) 14.31818MHz
PLL freq = ------------- = ------------- * -------------
(syspllp + 1) (syspllm + 1) (syspllp + 1)
sysplln, syspllm constitute control parameters in the VCO feedback loop.
syspllp is a post-divider circuit.
You can't program just any value(s) into the syspll registers.
Here's the range of acceptable values:
100 <= sysplln <= 127 (feedback divider)
1 <= syspllm <= 31 (input divider)
syspllp = { 0, 1, 3, or 7 }
Why did I break the PLL-formula into two parts (FVCO and PLL-freq) ? A
filter inside the PLL circuit stipulates a minimum FVCO rate of 50MHz.
The VCO is, of course, a stage of its own, independent of the post-divider
(syspllp.)
The Mystique's register set does allow the programmer to change the clock-div
factor. For example, you can change both the MCLKDIV and GCLKDIV back to /1.
Keep in mind Matrox designed the GCLK and MCLK to run at a 2:3 ratio.
Assuming my source code works, MCLK should let you change the ratio back to
1:1. But departing from the factory-preset ratio may have undesirable
consequences...