Showing posts with label DFT Tools. Show all posts
Showing posts with label DFT Tools. Show all posts

Design for Testability (DFT)

 

Design for Testability (DFT) in VLSI

🔹 What is DFT?

Design for Testability (DFT) refers to techniques used to make an integrated circuit (IC) testable after fabrication. It ensures fault detection and diagnosis using structured testing methods, reducing manufacturing defects and improving yield.


🔹 Why is DFT Important?

Without DFT, testing an IC with millions to billions of transistors is impractical. DFT helps:
 Detect manufacturing defects (stuck-at faults, shorts, opens).
 Improve fault coverage using structured test techniques.
 Reduce test time and cost with scan-based approaches.
 Enable in-system testing using Built-In Self-Test (BIST).


1️⃣ Key Techniques in DFT

1. Scan Chain (Full Scan & Partial Scan)

🔹 Why? Converts sequential circuits into easily testable structures.
🔹 How? Replaces flip-flops (FFs) with scan flip-flops (SFFs) that shift test patterns.

Example (Full Scan Insertion in Synopsys DC)

set_scan_configuration -style multiplexed_flip_flop
insert_dft

Full Scan: Converts all FFs into scan FFs (high test coverage).
Partial Scan: Converts selected FFs to reduce area overhead.


2. ATPG (Automatic Test Pattern Generation)

🔹 Why? Generates test patterns to detect faults automatically.
🔹 How? Uses tools like TetraMAX (Synopsys), FastScan (Mentor).

Example (ATPG Command for Stuck-at Faults in TetraMAX)

set_faults -stuck
run_atpg
report_faults

Stuck-at Faults: Models logic gates stuck at 0 or 1.
Transition Faults: Detects delay faults in the circuit.


3. Built-In Self-Test (BIST)

🔹 Why? Allows self-testing inside the chip without external testers.
🔹 How? Uses Linear Feedback Shift Registers (LFSRs) for test pattern generation.

Example (BIST Implementation for Memory Using MBIST)

create_bist_controller -type MBIST -instance MBIST_CTRL
add_bist_structure -controller MBIST_CTRL -instance RAM_BLOCK

Logic BIST (LBIST): Tests combinational logic.
Memory BIST (MBIST): Tests embedded memories.


4. JTAG (IEEE 1149.1 - Boundary Scan)

🔹 Why? Enables board-level testing without physical probing.
🔹 How? Adds a Test Access Port (TAP) for scan-based testing.

Example (Enabling JTAG in Synopsys)

set_dft_configuration -jtag_enable true
insert_dft

 Used in board-level debugging and in-system programming.


5. Test Compression (Scan Compression & X-Handling)

🔹 Why? Reduces test data volume and test time.
🔹 How? Uses compactors to merge test responses.

Example (Scan Compression in Synopsys DFT Compiler)

set_scan_compression -enable
insert_dft

X-Masking: Handles unknown values (X) during scan testing.
Compaction: Reduces scan chain length for faster testing.


2️⃣ Fault Models in DFT

Fault Model Description Detection Method
Stuck-at Fault (SAF) A node is permanently 0 or 1 ATPG with stuck-at test patterns
Transition Fault (TF) A slow-to-rise/fall delay defect Launch-on-capture (LOC) or Launch-on-shift (LOS)
Bridging Fault (BF) Two wires are accidentally connected IDDX Testing, Pattern-based ATPG
Open Fault (OF) A break in a wire or via Voltage-based and delay tests
Small Delay Defect (SDD) Minor timing variations causing failures Path delay ATPG, Speed binning

3️⃣ DFT Implementation Flow

Step 1: RTL Design with DFT Guidelines

  • Use DFT-friendly coding (avoid latches, asynchronous resets).
  • Partition design into scan-friendly blocks.

Step 2: Scan Chain Insertion

  • Convert FFs into scan FFs.
  • Connect them into scan chains.

Step 3: ATPG & Fault Coverage Analysis

  • Generate test patterns for stuck-at, transition faults.
  • Run fault simulation to measure coverage.

Step 4: JTAG & BIST Integration (Optional)

  • Enable JTAG (IEEE 1149.1) for boundary scan.
  • Add BIST for self-testing memory & logic.

Step 5: Test Compression for High-Volume Production

  • Reduce scan test data & time using compaction.

Step 6: Physical Design & Post-Silicon Testing

  • Ensure scan routing is optimized to avoid congestion.
  • Perform wafer & final chip testing using ATE (Automatic Test Equipment).

4️⃣ Key DFT Tools

Tool Function
Synopsys DFT Compiler Scan insertion, ATPG
Mentor Tessent ATPG, scan compression
Cadence Modus Scan & test pattern compression
Synopsys TetraMAX ATPG & fault simulation
JTAG ProVision JTAG boundary scan

5️⃣ Advantages of DFT in VLSI

Increases fault coverage (detects hidden defects).
Reduces test cost (fewer tester resources required).
Enables in-system testing (JTAG, BIST).
Improves yield & reliability (early fault detection).
Ensures better manufacturability (scan-friendly design).


 Conclusion

 DFT simplifies post-silicon testing and increases production yield.
 Techniques like Scan Chains, ATPG, BIST, and JTAG enable effective testing.
Fault models (Stuck-at, Transition, Bridging) ensure defect detection.
 DFT tools like DFT Compiler, Tessent, and TetraMAX automate test generation.