This website uses cookies. By using this site, you consent to the use of cookies. For more information, please take a look at our Privacy Policy.
Home > FPGA Technical Tutorials > Designing with Xilinx FPGAs Using Vivado > Clocking

TABLE OF CONTENTS

Xilinx FPGA FPGA Forum

Clocking

FONT SIZE : AAA

Clocking in FPGA Designs

FPGAs are designed to be used with synchronous design techniques. As such,  understanding clocking structures and their capabilities is vital to be able to realize  a design. Poor understanding will create designs that are unreliable and diffifi cult to  meet timing, while good understanding will create reliable designs and allow you to  focus on resolving non-clocking issues.   

FPGA clocking is not a diffifi cult subject to understand. Wherever you face a  design decision, opt to prioritize clocking and keep the clocking as simple as possible. This simple rule will guide you well. Often decisions taken that do not give  optimal clocking performance will result in delays to the project, board respins, etc.   

FPGAs provide low skew clock routing. These are high load distribution networks. The network is fully buffered by design. It does not reduce in performance  as you increase the load. One key progression in UltraScale FPGAs is to provide  more clocking flfl exibility when compared to older FPGAs. There are many more  available networks to use now.   

Additionally, FPGAs provide PLLs/MMCMs that allow you to do frequency  synthesis and phase shifting. These attributes allow you to interface to external  components and generate internal clocks of almost any frequency up to the maximum operating range of the FPGA. This allows for effifi cient FPGA design as you  can easily change the frequency at which the design operates to be optimal for the  given FPGA and part of the design. 

A typical FPGA design has many clock networks, as shown in Fig. 12.1 , because  each of the following may have its own network:

• Each source synchronous interface coming into or leaving the FPGA 

• Each transceiver interface 

• Internal system FPGA clock network 

• Low-speed clocking networks for control like high fanout processor control via 

an AXI-Lite interface, external fl ash clocking 

• Optional internal fast clock networks for conducting DSP operations

Most designs do not run at any single clock frequency. Design frequencies are  normally dictated by:

• Bandwidth of incoming data 

• Bandwidth of outgoing data 

• Resource consumed by a particular function

The fifi rst two points are typically decided by the system. However, the third point  is a design decision, in the sense that there might be multiple combinations of freq  vs. utilization that would be possible. Generating different frequency clocks is easy  in a FPGA. Running something faster will usually save resource. So, you can change  frequency to save FPGA resource like DSP slices. 

 A high level look at a typical clock network.png

Wireless radio designs, for example, have parts that run at sweet spot frequency  of 491 MHz. Usually it is only the DSP portions that run at this performance. This  includes fifi lters, power monitors, DPD, and crest factor reduction. The designs have  characteristics such as:

• Low load control paths. 

• Point-to-point data paths. 

• Design can be pipelined without issue. 

• Data paths are typically small around 32 bits

Wired designs tend to have a lot of switching and wide data paths. Data paths  can be 512/1024/2048 bits. These large data paths represent a challenge to the  FPGA design software. You can help here by selecting a frequency that balances  the diffifi culty and data path width. These designs tend to operate in the region of  300–350 MHz. For UltraScale+, there could be benefifi t in doubling the frequency  to something like 600 MHz and halving the data width. Smaller data widths are  easier to route for the FPGA software tools.

For other types of design, you should consider data path sizes , high fanout nonclock nets, and logic levels required. These are the typical factors that inflfl uence  Fmax . Of course, faster device families and speed grades move the window. 



  • XCR3128A-10VQ100C

    Manufacturer:Xilinx

  • CPLD CoolRunner Family 4K Gates 128 Macro Cells 0.35um Technology 3.3V 100-Pin VTQFP
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS: No RoHS

  • XC2S200E-7FTG256C

    Manufacturer:Xilinx

  • FPGA Spartan-IIE Family 200K Gates 5292 Cells 400MHz 0.15um Technology 1.8V 256-Pin FTBGA
  • Product Categories:

    Lifecycle:Obsolete -

    RoHS:

  • XCR3128XL-10VQ100I

    Manufacturer:Xilinx

  • CPLD CoolRunner XPLA3 Family 3K Gates 128 Macro Cells 95MHz 0.35um Technology 3.3V 100-Pin VTQFP
  • Product Categories: Programmable logic array

    Lifecycle:Active Active

    RoHS: No RoHS

  • XCR3128XL-6CSG144C

    Manufacturer:Xilinx

  • CPLD CoolRunner XPLA3 Family 3K Gates 128 Macro Cells 175MHz 0.35um Technology 3.3V 144-Pin CSBGA
  • Product Categories: CPLDs

    Lifecycle:Active Active

    RoHS:

  • XCR3128XL-7CS144C

    Manufacturer:Xilinx

  • CPLD CoolRunner XPLA3 Family 3K Gates 128 Macro Cells 119MHz 0.35um Technology 3.3V 144-Pin CSBGA
  • Product Categories: Programmable logic array

    Lifecycle:Active Active

    RoHS: No RoHS

Need Help?

Support

If you have any questions about the product and related issues, Please contact us.