Skip to question
asic.fyi
DesignVerificationSystemVerilogFirmwareArchitectureInterviews
asic.fyi/Interview questions/Choose coupled setup and hold ECOs

Hardware interview practice

Choose coupled setup and hold ECOs

HardTiming and STAPYTHON

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.

Try it in the question bankReason first. Then compare.

Keep this exact question selected while you check your answer and review the full solution.

Practice this question →
Starting point

Question code

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
Reviewed example

Work through one case

Input
P3 starts at setup=-40 ps and hold=-30 ps
Expected output
Apply speed and delay; final setup=+30 ps and hold=+30 ps

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.

What to cover

Requirements

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

Related questions

Timing and STACalculate a falling-to-rising half-cycle setup path→Timing and STALocal repair for a hold violation→Static Timing AnalysisEffect of positive capture skew→
asic.fyi · Learn silicon end to end.info@asic.fyi