Skip to the selected question
ASIC.FYI

ASIC Question Bank

1,000+ hardware interview questions
DescriptionQ272
Page ↗
Q272DesignGoogleASIC interview problem

Choose coupled setup and hold ECOs

TechniquesDesignSTASetupHold
DifficultyHard
TopicTiming and STA
LanguagePython
Requirements4 checkpoints
01

Problem

Three independent paths must reach nonnegative setup and hold slack. A speed ECO improves setup by 150 ps but worsens hold by 20 ps; a delay ECO improves hold by 80 ps but worsens setup by 80 ps. Each may be used at most once per path. Find the minimum passing ECO set for each path.

Starting declarationPython
P1: setup=-120 ps, hold=+100 ps
P2: setup=+200 ps, hold=-60 ps
P3: setup=-40 ps, hold=-30 ps
speed ECO: setup +150, hold -20
delay ECO: setup -80, hold +80

Example input and output

Use this case to check your interpretation
Input
P3 starts at setup=-40 ps and hold=-30 ps
Output
Apply speed and delay; final setup=+30 ps and hold=+30 ps
Explanation

Speed alone leaves hold at -50 ps, and delay alone leaves setup at -120 ps. Together the net changes are +70 ps setup and +60 ps hold.

02

Requirements (4)

  • Apply each ECO's effect to both setup and hold, and never apply an ECO fractionally or more than once per path.
  • Choose the fewest ECOs that make both slacks nonnegative for each independent path.
  • If two one-ECO choices pass, prefer the choice with the larger minimum resulting slack.
  • Report the selected ECOs and final numerical setup and hold slack.