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
  • Sequential, FSM and Memory19
  • Datapath Synthesis14
  • Area, Power and Test14
    • Area, Power and Timing Trade-offs
    • Clock Gating and Low Power
    • DFT and Scan Insertion
      • The Scan Flop and Shift
      • DFT-Friendly RTL
      • Chain Stitching and Balancing
      • Scan Overhead in Area and Timing
  • Verification, ECO and Handoff15
  • Flows and Debugging15
  • Interview and Judgment11
Loading lesson

‹DFT and Scan Insertion
  1. Topics
  2. Logic Synthesis
  3. Area, Power and Test
  4. DFT and Scan Insertion
  5. DFT-Friendly RTL

Part 6 · Area, Power and Test · Intermediate

DFT-Friendly RTL

DFT-friendly RTL: testable clocks, resets, and scan blockers to avoid.

On this page

    Clocks must shift

    Every scan flop needs its shift clock in test mode. A gated clock that cannot be forced on leaves its flops unshiftable.

    The standard fix is a test override that forces the gate open while SE is active. The gate still saves power in function and stays open through shift and capture.

    Structure

    Test problem

    Fix

    Ungated flop clock

    None: shifts and captures directly.

    No change.

    Gated clock with test override

    Gate could block shift if left functional.

    Force the gate open in shift and capture.

    Gated clock without override

    Flops behind it never shift.

    Add the override or leave the clock ungated.

    Internally divided clock

    Shift cannot reach its domain directly.

    Bypass or control the divider in test mode.

    Resets must be controllable

    Capture assumes a known starting state, so every asynchronous reset needs a test-mode driver. An internally generated reset that cannot be asserted from a pin leaves unknown state.

    Synchronous resets are ordinary data and shift like any logic. Asynchronous sets and resets get a test bypass back to their pins.

    Loops and other scan blockers

    A combinational loop never settles, so capture results are undefined and shifting proves nothing. Break every loop in function, or open it with a test-mode mux.

    Other blockers include tristate buses left floating and latches that the stitcher cannot order. Each one strands flops that scan cannot reach.

    Blocker

    Why scan fails

    Fix

    Combinational loop

    Logic never settles, so capture is undefined.

    Break the loop or mux it open in test mode.

    Floating tristate bus

    Unloaded value drifts, so capture varies.

    Enable exactly one driver in test mode.

    Uncontrollable async reset

    Starting state is unknown.

    Drive the reset from a pin in test mode.

    Unordered latch

    Shift order cannot be built through it.

    Convert to a scan flop or bypass it.

    Common mistakes

    The calc block prices one missing override. Twelve stranded flops out of five hundred is a small share with a large consequence.

    Diagram
    design total = 500 flops
    flops behind a gated clock with no test override = 12
    untestable share = 12 / 500 = 0.024 = 2.4%
    testable flops = 500 - 12 = 488 = 97.6%
    2.4 + 97.6 = 100.0

    Common pitfall

    Power intent added after DFT sign-off re-gates clocks the stitcher already passed. Recheck every new gate for a test override before accepting it.

    Interview

    Likely probes: naming what breaks scan and the fix for each.

    • Gated clocks need a test override that forces them open.

    • Async resets need pin control in test mode.

    • Loops, floating buses and unordered latches each strand flops.

    Check yourself A block adds clock gating with no test override to twelve flops. What breaks, and what is the cheapest fix?

    Those twelve flops stop shifting, so patterns cannot cover their logic. The cheapest fix is a test-mode override that forces the gate open.

    Check yourself Twelve of five hundred flops are untestable. What share is that?

    2.4%. A small share still forces a full re-stitch, so the override belongs in the RTL, not in a waiver.

    Related topics

    • The Scan Flop and Shift

    • Clock Gating and Low Power

    Previous

    96 / 139

    Next: Chain Stitching and Balancing

    Up next

    Up nextChain Stitching and Balancing

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Scan Overhead in Area and Timing