The present invention relates to integrated circuit (IC) semiconductor devices and, more particularly, to testing the devices.
As integrated circuit designs continue to increase in both complexity and density, design methodologies are challenged to create circuits that use Design-For-Test (DFT) techniques to improve the testability and the quality of the final product. Test methodologies are also challenged to create high-quality, low cost test solutions.
One conventional design methodology includes the process of initially designing an integrated circuit using a software design tool, simulating the overall functionality of the design or individual circuits within the design, and then generating test vectors for testing the overall function of the design. The test vectors are typically generated by an automated software tool (e.g., an Automatic Test Pattern Generator or “ATPG”) that provides a particular degree of fault coverage or fault simulation for the circuitry in the product. These test vectors are then typically provided in a computer readable file to Automatic Testing Equipment (ATE) or testers. The ATE is used in a manufacturing environment to test the die at wafer sort and in packaged tests. As integrated circuit designs become more complex and operate at higher speeds, they place more demands on the testing equipment. This tends to increase the cost of ATEs and, thus, tends to increase manufacturing costs. Additionally, as integrated circuit designs become more complex, the time required to test the circuits increases. This also tends to increase manufacturing costs.
During wafer-level testing of a die, test signals are provided through input or input/output (I/O) bond pads on the die, and the test results are monitored on output or I/O bond pads. The good die that pass the wafer-level test are singulated and typically packaged by electrically connecting the bond pads to the package by means of bond wires, solder balls, or other contact structures. To accommodate the bonding wires or solder balls, the bond pads are generally very large relative to the circuit elements of the integrated circuit. Typical bond pad sizes are on the order of 100 μm (microns)×100 μm (4 mils×4 mils). The bond pads are also typically aligned in regular patterns such as peripherally along the outside perimeter of the die, in a grid pattern, or in a column or row generally through the center of the die (lead-on-center).
To improve test coverage of individual circuits, DFT tools have been developed to embed test circuitry into the design itself. For example, Built-In Self-Test (BIST) circuitry can be inserted into the design to test individual circuit blocks. BIST is particularly useful for testing circuit blocks that are not readily accessible by bond pads of the device under test (DUT). Automated DFT tools (such as those provided by Mentor Graphics of Wilsonville, Oreg.) for generating BIST circuitry, such as memory BIST for testing memory blocks and logic BIST for testing logic blocks, are well known. The results of tests conducted by BIST circuitry are provided directly to external I/Os, or are indirectly provided to the external I/Os through boundary scan circuitry that may be included in the design. Additional internal embedded test circuitry such as SCAN chain circuitry may also be added to the design to increase the internal testability of internal sequential designs.
If a die already has all of its peripheral, grid, or lead-on-center bond pad locations dedicated to a device function, then adding additional bond pads in the predetermined bond pad alignment to support the on-chip testing circuitry can result in a substantial increase in the size of the die. This tends to have a corresponding increase in the cost of the die. Generally, larger die are more prone to defects and consequently more expensive to manufacture. Additionally, on-chip testing circuitry can result in a significant increase in test time as many clock cycles may be required to load test input data and subsequently output test results from a few available bond pads. On-chip testing circuitry also does not allow for direct external access to internal circuit nodes. Test input data and test results must pass through the SCAN circuitry or BIST circuitry before it can be monitored. This introduces additional circuits that can mask failures in the circuit intended to be tested, or can introduce new failures caused by SCAN or BIST circuitry.
Additionally, many designs are I/O limited since only a limited number of leads (e.g., bond wires) may be accommodated in a given packaging scheme. Moreover, to test I/O functionality of a die, these same lead locations must be used. It would be advantageous to access more points in a circuit, especially for testing. It would also be advantageous if the access points could be located with a high degree of positional freedom. Small size, large number, and arbitrary or selective positioning of the access points would also be advantageous.
With embedded test circuitry, the design methodology of an integrated circuit includes the process of: initially designing the integrated circuit using a software design tool; simulating the overall functionality of the integrated circuit or individual circuits within the design; generating embedded test circuitry to test individual circuits or circuit blocks in the design; and generating test vectors for functionally testing the device by an ATE.
The amount of embedded test circuitry to add to a particular design typically requires balancing the benefits of increased fault coverage and potentially decreased test time (e.g., as compared with an ATE) with the disadvantages of increasing both the die size and probability of fabrication defects which each result in increased manufacturing cost of the end product. At one extreme, designs could include elaborate embedded test circuits that test every circuit node of all internal circuits, however, these designs would be prohibitively expensive as the die size would primarily be a function of the size of the test circuitry. At another extreme, designs could include no embedded test circuitry and rely solely on test vectors supplied by an ATE to test the functionality of the design at the wafer level or in packaged form. This latter approach, however, tends to provide reduced fault coverage, a lower product quality, and increase manufacturing costs by using expensive ATEs and by increasing test times. One approach to minimize the cost of using expensive ATEs is disclosed in U.S. Pat. No. 5,497,079 (the '079 patent). The '079 patent condenses the general functions of the ATE into a general function test chip that, under the control of a host computer can test another semiconductor chip. The test chip can be disposed on a probe card or brought into electrical contact with the chip to be tested through a motherboard. Another approach is disclosed in U.S. application Ser. No. 08/784,862, filed Jan. 15, 1997, in which wafer level test of semiconductor chips is performed by test chips that have general purpose test circuitry.
In between the two extremes, typical integrated circuit designs strike a balance between the amount of embedded circuitry and tests that will be performed by an ATE. Typically, embedded circuitry is limited to approximately 5-15% of the total die area of the design, and test vectors are generated for an ATE to test the overall function of the design. This balance, however, results in less than optimal fault coverage while still requiring the use of expensive ATEs.
It is desirable to have design and test methodologies that break the direct correlation between fault coverage or testability and the cost of testing or manufacturing a design.
One embodiment of the present invention concerns a test assembly for testing product circuitry of a product die. In one embodiment, the test assembly includes at test die and an interconnection substrate for electrically coupling the test die to a host controller that communicates with the test die. The test die may be designed according to a design methodology that includes the step of concurrently designing test circuitry and a product circuitry in a unified design. The test circuitry can be designed to provide a high degree of fault coverage for the corresponding product circuitry generally without regard to the amount of silicon area that will be required by the test circuitry. The design methodology then partitions the unified design into the test die and the product die. The test die includes the test circuitry and the product die includes the product circuitry. The product and test die may then be fabricated on separate semiconductor wafers. By partitioning the product circuitry and test circuitry into separate die, embedded test circuitry can be either eliminated or minimized on the product die. This will tend to decrease the size of the product die and decrease the cost of manufacturing the product die while maintaining a high degree of test coverage of the product circuits within the product die. The test die can be used to test multiple product die on one or more wafers.
Other objects, features, and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description which follows below.
The features and advantages of the present invention are illustrated by way of example and are by no means intended to limit the scope of the present invention to the particular embodiments shown, and in which:
In the following detailed description of the present invention numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, one skilled in the art may practice the invention without these specific details. In some instances, well known methods, procedures, and components have not been described to avoid obscuring the present invention.
Throughout this application the terms “product die” and “product device” refer to a single instance of an integrated circuit that is formed on a semiconductor wafer or on an insulating or other appropriate substrate. These terms may also refer to a device under test (DUT). The term “product circuit” refers to a circuit of the product die which may be composed of active or passive components including integrated semiconductor circuitry, integrated microelectrical mechanical structures or systems (MEMS), or other appropriate circuit elements. Additionally, the terms “test die” and “test device” refer to an integrated circuit that is formed on a semiconductor wafer or on an insulating or other appropriate substrate. The test die includes circuitry for providing test signals to, and/or monitoring signals from, the product die. The test die may also be composed of active or passive components including integrated semiconductor circuitry, integrated MEMS, or other appropriate circuit elements to test or monitor the product die. The test die and product die may be later packaged into any commonly known package including Land Grid Array packages (e.g., a Ball Grid Array package (BGA), a Pin Grid Array (PGA) package), a control collapse chip connection (C4) package, a flip-chip package, any other surface mount package, dual in-line packages (DIPs), and the like.
At step 102, circuits for the product die and test die are designed in a unified design 200. The design may be performed on conventional Computer Aided Design (CAD) systems using conventional software tools to design product circuits 202, 204, and 206 and test circuits 202A, 204A, and 206A in, for example, a VHDL or Verilog HDL format. Test circuits 202A, 204A, and 206A, sometimes collectively referred to as a “test bench,” are designed to be as robust as desirable. That is, test circuits 202A, 204A, and 206A may be designed to incorporate as many test functions as is desirable to test their corresponding product circuits 202, 204, and 206, respectively. A test circuit may be designed to provide 100% fault coverage for its corresponding product circuit, or may be designed for any other desired degree of fault coverage. In contrast to previous Design-For-Test (DFT) design methodologies, test circuits 202A, 204A, and 206A may be so designed without regard to the amount of silicon die area to implement the test circuitry. For one embodiment, the test circuitry and product circuits may each be designed such that resultant product die and test die are approximately the same size. For other embodiments, the product die and test die may have different sizes.
At step 104, the product and test circuits are partitioned into separate product die and one or more test die, respectively. By partitioning the test circuitry to a separate test die, the test circuitry on the product die can be either minimized or eliminated. This may decrease the die size of the product die thus decreasing the chance of fabrication defects, and generally decreasing manufacturing costs, while increasing the testability of the product die. The external test circuitry supplying the test stimuli may provide an increased number of tests without impacting the size of product die 300. Without BIST circuitry included in a test input or output signal path, the likelihood of more accurately determining the location of a failure increases as there is no on-chip test circuitry to mask the failure or to introduce further failures. Additionally, speed parameters or the timing of signals into and out of a circuit block or a circuit node may be more accurately measured and monitored without introducing delays caused by intermediary on-chip test circuitry.
The product die design is taped out at step 106, and the test die design is separately taped out at step 108. The resultant product die 300 is then fabricated on a semiconductor wafer (not shown) with many other identical product die. Product die 300 includes product circuits 302, 304, and 306 that may be any digital, analog, or other circuitry that correspond to product circuits 202, 204, and 206, respectively.
The resultant test die 400 is fabricated including test circuits 402, 404, and 406. Test circuits 402, 404, and 406 may be any digital, analog, or other test or monitoring circuitry that correspond to test circuits 202A, 204A, and 206A, respectively, and which test or monitor signals from product circuits 302, 304, and 306, respectively. For example, each test circuit may include functional circuitry (e.g., test pattern generators, sequencers, digital signal processing devices, formatters, analog-to-digital converter, digital-to-analog converters, failure analysis circuitry, etc.) to test the logical operation of a product circuit, and circuitry to test AC parametrics (e.g., timing of internal signals, speed of a circuit, etc.) and DC parametrics (e.g., voltage and current levels, power dissipation, etc.).
While each test circuit is designed to support specific testing of its corresponding product circuit, one embodiment of an exemplary test circuit 500 is shown in
Again with reference to
As shown in
The size of product die 300 may not increase for a given size and number of pads 310, when pads 310 are disposed within the area surrounded by bond pads 312. Additionally, by moving test circuitry to a separate test die, bond pads previously used for communicating with internal test circuitry may be omitted. This may further reduce the size of product die 300. For other embodiments, the size of product die 300 may be increased by the addition of pads 310. For one embodiment, pads 310 may be sized to be smaller than bond pads 312.
For an alternative embodiment, partitioning step 104 may determine that no additional interconnection points are required to test product die 300. For example, partitioning step 104 may determine that bond pads 312 can be used to test the overall functionality of product circuits 302, 304, and 306, and then can be reassigned (i.e., have a dual function) to be used to interface with test circuits 402, 404, and/or 406 when using test die 400. In this embodiment, the number of special contact pads may be zero, or a smaller number than that required in the previous embodiments.
After partitioning at step 104, some BIST circuitry such as BIST 308 may be retained in product die 308. For example, BIST circuitry may advantageously retained in product die 300 to test high-speed circuits that would be unduly loaded by adding a pad 310, or when there is insufficient space on product die 300 to include pads 310 to interface with test die 400.
For another embodiment, design methodology 100 may use preexisting or predetermined test circuitry to generate appropriate product circuitry. For example, at step 102, a product circuit can be designed to be tested at a desired level of fault coverage by a predetermined test circuit. Steps 104-108 would then remain the same. This embodiment may be particularly appropriate, for example, when the product circuits in the product die are predictable such as in memory circuits. The test circuitry to test these highly predictable architectures may be well-known and well-tested (i.e., those that generate march patterns, galloping row and column patterns, etc.), and may thus may be used while only having to adjust the product circuitry to accommodate the existing test circuitry. Additionally, the test circuitry may have been previously created on an existing test die, and partitioning step 104 can determine how to layout the product circuitry to maintain the predetermined test circuitry (e.g., by appropriately adjusting the product circuitry, or adding interconnection points between the test and product circuitry).
At step 602, product design data is generated for product circuits 202, 204, and 206, and at step 603 test design data is generated for test circuits 202A, 204A, and 206A. The design data is generated by a CAD software design tool in response to input from a circuit designer about the circuits. The design data may reside in a computer in VHDL or Verilog HDL format. The test design data may be automatically generated by CAD DFT software tools with or without input from the circuit designer. As described above with respect to design methodology 100, the test design data may be such that the test circuitry produced therefrom is as robust as is desired by the circuit designer.
At step 604, a register-transfer-level (RTL) description of a unified design including both the product and design data is generated and verified by the CAD software. At step 606, logic synthesis and verification of the unified RTL description is generated. At this point in the process, software descriptions of the unified product and test circuits is complete.
A test software tool 608 takes the unified design output from step 606 and produces data for taping out and subsequently fabricating product die 300, one or more separate test die 400, and an interconnect description. At step 610, software tool 608 partitions the unified design into separate product die and test die descriptions and generates physical layouts (e.g., in silicon). This step is performed while taking account of physical constraints 612 and user preferences 614. Constraints 612 and 614 may be input to software tool 608 prior to execution of design methodology 600, or software tool 608 may prompt a user for this input during run-time. Physical constraints 612 include, for example, the die sizes of the resultant product die and test die, the number of bond pads or special contact pads on each die, the size of the bond pads and special contact pads on each die, process constraints, or process technologies, and the like. Physical constraints 612 may be used by software tool 608 to decide which circuitry and how much circuitry to partition between the product die and test die. For one example, a maximum die size for product die 300 may be programmed as a parameter for software tool 608 when performing step 610. If partitioning the product circuits and test circuits would yield too many special contact pads on product die 300 such that the size of the product die would exceed the maximum desired die size, software tool 608 could reconfigure the test circuitry to require fewer interconnection points to the product circuits, replace some of the test circuitry on the test die with BIST circuitry on the product die (i.e., such as BIST 308 of
For another example, software tool 608 may determine that the requisite test circuits are best implemented in different process technologies (e.g., BiCMOS v. CMOS), and thus may generate multiple test die to support the test circuitry from the different process technologies. For yet another example, software tool 608 may determine that some of the requisite test circuits are best implemented in a test die having analog circuitry, and that other requisite test circuits are best implemented in a separate test die having digital circuitry.
Another constraint that may be taken into account by software tool 608 is whether one or more of the test circuits of the test die has been predetermined. For example, as discussed above, a product circuit can be designed to be tested at a desired level of fault coverage by a predetermined test circuit. Predetermined test circuits may be particularly useful, for example, when the product circuits in the product die are predictable such as in memory circuits. In this example, software tool 608 determines how to partition the circuits to maintain the predetermined test circuitry while adjusting the product circuitry appropriately, or adding interconnection points between the test and product circuitry appropriately. Additionally, the test circuitry may have been previously created on an existing test die, and software tool 608 can determine how to layout the product circuitry to maintain the predetermined test circuitry (e.g., by appropriately adjusting the product circuitry, or adding interconnection points between the test and product circuitry).
Software tool 608 may also perform step 608 while taking account of other predetermined constraints such as user preferences 614. User or circuit designer preferences 614 include, for example, the cost of providing connections between the product and test die, the cost of the product die, the cost of the test die, timing priorities, test accuracy, fault coverage, and the cost of interconnections between the test die and an external host device that may control or communicate with the test die. The term “cost” is used here in the broadest sense and includes manufacturability, ease of use, and the like.
The cost of providing interconnections between the product and test die includes the cost associated with forming the special contact pads, of forming interconnect elements for communicating between the product and test die, and ease of performing wafer sort and further testing with a certain number of special contact pads provided on the product and test die. If the cost of providing interconnections is low, a circuit designer may indicate that software tool 608 can partition the circuits regardless of the number of interconnects required between the product and test die. However, if the cost of providing interconnections is high, the circuit designer may indicate that the software tool 608 should partition the circuits to minimize or limit the number of interconnections.
The monetary cost of the resultant product die and test die may also be used by software tool 608 to determine how to partition the product and test circuits. For example, if after partitioning, there is sufficient space on the product die to include special contact pads for testing the product circuit without increasing the product die size, then the monetary cost of the product die does not increase by adding special contact pads and including corresponding test circuit in the test die. Thus, in this example, software tool 608 could partition the product and test circuits and generate all of the required interconnection points. However, if after partitioning, there was insufficient space to add all of the initially desired special contact pads to the product die (or test die) without increasing the die size and thus the monetary cost of the product die (or test die), then software tool 608 could reduce the number of interconnections and pads to maintain the monetary cost of either the product die and test die below a predetermined user preference.
Timing priorities and test accuracy may also be used by software tool 608 to determine how to partition the product and test die. For example, high-speed product circuits may be unnecessarily loaded and delayed by adding special contact pads. Thus, software tool 608 may thus embed some of the test circuitry as BIST circuitry into the product die to test these circuits to avoid timing and test accuracy delays.
Fault coverage of testing the product circuits may also be used by software tool 608 to determine how to partition the product and test die. For example, if 100% or an otherwise high degree of fault coverage is desired by the circuit designer, then the test circuits generated in steps 602-606 may be separated into the test die and the requisite number of the interconnection points or special contact pads generated on both the product die and test die. However, if a lower degree of fault coverage is desired by the circuit designer, then some of the test circuits generated by steps 602-606 may not be partitioned out into the test die. The circuit designer may input which product circuitry is considered more important to test than others, or the desired level of test coverage desired on a product circuit-by-circuit basis. Software tool 608 may use this input to decide which test circuits to keep and which to discard in the final test die.
The cost of interconnections of nets between the test die and an external device may also be used by software tool 608 to determine how to partition the product and test die. The external device may be, for example, a host controller or another test die. The test die may need to communicate with a host controller or other device to report the results of testing the product die. For other embodiments, software tool 608 may generate multiple test die each having particular test circuits for one or more product die. The number of interconnection points, such as bond pads 410 of
After the partitioning of the product and test circuits into product die and test die descriptions, logic and timing verification of the product die is performed at step 616, and logic and timing verification of the test die is performed at step 618. Logic and timing verification of the combined system of the product die and test die working together may be performed at step 620. In response to steps 616-620, software tool 608 determines if the all of the physical constraints 612 and user preferences 614 have been satisfied at step 622. If the constraints 612 and 614 have been satisfied, then the product die is taped out at step 624, the test die is taped out at step 628, and a description of the interconnect points between the die may be generated. If the constraints 612 and 614 have not been satisfied, then software tool 608 iterates the process. That is, software tool 608 returns to step 610 and repartitions the product circuits and test circuits in a second attempt to satisfy constraints 612 and 614. This process may continue until all the constraints are satisfied. If software tool 608 determines that it cannot satisfy all of the constraints, then it may stop and inform the designer. The designer may then change the design, or change the constraints.
One embodiment of partitioning step 610 is shown as step 710 in
The partitioning of the design at step 704 may cause circuit adjustments in the test circuitry, the product circuitry, and/or BIST circuitry on the product die. The adjustments may include adding, removing, or altering test circuitry and/or BIST circuitry to optimally test the product circuits. The adjustments may also include adding additional test circuitry to the test nodes that have been introduced by the partitioning itself. This step may be completed automatically or interactively with the circuit designer.
When a partition is generated at step 704, the solution is tested, evaluated, and/or simulated at step 706 to determine if an optimum solution has been generated and all of constraints 612 and 614 have been satisfied. If the weighting function is defined correctly, then the tested solution would satisfy all of the constraints 612 and 614 and would generate product die with or without BIST circuitry, a test die, and an interconnect description. If the user is not satisfied with the solution, the constraints may be adjusted to form a new weighting function and generate a new partition of circuitry, special contact pads, die size, etc. between the product die and test die.
In design methodology 800, the test design data supplied to RTL synthesis and verification step 604 is determined by steps 804-810. At step 808, tests are partitioned between the tester and the test die in response to test requirements 804 for testing the product circuits, and a description of the tester's capabilities 806. If a test is to be performed by a test die (as determined at step 810), then the test it is provided as part of the test design data to step 604 together with the product circuits design data. If, however, the test is to be performed by the tester, the test is stored in a test file 812 for the tester.
The design methodologies described in the preceding embodiments are embodied in software routines that may be implemented in a general purpose computer or workstation, or in a custom CAD system. One embodiment of a general purpose computer system 900 upon which the software routines may be stored and executed in shown in
Computer system 900 includes a computer 928 that has a main memory 902, static memory 904, mass storage device 906, and processor 912 that communicate over one or more internal busses 910. Main memory 902 may be, for example, dynamic random access memory (DRAM) or other volatile or nonvolatile memory that store program code, system code, and/or one of more of the software routines of the various design methodology embodiments. Static memory 904 may be cache memory or be used to store program code, system code, and/or one of more of the software routines of the various design methodology embodiments. Mass storage device 906 may be any mass storage device such as a CDROM, floppy disk, hard disk, laser disk, flash memory card, magnetic storage device, or the like. Mass storage device 906 may also store program code, system code, and/or one of more of the software routines of the various design methodology embodiments. Processor 912 may be any control logic that coordinates the flow of data in computer system 928. For example, processor 912 may be a microprocessor or one or more other digital signal processing devices.
Computer 928 may communicate with one or more of peripheral devices 914 over bus 926. The peripheral devices includes a display 914 for displaying graphical representations of the logic and circuitry of the product and test die generated by the design methodologies and/or the software routines of the design methodologies; a keyboard 916 for inputting data into computer 928; a cursor control device 918 such as mouse, trackball, or stylus; a signal generation device 920 for providing any other input signal to computer 928; a hard copy device 922 such as a printer; and a sound recording and playback device 924.
Special Contract Pads
With reference to
Special contact pads 310 also provide a means for testing internal circuits 302-306 when these circuits are not otherwise individually testable and/or accessible through bond pads 312. For one example, product circuit 302 may be an embedded memory that is not directly accessible through bond pads 312. Address and input data signals may be provided over several of the special contact pads 310 to provide test patterns to the embedded memory, and another group of special contact pads 310 may receive data read from the memory. The external circuitry providing the test patterns for the embedded memory may provide any number of patterns to increase the fault coverage.
For another embodiment, product circuit 302 may be a programmable circuit such as nonvolatile memory or programmable logic. Data can be programmed into the internal circuit through the special contact pads 330. For example, BIOS information, program code, and system software may be programmed or updated in programmable circuit 302 after fabrication of integrated circuit 300.
As shown in product die 300, special contact pads 310 may also work with BIST circuitry 308 (or other on-chip test circuitry) to monitor the response of internal circuit 306 to test stimuli provided by BIST 308. This can be accomplished without having to add additional bond pads 312, or to use existing bond pads 312 to communicate with BIST 308.
As shown in
Special contact pads 310 may also be interspersed between bond pads 312, or may be located outside the region surrounded by bond pads 312. For one embodiment in which special contact pads 310 are interspersed between bond pads 312, it may be advantageous for special contact pads 310 to be smaller than bond pads 312 so as not to increase the size of product die 300.
Special contact pads 310 may be any size including sizes smaller than bond pads 312. When special contacts 310 are smaller than bond pads 312, more special contact pads may be disposed on product die 300 without increasing the size of the die over that defined by the peripheral bond pads 312. A larger number of special contact pads may increase the number and/or complexity of tests that can be provided to the internal circuit, and thus may increase the fault coverage and robustness of tests. For one embodiment, a bond pad 312 may be approximately 100 μm×100 μm (4 mil×4 mil), and a special contact pad may be approximately 5 to 10 μm per side. In other embodiments, the special contact pad may be less than 5 μm per side. For still other embodiments, the special contact pads may be manufactured to have different sizes to accommodate their different spatial locations on the die (e.g., between bond pads 312 vs. within the area surrounded by bond pads 312), to accommodate different dimensions of various probe tips, bond wires, or solder balls, or to accommodate different functions of the circuits under test (i.e., nodes driving output signals may required larger pads than pads for providing input signals, or vice versa). The lower limit for the size of the special contact pads may be limited by the accuracy of the probe-to-pad alignment and the size of the probe.
Special contact pads 310 may be formed into an approximately square shape, rectangular shape, or any other geometric shape. Special contact pad 310 may also have a height different than that of bond pads 312. Special contacts pads 310 may be fabricated using conventional photolithography processes that are typically used to create bond pads or other relatively flat conductive landings. For one embodiment, the special contact pads may be fabricated from one or more metal layers including aluminum, copper, gold, or other metals or conductive materials.
Special contact pads 310 may not be permanently bonded out to an integrated circuit package (e.g., typical plastic and ceramic chip packages); rather, the pads may be used for receiving test input information (e.g., address, control or data signals), or for monitoring internal test nodes or signals. The special contact pads are large enough, however, to receive an electrical contact element (as will be described in more detail below). If special contact pads 310 are not bonded out to a package, special contacts pads 310 generally require significantly less supporting circuitry than is typically required by bond pads 312. Typical bond pads generally include supporting circuitry that requires significant amounts of silicon die are. Examples of the supporting circuitry include electrostatic-discharge (ESD) protection structures such as resistors, capacitors, and/or diodes, latch-up prevention circuits such as guard rings, buffers for driving circuits and signal lines external to the integrated device or for buffering internal signals received from external signal lines, logic or voltage translation circuits, and noise reduction circuitry. Special contact pads 310 may reduce the amount of supporting circuitry required. Little no ESD protection may be needed and little or no buffering may be required for an external probe to electrically contact a special contact pad and monitor a signal thereon. For one example, an I/O buffer 320 may be used between an internal test point 324 and a special contact pad 312 as shown in
While
The embodiments shown in
In response to the data read from memory 1402, I/O interface 1404 may format the data prior to providing it to I/O drivers 1406. I/O interface 1404 may receive control signals on special contact pads 1414, or internal circuit nodes within I/O interface 1404 may be monitored by special contact pads 1414. The data output by I/O interface 1404 to I/O drivers 1406 may be monitored via special contact pads 1415. I/O drivers 1406 may then drive the data to bond pads 1416.
Since special contact pads 1413 and 1415 and bond pads 1416 may be used to monitor the output of each of memory 1402, I/O interface 1404, and I/O divers 1406, respectively, such that incorrect data received at bond pads 1416 can be isolated to the circuit which caused the failure. In conventional BIST techniques in which an address, for example, is provided to memory 1402, the source of incorrect data received at bond pads 1416 would be unknown.
While the embodiment shown in
Special contact pads may also be used to not only isolate failures, but to also enable redundant circuits to be used to replace faulty circuits.
The control signal on line 1423 can be driven to the appropriate voltage level or logic state by switch 1410. In response to a TOGGLE signal, either voltage V3 or V2 will be selected in response to monitoring the signals at the special contact pads 1417 and 1415. The TOGGLE signal can be controlled by test circuitry on a test die through another special contact pad or bond pad.
As discussed above with respect to
Similarly, as shown in
For an alternative embodiment, one or both of pads 1212 may be special contact pads. This may provide for increased design flexibility in the location and use of SCAN circuitry. For example, this may enable multiple SCAN regions or circuits of varying size and complexity to be used to test various different internals circuits or blocks of circuitry.
Test Methodology and Test Assemblies
A test die generated by one of the design methodologies described above, may be used to test or monitor signals of a product die using various test assemblies.
Test assembly 2000 includes an interconnect and support substrate 2008, test die 2010, and product die 2012. Interconnect and support substrate 2008 provides electrical interconnect between test die 2010 and host 2002. Substrate 2008 also provides structural support for test die 2010. Substrate 2008 may be one or more printed circuit boards (PCBs) that perform the electrical interconnect and support functions. Substrate 2008 may be attached to a structure (e.g., a wafer prober or chuck not shown) that also supports wafer 2012.
Host 2002 communicates with test die 2010 via substrate 2008. Host 2002 may send signals to start and stop tests, to catalog results of tests and display them to a user, or to send other test data to test die 2010. Any type of host may be used including a general purpose computer, ATE, or any other control logic.
Test die 2010 includes special contact pads 2006 and bond pads 2004 upon which are disposed spring contact elements 2020 and 2018. Product die 2011 is formed on a wafer 2012 that may include other product die 2011. Wafer 2012 may be disposed on a suitable support structure such as a vacuum chuck (not shown).
Spring contact elements 2018 are formed in a predetermined alignment to provide electrical connections between bond pads 2004 and bond pads 2014 when test die 2010 is urged toward product die 2012. Spring contact elements 2020 provide electrical connections between special contact pads 2004 and special contact pads 2016 when test die 2010 is urged toward product die 2012. For one embodiment, contact elements 2018 may be arranged in a grid array to contact bond pads 2014 arranged on die 2011 in a corresponding grid array pattern. Spring contact elements 2020 may be arranged aligned in the predetermined grid array, outside of the grid array pattern, or interspersed within the grid array pattern to make electrical contact with corresponding special contact pads 2016 on die 2011. Alternatively, spring contact elements 2018 may be arranged in a peripheral pattern to contact bond pads 2014 arranged on die 2011 in a corresponding peripheral pattern. Spring contact elements 2020 may be arranged aligned within the predetermined peripheral pattern, outside of the peripheral pattern, or within a region surrounded by the peripheral pattern to make electrical contact with corresponding special contact pads 2016 on die 2011. In yet another embodiment, spring contact elements 2018 may be arranged in a lead-on-center arrangement to align with corresponding lead-on-center bond pads 2014, and spring contact elements 2020 may be arranged within or outside of the lead-on-center arrangement to align with corresponding special contact pads 2016. For still other embodiments, bond pads 2014 and special contact pads 2016 may be arranged in any other alignment.
When test die 2010 is urged towards, and makes contact with, product die 2011, one or more of the product circuits may be simultaneously or consecutively tested by test circuitry of test die 2010. Product die 2011 may also be tested as a whole. Wafer 2012 may include many product die 2011 and test die 2010 may be stepped across wafer 2012 to test each product die. In an alternative embodiment shown in
While
For an alternative embodiment, as shown in
Bond pads 2016 and special contact pads 2016 may also be of different heights. For example, as shown in
Structure 2406 can be any shape.
The multiple test die of assembly 2700 may be generated by the design methodologies described above. For example, it may be determined (e.g., by software tool 608 of
Test assembly 2900 of
Test die 2902 may simultaneously support all test die 2010 by concurrently providing a common test pattern to each of test die 2010, or test die 2902 may perform a coordinating function and selectively (e.g., consecutively) provide tests or patterns to one or more of test die 2011.
The design methodologies described above may determine when it is advantageous to partition the test circuits into one or more test die. For example, if a relatively large circuit (e.g., an APG) can be shared by more than one test die, then the circuit can be moved to shared test die 2902 to reduce the die size of each test die 2010.
The embodiments shown in
Test die 3104 may be one or more test die such as test die 400 of
Interconnect substrate 3106 provides electrical interconnection between test die 3104 and contactor 3108. As shown in
Interconnect substrate 3106 may include sufficient routing, and contactor 3108 may include a sufficient number of contact elements 3112, to electrically connect test die 3104 to more than one product die 3111. For example, an entire wafer of product die may be simultaneously tested by one or more test die.
For one embodiment, test die 3104 may be mounted onto substrate 3104 and have its bond pads and special contact pads bonded out to substrate 3106, or it may be packaged first into a suitable semiconductor package (e.g., a surface mount, DIP, or LGA, C4, or flip-chip package, etc.) and then electrically connected to substrate 3106.
Substrate 3106 also provides structural support for test die 3104 and contactor 3108. Substrate 3106 may be one or more PCBs that perform the electrical interconnect and support functions, and may be attached to a structure (e.g., a wafer prober or chuck not shown) that supports wafer 3110.
Host 3102 communicates with test die 3104. Host 3102 may send signals to start and stop tests, to catalog results of tests and display them to a user, or to send other test data to test die 3104. Any type of host may be used including a personal computer, ATE, or any other control logic.
Probe card 3210 is a cantilevered or needle probe card that includes cantilevered probes 3220 that provide signals to and receive signals from product die 3111. Probes 3220 may comprise any suitable conductive material including tungsten. As shown in the plan view of probe card 3220 in FIG. 33, probes 3320 are connected to contact pins or points 3304 that contact test circuitry on test die 1304. Probe card 3210 may be secured to substrate 3106 through one or more securing pins 3302, screws, or other securing means.
Probes 3220 are provided to contact special contact pads 1316 when probe assembly 3213 is urged towards product die 3111. In alternative embodiments, separate probe cards may be used for initially testing product circuits by probing special contact pads 1316, and subsequently testing product device 3111 as a whole by probing bond pads 1314.
Probe card 3410 includes one or more contact pins 3502 that provide an electrical connection between substrate 3104 and probes 3218 and 3220. Test die 3104 may be disposed on probe card 3410 (as in
For the embodiments shown in
As shown in the plan view of probe card 3610 of
For another embodiment, contact balls 3620 may be replaced with spring contact elements previously described above. In this embodiment, special contact pads 3116 may be selectively placed within the grid array of bond pads 3114 as shown in
Test die 3104 is electrically connected to one or more of probes 3620 through substrate 3106. Test die 3104 may also be electrically connected to one or more of probes 3618 through substrate 3106. Alternatively, test die 3104 may be disposed directly on probe card 3610, or in any other location of test assembly 3600
While
For an alternative embodiment, bond pads 3114 and special contact pads 3116 may be of different heights. For example, bond pads 3114 may be taller than special contact pads 3116 (or vice versa). For this embodiment, contact balls 3218 and 3220 may have different heights. That is, contact balls 3220 may extend lower than contact balls 3218 to make contact with special contact pads 1516. Alternatively, other probe elements such as spring contact elements may be used to probe the shorter special contact pads 3116.
Test die 3104 is electrically connected to one or more of probes 3920 and may also be electrically connected to one or more of probes 3918. Test die 3104 may be disposed on the underside of upper die 3909 as shown in
Probes 3918 are generally formed in a grid array to contact bond pads 3914 arranged in a corresponding grid array pattern. Probes 3920 may be arranged aligned in the predetermined grid array, outside of the grid array pattern, or interspersed within the grid array pattern as shown in
While
For an alternative embodiment, bond pads 3114 and special contact pads 3116 may be of different heights. For example, bond pads 3114 may be taller than special contact pads 3116 (or vice versa). For this embodiment, probes 3918 and 3920 may extend to different depths (or have different heights). That is, probes 3920 may extend lower than probes 3918 to make contact with special contact pads 3116.
Test die 3104 is electrically connected to one or more of probes 4220 and may also be electrically connected to one or more of probes 4218. Interconnection may be made by probe card 4204, interposer 4206, or space transformer 4210. Test die 3104 may be disposed on the underside of interposer 4206 as shown in
Spring contact elements 4218 are provided in a predetermined alignment to provide signals to and receive signals from corresponding bond pads 3114. For one embodiment, probes 4218 are arranged in a grid array pattern. Spring contact elements 4220 may be arranged aligned in the predetermined grid array, outside of the grid array pattern, or interspersed within the grid array pattern to align with corresponding special contact pads 3116. For another embodiment, spring contact elements 4218 may be arranged in a peripheral pattern. Spring contact elements 4220 may be arranged in an area surrounded by the predetermined peripheral pattern, outside of the peripheral pattern, or interspersed in the peripheral pattern to align with corresponding special contact pads 3116. For yet another embodiment, spring contact elements 4218 may be arranged in a lead-on-center arrangement, and spring contact elements 4220 may be arranged within or outside of the lead-on-center arrangement to align with corresponding special contact pads. For still other embodiments, bond pads 3114 and special contact pads 3116 may be arranged in any other alignment.
While
For an alternative embodiment, bond pads 3116 and special contact pads 3116 may be of different heights. For example, bond pads 3114 may be taller than special contact pads 3116 (or vice versa). For this embodiment, probes 4218 and 4220 are extended to different depths (or have different heights). That is, probes 4220 may extend lower than probes 4218 to make contact with special contact pads 3116.
For an alternative embodiment, spring contact elements 4218 and 4220 may be attached to bond pads 3114 and special contact pads 3116 on product die 3111. For this embodiment, space transformer 4210 may include pads for making contact with the spring contact elements 4218 and 4220. For yet another embodiment, some of the spring contact elements 4218 or 4220 may attached to space transformer 4210 and some may be attached to product die 3111.
A product die generated by the design methodologies described above may also be inserted into a socket to be tested by a test die. The product die may be packaged in any generally known package for semiconductor integrated circuits, or need not be packaged (e.g., in a chip-scale configuration). Any generally known socket may be used to support the product die. The test die may be mounted to a printed circuit board and may directly contact the product die (e.g., through spring contact elements or the like), or may indirectly contact the product die through a contactor, edge connector, and the like.
PCB 4610 has a plurality of terminals or pads 4618, and package 4604 have a plurality of bond pads 4612 and special contact pads 4614. Socket 4600 provides a means for electrically interconnecting terminals 4618 with pads 4612 and 4614. Test circuitry provided on PCB 4610, or in communication therewith, may provide signals to or monitor signals from pads 4612 and 4614 through socket 4600. For example, programmable circuitry within package 4604 may be programmed or monitored through spring contact elements 4616, special contact pads 4614 and/or pads 4612.
Socket 4600 includes a support substrate 4608 formed, for example, from a conventional PCB material. Support substrate 4608 includes spring contact elements 4616 formed on a top surface thereof, and pads 4622 formed on a bottom surface thereof. Spring contact elements 4616 are for contacting pads 4612 and 4614 of package 4604 when package 4604 is urged downward by a forced applied to the topside of package 4604 by retaining means 4602. Other contact elements besides spring contact elements may also be used. Support substrate 4608 also includes electrical conduits 4624 that provide an electrical interconnection between spring contact elements 4616 and pads 4622. For an alternative embodiment, spring contact elements 4616 may be connected directly to terminals 4618.
Contact balls (such as conventional solder balls) are disposed on the bottom surface of pads 4622. The contact balls 4622 serve as contact structures disposed on the bottom surface of the support substrate 4608 to contact corresponding pads or terminals 4618 on PCB 4610. Other electrical contact structures may also be used.
Socket 4600 also includes a frame 4606 that is attached to PCB 4602. Frame 4606 includes landings 4626 to support package 4604. Socket 4600 also includes retaining means 4602 that is disposed over frame 4626 and package 4604. Retaining means 4602 retains package 4604 on landings 4626 such that spring contact elements 4616 remain in electrical contact with pads 4612 and 4614. Any suitable mechanical means may be used for retaining means 4602 including, for example, a spring clip.
Additionally, and/or alternatively, one or more of the spring contact elements 4616 may be attached to pads 4612 and 4614. In this configuration, the spring contact elements may contact pads or terminals on topside 4632 of support substrate 4608, or the spring contact elements may directly contact terminals 4618.
In the foregoing specification the invention has been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than restrictive sense.
This patent application is a continuation-in-part application of commonly-owned, co-pending U.S. patent application Ser. No. 08/784,862 filed Jan. 15, 1997 which is incorporated by reference herein, and from which priority is claimed.
Number | Name | Date | Kind |
---|---|---|---|
3781683 | Freed | Dec 1973 | A |
4354268 | Michel et al. | Oct 1982 | A |
4455654 | Bhaskar et al. | Jun 1984 | A |
4471484 | Sedmak | Sep 1984 | A |
4517512 | Petrich et al. | May 1985 | A |
5053700 | Parrish | Oct 1991 | A |
5070297 | Kwon et al. | Dec 1991 | A |
5103557 | Leedy | Apr 1992 | A |
5243274 | Kelsey et al. | Sep 1993 | A |
5363038 | Love | Nov 1994 | A |
5389556 | Rostoker et al. | Feb 1995 | A |
5399505 | Dasse et al. | Mar 1995 | A |
5422574 | Kister | Jun 1995 | A |
5442282 | Rostoker et al. | Aug 1995 | A |
5461573 | Chakradhar et al. | Oct 1995 | A |
5463562 | Theobald | Oct 1995 | A |
5477160 | Love | Dec 1995 | A |
5497079 | Yamada et al. | Mar 1996 | A |
5498886 | Hsu et al. | Mar 1996 | A |
5506499 | Puar | Apr 1996 | A |
5539325 | Rostoker et al. | Jul 1996 | A |
5576554 | Hsu | Nov 1996 | A |
5642054 | Pasiecznik, Jr. | Jun 1997 | A |
5665989 | Dangelo | Sep 1997 | A |
5701666 | DeHaven et al. | Dec 1997 | A |
5719449 | Strauss | Feb 1998 | A |
5736850 | Legal | Apr 1998 | A |
5764072 | Kister | Jun 1998 | A |
5834946 | Albrow et al. | Nov 1998 | A |
5903164 | Kline | May 1999 | A |
5952843 | Vinh | Sep 1999 | A |
5959462 | Lum | Sep 1999 | A |
6064213 | Khandros et al. | May 2000 | A |
6078186 | Hembree et al. | Jun 2000 | A |
6133744 | Yojima et al. | Oct 2000 | A |
6181145 | Tomita et al. | Jan 2001 | B1 |
6246250 | Doherty et al. | Jun 2001 | B1 |
6256760 | Carron et al. | Jul 2001 | B1 |
6275962 | Fuller et al. | Aug 2001 | B1 |
6351134 | Leas et al. | Feb 2002 | B2 |
6411116 | DeHaven et al. | Jun 2002 | B1 |
6429029 | Eldridge et al. | Aug 2002 | B1 |
6456099 | Eldridge et al. | Sep 2002 | B1 |
6551844 | Eldridge et al. | Apr 2003 | B1 |
6597187 | Eldridge et al. | Jul 2003 | B2 |
6603324 | Eldridge et al. | Aug 2003 | B2 |
6621260 | Eldridge et al. | Sep 2003 | B2 |
6825052 | Eldridge et al. | Nov 2004 | B2 |
6891385 | Miller | May 2005 | B2 |
6930499 | Van Arendonk et al. | Aug 2005 | B2 |
6940093 | Eldridge et al. | Sep 2005 | B2 |
6965244 | Miller | Nov 2005 | B2 |
6977516 | Ferreira et al. | Dec 2005 | B2 |
7075175 | Kazi et al. | Jul 2006 | B2 |
20020021140 | Whetsel | Feb 2002 | A1 |
20060006384 | Eldridge et al. | Jan 2006 | A1 |
Number | Date | Country |
---|---|---|
028091 | May 1981 | EP |
670552 | Sep 1995 | EP |
845680 | Jun 1998 | EP |
855651 | Jul 1998 | EP |
01-302850 | Dec 1989 | JP |
02-159585 | Jun 1990 | JP |
06-295958 | Oct 1994 | JP |
86101160 | Jun 1998 | TW |
WO 9743656 | Nov 1997 | WO |
Number | Date | Country | |
---|---|---|---|
20050156165 A1 | Jul 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10317486 | Dec 2002 | US |
Child | 11000586 | US | |
Parent | 09224673 | Dec 1998 | US |
Child | 10317486 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 08784862 | Jan 1997 | US |
Child | 09224673 | US |