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

  • RTL Foundations36
  • Combinational Design25
  • Sequential Design27
  • FSM & Control27
  • Timing & Clocking39
    • STA Foundations
    • Setup, Hold and Slack
    • Skew and Variation
    • Timing Exceptions
    • Clock Gating
    • RTL for Timing
      • Practice
      • Fanout
      • Patterns
      • RTL Hooks
      • Checklist
      • Cutting Logic Depth: a Timing-Closure Story
      • Mini Project: Close Timing on a FIR Filter
    • Clock Architecture
  • Reset & CDC34
  • Memory & Buses57
  • Advanced RTL28
  • Senior & Interview76
  • Glossary and Notation
Loading lesson

‹RTL for Timing
  1. Topics
  2. RTL Design
  3. Timing & Clocking
  4. RTL for Timing
  5. Checklist

Part 5 · Timing & Clocking · Intermediate

Checklist

A pre-synthesis review list for timing-friendly RTL, with evidence for each item.

On this page

    Why this matters

    A short review list catches timing problems before synthesis, when a fix is an edit and not a re-spin of the flow. Eleven checks each name the evidence that closes them.

    After this lesson you can: review RTL for timing with a list that covers interfaces, depth, fanout, assumptions, parameters, exceptions, gating, resets and constraints.

    Before you hand the RTL to synthesis

    Eleven checks cover interfaces, depth, fanout, assumptions, parameters, exceptions, gating, resets and constraints. Each row names the evidence that closes the item.

    Check

    Evidence

    Block inputs and outputs are registered, or the I/O budget is written down

    Interface table with delays

    Estimated logic depth of the three worst paths is within the budget

    Depth budget sheet; ltp-style estimate

    No long operator chains or deep if/else ladders on data

    Code review

    High-fanout control signals identified; replication or hierarchy preserved where needed

    Fanout list; synthesis report shows copies

    Late-arriving signals feed the last stage of selects

    Code review

    One-hot / parallel structures protected by assertions

    $onehot0 assertions in the testbench

    Pipeline depth, output registers and replication counts are parameters

    Parameter list with a latency-aware testbench

    Multicycle and false paths have an RTL reason and a test

    Constraint file with comments; assertion

    Clock gating uses library ICGs with test enable

    Gating report

    Resets are synchronised and fanout-controlled

    Reset tree document

    Constraints cover all clocks, inputs and outputs

    Unconstrained-endpoints report is empty

    Making the list stick

    Tip

    Keep this list in the pull-request template for RTL changes. A short, specific checklist is read; a long generic one is skipped.

    Review questions

    Interview

    Typical closing question: “What would you check in an RTL review for timing?”

    Hit three: interface registers, depth/fanout of the worst paths, and that exceptions have a reason and a test.

    Check yourself Pick two items from the list that can be checked automatically in a regression, and say how.

    (1) Latency parameters: a testbench that takes the latency from the same parameter. (2) One-hot guarantees: $onehot0 assertions that fail in simulation if the assumption is broken. (Also: an empty unconstrained-endpoints report as a synthesis gate.)

    Remember

    • Registered interfaces, estimated depth of the three worst paths and an identified list of high-fanout controls.

    • Every shallow structure has an assertion. Every exception has an RTL reason and a test.

    • Gating uses library ICGs with a test enable, and the unconstrained-endpoints report is empty.

    Rule of thumb: keep a short, specific list in the pull-request template, because a long generic one is skipped.

    Keep going

    • Interview: run a mock interview on this topic

    Related topics

    • Next: Reset and CDC

    Previous

    145 / 350

    Next: Cutting Logic Depth: a Timing-Closure Story

    Up next

    Up nextCutting Logic Depth: a Timing-Closure Story

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Practice
    • Fanout
    • Patterns