Visible to Intel only — GUID: dhj1674596120036
Ixiasoft
Visible to Intel only — GUID: dhj1674596120036
Ixiasoft
7.6.1. PLL Wrapper
The clock manager contains two PLL wrappers. These wrappers contain Altera® PLLs and dividers. The following diagram shows the PLL module and clock assignments.
The following table shows some of the PLL Module registers and clock frequencies used to configure the Main PLL and Peri PLL, along with their descriptions. The values shown are examples for calculation purposes.
Register Bit | Main PLL | Peripheral PLL | Description |
---|---|---|---|
Below requires user input | |||
[main,peri]pllgrp.pllglob.psrc | <source clock value> | <source clock value> | Source clock into the PLL = 0 (hps_osc_clk) = 1 (cb_intosc_div2_clk) = 2 (f2h_free_clk) |
Reference Clock frequency (MHz) | 25 | 25 | Frequency of the clock source selected by [main,peri]pllgrp.pllglob.psrc |
[main,peri]pllgrp.pllglob.Arefclkdiv | 1 | 1 | Reference clock divider control |
[main,peri]pllgrp.pllm.mdiv | 128 | 120 | Used to calculate VCO frequency |
[main,peri]pllgrp.fdbck.fdiv | 0 | 0 | Fractional synthesizer center frequency control word |
[main,peri]pllgrp.pllc0.div | 5 | 5 | Used to calculate pll_c0 frequency output |
[main,peri]pllgrp.pllc1.div | 4 | 5 | Used to calculate pll_c1 frequency output |
[main,peri]pllgrp.pllc2.div | 7 | 125 | Used to calculate pll_c2 frequency output |
[main,peri]pllgrp.pllc3.div | 8 | 6 | Used to calculate pll_c3 frequency output |
[main,peri]pllgrp.pllglob.fastrefclk | 0 | 0 | PLL fast reference clock mode control |
[main,peri]pllgrp.pllglob.drefclkdiv | 0 | 0 | Reference clock divider control used by the DPLL |
[main,peri]pllgrp.pllglob.modclkdiv | 6 | 5 | Reference clock divider control |
Below is calculated based on above user inputs | |||
VCO frequency (MHz) | 3200 | 3000 | Frequency of the VCO which is [main,peri].pllm.mdiv * Ref_clk |
[main,peri]pllgrp.vcoalib.mscnt | 1 | 1 | VCO calibration parameter |
[main,peri]pllgrp.vcoalib.hscnt | 124 | 116 | VCO calibration parameter |
[main,peri]_pll_c0 (MHz) | 640 | 600 | VCO frequency / [main,peri]pllgrp.pllc0.div |
[main,peri]_pll_c1 (MHz) | 800 | 600 | VCO frequency / [main,peri]pllgrp.pllc1.div |
[main,peri]_pll_c2 (MHz) | 457 | 24 | VCO frequency / [main,peri]pllgrp.pllc2.div |
[main,peri]_pll_c3 (MHz) | 400 | 500 | VCO frequency / [main,peri]pllgrp.pllc3.div |
The following figure shows the boot clock generation.
The following table shows the Boot Clock registers used to configure the boot_clk, along with descriptions.
Clock Name | Register Bit | Description |
---|---|---|
boot_clk | Clock_Mgr.clkmgr.ctrl.swctrlbtclken | This bit allows software to control the boot_clk mux select. = 1 (swctrlbtclksel determined the mux setting) = 0 (the security features determine the fuse settings) |
Clock_Mgr.clkmgr.ctrl.swctrlbtclksel | This bit is only used if swctrlbtclken is set. = 0 (boot_clk source is hps_osc_clk) = 1 (boot_clk source is cb_intosc_div2_clk) |
|
Clock_Mgr.clkmgr.ctrl.bootmode | When set, the Clock Manager is in Boot Mode. In Boot Mode, Clock Manager register settings defining clock behavior are ignored and clocks are set to their Boot Mode settings. All clocks are bypassed and external HW managed counters and dividers are set to divide by 1. This bit should only be cleared when clocks have been correctly configured. This field is set on a cold reset and optionally on a warm reset. SW might set this bit to force the clocks into Boot Mode. SW exits Boot Mode by clearing this bit. |