What is a setup violation, and what does it mean physically?
From PDVerse STA Mentor Guide · pdVerse Mentor Guide
Short Answer
A setup check makes sure data arrives at a flop's input early enough, before the capturing clock edge, with some margin to spare. A setup violation means slack is negative, so the data arrived too late.
Example
In the worked report_timing example, slack is computed as data required time (0.93) minus data arrival time (0.87), giving +0.06 and a MET result. If arrival had instead exceeded 0.93, the report would show 'VIOLATED' with a negative slack value.
Why It Matters
Physically, a setup violation means the data signal was still changing, or hadn't settled at the flop's input, at the moment the clock tried to capture it. The flop may then capture the wrong, unstable value, which can corrupt the whole downstream logic on that clock cycle.
Equation
Slack = required - arrivalMentor Note — Common Mistake
Don't assume every setup violation must be fixed by making the clock period longer. Look first at the biggest incremental delay contributor along the path, since speeding up that one cell or net is often the real fix.
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