Stuck-At Fault — SA0 & SA1
VLSI Fault Models — Comparison
Dominant fault model
Models a net permanently stuck at 0 or 1 due to shorts/opens, oxide damage, metal bridging. Tested at slow speed. Detects most structural defects. Industry standard ≥95% SAFC for tapeout. Tools: slow-mode scan patterns.
At-speed testing
Models a net that transitions correctly but too slowly — resistive opens, extra capacitance, degraded transistors. Must be tested at full functional clock speed. Requires OCC for at-speed capture. Target: ≥80% TFC.
Net-to-net short
Models a short between two nets — wiring short, metal bridge, or electromigration. One net dominates the other (AND-bridging or OR-bridging depending on driver strengths). Requires neighbor-aware fault models. More difficult to test than stuck-at.
Transistor-level defects
ISTAT (Intra-cell Stuck-at) models defects within a standard cell — resistive opens, partial bridges, parasitic interactions. Generated from transistor-level SPICE simulation. Captures defects not visible at gate level. Required for high-coverage automotive designs.
| Fault Model | Test Clock | Coverage Target | Tool Support |
|---|---|---|---|
| Stuck-At (SA0/SA1) | Slow (scan clock) | ≥95% commercial, ≥99% automotive | Tessent, TetraMAX, Encounter Test |
| Transition (TF) | At-speed (functional) | ≥80% transition fault coverage | Tessent, TetraMAX |
| Path Delay | At-speed | Critical paths only | Tessent TDRC |
| Bridge Fault | Slow or at-speed | Supplemental to stuck-at | Tessent (layout-aware) |
| Cell-Aware | Slow (intra-cell) | Required for automotive | Tessent Cell-Aware ATPG |
| IDDQ (current) | N/A (measure I_DD) | Catches opens, bridges | ATE current monitoring |
ATPG Algorithms — D-Algorithm, PODEM, FAN
| Algorithm | Approach | Key Innovation | Use Today |
|---|---|---|---|
| D-Algorithm (1966) | Boolean 5-value logic (0,1,D,D̄,X) backtracking over gate network | Introduced D-value to represent fault effect; classic foundation | Educational reference; replaced by faster methods |
| PODEM (1981) | Primary Input Oriented search — only assigns values at primary inputs, avoids internal contradictions | Dramatically reduced backtracking vs D-algorithm; handles reconvergent fanout | Still referenced; basis for modern tools |
| FAN (1983) | Fanout-Oriented ATPG — identifies unique sensitization (single path) first, then backtracks | Unique sensitization + head line identification reduces search space 10–100× | Foundation for Siemens Tessent, Synopsys TetraMAX |
| Modern SAT-based | Converts ATPG to Boolean SAT problem; SAT solver finds satisfying assignment | Complete — can prove untestability; handles large designs efficiently | Increasingly used for hard-to-test logic, sequential ATPG |
Fault Coverage Calculation
| Fault Category | Definition | Action |
|---|---|---|
| Detected (D) | ATPG found a test pattern that detects this fault — response differs from fault-free | Counts toward coverage — good |
| Possibly Detected (PD) | Pattern may detect fault but not proven — X-values on propagation path | Counts as partial — try to resolve X-sources |
| Untestable (UT) | Formally proven that no pattern can detect this fault — redundant logic | Removed from denominator in coverage calculation |
| Undetected (UD) | No pattern found — could be testability issue or truly untestable (not yet proven) | Investigate — add observability points or fix RTL testability |
| ATPG Abort (AU) | Search exceeded time/backtrack limit without finding or proving untestable | Must be <1% — increase effort or add constraints |