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

AboutRoadmapCareersInternshipsFAQContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • The NanoSoC Tour
  • Reading Path
  • SoC Glossary10
  • SoC Metrics Reference
  • SoC Cheatsheet
  • What SoC Integration Is12
  • Architecture and Budgets21
  • Memory Maps and Address Decode26
  • Interconnect and Bus Fabrics26
  • Clock and Reset Architecture24
  • Power Architecture21
  • Interrupts, DMA and Peripherals15
  • Memories, Boot and Security21
  • IP Integration and Handoff21
    • IP Collateral and Versioning
    • Wrappers and Adapters
    • Integration Lint and Connectivity Checks
    • Top-Level SDC and Constraint Merge
    • DFT Integration
      • Test-Mode Architecture
      • Scan Chains and Wrapper Cells
      • Test Pins and Entry Sequence
    • Debug Infrastructure
    • Safety and Fault Architecture
  • Top-Level Verification and Bring-up21
  • Package, Pads and I/O18
  • Chip Signoff and Tapeout18
  • SoC Interview Prep16
  • Capstone: Integrate NanoSoC14
Loading lesson

←DFT Integration
  1. Topics
  2. SoC Design
  3. IP Integration and Handoff
  4. DFT Integration
  5. Test-Mode Architecture
On this page

    Part 9 of 14, lesson 13 of 21Part 9 of 14/IP Integration and Handoff/Lesson 13 of 21All levels

    Test-Mode Architecture

    Mission, scan test and memory test: what each configures, what steers the phases, and what the controller owns.

    Extension topic: NanoSoC v1 has no scan or test hardware. This lesson uses the NanoSoC test extension described in the DFT Integration overview; numbers marked illustrative belong to that extension only.

    Why it matters

    A chip that cannot be told cleanly whether it is running or being tested tests neither well. Scan wants clocks toggling with block outputs isolated, then the real logic reconnected for the capture pulse; memory test wants the SRAM wrappers in test while the logic around them holds still; mission wants all of it gone without a trace. Without named modes and one owner for switching between them, each block's test hooks point in different directions and the first tester program becomes archaeology. The remedy is a short list of modes and a single owner.

    The core idea

    The NanoSoC test extension defines three chip modes in its test controller. Mission mode disconnects every test mux, enables the functional clocks and resets, and arms the test-entry detector. Scan-test mode has two phases steered by the scan-enable signal: with scan enable high the chains shift on the tester's clock with block outputs isolated through wrapper cells and the switchable-domain crossings clamped, so shift activity cannot leak into the always-on controller; with scan enable low one or two capture pulses reach the flops with isolation released inside the partition under test. Memory-test mode hands the two SRAM macros and the ROM interface to the tester through their wrappers while the surrounding logic is held in reset, so memory results cannot be corrupted by logic toggling. Shift and capture are phases of one mode, not separate chip modes.

    Where the capture clock comes from depends on the fault model. Stuck-at patterns can capture on a slow clock, because they test logic function. Delay-fault patterns need capture pulses at functional speed, taken from the PLL through an on-chip clock controller that emits the launch and capture pulses, and without them a timing path is never exercised. Shift uses the tester's clock and does not need the PLL at all; entry into a mode whose capture clocks come from the PLL is refused until PLL lock is seen. One controller owns every transition, sequenced so clocks are stable before release and isolation precedes any power move, reusing the reset and power ordering of the earlier parts of the course.

    Diagram
    # not-run: NanoSoC test-mode table for the test extension, illustrative
    mission:   test muxes off, functional clocks and resets, entry detector armed
    scan test: scan enable high = shift on the tester clock, wrappers isolating, crossings clamped
               scan enable low  = capture pulse(s): slow for stuck-at, PLL-derived at speed for delay faults
    memtest:   SRAM0, SRAM1 and ROM wrappers to tester, surrounding logic held in reset
    owner:     one test controller in PD_AON; transitions sequenced with clocks, resets and isolation

    What the review looks for

    • The mode table above, current, with every mux, clock source and isolation state per mode and per phase, including the scan-enable value.

    • One owner for transitions; no block switches its own test hooks independently of the controller.

    • Capture defined with real clocks (slow for stuck-at, PLL-derived at speed for delay faults) and scan reset as an ordinary synchronised release, never produced by gating a scan clock.

    Verify and debug

    Simulate every mode transition in both directions, including the illegal ones the controller must refuse: at-speed capture requested while the PLL is unlocked, capture with isolation still clamped, memory test while the CPU fetches. Each refusal must be a clean stay-in-mode, never a half-switched fabric. When a tester program misbehaves, read back the mode register first; most DFT debug sessions end at a chip in the wrong mode.

    Partial-reset hang across a test boundary: one side reset while the other sits mid-transaction, leaving the bus waiting for a response that never comes. In DFT this is entering memory test while the fabric still has an outstanding access to the SRAM under test. Caught by sequencing review and directed tests; fixed by draining and quiescing interfaces before the mode switch, with both sides reset together or flushed.

    If asked to name the test modes of a chip, answer with what each connects and isolates, not just its name: scan test shifts with outputs isolated and captures with the logic reconnected, memory test isolates the macros from the logic. Then name the owner: one controller, sequenced with clocks and resets.

    Check yourself Why does a delay-fault pattern need capture pulses at functional speed, while a stuck-at pattern does not?

    A stuck-at fault changes logic function, so any capture clock finds it. A delay fault only shows when a path is asked to finish within its real period, so the capture pulses must come at functional speed from the PLL through the on-chip clock controller. Shift stays on the slow tester clock because it only moves data.

    Related topics

    • Next: Scan Chains and Wrapper Cells

    • DFT: DFT-PD Handoff

    Previous

    184 / 289

    Next: Scan Chains and Wrapper Cells

    Up next

    Up nextScan Chains and Wrapper Cells

    Sign in to save progress

    Practice this lessonPrevious lessonReport an error

    See also

    • Test Pins and Entry Sequence