DexterLab

🔥 New release: Parser AXI-Full Edition v1.0.0 now available🔥 Roadmap updated: AXI-Lite & AHB-Full/Lite in development📘 Unified command architecture — new documentation planned📘 Timing diagrams and bus models coming in next updates📘 Theory ↔ Design Library integration continues

MBIST Architecture

Introduction

Memory Built‑In Self‑Test (MBIST) provides autonomous, deterministic testing of embedded memories such as SRAMs, register files, and caches. Unlike logic BIST, which targets combinational and sequential logic, MBIST is optimized for memory‑specific fault models and uses algorithmic test sequences known as March tests.

Why MBIST Is Essential

Embedded memories dominate modern SoCs in both area and defect density. MBIST is required because:

  • Detects memory‑specific faults that logic ATPG cannot target
  • Required for SRAMs, register files, and cache arrays
  • Supports both startup and runtime integrity checks
  • Contributes to diagnostic coverage for safety‑critical systems

Core Architectural Components

Address Generator

Generates the sequence of memory addresses according to the selected March algorithm (up, down, up/down traversal).

Data Pattern Generator

Produces deterministic data patterns such as all‑0, all‑1, checkerboard, walking 1/0, or algorithm‑specific transitions.

Comparator

Compares read data against expected values and flags mismatches.

Fail Logging

Captures failing addresses, expected/observed data, and algorithm step information.

Redundancy Repair (Optional)

Interfaces with BIRA/BISR to remap defective rows or columns using spare elements.

MBIST Controller

Coordinates algorithm execution, timing, read/write operations, and test completion.


Figure 1 — MBIST Architecture

Diagram showing Address Generator, Data Generator, Comparator, Fail Log, MBIST Controller, and Memory Under Test.

March Algorithms

March tests apply ordered sequences of read/write operations to each memory address. They provide high coverage for stuck‑at, transition, coupling, retention, and disturb faults.

Common algorithms include:

  • March C‑
  • March C+
  • March SS
  • March LR

Each algorithm consists of “March elements,” such as:

  • ↑ (r0, w1) — upward traversal, read 0, write 1
  • ↓ (r1, w0) — downward traversal, read 1, write 0

Figure 2 —March C‑, C+, LR, and SS Algorithms

Comparison of four common March algorithms used for memory testing. Each algorithm is expressed as a sequence of address directions (A↑, A↓) and read/write operations. March C‑ and C+ differ in the presence of immediate read‑back checks, March LR alternates address directions, and March SS provides extended coverage through longer operation sequences.

Table1 — Comparison of March C‑, C+, LR, and SS Algorithms

AlgorithmLengthFault CoverageComplexityNotes
C-ShortGoodLowIndustrial baseline
C+MediumVery GoodMediumAdds immediate read‑back
LRMediumVery GoodMediumAlternating address directions
SSLongVery HighHighSafety‑critical applications

Comparative summary of four March algorithms, highlighting the number of steps, address directions (A↑, A↓), and the sequence of read/write operations. The table emphasizes the structural differences between basic (C‑), enhanced (C+), alternating‑direction (LR), and extended‑coverage (SS) March tests.


Safety and Diagnostic Coverage

MBIST contributes directly to functional safety:

  • Detects stuck‑at, transition, coupling, retention, and disturb faults
  • Supports periodic memory integrity checks
  • Enables power‑up self‑test before memory is used
  • Provides diagnostic coverage required for ASIL C/D

Execution Modes

Power‑Up MBIST

Runs at system startup before software accesses the memory.

Online MBIST (Windowed)

Executes during normal operation on memory regions temporarily taken offline.

Background Scrubbing (Optional)

Periodically reads and rewrites memory to detect retention or soft errors.

Related Pages