home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 January / pcwk_01_1999.iso / Tajnepp / MCLK093 / MYSTIQUE.TXT < prev    next >
Text File  |  1997-06-15  |  3KB  |  70 lines

  1. 06/15/97
  2.  
  3. Sorry for the tattered documentation of this and past releases of MCLK!
  4. I promise to clean up the source code and docs pretty soon.  Just started
  5. summer vacation so I should have enough free time on my hands.
  6.  
  7. Ok, here's the long awaited code for the Matrox Mystique.
  8. First, I apologize for not omitting the PLL-driver formula from MCLK's
  9. inline help.  However, the Mystique's clock-arrangement is sufficiently
  10. complicated that I think it warrants a separate text-file with adequate
  11. explanation.
  12.  
  13. The Mystique's architecture departs from other video chipsets in that the
  14. Mystique's memory-controller and graphics-engine (datapath) use SEPARATE
  15. clock signals.  The Mystique's memory-controller is spec'd for up to 66MHz
  16. operation, while the graphics-engine is spec'd for up to 44MHz.  At first,
  17. you might think that the Mystique carries two independent clock-generators
  18. (PLL) to supply these two clock signals.  Actually, it turns out that the
  19. Mystique has but a single PLL which drives both the datapath (graphics engine)
  20. and SGRAM memory-subsystem.  The 3:2 clock ratio is produced by two divider
  21. units, a /3 divider on the graphics-clock input and a /2 divider on the
  22. memory-clock input.
  23.  
  24. So to summarize:
  25.         System PLL (default ) = 133MHz
  26.         Memory-clock (dfeault ) = 133 / 2.0 = 66 MHz
  27.         Graphics-clock (default)= 133 / 3.0 = 44 MHz
  28.  
  29. MCLK currently only reports the System-PLL clock-rate, which is fine since
  30. the MCLK and GXCLK (graphics clock) are both derived from this source.  But,
  31. this means you'll have to use a little thinking to convert your desired
  32. memory-clock frequency (70, 75, 80MHz) to a proper system-PLL rate.
  33.  
  34. Here is the formula for the Mystique's system PLL driver.
  35.     Formula for Mystique System PLL driver
  36.  
  37.             (sysplln + 1)
  38.      FVCO = ------------- * 14.31818 MHz
  39.             (syspllm + 1)
  40.  
  41.   The final PLL frequency is given by
  42.  
  43.                        FVCO         (sysplln + 1)    14.31818MHz
  44.      PLL freq  =  -------------  =  ------------- * -------------
  45.                   (syspllp + 1)     (syspllm + 1)   (syspllp + 1)
  46.  
  47.      sysplln, syspllm constitute control parameters in the VCO feedback loop.
  48.     syspllp is a post-divider circuit.
  49.  
  50.      You can't program just any value(s) into the syspll registers.
  51.      Here's the range of acceptable values:
  52.          100 <= sysplln <= 127 (feedback divider)
  53.           1 <= syspllm <= 31 (input divider)
  54.  
  55.                syspllp = { 0, 1, 3, or 7 }
  56.  
  57.  
  58.  Why did I break the PLL-formula into two parts (FVCO and PLL-freq) ?  A
  59.  filter inside the PLL circuit stipulates a minimum FVCO rate of 50MHz.
  60.  The VCO is, of course, a stage of its own, independent of the post-divider
  61.  (syspllp.)
  62.  
  63.  
  64. The Mystique's register set does allow the programmer to change the clock-div
  65. factor.  For example, you can change both the MCLKDIV and GCLKDIV back to /1.
  66. Keep in mind Matrox designed the GCLK and MCLK to run at a 2:3 ratio.
  67. Assuming my source code works, MCLK should let you change the ratio back to
  68. 1:1.  But departing from the factory-preset ratio may have undesirable
  69. consequences...
  70.