Visible to Intel only — GUID: zej1616508698887
Ixiasoft
Visible to Intel only — GUID: zej1616508698887
Ixiasoft
3.6.4. FGT PMA Fractional Mode
For a given data rate, the drop-down menu lists the supported integer mode reference clock frequencies. For a given data rate, if the required reference clock frequency is not listed in the drop-down, you can either select one of the supported integer mode reference clock frequencies or enable fractional mode.
- When enabling fractional mode, Intel recommends using 141 MHz reference clock frequency to maximize the distance on the PLL spurs across all OTN / SDI / CPRI rates.
-
VCO frequency (MHz) = (M + k/2^22) * N * L * refclk frequency (MHz)
When the fractional PLL reference clock frequency is entered, the IP GUI displays the VCO, M, N, L, k values in the System Messages tab as shown in the following figure.
- For a given data rate, you must enable fractional mode if you need to dynamically configure the k counter during run time.
FGT PMA supports fractional mode in following PMA modes:
PMA Mode | Fractional Mode Support |
---|---|
TX simplex | TX FGT PLL supports fractional mode in TX simplex. To enable, select TX simplex option for PMA mode, and turn on the Enable TX FGT PLL fractional mode in the parameter editor. The TX PLL fractional counter values automatically calculate for the selected reference clock frequency. You can place TX Simplex fractional mode on any of 16 FGT TX PMAs.
Note: FGT PMA does not support fractional mode for RX simplex.
|
Duplex | FGT PMA in Duplex PMA mode supports fractional mode. To enable fractional mode in duplex PMA mode, select the Duplex option for PMA mode, select up to 16 for the Number of PMA lanes, and turn on Enable TX FGT PLL fractional mode option in the parameter editor.
|
Primary PLL configuration | To enable fractional mode with the primary PLL configuration, select the Duplex option for PMA mode, select 2 or 4 for the Number of PMA lanes, and turn on Enable TX FGT PLL fractional mode and Enable TX FGT PLL cascade mode options in the parameter editor.
|
Tuning the k Counter Value in Fractional Mode
- When number of PMA lanes is 1, turn on Enable TX FGT PLL fractional mode, set PMA reference clock frequency as 141 MHz, and tune the k counter value of the lane.
- When number of PMA lanes is 2, or 4, turn on Enable TX FGT PLL fractional mode, turn on Enable TX FGT PLL cascade mode, set PMA reference clock frequency as 141 MHz, and tune the k counter value of the primary lane.
- Maximum step size: 2.5 ppm
- Minimum duration between steps: 1 us
- Maximum step size: 100 ppm
- Minimum duration between steps: unknown
Each FGT PMA has an Avalon® memory-mapped interface register containing the k counter. The k counter / 2^22 gives the fractional value K of the feedback counter. The fractional value K plus the M counter value provides the total feedback counter and determines how much PPM each bit in the k counter represents. For example, the LSB (least significant bit) in the k counter represents PPM = (1 / 2^22) / (K+M) × (10^6).
The procedure to change the k counter is:
- Change the k counter to the new value.
- Pulse the strobe bit 0 -> 1-> 0 to lock in the new k counter.
Each FGT PMA contains 3 PLLs; slow, medium and fast. FGT PMAs are organized in a quad. The k counter and strobe bit Avalon® memory-mapped interface register addresses depend on the location of the transceiver in the quad and which PLL is used (slow, medium, fast) as shown in the table below.
Channel Location in Quad | PLL | Fractional k Counter Register | Strobe Register |
---|---|---|---|
0 | Slow | 0x44000[30:9] | 0x4400C[17] |
Medium | 0x44100[30:9] | 0x4410C[17] | |
Fast | 0x44200[30:9] | 0x4420C[17] | |
1 | Slow | 0x4C000[30:9] | 0x4C00C[17] |
Medium | 0x4C100[30:9] | 0x4C10C[17] | |
Fast | 0x4C200[30:9] | 0x4C20C[17] | |
2 | Slow | 0x54000[30:9] | 0x5r00C[17] |
Medium | 0x54100[30:9] | 0x5410C[17] | |
Fast | 0x54200[30:9] | 0x5420C[17] | |
3 | Slow | 0x5C000[30:9] | 0x5C00C[17] |
Medium | 0x5C100[30:9] | 0x5C10C[17] | |
Fast | 0x5C200[30:9] | 0x5C20C[17] |
; z1577a_u_ux_quad_3__ux3_synth_lc_med_en ; enable ; String ; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_out_hz ; 0000000001010110011011010011111010000000 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_pfd_hz ; 0000000000000000000000000000000000000000 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_ref_hz ; 0000000000001000110110011110111000100000 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_rx_postdiv_hz ; 0000000000010001010010010000110010000000 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_tx_postdiv_hz ; 0000000000000110111010100000010100000000 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_f_vco_hz ; 0000001010110011011010011111010000000000 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_fractional_en ; enable ; String ; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_k_counter ; 0000111010100111001110 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_l_counter ; 001000 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_m_counter ; 000100111 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_n_counter ; 000001 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_powerdown_mode ; false ; String ; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_primary_use ; ux3_synth_lc_med_primary_use_disabled ; String ; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_rx_postdiv_counter ; 00101000 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_tx_postdiv_counter ; 01100100 ; Unsigned Binary; ; z1577a_u_ux_quad_3__ux3_synth_lc_med_tx_postdiv_fractional_en ; disable ; String ;