Learned Data for the 5DX
The information that follows pertains to: 5DX, TDW
Version: 6.x, 7.x
Learned Data for the Agilent 5DX
The Agilent 5DX uses learned data in several ways to improve algorithm performance. There are basically 2 different forms of learned data.
Data can be learned about characteristics of a given subtype, for example the average or usual shape for joints of Gullwing, subtype 7. There are different forms of subtype–based learning. In one form, once the characteristics for the subtype have been learned, certain thresholds can be written automatically using this information. In the second form, each joint in the subtype is compared against the learned characteristics for that subtype.
Data can be learned about characteristics of a given joint, for example the average or usual background for U11, pin 3. Although this data is unique for each joint, it is applied on a subtype basis. If joint based learning is set up for a given joint, joint based learning will be used on every other joint in the subtype as well.
Learned joint data is part of the run time information for the panel program. It is stored in the RTF directory, in the second, or derived name subdirectory. Joint learned data is stored in a file LRN_JNT.RTF and subtype learned data in a file LRN_SUBT.RTF.
FPGullwing, BGA2 and Connector were designed to allow learning of certain key thresholds using subtypebased learning.
For FPGullwing SPC the thresholds that can be learned are:
Before learning is done, it may be desirable to make changes in other SPC thresholds that might effect NSTs or the fillet length measurement, (examples might be CENTER_POSITION, PAD_PROFILE_WIDTH, HEEL_RINGER_DIST, or TOE_SRCH_TECHNIQUE).
Once this has been done, subtype learning can be turned on, and the sample board(s) tested. To set the thresholds, use the Write Learned Thresholds Option under Set Algorithm Learning. The FILLET_LENGTH threshold can be set before learning, or it may be learned. If previously set it will not be overwritten. If other thresholds from learned list are set before learning, these values will be overwritten.
For BGA2 SPC, the thresholds that can be learned are:
(Etc. depending on number of slices defined.)
(Etc. depending on number of slices defined.)
Normally for BGA2, thickness measurements are made over the area defined by the nominal diameters for the slice (BALL_DIAM1, BALL_DIAM2, etc). However during subtype-based learning, thickness measurements are made over the area defined by the measured diameters.
For Connector SPC the threshold that can be learned is:
For Connector Open the thresholds which can be learned are:
Learned values for the Open thresholds are based on the variation in each of the measurements, assuming that all joints learned are not defective. Learning is not allowed to write negative values for MIN_OPEN_SIGNAL and MIN_OPEN_SIG_ACROSS, however. If the measurement variation indicates that a negative open signal would be necessary to avoid false calls, the minimum open signal (MIN_OPEN_SIGNAL or MIN_OPEN_SIGNAL_ACROSS) value is written as 0.
The subtype-based learning for FPGullwing SPC, BGA2 SPC, Connector SPC and Open is different than any other learning, in that once the thresholds have been learned, the learned data is no longer used.
The following algorithms can be setup to use subtype-based learning in which the learned data becomes a permanent part of the panel program:
Subtype based learning can be done to learn the average or usual shape for these joints. The shape of each joint is then compared to this ideal shape. There are a number of thresholds in the SHAPE algorithm for each joint type to determine how the learned data is applied.
These algorithms learn the usual position of edges for normal joints. Universal looks for edges along the joint, Universal_2D looks for edges both along and across. There are a number of stages in the learning process. Once learning is complete, defect thresholds can be set by comparing known bad joints with a population of good joints.
The following algorithms can be set up to use joint-based learning.
All joint types. This is the most common use for learning. This can dramatically improve the ability to detect shorts by compensating for normal background shading around each joint.
SPC data for these joint types can be learned on a joint basis. Different SPC characteristics can be used depending on the joint type. There is usually a threshold, OMIT_LEARNED_ITEMS, which is used in conjunction with this to specify which characteristics are to be used. Any characteristics not omitted are used. Suppose it is found that the heel thickness for some joint in a particular subtype of FPGullwing typically reads 30% lower than the rest of the joints, but other measurements appear normal. Rather than subtyping that joint separately, the SPC data for that subtype can be learned on a joint basis.
After learning has been done, turn on the USE_LEARNED_JOINT threshold in SPC for that subtype and set OMIT_LEARNED_ITEMS to 30 (all but the heel). The measured heel thickness for each joint in the subtype will be altered by the ratio of (NST_HEEL)/(learned heel thickness for that joint).
Another potentially useful application of joint based learning is to help detect opens, although the defect call will be misaligned. One of the characteristics that can be learned is the heel location. If the heel is located considerably further away from the device than normal, this is a good indication that the joint is partially lifted, even though it passes all of the open tests. If SPC learning has been done for that subtype and heel location is the only characteristic which is of concern, set USE_LEARNED_JOINT to 1, OMIT_LEARNED_ITEMS to 31 (all), and the located heel position will be compared with the learned heel position. Joints with too large a displacement from the learned heel position can be called as misaligned along.
Joint learned data for SOT_SPC is also used for misalignment.