Nowadays, integrated circuits are used in many different types of equipment, ranging from computers over mobile communication devices up to industrial equipment and automotive applications.
Even though the fabrication technology has made big progress over several decades, it is still necessary to ensure the quality of the produced devices (e.g. integrated circuits) using a testing step which follows the production. The testing step can be performed before a packaging or after a packaging.
Furthermore, it should be noted that even nowadays thermal effects have a strong impact on the performance of devices, such that it is desirable to perform the testing of the devices under well-controlled thermal conditions. For example, it may be desirable to test the devices under test at different temperatures and/or to ensure that a temperature of the devices under test reliably lies within a predetermined range during a test. In the following some motivation will be described (e.g. motivation for using a thermal control or even an active thermal control (ATC) in a test equipment).
In some cases, numerous channels (or parallel components) on a device under test (DUT) are tested in parallel (e.g. central processing unit CPU/graphics processing unit GPU/accelerated processing units APUs), deviating from the original device use model. In other words, for example, during a testing of a device under test, a larger number of processing units may be operated in parallel when compared to a “normal” operation of the device under test, e.g. to increase a speed of test.
Moreover, DUT complexity is increasing with circuitry size being reduced.
These (e.g. these impacting factors) can cause excess heat to accumulate, resulting in a large temperature rise (e.g. during a testing of the device under test).
Accordingly, DUT operating conditions could be breached, impacting yield. Moreover, faulty circuits can give rise to thermal excursions, whose source needs to be pin-pointed quickly.
To conclude, in many testing applications, there is a motivation to control the temperature of the device under test.
In view of the above discussion, there is a desire to have a concept for a testing of devices under test, which provides for a good comprise between a control of a temperature, a user friendliness, a computational complexity and an implementation effort.
An embodiment relates to an automated test equipment, ATE, for testing a device under test, DUT, wherein the automated test equipment is configured to obtain a testing profile indicating an evolution of a DUT temperature during an execution of a given test flow; wherein the automated test equipment is configured to analyze the testing profile, in order determine an information describing a plurality of temperature peaks using a fitting approach; and wherein the automated test equipment is configured to obtain a plurality of temperature control instructions for an execution of a test flow on the basis of the information describing the plurality of temperature peaks.
Another embodiment relates to a method for testing a device under test, DUT, wherein the method includes obtaining a testing profile indicating an evolution of a DUT temperature during an execution of a given test flow; wherein the method includes analyzing the testing profile, in order determine an information describing a plurality of temperature peaks using a fitting approach; and wherein the method includes obtaining a plurality of temperature control instructions for an execution of a test flow on the basis of the information describing the plurality of temperature peaks.
Another embodiment relates to a non-transitory digital storage medium having a computer program stored thereon to perform the method for testing a device under test, DUT, when said computer program is run by a computer.
An embodiment according to the invention creates an automated test equipment, ATE, for testing a device under test, DUT. The automated test equipment is configured to obtain a testing profile (e.g. a DUT thermal profile) indicating an evolution of a DUT temperature during an execution of a given test flow (e.g. an original test flow). The automated test equipment is further configured to (automatically) analyze the testing profile, in order to determine an information describing a plurality of (significant) temperature peaks (e.g. an information describing a peak time, and/or a peak duration, and/or a peak amplitude, and/or a fitting quality). In the context of the present application, the wording “peaks” may, for example, comprise peaks in a direction towards higher temperature and may also designate “negative” peaks in a direction towards lower temperatures. The automated test equipment is configured to (automatically) analyze the testing profile, in order to determine information describing a plurality of (significant) temperature peaks using a fitting approach (e.g. using a curved fitting). Moreover, the automated test equipment is configured to obtain a plurality of temperature control instructions (e.g. cooling instructions or heating instructions) (e.g. defining a timing of a cooling or of a heating, and optionally describing a cooling strength or heating strength) for an execution of a test flow on the basis of the information describing the plurality of temperature peaks.
This automated test equipment is based on the finding that information describing a plurality of temperature peaks may be obtained with a good reliability and also with a good accuracy using a fitting approach, wherein, for example, portions of the testing profile indicating an evolution of a DUT temperature during an execution of a given test flow are approximated by (e.g. parametrized) fitting functions. By fitting smooth parametrized fitting functions to the testing profile indicating the evolution of the DUT temperature, the key parameters of the temperature peaks can be obtained with good accuracy. For example, by using appropriate (e.g. smooth) parameterized fitting functions, key characteristics of the temperature peaks can be considered, while an impact of noise and an impact of very short temperature peaks in the testing profile can be reduced or even eliminated. Consequently, the fitting approach may bring along an effect of a smoothing and/or filtering.
Furthermore, the temperature control instructions (cooling instructions or heating instructions) may be adapted (or may be well suited) for compensating thermal peaks, a temporal evolution of which is in accordance (or at least approximately in accordance) with the respective fitting functions. Moreover, by using fitting functions, the parameters of the fitting functions may, for example, be used to determine one or more parameters of the temperature control instructions (wherein, for example, a timing of the temperature control instructions may be determined by a timing of the fitting functions, and wherein, for example, a cooling intensity or heating intensity defined by the temperature control instructions may, for example, be determined by amplitudes of the (parametrized) fitting functions). Moreover, by using the fitting approach, a number of temperature control instructions can be kept comparatively small, since temperature control instructions may primarily be provided for such thermal events (e.g. thermal peaks or temperature peaks) that can be well-fitted by a fitting function, such that, for example, an excessive number of temperature control instructions can be avoided.
Moreover, it has been recognized that the fitting approach is, in many cases, better suited for determining appropriate temperature control instructions when compared to other approaches, since the fitting approach effectively “converts” thermal events of arbitrary shape (e.g. of arbitrary temporal evolution) into “standardized” fitting curves for which appropriate temperature control instruction can be easily derived.
To conclude, it has been found that the determination of the temperature control instructions using the fitting approach for the determination of information describing a plurality of temperature peaks brings along a good comprise between an accuracy of the temperature control and an implementation effort. Moreover, in some cases, the fitting approach allows for a fully automatic determination of the temperature control instructions on the basis of the testing profile, and is also well suited for a determination of temperature control instructions which involves some human interaction (wherein the fitting approach typically significantly supports a human user since the fitting approach supports an identification of thermal events and also a determination for appropriate temperature control instructions and temperature control parameters).
In an embodiment, the automated test equipment is configured to fit respective fitting functions (e.g. parabolic fitting functions defined by one or more respective parameters, or Gaussian fitting functions defined by one or more respective parameters, or normal distribution fitting functions defined by one or more respective parameters, or other fitting functions, such as Lorentzian or Voigt functions) to a plurality of thermal peaks within the testing profile, in order to obtain parameters of the thermal peaks (e.g. parameters describing a respective timing of the thermal peaks and/or parameters describing heights or intensities of the thermal peaks). For example, the parameters of the thermal peaks may constitute the information describing the plurality of temperature peaks.
It has been found that a fitting of such respective fitting functions to a plurality of thermal peaks within the testing profile allows for a computationally efficient and well-defined derivation of parameters of the thermal peaks. Well known and efficiently implementable curve fitting algorithms can be applied, such that a computational effort remains reasonably small. Furthermore, by using a well-defined fitting function, the parameters of the thermal peaks can be determined in such a manner that the temperature control instructions (which may also comprise one or more parameters, like a time parameter and/or an intensity parameter) can be easily derived from the parameters of the thermal peaks. In particular, the fitting functions can be chosen such that they well correspond to a cooling profile (or heating profile) that is obtainable by an execution of the temperature control instructions.
In an embodiment, the automated test equipment is configured to determine the one or more temperature control instructions (e.g. cooling instructions or heating instructions) in dependence on one or more parameters of the one or more fitting functions. Accordingly, the parameters of the cooling instructions or heating instructions can be determined in a very efficient manner, wherein the curve fitting contributes to eliminate noise and to have parameters of the heating functions or cooling functions that are adapted to an evolution of a testing profile over a certain temporal extension (e.g. over a temporal extension that is of the order of the temporal extension of a fitting function). Consequently, by determining the one or more temperature control instructions (or, more precisely, the parameters of the one or more temperature control instructions) on the basis of the fitting approach, the temperature control instructions can be well adapted to an actual evaluation of the testing profile over a significant temporal portion, e.g. without being significantly affected by thermal noise.
In an embodiment, the automated test equipment is configured to identify a plurality of temperature peaks in the testing profile using a temperature threshold value (which may, for example, be determined automatically or which may, for example, be set by a user) and/or in dependence on an extension (e.g. in dependence on an area; e.g. in dependence on an area of a time-temperature integral; e.g. in dependence on an area above a temperature threshold value) of respective temperature peaks. Moreover, the automated test equipment is configured to fit respective fitting functions (e.g. parabolic fitting functions defined by one or more respective parameters, or Gaussian fitting functions defined by one or more respective parameters, or other fitting functions, e.g., as mentioned above) to the identified temperature peaks, or to a subset of the identified temperature peaks, in order to obtain the information describing the thermal peaks.
Using such an approach, in which a plurality of temperature peaks (also designated as thermal peaks) are identified using a first (typically more computationally efficient) criterion, and in which a curve fitting approach (which is typically computationally more demanding than the mere identification of the thermal peaks) is applied in a second step, a high overall computational efficiency can be achieved. Also, it can be avoided that relatively small thermal peaks, which do not fulfill the identification criterion (e.g., which do not exceed a temperature threshold value or which only comprise a small extension) are fitted, wherein such a fitting would involve comparatively high computational effort (higher than a computational effort for a mere threshold decision) and would foreseeably result in an unnecessary temperature control instruction. Accordingly, the two-step concept to first identify a plurality of temperature peaks in a testing profile using a first criterion and to then apply the curve fitting approach (only) to the identified temperature peaks, or to a subset of the identified temperature peaks, provides a particularly good computational efficiency and at the same time provides meaningful temperature control instructions.
In an embodiment, the automated test equipment is configured to filter out (e.g., exclude) or to neglect thermal events (e.g., thermal peaks or temperature peaks) having a comparatively smaller relevance (e.g., thermal events having a smaller likelihood to be relevant; e.g., thermal events having a smaller likelihood to affect a functionality of a device under test) (e.g., using one or more smart filters, parameters of which are adjusted automatically and/or independence on a user interaction) and to obtain the temperature control instructions on the basis of thermal events (e.g., thermal peaks) having a comparatively higher relevance (e.g., having a comparatively higher likelihood to be relevant; e.g., thermal events having a comparatively higher likelihood to affect a functionality of the device under test).
By selectively filtering out or neglecting thermal events having a comparatively smaller relevance, a number of temperature-control instructions can be kept reasonably small, which may be helpful or even necessary in some testing environments. Also, a computational effort for determining the temperature control instructions can be kept reasonably small using such a preprocessing (e.g., using a filtering out of thermal events having comparatively smaller relevance).
Moreover, it can be avoided that a test program is overloaded with an excessive number of temperature control instructions. Furthermore, noise-like distortions within the testing profile can be addressed and eliminated using such an approach.
In an embodiment, the automated test equipment is configured to classify thermal events (e.g., thermal peaks or temperature peaks) as thermal events having a small (or comparatively smaller) significance (e.g., thermal events having a smaller likelihood to be relevant; e.g., thermal events having a smaller likelihood to affect a functionality of a device under test) (e.g., using one or more smart filters, parameters of which are adjusted automatically and/or independence on a user interaction) and to (or as) thermal events (e.g., thermal peaks or temperature peaks) having a high (e.g., comparatively higher) significance (e.g., having a comparatively higher likelihood to be relevant; e.g., thermal events having a comparatively higher likelihood to affect a functionality of the device under test). Moreover, the automated test equipment is configured to obtain the temperature control instructions on the basis of the thermal events having (e.g., classified as having) the high significance (while leaving thermal events classified as having a low significance unconsidered). By using such a classification of the thermal events into, for example, two classes (e.g., thermal events having a small significance and thermal events having a higher significance), a number of temperature control instructions can be kept reasonably small, which results in a good computational efficiency and also in a good efficiency of the test program.
In an embodiment, the automated test equipment is configured to take into account a minimum overheating event duration threshold value when determining the information describing the plurality of (significant) temperature peaks. Accordingly, the automated test equipment can, for example, avoid a provision of a temperature control instruction in the case of a very short overheat event, which can be expected to have little impact on a result of the test. Consequently, “spikes” in the testing profile can be suppressed, which increases the reliability of the generation of the temperature control instructions and keeps the number of temperature control events reasonably small.
In an embodiment, the automated test equipment is configured to fit a common fitting function (e.g., a parabolic fitting function defined by one or more parameters, or a Gaussian fitting function defined by one or more parameters, or another fitting function, e.g., as mentioned above) to two or more adjacent thermal peaks (e.g. temperature peaks) within the testing profile.
Using such an approach, a common temperature control instruction can be generated for two or even more adjacent thermal peaks within the testing profile, which keeps the number of temperature control instructions reasonably small. When using such an approach, it can be exploited that a single temperature control instruction is well suited for usage in situations in which two or more thermal peaks are closely adjacent. In particular, the fact that a common fitting function can be well fitted (e.g. with a relatively small fitting error) to two or more adjacent thermal peaks within the testing profile can be used as a reliable indication that a single temperature control information is well suited for an active temperature control in such a situation. On the other hand, if the automated test equipment recognizes that the fitting of a common fitting function to two or more thermal peaks within the testing profile would result in an excessive fitting error (e.g., exceeding a predetermined threshold value), the automated test equipment may conclude that separate fitting functions should be fitted to the different thermal peaks, and the automated test equipment may also conclude, in such a situation, that a single temperature control instruction may not be sufficient for a reliable active temperature control.
In an embodiment, the automated test equipment is configured to evaluate a maximum overheating event proximity parameter (which may, for example, be set by a user or which may, for example, be set automatically) to decide whether a common fitting function should be fitted to two or more adjacent thermal peaks in a testing profile.
Using such a maximum overheat event proximity parameter, the automated test equipment may therefore efficiently decide whether a common fitting function may be appropriate to fit two or more adjacent peaks. Thus, by evaluating the maximum overheat event proximity parameter, a good computational efficiency may be reached, since the determination of the maximum overheat event proximity parameter (which may, for example, describe a temporal distance between two adjacent thermal peaks within the testing profile) is typically computationally less demanding than a fitting approach (that may be unsuccessful if the temporal distance between two adjacent thermal peaks is too large). Thus, the automated test equipment may use an efficient concept to pre-classify for which of the thermal peaks within the testing profile a common fitting (using a common fitting function) appears to be promising.
In an embodiment, the automated test equipment is configured to obtain a combined temperature control event or a combined temperature control instruction (e.g., a combined cooling event or a combined cooling instruction or a combined heating event or a combined heating instruction) on the basis of two or more (e.g., adjacent) fitted temperature peaks (e.g., on the basis of two or more fitted temperature peaks which overlap temporally, or on the basis of two or more fitted temperature peaks having a distance smaller than a threshold distance).
By providing a combined temperature control event or a combined temperature control instruction on the basis of two or more adjacent fitted temperature peaks, the number of temperature control instructions can be kept reasonably small which facilitates the execution of the temperature control instructions by the automated test equipment. Moreover, in some circumstances, a more smooth evaluation of the temperature at the device under test can be achieved using such an approach.
In an embodiment, the automated test equipment is configured to automatically adjust a criterion (e.g., a temporal criterion; e.g., a maximum overheat event proximity parameter) for obtaining a combined temperature control event or a combined temperature control instruction (e.g., a combined cooling event or a combined cooling instruction or a combined heating event or a combined heating instruction) on the basis of two or more (e.g., adjacent) fitted temperature peaks, such that a total number of temperature control events (e.g., cooling events or heating events) or a total number of temperature control instructions (e.g., cooling instructions or heating instructions) does not exceed a predetermined maximum value.
Using such an approach, the automated test equipment may automatically make a best usage of the active temperature control resources, in particular, in a case in which the temperature control resources only allow a maximum total number of temperature control instructions. By automatically adjusting the criterion for obtaining a combined temperature control event or a combined temperature control instruction, the automated test equipment may adjust the criterion in such a manner that a best possible active temperature control can be achieved, even though the “combined” temperature control instructions may not provide ideal temperature control for the individual temperature peaks. However, by varying (or adjusting) the criterion for obtaining a combined temperature control instruction, the automated test equipment can vary (e.g. optimize) the value of said criterion to achieve a situation in which all significant thermal peaks (or temperature peaks) are “covered” (at least in a sub-optimal but sufficient manner) by temperature control instructions while avoiding to exceed a maximum allowable number of temperature control instructions. Thus, a “best possible” active temperature control result can be obtained (e.g., automatically, without a high degree of user interaction).
In an embodiment, the automated test equipment is configured to select a limited number of thermal peaks in (e.g. determined by a user setting), out of an overall number of thermal peaks within a testing profile, for a determination of the information describing a plurality of (significant) temperature peaks or for obtaining the plurality of temperature control instructions.
By selecting a limited number of thermal peaks, the computational effort can be kept reasonably small, and a number of temperature control instructions can also be kept so small that they can be well-handled by the hardware equipment. Furthermore, a pre-selection of a limited number of thermal peaks, (for example on the basis of simple criterion, an evaluation of which involves less computational resources than the fitting approach) can help to save computational resources and can therefore also bring an improved usability (e.g. in a system in which user settings and the result of these user settings are visualized in close-to-real-time).
In an embodiment, the automated test equipment is configured to correlate a timing information of the information describing a plurality of temperature peaks with test flow events (e.g. with calls of subroutines of a test flow) (e.g. by identifying test flow events that are in a temporal proximity to desired cooling start points derived from the information describing a plurality of temperature peaks).
By using such an approach, it is possible to reliably determine a timing of the temperature control instructions. For example, by determining a correlation between a timing information of the information describing a plurality of temperature peaks and a timing of test flow events, the temperature control instructions can be tied to, or linked with, test flow events. Accordingly, it can, for example, be determined that a temperature control instruction is inserted into the test flow in close temporal proximity (e.g. directly before or directly after) to a test flow event that has been identified by the correlation, or a predetermined time before a test flow event that has been identified by the correlation. Consequently, it can be achieved that the temperature control instruction is executed at an appropriate time (or at an appropriate position, e.g. within an order of test flow instructions) during an execution of the test flow, such that the temperature control information can have a best possible effect.
In an embodiment, the automated test equipment is configured to receive an input test flow and to insert the plurality of cooling instructions (e.g. pre-trigger cooling signals for problematic test suites causing over-heat) into the input test flow (e.g. before tests or “test suites” that have been identified to cause over-heat), to obtain an updated test flow. Moreover, the automated test equipment is configured to insert the temperature control instructions into the input test flow to start the temperature control (e.g. a cooling or a heating) before a beginning of a temperature peak (e.g. on the basis of the information describing the plurality of temperature peaks).
By using such an approach, the test flow can be used to control both an execution of tests or “test suites” and the active thermal control. Thus, the input test flow may be supplemented by temperature control instructions, wherein said temperature control instructions may, for example, be inserted at appropriate positions within the input test flow. For example, by placing a temperature control instruction shortly before a command to execute a certain test or test suite that has been found to cause a temperature peak, a cooling may be pre-triggered shortly before this test or test suite is started. Thus, by inserting the temperature control instructions into the test flow, a very good temporal synchronization between the execution of the test flow (comprising tests or test suites) and the active temperature control can be achieved. By having temperature control instructions inserted into the test flow, this synchronization between the execution of the test flow and the active temperature control can even be reached in case that different tests or test suites are not time-deterministic. Thus, a very good temperature control can be achieved during the execution of the test flow, wherein the generation of a test flow comprising both instructions to perform tests or test suites and temperature control instructions allows for a particularly simple control of an overall test.
In an embodiment, the automated test equipment is configured to obtain (e.g. receive or generate) a test log file (e.g. an EDL file; e.g. a log file describing a timing of an execution of test functions of a test flow; e.g. a file indicating how long test steps of a test flow were run) which is associated with the thermal profile (e.g. which belongs to a same test execution as the thermal profile). Moreover, the automated test equipment is configured to insert the temperature control instructions into the test flow using information of the test log file (e.g. taking into consideration which test or test suite or test function of test flow has been started in a temporal proximity before a thermal peak, and tying a temperature control instruction to said test or test suite or test function (or to a call starting said test function) that has been started in the temporal proximity before the thermal peak).
Using a test log file, the automated test equipment can determine in which position within a test flow a temperature peak has occurred. For example, the thermal profile may describe the temporal evolution of the temperature, and the test log file may describe at which time (e.g. measured in real time) the different tests or test suites have actually been started and/or have been completed. This may, for example, be in contrast with the test flow, wherein the test flow may, for example, not describe a detailed (real physical time) timing of the execution of the tests or test suites (e.g. because the test or test suites may be non-time-deterministic). In other words, the automated test equipment may use the test log file to conclude from the times of the temperature peaks (e.g. indicated in real physical time) to the specific tests or test suites of a test flow, and may therefore conclude at which position within a test flow (e.g. before the start of a test or test suite that causes temperature peak) a temperature control instruction should be inserted. Thus, by jointly using the test profile and the test log file, the automated test equipment may insert the temperature control instructions into the test flow at appropriate positions.
In an embodiment, the automated test equipment is configured to jointly visualize the testing profile (e.g. a DUT thermal profile) indicating an evolution of a DUT temperature during an execution of a given test flow, and respective fitting functions (e.g. parabolic fitting functions defined by one or more respective parameters, or Gaussian fitting functions defined by one or more respective parameters, or other fitting functions, e.g. as described herein) fitted to a plurality of thermal peaks within the testing profile.
With such a joint visualization, it is possible for a user of the automated test equipment to efficiently check whether the fitting has been performed in a reliable manner. Moreover, it is also possible for a user of the automated test equipment to change one or more parameters of the fitting approach, and/or one or more further parameters for the analysis and/or processing of the testing profiles, and to see resulting fitting functions in a quasi-instantaneous (e.g. quasi-real-time) manner.
Accordingly, the user of the automated test equipment can efficiently adjust parameters for the extraction of the temperature control instructions while having a good insight into the effect of parameter variations. Thus, the user of the automated test equipment can set the parameters in a well-informed manner.
In an embodiment, the automatic test equipment is configured to also visualize temperature control periods (e.g., cooling periods or heating periods) determined using the information describing a plurality of (significant) temperature peaks (e.g., within the joint visualization of the testing profile and the respective fitting curves).
Consequently, the user of the automated test equipment provides an excellent overview over the functionality of the automated test equipment. In particular, by also visualizing the temperature control periods determined using the information describing a plurality of (significant) temperature peaks, the user of the automated test equipment can obtain an insight how the temperature control periods correlate with the identified temperature peaks, and the user of the automated test equipment can also obtain an insight how parameter variations (e.g., manual parameter variations) affect the actual temperature control periods (e.g., cooling periods or heating periods) that are automatically derived by the automated test equipment (e.g., using the manually adjusted parameters). Thus, a user gets significant support in choosing appropriate parameters, since he can quickly recognize the temperature control periods (which are typically controlled by the temperature control instructions) that result from these settings. Accordingly, the automated test equipment is particularly user friendly.
In an embodiment, the automated test equipment is configured to update (e.g., in real time or quasi-real-time) the visualization in response to a user interaction changing one or more parameters (e.g., a temperature threshold and/or a minimum overheat event duration threshold value, and/or any other user selected parameter).
Thus, the user gets quick visual feedback to his user interaction, which typically helps the user to choose appropriate parameters for the determination of the one or more temperature control instructions. This allows the user to obtain good, or even approximately optimal, settings of the automated test equipment, which results in temperature control instructions that are well-suited for a specific test task. In particular, the experience of the user can be utilized, while the determination of the temperature control instructions is still significantly supported by the automated test equipment. Consequently, a good active temperature control result can be obtained that allows usage of the experience of the user of the automated test equipment and provides a uniformity of the automatic determination of the temperature control instructions.
In an embodiment, the automated test equipment is configured to iteratively obtain (e.g., determine) the temperature control instructions.
By iteratively determining the temperature control instructions, it is possible to refine the temperature control instructions which have been obtained in a previous processing. For example, a first set of temperature control instructions (also designated as initial set of temperature control instructions) can be obtained on the basis of a testing profile (“initial testing profile”), which has been obtained without any cooling, or which has been obtained using a constant cooling, or which has been obtained using a manually defined cooling profile. Thus, the “first” testing profile (or “initial testing profile”) may represent an evolution of the temperature of the device under test, which is obtained without the usage of an active temperature control. Accordingly, initial temperature control instructions can be derived on the basis of this “first” or “initial” testing profile.
Subsequently, a test can be run, wherein in this test run, the initial temperature control instructions generated on the basis of the initial testing profile may be applied, and an updated testing profile may be obtained. In the updated testing profile, typically some of the temperature peaks that have been present in the initial testing profile may be significantly reduced, or even eliminated, due to the execution of the temperature control instructions.
However, remaining temperature peaks may be evaluated to refine the temperature control instructions, for example, by changing one or more parameters of the temperature control instructions and/or by replacing one temperature control instruction (e.g. out of the initial temperature control instructions) by another temperature control instruction. Moreover, additional temperature control instructions could also be added on the basis of the updated testing profile.
Accordingly, the quality of the temperature control can be improved iteratively, wherein, for example, a degradation of the test, which may be caused by the lack of an adaptive temperature control during the execution of the initial test may be overcome by the improved test (using the first initial set of temperature control instructions). Consequently, the testing may, for example, step-wisely approximate ideal conditions.
Moreover, it has been found that the iterative approach significantly outperforms simulation approaches, since it is typically very difficult to precisely simulate a thermal behavior of a device under test during a test flow.
Moreover, it has been found that the iterative approach results in reliable (step-wisely improved) temperature control instructions, since it has been recognized that the initial execution of a test flow (without active temperature control) typically deviates significantly (e.g., with respect to a timing) from a subsequent test execution, e.g. executed using the initial temperature control instructions.
To conclude, it has been found that the iterative obtention of the temperature control instructions using multiple executions of a test flow, wherein temperature control instructions (or, more precisely, parameters of the temperature control instructions) are iteratively improved in multiple passes, results in highly reliable temperature control instructions.
In an embodiment, the automated test equipment is configured to execute an updated test flow, which is based on the given test flow and into which the plurality of temperature control instructions (e.g. first temperature control instructions or initial temperature control instructions) (which are obtained on the basis of the information describing a plurality of temperature peaks) (and which are determined, for example, on the basis of the initial testing profile) are inserted. In this case, the automated test equipment is configured to evaluate an updated testing profile (e.g., DUT thermal profile) indicating an evolution of a DUT temperature during an execution of the updated test flow. Furthermore, the automated test equipment is configured to refine the temperature control instructions in dependence on the updated testing profile, in order to obtain a refined test flow including a refined temperature control instructions (e.g., refined temperature control instructions having refined timing and/or refined intensity when compared to the (original/previous) temperature control instructions included in the updated test flow).
Using such an approach, highly reliable temperature control instructions can be obtained, even though the initial test flow (which has resulted in the initial testing profile) may have been executed without using active temperature control (or with only a very unreliable active temperature control that is not based on actual measurements). For example, changes in DUT timing between the execution of the initial test flow and the execution of the updated test flow may be taken into account by the evaluation of the updated testing profile which indicates the evolution of DUT temperatures during execution of the updated test flow. Thus, the refined temperature control instructions, which are obtained on the basis of the updated testing profile, may be significantly better adapted to an actual DUT behavior under the condition of a temperature control than the initially obtained temperature control instructions.
Thus, a highly reliable test result can be obtained by using the refined test control instructions, rather than the initially obtained test control instructions.
An embodiment according to the present invention creates a method for testing a device under test, DUT. The method comprises obtaining a testing profile (e.g., a DUT thermal profile) indicating an evolution of a DUT temperature during an execution of a given test flow. The method comprises (e.g., automatically) analyzing the testing profile, in order to determine an information describing a plurality of (significant) temperature peaks (e.g., an information describing a peak time, and/or a peak duration, and/or a peak amplitude, and/or a fitting quality) using a fitting approach (e.g., a curve fitting). For example, peaks may comprise peaks in a direction towards higher temperatures and/or peaks in a direction towards lower temperatures.
Moreover, the method comprises obtaining a plurality of temperature control instructions (e.g., cooling instructions or heating instructions) (e.g., defining a timing of a cooling or of a heating, and optionally describing a cooling strength or heating strength) for an execution of a test flow on the basis of the information describing the plurality of temperature peaks.
This method is based on the same considerations like the above-described automated test equipment. Moreover, it should be noted that the method may also be supplemented by any of the features, functionalities and the details disclosed herein, also with respect to the automated test equipment.
Another embodiment according to the invention creates a computer program for performing the method when the computer program runs on a computer. The computer program is based on the same considerations like the above-described automated test equipment and the above-described method.
Embodiments of the present invention will be detailed subsequently referring to the appended drawings, in which:
Automated test equipment, ATE, 100 serves for testing a device under test. For example, the automated test equipment 100 provides stimulus signals to a device under test and evaluates response signals provided by the device under test in response to the stimulus signals. However, the automated test equipment may alternatively be adapted to perform a system-on-the-chip test, which may, for example, comprise uploading a test software onto a device under test and evaluating signals or data provided by the device under test. For example, the test may be performed under the control of a test program or a test flow.
The automated test equipment 100 is configured to obtain a testing profile 110 (e.g., a DUT thermal profile) indicating an evolution of a DUT temperature during an execution of a given test flow. Moreover, the automated test equipment 100 provides a plurality of temperature control instructions 112. The temperature control instructions 112 may, for example, be cooling instructions and/or heating instructions. For example, the temperature control instructions may define a timing of a cooling or a timing of a heating. Optionally, the temperature control instructions also describe a cooling strength or a heating strength. The temperature control instructions 112 may, for example, be obtained for an execution of a test flow (wherein, for example, the temperature control instructions may be inserted into a test flow).
The automated test equipment 100 comprises a testing profile analyzer or a testing profile analysis 120 which is configured to analyze (e.g., automatically analyze) the testing profile 110, in order to determine an information 122 describing a plurality of temperature peaks (e.g., a plurality of significant temperature peaks) using a fitting approach (e.g., a curve fitting). The information 122 describing a plurality of (e.g., significant) temperature peaks may, for example, be, or comprise, an information describing a peak time, and/or a peak duration, and/or a peak amplitude, and/or a fitting quality. However, it should be noted that peaks may, for example, comprise peaks in a direction towards higher temperature and/or peaks in a direction towards lower temperatures. Moreover, the automated test equipment 100 comprises a temperature control instruction provider/temperature control instruction provision 130 that is configured to obtain a plurality of temperature control instructions, e.g., cooling instructions or heating instructions 112, for an execution of a test flow on the basis of the information 122 describing a plurality of temperature peaks.
To conclude, the automated test equipment 100 may provide the temperature control instructions 112 on the basis of the testing profile 110, wherein a fitting approach (e.g., a curve fitting approach) may be used by the testing profile analyzer/testing profile analysis 120 to determine the information 122 describing a plurality of temperature peaks, and wherein the temperature control instruction provider/temperature control instruction provision 130 may use the information 122 to provide the temperature control instructions 112. The temperature control instructions 112 may then, for example, be inserted into a test flow (or into a test program defining the test flow).
However, it should be noted that the automated test equipment 100 according to
The automated test equipment 200 is configured to provide a plurality of temperature control instructions 212, wherein the temperature control instructions 212 may, for example, be cooling instructions and/or heating instructions. For example, the temperature control instructions 212 may define a timing of a cooling or a timing of a heating. Moreover, the temperature control instructions 212 may optionally describe a cooling strength or a heating strength. Accordingly, the automated test equipment 200 may be configured to obtain the plurality of temperature control instructions 212 for the execution of a test flow.
The automated test equipment 200 comprises a testing profile analyzer/testing profile analysis 220, wherein the testing profile analyzer/testing profile analysis 220 is configured to analyze (e.g., automatically analyze) the testing profile 210, in order to determine an information 222 describing a plurality of temperature peaks (e.g., a plurality of significant temperature peaks). For example, the information describing a plurality of temperature peaks may be an information describing a peak time, and/or a peak duration, and/or a peak amplitude, and/or a fitting quality. In this regard, peaks may, for example, comprise peaks in a direction towards higher temperatures and/or peaks in a direction towards lower temperatures. For example, but not necessarily, the testing profile analyzer 220 may be configured to analyze the testing profile, in order to determine the information describing a plurality of temperature peaks using a fitting approach (e.g., a curve fitting). However, it should be noted that different approaches for determining the information 222 describing a plurality of temperature peaks may also be applied.
The automated test equipment 200 also comprises a temperature control instruction provider/temperature control instruction provision 230, wherein the temperature control instruction provider/temperature control instruction provision may be configured to obtain the plurality of temperature control instructions 212 for an execution of a test flow. For example, the temperature control instruction provider/temperature control instruction provision 230 may be configured to obtain cooling instructions or heating instructions which may, for example, define a timing of a cooling and/or of a heating and which may optionally describe a cooling strength and/or a heating strength.
For example, the temperature control instructions 212 may be included into a test flow or, for example, into a test program defining a test flow.
Moreover, the automated test equipment 200 comprises an iteration controller/iteration control 240, wherein the iteration controller/iteration control 240 may be configured to control an iterative obtention (e.g., determination) of the temperature control instructions 212. For example, the iteration controller 240 may be configured to control the automated test equipment 200 in such a manner that initial temperature control instructions are obtained on the basis of an original testing profile 210, wherein, for example, the original testing profile may be obtained without an active temperature control. The original testing profile may, for example, be obtained using an original (initial) test flow in which there are no temperature control instructions or in which there are no temperature control instructions varying the cooling or heating multiple times during the execution of the test flow. The initial temperature control instructions may be obtained by the automated test equipment 200 on the basis of such an original (initial or first) testing profile, and the initial (original or first) temperature control instructions may then be inserted into a test flow, to obtain an updated test flow.
The iteration controller 214 may then control the automated test equipment to run the updated test flow and to obtain an updated testing profile (which may, for example, describe the DUT temperature during the execution of the updated test flow). The updated testing profile 210 may then be used by the automated test equipment to obtain refined temperature control instructions. For example, parameters of the initial temperature control instructions may be modified in order to obtain the refined temperature control instructions. For example, the updated testing profile may indicate (e.g. represent) an evolution of the DUT temperature in the presence of a test flow which considers the initial (first) temperature control instructions. However, due to imperfections of the initial temperature control instructions, the updated testing profile may still exhibit one or more temperature peaks. Consequently, the automated test equipment 200 may, for example, under the control of the iteration controller, obtain revised (e.g. refined) temperature control instructions that are intended to counteract temperature peaks within the updated testing profile. Consequently, revised (e.g. refined) temperature control instructions are obtained, which may be inserted to obtain a revised (e.g. refined) test flow. One or more additional iterations may optionally be performed under the control of the iteration controller 240, to thereby further improve the temperature control instructions (or the parameters of the temperature control instructions).
Thus, the automated test equipment is configured to use one or more iterations in order to obtain improved (e.g., revised or refined) temperature control instructions which are typically better adapted to the actual testing procedure than initial temperature control instructions that are obtained on the basis an original (first, initial) testing profile. During the iterations, the test flow may be modified by using a new (e.g., revised) set of one or more temperature control instructions after each iteration.
Consequently, such an iterative approach may, for example, address the fact that a timing of an execution of a test flow may change in the presence of an active temperature control. Thus, since the timing of the execution of the test flow may change in the presence of an active temperature control, it is apparent that the original (first, initial) testing profile is associated with a test timing that deviates from a test timing (e.g. test flow timing) that is obtained by using the initial temperature control instructions. Accordingly, the initial temperature control instructions, or a test flow that is based on the initial temperature control instructions, may sometimes not provide a sufficient accuracy. However, the accuracy of the temperature control instructions may be improved significantly by performing one or more iterations, since the updated testing profile is typically already obtained under much more appropriate thermal conditions than the original testing profile. Consequently, the updated testing profile allows for the obtention of revised (e.g. refined) temperature control instructions, wherein said revised (e.g. refined) temperature control instructions typically lead to an improved active temperature control when compared to the initial temperature control instructions. Optionally, further iterations may bring along additional improvements. Accordingly, a very high quality of the temperature control instructions can be obtained.
However, it should be noted that the automated test equipment 200 according to
The automated test equipment 300 comprises, as important components, an analyzer/analysis 320 (which may, for example, correspond to the testing profile analyzer 120 or to the testing profile analyzer 220), a temperature control instruction provider/temperature control instruction provision 230, which may, for example, correspond to the temperature control instruction provider/temperature control instruction provision 130 or to the temperature control instruction provider/temperature control instruction provision 230, a user interface 340 and a visualizer/visualization 350. Moreover, the automated test equipment comprises, a temperature control instruction inserter/temperature control instruction insertion 360. Moreover, the automated test equipment 300 also comprises an iteration controller/iteration control 370 which may, for example, correspond to the iteration controller/iteration control 240. However, it should be noted that, in some embodiments, the user interface 340, and/or the visualizer/visualization 350, and/or the temperature control instruction inserter/temperature control instruction insertion 360 and/or the iteration controller/iteration control 370 may be omitted. Accordingly, the user interface 340, the visualizer/visualization 350, the temperature control instruction inserter/temperature control instruction insertion 360 and/or the iteration controller/iteration control 370 may be considered as being optional.
In the following, some further details will be described.
The analyzer/analysis 320 is configured to receive the testing profile 310 (which may, for example, describe an evolution of a DUT temperature over time), or a preprocessed version 382 thereof. For example, a preprocessing block 380 may apply a filter or a filtering to the testing profile 310 and/or may apply a suppressor/suppression to the testing profile 310, to obtain a preprocessed testing profile 382. For example, the preprocessing block 380 may be configured to filter out (e.g., exclude) or to neglect thermal events (e.g., thermal peaks) having a comparatively smaller relevance (e.g., thermal events having a smaller likelihood to be relevant; e.g., thermal events having a smaller likelihood to affect a functionality of a device under test) from the testing profile, to thereby obtain the preprocessed testing profile 382. For example, the filter/filtering may use one or more “smart filters”, parameters of which are adjusted automatically and/or in dependence on a user interaction. For example, the optional filter/filtering in the preprocessing block 380 may reduce a noise on the testing profile, and/or may suppress thermal peaks that are considered as being of little relevance (e.g., due to their short duration and/or due their small amplitude, and/or due to their small integral area). Thus, the optional preprocessing block 380 may provide the analyzer/analysis 320 with a preprocessed testing profile, such that temperature control instructions can be obtained on the basis of the preprocessed thermal profile 382. In the preprocessed thermal profile 382, thermal events (e.g., thermal peaks) having a comparatively higher relevance (e.g., having a comparatively higher likelihood to be relevant; e.g., thermal events having a comparatively higher likelihood to affect a functionality of the device under test) are included while thermal peaks having a comparatively lower relevance (e.g. having a comparatively lower likelihood to be relevant; e.g. thermal events having a comparatively lower likelihood to affect a functionality of a device under test) are reduced or filtered out or suppressed.
To conclude, the analyzer/analysis 320 may (for example, automatically) analyze the testing profile 310, or the preprocessed testing profile 382, to thereby obtain an information 322 describing a plurality of temperature peaks like, for example, parameters of temperature peaks or parameters of fitting functions (fitting temperature peaks within the testing profile 310 or within the preprocessed version 382 of the testing profile 310).
The analyzer/analysis may, for example, obtain the information 322 describing temperature peaks using a fitting approach. In the fitting approach, respecting fitting functions, e.g., parametrized fitting functions, may be fitted to the thermal peaks within the testing profile 310 or within the preprocessed version 382 of the testing profile. In the fitting approach, parameters of one or more fitting functions may be determined. The fitting functions may, for example, be parabolic fitting functions, or Gaussian fitting functions, or normal distribution fitting functions, or Lorentzian fitting functions, or Voigt fitting functions. For example, parameters of the fitting functions may be determined such that the fitting functions approximate different peaks within the testing profile 310 or within the preprocessed version 382 of the testing profile.
For example, a “distance measure” may be evaluated during a fitting procedure, wherein the fitting procedure may, for example, be considered as an optimization of one or more parameters of a respective fitting curve (fitting function) in order to reduce or minimize a distance between the parameterized fitting curve (fitting function) and a corresponding portion of the testing profile. Thus, the analyzer/analysis 320 may be configured to determine one or more fitting function parameters per fitting function, such that the respective parametrized fitting functions approximate respective peaks within the testing profile 310, or within the preprocessed testing profile 382, with a sufficient accuracy (or quality).
During the fitting procedure, noise of the temperature peaks typically does not have a strong impact on the fitting result, since it is typically averaged out by a distance measure evaluating (or judging) the difference between the testing profile (or a portion of a testing profile) and a parameterized fitting function. Optionally, the curve fitting may be performed such that a common fitting function is fitted for two or more adjacent temperature peaks (e.g. partially overlapping temperature peaks). For example, by appropriately choosing the distance measure, a common fitting function may be fitted to two or more adjacent thermal peaks (provided that the adjacent thermal peaks are sufficiently close to each other).
Accordingly, the analyzer/analysis 320 provides an information 322 describing temperature peaks within the testing profile 310 or within the preprocessed testing profile 382. For example, the information describing temperature peaks may comprise one or more parameters of the temperature peaks, like, for example, respective timing parameters of the respective temperature peaks and/or respective amplitude parameters of the respective temperature peaks. For example, the analyzer/analysis 320 may use the parameters of the fitting functions as the parameters of the temperature peaks, or may derive the parameters of the temperature peaks from the parameters of the fitting functions. For example, the time of a peak of a fitting function may be considered as a time of a peak of a thermal peak. Moreover, a maximum value of a fitting function may be considered as a maximum value of a thermal peak (even though the thermal peak may actually comprise a slightly different maximum value). Worded yet differently, the different thermal peaks within the testing profile may be approximated by the fitting functions, and the respective parameters of the fitting functions may be considered as the parameters of the thermal peaks. Naturally, it is also possible that the parameters of the temperature peaks (thermal peaks) may be derived from the parameters of the fitting functions using some mapping or mapping function.
The temperature control instruction provider/temperature control instruction provision 330 receives the information about the temperature peaks (e.g., parameters of temperature peaks, or simply parameters of fitting functions determined by the analyzer/analysis 320) and provides, on the basis thereof, a plurality of temperature control instructions 332. For example, the temperature control instruction provider/temperature control instruction provision 330 may provide an instruction which activates a cooling or a heating. For example, the temperature control instruction provider/temperature control instruction provision 330 may determine parameters of such a temperature control instruction 332 on the basis of the information describing temperature peaks. As an example, the temperature control instruction provider/temperature control instruction provision 330 may determine one or more timing parameters, defining when a cooling or heating should be activated and/or when a cooling or heating should be deactivated on the basis of parameters of the fitting functions.
Just as an example, the temperature control instruction provider/temperature control instruction provision 330 may receive a parameter describing a time at which a peak of the fitting function occurs and may optionally also receive a parameter describing a width of the fitting function and may further optionally receive a parameter describing an amplitude of a fitting function. For example, the temperature control instruction provider/temperature control instruction provision 330 may derive a parameter describing a beginning of a cooling (or a beginning of a heating) on the basis of the parameter describing a time at which the peak of the fitting function occurs, and optionally also in dependence on a parameter describing a width (e.g., a temporal extension) of the fitting function. For example, the temperature control instruction provider may provide the parameter describing the timing of the cooling (or of the heating) such that the heating begins a certain time before the temperature peak (or even before a beginning of the temperature peak). However, the temperature control instruction provider 330 may also consider an amplitude of the temperature peak to determine a time at which the cooling (or heating) starts. To conclude, the temperature control instruction provider 330 may consider one or more parameters of the fitting functions to determine a start time parameter of a temperature control instruction (wherein the start time parameter may describe, for example, a time at which a cooling or a hearing should start).
Moreover, the temperature control instruction provider 330 may provide a parameter describing a cooling intensity or a heating intensity in dependence on one or more parameters of the fitting functions, for example in dependence on a parameter describing an amplitude (or a peak value) of a fitting function. However, other parameters of the fitting function may also be considered to determine the parameter describing the strength of the cooling or of the heating. Just as an example, if the parameter of a fitting function indicates that the fitting function has a long temporal extension, the intensity of the cooling or heating may be chosen longer than for the case that the parameter of the fitting function indicates a short temporal extension of the temperature peak.
To conclude, one or more parameters of a respective temperature control instruction may be determined in dependence on one or more parameters of a respective fitting function by the temperature control instruction provider 330. Just as an example, the testing profile may describe a temporal evolution of a DUT temperature, e.g., taking reference to a predetermined time reference. Moreover, the parameters of the temperature control instructions may also be related to this time reference.
The temperature control instruction inserter 360 may receive the temperature control instructions 332 and insert temperature control instructions into a test flow (which may, for example, also be designated as an initial test flow), to thereby obtain an updated test flow. Alternatively or in addition, the temperature control instruction inserter 360 may generate, e.g. in an iteration, a revised test flow, e.g. on the basis of the initial test flow or on the basis of the updated test flow.
The temperature control instruction inserter may, for example, receive the test flow in the form of a test program and may insert the temperature control instructions into such a test program. For example, the temperature control instruction inserter may obtain an information indicating which instructions (or tests or test suites) of the test program have been executed at which time. Accordingly, the temperature control instruction inserter may determine (e.g., on the basis of a timing parameter of a temperature control instruction) at which position within the test program the temperature control instruction should be inserted. For example, the temperature control instruction inserter 360 may receive a test log file which comprises an information which test program instruction (or which test defined in the test program, or which test suite defined in the test program) has been executed at which time (wherein, ideally, the time reference of the testing profile should be identical to the time reference of the test log file). Accordingly, the timing parameter of a temperature control information can be used, by the temperature control instruction inserter 360, to decide where within the test flow (or within the test program defining the test flow) the temperature control instruction should be inserted. Thus, the temperature control instruction inserter uses an information indicating at which time (in terms of real, physical time) an instruction (or test or test suite) is executed (or has been executed), for example to obtain the testing profile 310). It is decided, on the basis thereof, where within the test flow (e.g., within a test program defining the test flow) the temperature control instruction should be inserted. Accordingly, by inserting the temperature control instruction at an appropriate position within the test flow, a temporal coordination between the execution of the test flow and the active temperature control, defined by the temperature control instruction, is achieved.
In the following, additional functionalities are described which may be implemented in the automated test equipment 300.
The automated test equipment may comprise an (optional) temperature peak identifier/temperature peak identification 384, which may be configured to identify a plurality of temperature peaks in the testing profile 310 (or in the preprocessed version 382) using a temperature threshold value (which may, for example, be determined automatically or which may, for example, be set by a user) and/or in dependence on the extension (e.g., in dependence on an area; e.g., in dependence on an area of a time-temperature integral; e.g., in dependence on an area above a temperature threshold value) of respective temperature peaks.
Thus, the temperature peak identifier/temperature peak identification 384 may, for example, compare the temperature values of the testing profile with a temperature threshold value and thereby identify temperature peaks which exceed the temperature threshold value. Consequently, the temperature peak identifier/temperature peak identification 384 may provide an information 386 about identified temperature peaks to the analyzer/analysis 320 and the analyzer/analysis 320 may fit the respective fitting functions to the identified temperature peaks or to a subset of the identified temperature peaks, in order to obtain the information describing the plurality of thermal peaks. However, the analyzer/analysis 320 may, for example, leave signal portions which have not been identified by the temperature peak identifier/temperature peak identification 384 unconsidered, or the analyzer/analysis 320 may only fit respective fitting functions in portions of the testing profile around the identified temperature peaks described by the information 386. Accordingly, the computational effort for the fitting may be reduced by pre-selecting temperature peaks. Alternatively, however, the temperature peak identifier/temperature peak identification 384 may consider a “peak size” or “peak area”, or “peak extension” to decide whether a peak should be “identified” and used in a fitting approach. To conclude, the temperature peak identifier 384 may help to reduce a computation complexity needed for the fitting.
The automated test equipment optionally also comprises a classifier/classification 388 which is configured to receive the testing profile 310 and to provide, on the basis thereof, a classification information 390. The classifier is configured to classify thermal events (e.g., temperature peaks or thermal peaks) as thermal events having a small (or comparatively smaller) significance (e.g., thermal events having a smaller likelihood to be relevant; e.g., thermal events having a smaller likelihood to affect a functionality of a device under test) and as thermal events (e.g., temperature peaks or thermal peaks) having a high (e.g., comparatively higher) significance (e.g., having a comparatively higher likelihood to be relevant; e.g., thermal events having a comparatively higher likelihood to affect a functionality of the device under test). Consequently, the automated test equipment is configured to (selectively) obtain the temperature control instructions 332 (e.g. only) on the basis of the thermal events having the high significance (e.g., classified as having the high significance). On the other hand, thermal events classified as having the low significance may be left unconsidered, for example, by the analyzer/analysis 320.
Worded yet differently, the analyzer/analysis may use the information 390 about identified temperature peaks to decide which temperature peaks have been classified as being of sufficient significance. For example, the classifier/classification 388 may use one or more smart filters, parameters of which are adjusted automatically and/or in dependence on a user interaction, to perform the classification. For example, the classifier 388 may classify temporal peaks having a length that is shorter than a predetermined length, as being of low significance, such that such very short temperature peaks are left unconsidered by the fitting approach.
However, different classification functions could also be used by the classifier 388, e.g., to classify temperature peaks having a certain shape as being of high significance or as being of low significance. Thus, the optional classifier/classification 388 may contribute to mark certain thermal peaks fulfilling certain criteria as being of high relevance and/or to mark certain peaks fulfilling certain criteria as being of low relevance. Consequently, the classification performed by the classifier 388 may be helpful to decide which temperature peaks should be considered in the fitting approach and/or which temperature peaks should be neglected in the fitting approach. Thus, a good efficiency of the fitting approach can be achieved. Just as an example, the classifier 388 could also consider rise times and/or fall times of the temperature peaks for the classification.
The automated test equipment comprises a user interface 340. The user interface may, for example, allow a user of the automated test equipment to set a variety of parameters. For example, the user interface may be configured to allow for a setting of parameters for the analyzer/analysis 320. Just as an example, the user interface 340 may allow for a selection of a type of the fitting functions and/or may allow for a setting of a maximum number of fitting functions and/or may allow for a selection of ranges for one or more parameters of the fitting functions. Optionally, the user interface may also allow for a selection of a maximum overheat event proximity parameter, which may, for example, define how close the temperature peaks may be to be identified as separate temperature peaks.
Moreover, the user interface 340 may also allow for a setting of one or more parameters for the filter/filtering 380. For example, the user interface may allow for a setting of one or more parameters describing which temperature peaks should be filtered out or suppressed. For example, the user interface may be configured to set a temperature threshold, such that temperature peaks which do not reach the temperature threshold are filtered out or suppressed, and are consequently not used by the analyzer/analysis 320.
Moreover, the user interface may also be configured to allow for a setting of one or more parameters of the temperature peak identifier/temperature peak identification 384. For example, the user interface may be configured to allow the user to set a threshold value for the temperature peak identifier/temperature peak identification 384 and/or an extension threshold parameter for the temperature peak identifier/temperature peak identification 384. The extension parameter may, for example, indicate that temperature peaks having an integral area below the threshold value will not be considered by the analyzer/analysis 320 for performing a fitting.
Moreover, the user interface may also be configured to input one or more parameters for the classifier/classification 388.
To conclude, the user interface 340 may be adapted to allow the user to have an influence on the analysis of the testing profile. The user may be able to set a single parameter, or may be able to set a plurality of different parameters to thereby control the components of the automated test equipment, in particular to control the functionality of the analyzer/analysis 320, the functionality of the filter/filtering 380, of the temperature peak identifier/temperature peak identification 384 and/or of the classifier/classification 388.
In particular, the user interface 340 may also cooperate with an automatic setting of the parameters of the above mentioned processing blocks. For example, the user interface 340 may allow the user to select which of the above mentioned parameters are determined automatically by the automated test equipment and which of the above mentioned parameters should be set manually. Accordingly, the flexible user interface 340 may, for example, allow the automated test equipment to largely automatically obtain the information describing the temperature peaks. On the other hand, the user interface 340 may give the experienced user the possibility to take manual control over one or more of the above mentioned parameters, to have a higher degree of manual control over the determination of the information describing the temperature peaks. In particular, the experienced user can combine an automatic determination of one or more of the above mentioned parameters with a manual setting of one or more other ones of the above mentioned parameters to thereby efficiently set the analysis algorithm.
Moreover, the automated test equipment 300 also comprises a visualizer/visualization 350. The visualizer/visualization 350 may, for example, visualize both the testing profile and the respective fitting functions obtained by the analyzer/analysis. Moreover, the visualizer/visualization may also visualize other parameters or results, like, for example, temperature control periods during which a heating or cooling is activated. However, the visualizer/visualization 350 may also include one or more parameters or parameter settings into the visualization. Furthermore, the visualizer/visualization may include information from the test flow and/or from the test log file into the visualization. Accordingly, the visualizer/visualization 350 may give the user a graphic representation of the testing profile, wherein the user can see a temporal relationship between an execution of test instructions (e.g., tests or test suites) and temperature peaks.
Moreover, the visualizer/visualization 350 may, for example, be configured to update the representation of the testing profile and/or the representation of the fitting functions and, optionally, the representation of further results in quasi-real time. For example, the visualizer/visualization 350 may provide a user with quasi-instantaneous visual feedback how changes of one or more user settings via the user interface affect the results, e.g., the fitting functions and/or the temperature control instructions. Accordingly, the graphical representation of both the testing profile and of the results of the analysis help the user to properly adjust user settings and to obtain temperature control instructions (or a test flow including such temperature control instructions) that result in a reliable test.
Thus, the automated test equipment 300 according to
Moreover, it should be noted that the automated test equipment 300 according to
Moreover, it should be noted that any of the features, functionalities and details described with respect to the automated test equipment 300 may optionally be introduced into any of the other embodiments, both individually and taken in combination.
In the following, further embodiments and aspect of the present invention will be described. These features, functionalities and details may optionally be used in any of the embodiments disclosed herein, both individually and taken in combination.
A second curve 440 shows a DUT temperature which can be achieved in the presence of an appropriate active temperature control. It can generally be seen from
In the following, the purpose of embodiments according to the present invention will be described.
In the context of the present invention, it is assumed that handlers are equipped with active thermal control (ATC). However, in many cases, response time is lagging to a rapid thermal excursion.
Embodiments according to the invention (e.g., the inventive method) use predictive response, i.e., the anticipated thermal profile is already known and the software uses smart algorithms to automatically calculate which thermal peaks to address, thus programming the hander and test flow to start cooling before anticipated thermal feed excursion.
A software development concept of a previous proposal is shown by Yoshino Takatoshi in VOICE 2019. Reference is made, for example, to “PRODTEST-218-HSI-New Solution Improvement for Device Temperature Analysis Synchronized with the Test Program, X ZHAO, NVIDIA; Takatoshi Yoshino, Hideki Ichikawa, Takashi Hashimoto and T. K. Chen, ADVANTEST”.
In the following, the concept to provide an updated test flow, which can optionally be used in embodiments according to the invention, will be described taking reference to
Thus, the automated test equipment 100 or the automated test equipment 200 or the automated test equipment 300 may generate a temperature control instruction (e.g., the trigger 530) in response to an analysis of a test profile which indicates the temperature peak caused by the third test 550. This temperature control instruction may, for example, be inserted into a test flow by a temperature control instruction inserter/temperature control instruction insertion (e.g. by the temperature control instruction inserter/temperature control instruction insertion 360 of the automated test equipment 300), wherein the temperature control instruction inserter may, for example, make use of a test log file (e.g. the test log file 316) and/or may make use of the predetermined or assumed hardware response time 580.
Accordingly, an updated test flow 500 can be achieved, which may, for example, correspond to the updated test flow 318 obtained by the temperature control instruction inserter 360.
Accordingly, the embodiments according to the present invention can, for example, fulfil the requirement to bring a solution for testing high performance compute DUTs, avoiding DUT over-heating thermal excursion, enabling “safe” testing inside a thermal range of allowed DUT operations.
Moreover, embodiments according to the invention provide a concept which is one step ahead of alternative concepts (e.g., competitors' concepts) in term of solution (Cohu).
Generally speaking, it can be said that it is a target of embodiments according to the present invention to improve device testing for customers in high performance computer business segments using handlers, which are equipped with active thermal control (ATC).
For example, the testing profile, which may describe a temporal evolution of the DUT temperature, may be obtained by performing a test of a device under test by monitoring the DUT temperature during such a test, and the temperature control instructions that are provided by the automated test equipment (or an updated test flow that is provided by the automated test equipment) may be used in another test of a device under test, where it may, for example, be assumed that the temperature control instructions (which may, for example, be included in the updated test flow) are used to control the active temperature control (ATC) within the handler (which places the DUT in a test socket and which typically includes a cooling functionality and/or a heating functionality).
In the following, a brief overview over embodiments according to the present invention will be provided. In particular, a listing of functionalities, which are performed by embodiments according to the invention will be provided.
For example, step 1 mentioned above may be executed by performing test of the device under test, wherein the DUT thermal profile (e.g., a temporal evolution of the DUT temperature) may be recorded as a “testing profile”. This testing profile 110, 210, 310 may be loaded into the software of the automated test equipment 100, 200, 300.
For example, step 2 mentioned above may be implemented by loading the thermal profile (e.g., the testing profile) into the software of the automated test equipment, and by also loading a test log file (which may be considered as “EDL data”) into the software of the automated test equipment.
For example, step 3 “smart features” may be implemented by applying the filter/filtering 380 onto the testing profile, to thereby obtain a preprocessed version of the testing profile. The step 3 may alternatively or in addition be implemented using the temperature peak identifier/temperature peak identification 380 in which the largest thermal peaks (e.g., thermal peaks having a maximum temperature and/or thermal peaks having a maximum extension) are identified. Moreover, step 3 may also be implemented using the classifier/classification 388, which may classify temperature peaks as being of lower relevance or as being of higher relevance. To conclude, different processing functionalities 380, 384, 388 may, for example, be used to determine which thermal events (e.g., temperature peaks) are relevant and which thermal events (e.g., temperature peaks) can be neglected.
For example, step 4 as mentioned above can also comprise a selection of thermal events (e.g., temperature peaks) which appear to be relevant. Assigning thermal peaks may, for example, be performed by the analyzer/analysis 320 using the fitting approach, wherein fitting curves are fitted temperature peaks within the testing profile or within the preprocessed testing profile.
For example, step 5 (automatic calculation of cooling parameters) may be performed by the temperature control instruction provider 330, wherein parameters of the fitting curves may, for example, be used to determine the cooling parameters (like timing, duration, and strength).
For example, step 6 mentioned above may, for example, be performed by the temperature control instruction inserter/temperature control instruction insertion 360 which inserts the temperature control instructions 332 into the test flow 314 at appropriate times. For example, the updated test flow 318 may be the “new test flow”. The temperature control instructions may be inserted into the test flow 314 in such a manner that they can be considered as “pre-trigger cooling signals”. For example, the temperature control instructions can be inserted temporally before problematic test or problematic test suits, for example, with a temporal distance in between. For example, the temperature control instructions 332 may be inserted into the test flow as shown in
For example, step 7 may comprise performing a test using the new test flow (updated test flow).
Moreover, it should be noted that steps 1 to 7 discussed above may optionally be used in any of the embodiments according to the present invention. However, it should also be noted that steps 1 to 7 as described above can be used both in the described form and may also be supplemented by any of the features, functionalities, and the details described herein, both individually and taken in combination.
In the following, a functionality of the embodiments of the invention will be described taking reference to
The workflow comprises a second step 620 of identifying cool-down peaks in the profile (e.g., in the thermal profile or in the “testing” profile) via (auto) parameters. For example, in the second step 620, temperature peaks may be identified, wherein the identification of such temperature peaks may be performed using parameters that may be set manually or that may be set automatically. Automatic parameter setting may, for example, comprise setting a temperature threshold such that there is a predetermined number of peaks (or of separate peaks having at least a predetermined distance) that exceed the temperature threshold value. However, a temperature threshold value could be set manually, for example, using a user interface of the automated test equipment.
The workflow further comprises a third step 630 of calculating (or auto-calculating) the cooling parameters (e.g., timing/strength/duration). For example, the cooling parameters can be automatically calculated on the basis of the identified cool down peaks. For example, parameters of the identified cool down peaks can be determined, wherein, for example, a curve fitting can be applied to determine the parameters of the identified peaks. For example, respective fitting curves can be fitted to the identified temperature peaks within the thermal profile (or testing profile). Parameters of the fitted curves can then be used to derive the cooling parameters. Accordingly, for example, temperature control instructions 332 may be generated, wherein the “cooling parameters” may be included in a set of temperature control instructions.
The workflow also comprises a fourth step 640 of uploading the parameters to the handler/restructuring the test flow: insert cooling triggers to generate a new test flow. For example, in the fourth step, the parameters (e.g., the cooling parameters) may be uploaded to the handler. For example, the handler may receive from the automated test equipment a plurality of sets of cooling parameters, wherein the handler may, for example, be configured to apply said sets of cooling parameters in response to trigger signals from the automated test equipment. For example, each trigger signal from the automated test equipment may cause the handler to use a new set of cooling parameters. Moreover, the fourth step may comprise restructuring the test flow, wherein, for example, “cooling triggers” (e.g., instructions to send a trigger signal to the handler) are inserted into the test flow to generate a new test flow (or an updated test flow, or a revised test flow). Thus, there may, for example, be a correspondence between temperature control parameters (e.g., cooling parameters) uploaded to the handler and cooling triggers inserted into the new test flow (or updated test flow, or revised test flow), such that each cooling trigger triggers the usage of a new temperature control parameter or set of temperature control parameters.
The workflow 600 may also comprise a fifth step 650 of running the new test flow, which comprises triggering the V93000, (e.g., the automated test equipment) and handler to cool at the proper timing. In other words, for example, running the new test flow (e.g., the updated test flow or revised test flow 318) comprises triggering the automated test equipment (e.g., an automated test equipment of type V93000) and also triggering the handler to cool at a proper timing. For example, triggering the handler to cool at the proper (desired) timing may comprise providing triggers (or trigger signals) from the automated test equipment to the handler in response to “cooling triggers” inserted into the new test flow in the fourth step. Accordingly, the triggers may cause the handler to apply a new set of cooling parameters (or temperature control parameters) whenever a trigger signal is received by the handler. Thus, for example, the new test flow may be run using active thermal control that is determined by the cooling parameters calculated in the third step. Consequently, an improved temperature control can be exercised on the device under test during the run of the new test flow (e.g., when compared to the execution of the original test flow in the first step 610).
Moreover, the workflow 600 comprises an iteration 660, wherein the workflow is continued with the first step 610 after the execution of the fifth step. in other words, when running the new test flow (as described in the fifth step 650), an updated thermal profile (or updated testing profile) is obtained. In this updated thermal profile, the active temperature control is considered (e.g. since active temperature control is used during the recording of the updated thermal profile). However, it can be expected that, due to some changes of the testing conditions (e.g. due to a change of a test timing caused by the active temperature control), the updated DUT thermal profile still comprises some temperature peaks. Consequently, the workflow continues with a re-execution of steps 620 to 650, wherein an update of the cooling parameters is determined on the basis of temperature peaks within the updated thermal profile. Accordingly, updated temperature control parameters (or revised temperature control parameters) can be obtained in the iteration.
However, it should be noted that the iteration may, alternatively or in addition, be used to validate the new test flow generated in the fifth step 650. Thus, it may, for example, be checked in an iteration (e.g., using a determination of an updated thermal profile or a testing profile), whether the new test flow (or updated test flow, or revised test flow) brings along a DUT temperature which remains within the needed limits.
However, alternatively or in addition, the iteration 660 may, for example, also be used to generate machine learning improvements. In other words, the iteration 660 may be used to iteratively improve the active temperature control (e.g., by improving the temperature control instructions).
However, it should be noted that the workflow as described in
However, it should also be noted that the workflow 600 may be used as a self-consistent embodiment according to an aspect of the invention. Furthermore, the workflow 600 may optionally be supplemented by any of the features, functionalities, and details disclosed herein, also with respect to the automated test equipment.
In the following, a software structure will be described taking reference to
For example, the software structure described with reference to
The software structure comprises, among other functionalities, a mathematical fitting module 710. The mathematical fitting module 710 may, for example, be used in the testing profile analyzer/testing profile analysis 120 or in the testing profile analyzer/testing profile analysis 120 or in the analyzer/analysis 320. For example, the mathematical fitting module may be used to fit a plurality of fitting curves to temperature peaks within the testing profile.
Moreover, the software structure also comprises a graphical user interface (GUI) 720. The graphical user interface 720 may, for example, be used in the automated test equipment to receive user input from a user of the automated test equipment. For example, the graphical user interface 720 may be used to receive one or more parameters or parameter settings from a user of the automated test equipment. The parameter settings may also be considered as “user settings”. Moreover, the graphical user interface 720 may also be used to visualize both input quantities and output quantities of the automated test equipment. For example, the graphical user interface 720 may be used to visualize the testing profile and to also visualize respective fitting functions (e.g., fitting functions fitted to the testing profile). Optionally, the graphical user interface may visual further settings, e.g., threshold levels, recognized temperature peaks, temperature control periods, and the like. For example, the graphical user interface 720 may implement the functionalities of the user interface 340 and the functionalities of the visualize/visualization 350. However, it should be noted that the graphical user interface 720 may also be used to implement other functionalities and/or additional functionalities.
The software structure also comprises a test flow generation and handler programming 730. The test flow generation and handler programming 730 may, for example, take over the functionality to obtain the temperature control instructions and/or to provide an updated test flow on the basis of an original test flow. For example, the test flow generation and handler programming may take the functionality of the temperature control instruction inserter/temperature control instruction insertion 360. However, the test flow generation/handler programming 730 may also comprise the functionality to send temperature control parameters (or sets of temperature control parameters) to a handler, wherein a usage of the respective sets of temperature control parameters by the handler will be triggered by a trigger signal provided to the handler by the automated test equipment (e.g., under the control of a test flow in which such “trigger” commands are inserted).
Moreover, it should be noted that the test flow generation and handler programming 730 may, for example, be implemented using different concepts. For example, the new test flow generation may be implemented using a PERL script. Moreover, an EDL file format reader (which may, for example, read a test log file) may be implemented using a “tabular” PERL script.
Moreover, a functionality of sending GPIB comments to the handler may also be integrated into the project.
To conclude, the software structure, which may be implemented in the automated test equipment, may comprise multiple components which may, for example, be in close interaction. A mathematical fitting module 710 may be controlled by parameters, which are input via the graphical user interface 720, and the graphical user interface 720 may also visualize (e.g., display) results provided by the mathematical fitting module (e.g., fitting functions). Moreover, results of the mathematical fitting module may be used in the test flow generation and handler programming 730, in order to obtain an updated test flow.
Moreover, it should be noted that any of the features, functionalities and details described with respect to the software structure may optionally be used in any of the other embodiments disclosed herein, both individually and taken in combination. In particular, the software structure described herein, and any features, functionalities, and details thereof, may optionally be used in any of the automated test equipment disclosed herein, both individually and taken in combination.
In the following, a graphical user interface according to an aspect of the invention will be described. For example, a user friendly interface “RH 7.4” may be used according to embodiments of the present invention.
The user interface may, for example, be used for leading a thermal profile (or testing profile) and EDL data (e.g., a test log file). Moreover, the graphical user interface may also be used for an auto detection of peaks (or for providing settings that may be used in an automatic detection of temperature peaks).
Moreover, the graphical user interface may also be used to program a new test flow and may comprises a handler (or a handling) for pre-cooling events.
To conclude, the graphical user interface may, for example, be used to control the operation of the automated test equipment.
In the following, some details of the graphical user interface will be described taking reference to
As can be seen in
For example, the GPIB communication settings 810 may be used to set communication parameters for communication with the handler.
The load/view thermal profile settings 820 are used to load thermal profile information (or testing profile information) from the handler. For example, in the load/view thermal profile settings 820, it can be determined which thermal information is read. For example, it can be adjusted whether a junction temperature and/or a pusher temperature (e.g., of a pusher pushing the device under test into a device under test socket) are read from the handler and further processed by the automated test equipment. Accordingly, the load/view thermal profile information may be used to obtain a proper testing profile (i.e., an information describing an evolution of a relevant DUT temperature over time).
The thermal identification settings 830 allow to control an identification of temperature peaks within the thermal profile, or within a preprocessed thermal profile. Moreover, the thermal identification settings 830 may also be used to set parameters of the optional filter/filtering 380, of the optional temperature peak identifier/temperature peak identification 384 and/or of the optional classifier/classification 388. For example, the thermal identification settings may comprise a DUT threshold temperature settings 832a, a DUT threshold tolerance setting 832b, a minimum overheat event duration setting 832c and a maximum overheat event proximity setting 832d. Moreover, a maximum superposition per event calculation setting 832e and a fit quality setting 832f may be provided. For example, the DUT threshold temperature setting 832a may allow for an adjustment of a threshold temperature for identifying temperature peaks. Moreover, the DUT threshold tolerance setting 832b may, for example, also be used for an identification of temperature peaks. Furthermore, the minimum overheat event duration setting 832c may, for example, be used to determine a minimum duration of overheat events that will be identified as temperature peaks. For example, overheat events that are shorter than a duration specified by the minimum overheat event duration setting 832c may be neglected. Moreover, for example, the maximum overheat event proximity setting 832d may be used to decide whether overheat events which are close to each other are identified as a single overheat event or as separate overheat events. For example, overheat events, which are temporally closer than specified by the maximum overheat event proximity setting may be considered as a single temperature peak. Moreover, the “maximum superposition per event calculation” parameter 832e may be used to control how thermal peaks will be approximated.
Furthermore, it should be noted that the DUT threshold temperature setting 832, the DUT threshold tolerance setting 832b, the minimum overheat duration setting 832c and the maximum overheat event proximity setting 832d may be set manually, or may be set automatically. For example, a user may be allowed to decide for each of said settings whether an automatic setting or a manual setting is desired.
Moreover, the user interface may allow for further settings, like for example, a fitting quality setting 832f, which may, for example, define how good a fitting function should be fitted to the testing profile. To conclude, the thermal identification settings 830 allow the user of the automated test equipment to define how thermal peaks within the testing profile are identified and how the fitting functions are determined.
The EDL/thermal-overlay settings allow for specifying an EDL file (e.g., a test log file). The EDL/thermal overlay settings comprise, among other settings, a view setting 842a, which allows adjusting a type of data presentation. For example, a user may select that it is displayed which function (e.g. which test or test suite) of a test flow is being executed at a beginning of a fitting function. However, different viewing modes may optionally be selectable. Moreover, a button 842b may allow the user to activate an overlay of the test log data over a thermal fit, and a button 842c may allow the user to disable the overlay of the test log data.
A table 842d may provide the user with information about thermal peaks (or fitting functions approximating thermal peaks). The table 842d may also comprise references (or names) of functions that are executed at the time of the temporal peaks (wherein the latter information may, for example, be obtained by the automated test equipment on the basis of the EDL file or test log file). For example, the table 842d may comprise a peak time information, a peak duration information, a peak amplitude information, a base temperature information, a peak temperature information, an average delta temperature information, and a fit quality information. Thus, from the table 842d, a user may gain information about the identified temperature peaks and about the test or test suite running at the time of the peak.
EDL/thermal-overlay portion of the user interface may also provide functionalities to display or remove the thermal peaks and to export data for an external use.
Moreover the 93K (93000)/handler communication 950 may, for example, allow the user to control an upload of a test flow to the automated test equipment and/or to the device under test and/or to control an execution of a test flow.
To conclude, the user interface 800 according to
However, it should be noted that the different settings shown in
For example, an abscissa 910 describes a time, and an ordinate 912 describes a temperature (e.g. a DUT temperature or a handler temperature). A first curve 920 describes a junction temperature of the device under test. However, it should be noted that, alternatively, a temperature of a pusher or of the handler could also be shown. As can be seen, the temperature profile 920 shows a number of peaks and dips (which are, for example, considered as negative peaks). For example, a first peak is designated with 922a. A first fitting function 932a is also shown, wherein the first fitting function 932a is fitted to first temperature peak 922a. Moreover, further fitting functions 932b, 932c, 932d, 932e, 932f, 932g, 932h are fitted to further temperature peaks of the testing profile. Moreover, the graphic representation 900 also shows names of functions which are, for example, executed at the time of the beginning of the respective fitting functions.
It should be noted that the graphic representation 900 may, for example, be generated automatically by the automated test equipment. For example, the testing profile, which is represented by the curve 920, may be obtained by the automated test equipment, and the fitting functions 932a to 932h may be fitted to the testing profile by the automated test equipment (e.g. under the control of the user interface, or, alternatively, partly or fully automatically).
Moreover, the names of the functions which are executed at a time of the beginning of the fitting functions may, for example, be determined by the automated test equipment on the basis of the test log file and taking into consideration timing parameters of the fitting functions. In particular, it should be noted that the graphic representation 900 may be provided to a user by the automated test equipment to support the user with an appropriate setting of parameters (e.g. one or more of the parameters shown in
However,
Accordingly, the user interface 1050, according to
Moreover, it should be noted that the visualization provided by the user interface 1050 may, for example, respond to changes of parameter settings in the user interface 1000 in quasi-real-time.
For example, the peak time information, the duration information, the amplitude information, the base temperature information, the peak temperature information and the average delta temperature information may describe fitting functions which are fitted to the test profile. Fit quality information 1150 may, for example, describe a quality of the fitting, i.e., may describe how good the fitting function fits the testing profile.
The index time information 1160 may, for example, describe a starting time of a test suite (described by the suite name information 1170) which is executed at the peak time of a fitting function (or at a beginning of the fitting function). The index time information 1160 and the suite name information 1170 may, for example, be derived from the test log file on the basis of the peak time information 1110. Thus, the automated test equipment may provide the index time information 1160 and the suite name information 1170 using an analysis of the test log file and taking into consideration the peak time information 1170 that has been determined by the curve fitting. The trigger time index information 1180 may, for example, describe a time at which a trigger instruction is inserted into a test flow. For example, the trigger instruction may be inserted into the test flow, for example, right before a call of a test suite that is executed at the time of the peak of the fitting function (or at the time of the beginning of the fitting function). However, in other cases, the trigger instruction may be inserted into the test flow even earlier, i.e., not directly before the beginning of the test suite that is executed at the time of the peak of the fitting function (or at the time of the beginning of the fitting function), but before a call of an earlier test suite. For example, for the first peak shown in
However, the peak of the second fitting function (or the beginning of the second fitting function) may occur during the execution of the test suite “tam_scan_TS12_. . . ”, and the corresponding trigger function (e.g., temperature control instruction) may be inserted before the call to an earlier test suite “xtr_scan_MSSC_vmin”. However, the peak of the third fitting function (or the beginning of the second fitting function) may also occur during the test suite “tam_scam_TS12_. . . ”, and the corresponding trigger may, for example, be inserted right before the call to said test suite “tam_scam_TS12_. . . ”.
Thus, it can be seen that the automated test equipment may be configured to insert triggers (or trigger commands), which trigger a cooling operation, into a test flow on the basis of an information about a temperature peak (e.g., in dependence on parameters of fitting functions approximating the temperature peaks) and also using a test log information (e.g., an EDL file) which describes which tests or test suites are executed at which time.
In the following, aspects of the concept as described taking reference to
In particular,
In other words, the graphical user interface according to
In the following, the graphical interface and the mathematical module (which may, for example, be used in any of the embodiments of the present invention) will be described in some more detail. Taking reference, for example, to
Moreover, “X” markers show, for example, a start of cool down.
In the following, further details of the graphical user interface and/or the mathematical module will be described taking reference to
According to an aspect of the invention, after loading the thermal profile and test flow data to the software (e.g., to the software of the automated test equipment), a user can also edit which other peaks to include via adapting filters, wherein, for example, real time identification of these (e.g. of these temperature peaks) is done when editing.
In the following, a further description of the graphical user interface and/or mathematical module will be provided taking reference to
To conclude, embodiments according to the invention are related to a software implementation. For example, according to an aspect, a software implementation uses smart algorithms that characterize with a click of a button which thermal events are deviating and programs the handler when to trigger a cool down-event, for how long and how strong.
The method 1200 comprises obtaining 1210 a testing profile indicating an evolution of a DUT temperature during an execution of a test flow.
The method 1200 also comprises analyzing 1220 the testing profile, in order to determine an information describing a plurality of temperature peaks using a fitting approach.
The method 1200 also comprises obtaining 1230 a plurality of temperature control instructions for an execution of a test flow on the basis of the information describing the plurality of temperature peaks.
It should be noted that the method 1200 according to
The method 1300 comprises obtaining 1310 a testing profile indicating an evolution of a DUT temperature during an execution of a test flow.
The method 1300 also comprises analyzing 1320 the testing profile, in order to determine an information describing a plurality of temperature peaks.
The method 1300 also comprises obtaining 1330 a plurality of temperature control instructions for an execution of a test flow on the basis of the information describing the plurality of temperature peaks.
Moreover, the method 1300 comprises at least one iteration 1340, which means that steps 1310, 1320, 1330 are repeated, to thereby improve the temperature control instructions.
It should be noted that the method 1300 according to
Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps may be executed by (or using) a hardware apparatus, like for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, one or more of the most important method steps may be executed by such an apparatus.
Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.
Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods described herein is performed.
Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine readable carrier.
Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.
In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.
A further embodiment of the inventive methods is, therefore, a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. The data carrier, the digital storage medium or the recorded medium are typically tangible and/or non-transitionary.
A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein. The data stream or the sequence of signals may for example be configured to be transferred via a data communication connection, for example via the Internet.
A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.
A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.
A further embodiment according to the invention comprises an apparatus or a system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.
In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods are performed by any hardware apparatus.
The apparatus described herein may be implemented using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.
The apparatus described herein, or any components of the apparatus described herein, may be implemented at least partially in hardware and/or in software.
The methods described herein may be performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.
The methods described herein, or any components of the apparatus described herein, may be performed at least partially by hardware and/or by software.
While this invention has been described in terms of several advantageous embodiments, there are alterations, permutations, and equivalents, which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and compositions of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations, and equivalents as fall within the true spirit and scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
22 190 321.4 | Aug 2022 | EP | regional |
This application is a continuation of copending International Application No. PCT/EP2022/078452, filed Oct. 12, 2022, which is incorporated herein by reference in its entirety, and additionally claims priority from European Application No. EP 22190321.4, filed Aug. 12, 2022, which is also incorporated herein by reference in its entirety. Embodiments according to the invention are related to an automated test equipment (ATE), for testing a device under test. Further embodiments according to the invention are related to a method for testing a device under test. Further embodiments according to the invention are related to a computer program for performing the method. Embodiments according to the invention are related to concepts for an active temperature control for a test of devices under test (DUT).
Number | Date | Country | |
---|---|---|---|
Parent | PCT/EP2022/078452 | Oct 2022 | WO |
Child | 19050905 | US |