Clock Wizard PDF
Clock Wizard PDF
1
LogiCORE IP Product Guide
Table of Contents
IP Facts
Chapter 1: Overview
About the Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recommended Design Experience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Feature Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Licensing and Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
6
7
7
8
16
16
16
17
20
22
44
45
46
www.xilinx.com
Send Feedback
Appendix B: Migrating
Migrating to the Vivado Design Suite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Differences between the Clocking Wizard and the Legacy DCM and PLL Wizards . . . . . . . . . . . . . 50
Upgrading in the Vivado Design Suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Appendix C: Debugging
Finding Help on Xilinx.com . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Debug Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Hardware Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
www.xilinx.com
Send Feedback
57
57
58
58
IP Facts
Introduction
Core Specifics
Supported
Device Family (1)
Supported User
Interfaces
AXI4-Lite
Resources
Special Features
Design Files
Example Design
Test Bench
Simulation
Model
Instantiation
Template
Supported
S/W Driver
Not Applicable
PLL(E2/E3), MMCM(E2/E3),
Spread Spectrum Clocking
Constraints File
Features
Support
Provided by Xilinx @ www.xilinx.com/support
Notes:
1. For a complete listing of supported devices, see the Vivado
IP Catalog.
www.xilinx.com
4
Product Specification
Send Feedback
IP Facts
Features (continued)
Automatically implements overall configuration that supports phase shift and duty cycle
requirements.
Supports Spread Spectrum clocking for MMCM(E2/E3) and allows users to select valid range of
modulation frequency, mode and input/output clocks.
Provides the ability to override the selected clock primitive and any calculated attribute.
Provides timing estimates for the clock circuit and Xilinx Power Estimator (XPE) parameters.
Provides a synthesizable example design including the clocking network and a simulation test
bench.
www.xilinx.com
5
Product Specification
Send Feedback
Chapter 1
Overview
This chapter introduces the Clocking Wizard core and provides related information,
including recommended design experience, additional resources, technical support, and
ways of submitting feedback to Xilinx. The Clocking Wizard core generates source Register
Transfer Level (RTL) code to implement a clocking network matched to your requirements.
Both Verilog and VHDL design environments are supported.
www.xilinx.com
Send Feedback
Chapter 1: Overview
Feature Summary
Clocking features include:
Frequency synthesis. This feature allows output clocks to have different frequencies
than the active input clock.
Spread Spectrum. This feature provides modulated output clocks which reduces the
spectral density of the electromagnetic interference (EMI) generated by electronic
devices. This feature is available for only MMCM(E2/E3)_ADV primitive. UNISIM
simulation support for this feature is not available in current release.
Phase alignment. This feature allows the output clock to be phase locked to a
reference, such as the input clock pin for a device.
Minimize power. This features minimizes the amount of power needed for the
primitive at the possible expense of frequency, phase offset, or duty cycle accuracy.
Dynamic phase shift. This feature allows you to change the phase relationship on the
output clocks.
Dynamic reconfiguration. This feature allows you to change the programming of the
primitive after device configuration. When this option is chosen, AXI4-Lite interface is
selected by default for reconfiguring clocking primitive.
Balanced. Selecting Balanced results in the software choosing the correct BANDWIDTH
for jitter optimization.
Minimize output jitter. This feature minimizes the jitter on the output clocks, but at
the expense of power and possibly output clock phase error. This feature is not
available with 'Maximize input jitter filtering'.
Maximize input jitter filtering. This feature allows for larger input jitter on the input
clocks, but can negatively impact the jitter on the output clocks. This feature is not
available with 'Minimize output jitter'.
Safe Clock Startup and Sequencing. This feature is useful to get stable and valid clock
at the output. It also enables Clocks in a particular sequence order as specified in the
configuration.
Applications
Creation of clock network having required frequency, phase and duty cycle with
reduced jitter
www.xilinx.com
Send Feedback
Chapter 1: Overview
www.xilinx.com
Send Feedback
Chapter 2
Product Specification
Clocking Wizard helps create the clocking circuit for the required output clock frequency,
phase and duty cycle using mixed-mode clock manager (MMCM)(E2/E3) or phase-locked
loop (PLL)(E2/E3) primitive. It also helps verify the output generated clock frequency in
simulation, providing a synthesizable example design which can be tested on the hardware.
It also supports Spread Spectrum feature which is helpful in reducing Electromagnetic
interference. Figure 2-1 shows a block diagram of the Clocking Wizard.
X-Ref Target - Figure 2-1
$EMONSTRATION 4EST "ENCH
%XAMPLE $ESIGN
0ROVIDED #LOCKING .ETWORK
/PTIONAL
#LOCK
'ENERATORS
)NPUT
#LOCKS
"UFS
&REQUENCY
#HECK
/PTIONAL &EEDBACK
/PTIONAL
#ONFIGURED
#LOCKING
0RIMITIVE
"UFS
/UTPUT
#LOCKS
#OUNTER
!RRAY
(IGH
"ITS
8
Figure 2-1:
www.xilinx.com
Send Feedback
Performance
Maximum Frequencies
Table 2-1 shows the maximum frequencies for Virtex-7 devices. The maximum
frequencies are same for MMCM and PLL.
Table 2-1:
Clock
Speed Grade
-1
-2
-3
Input
800 MHz
933 MHz
1066 MHz
Output
800 MHz
933 MHz
1066 MHz
S_AXI_ACLK
250 MHz
250 MHz
250 MHz
Clock
Speed Grade
-1
-2
-3
Input
10
10
10
Output
10
10
10
Clock
Speed Grade
-1
-2
-3
Input
19
19
19
Output
19
19
19
Power
Minimize power feature minimizes the amount of power needed for the primitive at the
possible expense of frequency, phase offset, or duty cycle accuracy.
Power Down input pin when asserted, places the clocking primitive into low power
state, which stops the output clocks.
www.xilinx.com
Send Feedback
10
Resource Utilization
Resource utilization is available in the Clocking Wizard GUI by clicking the Resource tab.
This does not include AXI4-Lite resources when Dynamic Reconfiguration is enabled. Refer
to Dynamic Reconfiguration through AXI4-Lite for more information.
X-Ref Target - Figure 2-2
Figure 2-2:
Resource Tab
Port Descriptions
Table 2-4 describes the input and output ports provided from the clocking network. All
ports are optional, with the exception being that at least one input and one output clock are
required. The options selected determine which ports are actually available to be
configured. For example, when Dynamic Reconfiguration is selected, these ports are
exposed. Any port that is not exposed is appropriately tied off or connected to a signal
labeled unused in the delivered source code.
www.xilinx.com
Send Feedback
11
Table 2-4:
I/O
Description
(1)
clk_in1
Input
clk_in1_p
Input
clk_in2 (2)
Input
clk_in2_p (2)
Input
clk_in_sel (2)
Input
clkfb_in
Input
clkfb_in_p
Input
clkfb_in_n
Input
clk_in1_n
clk_in2_n (2)
Output
clk_out1_ce
Input
clk_out1_clr
Input
clk_out2_n (3)
Output
www.xilinx.com
Send Feedback
12
I/O
Description
clk_out[2-n]_ce (3)
Input
clk_out[2-n]_clr (3)
Input
clkfb_out
Output
clkfb_out_p
Output
clkfb_out_n
Output
Input
dclk
Input
den
Input
di[15:0]
Input
do[15:0]
Output
drdy
Output
dwe
Input
Input
psen
Input
psincdec
Input
www.xilinx.com
Send Feedback
13
psdone
I/O
Description
Output
Input
power_down
Input
input_clk_ stopped
Output
locked
Output
cddcreq (6)
cddcdone (6)
Input
Output
s_axi_aclk
Input
AXI Clock
s_axi_aresetn
Input
Input
Input
Output
s_axi_awaddr[10:0]
s_axi_awvalid
s_axi_awready
s_axi_wdata[31:0]
s_axi_wstb[3:0]
s_axi_wvalid
s_axi_wready
Input
Write data
Input
Input
Output
Output
s_axi_bresp[1:0]
www.xilinx.com
Send Feedback
14
s_axi_bvalid
s_axi_bready
s_axi_araddr[10:0]
I/O
Output
s_axi_rdata[31:0]
Input
Input
Output
Output
Read data
Output
Output
s_axi_rresp[1:0]
s_axi_rvalid
s_axi_rready
s_axis_aclk
Input
s_axi_arvalid
s_axi_arready
Description
Input
Input
Notes:
1. At least one input clock is required; any design has at least a clk_in1 or a clk_in1_p/clk_in1_n port.
2. Not available when primitive chosen is UltraScale PLL or Spread Spectrum is selected for MMCM.
3. The clk_out3 and clk_out4 ports are not available when Spread Spectrum is selected.
4. Exposure of every status and control port is individually selectable.
5. This version of clocking wizard supports naming of ports as per requirements. The list mentioned in Table 2-4 is the default
port list.
6. Ports used for dynamic change of output counter without reset. Available only in MMCME3 primitive.
www.xilinx.com
Send Feedback
15
Chapter 3
Provide the available input clock information for Frequency and Jitter.
If the same input clock is used by other logic in the design then provide No buffer (if
the input clock is output of global buffer), or global buffer option for source type. If the
input clock is used only by core, provide clock-capable pin as source type.
Clocking
Up to seven output clocks with different frequencies can be generated for required circuitry.
Resets
Clocking Wizard has active high Asynchronous reset signal for clocking primitive.
When the input clock or feedback clock is lost, the clkinstopped or clkfbstopped
status signal is asserted. After the clock returns, the clkinstopped signal is
unasserted and a reset must be applied.
www.xilinx.com
Send Feedback
16
Functional Overview
The Clocking Wizard is an interactive Graphical User Interface (GUI) that creates a clocking
network based on design-specific needs. The required clock network parameters are
organized in a linear sequence so that you can select only the desired parameters. Using the
wizard, experienced users can explicitly configure their chosen clocking primitive, while less
experienced users can let the wizard automatically determine the optimal primitive and
configuration - based on the features required for their individual clocking networks.
If you are already familiar with the Digital Clock Manager (DCM) and Phase-Locked Loop
(PLL) wizards, refer to Appendix B, Migrating for information on usage differences.
Clocking Features
Major clocking-related functional features desired and specified can be used by the wizard
to select an appropriate primitive. Incompatible features are automatically dimmed out to
help the designer evaluate feature trade-offs.
Clocking features include
Frequency synthesis
Phase alignment
Spread Spectrum
Minimization of power
Dynamic reconfiguration
Input Clocks
One input clock is the default behavior, but two input clocks can be chosen by selecting a
secondary clock source. Only the timing parameters of the input clocks in their specified
units is required; the wizard uses these parameters as needed to configure the output
clocks.
www.xilinx.com
Send Feedback
17
Output Clocks
The number of output clocks is user-configurable. The maximum number allowed depends
upon the selected device or primitive and the interaction of the major clocking features you
specify. For MMCM(E2/E3) maximum seven, PLLE2 maximum six and PLLE3 maximum two
output clocks can be configured. Input the desired timing parameters (frequency, phase,
and duty cycle) and let the clocking wizard select and configure the clocking primitive and
network automatically to comply with the requested characteristics. If it is not possible to
comply exactly with the requested parameter settings due to the number of available input
clocks, best-attempt settings are provided. When this is the case, the clocks are ordered so
that clk_out1 is the highest-priority clock and is most likely to comply with the requested
timing parameters. The wizard prompts you for frequency parameter settings before the
phase and duty cycle settings.
TIP: The port names in the generated circuit can differ from the port names used on the original
primitive.
Optional Ports
All primitive ports are available for user-configuration. You can expose any of the ports on
the clocking primitive, and these are provided as well in the source code.
Primitive Override
All configuration parameters are also user-configurable. In addition, should a provided
value be undesirable, any of the calculated parameters can be overridden with the desired
settings.
www.xilinx.com
Send Feedback
18
Summary
The Clocking Wizard provides a summary for the created network. Input and output clock
settings are provided both visually and as constraint files. In addition, jitter numbers for the
created network are provided along with a resource estimate. Lastly, the wizard provides the
input setting for PLL and MMCM based designs for Xilinx Power Estimator (XPE) in an
easy-to-use table.
Design Environment
Figure 3-1 shows the design environment provided by the wizard to assist in integrating the
generated clocking network into a design. The wizard provides a synthesizable and
downloadable example design to demonstrate how to use the network and allows you to
place a very simple clocking network in your device. A sample simulation test bench, which
simulates the example design and illustrates output clock waveforms with respect to input
clock waveforms, is also provided.
$EMONSTRATION 4EST "ENCH
%XAMPLE $ESIGN
0ROVIDED #LOCKING .ETWORK
/PTIONAL
#LOCK
'ENERATORS
)NPUT
#LOCKS
"UFS
&REQUENCY
#HECK
/PTIONAL &EEDBACK
/PTIONAL
#ONFIGURED
#LOCKING
0RIMITIVE
"UFS
/UTPUT
#LOCKS
#OUNTER
!RRAY
(IGH
"ITS
8
Figure 3-1:
www.xilinx.com
Send Feedback
19
Core Architecture
The Clocking Wizard generates source code HDL to implement a clocking network. The
generated clocking network typically consists of a clocking primitive (MMCM(E2/E3)_ADV
or PLL(E2/E3)_ADV) plus some additional circuitry which typically includes buffers and
clock pins. The network is divided into segments as illustrated in Figure 3-2. Details of these
segments are described in the following sections.
X-Ref Target - Figure 3-2
0ROVIDED #LOCKING .ETWORK
/PTIONAL FEEDBACK
)NPUT
#LOCKS
#ONFIGURED
#LOCKING
0RIMITIVE
/PT
"UFS
/PT
"UFS
/UTPUT
#LOCKS
8
Figure 3-2:
Input Clocks
Up to two input clocks are available for the clocking network. Buffers are optionally inserted
on the input clock paths based on the buffer type that is selected.
Primitive Instantiation
The primitive, either user or wizard selected, is instantiated into the network. Parameters on
primitives are set by the wizard, and can be overridden by you. Unused input ports are tied
to the appropriate values. Unused output ports are labeled as such.
Feedback
If phase alignment is not selected, the feedback output port on the primitive is
automatically tied to the feedback input port. If phase alignment with automatic feedback
is selected, the connection is made, but the path delay is matched to that of clk_out1. If
user-controlled feedback is selected, the feedback ports are exposed.
Output Clocks
Buffers that are user-selected are added to the output clock path, and these clocks are
provided.
www.xilinx.com
Send Feedback
20
I/O Signals
All ports are optional, with the exception that at least one input and one output clock are
required. Availability of ports is controlled by user-selected parameters. For example, when
Dynamic Reconfiguration is selected, only those ports related to Dynamic Reconfiguration
are exposed. Any port that is not exposed is either tied off or connected to a signal labeled
unused in the delivered source code.
IMPORTANT: Not all ports are available for all devices or primitives; for example, Dynamic Phase Shift
www.xilinx.com
Send Feedback
21
Chapter 4
Vivado Design Suite User Guide: Designing IP Subsystems using IP Integrator (UG994)
[Ref 7]
www.xilinx.com
Send Feedback
22
Clocking Features
The first page of the GUI (Figure 4-1, Figure 4-2) allows you to identify the required
features of the clocking network and configure the input clocks.
X-Ref Target - Figure 4-1
Figure 4-1:
www.xilinx.com
Send Feedback
23
Figure 4-2:
Frequency synthesis. This feature allows output clocks to have different frequencies
than the active input clock.
Spread Spectrum (SS). This feature provides modulated output clocks which reduces
the spectral density of the electromagnetic interference (EMI) generated by electronic
devices. This feature is available only for MMCM(E2/E3) primitive. Minimize power,
Dynamic Reconfig features are not available when Spread Spectrum is TRUE.
Phase alignment. This feature allows the output clock to be phase locked to a
reference, such as the input clock pin for a device.
www.xilinx.com
Send Feedback
24
Minimize power. This features minimizes the amount of power needed for the
primitive at the possible expense of frequency, phase offset, or duty cycle accuracy. This
feature is not available when Spread Spectrum feature is selected.
Dynamic phase shift. This feature allows you to change the phase relationship on the
output clocks. This feature is not available when Spread Spectrum feature is selected.
Dynamic reconfiguration. This feature allows you to change the programming of the
primitive after device configuration. When this option is chosen, AXI4-Lite interface is
selected by default for reconfiguring clocking primitive. DRP interface can be selected
if direct access to MMCM/PLL DRP register is required. Refer to Dynamic
Reconfiguration through AXI4-Lite for more information.
Balanced. Selecting Balanced results in the software choosing the correct BANDWIDTH
for jitter optimization.
Minimize output jitter. This feature minimizes the jitter on the output clocks, but at
the expense of power and possibly output clock phase error. This feature is not
available with 'Maximize input jitter filtering'.
Maximize input jitter filtering. This feature allows for larger input jitter on the input
clocks, but can negatively impact the jitter on the output clocks. This feature is not
available with 'Minimize output jitter'.
Safe Clock Startup and Sequencing. Safe Clock Startup feature enables stable and
valid clock at the output using BUFGCE after Locked is sampled High for 8 input clocks.
Sequencing feature enables Clocks in a sequence according to the number entered
through GUI. Delay between two enabled output clocks in sequence is 8 cycle of
second clock in the sequence clock. This feature is useful for a system where modules
need to be start operating one after the other.
25 150 MHz
Enter the frequency and peak-to-peak period (cycle) jitter for the input clocks. The wizard
then uses this information to create the clocking network. Additionally, a XDC (Xilinx Design
Constraints file) is created using the values entered. For the best calculated clocking
www.xilinx.com
Send Feedback
25
Figure 4-3:
www.xilinx.com
Send Feedback
26
www.xilinx.com
Send Feedback
27
Figure 4-4:
Output Clocks with Safe Clock Start Up and Clock Sequencing for 7 Series MMCM
You can configure the sequence number from 1 to the maximum number of clocks selected.
Clocking Wizard does not allow any break in the sequence from one to maximum in the
table. Clock Frequency of the output clock in Sequence should not be more than eight times
of the output clock next in sequence.
For details of the clocking behavior in this mode, refer to Figure 4-5 and Figure 4-6.
www.xilinx.com
Send Feedback
28
%8)*&(
%8)*&(
$&/.
'
/2&.
'
%8)+
%LW6KLIW5HJ
%8)+
%LW6KLIW5HJ
&/.287
%&/.
,1,7
,1,7
&/.287
00&0
;
Figure 4-5:
%8)*&(
%8)*&(
$&/.
'
/2&.
'
%LW6KLIW5HJ
&/.287
%8)+
%&/.
%LW6KLIW5HJ
%8)+
,1,7
,1,7
&/.287
00&0
;
Figure 4-6:
When Spread Spectrum (SS) is selected, CLK_OUT<3> and CLK_OUT<4> are not available.
Divide values of these outputs are used for SS modulation frequency generation.
www.xilinx.com
Send Feedback
29
Figure 4-7:
DOWN_LOW
DOWN_HIGH
CENTER_LOW
CENTER_HIGH
www.xilinx.com
Send Feedback
30
&REQUENCY
#ENTER 3PREAD
!VERAGE
&REQUENCY
3PREAD
-ODULATION &REQUENCY +
+
4IME
8
Figure 4-8:
&REQUENCY
$OWN 3PREAD
!VERAGE
&REQUENCY
3PREAD
-ODULATION &REQUENCY +
+
4IME
8
Figure 4-9:
www.xilinx.com
Send Feedback
31
IMPORTANT: Actual modulation frequency may deviate within +/- 10% of the requested modulation
Reset Type
You can select Reset Type as Active High or Active Low when RESET is enabled. Default
value is Active High.
RECOMMENDED: Xilinx recommends using the Active High reset in the design.
Choosing Feedback
Feedback selection is only available when phase alignment is selected. When phase
alignment is not selected, the output feedback is directly connected to the input feedback.
For designs with phase alignment, choose automatic control on-chip if you want the
feedback path to match the insertion delay for CLK_OUT1. You can also select
user-controlled feedback if the feedback is in external code. If the path is completely on the
www.xilinx.com
Send Feedback
32
Primitive Overrides
One or more pages of device and primitive specific parameter overrides are displayed.
the wizard implements what you have chosen even if it causes issues with the generated network.
Parameters listed are relevant for the physical clocks on the primitive, rather than the
logical clocks created in the source code. For example, to modify the settings calculated for
the highest priority CLK_OUT1, you actually need to modify CLKOUT0* parameters, and not
the CLKOUT1* parameters for a MMCME2 or PLLE2.
The generated source code contains the input and output clock summaries shown in the
next summary page, as shown in Figure 4-10.
www.xilinx.com
Send Feedback
33
Figure 4-10:
www.xilinx.com
Send Feedback
34
Figure 4-11:
Port Renaming
The first summary page (Figure 4-13) displays summary information about the input and
output clocks. This information is also provided as comments in the generated source code,
and in the provided XDC.
www.xilinx.com
Send Feedback
35
Figure 4-12:
www.xilinx.com
Send Feedback
36
Figure 4-13:
Port Names
The Wizard allows you to name the ports according to their needs. If you want to name the
HDL port for primary clock input, simply type in the port name in the adjacent text box. The
text boxes contain the default names. In the case of Primary clock input, the default name
is CLK_IN1.
www.xilinx.com
Send Feedback
37
name entered is any reserved word of VHDL or Verilog or if that signal is already declared in the
module.
Summary
The summary page (Figure 4-14) contains general summary information.
X-Ref Target - Figure 4-14
Figure 4-14:
Summary Screen
www.xilinx.com
Send Feedback
38
Slice LUTs
1071
15323
Slice Registers
1426
1504
DSPs
38
Table 2-2 provides details of the signals of AXI4-Lite and Table 4-2 provides details of the
clock configuration registers.
The Clocking Wizard core uses a configuration state machine listed in MMCM and PLL
Dynamic Reconfiguration [Ref 6] and extends from two fixed state configuration to program
any valid range of Multiply, Divide, Phase and Duty Cycle. In this state machine, State 1
corresponds to default state configured through Clocking Wizard interface. State 2
corresponds to user-configuration loaded into the clock configuration register detailed in
Table 4-2. State 2 values are also initialized with the State 1 values so that a valid
configuration is stored by default. You should update only those registers which are
required to change the output clock behavior.
You should first write all the required clock configuration registers and then check for the
status register. If status register value is 0x1, start the reconfiguration by writing Clock
Configuration Register 23 with 0x7. The next write should be 0x2 before the Locked goes
High. If the original configuration is needed at any time, then writing this register with value
0x4 and then 0x0 restores the original settings.
Before writing into C_BASEADDR + 0x200 register detailed in table 4-2, please make sure
that these values result in a valid VCO frequency range of MMCM/PLL which is calculated
using the equation:
VCO Frequency = (Input Clock Frequency) * (CLKFBOUT_MULT)/DIVCLK_DIVIDE
For details on the VCO range, refer to the DC and Switching Characteristics section of the
applicable device data sheet.
www.xilinx.com
Send Feedback
39
00&03//
'&/.
567
6RIWZDUH5HVHW
5HJLVWHU
'2>@
$;,/LWH
,QWHUIDFH
0PFPSOOBGUS
'DWD &RQWURO
5HJLVWHUV5:
',>@
'$''5>@
'(1
':(
'5'<
6WDWXV5HJLVWHU
/2&.('
;
Figure 4-15:
Table 4-2:
Register
Name
Reset
Value
(hex)
Access
Type
C_BASEADDR + 0x00
Software Reset
Register (SRR)
N/A
W(1)
C_BASEADDR + 0x04
Status Register
(SR)
0x00000000
C_BASEADDR + 0x200
Clock
Configuration
Register 0
Default(2) :
0x01010A00
R/W
Description
Software Reset Register
To activate software reset, the value
0x0000_000A must be written to the
register. Any other access, read or write,
has undefined results.
Status Register
Bit[0] = Locked
When 1 MMCM/PLL is Locked and ready
for the reconfiguration. Status of this bit is
0 during the reconfiguration.
Bit[7:0] = DIVCLK_DIVIDE
Eight bit divide value applied to all output
clocks.
Bit[15:8] = CLKFBOUT_MULT
Integer part of multiplier value i.e. For 8.125,
this value is 8 = 0x8.
Bit[25:16] = CLKFBOUT_FRAC Multiply(3)
Fractional part of multiplier value i.e. For
8.125, this value is 125 = 0x7D.
Bit[26] = CLKFBOUT_FRAC_EN (3)
This bit should be set to 1 for Fractional
multiplication.
Setting this bit to 0 uses the default
configuration.
The value of CLKFBOUT fractional divide
can be from 0 to 875 representing the
factional multiplied by 1000.
www.xilinx.com
Send Feedback
40
Register
Name
Reset
Value
(hex)
Access
Type
Description
C_BASEADDR + 0x204
Clock
Configuration
Register 1
Default(2) :
0x00000000
R/W
Bit[31:0] = CLKFBOUT_PHASE
Phase values entered are Signed Number
for +/- phase.
C_BASEADDR + 0x208
Clock
Configuration
Register 2
Default(2) :
0x0004000a
R/W
Bit[7:0] = CLKOUT0_DIVIDE
Integer part of clkout0 divide value
For example, for 2.250, this value is 2 = 0x2
0xFA
Bit[18] = CLKOUT0_FRAC_EN (3)
This bit should be set to 1 for Fractional
division
C_BASEADDR + 0x20C
Clock
Configuration
Register 3
Default(2) :
0x00000000
R/W
Bit[31:0] = CLKOUT0_PHASE(5)
C_BASEADDR + 0x210
Clock
Configuration
Register 4
Default(2) :
0x0000C350
R/W
Bit[31:0] = CLKOUT0_DUTY
Duty cycle value = (Duty Cycle in %) * 1000
For example, for 50% duty cycle, value is
50000 = 0xC350
C_BASEADDR + 0x214
Clock
Configuration
Register 5
Default(2) :
0x0000000A
R/W
Bit[7:0] = CLKOUT1_DIVIDE(4)
Eight bit clkout1 divide value
C_BASEADDR + 0x218
Clock
Configuration
Register 6
Default(2) :
0x00000000
R/W
Bit[31:0] = CLKOUT1_PHASE(5)
Phase values entered are Signed Number
for +/- phase
C_BASEADDR + 0x21C
Clock
Configuration
Register 7
Default(2) :
0x0000C350
R/W
Bit[31:0] = CLKOUT1_DUTY(6)
C_BASEADDR + 0x220
Clock
Configuration
Register 8
Default(2) :
0x0000000A
R/W
Bit[7:0] = CLKOUT2_DIVIDE(4)
C_BASEADDR + 0x224
Clock
Configuration
Register 9
Default(2) :
0x00000000
R/W
Bit[31:0] = CLKOUT2_PHASE(5)
C_BASEADDR + 0x228
Clock
Configuration
Register 10
Default(2) :
0x0000C350
R/W
Bit[31:0] = CLKOUT2_DUTY(6)
C_BASEADDR + 0x22C
Clock
Configuration
Register 11
Default(2) :
0x0000000A
R/W
Bit[7:0] = CLKOUT3_DIVIDE(4)
www.xilinx.com
Send Feedback
41
Register
Name
Reset
Value
(hex)
Access
Type
Description
C_BASEADDR + 0x230
Clock
Configuration
Register 12
Default(2) :
0x00000000
R/W
Bit[31:0] = CLKOUT3_PHASE(5)
C_BASEADDR + 0x234
Clock
Configuration
Register 13
Default(2) :
0x0000C350
R/W
Bit[31:0] = CLKOUT3_DUTY(6)
C_BASEADDR + 0x238
Clock
Configuration
Register 14
Default(2) :
0x0000000A
R/W
Bit[7:0] = CLKOUT4_DIVIDE(4)
C_BASEADDR + 0x23C
Clock
Configuration
Register 15
Default(2) :
0x00000000
R/W
Bit[31:0] = CLKOUT4_PHASE(5)
C_BASEADDR + 0x240
Clock
Configuration
Register 16
Default(2) :
0x0000C350
R/W
Bit[31:0] = CLKOUT4_DUTY(6)
C_BASEADDR + 0x244
Clock
Configuration
Register 17
Default(2) :
0x0000000A
R/W
Bit[7:0] = CLKOUT5_DIVIDE(4)
C_BASEADDR + 0x248
Clock
Configuration
Register 18
Default(2) :
0x00000000
R/W
Bit[31:0] = CLKOUT5_PHASE(5)
C_BASEADDR + 0x24C
Clock
Configuration
Register 19
Default(2) :
0x0000C350
R/W
Bit[31:0] = CLKOUT5_DUTY(6)
Clock
Configuration
Register 20
Default(2) :
0x0000000A
R/W
Bit[7:0] = CLKOUT6_DIVIDE(4)
Clock
Configuration
Register 21
Default(2) :
0x00000000
R/W
Bit[31:0] = CLKOUT6_PHASE(5)
Clock
Configuration
Register 22
Default(2) :
0x0000C350
R/W
Bit[31:0] = CLKOUT6_DUTY(6)
www.xilinx.com
Send Feedback
42
C_BASEADDR + 0x260 to
C_BASEADDR + 0x7FC
Reset
Value
(hex)
Access
Type
Clock
Configuration
Register 23
0x00000000
R/W
Undefined
Undefined
Register
Name
Description
Bit[0] = LOAD
Loads Clock Configuration Register values to
www.xilinx.com
Send Feedback
43
Output Generation
For details, see Generating IP Output Products in the Vivado Design Suite User Guide:
Designing with IP (UG896) [Ref 2].
The core level XDC has early processing order so core level XDC constraints are applied first
and then are overridden by the user-provided constraints.
Clock Frequencies
See Maximum Frequencies in Chapter 2
www.xilinx.com
Send Feedback
44
Clock Management
The core can generate a maximum of seven output clocks with different frequencies.
Clock Placement
No clock placement constraint is provided.
Banking
Bank selection is not provided in xdc file.
Simulation
For comprehensive information about Vivado simulation components, as well as
information about using supported third party tools, see the Vivado Design Suite User
Guide: Logic Simulation (UG900) [Ref 5].
You can simulate the example design using the open_example_project flow in Vivado
design tools.
If you open an example project, then the simulation scripts are generated in the working
directory in:
example_project/<component_name>_example/<component_name>_example.sim/sim_1/
You can run fast simulation using unifast_ver or unifast libraries of MMCME2_ADV and
PLLE2_ADV. This improves simulation runtime by 100X.
Figure 4-16:
www.xilinx.com
Send Feedback
45
Figure 4-17:
Simulation when Safe Clock Startup is true and Use Clock Sequencing is true
www.xilinx.com
Send Feedback
46
Chapter 5
Example Design
The following files describe the example design for the Clocking Wizard core.
VHDL
<project_name>/<project_name>.srcs/sources_1/ip/<component_name>/example_design/
<component_name>_exdes.vhd
Verilog
<project_name>/<project_name>.srcs/sources_1/ip/<component_name>/example_design/
<component_name>_exdes.v
The top-level example designs adds clock buffers where appropriate to all of the input and
output clocks. All generated clocks drive counters, and the high bits of each of the counters
are routed to a pin. This allows the entire design to be synthesized and implemented in a
target device to provide post place-and-route gate-level simulation.
www.xilinx.com
Send Feedback
47
Chapter 6
Test Bench
This chapter contains information about the provided test bench in the Vivado Design
Suite environment.
The following files describe the demonstration test bench.
VHDL
<project_name>/<project_name>.srcs/sources_1/ip/<component_name>/simulation/
<component_name>_tb.vhd
Verilog
<project_name>/<project_name>.srcs/sources_1/ip/<component_name>/simulation/
<component_name>_tb.v
The demonstration test bench is a simple VHDL or Verilog program to exercise the example
design and the core. It does Frequency calculation and check of all the output clocks. It
reports all the output clock frequency and if any of the output clocks is not generating the
required frequency then it reports ERROR.
www.xilinx.com
Send Feedback
48
Appendix A
Hardware Testing
Hardware testing is performed for all the features on Kintex-7 KC705 Evaluation Kit using
the provided example design.
www.xilinx.com
Send Feedback
49
Appendix B
Migrating
This information is provided to assist those designers who are experienced with the DCM
and PLL Architecture Wizards. It highlights the differences between the old and new cores.
Primitive Selection
The old wizard required you to choose the correct GUI (DCM or PLL) before configuring the
desired primitive.
The new wizard automatically selects the appropriate primitive and configures it based on
desired parameters. You can choose to override this choice in the event that multiple
primitives are available, as is the case for the Spartan-6 device family.
www.xilinx.com
Send Feedback
50
Appendix B: Migrating
Parameter Override
The new wizard allows you to override any calculated parameter within the wizard by
switching to override mode.
desired.
www.xilinx.com
Send Feedback
51
Appendix B: Migrating
Parameter Changes
Added the INTERFACE_SELECTION parameter in the IDE for selecting the AXI4-Lite, DRP
or None for DRP register access.
CLKOUT<1-7>_JITTER parameter added to query the Peak to Peak Jitter on the output
clocks
CLKOUT<1-7>_PHASE_ERROR parameter added to query the phase error on the output clock.
Port Changes
Added optional AXI4-Lite ports (s_axi_*). See Table 2-4.
Other Changes
Improved safe clock logic to remove glitches on clock outputs for odd multiples of input
clock frequencies.
Xilinx does not recommend to upgrading the Clocking Wizard IP that has been targeted on
a board to a device part. For assistance, contact Xilinx Support.
www.xilinx.com
Send Feedback
52
Appendix C
Debugging
This appendix includes details about resources available on the Xilinx Support website and
debugging tools.
Documentation
This product guide is the main document associated with the Clocking Wizard core. This
guide, along with documentation related to all products that aid in the design process, can
be found on the Xilinx Support web page (www.xilinx.com/support) or by using the Xilinx
Documentation Navigator.
Download the Xilinx Documentation Navigator from the Design Tools tab on the Downloads
page (www.xilinx.com/download). For more information about this tool and the features
available, open the online help after installation.
Solution Centers
See the Xilinx Solution Centers for support on devices, software tools, and intellectual
property at all stages of the design cycle. Topics include design assistance, advisories, and
troubleshooting tips.
Answer Records
Answer Records include information about commonly encountered problems, helpful
information on how to resolve these problems, and any known issues with a Xilinx product.
Answer Records are created and maintained daily ensuring that users have access to the
most accurate information available.
www.xilinx.com
Send Feedback
53
Appendix C: Debugging
Answer Records for this core are listed below, and can also be located by using the Search
Support box on the main Xilinx support web page. To maximize your search results, use
proper keywords such as
Product name
Tool message(s)
A filter search is available after results are returned to further target the results.
Answer Records for the Clocking Wizard core
AR 54102
http://www.xilinx.com/support/answers/54102.htm
Additional files based on the specific issue might also be required. See the relevant
sections in this debug guide for guidelines about which file(s) to include with the
WebCase.
Note: Access to WebCase is not available in all cases. Please login to the WebCase tool to see your
specific support options.
www.xilinx.com
Send Feedback
54
Appendix C: Debugging
Debug Tools
There are many tools available to address Clocking Wizard core design issues. It is important
to know which tools are useful for debugging various situations.
See Vivado Design Suite User Guide: Programming and Debugging (UG908) [Ref 3].
www.xilinx.com
Send Feedback
55
Appendix C: Debugging
Hardware Debug
Hardware issues can range from link bring-up to problems seen after hours of testing. This
section provides debug steps for common issues. The ChipScope debugging tool is a
valuable resource to use in hardware debug. The signal names mentioned in the following
individual sections can be probed using the ChipScope debugging tool for debugging the
specific problems.
General Checks
Ensure that all the timing constraints for the core were properly incorporated from the
example design and that all constraints were met during implementation.
Does it work in post-place and route timing simulation? If problems are seen in
hardware but not in timing simulation, this could indicate a PCB issue. Ensure that all
clock sources are active and clean.
If using MMCMs in the design, ensure that all MMCMs have obtained lock by
monitoring the LOCKED port.
www.xilinx.com
Send Feedback
56
Appendix D
References
These documents provide supplemental material useful with this user guide:
1. ISE to Vivado Design Suite Migration Guide (UG911)
2. Vivado Design Suite User Guide: Designing with IP (UG896)
3. Vivado Design Suite User Guide: Programming and Debugging (UG908).
4. Vivado Design Suite User Guide: Getting Started (UG910)
5. Vivado Design Suite User Guide: Logic Simulation (UG900)
6. MMCM and PLL Dynamic Reconfiguration (XAPP888)
7. Vivado Design Suite User Guide: Designing IP Subsystems Using IP Integrator (UG994)
8. UltraScale Architecture Clocking Resources User Guide (UG572)
9. 7 Series FPGAs Clocking Resources User Guide (UG472)
www.xilinx.com
Send Feedback
57
Revision History
The following table shows the revision history for this document.
Date
Version
Revision
04/01/2015
5.1
Added the Minimum Input frequencies for MMCM and PLL for Virtex-7
devices.
Added an example describing the reference steps when using the AXI
Interface for using the dynamic reconfiguration interface.
10/01/2014
5.1
10/01/2014
5.1
04/02/2014
5.1
12/18/2013
5.1
10/02/2013
5.1
Updated for to synch doc version with core version. Added Migration
information.
03/20/2013
1.3
Updated for core version, added XCI parameters and Safe Clock Startup
diagrams and waveforms.
12/18/2012
1.2
Updated for core version, Active Low RESET support, and Vivado GUI screens.
10/16/2012
1.1
07/25/2012
1.0
www.xilinx.com
Send Feedback
58