UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 19947

Spartan-3/-3E/-3A - What are the BUFGMUX placement rules and global clock routing restrictions?

Description

What are the rules for placing BUGMUX components in Spartan-3/-3E? Should any routing restrictions be considered for global clocks?

Solution

In a BUFGCE or BUFGMUX configuration, shared inputs must be considered. Any two adjacent clock multiplexer pairs share I0/I1 inputs. This is true for both Spartan-3, Spartan-3E, and Spartan-3A devices.

For example, if BUGMUX0 is connected to GCLK0 and GCLK1, then BUFGMUX1 also has the same I0/I1 and I1/I0 inputs. Figure 1 shows how the I0/I1 input pins are shared between adjacent clock multiplexers.

Figure 1 - BUFGMUX shared inputs
Figure 1 - BUFGMUX shared inputs

Spartan-3 does not use the primary/secondary clocking scheme that is used in Virtex-II/-II Pro. There are eight global clock buffers in Spartan-3 and eight global clock spines in each quadrant, so any BUFGMUX can route to any quadrant.

Spartan-3E/-3A also do not use the primary/secondary clocking scheme; however, Spartan-3E/-3A use a new scheme that implements Left-Side Half, Right-Side Half, and All Quadrant global clocks.

Spartan-3E/-3A have four All Quadrant BUFG global clocks on the top of the device and four All Quadrant BUFG global clocks on the bottom, for a total of eight in each device. All Quadrant BUFG global clocks can route to all regions in the device (Quadrant 1, 2, 3, or 4).

There are also eight Left-Half BUFG and eight Right-Half BUFG semi-global clocks. The Left-Half BUFG can route only to loads in the left half of the device and the Right-Half BUFG can route only to loads in the right half.

Any quadrant can have a maximum of eight clocks routed to it (out of the available 16 All Quadrant and Left/Right-Half clocks). Along with these global/semi-global clocks, additional local clocks can be used within the quadrants.

In Figure 2 below, the matching color BUFGs represent clock buffers that share a common clock mux in their respective quadrants.

For this example, Quadrant 1 has a solid red buffer indicating an All Quadrant BUFG and a red buffer with a white circle in it indicating a Left-Half BUFG. Since these two clocks share a common input to the clock mux for Quadrant 1, they cannot both drive loads in Quadrant 1.

It is possible to route a clock signal driven by the solid red All Quadrant BUFG into Quadrant 1 and also use a black, blue, and green Left-Half BUFG in Quadrant 1. In this same scenario, it is also possible to route clocks driven by the Left-Half BUFGs in Quadrant 3 into Quadrant 1.

It is also possible to route a clock signal driven by the red All Quadrant BUFG into Quadrant 1 and then use the red Left-Half BUFG to route to loads in Quadrant 3.

Note: The Spartan-3A XC3S50A does not have this mux structure and so for this smaller device the Side BUFG and Top/Bottom BUFG of the same color cannot have loads on the same side (Left/Right) of the device without one of the clock nets leaving the global routing resources.

Figure 2- Spartan-3E side BUFGs
Figure 2- Spartan-3E side BUFGs

For more information, see the "Using Global Clock Resources" chapter in theSpartan-3 Generation FPGA User Guide(UG331).

AR# 19947
Date Created 09/03/2007
Last Updated 02/14/2013
Status Active
Type General Article
Devices
  • Spartan-3
  • Spartan-3A
  • Spartan-3E