A method of diagnosing semiconductor device functional testing failures by combining
deterministic and functional testing to create a new test pattern based on the
functional failure by determining the location of and type of error in the failing
circuit. This is accomplished by identifying the failing vector during the functional
test, observing the states of the failed device by unloading the values of the
latches from the LSSD scan chain before the failing vector, generating a LOAD from
the unloaded states of the latches, applying the generated LOAD as the first event
of a newly created independent LSSD deterministic pattern, applying the primary
inputs and Clocks that produced the failure to a correctly operating device, unloading
the output of the correctly operating device to generate a deterministic LSSD pattern;
and applying the generated deterministic LSSD pattern to the failing device to
diagnose the failure using existing LSSD deterministic tools.