Visible to Intel only — GUID: ntz1535573669856
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: ntz1535573669856
Ixiasoft
3.6.4.2. Entity-bound Constraint Examples
The following examples show the automatic and manual scope of entity-bound constraints.
Figure 95. Automatic Scope Example
The following table illustrates the automatic scope of constraints as they apply to Automatic Scope Example.
Constraint Example | Auto-Scope Constraint Interpretation for Instance X|Y |
---|---|
set_false_path -from [get_keepers a] | set_false_path -from [get_keepers X|Y|a] |
set_false_path -from [get_registers a] -to “*” | set_false_path -from [get_registers X|Y|a] |
set_false_path –from [get_clocks clk_1] –to [get_clocks clk_2] | set_false_path –from [get_clocks clk_1] –to [get_clocks clk_2] |
set_max_delay –from [get_ports in] -to [get_registers A] 2.0 | set_max_delay –from [get_ports in] -to [get_registers X|Y|A] 2.0 |
get_ports * | get_ports * |
get_clocks * |
get_clocks * |
get_ports a |
get_ports a |
get_clocks a |
get_clocks a |
Note: In table Automatic Scope Example, get_ports a and get_clocks a are simply examples that use an arbitrary name for the collection filter. These examples show that collection filters for get_ports and get_clocks are not subject to automatic constraint scoping because the ports and clocks are global, top-level objects that are never in the scope of an instance.
Figure 96. Manual Scope Example
The following table illustrates the manual scope of constraints as they apply to Manual Scope Example.
Constraint Example | Manual Scope Constraint Interpretation |
---|---|
set_false_path –from [get_current_instance]|d\ –to [get_current_instance]|e |
set_false_path –from i1|inner|d –to i1|inner|e set_false_path –from i2|inner|d –to i2|inner|e set_false_path –from i3|d –to i3|e |
create_generated_clock –divide_by 2 –source \ [get_ports inclk] –name \ [get_current_instance]_divclk \ [get_current_instance]|div set_multicycle_path –from [get_current_instance]|a\ –to [get_current_instance]|b 2 |
create_generated_clock –divide_by 2 –source \ [get_ports inclk] –name “i1_divclk” i1|div set_multicycle_path –from i1|a –to i1|b 2 \ create_generated_clock –divide_by 2 –source \ [get_ports inclk] –name “i2_divclk” i2|div set_multicycle_path –from i2|a –to i2|b 2 |