Functional Yield Loss
Functional yield loss is yield loss caused by a die failing to perform its intended logical or functional operation correctly — a memory cell that won't flip, a logic gate that outputs the wrong value, a state machine that locks up — as distinct from parametric yield loss, where the die performs every function correctly but simply too slowly or with too much leakage. Functional failure is binary: the circuit either does the right thing or it doesn't, and test is built entirely around exposing that binary outcome.
Stuck-at faults — a node permanently fixed at logic 0 or logic 1 regardless of what the circuit is actually trying to drive onto it — are the single most common fault model targeted by digital test, because they capture an enormous share of real functional failures with a tractable test methodology. A stuck-at fault typically traces back to a physical defect: a short to ground or supply, an open connection that leaves a node floating at whatever value parasitic capacitance happens to hold, a transistor that never switches. Automatic test pattern generation (ATPG) tools exist specifically to construct test vectors that activate every stuck-at fault a design's netlist could possibly have and then propagate its wrong value to an observable output — comprehensive stuck-at coverage is the baseline expectation for any production digital test program.
Bridging faults — an unintended short between two nodes that should be electrically independent — produce functional failures that depend on the specific logic values present on both shorted nodes, making them considerably harder to model and test for than simple stuck-at faults. Unlike a stuck-at fault, which behaves identically regardless of circuit state, a bridging fault's effect on circuit behavior depends on which specific combination of values the two shorted nodes are driving at that moment — sometimes it changes the output, sometimes the dominant driver simply wins and nothing visibly breaks. This dependency on the specific logic state present is exactly why bridging-fault test coverage requires more sophisticated test generation than stuck-at coverage alone.
Memory arrays fail functionally in distinctive, well-catalogued ways — stuck bits, address decoder faults, coupling faults between adjacent cells — each requiring test algorithms purpose-built for the memory failure mode rather than for the stuck-at fault model that works for most digital logic. A single bad bit cell is enough to fail an entire memory array regardless of how perfectly every other cell in that array behaves, which is exactly why memory built-in self-test (MBIT) runs dedicated march-test algorithms designed to systematically exercise every cell against every neighboring cell's possible value, catching the specific coupling and pattern-sensitive faults that generic stuck-at test patterns would simply miss.
Scan-chain-based test, built around chains of scan flip-flops that let an external tester directly set and read every internal register state, is what actually makes functional fault coverage of a complex digital design tractable at all, converting an otherwise impossibly large combinational test problem into a sequence of controllable, observable steps. Without scan chains, testing internal logic deep inside a design would require driving specific values through potentially hundreds of clock cycles of sequential logic just to set up one test condition. Scan chains instead let the tester shift a desired state directly into every flip-chain-connected register, apply one functional clock cycle, then shift the resulting state back out for comparison — collapsing what would otherwise be an intractable sequential test problem into a structured, exhaustively tractable one.
Fault coverage — the fraction of all modeled possible faults that a given test program actually detects — is the central quality metric for functional test, and it matters because escaped functional faults ship directly to the customer as a defective part rather than merely under-performing. A functional test program is only as good as the fraction of possible faults it's actually capable of catching; incomplete fault coverage means some real defects pass undetected and ship inside working-looking but secretly faulty die. This is exactly why functional yield loss, unlike parametric yield loss, is fundamentally a pass/fail outcome rather than a measured value sitting somewhere along a continuous distribution — a die either demonstrably performs every tested function correctly or it doesn't, with no partial-credit middle ground the way a slightly-slow-but-still-functional parametric die has.