- •Revision History
- •Table of Contents
- •About This Guide
- •Guide Contents
- •Additional Documentation
- •Additional Resources
- •Summary
- •Introduction
- •Clock Resources
- •Global Clocking Infrastructure
- •I/O Clocking Infrastructure
- •Spanning a Full Bank with a Single Global Clock Input With Two I/O Clocks
- •Clock Inputs
- •Clocking Structure Guidelines
- •SDR Data Rate (FD Register in IOB, No IOSERDES2)
- •DDR Data Rate (IDDR2, ODDR2, No IOSERDES2)
- •High-Speed IOSERDES2 Usage for Advanced Serialization
- •IOSERDES2 (SDR)
- •IOSERDES2 (DDR)
- •IOSERDES2 with PLL
- •Examples of High-Speed I/O Clock Network Connections
- •Clock Buffers and Multiplexers
- •Global Clock Input Buffer Primitives
- •Global Clock Buffer Primitives
- •BUFGMUX
- •BUFGMUX_1
- •BUFG
- •BUFGCE and BUFGCE_1
- •BUFH
- •Clock Buffers for the High-Speed I/O Clock Region
- •BUFIO2
- •BUFIO2_2CLK
- •BUFPLL
- •BUFPLL_MCB
- •BUFIO2FB
- •Clock Management Summary
- •DCM Summary
- •DCM Introduction
- •Compatibility and Comparison with Other Xilinx FPGA Families
- •DCM Functional Overview
- •Delay-Locked Loop
- •Skew Adjustment
- •Digital Frequency Synthesizer
- •Phase Shift
- •Fixed Phase Shift
- •Variable Phase Shift
- •Example 1
- •Example 2
- •Status Logic
- •DCM Primitives
- •DCM_SP Primitive
- •DCM_CLKGEN Primitive
- •DCM_SP Design Guidelines
- •Input Clock Frequency Range
- •Output Clock Frequency Range
- •Input Clock and Clock Feedback Variation
- •Cycle-to-Cycle Jitter
- •Period Jitter
- •DLL Feedback Delay Variance
- •Spread Spectrum Clock Reception
- •Optimal DCM Clock and External Feedback Inputs
- •LOCKED Output Behavior
- •Using the LOCKED Signal
- •RST Input Behavior
- •DCM_CLKGEN Design Guidelines
- •Dynamic Frequency Synthesis
- •Spread-Spectrum Clock Generation
- •Spread-Spectrum Generation
- •Fixed Spread Spectrum
- •Soft Spread Spectrum
- •Free-Running Oscillator
- •Introduction
- •Phase Lock Loop (PLL)
- •Aligning PLL using CLK_FEEDBACK and BUFIO2FB
- •General Usage Description
- •PLL Primitives
- •PLL_BASE Primitive
- •PLL_ADV Primitive
- •Clock Network Deskew
- •Frequency Synthesis Only
- •Jitter Filter
- •Limitations
- •VCO Operating Range
- •Minimum and Maximum Input Frequency
- •Duty Cycle Programmability
- •Phase Shift
- •PLL Programming
- •Determine the Input Frequency
- •Determine the M and D Values
- •PLL Ports
- •PLL Attributes
- •PLL Clock Input Signals
- •Counter Control
- •Clock Shifting
- •Detailed VCO and Output Counter Waveforms
- •Missing Input Clock or Feedback Clock
- •PLL Use Models
- •Clock Network Deskew
- •PLL with Internal Feedback
- •Zero Delay Buffer
- •Differential BUFIO2FB Zero Delay Buffer Example (Verilog)
- •Differential BUFIO2FB Zero Delay Buffer Example (VHDL)
- •DCM Driving PLL
- •PLL Driving DCM
- •PLL to PLL Connection
- •Dynamic Reconfiguration Port
- •Application Guidelines
- •PLL Application Example
Application Guidelines
IBUFG |
|
|
|
BUFG |
|
|
|
BUFG |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To Logic |
|
|
|
CLKIN1 |
CLKOUT0 |
|
|
|
|
|
CLKIN1 |
CLKOUT0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
CLKFBIN |
CLKOUT1 |
|
|
|
|
|
CLKFBIN |
CLKOUT1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
RST |
CLKOUT2 |
|
|
|
|
|
RST |
CLKOUT2 |
|
|
|
|
|
|
|
|
|
CLKOUT3 |
|
|
|
|
|
|
CLKOUT3 |
|
|
|
|
|
|
|
|
PLL |
CLKOUT4 |
|
|
|
|
|
PLL |
CLKOUT4 |
|
|
|
|
|
|
|
|
CLKOUT5 |
|
|
|
|
|
CLKOUT5 |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
CLKFBOUT |
|
|
|
|
|
CLKFBOUT |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
COMPENSATION = INTERNAL |
|
|
COMPENSATION = INTERNAL |
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ug382_c3_15_060710 |
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Figure 3-17: Cascading Two PLLs
Dynamic Reconfiguration Port
Details of the supported Spartan-6 FPGAs PLL DRP operations are described in
XAPP879, PLL Dynamic Reconfiguration.
Application Guidelines
This section summarizes when to select a DCM over a PLL, or a PLL over a DCM.
Spartan-6 FPGA PLLs support up to six independent outputs. Designs using several different outputs should use PLLs. An example of designs using several different outputs follows. The PLL is an ideal solution for this type of application because it can generate a configurable set of outputs over a wide range while the DCM has a fixed number of predetermined outputs based off the reference clock. When the application requires a fine phase shift or a dynamic variable phase shift, a DCM could be a better solution.
PLL Application Example
The following PLL attribute settings result in a wide variety of synthesized clocks:
CLKOUT0_PHASE = 0;
CLKOUT0_DUTY_CYCLE = 0.5;
CLKOUT0_DIVIDE = 2;
CLKOUT1_PHASE = 90;
CLKOUT1_DUTY_CYCLE = 0.5;
CLKOUT1_DIVIDE = 2;
CLKOUT2_PHASE = 0;
CLKOUT2_DUTY_CYCLE = 0.25;
CLKOUT2_DIVIDE = 4;
CLKOUT3_PHASE = 90;
CLKOUT3_DUTY_CYCLE = 0.5;
CLKOUT3_DIVIDE = 8;
CLKOUT4_PHASE = 0;
CLKOUT4_DUTY_CYCLE = 0.5;
CLKOUT4_DIVIDE = 8;
CLKOUT5_PHASE = 135;
CLKOUT5_DUTY_CYCLE = 0.5;
CLKOUT5_DIVIDE = 8;
CLKFBOUT_PHASE = 0;
CLKFBOUT_MULT = 8;
DIVCLK_DIVIDE = 1;
Spartan-6 FPGA Clocking Resources www.xilinx.com 115
UG382 (v1.10) June 19, 2015 |
Send Feedback |
|
Chapter 3: Phase-Locked Loops
CLKIN1_PERIOD = 10.0;
Figure 3-18 displays the resulting waveforms.
REFCLK
VCOCLK
CLKOUT0
CLKOUT1
CLKOUT2
CLKOUT3
CLKOUT4
CLKOUT5
UG382_c3_16_080309
Figure 3-18: Example Waveform
116 |
Send Feedback |
|
www.xilinx.com |
Spartan-6 FPGA Clocking Resources |
|
UG382 (v1.10) June 19, 2015 |
