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
126.96.36.199.1. Default Multicycle Analysis 188.8.131.52.2. End Multicycle Setup = 2 and End Multicycle Hold = 0 184.108.40.206.3. End Multicycle Setup = 2 and End Multicycle Hold = 1 220.127.116.11.4. Same Frequency Clocks with Destination Clock Offset 18.104.22.168.5. Destination Clock Frequency is a Multiple of the Source Clock Frequency 22.214.171.124.6. Destination Clock Frequency is a Multiple of the Source Clock Frequency with an Offset 126.96.36.199.7. Source Clock Frequency is a Multiple of the Destination Clock Frequency 188.8.131.52.8. Source Clock Frequency is a Multiple of the Destination Clock Frequency with an Offset
184.108.40.206.3. Accounting for a Phase Shift (-phase)
In the following example, the design contains a PLL that performs a phase-shift on a clock whose domain exchanges data with domains that do not experience the phase shift. This occurs when the destination clock phase-shifts forward, and the source clock does not shift. The default setup relationship becomes that phase-shift, thus shifting the window when data is valid.
For example, the following code phase-shifts one output of a PLL forward by a small amount, in this case 0.2 ns.
Cross Domain Phase-Shift
create_generated_clock -source pll|inclk -name pll|clk pll|clk create_generated_clock -source pll|inclk -name pll|clk -phase 30 pll|clk
The default setup relationship for this phase-shift is 0.2 ns, shown in Figure A, creating a scenario where the hold relationship is negative, which makes achieving timing closure nearly impossible.
Figure 60. Phase-Shifted Setup and Hold
The following constraint allows the data to transfer to the following edge:
set_multicycle_path -setup -from [get_clocks clk_a] -to [get_clocks clk_b] 2
The hold relationship derives from the setup relationship, making a multicycle hold constraint unnecessary.
Did you find the information on this page useful?