As is know in the art, some automatic test equipment (ATE) is adapted to electrically test integrated circuits at the wafer stage of integrated circuit (IC) fabrication and/or at the packaged IC stage. The circuit being tested is often referred to as a device under test (DUT). So-called, “handling equipment” physically manipulates the DUTs to provide a coupling between the DUTs and the ATE. For example, in one type of system, handling equipment provides a rapid feed of packaged ICs, sequentially coupling each IC to the ATE. In another system, the handling equipment utilizes step and repeat miniature probes that couple the ATE to individual IC dies on a wafer, thereby allowing the dies to be sequentially tested by the ATE.
As is also known, to keep the cost of IC's low and to meet the supply requirements of IC users, there has been a trend to reduce the amount of time required by the ATE to test an IC. To help address the IC cost and supply issues, state-of-the-art ATE systems typically include a host computer coupled to one or more test instruments. Each of the one or more test instruments is typically coupled to a moveable test head. The host computer can be a personal computer, a workstation, or any digital computing platform. The one or more test instruments, responsive to the host computer can include both generic test equipment, for example a conventional voltmeter, and also specialized test equipment integrated with the ATE, for example a digital pattern generator. Under control of the host computer and a test program associated therewith, the one or more test instruments can receive signals from and provide signals to a DUT through THE test head. The test head includes a group of test pins typically referred to as a “pin field.” The pin field includes one or more pins, (e.g. so-called pogo pins) through which the one or more test instruments are coupled to one or more DUTs provided by the handling equipment.
The one or more test instruments can provide one or more “source signals” to respective pins within the pin field. The source signals may include, for example, one or more analog signals or one or more digital signals or a combination of one or more analog signals and one or more digital signals. The source signals are this coupled through the pin field to the DUT.
The one or more test instruments can also receive “measure signals” from the DUTs through respective pins within the pin field. The measure signals may include, for example, one or more analog signals or one or more digital signals or a combination of one or more analog signals and one or more digital signals. The measure signals are coupled to the one or more test instruments from the DUT through the pin field. Thus, the ATE, in conjunction with the handling equipment, can provide signals to and receive signals from either dies upon a wafer or packaged ICs.
A source signal, whether analog or digital, can be represented as “source data.” In providing a source signal, it is often necessary to transfer the “source data” that corresponds to the source signal from the host computer to the one or more test instruments. The source data can correspond, for example, to digital samples of a sine wave. The source data is transferred to one or more of the test instruments and used by the test instruments to provide the source signals. It should be appreciated that there can be a large amount of source data.
Similarly, a measure signal, whether analog or digital, can be represented as digital samples referred to as “measure data.” The measure signals are typically converted to “measure data” by the test instrument. It is often necessary to transfer the measure data from the test instrument to the host computer. It should be appreciated that there can be a relatively large amount of measure data.
The host computer executes a test program that includes instructions for setup and control of the test instruments, instructions for generation of the source data, instructions for transfer of the source data to the test instrument, instructions for capture of the measure data received from the DUT, instructions for transfer of the measure data to the host computer, instructions for processing the measure data to generate “processed data,” and instructions to process the processed data to generate “binned data.” Processed and binned data are described below.
Each of the above instructions can be categorized according to function categories associated with the test program, the function categories including a) setup, b) execution, c) data move, d) processing, and e) binning. It should be noted that a conventional test program can include instructions corresponding to each of these function categories. It will also be noted that each different test program takes a different amount of time to setup, execute, data move, process and bin.
Of the above instructions, the instructions for setup and control of the test instruments, the instructions for generation of the source data, and the instructions for transfer of the source data to the test instrument, each correspond to the setup function category. Each of these instructions are generally provided only once at the beginning of the test program.
The instructions for capture of the measure signals are associated with acquisition of data by the test instrument, the time duration of which is determined by the characteristics of the test instrument. The instructions for capture of measure signals, associated with the execution function category, are generally repeated a number of times within the test program.
The instructions for transfer of the measure data to the host computer, associated with the data move function category, also are generally repeated a number of times within the test program.
The instructions for processing of the measure signals to generate the processed data, associated with the processing function category, also are generally repeated a number of times within the test program.
The instructions for processing the processed data to generate binned data, associated with the binning function category, are generally provided only once at the end of the test program. The data processing and the binning operations are often performed by the host computer.
The execution time (or “run time”) of a test program which implements one individual test on an IC is typically about several seconds. It is often necessary, however, to perform hundreds or thousands of individual tests on each IC. For a particular test program, any one or more of the function categories described above can dominate the total amount of testing time associated with the test program. However, the lengthiest time durations are often those associated with functions that must be repeated a number of times within the test program, rather than with those functions that are performed only one time per test program. As described above, the instructions associated with the execution, data move, and processing function categories are typically repeated a number of times within the test program. Thus, the processes carried out in these function categories are often associated with the longest time durations of the test program.
The time durations associated with the above-mentioned execution function category are influenced by a variety of factors, including but not limited to, the test instrument acquisition speed and the number of measure samples required for a particular test. For example, the test instrument can be a high speed digital signal capture instrument that can capture 8 digital states (one byte) in parallel at a rate of 100 Mbytes per second having a total number of captured bytes of 256,000. This capture would take 0.256 milliseconds. If this data capture were repeated a number of times in the test program, a large amount of time could be devoted to the data capture.
The time durations associated with the above-mentioned data move function category are also influenced by a variety of factors, including, but not limited to, the amount of measure data to be transferred and the speed of the data bus upon which the transfer is done. For example, a transfer of one thousand digital bytes can be associated with an instruction for transfer of measure data, and the measure data can be transferred on a one bit wide serial bus having a bus speed of 10 Mbits per second. In this example, the data transfer would take 0.8 milliseconds. If this data transfer were repeated a number of times in the test program, a large amount of time could be devoted to the transfer of measure data.
The time durations associated with the above-mentioned processing function category are also influenced by a variety of factors, including, but not limited to, the type of processing, the processing speed of the processor that performs the processing, and the amount of data to process. For example, the processing can be a fast Fourier transform performed on one thousand measure samples with a personal computer.
With regard to the above-mentioned data move function category, ATE is often configured having a single data bus coupled between the host computer and the one or more test instruments. Often, the single data bus is a relatively slow data bus. Thus, in many ATE, the time duration associated with the instructions for transfer of measure data from the one or more test instruments to the host computer often has the longest duration. Furthermore, the test program, upon reaching an instruction requesting the transfer of the measure data, must wait until the measure data transfer is completed before proceeding to the next test program instruction.
With regard to the above-mentioned processing function category, the measure data is often processed with functions, for example FFTs, which are most rapidly performed using floating-point arithmetic. Many ATE systems are provided having a host computer that is not optimized to perform floating-point arithmetic on the measure data.
It would, therefore, be desirable to increase the speed with which an ATE system can test a DUT. It would also be desirable to reduce the amount of time required to transfer the measure data from the DUT to the host computer. It would also be desirable to provide an ATE system that can rapidly process measure data.