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. The Scan Flop and Shift

Part 6 · Area, Power and Test · Intermediate

The Scan Flop and Shift

The mux-D scan flop, scan enable, and shift and capture operation.

On this page

    The mux-D scan flop

    A scan flop is a 2-to-1 mux feeding a flop. In normal mode the mux passes functional data, and in shift mode it passes the previous chain bit.

    The mux sits on the data input, never on the clock. The clock path stays untouched so shift and function share one timing reference.

    Pin

    Role

    D

    Functional data, selected when scan enable is low.

    SI

    Scan data from the previous flop, selected when scan enable is high.

    SE

    Scan enable: the mux select, low for capture and high for shift.

    Q / SO

    Flop output, feeding logic in capture and the next flop in shift.

    Shift and capture

    A test runs in three steps: shift a pattern in with SE high, pulse one functional clock with SE low to capture responses, then shift the responses out. Unloading one pattern can overlap with loading the next.

    Phase

    SE

    What happens

    Load

    High

    Each shift clock moves one bit down the chain.

    Capture

    Low

    One functional clock stores each flop's logic response.

    Unload

    High

    Shift clocks move captured bits to the scan-out pin.

    The calc block runs one chain end to end. Twelve flops need twelve cycles each way plus one capture.

    Diagram
    one chain of 12 flops, one pattern, no load-unload overlap
    load = 12 shift cycles
    capture = 1 functional cycle
    unload = 12 shift cycles
    per pattern = 12 + 1 + 12 = 25 cycles
    EXAMPLE shift clock 25 MHz -> period 40 ns (stated example parameter)
    test time = 25 x 40 ns = 1000 ns = 1.0 us

    Test mode and scan enable

    Test mode holds the chip in a configuration where scan works: scan clocks run and asynchronous controls come from pins. SE switches between shift and capture and stays stable across each phase, with setup and hold to the shift clock.

    Full scan makes every flop a shift position, so any state can be loaded and read back. Pattern generation then treats sequential logic as combinational between scan flops, at concept level with no coverage numbers claimed here.

    Common mistakes

    Common pitfall

    Treating SE as a fast signal breaks shift. SE fans out to every scan mux, so it is distributed like a slow control and changed only between phases, never raced with the shift clock.

    Interview

    Likely probes: the three test phases and what SE does.

    • Load with SE high, capture with SE low, unload with SE high again.

    • The mux is on the data path, and the clock path is untouched.

    • Shift length equals chain length: one cycle per flop.

    Check yourself SE reads high for ten clocks, then low for one clock. What just happened?

    A ten-bit pattern shifted in, then one capture pulse stored the logic responses. The chain now holds test results ready to shift out.

    Check yourself Why does the scan mux sit on D rather than on the clock?

    Gating the clock risks runt pulses and skew. A mux on data keeps one clean clock for both shift and capture.

    Related topics

    • DFT-Friendly RTL

    • Flops, Resets and Enables

    Previous

    95 / 139

    Next: DFT-Friendly RTL

    Up next

    Up nextDFT-Friendly RTL

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • Chain Stitching and Balancing
    • Scan Overhead in Area and Timing