Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • Logic Synthesis Glossary
  • Logic Synthesis Cheatsheet
  • Synthesis Foundations14
  • Logic Optimisation and Mapping20
  • Constraints and Timing15
    • SDC for Synthesis
    • Delay Models and Slack
      • Arrival, Required Time and Slack
      • Setup, Hold and Clock-to-Q
      • Cell Delay Models
      • Wire Delay at Synthesis Time
      • A Static Timing Calculator
    • Timing-Driven Synthesis
  • Sequential, FSM and Memory19
  • Datapath Synthesis14
  • Area, Power and Test14
  • Verification, ECO and Handoff15
  • Flows and Debugging15
  • Interview and Judgment11
Loading lesson

‹Delay Models and Slack
  1. Topics
  2. Logic Synthesis
  3. Constraints and Timing
  4. Delay Models and Slack
  5. Setup, Hold and Clock-to-Q

Part 3 · Constraints and Timing · Intermediate

Setup, Hold and Clock-to-Q

Setup and hold checks from clock-to-Q with a worked EXAMPLE pair.

On this page

    Launch and capture edges

    Each register-to-register path starts at a launch edge and ends at a capture edge. The launch flop adds its clock-to-Q delay before the combinational logic begins.

    Setup is checked against the next capture edge, one period later. Hold is checked against the same capture edge, at zero cycles delay.

    Check

    Capture edge

    Depends on the period

    Typical fix

    Setup

    Next edge (one period later)

    Yes: a faster clock tightens it.

    Shorten the path or slow the clock.

    Hold

    Same edge (zero cycles later)

    No: the period cancels out.

    Add delay (buffering); never slow the clock.

    Setup and hold checks

    The setup check asks whether the latest arrival beats the next edge minus setup time. Slow paths and short periods fail it.

    The hold check asks whether the earliest arrival stays past the same edge plus hold time. Fast paths race it, and the clock period cannot help.

    A worked pair

    Take an EXAMPLE 5.00 ns clock with clock-to-Q of 0.30 ns and setup of 0.50 ns. The slowest combinational path is 3.80 ns and the fastest is 0.35 ns, with a hold time of 0.10 ns.

    Diagram
    EXAMPLE parameters (not real library values): period 5.00 ns, clock-to-Q 0.30 ns, setup 0.50 ns, hold 0.10 ns
    setup: slowest arrival = 0.30 + 3.80 = 4.10 ns
    setup required = 5.00 - 0.50 = 4.50 ns
    setup slack = 4.50 - 4.10 = +0.40 ns -> meets
    hold: fastest arrival = 0.30 + 0.35 = 0.65 ns
    hold required = 0.10 ns
    hold slack = 0.65 - 0.10 = +0.55 ns -> meets

    Common mistakes

    Common pitfall

    Slowing the clock fixes setup violations but never fixes hold violations. Hold compares two arrivals from the same edge, so the period is absent from both sides.

    Interview

    Likely probes: which check each fix targets.

    • Setup uses max delays against the next edge; hold uses min delays against the same edge.

    • Clock-to-Q appears in both arrivals, added to the combinational delay.

    • A hold fix adds delay to the fast path; a setup fix shortens the slow path.

    Check yourself The period grows from 5.00 ns to 6.00 ns with all delays fixed. Which slacks change?

    Setup slack grows by 1.00 ns through the required time. Hold slack is unchanged.

    Check yourself Fastest arrival is 0.65 ns and hold time is 0.10 ns. What is the hold slack?

    +0.55 ns. The data stays 0.55 ns past the earliest it may change.

    Related topics

    • Arrival, Required Time and Slack

    • Timing-Driven Synthesis

    • Setup, Hold and Slack

    Previous

    43 / 139

    Next: Cell Delay Models

    Up next

    Up nextCell Delay Models

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Wire Delay at Synthesis Time
    • A Static Timing Calculator