Professional Documents
Culture Documents
Timing Constraints
Outline
OUT
CLK
Constraining Between
Related Clock Domains
Constraining Between
Unrelated Clock Domains
In this example, the delay path between the two clock domains is NOT
covered by either of the PERIOD constraints
You must add a constraint to cover paths when crossing between related
clock domains
D Q
PERIOD CLK_B
D Q
D Q
OUT1
CLK_A
CLK_B
Constraining Between
Unrelated Clock Domains
Define groups of registers CLK_A and CLK_B with the Group by Nets option
Automatically done if you have specified a PERIOD constraint for both clock
domains
PERIOD CLK_A
D
5 ns
PERIOD CLK_B
D
OUT1
CLK_A
CLK_B
Constraining Between
Unrelated Clock Domains
Constraining Between
Unrelated Clock Domains
Outline
200 MHz
CLK
PRE2
Q0 Q1
TC
CE
50 MHz
COUT14
Q2 Q3 Q4
Q14Q15
Outline
False Paths
Outline
Miscellaneous Tab
Prorating Constraints
This will prorate the device delay characteristics to accurately reflect your
worst-case system conditions
False Paths
FROM THRU TO
FROM TO
Pin-Specific OFFSETs
Group OFFSETs
Highest
Lowest
Timing Constraint
Interaction
Whenever a path is covered by more than one constraint, the tools must
choose which constraint to use for timing analysis
If the constraints are of different types, the highest priority constraint is
applied
If the constraints are of the same type (Example: FROM TO), the
decision is more complex
Under Properties for Post-Place & Route Static Timing Report, type in a
filename
In the Timing Analyzer, select Analyze Constraints Interaction
Outline
Skills Check
Review Question
Background Information
However, COUT14 registers are disabled 3/4 of the time so they do not have to
meet a 200-MHz PERIOD constraint
200 MHz
CLK
PRE2
TC
Q0 Q1
CE
50 MHz
COUT14
Q2 Q3 Q4
Q14Q15
Review Questions
What constraints need to be placed on this design to assure it will meet the
performance objectives?
How would you enter these constraints through the Constraints Editor?
How do multi-cycle path constraints improve your designs performance?
200 MHz
CLK
PRE2
TC
Q0 Q1
CE
50 MHz
COUT14
Q2 Q3 Q4
Q14 Q15
Answers
How would you enter these constraints through the Constraints Editor?
Group the flip-flops in COUT14 by clock enable net (group name: MSB)
Constrain from MSB to MSB
They allow the implementation tools to place some logic farther apart and use
slower routing resources
Review Questions
If a PERIOD constraint were placed on this design, what delay paths would
be constrained?
If the goal is to optimize the input and output times without constraining the
paths between registers, what constraints are needed?
Status
Register
Control
Register
Control_Enable
BIDIR_PAD(7:0)
BIDIR_BUS(7:0)
Status_Enable
Answers
Paths between the control registers and the status registers would be
constrained
Status
Registers
Control
Registers
Control_Enable
BIDIR_PAD(7:0)
BIDIR_BUS(7:0)
Status_Enable
Answers
If the goal is to optimize the input and output times without constraining the
paths between registers, what constraints are needed?
Control
Registers
Control_Enable
BIDIR_PAD(7:0)
BIDIR_BUS(7:0)
Status_Enable
Summary
These paths will use slower routing resources, which frees up fast routing
for critical signals
Prorating your operating conditions gives the tools the most accurate
picture of your design environment
In general, more-specific constraints have a higher priority than lessspecific constraints