AN 584: Timing Closure Methodology for Advanced FPGA Designs

ID 683145
Date 10/08/2021
Public
Document Table of Contents

1.5.4.2. Setting Proper Timing Constraints

The Intel® Quartus® Prime software preserves timing constraints in Synopsys Design Constraints (.sdc) file format that uses the Tcl syntax. You can embed these .sdc constraints in a scripted compilation flow, and even create sets of .sdc files for timing optimization.

The Fitter uses the .sdc timing constraints to further optimize your design. The Timing Analyzer uses the .sdc timing constraints for static timing analysis.

By default, the Timing Analyzer assumes that all clocks in a design are related to each other, and analyzes all paths. It is possible that paths between some clock domains are false, and require no analysis. If the clocks in your design asynchronous to each other, use the set_clock_groups command in your constraint file to specify this relationship in your clock groups.

Investigate the relationship between various clocks in your design and categorize them appropriately. Supplying the appropriate constraints helps you separate real violations from false violations. Make changes in your HDL or assignments to solve issues when you identify real violations.

When you have multiple interacting clock domains, or when your design has high performance circuits, such as external memory interfaces, or clock multiplexing, ensure that the correct inter-clock constraints are present. Otherwise, the Compiler cannot focus effort on only the most critical paths.

For examples that show different scenarios for constraining your design, refer to the Intel® Quartus® Prime Timing Analyzer Cookbook and Applying Timing Constraints section of Intel® Quartus® Prime Pro Edition User Guide: Timing Analyzer.