DPLL - 2025.1 English - Primitive: Digital Phase-Locked Loop (DPLL) - UG974

UltraScale Architecture Libraries Guide (UG974)

Document ID
UG974
Release Date
2025-05-29
Version
2025.1 English

Primitive: Digital Phase-Locked Loop (DPLL)

  • PRIMITIVE_GROUP: CLOCK
  • PRIMITIVE_SUBGROUP: PLL
  • Families: UltraScale, UltraScale+
Page-1 Sheet.3 DPLL DPLL Text Line.6 CLKFB_DESKEW CLKFB_DESKEW Text Line.7 CLKIN CLKIN Text Line.8 CLKIN_DESKEW CLKIN_DESKEW Text Line.9 DADDR[6:0] DADDR[6:0] Text Line.30 DI[15:0] DI[15:0] Text Line.33 PSINCDEC PSINCDEC Text Line.36 DEN DEN Text Line.167 DWE DWE Text Line.170 PSCLK PSCLK Text Line.171 PSEN PSEN Text Line.174 PWRDWN PWRDWN Text Line.175 RST RST Text Line.50 DCLK DCLK Text Line.99 CLKOUT0 CLKOUT0 Text Line.100 CLKOUT1 CLKOUT1 Text Line.101 CLKOUT2 CLKOUT2 Text Line.106 DO[15:0] DO[15:0] Text Line.107 DRDY DRDY Text Line.34 LOCKED LOCKED Sheet.33 LOCKED_DESKEW LOCKED_DESKEW Sheet.34 LOCKED_FB LOCKED_FB Text Line.43 CLKOUT3 CLKOUT3 Sheet.45 PSDONE PSDONE Sheet.46 X22739-042219 X22739-042219

Introduction

The DPLL is an all-digital phase locked loop that is located next to the HDIO column, the GT clocking column, and co-located in the same clocking tile as as the MMCMs. DPLLs can perform frequency synthesis, clock network deskew, and jitter filtering for internal and external clocks. DPLLs have some limitations in operation versus other clock modifying blocks such as the XPLLs and MMCMs.

Port Descriptions

Port Direction Width Function
CLKFB_DESKEW Input 1 Secondary (feedback) clock input to the phase detector block for deskewing clock network delays.
CLKIN Input 1 Input Clock.
CLKIN_DESKEW Input 1 Primary clock input to the phase detector block for deskewing clock network delays between two different CLKOUT networks.
CLKOUT0 Output 1 General clock output CLKOUT0. Generally connected to a global buffer.
CLKOUT1 Output 1 General clock output CLKOUT1. Generally connected to a global buffer.
CLKOUT2 Output 1 General clock output CLKOUT2. Generally connected to a global buffer.
CLKOUT3 Output 1 General clock output CLKOUT3. Generally connected to a global buffer.
DADDR<6:0> Input 7 The dynamic reconfiguration address (DADDR) input bus provides a reconfiguration address for the dynamic reconfiguration. When not used, all bits must be assigned zeros.
DCLK Input 1 The DCLK signal is the reference clock for the dynamic reconfiguration port.
DEN Input 1 The dynamic reconfiguration enable (DEN) provides the enable control signal to access the dynamic reconfiguration feature. When the dynamic reconfiguration feature is not used, DEN must be tied Low.
DI<15:0> Input 16 The dynamic reconfiguration data input (DI) bus provides reconfiguration data. When not used, all bits must be set to zero.
DO<15:0> Output 16 The dynamic reconfiguration output bus provides DPLL data output when using dynamic reconfiguration
DRDY Output 1 The dynamic reconfiguration ready output (DRDY) provides the response to the DEN signal for the DPLLs dynamic reconfiguration feature.
DWE Input 1 The dynamic reconfiguration write enable (DWE) input pin provides the write enable control signal to write the DI data into the DADDR address. When not used, it must be tied Low.
LOCKED Output 1 The LOCKED signal indicates that all functions requiring a LOCKED signal for the DPLL to operate properly have LOCKED. This LOCKED signal is therefore an AND function of LOCKED_FB and LOCKED_DESKEW if used.
LOCKED_DESKEW Output 1 Indicates if the deskew circuit is locked. Applies only to the deskew circuits used in the design. Ignore these outputs for unused deskew circuits.
LOCKED_FB Output 1 An output from the DPLL that indicates when the DPLL has achieved phase alignment within a predefined window and frequency matching within a predefined PPM range. The DPLL automatically locks after power on. No extra reset is required. LOCKED is deasserted if the input clock stops or the phase alignment is violated (for example, input clock phase shift). The DPLL must be reset after LOCKED is deasserted.
PSCLK Input 1 Phase shift clock.
PSDONE Output 1 Phase shift done.
PSEN Input 1 Phase shift enable.
PSINCDEC Input 1 Phase shift increment/decrement control.
PWRDWN Input 1 Powers down instantiated but unused DPLLs.
RST Input 1 Asynchronous reset signal. The RST signal is an asynchronous reset for the DPLL. The DPLL synchronously re-enables itself when this signal is released (that is, DPLL re-enabled). A reset is required when the input clock conditions change (for example, frequency).

Design Entry Method

Instantiation Yes
Inference No
IP and IP Integrator Catalog Recommended

Available Attributes

Attribute Type Allowed Values Default Description
CLKFBOUT_FRACT DECIMAL 0 to 63 0 6-bit fractional M feedback divider in increments of 1/63. Generates a fraction of the CLKFBOUT_MULT value and adds it to CLKFBOUT_MULT.
CLKFBOUT_MULT DECIMAL 10 to 400 42 Specifies the amount to multiply all CLKOUT clock outputs if a different frequency is desired. This number, in combination with the associated CLKOUT#_DIVIDE value and DIVCLK_DIVIDE value, will determine the output frequency.
CLKIN_PERIOD FLOAT(nS) 0.000 to 100.000 0.000 Specifies the input period in ns to the DLL CLKIN input.
CLKOUT0_DIVIDE DECIMAL 2 to 511 2 Specifies the amount to divide the CLKOUT0 output. This number in combination with the CLKFBOUT_MULT and DIVCLK_DIVIDE values will determine the output frequency.
CLKOUT0_PHASE 3 significant digit FLOAT -360.000 to 360.000 0.000 Specifies the phase offset in degrees of the CLKOUT0 output. In static phase shift mode, the minimum phase step resolution (degrees) = (360 / CLKOUT0_DIVIDE) / 8
CLKOUT0_PHASE_CTRL BINARY 2'b00 to 2'b11 2'b00 CLKOUT0 counter variable fine phase shift or deskew select
  • 00: Interpolator is not controlled by either deskew or phase shift interface.
  • 01: Interpolator is controlled by Deskew.
  • 10: Interpolator is controlled by phase shift interface.
Note: Other binary values are not valid.
CLKOUT1_DIVIDE DECIMAL 2 to 511 2 Specifies the amount to divide the CLKOUT1 output. This number in combination with the CLKFBOUT_MULT and DIVCLK_DIVIDE values will determine the output frequency.
CLKOUT1_PHASE 3 significant digit FLOAT -360.000 to 360.000 0.000 Specifies the phase offset in degrees of the CLKOUT1 output. In static phase shift mode, the minimum phase step resolution (degrees) = (360 / CLKOUT1_DIVIDE) / 8
CLKOUT1_PHASE_CTRL BINARY 2'b00 to 2'b11 2'b00
  • 00: Interpolator is not controlled by either deskew or phase shift interface.
  • 01: Interpolator is controlled by Deskew.
  • 10: Interpolator is controlled by phase shift interface.
Note: Other binary values are not valid.
CLKOUT2_DIVIDE DECIMAL 2 to 511 2 Specifies the amount to divide the CLKOUT2 output. This number in combination with the CLKFBOUT_MULT and DIVCLK_DIVIDE values will determine the output frequency.
CLKOUT2_PHASE 3 significant digit FLOAT -360.000 to 360.000 0.000 Specifies the phase offset in degrees of the CLKOUT2 output. In static phase shift mode, the minimum phase step resolution (degrees) = (360 / CLKOUT2_DIVIDE) / 8
CLKOUT2_PHASE_CTRL BINARY 2'b00 to 2'b11 2'b00
  • 00: Interpolator is not controlled by either deskew or phase shift interface.
  • 01: Interpolator is controlled by Deskew.
  • 10: Interpolator is controlled by phase shift interface.
Note: Other binary values are not valid.
CLKOUT3_DIVIDE DECIMAL 2 to 511 2 Specifies the amount to divide the CLKOUT3 output. This number in combination with the CLKFBOUT_MULT and DIVCLK_DIVIDE values will determine the output frequency.
CLKOUT3_PHASE 3 significant digit FLOAT -360.000 to 360.000 0.000 Specifies the phase offset in degrees of the CLKOUT3 output. In static phase shift mode, the minimum phase step resolution (degrees) = (360 / CLKOUT3_DIVIDE) / 8
CLKOUT3_PHASE_CTRL BINARY 2'b00 to 2'b11 2'b00
  • 00: Interpolator is not controlled by either deskew or phase shift interface.
  • 01: Interpolator is controlled by Deskew.
  • 10: Interpolator is controlled by phase shift interface.
Note: Other binary values are not valid.
DESKEW_DELAY DECIMAL 0 to 63 0 Value of the optional programmable delay in the deskew circuit.
DESKEW_DELAY_EN STRING "FALSE", "TRUE" "FALSE" Set to TRUE to enabled the optional programmable delay in the deskew circuit.
DESKEW_DELAY_PATH STRING "FALSE", "TRUE" "FALSE" Determines if the CLKIN_DESKEW path or the CLKFB_DESKEW path is selected for the optional programmable delay. TRUE = CLKFB_DESKEW, FALSE = CLKIN_DESKEW.
DIVCLK_DIVIDE DECIMAL 1 to 123 1 Specifies the division ratio for all output clocks with respect to the input clock. Effectively divides the CLKIN going into the PFD.
IS_CLKFB_DESKEW_INVERTED BINARY 1'b0 to 1'b1 1'b0 Specifies whether or not to use the optional inversion on the CLKFB_DESKEW pin.
IS_CLKIN_DESKEW_INVERTED BINARY 1'b0 to 1'b1 1'b0 Specifies whether or not to use the optional inversion on the CLKIN_DESKEW pin.
IS_CLKIN_INVERTED BINARY 1'b0 to 1'b1 1'b0 Specifies whether or not to use the optional inversion on the CLKIN pin.
IS_PSEN_INVERTED BINARY 1'b0 to 1'b1 1'b0 Specifies whether or not to use the optional inversion on the PSEN pin.
IS_PSINCDEC_INVERTED BINARY 1'b0 to 1'b1 1'b0 Specifies whether or not to use the optional inversion on the PSINCDEC pin.
IS_PWRDWN_INVERTED BINARY 1'b0 to 1'b1 1'b0 Specifies whether or not to use the optional inversion on the PWRDWN pin.
IS_RST_INVERTED BINARY 1'b0 to 1'b1 1'b0 Specifies whether or not to use the optional inversion on the RST pin.
LOCK_WAIT STRING "FALSE", "TRUE" "FALSE" Wait during the configuration for the startup for the DPLL to lock.
PERF_MODE STRING "LIMITED", "FULL" "LIMITED" Specifies DPLL performance mode. Must remain at the default setting ("LIMITED") where deskew mode is defeatured. All other values are reserved for AMD IP use only.
REF_JITTER 3 significant digit FLOAT 0.000 to 0.200 0.010 Allows the specification of the expected jitter on the reference clock to better optimize DPLL performance. If known, the value provided should be specified in terms of unit interval (UI) (the maximum peak-to-peak value) of the expected jitter on the input clock.
ZHOLD STRING "FALSE", "TRUE" "FALSE" Indicates the DPLL is configured to provide a negative hold time at the HDIO registers.

VHDL Instantiation Template

Unless they already exist, copy the following two statements and paste them before the entity declaration.
Library UNISIM;
use UNISIM.vcomponents.all;

Verilog Instantiation Template

Related Information

  • Versal Adaptive SoC Clocking Resources Architecture Manual (AM003)