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

  • How to Use This Course
  • Reading Path
  • STA Glossary
  • STA Metrics Reference
  • STA Mastery Cheatsheet
  • Timing Paths and Checks16
  • Constraints & SDC Fundamentals20
  • Delay Graph & Path Analysis16
  • Beyond Setup and Hold16
    • Latches and Time Borrowing
      • Latch Timing Model
      • Time Borrowing Worked
      • Borrowing Chains
      • Latch Signoff Rules
    • Clock Gating Checks
    • Recovery, Removal and Async
    • Pulse Width and Min Period
  • Multi-Corner Multi-Mode Signoff16
  • OCV, AOCV, POCV and Variation16
  • Crosstalk and Noise16
  • ECO and Closure16
  • STA Debug Playbook16
  • STA Interview Prep26
  • Capstone Timing Signoff Lab4
Loading lesson

‹Latches and Time Borrowing
  1. Topics
  2. Static Timing Analysis
  3. Beyond Setup and Hold
  4. Latches and Time Borrowing
  5. Latch Signoff Rules

Part 4 · Beyond Setup and Hold · All levels

Latch Signoff Rules

Rules that keep latch-based paths reviewable: intent, bounded borrowing, hold at the right edge, and end-to-end slack.

On this page

    Why it matters

    Latch timing is easy to get subtly wrong because reports show borrowing, not a single slack. A short set of rules makes the review mechanical.

    The rules

    Rule

    Why

    Every latch is intentional and documented

    Accidental latches from RTL are errors; lint finds them

    Clock duty cycle is defined for latch clocks

    The transparent window depends on it

    Borrowing is bounded and reported per latch

    No latch should borrow nearly its whole window without review

    Hold is checked at the correct edge for each pair of phases

    Same-phase latches have a transparent overlap that can race

    End-to-end slack is reported per chain

    Single-stage slack hides chain failures

    Paths through transparent latches are in the timing report

    A tool that stops at the latch hides the downstream path

    example.py
    1
    2
    3
    4
    5
    6
    latches = {"L1": 1.0, "L2": 4.7, "L3": 0.2}      # borrowed ns
    window, setup = 5.0, 0.1
    limit = 0.9 * (window - setup)                      # review threshold: 90% of the maximum borrow
    flag = [n for n, b in latches.items() if b > limit]
    assert abs(limit - 4.41) < 1e-9 and flag == ["L2"]
    print("PASS: latches over the review threshold:", flag)

    A simple review threshold (90% of the maximum possible borrow) flags L2, which borrows 4.7 of a possible 4.9 ns: almost no setup margin remains, and any small delay increase would fail the latch. The threshold is a team policy; the principle is that borrowing near the maximum is a risk even when slack is technically positive.

    What the review looks for

    • A table per block of latches, their borrowed time, maximum borrow and flagged ones.

    • Hold checks between phases are reviewed (opposite phases have more margin but still need a hold check; same-phase transparent pairs are the highest race risk).

    • Latch-based structures are covered by constraints and checks the team understands; unexplained latches are removed.

    Common pitfall

    Treating a latch that borrows nothing as a problem. Data arriving before the latch opens borrows nothing, which is fine; the cases to review are the large borrows.

    Interview

    Offer the 90%-of-window rule as an example of a review policy, and note it is a policy rather than a physical law.

    Check yourself Two latches on the same phase feed each other with a 0.2 ns path. What risk is there?

    A hold race: both are transparent at the same time, so data can race through both within one phase. Hold must be checked at the correct edges and often fixed with delay or by using opposite phases.

    Related topics

    • Borrowing Chains

    Previous

    61 / 183

    Next: Clock Gating Checks

    Up next

    Up nextClock Gating Checks

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Latch Timing Model
    • Time Borrowing Worked