Quartus® Prime Pro Edition User Guide: Timing Analyzer

ID 683243
Date 4/01/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

2.3.4. Iteratively Modifying Constraints

You initially establish SDC-on-RTL constraints during the Analysis & Elaboration stage of the compilation flow. Making iterative changes to SDC-on-RTL constraints may require you to rerun Analysis & Elaboration multiple times to apply revised constraints to the netlist.

It is best to designate constraints that remain constant across compilation stages as SDC-on-RTL constraints. Subsequently, you can iteratively modify and reanalyze the constraints in the rest of your design using conventional constraint files.

To iteratively modify constraints, follow these steps

  1. Click Tools > Timing Analyzer.
  2. Generate the reports you want to analyze. Double-click Report All Summaries under Macros to generate setup, hold, recovery, and removal summaries, summaries for supported reports, and a list of all the defined clocks in the design. These summaries cover all paths you constrain in your design. Whenever modifying or correcting constraints, generate the Constraint Diagnostic reports to identify unconstrained parts of your design, or ignored constraints.
  3. Analyze the results in the reports. When done modifying constraints, rerun the reports to find any unexpected results. For example, a cross-domain path might indicate that you forgot to cut a transfer by including a clock in a clock group.
  4. Create or edit the appropriate constraints in your .sdc file and save the file.
  5. Double-click Reset Design in the Tasks pane. This removes all constraints from your design. Removing all constraints from your design allows rereading the SDC files, including your changes.
  6. Regenerate the reports you want to analyze.
  7. Reanalyze the results.
  8. Repeat steps 4-7 as necessary.

Using this approach, timing analysis runs with updated constraints, preserving the existing logic placement. The Fitter relies on the original constraints for design place-and-route, while the Timing Analyzer incorporates the newly applied constraints. If any timing issues arise in relation to the updated constraints, rerun the Fitter stage of compilation. Furthermore, for enhanced control over your design, consider converting select refined constraints to the SDC-on-RTL approach, as Specifying SDC-on-RTL Timing Constraints describes.