Test case crash recovery
OwnerJerome Demayinventor
Life of this patent
Estimating the term…
Abstract
A safe operating region of a complex integrated circuit may be determined by selecting an operating point for the integrated circuit (IC) at a first voltage and first frequency. A test program is executed by a central processing unit (CPU) comprised within the IC to test a portion of the IC. Communication activity between the IC and a host system is recorded to form a data log while the test program is being executed. A crash is detected by storing and examining the data log periodically, and assuming that the test program has crashed when any one of a predetermined set of crash conditions is detected during examination of the data log. The operating point may be iteratively changed and execution of the test program repeated while continuing to check for a crash until a crash is detected.
Claims10
A process of operating an integrated circuit test system, the test system including a host computer and a test platform coupled to the host computer, the test platform including a voltage source, a clock source, and a socket for coupling an integrated circuit to the host computer, the voltage source, and the clock source, the process comprising:
- (a) coupling an integrated circuit having clock domains in the socket;
- (b) selecting in the host computer a clock domain in the integrated circuit to be tested;
- (c) downloading from the host computer to the test platform settings for the voltage source and the clock source;
- (d) downloading from the host computer to the integrated circuit a test program;
- (e) executing in the integrated circuit the test program, the executing including sending status information to a log file in the host computer;
- (f) waiting a sleep time period for the integrated circuit to execute the test program;
- (g) scanning the length of status information in the log file by the host computer;
- (h) initiated a crash recovery process if the length of status information in the log file is greater than an empty log value and returning to the sleep time period if the length of status information in the log file is less than the empty log file;
- (i) initiating a crash recovery process if the length of status information in the log file is equal to or greater than a limit value;
- (j) initiating a crash recovery process if the status information in the log file contains a specific word;
- and
- (k) initiating a crash recovery process if the length of status information in the log file exceeds a maximum freeze value and returning to the sleep time period if the length of status information in the log file is less than the maximum freeze value.
A test system comprising:
- (a) a test platform having a socket for an integrated circuit with clock domains, a voltage source coupled to the socket, and a clock source coupled to the socket;
- (b) a communications channel coupled to the socket, the voltage source, and the clock source;
- (c) a host computer having a system monitor coupled to the communications channel, test programs coupled to the system monitor, and a log file coupled to the system monitor, the test programs operating the test system by:
- (i) selecting in the host computer a clock domain in the integrated circuit to be tested;
- (ii) downloading from the host computer to the test platform settings for the voltage source and the clock source;
- (iii) downloading from the host computer to the integrated circuit a test program;
- (iv) executing in the integrated circuit the test program, the executing including sending status information to a log file in the host computer;
- (v) waiting a sleep time period for the integrated circuit to execute the test program;
- (vi) scanning the length of status information in the log file by the host computer;
- (vii) initiated a crash recovery process if the length of status information in the log file is greater than an empty log value and returning to the sleep time period if the length of status information in the log file is less than the empty log file;
- (viii) initiating a crash recovery process if the length of status information in the log file is equal to or greater than a limit value;
- (ix) initiating a crash recovery process if the status information in the log file contains a specific word;
- and
- (x) initiating a crash recovery process if the length of status information in the log file exceeds a maximum freeze value and returning to the sleep time period if the length of status information in the log file is less than the maximum freeze value.
Dependencies are inferred from the claim text.