Ug472 7series Clocking
Ug472 7series Clocking
Ug472 7series Clocking
Clocking Resources
User Guide
7 Series FPGAs Clocking Resources User Guide www.xilinx.com UG472 (v1.12) September 27, 2016
Revision History
The following table shows the revision history for this document.
.
UG472 (v1.12) September 27, 2016 www.xilinx.com 7 Series FPGAs Clocking Resources User Guide
Date Version Revision
02/16/2012 1.4 In introductory paragraph of High-Performance Clocks, removed description of HPCs
(Contd) connecting to OSERDES and buffers. Replaced cross reference to UG429, 7 Series FPGAs
Migration Methodology Guide, with UG872, Large FPGA Methodology Guide. Updated
Stacked Silicon Interconnect Clocking. Replaced SRL with SLR in Figure 2-29. Added
Figure 2-31.
Removed hold block from Figure 3-2. Updated clock frequencies in Frequency Synthesis
Only Using Integer Divide. Replaced 64 with 63 in Equation 3-4. Updated Interpolated
Fine Phase Shift in Fixed or Dynamic Mode in the MMCM. Updated pin description of
LOCKED in Table 3-5. Updated LOCKED. In Table 3-7, updated type and allowed
values of CLKOUT[0]_DIVIDE_F and CLKFBOUT_MULT_F, and description of
STARTUP_WAIT and COMPENSATION. In Table 3-8, added STARTUP_WAIT and
updated description of COMPENSATION. Replaced GTX with GT in Figure 3-10.
Updated Dynamic Reconfiguration Port.
Added Appendix B, Clocking Resources and Connectivity Variations per Clock Region.
07/13/2012 1.5 Updated paragraph after Figure 1-4. Added bullet about spread spectrum support to
Key Differences from Virtex-6 FPGAs. Updated BUFG and BUFH pins, and removed
IBUFDS_GTE2.O/IBUFDS_GTE2.ODIV2 pin from Table 1-1. Updated Table 1-2.
Updated note 5 in Table 2-1. Added Figure 2-29.
Updated last sentence of Introduction. Updated DO[15:0] Dynamic Reconfiguration
Output Bus. Added SS_EN, SS_MODE, and SS_MOD_PERIOD to Table 3-7. Added
Spread-Spectrum Clock Generation.
10/02/2012 1.6 Added note to Table 1-1. Removed XC7A350T and XC7V1500T from Table 1-2.
Updated first paragraph of Single Clock Driving Multiple CMTs. Added notes 5 and 8 to
Table 2-1. Updated paragraph after Table 2-10.
Added Table 3-9 and timing constraint calculations for 25 MHz and 80 MHz input
clocks. In Table 3-10, changed Bandwidth value from N/A to Low, and removed
duplicate paragraph after table.
Removed XC7A350T from title of Figure B-4.
04/03/2013 1.7 Updated Figure 1-3, Figure B-2, and Figure B-3. Added BUFMR to Table 1-1. Updated
second paragraph in Dynamic Phase Shift Interface in the MMCM. Added note to
Table 2-7.
08/07/2013 1.8 Updated Table 1-2 and Table 3-7. Updated the figure titles for Figure B-2 and Figure B-3.
Updated Clock Buffer Placement.
04/08/2014 1.9 Updated Clock-Capable Inputs and Dynamic Phase Shift Interface in the MMCM.
Updated allowed values and the default value for CLKFBOUT_MULT in Table 3-8.
05/24/2014 1.10 Changed the value of minimum clock regions from six to four in Clocking Architecture
Overview. Added information to MGTREFCLK0 in Table 1-1. Added section on GTZ
Loopback Clock Buffer BUFG_LB (HT devices only) to Chapter 2. Changed
description of REF_JITTER1 and REF_JITTER2 in Table 3-7 and Table 3-8. Updated first
paragraph in Use Cases.
11/19/2014 1.11 Removed general interconnect from this bulleted list on page 47. Updated the figure
titles for Figure B-2 and Figure B-3.
03/04/2015 1.11.1 Updated Frequency Synthesis Using Fractional Divide in the MMCM, page 71 by
changing 0.125 degrees to 0.125.
06/12/2015 1.11.2 Fixed broken link in three references to 7 Series FPGA Data Sheets on page 71 and page 72.
09/27/2016 1.12 Added the Spartan-7 FPGAs and the Artix-7 (XC7A12T and XC7A25T) devices where
applicable including updating Appendix B. Updated the BUFR Alignment section.
Updated the Automotive Applications Disclaimer.
7 Series FPGAs Clocking Resources User Guide www.xilinx.com UG472 (v1.12) September 27, 2016
Table of Contents
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Guide Contents
This manual contains the following chapters:
Chapter 1, Clocking Overview
Chapter 2, Clock Routing Resources
Chapter 3, Clock Management Tile
Appendix A, Multi-Region Clocking
Appendix B, Clocking Resources and Connectivity Variations per Clock Region
Additional Resources
To find additional documentation, see the Xilinx website at:
www.xilinx.com/support/documentation/index
To search the Answer Database of silicon, software, and IP questions and answers, or to
create a technical support WebCase, see the Xilinx website at:
www.xilinx.com/support
Clocking Overview
This chapter provides an overview of the 7 series FPGAs clocking, a comparison between
7 series FPGAs clocking and previous FPGA generations, and a summary of clocking
connectivity within the 7 series FPGAs. For detailed information on usage of 7 series
FPGAs clocking resources, see Chapter 2, Clock Routing Resources and Chapter 3, Clock
Management Tile.
Each 7 series monolithic device has 32 global clock lines that can clock and provide control
signals to all sequential resources in the whole device. Global clock buffers (BUFGCTRL,
simplified as BUFG throughout this user guide) drive the global clock lines and must be
used to access global clock lines. Each clock region can support up to 12 of these global
clock lines using the 12 horizontal clock lines in the clock region.
The global clock buffers:
Can be used as a clock enable circuit to enable or disable clocks that span multiple
clock regions
Can be used as a glitch-free multiplexer to:
select between two clock sources
switch away from a failed clock source
Are often driven by a CMT to:
eliminate the clock distribution delay
adjust clock delay relative to another clock
The horizontal clock buffer (BUFH/BUFHCE) allows access to the global clock lines in a
single clock region through the horizontal clock row. It can also be used as a clock enable
circuit (BUFHCE) to independently enable or disable clocks that span a single clock region.
Each clock region can support up to 12 clocks using the 12 horizontal clock lines in each
clock region.
Each 7 series FPGA has regional and I/O clock trees that can clock all sequential resources
in one clock region. Each device also has multi-clock region buffers (BUFMR) that allow
regional and I/O clocks to span up to three vertically adjacent clock regions.
The I/O clock buffer (BUFIO) drives the I/O clock tree, providing access to clock all
sequential I/O resources in the same I/O bank.
The regional clock buffer (BUFR) drives regional clock trees that drive all clock
destinations in the same clock region and can be programmed to divide the incoming
clock rate.
In conjunction with the programmable serializer/deserializer in the IOB (refer to the
Advanced SelectIO Logic Resources chapter in UG471, 7 Series FPGAs SelectIO Resources
User Guide), the BUFIO and BUFR clock buffers allow source-synchronous systems to
cross clock domains without using additional logic resources.
The regional and I/O clock trees in adjacent clock regions and I/O banks can be
driven using the multi-clock region buffer (BUFMR) when used with the associated
BUFR or BUFIO.
Up to four unique I/O clocks and four unique regional clocks can be supported in one
clock region or I/O bank.
High-performance clock routing connects certain outputs of the CMT to the I/O on a very
low jitter, minimal duty-cycle distorted direct path.
Chapter 2, Clock Routing Resources, has further details on global, regional, and I/O
clocks. It also describes which clock routing resources to use for various applications.
CMT Overview
Each 7 series FPGA has up to 24 CMTs, each consisting of one MMCM and one PLL. The
MMCMs and PLLs serve as frequency synthesizers for a wide range of frequencies, serve
as a jitter filters for either external or internal clocks, and deskew clocks. The PLL contains
a subset of the MMCM functions. The 7 series FPGA clock input connectivity allows
multiple resources to provide the reference clocks to the MMCM and PLL.
7 series FPGAs MMCMs have infinite fine phase-shift capability in either direction and can
be used in dynamic phase-shift mode. MMCMs also have a fractional counter in either the
feedback path or in one output path, enabling further granularity of frequency synthesis
capabilities.
The LogiCORE IP clocking wizard is available to assist in utilizing MMCMs and PLLs to
create clock networks in 7 series FPGA designs. The GUI interface is used to collect clock
network parameters. The clocking wizard chooses the appropriate CMT resource and
optimally configures the CMT resource and associated clock routing resources.
Chapter 3, Clock Management Tile, includes details on the CMT block features and
connectivity.
Clocking
Center
A clock region always contains 50 CLBs per column, ten 36K block RAMs per column
(unless five 36K blocks are replaced by an integrated block for PCI Express), 20 DSP slices
per column, and 12 BUFHs. A clock region contains, if applicable, one CMT (PLL/
MMCM), one bank of 50 I/Os, one GT quad consisting of four serial transceivers, and half
a column for PCIe in a block RAM column.
Figure 1-2 is a high-level overview of clock resources available in a clock region and their
fundamental connectivity. The global clock buffer can drive into every region through the
HROW even if not physically located there. The horizontal clock buffers (BUFH) drive
through the HROW to every clocking point in the region. BUFGs and BUFHs share routing
tracks in the HROW. The I/O buffers (BUFIO) and regional clock buffers (BUFR) are
located inside the I/O banks. The BUFIO only drives I/O clocking resources while the
BUFR drives I/O resources and logic resources. The BUFMR enables multi-region chaining
of BUFIOs and BUFRs. The clock-capable inputs connect external clocks to clocking
resources on the device. Certain resources can connect to regions above and below through
the CMT backbone.
X-Ref Target - Figure 1-2
Clock
Backbone
PLL I/O
Bank
Fabric Fabric
CC
CMT
BUFIO
Column
BUFMR
HROW GT
Quad
BUFG
BUFH
BUFR
CC
MMCM
CMT
Backbone
UG472_c1_31_020712
Figure 1-3 shows a more detailed view of clocking in a single clock region on the right edge
of the device.
X-Ref Target - Figure 1-3
To Bank Above
4 1
SRCC Pin Pair
1
MRCC Pin Pair
CE
CLR
2
7 Clock
3
Region
HROW
14 50 CLBs
3
Interconnect 12 High
CE 4
12
1
Interconnect BUFHs MRCC Pin Pair
4 1
CE SRCC Pin Pair
MMCM X0Yn
4
in Same Region
BUFGs
4
Two BUFMRs (MRCC pins only)
Four BUFRs
Four BUFIOs
To Bank Below
UG472_c1_32_011713
Figure 1-4 shows a more detailed diagram of the global BUFG and regional BUFH/CMT/
CC pin connectivity as well as the number of resources available in a region (a right side
region is shown here).
X-Ref Target - Figure 1-4
CMT
Backbone
From To other
other BUFGs
BUFGs CMT I/O
Column Bank
32
Interconnect Fabric Fabric
32 CE PLL
Interconnect CC
Left <0-3>
CC
Region
BUFG 7 GT
4
Quad
4
12
10
BUFH HROW
14
Left 12
CC
Region
MMCM CC
Interconnect
CE BUFR
Interconnect <0-3>
32
Clock
Backbone
UG472_c1_33_020712
Any of the four clock-capable input pins can drive the PLL/MMCM in the CMT and the
BUFH. The BUFG is shown as present in the region, but can be located physically
somewhere else in the clock backbone. BUFG and BUFH share 12 routing tracks in the
HROW and can drive all clocking points in the region. BUFGs can also drive BUFHs (not
shown in Figure 1-4). This allows for individual clock enables (CE) on an otherwise global
clock distribution. A GT quad has ten dedicated tracks to drive the CMT and clock buffers
in the clock backbone. The BUFRs located in the I/O bank have four tracks driving
clocking points in the logic, CMT, and BUFG. CMTs can, with limitations, drive other
CMTs in the adjacent regions using the CMT backbone. Similarly, clock-capable pins can
drive, with the same limitations, CMTs in adjacent regions. Clock-capable pins can drive
BUFGs anywhere in the same top/bottom side of the device. There are four tracks in the
CMT backbone to support connectivity between vertical regions.
Clock sources from one region can drive clock buffer resources in its own region as well as
in a horizontally adjacent region. CMTs, clock-capable pins, and serial transceivers can
drive clocks into the horizontal adjacent region via the BUFH and also connect to the
BUFGs in the same top/bottom side of the device.
Logic interconnects drive the CE pins of BUFG and BUFH. Logic interconnects can also
drive clocks into the same buffers, but care must be taken because the timing is not
predictable.
Figure 1-5 shows a more detailed diagram of the I/O clocking resources and connectivity.
X-Ref Target - Figure 1-5
I/O
4 4 4
2 Bank
Fabric Fabric
Clock CMT BUFR BUFIO
Backbone Column
SRCC
PLL Pair
MRCC
Pair
BUFMR GT
4
BUFMR
Quad
BUFG HROW
BUFH
<0>
4
<1> MRCC
<2> Pair
<3>
SRCC
Pair
BUFR BUFIO
MMCM
CMT
Backbone
UG472_c1_34_020712
Each I/O bank contains four BUFIOs and four BUFRs. Each of these clock buffers can be
driven by a specific clock-capable input clock pin pair or can be driven directly by a
specific output clock of the MMCM. Two of the clock-capable input pin pairs, called
MRCCs, support a multi-region clocking scheme. An MRCC pin pair can drive a specific
BUFMR, which in turn can drive BUFIOs and BUFRs in the same and adjacent regions
facilitating multi-region/bank interfaces. Similarly, a GT quad can also drive the BUFMRs.
The MMCM<3:0> outputs have a dedicated high-performance differential path to the
BUFRs and BUFIOs. This feature is also referred to as high-performance clocks (HPC).
Although all 7 series devices have the same fundamental architecture, there are some
architectural differences between the families and devices within families. Every 7 series
FPGA has a minimum of one complete I/O column on the left edge of the device. A GT can
be any one of the serial transceivers supported by the 7 series FPGAs (GTP, GTX, or GTH).
Devices with GTs either have a mixed column of GTs and I/Os to the right edge of the
device (some Kintex-7 devices and some Artix-7 devices) or have a complete column of
GTs to the right edge (some Kintex-7 devices and some Virtex-7 devices) and a complete
I/O column on the right side of the device. Other Virtex-7 devices have complete GT
columns on the left and right edges with a complete I/O column in the left and right sides.
The Artix-7 200T device has GTP transceivers on the top and bottom next to the clocking
column.
Therefore, not all clock regions in 7 series devices contain all of the blocks shown in the
previous figures. For a block-level architectural view of the 7 series devices, see the Die
Level Bank Numbering Overview section in UG475, 7 Series FPGA Packaging and Pinout
Specification. Appendix B, Clocking Resources and Connectivity Variations per Clock
Region includes detailed figures showing clocking resources and connectivity for the clock
region variations.
beyond the adjacent CMTs results in a phase offset between the source and
destination MMCMs/PLLs and requires a special attribute setting.
Fractional dividers no longer share output counters. This frees up those counters for
other uses. Fractional counters have added a static phase-shift capability.
The CLOCK_HOLD feature is no longer available.
MMCMs support spread spectrum.
Another new primitive for Spartan-6 FPGA design migration is the BUFIO. When
used with the BUFR, the BUFIO functionality replaces the BUFIO2, BUFIO2_2CLK,
and BUFPLL capabilities. There are four BUFIOs per bank.
Instead of two DCMs and one PLL in the Spartan-6 architecture, the 7 series FPGAs
use a CMT that contains one MMCM, one PLL, and dedicated memory interface logic
which is reserved for Xilinx use at this time. DCMs and their associated capabilities
are now supported with these functions. The CMTs are located in a separate column
adjacent to the SelectIO columns and have dedicated access to the I/O. DCM_SP and
DCM_CLKGEN are no longer available and their functionality is now supported in
the MMCMs and PLLs.
Global clock (GCLK) inputs are no longer supported in the 7 series FPGAs. Four
clock-capable input pins are now available in every bank that support much of the
Spartan-6 FPGA GCLK pin capabilities.
To Spartan-6 FPGA designers, the MMCM is a new functional block. The MMCM
adds fractional divide, fine phase shifting, dynamic phase shifting, inverted clock
outputs, CLKOUT6 to CLKOUT4 cascading, and some other features. The direct
routing connection to the BUFPLL is replaced by the HPC connection from the
MMCMs to the BUFIO/BUFR using CLKOUT[0:3]. A more extensive DRP is also
available.
Using the PLL is no longer the recommended CMT function for general-purpose
high-speed I/O clocking. The PLL does not have a direct connection to the BUFIO or
BUFR. CLKOUT0 feedback is no longer supported. Use the MMCM for high-speed
I/O interfaces. Cascade connections use limited CMT backbone resources. There is
also a new power down mode. Input clock switching is fully supported. Operating
ranges are different between the Spartan-6 FPGAs and the 7 series FPGAs. The DRP
functionality is still available. The DRP functional locations and addresses have
changed.
The Spartan-6 FPGAs DCM_SP is no longer supported. To migrate to the 7 series
FPGAs, use the MMCM and PLL.
The Spartan-6 FPGAs DCM_CLKGEN is not directly supported in the 7 series FPGAs.
Use MMCM or PLL with low bandwidth for input jitter filtering. Dynamic
reprogramming of the M/D values can also be accomplished using the DRP reference
design for the MMCM or PLL.
Notes:
1. Certain restrictions apply. See Single Clock Driving Multiple CMTs, page 29.
Artix-7 FPGAs: There are no direct connections from the GTP transceivers to the
CMTs and BUFMRs. When connecting from the GTP transceivers to
All devices a CMT, a BUFH or BUFG is required.
Kintex-7 FPGAs: There are no direct connections from the GTX transceivers to the
CMTs and BUFMRs. When connecting from the GTX transceivers to
All devices a CMT, a BUFH or BUFG is required.
There are no connectivity exceptions. See Stacked Silicon
All Virtex-7 T and XT
Interconnect Clocking in Chapter 2 for clocking guidelines when
FPGAs
designing with the XC7V2000T and XC7VX1140T devices.
GTZ transceivers can only connect to the interposer clock backbone
to connect to SLRs. Thus, they can only drive global clock networks
All Virtex-7 HT FPGAs
(BUFG routing tracks) and BUFHs and can only be driven by
BUFGs. See Stacked Silicon Interconnect Clocking in Chapter 2.
The CE function can be used to synchronize initialized clocking elements after device
startup.
The main purpose of the BUFR and BUFIO combination is to support source-synchronous
interfaces. When an interface is placed into a single region, the BUFIO clocks the
high-speed side of the SelectIOs and the BUFR clocks the deserialized/serialized side at a
lower speed into the FPGA logic providing the clock domain transfer function. For
interfaces that require more logic and/or I/Os than are available in a single clock region/
bank, the BUFMR (BUFMRCE) is used to expand clock domain transfer functionality into
the clock regions above and below. Certain types of applications that require a divided
clock not related to the source-synchronous I/O use case can use a BUFR as a simple clock
divider when an MMCM/PLL cannot be used or is not available for the frequency divide
function. In this case, particular attention must be paid to the timing and skew because this
is not the primary purpose of the BUFR. For more information on clocking SelectIO
resources, consult UG471, 7 Series FPGAs SelectIO Resources User Guide.
The horizontal clock buffer BUFH (BUFHCE) is strictly a regional resource and cannot
span clock regions above or below. Unlike BUFR, BUFH does not have the ability to divide
the clock.
BUFHs are similar to a global clocking resource only on a regional basis spanning two
horizontal regions.
BUFHs have the ability to serve as a feedback to the MMCM/PLL and the clock
insertion delay can be compensated for.
BUFHs are the preferred clocking resource when an interface or cloud of logic can be
localized to one clock region or two horizontally adjacent clock regions.
The BUFH also has a clock enable pin (BUFHCE) that can be used to reduce dynamic
power consumption when either the logic or an interface and its associated logic are
not active.
The clock enable feature can provide a gated clock on a clock cycle-to-cycle basis.
Similar to the global clock tree, the BUFH can also connect to non-clocking resources
in the CLB (enable/reset) but with better skew characteristics.
BUFH can also be used for the synchronous startup of clocking elements in a clock
region.
For stacked silicon interconnect (SSI) device limitations with respect to clocking resource
selection, see Stacked Silicon Interconnect Clocking.
Clock-Capable Inputs
External user clocks must be brought into the FPGA on differential clock pin pairs called
clock-capable (CC) inputs. Clock-capable inputs provide dedicated, high-speed access to
the internal global and regional clock resources. Clock-capable inputs use dedicated
routing and must be used for clock inputs to guarantee timing of various clocking features.
General-purpose I/O with local interconnects should not be used for clock signals.
Each I/O bank is located in a single clock region and includes 50 I/O pins. Of the 50 I/O
pins in each I/O bank in every I/O column, there are four clock-capable input pin pairs (a
total of eight pins). Each clock-capable input:
Can be connected to a differential or single-ended clock on the PCB
Can be configured for any I/O standard, including differential I/O standards
Has a P-side (master), and an N-side (slave)
Single-ended clock inputs must be assigned to the P (master) side of the clock-capable
input pin pair.
If a single-ended clock is connected to the P-side of a differential clock pin pair, the N-side
cannot be used as another single-ended clock pinit can only be used as a user I/O. For
pin naming conventions, refer to UG475, 7 Series FPGA Packaging and Pinout Specification.
Clock-capable inputs are organized as 2 MRCC and 2 SRCC pairs in each I/O bank. SRCCs
access a single clock region and the global clock tree, as well as other CMTs above and
below in the same column. SRCCs can drive:
Regional clocks lines (BUFR, BUFH, BUFIO) within the same clock region
CMTs in the same clock region and adjacent clock regions.
Global clocks lines (BUFG) in the same top/bottom half of the device. Refer to 7 Series
FPGA Packaging and Pinout Specification for BUFG and I/O bank alignments.
MRCCs can access multiple clock regions and the global clock tree. MRCCs function the
same as SRCCs and can additionally drive multi-clock region buffers (BUFMR) to access
up to three clock regions.
Clock-capable inputs can be used as regular I/O if not used as clocks. When used as
regular I/O, clock-capable input pins can be configured as any single-ended or differential
I/O standard.
Clock-capable inputs can connect to the CMT in the same clock region, and the CMT in the
clock regions above and below with some restrictions.
Ensure that the clock-capable input can connect to the desired clock resource. The
placement rules to ensure connectivity are shown in Table 2-1.
Ensure that the desired clock resources are available and not already used by another
portion of the design. The best way to ensure that both external clocks coming in
through clock-capable inputs and internally generated clocks coming from IP do not
run into conflicts accessing the internal clock networks is to build an initial design
containing the desired clock networks and IP, and run it through the implementation
tools. This significantly increases checking and confidence that the pinout will not
need to change due to clocking reasons.
The placement rules shown in Table 2-1 should be followed to ensure that the
clock-capable input pin selection has access to the desired internal clock network. Each
I/O bank resides in a single clock region.
Note: Avoid costly board respins and poor clock timing by ensuring that clock-capable input pinout
placement is chosen properly.
Table 2-1: Clock-Capable Input Placement Rules
Valid
Clock Inputs To Resource Utilization and Placement Rules (1) (2) (3) Clock-Capable
Input Pin
I/Os and/or sequential elements Clock-capable input > BUFG > global clock tree SRCC or MRCC
throughout the device (4) The clock-capable input must be placed in the same top or
bottom half as the BUFG.
There are 16 BUFGs in the top half and 16 BUFGs in the
bottom half of each device.
Each clock region can have up to 12 unique global clocks
and use the horizontal clock lines.
I/O and/or sequential elements Clock-capable input > BUFH > horizontal clock line SRCC or MRCC
within a single clock region using Clock-capable inputs must be placed in the same clock
BUFH (4) region or the horizontally adjacent clock region as the
BUFH (5).
There are 12 BUFHs and 12 horizontal clock lines in each
clock region.
I/Os and/or sequential elements Throughout the device: SRCC or MRCC
using CMTs (6) Clock-capable input > CMT > BUFG > global clock tree
In a single clock region or adjacent clock regions:
Clock-capable input > CMT > BUFR/BUFH > regional clock
tree/horizontal clock line
Input routing from clock-capable inputs to CMT:
A CMT must be placed in the same clock region as the
clock-capable input.
CMTs can also be placed in the clock region immediately
above or below when multiple CMTs are needed (5).
There is one CMT per clock region.
Notes:
1. Refer to Clocking Differences in 7 Series FPGAs, page 25, for details on devices that have exceptions to these placement rules and
UG475, 7 Series FPGA Packaging and Pinout Specification, for CMT, BUFG, and I/O bank alignments.
2. Ensure that the clock-capable input pinout does not require more resources than available, that is, more than the 16 BUFGs per
half of the device, one CMT per clock region, four BUFRs per clock region, etc. If more clocking resources are needed than are
available, the clock-capable inputs should be reassigned so that they can reach clocking resources in other clock regions.
3. If defining clock or high-speed bus interface pinouts for SSI devices, refer to UG872: Large FPGA Design Methodology Guide.
4. BUFH and BUFG use the same horizontal clock line resources within the clock regions. Each BUFG or BUFH uses one of the 12
horizontal clock lines in a clock region.
5. Certain restrictions apply. See Single Clock Driving Multiple CMTs, page 29.
6. CLOCK_DEDICATED_ROUTE = BACKBONE is required when clock-capable inputs drive CMTs in other clock regions in the same
column but not in the same clock region.
7. When driving clocks into adjacent clock regions using the BUFMR or CMT, reduced clock resources can impact the adjacent clock
regions. For example, using a BUFMR to drive a BUFR in an adjacent clock region prohibits one of the clock-capable input pairs in
the adjacent clock region from driving the regional clock tree in its own clock region. A BUFH or BUFG can still be used to drive the
global clock lines in that adjacent clock region.
8. If a memory interface is placed in the same bank or region that the BUFRs/BUFIOs reside in, the connectivity from the BUFMR to
those BUFHs/BUFIOs in that bank or region might be restricted.
When migrating between devices in the same package, the top/bottom center line that
organizes BUFGs into 16 top and 16 bottom resources can appear to have shifted with
respect to the other columns. Specifically, the I/O banks change alignment to the top/
bottom BUFGs. This results in a different alignment of the clock-capable input pins
accessing the BUFGs. Figure 2-1 shows a center alignment example using the XC7K325T
and XC7K160T devices. In this case, the center line is lower (with respect to the I/O
columns) when moving from a large to a small device in the same package, or higher when
moving from a small to a large device. If the clock-capable input pins are LOCed, the
design can be unroutable.
X-Ref Target - Figure 2-1
XC7K160T XC7K325T
UG472_c1_29_010612
Figure 2-1: Center Alignment Example using XC7K325T and XC7K160T Devices
There can also be situations when migrating to a smaller device in the same package where
all BUFGs in the larger devices south side are already utilized and no more BUFGs are
available. See UG475: 7 Series FPGAs Packaging and Pinout Specification for BUFG and I/O
bank alignments.
Additionally, devices with multiple super logic regions (SLRs) can have similar restrictions
when migrating to/from monolithic paths in a single SLR in the same package.
Clock Regions
Global Clock Buffers
Clock Regions
7 series devices improve the clocking distribution by the use of clock regions. Each clock
region can have up to 12 global clock domains. These 12 global clocks can be driven by any
combination of the 32 global clock buffers available in a monolithic device or SLR. The
dimensions of a clock region are fixed to 50 CLBs tall (50 IOBs) and spanning the left or
right side of the die. In 7 series devices, the clock backbone splits the device into a left or
right side. The backbone is not located in the center of the die. By fixing the dimensions of
the clock region, larger 7 series devices can have more clock regions. The 7 series FPGAs
supply from 1 to 24 clock regions.
UG472_c1_03_091010
The following subsections detail the various configurations, primitives, and use models of
the 7 series FPGAs clock buffers.
Notes:
1. All primitives are derived from a software preset of BUFGCTRL.
BUFGCTRL
The BUFGCTRL primitive shown in Figure 2-3, can switch between two asynchronous
clocks. All other global clock buffer primitives are derived from certain configurations of
BUFGCTRL.
BUFGCTRL has four select lines, S0, S1, CE0, and CE1. It also has two additional control
lines, IGNORE0 and IGNORE1. These six control lines are used to control the input I0 and
I1.
X-Ref Target - Figure 2-3
BUFGCTRL
IGNORE1
CE1
S1
I1
O
I0
S0
CE0
IGNORE0
UG472_c1_03_061310
BUFGCTRL is designed to switch between two clock inputs without the possibility of a
glitch. When the presently selected clock transitions from High to Low after S0 and S1
change, the output is kept Low until the other (to-be-selected) clock transitions from High
to Low. Then the new clock starts driving the output.The default configuration for
BUFGCTRL is falling-edge sensitive and held at Low prior to the input switching.
BUFGCTRL can also be rising-edge sensitive and held at High prior to the input switching
by using the INIT_OUT attribute.
In some applications the conditions previously described are not desirable. Asserting the
IGNORE pins will bypass the BUFGCTRL from detecting the conditions for switching
between two clock inputs. In other words, asserting IGNORE causes the MUX to switch
the inputs at the instant the select pin changes. IGNORE0 causes the output to switch away
from the I0 input immediately when the select pin changes, while IGNORE1 causes the
output to switch away from the I1 input immediately when the select pin changes.
Selection of an input clock requires a select pair (S0 and CE0, or S1 and CE1) to be
asserted High. If either S or CE is not asserted High, the desired input will not be selected.
In normal operation, both S and CE pairs (all four select lines) are not expected to be
asserted High simultaneously. Typically only one pin of a select pair is used as a select
line, while the other pin is tied High. The truth table is shown in Table 2-3.
Notes:
1. Old input refers to the valid input clock before this state is achieved.
2. For all other states, the output becomes the value of INIT_OUT and does not toggle.
Although both S and CE are used to select a desired output, only S is suggested for glitch
free switching. This is because when using CE to switch clocks, the change in clock
selection can be faster than when using S. A violation in the Setup/Hold time of the CE
pins causes a glitch at the clock output. On the other hand, using the S pins allows you to
switch between the two clock inputs without regard to Setup/Hold times. As a result,
using S to switch clocks will not result in a glitch. See BUFGMUX_CTRL. The CE pin is
designed to allow backward compatibility from previous Virtex architectures.
The timing diagram in Figure 2-4 illustrates various clock switching conditions using the
BUFGCTRL primitives. Exact timing numbers are best found using the speed specification.
X-Ref Target - Figure 2-4
1 2 3 4 5 6
I0
I1
TBCCCK_CE
CE0
CE1
S0
S1
IGNORE0
IGNORE1
TBCCKO_O TBCCKO_O TBCCKO_O
at I0 Begin I1 Begin I0
UG472_c1_04_033030
Notes:
1. Both PRESELECT attributes cannot be TRUE at the same time.
BUFG
BUFG is a clock buffer with one clock input and one clock output. This primitive is based
on BUFGCTRL with some pins connected to logic High or Low. Figure 2-5 illustrates the
relationship of BUFG and BUFGCTRL. The LOC constraint is available for manually
placing the BUFG location. See the Constraints Guide for more information.
X-Ref Target - Figure 2-5
IGNORE1
VDD
CE1
GND
GND S1
BUFG
I1
VDD
O O
I
I0
I
VDD S0
VDD CE0
IGNORE0
GND
UG472_c1_05_112310
The output follows the input as shown in the timing diagram in Figure 2-6.
X-Ref Target - Figure 2-6
BUFG(I)
BUFG(O)
TBCCKO_O
UG472_c1_06_061310
BUFGCE as BUFGCTRL
IGNORE1
VDD
CE1
GND
BUFGCE GND S1
CE
I1
VDD
O O
I
I0
I
VDD S0
CE CE0
IGNORE0
GND
UG472_c1_07_061310
The switching condition for BUFGCE is similar to BUFGCTRL. If the CE input is Low prior
to the incoming rising clock edge, the following clock pulse does not pass through the
clock buffer, and the output stays Low. Any level change of CE during the incoming clock
High pulse has no effect until the clock transitions Low. The output stays Low when the
clock is disabled. However, when the clock is being disabled it completes the clock High
pulse.
Since the clock enable line uses the CE pin of the BUFGCTRL, the select signal must meet
the setup time requirement. Violating this setup time can result in a glitch. Figure 2-8
illustrates the timing diagram for BUFGCE.
X-Ref Target - Figure 2-8
BUFGCE(I)
TBCCCK_CE
BUFGCE(CE)
BUFGCE(O)
TBCCKO_O
UG472_c1_08_061310
BUFGCE_1 is similar to BUFGCE, with the exception of its switching condition. If the CE
input is Low prior to the incoming falling clock edge, the following clock pulse does not
pass through the clock buffer, and the output stays High. Any level change of CE during
the incoming clock Low pulse has no effect until the clock transitions High. The output
stays High when the clock is disabled. However, when the clock is being disabled it
completes the clock Low pulse.
BUFGCE_1(I)
TBCCCK_CE
BUFGCE_1(CE)
BUFGCE_1(O)
TBCCKO_O
UG472_c1_09_061310
IGNORE1
GND
S CE1
VDD S1
BUFGMUX
I1 I1
O O
I0 I0
S
VDD S0
CE0
IGNORE0
GND
UG472_c1_10_061310
Since the BUFGMUX uses the CE pins as select pins, when using the select, the setup time
requirement must be met. Violating this setup time can result in a glitch.
Switching conditions for BUFGMUX are the same as the CE pins on BUFGCTRL.
Figure 2-11 illustrates the timing diagram for BUFGMUX.
X-Ref Target - Figure 2-11
TBCCCK_CE
I0
I1
O
TBCCKO_O TBCCKO_O
begin
switching using I1
ug472_c1_11_112310
In Figure 2-11:
The current clock is I0.
S is activated High.
If I0 is currently High, the multiplexer waits for I0 to deassert Low.
Once I0 is Low, the multiplexer output stays Low until I1 transitions High to Low.
When I1 transitions from High to Low, the output switches to I1.
If Setup/Hold are met, no glitches or short pulses can appear on the output.
BUFGMUX_1 is rising edge sensitive and held at High prior to input switch. Figure 2-12
illustrates the timing diagram for BUFGMUX_1. The LOC constraint is available for
manually placing the BUFGMUX and BUFGMUX_1 locations. See the Constraints Guide for
more information.
X-Ref Target - Figure 2-12
TBCCCK_CE
S
I0
I1
O
TBCCKO_O
ug472_c1_12_061310
In Figure 2-12:
The current clock is I0.
S is activated High.
If I0 is currently Low, the multiplexer waits for I0 to be asserted High.
Once I0 is High, the multiplexer output stays High until I1 transitions Low to High.
When I1 transitions from Low to High, the output switches to I1.
If Setup/Hold are met, no glitches or short pulses can appear on the output.
Table 2-5: BUFGMUX Attributes
Attribute Name Description Possible Values
CLK_SEL_TYPE Specifies synchronous or asynchronous clock SYNC (default),
switching. ASYNC
BUFGMUX_CTRL
The BUFGMUX_CTRL replaces the BUFGMUX_VIRTEX4 legacy primitive.
BUFGMUX_CTRL is a clock buffer with two clock inputs, one clock output, and a select
line. This primitive is based on BUFGCTRL with some pins connected to logic High or
Low. Figure 2-13 illustrates the relationship of BUFGMUX_CTRL and BUFGCTRL.
X-Ref Target - Figure 2-13
IGNORE1
GND
VDD CE1
S S1
BUFGMUX_CTRL
I1 I1
O O
I0 I0
S
S0
CE0
VDD
IGNORE0
GND
ug472_c1_13_061310
BUFGMUX_CTRL uses the S pins as select pins. S can switch anytime without causing a
glitch. The Setup/Hold time on S is for determining whether the output will pass an extra
pulse of the previously selected clock before switching to the new clock. If S changes as
shown in Figure 2-14, prior to the setup time TBCCCK_S and before I0 transitions from High
to Low, then the output will not pass an extra pulse of I0. If S changes following the hold
time for S, then the output will pass an extra pulse. If S violates the Setup/Hold
requirements, the output might pass the extra pulse, but it will not glitch. In any case, the
output will change to the new clock within three clock cycles of the slower clock.
The Setup/Hold requirements for S0 and S1 are with respect to the falling clock edge, not
the rising edge as for CE0 and CE1.
Switching conditions for BUFGMUX_CTRL are the same as the S pin of BUFGCTRL.
Figure 2-14 illustrates the timing diagram for BUFGMUX_CTRL.
X-Ref Target - Figure 2-14
I0
I1
O
TBCCKO_O
TBCCKO_O
ug472_c1_14_061310
IGNORE1
VDD
VDD CE1
S S1
Asynchronous MUX
Design Example
I1 I1
O O
I0 I0
S0
CE0
VDD
VDD IGNORE0
ug472_c1_15_061310
I1
I0
S
TBCCKO_O TBCCKO_O
O
at I0 Begin I1
UG472_c1_16_033011
In Figure 2-16:
The current clock is from I0.
S is activated High.
The Clock output immediately switches to I1.
When Ignore signals are asserted High, glitch protection is disabled.
IGNORE1
GND
CE CE1
S S1
BUFGMUX_CTRL+CE
Design Example
I1 I1
O O
I0 I0
S
S0
CE
CE0
IGNORE0
GND
ug472_c1_17_061310
1 2 3
I0
I1
S
TBCCCK_CE
CE
TBCCKO_O TBCCKO_O
O
Begin I1
at I0 Clock Off
ug472_c1_18_033011
In Figure 2-18:
At time event 1, output O uses input I0.
Before time event 2, S is asserted High.
At time TBCCKO_O, after time event 2, output O uses input I1. This occurs after a High
to Low transition of I0 followed by a High to Low transition of I1 is completed.
At time TBCCCK_CE, before time event 3, CE is asserted Low. To avoid any output clock
glitches, the clock output is switched Low and kept at Low until after a High to Low
transition of I1 is completed.
Clock-Capable I/O
Each clock region has four clock-capable I/O pin pairs per I/O bank in every I/O column.
Clock-capable I/O pairs are specialized I/O pairs in select locations with special hardware
connections to nearby regional clocking resources and other clocking resources.
Additionally, clock capable I/O pairs can be used as regular I/O pairs. There are four
dedicated clock-capable I/O sites in every bank. When used as clock inputs, clock-capable
pins can drive BUFIO, BUFMR, and BUFR. Each I/O column supports regional clock
buffers (BUFR). There are two I/O columns in each device.
When used as single-ended clock pins, then as described in Global Clock Buffers the P-side
of the pin pair must be used because a direct connection only exists on this pin.
A CCIO can drive any BUFR in the region, but only dedicated CCs can drive specific
BUFIOs and MRCCs can drive BUFMRs in a 1:1 relationship. This means that a CCIO has
only a single connection to a specific BUFIO or BUFMR.
BUFIO Primitive
BUFIO is a clock in, clock out buffer. There is a phase delay between input and output.
Figure 2-19 shows the BUFIO. Table 2-6 lists the BUFIO ports. A location constraint is
available for BUFIO.
X-Ref Target - Figure 2-19
BUFIO
O
I
ug472_c1_19_061310
I/O
I/O
I/O
I/O
I/O
I/O
P I/O
N I/O
P I/O
N I/O
BUFIO
BUFR
BUFIO
P I/O
N I/O
P I/O
N I/O
I/O
I/O
I/O
I/O
I/O
I/O
ug472_c1_20_030311
BUFR Primitive
BUFR (Figure 2-21 and Table 2-7) is a clock-in/clock-out buffer with the capability to
divide the input clock frequency. The 7 series FPGAs BUFRs can also directly drive
MMCM clock inputs and BUFGs.
X-Ref Target - Figure 2-21
I O
CE
CLR
ug472_c1_21_061310
Notes:
1. Location constraint is available for BUFR.
1 2 3 4
CE
CLR
TBRCKO_O TBRDO_CLRO TBRCKO_O
ug472_c1_22_033011
In Figure 2-22:
Before clock event 1, CE is asserted High.
After CE is asserted and time TBRCKO_O, the output O begins toggling at the divide by
three rate of the input I. TBRCKO_O and other timing numbers are best found in the
speed specification.
Note: Note: The duty cycle is not 50/50 for odd division. The Low pulse is one cycle of I longer.
At time event 2, CLR is asserted. After TBRDO_CLRO from time event 2, O stops
toggling.
At time event 3, CLR is deasserted.
At time TBRCKO_O after clock event 4, O begins toggling again at the divided by three
rate of I.
Note: For proper operation, if the clock to the BUFR is stopped, then a reset (CLR) must be applied
after the clock returns.
I/O CLBs
I/O CLBs
Block DSP
RAM Tile
I/O CLBs
I/O CLBs
CLBs
P I/O
Clock Capable I/O
CLBs
N I/O Block DSP
RAM Tile
CLBs
P I/O
Clock Capable I/O
CLBs
N I/O
BUFIO
BUFR
To more
FPGA logic
resources
ug472_c1_23_032111
clock nets. To access regional clock nets, BUFRs must be instantiated. For multi-region
support, see Multi-Region Clock BufferBUFMR/BUFMRCE.
BUFMR Primitive
BUFMRs (Figure 2-24, Table 2-9, and Table 2-10) are a clock-in/clock-out buffer with clock
enable (CE). Deasserting CE stops the output clock. BUFMRs must drive BUFRs and
BUFIOs to route to the same region/bank and adjacent regions/banks. BUFMRs are
driven by the MRCCs or the GT clocks in the same region.
X-Ref Target - Figure 2-24
BUFMR
I O
BUFMRCE
I O
CE
ug472_c1_24_062210
To use BUFMR or BUFMRCE with BUFIOs, the interface pins must fit within three banks.
Similarly, if used with BUFRs, the logic must fit in up to three regions (if three BUFRs are
used). If a memory interface is placed in the same bank or region that the BUFRs/BUFIOs
reside in, the connectivity from the BUFMR to those BUFHs/BUFIOs in that bank or region
might be restricted. Figure 2-25 shows the topology of the BUFMRCE.
X-Ref Target - Figure 2-25
CLR
BUFR
Region/Bank
BUFIO
CLR CE
Region/Bank MRCC
BUFMRCE
CLR
Region/Bank
ug472_c1_25_030111
The CE_TYPE attribute should always be set to SYNC to ensure that the clock output is
glitch free. If the clock output of the BUFMRCE is stopped (for example, by deasserting
CE), the BUFR must be reset (CLR) after the BUFMRCE is enabled again. The main
purpose of CE on the BUFMRCE is to provide a synchronous, phase-aligned clock to the
BUFRs and BUFIOs. For more details on the use of BUFMR in driving BUFRs and BUFIOs,
see Appendix A, Multi-Region Clocking.
BUFH
I O
BUFHCE
I O
CE
ug472_c1_24_061310
To use the BUFH, the logic must fit into the two regions horizontally adjacent to each other
(left and right) as illustrated in Figure 2-27. The clock enable pin can completely turn off
the clocks thus realizing potential power savings. The power consumption and jitter in a
BUFH is lower when compared to a BUFG driving two adjacent regions.
X-Ref Target - Figure 2-27
Quad GT Transceivers
Clock Backbone
ug472_c1_27_020812
BUFG_LB
CLKIN CLKOUT
ug472_c2_28a_042814
For more details, see the 7 Series FPGAs GTZ Transceivers Advance Specification User Guide
(UG478).
High-Performance Clocks
7 series FPGAs contain four HPCs per I/O bank. These clocks are a direct short differential
connection to BUFIOs and BUFRs in the I/O. Therefore, these clocks exhibit very low jitter
and minimal duty-cycle distortion. In the I/O columns, the HPC connects to the BUFIO/
BUFRs and drives the I/O logic. Since the CMT column is co-located next to the I/O
column, the HPC drives directly into the I/O bank next to a CMT.
HPCs are driven by CLKOUT[3:0] of the MMCM (only).
The Xilinx Power Estimator (XPE) tool is used to estimate power savings. The difference is
calculated by setting the frequency on the corresponding clock net to 0 MHz or providing
the appropriate stimulus data to the tool.
To SLR Global
Clock Network 16 BUFGs
HROW
Bidirectional 3-Stateable
Interposer Connection Super Logic Region
32 Interposer Clock
Backbone Connections
To SLR Global
Clock Network 16 BUFGs
HROW
Bidirectional 3 Stateable
Interposer Connection Super Logic Region
32 Interposer Clock
Backbone Connections
To SLR Global
Clock Network 16 BUFGs
HROW
Bidirectional 3-Stateable
Interposer Connection Super Logic Region
Interposer
UG472_c1_28_020712
32 Interposer Clock
Backbone Connections
To SLR Global
Clock Network 16 BUFGs
HROW
Bidirectional 3-Stateable
Interposer Connection Super Logic Region
32 Interposer Clock
Backbone Connections
More SLRs
and Bottom GTZ Quads
Interposer
UG472_c2_19_061212
Figure 2-30: SSI Technology Example for Virtex-7 HT Devices (Top Side View)
Certain clocking resources cannot cross the boundaries between SLRs. CCIOs cannot drive
CMTs or BUFGs in another SLR. Similarly, the BUFMR cannot drive BUFRs and BUFIOs in
adjacent SLRs. BUFGs and CMTs cannot be cascaded across the interposer. These
limitations should be understood when migrating designs between SSI devices and
monolithic devices. For specific guidance on clocking pinout planning, see UG872: Large
FPGA Methodology Guide.
Interposer
BUFG31 (X0Y127)
96 97 98 99 12
BUFG2 (X0Y98)
7
BUFG1 (X0Y97)
SLR3
BUFG0 (X0Y96)
BUFG31 (X0Y95)
64 65 66 67 95
BUFG2 (X0Y66)
BUFG1 (X0Y65)
SLR2
BUFG0 (X0Y64)
BUFG31 (X0Y63)
32 33 34 35 63
BUFG2 (X0Y34)
BUFG31 (X0Y31)
Interposer
UG472_c2_18_011712
BUFR
IBUFG (CC)
BUFG CLKIN1
GT CLKIN2
BUFH
Local Routing
(not recommended) PLL
BUFG
BUFH
CLKFB
CLKIN1
CLKIN2
MMCM BUFG
BUFH
CLKFB
ug472_c2_01_032511
reference voltage to the VCO. The PFD produces an up or down signal to the charge pump
and loop filter to determine whether the VCO should operate at a higher or lower
frequency. When VCO operates at too high of a frequency, the PFD activates a down signal,
causing the control voltage to be reduced decreasing the VCO operating frequency. When
the VCO operates at too low of a frequency, an up signal will increase voltage. The VCO
produces eight output phases and one variable phase for fine-phase shifting. Each output
phase can be selected as the reference clock to the output counters (Figure 3-2 and
Figure 3-3). Each counter can be independently programmed for a given customer design.
A special counter, M, is also provided. This counter controls the feedback clock of the
MMCM and PLL, allowing a wide range of frequency synthesis.
In addition to integer divide output counters, MMCMs add a fractional counter for
CLKOUT0 and CLKFBOUT.
X-Ref Target - Figure 3-2
Clock
General Lock Detect
Routing Switch Lock
Circuit Lock Monitor
CLKIN1 9
D O0 CLKOUT0
CLKIN2 PFD CP LF VCO
Fractional Divide CLKOUT0B
CLKFB CLKOUT1
O1 CLKOUT1B
CLKOUT2
O2 CLKOUT2B
CLKOUT3
O3 CLKOUT3B
CLKOUT4
O4
CLKOUT5
O5
CLKOUT6
O6
M CLKFBOUT
(Fractional Divide) CLKFBOUTB
ug472_c2_02_020712
Clock
General Lock Detect
Routing Switch Lock
Circuit Lock Monitor
8-phase taps
CLKIN1 8
D
CLKIN2 PFD CP LF VCO O0 CLKOUT0
CLKFB O1 CLKOUT1
O2 CLKOUT2
O3 CLKOUT3
O4 CLKOUT4
O5 CLKOUT5
M CLKFBOUT
ug472_c2_03_030211
MMCME2_ADV
ug472_c2_04_062210
The two 7 series FPGAs PLL primitives, PLLE2_BASE and PLLE2_ADV, are shown in
Figure 3-5.
X-Ref Target - Figure 3-5
PLLE2_BASE PLLE2_ADV
UG472_c2_05_112310
The PLLE2_BASE primitive provides access to the most frequently used features of a
stand-alone PLL. Clock deskew, frequency synthesis, coarse phase shifting, and duty cycle
programming are available to use with the PLLE2_BASE. The ports are listed in Table 3-2.
The PLLE2_ADV primitive provides access to all PLLE2_BASE features plus additional
ports for clock switching, and access to the Dynamic Reconfiguration Port. The ports are
listed in Table 3-4.
The 7 series FPGAs MMCM and PLL are mixed-signal blocks designed to support clock
network deskew, frequency synthesis, and jitter reduction. These three modes of operation
are discussed in more detail within this section. The Voltage Controlled Oscillator (VCO)
operating frequency can be determined by using the following relationship:
M
F VCO = F CLKIN ----- Equation 3-1
D
M
F OUT = F CLKIN --------------- Equation 3-2
DO
where the M, D, and O counters are shown in Figure 3-2. The value of M corresponds to the
CLKFBOUT_MULT_F setting, the value of D to the DIVCLK_DIVIDE, and O to the
CLKOUT_DIVIDE.
The seven O counters can be independently programmed. For example, O0 can be
programmed to do a divide-by-two while O1 is programmed for a divide by three. The
only constraint is that the VCO operating frequency must be the same for all the output
counters since a single VCO drives all the counters.
33 MHz
Reference PFD, CP, Processor
D=1 O0 = 2
Clock LF, VCO
O1 = 4 Gasket
M = 32
O2 = 6 CLB/Fabric
O3 = 8 Memory Interface
O4 = 16 66 MHz Interface
O5 = 32 33 MHz Interface
O6 = 1 not used
ug472_c2_06_062711
Jitter Filter
MMCMs and PLLs reduce the jitter inherent on a reference clock. The MMCM and PLL can
be instantiated as a standalone function to support filtering jitter from an external clock
before it is driven into the another block. As a jitter filter, it is usually assumed that the
MMCM and PLL will act as a buffer and regenerates the input frequency on the output (for
example, FIN = 100 MHz, FOUT = 100 MHz). In general, greater jitter filtering is possible by
using the MMCM attribute BANDWIDTH set to Low. Setting the BANDWIDTH to Low
can incur an increase in the static offset of the MMCM.
Limitations
The MMCM and the PLL have some restrictions that must be adhered to. These are
summarized in the MMCM and the PLL electrical specifications in the 7 Series FPGA Data
Sheets (DS181, DS182, and DS183). In general, the major limitations are VCO operation
range, input frequency, duty cycle programmability, and phase shift. In addition, there are
connectivity limitations to other clocking elements (pins, GTs, and clock buffers) as
outlined in Appendix B, Clocking Resources and Connectivity Variations per Clock
Region. Cascading MMCMs/PLLs can only occur with adjacent CMTs.
Since the VCO can provide eight phase shifted clocks at 45 each; always providing
possible settings for 0, 45, 90, 135, 180, 225, 270, and 315 of phase shift. The higher
the VCO frequency is, the smaller the phase-shift resolution. Since the VCO has a distinct
operating range, it is possible to bound the phase-shift resolution using from
1 1
---------------------------- to ------------------------------ period.
8F VCOMIN 8F VCOMAX
It is possible to phase shift the CLKFBOUT feedback clock. In that case all CLKOUT output
clocks are negatively phase shifted with respect to CLKIN.
The two fractional counters (CLKFBOUT and CLKOUT0) also have static phase shift
capability. A phase shift step is defined as:
360 45
SPS ( frac ) = ----------------------------------------------------------------------or ------------------------------------------------------------- Equation 3-5
8 fractional_divide_value fractional_divide_value
For example, if the fractional divide value is 2.125, then a static phase shift step is
360/(2.125 x 8) = 21.176 degrees.
If the VCO runs at 600 MHz, then the phase resolution is approximately (rounded) 30 ps
and at 1.6 GHz is approximately (rounded) 11 ps.
The phase shift value can be programmed as a fixed value set during configuration or a
dynamic increment/decrement under application control after configuration. The
dynamic phase shift is controlled by the PS interface of the MMCME2_ADV. This
phase-shift mode equally affects all CLKOUT output clocks that are selected for this mode
by setting the USE_FINE_PS attribute to TRUE. In interpolated fine phase-shift mode, a
clock must always be connected to the PSCLK pin of the MMCM. Regardless of the
interpolated fine phase-shift mode (fixed or dynamic) a clock is in, the clock must always
be connected to the PSCLK pin of the MMCM. Each individual CLKOUT counter can
independently either select the interpolated phase shift, the previously described static
phase-shift mode, or none. Fractional divide is not allowed in either fixed or dynamic
interpolated fine phase-shift mode. Fixed or dynamic phase shifting of the feedback path
will result in a negative phase shift of all output clocks with respect to CLKIN. The
dynamic phase-shift interface cannot be used when the phase-shift mode is set to fixed.
,
X-Ref Target - Figure 3-7
PSCLK
PSEN
PSDONE
PSINCDEC
ug472_c2_07_061710
MMCM/PLL Programming
Programming of the MMCM/PLL must follow a set flow to ensure configuration that
guarantees stability and performance. This section describes how to program the MMCM/
PLL based on certain design requirements. A design can be implemented in two ways,
directly through the GUI interface (the Clocking Wizard) or implementing the MMCM/
PLL through instantiation. Regardless of the method selected, the following information is
necessary to program the MMCM/PLL:
Reference clock period
Output clock frequencies (up to seven maximum)
Output clock duty cycle (default is 50%)
Output clock phase shift in number of degrees relative to the original 0 phase of the
clock.
Desired bandwidth of the MMCM/PLL (default is OPTIMIZED and the bandwidth is
chosen in software)
Compensation mode (automatically determined by the software)
Reference clock jitter in UI (that is, a percentage of the reference clock period)
As an example, consider FIN = 100 MHz. If the minimum PFD frequency is 10 MHz, then D
can only go from 1 to 10.
D = 1, M can only have values from four to 16.
D = 2, M can only have values from eight to 32.
D = 4, M can only have values from 16 to 64.
In addition, D = 1 M = 4 is a subset of D = 2 M = 8, D = 4 M = 16, and D = 8 M = 32
allowing these cases to be dropped. For this case, only D = 1, 3, 5, 6, 7, and 9 are considered
since all other D values are subsets of these cases. This drastically reduces the number of
possible output frequencies. The output frequencies are sequentially selected. The desired
output frequency should be checked against the possible output frequencies generated.
Once the first output frequency is determined, an additional constraint can be imposed on
the values of M and D. This can further limit the possible output frequencies for the second
output frequency. Continue this process until all the output frequencies are selected.
The constraints used to determine the allowed M and D values are shown in the following
equations:
f IN
D MIN = roundup ------------------------ Equation 3-6
f PFD MAX
f IN
D MAX = rounddown ----------------------- Equation 3-7
f PFD MIN
f VCOMIN
M MIN = roundup ---------------------- D MIN Equation 3-8
f IN
f VCOMAX
M MAX = rounddown ------------------------ D MAX Equation 3-9
f IN
D MIN f VCOMAX
M IDEAL = -------------------------------------------- Equation 3-10
f IN
The goal is to find the M value closest to the ideal operating point of the VCO. The
minimum D value is used to start the process. The goal is to make D and M values as small
as possible while keeping VCO as high as possible.
MMCM Ports
Table 3-5 summarizes the MMCM ports. Table 3-7 lists the MMCM attributes.
Notes:
1. All control and status signals except PSINCDEC are active-High.
PLL Ports
Table 3-6 summarizes the PLL ports.
match the forward clock buffer type with the exception of BUFR. BUFR cannot be
compensated for.
LOCKED
An output from the MMCM/PLL used to indicate when the MMCM/PLL have achieved
phase and frequency alignment of the reference clock and the feedback clock at the input
pins. Phase alignment is within a predefined window and frequency matching within a
predefined PPM range. The MMCM automatically locks after power on, no extra reset is
required. LOCKED will be deasserted within one PFD clock cycle if the input clock stops,
the phase alignment is violated (for example, input clock phase shift) or the frequency has
changed. The MMCM/PLL must be reset when LOCKED is deasserted. The clock outputs
should not be used prior to the assertion of LOCKED.
MMCM Attributes
Table 3-7 lists the attributes for the MMCME2_BASE and MMCME2_ADV primitives.
Notes:
1. The COMPENSATION attribute values are documented for informational purpose only. The ISE or Vivado design tools
automatically select the appropriate compensation based on circuit topology. Do not manually select a compensation value, leave
the attribute at the default value.
2. The ISE or Vivado design tools will round up or down to the nearest multiple of 0.125 if the value is not specified as an exact 1/8th
fraction.
PLL Attributes
Table 3-8 lists the attributes for the PLLE2_BASE and PLLE2_ADV primitives.
Notes:
1. The COMPENSATION attribute values are documented for informational purpose only. The ISE or Vivado design tools
automatically select the appropriate compensation based on circuit topology. Do not manually select a compensation value, leave the
attribute at the default value.
Counter Control
The MMCM/PLL output counters provide a wide variety of synthesized clocks using a
combination of DIVIDE, DUTY_CYCLE, and PHASE. Figure 3-8 illustrates how the
counter settings impact the counter output.
The top waveform represents the output from the VCO.
X-Ref Target - Figure 3-8
DIVIDE = 2
DUTY_CYCLE = 0.5
PHASE = 0
DIVIDE = 2
DUTY_CYCLE = 0.5
PHASE = 180
DIVIDE = 2
DUTY_CYCLE = 0.75
PHASE = 180
DIVIDE = 1
DUTY_CYCLE = 0.5
PHASE = 0
DIVIDE = 1
DUTY_CYCLE = 0.5
PHASE = 360
DIVIDE = 3
DUTY_CYCLE = 0.33
PHASE = 0
DIVIDE = 3
DUTY_CYCLE = 0.5
PHASE = 0
UG472_c2_08_061710
45
90
VCO 135
8 Phases
180
225
270
315
O0
Counter O1
Outputs O2
O3
All O counters can be equivalent, anything O0 can do, O1 can do. In 7 series devices, the
O0 counter has the additional capability to be used in fractional divide mode. The
MMCM/PLL outputs are flexible when connecting to the global clock network since they
are identical. In most cases, this level of detail is imperceptible to you as the software and
Clocking Wizard determines the proper settings through the MMCM/PLL attributes and
Wizard inputs.
CLKINSEL
BUFG
CLKIN1
IBUFG (CC)
BUFR
GT
BUFH
Local Rounting
(not recommended)
MMCM/PLL
CLKIN
BUFG
CLKIN2
IBUFG (CC)
BUFR
GT
BUFH
Local Rounting
(not recommended) UG472_c2_10_012712
IBUFG BUFG
1 2 4 5
CLKIN1 CLKOUT0 To Logic
3
CLKFBIN CLKOUT0B
RST CLKOUT1
CLKOUT1B
CLKOUT2
CLKOUT2B
CLKOUT3
CLKOUT3B 1
CLKOUT4
2
CLKOUT5
BUFG 3
CLKOUT6
6
CLKFBOUT
4
CLKFBOUTB
LOCKED 5
MMCM
6
UG472_c2_11_061710
IBUFG BUFH
1 2 4 5
CLKIN1 CLKOUT0 To Logic
3
CLKFBIN CLKOUT0B
RST CLKOUT1
CLKOUT1B
CLKOUT2
CLKOUT2B
CLKOUT3
CLKOUT3B 1
CLKOUT4
2
CLKOUT5
BUFH 3
CLKOUT6
6
CLKFBOUT
4
CLKFBOUTB
LOCKED 5
MMCM
6
UG472_c2_17_011712
There are certain restrictions on implementing the feedback. The CLKFBOUT output can
be used to provide the feedback clock signal. When an MMCM is driving both BUFGs and
BUFH, only one of the clock buffers that is also used in the feedback path is deskewed. The
fundamental restriction is that both input frequencies to the PFD must be identical.
Therefore, the following relationship must be met:
f IN f VCO
------- = f FB = ------------- Equation 3-11
D M
As an example, if IN is 166 MHz, D = 1, M = 6, and O = 2, then VCO is 996 MHz and the
clock output frequency is 498 MHz. Since the M value in the feedback path is 6, both input
frequencies at the PFD are 166 MHz.
In another more complex scenario has an input frequency of 66.66 MHz and D = 2, M = 30,
and O = 4. The VCO frequency in this case is 1000 MHz and the CLKOUT output
frequency is 250 MHz. Therefore, the feedback frequency at the PFD is 1000/30 or
33.33 MHz, matching the 66.66 MHz/2 input clock frequency at the PFD.
IBUFG BUFG
UG472_c2_12_061710
ug472_c2_13_061710
In some cases, precise alignment cannot occur because of the difference in loading between
the input capacitance of the external component and the feedback path capacitance of the
FPGA. For example, the external components can have an input capacitance of 1 pF to 4 pF
while the FPGA has an input capacitance of around 8 pF. There is a difference in the signal
slope, which is basically skew. Designers need to be aware of this effect to ensure timing.
MMCM. This path provides the lowest device jitter. Cascading using the inverted
CLKOUTxB outputs is not available.
IBUFG BUFG
ug472_c2_14_061710
Uncompensated Delay
IBUFG BUFG
ug472_c2_15_042611
Figure 3-16: Cascading Two MMCMs With the Closest Possible Clock Alignment
Modulation Period
Frequency
FIN
Frequency
Deviation
Time UG472_c3_01_070212
Adjusting the modulation period SS_MOD_PERIOD allows the FPGA designer to direct
the tools to select the closest modulation period based on the MMCME2 settings. The
spread-spectrum modulation will reduce EMI as long as the modulation frequencies are
higher than the audible frequency range of 30 kHz. Typically, lower modulation
frequencies are preferred by designers to minimize the impact of the introduction of
spread spectrum.
Increasing the frequency deviation with SS_MODE (CENTER_HIGH or DOWN_HIGH)
will increase the overall EMI reduction, but care must be taken to ensure that the increased
range of frequencies does not affect the overall system operation (see Figure 3-18). Because
the spread-spectrum clock and the input clock are operating at different frequencies, any
data being transferred between the clock domains should use an asynchronous FIFO to
ensure that data is not lost. Increasing the frequency deviation will require a larger FIFO.
Frequency
FIN CENTER_HIGH
CENTER_LOW
Time UG472_c3_02_070212
Another design trade-off is the decision to use a center spread or down spread. Selecting
SS_MODE (DOWN_HIGH, DOWN_LOW) spreads the frequencies to lower frequencies as
shown in Figure 3-19. DOWN_HIGH will have similar frequency deviation to
CENTER_LOW.
X-Ref Target - Figure 3-19
FIN
Frequency
DOWN_LOW
DOWN_HIGH
Time UG472_c3_03_070212
The decision to use down spread is often the result of considering the timing analysis
impact of spread spectrum. When using a spread-spectrum clock, the design must meet
timing at the highest frequency in the frequency deviation. Therefore, if a 100 MHz clock
with SS_MODE (CENTER_LOW) produces a 3% (1.5%) center spread, the 100 MHz clock
with 3% center spread must pass timing analysis as a 101.5 MHz clock. However, if
SS_MODE (DOWN_HIGH) produces a 3% down spread, the input frequency is the
highest frequency within the frequency deviation. Consequently, for a 100 MHz clock with
3% down spread, the down-spread clock would continue to be analyzed by timing analysis
as a 100 MHz clock.
As an example of adjusting timing constraints to allow for the range of frequencies within
the spread, the input frequency can be adjusted to manually account for the increased
range of frequencies, as shown in Table 3-9.
Table 3-9: Manual Spread Spectrum Timing Adjustment Using Input Frequency
Input Frequency Input Frequency Adjustment
Parameter M
(MHz) (FIN_SS)
25 < FIN < 35 M = 28 FIN_SS = FIN x 56/55
M = 21 FIN_SS = FIN x 42/41
35 < FIN < 50
M = 22 FIN_SS = FIN x 44/43
SS_MODE(CENTER_HIGH)
50 < FIN < 75 M = 28 FIN_SS = FIN x 56/55
M= 21 FIN_SS = FIN x 42/41
75 < FIN < 150
M = 22 FIN_SS = FIN x 44/43
25 < FIN < 35 M = 56 FIN_SS = FIN x 112/111
M = 42 FIN_SS = FIN x 84/83
35 < FIN < 50
M= 44 FIN_SS = FIN x 88/87
SS_MODE (CENTER_LOW)
50 < FIN < 75 M = 56 FIN_SS = FIN x 112/111
M = 42 FIN_SS = FIN x 84/83
75 < FIN < 150
M = 44 FIN_SS = FIN x 88/87
25 < FIN < 35 M=28 FIN_SS = FIN
35 < FIN < 50 M = 21, 22 FIN_SS = FIN
SS_MODE (DOWN_HIGH) 50 < FIN < 75 M = 28 FIN_SS = FIN
75 < FIN < 100 M = 21, 22 FIN_SS = FIN
100 < FIN < 150 M = 21, 22 FIN_SS = FIN
25 < FIN < 35 M = 56 FIN_SS = FIN
35 < FIN < 50 M = 42, 44 FIN_SS = FIN
SS_MODE (DOWN_LOW) 50 < FIN < 75 M = 56 FIN_SS = FIN
75 < FIN < 100 M = 42, 44 FIN_SS = FIN
100 < FIN < 150 M = 42, 44 FIN_SS = FIN
For a 25 MHz input clock, the new timing constraints would be:
SS_MODE(CENTER_HIGH) = 25 x 56/55 = 25.45 MHz
SS_MODE (CENTER_LOW) = 25 x 112/111 = 25.23 MHz
SS_MODE (DOWN_HIGH) =25 MHz
SS_MODE (DOWN_LOW) = 25 MHz
For an 80 MHz input clock, the new timing constraints would be:
SS_MODE(CENTER_HIGH) = 80 x 44/43 = 81.86 MHz
SS_MODE (CENTER_LOW) = 80 x 88/87 = 80.92 MHz
SS_MODE (DOWN_HIGH) =80 MHz
SS_MODE (DOWN_LOW) = 80 MHz
Because the average output frequency when using down spread is lower than the input
frequency, an asynchronous FIFO must be used for transferring data between the input
and output clock domains. Logic within the MMCME2 controls the spread-spectrum
modulation based on a given input frequency and SS_MOD_PERIOD. The restrictions
shown in Table 3-10 apply when using spread-spectrum generation.
When using spread-spectrum generation, the VCO frequency is set by the clocking wizard
based on the input frequency and SS_MODE. As a result, the clocking wizard is
recommended to set the output frequencies for CLKOUT[6:4,1,0].
Based on the VCO frequency and SS_MOD_PERIOD, the clocking wizard also determines
the correct modulation settings to set the modulation frequency within 10% of
SS_MOD_PERIOD. Because the modulation frequency is dependent on the VCO
frequency, the modulation frequency will scale as the input frequency changes for a given
compilation.
REFCLK
VCOCLK
CLKOUT0
CLKOUT1
CLKOUT2
CLKOUT3
CLKOUT4
CLKOUT5
UG472_c2_16_061710
Multi-Region Clocking
Introduction
Clocking and I/O interconnect logic across multiple clock regions in 7 series FPGAs is
different from how it was done in previous generations of Xilinx FPGAs. While the
increase in I/O and logic resources in a clock region has reduced the need for clock signals
to span multiple clock regions, these same wide I/O interfaces still demand the ability to
drive interconnect and I/O logic in more than one clock region. The 7 series FPGAs
BUFMR/BUFMRCE primitives enable clock-capable input pins to drive BUFIOs and
BUFRs in the region same region the input resides as well as the regions above and below.
This appendix details using the BUFIO and BUFR clock buffers to drive clock signals
across multiple clock regions.
All 7 series FPGAs are divided into areas known as clock regions. A clock region spans
from the global clocking column in the center of the device to either the left or right edge of
the device and is 50 rows of CLBs high (Figure A-1).
X-Ref Target - Figure A-1
CMT Column
I/O Column
Each clock region has its own resources. The horizontal clock row (Figure A-2) sits in the
middle of the clock region with 25 rows of CLBs above and 25 rows of CLBs below. The I/
O column that resides in each clock region is 50 I/O high and is exactly one I/O bank.
There are four clock-capable input (CCIO) pins located in the I/O bank within each clock
region, two above the horizontal clock row and two below.
X-Ref Target - Figure A-2
PLL
CCIO
Horizontal
Clock Row
CCIO
MMCM
BUFMR Primitive
The BUFMR primitive is a multi-region clock buffer that allows clock signals to access
BUFRs and BUFIOs in regions above and below the region where the clock signal enters
the device. BUFMRs can span more than one clock region (Figure A-3). There are two
BUFMRs located in each clock region. The BUFMRs drive the dedicated low-skew clocking
resources residing within the CMT column, ensuring that the least possible skew is
inserted when driving clock signals into multiple regions.
Dedicated Routing
PLL
SRCC
MRCC
Horizontal Serial
Clock Row Transceiver
BUFMR
Clocks
MRCC
SRCC
MMCM
Every BUFMR is capable of driving the BUFRs and BUFIOs in the same region and the
regions directly above and below. BUFMRs are driven by CCIO or gigabit-transceiver (GT)
outputs in the same clock region. This allows the CCIO and GT output clocks to span
multi-regions using the same circuit topology. Of the four CCIOs present in every clock
region, two can drive BUFMRs. These pins are labeled as MRCC to denote their
multi-region ability. The two CCIOs that cannot drive BUFMRs are labeled as SRCC for
single-region CCIO. Every MRCC pin has a master or P-side and a slave or N-side. When
using a MRCC pin to drive a BUFMR, use only the master or P-side. To identify the master
or P-side, look for a P in the pin name (for example: IO_LxxP_Tx_MRCC_xx).
The GT inputs to the Virtex-6 FPGA BUFRs are not available in the 7 series FPGAs
architecture. The BUFMR, however, can get its inputs from any one of the GT clocks within
the clock region. This allows the GT clocks to span multi-regions using the same circuit
topology as shown in Figure A-3. Also, BUFMRs cannot cross the boundary between
super-logic regions (SLRs) on the devices using stacked-silicon interconnect technology.
Use Cases
When using BUFMRs to drive logic in multiple regions, group the logic being driven by
the multiple BUFRs or BUFIOs into (up to three) subsets, each with a separate BUFR or
BUFIO. Use the Vivado design tools to floorplan and constrain the design so that logic is
assigned to the individual BUFRs and BUFIOs.
For illustration purposes, the following clocking schemes use an MRCC as the input;
however, a GT clock can be used instead. Also, some of these examples show the topology
when using the built-in divide feature of the BUFR. The BUFR can divide by 1-to-8 in
integer steps. The divide value is specified by the BUFR_DIVIDE attribute during design.
Additionally, the BUFR has a BYPASS setting which turns off the divide capability and
disables the output clock enable (CE) and asynchronous clear for the divide logic (CLR).
For more information on BUFRs, see BUFR Primitive in Chapter 2.
I/O Logic
BUFIO
Clock Region Boundary
BUFMR BUFIO
I/O Logic
BUFIO
ug472_aA_04_030111
Interconnect
Logic and
I/O Logic
BUFR
Clock Region Boundary
Interconnect
MRCC Logic and
I/O Logic
BUFMRCE BUFR
BUFR Alignment
RST
Circuit
Interconnect
Logic and
I/O Logic
BUFR
ug472_aA_05_030111
If the divide value in the BUFR is being used, then all BUFR instances must be reset while
the BUFMRCE is disabled. See BUFR Alignment for more details. In the use cases
described in Figure A-4 and Figure A-5, the placer software automatically places the
buffers in the appropriate location.
ISERDES/OSERDES
CLKDIV
BUFR
CLK
BUFIO
Clock Region Boundary
ISERDES/OSERDES
CLKDIV
BUFR
MRCC CLK
BUFMRCE BUFIO
BUFR Alignment
RST
Circuit
CLKDIV
BUFR
CLK
BUFIO
ug472_aA_06_051311
ISERDES/OSERDES
CLKDIV
BUFR
CLK
BUFR
Clock Region Boundary
ISERDES/OSERDES
CLKDIV
BUFR
MRCC CLK
BUFMRCE BUFR
BUFR Alignment
RST
Circuit
CLKDIV
BUFR
CLK
BUFR
ug472_aA_07_051311
BUFR Alignment
When using the built in divide capability of the BUFR (shown in Figure A-6 and
Figure A-7, the clock must be stopped at the BUFMR and reset signals applied to the
BUFRs, to align the BUFR divide counters across the multiple clock regions. This will
require using the BUFMRCE primitive, which allows you to disable the output of the
BUFMR during the reset. To successfully align the BUFRs in adjacent regions, the
following procedure must be followed:
Connect the clock enable to the CE port of the BUFMRCE
Hold the CE pin of the BUFMRCE in its inactive state to disable the output of the
BUFMRCE
Reset all BUFRs by applying a reset signal to the CLR pin of the BUFR
Re-enable the BUFMRCE after the BUFR reset/CLR signal is released
Releasing the reset signal of the BUFRs
To turn off clocks during circuit operations, that is after the reset/CLR signal to the BUFRs
is deasserted, disable the BUFMRCE using its CE pin. This ensures that the BUFRs
continue to be aligned when the clock signal is reinstated.
Clock Fabric - Multiple Columns of CLB/Block RAM/DSP Fabric - Multiple Columns of CLB/Block RAM/DSP
Backbone
5x36K 10x 5x36K 10x
Block RAMs/ DSP48 Block RAMs/ DSP48
FIFOs Slices PLL I/O Bank FIFOs Slices GT Quad
CLB
BUFIO CLB GTX/GTH
BUFR
Left Side
Clock Horizontal
Connections Clocking
BUFH
Row BUFMR HROW
or
GTX/GTH
BUFG
CLB CLB
25 GTX/GTH
SelectIO
CLB CLB
Logic Resources
RX/TXUSRCLKs
25 25 RX/TXOUTCLKs
CLBs SelectIO Logic CLBs
IBUFDS O/ODIV2
SelectIO Logic
BUFG
CLB Any I/O Clock CC
BUFIO/BUFR
CLB SelectIO Logic
CE
CLB BUFR BUFIO
5x36K
CLB 10x
Block RAMs/
DSP48 MMCM
FIFOs 25 SelectIO
Slices
CLB Logic Resources
SelectIO Logic
UG472_aB_02_011713
Figure B-2: Clock Region in Spartan-7 FPGAs, Kintex-7 FPGAs, and all Artix-7 FPGAs (except for the
XC7A200T) with I/O Banks and No GT Transceivers (Right Side)
RX/TXUSRCLKs
25 CLBs
RX/TXOUTCLKs
IBUFDS O/ODIV2
CLB 5x36K
Clock Block RAMs/
10x
Backbone DSP48
CLB FIFOs
Slices
GTX/GTP
CLB
CE RX/TXUSRCLKs
CLB
RX/TXOUTCLKs
IBUFDS O/ODIV2
CLB
BUFH
or
Left Side Clock HROW
Connections
GTX/GTP
BUFG
CLB RX/TXUSRCLKs
RX/TXOUTCLKs
CLB
CE IBUFDS O/ODIV2
CLB
5x36K
CLB 10x
Block RAMs/
DSP48
FIFOs
Slices GTX/GTP
CLB
RX/TXUSRCLKs
RX/TXOUTCLKs
25 CLBs IBUFDS O/ODIV2
CLB
UG472_aB_03_011713
Figure B-3: Clock Region in Spartan-7 FPGAs, Kintex-7 FPGAs, and all
Artix-7 FPGAs (except for the XC7A200T) with
GT Transceivers and No I/O Banks (Right Side)
Note: See Figure B-4 for the XC7A200T diagram.
BUFG
CLB Any I/O Clock CC
RX/TXUSRCLKs
BUFIO/BUFR
RX/TXOUTCLKs
CLB SelectIO Logic
CE IBUFDS O/ODIV2
SelectIO Logic
UG472_aB_04_020812
Figure B-4: Clock Region in a Artix-7 XC7A200T Device with GTP Transceivers
and I/O Banks (Right Side)