Intel® Quartus® Prime Standard Edition User Guide: Timing Analyzer

ID 683068
Date 2/21/2024
Public
Document Table of Contents

2.3.4.5.1. Exclusive Clock Groups (-exclusive)

You can use the -exclusive option to declare that two clocks are mutually exclusive.

If you define multiple clocks for the same node, you can use clock group assignments with the -exclusive option to declare clocks as mutually exclusive. This technique can be useful for multiplexed clocks.

For example, consider an input port that is clocked by either a 100-MHz or 125-MHz clock. You can use the -exclusive option to declare that the clocks are mutually exclusive and eliminate clock transfers between the 100-MHz and 125-MHz clocks, as the following diagrams and example SDC constraints illustrate:

Figure 51. Synchronous Path with Clock Mux Internal to FPGA

Example SDC Constraints for Internal Clock Mux

# Create a clock on each port
create_clock -name clk_100 -period 10 [get_ports clkA]
create_clock -name clk_125 -period 8 [get_ports clkB] 
# Set the two clocks as exclusive clocks
set_clock_groups -exclusive -group {clk_100} -group {clk_125}
Figure 52. Synchronous Path with Clock Mux External to FPGA

Example SDC Constraints for External Clock Mux

# Create two clocks on the port clk
create_clock -name clkA -period 10 [get_ports clk]
create_clock -name clkB -period 8 [get_ports clk] -add
# Set the two clocks as exclusive clocks
set_clock_groups -exclusive -group {clkA} -group {clkB}