What does set_input_delay do?
From PDVerse STA Mentor Guide · pdVerse Mentor Guide
Short Answer
set_input_delay models how long after a clock edge the data actually arrives at an input port, telling the STA tool how much of the clock period is already used up before the signal even enters the chip.
Example
The command set_input_delay 300 -clock clk [get_ports port_in] tells the tool that data at port_in arrives 300 ps after the clk edge, before it starts through the chip's internal logic.
Why It Matters
Without this constraint, the tool would assume input data arrives at the clock edge with zero delay, which is unrealistic and would let in2reg paths pass timing checks that would actually fail once you account for external delay.
Command
set_input_delay 300 -clock clk [get_ports port_in] -- models 300 ps of
external delay before data reaches port_in relative to the clk edgeMentor Note — Common Mistake
Leaving out the -clock switch — since a reference clock is almost always required, an input delay without it either errors out or attaches to the wrong clock, producing incorrect required times.
Continue learning free
Get a practical low-power chapter
Receive the existing “Low Power and Multivoltage Fundamentals” PDF chapter and its download link by email.
Continue practising