A method of diagnosing semiconductor device functional testing failures by
combining deterministic and functional testing to create a new test
pattern based on functional failure by determining the location of the
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.