Home Knowledge Base Semiconductor Test Program Development

Semiconductor Test Program Development is the engineering discipline of creating comprehensive test sequences that exercise every function and fault model of an integrated circuit on automatic test equipment (ATE) — balancing fault coverage (detecting all defective chips), test time (directly determines test cost), and quality metrics (defects per million shipped), where a modern SoC test program may include thousands of test patterns across structural, functional, parametric, and at-speed test categories.

Test Categories

CategoryWhat It TestsMethodCoverage
Structural (scan)Manufacturing defects (stuck-at, transition)ATPG-generated patterns>99% fault coverage
FunctionalCorrect chip operationFunctional vectorsDesign intent
ParametricAnalog values (Voh, Vol, Idd, timing)Measure specific parametersAnalog/mixed-signal
At-speedTiming faults, path delayLaunch-on-capture/shiftTiming defects
BISTMemory, logic, PLL self-testOn-chip test engineMemory, specific blocks
Burn-inEarly life failuresElevated V and TReliability

Test Program Structure

<svg viewBox="0 0 485 644" xmlns="http://www.w3.org/2000/svg" style="max-width:100%;height:auto" role="img"><rect x="0" y="0" width="485" height="644" rx="12" fill="#0d1117"/><g font-family="ui-monospace,SFMono-Regular,Menlo,Consolas,&quot;Liberation Mono&quot;,monospace" font-size="14"><text xml:space="preserve" x="20" y="31.7"><tspan fill="#c9d1d9">[Test Program]</tspan></text><text xml:space="preserve" x="20" y="50.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> [DC parametric tests]</tspan></text><text xml:space="preserve" x="20" y="69.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> Open/short test (contact integrity)</tspan></text><text xml:space="preserve" x="20" y="88.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> Leakage (IDDQ, junction leakage)</tspan></text><text xml:space="preserve" x="20" y="107.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">└──</tspan><tspan fill="#c9d1d9"> Power supply current (IDD at each voltage)</tspan></text><text xml:space="preserve" x="20" y="126.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan></text><text xml:space="preserve" x="20" y="145.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> [Structural tests]</tspan></text><text xml:space="preserve" x="20" y="164.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> Scan stuck-at (ATPG patterns)</tspan></text><text xml:space="preserve" x="20" y="183.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> Scan transition-delay (at-speed)</tspan></text><text xml:space="preserve" x="20" y="202.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> Scan bridge/IDDQ patterns</tspan></text><text xml:space="preserve" x="20" y="221.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">└──</tspan><tspan fill="#c9d1d9"> Scan compression patterns</tspan></text><text xml:space="preserve" x="20" y="240.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan></text><text xml:space="preserve" x="20" y="259.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> [Memory BIST]</tspan></text><text xml:space="preserve" x="20" y="278.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> SRAM MBIST (all embedded memories)</tspan></text><text xml:space="preserve" x="20" y="297.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> ROM BIST</tspan></text><text xml:space="preserve" x="20" y="316.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">└──</tspan><tspan fill="#c9d1d9"> Memory repair (fuse programming)</tspan></text><text xml:space="preserve" x="20" y="335.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan></text><text xml:space="preserve" x="20" y="354.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> [Functional tests]</tspan></text><text xml:space="preserve" x="20" y="373.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> PLL lock test</tspan></text><text xml:space="preserve" x="20" y="392.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> IO loopback</tspan></text><text xml:space="preserve" x="20" y="411.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> Core functionality (processor boot)</tspan></text><text xml:space="preserve" x="20" y="430.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">└──</tspan><tspan fill="#c9d1d9"> Interface protocol test (PCIe, USB)</tspan></text><text xml:space="preserve" x="20" y="449.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan></text><text xml:space="preserve" x="20" y="468.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> [At-speed tests]</tspan></text><text xml:space="preserve" x="20" y="487.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> Clock frequency test (Fmax search)</tspan></text><text xml:space="preserve" x="20" y="506.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> SHMOO plot (voltage/frequency margin)</tspan></text><text xml:space="preserve" x="20" y="525.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan><tspan fill="#c9d1d9">    </tspan><tspan fill="#6e7681">└──</tspan><tspan fill="#c9d1d9"> Speed binning</tspan></text><text xml:space="preserve" x="20" y="544.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">│</tspan></text><text xml:space="preserve" x="20" y="563.7"><tspan fill="#c9d1d9">  </tspan><tspan fill="#6e7681">└──</tspan><tspan fill="#c9d1d9"> [Characterization (engineering only)]</tspan></text><text xml:space="preserve" x="20" y="582.7"><tspan fill="#c9d1d9">       </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> Die-to-die variation mapping</tspan></text><text xml:space="preserve" x="20" y="601.7"><tspan fill="#c9d1d9">       </tspan><tspan fill="#6e7681">├──</tspan><tspan fill="#c9d1d9"> Temperature sensitivity</tspan></text><text xml:space="preserve" x="20" y="620.7"><tspan fill="#c9d1d9">       </tspan><tspan fill="#6e7681">└──</tspan><tspan fill="#c9d1d9"> Voltage margin testing</tspan></text></g></svg>

ATPG (Automatic Test Pattern Generation)

Test Time and Cost

FactorImpactOptimization
ATE cost$2-10M per testerMaximize multi-site testing
Test time per die0.1-10 secondsPattern compression, parallel test
Test time × volumeDirectly = test costReduce patterns, faster ATE
Multi-siteTest 8-128 dies simultaneously8-128× throughput
Wafer probe vs. final testProbe: lower cost, final: full coverageBalance cost and quality

Test Quality Metrics

MetricDefinitionTypical Target
Fault coverage% of modeled faults detected>99.5%
DPPMDefective parts per million shipped<10 (automotive: <1)
Test escapeDefective die that passes all testsMinimize
Yield lossGood die falsely failedMinimize (correlation)
OverkillOver-testing that kills good dieBalance with quality

Automotive Test Requirements (ISO 26262)

Semiconductor test program development is the economic gatekeeper between fabrication and the customer — a well-optimized test program maximizes defect detection while minimizing test time and cost, directly determining both the quality of shipped products and the profitability of semiconductor manufacturing, where the difference between a 1-second and 2-second test program can mean millions of dollars in annual ATE cost for a high-volume product.

semiconductor test programtest developmentstructural testfunctional testtest coverage

Explore 500+ Semiconductor & AI Topics

From EUV lithography to CUDA optimization — search the full knowledge base or chat with our AI assistant.