In many chip fabrication lines, an engineer analyzes failures to determine what could have caused failure. At Intel, this problem was previously attacked by an expert system, but this was found to be an inadequate tool, particularly in the case of multiple faults. Also, the expert system proved incapable of generalizing its knowledge, and completely hopeless with new cases.
Dan Seligson, Ph.D., used BrainMaker to create a neural network that could identify the fabrication problem that caused failures in finished Intel VLSI chips. The neural network was developed using information that was originally gathered for an expert system. The neural network was found to be 99.5% correct in generalizing data it had not seen before, but which was similar to that which it had. It was also found that the neural network was capable of distinguishing data which was unlike any it had seen before (i.e. failures of 3 components in the system, when it had been trained with at most 2 failures).
The original expert system was given the electrical test information from finished chips and the corresponding process control variables. The relationship between these two was determined by numerical experimentation and by simulation of CMOS process and device physics. A responsive surface model (RSM) was used to capture the results of exhaustive set of numerical experiments. Simulation tools were used to generate a data base of paired sets of process variables and electrical test measurements. Rules were generated for the expert system from the e-test data and the corresponding process data.
BrainMaker was trained with the same pairs of e-test and process data. Eighteen e-test measurements were used as neural network inputs, and six process variables were the predicted outputs. A training error tolerance of 10% was used. E-test variables were categorized as one of 5 possible values from lowest to highest in order to determine classes of cases. Every legitimate e-test set must have its origin in a set of process variables so there are 15,625 (5^6) possible classed pairs of input/outputs. Of these, there are 24 classes of 1-fault cases and 240 classes of 2-fault cases. actual continuous-valued numbers were used during training. 1500 examples of 2-fault cases were used, half for training, and half for testing the neural network. These cases were chosen randomly. An additional set of 100 3-fault cases was generated for testing the network's ability further. With an error tolerance of 20% (over the entire range of output values) the network correctly responded to 99.5% of the testing examples, indicating very good generalization. With an error tolerance of 10% fewer than 2% of the examples failed testing.
A lookup table was also implemented to solve this problem, but it was found that the network performance was superior. The problem was too large to include every single possible case (for either the expert system, the neural network, or the lookup table), so a sampling of data was used. A lookup table is unable to deal with non-linear changes in data as a neural network can.
Inputs:
Eighteen electronic test measurements
extrapolated threshold voltage
maximum transconductance
drain current at saturation
drain current at VGS=3V
channel doping
effective channel length
p-substrate concentration
n-well implant dose
n-channel Vt-adjust implant dose
p-channel Vt-adjust implant dose
gate oxide thickness
Outputs:
Probable cause(s) of failure