Visible to Intel only — GUID: hxi1578668944055
Ixiasoft
2.2.1. Timing Path and Clock Analysis
2.2.2. Clock Setup Analysis
2.2.3. Clock Hold Analysis
2.2.4. Recovery and Removal Analysis
2.2.5. Multicycle Path Analysis
2.2.6. Metastability Analysis
2.2.7. Timing Pessimism
2.2.8. Clock-As-Data Analysis
2.2.9. Multicorner Timing Analysis
2.2.10. Time Borrowing
3.1. Timing Analysis Flow
3.2. Step 1: Specify Timing Analyzer Settings
3.3. Step 2: Specify Timing Constraints
3.4. Step 3: Run the Timing Analyzer
3.5. Step 4: Analyze Timing Reports
3.6. Applying Timing Constraints
3.7. Timing Analyzer Tcl Commands
3.8. Timing Analysis of Imported Compilation Results
3.9. Using the Intel® Quartus® Prime Timing Analyzer Document Revision History
3.10. Intel® Quartus® Prime Pro Edition User Guide: Timing Analyzer Archive
3.5.1.1. Report Fmax Summary
3.5.1.2. Report Timing
3.5.1.3. Report Timing By Source Files
3.5.1.4. Report Data Delay
3.5.1.5. Report Net Delay
3.5.1.6. Report Clocks and Clock Network
3.5.1.7. Report Clock Transfers
3.5.1.8. Report Metastability
3.5.1.9. Report CDC Viewer
3.5.1.10. Report Asynchronous CDC
3.5.1.11. Report Logic Depth
3.5.1.12. Report Neighbor Paths
3.5.1.13. Report Register Spread
3.5.1.14. Report Route Net of Interest
3.5.1.15. Report Retiming Restrictions
3.5.1.16. Report Register Statistics
3.5.1.17. Report Pipelining Information
3.5.1.18. Report Time Borrowing Data
3.5.1.19. Report Exceptions and Exceptions Reachability
3.5.1.20. Report Bottlenecks
3.6.1. Recommended Initial SDC Constraints
3.6.2. SDC File Precedence
3.6.3. Modifying Iterative Constraints
3.6.4. Using Entity-bound SDC Files
3.6.5. Creating Clocks and Clock Constraints
3.6.6. Creating I/O Constraints
3.6.7. Creating Delay and Skew Constraints
3.6.8. Creating Timing Exceptions
3.6.9. Using Fitter Overconstraints
3.6.10. Example Circuit and SDC File
3.6.8.5.1. Default Multicycle Analysis
3.6.8.5.2. End Multicycle Setup = 2 and End Multicycle Hold = 0
3.6.8.5.3. End Multicycle Setup = 2 and End Multicycle Hold = 1
3.6.8.5.4. Same Frequency Clocks with Destination Clock Offset
3.6.8.5.5. Destination Clock Frequency is a Multiple of the Source Clock Frequency
3.6.8.5.6. Destination Clock Frequency is a Multiple of the Source Clock Frequency with an Offset
3.6.8.5.7. Source Clock Frequency is a Multiple of the Destination Clock Frequency
3.6.8.5.8. Source Clock Frequency is a Multiple of the Destination Clock Frequency with an Offset
Visible to Intel only — GUID: hxi1578668944055
Ixiasoft
3.4.2. Enabling Time Borrowing Optimization
During any High or Superior Performance compilation, the Compiler automatically computes and stores Optimal time borrow values for Intel® Stratix® 10 and Intel® Arria® 10 designs during the Finalize stage. By default, the subsequent timing analysis results reflect the Optimal borrow values from the Finalize stage.
Follow these steps to enable time borrowing for supported devices:
- Click Assignments > Settings > Compiler Settings > Optimization Mode. Select any high or superior Performance setting.
- Run the Fitter and Timing Analyzer, as Step 3: Run the Timing Analyzer describes.
- To generate reports showing time borrowing data, click Reports > Timing Slack > Report Timing. Time borrowing data appears on the critical path for a given clock domain, as Report Time Borrowing Data describes.
Figure 42. Performance Compiler Optimization Mode Settings
-
To specify time borrowing optimization without changing the Compiler Optimization Mode, specify the following assignment in the project .qsf:
set_global_assignment -name ENABLE_TIME_BORROWING_OPTIMIZATION <ON|OFF>
- To manually specify the time borrow mode during timing analysis, run one of the following update_timing_netlist command options:
Time Borrowing Mode | Command Option | Default Mode For |
---|---|---|
Optimal—timing analysis includes optimal time borrow values from the Finalize stage. You can optionally add the recompute_borrow option to update_timing_netlist to recompute the borrow amounts, but not the borrow window sizes. |
update_timing_netlist | High and Superior performance compilations for Intel® Stratix® 10 and Intel® Arria® 10 designs. |
Dynamic—timing analysis reports the time borrowing that would physically occur on the device, with respect to your SDC constraints, without any optimization. That is, timing analysis applies as much borrowing as necessary to fix all negative slack. Timing analysis assumes maximum possible borrowing for any timing path where the maximum amount of time borrowing is insufficient to eliminate all negative slack. Only mode that allows borrowing for level-sensitive latches. | update_timing_netlist -dynamic_borrow update_timing_netlist -loop_aware_dynamic_borrow | None |
Zero—timing analysis uses zero time borrowing. | update_timing_netlist –no_borrow | Unsupported devices, or any Compiler Optimization mode other than a Performance mode. |
Note: Dynamic mode cannot yield the optimal results with overconstrained clocks, as overconstrained clocks result in excessive negative slack on almost every path. This condition causes use of maximum time borrowing everywhere, which is unlikely to be optimal. When using Partial Reconfiguration, if you compile the base design with time borrowing enabled, compile the implementation design(s) with time borrowing enabled. Otherwise, time borrowing amounts in the base design reset to zero, and the design may not pass timing. If this condition occurs, you can use the update_timing_netlist –recompute_borrow command to restore time borrowing amounts throughout the design.
Related Information