Method for debugging an integrated circuit
Embodiments of the present invention provide a method and apparatus for debugging an integrated circuit. In particular, one embodiment of the present invention includes steps of: (a) retrieving data from a design data base, and creating a design pattern in a pattern format, which design pattern includes stimulus data for stimuli to be applied to the integrated circuit and design response data for expected responses to the stimuli; (b) generating, responsive to the design pattern, a tester pattern and a test program for input to a tester; (c) testing the integrated circuit in the tester, responsive to the tester pattern and the test program, and generating a datalog that comprises test response data; and (d) generating a file, responsive to the datalog, wherein the test response data are reformatted into the pattern format.
Latest Sun Microsystems, Inc. Patents:
- System and method for performing speculative initialization of application models for a cloned runtime system process
- Method and system for address book application programming interface
- Integrated circuit component temperature gradient reducer
- UNITARY DATA STRUCTURE SYSTEMS, METHODS, AND COMPUTER PROGRAM PRODUCTS, FOR GLOBAL CONFLICT DETERMINATION
- System and method for floating-point computation for numbers in delimited floating point representation
The present invention pertains to method and apparatus for debugging an integrated circuit.
BACKGROUND OF THE INVENTIONIntegrated circuits (sometimes referred to as “silicon” by design engineers) contain an ever increasing number of devices that provide an ever increasing amount of functionality. As a result, it is becoming an ever more important, and time consuming, task to determine whether an integrated circuit performs as intended, i.e., in conformance with its design. To do this, design engineers have test engineers test the integrated circuit's response to a number of predetermined stimuli to verify that the integrated circuit will provide predetermined results. For example and without limitation, functional tests are performed wherein predetermined patterns of data are presented to predetermined inputs of the integrated circuit in predetermined time sequences, and outputs are measured at predetermined time sequences. The results of these tests are examined to verify and debug the design of the integrated circuit, i.e., to determine whether the integrated circuit operates satisfactorily.
Referring to
Although datalog 100 contains a record of the DUT's performance on each test, it is difficult for a design engineer to analyze the datalog. The difficulty arises because datalog 100 is typically provided in a format that relates to that of the tester rather than a format that relates to that of the design pattern that the design engineer is used to reviewing. In particular, due to cyclization, it is not readily apparent to the design engineer how a clock cycle in datalog 100 relates to a particular time in the design pattern. Further, due to cyclization, logical signals in the tester pattern, and hence datalog 100, very often have no relationship to logical signals in the tester pattern. Further, datalog 100 often includes symbols for logical signals that are not familiar to the design engineer.
All of the above presents a problem because design engineers are not readily able to compare the design pattern with datalog 100. As a result, design engineers who debug circuit designs must spend many hours with test engineers just to understand the nature of the problem. In fact, and in practice, even after spending many hours with test engineers, design engineers have difficulty correlating datalog 100, shown in
In light of the above, there is a need in the art for method and apparatus for solving the above-identified problem.
SUMMARY OF THE INVENTIONOne or more embodiments of the present invention advantageously satisfy the above-identified need in the art. Specifically, one embodiment of the present invention is a method for debugging an integrated circuit comprising steps of: (a) retrieving data from a design data base, and creating a design pattern in a pattern format, which design pattern includes stimulus data for stimuli to be applied to the integrated circuit and design response data for expected responses to the stimuli; (b) generating, responsive to the design pattern, a tester pattern and a test program for input to a tester; (c) testing the integrated circuit in the tester, responsive to the tester pattern and the test program, and generating a datalog that comprises test response data; and (d) generating a file, responsive to the datalog, wherein the test response data are reformatted into the pattern format.
Referring to
In order to convert the data, information may have to be supplied to debug file generator 300, for example, by the testing engineer who prepared tester pattern 90, shown in
As the second logical operation, debug file generator 300 combines design pattern 80 and the Fail Signals generated by the first logical operation. Thus, in accordance with one embodiment of the present invention, the second logical operation interleaves the Fail Signals with design pattern 80 to create debug file 400 wherein a Fail Signal 408 for a particular pin appears with the output signal from the design pattern for that pin. In accordance with a variation of this embodiment, instead of representing tester failure data, Fail Signal 408 is formatted to represent a failure indication, i.e., an indication where the expected output in the signal labeled “Output pin” from design pattern 80 was not achieved (refer to
Advantageously, since debug file 400 is in the same format as the design pattern, it may be displayed using the same commercially available software that can be used to display design patterns.
In accordance with further embodiments of the present invention, the failure indications are not provided as separate Fail Signals, but are provided by highlighting, coloring, or otherwise marking data in the “Output pin” signals in the design pattern where failures occurred.
As can be readily appreciated, because testers manufactured by different manufacturers often produce datalogs having differing formats, it may be required to adjust debug file generator 300 accordingly. Debug file generator 300 then stores the debug file in memory 304 or in storage 310. In accordance with another embodiment of the present invention, debug file generator 300 has a user interface 308, including, for example, a keyboard and a display for allowing user access and control of debug file generator 300. Those of ordinary skill in the art will recognize that the exact computer equipment to be used is not critical, and a wide variety of computer platforms may be configured to function suitably as debug file generator 300.
As shown in
Those skilled in the art will recognize that the foregoing description has been presented for the sake of illustration and description only. As such, it is not intended to be exhaustive or to limit the invention to the precise form disclosed. For example, it is understood that different combinations of hardware may be used in constructing any of the computer based systems described herein, and that any of the computer based systems may comprise multiple computer platforms with separate DPUs or a single computer platform executing a software program as described herein.
Claims
1. A method for debugging an integrated circuit comprises steps of:
- retrieving data from a design data base, and creating a design pattern in a pattern format, which design pattern includes stimulus data for stimuli to be applied to the integrated circuit and design response data for expected responses to the stimuli;
- generating, responsive to the design pattern, a tester pattern and a test program for input to a tester;
- testing the integrated circuit in the tester, responsive to the tester pattern and the test program, and generating a datalog that comprises test response data; and
- generating a file, responsive to the datalog, wherein the test response data are reformatted into the pattern format.
2. The method of claim 1 wherein the step of generating a datalog comprises identifying the reformatted test response data as one or more failure signals comprising reformatted test response outputs for pins of the integrated circuit.
3. The method of claim 2 wherein the step of generating a datalog further comprises substituting failure indications for one or more of the reformatted test response outputs.
4. The method of claim 3 which further comprises, responsive to the design pattern and the file, combining the file and the design pattern to form a debug file.
5. The method of claim 3 which further comprises, responsive to the design pattern and the file, altering the design pattern to reformat design response data associated with failure indications.
6. The method of claim 2 wherein the step of generating a datalog further comprises generating one or more further failure signals comprising the failure signals having failure indications substituted for one or more of the reformatted test response outputs.
7. The method of claim 4 which further comprises, responsive to the design pattern and the file, combining the file and the design pattern to form a debug file.
8. A system for debugging an integrated circuit comprising:
- means for retrieving data from a design data base, and creating a design pattern in a pattern format, with the design pattern including stimulus data for stimuli to be applied to the integrated circuit and design response data for expected responses to the stimuli;
- means for generating, responsive to the design pattern, a tester pattern and a test program for input to a tester;
- means for testing the integrated circuit in the tester, responsive to the tester pattern and the test program, and generating a datalog that comprises test response data;
- means for generating a file, responsive to the datalog, wherein the test response data are reformatted into the design pattern format, defining reformatted test response data;
- means for identifying the reformatted test response data as one or more failure signals comprising reformatted test response outputs for pins of the integrated circuit; and
- means for substituting failure indications for one or more of the reformatted test response outputs.
9. The system of claim 8 further including means for combining the file and the design pattern to form a debug file.
10. The system of claim 9 wherein the means for generating a datalog further comprises means for generating one or more further failure signals comprising the failure signals having failure indications substituted for one or more of the reformatted test response outputs.
11. The system of claim 9 further including means for altering the design pattern to reformat design response data associated with failure indications.
12. A computer program product tangibly stored on a computer-readable medium that contains a program to debug an integrated circuit, said computer product comprising: code to generate a file, responsive to the datalog, wherein the test response data are reformatted into the pattern format.
- computer code to retrieve data from a design data base, and create a design pattern in a pattern format, which design pattern includes stimulus data for stimuli to be applied to the integrated circuit and design response data for expected responses to the stimuli;
- code to generate, responsive to the design pattern, a tester pattern and a test program for input to a tester;
- code to test the integrated circuit in the tester, responsive to the tester pattern and the test program, and to generate a datalog that comprises test response data; and
13. The computer program product as recited in claim 12 wherein said code to test further includes a subroutine to identify the reformatted test response data as one or more failure signals comprising reformatted test response outputs for pins of the integrated circuit.
14. The computer program product as recited in claim 13 wherein said code to test further includes an additional subroutine to substitute failure indications for one or more of the reformatted test response outputs.
15. The computer program product as recited in claim 13 wherein said code to test further includes an additional subroutine to generate one or more further failure signals comprising the failure signals having failure indications substituted for one or more of the reformatted test response outputs.
16. The computer program product as recited in claim 15 further including code, responsive to the design pattern and the file, to combine the file and the design pattern to form a debug file.
17. The computer program product as recited in claim 16 further including code, responsive to the design pattern and the file, to alter the design pattern to reformat design response data associated with failure indications.
| 4646299 | February 24, 1987 | Schinabeck et al. |
| 5633813 | May 27, 1997 | Srinivasan |
| 5771240 | June 23, 1998 | Tobin et al. |
| 5802075 | September 1, 1998 | Carpenter et al. |
| 5937190 | August 10, 1999 | Gregory et al. |
| 6026220 | February 15, 2000 | Cleereman et al. |
| 6212667 | April 3, 2001 | Geer et al. |
| 6687865 | February 3, 2004 | Dervisoglu et al. |
| 6851095 | February 1, 2005 | Srinivasan et al. |
| 20020138801 | September 26, 2002 | Wang et al. |
- Blyzniuk, Mykola; Kazymyra, Irena; “Development of the Special Software Tools for the Defect/Fault Analysis in the Complex Gates from Standard Cell Library”, 2001 IEEE, retrieved Mar. 17, 2005.
- Jone, Wen-Ben; Papachristou, CA; “A Coordinated Approach to Partitioning and Test Pattern Generation for Pseudoexhaustive Testing”, p. 525-530, 1989 ACM retrieved Mar. 17, 2005.
- Schneider, A; Ivask, E; Miklos, P; Raik, J; Diener, KH; Ubar, R; Cibakova, T; Gramatove, E; “Internet-based Collaborative Test Generation with MOSCITO”, 2002 IEEE, retrieved Mar. 17, 2005.
- Shen, John Paul, “Highlights of CMU Research on CAD, CAM, and CAT of VLSI Circuits”, p. 878-889, 1986 IEEE retrieved Mar. 17, 2005.
Type: Grant
Filed: May 6, 2002
Date of Patent: May 30, 2006
Patent Publication Number: 20030208747
Assignee: Sun Microsystems, Inc. (Palo Alto, CA)
Inventors: Hong S. Kim (Austin, TX), Amit Majumdar (San Jose, CA), Sridhar Narayanan (Cupertino, CA)
Primary Examiner: Wei Y. Zhen
Assistant Examiner: Mary Steelman
Attorney: Zagorin O'Brien Graham LLP
Application Number: 10/139,568
International Classification: G06F 9/44 (20060101);