U.S. patent application number 11/423880 was filed with the patent office on 2006-09-28 for system and method to customize bond programs compensating integrated circuit bonder variability.
Invention is credited to David J. Bon, Sreenivasan K. Koduri.
Application Number | 20060217817 11/423880 |
Document ID | / |
Family ID | 26899979 |
Filed Date | 2006-09-28 |
United States Patent
Application |
20060217817 |
Kind Code |
A1 |
Bon; David J. ; et
al. |
September 28, 2006 |
SYSTEM AND METHOD TO CUSTOMIZE BOND PROGRAMS COMPENSATING
INTEGRATED CIRCUIT BONDER VARIABILITY
Abstract
A computerized system and method for customizing bond programs
in order to compensate first for variabilities in an integrated
circuit (IC) "slave" bonder, and second to any irregularities in a
"slave" circuit positioned on the slave bonder for attaching
connecting bonds onto the IC bond pads. According to the invention,
a "master" segmentator groups the bond pads of a "master" circuit
on a master bonder into segments and stores the reference data
related to these segments in a master file. Next, a slave
regenerator, coupled to the master file, regenerates the master
reference data so that variable characteristics of the slave bonder
are defined and adaptively compensated. Finally, a slave corrector,
coupled to the salve regenerator, corrects the bond program for the
slave circuit on the adaptively compensated slave bonder. The slave
bonder attaches the connecting bonds based on the computed correct
bond locations.
Inventors: |
Bon; David J.; (Plano,
TX) ; Koduri; Sreenivasan K.; (Plano, TX) |
Correspondence
Address: |
TEXAS INSTRUMENTS INCORPORATED
P O BOX 655474, M/S 3999
DALLAS
TX
75265
US
|
Family ID: |
26899979 |
Appl. No.: |
11/423880 |
Filed: |
June 13, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
09855893 |
May 15, 2001 |
7069102 |
|
|
11423880 |
Jun 13, 2006 |
|
|
|
60204997 |
May 16, 2000 |
|
|
|
Current U.S.
Class: |
700/3 |
Current CPC
Class: |
G05B 2219/36046
20130101; G05B 19/4083 20130101; G05B 2219/45033 20130101; G05B
2219/36048 20130101 |
Class at
Publication: |
700/003 |
International
Class: |
G05B 19/18 20060101
G05B019/18 |
Claims
1. A computerized system for customizing the bond program for a
slave circuit on a slave bonder, comprising: a master segmentator
operable to group the bond pads of a master circuit on a master
bonder into segments and store the reference data related to said
segments in a master file; a slave regenerator, coupled to said
master file, operable to regenerate said master reference data so
that variable characteristics of said slave bonder are defined and
adaptively compensated; and a slave corrector, coupled to said
slave regenerator, operable to correct said bond program for said
slave circuit on said adaptively compensated slave bonder.
2. A computerized system for customizing the bond program in a
slave bonder prepared to attach connecting bonds onto bond pads of
a slave integrated circuit, said program intended to compensate
variable characteristics of said slave bonder, comprising: a first
input data generator, associated with a master bonder, operable to
collect data from a master integrated circuit which is related in
geometry to said slave integrated circuit, comprising geometrical
information of bond pads and bond segments, images of said
segments, and geometrical information of said images; an analysis
generator, associated with said master bonder and coupled to said
first input data generator, operable to construct relationships for
said master bonder between said bond pad locations, bond segments,
and segment image locations; a master file, coupled to said
analysis generator, operable to store said relationships, said
geometrical information and said images as a master bond program; a
second input data generator, associated with said slave bonder,
operable to generate images of a plurality of bond segments of said
slave circuit, defining the variable characteristics of said slave
bonder; a segment comparator, associated with said slave bonder and
coupled to said master file and said second input data generator,
operable to retrieve said bond segment images from said master bond
program as well as from said second input data generator, to
compare and quantify said variable bonder characteristics, and to
relocate said bond segments; a bond location corrector, associated
with said slave bonder and coupled to said segment comparator,
operable to retrieve said relocated bond segments and to re-compute
said bond locations in each of said segments; a third input data
generator, associated with said slave bonder and coupled to said
master file, operable to generate images of alignment references on
a circuit selected first from said slave circuits; a relationship
generator, associated with said slave bonder and coupled to said
bond location corrector and said third input data generator,
operable to construct relationships for said slave bonder between
said re-computed bond locations, said alignment reference images
and said reference image locations; a fourth input data generator,
associated with said slave bonder, operable to generate images of
alignment references on a circuit selected consecutively from said
slave circuits; and a bond program corrector associated with said
slave bonder, coupled to said relationship generator and said
fourth input data generator, operable to compare said alignment
reference images from said third and fourth input data generators,
to combine the result with said relationships, to re-compute said
bond pad x-y locations, and to correct said bond program of said
slave bonder for attaching bonds onto said bond pads of said
consecutively selected slave circuit.
3. The system according to claim 2 wherein said first input data
generator comprises: a first organizer operable to select bond pad
points, to collect the x-y locations correlated to said points, and
to store the x-y locations data in a reference x-y file; a
segmentator, coupled to said first organizer, operable to group
said bond pads into segments, to determine which bond points belong
to which of said segments, and to store said segments data in a
bond pad segments file; a second organizer, coupled to said
segmentator, operable to select x-y locations and geometrical
information identifying segment images, and to store said image x-y
locations data in a segment image x-y locations file; and a
collector, coupled to said second organizer, operable to collect
images of said segments and to store said images in a segment image
file.
4. The system according to claim 3 wherein said input data are
collected manually by an expert.
5. The system according to claim 3 wherein said input data are
collected automatically.
6. The system according to claim 2 wherein said bond program
comprises bonding parameters for integrated circuit chip
assembly.
7. The system according to claim 2 wherein said images are created
by illumination, optics, and photographic cameras coupled to said
computer-controlled bonders.
8. The system according to claim 2 wherein said master bonder is a
computer-controlled independent bonder having well-understood
characteristics.
9. The system according to claim 2 wherein said slave bonder is any
computer-controlled bonder.
10. The system according to claim 2 wherein said master integrated
circuit is an integrated circuit used as a reference circuit.
11. The system according to claim 2 wherein said slave integrated
circuit is an integrated circuit identical in type to said master
integrated circuit, said slave circuit to be bonded by said slave
bonder.
12. The system according to claim 2 wherein said analysis generator
comprises: a computerized relationship builder operable to select
segments, images identifying said segments, and x-y locations of
said bond pads and said images, and to express their mutual
relationships in order to establish an interconnected network of
said relationships; and a file operable to store said
interconnected network as said master bond program.
13. The system according to claim 12 wherein said interconnected
network is expressed in equations comprising x-y as well as polar
coordinates.
14. The system according to claim 2 further having a computerized
slave regenerator comprising: a bond points loader, coupled to said
master file, operable to download stored master bond points x-y
locations data; a segment identification loader, coupled to said
master file, operable to download stored master segment x-y
locations data; a segment image locations loader, coupled to said
bond points loader and said segment identification loader, operable
to identify segment image x-y locations data; a segment image
loader, coupled to said segment identification loader and said
segment image location loader, operable to identify segment images;
a second input data generator, operable to generate images of a
plurality of bond segments of said slave circuit, defining the
variable characteristics of said slave bonder; a segment
comparator, coupled to said segment image loader, said segment
identification loader and said second input data generator,
operable to retrieve said bond segment images from said three input
sources, to compare and quantify said variable bonder
characteristics, and to relocate bond segments; a bond location
corrector, associated with said slave bonder and coupled to said
segment comparator, operable to retrieve said relocated bond
segments and to re-compute said bond locations in each of said
segments; a slave circuit image generator; an alignment reference
image collector, coupled to said slave circuit image generator,
operable to generate images of alignment references on said slave
circuit; and a relationship generator, coupled to said bond
location corrector and said alignment reference image collector,
operable to construct relationships for said slave bonder between
said re-computed bond locations, said alignment reference images
and said reference image locations.
15. The system according to claim 2 further having a computerized
slave corrector comprising: an alignment reference comparator,
coupled to said alignment reference image collector within said
third input data generator and further to said fourth input data
generator, operable to compare said alignment reference image
provided by said regenerator with the alignment image input from
said slave circuit on said slave bonder, and to quantify shifts,
rotations, and scalings between said two images or image parts; a
correcting re-computer, coupled to said alignment reference
comparator, to said bond location corrector within said adaptive
compensator, and to said relationship generator, operable to
recompute the bond pad locations on said slave circuit based on the
recreated bond x-y locations and the rebuilt relationships between
said x-y locations and the alignment reference image locations, and
thus to correct the slave bond program; and a computerized bonder,
coupled to said bond program corrector, operable as said slave
bonder to attach connecting bonds onto the bond pads of said slave
circuit directed by said re-computed bond program.
16. A computer-implemented method for customizing the bond program
for a slave circuit on a slave bonder, comprising the steps of:
grouping the bond pads of a master circuit on a master bonder into
segments and storing the reference data related to said segments in
a master file; regenerating said master reference data so that
variable characteristics of said slave bonder are defined and
adaptively compensated; and correcting said bond program for said
slave circuit an said adaptively compensated slave bonder.
17. A computer-implemented method for compensating slave bonder
variability and customizing bond programs for attaching connecting
bonds onto bond pads of a slave integrated circuit, comprising the
steps of: generating input data associated with a master bonder,
said data collected from a master integrated circuit, related in
geometry to said slave integrated circuit, and comprising
geometrical information of bond pads and bond pad segments, images
of said segments, and geometrical information of said images;
generating an analysis for constructing relationships for said
master bonder between said bond pad locations, bond segments, and
segment image locations; storing said relationships, said
geometrical information and said images in a master file as a
master bond program; generating input data associated with said
slave bonder, said data collected from said salve circuit and
comprising images of a plurality of bond segments, defining the
variable characteristics of said slave bonder; retrieving said bond
segment images from said master bond program as well as from said
slave bonder; comparing and quantifying said variable bonder
characteristics, and relocating said bond segments; retrieving said
relocated bond segments and re-computing said bond locations in
each of said segments; generating input information, comprising
images of alignment references collected from a circuit selected
first from said slave circuits; constructing relationships for said
slave bonder between said re-computed bond locations, said
alignment reference images, and said reference image locations;
generating input information, comprising images of alignment
references collected from a circuit selected consecutively from
said slave circuits; comparing said alignment reference images from
said first selected slave circuit with said alignment reference
images from said consecutively selected slave circuit; and
correcting any deviations found between said reference images,
combining the result with said relationships between bond locations
and alignment reference image locations, and re-computing said bond
pad x-y locations; and correcting said bond program of said slave
bonder for attaching bonds onto said bond pads of said
consecutively selected slave circuit.
18. The computer-implemented method according to claim 17 wherein
said step of generating input data from said master circuit
comprises: selecting bond pad points, collecting x-y locations
correlated to said points, and storing said x-y locations data in a
reference x-y file; grouping said bond pads into segments,
determining which bond points belong to which of said segments, and
storing said segments data in a bond pad segments file; selecting
x-y locations and geometrical information identifying segment
images and storing said image x-y locations data in a segment image
x-y locations file; and collecting images of said segments and
storing said images in a segment image file.
19. The computer-implemented method according to claim 17 wherein
said step of generating an analysis for constructing relationships
comprises: selecting x-y locations of said bond pads; expressing
the mutual geometries of said x-y locations; expressing the
relations of said x-y locations to said bond pad segments and
segment identifying images and image locations; establishing the
interconnected network between said geometries and relations
comprising equations expressed in x-y as well as polar coordinates;
and storing said network, said geometries and said images in a file
as the master bond program.
20. The computer-implemented method according to claim 17 wherein
said step of retrieving from said master file comprises the steps
of: downloading said stored bond pad x-y locations data;
downloading said stored segment x-y locations data; and combining
said downloaded data into a segment-identifying images x-y
locations loader, as well as a segment-identifying images
loader.
21. The method according to claim 17 wherein said step of
generating input information comprises the steps of: selecting a
first circuit from the plurality of slave circuits, the bond pads
of said circuit to be bonded by said slave bonder; selecting images
of bond segments of said first slave circuit, defining the variable
characteristics of said slave bonder; and storing said images in a
bond segment input file.
22. The computer-implemented method according to claim 17 wherein
said step of comparing comprises the steps of: retrieving said bond
segment images from said loaders, supplied by said master file, and
from said input file; and comparing said stored segment images;
quantifying shifts, rotations and scalings between said two segment
images to quantify said variable bonder characteristics; and
relocating said bond segments.
23. The computer-implemented method according to claim 17 wherein
said step of correcting comprises the steps of: retrieving said
relocated bond segments; re-computing the x-y locations of said
bond pads in each of said segments; and correcting said variable
bonder characteristics by compensating for apparatus-dependent
variability as well as adapting to time-dependent variability.
Description
[0001] This is a divisional application of co-pending application
Ser. No. 09/855,893 filed on May 15, 2001, which claims priority
from provisional application Ser. No. 60/204,997 filed May 16,
2000. The contents of the parent application are herein
incorporated by reference in its entirety.
FIELD OF THE INVENTION
[0002] The present invention is related in general to the field of
semiconductor devices and electronic systems and more specifically
to bond program customization and operation of computer-controlled
bonding machines used in integrated circuit assembly.
DESCRIPTION OF THE RELATED ART
[0003] In integrated circuit (IC) assembly, an IC chip is typically
mounted on a leadframe and electrically connected to it by metallic
segments. Commonly, the chip assembly is encapsulated in a
protective package (for instance, ceramic package, or plastic
package using molding process). Typically, the IC chip has a
plurality of bond pads, which are often positioned around the chip
perimeter; these bond pads have predetermined bonding area and
spacing (bond pad pitch). The leadframe usually has a plurality of
narrow "inner" leads for attachment to the segments and inclusion
in the package, and a plurality of wider "outer" leads for
attachment to other parts such as solder attachment to circuit
boards.
[0004] The metallic segments used for electrical connection of the
IC chip to the leadframe include wires and ribbons, and are
attached by ball bonding, stitch bonding, or wedge bonding
techniques. Wire bonding is a process in which a wire may be welded
from a chip bond pad to the tip of an inner lead of the leadframe.
As an example, in wire ball bonding the ball is attached to the
chip bond pad and the stitch to the leadframe inner lead. For a
given device type, there is a set of locations expressed in x and y
coordinates which defines the bond locations on the chip and on the
lead tips. These locations are generally stored collectively in a
computer file, sometimes referred to as "Device Program". Apart
from the bond head, capable of providing x-y-z motion needed for
bonding, a wire bonder has a material handling subsystem and the
vision subsystem.
[0005] Conventional semiconductor computerized wire bonders use x-y
tables to move the bonding capillary over the device for bonding
between the chip and the leadframe. The x-y coordinate tables are
driven by complex electrical and mechanical components that may
convert rotary and linear motions of the axis drive motors to
create the needed positioning. The bond head also carries several
other components such as the z-axis drive motor, a camera and
optics for vision functions, and further components required to
control wire bonding. Specific features of the capillary and its
alignment are described in a number of U.S. patents and patent
applications. Examples are: U.S. Pat. No. 5,934,543, issued on Aug.
10, 1999 (Koduri et al., "Wire Bonding Capillary having Alignment
Features"); and application Ser. No. 08/993,638, filed on Dec. 18,
1997, now U.S. Pat. No. 6,112,972 (Koduri, "Wire Bonding with
Capillary Realignment"). The interaction of capillary and vision
system is illustrated, for example, by U.S. patent application Ser.
No. 09/191,812, filed on Nov. 13, 1998, now abandoned (Koduri et
al., "Automation of Optics Offset Measurement on Wire Bonders");
Ser. No. 09/111,642, filed on Jul. 8, 1998, now U.S. Pat. No.
6,042,247 (Koduri et al., "An Efficient Hybrid Illuminator"); Ser.
No. 09/111,977, filed on Jul. 8, 1998, now U.S. Pat. No. 6,292,580
(Koduri et al., "An Efficient Illumination System for Wire
Bonders").
[0006] The material handling system moves a leadframe so that each
device can eventually be placed under the bond head for bonding.
One or more devices may be placed under the bond head at a time to
be bonded. The device may also be heated in a predetermined manner
to establish reliable metallurgical bonding conditions. After a
device has been bonded, the leadframe is step-moved such that the
next unit can be bonded.
[0007] When a unit is indexed in by the material handling system
for bonding, the position of the leadframe and the chip is not
always the same because of variations in the handling and previous
manufacturing (such as variable chip positioning during attachment
to the leadframe). Without knowing accurately the target bonding
locations, the bond head cannot place the bonds as expected. To aid
this process, a machine vision system is employed. A typical vision
system consists of a set of optics to provide the needed
illumination and magnification of the device, a camera to capture
the image provided by the optics and an image processing system to
store and analyze the captured image.
[0008] Before bonding a device, it is essential to determine the
device program with all the coordinate locations of the bonds that
need to be created. With respect to a predetermined set of
reference locations, those locations are often referred to as
"homes". A typical device may have one or more "homes". Generally,
the identification of homes needs to be done individually for each
device to be bonded. It is common practice to use a three-step
process to enable such identification.
[0009] In the step of "teaching", the coordinate locations of the
homes and all the needed bonds are identified and saved to create
the "device program". Once generated, a device program can be
stored, copied and/or shared between multiple machines as
needed.
[0010] In the step of "regeneration", a human operator helps in
locating the homes of the first device after loading in the
information from the previously saved device program. At this
point, the machine captures and saves a set of images, called
"reference images" or "references" in the neighborhood of each
home.
[0011] In the step of "bonding", the machine indexes one unit or
more at a time into the workstation under the bond head. At this
point, the vision system, with the aid of a pattern recognition
system, attempts to relocate the matching locations with the saved
references. After finding the new coordinates of the matching
references, the home and bond locations are re-computed for that
specific unit from the device program data. The process of
relocating the references and homes is normally referred to as
"aligning" the device. Using the specific bond locations, the
device can now be bonded. The process of indexing, aligning and
bonding is repeated without any human intervention as long as
nothing abnormal happens on the machine.
[0012] A typical alignment procedure may correct for a constant
shift in x-y directions and/or a constant rotation of the device.
In this context, it is important to understand the effects of
variations in illumination settings across machines and the images
formed using different levels of brightness. Large differences in
intensity settings can reduce the ability of the pattern
recognition system to locate the references accurately. It is very
much desired to have a consistent level of brightness and image
quality across all the machines used.
[0013] Problems in wire bonding techniques arise in part from the
technology trends to increase the number of leads in a given
package and to make IC chip packages smaller. As consequences, the
bonding pads located on the chip receive smaller areas and are
spaced closer together, and the inner leads of leadframes are made
narrower and closer together. These trends demand tighter control
of wire bond ball and stitch geometries and placements. For
instance, even small bond placement errors may result in device
loss.
[0014] For the bond machines, errors in x-y tables and motors need
to be reduced. At the microscopic level, each axis of each table
behaves differently with its own local variations within their
usable regime. For instance, an axis might have a 0.5% error in its
first half of working distance and a 0.8% error in its second half.
Further, a x-y pair might have a global positioning error because
of an error in the orthogonality between them; or the tables may
exhibit a range of hysteresis errors. These variations become even
more threatening as common device programs are shared due to
quality enforcement and economic reasons.
[0015] The emerging technical problems for automated bond machines
can be summarized as follows:
[0016] Accuracy: Small ball/fine pitch bonding requires a very
accurate system to be able to place the ball completely on the bond
pad. The current systems have difficulties in achieving this.
[0017] Large variations in illumination settings can lead to
variations of the images as seen by the optics and the camera.
These variations may affect the ability of the pattern recognition
system in locating the homes and bond locations accurately.
[0018] The current systems cannot handle x-y table inconsistencies.
For small pad/fine pitch bonding, a small error in ball placement
can cause the ball to be partially off the pad.
[0019] Human error during regeneration of alignment program: Ball
placement is greatly affected by the accuracy of the alignment
program. There are many steps to this regeneration process and thus
there are many chances for human error.
[0020] Time spent performing alignment regeneration: Whenever a
device is to be bonded, a human operator typically has to spend a
finite amount of time to perform an alignment regeneration.
[0021] An urgent need has therefore arisen for a fast, reliable and
flexible system and method to reduce set-up time, reduce errors
during creation and retrieval of bonding programs, compensate for
machine variability, and standardize illumination conditions on
bonding machines. The system and method should be flexible enough
to be applied for different IC product families with a wide
spectrum of design variations, and for different bond machines. The
system and method should spearhead solutions toward the goals of
improved product yield and reliability, preferably without
investment in new equipment.
SUMMARY OF THE INVENTION
[0022] The present invention provides a computerized system and
method for customizing bond programs in order to compensate first
for variabilities in an integrated circuit (IC) "slave" bonder, and
second to any irregularities in a "slave" circuit positioned on the
slave bonder for attaching connecting bonds onto the IC bond pads.
According to the invention, a "master" segmentator groups the bond
pads of a "master" circuit on a master bonder into segments and
stores the reference data related to these segments in a master
file. Next, a slave regenerator, coupled to the master file,
regenerates the master reference data so that variable
characteristics of the slave bonder are defined and adaptively
compensated. Finally, a slave corrector, coupled to the salve
regenerator, corrects the bond program for the slave circuit on the
adaptively compensated slave bonder. The slave bonder attaches the
connecting bonds based on the computed correct bond locations.
[0023] The present invention is related to high density ICs,
especially those having high numbers of input/outputs and tight
constraints in package outline and profile. These ICs can be found
in many semiconductor device families such as processors, standard
linear and logic products, digital and analog devices, high
frequency and high power devices, and both large and small area
chip categories. Since the invention aims at designing devices with
minimum geometries and high reliability, it supports continually
shrinking applications such as cellular communications, pagers,
hard disk drives, laptop computers and medical instrumentation.
[0024] It is an object of the present invention to provide an
automated system and method for compensating for
apparatus-dependent variability of the slave bonder, as well as for
adapting to time-dependent variability of the bonder. The object is
achieved by an embodiment of the invention using a computer system
and computer-implemented method of comparing certain groupings
("segments") of bond pads, and identifying and correcting any
shifts, rotations, or scalings.
[0025] Another object of the invention is to provide an automated
system and method for retrieving master information and comparing
it with the actual bond pad locations on the circuit-to-be-bonded,
followed by automated corrections, while entering the master input
data manually by an expert. Constructing the network of
relationships between the entered data is also computerized. The
object is achieved by an embodiment of the invention using a
computer system and a computer-implemented method for automatically
collecting, analyzing and storing the needed information.
[0026] Another object of the present invention is to provide a
highly flexible system and method. This object is achieved by the
embodiments of three subsystems of the invention: [0027] A master
segmentator providing a user-friendly manual input data generator
operable to select bond pad segments, alignment reference points,
reference images, and bond pad points from a master circuit
belonging to the same device family as the circuit-to-be-bonded
("slave circuit").
[0028] Further, a computerized analysis generator operable to
establish geometric relationships, expressed in x-y and polar
coordinates, between the master circuit bond pad locations, bond
pad segments, and reference structures, and to store all data and
relationships in a master file. [0029] A computerized slave
re-generator operable to download these data and relationships to a
slave bonder designated to perform the bonding processes on the
slave circuit.
[0030] Further, an adaptive compensator having a segment comparator
and a bond location corrector, operable to compare bond pad
segments from the master file to segments generated from a first
selected slave circuit, to correct any shifts, rotations or
scalings between these two segments, and to correct computationally
bond pad locations.
[0031] A computerized slave corrector operable to identify and
correct shifts, rotations or scalings of a slave
circuit-to-be-bonded, which is selected consecutively after the
first slave circuit. After bond program corrections, the slave
bonder is ready to perform the bonding processes on the re-computed
pads of the slave circuit.
[0032] Another object of the present invention is to provide the
newly computed bond locations in fast turn-around time and with
minimum effort by taking full advantage of symmetries and branching
in the computational flows of the input and analysis generators,
the segmentator, the retriever, and the corrector.
[0033] Another object of the present invention is to introduce bond
program teaching, loading ("regeneration") and correcting concepts
which are flexible so that they can be applied to many families of
electronic structures--reaching from piece parts, such as
leadframes and interconnectors, to device packages, to electronic
substrates, and to whole assemblies on motherboards--and are
general so that they can be applied to several generations of
products.
[0034] Beyond the electronics realm, the computerized system and
method of this invention can be generally applied to reduce
operational program errors on slave machines prepared to work on
action sites of slave objects, when a master machine and a master
object, having a structure similar to the slave object, are
available.
[0035] The technical advances represented by the invention, as well
as the objects thereof, will become apparent from the following
description of the preferred embodiments of the invention, when
considered in conjunction with the accompanying drawings and the
novel features set forth in the appended claims.
BRIEF DESCRIPTION OF THE DRAWINGS
[0036] FIG. 1 is a schematic and simplified top view of an
integrated circuit (IC) chip illustrating bond pads with correctly
placed bond attachments, and groupings of bond pads into
segments.
[0037] FIG. 2 is a schematic and simplified top view of an IC chip
illustrating bond pads with erroneously placed bond segments.
[0038] FIG. 3 illustrates a block diagram of a computer system for
customizing bond programs and compensating integrated circuit
bonder variability according to the invention.
[0039] FIG. 4 illustrates a block diagram of the detail of the
input data generator associated with the computerized master
bonder.
[0040] FIG. 5 illustrates a block diagram of the detail of the
analysis generator and the master file associated with the
computerized master bonder.
[0041] FIG. 6 is a flow chart of the method used to generate inputs
and analysis according to the invention.
[0042] FIG. 7 illustrates a block diagram of the detail of the
slave regenerator for retrieval, capture and rebuild associated
with the computerized slave bonder and slave circuit.
[0043] FIG. 8 is a flow chart of the method used by the slave
regenerator according to the invention.
[0044] FIG. 9 illustrated a block diagram of the detail of the
slave corrector associated with the usage/bonding of the
computerized slave bonder and slave circuit.
[0045] FIG. 10 is a flow chart of the method used by the slave
corrector and the slave bond head according to the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0046] In order to eliminate variability of the automated bonding
machines ("bonders"), which may depend on the specific apparatus or
may be time-dependent, the invention uses the approach to group a
small set of bond pad locations into "segments" during the device
program "teaching". As examples, FIGS. 1 and 2 illustrate the
approach and the solution to problems in assembling semiconductor
chip 110 caused by machine-related errors in bonding operation. As
illustrated in FIG. 1, a plurality of bond pads 100 lined up along
one of the x or y axes may be grouped as a segment. All or some of
the bond pads may be grouped into different segments, such as the
four segments 101, 102, 103, and 104 in FIG. 1, each containing six
bond pads. Within the small stretch covered by the segment, it may
be assumed that the bonding tables behave linearly (polynomially).
(In the ideal assembly case illustrated, all bonds 100a attached to
pads 100 are located in the center of the pad areas.)
[0047] Each segment may further have one or more references
associated with it. These references may contain the image of the
entire segment or a part of its neighborhood. FIG. 2 shows an
example of segment references for the segments illustrated in FIG.
1. Associated with segment 101 is reference 201, containing all of
the bond pads. Associated with segment 102 are the references 202a
and 202b. Associated with segment 103 is reference 203. Associated
with segment 104 are references 204a and 204b. During device
program "teach", the data relating to the position and contents of
the segments and segment references is also saved into the device
program along with the other information that is usually considered
as a part of the device program information.
[0048] The number, location, size and shape of the segments and
segment references may be selected manually by the expert creating
the device program, or may be selected automatically by the image
processing system. In either case, rules are enforced that would
enable easy identification of uniquely matching position at a later
time.
[0049] With all this data, a segment may contain the information
about the bonds included in that segment and the references
associated with the segment according to the conditions of the
program generation. When such a device is copied to a different
bonding machine with different x-y table characteristics, the
coordinates of various points in the device program need to be
"customized" for the new conditions. This may be achieved with the
aid of the vision system to locate the new positions of the
individual segment references.
[0050] By studying the positional relationship between the segment
references during the teach (as saved in the device program) and
the way they are newly located, the positioning system variations
can be modeled as a mathematical relationship. Depending on the
number of references selected, the model may provide the
information to correct for variations in translation (shifts),
rotation, scale (expansion), skewness, and others. In this
correction, parameters can be applied locally to only those
coordinates of the bonds belonging to that segment.
[0051] Repeating the process on all the segments of the device will
re-map all the useful travel locations of the positioning system by
matching it at all local positions with that of the bonding machine
("master bonder") on which the device program was originally
created.
[0052] This procedure will assume the master bonder to have the
fundamental conditions which all others will emulate to create
uniformity among the bonders that are inherently different.
[0053] Once a device program is customized for an individual
machine ("slave bonder"), a temporary copy of the
variation-adjusted device program is created and used to bond a
plurality of devices. When a different batch of devices is required
to be bonded on the same bonder, a corresponding device program is
brought in and the process is repeated.
[0054] The system and method disclosed by the present invention for
adaptively compensating the slave bonder and subsequently
correcting the bond program of the device-to-be-bonded are
described in FIGS. 3 to 10.
[0055] In order to highlight the conceptual breadth of the present
invention, as summarized in the block diagram of FIG. 3, it should
be pointed out that the contributing innovations come from three
regimes of the assembly and bonding process: [0056] Establishing
the Master Bond Program ("Teaching"): "Master Segmentator" [0057]
Defining bond locations (x-y parameters). [0058] Defining a set of
bond segments (a series of bond points. [0059] Defining a set of
segment images related to each bond segment. [0060] Relating the
bond locations, the bond segments, and segment images in a network
of relationships. [0061] Saving data and relationships in a master
bond program (master file). [0062] Regenerating (Loading) Master
Bond Program: "Slave Regenerator", Machine-Specific Corrections
[0063] Retrieving the saved master program onto any other selected
machine ("slave bonder"). [0064] Using the segment images to
relocate all the individual bond segments and the bond locations in
all the segments. [0065] Comparing the new bond locations with the
taught ones and correcting for any local and global variations in
the slave machine's moving parts. [0066] Bonding the Slave Circuit
using Unit-Specific Corrections: "Slave Corrector" [0067] Bonding
using the newly computed bond locations.
[0068] The above list shows that the invention uses automation in
order to solve the problem of variable machine characteristics
(variable from bonder to bonder and within time), for which in
standard technology a human operator has to get involved. In
principle, the innovation is based on relationships expressed
between geometrical x-y locations and images of bond pads, bond pad
segments and references.
[0069] The description of the invention based on FIG. 3 and the
more detailed FIGS. 4 to 10 illustrates that the invention is not
restricted to ICs, bonders and bonding technology. It can be
generalized to similar tasks involving machines with variable
characteristics, or in which a process is to be performed on
objects with imperfections or deviations relative to a master
object.
[0070] As illustrated schematically in the simplified block diagram
of FIG. 3, the computerized system of the present invention,
generally designated 300, operates to customize the bond program
for a slave circuit on a slave bonder. The system provides a master
segmentator 310 operable to group the bond pads of a master circuit
on a master bonder into segments and store the reference data
related to the segments in a master file 313 (master bond program).
The system further provides a slave regenerator 320, coupled to the
master file 313, operable to regenerate the master reference data
so that variable characteristics of the slave bonder are defined
and adaptively compensated. The system finally prides a slave
corrector, coupled to the slave regenerator, operable to correct
the bond program for the slave circuit on the adaptively
compensated slave bonder.
[0071] The master segmentator 310 provides data generation as well
as data analysis for creating corrected bonding instructions for
the bonding process of an IC. A first data input generator 311 is
associated with a master IC on a master bonding machine and
collects data manually by a human expert. Included in these data
are geometrical information such as x-y locations of bond pads, x-y
locations of bond segments, and images of these segments and
geometrical information of these images. All data is collected from
a master IC which is related in geometry to the
circuit-to-be-bonded, usually an IC of the same device type.
[0072] Input data generator 311 is connected to an analysis
generator 312, also associated with the master bonder and operated
manually by a human expert. The analysis generator establishes
relationships for the master bonder between the geometrical
information of the bond pads, the bond segments and the segment
images. It further constructs a network of these relationships. The
analysis generator 312 then stores the network of relationships
together with the geometrical information of the bond pads, bond
segments and images in the master file 313. These stored data is
referred to as the master bond program. It is coupled to the master
bonder, but also to any selected bonder working as slave
bonder.
[0073] Associated with the slave regenerator 320 on the slave
bonder is the second input data generator 321 which collects images
from the plurality of bond segments on the circuit-to-be-bonded.
The bond segments define the variable characteristics of the slave
bonder. The images are made available in conjunction with the data
retrieved by segment comparator 323 within the adaptive compensator
322.
[0074] Associated with the slave bonder is the adaptive compensator
322, operated by computer or, alternatively, manually by the user
of the slave bonder. The first part of the adaptive compensator 322
is the segment comparator 323, which is coupled to master file 313
and the second input data generator 321. It has the job of
retrieving the bond segment images from the master bond program 313
as well as from the second input data generator 321. Based on this
comparison, the variable slave bonder characteristics are
quantified and the bond segments are relocated.
[0075] Further associated with the slave bonder and the adaptive
compensator 322 is the bond location corrector 324, which is
coupled both to the segment comparator 323. Bond location corrector
324 retrieves the relocated bond segments and re-computes the bond
locations in each of the segments.
[0076] The third input generator 325, associated with the slave
bonder and coupled to the master file 313, generates images of the
alignment references on the slave circuit selected as the first one
to be bonded by the slave bonder.
[0077] The relationship generator 326, associated with the slave
bonder and coupled to the bond location corrector 324 and the third
input data generator 325, constructs relationships for the slave
bonder between the re-computed bond locations, the alignment
reference images and the reference image locations. These
relationships comprise equations in x-y coordinates and polar
coordinates.
[0078] Further associated with the slave bonder is the slave
corrector 330. It includes the fourth input data generator 331
which generates images of alignment references on the slave circuit
selected next (consecutive to the previous one) to be bonded by the
slave bonder. These images are forwarded to the bond program
corrector 332.
[0079] The bond program corrector 332 within the slave corrector
330 is associated with the slave bonder and coupled to the
relationship generator 326 and the fourth input data generator 331.
The bond program corrector 332 compares the alignment reference
images from the third input data generator 325 and the fourth input
data generator 331 and combines the results with the relationships
from relationship generator 326. Based on this comparison, the bond
pad x-y locations are recomputed and the bond program of the slave
bonder is corrected. Directed by the recomputed bond program, the
computerized slave bonder is enabled to attach the connecting bonds
to the correct bond pad locations of the consecutively selected
slave circuit, free of errors and manual operator interference.
[0080] The computerized system 300 is generally capable of
adaptively compensating slave machine variable characteristics and
eliminating errors of an operational program in a slave machine
which is prepared to work on action sites of a slave object.
Examples are characteristics and programs of machines which
function to deposit materials onto object surfaces (for instance,
by printing, inking or jetting), or which are to perform operations
in a patterned arrangement (for instance, drilling of holes). The
principals of this invention apply to these examples.
[0081] FIG. 4 shows the input data generator 311 in more detail.
The first organizer 401 operates to select bond pad points and to
collect the x-y locations correlated to these points. This
"teaching" of bond pad points can be performed manually. The
organizer then stores these x-y locations data in file 402.
Consequently, file 402 serves to save the bond pad x-y
locations.
[0082] File 402, and thus the first organizer 401, is coupled to
segmentator 403. This segmentator operates to group the bond pads
into segments and to determine which bond points belong to which of
these segments. The segments data are stored in the bond pad
segments file 404. This segmentation can be performed manually.
[0083] File 404, and thus segmentator 403, is coupled to the second
organizer 405. This second organizer 405 operates to select x-y
locations and geometrical information identifying segment images,
and to store the image x-y locations data in file 406.
Consequently, file 406 serves to save segment image x-y locations.
This "teaching" of the segment images can be performed
manually.
[0084] File 406, and thus the second organizer 405, is coupled to
collector 407. This collector 407 operates to collect images of the
segments and to store these images in segment image file 408. This
image collection can be performed manually. Segment image file 408
is coupled to analysis generator 312.
[0085] FIG. 5 shows the function of the analysis generator 312 in
more detail. The analysis generator 312 is a computerized relations
builder. In its operation it first selects segments, images
identifying these segments, and x-y locations of the bond pads and
the images. The analysis generator then expresses their mutual
relationships in equations expressed in x-y coordinates and polar
coordinates. As a result, an interconnected network of
relationships between bond locations, segments, segment identifying
images, and segment identifying image locations is established.
[0086] This interconnected network is stored in master file 313.
Further, master file contains all the geometrical data and the
images of the bond pads and segments as well as the
relationships.
[0087] The computerized method of generating input data and
performing and storing the analysis of the data according to the
invention is described by the process flow of FIG. 6. The software
loop 610 provides the bond points input data, the software loop 620
provides the segment identifying images input data for one segment,
and the software loop 630 provides the segment identifying images
input data for all segments. Loop 610 begins with the input step:
[0088] 611: Teaching bond point location. The data collected from
this input source are stored in file 612. After each acquisition
loop, the question is asked in gate 618, whether all bond points
have been taught. As long as the answer is "no", another loop of
data acquisition has to be performed. When the answer is "yes", the
input process advances to creating segments by grouping bond points
(619). The segments proceed to the loop 620.
[0089] Segments loop 620 begins with the input step: [0090] 621:
Teaching segment-identifying image location. [0091] 622: Teaching
segment-identifying image size. [0092] 623: Teaching light setting.
The data collected from these three input sources are stored in
file 624. After each acquisition loop, the question is asked in
gate 628, whether all segment-identifying images have been taught
for this segment. As long as the answer is "no", another loop of
data acquisition has to be performed. When the answer is "yes", the
input process advances to gate 629 which asks the question whether
all segment-identifying images have been taught for all segments.
As long as the answer is "no", another loop 620 of data acquisition
has to be performed. When the answer is "yes", the input process
advances to the analysis generator 640.
[0093] The data stored in file 612 together with the data stored in
file 624 are used by the analysis generator 640 to construct the
mathematical equations expressing the relationships between the
bond pad points, the segment-identifying images and the
segment-identifying image locations of the master circuit as
described above. The resulting network of relations, together with
all the locations data and images, is stored in master file 313 as
the master bond program ("device program").
[0094] FIG. 7 shows the slave regenerator 320 (see FIG. 3),
associated with the slave bonder, in more detail. Three sets of
data are downloaded from the master file:
[0095] Bond points loader 711;
[0096] segment identification loader 712;
[0097] alignment reference image location loader.
[0098] The bond points loader 711 operates to download stored
master bond points x-y locations data. The segment identification
loader 712 operates to download stored master segment x-y locations
data. These two data sets are combined in the segment image
locations loader 714 which identifies segment image x-y locations
data. These data are then forwarded to the segment image loader 715
where they are combined with the segment identification loader 712
in order to identify segment images (from the master circuit). The
data is then forwarded to the adaptive compensator 720,
specifically to the segment comparator 721, which quantifies the
variable characteristics of the slave bonder.
[0099] Segment comparator 721 retrieves the bond segment images
from segment image loader 715 and segment identification loader
712. It compares the images of the master circuit with the images
of bond segments collected by the second input data generator 730
from the particular slave circuit which has been selected first to
undergo the bond attachment steps. As a result of this comparison,
the variable bonder characteristics can be quantified, and the bond
segments can be relocated. Based on this comparison, the bond
location corrector 722, which retrieves the relocated bond segments
721, can now re-compute the bond locations in each segment.
Consequently, the individual characteristics of the slave bonder
are adaptively compensated, both the apparatus-specific
irregularities and any time-variable features.
[0100] The alignment reference image location data 713 from the
master circuit are input into the alignment reference image
collector 741 and combined with slave circuit images provided by
image generator 742. Collector 741 thus generates images of the
alignment references on the slave circuit and creates input data
(as third input data generator 740) to be combined with the
corrected bond locations data 722 and forwarded to the relationship
generator 750.
[0101] Relationship generator 750 operates to construct
relationships for the slave bonder between the re-computed bond
locations, the alignment reference images and the reference image
locations. These relationships are forwarded to the bond program
corrector.
[0102] The computerized method of adaptively compensating the slave
bonder characteristics according to the invention is described by
the process flow of FIG. 8. The software loop 801 provides the
inputs for the adaptive compensator. The software loop 802 provides
the inputs of the third input data generator. Both loops begin by
selecting a device program from the master file. Loop 801 consists
of the steps of: [0103] 811: Downloading segment-identifying image
locations. [0104] 812: Downloading segment-identifying images.
[0105] 813: Downloading bond x-y points. [0106] 814: Downloading
relationships between bond points, segment-identifying images and
segment-identifying image locations. After each downloading loop,
the question is asked in gate 818, whether all downloaded data is
valid. As long as the answer is "no", another loop of data
downloading has to be performed. When the answer is "yes", the data
advances to the comparison step 830 in the segment comparator.
[0107] In process step 830, the loaded segment-identifying image is
compared with segment images newly captured from the slave circuit,
which has been selected first to undergo the bond-attaching steps.
Based on this comparison, process step 831 is correcting the
segment and bond locations so that they custom-fit the slave bonder
used. The individual slave bonder characteristics are thus
adaptively compensated.
[0108] Loop 802 consists of the steps of: [0109] 821: Downloading
reference image locations. [0110] 822: Downloading reference image
sizes. [0111] 823: Downloading light settings. [0112] 824:
Capturing/generating alignment reference images. After each
downloading and capturing loop, the question is asked in gate 828,
whether all align reference images have been collected. As long as
the answer is "no", another loop of data downloading and generating
has to be performed. When the answer is "yes", the slave
regeneration process advances to the step 840 of generating
relationships.
[0113] In process step 840, the re-computed bond locations from
step 831, the alignment reference images and the alignment
reference image locations from step 828 are combined to construct
relationships between them in the form of mathematical equations.
The relationships advance to the bond program corrector.
[0114] FIG. 9 illustrates detail of the slave corrector, associated
with the slave bonder. As shown in FIG. 9, data retrieved from the
alignment reference image collector 741 (in the third input data
generator) are combined in the alignment reference comparator 903
with new images of alignment references supplied by the fourth
input data generator 901. These new images are collected from the
next slave-circuit-to-be bonded, selected consecutively from the
plurality of slave circuits. The alignment reference comparator 903
operates to compare the alignment reference images from the
consecutively selected slave circuit with the alignment reference
images from the first selected slave circuit and to quantify any
shifts, rotations or scalings between the two images or image
parts.
[0115] Any deviations found by the comparator 903 are corrected in
re-computor 904. The results are then combined with the recreated
bon x-y locations data from the bond location corrector 722 (in the
adaptive compensator) and the rebuilt relationships between the
bond locations and the alignment reference image locations, as
obtained by the relationship generator. Based on these data, the
re-computor 904 is then correcting the bond pad locations of the
consecutively selected slave circuit and thus correcting the bond
program of the slave bonder for attaching bonds onto the bond pads
of the consecutively selected slave circuit. Alignment reference
comparator 903 and re-computor 904 form the bond program corrector
902.
[0116] The corrected coordinates (x-y locations) of the slave
circuit bond pads can now be forwarded to the bonding machine
(bonder) 910. The computerized bonder 910, coupled to the bond
program corrector 902, operates as the slave bonder to attach the
connecting bonds (wires, ribbons, balls, stitches, etc.) to the
bond pads of the slave circuit-to-be-bonded under the direction of
the re-computed bond pad locations (bond program) provided by the
re-computor 904.
[0117] The computerized method of computing, correcting, and using
bond pad data by the slave corrector according to the invention is
described by the process flow of FIG. 10. The process starts with
the step of: [0118] 1001: Bringing the next circuit-to-be-bonded
("new" slave circuit) into the bonder work station (slave bonder).
[0119] 1002: Capturing alignment reference images on the new slave
circuit. [0120] 1003: Comparing alignment references of third input
data generator (740 of FIG. 7) with the new device alignment
reference image. [0121] 1008: After each identification of a
reference, the question is asked in gate 1008, whether all
references have been compared/located. As long as the answer is no
another loop 1010 of comparing/locating references has to be
performed. When the answer is "yes", the process flow advances to
step 1021: [0122] 1021: Computing any shifts, rotations, or
scalings found on this slave circuit, as described in FIG. 9.
[0123] 1022: Re-computing the correct bond pad locations on the
slave circuit. After each re-computing, the question is asked in
gate 1028, whether all slave circuit bond pad locations are valid.
As long as the answer is "no", another loop 1020 of re-computing
and correcting has to be performed. When the answer is "yes", the
actual bonding process 1031 on the slave circuit can begin.
[0124] In loop 1030 finally, another circuit is readied for the
bonding process and subjected to the process flow as described
above.
[0125] While this invention has been described in reference to
illustrative embodiments, this description is not intended to be
construed in a limiting sense. Various modifications and
combinations of the illustrative embodiments, as well as other
embodiments of the invention, will be apparent to persons skilled
in the art upon reference to the description. It is therefore
intended that the appended claims encompass any such modifications
or embodiments. As an example, the computer-implemented method of
the invention can be applied for reducing operational program
errors in any slave machine, prepared to work on action sites of
any slave object, and comprises the steps of: [0126] generating
input data associated with a master machine, said data collected
from a master object, related in geometry or history to said slave
object, and comprising geometrical information of action sites and
action segments, images of said segments, and geometrical
information of said images; [0127] generating an analysis for
constructing relationships for said master machine between said
action site locations, action segments, and segment image
locations; [0128] storing said relationships, said geometrical
information and said images in a master file as an operational
master program; [0129] generating input data associated with said
slave machine, said data collected from said slave object and
comprising images of a plurality of action segments, defining the
variable characteristics of said slave machine; [0130] retrieving
said action segment images from said master operational program as
well as from said slave machine, comparing and quantifying said
variable machine characteristics, and relocating said action
segments; [0131] retrieving said relocated action segments and
re-computing said action locations in each of said segments; [0132]
generating input information comprising images of alignment
references collected from an object selected first from said slave
objects; [0133] constructing relationships for said slave machine
between said re-computed action locations, said alignment reference
images, and said reference image locations; [0134] generating input
information comprising images of alignment references collected
from an object selected consecutively from said slave objects;
comparing said alignment reference images from said first selected
slave object with said alignment reference images from said
consecutively selected slave object; and [0135] correcting any
deviations found between said reference images, combining the
result with said relationships, re-computing said action x-y
locations, and correcting said operational program of said slave
machine for working on said action sites of said consecutively
selected slave object.
* * * * *