Intel® Quartus® Prime Standard Edition User Guide: Timing Analyzer
ID
683068
Date
2/21/2024
Public
2.3.1. Recommended Initial SDC Constraints
2.3.2. SDC File Precedence
2.3.3. Iterative Constraint Modification
2.3.4. Creating Clocks and Clock Constraints
2.3.5. Creating I/O Constraints
2.3.6. Creating Delay and Skew Constraints
2.3.7. Creating Timing Exceptions
2.3.8. Example Circuit and SDC File
2.3.7.5.1. Default Multicycle Analysis
2.3.7.5.2. End Multicycle Setup = 2 and End Multicycle Hold = 0
2.3.7.5.3. End Multicycle Setup = 2 and End Multicycle Hold = 1
2.3.7.5.4. Same Frequency Clocks with Destination Clock Offset
2.3.7.5.5. Destination Clock Frequency is a Multiple of the Source Clock Frequency
2.3.7.5.6. Destination Clock Frequency is a Multiple of the Source Clock Frequency with an Offset
2.3.7.5.7. Source Clock Frequency is a Multiple of the Destination Clock Frequency
2.3.7.5.8. Source Clock Frequency is a Multiple of the Destination Clock Frequency with an Offset
2.3.4.1.1. Automatic Clock Detection and Constraint Creation
Use the derive_clocks command to automatically create base clocks in your design The derive_clocks command is equivalent to using the create_clock command for each register or port feeding the clock pin of a register. The derive_clocks command creates clock constraints on ports or registers to ensure every register in your design has a clock constraints, and it applies one period to all base clocks in your design.
The following command specifies a base clock with a 100 MHz requirement for unconstrained base clock nodes.
derive_clocks -period 10
Warning: Do not use the derive_clocks command for final timing sign-off; instead, you create clocks for all clock sources with the create_clock and create_generated_clock commands. If your design has more than a single clock, the derive_clocks command constrains all the clocks to the same specified frequency. To achieve a thorough and realistic analysis of your design’s timing requirements, make individual clock constraints for all clocks in your design.
If you want to create some base clocks automatically, use the -create_base_clocks option to derive_pll_clocks. With this option, the derive_pll_clocks command automatically creates base clocks for each PLL, based on the input frequency information that you specify when you generate the PLL. This feature works for simple port-to-PLL connections. Base clocks do not automatically generate for complex PLL connectivity, such as cascaded PLLs. You can also use the command derive_pll_clocks -create_base_clocks to create the input clocks for all PLL inputs automatically.